软件工程(导论)

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

目录

  • 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 能力成熟度模型
数据字典

一、数据字典概念

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

是数据流图和数据字典共同构成系统的逻辑模型。


二、数据字典的内容

数据字典的组成:

1、数据流

2、数据流分量(即数据元素)

3、数据存储

4、处理(用其它工具描述更方便,如IPO图)


在数据字典中记录数据元素的下列信息:

1、一般信息

2、定义

3、使用特点

4、控制信息

5、分组信息 


三、定义数据的方法

方法:对数据自顶向下分解。 

数据组成方式(三种基本类型):

1、顺序  以确定次序连接两个或多个分量;

2、选择  从两个或多个可能的元素中选取一个;

3、重复  即把指定的分量重复零次或多次。


附加类型:可选  即一个分量是可有可无的(重复零次或一次)。 

符号:

1、=意思是等价于(或定义为);

2、+意思是和(即,连接两个分量);

3、[ ]意思是或(即,从方括弧内列出的若干个分量中选择一个),通常用“|”号隔开供选择的分量;

4、{  }意思是重复(即,重复花括弧内的分量);常常使用上限和下限进一步注释表示重复的花括弧。

5、(  )意思是可选(即,圆括弧里的分量可有可无)。 



例1:

标识符 = 字母字符 + 字母数字串

字母数字串 = 0{字母或数字}7

字母或数字 =[字母字符|数字字符] 

例2:

购书单=学号+姓名+{书号+数量+单价+总价}+书费合计

学生用书表={学院编号+专业编号+年级+{书号}}

年级=[ 1 | 2 | 3 | 4 ]

学号=10{数字}10


四、数据字典的用途

1、数据字典最重要的用途是作为分析阶段的工具;

2、数据字典中包含的每个数据元素的控制信息是很有价值的。很容易估计改变一个数据将产生的影响;

3、数据字典是开发数据库的第一步,而且是很有价值的一步。


五、数据字典的实现

计算机实现:目前,数据字典几乎总是作为CASE(计算机辅助软件工程)“结构化分析与设计工具”的一部分实现的。在开发大型软件系统的过程中,数据字典的规模和复杂程度迅速增加,人工维护数据字典几乎是不可能的。

人工实现:采用卡片形式书写数据字典,每张卡片上保存描述一个数据的信息。每张卡片上主要应该包含下述这样一些信息:名字、别名、描述、定义、位置。