uml实验报告89.docx

上传人:b****7 文档编号:10164736 上传时间:2023-02-09 格式:DOCX 页数:22 大小:2.05MB
下载 相关 举报
uml实验报告89.docx_第1页
第1页 / 共22页
uml实验报告89.docx_第2页
第2页 / 共22页
uml实验报告89.docx_第3页
第3页 / 共22页
uml实验报告89.docx_第4页
第4页 / 共22页
uml实验报告89.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

uml实验报告89.docx

《uml实验报告89.docx》由会员分享,可在线阅读,更多相关《uml实验报告89.docx(22页珍藏版)》请在冰豆网上搜索。

uml实验报告89.docx

uml实验报告89

 

《面向对象与UML》

实验报告

 

姓名:

左志伟

学号:

133037

班级:

软件132

一、基本目的

面向对象与UML是以介绍面向对象的统一建模语言UML为主,使学生了解面向对象技术的相关概念,熟悉UML分析和设计的基本方法,同时掌握在RationalRose环境下使用UML建模语言进行软件模型分析和设计的相关技术。

本课程的实验课程是UML程序设计教学的重要技能环节。

通过实验,使学生加深理解、验证、巩固课堂教学内容,提高学生使用UML建模语言进行软件设计分析的能力,实验课程重点培养学生在Rationalrose环境下对UML4种视图以及9种图的使用。

二、实验环境

使用IBMRationalrose7.0集成开发环境。

三、实验要求

1.每人独立完成实验和实验报告。

每个实验包括多个实验题目,要求每个实验在规定时间内设计完成所有实验题目,并按照要求提交实验报告。

2.预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前进行思考和分析。

3.遵守机房纪律,服从辅导教师指挥,爱护实验设备。

4.实验课程不迟到。

如有事不能出席,需请假。

四、实验内容

表1实验内容及时间安排

序号

实验内容

参考实验课时数

计划开设周次

实验1

UML建模基础

2

5

实验2

用例图

2

6

实验3

类图

4

7,8

实验4

顺序图

2

9

实验5

协作图

2

11

实验6

状态图

2

12

实验7

活动图

2

14

实验8

组件图与配置图

2

15

实验9

双向工程

2

16

合计

20

五、实验报告

每人针对每个实验提交一份实验报告。

实验报告主要包括四方面内容:

1.实验目的:

该实验需要学生掌握的内容。

2.实验题目:

实验题目具体内容。

3.实验结果:

利用Rationalrose得到的建模结果。

 

实验八组件图与配置图

一、实验目的

1.了解组件的概念以及引入组件的原因。

2.掌握组件的要素,组件和类的比较。

3.掌握UML中组件图配置图的图形元素。

4.掌握阅读和绘制组件图和配置图的方法。

5.了解组件图和配置图的应用。

二、实验内容

1.根据要求绘制组件图。

分析:

在LSTC的图书馆管理系统中,通过分析可以发现类图中的类应分为4个部分:

(1)用户接口模块(UI),主要负责系统和用户的交互,包括Frame类,Dialog类等。

(2)业务对象模块(BO),主要负责处理系统中的业务计算,如借书,还书等功能的具体操作。

(3)数据存储模块(DB),主要负责处理对数据的存储。

(4)通用工具模块(UTIL),包括系统中通用函数。

通过一个主程序StartClass来启动。

由于系统中的类较多,这里以业务对象模块(BO)为例来讲解如何创建组件图,BO模块中包括:

Item类:

书目类,表示一本(不是一种)实际存在的书籍或杂志;

Loan类:

借书业务类,将借阅者和图书馆关联起来,一个Loan对象表示借出的一本书;

BorrowerInfomation类:

借阅者信息类,表示一个借阅者;

Title类:

表示一种书或一种杂志。

如《C++编程思想》就是一种书,用1个title对象表示,如果有2本这样的书,则需要用2个Item对象表示;

Reservation类:

预定信息类,表示一个预定信息。

Item类和Loan类之间互相依赖,Loan类和BorrowerInfomation类之间互相依赖,BorrowerInfomation类和Reservation类之间互相依赖,Reservation类和Title之间互相依赖,Title和Item类之间互相依赖。

绘图步骤:

(1)在组件视图中双击Main图,出现图1,为编辑组件图做好准备,这时绘图工具栏中的图标如图中椭圆所示。

图1

(2)在组件视图中,从工具栏中选择MainProgram图标,在右边的绘图区中添加一个新组件,并取名StartClass.java表明新增一个主程序。

图2

(3)选择新创建的组件点击鼠标右键,在弹出的菜单中选择“OpenSepcification”,如图3。

图3

(4)在对话框中,可以修改组件的名称,设置组件的类型,指定实现的语言。

这里新组件的名称定为“StartClass.java”,组件构型为MainProgram(Rose中提供了多种构型),实现语言为JAVA(Rose中默认的是分析语言Analysis),修改结果如图4所示。

图4

(5)组件图描述的是系统的实现视图,因此要指定实现组件功能的文件。

点击File选项卡,在列表框中点击鼠标右键,在弹出的菜单中选择“InsertFile”,弹出文件对话框。

在对话框中,键入StartClass.java,点击“打开”按键,这时对话框如图5所示。

图5

(6)双击StartClass.java,弹出是否创建对话框,询问是否创建文件,选择“YES”,弹出记事本,这时可输入相应的源程序(注意:

如果这里选择的文件已经存在,则不会弹出创建文件对话框,而是直接显示相应文件内容)。

(7)创建相应的包。

选择包图标,在右图中创建。

这里同样需要对每个组件打开“OpenSpecification”对话框,设置具体的属性,对“包”组件来说需要在Files选项卡中指明与其对应的目录。

创建完毕的组件图如图6所示。

图6

(8)选择业务对象包(BO),双击,打开业务对象包的详细组件图,这里根据分析的结果分别创建Title.java,Item.java,Loan.java,BorrowerInfomation.java,Reservation.java组件,并设置好每个组件的构型和对应的文件。

创建好的BO包组件图如图7。

图7

(9)创建依赖关系。

在本节前述一段中,已经描述过各个类之间的依赖关系,依赖关系使用虚线表示,因此根据分析中的结果,在图中将相互依赖的组件连接即可。

完成后的组件图如图8。

图8

2.绘制图书管理系统部署图

分析:

图书管理系统中,对于“借书、还书”等基本功能和“书目维护、读者信息维护”等信息维护功能来说,是在图书馆内部发生的,并且客户端的数量有限,由于其使用频率较高,故效率和使用的方便性需要侧重考虑,而客户端软件的维护工作量相对较少,则可以不用考虑,因此这部分业务将采用传统的C/S架构;对于图书的查询和预定功能来说,我们希望在整个校园网内提供这些功能,所以这部分业务我们将会采用B/S架构,这样将会使得读者在校园网的任何地方都能使用,且能简化系统的部署和维护。

基于上述考虑,该系统将由5个节点构成:

应用服务器、数据库、Web应用服务器、基本业务服务器、信息维护服务器。

(1)应用服务器,其类型是Processor,负责整个系统的总体协调工作。

(2)数据库,其类型是Device,负责数据管理。

(3)Web应用服务器,其类型是Processor,负责读者网上查询和预定业务。

(4)基本业务服务器,其类型是Processor,负责处理读者借书和还书等一些基本的业务流程。

(5)信息息维护服务器,其类型是Processor,负责系统基本信息维护的业务流程,如:

书目维护、读者信息维护等。

绘制步骤:

(1)建立图书管理系统模型文件。

(2)导航窗口中双击“DeploymentView”,在绘图窗口中打开如图9所示部署图。

图9

(3)添加Processor主机节点:

如图10所示,选择部署图工具栏的“Processor”图标,在右边的绘图窗口中添加一个Processor,鼠标右击新加的Processor,选择菜单项“OpenSpecification”,打开Processor的设置对话框,如图11所示。

在Name框中为该Processor命名:

ApplicationServer”,点击OK按钮即可完成该物理节点的设置。

图10

图11

(4)添加Device数据库节点:

如图6.19所示,选择部署图工具栏的“Device”图标,在右边的绘图窗口中添加一个Device,同设置Processor类似,为该Device命名:

Database,完成后,绘图窗口如图12所示。

图12

(5)添加连接:

如图13所示,选择部署图工具栏的“Connection”,在右边的绘图窗口中为“应用服务器节点”与“数据库节点”添加连接。

图12

(6)重复步骤(3)和(5),添加其余的三个服务器节点,并为它们添加连接,完成后如图13所示。

至此,部署图完成,保存模型文件为“图书管理系统.mdl”即可。

图13

3.下图是对callcenter.exe的结构进行组件建模的结果,请说明该图所表示的含义。

Callcenter.exe依赖配置文件config.ini、数据库shp_a3.dll和数据库sh_ttsu.dll;数据库sh_ttsu.dll依赖shp_a3.dll和Libtts.dll数据库。

数据库shp_a3.dll的版本号为4.6.0.6.

4.绘制网络订餐系统的部署图(客户端可以为PC或者手机)。

实验九双向工程

一、实验目的

1.理解双向工程的基本概念。

2.利用Rose正向工程工具生成代码框架。

二、实验内容

1.根据要求完成正向工程代码框架。

使用Rose工具将设计的模型通过正向工程生成代码框架。

按照使用Rose工具生成代码的5步基本步骤可以顺利的完成代码框架的生成工作。

(1)创建模型;

(2)创建组件;

(3)将类映射到组件;

(4)设置代码生成属性;

(5)生成代码。

步骤:

(1)浏览窗口中选择“LogicalView”,建立如图9.所示的类图。

图9.1建立类图

(2)用People类为例实现正向工程,首先在左边的工具栏组件视图内建立一个组件,并命名为People。

图9.2建立组件

(3)将已经建立好的People类拖动到组件中,或者选中组件邮件选择OpenSpecification,在Realizes选项卡中选中People类,邮件选择Assign完成映射,具体流程如图9.3。

图9.3

图9.4为映射完成后显示的图标。

图9.4

(4)完成上述设置后,选择组件邮件选择OpenSpecification,在General选项卡中设置Language,设置为ANSIC++,如图9.5。

图9.5

(5)完成上述操作后右键单击组件,选择“ANSIC++”,,然后选择“JANSIC++”菜单中的“GenerateCode“,弹出界面进行生成代码路径的设置,见图9.6,设置好路径后点击OK。

图9.6

(7)点击OK后弹出如图9.7的对话框,选择SelectAll,再点击OK,即可生成相应代码框架。

以下为生成的代码框架:

头文件:

#ifndefPEOPLE_H_HEADER_INCLUDED_AA7FAB84

#definePEOPLE_H_HEADER_INCLUDED_AA7FAB84

//##ModelId=5580331B01B0

classPeople

{

public:

//##ModelId=55803376039F

StringGetName();

//##ModelId=558033960079

voidSetName(stringargname);

//##ModelId=558033A6038C

voidSetAge(IntegernAge);

//##ModelId=558033D20151

IntegerGetAge();

private:

//##ModelId=5580333401DE

stringname;

//##ModelId=55803348004B

Integerage;

//##ModelId=5580335C0191

stringmajor;

};

源文件:

#include"People.h"

//##ModelId=55803376039F

StringPeople:

:

GetName()

{

}

//##ModelId=558033960079

voidPeople:

:

SetName(stringargname)

{

}

//##ModelId=558033A6038C

voidPeople:

:

SetAge(IntegernAge)

{

}

//##ModelId=558033D20151

IntegerPeople:

:

GetAge()

{

}

2.根据如下C++代码框架绘制类图。

classStudent

{

stringname;

intnumber;

intage;

public:

intGetNumber();

intGetAge();

stringGetName();

SetName(stringa);

SetAge(intb);

SetNumber(intc);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1