1、简单题
- 软件工程的定义
将系统化的、规范的、可度量的方法用于软件的开发、执行和维护的过程,即将工程化应用与软件开发中。 - 阅读经典名著“人月神话”等资料,解释 software crisis、COCOMO 模型。
software crisis,即软件危机,指在软件开发和维护的过程中所遇到的一系列可能导致软件产品的寿命缩短甚至夭折的严重问题,源于上个世纪软件开发过程中遭遇的超出预算和规划时间,软件品质低下,代码难以维护等困境。
COCOMO 模型,Constructive Cost Model,构造性成本模型,是一种软件成本估算方法。该模型使用一种基本的回归分析公式,使用从项目历史和现状中的某些特征作为参数来进行计算,由基本COCOMO,中级COCOMO和详细COCOMO三个不断详细和深入的层次组成。 - 软件生命周期
软件生命周期是指软件的产生直到成熟,从规划、建立、测试到最终完成部署的全部过程,由一系列明确定义的不同工作阶段组成。为开发更好的软件,归纳总结了多种软件生命周期模型作为软件生命周期的典型实践参考。第一个典型生命周期模型为瀑布模型。 - 按照 SWEBok 的 KA 划分,本课程关注哪些 KA 或 知识领域?
软件需求
软件设计
软件构建
软件工程过程
软件工程工具和方法 - 解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式。
Level 1 - Initial:是无序甚至是混乱的,对过程几乎没有定义,管理是反应式的。
Level 2 - Managed:建立了基本的项目管理过程,制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
Level 3 - Defined:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
Level 4 - Quantitatively Managed:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
Level 5 - Optimizing:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。 - 用自己语言简述 SWEBok 或 CMMI (约200字)
SWEBOK,Software Engineering Body of Knowledge,软件工程知识体系,是一个国际标准,以高质量为目标,研究软件生产的过程模型、方法与工具。SWEBOK在软件工程领域定义了多个知识领域,其中与本课程相关的内容如下:
软件需求,指需要由软件进行解决的用户的需求;
软件设计,是从软件需求出发,形成具体的软件设计方案的过程;
软件构建,是通过编码,验证,单元测试,集成测试和调试相结合的方式来构建软件的详细过程,与软件设计和软件测试强烈相关;
软件工程过程,也就是软件开发生命周期,将软件开发工作划分为不同阶段;
软件工程工具和方法,涉及到软件开发过程中所使用的模型、工具与方法。
2、解释 PSP 各项指标及技能要求
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 | 计划 · 估计这个任务需要多少时间 开发 · 分析需求 · 生成设计文档 · 设计复审 (和同事审核设计文档) · 代码规范 (为目前的开发制定合适的规范) · 具体设计 · 具体编码 · 代码复审 · 测试(包括自我测试,修改代码,提交修改) 记录时间花费 测试报告 计算工作量 事后总结 提出过程改进计划 |