#书店管理系统详细设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
书店管理系统
详细设计说明书
1 引言
1.1 概述
本文描述了一个基于Web的书店管理系统的详细设计。
系统采用MVC的三层架构模型。
将使用系统划分为表示层、控制层、业务处理层和数据访问层4个层次。
文中详细描述了表示层、业务处理层及各个模块的功能,并利用统一建模语言UML对软件进行建模,构建各个模块的类图、时序图、状态图等,从细节上进行具体分析。
1.2 背景
系统名称:书店管理系统;
任务提出者:客户;
开发者:麻仲庆;
1.3 定义
B/S(Browser/Server)——浏览器/服务模式(网络体系结构)。
1.4 参考资料
《书店管理系统可行性研究报告》
《书店管理系统用户需求分析》
《书店管理系统软件需求分析》
《书店管理系统需求工程和需求分析》
2 系统结构
2.1 系统状态图
起始
老用户登陆
已登陆
修改密码
浏览查找确定购书订单查询库存
形成订书单
订单可满足订单不可满足
不缺
缺
等待顾客付款
发书票送货上门
售书成功
等待厂商发货
继续订书
向厂方订货
厂方货到
顾客付款
采购成功
对比订单
库存更新
修改库存
帐目更新
收款单
付款单
注册
新用户注册
修改库存
注册成功
用户信息数据库更新
更改用户购买信息
添加新用户
2.2 系统类图
2.2.1 表示层类图 1.前台模块类图
frontMain 类:顾客登录系统后的页面,其中方法实现跳转到相应页面; clientRegister 类:顾客注册页面,提供了账号、密码和验证码属性; clientLogin 类:顾客登录页面,提供了账号、密码和验证码属性; updatePwd 类:顾客修改密码页面,提供了旧密码和新密码属性; searchGoods 类:搜索书籍页面,someGoods 为符合条件的书籍列表; goodsList 类:书籍列表显示页面;
goodsInfo 类:书籍详细信息显示页面,name 为书籍名称、type 为书籍型号、price 为书籍单价、time 为书籍上市时间、stock 为书籍库存、introduce 为书籍详细介绍、sales 为书籍销量;
orderInfo 类:订单信息页面,此类主要用来描述订单编号,用户编号,书籍名称,送货地址等,以方便顾客能顺利收到所需书籍,通过orderId 可以查询订单,也可以对订单进行添加、修改和删除操作;
frontMain clientRegister() clientLogin() updatePwd() goodList() searchGoods() orderInfo() orderProductInfo()
searchGoods someGoods:goodsList doSubmit()
updatePwd oldPwd:string nemPwd:string doSubmit()
clientLogin account:string password:string code:string doSubmmit()
clientRegister account:string password:string code:string doSubmmit() goodsList goods:Goods doSubmit()
goodsInfo name:string type:string price:float time:date stock:int introduce:text sales:int doSubmit()
orderInfo orderId:int clientId:int goodsName:string shipAddr:string clientPhone:string shipState:string doSubmmit() orderProductInfo orderId:int lineNum:int goodsId:int goodsName:string
UnitPrice:float doSubmmit()
orderManage ordrerid:int goodsName:string orderDate:date orderState:string doSubmmit()
orderProductInfo 类:订单书籍信息页面,可以通过orderId 查看订单书籍信息,然后对加、删除和修改;
orderManage 类:订单管理页面,顾客通过此界面,可以查看订单编号,书籍名称,订单日期等,还可以对订单进行删除操作。
2.后台模块类图
backMain 类:销售部门登录系统后的页面,其中方法实现跳转到相应页面; managerLogin 类:销售部门登录页面,提供了账号、密码和类型属性; addGoods 类:采购部门添加书籍页面; deleteGoods 类:采购部门删除书籍页面;
updateGoods 类:采购部门更新书籍信息页面,具体描述如goodsInfo 类;
orderProcess 类:订单处理页面,主要用来处理顾客提交的货物订单,销售部门通过订单编号查看订单信息,确定完库存量之后对订单进行修改(update )。
2.2.2 业务层类图
addGoods goods:Goods doSubmit() isLegal()
orderProcess orderId:int clientId:int goodsName:string shipAddr:string clientPhone:string shipState:string doSubmit()
updateGoods name:string type:string price:float time:datetime stock:int introduce:text sales:int doSubmit() isLegal()
managerLogin
doSubmit()
deleteGoods goods:Goods doSubmit()
backMain
managerLogin() goodsManage()
orderManage()
Client 类:顾客类。
顾客类实现的功能有产生验证码(getRandomCode 方法),判断账号是否存在(isExist 方法),保存注册信息(saveClient 方法),验证登录(checkIdentity 方法),修改密码(updatePwd 方法)。
Goods 类:书籍类。
书籍类实现的功能有所有书籍列表(showAllGoods 方法), 符合查询条件的书籍列表(showSomeGoods 方法),某书籍详细信息(showGoodInfo 方法),添加书籍
(addGoods 方法),删除书籍(deleteGoods 方法),修改书籍(updateGoods 方法)。
Order 类:订单类。
订单类实现的功能有查询所有订单(queryOrder 方法),修改订单信息并更新书籍库存量(updateOrder 方法),删除正在处理的订单(deleteOrder 方法),生成订单(addOrder 方法)。
Manager 类:管理员类。
管理员类实现的功能有添加一般管理员(addManager 方法),删除用户(deleteUser 方法),修改一般管理员权限(updateManager 方法)。
2.3 系统总体活动图
Client account:string password:string code:string getRandomCode() isExist()
saveClient()
Checkldentity()
changePwd()
Manager account:string password:string
code:string userId:int addManager()
deleteUser()
updateManager()
Goods name:string type:string price:float picture:image
time:date stock:int showAllGoods()
showSomeGoods() showGoodInfo()
addGoods() deleteGoods() updateGoods()
操作 管理
管理
2.4 模块汇总
系统包括顾客注册和登录模块、顾客下订单模块、顾客付款模块、订货通知模块、订单管理模块、到货通知模块、联系供应厂商模块、提供书籍模块。
前三个模块为顾客服务,为其提供登录、浏览购买书籍等功能;后五个模块为管理员服务,为其提供系统的日常维护和管理等功能。
3 功能模块设计说明
3.1 顾客注册和登录模块
3.1.1 模块活动图
顾客注册活动图
顾客 系统
以游客身份
顾客注册
顾客登陆
付款
下订单
浏览书店管理系统页面
销售部门登陆
订货通知
订单管理
采购部门登陆
到货通知
联系供应厂商
厂商提供书籍
财务部门收款
顾客 系统
3.1.2 模块时序图 见《书店管理系统软件需求分析说明书》中的时序图。
3.1.3 模块描述
顾客登录:
1. 顾客在clientLogin 页面中输入账号、密码和验证码(页面请求返回),通过方法doSubmit()提交到Web 服务器的OnShoppingActionServlet 类;
2. 类OnShoppingActionServlet 使用方法process()处理提交信息,调用ClientAction 进一步处理;
3. ClientAction 使用方法execute()根据提交信息,调用和登录有关的Client 类处理;
4. 类Client 使用方法checkIdentity()验证账号和密码正确性,这里需要连接数据库;
输入账号
返回验证码错误
返回注册成功 输入密码、验证码 返回账号已存在
保存注册信息
验证账号是否存在
验证账号是否正确
输入账号、密码、验证码
返回登录失败
返回登录成功
记录登录信息
验证验证码是否正确
验证账号、密码是否正确
5. 后台系统向Web 服务器发送回应;
6. Web 服务器收到回应后返回给顾客。
顾客注册:
和登录类似,只是在提交后需要验证系统中是否存在该账号。
3.2 顾客下订单模块
3.2.1 模块活动图
顾客 系统
3.2.2 模块时序图 见《书店管理系统软件需求分析说明书》中的时序图。
3.2.3 模块描述
1. 顾客在Goods 页面中输入要购买的书籍关键字,通过方法doSubmit()提交到Web 服务器的OnShoppingActionServlet 类。
2. 2. 类OnShoppingActionServlet 使用方法process()处理提交信息,调用GoodsAction 进一步处理;
3. GoodsAction 使用方法execute()根据提交信息,调用和书籍有关的Goods 类处理;
4. 类Goods 使用方法showSomeGoods()得到符合购买条件的书籍;
5. Web 服务器向后台系统和数据库发送相应的购买订单,后台系统和数据库根据订单取得相应数据,向Web 服务器发送回应;
6. Web 服务器收到回应后向顾客返回符合订单的书籍,显示订单的详细信息。
3.3 顾客付款模块
3.3.1 模块活动图
登陆书店管理系统
返回订单失败
返回订单成功
记录订单信息
验证订单是否正确
验证订单信息是否正确
3.3.2 模块时序图 见《书店管理系统软件需求分析说明书》中的时序图。
3.3.3 模块描述
1. 顾客打开allShopping 页面,点击付款,通过方法doSubmit()提交到Web 服务器的OnShoppingActionServlet 类。
2. 类OnShoppingActionServlet 使用方法process()处理提交信息,调用CartAction 进一步处理;
3. CartAction 使用方法execute()根据提交信息,调用和书籍有关的Cart 类处理;
4. 类Cart 使用方法myCart()查询该顾客付款信息,具体查询需要和数据库建立连接;
5. Web 服务器向后台系统和数据库发送相应的查询请求,后台系统和数据库根据请求取得相应数据,向Web 服务器发送回应;
6. Web 服务器收到回应后向顾客返回顾客付款信息。
3.4 订货通知模块
3.4.1 模块活动图
系统 供应厂商
返回付款失败
返回付款成功
记录付款信息
验证顾客是否付款
联系供应厂商 返回订货通知失败
返回订货通知成功
记录订货信息
验证订货信息是否正确
验证系统是否订货
3.4.2 模块时序图
见《书店管理系统软件需求分析说明书》中的时序图。
3.4.3 模块描述
1.销售部门在Goods 页面中输入要订的书籍关键字,通过方法doSubmit()提交到Web 服务器的OnShoppingActionServlet 类。
书籍关键字可以是可以是名称或者型号等。
如果没有输入订货条件则默认显示全部书籍列表。
2. 类OnShoppingActionServlet 使用方法process()处理提交信息,调用GoodsAction 进一步处理;
3. GoodsAction 使用方法execute()根据提交信息,调用和书籍有关的Goods 类处理;
4. 类Goods 使用方法showSomeGoods()得到符合订货条件的书籍,具体订货需要和数据库建立连接;
5. Web 服务器向后台系统和数据库发送相应的订货请求,后台系统和数据库根据请求取得相应数据,向Web 服务器发送回应;
6. Web 服务器收到回应后向销售部门返回符合订货条件的书籍列表。
3.5 管理订单模块
3.5.1 模块活动图
顾客 系统
3.5.2 模块时序图
见《书店管理系统软件需求分析说明书》中的时序图。
3.5.3 模块描述
订单查看和删除:
1.顾客在orderManage 页面中查询订单,通过方法doSubmit()提交到Web 服务器的OnShoppingActionServlet 类。
2.类OnShoppingActionServlet 使用方法process()处理提交信息,调用OrderAction 进一步处理;
3.OrderAction 使用方法execute()根据提交信息,调用和订单有关的order 类处理;
4.类order 使用方法queryOrder()查询订单信息,这里需要连接数据库;
登录书店管理系统
进入订单管理界面 更新订单信息
显示顾客账户信息
查询订单
显示订单信息
删除订单
5.Web 服务器向后台系统和数据库发送请求,后台系统和数据库提交信息后,向Web 服务器发送回应;
6.Web 服务器收到回应后返回给顾客;
7.顾客根据返回的结果信息,在orderManage 页面中选择订单进行删除处理,通过方法doSubmit()提交到Web 服务器的OnShoppingActionServlet 类。
8. 类OnShoppingActionServlet 使用方法process()处理提交信息,调用OrderAction 进一步处理;
9.OrderAction 使用方法execute()根据提交信息,调用和订单有关的order 类处理;
10. 类order 使用方法deleteOrder()删除订单,这里需要连接数据库;
11. Web 服务器向后台系统和数据库发送请求,后台系统和数据库提交信息后,向Web 服务器发送回应;
12. Web 服务器收到回应后,将更新后的信息返回给顾客;
3.6 到货通知模块
3.6.1 模块活动图 供应厂商 系统
3.6.2 模块时序图
见《书店管理系统软件需求分析说明书》中的时序图。
3.6.3 模块描述 1.供应厂商在Goods 页面中输入发货的书籍关键字,通过方法doSubmit()提交到Web 服务器的OnShoppingActionServlet 类。
书籍关键字可以是名称或者型号等。
2. 类OnShoppingActionServlet 使用方法process()处理提交信息,调用GoodsAction 进一步处理;
3. GoodsAction 使用方法execute()根据提交信息,调用和书籍有关的Goods 类处理;
4. 类Goods 使用方法showSomeGoods()得到符合发货条件的书籍,具体发货需要和数据库建立连接;
5. Web 服务器向后台系统和数据库发送相应的发货请求,后台系统和数据库根据请求取得相应数据,向Web 服务器发送回应;
联系采购部门 返回到货通知失败 返回到货通知成功 记录到货信息 验证发货信息是否正确
验证供应厂商是否发货
6. Web 服务器收到回应后向采购部门返回符合到货通知的书籍列表。
3.7 联系供应厂商模块
3.7.1 模块活动图
采购部门 供应厂商
3.7.2 模块时序图
见《书店管理系统软件需求分析说明书》中的时序图。
3.7.3 模块描述 1. 采购部门在Manage 页面联系供应厂商,通过方法doSubmit()提交到Web 服务器的OnShoppingActionServlet 类;
2. 类OnShoppingActionServlet 使用方法process()处理提交信息,调用ManagerAction 进一步处理;
3. ManagerAction 使用方法execute()根据提交信息,调用和供应厂商有关的Manager 类处理;
4. 类Manager 使用方法addManager()、deleteUser()、updateManager()进行相应的操作并更新数据库,这里需要连接数据库;
5. 后台系统向Web 服务器发送回应;
6. Web 服务器收到回应后返回给采购部门,显示供应厂商信息。
3.8 提供书籍模块
3.8.1 模块活动图
联系供应厂商 返回联系供应厂商失败 返回联系供应厂商成功 记录联系信息 验证信息是否正确
验证采购部门是否要联系
3.8.2 模块时序图
见《书店管理系统软件需求分析说明书》中的时序图。
3.8.3 模块描述
1.供应厂商在Goods 页面中输入提供书籍的关键字,通过方法doSubmit()提交到Web 服务器的OnShoppingActionServlet 类。
书籍关键字可以是名称或者型号等。
2. 类OnShoppingActionServlet 使用方法process()处理提交信息,调用GoodsAction 进一步处理;
3. GoodsAction 使用方法execute()根据提交信息,调用和书籍有关的Goods 类处理;
4. 类Goods 使用方法showSomeGoods()得到符合条件的书籍,具体发货需要和数据库建立连接;
5. Web 服务器向后台系统和数据库发送相应的发货请求,后台系统和数据库根据请求取得相应数据,向Web 服务器发送回应;
6. Web 服务器收到回应后向采购部门返回符合提供的书籍列表,并显示提供书籍的信息。
返回联系失败
提供书籍 显示书籍信息 联系成功。