五莲网站建设维护推广,做3d兼职网站,seo专业培训网络班,平台网站怎么优化【原文链接】系统架构设计师#xff08;第二版#xff09;学习笔记----软件工程 文章目录 一、软件工程1.1 软件危机的表现1.2 软件工程的内容 二、软件过程模型2.1 软件的声明周期2.2 瀑布模型2.3 瀑布模型的缺点2.4 原型模型2.5 原型模型开发阶段2.6 开发原型的途径2.7 螺旋…【原文链接】系统架构设计师第二版学习笔记----软件工程 文章目录 一、软件工程1.1 软件危机的表现1.2 软件工程的内容 二、软件过程模型2.1 软件的声明周期2.2 瀑布模型2.3 瀑布模型的缺点2.4 原型模型2.5 原型模型开发阶段2.6 开发原型的途径2.7 螺旋模型2.8 螺旋模型每个阶段的组成 三、敏捷模型3.1 敏捷型方法的特点3.2 敏捷方法的核心思想3.3 常见的敏捷方法实践3.4 极限编程的基础和价值3.5 FDD认为软件开发需要的3要素3.6 FDD定义了6中项目角色3.7 FDD的5个核心过程 四、统一过程模型RUPRational Unified Process4.1 RUP的生命周期4.2 RUP中每个循环中的过程4.3 RUP中的核心概念4.4 RUP的特点4.5 RUP的视图模型4.6 软件开发采用迭代和增量的好处 五、软件能力成熟度模型5.1 CMMI的5个成熟度等级 一、软件工程
1.1 软件危机的表现
软件开发进度难以预测软件开发成本难以控制软件功能难以满足用户期望软件质量无法保证软件难以维护软件缺少适当的文档资料
1.2 软件工程的内容
PPlan软件规格说明规定软件功能及其运行时的限制DDo软件开发开发出满足规格说明的软件CCheck软件确认确认开发的软件能够满足用户的需求AAction软件演进软件在运行过程中不断改进以满足客户新的需求
二、软件过程模型
2.1 软件的声明周期
需求分析软件设计软件开发运行维护淘汰
2.2 瀑布模型
需求分析系统设计程序设计编码实现单元测试集成测试系统测试运行维护
2.3 瀑布模型的缺点
软件需求的完整性、正确性等很难确定甚至是不可能和不现实的瀑布模型是一个严格串行化的过程模型使得用户和软件项目负责人要相当长时间才能得到一个可以看得见的软件系统。如果出现于用户的期望不一致、或者出现需求变更将会带来巨大的损失瀑布模型的基本原则是在每个阶段一次性地完全解决该阶段的工作不会出现遗漏、错误等情况二实际上这是不现实或者不可能的。
2.4 原型模型 2.5 原型模型开发阶段
原型开发阶段目标软件开发阶段
2.6 开发原型的途径
利用模拟软件系统的人机界面和人际交互方式真正开发一个原型找来一个或几个正在运行的类似软件进行比较
2.7 螺旋模型 2.8 螺旋模型每个阶段的组成
目标设定风险分析开发和有效验证评审
三、敏捷模型
3.1 敏捷型方法的特点
敏捷方法是“适应性”而非“预设性”敏捷方法是“面向人”而非“面向过程”
3.2 敏捷方法的核心思想
敏捷方法是适应型而非可预测型敏捷方法是以人文本而非以过程为本迭代增量式的开发过程
3.3 常见的敏捷方法实践
极限编程XP水晶系列方法Scrum特征驱动开发方法FDD
3.4 极限编程的基础和价值
加强交流从简单做起寻求反馈勇于实事求是
3.5 FDD认为软件开发需要的3要素
人过程技术
3.6 FDD定义了6中项目角色
项目经理首席架构师开发经理主程序员程序员领域专家
3.7 FDD的5个核心过程
开发整体对象模型构造特征列表计划特征开发特征设计特征构建
四、统一过程模型RUPRational Unified Process
4.1 RUP的生命周期
业务建模需求分析与设计实现测试部署配置与变更管理环境
4.2 RUP中每个循环中的过程
初始阶段定义最终产品视图和业务模型并确定系统范围细化阶段设计及确定系统的体系结构指定工作计划及资源要求构造阶段构造产品并继续演进需求、体系结构、计划直至产品提交移交阶段把产品提交给用户使用
4.3 RUP中的核心概念
角色RoleWho的问题活动ActivityHow的问题制品ArtifactsWhat的问题工作流WorkflowWhen的问题
4.4 RUP的特点
用例驱动以体系结构为中心迭代和增量
4.5 RUP的视图模型
用例视图逻辑视图实现视图进程视图部署视图
4.6 软件开发采用迭代和增量的好处
在软件开发的早起就可以对关键的、影响大的风险进行处理可以提出一个软件体系结构来指导开发可以更好的处理不可避免的需求变更可以较早得到一个可运行的系统鼓舞开发团队的士气增强项目成功信心为开发人员提供一个能更有效工作的开发过程
五、软件能力成熟度模型
5.1 CMMI的5个成熟度等级
Level 1 初始级Level 2 已管理级Level 3 已定义级Level 4 量化管理级Level 5 优化级