一、软件工程基础
软件危机:
开发成本超出预算;软件产品质量靠不住;用户对产品不满意;软件的可维护性非常低;软件通常没有适当的文档资料;软件的制作成本不断提高;软件开发生产率的提高赶不上硬件的发展和人们需求的增长。
软件工程的提出:
1968、1969年的两次软件工程年会,提出软件工程术语,旨在用工程解决“软件危机”
软件工程的定义:
(1)应用系统的、规范的、可量化的方法来开发、运行和维护软件,即将工程应用到软件。
(2)对(1)中各种方法的研究
二、软件开发过程模型
软件开发的典型阶段:
- 软件需求工程-->软件系统要完成哪些功能
- 软件设计-->软件系统要如何完成功能
- 软件构造-->构建软件系统
- 软件测试-->验证软件产品的质量
- 软件交付-->将软件交付给客户和用户
- 软件维护-->保障用户能够正常使用软件
软件生命周期模型:
![]()
软件生命周期:
软件从生产到报废的全过程
瀑布模型(线性模型):
适合开发的项目类型:
需求非常成熟稳定;
所需的技术成熟、可靠,无技术难点;
复杂度适中的系统。
例如:在线购物系统
增量迭代模型:
适合开发的项目类型:
需求比较成熟稳定;
规模大,复杂度高的软件
例如:微信
演化模型:
适合开发的项目类型:
不稳定领域的大规模软件系统
例子:智能家居系统
还有很多模型比如原型模型,敏捷模型,螺旋模型等等
其中敏捷模型更受现代大公司所青睐
continue.....