(1)将系统化、规范化、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。
(2)对(1)中所述方法的研究。
software crisis是指软件危机,软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。随着计算机应用需求的驱动,系统软件和应用软件有很大的发展,如操作系统,编译系统和大型应用软件等。由于软件生产的复杂性和高成 本,使大型软件的生产出现了很大的困难,即出现软件危机。
COCOMO,英文全称为Constructive Cost Model,中文为结构性成本模型。它是由巴里·勃姆(Barry Boehm)提出的一种软件成本估算方法。这种模型使用一种基本的回归分析公式,使用从项目历史和现状中的某些特征作为参数来进行计算。COCOMO模型可以分为三个层次:基本COCOMO,中级COCOMO,详细COCOMO。基本COCOMO模型用已估算出的源代码行数为自变量的经验函数计算软件开发工作量,存在局限性;中级COCOMO模型以基本COCOMO模型作基础,用涉及产品、硬件、人员、项目等方面的影响因素调整工作量的估算;详细COCOMO模型则进一步考虑了软件工程中每一个阶段的影响。
软件生命周期又称为软件生存周期或系统开发生命周期,是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。通常软件生命周期包括以下内容:
一,问题定义。要求系统分析员与用户进行交流,弄清“用户需要计算机解决什么问题”然后提出关于“系统目标与范围的说明”,提交用户审查和确认。
二,可行性研究。一方面在于把待开发的系统的目标以明确的语言描述出来,另一方面从经济、技术、法律等多方面进行可行性分析。
三,需求分析。弄清用户对软件系统的全部需求,编写需求规格说明书和初步的用户手册,提交评审。
四,开发阶段。开发阶段由三个阶段组成:
1,设计
2,实现:根据选定的程序设计语言完成源程序的编码。
3,测试
五,维护:维护包括四个方面
1,改正性维护:在软件交付使用后,由于开发测试时的不彻底、不完全、必然会有一部分隐藏的错误被带到运行阶段,这些隐藏的错误在某些特定的使用环境下就会暴露。
2,适应性维护:是为适应环境的变化而修改软件的活动。
3,完善性维护:是根据用户在使用过程中提出的一些建设性意见而进行的维护活动。
4,预防性维护:是为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础。
SWEBok的领域共有10个:软件需求、软件设计、软件建造、软件测试、软件维护软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法以及软件质量。
本课程关注的有:软件需求、软件设计、软件建造和软件工程工具和方法
1.初始级:软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。
2.可重复级:建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
3.已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
4.量化管理级:分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。
5.优化管理级:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。
SWEBOK全面描述了软件工程实践所需的知识,为开发本科软件工程教育计划打下了基础。SWEBOK的目的是为软件工程学科的范围提供一致的确认,为支持该学科的本体知识提供指导。SWEBOK将软件工程学科的本体知识分为10个知识域,各种重要概念之间的区别在每个知识域描述中阐述,便于读者迅速查找感兴趣的专题。 SWEBOK的目标是:①促进软件工程本体知识达成世界范围的共识;②澄清软件工程与其他相关学科如计算机科学、项目管理、计算机工程以及计算机数学的关系,并且确定软件工程学科的范围;③反映软件工程这个学科内容的特征;④ 确定软件工程本体知识的各个专题:⑤为相应的课程和职业资格认证材料的编写奠定基础。
· 阅读《现代软件工程》的PSP:Personal SoftwareProcess章节:
http://www.cnblogs.com/xinz/archive/2011/11/27/2265425.html
· 按表格 PSP 2.1, 了解一个软件工程师在接到一个任务之后要做什么,需要哪些技能,解释你打算如何统计每项数据? (期末考核,每人按开发阶段提交这个表)
PSP2.1各项指标如下:
我的数据统计打算先将一个任务分为几个小的部分,然后分别统计几个小的部分的所花的时间数。