UML类图(三)-------实例

2019-11-27 作者:金沙总站   |   浏览(162)

实例解析1——登陆模块

      某依据C/S的当即谈心系统登陆模块功用描述如下:

      顾客通过登陆分界面(LoginForm)输入账号和密码,系统将输入的账号和密码与储存在数据库(User)表中的客商消息进行比较,验证客户输入是还是不是准确,如若输入准确则跻身主分界面(MainForm),否则提醒“输入错误”。

      依据上述描述绘制开首类图。

UML类图(三)-------实例。 

    参照他事他说加以考查实施方案:

 

UML类图(三)-------实例。      参考类图如下:

图片 1

      考虑到系统扩张性,在本实例中引进了用空想来安慰自己数据访问接口IUserDAO,再将切实数目访谈对象注入到事情逻辑对象中,可由此计划文件(如XML文件卡塔 尔(阿拉伯语:قطر‎等艺术来落到实处,将切实的多少访谈类类名存款和储蓄在安排文件中,假如须求退换新的实际数量访谈对象,只需改进配置文件就能够,原有程序代码无须做任何改过。

      类说明:

类  名

说  明

LoginForm

登录窗口,省略界面组件和按钮事件处理方法(边界类)

LoginBO

登录业务逻辑类,封装实现登录功能的业务逻辑(控制类)

IUserDAO

抽象数据访问类接口,声明对User表的数据操作方法,省略除查询外的其他方法(实体类)

UserDAO

具体数据访问类,实现对User表的数据操作方法,省略除查询外的其他方法(实体类)

MainForm

主窗口(边界类)

      方法求证:

方法名

说  明

LoginForm类的LoginForm()方法

LoginForm构造函数,初始化实例成员

LoginForm类的validate()方法

界面类的验证方法,通过调用业务逻辑类LoginBO的validate()方法实现对用户输入信息的验证

LoginBO类的validate()方法

业务逻辑类的验证方法,通过调用数据访问类的findUserByAccAndPwd()方法验证用户输入信息的合法性

LoginBO类的setIUserDAO()方法

Setter方法,在业务逻辑对象中注入数据访问对象(注意:此处针对抽象数据访问类编程)

IUserDAO接口的findUserByAccAndPwd()方法

业务方法声明,通过用户账号和密码在数据库中查询用户信息,判断该用户身份的合法性

UserDAO类的findUserByAccAndPwd()方法

业务方法实现,实现在IUserDAO接口中声明的数据访问方法

 

图片 2UML类图(三)-------实例。-------------------------------------------------------------------------------------------------------图片 3

UML类图(三)-------实例。实例解析2——注册模块

      某基于Java言语的C/S软件须求提供注册功用,该作用简要描述如下:

      客户通过挂号分界面(RegisterForm)输入个人新闻,客商点击“注册”开关后将输入的音信通过一个打包客商输入数据的指标(UserDTO)传递给操作数据库的数据访问类,为了抓好系统的扩大性,针对区别的数据库大概供给提供差别的数目访谈类,由此提供了数量访谈类接口,如IUserDAO,每一个切实数目访问类都是某一个数额访问类接口的落实类,如OracleUserDAO正是三个特意用来访谈Oracle数据库的数码访问类。

      依照以上描述绘制类图。为了简化类图,个人音信仅富含账号(userAccount)和密码(userPassword),且分界面类无需涉及界面细节成分。

 

 

 

参照解决方案:

 

      在上述功能表明中,可以剖判出该系统满含八个类和二个接口,那多少个类分别是注册分界面类RegisterForm、客户数量传输类UserDTO、oracle顾客数量访问类OracleUserDAO,接口是空虚客户数据访谈接口IUserDAO。它们中间的涉及如下:

      (1) 在RegisterForm中必要接纳UserDTO类传输数据且要求接收数据采访类来操作数据库,因此RegisterForm与UserDTO和IUserDAO之间存在涉嫌关系,在RegisterForm中可以直接实例化UserDTO,由此它们之间可以行使组合关联。

      (2) 由于数据库类型须求灵活改造,由此在RegisterForm中不可能直接实例化IUserDAO的子类,能够本着接口IUserDAO编程,再经过注入的措施传入叁个IUserDAO接口的子类对象(在本书后续章节少将学习怎么样具体贯彻卡塔尔,由此RegisterForm和IUserDAO之间有着聚合关联关系。

      (3) OracleUserDAO是促成了IUserDAO接口的子类,因而它们中间有着类与接口的落到实处关系。

      (4) 在表明IUserDAO接口的扩充顾客新闻方式addUser()时,须求将要分界面类中实例化的UserDTO对象作为参数字传送递进来,然后抽出封装在UserDTO对象中的数据插入数据库,因而addUser()方法的函数原型可以定义为:public boolean addUser(UserDTO user),在IUserDAO的秘诀addUser()中校UserDTO类型的靶子作为参数,故IUserDAO与UserDTO存在依附关系。

      通过以上深入分析,该实例参照他事他说加以考察类图如图1所示:

图片 4

图1  注册效用参谋类图

      注意:在绘制类图或其余UML图形时,能够通过注释(Comment)来对图中的符号或因素进行一些附加表达,若是需求详细表达类图中的某风姿洒脱办法的成效还是完成进程,能够接收如图2所示表示方法:

图片 5

图2  类图注释实例

实例深入分析3——购票机调整程序

      某运输公司说了算为新的购票机开垦车票发售的调整软件。图I给出了定票机的面板暗示图以致相关的调整零件。

图片 6

图I   定票机面板暗暗提示图

      买票机相关零部件的功力如下所述:

      (1) 目标地键盘用来输入路程指标地的代码(比如,200意味着总站卡塔 尔(英语:State of Qatar)。

      (2) 游客可以通过车票键盘选用车票系列(单程票、数十次往返票和坐席种类卡塔尔。

      (3) 继续/撤销键盘上的吊销按键用于裁撤定票进程,继续开关允许旅客接二连三购入多张票。

      (4) 显示器展现全数的连串输出和客户提示音信。

      (5) 插卡口接纳MCard(现金卡卡塔 尔(阿拉伯语:قطر‎,硬币口和纸币槽选择现金。

      (6) 打字与印刷机用于出口车票。

      (7) 全部零件均可完毕自检并回复到最初状态。

      现选择面向对象方法开垦该系统,使用UML举办建立模型,绘制该种类的初叶类图。

 

 

    参考施工方案:

 

      参考类图如下:

图片 7

      类说明:

类  名

说  明

Component

抽象部件类,所有部件类的父类

Keyboard

抽象键盘类

ActionKeyboard

继续/取消键盘类

TicketKindKeyboard

车票种类键盘类

DestinationKeyboard

目的地键盘类

Screen

显示屏类

CardDriver

卡驱动器类

CashSlot

现金(硬币/纸币)槽类

Printer

打印机类

TicketSoldSystem

售票系统类

      方法求证:

方法名

说  明

Component 的init()方法

初始化部件

Component 的doSeltTest()方法

自检

Keyboard的getSelectedKey()方法

获取按键值

ActionKeyboard的getAction()方法

继续/取消键盘事件处理

TicketKindKeyboard的getTicketKind()方法

车票种类键盘事件处理

DestinationKeyboard的getDestinationCode()方法

目的地键盘事件处理

Screen的showText()方法

显示信息

CardDriver的getCredit()方法

获取金额

CardDriver的debitFare()方法

更新卡余额

CardDriver的ejectMCard()方法

退卡

CashSlot的getCredit()方法

获取金额

Printer的printTicket()方法

打印车票

Printer的ejectTicket()方法

出票

TicketSoldSystem的verifyCredit()方法

验证金额

TicketSoldSystem的calculateFare()方法

计算费用

 

本文由金沙贵宾会官方网址发布于金沙总站,转载请注明出处:UML类图(三)-------实例

关键词: