首页 > 图书中心 >图书详情
面向对象分析与设计(UML)(第2版·题库版)
作者:侯爱民、欧阳骥、胡传福
丛书名:计算机系列教材
定价:89.90元
印次:2-4
ISBN:9787302588948
出版日期:2021.12.01
印刷日期:2024.01.22
本书在系统介绍面向对象技术的基本概念、方法和语言的基础上,全面介绍UML(统一建模语言)的发展历史、UML的构成、UML中的视图、模型元素、图以及公共机制等基本知识,并重点介绍UML的各种图模型的建模技术、方法与应用。此外,还详细介绍了软件设计模式、Rational统一过程、数据建模的相关知识与应用。本书通过大量的实例来解释或说明有关的概念、方法和技巧,以便于读者理解,帮助他们学以致用,达到立竿见影的效果。 全书共分4篇: 第1篇(第1、2章)为概述篇,概述面向对象技术和UML,包括面向对象技术的一些经典方法和UML的构成,最后以一个具体应用项目的UML建模结束第1篇的内容介绍;第2篇(第3~9章)为建模篇,重点介绍UML在软件系统分析与设计各阶段的建模和体系结构建模,并介绍从UML对象模型到关系数据库的数据模型的映射等实现细节,全篇以一个实际项目贯穿始终;第3篇(第10、11章)为架构篇,重点介绍软件设计模式和Rational统一过程的基本概念、方法和应用;第4篇(第12章)为应用篇,基于UML的软件建模实例,介绍UML在Web应用系统建模方面的应用。全书提供了大量应用实例,每章后均附有习题。 本书适合作为高等院校计算机、软件工程专业高年级本科生、研究生的教材,也可供对UML比较熟悉并且对软件建模有所了解的开发人员、广大科技工作者和研究人员参考。
more >第2版前言 本书自2015年8月出版以来,得到了国内许多高校的大力支持,并提出了许多宝贵的意见和建议。在此,作者表示衷心的感谢! 统一建模语言(Unified Modeling Language,UML)集经典的面向对象方法之大成。自1997年11月被对象管理组织(Object Management Group,OMG)正式接纳为建模语言标准以来,在各行各业用之进行建模的推动下得到了广泛的应用,成为面向对象方法的主流技术之一。 UML仅仅作为一种建模语言,它定义了一系列的图形符号来描述软件系统,提供了严谨的词汇表以及组合词汇的规则。这些图形符号及词汇有严格的语义和清晰的语法,这些语义和语法组成了一个语言标准。至于如何运用这些图形符号及词汇进行建模,是建模者创造性劳动的智慧结晶。 UML与基于UML的建模之间的辩证关系,类似于英语语法与英语写作之间的辩证关系。众所周知,正确掌握了英语语法只是能够写出规范的英文文章的前提条件,要想写出一篇有内涵、影响广泛的文章,还需要作者在文章中体现出深邃的思想体系及娴熟的写作技巧。正是从这个角度出发,本书专注于如何运用UML进行软件系统的建模过程,阐述容易被广大读者学习、掌握及运用的UML建模技巧。 与市面上所出版的UML相关书籍不同,本教材积累了丰富的UML建模过程中的宝贵经验,重点突出了实例解释概念、易犯错误之注意事项、不同方法/方案的对比分析、大量习题巩固所学的建模技巧。为了将各章节的知识有机结合起来,安排了一个统一的实际项目贯穿始终。为了体现运用UML建模技术分析与设计软件系统的工程性,分别以正向工程的方式和逆向工程的方式解剖软件系统。 以上是本教材第1版的特色与精华。 本书作者在进行高等教育教学改革的过程中,结合实际项目,带领学生完成了“在UML建模方法中运用设计模式进行优化”的课题和“基于RUP的Cycle过程的迭代开发模式”的课题。第一个课题阐述了针对一个具体的用户需求,使用UML建模技术设计类图,再综合考虑23种设计模式对类图进行优化处理。第二个课题阐述了在对软件系统进行分析、设计、实现的过程中,灵活运用RUP(Rational Unified Process,Rational统一过程)的Cycle过程思想,进行多Cycle的RUP的二维生命周期模型的运作。前者将UML和设计模式融会贯通,形成一个有机整体。后者将RUP的Cycle过程融汇到软件系统的分析、设计、实现中,再现了敏捷软件开发模式和小组软件过程开发模式的核心特点。这是完成本教材第2版的原始动力,也是第2版有别于其他同类书籍的最突出之特色所在。 具体新增内容如下。 第10章新增10.5节。以一个实际系统为例,采用正向工程方式,阐述根据用户需求,运用UML建模技术设计类图;然后,对于需求可变化的部分,出于代码复用及易更新性考虑,使用外观模式对UML建模技术获得的类图进行优化处理,最后获得了融合UML建模技术和设计模式两者优点的综合方案,完成了两种不同的建模技术的“融会贯通”。 第11章新增11.10节。以一个实际系统为例,采用正向工程方式,阐述了根据RUP的Cycle过程,将软件系统的分析、设计、实现全过程分4个Cycle进行。每个Cycle执行完整的RUP二维生命周期模型,其中横轴上的4个阶段含多次迭代操作,每个Cycle结束后获得一个独立的可运行的软件产品版本。前3个Cycle,各个小组独立完成自己负责的功能部分。第4个Cycle,所有小组的代码集成,完成软件系统的整个产品的整合。这种模式不仅实践了RUP的Cycle过程,而且再现了敏捷软件开发模式和小组软件过程开发模式的核心特点,完成了3种不同的开发模式的“殊途同归”。 自从2020年1月新冠肺炎疫情暴发以来,全国高校积极有序地开展了网络教学,在网络直播平台上讲课、练习、答疑、考试,几乎完整地将线下教学全过程、等效地搬到网络上进行。时值这个历史契机,清华大学出版社重点打造数字教学平台,鼓励并协助教材作者将习题及答案导入作业练习系统中,方便教材合法使用者在作业练习系统平台上做题和测验。为了响应清华大学出版社这个义举,也为了满足使用本教材第1版的读者希望获悉全部习题答案的心愿,本书作者在给出了原来所有习题的答案之基础上,新增了很多习题及答案,尤其是提供了各章节的判断题,设计模式优化UML建模类图的分析题,以及基于RUP的迭代开发模式的分析题。这些汇编一处的新老习题及答案,构成了第2版教材的另一大亮点。据统计,全部章节的习题类型中,填空题142题,选择题214题,判断题110题,简答题123题,简单分析题66题,合计655题。 第2版的全部更新内容,由侯爱民编写完成。在编写期间,得到了课题组的成员周鹏、胡传福、赵慧3位同志的大力支持,在此表示诚挚的谢意!课题组成员的积极参与,是本教材及配套的课程教学能够取得不断进步的原动力。同时,本次编写工作也参阅了大量的资料,尤其是参考文献列出的资料。在此对所有资料的编著者表示衷心的感谢! 由于本书内容涉及面广,加之我们的水平限制,疏漏、欠妥、谬误之处在所难免,敬请广大读者和同行批评指正! 侯爱民2021年夏于松山湖第1版前言 面向对象技术以其显著的优势成为计算机软件领域的主流技术。产业界需要大量掌握面向对象方法和技术的人才。这些人才不仅能够使用面向对象语言进行编程,更重要的是能运用面向对象方法进行系统建模。融合众家面向对象方法之长,被学术界和产业界不断完善的统一建模语言UML,是一种定义良好、易于表达、功能强大、随时代发展且适用于各种应用领域的面向对象的建模语言,已经被OMG采纳为标准。目前UML已经成为面向对象技术领域内占主导地位的标准建模语言。掌握UML语言,不仅有助于理解面向对象的分析与设计方法,也有助于对软件开发全过程的理解。 软件工程大师James Rumbaugh认为: “UML最大的贡献是在设计与建模上。有了UML这个标准,最大的好处是大家愿意在建模上发挥自己的能力,把软件开发从原来的写程序‘拉’到结构良好的建模上来,这是软件最应该发展的方向,这是UML意义最大的所在。”这位大师还对如何学习UML(统一建模语言)提出很好的想法: “UML就像一本很厚的书一样,一下子要把每个章节、每一页都看完相对来讲是不容易的,学习UML的最好方式是从最基础、最根本的方式来学习,尤其是从图像化的东西开始学起,把握一个要点,当你有这个需求要扩展更多功能的时候再从原来的基础往那个方向扩展学习的内容。不要想把所有的书一次都念完,这样会让你在学习时产生困扰。”本书试图在这个方向上努力,力求深入浅出、逐步展开,通过大量的例子或案例来解释或说明有关的概念、方法和技巧,以便于读者理解,帮助他们学以致用,达到立竿见影的效果。 本书在系统地介绍面向对象技术的基本概念和方法的基础上,重点介绍UML及其建模技术、方法与应用,以及得到业界广泛认同的软件设计模式、软件开发的过程、规程与实践。本书是作者多年来进行软件系统开发实践和教学的一次经验总结。教材中的诸多实际问题和应用案例,都取材于软件系统开发的实践,并按照教学的要求进行了模型简化与规范。显然,这些源于实践的工程问题,对提高软件系统分析与设计的教学的实践性和实用性,将具有很好的示范效应。 我们希望本书不仅可以作为高等院校计算机或软件工程专业的高年级本科生或硕士研究生的教学参考读物,而且可以作为从事软件系统的研制、开发、管理和维护的软件人员的参考书。 最新版本的统一建模语言(UML 2.0)的推出,引起了软件界的广泛关注和兴趣。为此,本书在介绍UML的图示法和概念时,也对与UML 2.0的新特征有关的部分做了必要的说明和补充,使读者在全面、系统地了解UML 1.x版本内容的同时,能及时地注意到今后可能的变动和改进之处。 本书由12章组成。 第1章为面向对象技术概述,介绍面向对象的概念和编程语言、面向对象的分析和设计、典型的面向对象开发方法。通过对Booch方法、Jacobson方法和Rumbaugh方法的介绍,有助于理解UML的思想源泉。 第2章介绍UML的发展历史、UML的构成、UML中的视图、模型元素、图以及公共机制等基本知识,还简要地介绍UML 2.0的主要特点。通过一个实际案例,将UML的各类知识有机地联系在一起。 第3章介绍需求建模的基础知识、方法和技巧。重点介绍从需求分析到用例建模,通过用例建模的步骤(绘制用例图)与实际案例应用的遥相呼应,帮助读者体会理论知识如何应用到实际问题中。此外,还较为全面详细地讨论了用例建模中常见的问题及应对策略,重点强调用例描述在需求分析中的重要作用。 第4章介绍静态建模的基础知识、方法和技巧。重点介绍从用例建模到对象结构建模,通过对象结构建模的步骤(绘制类图和对象图)与实际案例应用的遥相呼应,帮助读者体会理论知识如何应用到实际问题中。此外,还较为全面详细地讨论对象结构建模中关系的识别与区分策略,讨论类图与对象图的辩证关系,重点强调类版型在系统分析与设计中的重要作用。 第5章介绍与对象间交互相关的动态建模的基础知识、方法和技巧。重点介绍从用例建模+对象结构建模到交互建模,通过交互建模的步骤(绘制顺序图、协作图)与实际案例应用的遥相呼应,帮助读者体会理论知识如何应用到实际问题中。此外,较为全面详细地讨论交互建模中消息的识别与区分策略,特别是信号消息的识别,较为全面详细地讨论交互建模中常见的问题及应对策略,讨论顺序图与协作图的辩证关系。 第6章介绍与对象行为相关的动态建模的基础知识、方法和技巧。重点介绍从用例建模+对象结构建模到行为建模,通过行为建模的步骤(绘制状态图、活动图)与实际案例应用的遥相呼应,帮助读者体会理论知识如何应用到实际问题中。此外,较为全面详细地讨论行为建模中状态和活动的识别与区分策略,特别是状态图建模的场合,讨论状态图与活动图的辩证关系,重点强调泳道概念在用例实现的细化中的重要作用。 第7章介绍与体系结构相关的架构建模的基础知识、方法和技巧。重点介绍从用例实现到架构建模,通过架构建模的步骤(绘制组件图、部署图)与实际案例应用的遥相呼应,帮助读者体会理论知识如何应用到实际问题中。此外,较为全面详细地讨论架构建模中组件的识别与区分策略,特别是组件图在正向工程和逆向工程中的作用。 第8章介绍与分组机制相关的架构建模的基础知识、方法和技巧。重点介绍从对象结构模型到分组机制建模,通过分组机制建模的步骤(绘制包图)与实际案例应用的遥相呼应,帮助读者体会理论知识如何应用到实际问题中。此外,介绍包的设计原则,特别地重点介绍包的嵌套层次结构和包的依赖关系与程序代码存放的目录之间的映射。 第9章介绍与数据库设计相关的数据建模的基础知识、方法和技巧。重点介绍从对象结构模型到数据建模的相互转换,给出在Rational Rose 2003工具中实现对象模型与数据模型相互转换的操作细节。此外,重点介绍实体类之间的关联关系的多重性在数据模型中的映射法则。 第10章介绍得到软件工程学术界和产业界广泛关注的软件设计模式。重点介绍经典设计模式和4个具体的设计模式实例(Facade模式、Adapter模式、Abstract Factory模式和Observer模式)。这是面向对象分析技术在软件系统设计方面的又一次成功的应用。通过设计模式的UML,读者能够获取在实际项目中反复使用的一些解决方案的精髓。 第11章介绍得到软件工程学术界和产业界广泛认可的、行之有效的面向对象的软件开发过程、规程和最佳实践,即RUP(Rational统一过程)和RUP工具。重点介绍RUP的生命周期模型、核心概念、鲜明特点和6个最佳实践。 第12章为案例分析。目的是希望单独列出一章,再一次通过一个较为完整的实际案例的剖析,展示使用UML建模语言、对软件系统进行面向对象的分析与设计的具体过程,帮助读者把前面学过的一整套抽象的概念、方法和过程贯穿起来,更好地理解和掌握使用UML进行面向对象的建模。 本书的第1章由欧阳骥编写,第10章和第11章由胡传福编写,其余各章由侯爱民编写。全书由侯爱民统一筹划和统稿。 在本书的编写过程中,参阅了大量的资料,尤其是参考文献列出的资料。在此对所有资料的编著者表示衷心的感谢!另外,张宏峰、王浩彬、姚鹏、曾伟铨、杨楚豪、黄本豪、谢少蓉、刘科余为本书提供了许多习题及答案以及他们的学习体会,在此一并表示感谢!由于本书内容涉及面广,加之作者的水平限制,疏漏、欠妥、谬误之处在所难免,敬请广大读者和同行批评指正。 侯爱民乙未年春于松山湖
more >