详细设计说明书主要介绍系统设计的整个流程的详细设计情况,使程序员和其他工作人员对系统的流程有更清楚的认识,辅助程序员编写程序。此说明书的对象是程序员,测试人员,小型书店管理员和小型书店工作人员。
项目背景
待开发软件名称:小型书店管理系统
项目任务提出者: 余日泰
项目任务开发者: 尚晓斌
项目与其他软件系统的关系:本项目采程序是建立在Windows系列系统上以Microsoft Visual Basic6.0为开发软件的图书管理平台程序即C/S部分,以ASP为开发软件的读者平台程序即B/S部分,采用Microsoft SQL Server 2000为开发软件后台数据库服务程序。
定义
(1)VB6.0和Microsoft SQL Server程序设计语言:它们是Microsoft开发计算机语言。前者可用于做用户界面,后者可用于做后台数据库。
(2)图书管理系统:图书管理是帮助书店普通工作人员,管理人员对书店的日常运作进行高效管理的软件。
(3)C/S:C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQL Server。客户端需要安装专用的客户端软件。
(4)B/S:B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。
参考资料
《软件工程导论》 第三版-------------张海藩 编著 清华大学出版社
《实用软件工程》 第二版 -------郑人杰 殷人昆 陶永雷 主编 清华大学出版社
《数据库原理与应用》-----李昭原 主编 科学出版社
《软件工程学教程》------------ 陈明 编著 科学出版社
总体设计
需求概述
本软件的主要功能是:通过本管理软件,能帮助书店工作人员利用计算机,方便高效的对图书信息管理,客户信息管理,图书信息查询,读者信息查询,读者借阅管理,读者网上续借,读者违轨罚款,系统维护等处理,使书店管理实现各种信息的系统化、规范化、自动化。
软件结构
程序总体分为两部分,即C/S和B/S部分,其中C/S部分为主要部分,分别安装在书店的各个终端;B/S主要功能为网上查询,网上续借,以及各种新闻发布。
(1)C/S部分结构图:
(2)B/S部分结构图:
3程序描述
3.1功能
(1)C/S(针对管理员):
(2)B/S(针对用户和管理员):
3.2性能
(1)数据库设计严密,冗余少,使各项操作都能比较高效的进行。
(2)查询语句尽量满足效率要求。
(3)软件方面,响应时间,更新处理时间都比较快且迅速,完全满足用户要求。
(4)对几张关系表采取在数据库写触发器的方法更新数据,使操作执行效率更高,更加安全和稳定。
3.3输入项目(数据库设计)
(1)读者信息 (reader):
字段名称 描述 数据类型 字段大小 说明
reader_ID 读者编号 varchar 20 Not null 主键
eader_name 读者姓名 varchar 20 Not null
reader_pwd 读者密码 Varchar 20 Not null
reader_sex 性别 Bit 1 Not null 默认1为男,0为女
reader_iden 身份证号 varchar 20 Not null 如果是学生可用学号
kcard_date 办证日期 datetime 8 Not null 显示“yyyy-mm-dd”
reader_sort 类别 varchar 20 Not null 外键(对应reader_sort表)
reader_tel 电话 varchar 20 Null
reader_dept 部门 varchar 50 null
cur_books 当前借书数 Int 4 Not null
reader_addr 住址 varchar 50 Not null
post_num 邮编 varchar 6 Not null
pay_money 罚款数 money 8 Not null 默认为0
break_times 违章次数 Int 4 Not null 默认为0
stop_flag 止借标志 bit 1 Not null 1为止借,0为可借(默认为0)
reader_memo 备注 varchar 100 null
be_effect 借书证是否有效(1为无效,0为有效) Bit 1 Not null
(2)客户信息 (buyer):
字段名称 描述 数据类型 字段大小 说明
buyer_ID 客户编号(订户) varchar 20 Not null 主键
buyer _name 客户姓名 varchar 20 Not null
buyer _pwd 客户密码 Varchar 20 Not null
buyer _sex 性别 Bit 1 Not null 默认1为男,0为女
buyer _iden 身份证号 varchar 20 Not null
buyer _sort 类别 varchar 20 Not null 外键(对应buyer_sort表)
buyer _tel 电话 varchar 20 Null
buyer _dept 部门 varchar 50 null
cur_books 当前购书数 Int 4 Not null
buyer _addr 住址 varchar 50 Not null
post_num 邮编 varchar 6 Not null
buyer _memo 备注 varchar 100 null
(3)工作人员(small_bookshop)
字段名称 描述 数据类型 字段大小 说明
emploree_ID 工作人员ID varchar 20 Not null 主键
password 密码 varchar 20 Not null
op_grade 操作权限 bit 1 Not null 外键(对应libarian表)
(4)借书(borrow_info)
字段名称 描述 数据类型 字段大小 说明
reader_ID 读者条码 Char 20
Not null 主键
book_code 条形码(书店自定) varchar 8
book_name 图书名 varchar 100 Not null
borrow_date 借出日期 Datetime 8 Not null 显示“yyyy-mm-dd”
emploree_ID 操作人员 varChar 20 Not null
back_date 应还日期 Datetime 8 Not null 显示 “yyyy-mm-dd”
renew_flag 续借标志 Bit 1 Not null (0为可续,1为不可)默认为0
(5)购书(buyer_info)
字段名称 描述 数据类型 字段大小 说明
buyer _ID 读者ID(定户) Char 20
Not null 主键
book_code 条形码 varchar 8
book_name 图书名 varchar 100 Not null
sold_date 卖出日期 Datetime 8 Not null 显示“yyyy-mm-dd”
emploree_ID 操作人员 varChar 20 Not null
(6)借阅历史文件(borrow_history)
字段名称 描述 数据类型 字段大小 说明
reader_ID 读者条码 varchar 20 Not null
book_code 条形码(书店自定) varchar 8 Not null
book_name 书名 Varchar 100 Not null
borrow_date 借出日期 Datetime 8 Not null 显示“yyyy-mm-dd”
back_date 归还日期 Datetime 8 Not null 显示“yyyy-mm-dd”
borrow_ID 借书操作人员ID Char 20 Not null
back_ID 还书操作人员ID Char 20 Not null
(7)读者类别(reader_sort)
字段名称 描述 数据类型 字段大小 说明
reader_sort 读者类别 Varchar 20 Not null 主键
num_default 可借书总数 Int 4 Not null
(8)客户类别(buyer_sort)
字段名称 描述 数据类型 字段大小 说明
buyer_sort 客户类别 Varchar 20 Not null 主键
num_default 可借书总数 Int 4 Not null
(9)图书文件(book)
字段名称 描述 数据类型 字段大小 说明
book_top 图书条码(国家) varchar 16
Not null主键
Book_mid 图书中间条码(由书店分配) varchar 16
book_name 书名 varchar 100 Not null
book_author 作者 varchar 50 Not null
book_sort 类别 varchar 50 Not null
publish_name 出版社 varchar 50 Not null
publish_date 出版日期 datetime 8 Not null 显示“yyyy-mm-dd”
book_price 价格 money 8 Not null
total_num 总数 Int 4 Not null
cur_num 现存数量 Int 4 Not null
book_pos 存放位置 varchar 50 Not null
book_isbn ISBN varchar 15 Not null
book_memo 备注 varchar 1000 Null
(10)同类图书表(book_code)
字段名称 描述 数据类型 字段大小 说明
book_top 图书条码(国家) varchar 16
Not null (主键)
book_mid 图书中间条码(由书店分配) varchar 16
book_code 条形码 varchar 8
borrow_num 借出次数 Int 4 Not null 默认为0
inlib_date 入馆日期 datetime 8 Not null 显示“yyyy-mm-dd”
stop_flag 停借标志 bit 1 Not null 0为正常,1为停借
(11)图书分类(book_sort)
字段名称 描述 数据类型 字段大小 说明
book_sort 图书类别 varchar 50 Not null主键
sort_value 分类值(用于生成条形码) Smallint 2 Not null
sort_num 分类图书总数 Int 4 Not null
(12)书店信息(bookshop_info)
字段名称 描述 数据类型 字段大小 说明
library_name 书店名字 varchar 50 null
library_address 书店地址 varchar 50 null
library_tel 书店电话 varchar 16 null
library_manager 书店负责人 varchar 20 null
readerID_len 读者编号长度 Samllint 2 Not null
days_default 默认可借天数 Int 4 Not null
amends_default 默认每天罚款数 Money 8 Not null
num_default 可借书总数 Int 4 Not null
clint_pwd 默认客户密码 Varchar 20 Not null 默认123456
(13)借阅分类(borrow_sort)
字段名称 描述 数据类型 字段大小 说明
reader_sort 读者类别 varchar 20 Not null
book_sort 图书类别 Varchar 50 Not null
use_days 可借天数 Int 4 Not null
amends 每天罚款数 money 8 Not null
num_default 可借书总数 Int 4 Not null
(14)罚款(amends)
字段名称 描述 数据类型 字段大小 说明
reader_ID 读者编号 Varchar 20 Not null主键
book_code 条形码(书店分配) Varchar 8
amends 罚款金额 Money 8 Not null
pay_memo 罚款信息 Varchar 1000 null
(15)存放位置(bookposition)
字段名称 描述 数据类型 字段大小 说明
book_pos 图书存放位置 Varchar 50 Not null
(16)新闻表(library_news)
字段名称 描述 数据类型 字段大小 说明
id 新闻编号 Int 4 自动编号 主键
title 新闻标题 Varchar 300 Not null
content 新闻内容 Varchar 5000 Not null
author 作者 Varchar 50 Not null
datetime 发表日期 Varchar 20 Not null
(17)公告表(show)
字段名称 描述 数据类型 字段大小 说明
Show 首页公告 Varchar 4000 Not null
新闻表、公告表专门用于B/S设计中, 其它表均涉及到C/S,部分涉及B/S结构。
3.4输出项目
以上各表均有输出,比如读者查询,图书查询,借书信息等,都要对资料调出。其中查询占有很大比例,C/S中各项的查询,B/S中书籍查询,个人资料查询等,输出项目的形式也以批量为主,可以用于打印,统计。
B/S网上新闻公告发布也是动态的输出。
3.5算法
每个模块都遵守基本的程序流程设计,用统一的规格来规定每个模块的格式。算法尽量做到简洁,明确,使人一目了然。使用频率较高的功能要做成函数调用的方式。管理员的密码要用加密算法进行加密,增强系统的安全性。
3.6程序逻辑
C/S部分
(1)新书入库:
(2)添加读者:
(3)图书管理:
(4)客户/读者管理(同上)
(5)借书
(6)还书
(7)违章罚款
(8)丢失/损坏赔偿
(9)系统设置
详细介绍系统设置部分:
(a)常规设定
(b)客户/读者设定
(c)图书设定
(d)借阅设定
(e)书库设定
(f)管理员设定
(g)数据库设定
B/S部分用户信息管理员模块3.7接口
硬件接口
I/O设备:显示器,鼠标,键盘,硬盘。
软件接口
Windows操作系统,Visaul Studio6.0和Microsoft SQL Server编程系统, IIS服务器,IE浏览器。
3.8限制条件
本软件首次使用需要配置文件登陆,CS部分需要组建局域网。网站部分需要支持ASP的服务器。 至少需要一名管理员管理数据库。
3.9测试要点
C/S部分的测试:
根据各模块和功能来测试。主要模块有系统设置、添加图书、添加客户/读者、图书管理、客户/读者管理、借书、还书、罚款、电话清单等。 系统设置主要是对各部分模块数据的初始设定,主要是对输入数据的检查验证。添加书籍部分涉及到关于国家图书分类的知识,以及ISBN等专业知识的验证。添加读者部分要注意读者编号的长度(在系统设置中已经设定),以及邮编的位数。图书管理对点击的顺序要求严格,对修改结果的验证也比较严格。读者管理与图书管理比较相似,部分数据不能修改。借书模块判断的地方相对多,比如读者的权限,图书的借出,涉及的表也比较多,重点是对借书的结果测试,修改的数据表比较多。还书部分和借书部分相似,只是输入的不同。罚款模块比较独立,主要是测试数据库的存储问题。
B/S部分的测试:
对用户和管理员登陆页面安全性测试比较重要。 前台的图书查询功能应采取大量数据测试,并用各种边界条件测试。 用户登陆后,能查看到自己的各项信息,能续借自己的图书(只能续借一次)。管理员对前台的控制,测试新闻添加,编辑和公告修改。