上节课完成了图书馆管理系统的概要设计,并演示了如何做开发成本估算和进度计划,并进行了架构设计。
这节课就来完成详细设计,包括界面和功能设计,以及数据库结构设计,编写测试案例,还有编程设计和规约。
界面和功能详细设计
详细设计的具体表现形式有很多种,有些项目使用word,也有些项目使用Excel,学哥这里使用PPT进行设计,好处是方便进行演示。
设计成果物的形式不重要,重要的是将要做成的结果清晰详细的说明出来,大家都能理解就好。
具体的设计过程就不详细说明了,这个是要需要一些开发经验和设计经验才能逐步掌握和熟练的。
直接在下面给出所有的设计结果。
员工登录:
后台主界面:
员工管理一览:
员工管理详细:
图书管理一览:
图书管理详细:
库存管理一览:
库存管理详细:
用户管理一览:
用户管理详细:
借书管理:
还书管理:
补卡管理:
费用查询:
热门排行榜和图书查询一览:
图书查询详细:
用户登录:
用户借书历史:
设计是一个逐渐完善,逐步成型的过程,一边编写一般对照需求分析和业务流程分析,完成之后,再进行数据库结构设计,并互相对照进行微调修改,最终完成之后,再全部核对检查,防止遗漏和矛盾,并在编写测试案例的时候再次检查核对。
数据库结构详细设计
详细设计的同时,就要做数据库结构设计,将页面和功能设计的各个字段项目反应到数据库当中去,同时思考程序该如何处理才能完成相应的页面和功能。
数据库设计也有很多种形式,学哥采用的是Excel,然后自己做了一个VBA程序导出创建表的SQL语句。
表结构设计如下:
导出的SQL语句如下:
新建一个数据库,名字为library:
然后执行SQL语句,完成开发环境的表结构创建:
编写测试案例
详细设计完成之后,可以编写测试案例,它的作用如下:
1.方便做业务流程测试的时候有一个指导意见
2.协助设计人员进行核对检查并完善设计
3.帮助开发人员理解详细设计避免理解偏差
图书馆管理系统完整流程测试案例如下:
1.使用默认管理员账号admin和密码123456登录,进入后台主页面。
2.点击员工管理,进入员工管理一览,可以看到1条记录,是管理员的。
3.点击新增按钮,进入员工管理详细页面,新增一个张三的员工,账号为zhangsan,密码为123456,权限为所有功能都是Y。
4.保存后回到员工管理一览,点击修改链接,进入详细页面,将权限修改为图书/库存为Y,其它为N.
5.新增一个李四的员工,权限为用户管理/借书管理/还书管理/补卡管理。
6.退出系统,使用账号zhangsan登录,可以看到只有图书管理和库存管理2个菜单。
7.进入图书管理,新增3个图书,分别是“补卡费”、“收押金”和“退押金”,金额分别是20、200、-200.
8.进入库存管理,新增3个库存,分别是对应3个图书。位置信息填写空白,状态都为已上架。
9.新增一本图书“史记”,和5个库存。
10.退出系统,使用账号lisi登录,可以看到用户管理/借书管理/还书管理/补卡管理这4个菜单。
11.进入用户管理,新增一个用户“李寻欢”,编辑其IC卡为80001,密码为222222.
12.进入借书管理,查询IC卡80001,找到用户后,借书一览为空,输入库存ID为5,然后确定借书,借书一览有变化。
13.打开图书馆查询系统,可以看到排行榜都为空,但显示10个空行,输入书名“史记”进行查询,点击查看链接,可以看到5个库存,其中1个已借出,其余4个已上架。
14.使用账号为80001,密码为222222登录,后可以看到用户信息,有1个借阅历史。
15.回到后台管理,进入还书管理,查询IC卡80001,找到用户后,借书一览有1条,选择这条后,点击确认还书,下方的清单增加,结算金额变化,然后点击确认支付,完成支付。
16.回到查询系统,重新登录,可以看到借阅历史有变化。
17.回到后台管理,进入补卡管理,查询IC卡80001,查找到用户信息,输入新的IC卡号为80002,点击确定补卡,下方的清单增加,结算金额变化,然后点击确认支付,完成支付。
18.此时回到查询系统,使用80001无法登录,使用80002可以登录。
19.回到后台管理,进入还书管理,查询IC卡维80002,找到用户后,借书一览有0条,是否退卡选择“是”,下方清单增加一个推押金的记录,结算金额变化,然后点击确认支付,完成退卡。
20.回到后台管理,使用管理员账号admin登录,进入费用查询页面,可以看到产生了4条费用记录。
21.回到查询系统,使用80002无法登录。
编程设计和规约
编程设计的话,就是进行程序的架构设计。
参考之前做新闻信息管理的程序架构。
编程规约就是对一些命名或者共通规范的约定。
这里由于项目比较小,功能比较简单,只做几个简单规定:
1.变量全部小写。
2.函数名按单词,单词首字母大写,其它小写。
3.数据库操作要分离。