软件工程

林芳、滕秀花、孟振宇

目录

  • 软件工程概述
    • ● 软件危机
    • ● 软件工程
    • ● 软件生命周期
    • ● 软件过程
  • 可行性研究
    • ● 问题定义和可行性研究任务
    • ● 可行性研究过程
    • ● 数据流图
    • ● 数据字典
    • ● 成本-效益分析
  • 需求分析
    • ● 需求分析的任务
    • ● 需求获取
    • ● 需求分析其它步骤
  • 形式化说明技术
    • ● 形式化说明技术
  • 总体设计
    • ● 设计过程
    • ● 设计原理
    • ● 设计启发规则
    • ● 图形工具
    • ● 面向数据流的设计方法
  • 详细设计
    • ● 结构程序设计
    • ● 人机界面设计
    • ● 过程设计工具
    • ● 面向数据结构的设计方法
    • ● 程序复杂程度的定量度量
  • 实现
    • ● 编码和测试
    • ● 调试和软件可靠性
  • 维护
    • ● 维护
  • 面向对象方法学引论
    • ● 面向对象方法学引论
  • 面向对象分析
    • ● 面向对象分析-1
    • ● 面向对象分析-2
  • 面向对象软件设计
    • ● 面向对象软件设计
  • 面向对象实现
    • ● 面向对象实现
  • 软件项目管理
    • ● 软件项目管理
软件危机
  • 1
  • 2

w1.1.1   软件工程发展史


w19世纪初在法国人约瑟夫雅各Joseph Marie Jaquard设计的织布机里已经具有了初步的程序设计的思想


w英国著名诗人拜伦Byron的女儿、数学家爱达奥古斯塔拉夫拉斯伯爵夫人Ada AugustaLovelace,在帮助巴贝奇研究分析机时指出分析机可以像织布机一样进行编程,并发现进行程序设计和编程的基本要素,被认为是有史以来的第一位程序员。而著名的计算机语言Ada就是以她的名字命名的。

 

w在计算机的发展史上,二值逻辑和布尔代数的使用,是一个重要的突破。其理论基础是由英国数学家布尔奠定的 。

w1946年第一台计算机产生,软件工程发展分为4个阶段

程序设计阶段(20世纪40年代中期-60年代中期)

“软件=程序+文档”阶段(20世纪60年代中期-70年代中期)

软件工程阶段:20世纪70年代中期-20世纪90年代

4代技术阶段

w1.1.2   软件危机

w软件危机定义软件危机定义:软件开发和维护过程中遇到的一系列严重问题。软件危机包含两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。