uml图书馆 组件图和部署图
- 格式:doc
- 大小:41.50 KB
- 文档页数:4
基于UML的图书馆管理系统建模设计摘要在对U M L 及用U ML 建模的步骤作了简介之后, 介绍了在图书馆系统设计与开发中用U M L建模的过程, 其中重点描述了图书馆借阅子系统中用例图、顺序图和类图, 总结了U M L建模优势。
一、UML简介及用UML建模步骤1. 1 U M L简介统一建模语言 U ML 是一个通用的可视化建模语言, 用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。
它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。
UM L的最终目标是在尽可能简单的同时能够对实际需要建立的系统的各个方面建模。
UML需要有足够的表达能力以便可以处理现代软件系统中出现的所有概念, 例如并发和分布, 以及软件工程中使用的技巧等。
1. 2 利用U ML 建模步骤a.建立需求模型。
主要通过用例图来描述该系统完成的主要功能。
这是系统设计人员与用户进行沟通后的产物, 也是提供给系统开发人员的粗放蓝图。
b.建立系统的对象模型。
UML的主要内容归纳为静态建模机制和动态建模机制。
静态模型描述系统的对象之间的静态关系, 使用UML的包图、类图和对象图;动态模型描述对象间的交互关系、对象的生命周期及其在生命周期中各种可能的状态和状态之间转换的约束,使用UML的顺序图、活动图和协作图。
c.建立系统的体系结构模型,定义系统的软、硬件体系结构及通信机制,使用UML的组件图、配置图。
d.在组件图的基础之上生成所选开发语言的代码框架,由系统设计转入开发阶段。
二、图书馆管理系统分析系统分析的目的是捕获和描述所有的系统需求, 并且建立一个模型来定义系统中主要的域类( 系统中的关键类) , 通过系统分析达到开发者和需求者的理解和沟通。
因此, 分析一般都是分析员和用户协作的产物。
在这个阶段, 程序开发者不应该考虑代码或程序的问题, 它只是理解需求和实现系统的第一步。
2. 1 需求分析分析的第一步是确定系统能够做什么? 谁来使用这个系统? 这些分别称用例( use cases) 和角色( actors) 。
武 夷 学 院
实验报告
数学与计算机系
图书管理系统的分析与设计
1.实验目的和要求
本实验目的在于灵活运用用例图、类图、对象图、活动图、顺序图、通信图、时序图、状态图完成图书管理系统的分析与设计。
2.实验原理
在图书管理系统设计中,使用各种UML图,从各个侧面分析系统:
1)静态图:用例图、类图、对象图、组件图和部署图;
2)动态图:顺序图、协作图和活动图。
3.主要仪器设备(软件)
实验硬件:PC机。
实验软件:Windows操作系统、RationalRose2003。
4.实验内容及步骤
1)设计图书管理系统的基本功能,完成用例图;
1、图书管理员用例:
2、借阅者用例:
3、系统管理员用例:
2)构造用例对应的活动图;管理员活动图:
借阅者活动图:
3)拟定系统需要的实体类、界面类等,绘制类图、对象图;
4)设计类之间相互的调用,绘制时序图、状态图。
时序图:
状态图:
5.实验心得体会
通过本次试验,“绘制用例图、类图、对象图、活动图、顺序图、通信图、时序图、状态图完成图书管理系统的分析与设计”,使我理解了类与类之间的关系。
理解类的内部结构及类间的关系。
学会了应用rational rose绘制类图,在图中正确绘制各种图形元素,表示元素间的相互关系。
实验十、组件图和部署图、实验目的1 •理解组件图的基本概念。
2•理解组件图的应用:逻辑部署。
3•理解部署图的基本概念。
4.理解部署图的应用:物理部署。
5•掌握组件图和部署图绘制的方法。
、实验器材1. 计算机一台。
2. Rational Rose工具软件。
、实验内容某图书管理系统的分析和设计已按计划完成类图和交互图的分析与设计,下一步将完成系统的组件图和部署图,现系统分析部指派您完成如下任务:完成系统的组件图。
四、实验步骤1.绘制组件图分析:在某图书馆管理系统中,通过分析可以发现类图中的类应分为4个部分:1.用户接口模块(UI),主要负责系统和用户的交互,包括Frame类,Dialog 类等。
2.业务对象模块(BO),主要负责处理系统中的业务计算,如借书,还书等功能的具体操作。
3 •数据存储模块(DB),主要负责处理对数据的存储。
4•通用工具模块(UTIL ),包括系统中通用函数。
通过一个主程序StartClass来启动。
由于系统中的类较多,这里以业务对象模块(BO)为例来讲解如何创建组件图,BO模块中包括Item类:书目类,表示一本实际存在的书籍或杂志Loan类:借书业务类,将借阅者和图书馆关联起来,一个Loan对象表示借出的一本书Borrowerlnfomation类:借阅者信息类,表示一个借阅者。
Title类:表示一种书或一种杂志。
如《C++编程思想》就是一种书,用1个title 表示,如果有2本这样的书,则需要用2个Item表示。
Reservation类:预定信息类,表示一个预定信息。
Item类和Loan类之间互相依赖,Loan类和BorrowerI nfomation类之间互相依赖,BorrowerI nfomation 类和Reservation 类之间互相依赖,Reservation 类和Title 之间互相依赖,Title和Item类之间互相依赖。
绘图步骤:(1)在组件视图中双击Main图,出现图10.1,为编辑组件图做好准备,这时绘图工具栏中的图标如图中椭圆所示,其中具体含义可参看本节“补充图标” 一段的介绍。
UML组件图与部署图U n R e g i s t er ed为什么要建模组件图和部署图?组件图用来建模系统的各个组件,包括(1)源代码文件(如java)(2)二进制文件(如bin、dll等,系统调用的某一外部可执行文件)(3)脚本文件(如xml、txt等)(4)可执行文件(如exe)之间的关系它们是通过功能或者文件组织在一起的。
使用组件图可以帮助读者了解某个功能位于软件包的哪一位置,以及各个版本的软件各包含哪些功能。
部署图用来帮助读者了解软件中的各个组件驻留在什么硬件位置,以及这些硬件之间的交互关系。
总之,组件图和部署图可以用来帮助设计系统的物理架构。
Un Re gi st er ed1.组件在UML中,组件使用在左侧带有两个小矩形的大矩形表示,如下图所示。
Un Re gi st er ed组件的表示U n R e g i s t er ed2.依赖关系依赖关系演示两个组件之间的依赖特性。
依赖关系使用在一端带有开放箭头的短划线表示。
箭头从依赖的对象指向被依赖的对象。
例如下图所示。
deretsigeRnUderetsigeRnU3.包含组件一个组件可以包含在其他的组件中。
其标记符可在其他组件中建模组件来表示。
下例演示了Inventory组件由3个独立的组件DataAccess,Business Logic和Userinterface组成,如下图所示。
Un Re gi st er edUML部署图用来描述系统硬件节点构成,以及在这些节点上运行软件组件的分布。
1.节点节点用来表示一种硬件,它可以是打印机、计算机、扫描仪等。
节点的标记符是一个三维框,在框的左上方包含了节点的名称,如下图所示。
部署图Un Re gi st er ed2.通信关联节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。
这种关系用来表示两种硬件(节点)通过某种方式彼此通信。
其基本通信关联的版型表示,如下图所示。
Un Re gi st er ed下图演示了WebServer通过HTTP协议与Client PC通信,Client PC通过USB协议与Printer通信。
图书馆管理系统的UML建模评分:一.实验目的熟悉开发绘图工具Microsoft Visio软件的使用方法;针对指定软件系统的需求进行分析和设计;使用Microsoft Visio软件,绘制UML图。
二.实验设备计算机、Microsoft Visio软件。
三.实验内容及步骤实验内容:1、熟悉开发绘图工具Microsoft Visio软件的工作环境和基本使用方法。
2、根据课本对图书馆管理系统进行分析和设计。
3、使用Microsoft Visio软件,绘制图书馆管理系统的UML图。
实验步骤:1、在启动操作系统之后,启动Microsoft Visio软件。
2、进入Visio的UML建模绘图界面3、参考课本画出图书馆管理系统的用例图、顺序图、活动图、状态图、部件图、部署图。
四、实验结果(一) 用例图该系统中主要涉及的用户有读者、图书管理员和系统管理员。
系统管理员图 1用例图图 2读者用例图图 3 系统管理员用例图图 4 图书管理员用例图图 5 图书借阅时序图图 6 图书管理员顺序图图 7 读者活动图是否超过借阅记录图 8 图书管理员活动图图 9 系统管理员活动图图 10 图书管理员活动图(二) 状态图图 11 书籍状态图图 12 借阅者状态图(三) 构件图图 13 构件图(四) 部署图图 14 部署图五、实验小结在学习UML这门课之前,我一直心底有一个疑问,那就是我们和那些所谓的程序员速成班培训出来的程序员到底有什么差别,都是写代码,那我们在大学里学习的意义是什么呢,直到我学习了UML这门课。
我才知道写代码并没有想象中的那么简单,对于同一个功能,肯定有着多种不同的实现方法,而这些方法也肯定有优劣之分。
我们之所以不像外面那样的培训班一样速成,是因为我们需要锻炼自己去写出高质量的代码,我觉得这就是我们学习的意义。
其实在上UML课之前,我以为UML跟C++和java一样是一门编程语言,直到经过老师的介绍,我才知道UML的全称是Unified Modeling Language,他不同于C++,java这些编程语言,他是统一建模语言。
UML部署图和图九组件图前⾔UML⼤部分描写叙述了逻辑和设计⽅⾯的信息。
实现图⽤来描写叙述实现⽅⾯的信息。
实现图包含部署图和构件图。
构件图1. 概念构件图从软件架构的⾓度来描写叙述⼀个系统的主要功能。
如⼦系统、类、包、构件。
⽤来显⽰⼀组构建之间组织与依赖的关系。
2. 构成构件、接⼝、关系3. 构件的类型源码构件、⼆进制构件、可运⾏构件、数据⽂件或⽂档4. 构件和类的关系(1)类表⽰逻辑抽象⽽构件表⽰物理抽象(2)构件是其他元素的物理实现(3)类能够直接拥有属性和操作,构件⼀般仅仅有通过接⼝訪问的操作5. 构件的特点物理的、可替换的、是系统的⼀部分、从⼀组接⼝并提供对⼀组接⼝的实现6. 构件与接⼝的关系实现、依赖、⽰出、进⼊7. 以下是我的机房收费的构件图。
眼下感觉理解的还是不够透彻,先画出来以后学的深了再改进部署图1. 概念⽤来显⽰系统中软件和硬件的物理架构。
⼀个系统仅仅有⼀个部署图。
2. 部署图元素节点、节点实例、物件、关系、节点容器3. 使⽤条件对复杂的分布式软件使⽤部署图4. 长处部署图判断软件的所需的处理器和设备的拓扑结构5. ⼀个良好的部署图:(1)每⼀个实施图是系统的⼀个⽅⾯(2)側重⼀个⽅⾯(3)仅仅包括必要元素和必要修饰(4)避免交叉、名字要能概括你功能6.以下是我的机房收费的部署图,不⾜之处欢迎⼤家积极指正UML仍在路上(尾声)通过以上连续的五篇博客,对UML中的9+1(包图)个图结合之前敲的机房收费系统做了总结。
前五篇博客将关系联系紧密的两两放在⼀起更有助于对照理解这些图。
UML语⾔使系统建模过程标准化,统⼀化。
规范化。
UML在整个软件开发过程中採⽤同样的概念和表⽰⽅法。
在不同的开发阶段,不必转换概念和表⽰⽅法。
避免了传统软件开发⽅法的两个鸿沟。
UML採⽤图形化的表现形式。
产⽣的模型易于理解。
易于开发者与⽤户之间的沟通。
从⽽可以及时得到⽤户的反馈信息。
⽤UML进⾏系统建模所得到的建模制品不只包含各种模型框图,还有⼤量丰富的⽂档。
学号
统一建模语言UML A
实验报告
实验六组件图和部署图的建立
学生姓名
专业、班级12计算机12班
指导教师高天迎
成绩
计算机与信息工程学院
年月日
天津城市建设学院
验证性实验任务书
计算机与信息工程学院计算机专业12 班
姓名学号
课程名称:统一建模语言UML A
设计题目:组件图和部署图的建立
完成期限:自年月日至年月日
设计依据、要求及主要内容(可另加附页):
1、设计依据:
本实验是以教材《UML基础与Rose建模实用教程》一书的第13章为依据, 掌握组件图和部署图的建立。
2、设计要求:
(1)利用Rose建立图书管理系统的构件图。
(2)利用Rose建立图书管理系统的部署图。
指导教师:高天迎
一、实验目的
1.了解组件图中各组件和其依赖关系
2.了解配置图的作用
3.会使用rose绘制组件图和配置图
二、实验内容
1.创建组件图
2.创建配置图
三、实验思想
1.找到系统中存在的组件、接口及组件之间的依赖关系并进行组件图的建模。
2.找到系统的节点及其关联关系并进行配置图的建模。
四、实验结果
1.构件图
2.配置图
五、实验心得
经过这次大作业,让我了解软件需求建模的过程,锻炼了我的动手解决实际问题的能力,让我感受到了另一种解决问题的方法的趣味性与实践性。
希望在以后的学习中我能从此次学习和设计获得更多的经验,让自己成为一个拥有一定水平的软件开发者!。
学号
统一建模语言UML A
实验报告
实验六组件图和部署图的建立
学生姓名
专业、班级12计算机12班
指导教师高天迎
成绩
计算机与信息工程学院
年月日
天津城市建设学院
验证性实验任务书
计算机与信息工程学院计算机专业12 班
姓名学号
课程名称:统一建模语言UML A
设计题目:组件图和部署图的建立
完成期限:自年月日至年月日
设计依据、要求及主要内容(可另加附页):
1、设计依据:
本实验是以教材《UML基础与Rose建模实用教程》一书的第13章为依据, 掌握组件图和部署图的建立。
2、设计要求:
(1)利用Rose建立图书管理系统的构件图。
(2)利用Rose建立图书管理系统的部署图。
指导教师:高天迎
一、实验目的
1.了解组件图中各组件和其依赖关系
2.了解配置图的作用
3.会使用rose绘制组件图和配置图
二、实验内容
1.创建组件图
2.创建配置图
三、实验思想
1.找到系统中存在的组件、接口及组件之间的依赖关系并进行组件图的建模。
2.找到系统的节点及其关联关系并进行配置图的建模。
四、实验结果
1.构件图
2.配置图
五、实验心得
经过这次大作业,让我了解软件需求建模的过程,锻炼了我的动手解决实际问题的能力,让我感受到了另一种解决问题的方法的趣味性与实践性。
希望在以后的学习中我能从此次学习和设计获得更多的经验,让自己成为一个拥有一定水平的软件开发者!。