1、系统设计图书管理系统系统设计实例 “图书管理系统”设计报告1.引言1.1目的1.2 范围1.3定义1.4参考文献(略)2.系統体系结构本系统是一个基于B/S结构的图书管理系统,采用面向对象技术、数据库技术、分布式技术等先进技术开发的应用程序。 图书管理系统的体系结构如图5.1所示。图5.1 系统体系结构我们将图书管理系统分成三层:GUI层:主要包括界面的定义。Business层:用来处理实体类的操作以及相应规则的实现。DB层:用来完成与数据库的交互,实现数据的存储与访问。系统的部分组件图如图5.2.1,5.2.2和5.2.3所示。图5.2.1 Business包的组件图图5.2.2 GUI包中
2、的部分组件图图5.2.3 GUI包中的部分组件图图书管理系统的配置图如图5.3所示。图5.3 图书管理系统的配置图3.建立设计的对象模型系统的对象模型候选类描述类名注释图书在系统中,需要保存图书的基本信息,所以它应该是系统的对象。Book持久读者在系统中,需要保存读者的基本信息,所以它应该是系统的对象。Reader持久借阅记录在系统中,需要保存借书的记录,所以它应该是系统的对象。Record持久账号在系统中,账号是用来保存用户名密码,用于权限判定,所以它应该是系统的对象。Account持久通过分析,我们得到的“图书管理系统”的实体对象说明层的类图,如图5.4。图5.4 实体对象说明层类图注:(
3、1)Account类中的username就是对应Reader类中的readerId;(2)Record类中中的bookId对应Book类中的bookId,readerId对应Reader类中的readerId。“图书管理系统”的边界对象的部分类图,如图5.4.1和5.4.2。图5.4.1 边界对象类图图5.4.2 边界对象类图3.1图书类描述类名:Book类属性:属性名属性解释数据类型bookId图书编号StringbookName图书书名Stringauthor图书作者Stringpublisher图书出版社Stringprice图书单价Doubleabstracts图书摘要Stringca
4、telog图书分类Stringstatus图书状态String类方法:方法名方法功能返回值类型savaBook添加图书信息voiddeleteBook删除图书信息voidupdateBook修改图书信息voidgetBook根据id查找某本图书的详细信息getBooks查询图书信息List3.2 读者类描述类名:Reader类属性:属性名属性解释数据类型readerId读者证号StringreaderName读者姓名Stringaddress读者联系地址Stringphone读者电话号码Stringemail读者电子邮件String类方法:方法名方法功能返回值类型savaReader添加读者信
5、息voiddeleteReader删除读者信息voidupdateReader修改读者信息voidgetReader根据id查找某个读者的详细信息getReaders查询读者信息List3.3借阅记录类描述类名:Record类属性:属性名属性解释数据类型bookId图书编号StringreaderId读者证号StringborrowDate借阅日期Date类方法:方法名方法功能返回值类型savaRecord添加借书记录voiddeleteRecord删除借书记录voidgetRecords查询借书记录ListisExpired是否过期booleanborrowBook借书voidreturnB
6、ook还书void3.4帐号类描述类名:Account类属性:属性名属性解释数据类型username用户名Stringpassword密码Stringtype用户类型String类方法:方法名方法功能返回值类型savaAccount添加帐号voiddeleteAccount删除帐号voidupdateAccount修改帐号voidisAccount判断是否是合法用户booleangetAccounts查询帐号信息List4.提供交互界面的4.1对图书信息操作的界面类Book_save.jsp 添加图书页面;Book_list.jsp 查询图书记录的列表显示;Book_detail.jsp 显示
7、图书详细信息;Book_update.jsp 图书信息更新页面;Book_query.jsp 图书信息查询页面4.2对读者信息操作的界面类Reader_save.jsp 添加读者页面;Reader_list.jsp 多条读者记录的列表显示;Reader_detail.jsp 显示读者详细信息;Reader_update.jsp 读者信息更新页面;Reader_query.jsp 读者信息查询页面4.3对借阅记录信息操作的界面类Record_save.jsp 添加借阅记录页面;Record_list.jsp 查询借阅记录结果的列表显示;Record_query.jsp 借阅记录信息查询页面Rec
8、ord_delete.jsp 还书页面4.4对帐号信息操作的界面类Account_save.jsp 添加帐号页面;Account_list.jsp 查询帐号记录结果的列表显示;Account_update.jsp帐号信息更新页面;Account_query.jsp 帐号信息查询页面5 建立动态模型由于借书和还书的过程是本系统中较重要而且较复杂的流程,因此我们画出它们的时序图。5.1借书借书时序图参见“系统分析-图书管理系统”中的图4.2。5.2 还书还书时序图参见“系统分析-图书管理系统”中的图4.3。5.3 状态图 某些类可以由UML状态图来显示对象的不同状态,以及改变对象状态的事件。图书管
9、理系统中有状态图的类有:Book和Account。类Book的状态图参见“系统分析-图书管理系统”中的图4.4。 类Account的状态图如图5.5。图5.5 Account的状态图5.4 活动图 在图书管理系统中,有明确活动的类有:读者(Reader)和图书管理员(Librarian)。读者借书的活动图参见“系统分析-图书管理系统”中的图4.5。图书管理员的活动图如图5.6。图5.6 图书管理员的活动图6 数据库设计6.1 图书表:表名: book字段名字段含义数据类型是否允许空是否主键id图书的自然主键int bookId图书编号varchar(20)bookName图书书名varchar
10、(20)author图书作者varchar(20)publisher图书出版社varchar(50)price图书单价doubleabstracts图书摘要varchar(500) catelog图书分类varchar(20)status图书状态char(1)6.2 读者表表名:reader属性名属性解释数据类型是否允许空是否主键id读者的自然主键int readerId读者证号varchar(20)readerName读者姓名varchar(20)address读者联系地址varchar(100) phone读者电话号码varchar(20) email读者电子邮件varchar(40) 6
11、.3 借阅记录表表名:record属性名属性解释数据类型是否允许空是否主键id借阅记录的自然主键int bookId图书编号varchar(20)readerId读者证号varchar(20)borrowDate借阅日期Date6.4 帐号表表名:account属性名属性解释数据类型是否允许空是否主键id帐号的自然主键int username用户名varchar(20)password密码varchar(20)type用户类型char(1)7.用户界面设计采用图形用户界面。7.1系统登陆界面打开浏览器输入: http:/localhost:8080/lms/logon.jsp出现如下登录界面(
12、如图5.7):图5.7 登陆页面输入正确的用户名和密码,选择“图书管理员”,跳转到操作主页面(如图5.8)图5.8 主页面7.2图书信息界面1. 添加图书选择“图书维护”菜单中的“添加图书”菜单,出现如下的添加页面(如图5.9):图5.9 输入图书信息页面输入信息后,点击“添加”;2. 查询图书选择“图书维护”菜单中的“查询图书”菜单,出现如下的添加页面(如图5.10):图5.10 输入图书信息查询条件页面输入查询条件后,点击“查询”按钮,出现查询结果,如下图(图5.11所示:图5.11 图书信息查询结果列表3. 删除图书在图5.11中选择要删除的记录,点击删除按钮,进行删除;4. 修改图书在图5.11中选择要修改的图书记录,点击更新按钮,出现更新页面,如下图所示(图5.12):图5.12 图书更新页面在更新页面中,编辑要修改的信息,点击保存按钮。7.3读者信息界面(大致与图书信息的操作类似,故省略)7.4 图书流通操作1.借书选择“图书流通”菜单中的“借书”菜单,出现如下的添加页面:图5.13借书页面输入借阅信息后,点击借书按钮;2.还书选择“图书流通”菜单中的“还书”菜单,出现如下的还书页面(如图5.14):图5.14 还书页面输入借阅信息后,点击还书按钮;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1