软件工程(导论)

成秀秀、杨玲、戚爱斌、苗世迪、温东新

目录

  • 1 软件与软件工程
    • 1.1 软件
    • 1.2 软件危机
    • 1.3 软件工程
    • 1.4 软件生命周期
    • 1.5 软件过程模型
    • 1.6 学生成果分享
  • 2 可行性研究与项目开发计划
    • 2.1 可行性研究的任务
    • 2.2 可行性研究过程
    • 2.3 进度计划
    • 2.4 学生成果分享
  • 3 需求分析
    • 3.1 需求分析的任务
    • 3.2 与用户沟通获取需求的方法
    • 3.3 分析建模与规格说明
    • 3.4 实体-联系图
    • 3.5 数据规范化
    • 3.6 状态转换图
    • 3.7 其它图形工具
    • 3.8 验证软件需求
  • 4 总体设计
    • 4.1 系统流程图
    • 4.2 数据流图
    • 4.3 数据字典
    • 4.4 设计过程
    • 4.5 设计原理
    • 4.6 启发规则
    • 4.7 描绘软件结构的图形工具
    • 4.8 面向数据流的设计方法
  • 5 详细设计
    • 5.1 结构程序设计
    • 5.2 人机界面设计
    • 5.3 过程设计的工具
    • 5.4 面向数据结构的设计方法
    • 5.5 程序复杂程度的定量度量
  • 6 软件编码
    • 6.1 程序设计语言
    • 6.2 编码风格
  • 7 软件测试
    • 7.1 软件测试基础
    • 7.2 单元测试
    • 7.3 集成测试
    • 7.4 确认测试
    • 7.5 白盒测试技术
    • 7.6 黑盒测试技术
    • 7.7 调试
    • 7.8 软件可靠性
  • 8 软件项目管理
    • 8.1 估算软件规模
    • 8.2 工作量估算
    • 8.3 人员组织
    • 8.4 质量保证
    • 8.5 软件配置管理
    • 8.6 能力成熟度模型
描绘软件结构的图形工具

一、层次图和HIPO图

1. 层次图(H图)

层次图用来描绘软件的层次结构。很适于在自顶向下设计软件的过程中使用。

层次图和层次方框图的区别:


2. HIPO图

HIPO图是美国IBM公司发明的“层次图+输入/处理/输出图”的英文缩写。

为了能使HIPO图具有可追踪性,在H图(层次图)里除了最顶层的方框之外,每个方框都加了编号。

和H图中每个方框相对应,应该有一张IPO图描绘这个方框代表的模块的处理过程。模块在H图中的编号便于追踪了解这个模块在软件结构中的位置。


二、结构图

Yourdon提出的结构图是进行软件结构设计的另一个有力工具。结构图和层次图类似,也是描绘软件结构的图形工具。


基本符号:

■方框代表一个模块;

■方框之间的直线表示模块的调用关系;

■尾部是空心圆箭头表示传递的是数据;

■尾部实心圆箭头表示传递的是控制信息。 


附加符号:

■选择调用:判定为真时调用A,为假时调用B。

■循环调用:模块M循环调用模块A、B、C。


注意:

■层次图和结构图并不严格表示模块的调用次序,多数人习惯按调用次序从左到右画模块;

■层次图和结构图并不指明何时调用下层模块;

■层次图和结构图只表明一个模块调用那些模块,没有表示模块内还有没有其他成分;

■通常用层次图作为描绘软件结构的文档;

■由层次图导出结构图的过程,可以作为检查设计正确性和评价模块独立性的好方法。