重磅推荐
【内容简介】
本书采用UML建模实现了软件工程的主要过程:需求、分析、设计、代码导出、设计模型维护等。本书采用了大量国内实际工程软件过程中的截图,通过图形和示例来描述工程实际中的问题和过程。这在国内原创的软件工程类书籍中是很少见的。本书对软件工程领域进行了重新划分,其中涉及软件工程方法、软件工程过程,以及软件工程理论的发展和现状,还包括全新的软件组织方法论:交换编程、可度量绩效管理模型、实用知识库体系构建,同时对软件开发中心态对抗问题进行了初步研究。
  本书适合于对UML基础知识有一定了解的、同时参加过一些实际工程项目开发的人员阅读,也适合对全程建模过程实现和人性化软件开发感兴趣的读者参考。
【目录】
前言
第1章 软件工程概论
 1.1 概述
  1.1.1 全程建模下的软件工程分类
  1.1.2 传统软件工程分类
  1.1.3 SWBOOK2004中软件工程体系划分
 1.2 软件工程过程
  1.2.1 软件工程管理过程
  1.2.2 软件工程实施过程
 1.3 软件工程方法
  1.3.1 软件开发方法论
  1.3.2 软件组织方法论
第2章 需求工程
 2.1 需求的定义
 2.2 需求调研
  2.2.1 调研中存在的问题
  2.2.2 过去和现在的对比
  2.2.3 新现象的分析
  2.2.4 软件外包与编码
 2.3 如何和用户交流
  2.3.1 交流四要点
  2.3.2 什么是用户
  2.3.3 参与人员建议
  2.3.4 输入输出
  2.3.5 UML元素
  2.3.6 常见问题
 2.4 业务建模
  2.4.1 目的
  2.4.2 基本操作步骤
  2.4.3 建议
  2.4.4 参与人员建议
  2.4.5 输入输出
  2.4.6 UML元素
  2.4.7 常见问题
  2.4.8 示例说明
 2.5 UseCase模型
  2.5.1 UseCase图的绘制
  2.5.2 如何查找UseCase和Actor
  2.5.3 UseCase的处理
  2.5.4 如何分包
  2.5.5 参与人员建议
  2.5.6 输入输出
  2.5.7 UML元素
  2.5.8 常见问题
  2.5.9 楚凡UML工具模型示例
 2.6 UseCase阐述
  2.6.1 目的
  2.6.2 要求
  2.6.3 UseCase阐述的格式
  2.6.4 参与人员建议
  ……
第3章 分析设计
第4章 代码模型一致性
第5章 协作开发
第6章 软件组织方法论
第7章 软件开发中心态对坑问题研究
第8章 技巧和相关文档
附录A 全程建模方法论
附录B 幼儿教育系统
附录C 全程建模培训介绍
附录D 作者随笔一
附录E 作者随笔二——毕业十年记
附录F 文档信息和文档修订历史
后记
参考文献
【免费在线读】
第1章 软件工程概论
  1.1概述
  在本书的第1版中,关于软件工程定义部分没有做更多的描述,这是因为本书的第l版定位于方法论的讨论,而本版将在继续丰富完整方法的基础上扩展更多的内容,以便于展现一套更完善的软件工程体系。
  在第1版中关于软件工程的定义是:软件工程是指导计算机软件开发和维护的工程学科,是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最合适的技术方法结合起来的实现过程。
  另外,还有一些定义如下(这部分定义引自8848.com的seconcept.pdf,该文档的总结做得相当不错):
  软件工程是一类求解软件的工程。它应用计算机科学、数学及管理科字等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量、降低成本的目的。其中,计算机科学、数学用于构造模型与算法;工程科学用于制定规范、设计范型、评估成本及确定权衡;管理科学用于计划、资源、质量、成本等管理。软件工程是一门指导计算机软件开发和维护的工程学科,也是一门交叉学科。
  Boehm:运用现代科学技术知识来设计并构造计算机程序和一些为开发、运行及维护这些程序所必需的相关文件资料。
  IEEE:软件工程是开发、运行、维护和修复软件的系统方法。
  Frit。Bauer:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。
  这些都是以传统软件工程为基础而产生的定义。在这些定义的背后带来的就是如何对软件工程体系的细节划分问题。本节的目的不是改变软件工程的概念和定义,而是详细阐述基于这样的概念和定义,软件工程在应用UML语言情况下具体实用的分类形式。因为,只有较好的分类理论才能更有效地引导具体问题的解决。
  由于本书侧重的方法论表述方式是基于UML语言的模型化表述形式,因此和传统的文字描述方式有着较大的差异。其差异的核心就在于表述形式改变了,即开发八员对开发各阶段工件的表现形式的不同,而这种区别使得开发人员在面对一个软件项目时其思维方式也有了较大的转变。传统模式下的语言文字描述了图形化表述的改变,使得人们对软件工程全部过程的看法及其具体作用都产生了影响。
  ……
返回顶部