面向对象分析与设计
作者 : 麻志毅
出版日期 : 2008-04-20
ISBN : 7-111-23528-6
定价 : 28.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 227
开本 : 16开
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书特色
  面向对象技术以其显著的优势已经成为计算机软件领域的主流技术。本书是一本适合应用型人才培养的关于面向对象分析与设计的教材。
  进行面向对象分析与设计需要一套概念与表示法。本书所采用的概念和表示法与UML2.0保持一致,但并不是全盘采用。本书提倡充分运用面向对象方法的基本概念,限制扩充概念的引入,通过加强过程指导而保持建模概念的简练。在中文术语方面,本书与国家行业规范《面向对象的软件建模规范——概念与表示法》完全一致。
  进行面向对象分析与设计需要一套过程指导。本书所采用的开发过程,是在借鉴了较为流行的多种面向对象开发方法的基础上,根据青岛工程的成果和作者参与的科研及工程实践的经验总结出来的,该过程指导具有实用性和广泛的适应性。
  本书注重于理论与实践相结合,通过给出大量的例题和内容较为详尽的案例分析以及对建模概念的具体运用,讲述了如何进行面向对象的分析与设计。

图书特色

图书前言

在20世纪90年代,面向对象技术以其显著的优势成为计算机软件领域的主流技术,随后该技术在大多数发达国家的软件开发中得到了相当广泛的运用。在我国的软件产业界,面向对象技术的学习与应用热潮出现于20世纪90年代后期,现在,越来越多的软件企业已经认识到:要在激烈的市场竞争中立于不败之地,掌握面向对象技术是势在必行的选择。
  当前,产业界需要大量的掌握面向对象方法与技术的高级应用型开发人才。很多软件学院的软件工程硕士研究生教学中都开设了相应的课程,旨在使学生不仅会使用一种或者几种面向对象编程语言来编程,更重要的是能运用面向对象方法进行系统建模,即通过面向对象分析(ObjectOriented Analysis,OOA)和面向对象设计(ObjectOriented Design,OOD)建立系统的分析模型和设计模型。
  邵维忠教授和杨芙清院士合著的两本著作[17][18],在广泛借鉴国际上各种OOA与OOD方法的同时,根据作者长期的研究与实践形成了自己的方法特色。其中最主要的特点有三条:一是提倡充分运用面向对象方法的基本概念,限制扩充概念的引入,通过加强过程指导而保持建模概念的简练;二是对UML 20所采用的与面向对象有关的概念进行了深入的解析,给出了自己的见解;三是其OOD部分比以往的著作内容更为详细,并且更强调用OO概念表达各种全局性的设计决策。
  参考文献[17]和[18]是两部学术专著,作为教材比较适合于理论性强的研究生教学。本书旨在提供一本更适合针对应用型人才培养的教材。在思想体系上,本书继承了参考文献[17]和[18]所提出的理论和方法。但是作为一本适合应用型人才培养的教材,本书与它们相比有以下几点不同:
  1)减少了理论阐述和对不同学术观点的讨论,增加了对如何运用概念的讲解。
  2)着重讲述了面向对象的应用技术。
  3)在各章的正文部分增加了例题,在各章之后给出习题。
  4)通过案例讲述如何运用面向对象方法进行分析与设计。
  本书既是一本教材,也可作为从事软件开发的工程技术人员的参考书。由于以上几个特点,本书与[17]和[18]相比具有更强的普及性,适合于更广大的读者群。
  UML(Unified Modeling Language,统一建模语言)是一个由国际对象管理组织(OMG)采纳的建模语言规范,目前在软件工业界已被广泛接受。但UML的内容过于庞大和复杂(这是UML本身的复杂性造成的),多数工程技术人员和读者反映其学习难度很大。UML中的许多内容是用于构造UML元模型的,对于大多数面向应用的软件开发者来说,这些概念是用不着的。还有一些概念在软件系统的建模中很少使用,这是因为UML是各方面成果融合的产物,它要尽量适合各个领域。特别是UML不仅仅是用于面向对象软件开发的建模语言,它还可用于其他方面的建模,例如建筑业或机器制造业也可用它进行建模。基于上述因素,本书选用了UML中常用的概念来控制技术的复杂性。由于本书加强了运用基本概念解决各种复杂的分析与设计问题的过程指导,因此所选用的概念和表示法仍能保持表达能力的完整性。对本书而言,有些UML概念并非必不可少的,但为了方便读者理解这些常见概念,本书也适当进行了讲解,同时也给出了一些运用基本的OO概念代替这些概念的方法。
本书所采用的概念和表示法与UML保持一致。在中文术语方面,本书与我国的行业规范《面向对象的软件建模规范》完全一致。本书作者作为该规范主要起草者曾经与国内很多专家、学者和企业界的专业人士进行过反复研究讨论,从而对该规范达成共识。
  进行软件开发,应该使用一定的过程指导。过程指导为完成软件系统开发的每一步提供详细指导,其中包括具体的模型、工具和技术。本书所采用的过程指导,是在借鉴了较为流行的多种开发过程的基础上,根据青鸟工程的成果和我们的科研及工程实践的经验总结出来的。
  像使用其他开发方法一样,用面向对象方法进行软件系统建模的目的是要建立相应的模型。总的来讲,本书把模型分为功能需求模型、分析模型和设计模型。针对建立各种模型所使用的图以及其中的一些具体的模型元素,本书还给出了相应的规约。
  对于面向对象的软件建模,需要有建模工具的支持。本书从此类工具所应具有的功能上进行了讲述,并介绍了一种具体的面向对象的软件建模工具。
  以下简要地介绍本书的概貌,使读者对它有一个提纲挈领的了解。
  第1章集中介绍了面向对象方法的基本思想和原则,解释了它的基本概念,论述了它的主要优点,并简介了它的发展历史和现状。最后,简单介绍了与本书密切相关的UML 20。
  第2章首先概述了面向对象分析过程所面临的问题,然后对其进行了综述。在综述中阐述了面向对象分析模型和过程模型。
  第3章全面地讲解了建立功能需求模型所需要使用的概念及其表示法,并详述了如何使用它们来建立功能需求模型。
  第4章详细地讲述了类图中所使用的概念与表示法,并详述了如何使用它们来建立类图。
  第5章讲述了建立辅助模型所用到的几种图:顺序图、协作图、状态机图、活动图和包图。其中详细地讲述这些图中所用的概念与表示法以及如何对它们进行应用。
  第6章首先简述了面向对象设计的发展史,然后说明了分析与设计的关系,并阐述了面向对象设计模型和过程模型。
  第7章详述了如何针对实现条件,对分析模型进行补充与调整。
  第8章详述了进行人机交互设计所需要考虑的因素,并从分析和设计两个方面详述了如何进行人机交互设计。
  第9章详述了什么是控制流,如何识别与定义控制流,以及如何设计控制流之间的同步。
  第10章讲述了数据管理部分的设计。首先对数据库进行了简介,然后详细讲解了如何使用关系数据库系统对永久对象及它们之间的关系进行存储与检索。
  第11章针对如何描述、构造系统的构件,详细讲解了构件图及其应用。本章还对部署图进行了简介。
  第12章讲述了一些在面向对象设计中经常使用的设计模式。
  第13章从耦合、内聚和复用等方面讲述了如何评价面向对象的设计模型。
  第14章首先讲述如何把一个较为复杂的系统划分成一系列子系统,然后说明了如何对系统或子系统进行可视化建模,以及从那些方面建立系统的模型。此外还阐述了如何保证模型的一致性。
  第15章通过一个具体的案例分析,说明如何用面向对象方法进行建模。对于本章给出的综合性习题,建议学生在学完第3章后,根据所选择的习题的难易程度组成2~3人小组,随着课程的进展逐步完成。
  最后本书给出了两个附录。附录A讲述了面向对象的软件建模工具的构成,并给出了一个实例。附录B给出了对用面向对象方法进行软件系统建模所生成的文档的主要编制要求。
  本书的研究工作和写作得到了北京大学邵维忠教授的大力支持。邵维忠教授投入了大量精力对书稿进行了审阅,提出了十分难得的宝贵修改意见,本书的很多内容也来自他作为第一作者的著作[17,18]。邵维忠教授具有严谨的治学态度、深厚的学术功底以及敏锐的洞察力,他的指导使我受益良多。在此致以衷心的感谢!
本书的研究工作和写作得到了杨芙清院士所领导的学术队伍的支持,也得到了国家863高技术研究发展计划项目(2007AA01Z127)、国家科技支撑计划(2006BAH02A02)、国家自然科学基金(60773152)和国家重点基础研究发展规划(2005CB321805)的资助。在此谨向上述单位表示衷心的感谢!
  对书中存在的错误和疏漏之处,恳请各位读者给予批评指正。

  麻志毅
  2008年1月于北京大学

封底文字

本书特色 面向对象技术以其显著的优势已经成为计算机软件领域的主流技术。本书是一本适合应用型人才培养的关于面向对象分析与设计的教材。 进行面向对象分析与设计需要一套概念与表示法。本书所采用的概念和表示法与UML2.0保持一致,但并不是全盘采用。本书提倡充分运用面向对象方法的基本概念,限制扩充概念的引入,通过加强过程指导而保持建模概念的简练。在中文术语方面,本书与国家行业规范《面向对象的软件建模规范——概念与表示法》完全一致。 进行面向对象分析与设计需要一套过程指导。本书所采用的开发过程,是在借鉴了较为流行的多种面向对象开发方法的基础上,根据青岛工程的成果和作者参与的科研及工程实践的经验总结出来的,该过程指导具有实用性和广泛的适应性。 本书注重于理论与实践相结合,通过给出大量的例题和内容较为详尽的案例分析以及对建模概念的具体运用,讲述了如何进行面向对象的分析与设计。

图书序言

近20年里,计算机学科有了很大的发展,人们普遍认为,“计算机科学”这个名字已经难以涵盖该学科的内容,因此,改称其为计算学科(Computing Discipline)。在我国本科教育中,1996年以前曾经有计算机软件专业和计算机及应用专业,之后被合并为计算机科学与技术专业。2004年以来,教育部计算机科学与技术教学指导委员会根据我国计算机专业教育和计算学科的现状,为更好地满足社会对计算机专业人才需求,发布了《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》(以下简称《规范》),提出在计算机科学与技术专业名称之下,构建计算机科学、计算机工程、软件工程和信息技术四大专业方向。《规范》中四大专业方向的分类,在于鼓励办学单位根据自己的情况设定不同的培养方案,以培养更具针对性和特色的计算机专业人才。
  为配合《规范》的实施,落实中央“提高高等教育质量”的精神,我们规划了“面向计算机科学与技术专业规范系列教材”。本系列教材面向全新的计算学科,针对我国高等院校逐步向新的计算机科学与技术专业课程体系过渡的趋势编写,在知识选择、内容组织和教学方法等方面满足《规范》的要求,并与国际接轨。本套教材具有以下几个特点:
  (1) 体现《规范》的基本思想,满足其课程要求。为使教材符合我国高等院校的教学实际,编委会根据《规范》的要求规划本套教材,广泛征集在国内知名高校中从事一线教学和科研工作、经验丰富的优秀教师承担编写任务。
  (2) 围绕“提高教育质量”的宗旨开发教材。为了确保“精品”,本系列教材的出版不走盲目扩大的路子,每本教材的选题都将由编委会集体论证,并由一名编委担任责任编委,最大程度地保证这套教材的编写水准和出版质量。
  (3) 教材内容的组织科学、合理,体系得当。本套教材的编写注重研究学科的新发展和新成果,能够根据不同类型人才培养需求,合理地进行内容取舍、组织和叙述,还精心设计了配套的实验体系和练习体系。
  (4) 教材风格鲜明。本套教材按4个专业方向统一规划,分批组织,陆续出版。教材的编写体现了现代教育理念,探讨先进的教学方法。
  (5) 开展教材立体化建设。根据需要配合主教材的建设适时开发实验教材、教师参考书、学生参考书、电子参考资料等教辅资源,为教学实现多方位服务。
我们衷心希望本系列教材能够为我国高等院校计算机科学与技术等专业的教学作出贡献,欢迎广大读者广为选用。

  编委会

作者简介

麻志毅:暂无

图书目录

序言
前言

第一部分概述

第1章面向对象方法概论2
11传统开发方法中存在的问题2
12面向对象的基本思想4
13面向对象的主要概念及基本
原则6
131面向对象的主要概念6
132面向对象的基本原则8
14面向对象方法的主要优点10
15面向对象方法的发展史及
现状简介13
16关于统一建模语言UML14
习题16

第二部分面向对象分析

第2章什么是面向对象分析18
21分析面临的主要问题18
22面向对象分析综述20
习题23第3章建立需求模型——用况图24
31系统边界24
32参与者25
321概念与表示法25
322识别参与者26
33用况27
331概念与表示法27
332用况与参与者之间的
关系28
333用况之间的关系29
334捕获用况31
335用况模板33
34用况图33
35检查与调整35
36用况模型和面向对象
分析模型36
37例题36
习题38第4章建立基本模型——类图40
41对象与类40
411概念与表示法40
412识别对象与类41
413审查与筛选42
414抽象出类并进行调整44
415认识对象的主动行为
并识别主动对象45
416类的命名46
417建立类图的对象层46
42属性与操作46
421属性46
422操作49
43关系52
431继承52
432关联60
433聚合69
434依赖73
44接口73
习题75第5章建立辅助模型77
51顺序图77
511概念与表示法77
512顺序图中的结构化
控制82
513建立顺序图84
52通信图85
521概念与表示法85
522建立通信图86
53活动图86
531概念与表示法87
532建立活动图90
54状态机图90
541概念与表示法91
542建立状态机图98
55包图99
551概念与表示法99
552如何划分与组织包101
习题102

第三部分面向对象设计

第6章什么是面向对象设计104
61面向对象设计的发展104
62OOA与OOD的关系105
63面向对象设计模型和过程107
习题108第7章问题域部分的设计109
71为复用类而增加结构109
72提高性能110
73增加一般类以建立共同协议112
74按编程语言调整继承112
75转化复杂关联并决定关联的
实现方式116
76调整与完善属性117
77构造及优化算法118
78决定对象间的可访问性119
79定义对象实例120
710其他120
习题120第8章人机交互部分的设计121
81什么是人机交互部分121
82如何分析人机交互部分122
83如何设计人机交互部分123
831设计输入与输出124
832命令的组织125
833用OO概念表达所有的
界面成分127
84人机交互部分的设计准则130
习题131第9章控制驱动部分的设计132
91什么是控制驱动部分132
92控制流132
93如何设计控制驱动部分133
931识别控制流133
932审查135
933定义控制流135
934进程间和线程间的
通信135
935控制流间的同步137
习题139第10章数据管理部分的设计140
101什么是数据管理部分140
102数据库和数据库管理系统140
1021关系数据库141
1022面向对象数据库141
103如何设计数据管理部分142
1031针对关系数据库的
数据存取设计142
1032针对面向对象数据库的
数据存取设计148
1033针对文件的数据
存取设计148
习题149第11章构件及部署部分的设计150
111构件设计150
1111概念与表示法150
1112构件的内部结构154
1113对构件的行为建模156
1114对构件的实现建模157
112部署设计158
1121概念与表示法159
1122对系统的部署建模160
习题161第12章若干典型的设计模式162
121概述162
122Facade模式163
123Adapter模式165
124Strategy模式167
125Observer模式168
126Abstract Factory模式170
127Factory Method模式172
习题174第13章OOD的评价准则175
131耦合175
132内聚175
133复用176
134其他评判准则176
习题178

第四部分系统与模型

第14章系统与模型180
141系统与子系统180
1411概念与表示法180
1412划分子系统180
142模型182
1421模型的含义182
1422模型和视图183
1423模型的抽象层次184
1424模型间的一致性检查…184
习题185

第五部分建模实例

第15章案例:教学管理系统188151系统的功能需求188
152建立需求模型191
1521划分子系统191
1522识别参与者192
1523识别用况192
1524对需求进行捕获与
描述193
153系统分析196
1531寻找类196
1532建立状态机图196
1533建立类图197
1534建立顺序图200
154系统设计201
1541问题域部分设计202
1542界面部分设计202
1543数据管理部分设计206
习题208附录A面向对象的软件建模工具209附录B文档编制指南221
参考文献227

教学资源推荐
作者: (美)Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, Svante Lidman 著
作者: (爱尔兰)Stephen Brown;(爱尔兰)Joe Timoney;(爱尔兰) Tom Lysaght;(中国)Deshi Ye 著
作者: 李龙澍 郑诚 主编 杨为民 李学俊 程凡 姚晟 编著
参考读物推荐
作者: (美)Elisabeth Hendrickson 著
作者: 荣国平 张贺 邵栋 等编著内封 荣国平 张贺 邵栋 陈连平 何勉 宋骏 腾灵灵 王天青 吴昊 编著
作者: Grady Booch; James Rumbaugh; Ivar Jacobson