软件工程(导论)

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

目录

  • 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 能力成熟度模型
实体-联系图

概念性数据模型是一种面向问题的数据模型,是按照用户的观点对数据建立的模型。它描述了从用户角度看到的数据,它反映了用户的现实环境,且与在软件系统中的实现方法无关。

数据模型中包含3种相互关联的信息:

1、数据对象

2、数据对象的属性

3、数据对象彼此间相互连接的关系 


一、数据对象

数据对象:是对软件必须理解的复合信息的抽象。复合信息是指具有一系列不同性质或属性的事物,仅有单个值的事物不是数据对象。

数据对象可以是外部实体、事物、行为、事件、角色、单位、地点或结构等。

数据对象彼此间是有关联的。 


二、属性

属性:定义了数据对象的性质。必须把一个或多个属性定义为“标识符”。

根据对问题的理解来确定特定数据对象的合适的属性。 


三、联系

联系:数据对象彼此之间相互连接的方式称为联系,也称为关系。

联系可分为以下3种类型:

1、一对一联系(1∶1)

2、一对多联系(1∶N)

3、多对多联系(M∶N)

联系也可能有属性。


四、实体-联系图的符号

ER图中包含

实体(即数据对象),用矩形框表示;

关系,用连接相关实体的菱形框表示;

属性,用椭圆形或圆角矩形表示,并用直线把实体(或关系)与其属性连接起来。


ER图的优点

1、比较接近人的习惯思维方式;

2、用简单的图形符号表达系统分析员对问题域的理解,用户也容易理解,可以作为用户与分析员之间有效的交流工具。 


数据建模工具

以自动化的方式创建ER图、数据字典及相关模型。

1、AllFusion ERWin  辅助设计数据库、数据对象、结构、关键元素

2、ER/Studio  支持实体-关系建模

3、Oracle Designer  建模、应用系统和数据库设计

4、Meta Scope  图形化显示数据

5、Model Sphere Visible Analyst  模型可视化分析


五、例子

银行储蓄系统的ER图 

银行计算机储蓄系统的工作过程大致如下:

储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;

如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。