在线试读

get_product_contenthtml 第1章 软件工程概论
  1.1概述
  在本书的第1版中,关于软件工程定义部分没有做更多的描述,这是因为本书的第l版定位于方法论的讨论,而本版将在继续丰富完整方法的基础上扩展更多的内容,以便于展现一套更完善的软件工程体系。
  在第1版中关于软件工程的定义是:软件工程是指导计算机软件开发和维护的工程学科,是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最合适的技术方法结合起来的实现过程。
  另外,还有一些定义如下(这部分定义引自8848.com的seconcept.pdf,该文档的总结做得相当不错):
  软件工程是一类求解软件的工程。它应用计算机科学、数学及管理科字等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量、降低成本的目的。其中,计算机科学、数学用于构造模型与算法;工程科学用于制定规范、设计范型、评估成本及确定权衡;管理科学用于计划、资源、质量、成本等管理。软件工程是一门指导计算机软件开发和维护的工程学科,也是一门交叉学科。
  Boehm:运用现代科学技术知识来设计并构造计算机程序和一些为开发、运行及维护这些程序所必需的相关文件资料。
  IEEE:软件工程是开发、运行、维护和修复软件的系统方法。
  Frit。Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。
  这些都是以传统软件工程为基础而产生的定义。在这些定义的背后带来的就是如何对软件工程体系的细节划分问题。本节的目的不是改变软件工程的概念和定义,而是详细阐述基于这样的概念和定义,软件工程在应用UML语言情况下具体实用的分类形式。因为,只有较好的分类理论才能更有效地引导具体问题的解决。
  由于本书侧重的方法论表述方式是基于UML语言的模型化表述形式,因此和传统的文字描述方式有着较大的差异。其差异的核心就在于表述形式改变了,即开发八员对开发各阶段工件的表现形式的不同,而这种区别使得开发人员在面对一个软件项目时其思维方式也有了较大的转变。传统模式下的语言文字描述了图形化表述的改变,使得人们对软件工程全部过程的看法及其具体作用都产生了影响。
  ……