第 7 章 软件工程
// 主要讲了软件开发作为一个工程化的过程,有哪些指导方法,哪些行业工具。
章节目录
- 软件开发生命周期
- 工程化方法
- 分析与设计的行业工具
软件开发生命周期
一个软件的生命周期包括:开发-使用-维护
软件开发生命周期包括:需求分析、设计、实现、测试。
需求分析---软件需求规格说明
设计---确定系统的内部结构,使用建模构建系统的结构
实现--完成代码的编写
测试---测试系统功能和各项指标是否达标。(上述每一步都需要测试,比如需求分析和验证、设计和验证,实现和测试)
工程化方法和行业工具
软件开发过程有多个模型:瀑布模型(waterfall model)、增量模型、迭代模型;
此外还有多个模型:开源开发、敏捷开发等。
瀑布模型:
指严格遵守:需求分析、设计、实现、测试。这种模型成为称为瀑布模型。
增量模型:
先开发一个产品的简易版本,然后当这个简易版本通过测试后,再增加功能,再测试,再增加功能,通过这种反复的开发和测试实现一个完整的系统。
迭代:
迭代模型与增量模型类似,迭代模型是通过迭代改进每个版本最终完成整个系统的开发。
敏捷开发:
通过每天不断重复“非正式需求分析、设计、实现、测试”这样一个周期过程来增量开发软件。
分析与设计的行业工具
数据流图:
数据流图表示从数据流分析中所获得的信息的一种手段。
统一建模语言
统一建模语言是基于面向对象范型思想发展而来的。统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。
统一建模语言主要包含三种模型
- 功能模型:从用户的角度出发,描述系统具备什么功能。包括用例图
- 对象模型:从系统内部出发,采用对象,属性,操作,关联等概念展示系统等结构和基础,包括类图、对象图。
- 动态模型:展示系统内部的行为,说明程序在执行过程中发生了什么事件。这种图称为交互图,包括序列图、活动图、状态图。
白盒测试:
测试人员需要了解软件的内部结构
黑盒测试:
测试人员不依赖于软件的内部结构