软件工程课程设计超市仓库管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
第一章绪论.................................................................................................................................... .1
1.1开发项目 (1)
1.2开发背景 (1)
1.3开发平台 (2)
1.4运行环境 (2)
第二章可行性设计 (3)
2.1技术可行性研究 (3)
2.2经济可行性研究 (3)
2.3操作可行性研
究............................................................................................................. . (4)
第三章需求分析 (5)
3.1功能需
求 (5)
3.2数据流程图 (5)
3.3数据字典 (7)
3.4建立E-R图 (9)
第四章概要设计 (12)
4.1 系统设计 (12)
4.2系统状态图的设计 (13)
第五章详细设计.....................................................................................................................
5.1 物理结构设计 (17)
5.2 逻辑结构设计 ..................................................................................................................
5.3 模块功能设计................................................................................................................... 第六章编码与测试.................................................................................................................
6.1 系统编码 (23)
6.2 系统测试 (26)
结束语 (31)
参考文献 (32)
第一章绪论
1.1开发项目:超市仓库管理系统。

1.2 开发背景
在我国超市形成在20世纪90年代初期,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。

随着超市高速的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售也的发展,这样就迫切地需要引入新的管理技术。

超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。

苏辙超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。

为此,在选题过程中,我选择了超市管理系统设计题目,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。

随着小超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长。

超市时时刻刻都需要对商品各种信息进行统计分析。

而大型的超市管理系统功能过于强大而造成操作繁琐降低了小超市的工作效率。

超市管理系统是市场上最流行的超市上常用的系统之一,它主要包含以下几个模块:系统权限的设定、原始数据录入、数据的汇总及查询等。

从而,实现对进货、销售及员工信息等实现全面、动态、及时的管理。

超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。

面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。

1.3 系统开发平台
通过研究超市仓库管理系统任务书,并对该系统进行实际需求分析,该系统采用了面向对象的VC软件作为开发工具,其功能强大、安全、跨平台、简单、适用于网络。

该系统数据库采用了我们较为熟悉的SQL数据库作为该系统的后台数据库支持。

1.4 系统运行环境
Windows系统具有完全可视化窗体,直观、高效的面向对象的图形用户界面,具有普遍的使用人群,所以我们决定该超市仓库管理系统将运行在WINDOWS操作系统下。

在 WINDOWS95/98/2000/XP下等都可以运
行。

本次课程设计是在WINDOWS XP下运行的。

采用VC作为开发工具,SQL数据库作为该系统的后台数据库支持创建超市仓库管理系统。

第二章可行性研究
2.1技术可行性研究
在IT行业中从业的工作人员一般都要求掌握计算机技术,具有一定的软硬件基础,会使用各种管理软件,熟悉IT产品。

因为,有的超市对员工的素质要求比较高,从管理层到下面的销售人员,都要求具有一定的计算机基础,所以在新系统投入使用时,只要对员工进行少量的培训,系统的功能和使用方法就基本上能够是系统顺利运行。

在软件开发方面,由于编程语言较多,而VC 语言是一种面向对象的编程工具,VC 语言是一种代码简单,易懂和维护的编程语言,为开发超市库存管理系统提供技术支持。

VC 不仅基于不同的平台开发,而且可以在不同的系统上进行移植,从而加快了软件的开发,促进了发展。

超市库存管理系统就是基于这种简单的语言,以SQL 作为数据库的后台,访问数据库,使软件的开发更为简单,同时也提高了开发的速度。

2.2 经济可行性研究
因为通过网络传递销售信息可以不受距离的限制,因此可以借阅许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高超市的销售效率,即提高了超市的经济效益,所以从经济上完全是可行的。

1.超市有能力承担系统开发费用
开发新系统的工作是一项间距复杂的工作,它的投资主要是人力和物力的投资。

对于本系统的开发者来说,其主要投资还是在人力和物力两个方面。

如果是企业自己安排人手开发系统的话,其主要的投资还是在人力资源上,从系统的业务需求调查到系统的分析编码制作都是需要巨大的人力投入的。

软件企业作为一个简短的高科技产业,其员工要求都比一般企业的要求要高,而且对系统开发及软件产业了解比较多,所以在自我开发管理系统的过程中,企业自己比较容易安排人手,这样就可以为企业借阅大部分的额外开支。

同时软件就其它产品来说,属于高端行业,无论是产品的价格还是质量都比较高,而经营产品的经销商或者是商家都要求有雄厚的资金支持。

所以,在系统的开发过程中,企业完全有能力
承担开发费用。

2.新系统将为企业带来经济效益
管理系统是一个信息化、智能化和先进管理理念的集合体。

而管理是一个动态过程,在其运行过程中要采取多项措施。

所以在管理中获得经济效益是一个综合效益,要对它进行直接定量的分析是比较困难的。

一般新系统带来的经济效益是简介的,其最主要的表现就是减少了企业管理费用和人力开支。

而其它一些繁琐的食物都通过新系统来加以分析解决,不仅节省了大量的时间,还为企业的各项决策提供了宝贵的资料,为企业带来巨大的经济效益。

2.3操作可行性研究
本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。

而整个超市管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。

由此,该系统的操作是可行的,有必要开发该系统。

综合以上三方面,该系统具有很高的开发可行性,无论是从技术上或者经济上还是操作上。

第三章 需求分析
3.1功能需求
本系统采用自定向下方法开发,
为了适应社会的发展和超市管理的需要,可以在原有功能之上进行对系统功能的补充和调整,从而进一步完善其需要。

通过以上的需求分析,初步确定该系统功能主要包括以下几个模块: 1.系统登录:根据提供的用户名、初始密码进行登录验证,如果成功则进入系统,否则提示无法登录。

2.商品入库:根据商品编号的首字母来进行商品的分类,如果输入的商品在数据库中存在,则给出已有的信息,可以修改数量;如果输入的商品不存在,则需要输入全部信息。

3.商品出库:用于商品从仓库售出的处理模块。

通过调用该模块,用户将商品的出库信息添加到仓库信息中
4.商品查询:分类列出数据库里全部的商品信息。

5.商品更改、删除:当商品售出对数量进行修改,或对其他信息进行修改,商品删除,商品数量为0则进行删除。

3.2数据流图
1.超市仓库管理系统顶层数据流图如下:
图3.1 超市仓库管理系统顶层数据流
商品汇总报

订货报
出库单
入库单 商品检验
商品分析计划 超市仓库管理
系统
计划部门
仓库管理员
销售部门
送货员
2.超市仓库管理系统0层数据流图如下:
图3.2超市仓库管理系统顶层数据流3.入库信息管理1层数据流图如下:
图3.3 入库信息管理1层数据流
4.出库信息管理1层数据流图如下:
图3.4 出库信息管理1层数据流
3.3 数据字典
数据字典是关于数据的信息的集合,它的作用是在软件分析和设计过程中提供关于数据的描述信息。

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

数据字典定义数据的方法就是对数据自顶向下地分解,当分解到不需要进一步定义,每个和工程有关的人员都清楚其含义的元素时,这种分解过程就结束了。

本仓库管理系统根据划分的模块定义了如下数据字典:
名字:产生报表
别名:
描述:按顺序排列的订货信息的总表
定义:产生报表=货物编号+货物名称+订货数量+
目前价格+主要供应
者+次要供应者
位置:订货报表
订货信息
库存清单名字: 库存信息
别名:库存清单
描述:当前仓库所有的货物
的信息
定义:库存信息=货物编号
+货物名称+货物数
量+货物价格+供应
商+仓库号+日期
位置:订货报表
订货信息
产生报表
名字:入库信息表
别名:入库信息
描述:作为仓库管理日志和资料,是更新仓库货
物记录、保证库存货
物统一管理的依据
定义:入库信息表=货物编号+货物名称+货物数
量+货物价格+供应商
+仓库号+日期
位置:输出到打印机名字: 出库信息表
别名:出库信息
描述:作为仓库管理日志和资料,是更新仓库货
物记录、保证库存货
物统一管理的依据
定义:出库信息表=货物编号+货物名称+货物数
量+货物价格+供应商
+仓库号+日期
位置:输出到打印机
名字:订货报表
别名:订货信息
描述:每天一次送给采购员的需要定货的货物表定义:订货报表=货物编号+货物名称+订货数量+
目前价格+主要供应
者+次要供应者
位置:输出到打印机名字: 货物编号
别名:
描述:唯一标识库存清单中一个特定货物的关键

定义:货物编号=8{字符}8 位置:订货报表
订货信息
库存清单
事务
入库单
出库单
名字:订货数量
别名:
描述:某个货物一次定货的数量
定义:订货数量=1{数字}5 位置:订货报表
订货信息名字: 货物名称别名:
描述:货物的名字定义:
位置:订货报表
订货信息
库存清单
事务
入库单
出库单
名字:货物数量
别名:
描述:入/出库总的货物数量定义:货物数量=0{数字}7 位置:入库单
出库单名字: 当前价格
别名:
描述:特定货物的单价
定义:货物价格=1{数字}5 位置:订货报表
订货信息
库存清单
事务
名字:供应商
别名:
描述:提供货物的商家定义:供应商=8{字符}8 位置:订货报表
订货信息
库存清单
入库单
出库单名字: 仓库号
别名:
描述:唯一标识货物存放的地点
定义:仓库号=8{字符}8 位置:入库单
出库单
名字:有效单据
别名:
描述:目前有用的入库出库信息单据
定义:日期+入出库货物信息位置:入库单
出库单名字: 无效单据
别名:
描述:目前无用的入库出库信息单据
定义:日期+入出库货物信息位置:入库单
出库单
名字:价格
别名:
描述:货物入/出库货物的单价以及总价
定义:价格=1{数字}5
位置:入库单
出库单名字: 日期
别名:
描述:货物入/出库的更新日期
定义:日期=8{字符}
位置:入库单
出库单
名字:入库单
别名:
描述:每天入库货物的信息汇总
定义:入库单=货物编号+货物名称+货物数量+货
物价格+供应商+仓库
号+当前日期
位置:库存清单
入库单
出库单名字: 出库单
别名:
描述:每天出库货物信息的汇总
定义:出库信息表=货物编号+货物名称+货物数
量+货物价格+供应商
+仓库号+当前日期位置:库存清单
入库单
出库单
3.4 建立E-R 图
通常使用实体-联系图来建立数据模型,可以把实体-联系图简称为E-R 图,相应地可以把E-R 图描绘的数据模型称为E-R 模型。

E-R 图中包含了实体(即数据对象)、关系和属性等三种基本成分。

通常,用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆或圆角矩形表示实体或关系的属性,并用直线把实体(或关系)与其属性连接起来。

1.超市仓库管理系统数据库E-R 模型,如图3.5所示:
图3.5超市仓库管理系统数据库E-R 模型
2.预订单实体E-R 图如下:
图3.6预定单实体E-R
预订单
采购员
价格
商品号
预定单号
商品名
供应商
数量
3.入库单实体E-R图如下:
入库单
入库单编

商品号商品名
数量价格
入库时间
采购员
仓库管理

预定单号
图3.7入库单实体E-R
4.商品库存实体E-R图如下:
商品库存
商品号
商品名
商品最大
库存商品现有
库存
图3.8商品库存实体E-R 5.商品信息实体E-R图如下:
商品信息
商品号
商品名
商品数量
商品产地商品进价
保质期
生产日期
图3.9商品信息实体E-R
6.商品出库单实体E-R图如下:
出库时间
商品名
出库单
商品号
仓库管理

出库数量
图3.10商品出库单实体E-R
第四章概要设计
4.1系统设计
1.系统分成系统登录、商品入库、商品出库、商品查询、商品更改、删除等几个功能模块。

但这些模块都进行集中式管理。

2.分层的模块化程序设计思想,整个系统采用模块化结构设计。

作为应用程序有较强的可操作性和扩展性。

3.合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。

每个模块又包含多项子功能:
(1)登录模块:对登陆系统的用户进行身份验证,确定用户是否拥有使用该系统的资格,任何用户登陆系统都调用此模块。

(2)进行身份验证:根据提供的用户名、初始密码进行登录验证,如果成功则进入系统,否则提示无法登录。

(3)商品入库:用于新的商品添加到仓库的处理模块
(4)入库的商品信息:根据商品编号的首字母来进行商品的分类,如果输入的商品在数据库中存在,则给出已有的信息,可以修改数量;如果输入的商品不存在,则需要输入全部信息。

(5)商品查询:供系统使用人员对商品信息进行查询的模块。

(6)列出商品信息:分类列出数据库里全部的商品信息。

(7)商品修改:供系统使用人员对商品信息进行修改的模块。

(8)对商品进行修改:选择需修改的商品信息进行修改。

(9)商品出库:用于旧的商品从仓库中输出。

(10)出库的商品信息:根据商品编号的首字母来进行商品的分类,如果输入的商品在数据库中存在,则选择输出,可以修改数量;如果输入的商品不存在,则不需要输出。

(11)商品删除:用于商品数量的删除。

(12)商品数量的删除:商品数量是零。

4 系统功能模块设计
在系统功能分析的基础上,考虑到Visual c++程序编制的特点,得到如下图所示的系统功能模块图。

图4.1 系统功能模块
4.2系统状态转换图设计
状态图(也叫状态转换图)通过描绘系统状态及引起系统转换的事件来表示系统的行为。

此外,状态图还指明了作为特定事件的结果系统将做哪些动作。

因此,可以用状态图建立软件系统的行为模型。

在状态图中第一的状态主要有:初态、终态和中间状态,在一张状态图中只能有一个初态,而终态则可以有0个至多个。

在状态图中,初态用实心圆表示,终态用一对同心圆(内圆为实心圆)表示。

中间状态用圆角矩形表示,可以使用两条水平横线把它分成上、中、下3个部分,分别防止状态名、状态变量和活动表。

事件是在某个特定时刻发生的事情,它是对引起系统动作或(或)从一个状态转换到另一个状态的外界事件的抽象。

系统登录进行身份验证
商品删除
商品入库
商品出库商品查询商品修改存在就给出商品信息
列出商品信息
对商品进行修改
列出出库商品信息
商品数量是零则删除
超市仓库管理系统
状态图中两个状态之间带箭头的连线表示状态转换,箭头指明了转换的方向。

状态转换通常是由事件触发的,在这种情况下应该在表示状态转换的箭头上标出触发事件表达式。

1.超市仓库管理登陆转换图如下:
图4.2 超市仓库管理登陆转换图
登陆界面
验证帐户
输入密码
不合法帐户
验证权限
合法
帐户
查询、修改自身信息;修改其他用户权限;添加新用户;查询、修改、注销、添加客户信息;查询、修改、添加、删除产品信息;查询、修改、添加、删除出、入
库信息
查询、修改自身信息;查询客户信息;查询出、入库信息;查询产品
信息
管理权限
普通
权限
2.超市仓库管理入库、出库状态转换图如下:
图4.3 .超市仓库管理入库、出库状态转换
第五章详细设计
超市仓库管理系统它主要包括系统登录、商品入库、商品出库、商品查询、商品更改、删除等几个功能模块。

本次课程设计主要对系统登陆模块、商品入库模块进行详细设计。

5.1物理结构设计
数据库的物理结构设计是指为给顶的一个逻辑数据模型选择最适合应用环境的物理结构。

关系数据库的物理结构主要是指数据的存取方法和存储结构。

数据库的物理结构设计分为两个部分,首先是确定数据库的物理结构,其次是对所设计的物理结构进行评估。

1.确定数据库的物理结构
为确定数据库的物理结构,设计人员必须了解下面的几个问题。

(1)详细了解给定的DBMS的功能和特点,特别是该DBMS所提供的物理环境和功能;
(2)熟悉应用环境,了解所设计的应用系统中各部分的重要程度、处理频率、对响应时间的要求,并把它们作为物理结构设计过程中平衡时间和空间效率时的依据;
(3)了解外存设备的特性,如分块原则、块因子大小的规定、设备的I/O 特性等。

2.在对上述问题进行了全面的了解之后,就可以进行物理结构的设计了。

一般地,物理结构设计的内容包括如下几个方面。

(1)确定数据的存储结构。

在此过程中需考虑存取时间、空间效率和维护代价间的平衡,如在引入冗余数据以加快存取速度时应兼顾系统的空间效率。

(2)选择合适的存取路径,例如确定应该为哪些关系模式建立索引,索引关键字是什么等。

(3)确定数据的存放位置,例如确定数据存放在一个磁盘上还是多个磁盘上,什么数据该存放在高速存储器上,什么应该存放在低速存储器上等。

(4)确定存取分布,许多DBMS都提供了一些存储分配参数供设计者使用,例如缓冲区的大小和个数、块的长度、块因子的大小等,设计者必须规定其中的一些参数的位置。

数据库表的结构具体情况如下:
表5-1预定单表
字段名称数据类型说明
预定单号int(4) 主键,不能为空
商品号int(4) 不能为空
商品名char(50) 不能为空
数量int(4) 不能为空
价格money(8) 不能为空
供应商char(50) 可以为空
采购员Char(10) 不能为空
收货时间int(4) 不能为空
表5-2入库单表
字段名称数据类型说明
入库单编号int(4) 不能为空,主键
商品号int(4) 不能为空
商品名Char(50) 不能为空
数量int(4) 不能为空
价格money(8) 不能为空入库时间datetime(8) 不能为空
采购员char(10) 不能为空仓库管理人员char(10) 不能为空预定单号char(10) 不能为空
表5-3商品库存表
字段名称数据类型说明
商品号int(4) 不能为空,主键
商品名char(50) 不能为空商品最大库存int(4) 不能为空
商品现有库存int(4) 不能为空
表5-4出库单表
字段名称数据类型说明
出库数量int(4) 不能为空
商品号int(4) 不能为空,主键
商品名char(50) 不能为空
仓库管理员char(10) 不能为空
出库时间datetime(8) 不能为空
表5-6商品信息表
字段名称数据类型说明
商品号int(4) 不能为空,主键
商品名char(10) 不能为空
商品数量int(4) 不能为空
商品产地char(10) 不能为空
生产日期Datetime(8) 不能为空
保质期char(10) 不能为空
商品进价int(4) 不能为空备注Char(50) 可以为空
3.评估物理结构
由于在物理设计过程中需要考虑的因素很多,包括时间和空间效率、维护代价和用户的要求等,对这些因素进行权衡后,可能会产生多种物理设计方案。

这一阶段需对各种可能的设计方案进行评价,评价的重点是系统的时间和空间效率,并从多个方案中选出较优的物理结构。

5.2逻辑结构设计
数据库逻辑结构设计的任务是根据E-R模型和需求分析所产生的文档,并综合考虑所选择的具体DBMS的特点,设计出整个数据库的逻辑结构。

一般来说,选择哪一种DBMS存放数据,是由系统分析员和用户(一般是企业的高级管理人员)决定的。

需要考虑的因素包括DBMS产品的性能和价格,以及所设计的应用系统的功能复杂程度。

如果选择的是关系型DBMS产品,那么逻辑结构的设计就是指设计数据库中所包含的各个关系模式的结构,包括关系模式的名称、每一关系模式中各属性的名称、数据类型和取值范围等内容。

逻辑结构的设计过程是:首先,根据需求阶段的设计结果和具体的DBMS产品的特点,将全局E-R模型转换成一个初始的关系模型。

然后,对其中的每个关系模式进行分析,判断是否存在不合理的关系模式,如有则利用关系模式的规范化方法消除之。

将超市仓库管理系统的E-R图转换成关系模式为:
(1)预订单(预订单号,商品号,商品名,数量,价格,供应商,采购员,收货时间);
(2)入库单(入库单编号,商品号,商品名,数量,价格,入库时间,采购员,仓库
管理人员,预订单号);
(3)商品库存表(商品号,商品名,商品最大库存,商品现有库存);
(4)出库单(出库数量,商品号,商品名,仓库管理员,出库时间);
(5)商品信息(商品号,商品名,商品数量,商品产地,生产日期,保质期,商品进价,备注);
5.3 模块功能设计
本次课程设计主要对系统登陆模块、商品入库模块、商品出库模块进行详细设计。

1.登陆功能模块
⑴功能描述
对登陆系统的用户进行身份验证,确定用户是否拥有使用该系统的资格,任何用户登陆系统都调用此模块。

⑵主要算法
if 用户名 and 口令正确
以该用户身份进入系统总控制界面并获得响应系统权限
else
提示“用户名或口令错误”
累计错误三次,自动关闭本系统
end if
2.产品出库功能模块
⑴功能描述
产品出库功能模块是用于产品从仓库售出的处理模块。

通过调用该模块,用户将产品的出库信息添加到仓库信息中。

⑵调用方式
用户在主控制界面中选择相应选项打开产品出库界面,在界面中填写相应出库信息。

⑶主要算法
①产品名下拉列表:选择出库产品的名称。

②出库量输入框:用于输入售出的产品的数量。

(按产品类型确定单位)。

相关文档
最新文档