图书馆管理系统分析设计1、系统简介本系统为一个小型的图书管理系统,需完成以下工作:(1)借书、还书(2)在图书馆中增加或删除一本书(3)按照作者或者专业领域查找一批书(4)找出被某位读者借出的一批书(5)找出最近借出某本书的读者系统的用户有两类:图书管理员和普通读者。功能(1)(2)(5)只供图书管理员使用,功能(4)只能供读者查找自己借出的书,功能(3)为管理员和读者的共同功能。本系统需满足以下限制:(1)图书馆中所有未借出的书可供读者随时借阅(2)在同一时刻,一本书不能既被借出又可供阅读(3)一个读者一次借出图书的数目不能超过预定值2、用例分析与设计从以上系统简介内容中可以看出,本系统有以下几类参与者:图书管理员Admin读者Reader读卡器CardReader服务器System在上述参与者中,图书管理员和读者与系统进行交互,通过对交互场景进行归类和抽象,本系统应具有以下用例:借书lendBook还书returnBook增加图书addBook删除图书delBook按作者、专业检索图书findBook_Author按读者检索图书findBook_Reader按书检索读者findReader_Book2.1生成用例图由以上用例分析可生成用例图,如图2.1所示图2.1系统用例图2.2用例的顺序图为了使每个用例的操作流程更简洁明了,本系统采用UML的顺序图来对每个用例进行细化,如下所示。1、借书图2.2借书顺序图函数说明:InsertCard():刷卡ReadCard():读卡ifMax()判断借书数量是否达到上限ReturnReaderInfo()返回读者信息Return(true):该读者可继续借书lendBook():输入借书信息Update()更新数据库2、还书图2.3还书顺序图函数说明:BookInfo():输入还书信息Update():更新数据库ReturnReaderInfo():返回读者信息3、增加图书图2.4增加图书顺序图函数说明:addBook():输入增加的图书信息ifAllowsAdd():判断是否允许添加Update():更新图书信息Return(true):返回添加成功4、删除图书图2.5删除图书顺序图函数说明:delBook():输入删除的图书信息ifAllowsDel():判断是否可以删除ifSure():是否确定删除Return(true)5:确定删除Update():更新图书信息Return(true)7:返回删除成功5、按作者检索图书图2.6按作者或专业检索图书顺序图函数说明:findBook_Author():管理员或读者选择按作者或专业检索图书Author(String):输入作者或专业信息returnBookInfo():返回图书信息6、按读者检索图书管理员部分:图2.7按读者检索图书顺序图读者部分图2.8读者检索个人借阅图书顺序图函数说明:findBook_Reader():选择按读者检索图书ReaderId():输入读者编号ReaderIdandPass():输入读者编号密码returnBookInfo():返回书籍信息7、按书检索读者图2.9按图书检索读者顺序图函数说明:findReader_Book():选择按图书检索读者BookID():输入图书编号returnReaderInfo():返回读者信息3、概念模型和顶层架构设计3.1概念模型设计图3.1系统概念模型——分析类图说明:表示控制类表示实体类表示边界类3.2顶层架构设计用户交互层业务逻辑层网络服务层CardCardReaderAdminWindowsReaderWindowslendBookreturnBookaddBookdelBookfindReader_BookfindBook_AuthorfindBook_ReaderifMaxSystemSessionOperation图3.2系统顶层架构4、用户界面设计4.1界面变化分析根据管理员的功能分析,与管理员相关的主要界面有以下10个:AdminWelcome:管理员主界面findReader_Book:按读者检索图书界面lendBook:借书界面returnBook:还书界面addBook:增加图书界面delBook:删除图书界面findBook_Author:按作者或专业查找图书界面findBook_Reader:按读者检索图书界面UserInfo:显示读者信息界面BookInfo:显示图书信息界面各界面之间的转换如状态图4.1所示图4.1管理员屏幕变化状态图根据读者的功能分析,与读者相关的主要界面有以下5个:ReaderWelcome:读者主界面findBook_Author:按作者或专业查找图书界面findBook_Reader:按读者检索图书界面InputPass:读者验证账户名密码界面BookInfo:显示图书信息界面各界面之间的转换如状态图4.2所示ReaderWelcomefindBook_AuthorfindBook_ReaderInputPass密码错误,重新输入BookInfo继续继续密码正确继续图4.2读者屏幕变化状态图4.2界面的类图表示针对每个屏幕的结构及功能,采用类图对其进行详细说明,如下所示。1、借书界面此界面包含一个图书编号文本框、一个读者编号文本框、一个借书按钮以及一个取消按钮,如图4.3所示Bn_CanclewindowBn_LendwindowTextBox_BookIDwindowlendBookscreen111111111111TextBox_ReaderIDwindow1111图4.3借书界面的结构类图2、还书界面此界面包含一个图书编号文本框、一个还书按钮以及一个取消按钮,如图4.4所示Bn_CanclewindowBn_ReturnwindowreturnBookscreen11111111TextBox_BookIDwindow1111图4.4还书界面结构类图3、增加图书界面此界面包含一个图书编号文本框、一个图书名称文本框、一个图书作者文本框、一个增加按钮以及一个取消按钮,如图4.5所示Bn_CanclewindowBn_AddwindowTextBox_AuthorwindowTextBox_BookIDwindowaddBookscreen1111111111111111TextBox_Namewindow1111图4.5增加图书界面结构类图4、删除图书界面此界面包含一个图书编号文本框、一个删除按钮以及一个取消按钮,如图4.6所示Bn_CanclewindowBn_DelwindowdelBookscreen11111111TextBox_BookIDwindow1111图4.6删除图书界面结构类图5、按作者或专业查找图书界面此界面包含一个作者姓名本框、一个查找按钮以及一个取消按钮,如图4.7所示Bn_FindwindowBn_CanclewindowfindBook_Authorscreen11111111TextBox_Authorwindow1111图4.7按作者或专业查找图书界面结构类图6、按图书查找读者界面此界面包含一个图书编号文本框、一个查找按钮以及一个取消按钮,如图4.8所示Bn_FindwindowBn_CanclewindowfindReader_Bookscreen11111111TextBox_Bookwindow1111图4.8按图书查找读者界面结构类图7、按读者查找图书界面此界面包含一个读者编号文本框、一个查找按钮以及一个取消按钮,如图4.9所示Bn_FindwindowBn_CanclewindowfindBook_Readerscreen11111111TextBox_ReaderIDwindow1111图4.9按读者查找图书界面结构类图8、读者验证账户名密码界面此界面包含一个读者编号文本框、一个读者密码文本框、一个查找按钮以及一个取消按钮,如图4.10所示Bn_YeswindowBn_CancelwindowTexBox_IDwindowInputPassscreen111111111111TextBox_Passwindow1111图4.10读者验证账户名密码界面结构类图4.3界面包图的设计1、管理员界面包图管理员界面addBookscreenfindReader_BookscreendelBookscreenlendBookscreenreturnBookInfoscreenfindBook_ReaderscreenfindBook_Authorscreen图4.11管理员界面包图2、读者界面包图读者界面InputPassscreenfindBook_ReaderscreenfindBook_Authorscreen图4.12读者界面包图5、类设计5.1类的属性和操作设计经过分析,系统主要的类、类的属性及操作以及它们之间的关系如图5.1所示。图5.1系统类图5.2类的行为模型设计单单用类图对类进行描述并不能表示各实体类的动态行为,在这里我们进一步用状态图对书籍和读者两个实体类进行分析1、书籍的类的状态图图5.2书籍类状态图状态图说明:NewBook:新书状态;书籍在新增后进入此状态Available:可借阅状态Lened:已借出状态Delete:已删除状态书籍在刚增加后进入新书状态,可供借阅;在发生借阅事件后进入已借出状态;当书籍归还,又转化为可供借阅状态;删除后进入已删除状态。NewReaderUnAvailableAvailableDeleteaddReaderifMax(False)ifMax(True)delBookReturn图5.2读者类状态图状态图说明:NewReader:新读者账户Available:可借阅状态UnAvilable:不可借阅状态Delete:已删除状态新增的读者为新读者账号状态,可借阅图书;当借书数量达到最大值时转化为不可借阅状态;当有图书归还后又进入可借阅状态;当账号被删除,转化为已删除状态。6、小结以上就是本小组经过详细分析、精心设计的一个图书管理系统。经过小组的讨论以及分工合作,使得我们每个人对该系统有了比较全面的了解。我们采用UML分析方法对系统进行分析设计,通过对用例的分析、概念模型和顶层架构的分析、界面设计以及类的分析设计让整个系统的架构更加清晰明了。在描述各个架构及功能时我们采用了各种图,包括状态图,类图,包图,顺序图等等,全面而详细的将图书管理系统整体到部分功能形象地展示出来。UML统一建模课程是我们组成员设计的知识基础,通过对rose软件的实践应用,成功地完成本次软件设计的具体工作。