上节课完成了图书馆管理系统的概要设计,并演示了如何做开发成本估算和进度计划,并进行了架构设计。 这节课就来完成详细设计,包括界面和功能设计,以及数据库结构设计,编写测试案例,还有编程设计和规约。 界面和功能详细设计 详细设计的具体表现形式有很多种,有些项目使用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.数据库操作要分离。