文章目录

  • 实验目的
  • 实验内容
    • 一、理解并绘制组件图。
    • 二、UML建模综合练习--网上书店
      • 1. 需求分析
      • 2. 动态建模

实验目的

(1) 理解组件图的基本概念;
(2) 理解部署图的基本概念;
(3) 理解包图的基本概念;
(4) 掌握在Rational Rose中绘制组件图、部署图和包图的操作方法。

实验内容

一、理解并绘制组件图。

  1. 理解并绘制如下类图(类Product、Custmer和Account的访问权限设置为无修饰符Implementation,为什么?),并Forward Engineer生成Java代码(应该有7个文件,为什么?),观察类和文件的对应关系。注意:执行了Forward Engineer后会自动生成7个组件?,删掉。

  1. 在以上类图基础上,绘制组件图(组件Order包含类Oeder,组件IProduct包含接口IProduct和类Product,组件ICustomer包含接口ICustomer和类Customer,组件IAccount包含接口IAccount和类Account);Forward Engineer生成Java代码(可以在类图也可以在组件图中生成,为什么?),观察类和文件的对应关系,并与上一步的比较。思考:为什么组件名称必须和类或接口名称一致?

二、UML建模综合练习–网上书店

1. 需求分析

访谈调研
书店经理:我们原本是一个传统的实体书店,顾客要买书都是亲自到书店来的,这样挺不方便。而且随着书店销售图书种类和数量的增加以及顾客的增长,尤其是大量顾客到书店选购图书,使得书店场地不足,工作人员也很忙碌。其实,还有一点就是,有不少人进入书店后并不买书,只是查找些资料,有的甚至会在这呆上很长的时间直到把书免费看完。这种行为,工作人员一般是不阻止的,结果最后这些被看过的书会因为有阅读过的痕迹而影响销售。而且现在电子商务已经发展起来了,所以我们想到借助网络,让顾客通过网上书店购买图书。这样我们书店可以省掉大量的场地维护和工作人员成本支出,同时计算机可以方便的检索图书信息,让顾客可以足不出户以更优惠的价格买到需要的书。
系统分析员:能谈谈您对网上书店的要求吗?
书店经理:网上书店要能实现对外和对内的功能,对外是顾客能在网上书店订购图书,能提交订单。对内,书店工作人员能够通过网上书店及时的看到这些订单,并进行处理。为了把书送到顾客手里,我们已经联系了快递公司初步达成协议,由他们往返顾客和书店之间把图书送到顾客手里。书店管理员受理订单后,就会通知快递公司送货。当然,书店的图书上架和下架也应该由网上书店完成了。
工作人员甲:实体店中,图书是按照不同种类放置的,方便顾客挑选。网上书店的图书也应该能够按照这种模式分类显示。这样,图书的信息和种类要由网上书店设置和管理。已有种类的新书或新种类的图书上架,网上书店能够保存这些信息。如果信息输入错误,能够进行修改。
工作人员乙:另外书店会搞一些促销,推出一些特价图书。以前这些特价书的信息,都是我们根据促销活动整理出来,贴在书店的醒目位置。促销活动过后,特价图书会回复原来的价格。希望网上书店也能够管理这些特价图书。
系统分析员:能谈谈平时买书的经过吗?
顾客甲:一般都是先在书店里看看图书的简要介绍,或者先找找看有没有自己需要的书,有时是没有目标的寻找,有时直奔一类图书而去。找到我想买的书或者觉得看的书不错,就会去柜台结账。
工作人员丙:不过有时在结账的时候,顾客会突然改变主意,不买一些书或者又回去挑选图书了。
顾客甲:有时好像是这样的。要是网上书店在结账前能方便管理我所选购的图书就好了,这样通过计算机直接操作,就不用跑来跑去了。
系统分析员:可以使用虚拟的购物车。
工作人员丙:对,这样在用户确认购买前可自行管理选购的图书,决定要不要购买,还有购买数量。
系统分析员:顾客先使用虚拟的购物车选购管理图书,然后提交订单给书店处理,是这样吧。
书店经理:没错,就这样办。另外最好顾客能够留下向己的信息,方便以后购买。
顾客:你们可以实行会员制啊。就像我们在网上逛论坛一样,会员才能发言普通游客只能看。这样我们平时就只在网上书店查查资料什么的,只在购买图书的时候才使用会员身份。
书店经理:恩,这样不仅可以保留你们的信息,也可以保留购买记录。
系统分析员:会员提交购买订单后,书店打算如何收取或者说用户怎么付款
书店经理:我们可以接受货到付款,顾客也可以使用网上银行、汇款等方式付款。
顾客:这样我们就方便多了。对了,那是不是付款前,我还多了一次“反悔”的机会啊。
书店经理:在我们书店没有受理订单之前,你们可以取消交易。不过受理后就不行了。
通过几次这样的访谈(限于篇幅,在此并未列出所有访谈内容),可以获得网上书店的需求信息,确定系统范围。网上书店是实现对实体书店内部图书商品和顾客购买图书的综合管理系统。
(1) 识别参与者
网上书店的主要参与者有会员,以及管理人员。此外,访客(非会员)也可是使用该系统进行一些图书资料的查询等。
另外,为了业务发展和内部管理分工明确,书店希望按照工作范围分配管理员的职责权限,管理员分为商品管理员、订单管理员和系统管理员。
(2) 识别用例并绘制用例图
在用例建模阶段,为降低用例图的复杂性,将网上书店划分为两个子系统即顾客购书子系统和书店内部管理子系统。会员和访客属于顾客购书子系统管理员则属于书店内部管理子系统。





系统静态建模–需求分析阶段类图(领域模型)

2. 动态建模

(1)系统动态建模–活动建模




(2)系统动态建模–用例的行为顺序(图)

直接绘制某个用例背后的顺序图并不容易–用BEC模式来解决这个问题;BEC模式:将对象分为三类–边界对象-控制对象-实体对象;●参与者只能与边界对象互动 ●每个用例可以对应生成一个控制类 ●实体对象一般不能发送消息给边界对象和控制对象(返回消息除外)。



(3) 系统动态建模–对象的状态图

本系统具有明显转换状态的类是订单(对象);具有:确认订单-等待到款-等待受理-已受理-已发货-交易成功-取消 7种状态

实验06 组件图部署图和包图相关推荐

  1. UML组件视图、部署图、包图简要说明

    UML组件视图.部署图.包图简要说明 组件图 组件是系统高层的可重用的组成部件. 组件图描述软件组件,以及组件之间的关系. 组件本身是代码的物理模块,组件图则显示了代码的结构. 示例:传统后端开发模式 ...

  2. 【设计模式】UML建模之包图、组件图和部署图学习笔记

    UML建模中包图.组件图和部署图学习笔记 对于较大的项目进行UML建模,由于有很多的类和用例,仅仅利用类图和用例图的话,常常会使结构变得更为复杂.此时如果可以以功能模块划将类图和用例图进行封装,可以很 ...

  3. UML 对象图、时序图、活动图 、状态图、协作图 、包图、组件图及部署图

    UML 对象图.时序图.活动图 .状态图.协作图 .包图.组件图及部署图 目录 对象图 时序图 活动图 状态图 协作图 包图 组件图 部署图 对象图 对象图是类图的一个实例,用于显示系统执行时的一个可 ...

  4. 如何用staruml画包图_StarUML的9种图

    UML的九种图:用例图,类图,对象图,状态图,活动图,序列图,协作图,构件图,部署图.外加包图. (一).用例图 1.定义:由参与者(Actor).用例(Use Case)以及它们之间的关系构成的用于 ...

  5. UML的九种图+包图

    UML的九种图:用例图,类图,对象图,状态图,活动图,序列图,协作图,构件图,部署图.外加包图. (一).用例图 1.定义:由参与者(Actor).用例(Use Case)以及它们之间的关系构成的用于 ...

  6. UML图之类图,对象图和包图

    [一]总述 用例图描述了软件要实现的功能有哪些,而类图,对象图和包图则展示了系统的静态结构.其中类图是面向对象系统的核心,在正向工程(模型转成代码)和逆向工程(代码转成模型)中起到了重要作用. [二] ...

  7. 【机房合作】UML图之包图再学习

    在合作中对包图验收没有通过,对包图的理解不深刻,整幅图中,在包与包之间,只用了两种关系:实现和import.因此需要重新修改,可是修改起来比较费劲儿,于是查资料,跟霍亚静师傅和连江伟师傅交流,对包图有 ...

  8. UML—对象图、包图

    一.对象图 1.对象图是什么 在UML中,对象图表示在某一时刻一组对象及它们之间关系的图,对象图可以被看作是类图在系统某一时刻的实例. 2.对象图长什么样子 在图形上,对象图由节点以及连接这些节点的连 ...

  9. StarUML 3 中文文档 包图

    包图 文章目录 包图 创建包图 包 模型 子系统 包含层次 创建包图 要创建包图: 首先选择一个元素,其中包含新建包图的元素作为子元素. 在菜单栏选择 Model | Add Diagram | Pa ...

最新文章

  1. windows8下安装Visual Studio2008
  2. .NET Compact Framework下SQL CE的使用
  3. 多线程:了解一下ForkJoin、FutureTask、BlockingQueue
  4. 以太坊服务器是什么_今日推荐 | 以太坊独立地址数破亿,持有ETH地址数达4000万意味着什么?...
  5. Mysql5.7使用DTS增量同步数据到MaxCompute
  6. 怎么把计算机模式重置,电脑怎么还原出厂模式
  7. git显示分支关系图
  8. MathType 7试用版写论文科研必备神器
  9. tomcat下载指定版本
  10. Kubernetes
  11. 【百练】1103Hangover宿醉(c语言)
  12. android 直播sdk 抖音,从零开始仿写一个抖音App——跨平台视频编辑SDK项目搭建
  13. 【Echarts】数值标签在柱状图上的横向纵向样式调整及数值标签超出图表范围向柱体内部调整移动
  14. 应用礼学赋能新员工职业素养提升
  15. 《算法图解》学习笔记(七):狄克斯特拉算法(附代码)
  16. SLAM代码(SVO ros )
  17. 【Typora】添加水印
  18. Boost在Windows XP运行的编译方法
  19. 浏览器打不开某些网站是什么原因导致,试试用这些方法来解决
  20. C# ASP.NET.Web大学课堂登入注册界面实验

热门文章

  1. 网络协议分析作业(江西理工大学期末复习)
  2. 什么是类,什么是对象,什么是属性,它们之间的关系(易懂)
  3. vue配合iview/element等ui实现界面效果起步
  4. C语言编程题: 编程计算1*2*3+3*4*5+...+99*100*101的值
  5. Spring中AOP的使用、切点表达式
  6. Android Studio 自带模拟器输入中文,以安装搜狗输入法为例
  7. Postgres主从数据同步
  8. MongoDB3.4 shell CRUD操作
  9. JS 数组的定义+常用方法
  10. 23.CAPWAP原理_AP技术介绍