02 - 软件过程
# 【软件工程】Learning Notes(二)软件过程
# 软件开发活动
在得到用户需求后,就会经历软件过程,最终得到想要的产品。
# 需求开发
在收集到需求后,对其进行分析和建模系统行为,并根据系统行为生成规格说明文档
# 软件设计
根据规格说明文档,进一步设计软件(整体、接口、组件、数据库...)
# 软件构造
根据设计好的模型进行软件的实际开发构造,涉及了编写、测试、优化、审查等
# 软件测试
除了软件构造过程中要测试,发布产品前也要进行测试,包含了单元测试、子系统测试、集成测试、验收测试等
# 软件维护
产品投入使用后也要进行迭代更新,需要运维、维护
# 软件过程模型
# 瀑布模型
线性流程,只有流程完成才能看到产品成果,开发过程中难以适应需求的变化。
- 借鉴了制造业的开发模式,但并不是和创造性的软件开发,无法适应软件开发的迭代性(不断尝试,选择比较不同设计)
# 原型化模型
更早的去构建软件原型,有助于客户更清楚地确定自己的需求,帮助开发人员更好评价分析产品
# 迭代式开发
通过逐步构建发布,缩短开发周期,更早的获得用户反馈
增量模型:每一个新的发布中逐步增加功能直到完善
迭代模型:一开始提交一个完整系统,在后续发布中 补充完善各子系统功能
# 可转换模型
采用形式化的数学方法来描述系统,并利用自动化手段,通过一系列转换,将形式化的需求规格说明,变为可交付使用的系统。
数学方法更严密准确,减少缺陷,提高安全性
主要应用于有限状态的嵌入式系统中
# 案例分析
Last Updated: 10/6/2023, 10:59:33 PM