UML对基B/S模式的图书管理系统的分析与设计

 

UML 对基B/S模式的图书管理系统的分析与设计
1. 图书管理系统用例分析
要开发一个软件系统,首先要对软件系统的需求进行分析,要做的工作是深入描述目标系统的功能和性能,确定软件设计的限制和软件同其他系统元素间的接口细节,定义软件的其他有效性需求。运用UML(Unified Modelling Language:统一建模语言)的目的可以捕捉系统的功能需求、分析,提取所开发系统领域的类以及描述它们之间合作概况,在完成系统的OOA(Object-Oriented Analysis:面向对象分析)在此基础上,对系统进行OOD(Object-Oriented Design:面向对象设计)。
UML 的用例图较详细和确切地描述了用户的功能需求,使系统责任明确到位,奠定UML对系统建模的基础,这样,其他模型图的构造和发展依赖于用例图中所描述的内 容,直至系统能够实现用例图中描述的功能。采用用例图描述的图书管理主要包括三类用户:读者、图书管理员、系统管理员。其中,读者是多个,图书管理员是几个,系统管理员是一个。对于系统,读者可以查询自己的借阅情况、分门别类的查询图书和在规定期限内续借不能超过一次操作的情况下进行自行登录续借书等。图 书管理员主要是日常操作以下几个工作环节:图书订购、新书验证、书目录入、图书登记、读者信息管理、借阅书登记、图书信息注销和读者信息注销等,而系统管理员统筹管理图书的系统相关事宜,比如权限维护、日志维护、增删用户和管理系统后台数据等。用例间关系、用户与用例关系及用例之间的关系如图1所示。
图1:图书管理用例分析图
2. 系统静态建模
在用例分析基础上,根据需求可建立起系统的静态数据模型,即建立系统类图,以及相关的关系和方法。在面向对象分析中,一般只考虑与问题描述域和系统功能相关 的对象。在对系统进行分析时,这里把系统的类对象抽象为图书管理、图书流通两方面。针到这两部分可以分化为以下相关类:图书类(lib_Book)、图目 类(lib_Category)、订书类(lib_Order)、报表类(lib_Form)、读者类(lib_Reader) 、流通书类(lib_CirBook)、部门类(lib_Department)、出版社类(lib_Publish)等。这些类之间我们可以用朴素的关联关系作一简要表达。如图2为图书管理静态类图,在图中每条有直接多重性关联的线上已标示出多重性,这为以后编程中提供了更好的关联参考价值,并为类在整个开发中的统一性奠定基础。


图2:图书管理静态类图
3. 时序图
该图是实现上面业务逻辑的时序图,显示了实现业务逻辑时的类之间的调用顺序关系。
                      图3:图书管理系统时序图
4. 系统动态建模
在考察了系统某一时刻的对象及对象之间朴素关系的静态结构后,下面要关注的是在任何时刻对象及其关系改变的情况,这些情况可以用UML的动态模型进行形象化 描述,可以借助UML中的状态图来描述,在状态图中,把每时刻的系统状态抽象成状态和事件,然后组成一个网络,侧重于描述每一类对象的动态行为。它是对某一时刻中属性特征的概括,并且每种状态间存在着迁移,迁移则表示了这类对象在何时对系统内外发生的哪些事件作出何种响应。状态图设计一般是在对操作序列的 顺序图细化的基础上表达。这里以借书的状态图为例,把上面的面向对象分析与设计、并对系统静态结构的把握后,建立起系统动态数据的逻辑视图,如图4所示, 以此为点,可以建立起整个系统的状态流程分析,这里不再详述。


图4:借书状态图
5. 数据库设计
用户的需求具体体现在各种信息的提供,保存,更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据,数据结构处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:
    读者种类信息,
属性:种类编号,种类名称,借书数量,借书期限,有效期限,备注。
主键:种类编号
    读者信息,
属性:读者编号,读者姓名,读者种类,读者性别,工作单位,家庭住址,电话号码,电子邮件地址,办证日期,备注。
主键:读者编号
    书籍类别信息,
属性:类别编号,类别名称,关键词,备注信息。
主键:类别编号
    书籍信息,
属性:书籍编号,书籍名称,书籍类别,作者姓名,出版社名称,出版日期,书籍页数,关键词,登记日期,备注信息。
主键:书籍编号
    借阅信息,
属性:借阅信息编号,读者编号,读者姓名,书籍编号,书籍名称,借书日期,还书日期,备注信息。
主键:借阅信息编号
通过以上的分析,画出系统的数据流程图:
 

书籍类别设置
读者种类设置
                                        

 


                   基本信息录入                   基本信息录入
                                       D1                           D2

书籍类别信息管理
书籍登记
读者种类信息管理
读者登记
 

 
 


                  基本信息录入                      基本信息录入 
                                     D3   D4

书籍信息管理
读者信息管理
 


                                         D5
 


                                     借阅信息录入
       读者信息返回                                          书籍信息返回

借阅信息管理
 

 
 
 


                                 5 :数据流图
 
 
数据字典( Data Dictionary )。
    1 、数据流的 DD 表举例如下:
 

                          
系统名:图书管理               编号:
条目名:读者信息              别名:
来源:读者登记                去处: D3
数据流结构:
读者登记 ={ 读者编号 + 读者姓名 + 读者性别 + 工作单位 +……}
简要说明:
修改记录:               编写        日期
                        审核        日期

      2 、数据元素的 DD 表举例如下:
 

                
系统名:图书管理            编号           
条目名:读者编号            别名     
属于数据流:读者登记         存储处: D3 读者信息表
                                  
数据元素值:
代码类型:字符
   度: 10
取值范围及含义:
      
简要说明:每一个读者都有一个唯一的编号
修改记录:                 编写         日期
                          审核         日期     

    3 、数据存储的 DD 表举例如下:
 

                     
系统名:图书管理            编号: D4
条目名:书籍信息表         别名:
存储组织:        记录数:约 3000     主关键字:书籍编号
                 数据量:约 500KB   辅关键字:
按编号主索引
记录组成:
字段名称:书籍编号 书籍名称 书籍作者 关键词  ...
    宽度:    14      32     …   8    ...    10    …
简要说明:
修改记录:                 编写:       日期:
                         审核:       日期:

 
     4 、数据加工的 DD 表举例如下:
 
         

        
系统名:图书管理                编号:
条目名:借阅信息录入           别名:  
  入:借阅编号、读者编号 …   输出:借阅信息表基本属性
处理逻辑:借阅信息存储在 dabase 数据库的 borrowinfo 表中
简要说明:输入某读者的图书借阅情况记录
修改记录:                 编写:       日期:
                          审核:       日期:    

5 .界面设计

借阅信息管理
密码管理
书籍信息管理
读者信息管理
系统管理
还书信息管理
借书信息管理
设置读者种类
设置读者信息
设置书籍信息
设置书籍种类
用户管理
图书管理信息系统
还书信息查询
还书信息修改
还书信息添加
借书信息查询
借书信息添加
书籍类别添改
书籍信息修改
借书信息修改
书籍信息查询
读者信息添加
读者信息修改
读者信息查询
书籍信息添加
读者种类添加
读者种类修改
书籍类别修改
根据以上分析,得出如图6所示的系统界面结构图。

 
 
 
 
 
 
 
 
 
 
 


                         图6:系统界面结构图
6. 基于B/S模式的系统结构
在完成了系统的用例分析、模型化静态数据描述以及局部动态数据的状态控制后,基本上掌握了系统在进行逻辑数据处理的流程。而最终要成为一个系统管理体系,这 就需要从总体上把握系统数据的获取、处理及存储。在基于B/S模式的软件开发中,其体系结构一般分为采用组件技术的三层,浏览器层、Web逻辑处理层和数据库管理层。这里系统的开发建议采用基于Java的面向对象开发技术,将设计的逻辑组件、数据访问组件运行在JavaBean和COM+组合的运行环境, 底层数据处理则采用数据管理安全性稳定性很强的Oracle 9i。不仅增强了系统访问数据的安全性,同时也可以处理后台数据库的并发、远程、跨平台访问。在数据库管理层也是通过JavaBean对象组件完成对后台 数据库服务的访问,整个逻辑处理过程下图所示。
7. 总结
本文对图书管理系统采用面向对象的分析及设计方法,对系统进行了可视化的需要分析与系统设计。整个过程中,采用了UML技术。并对系统采用了基于B/S模式的三层体系解决方案,借助于Web浏览器,提供了更加快捷方便的图书管理流程,节省了管理人员和读者的大量时间,有利于信息处理效率的提高,大大减少了重复信息。同时,也简化工作人员对图书的管理及维护工作。另一方面,基于组件技术的系统结构具有很好的可伸展性和可扩展性,提高了系统的柔性与自适应性,有助于系统的二次开发

你可能感兴趣的:(数据结构,数据库,工作,存储,UML,Dictionary)