UML基础学习知识,案例解析与应用-第3版.doc
《UML基础学习知识,案例解析与应用-第3版.doc》由会员分享,可在线阅读,更多相关《UML基础学习知识,案例解析与应用-第3版.doc(309页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-第一部分基础知识第1章UML简介1.1在纷繁复杂中寻求解决问题的办法1.2UML的诞生1.3UML的组成1.3.1类图1.3.2对象图1.3.3用例图1.3.4状态图1.3.5顺序图1.3.6活动图1.3.7协作图1.3.8构件图1.3.9部署图1.4其他特征1.4.1注释1.4.2关键字和构造型1.5UML 2.0中的新图1.5.1组成结构图1.5.2交互纵览图1.5.3计时图1.5.4有创新也有保留的包图1.6为什么需要这么多种图1.7这不仅仅是一系列图1.8小结1.9常见问题解答1.10小测验和习题1.10.1小测验1.10.2习题第2章理解面向对象2.1无处不在的对象2.2一些面向对
2、象的概念2.2.1抽象2.2.2继承2.2.3多态性2.2.4封装2.2.5消息传递2.2.6关联2.2.7聚集2.3意义2.4小结2.5常见问题解答2.6小测验和习题第3章运用面向对象3.1类的可视化表示3.2属性3.3操作3.4属性、操作和可视化表达3.5职责和约束3.6附加注释3.7类应该做什么和如何识别它们3.8小结3.9常见问题解答3.10小测验和习题3.10.1小测验3.10.2习题第4章关系4.1关联4.1.1关联上的约束4.1.2关联类4.1.3链4.2多重性4.3限定关联4.4自身关联4.5继承和泛化4.5.1找出继承关系4.5.2抽象类4.6依赖4.7类图和对象图4.8小结
3、4.9常见问题解答4.10小测验和习题4.10.1小测验4.10.2习题第5章聚集、组成、接口和实现5.1聚集5.2组成5.3组成结构图5.4接口和实现5.5接口和端口5.5.1可见性5.5.2作用域5.6小结5.7常见问题解答5.8小测验和习题5.8.1小测验5.8.2习题第6章介绍用例6.1什么是用例6.2用例的重要性6.3举例:饮料销售机6.3.1用例“买饮料”6.3.2其他用例6.4包含用例6.5扩展用例6.6开始用例分析6.7小结6.8常见问题解答6.9小测验和习题6.9.1小测验6.9.2习题第7章用例图7.1用例模型的表示法7.1.1回顾饮料销售机7.1.2跟踪场景中的步骤7.2
4、用例之间关系的可视化表示7.2.1包含7.2.2扩展7.2.3泛化7.2.4分组7.3用例图在分析过程中的作用7.4运用用例模型:举例7.4.1理解领域7.4.2理解用户7.4.3理解用例7.4.4进一步深入7.5“清查存货”7.5.1结构元素7.5.2关系7.5.3分组7.5.4注释7.5.5扩展7.5.6其他7.6UML“大图”7.7小结7.8常见问题解答7.9小测验和习题7.9.1小测验7.9.2习题第8章状态图8.1什么是状态图8.1.1基本符号集8.1.2在状态图标中增加细节8.1.3增加转移的细节:事件和动作8.1.4增加转移的细节:保护条件8.2子状态8.2.1顺序子状态8.2.
5、2并发子状态8.3历史状态8.4UML2.0中的新变化8.5为什么状态图很重要8.6UML“大图”8.7小结8.8常见问题解答8.9小测验和习题8.9.1小测验8.9.2习题第9章顺序图9.1什么是顺序图9.1.1对象9.1.2消息9.1.3时间9.2汽车和车钥匙9.2.1类图9.2.2顺序图9.3饮料销售机9.4顺序图:一般顺序图9.5在消息序列中创建对象实例9.6帧化顺序图:UML2.0中的顺序图9.6.1交互事件9.6.2交互片段的组合9.7UML“大图”9.8小结9.9常见问题解答9.10小测验和习题9.10.1小测验9.10.2习题第10章协作图10.1什么是协作图10.2汽车和车钥
6、匙10.3饮料销售机10.4创建对象10.5编号的一点注意事项10.6其他概念10.6.1发送给多对象的消息10.6.2返回结果10.6.3主动对象10.6.4同步10.7UML“大图”10.8小结10.9常见问题解答10.10小测验和习题10.10.1小测验10.10.2习题第11章活动图11.1基础:什么是活动图11.1.1判定11.1.2并发路径11.1.3信号11.2活动图的应用11.3泳道11.4混合图11.5UML2.0中的新概念11.5.1一个活动的对象11.5.2处理异常11.5.3活动的析构11.5.4标记时间并结束流程11.5.5特殊影响11.6对一个交互的纵览11.7UM
7、L“大图”11.8小结11.9常见问题解答11.10小测验和习题11.10.1小测验11.10.2习题第12章构件图12.1什么是构件12.2构件和接口12.2.1回顾接口12.2.2替换和复用12.3什么是构件图12.3.1在UML1.x和UML2.0中表示一个构件12.3.2接口表示法12.3.3黑盒和白盒12.4应用构件图12.5UML“大图”中的构件图12.6小结12.7常见问题解答12.8小测验和习题12.8.1小测验12.8.2习题第13章部署图13.1什么是部署图13.2应用部署图13.2.1家用计算机系统13.2.2令牌环网13.2.3ARCnet13.2.4细缆以太网13.2
8、.5Ricochet无线网13.3UML“大图”中的部署图13.4小结13.5常见问题解答13.6小测验和习题13.6.1小测验13.6.2习题第14章理解包和UML语言基础14.1包图14.1.1包的作用14.1.2包之间的关系14.1.3合并包14.2层级14.2.1一个类比14.2.2继续14.3大胆深入14.4用包表示UML的底层结构14.4.1Core包14.4.2Profiles包14.5回到UML14.5.1又见4层结构14.5.2用包表示UML的上层结构14.6UML的扩展14.6.1构造型14.6.2图形构造型14.6.3约束14.6.4标记值14.7小结14.8常见问题解答
9、14.9小测验和习题14.9.1小测验14.9.2练习第15章在开发过程中运用UML15.1开发过程方法学:传统的和现代的15.1.1传统的开发过程方法学15.1.2新的开发过程方法学15.2开发过程中必须做什么15.3GRAPPLE15.4RAD3:GRAPPLE的结构15.4.1需求收集15.4.2分析15.4.3设计15.4.4开发15.4.5部署15.5GRAPPLE总结15.6小结15.7常见问题解答15.8小测验和习题第二部分学习案例第16章学习案例介绍16.1从业务入手16.2用GRAPPLE开发过程解决问题16.3发现业务过程16.3.1招待一位顾客16.3.2准备饭菜16.3
10、.3清理餐桌16.4吸取的经验教训16.5小结16.6常见问题解答16.7小测验和习题16.7.1小测验16.7.2习题第17章领域分析17.1分析业务过程会谈17.2开发初步类图17.3对类分组17.4形成关联17.4.1Customer参与的关联17.4.2Server参与的关联17.4.3Chef参与的关联17.4.4Busser参与的关联17.4.5Manager参与的关联17.4.6其他问题17.5形成聚集和组成17.6填充类的信息17.6.1Customer类17.6.2Employee类17.6.3Check类17.7有关模型的一些问题17.7.1模型词典17.7.2模型图的组织
11、17.8吸取的经验教训17.9小结17.10常见问题解答17.11小测验和习题17.11.1小测验17.11.2习题第18章收集系统需求18.1开发系统的映像18.2收集系统需求18.3需求联合应用开发会议18.4结果18.5下一步该做什么18.6小结18.7常见问题解答18.8小测验和习题18.8.1小测验18.8.2习题第19章开发用例19.1分析和描述用例19.2用例分析19.3Server包19.3.1用例“Take an Order”19.3.2用例“Transmit the Order to the Kitchen”19.3.3用例“Change an Order”19.3.4用例
12、“Track Order Status”19.3.5用例“Notify Chef about Party Status”19.3.6用例“Total Up a Check”19.3.7用例“Print a Check”19.3.8用例“Summon an Assistant”19.3.9其余的用例19.4系统中的构件19.5小结19.6常见问题解答19.7小测验和习题19.7.1小测验19.7.2习题第20章交互20.1系统中的工作部件20.1.1Server包20.1.2Chef包20.1.3Busser包20.1.4Assistant Server包20.1.5Assistant Chef
13、包20.1.6Bartender Chef包20.1.7Coat-Check Clerk包20.2系统中的交互20.2.1用例“Take an Order”20.2.2用例“Change an Order”20.2.3用例“Track Order Status”20.3结论20.4小结20.5常见问题解答20.6小测验和习题20.6.1小测验20.6.2习题第21章设计外观、感觉和部署21.1GUI设计的一般原则21.2用于GUI设计的JAD Session21.3从用例到用户界面21.4用于GUI设计的UML图21.5描绘出系统的部署21.5.1网络21.5.2节点和系统部署图21.6下一步
14、21.7听听项目的发起人怎么说21.7.1扩展销售区的地理范围21.7.2扩展餐馆的地理范围21.8小结21.9常见问题解答21.10小测验和习题21.10.1小测验21.10.2习题第22章理解设计模式22.1参数化22.2设计模式22.3职责链模式22.3.1职责链模式:餐馆领域22.3.2职责链模式:Web浏览器事件模型22.4我们自己的设计模式22.5使用设计模式的好处22.6小结22.7常见问题解答22.8小测验和习题22.8.1小测验22.8.2习题第三部分高级应用第23章嵌入式系统建模23.1回到餐馆23.2发明之母23.3研制GetAGrip23.4什么是嵌入式系统23.5嵌入
15、式系统中的基本概念23.5.1时间23.5.2线程23.5.3中断23.5.4操作系统23.6对GetAGrip系统建模23.6.1类23.6.2用例23.6.3交互23.6.4整体状态变化23.6.5整体部署23.7锻炼肌肉23.8小结23.9常见问题解答23.10小测验和习题23.10.1小测验23.10.2习题第24章描绘UML的未来24.1在业务领域的扩展24.2从业务领域的扩展得到的经验24.3图形用户界面24.3.1连接到用例24.3.2GUI建模24.4专家系统24.4.1专家系统的构件24.4.2举例24.4.3知识库建模24.5Web应用24.6就写到这里吧24.7小结24.
16、8常见问题解答24.9小测验和习题24.9.1小测验24.9.2习题第四部分附录附录A小测验答案附录BUML建模工具附录CUML图总结前言当我们能够想象出如何运用技术来把事情做得更好时,一个复杂的系统就随之诞生了。开发人员所开发的系统正是要将构想变为现实,因此他们必须要能够充分地理解这种想象力并将其牢记在心中.一个成功的系统开发项目的成功之处在于它能够在想象者和实现这些想象的系统开发人员之间建立起沟通的桥梁。统一建模语言(UnifiedcModelingcLanguage,UML)就是一种建立桥梁的工具。它能帮你捕捉住对系统所发挥的想象力,并使你能够用这些想象出来的东西来和项目的风险承担人进行
17、交流。UML借助于一套符号和图形来帮助我们完成这些工作。每种图形在开发过程中都发挥其各自不同的作用.本书的目标是让你通过高效的学习建立起UML的牢固基础。在本书每一章的内容中都为读者提供一些实例,以强化对所学知识的理解,并且在每章后面还留了一些习题让你能够将新知识学以致用。第3版的新内容在写本书的这一版的过程中,我仔细检查了本书的前两版,对其进行了精简,并增加和修改了一些必要内容。一些新增的内容是针对UML最新修改的2.40版本的,另外一些则是为了适应时间的流逝和技术的进步.在前两个版本的第14章中都讲解了UML的一些基础的理论性概念。在第3版中,我们在很大程度上扩展了这一章,以包含UML2.
18、50中的新概念.我细化了模型和图背后的一些思想,并针对它们增加了小测验和习题。作为改写的一部分,这一版中,我在每一个交互图前面都给出一个类图,以展示该类的操作。目的就是为了澄清在交互图中出现的消息,使它们显得更加直观。如果你了解一些UML的知识,你就会明白我的良苦用心。如果你不明白,那么在读完本书的时候,你就知道了。本书的目标读者本书针对那些需要快速掌握UML基础的系统分析员、项目经理、系统设计师和开发者。如果你需要尽快地使用UML,或者需要了解足够多的UML知识以便理解其他人用UML所完成的工作,那么,这本书很适合你.本书的组织结构本书有3个部分。第一部分为“基础知识”部分,在这一部分中首先
19、是对UML进行了综述,然后转向面向对象这个主题,面向对象的概念是建立对象图和类图时要用到的最基本的概念。本部分还讨论了用例(use case)用于展示从用户的角度所观察到的系统功能的UML组件以及如何实现用例图。我还花了额外的时间来讨论和面向对象及用例有关的基本概念,因为在使用UML的大部分时间里所要用到的东西都建立在这两个基本概念之上。在第一部分剩余的内容中还将介绍其余的UML图.第二部分为“学习案例”。通过一个虚构的学习案例介绍了一种简化的系统开发方法。因此,第二部分说明了如何将UML运用到项目开发背景中去,在这部分中你将学习如何运用UML的各个组件协同工作来为系统建立模型.第三部分为“高
20、级应用”部分,介绍了UML在设计模式和嵌入式系统中的应用,还探讨了UML在其他几个领域的应用。有不少供应商都提供用于创建UML图并将这些图组织成为模型的工具软件包。在附录B中,我们使用Microsoft Visio专业版完整地绘制3个UML图,向你展示这样一个工具软件包是如何使用的。另外,我们还简单介绍了其他3种建模工具.在学习这3个部分的过程中,你只需要用铅笔和纸来画图,同时,需要对如何把模型当作系统设计的基础这个问题保持充分的好奇心.本书约定在阅读本书的过程中,你将会发现: 每章开头都有“在本章中,你将学到以下内容”的提示. 新术语用黑体字标出,例如:沿着每个对象向下延伸的虚线,叫做生命线
21、(lifeline). 特殊的提示版块贯穿全书,它们提供额外的有用信息.讨论对象概念的章节第2章“理解面向对象”。第3章“运用面向对象思想”和第4章“关系”讨论面向对象这个主题。面向对象的概念对于全书的学习起着非常重要的作用.让我们开始建模吧!第一部分基础知识第一章UML简介在本章中,你将学习如下内容u 为什么需要UML?u UML的诞生。u 如何用图表示UML模型的各个部分?u 为什么使用UML提供的不同类型的图对我们来说很重要?统一建模语言(Unified Modeling Language,UML)是当今世界上面向对象系统开发领域最激动人心的工具之一。为什么?UML是一种可视化的建模语言
22、,它能让系统构造者用标准的、易于理解的方式建立起能够表达出他们想象力的系统蓝图,并且提供一种机制,以便于不同的人之间有效地共享和交流设计结果。交流思想是极为重要的。在UML出现以前,系统开发往往是无计划的议题。系统分析员尽力去获取客户的需求,用某种他自己能够理解(但客户不一定总能理解)的表示法来产生需求分析文档,然后将这个分析文档转交给一个程序员或者一个程序员小组,并且期待着最后所开发出的系统正是客户所需要的。一些术语在本书中,系统(system)指的是硬件和软件的结合体,它能提供业务问题的解决方案。系统开发(system development)是为客户建立一个系统的过程,而客户(clien
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- uml 基础 学习 知识 案例 解析 应用 利用 运用
限制150内