一.简单题
1.软件工程的定义
软件工程:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
2.阅读经典名著“人月神话”等资料,解释 software crisis(软件危机)、COCOMO 模型。
softwarecrisis(软件危机):软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象
COCOMO模型:构造性成本模型。它是一种精确、易于使用的,基于模型的成本估算方法。
3.软件生命周期
软件生命周期:软件的产生直到报废或停止使用的生命周期
分为一下几个阶段:
1.问题定义
2.可行性研究
3.需求分析
4.开发阶段:设计,实现,测试。
5. 维护: 改正性维护,适应性维护,完善性维护,预防性维护
4.按照 SWEBok 的 KA 划分,本课程关注哪些 KA 或 知识领域?
KA:软件需求, 软件设计, 软甲构造, 软件测试, 软件维护, 软件配置管理, 软件工程管理, 软件工程过程, 软件工程工具和方法, 软件质量
本课程关注:软件需求,软件设计, 软甲构造
5.解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式。
1.初始级:软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。
2.可重复级:建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
3.已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
4.量化管理级:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
5.优化管理级:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。
6.用自己语言简述 SWEBok 或 CMMI (约200字)
CMMI:软件能力成熟度集成模型。目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够从总体上改进组织的质量和效率。
2.解释 PSP 各项指标及技能要求:
PSP2.2表格如下:
PSP2.1 | Personal software Process Stages |
---|---|
Planning | 计划 |
Estimate | 估计任务需要的时间 |
Development | 开发软件 |
Analysis | 需求分析 |
Design Spec | 生成设计文档 |
Coding Stardard | 代码规范 |
Design | 具体设计 |
coding | 编码 |
Code Review | 代码复审 |
Test | 软件测试 |
Reporting | 报告 |
Test Report | 测试报告 |
Size Measurement | 计算工作量 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 |
-在拿到具体任务后,要按照自己的能力所需和所学知识,科学地执行每一阶段的任务,并评估自己执行任务的时间和消耗,不断地确定进度,最终实现任务。