3.10.2 包图的建立
包图(Package Diagram) 由包和包间关系构成。包图的图形节点是包, 节点之间用弧(依赖或泛化) 连接。
如果开发的是一个大型的、复杂的系统, 常需要使用包图, 把系统设计模型中的大量的模型元素组织成包和子系统(子系统是特殊的包), 给出它们之间的关系, 以方便理解和处理整个模型。
包图建立的一般步骤如下。
①分析系统模型元素。
②为包中的各个模型元素标出可见性。
③确定包间的依赖关系。
④确定包间的泛化关系。
⑤绘制包图。
⑥对包图进行优化处理。
图3-38所示是一个包图。AWT 是Java 提供的用来建立和设置Java 的图形用户界面的抽象窗口工具包。Mailing List 是邮寄列表, Order Capture 是订单采集。
图3-38 包图示例
本章小结
本章首先介绍了统一建模语言(UML) 简介、特点及组成结构(包括其元素、关系和图); 阐述了各组成部分的具体内容及在建模过程中发挥的作用; 接着详细描述了UML的用例图、静态图(类图、对象图、包图)、行为图(状态图、活动图)、交互图(顺序图、协作图) 和实现图(组件图、配置图) 的组成、建立步骤等。通过本章的学习可以明确在电子商务系统分析与设计过程中如何有效使用UML 建立系统模型。
思考与练习
一、填空题
1.在UML 的图形表示中, 类的表示法是一个矩形, 这个矩形应由3部分构成, 分别为类的名称、________和________。
2.在UML 的顺序图中的消息可以分为________、________以及简单消息和返回消息。
3.由________和________以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。
4.________是一条垂直的虚线, 用来表示顺序图中的对象在一段时间内的存在。
二、选择题
1.根据下图, 完成以下问题:
(1) 图中的参与者有( ) 人。
A. 1 B. 2
C. 3 D. 4
(2) 图中的用例有( ) 个。
A. 1 B. 2
C. 3 D. 4
(3) 2和3之间是( ) 关系; 5和6之间是( ) 关系。
A.扩展, 包含 B.包含, 扩展
(4) 5缺少了3仍然是个完整的用例吗? ( )
A.是的 B.不是
(5) 4能够参与2吗? 1能够参与5吗? ( )
A.可以, 不可以 B.不可以, 可以
2.根据下图, 完成以下问题:
(1) 指出左图中的参与者? ( )
A.① B.②
C.③ D.④
(2) 哪些是对象? ( )
A.① B.②③④
C.④ D.⑤⑥⑦⑧⑨⑩
(3) Server 类调用了CreditService 类中的什么操作? ( )
A.⑦ B.⑧
C.⑦⑧ D.⑧⑨
三、简答题
1.简述顺序图与协作图的区别。
2.简述用例图的作用。其包括哪些组成部分? 其中的关系有哪些?
3.类之间的关系有哪些?
4.简述顺序图的构成。
四、设计题
1.“远程网络教学系统” 的学生功能需求包括学生登录网站后, 可以浏览课件、查找课件、下载课件、观看教学视频。如果忘记登录密码, 则可通过“找回密码” 功能恢复密码。请画出学生参与者的用例图。
2.根据下面的叙述, 绘制一幅关于顾客从自动售货机中购买物品的顺序图。
(1) 顾客(User) 先向自动售货机的前端(Front) 投币。
(2) 售货机的识别器(Register) 识别钱币。
(3) 售货机前端(Front) 根据识别器(Register) 的识别结果产生商品列表。
(4) 顾客选择商品。
(5) 识别器控制的出货器(Dispenser) 将所选商品送至前端(Front)。