仓库管理系统详细设计报告书Word下载.docx
《仓库管理系统详细设计报告书Word下载.docx》由会员分享,可在线阅读,更多相关《仓库管理系统详细设计报告书Word下载.docx(36页珍藏版)》请在冰豆网上搜索。
(3)、测试技术支持网点。
(4)、系统说明书。
本系统有中文以及英文两种类型,均能实现显示、删除、录入、修改、出库、结束等功能。
三、设计阶段
1.体系设计
显示
数据
2.结构设计
(1)表示层:
用于用户交互和数据输入输出的模块。
(2)业务层:
用于描述数据、控制数据流向、逻辑控制的模块。
(3)业务层和逻辑层的分离
1.将业务逻辑的表达进行封装,并提交访问接口2•为表示层的调用提供访问接口3•提高业务逻辑重用,降低代码的以来的依赖度。
表示层与业务层的关系如图示:
表示层
业务逻辑层
3.
概要设计
身份验证
惜通操作员:
填写注册信息
仓库、
仓库数据库
~■
仓库号日期范围
销售数据库
供应商设置
系统流程图虽然很好地描绘了具体的系统,但是在系统流程图中把“做什么”和“怎样做”这两类不同范畴的知识混合在一起。
我们的目标不是一成不变地复制现有的人工系统,而是开发一个既能够完成现有的所有功能,又能使操作更加规范或者功能更加完备的新系统,因此,应该着重描绘系统的逻辑功能。
数据流图描述数据在软件系统内从输入流动到输出的过程中所经受的变换,通常用数据流图建立软件的功能模型。
数据流图是系统逻辑功能的图形表示,图中没有任何的具体物理部件,仅仅描绘数据在软件中流动和被处理的逻辑过程,不懂计算机技术的人也容易理解
它,因此是分析员与用户之间极好的通信工具
4.模块设计
控制菜单(录入,显示,修改,删除,清屏,退出菜单)
Commdity类
storage类
shop类
basecoll类
Base类
5.类间关系
MenuChinese类
MenuEnglish类
Show(void):
void
deleteInfo(kucun:
comm
comm0
Odity*):
dity*):
modity(kucun:
comm0di
modity(kucun:
comm0dity
ty*):
*):
outHou(kucun:
commOd
comm0dit
ity*):
y*):
recorde(kucun:
comm0d
商品名称
Pname[31]:
char
产品批次
Ppici[7]:
产口口编号
Pno[10]:
货架号
Sno[5]:
char
生产日期
Ptime[11]:
保质期
Pstore[11]:
库存量
Pinnum:
long
进货数量
Pinfill:
long
销售数量
Pqulity:
出库日期
Pouttime[11]:
入库日期
Pintime[11]:
设置产品名称属性
boolsetName(char*name):
bool
获取产品名称
char*getName(void):
char*
设置产品批次属性
boolsetPici(char*pici):
bool
获取产品批次
char*getPici(void):
设置产品编号属性
boolsetPno(char*no):
获取产品号
char*getPno(void):
设置货架号属性
boolsetSno(char*sno):
获取货架号
char*getSno(void):
设置生产日期
boolsetPtime(char*ptime):
获取生产日期
char*getPtime(void):
设置保质期
boolsetPstore(char*store):
获取保质期
char*getPstore(void):
设置库存量
boolsetPinnum(longinnum):
获取库存量
longgetPinnum(void):
long
设置进货数量
boolsetPinfill(longinfill):
获取进货数量
longgetPinfill(void):
设置销售量
boolsetQulity(longqulity):
获取销售量
longgetQulity(void):
设置入库日期boolsetIntime(char*intime):
获取入库日期
char*getlntime(void):
设置出库日期boolsetOuttime(char*outtime):
获取出库日期
char*getOuttime(void):
获取信息
char*getlnfo(void):
库存名称
storagename
[30]:
库存编号
storageno
[4]:
int
库存地址
storageaddress[30]:
库存容量
storagecap
:
longint
按序号查找commodity*getByIndex(intindex):
commodity*
按名称查找commodity*getByName(char*Coname)commodity*
按照产品批次查找commodity*getByBatch(char*Copici):
按照产品编号查找commodity*getByPno(char*Copno):
commodity
按货架号查找commodity*getBySno(char*Cosno):
按入库日期查找commodity*getBylntime(char*Cointime):
按出库日期查找commodity*getByOuttime(char*Coouttime):
按指定名称修改voidreworkByName(char*Coname,intla):
void按批次修改voidreworkByBatch(char*Copici,intla):
void
按名称删除
按批次删除
按编号删除
按货架号删除
按库存量删除
voidmodify(commodity*kucun):
voidvoidreworkByPno(char*Copno,intvoidreworkBySno(char*Cosno,int
la):
修改
按编号修改按货架号修改
仓库现有产品总量longallquality(void):
longremoveByName^har*Coname):
voidremoveByBatch(char*Copici):
voidremoveByPno(char*Copno):
voidremoveBySno(char*Cosno):
voidremoveBylnnum(longCoinnum):
按产品名称出库voidoutstorByName(char*Coname,longqulity,char*Coouttime):
按产品批次出库voidoutstorByBatch(char*Copici,longqulity,char*Coouttime):
按编号出库voidoutstorByPno(char*Copno,longqulity,char*Coouttime):
按货架号出库voidoutstorBySno(char*Cosno,longqulity,char*Coouttime):
英文修改voidmodifyE(commodity*kucun):
重载basecoll的add方法booladd(storage*stor):
bool重载按姓名查找方法storage*getByName(char
storage*getByNo(storage*getByAddress(
storage*getByCap(longxcap):
storageintgetCount(void):
storage*getByIndex(intindex:
storage*
Basecoll类
添加booladd(base*ba):
按姓名查找base*getByName(char*xname)base*按序号查找base*getBylndex(intindex):
base*按编号查找base*getByNo(char*xno):
base*返回数量intgetCount(void):
按名称修改boolmodifyByName(char*xname,base*ba):
bool按地址查找base*getByAddress(char*xaddress):
base*按地址修改boolmodifyByAdress(char*xaddress,base*ba):
按容量查找base*getByCap(longxcap):
base*
按地址删除boolremoveByAddress(char*xaddress):
bool按容量删除boolremoveByCap(longxcap):
名称name[31]:
编号no[5]:
地址address[31]:
容量storagecap:
long
设置名称获取名称设置编号获取编号数据覆盖设置地址获取地址设置容量获取容量
voidsetName(char*xname):
voidchar*getName(void):
char*voidsetNo(char*xno):
voidchar*getNo(void):
char*voidCopy(base*ba):
voidsetAddress(char*xaddress):
voidchar*getAddress(void):
char*voidsetStoragecap(longxcap):
voidlonggetStoragecap(void):
仓库管理系统类图图形如下:
Commodity类
baseColl类
四、Commdity类
数据字典是关于数据的信息的集合,也就是对数据流图中包含的元素的定义的集合。
它的作用是在软件分析和设计过程中提供关于数据的描述信息。
数据字典和数据流图共同构成系统的逻辑模型。
数据字典定义数据的方法就是对数据自顶向下地分解,当分解到不需要进-
步定义,每个和工程有关的人员都清楚其含义的元素时,这种分解过程就结束了
本仓库管理系统根据划分的模块定义了如下数据字典:
数据字典如下图示:
字段名
含义
类型
长度
pname
产品名称
字符串
30
Ppici
字符型
7
Pno
10
Sno
5
Ptime
Pstore
Pinnum
长整型
Pinfill
Pquality
Pouttime
Pintime
用例图---描述用户交互角度:
用例图中一子功能菜单的描述
产品信息的删除
产品的库存量删除
按产品名称删除
产品的货架号删除除
按产品的编号删除
按产品的批次删除
状态图:
描述运行逻辑状态
o
数据流程图子功能图形的描述:
五、storage类
对仓库的管理
功能需求:
显示、增加、修改(modify)、删除、进入仓库对商品的管理系统。
查询:
按仓库的名称、编号、地址、容量查询。
增加:
增加所有信息。
修改:
按名称和地址修改。
按地址和容量删除。
显示:
显示所有仓库信息。
仓库对商品的管理。
操作需求:
主菜单:
输入0~8选择功能。
0—结束,1—添加、2—查询、3—修改、4—删除、5—仓库总数、6—显示所有仓库信息,7—仓库对商品的管理,8—清屏。
数据字典:
name
仓库名称
no
仓库编号
4
address
仓库地址
仓库容量
整型
退出
仓库信息的删除
查询
按仓库名
称查询
按仓库容量查询
<
>
按仓库地址查询
按仓库编号查询
按仓库的名称修改
按仓库的编号修改
仓库总数
入口参数设置:
接口名称
返回值
参数说明
用途
示列
getName
char*
无参
返回Pname变
量
Char*c=commdity->
getName()
getPici
返回Ppici变量
Char*c=commdity->
getPici()
getPno
返回Pno变量
getPno()
getsno
Char*
返回Sno变量
getSno()
getPtime
返回Ptime变量
getPtime()
getPstore
返回Pstore变
Longc=commdity->
getPstore()
getPinnum
返回Pinnum变
Longc=commdity->
getPinnum()
getPinfill
返回Pinfill变量
getPinfill()
getQulity
返回Pqulity变量
getQulity()
getOuttime
返回Pouttime
变量
getOuttime()
getIntime
7位数字
返回Pintimer
getlntime()
出口参数设置:
返回值
setName
30位字符
设置属性
set
Name()
setPici
7位字符
setPici
()
setPno
10位字符
setPno()
setSno
5位字符
setSno
setPtime
setPtime()
setPstore
Pstore()
setPinnum
Long型数字
setPinnum()
setPinfill
setPinfill()
setQuality
setQulity()
setOuttime
setOuttime()
setIntime
Intime()
最终该系统能完成的功能有如下:
六、测试计划说明
1、功能测试
采用手动测试,由于测试的繁琐,没有专门的工具。
下面给出各个功能的测试用例。
2、用户登录测试用例
序号
测试目的&
先决条件
测试输入/动作
预期测试结果
1
测试目的:
1.正确输入,用户登录操作能否成功
先决条件:
1.服务器端程序已启
动
2.数据库中有如下用户信息
用户名:
admin密码:
123456
服务器:
127.0.0.1(默认)用户名:
admin
密码:
点击“登录”按钮
1.由登录界面转到库存查询界面
111
3、产品入库管理用例
1.对入库产品信息录入
操作是否成功
1.服务器端程序已启动
2.管理员admin已经登
录系统
1.选择入库产品类型,名称,输入产品入库数量,点击“提交数据”按钮
1.返回操作成功提示窗口
2.库存数据库已经更新
2
1.检测对入库产品数量的输入类型为数子时是否正确
1.选择入库产品类型,名称,输入产品入库数量为:
10点击“提交数据”按钮
3
1.检测对入库产品数量的输入类型为非数字类型时是否正确先决条件:
aa点击“提交数据”按钮
1.返回操作成败提示小窗口,入库数量只能为数字
2.选择入库产品类型,名称,输入产品入库数量为:
a10点击“提交数据”按钮
十点击“提交数据”按钮
4、入库类型管理用例
1.检测对入库产品类型的修改
2.管理员admin已经登录系统,进入入库类型管理模块