软件过程
软件过程分类
CMM(能力成熟度模型)
考点:CMM相对应的5点内容
特点:
- 初始级:杂乱无章,没有明确规划,只依靠核心人物
- 可重复级:建立了基本项目和实践来跟踪项目的性能,功能特性、费用等
- 可定义级:开发组织的部署和标准化
- 可管理级:制定了软件过程和产品质量的详细度量标准,有定量的理解和控制
- 可优化级:产品、项目进行优化
CMMI(能力成熟度模型集成)
连续式模型
考点:CMM相对应的6点内容
特点:
- 0 未执行(未完成):目标未满足
- 1 可执行:可以生产产品
- 2 已管理:已管理过程制度化,开始偏向成熟
- 3 已定义:开发组织的部署和标准化
- 4 定量管理:定量管理的制度化,加入了技术数据
- 5 优化:满足客户的需求,持续改进
例题1:
软件能力成熟度模型(CMM)的第4级(已管理级)的核心是 (29)
A.建立基本的项目管理和实践来跟踪项目费用、进度和功能特性
B.组织具有标准软件过程
C.对软件过程和产品都有定量的理解和控制
D.先进的新思想和新技术促进过程不断改进
例题2:
能力成熟度模型集成(CMMI)是若干过程模型的综合和改进。连续式模型和阶段式模型是 CMMI 提供的两种表示方法,而连续式模型包括 6 个过程域能力等级,其中(30)使用量化(统计学手段改变和优化过程域,以应对客户要求的改变和持续改进计划中的过程域的功效。
A.CL2(已管理的)
B.CL3(已定义级的)
C.CL4(定量管理的)
D.CL5(优化的)
开发模式
考点:给出特点区分模型,了解以下模型的特点
瀑布模型
- 优点:容易理解,成本较低
特点:
- 用户需求明确且全面,变更较少
- 强调早期进行阶段开发计划
- 可以开发较大规模的系统,且具备类似系统的开发经验
增量模型
特点:
- 继承了瀑布模型的优点
- 能够快速构造可运行的产品,可以先交付
- 具有商业性(适用于商业产品的创新模型)
演化模型
可以快速投入使用,不断的演化用户的需求
- 螺旋模型:①适用于复杂且大规模的项目开发;②有风险评估;③成本较高
- 原型模型:①用户需求不清晰不明确;②规模较小;③不可以立即投入使用
喷泉模型
特点:
- 面向对象语言的开发
- 软件重用和多项目的开发——解决瀑布模型和增量模型的问题
- 多迭代和无间隙——不存在有边界的情况
总结
敏捷方法
软件开发方法之一
考点:
敏捷方法的特点:XP(极限编程)和敏捷统一过程他们的内容和特点,时间短高效率
XP
- 4大价值观:沟通、反馈性和勇气
- 5个原则:极速反馈、简单性假设、逐步修改、提倡更改和优质工作
- 12个最佳实践:
- 计划游戏:快速制定计划、随着细节的不断变化而完善
- 小型发布:系统的设计要尽可能早地交付
- 隐喻:找到合适的比喻传达信息
- 简单设计:只处理当前的需求,使设计保持简单
- 测试先行:先写测试代码,然后再编写程序
- 重构:重新审视需求和设计,重新明确的描述他们以符合新的和现有的需求
- 结对编程
- 集体代码所有制
- 持续编程:可以按日深知按小时为客户提供可运行的版本
- 每周工作40小时
- 现场客户
- 编码标准
软件需求
考点:以下三个需求的特点和内容(理解性记忆)
功能需求
实现项目的功能,基础部分;和系统相干的一些工作
性能需求
高效率去实现操作;速度,吞吐率
数据需求
跟数据有关
系统设计*
在软件设计阶段要做的事
考点:以下两个主要设计的特点和内容
概要设计
特点:模块和模块之间的关系
共四个点(秩序掌握前两个):
- 设计软件系统的总体结构(只要知道属于概要设计的内容)
- 数据结构和数据库的设计
例题:概要设计文档的内容不包括(33)
A.体系结构设计
B.数据库设计
C.模块内算法设计
D.逻辑数据结构设计
答案:C
详细设计
针对复杂数据和算法
特点:算法设计,但是不包括接口设计
没有回复内容