软件工程概述
软件危机
软件危机:在计算机软件开发和维护过程中所遇到的一系列严重问题。
软件危机的表现:
- 对开发成本和进度估计常常很不准确
- 用户对“已完成的”软件系统不满意的现象经常发生
- 软件产品的质量往往靠不住
- 软件常常是不可维护的
- 软件通常没有文档资料
- 软件成本在计算机系统总成本中所占的比例逐年上升。
- 软件开发生产提高的速度远远跟不上计算机应用普及深入趋势
软件是程序、数据及相关文档的完整集合。
为了解决软件微机,既要有技术措施,又要有必要的组织管理措施。软件工程也正是从管理和技术两方面研究如何更好维护计算机软件。
软件工程
软件工程是指导计算机软件开发和维护的一门工程学科。
**软件工程的基本原理
1.用分阶段的生命周期计划严格管理
2. 坚持进行阶段评审
3. 实行严格的产品控制
4. 采用现代程序设计技术
5. 结果应能清除地审查
6. 开发小组人员应该少而精
7. 承认不断改进软件工程实践的重要性
软件工程方法学
3个要素:方法,工具和过程
- 传统方法学:也被称为生命周期方法学或结构化范型,采用结构化技术,强调自顶向下顺序完成软件开发的各阶段任务。、
- 面向对象方法学:软件系统本质就是信息处理系统,是一个主动多次反复迭代的演化过程。
软件生命周期
软件生命周期有软件定义、软件开发、运行维护三个阶段。
软件定义阶段:问题定义、可行性分析、需求分析
软件开发阶段:总体设计、详细设计、编码和单元测试、综合测试
软件运行维护阶段:是软件持久地满足用户的需要
软件过程
软件过程是为了获得高质量软件所需要完成的一系列任务的框架。