前言
上一文简单介绍了计算机组成原理及体系结构,本文将继续基于总结记录的软件开发模型。希望酒友们喜欢,将通过本文介绍软件设计模型的基础知识,希望掘友们喜欢,一起学习交流。需要软件开发模型基础知识思维导图的可以在问下留言,作者会第一时间联系掘友,发送给掘友。
由于软件开发模型涉及到的知识非常丰富,本文介绍软件开发模型中用到的知识点,将为您系统的学习软件开发模型提供参考和帮助。
软件开发模型
在我们做软件开发的过程中,经常需要关注软件开发过程、活动和任务,这个架构就是软件开发模型。借用百科描述:软件开发模型是指软件开发全部过程、活动和任务的结构框架。
软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。
软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用不同的软件工具和不同的软件工程环境。
- 快速原型模型
快速原型模型需要迅速建造一个可以运行的软件原型 ,以便理解和澄清问题,使开发人员与用户达成共识,最终在确定的客户需求基础上开发客户满意的软件产品。 - 演化模型 - 螺旋模型 - 瀑布模型 - 增量模型
-
V模型
-
过程
- 需求分析
- 概要设计
- 详细设计
- 编码
- 单元测试
- 集成测试
- 系统测试
- 验收测试
-
特点:测试细分,需求细化,及早发现问题
-
-
RAD快速开发模型
-
由瀑布模型和构件化模型组合而成
-
过程
- 业务建模
- 数据建模
- 过程建模
- 应用生成
- 测试交付
-
-
敏捷开发方法
-
敏捷开发模型
- 自适应开发
- 水晶方法
- 特征驱动开发
- SCRUM
- 极限编程
-
基本原则
- 短平快的会议
- 小型版本发布
- 较少的文档
- 合作为重
- 客户直接参与
- 自动化测试
- 适应性计划调整
- 结对编程
- 测试驱动开发
- 持续集成
- 重构
-
四大价值观
- 沟通
- 简单
- 反馈
- 勇气
-
五大原则
- 快速反馈
- 简单性假设
- 逐步修改
- 提倡更改
- 优质工作
-
-
软件需求
- 分类:业务需求、用户需求、系统需求
- 功能需求、性能需求、约束设计
- 基础需求、期望需求、兴奋需求
-
软件测试
-
动态测试
-
黑盒测试
- 等价类划分
- 边界值分析
- 错误推测
- 因果图
-
白盒测试
- 基本路径测试
- 循环覆盖测试
- 逻辑覆盖测试
-
灰盒测试
-
-
静态测试
- 桌前检查
- 代码走查
- 代码审查
-
软件测试阶段
-
单元测试
-
集成测试
- 一次性组装
- 增量式组装
-
确认测试
- 内部确认测试
- Alpha测试
- Beta测试
- 验收测试
-
系统测试
-
-
-
环路复杂度计算 :边数-结点数+2
-
项目管理
- 范围管理
- 时间管理
- 成本管理
- 质量管理
- 人力资源管理
- 沟通管理
- 风险管理
- 采购管理
- 整体管理
-
瀑布模型SDLC
-
开发过程
- 软件计划
- 需求分析
- 软件设计
- 程序编码
- 软件测试
- 运行维护
-
适合场景:需求明确;二次开发
-
缺点:需求不明确
-
结构化的开发
-
-
螺旋模型
-
包含:瀑布模型、原型、增量模型、演化模型的特征
-
引入了风险分析
-
包含
- 制定计划
- 风险分析
- 客户评估
- 实施过程
-
-
喷泉模型
- 迭代
- 无间隙
- 面向对象的模型
-
构建组装模型CBSD
-
提高复用性
-
过程
-
需求分析和定义
-
软件架构设计
-
构件库的建立
-
构件标准
- CORBA
- EJB
- COM/DCOM/COM+
-
-
应用软件建立
-
测试发布
-
-
-
信息系统开发方法
-
结构化方法
- 用户至上
- 严格区分阶段
- 系统开发的整体性和全体性
- 自顶向下,逐步求解
-
原型方法
- 适用于需求不明确
- 包括抛弃式原型和演化式模型
-
面向对象方法
- 更好的复用性
- 全面合理统一的模型
- 分析设计实现界限不明确
-
面向对象方法
- 操作服务业务
- 基础设计层、应用结构层和业务组织层
- 服务发现、服务规约、服务实现
-
-
结构化设计
-
概要设计
- 自顶向下,逐步求精
- 信息屏蔽
- 模块独立,低耦合高内聚
-
详细设计
-
-
软件维护
-
可维护性
- 易分析性
- 易改变性
- 稳定性
- 易测试性
-
维护类型
- 改正性维护
- 适应性维护
- 完善性维护
- 预防性维护
-
-
软件过程改进CMMI
-
阶段式
- 过程管理
- 项目管理
- 工程
- 支持
-
连续式(组织能力成熟度)
- 混乱
- 已管理级
- 已定义级
- 定量管理级
- 优化级
-
结语
好了,以上就是软件开发模型基础的介绍,感谢您的阅读,希望您喜欢,如对您有帮助,欢迎点赞收藏。如有不足之处,欢迎评论指正。下次见。
作者介绍:【小阿杰】一个爱鼓捣的程序猿,JAVA开发者和爱好者。公众号【Java全栈架构师】维护者,欢迎关注阅读交流。
我正在参与掘金技术社区创作者签约计划招募活动,点击链接报名投稿。
推荐阅读
【Spring Boot 快速入门】二十五、详细介绍Spring Boot快速接入钉钉群机器人