系统分析与设计homework1
简单题
1. 软件工程的定义
- 软件工程是指对将系统化、规范化、可度量的方法应用于软件的开发、运行和维护的过程即将工程化应用于软件中的方法的研究。
2. 阅读经典名著“人月神话”等资料,解释 software crisis、COCOMO 模型
- 软件危机指由于软件生产的复杂性和高成本,使大型软件的生产出现了很大的困难,即出现软件危机。软件危机表现为软件的开发成本超出预算,软件开发进度难以控制,软件产品质量不可靠且可维护性低等问题。软件危机的根源在于软件的大量需求与软件生产力效率之间的矛盾,以及软件系统的复杂性与软件开发方法之间的矛盾。
- COCOMO模型,即构造形成本模型,是一种常见的软件规模估算方法,用于估算工作量、成本以及时间表,最早由Boehm于1981年提出。构造性成本模型由三个不断深入和详细的层次组成。第一层,“基本COCOMO”,适用对软件开发进行快速、早期地对重要的方面进行粗略的成本估计,但因其缺少不同的成本驱动者的因素,所以准确性有一定的局限性。“中级COCOMO”中考虑进了这些成本驱动者。“详细COCOMO”加入了对不同软件开发阶段的考量。
3. 软件生命周期
- 软件生命周期指软件的产生直到成熟的全部过程。从时间的角度,把整个周期划分为尽可能相对独立的若干个阶段,典型的划分有问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试、运行和维护等阶段。常见的软件生命周期模型有瀑布模型、原型模型、螺旋模型、迭代模型。
4. 按照 SWEBOK 的 KA 划分,本课程关注哪些 KA 或 知识领域?
本课程主要关注:
- 软件构造(Software Construction)
- 软件开发过程(Software Development Process)
- 软件工程开发工具与方法(Software Engineering Tools and Methods)
5. 解释 CMMI 的五个级别。例如:Level 1 - Initial:无序,自发生产模式
- Level 1 - Initail: 软件过程是无序的,对过程几乎没有定义,为自发生产模式。
- Level 2 - Managed: 已经建立了基本的项目管理过程,有必要的过程纪律,能够从以往类似的成功项目中取得经验。
- Level 3 - Defined: 已将软件管理和工程两方面的过程文档化、标准化,并综合称该组织的标准软件过程。
- Level 4 - Quantitatively Managed: 能够分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解和控制。管理能够在定量的范围内预测性能。
- Level 5 - Optimizing: 通过过程的量化反馈和先进的新思想、新技术使过程不断改进。
6. 用自己语言简述 SWEBOK 或 CMMI(约200字)
- SWEBOK是ACM与IEEE联合提出的软件工程领域中的软件需求、软件设计、软件建构、软件测试、软件维护与更新、软件构型管理、软件工程管理、软件开发过程、软件工程工具与方法、软件质量共十个核心知识领域。SWEBOK是软件工程成为一门合理的工程学科的里程碑,因为软件工程要成为一门被认可的学科,需要世界范围内对其核心知识结构的观点达成一致,而SWEBOK的提出促进了全球研究人员对软件工程的统一认识,也使得软件工程与其他计算机相关学科能够区分开,确立了软件工程的知识领域,使软件工程成为独立的知识体系,也为软件工程的教学提供了知识基础。
解释PSP各项指标及技能要求
1. 阅读《现代软件工程》的 PSP: Personal Software Process 章节。 http://www.cnblogs.com/xinz/archive/2011/11/27/2265425.html
2. 按表格 PSP 2.1, 了解一个软件工程师在接到一个任务之后要做什么,需要哪些技能,解释你打算如何统计每项数据? (期末考核,每人按开发阶段提交这个表)
一个软件工程师在接到一个任务后首先需要进行任务计划,估计任务完成时间,然后再进行开发,依次完成分析需求、文档设计、设计复审、代码规范、具体设计和编码、代码复审、测试等工作,开发完成后需要记录开发的时间花费,完成测试报告,计算工作总量,进行事后总结,最后提出过程改进计划。 一个合格的软件工程师不光需要对具体技术的掌握,以及较好的动手能力,还需要有好的软件工程思想、软件设计思想。另外,自我管理的能力、表达和交流的能力、与人合作的能力、把任务按质按量完成的执行力、这些能力都很重要。 为了统计每项数据,在开发起始就应定好具体的开发计划,将软件开发过程分为多个阶段,每完成一个阶段的任务就做一次阶段性报告,总结该阶段工作情况,统计工作时间,这样也方便了后续的总结。
PREVIOUS系统分析与设计homework2