1. 简单题
软件工程的定义
- 软件工程是
(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件;
(2)在(1)中所述方法的研究
- 软件工程是
阅读经典名著“人月神话”等资料,解释 software crisis、COCOMO 模型。
- 软件危机是指在软件开发及维护的过程中所遇到的一系列严重问题,这些问题皆可能导致软件产品的寿命缩短、甚至夭折。
- COCOMO模型,即结构性成本模型,是由Barry Boehm提出的一种软件成本估算方法。这种模型使用一种基本的回归分析公式,使用从项目历史和现状中的某些特征作为参数来进行计算。COCOMO模型可以分为三个层次,分别为基本COCOMO、中级COCOMO、详细COCOMO。
- 软件生命周期
- 软件生命周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,也有将以上阶段的活动组合在内的迭代阶段,即迭代作为生命周期的阶段。
- 按照 SWEBok 的 KA 划分,本课程关注哪些 KA 或 知识领域?
- Software requirements、Software design、Software construction、Software engineering models and methods
- 解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式。
- Level 1 - Initial:无序,自发生产模式
- Level 2 - Managed:建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
- Level 3 - Defined:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
- Level 4 - Quantitatively Managed:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
- Level 5 - Optimizing:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。
- 用自己语言简述 SWEBok 或 CMMI (约200字)
- SWEBok是一个国际标准,它详细说明了普遍接受的软件工程知识体系指南,将软件工程所需的知识划分为多个知识领域,描述了在软件工程中需要掌握的知识主体,其目的是促进世界范围内对软件工程的一致观点,阐明软件工程相对于其他学科如计算机科学等的位置并确立它们的分界,刻画软件工程学科的内容,提供使用知识体系的主题,为开发课程表和个人认证与许可材料提供一个基础。
2. 解释PSP各项指标及技能要求:
- 接到一个任务之后要做什么:
- 计划:
估计这个任务需要多少时间 - 开发
(1) 分析需求
(2) 生成设计文档
(3) 设计复审(和同事审核设计文档)
(4) 代码规范(为目前的开发制定合适的规范)
(5) 具体设计
(6) 具体编码
(7) 代码复审
(8) 测试(包括自我测试、修改代码、提交修改) - 记录时间话费
- 测试报告
- 计算工作量
- 事后总结
- 提出过程改进计划
- 计划:
- 需要哪些技能
- 时间规划管理能力
- 自我管理能力
- 与人沟通交流能力
- 良好的代码风格和习惯
- 编程能力
- 软件测试能力
- 分析和总结能力
- 统计方式
- 首先要做出尽可能具体的计划,预估每个阶段所需要的时间,制定每个阶段开始和完成的标志,并对每个阶段的实际时间进行统计,最后做分析与总结。