- 软件工程的定义
- 阅读经典名著“人月神话”等资料,解释 software crisis、COCOMO 模型。
详细模型 (Detailed Model):包括中间 COCOMO 模型的所有特性,但用上述各种影响因素调整工作量估算时,还要考虑对软件工程过程中分析、设计等各步骤的影响。
同时根据不同应用软件的不同应用领域,COCOMO模型划分为如下3种软件应用开发模式:
组织模式(Organic Mode):这种应用开发模式的主要特点是在一个熟悉稳定的环境种进行项目开发,该项目与最近开发的其他项目有很多相似点,项目相对较小,而且并不需要许多创新。
嵌入式应用开发模式 (Embedded Mode):在这种应用开发模式种,项目受到接口要求的限制。接口对整个应用的开发要求非常高,而且要求项目有很大的创新,例如开发一种全新的游戏。
中间应用开发模式 (Semidetached Mode):这时介于组织模式和嵌入式应用开发模式之间的类型
- 软件生命周期
软件分析时期:问题定义、可行性研究、需求分析
软件设计时期:总体设计、详细设计
编码与测试时期:编码、测试
运行与维护时期
- 按照 SWEBok 的 KA 划分,本课程关注哪些 KA 或 知识领域?
SWEBok Version3在软件工程方面有15个KA,2004版的SWEBok在软件工程方面有10个KA,本课程关注的KA:软件需求、软件设计
- 解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式。
Level2 - Managed:具有项目管理规范,能重复之前类似项目的成功经验
Level3 - Defined:能自定义管理体系与流程
Level4 - Quantitatively Managed:量化控制管理
Level5 - Optimizing:优化
- 用自己语言简述 SWEBok 或 CMMI (约200字)
CMMI:软件能力成熟度集成模型,1994年由美国国防部和卡内基梅隆大学下的软件工程研究中心共同开发和研制的,计划把现在所有现存实施的和即将被发展出来的各种能力成熟度模型集成到一个框架中去,是软件行业十分必要的一个资质认证,为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时的、不超出预算的开发出高质量的软件。
- 阅读《现代软件工程》的 PSP: Personal Software Process 章节。 http://www.cnblogs.com/xinz/archive/2011/11/27/2265425.html
- 按表格 PSP 2.1, 了解一个软件工程师在接到一个任务之后要做什么,需要哪些技能,解释你打算如何统计每项数据? (期末考核,每人按开发阶段提交这个表)
PSP 2.1 | Personal Software Process Stages |
Planning | 计划 |
|
|
Development | 开发 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Record Time Spent | 记录时间花费 |
Test Report | 测试报告 |
Size Measurement | 计算工作量 |
Postmortem&Preocess Improvement Plan | 事后总结&提出过程改进计划 |
需要哪些技能:清楚软件开发的整个流程(软件生命周期),能正确评估不同开发阶段的工作量;将需求转化为具体的设计的能力;根据软件开发的常用模型制定开发的计划;编程能力;测试能力。
统计每项数据:做计划的时候,根据之前的开发经验结合要做项目的具体情况对开发的每个阶段的工作时间进行估计并累加得到一个项目总工作量的估计值;开发和报告阶段,都以实际工作时间计算,比如“分析需求”我们就以开始进行需求分析到得到最终确定的需求list这整个过程中实际花费的时间计算。