第一章 软件工程概述 1、软件的概念软件的概念 公认的解释 软件=程序+数据+文档 程序:按事先设计的功能和性能需求执行的指令序列 数据:程序能正常操纵信息的数据结构 文档:与程序开发、维护和使用有关的图文材料 2、软件的特点: 抽象性、软件生产无明显制造过程、无磨损性、对计算机硬件依赖性、软件的手工开发方式、软件本身复杂性、软件的高成本、社会因素 3、软件的分类 (1)按功能分类:系统软件、支撑软件、应用软件 (2)按规模分类:微型、小型、中型、大型、甚大型、极大型 (3)按工作方式分类:实时处理软件、分时软件、交互式软件、批处理软件 (4)按软件服务对象的范围分类:项目软件、产品软件 (5)按使用频度分类:一次性使用软件、频繁使用软件 (6)按失效影响分类:高可靠性软件、一般可靠性软件 找不到一个统一的严格分类标准,从不同角度来进行分类,每一类软件在管理方面要求程度不同 4、软件的发展 早期 第二阶段 第三阶段 第四阶段 面向批处理 多用户 分布式系统 强大的桌面系统 有限的分布 实时 嵌入、智能 面向对象技术 自定义软件 数据库 低成本硬件 专家系统 软件产品 消费者的影响 人工神经网络 并行计算 网络计算机 5、软件危机:计算机软件的开发和维护过程所遇到的一系列严重问题。 表现: 对软件开发成本和进度的估算很不准确、用户很不满意、质量很不可靠、没有适当的文档、软件成本比重上升、供不应求、软件开发生产率跟不上计算机应用迅速深入的趋势 软件危机的原因: 客观 —— 软件本身特点 逻辑部件繁杂、规模庞大 主观 —— 不正确的开发方法 忽视需求分析、错误思想:软件开发 = 程序编写、轻视软件维护 软件危机的解决途经: 组织管理:工程项目管理方法 技术措施:软件开发技术与方法、软件工具 6、软件工程 在软件危机形势下,软件工程诞生。1968 年,北大西洋公约组织( NATO )的德国格密斯学术会议正式提出了软件工程。 定义:采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 7、软件工程的三要素 (1)方法 为软件开发提供了 “ 如何做 ” 的技术;项目计划与估算、软件系统需求分析、数据结构、设计等 (2)工具 为软件工程方法提供了自动或半自动的软件支撑环境;计...