uml设计论文(精选7篇)
1.uml设计论文 篇一
1.系统需求
系统的功能性需求描述如下:
·
图书管理系统为管理员提供主功能界面。
·
图书管理系统在启动时要求管理员输人口令,只有口令正确,才可以进入系统的主功能界面。
·
管理员负责对图书管理系统的维护工作,因此系统应赋予管理员对图书信息、读者信息和出版社信息进行录入、修改、查询和删除等功能的操作权限。
·
管理员作为读者的代理实现借书与还书业务。
·
图书信息、读者信息和出版社信息保存在对应的数据库表中。
在上述功能性需求分析的基础上,可以写出较为详细的需求规格说明书,作为进行系统分析、设计和实现的依据。需求分析规格说明书由系统最终用户提出需求,系统分析人员负责编写。图书管理系统需求分析规格说明书如下:
·
这是一个图书馆图书借阅管理的应用系统;
·
图书管理系统负责将图书、杂志借给读者,前提条件是这些读者在系统进行了注册,图书和杂志也在系统中进行了注册;
·
图书馆负责新书的购买,当书和杂志已经过时或者破旧不堪时,可以将这些图书和杂志从图书馆管理系统中删除;
·
图书管理员是图书馆的员工,负责与读者打交道,并且是在系统提供的支持下开展工作;
·
图书管理系统能够容易地建立、修改和删除系统中的信息,包括图书信息、读者信息、以及出版社信息等;
·
图书管理系统能够在所有流行的平台环境(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()——返回用户口令。
数据库设计(表略)
完成设计规约
2.uml设计论文 篇二
学校图书馆信息管理系统是学校信息管理系统中的一个重要组成部分, 要求系统具有健壮性、可扩展性及便于维护性。本文就是根据图书管理的需求, 利用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》.清华大学出版社
3.uml设计论文 篇三
关键词: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)
4.uml设计论文 篇四
姓名:黄会林 学号:2009214454 班级:3110903
实验题目:
基于UML医院患者监护系统的分析与设计
实验目的:
软件工程课程设计是软件工程专业一个综合性的实践教学环节,其目的在于促进学生复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学软件设计知识和面向对象技术进行综合软件设计,提高学生的综合应用能力。通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose中建模。
实验内容:
一、问题描述
在医院的病房里,将病症监视器安置在每个病床,对病人进行监护。监视器将病人的病症信号(组合)实时地传送到中央监护系统进行分析处理。在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,当病症出现异常时,系统会立即自动报警,并打印病情报告和更新病历。系统根据医生的要求随时打印病人的病情报告,系统还定期自动更新病历。
二、需求分析
根据分析系统主要实现以下功能:
1、要求病症监视器随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成病情报告。
2、病症监视器可以将采集到的病症信号(组合),格式化后实时的传送到中央监护系统。
3、中央监护系统将病人的病症信号与标准的病症信号库里的病症信号的正常值进行比较,当病症出现异常时系统自动报警。
4、当病症信号异常时,系统自动更新病历并打印病情报告。
5、值班护士可以查看病情报告并进行打印。
6、医生可以查看病情报告,要求打印病情报告,也可以查看或要求打印病历。
7、系统定期自动更新病历。
三、用UML的静态建模机制定义描述系统的静态结构
(一)建立系统的用例图
通过分析可以识别出本系统的四个角色:值班护士,医生,病人,标准病症信号库。其描述面板如下:
角色:病人 角色职责: 提供病症信号
角色职责识别:
负责生成、实时提供 各种病症信号。
角色:医生 角色职责:
对病人负责,负责处理病情的变化
角色职责识别:
(1)需要系统支持以完成其日常工作
(2)对系统运行结果感兴趣
角色:值班护士 角色职责:
负责监视病人的病情变化
角色职责识别:
(1)使用系统主要功能(2)对系统运行结果感兴趣
角色:标准病症信号库 角色职责:
负责向系统提供病症信号的正常值
角色职责识别:
(1)负责保持系统正常运行(2)与系统交互
通过分析可以初步识别出系统的用例为:中央监护,病症监护,提供标准病症信号,病历管理,病情报告管理。顶层用例图如下:
(二)识别系统的类
通过名词识别法和系统实体识别法等方法可以识别出系统的十二个类。类图(含数据模型)如下:
(三)用配置图描述系统的体系结构
用配置图可以进一步描述系统的网络结构。配置图如下:
四、用UML的动态建模机制定义描述系统结构元素的动态特性及行为
(一)用状态图描述系统结构元素的动态特性及行为 状态图如下:
(二)用序列图和协作图描述病人病情异常时系统的情况 序列图如下:
生成协作图如下:
(三)用活动图描述系统在监护病人时的状态变化 活动图如下:
心得体会:
5.UML实验报告四 篇五
实验报告
实验四 交互图 专
业:
信息与计算科学
班
级:
121001
姓
名:
刘修花
学
号:
121001125
实验学时:
课时
指导教师:
时华
成绩:
2015
年 10 月 30 日
西安工业大学实验报告 专业 信息与计算科学 班级 121001 姓名 刘修花 学号 121001125 实验课程 UML 系统建模 指导教师 时华 实验日期 2015-10-30 同实验者
实验项目 交互图 实验设备及器材 电脑 一、实验目的练习使用 Rational Rose 绘制时序图、协作图等交互图。
二、实验原理
时序图用以显示对象之间的动态合作关系。它强调对象之间消息发送的顺序,同时也显示对象之间的交互过程。
协作图同序列图是等价的,但着重描述对象间的协作关系。
三、
实验步骤、数据记录及处理
时序图
单击菜单中的“Browse”子菜单的“Interaction Diagram”选项,屏幕中出现与创建用例图类似的界面。选择
在这个界面中选择创建顺序图(Sequence),进入如下图所示界面。
订餐者订餐
根据订餐者订餐的时序图可以创建如下协作图:
4.1.2 商家管理店铺
根据商家管理店铺的时序图可以创建如下协作图
4.1.3 店铺管理员管理店铺信息
根据店铺管理员管理店铺信息的时序图可以创建如下协作图:
4.1.4 店铺管理员建立客户评价档案
根据店铺管理员建立客户评价档案的时序图可以创建如下协作图:
4.1.5 店铺管理员建立商家监察档案
根据店铺管理员建立商家监察档案的时序图可以创建如下协作图:
4.1.6 订单管理员管理订单
根据订单管理员管理订单的时序图可以创建如下协作图:
4.1.7 系统管理员管理订餐者信息
根据系统管理员管理订餐者信息的时序图可以创建如下协作图:
4.1.8 系统管理员管理商家信息
根据系统管理员管理商家信息的时序图可以创建如下协作图:
4.1.9 系统管理员维护系统
6.uml设计论文 篇六
关键词:UML,电子商务系统,系统分析,系统设计,建模
1 引言
面向对象的开发方法已成为当今主流的软件开发方法, 并逐渐成熟, UML 作为一种通用的建模语言, 融入了软件工程领域的新思想、新方法、新技术, 在软件的开发不同阶段可以采用相同的一套概念和表示法, 在同一个模型中它们可以混合使用, 具有定义良好、易于表达、功能强大等优势。电子商务系统作为一个WEB应用系统, 它的分析、设计、实现和运行是一个极其复杂的过程, 因此应用UML技术进行电子商务系统的分析和设计, 可以快速构建一个安全、性能良好的电子商务系统。
2 UML概述
UML (Unified Modeling Language) 又称统一建模语言或标准建模语言, 是一个支持模型化和软件系统的图形化语言, 为软件开发的所有阶段提供模型化和可视化支持, 由类图、对象图、用例图、状态图、顺序图、活动图、协作图、构件图、包图及部署图这些基本图型组成。
2.1 UML的三种模型
电子商务的系统建设过程中, 通过类模型、状态模型和交互模型完成系统的需求分析和系统设计, 这三种模型将一个系统划分成不同的视图, 不同的模型并不是完全独立的, 而是有着清晰的互连, 每一种模型都描述了系统的一个方面, 但也包含了对其他模型的引用。
类模型描述状态交互模型操作的数据结构, 标识与其他对象的关系、属性和操作。类模型提供了状态和交互模型的上下文。对象是我们划分世界的单元, 是模型的分子。在构建类模型的过程中, 目标是从真实世界中捕获那些对应用而言重要的概念。类图表达了类模型。
状态模型描述对象的控制结构, 描述了与时间和顺序相关的对象层面, 标记变化的事件, 界定事件上下文的状态, 以及事件和状态的组织。状态图表示状态模型。每幅状态图都显示了系统内允许的某个对象类状态和事件序列。状态图会引用其他的模型。状态图中的动作和事件都变成了类模型中对象上的操作。状态图之间的引用变成了交互模型中的交互。
交互模型专注于对象之间的信息互换, 并提供了系统的整体视图。状态和交互模型描述了行为的不同侧面, 它们两者配合才能完整描述行为。顺序图显示交互的对象和交互的时间顺序。活动图显示计算机的处理步骤之间的控制流。
2.2 UML的开发过程
UML的开发过程包括需求获得、系统分析、系统设计、实现和测试五个阶段。
需求获得的目的是尽可能完整、准确地捕捉系统的功能需求和其他要求, 其主要工作是识别用例。用例图表述系统参与者希望系统提供的功能, 通过确定系统边界、确定参与者、确定用例和确定参与者与用例的关系四个步骤建立用例图。
系统分析是找出描述问题域以及系统责任所需的类及对象, 定义这些对象的属性和操作, 以及它们之间静态和动态关系, 其主要工作是:识别对象、为对象分类、确定类的发生和操作、确定类之间的关系、确定对象之间的交互、确定对象状态变化等。
系统设计是有考虑技术问题和限制的条件下, 是扩展和细化系统分析阶段所建立的模型, 包括总体设计和详细设计两个阶段, 总体设计需定义包、包间的相关性和基本的通信规则;详细设计描述用户接口和数据库包中的类, 扩展和细化业务对象类的, 可以通过创建新的类图、状态图和动态图类和对象从实现的角度进行细化。
实现是对类进行编程的过程。测试是以用例定义的描述为依据, 验证开发的系统是否满足要求。分为类测试、类集成测试和系统测试, 类测试是类封装的操作和类的状态行为所驱动的, 类集成测试有两种不同的策略:基于执行线的测试 (thread-based testing) 和基于使用的测试 (use-based testing) , 系统测试是对所有类和主程序构成的整个系统的测试。
3 基于UML的电子商务系统分析设计
3.1 需求获得
台湾水果销售系统是一个B2C的电子商务平台, 网上客户通过WEB页面访问水果销售系统, 客户可以直接在主页浏览、查询各种水果信息, 一旦对某些水果感兴趣, 客户通过验证用户名和口令登录系统后, 在网上直接下订单, 并可查询订单的执行情况。供应商可以登录系统, 对自己所销售的水果进行管理, 处理客户所下的订单, 并进行相应的查询。系统管理员管理客户及供应商, 并对系统维护, 以保证台湾水果销售网的正常运行。
经分析确定该系统的角色有:客户、供应商、系统管理员。主要用例有:系统登录、注册用户、浏览商品、下订单、浏览订单、商品管理、订单管理、用户管理及系统维护。其用例图如图1所示。
用例图是一种用户和开发人员都能理解的方式描述系统的功能和行为, 帮助设计人员理清思路, 整理用户的需求。用例图完全从用户的角度出发理解系统, 并不考虑系统的具体设计和实现。它是需求分析之后各阶段的开发工作的基础。不仅在开发中保证了系统的所有功能的实现, 还可以被用于验证和检验所开发的系统, 从而影响到开发的各个阶段和UML 的各个模型。
3.2 系统分析
系统分析的主要任务是找出描述问题域以及系统责任所需的类及对象, 以及它们之间静态和动态关系。分析类是真实世界业务概念的映射, 代表了问题域中的简洁抽象, 可以使用边界类、控制类和实体类三种不同的构造型。用类模型描述系统的静态特征, 用状态模型及交互模型描述系统的动态特征。
经分析, 台湾水果网上销售系统中主要的类有系统用户、订单、水果、订单管理、登录控制、商品管理, 其中登录控制为边界类, 系统用户、水果、订单为实体类, 订单管理和商品管理为控制类, 它们之间的关系如图2所示。
行为图描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常, 状态图是对类图的补充。在实用上并不需要为所有的类画状态图, 仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。活动图描述满足用例要求所要进行的活动以及活动间的约束关系, 有利于识别并行活动。
交互模型是以消息完成对象之间的交互来描述系统的行为, 交互图表示了对象之间的动态交互关系, 可以用来说明一个场景, 即描述一个事务的历史过程, 着重体现对象间消息传递的时间顺序, 可通过顺序图和协作图建立交互模型。顺序图显示对象之间的动态合作关系, 它强调对象之间消息发送的顺序, 同时显示对象之间的交互;协作图描述对象间的协作关系, 协作图跟顺序图相似, 显示对象间的动态协作关系, 除显示信息交换外, 协作图还显示对象以及它们之间的关系;如果强调时间和顺序, 则使用顺序图;如果强调上下级关系, 则选择协作图。网上下订单的顺序图如图3所示。
3.3 系统设计
系统设计包括总体设计和详细设计两个阶段, 总体设计需定义包、包间的相关性和基本的通信规则, 按应用的层次可将包分为用户接口包、业务逻辑包和数据存取包, 用户接口包通过WEB界面为用户提供查询、操作的数据录入及相应结果的返回;业务处理包包括分析域中的全部特定域类, 实现业务过程的处理;数据存取包提供类和对象保存。
在本系统中, 业务逻辑处理如图4所示, 订单处理子系统实现网上订单的接收和管理;商品管理子系统实现网上所售各种水果的管理, 包括产品类别、定价等;结算处理子系统实现对订单的结算;订单查询子系统可实现订单的内容、订单执行状态等信息的查询。
详细设计描述用户接口和数据库包中的类, 扩展和细化业务对象类的, 可以通过创建新的类图、状态图和动态图类和对象从实现的角度进行细化。如图5所示, 订单类可细化为添加订单和查询订单类, 对于添加订单类具有客户名、订单日期、交货地点、订单水果品种及数量等属性, 并可通过建立连接、修改、关闭等事件与数据相连, 实现相关的业务操作。详细设计中类的细化使编程人员可以很容易设计数据库和程序代码。
4结束语
UML是一种表达力丰富的建模语言, 可应用于在电子商分析和设计的全过程, 利用UML技术可以构造一个科学准确的电子商务系统模型, 从而对降低系统的开发成本、提高劳动生产率、合理化配置资源都将起到积极的作用, 必将得到更广泛的应用。未来的研究工作将是探索如何从UML直接生成面向对象的Java代码, 发挥UML工具的最强大作用, 为电子商务系统的软件开发提供更大的支持。
参考文献
[1]徐宝文, 周毓明, 卢红敏.UML与软件建模[M].北京:清华大学出版社, 2006, (6) .
[2]Joseph Schmuller著, 李虎, 赵龙刚译.UML基础、案例与应用[M].北京:人民邮电出版社, 2007, (1) .
[3][美]Michael Blaha, James Rumbaugh著.Object-Oriented Modeling and Design with UML[M].北京:人民邮电出版社, 2006, (7) .
[4]徐天宇编著.电子商务系统规划与设计[M].北京:清华大学出版社, 2006, (5) .
7.uml设计论文 篇七
[关键词] 体系结构 用例 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设计论文】推荐阅读:
毕业论文设计论文10-19
设计课堂,就是设计人生论文08-06
毕业设计工业设计论文11-07
建筑设计毕业设计论文12-06
水景设计论文06-24
玩具设计论文08-21
药物设计论文09-23
优化板书设计论文 提高教学效率论文07-04