1、图书管理系统_系统设计说明书 作者: 日期:2 个人收集整理 勿做商业用途软 件 工 程文 件 名 称:系统设计说明书项 目 名 称:图书管理系统作者: 顾金俐 日期: 2010-622 1 引言 1。1 编写目的 编写本报告的目的是明确本系统的详细需求,供使用单位确认系统的功能和性能,并作为软件设计人员的设计依据和使用单位的验收标准。1。2 背景 1。开发软件名称:图书管理系统2。项目开发者:计算机工程学院计算机科学与技术 软件071班 202070402 顾金俐3。用户单位:南京工程学院1.3 定义和缩略语 本文使用了表 1。1所显示的面向用户的术语、定义,包括通用词语在本文档中的专用解释
2、。表 1。1 术语/定义术语/定义说 明开发方顾金俐 用 户南京工程学院图书馆用例图反映用户与系统交互情况的一种图形,常用于需求分析表 1。Error! Bookmark not defined.所列为本文用到的缩略语.表 1。Error! Bookmark not defined. 缩略语缩略语说 明LIMS (Library Information Management System)南京工程学院学校1。4 参考资料本文使用了表1.3所列为本文用到的参考资料.表 1。3参考资料编号资料名称作者1软件工程理论与实践 白忠建等2软件工程导论(第四版)张害藩3软件工程实践教程赵池龙等1.5 用户
3、1.本软件的最终用户是面向管理员(图书管理员和其它管理人员)、读者(老师和同学等),他们都具有一定的计算机应用基础,可以比较熟练操作计算机。管理员和读者都是经常性用户。2。系统维护人员为计算机专业人员,熟悉数据库、操作系统、网络维护工作。维护人员为间隔性用户。2 系统设计2。1 系统架构 依据前期的需求调研,用户已经有完善的内部局域网,网络和硬件条件都较好,虽然C/S架构有其特有的优势,但最终不采用C/S架构。系统采用目前最为流行的B/S架构,即用户的所有操作都在浏览器上进行。这种架构最大的优势是方便部署。架构示意如图2-1。 图21 系统架构图2。2 系统设计模式 系统采用目前最为流行的MV
4、C设计模式,即ModelViewController,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层. 视图(View):代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。模型(Model):就是业务流程/状态的处理以及业务规则的制定.业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。 控制(Controller):可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求.一个模型可能对应多个
5、视图,一个视图可能对应多个模型. 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化.因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新.这实际上是一种模型的变化传播机制。模型、视图、控制器三者之间的关系和各自的主要功能. 图2-2LIMS设计模式2。3 系统持久层设计数据持久层的设计目标是为整个项目提供一个高层、统一、安全和并发的数据持久机制。完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提供服务。数据持久层提供了数据访问方法,能够使其它程序员避免手工编
6、写程序访问数据持久层,使其专注于业务逻辑的开发,并且能够在不同项目中重用映射框架,大大简化了数据增、删、改、查等功能的开发过程。2.3。1 Hibernate的应用LIMS系统抽象出基本的数据操作.针对数据对象的保存和更新操作,使用Hibernate这一ORM技术.LIMS系统中所有的数据对象都与一个Hibernate的XML配置文件对应,在主配置文件中的!- Hibernate Mapping -下面的建立映射引用。在公共的后台数据库操作类DbutilBeanList中有2个将数据对象进行持久化操作的方法。对数据的持久化都调用这2个方法,统一了数据的底层操作,便于系统的维护和扩展。2.3.2
7、 iBATIS的应用iBATIS是另一个ORM解决方案,相对Hibernate的完全封装,iBATIS提供了更大的灵活性,便于扩展,也更小巧,容易上手。特别是复杂的查询功能,利用iBATIS实现非常的方便。因此系统中的大多数查询功能的设计都是采用iBATIS实现。3 功能设计 根据前期的需求分析,对系统的功能模块进行划分,功能结构如图31。 图3-1 系统功能结构图 3。1 书籍信息管理 书籍信息管理是LIMS的核心模块,书籍信息管理模块的功能结构如图32。 图3-2 书籍信息管理功能结构图3.1.1 图书管理系统流程图1.管理员登陆流程图如下图所示3-11:图3-1-1 管理员登入流程2。学
8、生借阅图书登记流程图如下图所示33-2:图3-12 读者登入流程3.还书系统完成图书的归还过程其数据流图如下图所示31-3:图3-1-3 还书流程图4 数据库设计4。1 整体设计LIMS系统的核心是图书资料记录,因此表结构的设计要将图书资料记录表做为主表,然后关联其他的图书信息相关的数据表。其关联如下图41: 图4-1 图书信息表及其相关信息表的关联关系4.2 数据表设计 数据表的表结构设计是一个管理信息系统项目成功与否的关键,设计的原则除了遵循一定级别的范式要求,更要注重实际应用,根据业务数据的特点来设计表结构,这样才能使系统具有更好的可维护性。系统使用的数据库管理系统为SQL Server
9、 2000。数据库的逻辑设计在完成数据的概念模型设计后,即可进入数据库的逻辑设计阶段,数据库的逻辑设计,即把得到的关系转化为特定的数据库管理系统下的数据表。根据前面得到的各个关系,现把它们转化为数据表。 admininfo (管理员资料表) board (公告记录表) bookinfo (图书资料表) class (学生班级资料表) classify (图书分类资料表) landinfo (图书借阅登记资料表) libraryinfo (图书馆基本配置记录表) studentinfo (学生资料表)数据库的物理设计数据库的逻辑设计完成后,就可开始进行数据库的物理设计。基于上述的数据库的逻辑设计
10、,再考虑到程序设计的简易性及通用性,本图书馆信息管理系统采用Microsoft的SQL Server 2000数据库,并在其下创建8个数据表,结构分别如下:(1) admininfo,管理员资料记录表,共有6个字段,分别为:id、adminname、lpassword、logins、lastlogin、tiptop,见表1表1 admininfo,管理员资料记录表的结构字段名称数据类型说明长度id自动编号管理员标识号长整型adminname文本登陆名10lpassword文本登陆密码10logins数字登陆次数长整型lastlogin日期/时间上次登陆时间tiptop数字是否最高管理员,是:1
11、,否:0字节(2) board,公告资料记录表,共有4个字段,分别为:id、content、admin、addtime,见表2表2 board,公告资料记录表的结构字段名称数据类型说明长度id自动编号公告标识号长整型content文本公告内容60admin数字发表公告管理员ID长整型addtime日期/时间公告发表时间,默认:now()(3)bookinfo,图书资料记录表,共有10个字段,分别为:id、name、classify、author、bookconcern、addtime、amount、remain、loandegree、display,见表3表3 bookinfo,图书资料记录表
12、的结构字段名称数据类型说明长度id自动编号图书标识号长整型name文本图书名20classify数字图书分类整型author文本图书作者20bookconcern文本图书出版社25addtime日期/时间进馆时间,默认:now()amount数字图书数量整型remain数字剩余数量整型loandegree数字借出次数长整型display数字是否显示,是:0,否:1字节(4) class,学生班级资料记录表,共有2个字段,分别为:id、name,见表4表4 class,学生班级资料记录表的结构字段名称数据类型说明长度id自动编号班级标识号长整型name文本班级名20(5) classify,图书
13、分类资料表,共有2个字段,分别为:id、name,见表5表5 classify,图书分类资料表的结构字段名称数据类型说明长度id自动编号分类标识号长整型name文本分类名10(6) landinfo,图书借阅登记资料记录表,共有8个字段,分别为:id、bookid、studentid、landtime、returntime、shouldreturntime、hadreturn、canreland,见表6表6 landinfo,图书借阅登记资料记录表的结构字段名称数据类型说明长度id自动编号借出图书标识号长整型bookid数字借出的图书标识号长整型studentid数字借书的学生标识号长整型la
14、ndtime日期/时间借出时间,默认:Now()returntime日期/时间实际还书的时间shouldreturntime日期/时间应该还书的时间hadreturn数字标识是否已经归还,是:1,否:0字节canreland数字续借次数长整型(7) libraryinfo,图书馆基本配置记录表,共有5个字段,分别为:canland、canlandnum、canlanddays、canreland、boardreflash,见表7表7 libraryinfo,图书馆基本配置记录表的结构字段名称数据类型说明长度canland数字是否可借出图书,是:1,否:0字节canlandnum数字可以借出图书
15、的数量 默认:0整型canlanddays数字图书可以借阅时间 默认:60天整型canreland数字可以续借的次数 默认:5次整型boardreflash数字公告刷新时间 默认时间为6000毫秒长整型(8)studentinfo,学生资料记录表,共有10个字段,分别为:id、name、lpassword、learnid、class、phone、lands、logins、lastlogin、islock,见表8表8 studentinfo,学生资料记录表的结构字段名称数据类型说明长度id自动编号学生标识号长整型name文本学生名5lpassword文本学生登陆密码10learnid文本学生学号12class数字班级标识号整型phone文本联系电话11lands数字借阅次数长整型logins数字登陆次数长整型lastlogin日期/时间最后登陆时间islock数字是否超时锁定是:1否:0字节5 数据字典条目 数据字典是指系统使用的公共数据,这些数据统一维护,LIMS系统使用到的数据字典要进行设定,编程实现时必须严格遵守,因为有些数据字典的定义是硬编码的。11