1. 简单题
1.1 软件工程的定义:
- 将系统化的、规范化的、可度量的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件;
- 在1)中所述方法的研究
1.2 阅读经典名著“人月神话”等资料,解释software crisis、COCOMO模型
- software crisis:软件危机,泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。主要表现为:
- 软件开发进度难以预测
- 软件开发成本难以控制
- 用户对产品功能难以满足
- 软件产品质量无法保证
- 软件产品更难以维护
- 软件缺少适当的文档资料
- COCOMO模型:是由TRW公司开发,Boehm提出的结构化成本估算模型。是一种精确的、易于使用的成本估算方法。该模型按照详细程度可以分为三级:基本COCOMO模型,中间COCOMO模型以及详细COCOMO模型。
1.3 软件生命周期:
- 软件分析时期:问题定义、可行性研究、需求分析
- 软件设计时期:总体设计、详细设计
- 编码月测试时期:编码、测试
- 运行与维护时期 软件生命周期存在多重模型,如瀑布模型、快速原型模型、螺旋模型等
1.4 按照SWEBok的KA划分,本课程关注那些KA或知识领域?
- 软件需求
- 软件设计
- 软件构建
- 软件工程
1.5 解释CMMI的五个级别。例如:Level 1 – initial:无序,自发生产
- 初始级Level 1-Inintial:软件过程无序,几乎没有定义,成功取决于个人努力
- 可管理级Level 2-Managed:有了必要的过程纪律,能重复早先类似应用的成功经验
- Level 3-Defined:实现软件的管理和工程两方面的文档化、标准化,所有项目都使用标准软件过程来开发和维护软件,软件的生产在整个软件过程中是可见的
- Level 4-Quantitatively Managed:量化管理,分析软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制,管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能
- Level 5-Optimizing:优化管理,过程量化反馈和先进的新思想、新技术促使过程持续不断改进
1.6 用自己的语言简述SWEBok或CMMI
SWEBok是Software Engineering Body Of Knowledge的简写,意为软件工程知识体系,是IEEE计算机协会、职业事件委员会主持的一个项目,旨在说明软件工程知识体系指南。软件工程知识体系从建立开始经过了数次版本迭代,其知识体系领域也在不算细化与拓展。知识体系在软件工程领域内定义了许多知识领域,到目前为止一共定义了15个KAs,包括软件需求、软件设计、软件构建、软件测试、软件维护等软件工程体系下的细分领域。
2. 按照PSP各项指标及技能要求
2.1 阅读《现代软件工程》的PSP:Personal Software Process章节。
2.2 按表格PSP2.1,了解一个软件工程师在接到一个任务之后要做什么,需要哪些技能,解释你打算如何统计每项数据?
一个软件工程师在接到任务之后要做的事情有:
内容 | 所需技能 |
---|---|
任务计划 | 工作经验 |
需求分析 | 分析能力 |
根据分析设计文档、代码规范等 | 对软件工程开发规范的了解 |
根据文档进行程序开发 | 编程能力 |
开发完成后进行复审、测试 | 单元测试,集成测试等技能 |
总计 | 统计的能力 |
统计方法:将需求设计为日程安排,细化每天的任务量,这样就能够统计出每一项工作所花费的时间。