总体设计?第6章 详细设计?第7章 实现?第8章 维护Р第9章 面向对象方法学引论?第10章 面向对象分析?第11章 面向对象设计?第12章 面向对象实现?第13章 软件项目管理РР1.1 软件危机? 1.2 软件工程? 1.3 软件生命周期? 1.4 软件过程Р第1章 软件工程学概述РР1.1 软件危机Р计算机系统:是指适当的组织在一起的一系列系统元素的集合,这些系统元素互相配合、相互协作,通过对信息的处理而完成预先定义的目标。Р计算机系统Р软件Р硬件Р人员Р数据库Р文档Р过程Р程序Р数据结构Р相关文档Р电子计算设备Р电子机械设备Р用户和操作者Р大型、有组织的信息集合Р手册、表格、图形等描述性信息Р一系列步骤РРРРР对软件的认识:?1950:程序?1960:程序+文档(不包括管理文档)?1970:程序+文档+数据?1984:软件管理是过程管理,CMM1.0能力成熟度模型?1996:UML统一建模语言РР计算机系统4个不同的发展阶段:Р时期Р硬件Р软件Р早期时代?20世纪60年代中期以前Р晶体管计算机Р程序设计阶段?个体化生产Р第二代?20世纪60年代中期到70年代中期Р集成电路计算机Р程序系统阶段?作坊式生产?软件危机出现?软件工程诞生Р第三代?20世纪70年代中期到80年代中期Р微处理器?个人计算机Р软件工程阶段?工程化思想?分布式系统Р第四代?20世纪80年代中期至今Р面向对象阶段?硬件与软件综合?软件开发第四代技术РРР计算机软件发展的4个阶段РР1.1.1 软件危机的介绍Р软件危机(软件萧条、软件困扰):是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。实际上,几乎所有软件都不同程度地存在这些问题。??软件危机包含下述两方面的问题:?如何开发软件,满足对软件日益增长的需求;?如何维护数量不断膨胀的已有软件。