《 J2EE 》 实验报告册 2013-2014 学年 第 2 学期 班 级:
T1253-9 学 号:
20120530901 姓 名:
杜逸君 授课教师:
吴晓晖 薛昌春 实验教师:
吴晓晖 薛昌春 实验学时:
实验组号:
经济管理学院信息管理系 2014 年 2 月
实验一 用例图、类图、顺序图建模 一、实验目的:
1.熟悉软件建模工具的界面和基本操作方法; 2.掌握用例图、类图、顺序图、协作图的绘制方法 二、实验内容 内容:图书借阅管理(借书、还书),用 ROSE 工具软件进行绘制。
基本操作流程:借书 学生将所借图书和借书证交给图书管理员 图书管理员将学生借书证号码和所借图书输入系统 系统校对借书信息,比对该学生以往借书情况和当前借书情况,如果不存在不允许借书的情况,则记录借书交易的信息,并且修改相应的馆藏图书的数量信息。
如果该学生已经预订了这本图书,则撤销该预定。
报告交易成功。
:
三、实验步骤:(描绘 UML 模型图建立步骤,辅助少量清晰截图)1、打开 rose 软件界面,在 Rational Rose 中选择 J2EE1.4,点击 OK2、绘制用例图 打开 Use Case View——打开 main 创建两个角色:学生和图书管理员 创建 5 个用例:预定图书、查阅图书、借书、还书、管理图书 建立联系 4、绘制类图(1)、打开 Logical View,新建类图(2)、添加属性:
(3)、添加操作:
5、顺序图与协作图的绘制:
(1)管理员添加书籍的顺序图(2)系统管理员添加借阅者账户的顺序图(3)删除书目的顺序图(4)图书管理员处理书籍借阅的顺序图(5)图书管理员处理书籍归还的顺序图(6)借阅者查询书籍信息的顺序图(7)借阅者预定书籍的顺序图
图书管理员处理书籍借阅的时序图 图书管理员处理书籍归还的时序图
图书管理员处理借书的协作图 四、实验心得
实验二 活动图、状态图、组件图、部署图建模 一、实验目的 熟悉软件建模工具的界面和基本操作方法; 掌握活动图,状态图,组件图,部署图的建模方法 掌握正向工程方法,程序代码生成,逆向工程修改模型 二、实验内容 图书借阅管理系统(借书、还书过程)用 ROSE 工具软件进行绘制,练习双向工程应用。
三、实验过程 1、活动图(activity diagram)是状态图的一种特殊情况。不需指明任何事件,只要动作被执行,活动图中的状态就自动开始换。在活动图中,用例和对象的各个活动之间通常具有时间顺序。活动图表达这种顺序,展示出对象执行某种行为时或者在业务过程中所要经历的各个活动和判定点。
2、创建方法:
3、创建状态图
4、创建组件图(1)、组件图的组成:组件图由,组件,接口,实现和依赖四部分组成(2)、组件:描述了系统的一个可执行程序,一个库,一个 Web 程序等(3)、接口:接口是组件所提供服务,可以理解为一个方法,一个 WebService,一个 WCF,或者一个 UI 界面,接口可以有多个,但至少有一个,在 UML 中表示为一个圆形,可以在类图中对其进一步描述(4)、实现: :实现就是,组件与接口元之间的连线,代表谁实现了这个接口(5)、创建组件图:
单击 Component View,new 一个 Component Diagram,命名为【系统组件图】,5、创建部署图 DatabaseApplication ServerBusiness Operation Information MaintenanceWeb Application 6、双向工程
四、实验心得
实验三 “创建型模式”的应用 一、实验目的(1)学习和掌握策略模式;(2)学习和掌握观察者模式;(3)学习和掌握工厂模式;(4)学习和掌握使用这些模式解决实际问题; 二、实验要求 1.任选下面三个实验的二个实验程序编写,并进行测试,写出测试结果。
2.在实验报告中,对代码要进行必要注解。
三、实验内容 1.请使用策略模式实现下列编程要求:已知几何形状家族有圆形、矩形、椭圆形、三角形等形状。请用 Java 语言定义一个抽象类 MyShape 表示形状这样概念,MyShape 抽象类中提供了计算面积、周长、显示形状信息的抽象方法,然后分别 定义它的子类 MyCircle(圆形)、MyRectangle(矩形)、MyEllipse(椭圆形)、MyTriangle(三角形)等特定几何形状。并绘制这些定义的几何家族的所有形状。
2.请用观察者模式实现功能:学校发布信息,学生可以订阅,老师可以订阅,行政人员也可以订阅。提示:定义主题接口,观察者接口,定义 Notice、学生、老师和行政人员类,定义测试类。其中 Notice 类实现主题接口,老师、学生和行政人员实现观察者接口。思考,如果要求实现学生和老师均可以订阅多个信息,即除了订阅学校发布信息,也可以订阅所属系发送的信息。
第一题的实验过程 1、在 Eclipse 应用程序中新建一个工程“shape”,然后根据策略模式的要求新建一下几个类,如图 1-1 2、确定“MyShape”类为基类、抽象类,它的子类 MyCircle(圆形)、MyRectangle(矩形)、MyEllipse(椭圆形)、MyTriangle(三角形)等特定几何形状都要继承此类。这个类作为图形家族,类中定义三个方法,分别用来实现:计算面积 area()、周长 perimeter()、显示形状信息 draw(Graphics g)。
3、分别编写“MyShape”类的子类:“MyCircle”类,“MyRectangle”类,“MyEllipse”类,“MyTriangle”类,这四个类都要重写父类的方法 area(),perimeter(),draw();分别实现计算面积、周长和显示形状信息的功能。
4、定义一个 DrawShape 类,用来实现划出图形的功能。代码如下:
public class DrawShape extends JPanel{ private List
第三题实验过程 这一题要求用工厂模式实现相关的功能,首先要搞清楚什么是工厂模式,它的原理是什么,然后就是学会怎么用代码来实现它。通过课堂上老师的讲解和查阅资料,我知道抽象工厂模式隔离了具体类的生产,使得客户并不需要知道什么被创建。当一个产品族中的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族中的对象。增加新的具体工厂和产品族很方便,无须修改已有系统,符合“开闭原则”。
具体的实现过程如下:
1、工程的所有类的结构如下 2、定义一个 tv 接口,里面有一个 play()方法用于播放 3、定义一个电视工厂接口,里面有生产电视的方法 //电视工厂接口 public interface TvFactory {
//生产电视的工厂---实现这个接口需要重写该方法 public Tv produvtTv();} 4、“海尔电视”类和“海信电视”类都去实现“tv”这个接口,“海尔电视工厂”类和“海信电视工厂”类都去实现“ TvFactory ”这个接口。
5、测试类如下:
public class Test { public static void main(String[] args){ TvFactory mytvFactory;Tv myTv;mytvFactory = new HisenseTvFactory();myTv = mytvFactory.produvtTv();myTv.play();mytvFactory = new HaierTvFactory();myTv = mytvFactory.produvtTv();myTv.play();} } 实验结果截图如下 四、实验心得体会
实验四 结构类设计模式编程 一、实验目的(1)学习和掌握转换器模式;(2)学习和掌握装饰者模式;(3)学习和掌握命令模式;(4)学习和掌握使用这些模式解决实际问题; 二、实验要求 1.少修改,多扩展 2.封装不变的,提出可变的进行分析 3.顶层通常是接或者抽象类,接下来是具体的类,最后是实例!4.任选下面三个实验的二个实验程序编写,并进行测试,写出测试结果。
2. 在实验报告中,对代码要进行必要注解。
三、实验内容及过程 1.用 Adapter 模式设计一个仿生机器人的模拟程序:
要求机器人可以模拟各种动物行为,在机器人中定义了一系列方法,如机器人叫喊方法cry()、机器人移动方法 move()等。如果希望在不修改已有代码的基础上使得机器人能够像狗一样汪汪叫,像狗一样快跑,或者像鸟一样叽叽叫,像鸟一样快快飞,使用适配器模式进行系统设计 2.用装饰者模式设计一个蛋糕,蛋糕有白蛋糕和黄蛋糕,装饰蛋糕的产品有水果,巧克力,奶油。
实验步骤:
具体的实现过程如下:
1、工程的所有类的结构如下:
2、定义一个“dog”接口,里面有“跑”和“叫”的方法; 3、定义一个机器人类“Robot”作为父类
4、定义一个“DogAdaptor”,由它来继承“Robot”类并实现“Dog”接口 5、定义测试类,测试整个工程 实验结果截图如下
使用装饰者模式设计一个蛋糕,用不同的水果、巧克力、奶油来装饰蛋糕。
具体的实现过程如下:
1、工程的所有类的结构如下:
2、实验结果截图如下 四、实验心得