《计算机科学概论》第13版#7章--软件工程

59 阅读2分钟

第 7 章 软件工程

// 主要讲了软件开发作为一个工程化的过程,有哪些指导方法,哪些行业工具。

章节目录

  1. 软件开发生命周期
  2. 工程化方法
  3. 分析与设计的行业工具

软件开发生命周期

一个软件的生命周期包括:开发-使用-维护

软件开发生命周期包括:需求分析、设计、实现、测试。

需求分析---软件需求规格说明

设计---确定系统的内部结构,使用建模构建系统的结构

实现--完成代码的编写

测试---测试系统功能和各项指标是否达标。(上述每一步都需要测试,比如需求分析和验证、设计和验证,实现和测试)

工程化方法和行业工具

软件开发过程有多个模型:瀑布模型(waterfall model)、增量模型、迭代模型;

此外还有多个模型:开源开发、敏捷开发等。

瀑布模型:

指严格遵守:需求分析、设计、实现、测试。这种模型成为称为瀑布模型。

增量模型:

先开发一个产品的简易版本,然后当这个简易版本通过测试后,再增加功能,再测试,再增加功能,通过这种反复的开发和测试实现一个完整的系统。

迭代:

迭代模型与增量模型类似,迭代模型是通过迭代改进每个版本最终完成整个系统的开发。

敏捷开发:

通过每天不断重复“非正式需求分析、设计、实现、测试”这样一个周期过程来增量开发软件。

分析与设计的行业工具

数据流图:

数据流图表示从数据流分析中所获得的信息的一种手段。

统一建模语言

统一建模语言是基于面向对象范型思想发展而来的。统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。

统一建模语言主要包含三种模型

  1. 功能模型:从用户的角度出发,描述系统具备什么功能。包括用例图
  2. 对象模型:从系统内部出发,采用对象,属性,操作,关联等概念展示系统等结构和基础,包括类图、对象图。
  3. 动态模型:展示系统内部的行为,说明程序在执行过程中发生了什么事件。这种图称为交互图,包括序列图、活动图、状态图。

白盒测试:

测试人员需要了解软件的内部结构

黑盒测试:

测试人员不依赖于软件的内部结构