一、
1.软件工程的定义
(1)将系统化、规范化、可度量的方法应用与软件的开发、运行和维护的过程,即将工程化应用于软件中。(2)对(1)中所述方法的研究。
2.阅读经典名著“人月神话”等资料,解释software crisis,COCOMO模型
software crisis即软件危机,是指在软件开发及维护的过程中所遇到的一系列严重问题,这些问题皆可能导致软件产品的寿命缩短、甚至夭折。鉴于软件开发时所遭遇的困境,北大西洋公约组织(NATO)在1968年举办了首次软件工程学术会议并在会中提出“软件工程”来界定软件开发所需相关知识。
Barry W.Boehm在他的1981年的书“软件工程经济学”中记录了这一领悟的几个关键进展并提出了一种软件成本估算方法,即建设性成本模型COCOMO。这种模型使用一种基本的回归分析公式,讲一个软件程序的开发工作量和源代码行相管理。他的COCOMO模型发现,团队质量时目前项目成功最大的决定因素,即软件成本的关键驱动因素时软件开发团队的能力。
3.软件生命周期
软件生命周期又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃的等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
4.按照SWEBok的KA划分,本课程关注哪些KA或知识领域
软件需求(software requirement)、软件设计(software design)、软件构筑(software construction)、软件工程工具与方法(software tools & methods)。
5.解释CMMI的五个级别。例如 Level 1 - Initial:无序,自发生产模式
Level 1 - Initial:无序,自发生产模式
Level 2 - Repeatable:建立基本项目管理过程,能重复类似项目成功经验
Level 3 - Defined:标准化,文档化
Level 4 - Managed:分析详细度量数据,有定量的理解和控制
Level 5 - Optimizing:过程的量化反馈和先进的新思想、新技术促使过程不断改进
6.简述CMMI
CMMI是软件能力成熟度集成模型,它将现存实施的与即将被发展出来的各种能力成熟度模型集成到一个框架中。它致力于帮助企业对软件工程过程进行管理和改进,主要关注点是成本效益、明确重点、过程集中和灵活性四个方面。CMMI共有5个级别和25个过程域,5个级别是对软件能力的评级,数字越高,成熟度越高,代表综合软件能力越高。每个级别都有一定数量的过程域,过程域简单来说就是工程中具体要做好的某个方面,过程域要达到某个级别必须符合该级别所有过程域,且要达到一个级别,需要先达到上一个级别,这就意味着越高级需符合的过程域越多。
二、
PSP2.1 | |
Planning · Estimate Development · Analysis · Design Spec · Design Review · Coding Standard · Design · Coding · Code Review · Test
Record Time Spent Test Report Size Measurement Postmortem Process Improvement Plan | 计划 · 估计这个任务需要多少时间 开发 · 分析需求 · 生成设计文档 · 设计复审 (和同事审核设计文档) · 代码规范 (为目前的开发制定合适的规范) · 具体设计 · 具体编码 · 代码复审 · 测试(包括自我测试,修改代码,提交修改) 记录时间花费 测试报告 计算工作量 事后总结 提出过程改进计划 |
使用手机或者电脑的计时器进行记录, 每次进行开发时都进行计时,区分开不通阶段的时间,并且要避免计入一些没有进行开发的时间,如中间的休息、吃饭等。