这次学习的是软件工程网课的4.1,4.2节和8.1、8.2、8.7节。
目录
4.1 软件过程
过程是指一组将输入转化为输出的相互关联或相互作用的活动。软件开发的过程即,将用户的需求作为输入,将客户满意的作品作为输出的活动。
过程包括管理过程、实现过程和支持过程。
4.2 软件过程模型
什么是软件过程模型?
软件过程模型是对软件过程的抽象描述。分为瀑布模型、原型化模型、迭代式开发和可转换模型。
瀑布模型:
瀑布模型中,每个独立阶段以线性的方式自上而下顺序运行。把软件的生命周期划分为如下图:
瀑布模型优缺点:
优点:1. 强制规范 2.严格要求提交文档 3.各阶段质量保证
缺点:1. 早期需求不稳定不能用,不能很好相应用户需求变更,错误只能在后期看出 2.各阶段相互依赖 3.不能并行开发
适用于:软件需求在开发初期就能够被完整地确定,而且用户使用的环境也很稳定。
原型化模型:
主要解决需求不确定的模型
需要迅速的建造一个可运行的软件原型,使用户和开发人员能对系统的相关方面进行检查。
适用于: 客户需求难以清楚定义,需要迅速实现最重要的功能。
迭代式开发:
增量模型优缺点:
优点:1. 能在较短时间内向用户提交部分完成的产品(并不代表整体完成的周期快,增量模型是分版本提交) 2.用户适应周期
缺点:增量版本集成风险
适用于:系统需求存在不确定性,业务模式经常发生改变,系统需要易于维护和修改。
可转换模型:
采用形式化的数学手段描述系统,利用自动化手段,因此可转换模型交付的系统具有较少的缺陷和 较高的严密性。
适用于:对安全性、可靠性和保密性要求较高的软件系统,这些系统在投入前需要检验。目前,一般还是应用于有限状态的嵌入式系统中。
8.1 需求工程师
软件工程师的思维是要尽可能的简化问题。对需求工程师的能力要求:
优秀工程师该有的目标:
8.2 软件需求的定义
什么是需求?
需求是对外可见的系统特征。需求管理有三项任务:1. 学习(需求获取),2. 剪枝(需求筛选),3. 文档化(撰写需求格式说明书)
需求的内容
需要回答这几个问题:
好的需求是可以度量的
8.7 撰写需求文档
文档需求的组织形式:
软件需求规格说明(SRS)的类型
用户手册大纲:
需求规格说明评价标准:
需求规格说明结构:
IEEE-830 SRS模板:
模板大纲:
SRS模板优缺点: