本书主要介绍软件工程及其应用的有关内容,包括可行性研究、需求分析、总体设计、详细设计、编码、测试、维护以及有关软件管理、软件开发工具和环境等方面的内容。为了保持教材内容的先进性,本书还介绍了面向对象软件工程学、统一建模语言UML、软件工程标准与软件文档等方面的内容。本书内容新颖,实例丰富,各章均有小结与习题,便于教学和自学。本书可作为高等院校“软件工程”课程的教材或教学参考书,也可供从事软件开发与应用的工程技术人员和管理人员阅读参考。前言软件工程是指导计算机软件开发与维护的工程学科,它采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间检验证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,以便经济地开发出高质量的软件并有效地维护它。从20世纪60年代末提出“软件工程”概念以来,历经三十多年的飞速发展,软件工程逐渐成熟,现已成为计算机科学与技术领域中的一门重要学科。随着计算机的日益普及,计算机软件已无处不在。以软?乃得鳌⒖ⅰ⑽ず凸芾砦谌荩魑畔⒉档囊桓鲋е砑こ陶庖谎Э埔阎鸾ノ嗣撬煜ず凸惴河τ谩O衷诖蠹叶既鲜兜剑绻心母鱿钅坎蛔裱砑こ淘颍囟ɑ崾艿绞导某头!R虼耍险嫜安⒃谑导使ぷ髦姓返卦擞萌砑こ蹋前谠谖颐敲媲暗囊幌钍制惹械娜挝瘛*?软件工程是一门研究范围非常广泛的迅速发展的新兴学科,学科内的新技术、新方法不断涌现。本书着重从实用角度讲解软件工程的基本概念、基本原理和技术方法,同时也注意了该书的系统型和先进性。希望本书既能对实际的软件开发人员和管理人员有所帮助,又能为读者深入研究这门学科奠定较好的基础。本书共有13章。第1章介绍了软件的概念、发展和软件危机,着重介绍了软件生存期、软件开发模型及软件工程的基本概念和基本内容。第2、3、4、5、6、9、10章是本书的重点,分别论述可行性研究、需求分析、总体设计、详细设计、编码、测试、维护阶段的各种方法和技术,对SA方法、SD方法、数据流图、数据字典、层次图、HIPO图、结构图、NS图、PAD图、PDL语言、黑盒法、白盒法等逐一做了详细的介绍,读者开发软件时可根据需要灵活运用。为了保持教材内容的先进性,本书第7、8章介绍了面向对象软件工程学和统一建模语言UML,主要包括面向对象方法的基本概念、面向对象的分析、面向对象的设计、软件复用、UML的静态建模机制、UML的动态建模机制、UML软件开发过程等内容。第11章介绍了有关软件项目计划、软件项目组织、软件项目人员配备、软件项目的指导和检验、软件配置管理和配置管理工具等软件管理方面的内容。第12章介绍了软件开发工具和环境,并对计算机辅助软件工程CASE做了简要的介绍。第13章介绍了软件工程标准与软件文档,包括ISO9000质量标准、ISO/IEC12207软件生存周期过程标准、能力成熟度模型CMM等内容。在附录中给出了计算机软件开发文档编制指南,供实际应用时参考。本书内容新颖,实例丰富,语言文字通俗易懂;各章重点、难点突出,原理、技术和方法的阐述融于丰富的实例之中;各章均有小结与习题,便于教学和自学。本书可作为高等院校“软件工程”课程的教材或教学参考书,也可供从事软件开发与应用的工程技术人员和管理人员阅读参考。本书的第7、8、12、13章由李成大副教授编写,第1、2、3、4、5、11章由张京副教授编写,第9、10章由郑显举老师编写,第6章及附录由许珏老师编写,李成大老师负责统稿全书。西南交通大学计算机与通信工程学院文登敏副教授仔细审阅了本书,并提出了非常宝贵的意见,特此表示深深的谢意。由于编者水平有限,编写时间仓促,书中错误之处在所难免,恳请专家和读者批评指正。