程序=代码+文档+服务
软件生命周期
可行性分析[可行,基本可行,不可行]
需求分析(做什么)
软件设计[概要设计,详细设计] (怎么做)
编码
测试
维护
瀑布模型
特点
顺序性和依赖性。推迟实现。质量保证。
优点
- 文档规范
- 阶段性验证
缺点
- 只适用于需求明确
- 客户参与度低
增量模型
特点
本质上是迭代的。
优点
- 短时间提交可用产品
- 降低风险
- 优先级较高首先交付,逐次集成
快速原型模型
特点
简单UI界面可交互
优点
- 满足用户需求
- 适用需求不明确
- 缩短开发周期:由于前期聚焦于核心功能构建原型,避免一开始就陷入复杂全面的开发,且后续可基于原型持续迭代,相对来说能加快整体开发进度,缩短软件从构思到可用的周期。
- 降低风险:在早期就暴露一些潜在的问题,比如功能设计不合理、操作流程不顺畅等,便于及时调整,降低项目后期出现重大问题的风险,提高项目成功率。
喷泉模型
特点
面向对象:封装继承多态。自下而上无间隙。
优点
- 同步开发
缺点
- 管理难度大
螺旋模型
特点
适合大型复杂。风险估计与弱化。
优点
- 风险控制
- 灵活性
缺点
- 风险驱动
结构化需求分析
功能建模
数据建模
行为建模
数据字典
体系结构设计
启发式设计
面向数据流设计
体系结构设计
黑盒测试
等价类划分法
边界值分析法
错误推测法
因果图法
白盒测试
静态、动态
V模型
用户需求-需求分析-概要设计-详细设计
编码
单元测试-集成测试-系统测试-验收测试
画图题
状态图P44
体系结构图
E-R图
流程图
数据流图
用例图
因果图
流图-环路复杂度V(G)-基本路径
本文作者:WindsorWu
本文链接: https://blog.nekolin.top/2025/01/04/Introduction-to-Software-Engineering/
文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。
评论