西安科技大学《软件建模与UM》实验报告题目:图书管理系统学院:计算机科学与技术学院_____________ 专业及班级:软件工程1203班______________ 姓名:____________ 宋小波____________________ 学号:12080103021 _____________________ 日期:2015⑹7一.实验目 (1)二.实验内容 (1)三.系统需求建模 (1)五.系统静态建模 (3)5.1系统用例图 (4)5.2类图 (6)六.系统动态建模 (8)6.1状态图 (8)6.2时序图 (9)七.系统物理建模 (9)7.1组件图及部署图 (9)八.总结 (10)一、实验目的了解UML的基本原理和面向对象的分析设计方法,初步掌握Rational Rose 2003建模工具的使用方法,进一步巩固软件工程的理论知识。
二、实验内容1、初步掌握Rational Rose 2003开发工具的使用,包括建立用例、活动者、用例图、顺序图、协作图、类图、对象图、包、状态图、活动图、构件图、配置图等。
2、了解面向对象的基本概念,初步掌握Rose环境下用UML进行分析和设计的技术;基本学会在Rose环境下用UML语言为系统建模。
3、为一个图书管理系统的需求分析阶段建立模型。
(需求建模)三.图书管理系统的功能需求:1、馆员管理:维护馆员信息,有查询、添加、修改、删除功能。
馆员身份不同,分别对应不同的操作权限。
超级管理员拥有系统维护、数据库维护的权限;一般管理员负责不同的日常工作模块;馆长拥有一切权限。
馆员类别划分加强系统安全性。
2、码表维护:维护各种码表,包括:国家码表、语种码表、出版商码表、丛书码表、编辑类型码表、版本码表、图书大小码表。
对码可进行添加、修改、删除操作。
3、修改密码:输入当前馆员旧密码、新密码,检查输入完整性,如果旧密码输入不正确,则不能修改。
密码录入时以符号(*)显示,密码加密后保存到数据库,以保证数据安全性。
4、编目设定:编目操作过程中,需要设定一定参数,以保证系统正常运行。
可以选择设定里的”是否自动产生索书号、流通号"等,如果选择为真,则由系统按一定的算法得出索书号、流通号,并且保证数据唯一性;如果为假,则由操作馆员录入。
虽然系统能自动判断号码的唯一性,但有可能进行多次修改才能保证不重复,增加了数据输入量。
保留字段和加载默认值可以在录入信息时,自动加载某些数据,以减少人工录入的工作量。
编目设定就是保留这些设定,并且在系统配置文件中保留最近一次设置,下次进入系统时自动加载各项设定。
5、编目管理:编目管理是系统最主要的组成部分之一,主要是维护书目基本信息和部分流通信息。
提供图书编目信息的添加、修改功能,以及图书副本的初始流通信息的添加、修改、删除。
6、流通设定:流通操作过程中,需要设定一定参数,以保证系统正常运行。
如在"通用设定”里设定操作方式(快速借还操作[光笔扫描条形码输入卜手工借还操作[键盘输入]),过期罚款、图书损坏丢失罚款参数,过期催还时间,办卡手续费等,为整个流通操作流程顺利进行提供依据。
借书参数设定实际是读者类型的维护,操作馆员可以根据实际情况设定不同读者类型以及相应的借书等参数。
在后继功能模块中,以此判断是否该进行催还、罚款操作。
7、借还管理:借还管理功能模块也是系统最主要的功能模块之一。
包括五个子功能:借书、还书、预约、续借、催还。
这些子功能保证图书的有效流通。
8、图书类别管理:此功能模块主要完成对图书类别码表的维护。
为了严格按照"中图法"对书目进行分类,又可让各图书馆用户根据本馆的实际情况(如藏书情况、面向的读者等)对某些图书的分类进行增添、删改,故系统提供类目编辑接口,以达到规范性和灵活性的结合。
系统规定顶级分类目录必须严格按照"中图法”。
9、图书挂失:读者发现图书丢失后,可到图书馆流通台进行挂失。
由于图书已丢失,要求读者提供图书流通号是比较困难的,故在此设计为输入图书证号。
系统根据图书证号得出读者在借的所有图书,然后根据显示出的图书信息选定丢失图书,进行挂失。
挂失时根据图书原价与”流通设定"里设定的图书丢失赔偿倍数计算罚10、图书解挂:读者在进行图书挂失之后,又找到图书,可以进行图书解挂,还回图书,让图书继续流通,读者可以取回一定罚款。
解挂的同时判断此书是否过期、损坏。
如有过期或损坏则进行相应罚款处理,最后根据挂失时已交款计算最终应退款或应交款。
若借书未到期,且目前在借书册数小于最大可借书数,则可选择继续借书,或者还书。
11、书证管理:书证管理模块管理读者图书证,也是读者管理的一部分。
包括办理图书证、图书证挂失、图书证解挂、补办图书证、退还图书证五个子功能模块。
12、图书查询:系统提供两种查找书目信息的方式,一种是通过输入部分书目信息,以快速定位;一种是通过树表的等级关系,按图书分类进行逐步定位。
13、图书信息:图书信息提供按图书分类逐步定位的查找方式。
界面类似于我们所熟悉的Windows系统中的资源管理器,分为两部分,左边树表列出图书分类,右边列表框列出树表中选定节点对应的书目信息。
14、读者信息:读者信息界面类似于图书信息界面。
所不同的是左边树表的级数是固定的。
根节点下是顶级部门节点,顶级部门下是子部门节点,子部门节点下是读者类型节点。
通过此界面,除了管理读者信息,还可进行读者部门、读者类型等码表的维护。
15、系统统计:系统统计通包括多种统计功能:统计读者借书情况:某部门的某读者借书历史记录清单、违规记录清单。
统计图书情况:新书、旧书、损坏图书等的册数、比例;统计图书流通次数、频率等;统计图书编目时间段;统计各类图书的总册数等。
统计罚款情况:各项记录清单,按部门统计、按时间统计五.系统静态建模1•借阅者用例图更新账户4•类图4.1借阅管理类图| Class Logical Vi ew. : lie3•图书管理员用例图删除书籍借阅信息*tu 血 nt^st nd entclass ' string ^>stud entnumber stringUser \^username . string^Lisarpassword string strhg ^userphone ' string ^>usertype : :String ^create(} ^rsmow^O 知ndQ ^Searchbooki) ^borrowbook^O*returnboak(} *rerrawbook(} ^□pngrre20 .眄0Dbfunctiun ^>Can Connection 曇stmt ' Statement 住>「s : ResultSet %petX):qi^ry 。
•updat&O ^connectO ^tloseOLi braryhl anger ^nama String ^>p3S?word String ^checkbookO^checkuseit) %orrGw handle()^retumhandleO ^renewhandlef) ^neservehandlet ; 制ineQTitle②bciokriRrriE : String ^bookauthoF . Stringpolish .. String ^booktyps String ^>hciQkcountStrong ^>boakprice ' String ^bookpubtime String1X^createQ •update!) *temmuvefl SndQ ^searchOATeacherpleachernumber Strmg4.2系统管理类图六.系统动态建模1•用户登录•时序图新书注册■ ibcarisn|< 』吿谨它卑(曲应功臥配〕匡书更别菅 敷挎暉瑾具面査诲集'土退目査诲.< ----- ————S=l图书查询 :tabrenan登录畀竟枕卑佶息基吗査肖界查专亲坪 ———> 返旦査洵结見图书管理借书librarian豎鼓还书librarian1:誉迈身呼4<皆捕读者ID[librar srB:运兰读诸店?5:上录书启言出10:借^rT述毛记金1:世匹持岳----------------- - -------- ^]2:返冒便息< ---- ----记录谥看匹书6:消息丘返回说书恺息9:疋录宅再壬旦10:匹主或功添加用户System administrators登录臣口记录j 1:身份虢证…2:返回班近…<--------------------3:对薮据卓紀挙用户记录C)删除用户.System再户记录administrators2•状态图书籍状态图借阅者状态图[未借闽状1r借阅狀态、 1 \f欠款状态[—L ________________ J借书活动图J3XM扫描读者信息还书成功七•系统物理建模3组件图及配置图部署图还书活动图理部分八、结论和体会这个实训中,我了解了rose这个建模软件,也对软件建模有了深刻的认识。
对于软件需求,软件的构建,还有对于时序协作组成等方面的软件开发用例有了比较深的了解。
而且对于java编程有了一次进步的认识,有利于以后开发出健壮的软件。
并且这次实训也提高了我对软件需求的认识。
这次实训也有很多困难。
特别是rose这个软件的安装,还有以前都没有应用过相关软件,所以比较难上手。
到处pubish文件出错也让我耗费大量时间,总体来说,这次实训还是非常有意义的。