上午题型总结
# 软件工程基础知识
- 软件工程概述
- 软件过程模型
- 软件开发方法
- 软件工具与软件开发环境
- 软件项目管理
- 软件风险管理
- 软件度量
# 软件工程概述
基本原理:用分阶段的生命周期计划严格管理、坚持进行阶段评审、实现严格的产品控制、采用现代程序设计技术、结果应能清楚的审查、开发小组的人员应少而精、承认不断改进软件工程实践的必要性
软件工程的基本要素:方法、工具、过程
软件生存周期:可行性分析与项目开发计划、需求分析、概要设计(选择系统解决方案,规划子系统)、详细设计(设计子系统内部具体实现)、编码、测试、维护
# 软件过程
能力成熟度模型 CMM
:对软件组织化阶段的描述,随着软件组织化定义、实施、测量、控制和改进其软件过程,软件组织的能力经过这些阶段逐步提高。
初始级(
Initial
)软件过程的特点是杂乱无章,有时甚至很混乱,几乎没有明确定义的步骤,项目的成功完全依赖个人的努力和英雄式核心任务的作用
可重复级(
Repeatable
)建立了基本的项目管理过程和实践来跟踪项目费用、进度和功能特性,有必要的过程准则来重复以前在同类项目中的成功
已定义级(
Defined
)管理和工程两个方面的软件过程已经文档化、标准化,并综合成整个软件开发组织的标准软件过程。所有项目都采用根据实际情况修改后得到的标准软件过程来开发和维护软件
已管理级(
Managed
)指定了软件过程和产品质量的详细度量标准。软件过程的产品质量都被开发组织的成员所...
优化级(
Optimized
)加强了定量分析,通过来自过程质量反馈和来自新观念、新技术的反馈使过程能不断持续地改进
能力成熟度模型 CMMI
:将已有的几个 CMM
模型结合在一起,使之构造成为
"集成模型"。支持多个工程学科和领域的、系统的、一致的过程改进框架,能适应现代工程的特点和需要,能提高过程的质量和工作效率
两种表示方法:
阶段式模型:类似
CMM
初始的:过程不可预测且缺乏控制
已管理的:过程为项目服务
已定义的:过程为组织服务
定量管理的:过程已度量和控制
优化的:集中于过程改进
连续式模型:关注每个过程域的能力,一个组织对不同的过程域可以达到不同的过程域能力等级
统一过程UP
是一种开发过程
三大特点:用例和风险驱动、以架构为中心、迭代且增量
开发的四大阶段:起始(项目的初始活动,如确定需求和风险评估等)、精化(需求分析、架构设计等)、构建(系统的构建、产生实现模型等)、移交(软件提交方面的工作,产生软件增量,进行B测试,交付系统等)
UP 的每一次迭代都是一次完整的软件开发过程,包括整个软件开发生命周期,有五个核心工作流(需求、分析、设计、实现、测试)
过程模型
瀑布模型(
SDLC
):结构化方法中的模型,是结构化的开发,开发流程如同瀑布一般,一步一步的走下去,直到最后完成项目开发,只适用于需求明确或者二次开发,当需求不明确时,最终开发的项目会错误,有很大的缺陷V模型:是瀑布模型的一个变体。特点是增加了很多轮测试,并且这些测试贯穿于软件开发的各个阶段,不像其它模型都是软件开发玩再测试,很大程度上保证了项目的准确性
原型:即快速原型开发,与瀑布模型相反,原型针对的就是需求不明确的情况,首先快速构造一个功能模型,演示给用户看,并按照用户要求及时修改,中间再通过不断的演示与用户沟通,最终设计出项目,就是不会出现与用户要求不符合的情况,采用的是迭代的思想
螺旋模型:是多种模型的混合,正对需求不明确的项目,与原型类似,但是增加了 风险分析,这也是其最大的特点
制定计划 - 风险分析 - 实施工程 - 用户评估