当前位置:文档之家› 图书管理系统_系统设计说明书

图书管理系统_系统设计说明书

软件工程
文件名称:系统设计说明书
项目名称:图书管理系统
作者:顾金俐
日期: 2010-6-22
1 引言
1.1 编写目的
编写本报告的目的是明确本系统的详细需求,供使用单位确认系统的功能和性能,并作为软件设计人员的设计依据和使用单位的验收标准。

1.2 背景
1.开发软件名称:图书管理系统
2.项目开发者:计算机工程学院计算机科学与技术
软件071班 202070402 顾金俐
3.用户单位:南京工程学院
1.3 定义和缩略语
本文使用了表 1.1所显示的面向用户的术语、定义,包括通用词语在本文档中的专用解释。

表 1.2所列为本文用到的缩略语。

1.4 参考资料
本文使用了表1.3所列为本文用到的参考资料。

1.5 用户
1..本软件的最终用户是面向管理员(图书管理员和其它管理人员)、读者(老师和同学等),他们都具有一定的计算机应用基础,可以比较熟练操作计算机。

管理员和读者都是经常性用户。

2.系统维护人员为计算机专业人员,熟悉数据库、操作系统、网络维护工作。

维护人员为间隔性用户。

2 系统设计
2.1 系统架构
依据前期的需求调研,用户已经有完善的内部局域网,网络和硬件条件都较好,虽然C/S架构有其特有的优势,但最终不采用C/S架构。

系统采用目前最为流行的B/S架构,即用户的所有操作都在浏览器上进行。

这种架构最大的优势是方便部署。

架构示意如图2-1。

图2-1 系统架构图
2.2 系统设计模式
系统采用目前最为流行的MVC设计模式,即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。

视图(View):代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。

模型(Model):就是业务流程/状态的处理以及业务规则的制定。

业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。

控制(Controller):可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。

一个模型可能对应多个视图,一个视图可能对应多个模型。

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。

如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。

因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。

这实际上是一种模型的变化-传播机制。

模型、视图、控制器三者之间的关系和各自的主要功能。

图2-2LIMS设计模式
2.3 系统持久层设计
数据持久层的设计目标是为整个项目提供一个高层、统一、安全和并发的数据持久机制。

完成对各种数据进行持久化的编程工作,并为系统业务逻辑层提供服务。

数据持久层提供了数据访问方法,能够使其它程序员避免手工编写程序访问数据持久层,使其专注于业务逻辑的开发,并且能够在不同项目中重用映射框架,大大简化了数据增、删、改、查等功能的开发过程。

2.3.1 Hibernate的应用
LIMS系统抽象出基本的数据操作。

针对数据对象的保存和更新操作,使用Hibernate这一ORM技术。

LIMS系统中所有的数据对象都与一个Hibernate的XML配置文件对应,在主配置文件中的<!-- Hibernate Mapping -->下面的建立映射引用。

在公共的后台数据库操作类DbutilBeanList中有2个将数据对象进行持久化操作的方法。

对数据的持久化都调用这2个方法,统一了数据的底层操作,便于系统的维护和扩展。

2.3.2 iBATIS的应用
iBATIS是另一个ORM解决方案,相对Hibernate的完全封装,iBATIS提供了更大的灵活性,便于扩展,也更小巧,容易上手。

特别是复杂的查询功能,利用iBATIS实现非常的方便。

因此系统中的大多数查询功能的设计都是采用iBATIS实现。

3 功能设计
根据前期的需求分析,对系统的功能模块进行划分,功能结构如图3-1。

图3-1 系统功能结构图
3.1 书籍信息管理
书籍信息管理是LIMS的核心模块,书籍信息管理模块的功能结构如图3-2。

图3-2 书籍信息管理功能结构图
3.1.1 图书管理系统流程图
1.管理员登陆流程图如下图所示3-1-1:
管理员记载文件
图3-1-1 管理员登入流程
2.学生借阅图书登记流程图如下图所示3-3-2:
图3-1-2 读者登入流程
3.还书系统完成图书的归还过程其数据流图如下图所示3-1-3:
图3-1-3 还书流程图
4 数据库设计
4.1 整体设计
LIMS系统的核心是图书资料记录,因此表结构的设计要将图书资料记录表做为主表,然后关联其他的图书信息相关的数据表。

其关联如下图4-1:
图4-1 图书信息表及其相关信息表的关联关系
4.2 数据表设计
数据表的表结构设计是一个管理信息系统项目成功与否的关键,设计的原则除了遵循一定级别的范式要求,更要注重实际应用,根据业务数据的特点来设计表结构,这样才能使系统具有更好的可维护性。

系统使用的数据库管理系统为SQL Server 2000。

数据库的逻辑设计
在完成数据的概念模型设计后,即可进入数据库的逻辑设计阶段,数据库的
逻辑设计,即把得到的关系转化为特定的数据库管理系统下的数据表。

根据前面得到的各个关系,现把它们转化为数据表。

① admininfo (管理员资料表)
② board (公告记录表)
③ bookinfo (图书资料表)
④ class (学生班级资料表)
⑤ classify (图书分类资料表)
⑥ landinfo (图书借阅登记资料表)
⑦ libraryinfo (图书馆基本配置记录表)
⑧ studentinfo (学生资料表)
数据库的物理设计
数据库的逻辑设计完成后,就可开始进行数据库的物理设计。

基于上述的数据库的逻辑设计,再考虑到程序设计的简易性及通用性,本图书馆信息管理系统采用Microsoft的SQL Server 2000数据库,并在其下创建8个数据表,结构分别如下:
(1) admininfo,管理员资料记录表,共有6个字段,分别为:id、adminname、lpassword、logins、lastlogin、tiptop,见表1
表1 admininfo,管理员资料记录表的结构
(2) board,公告资料记录表,共有4个字段,分别为:id、content、admin、addtime,见表2
表2 board,公告资料记录表的结构
(3)bookinfo,图书资料记录表,共有10个字段,分别为:id、name、classify、author、bookconcern、addtime、amount、remain、loandegree、display,见表3
表3 bookinfo,图书资料记录表的结构
(4) class,学生班级资料记录表,共有2个字段,分别为:id、name,见表4
表4 class,学生班级资料记录表的结构
(5) classify,图书分类资料表,共有2个字段,分别为:id、name,见表5
表5 classify,图书分类资料表的结构
(6) landinfo,图书借阅登记资料记录表,共有8个字段,分别为:id、bookid、studentid、landtime、returntime、shouldreturntime、hadreturn、canreland,见表6
表6 landinfo,图书借阅登记资料记录表的结构
(7) libraryinfo,图书馆基本配置记录表,共有5个字段,分别为:canland、canlandnum、canlanddays、canreland、boardreflash,见表7
表7 libraryinfo,图书馆基本配置记录表的结构
(8)studentinfo,学生资料记录表,共有10个字段,分别为:id、name、
lpassword、learnid、class、phone、lands、logins、lastlogin、islock,见表8
表8 studentinfo,学生资料记录表的结构
5 数据字典条目
数据字典是指系统使用的公共数据,这些数据统一维护,LIMS系统使用到的数据字典要进行设定,编程实现时必须严格遵守,因为有些数据字典的定义是硬编码的。

相关主题