作业
简单题
- 软件工程的定义
研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。其后的几十年里,各种有关软件工程的技术、思想、方法和概念不断被提出,软件工程逐步发展为一门独立的科学。 -
阅读经典名著“人月神话”等资料,解释software crisis、COCOMO模型
软件危机(英语:Software Crisis)是早期计算机科学的一个术语,是指在软件开发及维护的过程中所遇到的一系列严重问题,这些问题皆可能导致软件产品的寿命缩短、甚至夭折。软件开发是一项高难度、高风险的活动,由于它的高失败率,故有所谓“软件危机”之说。 - 软件生命周期
软件生命周期(Software Development LifeCycle)是指软件的产生直到成熟的全部过程。软件生命周期模型是指人们为开发更好的软件而归纳总结的软件生命周期的典型实践参考。 - 按照SWEBok的KA划分,本课程关注哪些KA或知识领域?
- Software requirements
- Software design
- Software construction
- Software testing
- Software maintenance
- Software configuration management
- Software engineering management
- Software engineering process
- 解释CMMI的五个级别,例如:Level 1 - Initial: 无序,自发生产模式。
- level 2 - Managed: 针对项目特点的过程,并且往往是被动的
- level 3 - Defined:能为组织提供特征的过程并且是前瞻性的
- level 4 - Quantitatively Managed: 能测量和控制过程
- level 5 - Optimizing:专注于流程进展
- 用自己的语言简述SWEBok或CMMI
CMMI:能力成熟度模型集成(英文:Capability Maturity Model Integration,简称CMMI或“希迈”)是一个过程改进方法,它的目的是帮助组织改进他们的绩效。“希迈”可以被用于引导横贯一个项目、一个部门或一个完整的组织的过程改进。“希迈”原先面向软件工程,但是近年已经被高度一般化,以包含其他兴趣范围,例如硬件产品的开发、所有种类的业务的交付,以及产品和服务的采购。“软件”这个词现在不出现在希迈的定义中了。这个改进概念的一般化,使得希迈极度抽象。
“希迈”目前致力于三个感兴趣的区域:
- 产品和服务开发——希迈开发方面
- 服务创建、管理和交付——希迈服务方面
- 产品和服务采购——希迈采购方面。
解释PSP各项指标及技能要求:
|需要做的内容|需要的技能|如何统计数据|
|——–|———|—|
|Planning|—|—|
| 1. Estimate|对任务所需时间的准确预估|记录前期的准备时间|
|Development|—|—|
| 1. Analysis|了解整个任务的流程,知道大概的方向,确定要做的任务|记录小组讨论时间|
| 2. Design Spec|懂得项目接口的设计,熟知并能选择最适合的框架|由文档设计者记录文档设计时间即后续修改所用时间|
| 3. Design Review|—|统计小组成员复核时间|
| 4. Coding Standard|统一大家的编码风格,找到一种最适合大家的方式|小组讨论中记录|
| 5. Design|—|—|
| 6. Coding|良好的代码能力,懂得发现问题并解决问题|通过GitHub与个人记录统计所用时间|
| 7. Code Review|有预见性,善于查找问题,能在已知条件下推断未知情况|在完成个人代码总结时,单独记录此部分的时间|
| 8. Test|具备良好的软件测试能力|在测试阶段单独记录|
|Report|—|—|
|Test Report|总结测试中发现的问题并记录|—|
|Size Measurement|—|综合前述数据并统计|
|Postmortem & Process Improvement Plan|总结错误,找到原因|—|