上节课完成了图书馆管理系统的概要设计,并演示了如何做开发成本估算和进度计划,并进行了架构设计。

这节课就来完成详细设计,包括界面和功能设计,以及数据库结构设计,编写测试案例,还有编程设计和规约。

界面和功能详细设计

详细设计的具体表现形式有很多种,有些项目使用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.数据库操作要分离。

相关推荐