详细设计说明书主要介绍系统设计的整个流程的详细设计情况,使程序员和其他工作人员对系统的流程有更清楚的认识,辅助程序员编写程序。此说明书的对象是程序员,测试人员,小型书店管理员和小型书店工作人员。 项目背景 待开发软件名称:小型书店管理系统 项目任务提出者: 余日泰 项目任务开发者: 尚晓斌 项目与其他软件系统的关系:本项目采程序是建立在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部分的测试: 对用户和管理员登陆页面安全性测试比较重要。 前台的图书查询功能应采取大量数据测试,并用各种边界条件测试。 用户登陆后,能查看到自己的各项信息,能续借自己的图书(只能续借一次)。管理员对前台的控制,测试新闻添加,编辑和公告修改。