软件工程 第一章 1
软件 = 程序 + 数据 + 文档 2
软件危机及表现:二十世纪六十年代中期,在美国就出现了软件危机(Softw are Crisis),这种危机表现在研发大型软件时,软件开发的成本增大、进度延期、维护困难和质量得不到保障
所谓软件危机,就是在软件开发和维护过程中所遇到一系列难以控制的问题
软件工程定义:权威杂志 IEEE 对软件工程的定义是:软件工程是将系统化的、严格约束的、可量化的方法,应用于软件开发、运行和维护中去
软件工程大师 Roger S Pressman 对软件工程的定义是:软件工程是一个过程、一组方法和一系列工具
软件工程是研究软件开发和软件管理的一门工程学科
软件工程基本原理:(1)用分阶段的生命周期计划严格管理软件开发
阶段划分为计划、分析、设计、编程、测试和运行维护
(2)坚持进行阶段评审
上一阶段评审不通过,就不能进入下一阶段开发
(3)实行严格的产品版本控制
(4)采用现代程序设计技术
(5)结果应能清楚地审查
因此,对文档要有严格要求
(6)开发小组的成员要少而精
(7)要不断地改进软件工程实践的经验和技术,要与时俱进
上述七条原理,虽然是在面向过程的程序设计时代(结构化时代)提出来的
但是,直到今天,在面向元数据和面向对象的程序设计新时代,它仍然有效
(8)二八定律 5
软件工程三要素:习惯上,人们常常把软件工程的方法(开发方法)、工具(支持方法的工具)、过程(管理过程)称为软件工程三要素
4 种开发方法的比较: 方法名称优点缺点适合场合面向过程的方法简单好学不适应窗口界面,维护困难大型工程计算,实时数据跟处理,各种自动化控制系统以及系统软件实现等领域面向对象的方法功能强大、易于维护不易掌握互联网络时代,完全由用户互控制程序执行过程的应用件和系统软件的开发面向元数据的方法 通俗易懂不适应窗