UML实验六-组件图部署图和包图

2023-10-28 03:08
文章标签 部署 组件 实验 uml 包图

本文主要是介绍UML实验六-组件图部署图和包图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

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


实验目的

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


一、理解并绘制组件图

  1. 理解并绘制如下类图(类Product、Custmer和Account的访问权限设置为无修饰符Implementation,为什么?),并Forward Engineer生成Java代码(应该有7个文件,为什么?),观察类和文件的对应关系。注意:执行了Forward Engineer后会自动生成7个组件?。
    在这里插入图片描述
  2. 在以上类图基础上,绘制组件图(组件Order包含类Oeder,组件IProduct包含接口IProduct和类Product,组件ICustomer包含接口ICustomer和类Customer,组件IAccount包含接口IAccount和类Account);Forward Engineer生成Java代码(可以在类图也可以在组件图中生成,为什么?),观察类和文件的对应关系,并与上一步的比较。思考:为什么组件名称必须和类或接口名称一致?
    在这里插入图片描述

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

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

1.需求分析

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

2.动态建模

(1)系统动态建模–活动建模
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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

直接绘制某个用例背后的顺序图并不容易–用BEC模式来解决这个问题;BEC模式:将对象分为三类–边界对象-控制对象-实体对象;
●参与者只能与边界对象互动
●每个用例可以对应生成一个控制类
●实体对象一般不能发送消息给边界对象和控制对象(返回消息除外)。
在这里插入图片描述
在这里插入图片描述
(3) 系统动态建模–对象的状态图
本系统具有明显转换状态的类是订单(对象);具有:确认订单-等待到款-等待受理-已受理-已发货-交易成功-取消 7种状态。
在这里插入图片描述

这篇关于UML实验六-组件图部署图和包图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/290275

相关文章

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

OpenManus本地部署实战亲测有效完全免费(最新推荐)

《OpenManus本地部署实战亲测有效完全免费(最新推荐)》文章介绍了如何在本地部署OpenManus大语言模型,包括环境搭建、LLM编程接口配置和测试步骤,本文给大家讲解的非常详细,感兴趣的朋友一... 目录1.概况2.环境搭建2.1安装miniconda或者anaconda2.2 LLM编程接口配置2

Spring组件初始化扩展点BeanPostProcessor的作用详解

《Spring组件初始化扩展点BeanPostProcessor的作用详解》本文通过实战案例和常见应用场景详细介绍了BeanPostProcessor的使用,并强调了其在Spring扩展中的重要性,感... 目录一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessB

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (