软件工程定义:将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护,将工程化的方法应用于软件。
Software crisis:
软件危机,即在软件开发以及维护过程中所遇到的一系列严重问题,这些问题可能导致软件产品的寿命缩短。因此NATO在1968年举办了首次软件工程学术会议,并提出了“软件工程”概念来界定软件开发所需相关知识。
COCOMO模型:
建设性成本模型。这种模型使用一种基本的回归分析公式,将一个软件程序的开发工作量和源代码相关联。使用该模型可以发现团队质量是项目成功的最大因素,即软件成本的关键因素是软件开发团队的能力。
软件生命周期:
又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级、废弃等阶段,这种按时间分层的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都有定义、工作、审查、形成文档以供交流或者备查,以提高软件的质量。
按照SWEBok的KA划分,本课程关注哪些KA或知识领域:
软件需求、软件设计、软件构筑、软件工程工具与方法。
解释CMMI的五个级别:
Level 1 – Initial 无序,自发生产模式
Level 2 – Repeatable 建立基本项目管理过程,能重复类似项目成功经验
Level 3 – Defined 标准化,文档化
Level 4 – Managed 分析详细度量数据,有定量的理解和控制
Level 5 – Optimizing 过程的量化反馈和先进的新思想、新技术促使过程不断改进
简述SWEBok或CMMI(200字):
CMMI:软件能力成熟度集成模型,它将现存实施的与即将被发展出来的各种能力成熟度模型集成到一个框架中。它致力于帮助企业对软件工程过程进行管理和改进,主要关注点是成本效益、明确重点、过程集中、灵活性等方面。CMMI共有5个级别和25个过程域。5个级别是对软件能力的评级,数字越高,成熟度越高,代表软件综合能力越高。每个级别都有一定数量的过程域,过程域即工程中具体应该做好的方面,过程域要达到某个级别必须符合该级别所有过程域,即越高级则需要符合的过程域越多。
解释PSP各项指标及技能要求:
PSP2.1 | Personal Software Process Stages |
Planning | 计划 |
· Estimate | · 估计这个任务需要多少时间 |
Development | 开发 |
· Analysis | · 需求分析 (包括学习新技术) |
· Design Spec | · 生成设计文档 |
· Design Review | · 设计复审 (和同事审核设计文档) |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) |
· Design | · 具体设计 |
· Coding | · 具体编码 |
· Code Review | · 代码复审 |
· Test | · 测试(自我测试,修改代码,提交修改) |
Reporting | 报告 |
· Test Report | · 测试报告 |
· Size Measurement | · 计算工作量 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 |
如何统计上表每项数据:
在每次进行项目开发时使用电子计时设备进行计时,暂停或停止开发时停止计时,以避免将无关开发的时间计入。