超市管理系统详细设计文档(已完成)

  • 格式:doc
  • 大小:382.00 KB
  • 文档页数:33

目录1.引言 (1)1.1编写目的 (1)1.2项目背景 (1)1.3定义 (1)1.4参考资料 (2)2.总体设计 (2)2.1需求概述 (2)2.2程序系统的结构 (3)2.2.1系统模块调用关系图 (3)2.2.2数据库表结构图 (4)3.程序描述 (9)3.1销售管理模块 (9)3.1.1模块名:销售录入 (9)3.1.2模块名:销售退货 (11)3.2进货管理模块 (13)3.2.1模块名:进货录入 (13)3.2.2模块名:进货退货 (14)3.3仓库管理模块 (16)3.3.1模块名:查看仓库 (16)3.3.1模块名:仓库调度 (17)3.4信息查看模块 (19)3.4.1模块名:查看记录 (19)3.5员工管理模块 (20)3.5.1模块名:增加员工 (20)3.5.2模块名:查看员工 (21)3.6系统设置模块 (23)3.6.1模块名:分配权限 (23)3.6.2模块名:更改密码 (24)3.7商品管理模块 (25)3.7.1模块名:增加新商品 (25)3.7.2模块名:查看商品 (27)3.8供应商管理模块 (28)3.8.1模块名:增加供应商 (28)3.8.2模块名:查看供应商 (29)3.9报表分析模块 (30)3.9.1模块名:销售分析 (30)3.9.2模块名:进货分析 (31)1.引言1.1编写目的本文档为超市进销存管理系统详细设计文档,是对该项目进行详细设计,在概要设计的基础上进一步明确系统结构,详细的介绍系统的各个模块,为进行后面的实现和测试做准备。

本阶段完成系统的大致设计并明确系统的数据结构和软件结构。

讲一个用户需求转化为软件表示的过程。

本详细设计说明书的预期读者为本项目小组的成员以及对该系统感兴趣,在以后相对系统进行扩展和维护的人员。

1.2项目背景此系统产品名为:超市进销存管理系统。

超市进销存管理系统旨在用计算机对超市日常进销存进行管理。

本项目针对的用户是中小型超市,实现C/S模式,超市数据库储存在服务器上,实现在多个客户端进行管理。

同时具有权限管理的功能。

系统能够存储商品信息,以及超市进销存的记录,方便管理者对超市进行维护,包括进货管理、销售管理、销售退货、仓库管理、会员管理、员工管理、权限分配等,这主要包括:商品信息的录入、修改和删除。

员工信息的录入、修改、删除、查看员工类型、查看员工工作绩效、修改员工管理权限。

进货记录的录入、查看、进货情况的分析。

销售记录的录入、查看、销售分析。

仓库商品情况的查看、对有问题商品的转移,过期商品、即将过期商品的警示。

登录权限的分配设置。

能够对销售情况进行分析。

包括指定时间段的销售分析、消费者的男女比例分析、年龄分析等。

能够提供一定的安全机制,指定不同登陆者的管理权限。

防止误删数据。

1.3定义1.4参考资料a.超市进销存管理系统计划书;b.超市进销存管理系统用户需求报告;c.超市进销存管理系统总体设计说明书;2.总体设计本软件是为了让方便超市管理人员对进销存的管理开发的要求系统界面友好,使用方便,提供对商品信息、用户信息、商品销售情况的编辑、查询、统计报表等全面的数据管理功能,同时使收银员能方便的对每一位客户的消费进行扫描、收费、输入等操作,方便进货人员进货时对商品进行统计、存储。

同时还能方便管理员对所有记录进行查看、删除、以及管理不同角色的权限。

此外系统还具有一定的安全性和可维护性。

2.1需求概述系统协助中小型超市工作人员实现各种日常事物的管理。

其中,收银员具有销售管理的权限。

进货人具有进货管理的权限。

仓库管理员具有仓库管理的权限。

一般工作人员具有查看自己信息和工作情况的权限。

经理具有查看销售情况、进货情况、销售分析、进货分析等权限。

此外,对于系统本身的维护,系统具备一定的安全机制和信息备份机制,对用户分级管理,设置用户权限,保证系统安全性。

2.2程序系统的结构2.2.1系统模块调用关系图2.2.2数据库表结构图3.程序描述3.1销售管理模块3.1.1模块名:销售录入编号1.1功能:提供窗口让销售人员输入销售的商品信息,vip信息,更改数据库数据输入项目:角色输入的商品信息输出项目:根据角色输入的信息更新数据库文件算法:1.根据操作时间自动生成销售记录id。

2.判断要提交内容是否合法,不合法给出相应提示。

3.事务更新数据库,若中间环节出错,给出相应提示。

程序流程图:接口:1.销售录入窗口中商品id号可通过商品管理模块传递参数。

储存分配:通过销售录入模块,商品销售信息会更新到相应数据库,存储分配方案如下:1.销售信息更新到SaleInfo数据表。

2.销售商品详情更新到SaleDetail数据表。

3.根据商品销售数量更新StockInfo表对应的商品数量。

4.仓库出入记录信息更新到StockRecord表。

限制条件:1.限制操作用户更改操作人信息2.限制操作人输入不存在的VIP信息、供应商信息、商品信息。

3.限制销售数量大与库存数量。

测试要点:1.对输入框自动检测系统测试。

2.对限制条件测试。

3.对大数据批量更新测试。

4.对商品数量为0时测试。

5.对促销情况测试。

3.1.2模块名:销售退货编号1.2功能:提供窗口让销售人员输入退货的商品信息,vip信息,更改数据库数据输入项目:角色输入的商品信息输出项目:根据色输入的信息更新数据库文件算法:1.根据操作时间自动生成销售退货记录id。

2.判断要提交内容是否合法,不合法给出相应提示。

3.事务更新数据库,若中间环节出错,给出相应提示。

程序流程图:接口:1销售退货窗口中商品id号可通过商品管理模块传递参数。

储存分配:通过销售退货模块,商品退货信息会更新到相应数据库,存储分配方案如下:2销售退货信息更新到Re_SaleInfo数据表。

3销售退货商品详情更新到Re_SaleDetail数据表。

4根据商品销售数量更新StockProblemInfo表对应的商品数量。

限制条件:1限制操作用户更改操作人信息测试要点:1对输入框自动检测系统测试。

2对限制条件测试。

3大数据批量更新测试。

4商品数量为0时测试。

5 对促销商品退货测试。

3.2进货管理模块3.2.1模块名:进货录入编号2.1功能:提供窗口让进货人员输入进货的商品信息,供应商信息,更改数据库数据输入项目:角色输入的商品信息输出项目:根据角色输入的信息更新数据库文件程序流程图:算法:1.根据操作时间自动生成进货记录id。

2.判断要提交内容是否合法,不合法给出相应提示。

3.事务更新数据库,若中间环节出错,给出相应提示。

接口:1进货录入窗口中商品id号可通过商品管理模块传递参数。

储存分配:通过进货录入模块,进货信息会更新到相应数据库,存储分配方案如下:1进货信息更新到PurchaseInfo数据表。

2进货商品详情更新到PurchaseDetail数据表。

3根据进货数量和商品的生产日期更新StockInfo表对应的商品数量和生产日期。

4仓库出入记录信息更新到StockRecord表。

限制条件:1操作用户更改操作人信息2限制操作人输入不存在的VIP信息、供应商信息、商品信息。

测试要点:1对输入框自动检测系统测试。

2对限制条件测试。

3对大数据批量更新测试。

4对商品数量为0时测试。

5对新商品录入测试。

3.2.2模块名:进货退货编号2.2功能:提供窗口让进货人员输入退货的商品信息,供应商信息,更改数据库数据输入项目:角色输入的商品信息输出项目:根据色输入的信息更新数据库文件算法:1.根据操作时间自动生成退货记录id。

2.判断要提交内容是否合法,不合法给出相应提示。

3.事务更新数据库,若中间环节出错,给出相应提示。

程序流程图:接口:1退货窗口中商品id号可通过商品管理模块传递参数。

储存分配:通过退货模块,退货信息会更新到相应数据库,存储分配方案如下:1退货信息更新到Re_PurchaseInfo数据表。

2退货商品详情更新到Re_PurchaseDetail数据表。

3根据退货数量和商品的生产日期更新StockProblemInfo表对应的商品数量和生产日期。

限制条件:1限制操作用户更改操作人信息2限制操作人输入不存在的供应商信息、商品信息。

测试要点:1对输入框自动检测系统测试。

2对限制条件测试。

3对大数据批量更新测试。

4对商品数量为0时测试。

3.3仓库管理模块3.3.1模块名:查看仓库编号3.1功能:提供窗口让具有权限的角色查看仓库信息输入项目:角色输入的检索信息输出项目:根据角色输入的信息访问数据库,将结果显示到窗口中程序流程图:算法:无特殊算法接口:无储存分配:通过查看仓库模块,输入查询信息信息查询相应数据库,不进行分配。

限制条件:无,用户可随意输入数据查询测试要点:1对输入数据测试2对输入全部条件测试3对0输入测试4对过期提醒、数量警报测试3.3.1模块名:仓库调度编号3.1功能:提供窗口让具有权限的角色查看进行仓库调度输入项目:窗口中DataGridView被选中的数据行,以及角色输入的调度数量、原因。

输出项目:根据角色选择的数据行以及角色输入的调度数量、原因,更新相应的数据库。

算法:1.自动事务更新数据库程序流程图:接口:1通过右键仓库中“商品调度”传递数据到“商品调度”模块储存分配:通过查看仓库调度模块,右键相应商品进行调度,存储分配如下:1.根据调度情况更新StockInfo数据表。

2.根据调度情况更新StockProblemInfo数据表。

3.根据仓库出入更新StockRecord数据表限制条件:1每次仅允许对一个商品调度。

2.调度数量不能大徐仓库剩余数量。

测试要点:1.对输入框数据自动检测测试2.对没有选择商品情况测试。

3.对选择多个商品情况测试4.对限制条件测试。

3.4信息查看模块3.4.1模块名:查看记录编号4.1功能:提供窗口让具有权限的角色查看各种记录输入项目:角色设置的检索信息,窗口间传递的标志。

输出项目:根据角色输入的检索信息查看数据库,并显示到窗口算法:1.根据检索条件自动生成sql查询语句。

程序流程图:通过构造函数传递参数,指明要查询的数据类型。

储存分配:通过查看记录模块,查询数据库,不进行存储分配。

限制条件:1限制按时间段查询时,前一个时间大于后一个时间。

测试要点:1.对没有输入检索条件测试2.对输入多个检索条件测试3.5员工管理模块3.5.1模块名:增加员工编号5.1功能:提供窗口让具有权限的角色增加员工信息输入项目:角色输入的员工信息输出项目:根据角色输入的信息更新数据库程序流程图:1.自动生成新员工id接口:无储存分配:通过增加员工模块,存储分配如下:1根据增加的员工信息,更新EmplyeeInfo数据表。

限制条件:1不允许增加已经存在的员工id、员工电话。