面向对象技术与UML
作者 : 刘振安 董兰芳 刘燕君
出版日期 : 2007-04-01
ISBN : 7-111-20912-6
定价 : 22.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 206
开本 : 16开
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书介绍了基于UML建模语言描述的面向对象的分析与设计过程,详细地介绍了软件开发过程、面向对象的基本概念、基于UML语言进行分析和设计的流程,并结合实际的工程要求,介绍了软件体系结构的模式以及持久对象的概念。


  本书主要特点
  ● 重点介绍面向对象最常用的基本概念和方法。
  ● 用案例涵盖UML语言的基本特征及其分析和设计的流程。
  ● 突出课程特点,介绍目前最新的研究成果。
  ● 结合设计实例介绍使用Rose实现设计的全过程。

图书特色

图书前言

20世纪70年代中后期,由于软件开发失败的几率很高,人们开始了软件工程的研究,将工程上的管理思想应用于软件开发,以应对软件危机。人们希望建立成套的管理方法,强调软件的模块性、抽象性、易维护性、可修改性、可移植性,将软件“做什么”和“怎么做”分开。在很长的一段时间里,尽管各种程序设计方法学应运而生,但是仍然不能从根本上解决或根除软件危机。
  通过对已有的软件开发方法进行分析和总结,人们发现以往的分析、设计或实现方法存在着以下的问题:
  1)要求开发人员按计算机的结构去思考,而不是按要解决的问题的结构去思考。
  2)开发员必须在机器模型(解空间)和实际问题模型(问题空间)之间进行对应。
  这种基于过程开发的最终程序,不仅接口和功能容易变,过程执行顺序也容易变,而且数据也极容易变。总之,这种方法充满着变数。
  人们经过进一步的研究,发现相对于过程而言,对象是稳定的。我们把问题空间中的事物和它们在解空间中的表示称为“对象”。
  基于过程的方法按计算机的结构建模,而基于对象的方法是对问题本身建模。当阅读用基于对象的方法来描述解决方案的代码时,也就相当于阅读表达该问题的文字。面向对象的方法允许开发人员用问题本身的术语来描述问题,而不是用要运行解决方案的计算机的术语来描述问题。
  模型是专业人员用来与项目风险承担者和其他开发人员进行工作交流的,是对分析与设计结果的描述。采用统一的语言对分析与设计产生的软件模型进行描述具有重要的意义。面向对象的建模语言UML产生于20世纪90年代,并获得了工业界、科技界和应用界的广泛支持,成为面向对象和可视化建模语言事实上的工业标准。它代表了面向对象方法的软件开发技术的发展方向,具有巨大的应用前景。当前,有软件工程相关专业的高等院校已纷纷开设了基于UML的面向对象的分析与设计课程。
  本书在中国科学技术大学软件工程硕士和高年级本科生的教学基础上,参阅国内外多种最新教材和资料编写而成。本书结合软件开发过程中所涉及的内容逐步展开,既结合理论,又接近工程实际需要,目的是引导学生训练自己分析问题和使用UML解决问题的能力,并养成良好的分析与设计习惯。本书的主要特点如下:
  1)重点放在UML语言的基本特征上,涵盖UML语言的重要基础知识。
  2)介绍面向对象最常用的概念和方法,而不是面面俱到。
  3)结合设计实例,介绍实现设计的主要过程。
  4)注意介绍目前最新的研究成果。
  本书适合作为软件工程硕士、研究生、高年级本科生的教材,也可以作为广大工程技术人员的参考书或培训教材。参加本书编写的还有周军和徐浩等。由于作者水平所限,书中难免存在不妥之处,恳请广大读者批评指正。
  作者
  2007年于中国科技大学

封底文字

本书介绍了基于UML建模语言描述的面向对象的分析与设计过程,详细地介绍了软件开发过程、面向对象的基本概念、基于UML语言进行分析和设计的流程,并结合实际的工程要求,介绍了软件体系结构的模式以及持久对象的概念。 本书主要特点 ● 重点介绍面向对象最常用的基本概念和方法。 ● 用案例涵盖UML语言的基本特征及其分析和设计的流程。 ● 突出课程特点,介绍目前最新的研究成果。 ● 结合设计实例介绍使用Rose实现设计的全过程。

图书目录

目录
前言
第1章软件开发过程概述1
1.1软件开发基本概念1
1.1.1基本概念1
1.1.2迭代增量式的开发过程2
1.1.3其他开发模型3
1.2需求分析4
1.3设计4
1.4实现4
1.5测试4
1.5.1测试目的4
1.5.2测试集5
1.5.3设计测试集的方法5
1.6维护5
1.7风险分析6
1.8面向对象的方法8
1.8.1面向对象的软件开发方法8
1.8.2面向对象的软件工程思想9
1.8.3软件质量10
1.8.4可视化建模10
1.9CMM简介10
1.9.1初始级11
1.9.2可重复级11
1.9.3已定义级12
1.9.4已管理级12
1.9.5优化级12
1.10程序重组技术13
1.10.1程序重组13
1.10.2模式14
1.11小结14
习题115
第2章UML概述16
2.1软件建模和UML16
2.2UML的发展过程18
2.3UML的结构20
2.3.1基本构造块20
2.3.2规则21
2.3.3公共机制21
2.4UML的视图24
2.4.1用例视图24
2.4.2逻辑视图26
2.4.3进程视图27
2.4.4组件视图27
2.4.5配置视图28
2.4.6包的简单概念28
2.5UML的主要特点28
2.6使用UML语言的好处30
2.6.1帮助学习面向对象技术30
2.6.2帮助与领域专家进行交流31
2.6.3帮助理解全局31
2.7UML语言的应用32
2.8小结32
习题234
第3章面向对象的基本概念35
3.1面向对象基础知识35
3.2面向对象的基本原则35
3.2.1抽象36
3.2.2封装37
3.2.3继承38
3.2.4分类39
3.2.5多态40
3.2.6聚合40
3.2.7关联40
3.2.8消息通信41
3.2.9粒度控制41
3.2.10行为分析42
3.3OOA模型42
3.3.1基本模型42
3.3.2补充模型42
3.4发现对象并建立对象层43
3.4.1将问题域和系统责任作为出发点43
3.4.2正确运用抽象原则43
3.4.3寻找候选对象的基本方法44
3.4.4审查和筛选对象44
3.4.5异常情况的检查和调整45
3.5定义数据成员45
3.5.1寻找数据成员的一般方法45
3.5.2审查与筛选数据成员46
3.6定义成员函数46
3.7如何发现基类与派生类的结构47
3.7.1学习当前领域的分类学知识47
3.7.2回顾基类与派生类结构的两种
定义47
3.7.3考察类的成员48
3.8面向对象的高级课题48
3.8.1抽象类48
3.8.2多重继承49
3.8.3界面与接口51
3.8.4内部类53
3.8.5包53
3.8.6组件53
3.9小结54
习题354
第4章用例分析55
4.1需求55
4.1.1需求获取55
4.1.2需求分析55
4.1.3编写需求规格说明书56
4.1.4需求验证56
4.1.5需求管理56
4.2用例分析57
4.3用户目标和系统交互功能60
4.4用例图60
4.4.1活动者61
4.4.2用例和用例图61
4.4.3项目词汇表62
4.4.4事件流63
4.5用例图内元素的关系66
4.6用例图设计实例68
4.6.1需求68
4.6.2分析68
4.6.3事件流68
4.6.4用例图70
4.7用例规格说明70
4.8小结71
习题472
第5章活动图74
5.1活动图的概念74
5.2活动图的基本要素75
5.3泳道76
5.4用例的活动图77
5.5活动的分解78
5.6何时使用活动图79
5.7活动图的图标79
5.8小结80
习题581
第6章交互图82
6.1概述82
6.2如何创建交互图83
6.3序列图的组成84
6.4序列图的实例86
6.5协作图的组成87
6.6协作图的实例88
6.7异步消息、并行和竞争89
6.7.1对象的建立和撤销90
6.7.2异步消息和并行90
6.7.3竞争91
6.8序列图和协作图的比较92
6.9序列图和协作图中的标记93
6.10小结93
习题694
第7章类图96
7.1类和对象96
7.2寻找类97
7.3属性和操作98
7.3.1属性99
7.3.2操作99
7.3.3可视性101
7.3.4类和类的实例101
7.4CRC卡103
7.5继承与多态性104
7.5.1继承104
7.5.2多态性104
7.6关联105
7.6.1聚集108
7.6.2组合109
7.6.3关联的分析109
7.7注意事项109
7.7.1正确使用类图109
7.7.2其他注意事项110
7.8选课系统的类图111
7.8.1设计类图111
7.8.2选课系统中类、属性和操作113
7.9类图的基本UML标记117
7.10小结118
习题7119
第8章状态图121
8.1状态图的基础知识121
8.2状态图组成121
8.3状态图设计实例123
8.4并发状态图123
8.5何时使用状态图124
8.6状态图使用的基本图符125
8.7小结126
习题8126
第9章持久对象127
9.1持久对象的概念127
9.2持久对象策略128
9.2.1基于面向对象数据库的解决
方案128
9.2.2基于关系数据库的解决方案129
9.2.3两种策略的比较129
9.3实现类和对象的映射130
9.3.1类和对象的映射130
9.3.2属性映射成字段130
9.3.3属性取值映射成域131
9.4关系数据库中实现继承131
9.5关系映射133
9.5.1关联与聚集/组合之间的区别133
9.5.2关系数据库中实现关联133
9.6小结135
习题9136
第10章组件图137
10.1组件图的基础知识137
10.2组件图的基本要素137
10.3组件图实例138
10.4组件和接口139
10.5组件图标记139
10.6小结140
习题10140
第11章布局图141
11.1布局图的基础知识141
11.2布局图的基本要素141
11.3使用布局图的考虑142
11.4布局图的组成要素142
11.5小结142
习题11143
第12章软件体系结构144
12.1软件体系结构144
12.2流程处理系统146
12.3层次结构147
12.4客户机/服务器系统149
12.4.1视图控制模型MVC149
12.4.2两层的客户机/服务器结构151
12.4.3“瘦”客户机和对象标志152
12.4.4基于MVC的网上应用154
12.4.5三层客户机/服务器模型155
12.4.6多层客户机/服务器模型158
12.4.7组件对象模型和分布式组件
对象技术159
12.5集群系统162
12.6小结163
习题12166
第13章档案管理系统设计实例167
13.1用例模型167
13.2序列图167
13.3类图171
13.3.1员工工号管理类图172
13.3.2员工基本信息管理类图172
13.3.3员工家庭信息管理类图173
13.3.4员工社会关系管理类图173
13.3.5员工政治面貌管理类图173
13.3.6员工工作简历管理类图174
13.3.7员工资质信息管理类图174
13.3.8员工职务任免管理信息类图175
13.4类的属性和操作175
13.4.1边界类175
13.4.2控制类175
13.4.3实体类177
13.5小结180
第14章系统总体方案设计实例181
14.1电力电量管理软件181
14.2电力电量软件功能要求及其体系结构181
14.2.1电力电量管理软件的功能要求181
14.2.2电力电量系统的硬件结构183
14.3电力电量软件系统的总体设计184
14.3.1需求分析184
14.3.2电力电量软件高层架构方案187
14.3.3电力电量系统流程设计187

第15章UML支持环境190
15.1UML集成化支持环境190
15.1.1UML可视化建模系统191
15.1.2UML模拟系统193
15.1.3UML软件质量控制193
15.1.4UML代码生成系统194
15.1.5UML逆向工程194
15.2Rose简介194
15.2.1使用Rose2003设计软件的思路195
15.2.2使用Rose2003创建模型195
15.2.3Rose界面的组成197
15.3小结203
习题15205
参考文献206

教学资源推荐
作者: (美)Roger S. Pressman  Bruce R. Maxim 著
作者: Joseph Phillips
参考读物推荐
作者: [美]乔治·V.内维尔-尼尔(George V. Neville-Neil) 著
作者: [加] 克雷格·拉尔曼(Craig Larman)[荷]巴斯·沃代(Bas Vodde) 著
作者: (美)Martin Fowler