标题：软件工程与UML案例解析
基本信息
书名：  软件工程与UML案例解析
套系名称：全国高等职业院校计算机教育规划教材
出版社：中国铁道出版社
书号：978-7-113-10880-9　
开本：16开　
页码：272页
作者：何晓蓉
出版时间：2010-04-01 
定价：29 元
内容简介
为了满足广大读者对软件工程应用技术的学习需求，特别是为了提高高职高专软件技术专业学生的UML建模能力，本书在介绍软件开发各阶段所涉及的基本理论的基础上，以实际的开发项目重点介绍了用例模型、分析模型、设计模型等UML全程建模过程，并介绍了应用项目管理工具Microsoft Project对开发项目进行时间、资源和成本计划的编制与监控管理，使用PowerDesigner建模工具构建数据模型，以及使用LoadRunner等测试工具对软件进行自动或手工测试的过程。本书注重理论与实际相结合，内容选取适当，按“问题引入－解答问题－分析问题”的方式设计情景，符合人们的认知过程。全书结构严谨、布局合理、重点突出，具有很强的实用性。本书适合作为高职高专院校软件技术专业“软件工程”课程的教材或教学参考书，也可作为软件开发人员的自学用书。[1]
图书前言
随着计算机科学与网络技术的不断发展，计算机的应用范围越来越广，软件的规模及社会需求量在迅猛增大，软件工程化方法的重要性也日益突出，这从客观上迫切需要众多既具有软件工程理论知识，又掌握软件工程实际应用技能的人才。特别是对于高职高专院校的软件技术专业学生，更需要一本注重软件工程实际应用技术的教材。本书正是在“理论够用、实战为本”的思想指导下，特为高职高专院校软件技术专业学生学习和掌握软件工程应用技术而编写的。为培养软件开发实用型专门人才，本书在介绍软件工程理论知识的基础上，以实际的软件项目“客户服务系统”的建模过程为主线，按照软件开发的实际工作过程及流程，以任务驱动的方式，重点阐述面向对象的软件开发技术以及UML全程建模。注重对学生实际应用技能和动手能力的培养。书中内容按“问题引入—解答问题—分析问题”的方式设计情境，打破了传统的“提出问题—分析问题—解决问题”的问题解决模式，更符合人们的认知过程。本书正文共分9章，主要内容包括：第1章概述，主要介绍软件工程及软件工程的目标、过程和原则、UML等方面的问题和基本概念，并对作为全书案例的软件项目作了简要描述；第2章软件项目管理，主要介绍项目管理的概念、组成部分以及工期的计算公式、WBS等基本知识，项目的时间、资源和成本计划的编制与监控管理，以及用Microsoft Project项目管理软件来管理与跟踪这些计划；第3章软件系统开发方法，主要介绍软件生命周期及传统的生命周期模型、传统软件开发方法与面向对象软件开发技术、RUP统一软件开发过程、敏捷软件开发技术等方面的问题及基本概念；第4章建立用例模型，主要介绍建立用例模型的过程及相关知识，包括需求获取、分析需求、用例在需求分析中的使用、识别参与者、确定用例、用例的粒度、用例间的关系、用例描述和用例建模等方面的内容；第5章建立分析模型，主要介绍建立分析模型的过程及相关知识，包括对象、类和对象、类的UML表示，确定关键抽象，类之间的关系及其UML表示，建立领域模型，分布模式的选择与应用，构建分析类，职责分配，定义类属性，分析模型等方面的知识；第6章数据库建模，主要介绍建立数据库模型的过程及相关知识，包括从业务需求创建数据模型的流程，定义数据需求，定义概念模型，设计逻辑数据模型，设计物理数据模型，数据模型的优化与发布等方面的内容；第7章建立设计模型，主要介绍建立系统设计模型的过程及相关知识，包括设计模式的选择与应用，定义设计类，设计类，设计类间的关系，活动图，状态图，设计模型顺序图，设计模型的分包，逻辑视图到构件视图的映射等方面的内容；第8章系统架构设计，主要介绍系统架构的设计过程及相关知识，包括业务架构及业务架构的分析，软件架构及软件架构的设计，软件架构与框架的区别，软件架构的“4+1”视图模型，组件图，部署图等方面的内容；第9章软件测试，主要介绍软件测试的基本概念、测试方法和测试过程等方面的知识。本书注重理论与实际应用相结合，具有很强的实用性。本书由何晓蓉主编，参加编写的有何晓蓉（第1章、第3章、第5章的第9节，第7章、第8章的第6节、附录A、附录C），张婵和罗佳（第4章、第5章的第1～8节及第10节、第6章、附录B），车书（第2章、第8章的第1～5节及第7～8节），陈建潮（第9章）。李洛教授担任本书的主审。本书由何晓蓉拟定大纲，并进行统稿和定稿。
图书目录
第1章　概述
1.1　软件工程
1.1.1　软件工程的定义
1.1.2　软件工程的目标
1.1.3　软件工程过程
1.1.4　软件工程的原则
1.2　UML简介
1.3　案例描述
总结
思考与练习
第2章　软件项目管理
2.1　项目管理概述
2.1.1　项目管理定义
2.1.2　项目管理的组成部分
2.1.3　工期的计算公式
2.1.4　WBS
2.2　Microsoft Project项目管理软件的使用
2.2.1　编制项目计划
2.2.2　编制项目的时间计划
2.2.3　编制项目的资源计划
2.2.4　编制项目的成本计划
2.2.5　项目监控管理
总结
思考与练习
第3章　软件系统开发方法
3.1　软件开发生命周期
3.2　软件开发模型
3.2.1　瀑布模型
3.2.2　演化模型
3.2.3　螺旋模型
3.2.4　增量模型
3.3　传统软件开发方法
3.4　面向对象软件开发技术
3.4.1　面向对象的基本概念
3.4.2　面向对象的开发
3.5　RUP统一软件开发过程
3.5.1　RUP的生命周期
3.5.2　RUP的核心工作流程
3.6　敏捷软件开发技术
3.6.1　敏捷开发技术基本概念
3.6.2　极限编程
总结
思考与练习
第4章　建立用例模型
4.1　需求获取
4.2　分析需求
4.3　用例在需求分析中的使用
4.4　识别参与者
4.5　确定用例
4.6　用例的粒度
4.7　用例间的关系
4.8　用例描述
4.9　用例建模
总结
思考与练习
第5章　建立分析模型
5.1　对象、类和对象、类的UML表示
5.2　确定关键抽象
5.3　类之间的关系及其UML表示
5.3.1　关联
5.3.2　依赖
5.3.3　泛化
5.3.4　聚合
5.3.5　组合
5.4　建立领域模型
5.5　分布模式的选择与应用
5.6　构建分析类
5.7　交互图
5.7.1　顺序图
5.7.2　协作图
5.8　职责分配
5.9　定义类的属性
5.10　分析模型
总结
思考与练习
第6章　数据库建模
6.1　从业务需求创建数据模型的流程
6.2　定义数据需求
6.3　定义概念模型
6.4　设计逻辑数据模型
6.5　设计物理数据模型
6.6　数据模型的优化与发布
总结
思考与练习
第7章　建立设计模型
7.1　设计模式的选择与应用
7.1.1　Facade(门面)模式
7.1.2　Adapter(适配器)模式
7.1.3　Factory(工厂)模式
7.2构建设计类
7.2.1　从分析类生成设计类
7.2.2　确定类的大小
7.3　详细设计类
7.3.1　设计公用类
7.3.2　设计类接口
7.3.3　设计属性和操作
7.4　设计类间关系
7.4.1　设计继承
7.4.2　设计聚合/组合
7.4.3　设计关联
7.5　活动图
7.6　状态图
7.7　设计模型顺序图
7.8　设计模型的分包
7.9　逻辑视图到构件视图的映射
总结
思考与练习
第8章　系统架构设计
8.1　业务架构
8.2　业务架构分析
8.2.1　客户服务系统业务架构分析
8.2.2　客户服务系统子模块划分
8.3　软件架构
8.4　软件架构设计
8.5　软件架构与框架
8.6　软件架构的“4+1”视图模型
8.7　组件图
8.8　部署图
总结
思考与练习
第9章　软件测试
9.1　基本概念
9.1.1　软件测试的必要性
9.1.2　软件测试的目的
9.1.3　软件缺陷定义
9.1.4　测试用例
9.1.5　软件测试的原则
9.2　测试方法
9.2.1　白盒测试
9.2.2　黑盒测试
9.3　测试过程
9.3.1　软件测试过程模型介绍
9.3.2　单元测试
9.3.3　集成测试
9.3.4　确认测试
9.3.5　系统测试
9.3.6　验收测试
总结
思考与练习
附录A　用户界面设计
A.1　UI设计师的工作
A.2　用户界面的设计原则
A.3　用户界面的设计流程
A.4　客户服务系统界面设计
附录B　Java语言的编码规范
B.1　导言
B.2　格式
B.3　命名规则
B.4　变量
B.5　注释
B.6　编码
附录C　软件工程文档
c.1　用户需求说明书模板
c.2　软件需求规格说明书模板
C.3　概要设计说明书模板
C.4　软件设计说明书模板
参考文献