仓库管理系统详细设计报告书.docx

上传人:b****8 文档编号:9445161 上传时间:2023-02-04 格式:DOCX 页数:36 大小:284.69KB
下载 相关 举报
仓库管理系统详细设计报告书.docx_第1页
第1页 / 共36页
仓库管理系统详细设计报告书.docx_第2页
第2页 / 共36页
仓库管理系统详细设计报告书.docx_第3页
第3页 / 共36页
仓库管理系统详细设计报告书.docx_第4页
第4页 / 共36页
仓库管理系统详细设计报告书.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

仓库管理系统详细设计报告书.docx

《仓库管理系统详细设计报告书.docx》由会员分享,可在线阅读,更多相关《仓库管理系统详细设计报告书.docx(36页珍藏版)》请在冰豆网上搜索。

仓库管理系统详细设计报告书.docx

仓库管理系统详细设计报告书

《软件工程》期末大作业报告

实验名称:

姓名:

学院:

系:

专业:

学号:

指导教师:

实验地址:

仓库管理系统

Xxxx

Xxx

计算机

Xxxx

Xxxx

Xxxx

九章楼N6

实验日期:

2010-2011学年第2学期

 

仓库管理系统

一、引言

1、目的和背景

仓库管理系统是一个企业单位不可缺少的一部分,它的内容对于企业的决策者和管理者来说都是至关重要的,因此,仓库管理系统应该能够为用户提供充足的信息和快捷的查询手段,但一直以来人们使用传统的人工方式管理库存,这种管理方式存在着许多缺点,诸如效率低,保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学不断发展,其强大的功能已经被人们深刻认识,它已经进入了人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对产品库存信息进行管理,拥有着人工管理无法比拟的优点,它检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,可减少更多的人力物力,这些都能够极大地提高货品库存的管理效率,也是企业仓库管理科学化、正规化,与世界接轨的重要条件。

因此,开发一个仓库管理系统是很有必要的,具有其特有的技术意义和管理意义。

2、设计思想系统开发的总体任务是实现物品的入库操作、出库操作和提货单的管理,对供应商、提货单位的管理功能,以及对库存中物品数目的管理功能等。

它能能够为企业提供先进的业务信息管理解决方案,改进传统的工作方试,提高企业所经营物品的供、销、存的运转效率,缩短管理周期,减少因为重复操作而带来的人为差错,减轻管理人员的工作强度、降低管理成本。

、需求分析

1、功能需求:

产品的信息的显示、删除、录入、修改、出库、结束和清屏。

显示:

显示产品库存的所有信息。

删除:

删除产品库存的所有信息。

录入:

输入并保存产品的所有信息。

修改:

可随机修改产品库存属性的信息出库:

依据产品的出库数量,计算现在的库存量,更新出库数量。

2、环境需求:

Visualstudio2005,128MB以上的内存空间,windows2000操作系统以及其升级版本

完整的MSDN以及测试

具备VC++开发集成环境

奔腾IV处理器及其升级版本

3、扩展需求:

仓库管理系统可以支持各种功能的扩展,以及适应以后新的功能需求。

4、文档需求:

(1)、用户手册用户运行软件后依照提示先选择要使用的语言种类,然后进入主菜单选取所需执行的功能(显示、删除、录入、修改、出库、结束。

(2)、参考文献。

(3)、测试技术支持网点。

(4)、系统说明书。

本系统有中文以及英文两种类型,均能实现显示、删除、录入、修改、出库、结束等功能。

三、设计阶段

1.体系设计

显示

数据

2.结构设计

(1)表示层:

用于用户交互和数据输入输出的模块。

(2)业务层:

用于描述数据、控制数据流向、逻辑控制的模块。

(3)业务层和逻辑层的分离

1.将业务逻辑的表达进行封装,并提交访问接口2•为表示层的调用提供访问接口3•提高业务逻辑重用,降低代码的以来的依赖度。

表示层与业务层的关系如图示:

表示层

业务逻辑层

3.

概要设计

身份验证

惜通操作员:

身份验证

填写注册信息

仓库、

仓库数据库

~■

仓库号日期范围

销售数据库

供应商设置

 

系统流程图虽然很好地描绘了具体的系统,但是在系统流程图中把“做什么”和“怎样做”这两类不同范畴的知识混合在一起。

我们的目标不是一成不变地复制现有的人工系统,而是开发一个既能够完成现有的所有功能,又能使操作更加规范或者功能更加完备的新系统,因此,应该着重描绘系统的逻辑功能。

数据流图描述数据在软件系统内从输入流动到输出的过程中所经受的变换,通常用数据流图建立软件的功能模型。

数据流图是系统逻辑功能的图形表示,图中没有任何的具体物理部件,仅仅描绘数据在软件中流动和被处理的逻辑过程,不懂计算机技术的人也容易理解

它,因此是分析员与用户之间极好的通信工具

4.模块设计

控制菜单(录入,显示,修改,删除,清屏,退出菜单)

Commdity类

storage类

shop类

basecoll类

Base类

5.类间关系

MenuChinese类

MenuEnglish类

Show(void):

void

Show(void):

void

deleteInfo(kucun:

comm

deleteInfo(kucun:

comm0

Odity*):

void

dity*):

void

modity(kucun:

comm0di

modity(kucun:

comm0dity

ty*):

void

*):

void

outHou(kucun:

commOd

outHou(kucun:

comm0dit

ity*):

void

y*):

void

recorde(kucun:

comm0d

recorde(kucun:

comm0dit

ity*):

void

y*):

void

Commdity类

商品名称

Pname[31]:

char

产品批次

Ppici[7]:

char

产口口编号

Pno[10]:

char

货架号

Sno[5]:

char

生产日期

Ptime[11]:

char

保质期

Pstore[11]:

char

库存量

Pinnum:

long

进货数量

Pinfill:

long

销售数量

Pqulity:

long

出库日期

Pouttime[11]:

char

入库日期

Pintime[11]:

char

设置产品名称属性

boolsetName(char*name):

bool

获取产品名称

char*getName(void):

char*

设置产品批次属性

boolsetPici(char*pici):

bool

获取产品批次

char*getPici(void):

char*

设置产品编号属性

boolsetPno(char*no):

bool

获取产品号

char*getPno(void):

char*

设置货架号属性

boolsetSno(char*sno):

bool

获取货架号

char*getSno(void):

char*

设置生产日期

boolsetPtime(char*ptime):

bool

获取生产日期

char*getPtime(void):

char*

设置保质期

boolsetPstore(char*store):

bool

获取保质期

char*getPstore(void):

char*

设置库存量

boolsetPinnum(longinnum):

bool

获取库存量

longgetPinnum(void):

long

设置进货数量

boolsetPinfill(longinfill):

bool

获取进货数量

longgetPinfill(void):

long

设置销售量

boolsetQulity(longqulity):

bool

获取销售量

longgetQulity(void):

long

设置入库日期boolsetIntime(char*intime):

bool

获取入库日期

char*getlntime(void):

char*

设置出库日期boolsetOuttime(char*outtime):

bool

获取出库日期

char*getOuttime(void):

char*

获取信息

char*getlnfo(void):

char*

storage类

库存名称

storagename

[30]:

char

库存编号

storageno

[4]:

int

库存地址

storageaddress[30]:

char

库存容量

storagecap

:

longint

按序号查找commodity*getByIndex(intindex):

commodity*

按名称查找commodity*getByName(char*Coname)commodity*

按照产品批次查找commodity*getByBatch(char*Copici):

commodity*

按照产品编号查找commodity*getByPno(char*Copno):

commodity

按货架号查找commodity*getBySno(char*Cosno):

commodity

按入库日期查找commodity*getBylntime(char*Cointime):

commodity*

按出库日期查找commodity*getByOuttime(char*Coouttime):

commodity

按指定名称修改voidreworkByName(char*Coname,intla):

void按批次修改voidreworkByBatch(char*Copici,intla):

void

按名称删除

void

按批次删除

void

按编号删除

void

按货架号删除

void

按库存量删除

void

voidmodify(commodity*kucun):

voidvoidreworkByPno(char*Copno,intvoidreworkBySno(char*Cosno,int

la):

void

la):

void

修改

按编号修改按货架号修改

仓库现有产品总量longallquality(void):

longremoveByName^har*Coname):

voidremoveByBatch(char*Copici):

voidremoveByPno(char*Copno):

voidremoveBySno(char*Cosno):

voidremoveBylnnum(longCoinnum):

void

按产品名称出库voidoutstorByName(char*Coname,longqulity,char*Coouttime):

void

按产品批次出库voidoutstorByBatch(char*Copici,longqulity,char*Coouttime):

void

按编号出库voidoutstorByPno(char*Copno,longqulity,char*Coouttime):

void

按货架号出库voidoutstorBySno(char*Cosno,longqulity,char*Coouttime):

void

英文修改voidmodifyE(commodity*kucun):

void

shop类

重载basecoll的add方法booladd(storage*stor):

bool重载按姓名查找方法storage*getByName(char

storage*getByNo(storage*getByAddress(

storage*getByCap(longxcap):

storageintgetCount(void):

int

storage*getByIndex(intindex:

storage*

Basecoll类

添加booladd(base*ba):

bool

按姓名查找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):

bool

按容量查找base*getByCap(longxcap):

base*

按地址删除boolremoveByAddress(char*xaddress):

bool按容量删除boolremoveByCap(longxcap):

bool

Base类

名称name[31]:

char

编号no[5]:

char

地址address[31]:

char

容量storagecap:

long

设置名称获取名称设置编号获取编号数据覆盖设置地址获取地址设置容量获取容量

voidsetName(char*xname):

voidchar*getName(void):

char*voidsetNo(char*xno):

voidchar*getNo(void):

char*voidCopy(base*ba):

void

voidsetAddress(char*xaddress):

voidchar*getAddress(void):

char*voidsetStoragecap(longxcap):

voidlonggetStoragecap(void):

long

仓库管理系统类图图形如下:

Commodity类

 

storage类

 

shop类

baseColl类

 

Base类

四、Commdity类

数据字典是关于数据的信息的集合,也就是对数据流图中包含的元素的定义的集合。

它的作用是在软件分析和设计过程中提供关于数据的描述信息。

数据字典和数据流图共同构成系统的逻辑模型。

数据字典定义数据的方法就是对数据自顶向下地分解,当分解到不需要进-

步定义,每个和工程有关的人员都清楚其含义的元素时,这种分解过程就结束了

本仓库管理系统根据划分的模块定义了如下数据字典:

数据字典如下图示:

字段名

含义

类型

长度

pname

产品名称

字符串

30

Ppici

产品批次

字符型

7

Pno

产口口编号

字符型

10

Sno

货架号

字符型

5

Ptime

生产日期

字符型

10

Pstore

保质期

字符型

10

Pinnum

库存量

长整型

Pinfill

进货数量

长整型

Pquality

销售数量

长整型

Pouttime

出库日期

字符型

10

Pintime

入库日期

字符型

10

 

用例图---描述用户交互角度:

 

用例图中一子功能菜单的描述

 

产品信息的删除

产品的库存量删除

按产品名称删除

产品的货架号删除除

按产品的编号删除

按产品的批次删除

状态图:

描述运行逻辑状态

 

o

数据流程图子功能图形的描述:

 

五、storage类

对仓库的管理

功能需求:

显示、增加、修改(modify)、删除、进入仓库对商品的管理系统。

查询:

按仓库的名称、编号、地址、容量查询。

增加:

增加所有信息。

修改:

按名称和地址修改。

删除:

按地址和容量删除。

显示:

显示所有仓库信息。

仓库对商品的管理。

操作需求:

主菜单:

输入0~8选择功能。

0—结束,1—添加、2—查询、3—修改、4—删除、5—仓库总数、6—显示所有仓库信息,7—仓库对商品的管理,8—清屏。

数据字典:

字段名

含义

类型

长度

name

仓库名称

字符型

30

no

仓库编号

字符型

4

address

仓库地址

字符型

30

storagecap

仓库容量

整型

用例图---描述用户交互角度:

退出

用例图中一子功能菜单的描述

仓库信息的删除

 

 

状态图:

描述运行逻辑状态

查询

按仓库名

称查询

按仓库容量查询

<>

按仓库地址查询

按仓库编号查询

修改

按仓库的名称修改

按仓库的编号修改

仓库总数

 

入口参数设置:

接口名称

返回值

参数说明

用途

示列

getName

char*

无参

返回Pname变

Char*c=commdity->getName()

getPici

char*

无参

返回Ppici变量

Char*c=commdity->getPici()

getPno

char

无参

返回Pno变量

Char*c=commdity->getPno()

getsno

Char*

无参

返回Sno变量

Char*c=commdity->getSno()

getPtime

Char*

无参

返回Ptime变量

Char*c=commdity->getPtime()

getPstore

Char*

无参

返回Pstore变

Longc=commdity->getPstore()

getPinnum

char*

无参

返回Pinnum变

Longc=commdity->getPinnum()

getPinfill

char*

无参

返回Pinfill变量

Longc=commdity->getPinfill()

getQulity

char*

无参

返回Pqulity变量

Char*c=commdity->getQulity()

getOuttime

char*

无参

返回Pouttime

变量

Char*c=commdity->getOuttime()

getIntime

char*

7位数字

返回Pintimer

变量

Char*c=commdity->getlntime()

 

出口参数设置:

接口名称

返回值

参数说明

用途

示列

setName

bool

30位字符

设置属性

Char*c=commdity->set

Name()

setPici

bool

7位字符

设置属性

Char*c=commdity->setPici

()

setPno

bool

10位字符

设置属性

Char*c=commdity->setPno()

setSno

bool

5位字符

设置属性

Char*c=commdity->setSno

()

setPtime

bool

10位字符

设置属性

Char*c=commdity->setPtime()

setPstore

bool

10位字符

设置属性

Char*c=commdity->set

Pstore()

setPinnum

bool

Long型数字

设置属性

Longc=commdity->setPinnum()

setPinfill

bool

Long型数字

设置属性

Longc=commdity->setPinfill()

setQuality

bool

Long型数字

设置属性

Longc=commdity->setQulity()

setOuttime

bool

10位字符

设置属性

Char*c=commdity->setOuttime()

setIntime

bool

10位字符

设置属性

Char*c=commdity->set

Intime()

最终该系统能完成的功能有如下:

六、测试计划说明

1、功能测试

采用手动测试,由于测试的繁琐,没有专门的工具。

下面给出各个功能的测试用例。

2、用户登录测试用例

序号

测试目的&先决条件

测试输入/动作

预期测试结果

1

测试目的:

1.正确输入,用户登录操作能否成功

先决条件:

1.服务器端程序已启

2.数据库中有如下用户信息

用户名:

admin密码:

123456

服务器:

127.0.0.1(默认)用户名:

admin

密码:

123456

点击“登录”按钮

1.由登录界面转到库存查询界面

密码:

111

点击“登录”按钮

3、产品入库管理用例

序号

测试目的&先决条件

测试输入/动作

预期测试结果

1

测试目的:

1.对入库产品信息录入

操作是否成功

先决条件:

1.服务器端程序已启动

2.管理员admin已经登

录系统

1.选择入库产品类型,名称,输入产品入库数量,点击“提交数据”按钮

1.返回操作成功提示窗口

2.库存数据库已经更新

2

测试目的:

1.检测对入库产品数量的输入类型为数子时是否正确

先决条件:

1.选择入库产品类型,名称,输入产品入库数量为:

10点击“提交数据”按钮

1.返回操作成功提示窗口

2.库存数据库已经更新

1.服务器端程序已启动

2.管理员admin已经登

录系统

3

测试目的:

1.检测对入库产品数量的输入类型为非数字类型时是否正确先决条件:

1.服务器端程序已启动

2.管理员admin已经登

录系统

1.选择入库产品类型,名称,输入产品入库数量为:

aa点击“提交数据”按钮

1.返回操作成败提示小窗口,入库数量只能为数字

2.选择入库产品类型,名称,输入产品入库数量为:

a10点击“提交数据”按钮

1.选择入库产品类型,名称,输入产品入库数量为:

十点击“提交数据”按钮

4、入库类型管理用例

序号

测试目的&先决条件

测试输入/动作

预期测试结果

1

测试目的:

1.检测对入库产品类型的修改

先决条件:

1.服务器端程序已启动

2.管理员admin已经登录系统,进入入库类型管理模块

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1