书店管理系统详细设计说明书1 引言1.1 概述本文描述了一个书店信息管理系统的详细设计。
系统按照使用系统的不同类型用户分为读者(即购买者)模块,书店管理员模块和前台售货员模块三大模块,读者功能包括注册会员、查询书籍和购买书籍,管理员模块的功能包括维护用户和书籍信息,售货员模块的功能主要是接收来自读者的信息,出售书籍。
1.3 定义C/S(Client/Server)——客户端/服务模式(网络体系结构)。
1.4 参考资料《书店信息管理系统需求分析》《书店信息管理系统概要设计》2 系统模块2.1 模块关系图2.2 读者模块2.1模块描述读者注册会员:1. 普通读者注册会员后,信息自动提交到数据库,读者、售货员和管理员均可在后台查看2. 类OnShoppingActionServlet使用方法process()处理提交信息,调用ClientAction进一步处理;3. ClientAction使用方法execute()根据提交信息,调用与登录有关的Client类处理;4. 类Client使用方法checkIdentity()验证账号和密码正确性,这里需要连接数据库;5. 后台系统向Web服务器发送回应;6. Web服务器收到回应后返回给顾客。
顾客注册:与登录类似,只是在提交后需要验证系统中是否存在该账号。
2.3 前台售货员模块2.4 管理员模块2.2.1 表示层类图1.前台模块类图frontMain类:顾客登录系统后的页面,其中方法实现跳转到相应页面;clientRegister类:顾客注册页面,提供了账号、密码和验证码属性;clientLogin类:顾客登录页面,提供了账号、密码和验证码属性;updatePwd类:顾客修改密码页面,提供了旧密码和新密码属性;searchGoods类:搜索书籍页面,someGoods为符合条件的书籍列表;goodsList类:书籍列表显示页面;goodsInfo类:书籍详细信息显示页面,name为书籍名称、type为书籍型号、price为书籍单价、time为书籍上市时间、stock为书籍库存、introduce为书籍详细介绍、sales为书籍销量;orderInfo类:订单信息页面,此类主要用来描述订单编号,用户编号,书籍名称,送货地址等,以方便顾客能顺利收到所需书籍,通过orderId可以查询订单,也可以对订单进行添加、修改和删除操作;orderProductInfo类:订单书籍信息页面,可以通过orderId查看订单书籍信息,然后对加、删除和修改;orderManage类:订单管理页面,顾客通过此界面,可以查看订单编号,书籍名称,订单日期等,还可以对订单进行删除操作。
2.后台模块类图backMain类:销售部门登录系统后的页面,其中方法实现跳转到相应页面;managerLogin类:销售部门登录页面,提供了账号、密码和类型属性;addGoods类:采购部门添加书籍页面;deleteGoods类:采购部门删除书籍页面;updateGoods类:采购部门更新书籍信息页面,具体描述如goodsInfo类;orderProcess类:订单处理页面,主要用来处理顾客提交的货物订单,销售部门通过订单编号查看订单信息,确定完库存量之后对订单进行修改(update)。
2.2.2 业务层类图Client类:顾客类。
顾客类实现的功能有产生验证码(getRandomCode方法),判断账号是否存在(isExist方法),保存注册信息(saveClient方法),验证登录(checkIdentity方法),修改密码(updatePwd方法)。
Goods类:书籍类。
书籍类实现的功能有所有书籍列表(showAllGoods方法),符合查询条件的书籍列表(showSomeGoods方法),某书籍详细信息(showGoodInfo方法),添加书籍(addGoods方法),删除书籍(deleteGoods方法),修改书籍(updateGoods方法)。
Order类:订单类。
订单类实现的功能有查询所有订单(queryOrder方法),修改订单信息并更新书籍库存量(updateOrder方法),删除正在处理的订单(deleteOrder方法),生成订单(addOrder方法)。
Manager类:管理员类。
管理员类实现的功能有添加一般管理员(addManager方法),删除用户(deleteUser方法),修改一般管理员权限(updateManager方法)。
3 功能模块设计说明3.1 顾客注册与登录模块3.1.1 模块活动图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.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.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.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.3 模块描述1.供应厂商在Goods页面中输入发货的书籍关键字,通过方法doSubmit()提交到Web服务器的OnShoppingActionServlet类。
书籍关键字可以是名称或者型号等。
2. 类OnShoppingActionServlet使用方法process()处理提交信息,调用GoodsAction进一步处理;3. GoodsAction使用方法execute()根据提交信息,调用与书籍有关的Goods类处理;4. 类Goods使用方法showSomeGoods()得到符合发货条件的书籍,具体发货需要与数据库建立连接;5. Web服务器向后台系统和数据库发送相应的发货请求,后台系统和数据库根据请求取得相应数据,向Web服务器发送回应;6. Web服务器收到回应后向采购部门返回符合到货通知的书籍列表。