软件工程定义
软件工程,是在软件开发,操作和维护中应用系统化,规范化,可量化的方法以及对这些方法的研究。即“将工程应用于软件”。
软件危机(本质原因,表现,克服方法)
软件危机的表现:在规定时间内难以编写出有用且高效的计算机程序。
1. 项目超过预算
2. 项目超出预期时间
3. 软件效率过低
4. 软件质量过低
5. 软件不满足要求
6. 项目无法管理,代码难以维护
7. 软件无法交付
软件危机的本质原因:
1. 软件的大量需求与软件生产力效率之间的矛盾。
2. 软件系统的复杂性与软件开发方法之间的矛盾
主要原因:计算能力的提高超过了程序员有效利用计算机的能力。
克服软件危机的方法:
1. 正确认识计算机软件的内涵。
2. 采用工程项目管理方法实施软件开发的组织管理。软件开发应该是一种组织良好,管理严密,协同配合的工程活动。
3. 采用成熟的软件技术和方法,开发和使用适当的软件工具。
软件生命周期
在时间维度,对软件项目任务进行划分,又称为软件开发过程。常见的有瀑布模型,螺旋模型,敏捷模型等。
SWEBoK的15个知识域
实践教育
1. 软件需求
软件需求涉及软件需求的引出、协商、分析、规范和确认。软件需求表示对软件产品的需求和约束。做对的事情。
2. 软件设计
定义系统或组件的架构、组件、接