UML设计

2024-09-17

UML设计(通用12篇)

UML设计 篇1

1 短消息的概念

短消息业务与话音通信一样,是GSM数字蜂窝移动通信网络提供的主要电信业务。它是GSM系统中提供的一种GSM手机之间及与短消息实体(Short Message Entity)之间通过业务中心(Service Center)进行文字信息收发的方式,其中业务中心完成信息的存储和转发功能。短消息业务按照通信方式分为两种:点对点的短消息业务和一点对多点的短消息业务,即小区广播型短消息业务。

2 短消息的体系结构

GSM标准中定义的点-点短消息服务使得短消息能在移动台和短消息服务中心之间传递。这些服务中心是通过称为SMS-GMSC的特定MSC同GSM网络联系的。涉及SMS管理的协议如图1所示。

以上是目前我国短信息系统的基本情况,在这个基础上,我们使用UML设计一个短信息计费系统。

3 短信息计费系统分析

3.1 功能需求

在构建短消息计费结算平台之初,我们设计的短信综合计费和结算功能需要依据运营商制定的相关计费规则来完成。另外,需要充分考虑如何实现对短消息话单的维护、管理、脱机备份等功能。而伴随着不断更新的短消息业务运营模型,我们重点要完成短消息业务以及增值业务等多种业务模式的综合计费功能。而原来的短信系计费系统存在的问题:计费功能简单、对系统的实时性要求低、无法适应多格式话单、数据量剧增带来的数据压力。

基于以上问题,对系统提出了新的需求:(1)计费数据格式需要统一;(2)在同一计费平台实现多种业务多种计费的整合;(3)实现对预付费用户的实时扣费。

3.2 系统用例图

通过上面的用例图我们可以看到,运维、业务管理、一般短信客户、市场拓展都属于系统执行者,而短信话单来源和GSM计费系统也包涵其中。而系统的功能需求主要是信息采集、计费划价、账务等,它们之间的关系大多为扩展关系。信息采集可进一步细分为信息中心话单、互联网短信网关话单采集和短信话单文件三个子用例。

接下来对主要用例进行描述如表1所示。

3.3 业务流程描述

后台操作人员启动计费划价处理,其工作流程如图3所示。

通过计费划价处理,就能得出客户本次短信的费用明细及详细话单,除了以上之外,该模块处理的信息还能提供给账务处理、查询等模块使用,从而达到资源共享、减少系统开销的目的。

3.4 类图关系

3.5 短消息计费系统的模块结构实现

以上就是我们构建的一个短信息计费系统,在此基础上,我们可以将该系统分为以七大模块,具体如图3所示,主要模块的功能可以见前文的分析。

4 结束语

目前全球每个月的短信息数量已达到150亿条。而在短信息服务开通较早的欧洲,每天发送的短信息数量是2000万条,GSM运营商8%~20%的收入来自短信息。

这是因为短信息业务满足了人们对爆炸性增长的信息的需求,使人们能够以低廉的价格、便捷的方式随时随地得到充满个性化的信息。本文只是对短信计费系统进行了初步的研究,不足之处,还请批评指正。

参考文献

[1]屈军锁.《固定网短信息系统及其发展前景》.中国电信网.

[2]陈欣.《短消息业务的现状与发展》.四川移动通信公司信息中心.

[3]译者:徐家福.《UML精粹:标准对象语言简明指南(第3版)》作者:(美)MARTIN FOWLER.清华大学出版社.

[4]范晓平.《UML建模实例详解》.清华大学出版社.

[5]王养廷,李磊,宋汉珍.《UML基础与应用》.

[6]牛丽平,郭新志,宋强,杨继萍.《UML面向对象设计与分析基础教程》.清华大学出版社.

[7]舒心,王永伦,张鑫.手机病毒分析与防范[J].信息网络安全,2012,(08):54-56.

[8]余幸杰,高能,江伟玉.云计算中的身份认证技术研究[J].信息网络安全,2012,(08):71-74.

UML设计 篇2

系统的功能性需求描述如下:

·

图书管理系统为管理员提供主功能界面。

·

图书管理系统在启动时要求管理员输人口令,只有口令正确,才可以进入系统的主功能界面。

·

管理员负责对图书管理系统的维护工作,因此系统应赋予管理员对图书信息、读者信息和出版社信息进行录入、修改、查询和删除等功能的操作权限。

·

管理员作为读者的代理实现借书与还书业务。

·

图书信息、读者信息和出版社信息保存在对应的数据库表中。

在上述功能性需求分析的基础上,可以写出较为详细的需求规格说明书,作为进行系统分析、设计和实现的依据。需求分析规格说明书由系统最终用户提出需求,系统分析人员负责编写。图书管理系统需求分析规格说明书如下:

·

这是一个图书馆图书借阅管理的应用系统;

·

图书管理系统负责将图书、杂志借给读者,前提条件是这些读者在系统进行了注册,图书和杂志也在系统中进行了注册;

·

图书馆负责新书的购买,当书和杂志已经过时或者破旧不堪时,可以将这些图书和杂志从图书馆管理系统中删除;

·

图书管理员是图书馆的员工,负责与读者打交道,并且是在系统提供的支持下开展工作;

·

图书管理系统能够容易地建立、修改和删除系统中的信息,包括图书信息、读者信息、以及出版社信息等;

·

图书管理系统能够在所有流行的平台环境(windows,uNIx等操作系统)上运行,并具有一个美观的图书用户界面;

·

图书管理系统容易扩展新功能。

2.分析建模

 Use case diagram 分析

采用下列描述项撰写用例的脚本。

· 用例名称——表明用户的意图或用例的用途。

· 参与者——与该用例相关的参与者列表。

· 前置条件——一个条件列表,如果其中包含条件,则这些条件必须在访问用例之前得到满足。

· 后置条件——一个条件列表,如果其中包含条件,则这些条件将在用例完成以后得到满足。

· 基本事件流——描述用例中各项活动都正常进行时用例的工作方式。

· 分支事件流——描述用例中某项活动的子活动各项工作都正常进行时用例的工作式。

· 异常事件流——描述用例的变更工作方式,以及出现异常或发生错误的情况下所执行的路径。

图书管理系统中每个用例的脚本描述如下:

1.系统登录

用例名称:系统登录

参与者:图书管理员 1.1前置条件 无

1.2后置条件

如果用例成功,参与者可以启动系统,使用系统提供的功能。反之,系统的状态不发生变化。

1.3基本事件流

当图书管理员登录系统时,用例启动。

①系统提示用户输入用户名和密码。

②用户输入用户名和密码。

③系统验证输入的用户名和密码,若正确,则用户登录到系统中。

1.4异常事件流

如果用户输入无效的用户名/密码,则系统显示错误信息。用户可以选择返回基本事件流的起始点,重新输入正确的用户名/密码;或者取消登录,用例结束。

2.图书借阅

用例名称:借阅图书

参与者:读者,图书管理员 2.1前置条件

在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。

2.2后置条件

如果这个用例成功实现,则在系统中创建并存储借阅记录。2.3基本事件流

当读者借阅图书时,用例启动。

①登录系统。

②输人图书ID和读者ID。

③检索读者ID。

④检索图书ID。

⑤根据时间算法确定图书借出日期和归还日期。

⑥图书馆将图书借给读者。

⑦创建借阅记录。

⑧存储借阅记录。2.4异常事件流

①如果读者未注册,则系统显示提示信息,用例被终止。

②如果要借图书不存在,系统显示提示信息,用例被终止。

③如果要借图书都已借出,则系统提示信息,用例被终止。3.图书归还

用例名称:图书归还

参与者:读者,图书管理员 3.1前置条件

在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。

3.2后置条件

如果这个用例成功实现,则系统删除借阅记录;否则,系统的状态不发生变化。3.3基本事件流

当读者归还借阅的图书时,用例被启动。

①登录系统。

②输入图书ID和读者ID。③检索图书ID。

④检索读者ID。

⑤查询图书借阅记录。⑥删除借阅记录。3.4异常事件流

①如果归还图书不存在,则系统显示提示信息,用例被终止。②如果借阅记录不存在,则系统显示提示信息,用例被终止。4.读者维护

用例名称:读者维护 ‘ 参与者:图书管理员 ’ 4.1前置条件

在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。4.2后置条件

如果这个用例成功地实现,则系统添加、修改或检索读者信息;否则,系统的状态不发生变化。

4.3基本事件流

当图书管理员维护读者信息时,用例被启动。①登录系统。

②如果选择的活动是“添加读者信息”,则执行分支事件流4.3.1:添加读者信息。③如果选择的活动是“修改读者信息”,则执行分支事件流4.3.2:修改读者信息。④如果选择的活动是“检索读者信息”,则执行分支事件流4.3.3:检索读者信息。4.3.1分支事件流

①提供读者的信息,例如,读者ID,读者姓名、电话号码等。②系统存储读者信息。4.3.2分支事件流 ①输入读者ID。

②查询并显示读者信息。③更新系统中读者信息。4.3.3分支事件流 ①输入读者ID。

②查询并显示读者信息。4.4异常事件流

①如果读者已经存在,则系统显示提示信息,用例被终止。②如果查询不到读者,则系统显示提示信息,用例被终止。5.图书维护

用例名称:图书维护 参与者:图书管理员 5.1前置条件

在这个用例开始之前,图书管理员必须登录到系统;否则,系统的状态不发生变化。5.2后置条件

如果这个用例成功实现,则系统添加、修改或检索图书信息;否则,系统的状态不发生变化。

5.3基本事件流

当图书管理员维护图书信息时,用例被启动。①登录系统。

②如果选择的活动是“添加图书信息”,则执行分支事件流5.3.1:添加图书信息。③如果选择的活动是“修改图书信息”,则执行分支事件流5.3.2:修改图书信息。④如果选择的活动是“检索图书信息”,则执行分支事件流5.3.3:检索图书信息。5.3.1分支事件流

①提供图书的信息,例如,图书ID,图书名称、编著者、出版社、价格、出版年份筹 ②系统存储图书信息。5.3.2分支事件流 ①输人图书ID。

②查询并显示图书信息。⑨更新系统中图书信息。5.3.3分支事件流 ①输入图书ID。

②查询并显示图书信息。5.4异常事件流

①如果该图书已经存在,则系统显示提示信息,用例被终止。②如果查询不到该图书,则系统显示提示信息,用例被终止。

系统总体功能结构

 根据用例图定义分析包以及分析包(子系统)之间的关系。

图书管理系统分析包详细结构

 定义类、用例实现(序列图)、类关系图(1)系统登录

类图:

系统登录分析类图

用例实现:

登录系统成功顺序图

登录系统失败顺序图

(2)登录图书信息

类图:

登录图书信息分析类图

用例实现:

登录图书信息顺序图

(3)修改图书信息

类图:

修改图书信息分析类图

用例实现:

修改图书信息顺序图

(4)检索图书信息

类图:

检索图书信息分析类图

用例实现:

检索图书信息顺序图

(5)借阅图书 类图:

借阅图书分析类图

用例实现:

借阅图书顺序图

(6)归还图书

类图:

归还图书分析类图

用例实现:

归还图书顺序图

(7)借出图书一览表

类图:

借出图书一览表分析类图

用例实现:

借出图书一览表顺序图

(8)类关系图

系统实体类(业务类)之间的关系

(9)类的具体定义

1.图书表类

编号:A—l一0l

类名:图书表

职责:存放图书馆所能处理的所有图书的基本信息

属性:图书代号,图书名称,编著者,ISBN代码,出版社代码,出版年份,页数,价格,购入日期,过期日期,书架代码,备注

说明:该类存放所有图书类的公用信息,它是“图书借阅表”的父类。图书也有身份,可以通过不同的ISBN相区别。在图书管理系统中,图书也有相关的行为,图书因为使用期限等可以被销毁,所以图书表也是系统中的一个对象。

2.登录图书界面类

编号:A一1—02

类名:登录图书界面

职责:提供输入所有图书信息的界面

属性:图书代号,图书名称,编著者,ISBN代码,出版社代码,出版年份,页数,价格,购入日期,过期日期,书架代码,备注

说明:该类的所有属性是非持久性的,但它为用户保存永久性的图书属性提供了一个临时的输入接口。

3.登录图书信息控制类

编号:A—l—03

类名:登录图书信息控制类

职责:实现登录图书界面类与图书表类所提供信息的交互。

属性:图书代号,图书名称,编著者,ISBN代码,出版社代码,出版年份,页数,价 格,购人日期,过期日期,书架代码,备注

说明:该类的所有属性是非持久性的,但它为用户保存永久性的图书属性提供了一 个临时的输人接口。

4.出版社表类

编号:B—l—01

类名:出版社表

职责:存放图书表所使用的所有图书的出版单位

属性:出版社代码,出版社名称

说明:该类与出版社表之间存在着单向关联的关系。

5.读者表类

编号:C一1一Ol

类名:读者表

职责:存放图书馆的所有读者的基本信息

属性:读者代码,读者名,联络电话

说明:该类类描述了物理借阅者的信息,代表了系统中存储的物理借阅者的信息,即物理借阅者在系统中的账户。同时,读者表又是图书借阅表的组成成分之一。

6.图书借阅表类

编号:D—l—01

类名:图书借阅表

职责:存放图书馆所能处理的所有图书的基本信息

属性:图书代号,读者代号,借书日期,还书日期,说明:该类描述了从图书馆借阅图书的借阅记录。一个该类的对象对应一个借阅者和一本图书。该类的对象的存在表示借阅者借阅了借阅记录中记录的物理图书。当图书被归还时,要删除借阅记录(对象)。

 形成系统分析规约(注意规约可能会有活动图、状态图等)

3.系统设计

设计模型的主要工作: 1).软件平台设计

软件平台是系统开发和运行的环境。图书管理系统的开发和运行环境如下:

· 操作系统——操作系统是计算机系统中最重要的系统软件。图书管理系统可以运行在Windows 95/98/2000/NT/Windows XP等桌面操作系统上。

· 支撑软件——支撑软件是协助人们开发和维护软件的工具和环境软件。数据库系统、集成开发环境等都属于支撑型软件,例如,Delphi、Oracle、Java等。图书管理系统使用的DBMS是Access 2003,数据库中间件是JDBC。

· CASE平台——采用CASE开发环境可保证系统开发质量,提高开发效率,保证文档的一致性。图书管理系统的分析、设计j实现和部署模型是在Rose 2003建模环境下创建的,清晰地表达了在不同的开发阶段的系统模型。2).结构设计

结构设计是把软件分解成为多个子系统,并确定出由各子系统及其接口构成的软件结构。子系统是对软件分解的一种中间形式,也是组织和描述软件的一种方法。由多个子系统构成系统软件,每一个子系统又包括多个用例设计、设计类和接口。结构设计具体要做的工作是将系统划分成相对独立、功能相对完整的子系统(包),将系统模型中的元素划分到不同的包中,说明在什么地方定义包,各个包之间的依赖性和主要通信机制。从而得到尽可能简单和清晰的结构,各部分之间的依赖尽可能的少,并尽量减少双向的依赖关系。3).详细设计与界面设计

详细设计是对软件结构中确定出的各个子系统内部的设计,需要分析和确定每一个子系统中的用例设计、设计类和接口。详细设计还要描述每个类的细节,并用动态模型描述类的实例在具体环境中的行为。

界面设计是对人和外部系统与系统之间交互界面的设计,包括输入界面、输出界面和输入/输出界面的设计。另外,界面设计还涉及到人机交互方式、人机交互流程、输入输出设备和媒体等内容。4).数据库设计

数据库是系统存储和管理数据的主要技术手段,数据库设计的任务是根据给定的系统应用需求和系统环境,设计出合理的数据库结构。数据库设计可分为概念设计、逻辑设计和物理设计3个阶段。用UML进行数据库设计的主要思想,是利用UML的扩展机制定义一些版型,用于表示与数据库相关的一些概念。Rose 2003提供了对数据库设计的支持,所设计的模型可以直接生成具体数据库中的表、触发器、存储过程等。

 系统结构设计

系统框架视图

· 用户界面包(User Interface Package)——用于描述整个用户界面使用的类,这些类提供的操作允许用户浏览系统中的数据,允许用户输入新数据。用户界面类基于Java AWT包设计,AWT包是Java语言中用于编写用户界面应用程序的一个标准库。用户界面包与业务模型包相互协作,调用业务模型包中类实例的方法对图书信息进行检索和插入操作。

。业务模型包(Business Model Package)——包含分析阶段主要的类(借阅图书类、归还图书类、图书类、读者类、出版社类)。在设计阶段将进一步细化这些类,从而完整地定义它们的操作,并为它们增加永久性存储支持。业务模型包与数据库包相互协作,访问数据库中的数据。· 数据库包(Database Package)——为业务模型包中的类提供数据存取服务,以便这些类能够实现数据的永久性存储功能。

。组件包(Utility Package)——包含一些可以被系统中其他包所使用的服务。

 界面设计

 详细设计

图书信息管理详细设计:

1.设计类图

“图书信息管理’’是一个用例,在“图书信息管理”用例所提取的3个概念类的基础上,可以确定该用例有3个设计类:登录图书信息(LoginBook)、修改图书信息(UpdateBook)、检索图书信息(SelectRook)。如图13.2所示为“图书信息管理”用例的设计类图。

“图书信息管理”用例设计类图

·

BpFrame类——属于用户界面包,定义系统检索与修改界面的框架。

·

BpSelectFrame类——属于用户界面包,继承BpFrame类,定义检索界面框架。

·

BpUpdateFrame类——属于用户界面包,继承BpSelectFrame类,定义系统修改界面框架。

·

SelectBook类——属于用户界面包,继承BpSelectFrame类,与DbChoice类相关联,显示图书信息检索界面。

·

LoginBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书信息登录功能。

·

UpdateBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书信息修改功能。

·

DbChoice类——属于组件包,定义了用于数据库操作的实例变量和实例方法。

2.顺序图

为实现用例的功能,每个用例要实现的功能要通过用例中各个类的对象的操作的相互协作完成,这就要在顺序图或协作图中反映各个对象之间的消息调用过程。如图13.3所示为添加的图书ID不重复的情况下“登录图书信息”用例的顺序图。

“登录图书信息”顺序图

3.属性和方法设计

用例设计中识别出了大量的设计类,接下来要详细地设计所识别出来的每一个设计类,即设计类的属性和方法。属性设计应该注意的问题是:一要补充属性分析时没有考虑到的属性,确定属性的全部内容,其中包括属性名、可视性、范围、类型、初始值;二要尽量采用系统采用的程序设计语言的语法规范描述属性。

方法设计包括数据结构设计、算法设计和流程设计。方法设计要注意的是:一要立足于所采用的程序设计语言;二所选用的程序设计语言应该能够提供丰富的数据结构;三要根据所实现的功能确定算法设计;四是可以用程序流程图或活动图来描述流程设计的结果。

如图所示为添加了属性和方法“图书信息管理”用例的设计类图。

添加属性和方法后的“图书信息管理”类图

LoginBook类的属性和方法设计如下:

·

sql属性——定义执行插人操作的SQL命令字符串。

·

chpublish_id属性——定义出版社ID。

·

LoginBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加图书信息界面。

·

cheekInsea()方法——①检查各输入项的输人格式是否正确;②检查图书ID是否重复。

·

makelnsertStmt()方法——定义执行插人操作的SQL命令字符串。

·

afterlnsert()方法——清空登录图书界面的各输入项。

SelectBook类的属性和方法设计如下:

·

sql属性——定义执行插入操作的SQL命令字符串。

·

chpublish_id属性——定义出版社ID。

·

SelectBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供检索图书界面。

·

checkSelect()方法——检查是否输入要检索的图书ID。

·

makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。

·

setSelectedData()方法——显示检索图书的结果。

·

clear()方法——清空图书检索界面各检索项。

UpdateBook类的属性和方法设计如下:

·

sql属性——定义执行插入操作的SQL命令字符串。

·

chpublish_id属性——定义出版社ID。

·

UpdateBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供检索图书界面;③提供修改图书功能。

·

checkSelect()方法——检查是否输人要检索的图书ID。

·

makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。

·

setSelectedData()方法——显示检索图书的结果。

·

clear()方法——清空图书修改界面各修改项。

·

checkUpdate()方法——检查各修改项的修改格式是否正确。

·

makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。

读者信息管理详细设计: 1.设计类图

“读者信息管理”是一个用例,在“读者信息管理”用例确定了3个概念类:添加读者信息、修改读者信息、检索读者信息。但是,该用例的功能相对比较简单。可以用1个设计类Borrow实现这3个概念类的功能。如图所示为“读者信息管理”用例的设计类图。

图13.5 “读者信息管理”用例设计类图

· Borow类——属于业务模型包,继承BpupdateFrame类,实现读者信息添加修改和检索功能。

2.顺序图

如图13.6所示为添加的读者ID不重复的情况下“添加读者信息”用例的顺序图。

“添加读者信息”顺序图

通过分析如图所示的顺序图,可以得到下图所示为“读者信息管理”用例的设计类图。

图优化后的“读者信息管理”用例设计类图

3.属性和方法设计

如下图所示为添加了属性和方法“读者信息管理”用例的设计类图。

添加属性和方法后的“读者信息管理”类图

Borrow类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· Borrow()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加、修改和检索读者信

息界面。

· checkSelect()方法——检查是否输入要检索的读者ID。

· makeSeleetStmt()方法——定义执行检索操作的SQL命令字符串。

· setSelectedData()方法——显示检索读者的结果。

· ehecklnsert()方法——检查是否可执行插入操作。

· makeInsertStmt()方法——定义执行插入操作的SQL命令字符串。

· afterlnsert()方法——清空各输入项。

· checkUpdate()方法——检查是否可执行修改操作。

· makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。

· checkData()方法——检查各输入项的输人格式是否正确。

· clear()方法——清空各文本框。

出版社信息管理详细设计: 1.设计类图

“出版社信息管理”是一个用例,可以用1个设计类Publish实现添加出版社信息、修改出版社信息、检索出版社信息3个概念类。如图13.9所示为“出版社信息管理”用例的设计类图。

图13.9 “出版社信息管理”用例设计类图

· Publish类——属于业务模型包,继承BpUpdateFrame类,实现出版社信息添加、修改和检索功能。

2.顺序图

如图13.10所示为添加的出版社ID不重复情况下“添加出版社信息”用例的顺序图。

图13.10 “添加出版社信息”顺序图

3.属性和方法设计

如图13.1l所示为添加了属性和方法“出版社信息管理”用例的设计类图。

图13.11 添加属性和方法后的“出版社信息管理”类图

Publish类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· Publish()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加、修改和检索出版社信息界面。

· checkSelect()方法——检查是否输入要检索的出版社ID。

· makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。· setSelectedData()方法——显示检索出版社的结果。· checklnsert()方法——检查是否可执行插入操作。

· makeInsertStmt()方法——定义执行插入操作的SQL命令字符串。· afterInsert()方法——清空各输人项。

· checkUpdate()方法——检查是否可执行修改操作。

· makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。· checkData()方法——检查各输入项的输人格式是否正确。· clear()方法——清空各文本框。

图书借还信息管理详细设计: 1.设计类图

“图书借还信息管理”是一个用例,在“图书信息管理”用例所提取的4个概念类的基础上,可以确定该用例有4个设计类:借阅图书(BorrowBook)、归还图书(RetumBook)、借出图书一览表(BorrowBookList)和未按期归还图书一览表(OverdueList)。如图所示为“图书借还信息管理”用例的设计类图。

图“图书借还信息管理”用例设计类图

· BorrowBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书借阅功能。

· ReturnBook类——属于业务模型包,继承BpUpdateFrame类,与DbChoice类相关联,实现图书归还功能。

· BorrowBookList类——属于业务模型包,继承BpSelectFrame类,与DbChoice类相关联,显示借出图书清单一览表。

· OverdueList类——属于业务模型包,继承BpSelectFrame类,与DbChoice类相关联,显示未按期归还图书与读者清单一览表。

2.顺序图

如图所示为读者ID与图书ID都存在情况下的“借阅图书”用例的顺序图。

“登录图书信息”顺序图

3.属性和方法设计

如图所示为添加了属性和方法“图书借还信息管理”用例的设计类图。

添加属性和方法后的“图书借还信息管理”类图

BorrowBook类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· BorrowBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供添加图书信息界面。· checklnsert()方法——①检查各输入项的输入格式是否正确;②检查借阅图书ID是否存在。

· makeInsertStmt()方法——定义执行插入操作的SQL命令字符串。

· afterInsert()方法——清空借阅图书界面的各输入项。

· checkSelect()方法——检查是否输入读者ID和图书ID。

· makeSelectStmt()方法——显示检索结果。

· checkDelete()方法——检查是否可执行删除操作。

· makeDeleteStmt()方法——定义执行删除操作的SQL命令字符串。

· afterDelete()方法——清空删除操作后的各输入项。

· clear()方法——清空所有的文本框。ReturnBook类的属性和方法设计如下:

· sql属性——定义执行插人操作的SQL命令字符串。

· RetumBook()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供图书归还界面。

· checkUpdate()方法——检查各修改项的修改格式是否正确。

· makeUpdateStmt()方法——定义执行修改操作的SQL命令字符串。· afterUpdate()方法——清空所有的文本框。BorrowBookList类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· BorrowBookList()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供实现“借出图书一览表”功能的界面。

· makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。

· setSelectedData()方法——显示检索结果。OverdueList类的属性和方法设计如下:

· sql属性——定义执行插入操作的SQL命令字符串。

· xOverdueList()方法——类的构造方法。①调用DbChoice类的对象实例,以实现加载JDBC驱动程序,创建数据库连接等功能;②提供实现“未按期归还图书一览表”功能的界面。

· makeSelectStmt()方法——定义执行检索操作的SQL命令字符串。

· setSelectedData()方法——显示检索结果。

组件包设计:

组件包包含被所有其他包使用的通用组件,图书管理系统的组件包由Const、DbChoice、BpUtil三个类组成,这三个类定义了系统所有其他类所使用的公共常量与公共方法。另外,IconCanvas(加载系统界面所使用的图标)、MsgDialog(信息显示对话框)、SQLExceptionDialog(显示数据库异常信息对话框)3个类也为系统所有其他类所公共使用。在此与组件包中的类一起进行说明。1.Const类

Const类定义了系统所使用的公共名称等常量,其类图如图所示。

Const类的类图

2.BpUtil类

BpUtil类定义了系统使用的公共方法,其类图如图所示。

BpUtil类的类图

BpUtil类的方法设计如下:

· repeateString()方法——返回指定个数的字符串对象。

· varchar2text()方法——返回按照指定长度调整的字符串对象。

· setComp()方法——在组件上按照CridBagConstraints布局配置Panel。· checkWaming()方法——检查数据库连接操作是否出现异常。· isNumeric()方法——验证字符串能否转换为数值。

· getToday()方法——以YYYY/MM/DD的格式返回今日的日期。

· getToday()方法——返回以今日为基点的指定为YYYY/MM/DD格式的日期。· isYMD()方法——验证能否识别YYYY/MM/DD格式的字符串。· GB2312Unicode()方法——GB2312转换为Unicode。· UnicodeGB2312()方法——Unicode转换为GB2312。

· getRowCount()方法——求数据表中满足条件的记录数。

· convYMD()方法——Java.util.Date类型数据转换为YYYY/MM/DD格式。

3.DbChoice类

DbChoice类定义了用于数据库操作的实例变量与实例方法,其类图如图所 示。

DbChoice类的类图

DbChoice类的属性和方法设计如下:

· con属性——定义用于数据库连接的实例变量。· query属性——定义用于SELECT语句的实例变量。· displayCol属性——定义用于检索结果的列数。

· valueCol属性——定义方法getSelectedVal()返回值的列数。

· vItem属性——定义用于保存方法getSelectedVal()返回值的Vector · DbChoice()方法——构造方法,用于初始化实例变量。· setQueryData()方法——执行检索操作。· getSelectedVal()方法——返回检索结果。· setValueCol()方法——设置列的值。· getValueCol()方法——返回列的值。

· setDisplayCol()方法——设置显示列的值。· getDisplayCol()方法——返回显示列的值。

· setDisplayhem()方法——设置显示项的列的值。4.IconCanvas类

IconCanvas类用于完成加载系统界面所使用图标的功能,其类图如图所示。

IconCanvas类的类图

IconCanvas类的方法设计如下:

· IconCanvas()方法——构造方法,用于完成加载图像文件的功能。· paint()方法——用于完成显示图像文件的功能。5.MsgDialog类

MsgDialog类用于完成显示系统界面所使用的信息对话框功能,其类图如图13.19所 示。

MsgDialog类的类图

MsgDialog类的属性和方法设计如下:

· MsgDialog()方法——构造方法,用于生成信息显示区域,定义信息对话框的标题、布局管理器等功能。

· actionPerformed()方法——用于处理发生的事件。

6.SQLExceptionDialog类

当发生数据库异常时,SQLExceptionDialog类定义了用于显示数据库异常信息对话框,其类图如图所示。

SQLExceptionDialog类的类图

SQLExceptionDialog类的属性和方法设计如下:

· SQLExceptionDialog()方法——构造方法,用于定义发生的SQL异常。· actionPerformed()方法——用于处理发生的事件。· setMessage()、方法——用于显示发生的异常信息。系统管理详细设计:

系统管理由Bookplate和LoginDialog两个类组成,Bookplate类用于显示系统主功能界面,LoginDialog类用于显示用户登录对话框界面。Bookplate类与LoginDialog类之间有单向关联关系,即Bookplate类中定义的实例变量dialog可以调用LoginDialog类的构造函数,以实现系统登录界面的显示,描述两者之间关系的类图如图所示。

“系统管理”用例设计类图

Bookplate类的方法设计如下:

· main()方法——系统执行的入口点,用于显示系统主功能界面。

· Bookplate()——构造方法,用于设置系统框架(Frame)、标题、菜单、按钮布局、标签等系统组件。

· aetionPerformed()——当用鼠标左键点击各功能按钮时,分别调用各个子功能系统,同时实现生成、显示和隐藏对应的框架的功能。LoginDialog类的方法设计如下:

· LoginDialog()方法——构造方法,用于设置用户登录对话框界面的标题、显示信息区域、设置标签和文本域、生成按钮等功能。

· actionPerformed()——当用鼠标左键点击功能按钮时,处理所触发的事件。· getStatus()——返回按钮的状态值。· getUserID()——返回用户ID。· getPassword()——返回用户口令。

 数据库设计(表略)

UML设计 篇3

关键词:UM;系统建模;实验室管理

中图分类号:TP311.52 文献标识码:A文章编号:1007-9599 (2010) 13-0000-02

The Design of Management System for Laboratories on UML

Ma Wei

Changchun engineering college,130012

Abstract:UML is an object-oriented modeling language, the standard in system development is widely used. Based on laboratory management system software development needs,describes the system function requirement analysis modeling process.

Keywords:UML;system modeling;laboratory management

随着近年来高校教育改革和发展,为了进一步提高各高校管理的水平,不得不考虑如何提高工作的效率。实验室管理系统是网络教学的重要组成部分,主要实现实验室信息管理,发送报告、管理学习内容、预约实验室课程等功能。本文基于UML作为分析设计描述语言,分析设计了一个实验室管理系统。

一、UML建模机制

UML(Unified Modeling Language的缩写)统一建模语言,它是用来对软件密集系统进行可视化建模的一种语言。UML作为一种对软件系统进行规约、构造、可视化和文档化的语言,它融合Booch方法、OMT方法的核心概念而形成的一个公共的、同意的、有广泛实用性的建模语言。它也是为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。

二、需求分析

开发者要充分了解客户的需要才能够设计出比较完善的系统,如果不能很好的理解客户需求,在设计上就会返工,下面就是经过双方调研后的到的需求說明。

(一)系统管理模块:该模块下又包括了用户管理、数据库备份、数据库还原等个子模块。由于该模块是对整个系统中权限的管理,所以该模块只有超级管理员可以操作,在这里超级用户可以添加其他用户并授予不用级别的管理权限。

(二)教师管理模块:该模块下又包括了实验授课计划表和审批、调串课三个子模块,该模块是教师登录后可管理的模块,所以该模块是对教师组登录后才可见的。教师在实验授课计划表中填写好所做实验的地点、时间、项目、班级、学生数等具体情况,用来为系统的自动排课提供信息,然而只有通过审批的计划表才可以参加排课。

(三)实验室管理功能:包括实验室信息、实验室统计、课程管理、实验室统计、设备管理、公告、日志管理、实验室预约管理七个子模块,辅助实验员与教师根据实验教学计划安排实验任务以及对实施情况进行监督管理。

(四)学生管理模块:学生在登录系统后可以进行实验室开放课程预选,并且可以查看课表。

三、用例视图的建立

用例视图描述的是系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。用例视图通常用例图表示,一个用例图就是系统中的一个功能模块,它表示参与者与系统之间进行的一次交互作用,也把参与者与系统中的用例的联系给标识出来,并确定什么样的参与者执行的哪个用例。系统的参与者可以使人,也可以使外部系统或子系统等。以本系统的“实验员”功能为例的用例图,如图1所示。

四、系统的静态模型的建立

UML建模分析与设计中静态模型是依据系统结构从静态观点描述系统的视图,它定义系统中的对象和类及类之间的关系和类的内部结构,即类的属性和操作。系统的静态模型主要包括静态视图(类图、对象图、包图)、用例视图(用例图)、实现视图(构件图、配置图)。

实验室管理系统中的“课程管理”用例的类图如图2 所示。

在“课程管理”用力中,有“课程类别(Course)”、“开放课程类(CouserOffering)”、“班级类(Class)”、“学生类(Student)”、“教师类(Teacher)”、“课程表(CourseOfferingform)”等。

五、系统的动态模型的建立

系统的静态模型建立以后,开始进行系统的动态建模。动态模型包括行为视图(状态图、活动图)、交互视图(顺序图、协作图)。顺序图将交互关系表示为一个二维图。纵向是时间轴,横向代表协作中独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。消息从一个对象的生命线到另外一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列

六、结束语

基于ASP的实验室设备管理系统,是结合高校的实际情况所设计的一个基于数字化校园信息平台的实验室设备管理系统,它实现了高校实验室设备的网络化管理。在进行系统需求分析这个重要阶段时选择UML进行系统建模,可以让用户更好的参与进来,加强信息的交流,既加快了开发人员对问题的理解,又让设计流程变得清晰化。这说明UML这种系统建模提高了系统开发的成功性,促进了系统的实用性、规范性。

参考文献:

[1]时陪芳,张永胜.基于UML的上考试系统的设计[J].计算机系统应用,2005,(10)

基于UML的信息管理系统设计 篇4

学校图书馆信息管理系统是学校信息管理系统中的一个重要组成部分, 要求系统具有健壮性、可扩展性及便于维护性。本文就是根据图书管理的需求, 利用UML为学校图书馆信息管理系统建模, 给出其用例图、类图、活动图及序列图, 并详细分析了创建这些图的要点及过程。

二、UML建模机制

UML (UnifiedModelingLanguage, 统一建模语言) 不仅支持面向对象的分析与设计, 而且支持从需求分析与设计以及实现软件开发的全过程。UML支持三种建模方式:功能性、静态及动态建模。功能性建模是描述系统提供的功能;静态建模是现实生活中各种对象以及它们之间的关系抽象;动态建模描述系统中的对象在执行期间不同的时间点的动态交互。

三、图书馆信息管理系统的UML模型

1、功能性建模———用例视图

用例用于描述用户需求的基本功能。学校图书馆信息管理系统的服务对象主要是全校师生员工, 系统的使用对象为图书馆的工作人员。主要完成以下功能:

1) 图书编目:对新进图书进行著录, 能够建立和维护各类MARC记录, 各类MARC记录按照原格式存放、编辑;

2) 典藏管理:图书的入库;对剔旧和丢失的图书进行注销;打印有关统计表。

3) 读者管理:单个或成批的添加、挂失、停借、注销。

4) 图书流通:读者可以通过图书管理员在系统里借还图书、以及预约图书。

5) 信息查询:读者通过查询子系统可以查找所需图书的信息以及个人借阅信息。

6) 系统管理:建立管理员的帐号和权限;进行有关参数的设置;提供相应的统计报表。

·根据上述功能需求分析定义用例及系统角色, 如图1所示:

·关于业务流程 (数据流)

用文本说明来说明数据的流向, 在此简单阐述一本新书是如何到读者的手里。图书管理员先给读者办理借阅证;新书到馆后, 图书管理员对新书进行著录、入库 (包括两方面的工作:一是通过系统转到数据库中, 一是将新书上到书架) 并打印统计报表;读者通过查询子系统找到所需图书后径直到书架上取书, 在这里又分两种情况:一是若书在架上, 取下后交给图书管理员, 然后登录到借书子系统, 输入读者号和索书号即可, 系统将进行记录和更新;一是若书不在架上, 则读者可通过图书管理员登录到预定子系统进行预约, 等书还回后, 图书管理员将告诉已预定过的读者来借阅。

2、静态建模-逻辑视图

逻辑视图用来显示系统内部的功能是怎样设计的, 它利用系统的静态结构和动态行为来刻画系统功能。本文为图书管理系统建类图。类图设计是面向对象方法的核心技术, 通过类图将用例的实现具体到每个类中, 从而完成设计走向细化的过程。

·图书馆信息管理系统类的描述

(一) 系统对象

(1) 类Reader

描述了读者的信息, 包括姓名、性别、读者类型、读者号等。其所有对象都是持久的 (Persistent) , 继承了类Persistent并实现了读写操作。

(2) 类Title

描述了图书的著录信息, 包括书名、作者、出版者、出版日期、索书号等。它继承了类Persistent并实现了读写操作, 其所有对象都是持久的 (Persistent) 。

(3) 类Book

代表可以借阅的物理书刊, 该对象有两个状态"已借出"和"未借出"。之所以区分类Book和类Title, 因为图书馆对同一种书刊通常保存几本复本。它继承了类Persistent并实现了读写操作, 其所有对象都是持久的 (Persistent) 。

(4) 类Loan

描述了读者从图书馆借阅物理书刊的借阅记录。它继承了类Persistent并实现了读写操作, 其所有对象都是持久的 (Persis-tent) 。

(5) 类Reservation

描述预定记录, 读者可以预定已借出的书刊, 即优先借阅该书刊的物理拷贝。它继承了类Persistent并实现了读写操作, 其所有对象都是持久的 (Persistent) 。

(6) 类Persistent

支持对象的持久存储, 具有将对象写入数据库文件的方法read () 和从数据库读出对象的方法write () , 还提供了通过OID检索对象, 获得持久对象的OID, 以及存储、删除、更新对象的方法。

(7) 类OID

实现了对象ID, 可以用来引用系统中的持久对象, 使得从数据库文件中引用和检索对象变得容易。对象ID由所引用的类的类名和一个独一无二的号组成。通过将OID传递给类Persistent的方法getobject () , 可以从数据库文件中读出对象, 并将对象返回给调用者。

(二) 用户界面类

(1) 类MainWindow

系统的主界面, 选择不同的菜单项时可以执行不同的操作。

(2) 类ReaderDialog

进行读者管理的操作, 比如添加、删除、挂失、停借、补办等。

(3) 类BorrowDialog

进行借书的界面, 图书管理员通过输入读者号可以完成借阅手续。

(4) 类ReturnDialog

进行还书的界面, 图书管理员通过输入图书号如条形码可以完成还书操作。

(5) 类titleDialog

进行图书著录的界面, 图书管理员可以对图书进行编目、入库、注销等操作。

(6) 类FindDialog

提供信息查询, 图书管理员和读者都可以进行图书和借阅信息的查询。

(7) 类RsvDialog

进行预定的界面, 图书管理员可以通过输入图书号为读者预定所需的图书。

(8) 类LoginDialog

提供登录界面, 图书管理员可以通过输入帐号登录到系统。

·识别出系统中的类后, 接着识别出类间的关系并建立域类结构图。

可将系统中的类分为3个包:GUI包、Library包和DB包。包GUI由界面类组成, 包Library由实体类组成, 包DB又与数据库有关的类组成。包GUI依赖于包Library和包DB, 包Library依赖于包DB。

在用户界面类中, 各个子系统都是通过主界面进行启动的, 所以它们之间是一种聚合关系;在系统对象中, 各个子类都会继承父类Persisten的一些属性和方法, 其实也是一种聚合关系;而各个子系统分别与一些子类发生关系的, 因此是一种关联关系。

3、动态建模———并发视图

并发视图用来显示系统的并发工作状况。本文给出图书馆信息管理系统借书活动的序列图, 序列图用来显示对象之间的动态合作关系, 强调对象之间消息的发生顺序, 同时显示对象及它们之间的交互。

借书的过程是:图书管理员在主界面启动借书子系统界面, 然后输入帐号和密码登录到服务器;接着输入读者证号和图书的索书号, 接受服务器数据库的验证;通过后管理员将图书交给读者, 过程结束, 如图3所示。

4、物理模型

本系统是一个基于局域网和数据库的应用系统。配置图如图4所示, 有四个节点:"Library Server" (图书馆信息管理系统服务器) 、"DB Server" (数据库服务器) 、"PC" (图书馆信息管理客户端PC) 、"Printer" (打印机) , 另外"Library Server"通过校园网和"School Server" (校园网服务器) 连接。

四、小结

本文是利用UML对图书馆信息管理系统进行了建模的开发工作, UML能够对整个开发过程提供灵活、一致和易读的表达, 便于软件系统的理解、扩充和维护, 特别适合于大型软件的开发。

摘要:本文首先介绍简单UML建模机制, 接着根据图书管理的需求, 利用UML为学校图书馆信息管理系统建模, 给出其用例图、类图、活动图及序列图, 并分析了创建这些图的要点及过程。

关键词:UML,系统设计

参考文献

[1]、Stephen R.Schach著.《Software Engineering with Java》.机械工业出版社

[2]、冀振燕编著.《UML系统分析设计与应用案例》.人民邮电出版社

[3]、B.Bruegge A.H.Dutoit著.《Object-Oriented Software Engineering》.清华大学出版社

UML设计 篇5

关键词:计算机技术;嵌入式系统;UML语言

UML语言又被称为标准建模语言,主要是被用来进行软件开发与支持模型化的计算机图形化的语言。在软件开发过程中,可以通过标准建模语言提供的可视化与模型化支撑进行软件规格、配置及构造的最优化。与此同时,它还是一种易于表达、功能强大、定义良好的建模语言,基于这些优势,将UML语言应用到嵌入式系统的开发设计中,能实现目前用户对该系统的功能、体积、功耗及可靠性的要求。

1嵌入式系统应用背景的产生

嵌入式系统是基于计算机技术,融合了电子技术、半导体技术,并对应用领域实际需求产生的一种具有功能强大、可塑性强及应用广泛的知识集成系统。由于该系统自身的优势,因此,被广泛应用于技术、资金密集的工业生产中。目前,市场中的电子产品、汽车、数码等都应用了嵌入式系统进行生产。嵌入式系统最早形成时还形不成“系统”概念,因为最初的嵌入式系统主要是依靠单片机运行的,只能执行单线程的工作程序[1]。随着计算机技术及商业社会的发展需求,嵌入系统初步形成,可以运用计算机嵌入式系统进行应用软件的编辑,执行任务管理和内存管理等功能。发展到至今,嵌入式系统已经可以实现实时的多任务操作,成为目前应用软件开发的主流,发展与应用前景广阔。

2UML语言及其框图的应用模式分析

UML语言是一种应用于计算机系统编程的可视化建模语言,在具体应用操作中可以实现满足用户对系统需求的刻画、分析、设计集成以及实现和测试,实现系统功能的构建更加合理[2]。UML建模语言可以将建立的模型数据信息运用标准的图形元素直观地展示在用户、测试人员、管理人员以及开发人员或是其他项目相关人员面前,使他们可以对系统的功能、结构设计进行更好的交流,实现对系统的良好构建。目前,市场上最为常用的建模语言主要有Booch、OMT及UML三种语言,相较于其他两种建模语言来讲,UML语言更加简化,操作简单、适用范围广泛,因此,被许多企业采用。UML语言不仅可以对静态的结构进行建模,还可以对具有动态行为的系统进行建模,因此,适用于系统的全部开发阶段。UML语言是一种可视化的建模语言,因此,该语言中的所有语素都是由一个个的框图组成的。系统设计人员应用在UML语言时,就是通过对框图的描述来实现对整个系统的设计。UML语言的框图有很多种,现针对几种主要框图进行分析。BusinessUseCase框图与UseCase:这两种框图所对应的语素不同,BUC框图所代表的语素主要是对整个系统的机构功能进行描述;而UC框图则主要是根据用户对系统的需求,进行系统功能描述。因此,经常被用来与客户之间进行交流,提取有效建构信息。Class框图:此种框图是一种静态图,代表语素主要被用来对系统中的类进行描述。通过对该框图的观察,可以清楚地了解系统中类的内容、功能以及结构关系。StateChart框图:该框图主要被用来对建模对象的状态及各个建模对象之间的转换关系进行描述,主要用来提供建模系统的动态功能[3]。此种框图在实际应用中被广泛运用到系统的实际建立中,可以生成系统构建所需的全部代码。Collaboration框图与Sequence框图:这两种框图都是对系统对象之间的相互关系进行描述的框图。但Sequence框图在进行描述时主要以时间顺序进行,而Collaboration框图则是针对系统角色与显示对象之间的交互进行着重描述。通过Collaboration框图,可以让系统建筑师与质量保证工程师及时了解分析对象的分布情况,若出现不合理状况,系统建筑师便可及时进行调整或重新分配。UML语言中包含的这些框图,在进行系统设计、建模以及分析的过程中,会提供多种不同的图片表达形式,因此,可以用在系统开发的不同阶段。将UML语言中的这些框图应用在嵌入式系统开发中,通过它们之间的有机结合可以构建出一个功能完整、一致的高效系统。

3UML语言在嵌入式系统中的有效应用

3.1以车载GPS终端为例

嵌入式系统在各个领域被广泛应用,在本文中,我们以车载GPS终端为例进行UML语言在嵌入式统中的有效应用研究[4]。机动车的车载GPS终端是用来进行实时定位的装置,被广泛应用在出租车或运输车这类需要进行调度、定位的车队中。该终端的功能实现主要通过车载GPS终端与卫星进行实时的信号传输,实现对机动车位置的掌握,进而进行准确定位。准确定位后,再通过无线通讯网络将机动车位置反馈给远程的中心系统。此时,中心指挥系统就可以清楚掌握终端反馈的位置信息,实现对机动车的远程控制与跟踪。在机动车遇到特殊情况时,中心系统可以通过终端对车辆进行控制,实现车队的正常运行。与此同时,若是车辆遇到险情,车载终端还可以起到电话功能,进行远程报警。

3.2进行嵌入式设计时对UML语言的需求分析

运用UML语言对嵌入式车载GPS终端系统需求进行分析时,可以通过UseCase框图进行系统功能分析。UseCase框图在进行系统功能表达时,在图中显示的车载GPS终端系统功能需求将其分为两部分来展示,即角色与案例。所谓的角色就是指与系统之间进行交互的人和物,而其中的案例则是用来表示系统所提供的功能块。通过UseCase框图对系统进行观察,可以帮助人们将系统实现与系统目标进行分离,因此,可以使系统开发人员详细了解系统的重要组成部分。最后,设计出的系统功能能实现用户的需求,而不会使设计人员在系统细节实现上过多地浪费时间[5]。通过观察UseCase框图发现,车载GPS终端中的角色定位主要有两类,即车载终端的用户与监控中心的用户。车载终端的用户可以通过终端进行报警。而监控中心系统的用户则可以通过系统查询车辆位置信息及发送调度信息。

3.3通过UML语言对产品进行规格说明

对系统的规格说明要求要比需求分析的显示更为详细,因此,运用UML语言进行嵌入式系统的设计,可以使系统规格说明更加清晰与直观。在对车载终端系统中的规格进行说明时,首先、可以通过Class框图进行描述。该框图可以对系统处理的数据结构进行描述,对接收到的GPS卫星信号进行描述。其次,Class框图在进行规格说明时,还要将系统进行功能模块划分,并且找出所有系统,对主要对象进行识别。之后再通过UML语言中的Collaboration框图对各对象之间的关系进行描述。最后,在进行规格说明的业务描述时,也就是对规范的操作系统完成主要功能流程的显示,此时,可以运用UML语言中的Activity框图进行展示。

4结语

通过对嵌入式系统开发需求以及UML语言的功能进行分析,发现利用UML语言进行嵌入式系统设计可以满足提高该系统的开发速度与产品质量要求。与此同时,还可以增加系统设计的可重复使用性,实现了对系统设计的优化及利用,满足了用户对系统的各项需求,具有广阔的应用前景。

参考文献

UML设计 篇6

[关键词] 体系结构 用例 UML 2EE

一、引言

考勤管理是企业人力资源管理的一部分,随着企业规模的扩大,企业的子部门不断增多,楼宇趋于分散,传统的考勤方式已不能满足现代企业管理的需求。成熟的Intranet企业网络及企业内部大型数据库管理平台的建立,为企业考勤管理系统的实现提供了便利条件。

在系统开发中,良好的模型能使工作事半功倍,良好的体系结构通过合理的层次划分,可以提高开发效率,并为程序的升级和移植提供便利。J2EE(Java 2 Platform Enterxprise Edition)为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制,然而J2EE技术与实际项目存在语义差异,采用UML统一建模语言建立的系统模型能很好地消除这种差异,本文探讨了二者在企业考勤管理系统开发中的应用。

二、UML及J2EE概述

1.UML概述

UML(Unified modeling Language)是一种定义良好、易于表达、通用的可视化建模语言,它能很好的将人们的思想活动转化成一种他们所熟悉的“书面性”的抽象形式,它支持面向对象的从系统需求分析开始的软件开发全过程。

UML主要以图的方式来描述系统模型,为了从不同角度描述系统,UML定义了5类共10种模型图:用例图、静态图(包括类图、对象图和包图)、行为图(包括状态图、活动图)、交互图(包括时序图、协作图)、实现图(包括组件图、配置图)。

2.J2EE概述

Sun Microsystems的Java 2平台有三个版本,微型版(J2ME)、标准版(J2SE)和企业版(J2EE)。 J2EE是由一套规范和建立在J2SE平台之上的应用编程接口(API)组成,除了现有J2SE的API,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlet API、JSP(Java Server Pages),以及XML技术的全面支持。

为了缩减开发成本,快速跟踪企业应用的设计和开发,J2EE技术提供了基于组件的设计方法,开发、集成和部署应用程序。J2EE平台提供了多层分布式应用模式,使其具有重用的能力。

三、系统需求分析

需求是系统必须提供的具体功能,本项目采用的是用例驱动的方法来获取需求。用例是从用户(或外界系统)的角度,通过描述用户与系统的交互来理解系统的功能。要建立需求分析的用例模型,首先是获取业务角色(参与者),然后从参与者中找出用例,确定了系统参与者和用例之后,即可得到系统用例图。

考勤管理系统旨在对企业员工的出勤情况进行考察,之后将考勤与财务工资系统及相关的奖惩机制挂钩。整个系统由数据维护模块、统计报表模块、查询模块组成。

数据维护模块:包括员工基本信息维护、考勤信息维护、设置考勤类别。通过维护对这些原始数据进行修改或扩展。

统计报表模块:对数据库进行读写操作,通过前面采集的数据生成相关报表。查询模块:包括考勤信息查询,综合信息查询。

下面以数据维护模块为例,分析得到与其交互的角色如下:

1.打卡机

负责采集打卡员工的职工号、打卡时间及打卡机号码,显示打卡前后的提示信息。

2.系统管理员

主要负责在公司规定的时间段开/关系统,统计、查询员工打卡数据,对考勤类别进行详细设置。

3.员工

是系统的考察对象,参与的业务是提供打卡信息,以及查询本人当月考勤情况。用例分析如图1和图2所示:

四、系统设计

系统设计是构造系统的阶段,它是对分析结构的进一步精化,分析侧重于理解问题域,设计侧重于解决方案。设计的成果可以作为程序员编码的依据和指导。设计阶段的主要任务是: 系统体系结构设计、对象类设计、持久对象设计,模型图主要由顺序图、类图、协作图构成。

1.系统体系结构设计

J2EE使用多层分布式的应用模型,应用逻辑按功能划分为组件,各种不同的应用组件构成分布在不同的依赖于层的机器上的J2EE程序,这些组件分别是:运行在客户端机器上的客户层组件,运行在J2EE服务器上的Web层组件和业务逻辑层组件,运行在数据库服务器上的企业信息系统(Enterprise information system,简称EIS)层软件。考勤管理系统所采用的体系结构如图3所示。

客户层是系统的显示部分,将来自系统的信息显示给用户。Web层接收来自客户层的请求并将处理结果反馈给客户层。业务逻辑层负责实际工作的执行,处理与考勤系统相关的业务逻辑,并在需要时与数据库进行交互。EIS层提供主要的数据服务。J2EE提供的只是一个体系结构,在实际的项目开发中,需要进行具体的设计。

2.Web层的设计

Web层由Servlet、Java Bean和JSP组成,来自客户的请求由Servlet处理,然后重定向到JSP显示,这种显示与逻辑相分离的机制有利于系统的开发。JSP具有双重功能,一是向客户端提供Web显示页面,另外在服务器端执行某些逻辑操作。因此,可将JSP划分为两个不同的部分:《Client JSP》表示JSP在客户端的行为,《Server Page》表示JSP在服务器端的行为。当员工打卡时,数据传输至服务器端,并且打卡请求处理后生成的反馈页面传输给卡机显示终端。

3.业务逻辑层的设计

业务逻辑层上的EJB处理来自客户端的数据,该层的动态行为模型可以由UML的交互图及设计类的类图表达。这里使用的交互图是顺序图和协作图,类图体现了类之间的关系,是系统实现的基础。下面以员工打卡用例为例说明业务逻辑层的设计过程。

员工打卡用例的业务流程为:员工在打卡界面激活打卡命令,打卡信息提交给Servlet处理,并由EJB执行逻辑判断是否可以打卡,如果可以打卡,则返回提示信息至打卡界面,然后员工卡号及打卡时间通过网络传输保存至数据库服务器,打卡用例顺序图如图4所示。

顺序图有助于开发人员理解用例的实现过程,然而在具体的实现阶段需要的是具体的类,类包括边界类、控制类和实体类,识别出系统中主要用例的类是编写代码的基础。

员工打卡用例是由以下类来实现:员工类、打卡界面类、返回界面类、业务控制类、数据库实体类。员工类是指用户的实际操作,即员工通过打卡输入员工卡号及打卡时间。打卡界面类负责显示提示信息,返回界面类显示打卡后的反馈信息,业务控制类负责对业务的控制,数据库实体类负责员工打卡数据的读取。员工打卡用例的类图如图5所示,在识别类的基础上,能方便地画出用例的协作图,如图6所示。

4.EIS层的设计

EIS层保存了考勤管理系统的持久对象,持久对象数据库的创建采用SQL Server实现,采用JDBC驱动程序访问数据库,通过应用服务器(Weblogic)配置数据源,其配置步骤分两步:一是建立并配置连接池;二是配置数据源。

五、展望

基于UML和J2EE的系统设计,可以帮助用户和设计人员对问题的描述和理解达到一致,使用J2EE组件技术能开发出低价位的、高速的、占用少量资源的企业级应用程序,随着电子商务的发展,基于UML和J2EE的企业级应用将发挥越来越重要的作用。

参考文献:

[1]宁波:J2EE结合UML在企業级系统中的应用.计算机工程与科学[J],2004.3

[2]邵维忠梅宏:统一建模语言UML述评.计算机研究与发展[J],1999年第10期

[3][美] John Hunt,Chris Loftus[著],周立斌杨飞等[译].精通J2EE—Java企业级应用[M].清华大学出版社

[4]崔立元罗燕京李刚:基于企事业模型的软件需求工程方法.计算机工程与应用[J],2002,7

[5]谢卫宇王恒山:基于用例驱动分析的软件需求获取方法.计算机与现代化[J],2002年第6期

UML设计 篇7

1 UML简介

UML是一种可视化建模语言, 是用来对软件密集系统进行描述、构造、可视化和文档编制的一种语言, 可以在任何一种建模过程和方法中使用。UML能够让系统构造者用标准的、易于理解的方式建立起能够表达他们设计思想的系统蓝图, 并且提供一种机制, 以便于不同用户之间有效地共享和交流设计成果。作为一种建模语言, UML是一个标准的“图形表示法”, 仅仅是一组符号。其定义包括UML语义和UML表示法, UML语义用于描述基于UML的精确元模型定义, 定义统一的UML图形元素;UML表示法用于定义UML符号的表示法, 为开发者或开发工具使用这些图形符号和文本语法, 以及为系统建模提供标准。

UML是对模型中最有代表性的成分的抽象, 包含构件事物、行为事物、分组事物、注释事物4类。UML定义的关系有依赖、类属、关联、实现、聚合和组合6类。UML中的图可以分为结构图和行为图两大类, 前者描绘系统组成元素间的静态结构, 包括用例图、类图、构件图、配置图、包图等, 后者描绘系统元素的动态行为, 包括活动图、状态图、合作图、顺序图、时间图等。

从运用的角度看, UML可以用于系统开发的不同阶段, 包括系统分析阶段、系统设计阶段、对象设计阶段、测试阶段。UML工具是帮助软件开发人员方便使用UML的软件, 不同的工具提供的功能不同, 选择UML工具需要考虑产品价格、产品功能、产品与自己的开发环境是否密切、产品服务、产品通用性等因素。

2 基于UML的牧草生产决策系统模型总体设计

2.1 牧草生产决策系统设计背景

晴隆县是贵州省石质荒漠化 (石漠化) 较为严重的县之一。石漠化地区自然条件恶劣, 生态脆弱, 制约了当地经济社会可持续发展[9,10]。近10年来, 该县发展草地生态畜牧业, 以种草养羊取代传统的谷物种植业, 取得扶贫开发和环境保护相平衡的好效果, 被誉为石漠化综合治理的“晴隆模式”[11,12,13]。但是目前晴隆县牧草种植专业技师人数有限, 牧草生产中面临着农民施肥、选择牧草种类缺乏科学依据、病虫草害防治困难等问题。

在分析借鉴国内外农业决策系统应用开发现状的基础上, 结合晴隆县农业生产具体情况, 针对石漠化地区的牧草种植特点, 对牧草生产知识进行了系统整理和深入研究, 以期能够将计算机技术、决策支持系统原理与牧草选种施肥咨询、病虫草害诊断知识合理整合, 构建基于网络平台的晴隆县牧草生产决策系统。

2.2 牧草生产决策系统设计中的图

该文中牧草生产决策系统设计使用visio工具软件绘制用例图和活动图。

2.2.1 UML用例图。

用例图的目的是使用简单直观的方式, 描述软件系统的功能和需求。牧草生产决策系统使用的用例图直观地描述了该系统要实现的种植牧草技术需求, 如图1所示。

2.2.2 UML活动图。

活动图显示了系统内各种活动的工作流程, 描述用例或外部操作人员操作本系统时的时间流程。工作流程通常包括一个基本工作流程和一个或多个备选工作流程, 如图2所示。

2.3 牧草生产决策系统设计中的功能模块图

通过画出功能模块图描述本决策系统所要实现的各种功能, 并分类, 以便软件工程师根据功能模块图来具体实现这些功能, 如图3所示。

2.3.1 土壤养分网格咨询模块。

该模块可利用土壤养分网格信息进行牧草测土施肥。土壤肥力网格信息是通过对一个地区的土壤进行详细网格采样检测, 利用计算机插值的方法对土壤耕层 (0~20 cm) 中主要营养元素及土壤质地进行分析。

该模块不需要指定具体农户, 只需直接输入网格点信息, 包括乡镇名称、经纬度、土壤类型等, 就可以得到相应地点土壤主要养分含量及土壤质地基本信息, 该信息对单独农户生产指导意义不大, 主要是农技人员开展土壤肥料研究时使用。

2.3.2 农户牧草选种施肥生产咨询模块。

该模块提供牧草生产咨询, 细分为5个子模块。

(1) 牧草产量预测模块。此模块的功能可粗略预测目标产量, 需要输入具体地理位置、所种植的牧草种类。系统会调取该区域、该种牧草历史产量数据, 由最近3年产量平均值按照增产10%~15%的幅度来预测当年目标产量。得到预测目标产量后, 可以进一步指导施肥工作。

(2) 牧草品种选择模块。此模块根据晴隆县目前主要种植的牧草种类对肥料的敏感程度, 将其分为喜肥类牧草和耐贫瘠牧草2类。输入具体地理位置后, 对于质地较好、保水保肥性强的土壤, 系统会推荐若干种喜肥类牧草, 以达到增施肥料提高牧草产量之目的;对于质地较差、保水保肥性弱、施用肥料后增产效果不显著的土壤, 系统会推荐若干种耐贫瘠牧草。

(3) 牧草推荐施肥模块。此模块首先利用牧草产量预测模块, 预测得到产量结果。再结合具体农户土壤耕层实际养分测定值、土壤养分供应能力、肥料利用系数、该种牧草作物吸肥量, 根据养分平衡公式给出施肥量建议。

(4) 牧草种植效益分析模块。晴隆县种植牧草主要用于饲养山羊获利, 也可烘干打捆后出售。此模块可根据农户当年投入到牧草生产中的各项费用, 如化肥、农药、灌溉等的投入, 帮助农户计算当年的产投比, 使农户对当年土地获利情况有总体的认识, 为今后牧草种植积累经验。

(5) 预览打印模块。此模块可以将用户咨询的结果以文本或者图像的形式输出, 方便没有计算机的农户指导生产。

2.3.3缺素及病虫草害诊断模块。

本模块细分为4个子模块, 分别为缺素诊断模块、病害诊断模块、虫害诊断模块和草害诊断模块。此模块是通过收集整理贵州省和其他地区牧草病虫草害资料, 建成数据库, 再运用基于框架的知识表示和确定性正向推理技术, 以ADO的方式和SQL语言进行数据库链接和访问。用户进入上述4个子模块之一后, 首先选择自己需要查询的牧草作物种类, 这时系统会提示用户选择缺素症状发生部位、病害部位、虫害部位或者杂草类型, 点选相应的病症及杂草图像, 进而推动诊断过程的进行。每次选择后诊断推理选项部分将刷新显示下一步的诊断选项, 直到发现和农户遇到的缺素及病虫草害相似的图像, 点击此病症图像后可给出诊断结果和防治建议。

3 经验总结

UML设计 篇8

从上世纪90 年代开始,全国各高校及软件开发公司争相开发学籍管理系统,以占取先机。随着软件开发技术的不断成熟,用UML(统一建模语言)逐渐成为学籍管理系统开发的最广泛应用的一种面向对象的建模语言。本文就是以UML为开发工具,设计了学籍管理系统,力图为高校学籍管理带来高效便捷的服务。

1 UML简介

UML(Unified Modeling Language)统一建模语言是一种创建程序模型的可视化语言,所谓程序模型,就是程序的图形化表现形式[4]。所谓的可视化是通过标准图符构成图形来描述模型。这里我们要了解统一建模语言中的建模语言是提供交流的词汇和规则,建模语言不是编程语言。[5]UML能成为软件建模的标准语言,并且在其他领域也得到应用是因为UML能够让系统构造者用标准化的、易于理解的方式建立起能够表达他们设计思想的系统蓝图,并且提供一种机制,以便于不同用户之间有效的共享和交流设计成果。

2 基于UML的学籍管理系统模型的总体设计

对于学籍管理系统的建模,我们可以用UML的2种图进行描述。

2.1 基于UML的学籍管理系统的包图

学籍管理系统使用包图直观的描述了该系统要实现学籍管理的需求。系统的包图包括有5 个包,其中5 个包对应5 个管理模块。具体如图1 所示。

2.2 基于UML的学籍管理系统的各模块活动图

UML活动图是UML的动态视图之一,用来描述事物或对象的活动变化流程。活动图对理解业务处理过程很有用。根具体活动图如下所示:

学生基本信息管理是学籍管理的第一步,也是基本数据采集、存储、加工的第一环节。学生首先填写个人相关信息如考生号、姓名、性别、民族、家庭地址、联系电话等,然后填写录取专业,管理员审查信息完整性,确认无误后即可形成学生基本信息。

学生注册管理的过程是:先判断该学生是否为新生,如果判断否的话,表示该生是在校学生,可以直接注册;如果是新生,则要查看新生的报到情况,判断该新生是否报到,如果判断是否,则进行未报到处理;如果判断已报到则进入新生入学资格复查,判断是否合格,如果不合格就要进未通过资格复查处理,如果合格就该新生编学号,然后对新生进行学籍注册。

学籍异动管理的过程是:首先提交异动申请,其中异动包括:转学、休学、退学、复学等,提交申请后二级学院领导审核,审核不通过则打回重新提交,审核通过则将申请交教务处领导审核,审核不通过则打回重新提交,审核通过则判断是否恢复学籍(如复学情况),如果是则进行注册学籍,否的话就进行异动处理即可。

转专业管理活动过程:首先已注册学籍学生判断是否是新生,我校只有大一新生才可以转专业,如果不是新生则不能转专业,判断是新生可以提交转专业申请,学校公布转专业条件,如果条件不符则不能转专业,符合条件学生转出学院审核通过后,到转入学院接受考核,考核不通过则不能转专业,考核通过学生报教务处审核备案,修改转专业学生基本信息(如:学院、专业、班级等信息),就此完成转专业整个过程。

毕业生管理活动过程:首先已注册学生判定是否是毕业生,如果不是毕业生则直接退回,如果是毕业生,接着进行毕业审核,毕业审核是教务处按照人才培养方案规定学分进行审核,如果审核合格则可以顺利毕业,领取毕业证和学位证;如果审核不合格,则该生只能结业,颁发结业证书,然后在规定时间返校补修所缺学分,补修完成后再进行资格审核,审核通过则可以毕业换取毕业证和学位证。

3 小结

主要通过UML统一建模语言建立系统动态行为模型和静态架构模型,通过对系统的用例图、功能模块图、流程图对系统进行完整的分析设计,得到了保山学院学籍管理系统的完整建模设计。UML统一建模语言作为现在软件开发的主流建模语言,它有着其它建模语言无法比拟的优势,它代表了软件开发技术的发展方向。我相信通过保山学院学籍管理系统的分析设计,保山学院学籍管理将向着高效化、智能化等方向发展。

参考文献

[1]梁德华.浅析高等院校学籍管理信息系统的设计与开发[J].硅谷,2011(1).

[2]孟晓.高校学籍管理现状调查[J].教育与职业,2010(34).

[3]张宪和.高校学籍管理系统的分析与设计[J].河南职技师院学报,1998(20):90-96.

[4]袁涛,孙蕾蕾.统一建模语言UML[M].北京:清华大学出版社,2009

UML设计 篇9

一、数字图书馆基本特征与信息系统的结构

数字图书馆组织了一系列与平台无关、面向对象、分布式的数字化信息资源并且提供相关的服务。

当前的数字图书馆有着急速倍增的数字化资源,数字化的资源又是以文字、图像、音频、视频、虚拟空间等多媒体形式不断涌现,其信息量是GB、TB甚至PB为度量单位,并具有多种存储和压缩格式。因此要具有相应的、完善的管理与服务。

现代化的数字图书馆要为用户提供较为统一的访问手段,用户能够透明方便地获取所需的信息而不必关心这些信息的具体位置。对数字资源的检索应该是智能化、交互式的,对全文、多媒体信息、多语言信息的检索都可以达到很好的查全率和查准率。数字化资源并不是孤立的,而是相互关联的动态的。数字图书馆是数字化资源的统一,可以通过一定的相关关系,由特定的协议和存取方法来查找和访问这些数字化资源。

数字图书馆建立在异构平台上,具有分布、开放的信息结构,高速、可靠的网络环境是其运行的基础。它突破了时间、空间的限制,让用户可以在任何地方、任何时间获取自己所需的信息。在此基础上提供的导航式和个性化的服务,使服务内容更多样、服务模式更广泛,这是对传统图书馆服务功能的突破。

UML是一种表达能力丰富的、强有力的建模语言,可以在此构架基础上组织系统化建模。

图书馆管理信息系统按管理职能可分为三部分:租借系统、购买系统、管理人员系统以及服务问题反馈系统等。这几部分既相互自成系统,又互相联系缺一不可,共同组成一个完整的图书馆管理信息系统。

数字图书馆的模式可以用图1简单说明。可以看到,数字图书馆的内部基本组织结构为:管理系统通过网络和通信系统,连接到数字图书馆的各个子系统,通过信息的交流及时获取和掌控各种信息资源,属于典型的信息集成管理系统。

具体在某一个子系统中信息管理应用UML进行软件开放,要对实际工作流程进行周详调查和分析。分阶段地建立需求分析模型、静态模型、动态模型、软件设计与测试。

二、UML信息管理系统的流程与应用

1、以图书流通子系统为例

下面模型中的指向过程代表外部与系统交互的单元,包括用户、图书馆工作人员及信息源。

图书流通系统用例图,用来描述系统边界和主要功能,并指出各功能的操作者。借书处理过程的活动流程不能在用例图中表示出来,要使用活动图还表示这种动态属性。活动图实质上是一种流程图,只不过表现的是从一个活动到另一个活动的控制流,活动图描述活动的序列,并且支持对带条件的行为合并发行为的表达。

2、图书馆管理系统的主要图书流通业务的事件流程

(1)验证借书者的身份;(2)查该图书库存量;(3)使用图书管理系统登记出借资料;(4)记录借书者信息;(5)更新图书数据库。

在构建阶段完成后,可以进入软件编程的实现阶段以及测试。我们可以选择Java编程语言作为实现系统的软件支持,因为Java具有跨平台性,能满足本系统可以运行在各种处理器和操作系统平台之上的要求,且它很容易实现从UML逻辑视图到代码部件的映射,大大提高编程人员的工作效率。利用Rational Rose提供的正向工程生成Java代码框架,再根据具体的细节添加代码。

3、编写代码时,从下面的UML设计模型图中取出规范说明

(1)类规范:每一个类的规范都详细地显示了必要的属性和操作。

(2)类图:类图由类构成,显示了类的结构以及类之间的相互关系。

(3)状态图:类的状态图显示了类可能具有的状态以及需要处理的状态转移(或触发转移操作)。

(4)动态图(序列图、写作图与活动图):涉及类的对象,显示了类的特定方法的实现过程,或对象之间如何使用其它类的对象进行交互。

(5)用例图与规范:当开发者需要了解更多的关于系统如何被使用的信息时,它们可以显示出系统被使用的结果。

设计中的某些缺陷可以在编码阶段发现。如果需要一些新的操作和修改某些新的操作,开发者就必须调整或改变设计模型。这种调整或修改在所有的工程中都会发生,最重要的是将设计模型和代码同步,以使模型成为系统的稳定的最终文档。

经过系统分析与设计后,就可以根据设计模型在具体的环境中实现系统,生成系统的源代码、可执行程序和相应的软件文档,建立一个可执行的系统。需要对系统进行测试和排错,保证系统符合预定的要求,获得一个无错的系统实现。测试的结果将确认所完成的系统可以真正使用。最后系统配置的任务是在真实的使用运行环境中配置、调试系统,解决系统正式使用前可能存在的任何问题。

三、结语

UML是一种绘制软件蓝图的标准语言。用于对软件系统的各种成份的可视化、说明和构造系统模型,以及建立软件文档。本文以图书管理系统为开发背景,运用UML面向对象建模机制对系统进行分析设计。从中可以认识到使用统一建模语言UML开发应用系统的方法和过程,对开发管理系统有一定的借鉴作用。

摘要:随着社会信息量积累速度的加快,图书资料的系统管理的现代化工作十分迫切。目前传统图书馆纷纷向数字图书馆转变和过渡,在这个转变过程中可以借助UML的信息化技术,以实现对信息资源最有效的利用和共享。

关键词:图书馆管理,数字化系统,UML

参考文献

[1]Rational Software Corp.UML Summary.[EB/OL].URL[DB].<http://www.rational.com/uml>.

[2]OMG Unified Modeling Language Specification(Draft)URL[DB].[EB/OL].<http://www.omg.org/uml>.

[3]薛华成.管理信息系统(第三版)[M].北京:清华大学出版社.1997.8.

[4]郑巧英.数字图书馆的一种模式-网络图书馆[J].现代图书情报技术,2005(2):30~33.

UML设计 篇10

经过调查分析, 最终确定“BBS论坛系统”的基本模块有:用户管理、版块管理、帖子管理、友情链接管理、广告管理[2]。其中各基本模块的功能大体说明如下:

(1) 用户管理主要包括用户注册、用户登录、用户资料修改等功能。

(2) 版块管理主要包括增加版块、编辑版块、删除版块等功能。

(3) 帖子管理主要包括发布帖子、回复帖子、浏览帖子、转移帖子、编辑帖子、删除帖子、帖子加精、帖子置顶等功能。

(4) 友情链接管理主要包括增加链接、修改链接、删除链接等功能。

(5) 广告管理主要包括放置广告、删除广告等功能。

另外, 需要说明的是, 以上各项功能中有些功能只需要普通用户权限就能够完成, 而有些功能则需要版主或管理员权限才能完成。

1 用例建模

1.1 分析参与者

遵循识别参与者的方法, 可以初步分析出“BBS论坛系统”中的主要参与者有:Anonymous User (匿名用户) 、Member (注册用户) 、Editor (版主) 、Administrator (管理员) ,

Anonymous User (匿名用户) :通过使用系统进行帖子搜索、帖子浏览等。

Member (注册用户) :通过使用系统进行帖子搜索、帖子浏览、帖子发布、帖子回复、帖子编辑以及个人信息修改等。

Editor (版主) :除拥有普通用户的职责外, 还可以通过使用系统进行版块管理、公告发布等。

Administrator (管理员) :除拥有普通用户的职责外, 还可以通过使用系统进行用户管理、帖子管理、版块管理、公告管理等。

1.2 分析用例

针对分析出的系统主要参与者 (匿名用户、注册用户、版主、管理员) 的功能需求, 可以初步确定“BBS论坛系统”中主要用例包括:Search Article (搜索帖子) 、Browse Article (浏览帖子) 、Register (注册) 、Login (登录) 、Issue Article (发布帖子) 、Reply Article (回复帖子) 、Modify Article (修改帖子) 、Modify Info (修改资料) , Displace Article (转移帖子) 、Delete Article (删除帖子) 、Place Peak (帖子置顶) 、Extract Article (帖子加精) 、Add Edition (增加版块) 、Modify Edition (修改版块) 、Delete Edition (删除版块) 、Add Link (增加链接) 、Modify Link (修改链接) 、Delete Link (删除链接) 、Add Advertise (增加广告) 、Delete Advertise (删除广告) 。

1.3 分析用例模型中的关系

显然, 四个参与者即Anonymous User (匿名用户) 、Member (注册用户) 、Editor (版主) 、Administrator (管理员) 之间依次存在泛化关系。

另外, 还可以确定Anonymous User (匿名用户) 、Member (注册用户) 、Editor (版主) 、Administrator (管理员) 和与其相关的用例之间存在关联关系。

Member (注册用户) 相关的Issue Article (发布帖子) 用例、Reply Article (回复帖子) 用例、Modify Article (修改帖子) 用例、Modify Info (修改资料) 用例包含一个公共的用例, 就是Login (登录) 用例, 它们与Login (登录) 用例存在包含关系;同样Login (登录) 用例与Register (注册) 用例之间也存在包含关系。

用例模型主要由用例图构成[3]。根据以上分析, 借助Rational Rose绘制“BBS论坛系统”总体用例图, 如图1所示。

2 静态建模

2.1 识别系统中的类

基于MVC三层架构的思想, 将系统中的类按照实体类、边界类、控制类来划分[4]。

其中实体类有:User (用户) 、Administrator (管理员) 、Article (帖子) 、Edition (版块) 、Link (链接) 、Advertise (广告) 、User Data (用户信息) 、Article Data (帖子信息) 、Edition Data (版块信息) 、Link Data (链接信息) 、Advertise Data (广告信息) 、Conn (数据库连接) 。需要说明的是, 识别类时将Anonymous User (匿名用户) 、Member (注册用户) 、Editor (版主) 统一抽象为User (用户) 类, 并依据user Grade属性值标识其具体身份。其中边界类有:index.jsp, user.jsp, article.jsp, edition.jsp, link.jsp, advertise.jsp。

2.2 绘制类图

由于该系统总体类图较复杂, 所以将其划分为如下六个子图:Manage Module (模块管理) 子图, Mange User (用户管理) 子图, Manage Article (帖子管理) 子图, Manage Edition (版块管理) 子图, Manage Link (友情链接管理) 子图, Manage Advertise (广告管理) 子图。其中Manage Module (模块管理) 子图, 如图2所示;Mange User (用户管理) 子图, 如图3所示。

3 动态建模

3.1 建立登录时序图

此处以“Login” (用户登录) 场景和“Add Edition” (增加版块) 场景为例进行分析和建模, 并借助Rational Rose工具绘制出相应的时序图。

“Login” (用户登录) 的具体处理流程为:User (用户) 通过user.jsp输入登录信息, 然后其登录信息交由User Servlet处理, 继而User Servlet将登录信息传递给User进行封装, 接着再由User Data查询判断用户输入的登录信息是否与数据库中的信息一致, 最后由User Servlet根据判断结果给出是否成功登录的提示信息[5]。根据以上处理流程, 得出“Login” (用户登录) 场景的时序图, 如图4所示。

3.2 建立增加版块时序图

“Add Edition” (增加版块) 的具体处理流程为:Administrator (管理员) 通过edition.jsp输入版块相关信息, 然后交由Edition Servlet处理, 继而Edition Servlet将版块信息传递给Edition进行封装, 接着Edition Servlet调用Edition Data中相应的方法对数据库进行操作。

根据以上处理流程, 得出“Add Edition” (增加版块) 场景时序图, 如图5所示。

4 结语

本文利用UML统一建模语言对BBS论坛系统进行了分析与设计, 下一步的工作就是在模型的基础上, 借助主流的开发工具进行面向对象编程, 在此不作细述。

摘要:BBS俗称论坛系统, 是互联网上一种交互性极强、网友喜闻乐见的信息服务形式。根据相应的权限, 论坛用户可以进行浏览信息、发布信息、回复信息、管理信息等操作, 从而加强不同用户间的文化交流和思想沟通。本文利用UML统一建模语言对BBS论坛系统进行了面向对象的分析与设计, 主要内容包括用例建模、静态建模和动态建模。在具体建模过程中, 给出了系统用例图、管理模块类图、管理用户类图、登录时序图和增加板块时序图。

关键词:BBS,UML,分析,设计,建模

参考文献

[1]韩秋明.基于UML的BBS论坛系统建模[J].科技情报开发与经济, 2008, 7.

[2]唐红杰.UML基础与Rose建模实训教程[M].北京:清华大学出版社, 2011

[3]吴建, 郑潮, 汪杰.UML基础与Rose建模案例[M].北京:人民邮电出版社, 2004.

[4]Joseph Schmuller.UML基础教程[M].李虎, 王美英, 万里威, 译.北京:人民邮电出版社, 2002.

UML设计 篇11

关键词:ERP;销售管理系统;UML

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)16-30931-03

Modeling on the Sales Management System of ERP Based on UML

XIAO Wen-min, MENG Qing-guo, YAN Bing

(Department of Mechanism ,Tianjing University of Technology and Education,Tianjin 300222, China)

Abstract:ERP can plan resources transcending one enterprise to fulfill perfect management for the whole supply chains. As to moderate and small enterprise, it is urgent to control inner business. The paper are written to molding the sales management system by using UML which can accelerate the software’s development process and improve it’s quality.

Key words:ERP; sales management system; UML

1 引言

经济全球化发展趋势使得当前企业对ERP系统的需求日益增长,需求变化也越来越快。然而,中小型企业资金少,经营规模小,不能承受引进大型ERP系统所需的巨额费用,设计一种功能相对完善、成本较低、实用性较强、系统容易维护且功能容易扩展的ERP系统就为广大中小企业所期待。考虑到这样的系统仍然庞大而复杂, 内部各种数据流、资金流、业务流交错, 业务流程动态变化且管理方法不断更新, 使系统在设计阶段很难保证软件质量, 也很难预测后期的维护和升级开销。这就给软件的设计、开发和维护工作带来了很多困难。并且它的开发与单一模块的软件开发有着很大的区别,企业各个业务之间错综复杂的联系是ERP系统软件设计和开发工作必须攻克的难关[1]。

统一建模语言UML是面向对象技术领域内占主导地位的标准建模语言,可以对复杂的系统建立可视化系统模型,目前已经被工业标准组织OMG(Object Management Group)接受,得到了Microsoft, HP, IBM, Oracle等支持,在国际上应用日益广泛[2]。

本文将结合天津市某小型企业,通过对该企业ERP销售管理系统的分析与设计,阐述如何通过UML降低开发难度和提高开发效率。

2 销售管理系统的功能模块和基本特征

销售部门在企业的供需链中处于与市场与企业的供应链接口位置,主要职能是为客户与最终的用户提供产品及服务,从而实现企业的资金转换并获取利润,为企业提供生存与发展的动力源泉,并由此实现企业的社会价值。综合来说ERP的销售管理提供的销售预测、销售计划、销售订单是主生产计划的需求来源。销售管理子系统帮助企业的销售人员完成客户管理、产品价格管理、销售订单管理、销售发货、服务管理、发票管理等一系列销售事务。销售管理的主要结构可以划分5个主要功能模块: 销售计划管理、客户管理、订单管理、收发货管理以及销售服务管理。

本系统以“订单”为核心,构建出了以“客户”为中心的管理模式。

该系统具有以下一些特征:

(1)先进的系统结构,面向销售流程,能适应原有销售工作流程并进行合理的改进,从而更贴近实际的应用。

(2)系统提供的灵活的人员权限设置和全面的财务核算方式,实现真正的销售网络化办公。

(3)在实现订单的电子化、工作流程的数字化同时,帮助公司领导提高决策的科学化水平。

(4)通过对客户信息的管理,实现对不同客户情况统计和分析。

整个系统操作业务人员包括:销售员、销售经理、仓库管理员、审计员、销售主管、和系统管理员。各个角色承担不同的系统任务,通过网络和通信系统,连接到销售管理系统,使用统一的访问界面,进行日常的销售业务操作,最终实现销售部门业务的正常运转。

3 UML概述

UML是一种可视化建模语言,用于对软件系统进行描述、可视化处理,构造和建立软件系统制品的文档。它记录了对必须构造的系统的决策与理解,可用于对系统的理解、设计、浏览、配置和信息控制[3]。UML能够描述系统的静态结构和动态行为。静态结构定义了系统中的重要对象的属性和操作以及对象之间的相互关系,静态结构视图包括类图、用例图、组件图和部署图。动态行为定义了对象的时间特性和对象为完成目标而相互进行通信的机制,动态行为视图包括状态图、活动图、顺序图和协作图。

4 销售管理系统的建模分析

4.1 销售管理系统的业务建模和需求分析

业务模型和需求分析的目的是对系统进行评估,采集和分析系统的需求,理解系统要解决的问题,重点是充分考虑系统的实用性。结果可以用一个业务用例(Business Use Case)框图表达,根据销售系统的基本特征和功能可得到本系统的用例图(如图1所示)。

图1 销售订单管理子系统用例图

模型中的活动者代表外部与系统交互的单元,包括销售员、仓库管理员、维修人员、审计员、公司销售主管、和系统管理员;业务用例框图是对系统需求的描述,表达了系统的功能和所提供的服务,包括客户管理子系统、订单管理子系统、销售统计子系统、产品管理子系统、售后服务子系统。图1是销售管理系统层次的用例模型,只包含了最基本的用例模型,是系统的高层抽象。在开发过程中,随着对系统需求认识的不断加深,用例模型可以从顶向下不断细化,演化出更加详细的用例模型。

根据系统的用例图,可以对系统的持久对象进行设计,图2是本系统持久对象类及类之间关系图。

图2 核心业务对象类及类之间的关系

4.2 销售管理系统分析与设计

系统分析与设计是研究欲采用的实现环境和系统结构,结果是产生一个对象模型,也就是设计模型。设计模型包含了用例的实现,可以表现对象如何相互通信和运作来实现用例。对于系统的静态结构,可以通过类图、对象图、组件图和配置图来描述;对于系统的动态行为,可以通过顺序图、协同图、状态图、活动图描述。这些图在加上说明文档就构成完整的设计模型。

4.2.1系统架构设计

销售管理系统拥有大量销售信息资源,这些资源包括各种客户、订单、和产品等信息。其数据量大、信息变化快,非结构化信息与结构化信息共存。使用UML对销售管理系统进行基于面向对象的分析和实现,可以从开发的第一步开始,从系统的底层就把握住销售信息资源的特征,为下一步具体实现打好基础。在销售管理系统建立模型时要涉及到处理大量的模型元素,如类、接口、组件、节点、用例等,可以将语意上相近的模型元素组织在一起,这就构成了UML的包,包把这些建模元素按照逻辑功能分组,以便理解、反映它们之间的组成关系。

本系统在此将使用Java Web开发,系统主要有以下四个包:

(1)用户接口包(User Interface package)

用户接口包在其它包的顶层次,为系统用户提供访问信息和服务,即边界类。对于每一个参与者,都应该设置至少一个边界类,以表示参与者与系统进行的交互。

(2)业务逻辑包(Business Rule Package)

该包是销售管理系统业务的核心实现部分,包括客户管理、订单管理、产品管理等,其它包可以通过访问该包提供的接口,实现业务逻辑,如客户管理业务等。

(3)数据持久访问包(Data Persistence Package)

该包实现数据的持久化,也就是与数据库交互,实现数据的存取、修改等操作。

(4)通用工具包(Util Package)

该包主要包括应用程序安全检查的类,可以为上面三个包提供安全检查,如客户端检查和服务器端业务规则检查等,同时包括一些系统异常检查与抛出处理以及系统日志服务等。

4.2.2系统详细设计

详细设计主要是描述在系统分析阶段产生的类,与分析阶段类的区别就是偏重于技术层面和类的细节实现。销售管理系统提供的各种服务都是建立在分布、开放的信息结构之上,依托高速、可靠的网络环境来完成的。每项服务都可以看作一个事件流,由若干相关的对象交互合作来完成。对于这种系统内部的协作关系和过程行为,可以通过绘制序列(Sequence)框图和协作(Collaboration)框图来帮助观察和理解。此外,描述工作流和并发行为还可以通过活动框图,表达从一个活动到另一个活动的控制流。同时,可以在理解这些图的基础上,抽象出系统的类图,为系统编码阶段继续细化提供基础。下面是客户管理子系统详细设计。

(1)客户管理子系统的基本结构建模:图3是客户管理子系统主要类极其关系的详细设计。

图3 客户管理子系统类的详细设计及类之间关系

(2)序列图:序列图是一种对象交互图,着重强调了时间序列,而不是静态对象的关系,通过序列图可以清楚地看到不同对象之间的实时行为。

图4是一个客户管理的序列框图例子。描述了先加载某个客户;显示某些状态;再更改某些属性值,最后更新数据库状态的一次执行过程。通过序列框图可以清晰看出系统用户、客户管理子系统的用户接口、数据库连接模块之间以时间为顺序的消息交换,这对于把握系统的控制流、顺序行为和交互行为是非常有益的。

图4客户管理的序列图

(3)状态图适合描述一个对象穿越多个用例的行为。类的状态图表示类的对象可以呈现的状态和这个对象从一种状态到另一种状态的转换。图5描述了Customer对象的生命期中可能的状态及状态变化(从创建、更新到消亡的转变过程),其中ready用于加载客户信息,persist用于保存客户信息,save用于成功的保存成绩,error用于由于数据等的异常而未能成功的保存客户信息。

(4)协作图:协作图和序列图相似,两种图所表达的是同一种信息,可以互相转换。但两者是有区别的,序列图强调的是交互的时间序列,协作图强调的是交互的语境和参与交互的对象的整体组织。图6描述的是查询一个客户信息消息传递的过程。

(5)活动图:用于描述业务过程和类的操作,类似与流程图,显示出一个问题的活动(工作步骤)、判断点和分支。图7是反映了更新客户用例的活动图。

图5Customer对象状态图

图6 查询客户信息的协作图

图7 业务处理活动图

通过框图,可以确定需要开发的类、类之间的关系和每个类操作和责任。序列框图按照时间排序,用于通过情境检查逻辑流程。协作框图用于了解改变后的影响,可以很容易看出对象之间的通信,状态图描述了对象在系统中可能的状态,如果要改变对象,就可以方便地看到受影响的对象。

(6)软件系统一般由一组部件组成,换句话说,部件是相对独立的部分软件实施,有自己特有的功能,并可在系统中安装使用,系统中各部件相互协作,给系统提供完整的功能。图7是本系统运行时的主要部件。

图8 运行的部件图

4.2.3 销售管理系统的实现、测试和系统配置

系统采用五层逻辑结构:客户端只需中文浏览器;表示层用12个JSP(Java Server Page)文档实现动态页面以创建、操作业务对象;核心对象层用6个Java类以JavaBean形式构成业务处理的核心对象;连接层采用JDBC2提供两种连接方式:一种是基于DriverManager,主要支持Java应用和测试;另一种基于DataSource;资源层即数据库服务器。

经过系统分析和设计后,就可以根据设计模型在具体的环境中实现系统,生成系统的源代码、可执行程序和相应的软件文档,建立一个可执行系统;进而需要对系统进行测试和排错,保证系统符合预定的要求,获得一个无错的系统实现。测试结果将确认所完成的系统可以真正使用;最后完成系统配置,其任务是在真实的运行环境中配置、调试系统,解决系统正式使用前可能存在的任何问题。

5 结束语

ERP系统的发展方兴未艾,我国中小企业目前正处于传统手工、半手工管理向数字化过渡的阶段,将 UML应用于销售管理系统的建设,可以加速开发进程,提高代码质量,支持动态的业务需求。从实际效果来看,UML可以保证软件开发的稳定性、鲁棒性,在实际应用中取得良好的效果。

参考文献:

[1]罗鸿. ERP原理·设计·实施[F].北京:电子工业出版社,2005.

[2]宋波,刘杰,杜庆东.UML面向对象技术与实践[TP].北京:科学出版社,2005.

[3]RUMBAUGH J,JACOBSON l,BOOCH G.姚淑珍,唐发根,等译.UML参考手册[M].北京:机械工业出版社,2001.

UML设计 篇12

随着信息技术的飞速发展, 电子化的管理方法逐步取代了传统的手工管理方法, 图书的信息化管理系统成为提高图书馆工作效率, 有效管理图书的重要手段[1]。基于此, 本文借助UML技术, 对图书管理系统进行了分析和设计。

2 需求分析 (Requirement analysis)

(1) 分析系统参与者

遵循识别参与者的方法, 可以分析出“图书管理系统”中的参与者有:Administrator (系统管理员) 、Librarian (图书管理员) 、Reader (读者) [2]。

Administrator:通过使用系统进行用户管理。

Librarian:通过使用系统进行读者管理、图书管理、借阅管理等。

Reader:通过使用系统进行读者信息查询、预订图书、取消预订等。

(2) 分析系统用例

针对分析出的系统主要参与者 (系统管理员、图书管理员、读者) , 可以分析出“图书管理系统”中主要用例包括:Manage User (用户管理) 、Manage Book (图书管理) 、Manage Reader (读者管理) 、Borrow-Lend (借阅管理) 等[3], 详细说明如下。

Manage User:完成系统用户的增加、删除、修改、查询等功能。

Manage Book:完成基本信息设置 (图书类型设置、借阅种类设置) 和图书信息管理 (图书信息设置、图书信息查询) 功能。

Manage Reader:完成读者办证、读者信息查询、读者证挂失功能。

Borrow-Lend:完成借书、还书、续借、超期罚款、图书预订、取消预订、图书挂失等功能。

用例图是需求分析阶段主要采用的UML图示[4]。根据以上分析, 借助Rational Rose工具绘制出“图书管理系统”用例图, 如图1所示。

3 类设计 (Design of class)

在“图书管理系统”的用例图中已经知道, 系统需要为每个读者建立一个账户, 并给读者发放读者证 (读者证可以提供读者证号、读者姓名) , 账户中存储读者的个人信息、借阅信息以及预订信息等[5], 持有读者证的读者可以借阅书刊、返还书刊、查询书刊信息、预订书刊并取消预订。

在借阅书刊时, 需要输入所借阅的书刊名、书刊的ISBN号, 然后输入读者的读者证号和读者姓名, 完成后提交所填表格, 系统验证读者是否有效。若读者有效, 借阅请求被接受, 系统查询读者所借阅的书刊是否存在, 若存在, 则读者可借出书刊, 系统记录借阅记录;如果读者所借书刊已被借出, 读者还可预订该书刊。读者如期还书后, 系统清除借阅记录, 否则需缴纳罚金。

同时, 以上部分操作可能还需要系统管理员和图书管理员进行参与。

结合以上分析, 遵循前面叙述的识别类的方法, 暂时可以识别出“图书管理系统”中的类有:Admin、Administrator、Librarian、Reader、ReaderType、Book、BookType、Borrow、BorrowType、Store、Reserve、Fine, 其详细说明见表1, 类之间的关系详见图2。

以上各个类默认情况下都属于实体类, 可以参照绘制实体类的方法绘制系统的边界类和控制类。接下来依次添加Main、SystemManage、ReaderManage、BookManage、BorrowManage、FineManage等边界类, 如图3所示。

4 交互性设计 (Interactive design)

以“借书”场景为例, 使用Rational Rose工具实现“BorrowBook”时序图如图4所示。

该时序图中涉及到的对象说明如下:

(1) Librarian对象:Librarian类即图书管理员类创建的一个对象。

(2) Reader对象:读者对象。

(3) Book对象:图书对象。

(4) ReaderType对象:读者类型对象。

(5) BorrowManage对象:借阅管理对象。

该时序图中涉及的消息说明如下:

(1) getReaderInfo消息:获取读者基本信息, 如办证日期、借阅数量、挂失标志, 用处理图书证过期、借阅数量已满等问题

(2) getReaderType消息:获取读者类型信息。

(3) getBookFlag消息:获取图书借阅标志, 用于判断图书是否可借阅。

(4) InputBorrowInfo消息:输入借阅信息, 如读者编号、图书编号、借还日期等。

(5) modifyBookFlag消息:修改图书借阅标志。

(6) addBorrowBook消息:增加读者已借阅图书数量。

5 结论 (Conclusion)

本文借助UML技术对图书管理系统进行了需求分析、类设计和交互性设计。在需求分析阶段, 按照捕获参与者、捕获用例以及捕获关系的步骤, 完成用例图;在类设计阶段, 按照捕获实体类、捕获边界类、捕获关系的步骤, 完成类图;在交互性设计阶段, 以图书管理系统中的“借书”场景为例, 按照捕获对象、捕获消息的步骤, 完成时序图。进一步的工作就是在分析和设计的基础上, 搭建开发环境、使用编程语言进行代码实现, 此处不再细述。

参考文献

[1]杜洋.图书馆图书管理系统的设计与实现[D].成都:电子科技大学, 2013.

[2]张广泉, 刘艳.基于UML的图书管理系统提携结构模型及实现[J].重庆师范大学学报 (自然科学版) , 2005 (2) :1-4.

[3]唐红杰.UML基础与Rose建模实训教程[M].北京:清华大学出版社, 2011.

[4]Craig Larman.李洋, 郑, 译.UML和模式应用[M].北京:机械工业出版社, 2009.

上一篇:用好数学导学案下一篇:受贿行为