一 简答题
1 软件工程
将系统化、规范化、可度量的方法应用与软件的开发、运行和维护的过程,即将工程化应用于软件中。以及对这种方法的研究。另一种定义是,是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过实践考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
2 软件危机
指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。换句话说,计算机的计算能力远远超出了程序员能够有效处理的范畴,导致项目研发超出预算、非常低效或低质量、没有解决问题等。IBMOS/360操作系统被认为是一个典型的案例
3 COCOMO模型
英文全称为Constructive Cost Model,是由巴里·勃姆提出的一种软件成本估算方法。这种模型使用一种基本的回归分析公式,使用从项目历史和现状中的某些特征作为参数来进行计算。构造性成本模型由三个不断深入和详细的层次组成。第一层,“基本COCOMO”,适用对软件开发进行快速、早期地对重要的方面进行粗略的成本估计,但因其缺少不同的项目属性(“成本驱动者”)的因素,所以准确性有一定的局限性。“中级COCOMO”中考虑进了这些成本驱动者。“详细COCOMO”加入了对不同软件开发阶段影响的考量。
4 软件生命周期
从时间角度,把整个周期划分为若干个阶段。划分的原则:各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理。受软件规模、性质、种类、开发方法等因素的影响。典型划分GB8567(4个时期7个阶段)
- 软件分析时期:问题定义、可行性研究、需求分析
- 软件设计时期:总体设计、详细设计
- 编码与测试时期:编码、测试
- 运行与维护时期
5 本课程关注的 KA 或 知识领域
- 软件需求 Software Requirements
- 软件设计 Software Design
- 软件构造 Software Construction
- 软件工程工具和方法 Software Engineering Tools and Methods
6 CMMI 五个级别
- Level 1 - initial 无序,自发的生产模式。
- Level 2 - Managed 有基本管理程序,能完成任务的生产模式。
- Level 3 - Defined 项目流程制度化,能实现持续生产和模式复制的生产模式。
- Level 4 - Quantitatively Managed 定量精准管理,能把控产品性能和生产流程的生产模式。
- Level 5 - Optimizing 优化管理,能持续更新和改善流程的生产模式。
7 简述 SWEBok 或 CMMI
能力成熟度模型集成(英文:Capability Maturity Model Integration,简称CMMI)是一个过程改进方法,它的目的是帮助组织改进他们的绩效。CMMI 可以被用于引导横贯一个项目、一个部门或一个完整的组织的过程改进。
CMMI包括了5个等级,由于第一级“初始级”是组织的初始状态,故成熟度级别评定从2到5级被授予。模型等级越高,成熟度更高。“CMMI”原先面向软件工程,但是近年已经被高度一般化,以包含其他兴趣范围,因为事物发展的过程就是这样。
二 解释 PSP 各项指标及技能要求
接到任务后要按顺序完成下面的一些任务:
- Planning: 估计这个任务需要多少时间
- Development:
- Analysis:分析需求
- Design Spec:生成设计文档
- Design Review:设计复审 (和同事审核设计文档)
- Coding Standard:代码规范 (为目前的开发制定合适的规范)
- Design:具体设计
- Coding:具体编码
- Code Review:代码复审
- Test:测试(包括自我测试,修改代码,提交修改)
- Record Time Spent:记录时间花费
- Test Report:测试报告
- Size Measurement:计算工作量
- Postmortem:事后总结
- Process Improvement Plan:提出过程改进计划
需要的技能有:
- 合理规划时间的技能
- 扎实的文字技能
- 高效的沟通技能
- 选择合适的模型和结构来开发项目的技能
- 扎实的编码能力
- 软件测试和修改的技能