图书管理系统概要设计
Zly小组
评 审 日 期:年月日
目 录
1.导言?3
1.1目的... 3
1.2范围?3
1.3缩写说明... 3
1。4术语定义?4
1。5引用标准?4
1。6参考资料... 4
1。7版本更新信息... 4
2.系统分析.... 5
3。界面设计?5
4.体系结构?5
5。数据模型.... 8
6。模块设计.... 9
1.导言
1。1目的
该文档的目的是描述XXX系统项目的概要设计,其主要内容包括:
l 系统功能简介
l 系统结构设计
l 数据设计
l 模块设计
l 界面设计
本文档的预期的读者是:
l 开发人员
l 项目管理人员
l 测试人员
1。2范围
该文档定义了系统的结构和单元接口,但未确定单元的实现方法,这部分内容将在详细设计/实现中确定。
1.3缩写说明
UML
Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言.
HR
Human Resource(人力资源管理)的缩写.
JSP
Java Server Page(Java服务器页面)的缩写,一个脚本化的语言。
1.4术语定义
1.5引用标准
UML
Unified Modeling Language(统一建模语言)的缩写,是一个标准的建模语言。
1。6参考资料
《实战struct》 〔美〕Ted Husted
机械工业出版社
《软件重构》
清华大学出版社
《CMMI软件过程改进与评估》 罗运模、谢志敏等编著,电子工业出版社,2004年6月版,北京
《软件工程导论》(第四版) 张海藩编著,清华大学出版社,2006年10月版,北京
1.7版本更新信息
本文档的更新记录如表B-1所示.
表B—1 版本更新记录
2。系统分析
本系统包括图书馆内图书信息, 学校在校学生的信息以及学生的借阅信息.此系统功能分为面向学生和面向管理员两个部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认。
3.界面设计
本系统的用户界面按功能分为面向学生和面向管理员两个部分
3。1管理端界面设计
管理端主要实现可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认。主要界面设计如下:
3。2客户端界面设计
客户端主要为学生提供借阅、续借、归还和查询书籍等操作
4。体系结构
系统的总体结构设计遵循如下原则:
1)系统应具有良好的适应性:能适应用户对系统的软件环境、管理内容、模式和界面的要求;
2)系统应具有可靠性:采用成熟的技术方法和软件开发平台,以保证在以后的实际应用中安全、可靠;
3)系统应具有较好的安全性:应提高完善的安全机制和用户权限限制机制,确保数据的受限访问;
4)系统应具有良好的可维护性:系统应易于维护、安装;
5)系统应具有良好的可扩展性:系统应适应未来信息化建设的要求,能方便得进行功能扩展,以建立完善的信息集成管理体系.
本系统采用管理员和用户体系结构
4。1体系结构
4。1.1图书管理系统结构概述
本系统包括图书馆内图书信息, 学校在校学生的信息以及学生的借阅信息.此系统功能分为面向学生和面向管理员两个部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认。
4。1。2系统体系结构
4。2系统运行环境
系统运行的网络结构图、硬件软件环境如下。
4。2。1 网络结构图
本系统的网络拓构图如图B-8:
其中的局域网用户机主要是公司内部的人员可以使用的机器,远程用户机主要是指通过互联网登录系统的人员使用的机器。
图B-8:系统的网络拓扑结构图
4。2。2 硬件环境
本系统的硬件环境如下:
l 客户机:普通PC
n CPU:P4 1。8GHz以上
n 内存:256MB以上
n 能够运行IE5。0以上或者Netscape4.0以上版本的机器
n 分辨率:推荐使用1024*768像素
l WEB服务器
n CPU:P4 2.0GHz
n 内存:1G以上
n 硬盘:80G以上
n 网卡:千兆
l 数据库服务器
n CPU:P4 2。0GHz
n 内存:1G以上
n 硬盘:80G以上
4。2。3软件环境
本系统的的软件环境如下:
l 操作系统:Unix/Linux/windows2000或以上版本
l 数据库:SQL Server 2000
l 开发工具包:JDK Version 1.4。2
l 开发环境:eclipse—SDK-3。1。2—win32
l Web服务器:Tomcat
l 浏览器:IE6。0以上
(1)数据库及操作系统:
对于核心数据库来说,选择一个合适的数据库系统对我们的系统运行是很重要的,选择数据库的关键因素是要考虑预计会有多少人同时访问数据库;正常工作时间的级别;用来访问数据库的应用程序的类型;运行数据库的服务器的硬件和操作系统类型;以及管理人员的专业技术水平。目前市场上适用于中小型企业的数据库产品有IBM DB2 、Microsoft SQL Server系列、 Oracle系列.所有这些产品都基于SQL语言.同时,它们还拥有精密复杂的安全控制以适应不同的商业需要.服务器操作系统使用Windows 20## Server系统。
考虑到价格因素、易用性,我们使用SQL SERVER 2000作为系统后台数据库系统,服务器操作系统采用Windows 2000 Server.
(2)WEB服务软件:
目前的WEB服务器软件有很多种,成熟而且稳定有Apache、Tomcat和Microsoft的IIS ,它们也是占据着Web服务器市场最大的份额。Tomcat是Sun和Apache合作做出来的JSPServer,支持Servlet2。2及JSP1。1等版本。而且Tomcat未来将会取代Jserv,成为Apache主要的Servlet&JSPEngine.Tomcat在设计上是以独立的Server执行,而不像Jserv是附在Apache中,这样就更可以发挥在servlet中,非HttpServlet的能力。Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑操作系统平台.因此选择Tomcat作为WEB服务器。
5。数据模型
本系统的数据模型主要是进行数据库的设计。
5。1数据库的概念结构模型设计
1. 专业信息表
2. 读者类别表
3. 读者信息表
4. 借阅信息表
5. 图书信息表
6. 用户信息表
5。2数据库的逻辑结构模型设计
1。专业信息表
字段名称数据类型是否可为空
专业代号(key)char(10)否
专业名称char(20)否
负责人 char(10)否
专业电话 char(20)是
2。读者类别表
字段名称数据类型是否可为空
读者类别(key)char(10)否
可借书数 int否
可借天数int否
3.读者信息表(look)
字段名称数据类型是否可为空
读者编号 (key)char(10)否
条码 char(10)否
读者姓名 char(10)否
读者类别char(10) 否
书证状态char(10) 否
登记日期 datetime否
有效期至datetime否
性别char(2)否
专业char(20)否
电话char(20)是
e—mail char(30)是
4。借阅信息表
字段名称数据类型是否可为空
读者编号char(10)否
图书编号char(20)否
书名char(50) 否
作者 char(50) 否
出版社char(30) 否
价格float否
借出日期datetime否
操作员char(10) 否
超期天数int 是
5。图书信息表
图书编号char(20)否
条码char(20) 是
分类号char(20)否
书名char(50) 否
类型char(50) 否
作者char(50) 否
译者char(50) 是
ISBN char(20) 否
出版社char(30) 否
版次char(30) 否
开本char(10) 否
字数char(10) 否
页码int否
价格float否
入馆时间 datetime 是
藏书数 int 否
可借数int 否
可否流通bit否
6.用户信息表
用户编号
姓名char(10) 否
性别char(10) 否
职务char(2) 否
电话char(20) 是
密码char(10) 否
权限代码char(2) 否
5。3数据库管理物理结构模型设计
6。模块设计
按照功能分解,本系统分为面向学生和面向管理员两个部分。根据页面流的设计,管理端系统又分为用户登录、用户管理、图书管理等3个模块,如图B—12.
针对不同用户,提供了两类功能登录接口:即应聘者登录接口和企业管理人员登录接口,这些接口都以WEB页面的形式提供。通过各自的页面,应聘者和企业管理人员可以从事各自的活动。
以下将分小节对各个部分进行设计
6。1客户端模块设计
6.1。2 BLL层设计
(用户登录)
用户输入密码,然后提交数据到数据库,进行确认,确认成功后返回登录成功。
(查询图书)
用户输入需要查询的信息,然后系统验证用户输入的信息,验证成功之后显示查询结果
(管理员修改图书信息)
管理员输入需要修改的信息,然后验证用户输入的信息,验证通过后,更新数据库,然后提示修改成功
(管理员添加图书信息)
管理员登录以后,输入添加的信息,通过验证后,将数据录入数据库,然后提示添加成功.
(管理员添加用户信息)
管理员输入登录信息,成功登录后,输入需要添加的用户信息,用户信息验证通过后,将数据录入数据库,然后提示添加成功
(管理员删除学生信息)
管理员输入登录信息,成功登录后,输入需要删除的信息,验证用户输入的信息,验证通过后,修改数据库的数据,然后提示用户修改成功.
6。1。3 DAL层设计
public class DatabaseAccess
{
/*
声明成员变量,这样这个类中的所有方法就可是使用这些变量了
*/
private SqlConnection myConnection;
private SqlCommand myCommand;
private SqlDataAdapter myDataAdapter;
private DataSet mySet = new DataSet();
public DatabaseAccess()
{
}
/*创建查询的方法,返回数据集对象DataSet,参数SelectString表示查询的Sql语句,TableName表示要查询的表名*/
public DataSet FillDataSet(string SelectString, string TableName)
{
}
/*执行插入,更新,修改的操作,参数CommandString表示Sql语句*/
public void ExeCommand(string CommandString)
{
}
/*执行存储过程的方法,参数为Command对象*/
public void ExeStoreProcedure(SqlCommand command)
{
}
}6。1.4 MODEL层设计