实 验 报 告
课程名称 软件工程导论
课题名称 图书管理系统详细设计报告
专 业 计算机科学与技术
班 级 计算机0903
学 号
姓 名
指导教师
20##年 5 月 24 日
目录
1.1 编写目的... 2
1.2 背景... 2
1.3 定义... 3
1.4 参考资料... 3
3.1 程序描述... 7
3.2 功能... 7
3.3 性能... 7
3.4 输入项... 7
3.5 输入项... 8
3.6 算法... 8
3.7 流程逻辑... 8
3.8 接口... 9
3.9 存储分配... 9
3.10 注释设计... 9
3.11 限制条件... 9
3.12 测试计划... 9
1 引言
1.1 编写目的
本文档为C3图书管理系统的详细设计说明书,向阅读人 员介绍本图书管理系统的整体框架和详细设计。
1.2 背景
系统描述
BMS系统为图书馆书籍管理,企业图书、材料管理提供了一个方 便的电子平台。该系统分为图书管理模块,图书信息查询、预览 模块,图书评价模块,读者信息管理模块,书籍借阅和归还管理 模块以及管理员模块等模块。图书管理系统软件是一套功能比较 完善的图书数据管理软件,具有数据操作方便高效迅速等优点。 使用。除此以外,BMS可通过访问权限控制以及数据备份功能,确保数据的安全性。
1.3 定义
术语:
BMS BookManagementSystem 图书管理系统
1.4 参考资料
《数据库系统概念》 Abraham Silberschatz Henry F.korth
《软件工程导论——第4版》 张海藩 清华大学出版社
2 程序系统的组织结构
2.1系统架构
本系统包含客户层,中间层和图书管理信息系统层。其中,客户层用于用户与客户端的交互,例如显示信息,查询信息,提交信息,输入数据等。中间层为应用服务器部分,主要用来实现数据的接收,发送,并作为一座“桥梁”来连接客户与数据库。图书管理信息系统层主要实现数据的处理功能。
从安全的角度看,中间层的引入能有效的对系统与数据进行保护,用户无法直接修改,删除核心信息,从而使系统安全性得到保障,有效地避免数据丢失等问题的出现
2.2系统功能模块
各模块结构体模块图如下所示:
管理员功能模块图:
读者功能模块图:
登录注册模块:
系统子模块清单:
3 程序1(注册登录模块)设计说明
3.1 程序描述
读者第一次使用该系统,需要通过注册才能成为系统的用户。登录系统后,用户可以使用系统开放给普通用户的各种功能。在个人信息中,注册用户还可以查看并修改自己的个人信息。丢失自己密码的注册用户可以通过个人资料认证来重新找回自己的密码。
3.2 功能
注册部分:非会员输入注册信息,系统判断注册信息的正确性,如果正确,在数据库插入新的读者信息,并返回欢迎信息。
取回密码部分:读者输入读者ID,系统取出该读者ID的密码和注册邮箱,将密码发送到该邮箱中。
登录部分:管理员输入登录名和密码,系统判断密码正确性,如果正确,向管理员提供管理员相关功能。读者输入登录名和密码,系统判断密码正确性,如果正确,向其提供读者相关功能.
3.3 性能
–允许读者测试注册读者ID的合法性
–提供足够的帮助信息,诱导用户输入
–允许读者跳过某些非关键信息,允许读者更改输入次序
3.4 输入项
–注册部分:输入注册信息,包括用户名,姓名,地址,Email, 电话号码,密码等。
–取回密码部分:输入用户名以及Email,电话号码中至少一项
–登录部分:读者输入用户名与密码,管理员输入管理员ID与密 码。
3.5 输入项
–注册部分:如果成功,输出欢迎信息;否则出现失败提示信息。
–取回密码部分:如果成功,显示成功信息,并将密码发送至Email 中;失败则显示失败提示信息。
–登录部分:如果成功,输出欢迎信息;反之则提示失败信息。
3.6 算法
–注册部分:首先判断数据库中的读者ID是否存在,如果存在, 提示错误信息,如果不存在再判断输入数据是否符合输入要求, 不符合要求,提示具体错误信息,反之则将注册读者信息存入到 数据库中。
–取回密码部分:首先判断输入的读者ID是否存在,不存在则提 示错误信息,存在则将该读者的密码发送至会员提供的Email中。
–登录部分:首先判断读者ID是否存在如果输入的读者名不存 在,提示错误信息,然后检查密码与读者ID是否对应,不对应则 提示错误信息,对应输出欢迎信息。
3.7 流程逻辑
3.8 接口
数据库接口
3.9 存储分配
读者信息存储在数据库tb_reader表中,管理员信息存储在数据库 tb_admin中.
3.10 注释设计
用/*……*/作多行注释,用//作单行注释
3.11 限制条件
取回密码时读者的邮箱地址一定要合法的,才能把密码发送到该 邮箱中。
3.12 测试计划
用多组重复的读者ID测试错误信息的检查与显示,用不符合要求 的读者信息注册测试系统错误处理能力。
第二篇:图书管理系统概要设计报告
图书管理系统概要设计
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层设计