详细设计说明书(超市进销存管理系统)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
超市进销存管理系统详细设计说明书
编写:孟凡连,郑路路日期:2012-3-25
审核:日期:2012-3-26
批准:日期:
受控状态:是
发布版次:1.0 日期:2012-3-27
编号:
变更记录
签字确认
目录
1引言 (5)
1.1编写目的 (5)
1.2背景 (5)
1。
3基线 (5)
1。
4范围 (6)
1.5定义 (6)
1.6参考资料 (7)
1.7术语与缩写解释 (7)
2总体设计 (8)
2。
1概述 (8)
2。
1.1运行环境 (8)
2。
1.2开发环境 (8)
2.2设计思想 (8)
2。
2.1系统构思 (8)
2.2。
2关键技术与算法 (9)
3系统功能设计 (10)
3。
1模块命名规则 (10)
3.2功能模块详述 (11)
3.2.1用户登录功能 (11)
3.2.2员工信息管理功能 (11)
3.2。
3密码修改功能 (12)
3.2。
4订单录入功能 (13)
3。
2.5订单查询功能 (13)
3。
2。
6取消订单功能 (14)
3.2。
7商品销售功能 (14)
3.2.8销售退货功能 (15)
3。
2。
9商品入库功能 (15)
3.2.10库存修改功能 (16)
3。
2.11盘点功能 (16)
3。
2.12业务统计功能 (17)
4系统数据结构设计 (17)
4。
1超市管理系统数据库概念模型 (17)
4.2数据结构 (18)
4。
2.1部门表(Department): (18)
4.2.2员工表(Employee): (19)
4.2.3库存商品表(KcGoods): (19)
4.2.4采购单表(JhGoodsInfo): (19)
4.2.5销售单表(SellGoodsInfo): (20)
4.2。
6退货单表(ThGoodsInfo): (20)
4.2.7采购明细表(JhDetail): (21)
4.2。
8销售明细表(SellDetail): (21)
4.2.9退货明细表(ThDetail): (21)
4。
2.10盘点记录表(PdHistory): (22)
4。
3数据结构与系统元素的关系 (22)
4.3.1用户登录 (22)
4。
3.2员工信息管理 (22)
4。
3。
3密码修改 (22)
4。
3。
4订单录入 (23)
4。
3.5订单查询 (23)
4。
3.6取消订单 (23)
4.3.7商品销售 (24)
4.3。
8销售退货 (24)
4。
3.9商品入库 (24)
4.3。
10库存修改 (25)
4.3。
11盘点 (25)
4.3.12业务统计 (25)
5接口设计 (25)
5。
1用户接口 (25)
5.1。
1用户界面设计原则 (25)
5.1。
2用户接口输入输出 (26)
5。
2外部接口 (26)
6运行设计 (27)
6.1系统初始化 (27)
6。
2运行控制 (27)
6.3系统结束 (28)
7系统出错处理设计 (28)
7.1出错信息 (28)
7。
2补救措施 (28)
8系统维护设计 (29)
9尚待解决的问题 (29)
1引言
1.1 编写目的
在超市进销存管理系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述并在需求分析说明书中得到了详尽地叙述及阐明.
本阶段在系统的需求分析基础上,对超市进销存管理系统进行系统设计,主要解决实现该系统需求的程序模块设计问题,包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的设计说明书中将对在本阶段中对系统所做的设计进行详细的说明。
在下一阶段的编码实现中,小组人员将参考此设计报告针对超市进销存管理系统进行编码,因此本说明书的预期读者为小组编码人员。
1.2 背景
待开发软件系统的名称:超市进销存管理系统
此软件系统任务提出者:XXX
此软件系统任务开发者:李小龙,孟凡连,宋晓青,郑路路,郝世龙
此软件系统任务用户:超市工作人员,包括销售员,仓管员等.
1.3 基线
超市进销存管理系统需求分析说明书v1。
0
1.4 范围
软件产品名称:超市进销存管理系统1。
0.
通过使用本软件产品,能完成如下功能:
能对系统用户进行有效信息管理,完成密码修改等操作,安全性有保障
能实时得知库存不足的商品列表,比便进行采购,并可实时查询订单
前台系统能对售出的商品进行方便快捷的结算,并支持退货
实时查看商品的库存动态,设置货物信息。
经理能查看商品销售和采购,库存情况,得到营业分析统计,实时调整经营策略.
1.5 定义
SQL:是一种结构化查询语言,其主要功能就是同各种数据库建立联系,进行沟通用来执行各种各样的操作,例如更新数据库中的数据、从数据库中提取数据等。
SQL已被ANSI(美国国家标准协会)和国际标准化组织(ISO)定为关系型数据库语言的标准语言。
数据定义:用于创建、删除、修改数据库中的各类对象,如CREATE、DROP、
ALTER.
数据查询:对数据库查询检索,命令有SELECT。
数据更新:插入、更新、删除数据库,如INSERT、UPDATE、DELETE。
数据控制:数据控制管理,如表加锁、授权、回收授权、提交事务、回滚事务,命令有:LOCK、GRANT、REVOKE、、ROLLBACK。
事务流:数据进入模块后可能有多种路径进行处理。
1.6 参考资料
可行性报告,李小龙;
需求分析说明书,宋晓青;
《软件工程:实践者的研究方法》,(美)普雷斯曼,梅宏(译),机械工业出版社;
《软件工程-理论、方法与实践》,孙家广、刘强,高等教育出版社;
《软件工程导论》,张海藩,清华大学出版社;
《数据库系统概论》,萨师煊,高等教育出版社。
1.7 术语与缩写解释
2总体设计
2.1 概述
2.1.1运行环境
本超市进销存管理系统在Windows系列操作系统上都能安装使用,硬件方面只使用一般的就可以无需对硬件进行资源扩展。
2.1.2开发环境
2.1.2.1开发机器软件环境
2.2 设计思想
2.2.1系统构思
本系统属于小型的超市进销存销售管理系统,可以有效地对中小型超市进行管理。
按照需要分析给出的业务流程,如下图:
设计出参与系统的五种用户,即采购员、仓管员、销售员、经理及系统管理员.针对各用户的特点划分出功能模块如下:信息管理模块、采购管理模块、销售管理模块、库存管理模块及业务统计模块.其中,采购员参与采购管理模块,涉及订单录入、订单查询及取消订单功能;销售员参与销售管理模块,涉及销售、退货及商品查询功能;仓管员参与库存管理模块,具体功能包括:商品入库、修改库存及盘点;系统管理员参加信息管理模块,即对员工信息进行管理;经理作为具有最高权限的参与用户,除业务统计作为其特有功能模块外可参与其他的任何功能模块.
此外,本系统应达到以下目标:
➢系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。
➢能够对进货信息进行有效的管理。
➢对用户输入的数据,进行严格的数据检验,尽可能的避免人为错误。
➢能够对商品销售信息进行有效的管理。
➢能够准确、详细的管理商品库存信息。
➢系统应最大限度地实现易维护性和易操作性.
2.2.2关键技术与算法
通过此方法进行对用户的输入格式进行约束,设置文本框只能输入数字型字符串,从而提高数据的合法性。
主要实现代码如下:
public void Num_Jud(KeyPressEventArgs e,string s,int n)
{
if (n == 0)//只能输入整型
if (!(e.KeyChar 〈= '9’ && e。
KeyChar >= ’0’) && e.KeyChar != ’\r' && e。
KeyChar != ’\b’)
{
e。
Handled = true; //处理KeyPress事件
}
if (n == 1)//可以输入整型或单精度型
{
if ((!(e.KeyChar <= '9' &&e.KeyChar 〉= ’0'))&& e.KeyChar != ’。
’ && e.KeyChar != '\r’ && e.KeyChar != ’\b’)
{
e.Handled = true;
}
else
{
if (e。
KeyChar == '。
')//如果输入“。
”
{
if (s == ””)//当前文本框为空
{
e。
Handled = true; //处理KeyPress事件
}
else
{
if (s。
Length > 0) //当文本框不为空时
{
if (s。
IndexOf(”。
”) > -1)
{
e。
Handled = true;//处理KeyPress事件
}
}
}
}
}
}
}
3系统功能设计
3.1 模块命名规则
本系统的开发过程中,对模块的命名规采用驼峰命名法,即为每个单词头一个字母大写,各模块的命名如下所示:
3.2 功能模块详述
3.2.1用户登录功能
3.2.2员工信息管理功能
3.2.3密码修改功能
3.2.4订单录入功能
3.2.5订单查询功能
3.2.6取消订单功能
3.2.7商品销售功能
3.2.8销售退货功能
3.2.9商品入库功能
3.2.10库存修改功能
3.2.11盘点功能
3.2.12业务统计功能
4系统数据结构设计
4.1 超市管理系统数据库概念模型
通过对超市管理系统分析,得出系统数据库的概念模型,如下图:
采购单明细
销售单明细
办理退货
退货单明细
属于
办理销售
办理进货
盘点盈亏明细
办理盘点
商品库存
#o o o o o o o o o o
kcId
kcGoodsName kcNum
kcGoodsUnit kcWareName kcAlarmNum kcDate
kcGoodsPrice kcSellPrice kcEmp kcRemark ...
Characters (50)Characters (50)Integer
Characters (20)Characters (20)Integer Date
Characters (8)Characters (8)Characters (50)Characters (200)
销售单
#o o o o o
sellId
sellGoodsDate sellNeedPay sellHasPay sellBalance sellRemark ...
Characters (50)Date
Characters (8)Characters (8)Characters (8)Characters (200)
采购单
#o o o o o o
jhGoodsId jhAgentName jhNeedPrice jhPayedPrice jhGoodsDate jhBalance jhRemark ...
Characters (50)Characters (100)Characters (8)Characters (8)Date Characters (8)Characters (200)员工
#o o o o o o o
empId empName pwd empSex empBirthday empPost empTele empAdress ...
Characters (20)Characters (20)Characters (20)Characters (4)Date Characters (20)Characters (20)Characters (200)退货单
#o o o o o
thGoodsId thGoodsDate thNeedPay thHasPay thBalance thReason ...
Characters (50)Date Characters (8)Characters (8)Characters (8)Characters (200)部门
#o o deptId dName empNum ...
Characters (20)Characters (20)Integer 盘点记录
#o o o o o
pdId pdShouldNum pdActualNum pdBalance pdDate pdRemark ...
Characters (50)Integer Integer Integer Date Characters (200)
其相应的逻辑模型如下图所示:
采购单明细
采购单明细销售单明细
销售单明细
办理退货
退货单明细
退货单明细
属于
办理销售
办理进货
盘点盈亏明细
办理盘点
商品库存
#o o o o o o o o o o
kcId
kcGoodsName kcNum
kcGoodsUnit kcWareName kcAlarmNum kcDate
kcGoodsPrice kcSellPrice
kcEmp kcRemark ...
Characters (50)Characters (50)Integer
Characters (20)Characters (20)Integer Date
Characters (8)Characters (8)Characters (50)Characters (200)
销售单
#*<fi>o o o o o
sellId empId sellGoodsDate sellNeedPay sellHasPay sellBalance sellRemark ...
Characters (50)Characters (20)Date Characters (8)Characters (8)Characters (8)Characters (200)采购单
#*<fi>o o o o o o
jhGoodsId empId
jhAgentName jhNeedPrice jhPayedPrice jhGoodsDate jhBalance jhRemark ...
Characters (50)Characters (20)Characters (100)Characters (8)Characters (8)Date
Characters (8)Characters (200)
员工
#*<fi>o o o o o o o
empId deptId empName pwd empSex empBirthday empPost empTele empAdress ...
Characters (20)Characters (20)Characters (20)Characters (20)Characters (4)Date Characters (20)Characters (20)Characters (200)退货单
#*<fi>o o o o o
thGoodsId empId
thGoodsDate thNeedPay thHasPay thBalance thReason ...
Characters (50)Characters (20)Date
Characters (8)Characters (8)Characters (8)Characters (200)
部门
#o o deptId dName empNum ...
Characters (20)Characters (20)Integer 盘点记录
#
*<fi1>*<fi2>o o o o o
pdId kcId empId
pdShouldNum pdActualNum pdBalance pdDate pdRemark ...
Characters (50)Characters (50)Characters (20)Integer Integer Integer Date
Characters (200)
采购单明细
##o o o o o
jhGoodsId kcId
jhGoodsName jhGoodsNum jhGoodsPrice jhSellPrice jhGoodsTotal ...
Characters (50)Characters (50)Characters (50)Integer
Characters (8)Characters (8)Characters (8)
销售单明细
##o o o o
sellId kcId sellGoodsName sellGoodsNum sellGoodsPrice sellGoodsTotal ...
Characters (50)Characters (50)Characters (50)Integer
Characters (8)Characters (8)退货单明细
##o o o o
kcId thGoodsId thGoodsName thGoodsNum thGoodsPrice thGoodsTotal ...
Characters (50)Characters (50)Characters (50)Integer
Characters (8)Characters (8)
4.2 数据结构
4.2.1 部门表(Department):
4.2.2员工表(Employee):
4.2.3库存商品表(KcGoods):
4.2.4采购单表(JhGoodsInfo):
4.2.5销售单表(SellGoodsInfo):
4.2.6退货单表(ThGoodsInfo):
4.2.7采购明细表(JhDetail):
4.2.8销售明细表(SellDetail):
4.2.9退货明细表(ThDetail):
4.2.10盘点记录表(PdHistory):
4.3 数据结构与系统元素的关系
4.3.1用户登录
员工进入登录界面,输入员工编号、密码,将其与数据库中的员工编号、密码匹配,匹配成功则登录成功,否则失败。
4.3.2员工信息管理
员工点击员工信息管理模块按钮,系统判断员工身份,若所属部门并非管理部门或经理提醒无权进行此项操作。
若是属管理部门或为经理身份,则对员工信息进行增删改操作,同时修改数据库中的员工信息.
4.3.3密码修改
员工点击密码修改,输入原密码与新密码。
若原密码与数据库中数据匹配成功且两次输入的新密码匹配成功,则修改其密码并对数据库中的员工信息数据进行相应修改.若原密码与数据库中匹配失败提示原密码输入有误。
若两次输入的新密码匹配失败则提示两次输入的新密码不相同。
4.3.4订单录入
员工点击订单录入模块按钮,系统判断员工身份,若所示部门并非采购部门或身份并非经理提醒无权进行此项操作。
若身份核实无误,进入订单录入界面,系统查询数据库将库存量低于预警库存量的商品以列表形式展示。
点击订单录入按钮,弹出新订单录入界面,输入商品编号,若该商品编号在数据库中已经存在,则商品名称、计量单位等相关信息呈不可修改状态显示,输入采购量、商品成本价格及推荐销售价格等信息;若该商品编号不存在,除采购信息外填写商品信息如商品名称、计量单位等。
订单信息录入完成后提交订单,订单信息存入数据库中的采购单表及采购明细表中,新添加商品按库存量为0存入库存商品表中。
所提交的采购订单表等待仓管员进行入库处理,同时可被采购员进行查询及取消订单操作。
4.3.5订单查询
身份认证如前面所述。
确认身份后,首先选择查询条件,选择按订单编号查询、按采购日期查询还是按订单状态查询.输入检索条件后进行查询,若数据库中无符合条件的记录则提示“无此记录”;若存在符合条件的记录则以列表形式显示查询结果。
点击订单编号可查看订单详情。
4.3.6取消订单
按照订单查询模块中所述的方式进行查询。
在显示时若订单状态属于“已入库”或“已退货",则以文本形式显示其状态;若其状态属于“待处理”或“待取消”,则其订单状态显示为包括本订单状态和“已退货”两条信息的下拉列表,若在下拉列表中选中了“已退货",表示要将该订单取消,弹出信息确认对话框.选择“确定”取消订单,同时数据库中的该项采购订单状态更改为“已退货"。
4.3.7商品销售
确认身份后,选择商品销售模块按钮,数据库中生成一个销售单,此时销售明细中相关的商品信息为空.录入商品信息,数据库将其记录添加到与刚刚生成的销售单相关联的销售明细表记录中。
在信息录入的过程中可不断对销售单明细状况进行更改.在此过程中随时可取消订单,相应的数据库操作应为,删除该销售单在销售明细表中的记录及该销售订单记录。
完成商品信息录入后点击确定按钮,系统计算该销售单的应付金额并将其保存在销售单记录中,输入实付金额,计算出找零并分别将实付金额与找零保留记录。
4.3.8销售退货
确认身份后,选择销售退货模块按钮,数据库中生成一个退货单,此时退货明细表中相关的商品信息为空.录入退货商品信息,数据库不断将其记录添加到与刚刚生成的退货单相关联的退货明细表记录中.在信息录入过程中可随时取消退货,相应的,取消退货后要把数据库中退货明细表中所有关于该退货单的记录删除并删除该退货单。
完成退货商品信息录入后点击确定按钮,系统计算该退货单的应找金额并将其保存在退货单记录中,若涉及实付金额与找零也应一并保存记录。
4.3.9商品入库
确认身份后,点击商品入库模块按钮,系统对数据库进行查询,将采购单表中所有状态为“待处理"的订单以列表形式显示出来,点击订单编号可查看订单详情,确定无误后可点击入库按钮进行处理,则数据库中该采购订单的状态更改为“已入库”,同时该采购订单所涉及到的所有商品库存量进行相应的更改。
若订单信息有误,点击驳回按钮,将该采购订单的状态更改为“待取消”而不对商品库存表中的信息进行更改。
4.3.10库存修改
点击库存修改模块按钮,确认身份后,用户选择按仓库名称查询或按商品编号查询,输入查询条件在数据库中进行查询并以列表形式显示其结果,修改商品信息后点击保存,将修改的信息写入数据库中的商品库存表中.
4.3.11盘点
点击盘点模块按钮,确认身份后,用户选择按仓库名称查询或按商品编号查询,输入查询条件在数据库中进行查询并以列表形式显示其结果,将商品现有数量与实有数量进行比较,若不一致输入商品实有数量,计算其盈亏并将其写入盘点表记录中。
4.3.12业务统计
用户点击业务统计按钮,确认身份后,选择按月、季度还是年份查看统计,输入查看条件后按该条件在数据库中搜索涉及到金钱输入、输出的订单信息,进行盈亏计算并将依次其显示出来.
5接口设计
5.1 用户接口
5.1.1用户界面设计原则
用户界面:采用Windows的通用图形界面,对用户友好,且必须对鼠标键盘提供支持,界面设计时遵循的原则如下:
1。
尽量保持一致性:界面规范应遵循MS Windows软件界面的规范
2。
设计完整的对话过程:系统的每一次对话都应该有明确的次序:开始、中间处理过程、结束。
3。
提供简单的错误处理机制
4。
提供信息反馈:用多种信息提示用户当前软件运行状态,软件界面元件的功能。
5。
操作可逆:其动作可以是单个的操作,或者是一个相对独立的操作序列。
6. 设计良好的联机帮助
7. 显示启动画面:画面简洁明快,富有现代气息。
8。
提供控制的内部轨迹:系统应该让用户觉得是由用户在做决定,可以通过提示字符和提示消息的方式使用用户产生这种感觉。
5.1.2用户接口输入输出
5.2 外部接口
本系统可以安装支持windows系统,内存为1G的容量,计算机硬件设备均为普通即可,并为条形码扫描仪、小票打印机、刷卡机等设备及其相应的软件提供接口.
6运行设计
6.1 系统初始化
打开本系统时,实现系统数据、对象的初始化,系统依次的动作如下:
(1)当添加商品信息或其他信息时则信息添加窗口就于该软件的数据库连接。
(2)当单击保存按钮时就将添加或是修改的信息保存到一个用户自己指定的文件。
(3)当单击打印按钮时就用print()函数来连接到打印机进行打印.
6.2 运行控制
a. 每种运行所经历的内部模块和支持软件
(1)用户登录窗口中要输入用户名和密码,然后单击登录按钮,进入超市管理系统主窗口。
(2)单击信息管理的级联菜单员工信息管理,密码修改就依次打开本员工信息增删改查窗口和密码修改窗口。
(3)单击采购管理的级联菜单订单录入,订单查询,退订单就依次打开本订单录入窗口,订单查询窗口和退订单窗口。
(4)单击销售管理的级联菜单商品销售,退货就依次打开本商品销售窗口及退货窗口。
(5)单击库存管理的级联菜单商品入库,库存查询,库存修改,盘点就依次打开本商品入库窗口,库存查询窗口,库存修改窗口及盘点窗口。
(6)单击业务统计菜单就进入业务统计窗口。
b. 运行模块组合将占用各种资源的情况
每种运行模块组合将占用各种资源的时间都不超过1秒钟。
c。
系统运行时的安全控制
(1)实行系统运行监控
(2)对操作员进行权限设置
(3)清楚系统运行异常
(4)上机日志
6.3 系统结束
当系统运行结束后,首先关闭与数据库的连接,关闭应用程序时释放内存。
7系统出错处理设计
7.1 出错信息
7.2 补救措施
a.定期对数据库进行备份,另外周期性地把磁盘信息记录到另外的设备上。
b.当商品的条形码不被识别的时候,用户使用键盘录入商品的条形码信息。
c.若出现故障,可重新安装软件,再根据备份信息等将数据恢复.
8系统维护设计
说明为了系统维护的方便,在程序内部设计中作出的安排。
(1)系统应用程序维护。
系统的业务处理过程是通过应用程序的运行而实现的,一旦程序发生问题或业务发生变化,就必然地引起程序的修改和调整,因此系统维护的主要活动是对程序进行维护。
(2)数据维护。
定期地数据库的数据进行备份,周期性地把磁盘的信息记录到另外的设备上,以防止数据的丢失。
(3)代码维护.随着系统应用范围的扩大,应用环境的变化,系统中的各种代码都需要进行一定程度的增加、修改、删除,以及设置新的代码.
9尚待解决的问题
由于在进行本次设计时系统内尚没有初步原型,因此没有对检测点进行设计,但在系统实现中注意此点。