
作者:牛丽平等编著
出版社:清华大学出版社
出版日期:2007
ISBN:9787302154297
电子书格式:pdf/epub/txt
内容简介
本书全面介绍使用UML进行软件设计、分析与开发的知识。UML适合于以体系结构为中心、用例驱动、迭代式和渐增式的软件开发过程,其应用领域非常广泛。本书内容包括面向对象的分析方法和设计方法,面向对象分析的三层设计,用例图、类图、对象图和包图、活动图、顺序图和协作图、状态图、构造组件图和部署图等,UML核心语义以及扩展机制的三个重要组成部分:构造型、标记值和约束,使用与UML紧密结合的RUP进行软件开发,对象约束语言,UML在Web应用程序中的应用,使用C++语言实现UML模型(重点介绍类图模型的实现)的基本原理和方法。
本书适合作为普通高校计算机专业教材,也可以作为软件设计人员和开发人员的参考资料。
本书特色
| 本书全面介绍使用UML进行软件设计、分析与开发的知识。UML适合于以体系结构为中心、用例驱动、迭代式和渐增式的软件开发过程,其应用领域非常广泛。本书内容包括面向对象的分析方法和设计方法,面向对象分析的三层设计,用例图、类图、对象图和包图、活动图、顺序图和协作图、状态图、构造组件图和部署图等,UML核心语义以及扩展机制的三个重要组成部分:构造型、标记值和约束,使用与UML紧密结合的RUP进行软件开发,对象约束语言,UML在Web应用程序中的应用,使用C++语言实现UML模型(重点介绍类图模型的实现)的基本原理和方法。. |
| 本书适合作为普通高校计算机专业教材,也可以作为软件设计人员和开发人员的参考资料。… |
目录
| 第1章UML与面向对象1. |
| 1.1面向对象开发2 |
| 1.1.1理解面向对象开发2 |
| 1.1.2面向对象的主要概念5 |
| 1.1.3OO开发的优点8 |
| 1.2OO开发中的三层设计8 |
| 1.3UML简介9 |
| 1.3.1为什么对系统建模9 |
| 1.3.2UML的发展10 |
| 1.3.3UML的构成10 |
| 1.3.4“统一”的意义11 |
| 1.4UML视图11 |
| 1.5UML图13 |
| 1.6模型元素15 |
| 1.6.1事物15 |
| 1.6.2关系17 |
| 1.7通用机制18 |
| 1.8使用UML建模19 |
| 1.9思考与练习20 |
| 第2章用例图21 |
| 2.1用例图的构成21 |
| 2.1.1系统22 |
| 2.1.2参与者22 |
| 2.1.3用例24 |
| 2.1.4关系26 |
| 2.2泛化27 |
| 2.2.1泛化用例27 |
| 2.2.2泛化参与者29 |
| 2.3描述用例30 |
| 2.4用例之间的关系33 |
| 2.4.1包含关系33 |
| 2.4.2扩展关系34 |
| 2.5用例建模36 |
| 2.5.1确定系统涉及的总体信息36 |
| 2.5.2确定系统的参与者36 |
| 2.5.3确定用例与构造用例模型37 |
| 2.6思考与练习40 |
| 第3章类图.对象图和包图41 |
| 3.1类图41 |
| 3.1.1概述41 |
| 3.1.2类及类的表示42 |
| 3.1.3定义类47 |
| 3.2关联关系47 |
| 3.2.1二元关联48 |
| 3.2.2关联类53 |
| 3.2.3或关联与反身关联54 |
| 3.2.4聚合55 |
| 3.2.5组成55 |
| 3.3泛化关系56 |
| 3.3.1泛化的含义和用途56 |
| 3.3.2泛化的层次与多重继承57 |
| 3.3.3泛化约束58 |
| 3.4依赖关系和实现关系59 |
| 3.5构造类图模型61 |
| 3.6抽象类63 |
| 3.7接口64 |
| 3.8对象图65 |
| 3.8.1对象和链65 |
| 3.8.2使用对象图建模66 |
| 3.9包图67 |
| 3.9.1理解包图67 |
| 3.9.2导入包68 |
| 3.9.3使用包图建模70 |
| 3.10思考与练习70 |
| 第4章活动图72 |
| 4.1定义活动图72 |
| 4.2认识活动图标记符73 |
| 4.2.1活动74 |
| 4.2.2状态75 |
| 4.2.3转移75 |
| 4.2.4控制点76 |
| 4.2.5判断节点与合并节点77 |
| 4.2.6综合应用79 |
| 4.3其他标记符79 |
| 4.3.1事件和触发器79 |
| 4.3.2分叉和汇合80 |
| 4.3.3泳道81 |
| 4.3.4对象流82 |
| 4.4建造活动图模型83 |
| 4.4.1建模活动图步骤83 |
| 4.4.2标识用例84 |
| 4.4.3建模主路径84 |
| 4.4.4建模从路径85 |
| 4.4.5添加泳道86 |
| 4.4.6改进高层活动87 |
| 4.5思考与练习87 |
| 第5章顺序图89 |
| 5.1定义顺序图89 |
| 5.2顺序图的组成90 |
| 5.2.1对象与生命线90 |
| 5.2.2消息91 |
| 5.2.3激活94 |
| 5.3创建对象和分支.从属流95 |
| 5.3.1创建对象95 |
| 5.3.2分支和从属流96 |
| 5.4建模时间97 |
| 5.5建模迭代98 |
| 5.6消息中的参数和序号99 |
| 5.7管理复杂交互的顺序图片段100 |
| 5.8创建顺序图模型101 |
| 5.8.1确定用例与工作流101 |
| 5.8.2布置对象与添加消息101 |
| 5.9思考与练习104 |
| 第6章通信图105 |
| 6.1通信图的构成105 |
| 6.1.1对象和类角色105 |
| 6.1.2关联角色106 |
| 6.1.3通信链接107 |
| 6.1.4消息107 |
| 6.2对消息使用序列号和控制点108 |
| 6.3在通信图中创建对象109 |
| 6.4迭代110 |
| 6.5顺序图与通信图110 |
| 6.6思考与练习112 |
| 第7章时序图113 |
| 7.1时序图构成113 |
| 7.1.1时序图中的对象113 |
| 7.1.2状态115 |
| 7.1.3时间115 |
| 7.1.4状态线116 |
| 7.1.5事件与消息116 |
| 7.2时间约束117 |
| 7.3时序图的替代表示法118 |
| 7.4思考与练习119 |
| 第8章交互概况图和组合结构图120 |
| 8.1交互概况图的组成120 |
| 8.2为用例建模交互概况图121 |
| 8.2.1交互122 |
| 8.2.2组合交互124 |
| 8.3组合结构图125 |
| 8.3.1内部结构125.. |
| 8.3.2使用类127 |
| 8.3.3合作128 |
| 8.4思考与练习129 |
| 第9章状态机图130 |
| 9.1定义状态机图130 |
| 9.1.1状态机130 |
| 9.1.2对象.状态和事件131 |
| 9.1.3状态机图131 |
| 9.2认识状态机图中的标记符132 |
| 9.2.1状态132 |
| 9.2.2转移132 |
| 9.2.3决策点135 |
| 9.2.4同步135 |
| 9.3指定状态机图中的动作和事件136 |
| 9.3.1事件136 |
| 9.3.2动作138 |
| 9.4组成状态141 |
| 9.4.1顺序子状态141 |
| 9.4.2并发子状态142 |
| 9.4.3子状态机引用状态143 |
| 9.4.4同步状态144 |
| 9.4.5历史状态145 |
| 9.5建造状态机图模型146 |
| 9.5.1分析状态机图146 |
| 9.5.2完成状态机图146 |
| 9.6思考与练习147 |
| 第10章构造实现方式图148 |
| 10.1组件图概述148 |
| 10.2组件及其表示149 |
| 10.3接口和组件间的关系149 |
| 10.4组件图的应用150 |
| 10.5部署图151 |
| 10.5.1节点152 |
| 10.5.2关联关系153 |
| 10.5.3部署图的应用153 |
| 10.6组合组件图和部署图155 |
| 10.7建模实现方式图156 |
| 10.7.1添加节点和关联关系156 |
| 10.7.2添加组件.类和对象157 |
| 10.7.3添加依赖关系157 |
| 10.7.4图书管理系统的实现方式图158 |
| 10.8思考与练习160 |
| 第11章UML与RUP162 |
| 11.1理解软件开发过程162 |
| 11.2Rational统一过程(RUP)163 |
| 11.2.1理解RUP163 |
| 11.2.2为什么要使用RUP164 |
| 11.3RUP的二维空间165 |
| 11.3.1时间维165 |
| 11.3.2RUP的静态结构167 |
| 11.4核心工作流程169 |
| 11.4.1需求获取工作流169 |
| 11.4.2分析工作流172 |
| 11.4.3设计工作流174 |
| 11.4.4实现工作流176 |
| 11.4.5测试工作流179 |
| 11.5思考与练习182 |
| 第12章UML与数据库设计183 |
| 12.1数据库结构183 |
| 12.2数据库接口183 |
| 12.3数据库结构转换184 |
| 12.3.1类到表的转换184 |
| 12.3.2关联关系的转换186 |
| 12.4完整性与约束验证188 |
| 12.4.1父表的约束188 |
| 12.4.2子表的约束191 |
| 12.5关于存储过程和触发器191 |
| 12.6铁路系统UML模型到数据库的转换192 |
| 12.7用SQL语句实现数据库功能194 |
| 12.8思考与练习195 |
| 第13章对象约束语言197 |
| 13.1OCL概述197 |
| 13.2OCL结构198 |
| 13.2.1抽象语法198 |
| 13.2.2具体语法198 |
| 13.3OCL表达式199 |
| 13.4OCL语法200 |
| 13.4.1固化类型200 |
| 13.4.2数据类型.运算符和操作201 |
| 13.5深入固化类型202 |
| 13.5.1属性约束建模202 |
| 13.5.2对操作约束建模203 |
| 13.6使用集合204 |
| 13.6.1创建集合204 |
| 13.6.2操作集合205 |
| 13.7使用消息206 |
| 13.8元组208 |
| 13.9OCL标准库209 |
| 13.9.1OclVoid和OclAny类型209 |
| 13.9.2OclMessage类型210 |
| 13.9.3集合类型210 |
| 13.9.4模型元素类型215 |
| 13.9.5基本类型216 |
| 13.10思考与练习218 |
| 第14章UML扩展机制220 |
| 14.1UML的体系结构220 |
| 14.1.1四层体系结构220 |
| 14.1.2元元模型层222 |
| 14.1.3元模型层223 |
| 14.2UML核心语义224 |
| 14.3构造型226 |
| 14.3.1表示构造型226 |
| 14.3.2UML标准构造型226 |
| 14.3.3数据建模229 |
| 14.3.4Web建模和业务建模扩展230 |
| 14.4标记值231 |
| 14.4.1表示标记值231 |
| 14.4.2标记值应用元素231 |
| 14.4.3自定义标记值232 |
| 14.4.4UML标准标记值233 |
| 14.5约束233 |
| 14.5.1表示约束233 |
| 14.5.2UML标准约束234 |
| 14.5.3自定义约束236 |
| 14.6思考与练习236 |
| 第15章UML模型的实现237 |
| 15.1类的实现237 |
| 15.2关联关系的实现239 |
| 15.2.1一般关联的实现240 |
| 15.2.2有序关联的实现244 |
| 15.2.3关联类的实现244 |
| 15.2.4受限关联的实现246 |
| 15.3聚合与组合关系的实现249 |
| 15.4泛化关系的实现250 |
| 15.5接口类和包的实现251 |
| 15.6思考与练习252 |
| 第16章图书管理系统的分析与设计256 |
| 16.1系统需求256 |
| 16.2需求分析257 |
| 16.2.1识别参与者和用例257 |
| 16.2.2用例描述259 |
| 16.3静态结构模型262 |
| 16.3.1定义系统中的对象和类262 |
| 16.3.2定义用户界面类266 |
| 16.3.3类之间的关系269 |
| 16.4动态行为模型271 |
| 16.4.1建立顺序图271 |
| 16.4.2建立状态图280 |
| 16.5物理模型281 |
| 第17章嵌入式系统设计283 |
| 17.1嵌入式系统的技术特点283 |
| 17.2嵌入式系统的开发技术285 |
| 17.2.1嵌入式系统开发过程285 |
| 17.2.2软件移植286 |
| 17.3嵌入式系统的需求分析286 |
| 17.3.1MP3播放器的工作原理287 |
| 17.3.2外部事件287 |
| 17.3.3识别用例289 |
| 17.3.4使用顺序图描述用例290 |
| 17.4系统的静态模型293 |
| 17.4.1识别系统中的对象或类293 |
| 17.4.2绘制类图294 |
| 17.5系统的动态模型298 |
| 17.5.1状态图298 |
| 17.5.2协作图300 |
| 17.6体系结构302 |
| 第18章Web应用程序设计303 |
| 18.1Web应用程序的结构303 |
| 18.1.1瘦客户模式304 |
| 18.1.2胖客户模式306 |
| 18.1.3Web传输模式307 |
| 18.1.4程序结构模式对程序的影响307 |
| 18.2Web应用系统的UML建模方法308 |
| 18.3UML在学生成绩管理系统建模中的运用311 |
| 18.3.1系统需求分析311 |
| 18.3.2系统设计311 |
| 18.4系统详细设计318 |
| 18.5系统部署320… |















