刘一辰的软件工程随笔


 

 

实验报告书

 

 

 
 

数码产品进销存管理系统

 

 

 

 

 

 

 

 

 

 

 

 


          信1905-2班          

           20193897          

            刘一辰           

 

 

 

 

完成日期    2021 12 09


实验任务书

题 目

数码产品进销存管理系统

学生姓名

刘一辰

学号

20193897

班级

信1905-2

专业

软件工程

1、设计要求

总体要求:功能实用、界面美观、操作方便、内容丰富。

2、设计内容

(1)档案管理

(2)进货管理

(3)销售管理

(4)库存管理

(5)金额管理

(6)查询统计

(7)系统参数设置

3、进度计划

第1周:           熟悉开发环境及工具

第2周——第4周: 系统分析、系统设计

第5周——第14周:系统开发(编程及调试)

第15周:           撰写实验报告书

第16周:           程序验收

 

 

                                                                                 


摘 要

系统主要包括档案管理、进货管理、销售管理、库存管理、金额管理、查询统计、系统参数设置等功能。档案管理用于维护员工和经销商的基本信息,用户可以通过系统的基础数据模块根据企业和业务需要设置系统的基本信息,方便在其他模块中使用。通过用户自行设置基础数据从而实现系统的根据不同用户的需求灵活定制的特点,也有助于系统在企业信息结构发生变化时能够及时响应。

软件主要服务数码产品销售企业从数码产品进货到销售的各个环节,是企业完善内部管理、理顺工作流程各个环节的强有力的管理工具。系统的设计采用大量的接口,方便以后的升级或者与其他系统的整合。系统的运行基础是企业内部局域网,采用基于WinForm的C/S结构,操作界面容易使用和掌握,基本上会Windows基本操作就能很快了解并且掌握系统的使用方法。

关键词: 数码产品;企业;进货;管理

目 录

第1章 绪 论····························································································· 1

1.1 课题背景、目的及意义·············································································· 1

1.1.1 数码产品企业综合管理系统进货管理子系统················································· 1

1.1.2 背景··································································································· 1

1.1.3 研究目的及意义···················································································· 1

1.2 国内外研究现状······················································································· 2

1.3 研究内容································································································ 2

第2章 相关技术介绍···················································································· 3

2.1 开发环境································································································ 3

2.1.1 硬件环境····························································································· 3

2.1.2 软件环境····························································································· 3

2.2 开发工具································································································ 3

2.2.1 Microsoft Visual Studio 2008······································································ 3

2.2.2 SQL Server 2005··················································································· 4

2.3 相关技术基础·························································································· 4

2.3.1 C/S结构······························································································ 4

2.3.2 WinForm技术························································································ 4

2.4 本章小结································································································ 4

第3章 系统需求与可行性分析········································································ 5

3.1 可行性分析····························································································· 5

3.1.1 技术可行性·························································································· 5

3.1.2 操作可行性·························································································· 5

3.1.3 社会可行性·························································································· 6

3.2 系统需求································································································ 6

3.3 本章小结································································································ 6

第4章 系统设计·························································································· 7

4.1 概要设计································································································ 7

4.2 详细设计································································································ 8

4.2.1进货管理详细设计·················································································· 8

4.2.2 库存管理详细设计················································································· 9

4.2.3 生产管理详细设计················································································· 9

4.2.4 库存管理详细设计················································································· 9

4.2.5 基础数据管理详细设计··········································································· 9

4.3 数据库设计····························································································· 9

4.4 界面设计······························································································ 14

4.4.1 界面设计采用WinForm··········································································· 14

4.4.2 主页面设计························································································ 15

4.4.3 选项卡设计························································································ 15

4.4.4 数据表格设计····················································································· 15

4.5 本章小结······························································································ 16

第5章 系统技术方案··················································································· 17

5.1 注册CELL组件······················································································· 17

5.2 业务流程管理························································································ 17

5.3 重要数据加密························································································ 18

5.4 初始化功能列表····················································································· 19

5.5 本章小结······························································································ 19

第6章 系统实现························································································ 20

6.1 基础数据模块实现··················································································· 20

6.2 进货管理管理模块实现············································································· 21

6.3 库存管理模块实现··················································································· 24

6.4 生产管理模块实现··················································································· 26

6.5 库存管理模块实现··················································································· 27

6.6 本章小结······························································································ 27

第7章 系统测试························································································ 28

7.1 系统测试的目的····················································································· 28

7.2 功能测试······························································································ 28

7.3 本章小结······························································································ 30

第8章 结论与展望······················································································ 31

8.1 结论···································································································· 31

8.2 展望···································································································· 31

第1章 绪 论

1.1 课题背景、目的及意义

1.1.1数码产品进销存管理系统进货管理子系统

数码产品企业围绕进货存储销售的管理往往是很繁琐的[1]。各个企业之间的管理体制不同,进货,生产,库存,销售流程有差异,所以必须根据企业的具体情况制定系统的方案以便提高工作效率。

1.1.2 背景

从整个世界的数码产品行业发展来看,数码产品加工企业的规模越来越大,大型企业将成为市场的主角。

1.1.3 研究目的及意义

本系统是对数码产品企业资源如物品流、资金流、业务流等相关信息的综合管理软件系统。软件应用程序的开发目标是横跨企业的多个部门并协调各个部门进行业务处理。系统需求分析要求软件能够实现企业信息和业务数据的综合维护,建立一套完善的信息共享与决策分析机制。

该系统旨在为企业管理提供丰富的信息资源管理[5]。能否充分利用信息进行企业管理,帮助用户制定出实施有效的决策,是一个衡量的ERP应用成功的标志。该系统投入实际运行后,数码产品企业应根据管理需要将系统的初期设计制定好,并灵活地完成系统的初始化信息维护。

本着尽可能完成系统需求阶段制定的各项功能的原则,力求物品在适当的时间到达适当的地点,生产领料设计的比较灵活,用户的操作空间大。业务流的处理也是在标准的业务管理方案上进行准确的及时的设计,让数码产品企业在管理上面不失规范和高效,并预留出大量接口方便升级或者对接。

1.2 国内外研究现状

数码产品企业是特殊的生产制造类企业,从进货、库存、到生产、品控,然后销售、财务,再到成本及毛利润,企业信息和各项数据复杂繁多。

目前的数码产品行业管理软件市场中,虽然国际和国内品牌的各种产品比较多,但是软件厂家实力,软件功能、产品针对性不强。好多的系统上线后有得不到保障、升级困难等现象。

1.3 研究内容

(1) 信息管理模块,包括生产计划提交、生产执行、生产入库。

(2) 进货管理模块,包括进货商品管理、供应商管理、进货开单、进货批准、进货退货开单、原料库存状态、进货执行、进货退货批准、进货退货执行。

(3) 库存管理模块,包括领料管理、退料管理、原料进货入库、产品生产入库、产品销售出库、产品退货入库、移库管理、原料库存、产品库存、仓库状态、原料退货出库。

(4) 库存管理,用于维护库存的基本信息。

(5) 基础数据,包括角色管理、部门管理、职务管理、规格管理、单位管理。

第2章 相关技术介绍

2.1 开发环境

2.1.1 硬件环境

本管理系统使用PC机进行开发,其硬件配置如下:

(1) 中央处理器:Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz 2.10GHz;

(2) 内存:4.0GB;

(3) 主硬盘:ST500LT012-9WS14 SCSI DiskDevice(500G);

(4) 显卡:Intel(R) HD Graphics。

2.1.2 软件环境

在硬件开发环境之上搭建的软件开发环境包括以下部分:

(1) 操作系统:32位Windows7;

(2) 开发工具:Microsoft Visual Studio 2008、Microsoft SQL Server 2005;

(3) 二次开发工具:CELL组件、PowerTouch。

2.2 开发工具

2.2.1 Microsoft Visual Studio 2008

(1) Microsoft Visual Studio 2008简介:

本系统使用的开发环境是微软的 Visual Studio 2008,Microsoft Visual Studio 是Windows Vista、Web 2.0方向的开发工具,能够设计、开发基于Microsoft windows 的工程项目。解决方案是用来管理各个项目的,对于WinForm而言,每个项目都对应着一个命名空间,管理各种类的就是项目。一个解决方案可以包括多个项目。

(2) Microsoft Visual Studio 2008的特点:

① NET Framework对重定向的支持,使用Microsoft Visual Studio 2008可以使用多个.net 框架版本的C#规范或者类库进行项目开发[7]

② LINQ作为一种访问数据的程序模型,使得.NET平台可以直接进行处理数据。借助LINQ可以将数据封装成对象,方便与编程模型集成。

2.2.2 SQL Server 2005

(1) Microsoft SQL Server 2005简介:

SQL Server是一个微软推出的关系型数据库。SQL Server 2005功能强大,同时简化建立企业数据系统,方便用户部署和处理企业数据以及分析应用。 (2) SQL Server 2005的特点及功能:

① .NET框架主机:

通过SQL Server 2005,程序开发者可以使用多种语言,比如微软的VisualC#.net和微软的Visual Basic。

② XML技术:

在使用互联网或者本地局域网的情况下,在不同的应用程序中传递数据的时候,使用可扩展标记语言(XML)是一个重要的解决方案。SQL Server 2005将使用自己支持的存储和查询方式引进可扩展标记语言(XML)文件。

2.3 相关技术基础

2.3.1 C/S结构

C/S 结构,即Client和Server结构。C/S结构减少了系统之间的通讯。Client/Server形式的结构被经常使用着,尽管现在主流采用B/S结构[8]。内部的和外部的用户可以访问新的和现有的软件系统,通过现有的系统中的逻辑迁移到新的应用系统[9]。然而,C/S结构相比较更安全。

2.3.2 WinForm技术

WinForm是使用.NET开发平台中的Windows 窗体[10]。新的数据连接方式如ODBC。Windows窗体是基于微软公共语言运行库的。开发起来较其他平台方便快捷许多。

2.4 本章小结

本章主要介绍了本系统的开发环境与开发过程中使用的工具,设计之初决定创建窗体应用,所以采用了..NET平台的WinForm技术,这样开发效率比较高而且开发比较方便简单。

第3章 系统需求与可行性分析

3.1 可行性分析

可行性分析(Feasibility Analysis)是在系统开启之前系统分析的基础上,针对新系统的开发的难度是否合理以及开发系统的必要性,从经济条件,技术难度,社会发展对系统进行的研究。可行性分析可以帮助分析人员提高新系统的认识,这在一定程度上保证了新工程朝着正确反向发展。一旦发现问题并且暂时没有可行的解决方案,项目将被搁置。

3.1.1 技术可行性

(1) 硬件环境:

本系统采用Microsoft Visual Studio 2008和SQL Server 2005进行开发,内存要求最低为384M,5400 RPM 硬盘 。而开发机内存4G、500G硬盘满足了这点要求。SQL Server 2005其处理器要求最低为Pentium III 兼容处理器,内存要求最低为512M,硬盘空间至少需要500MB的程序空间和1GB的数据空间,开发机Intel i3处理器满足了这点要求。

(2) 系统软件:

采用的32位的Windows 7操作系统都是可以满足以上开发要求的。

(3) 开发工具:

Microsoft Visual Studio允许开发人员使用不同的编程语言,作者选用C#完全可行。SQL Server在本系统中用于对基础信息的存储。

最后,开发者对编译原理知识的储备,以及对于开发工具Microsoft Visual Studio和SQL Server 2005的熟悉,都使得程序的开发在技术上是完全可行的。

3.1.2 操作可行性

由系统分析可知系统用户多为企业部门领导,能够熟练使用计算机,能够使用本系统。程序界面充分考虑了用户的操作习惯,操作简单。同时程序的操作选项都有相应的提示。所以从整体来讲,该系统应具有易用性、灵活性和可视性。熟悉Windows操作系统的人都能很快地掌握该系统的使用。

3.1.3 社会可行性

整套系统面向企业流程管理,采用面向对象设计,具有良好的扩展性。系统主要包括基础数据、生产管理、进货管理、库存管理、库存管理等功能。本套系统可以帮助中小型数码产品企业提高生产效率。

3.2 系统需求

该系统设计的主要目的是帮助数码产品企业充分将此套软件应用在日常企业管理中,提高企业生产效率,减少人为数据,提升企业的生产,系统具有以下几点需求:

(1) 首先与各个厂商进行联系,然后记录这些厂商的信息,接着跟厂商确定要购买的货物,然后再进行进货开单。进货部门根据制定并通过的进货单进行进货。

(2) 进货的原料以及生产部门的产品品需要入库,生产领料和销售产品时需要进行出库。还有基本的库存查询、设置等操作。

(3) 生产过程需要先下发生产计划单,生产实施时要选择库存,系统根据库存计算原料种类与数目。生产完成后进行入库操作。

(4) 基础数据用来维护日常所需要的信息,如角色、职务、部门。

3.3 本章小结

本章主要描述了本套系统的需求可实现的可行性,描述了系统的实现可能性与相关工具。讲述了系统所要涵盖的主要功能,以及用户使用本套系统可以获得的便利和系统设计的主要目的以及应用环境。

第4章 系统设计

4.1 概要设计

一个系统的功能框架和人机交互的感官框架的形成,其目的主要反映在人机交互的界面。系统界面的功能分组、页面布局和整体样式格局,这是用户习惯和系统设计之间的纽带。系统研究和用户的目标和需求的无缝集成的设计是转化为具体的界面设计的一个重要阶段。

 概要设计的主要目的是根据需求分析将系统的整体功能体系架构和各个模块的联系进行规划。设计出软件的整体结构有助于系统的框架功能的开发并在前期给客户展示一些系统涵盖的功能范围。数据结构的设计包括数据的分享,设计出数据结构,数据库的生成与优化。

数码产品企业综合管理系统进货管理子系统包含如下几大模块:进货、库存、生产、库存的管理、基础数据维护。各个模块相互协作共同完成企业的业务流程。系统框架如图4-1所示。

 

 

图4-1系统框架图

各个模块功能介绍:

(1) 进货模块主要是允许不同的用户协调完成进货开单、进货批准、进货执行等操作。以及商品退货、商品信息和供应商信息维护。

(2) 库存模块主要是协调进货、生产环节完成物品的数量的维护和库存信息的设置与维护。

(3) 生产模块主要是由用户启动生产流程并根据库存信息获取相应的原料投入生产,核算成本。

(4) 库存模块主要是设置库存信息。

(5) 基础数据模块用来维护部门、角色、职务等信息。

4.2 详细设计

详细设计主要是对算法和数据结构和特定的计算机语言实现各模块的实现初步描述。定义各个模块直接通信的接口,与数据库连接的统一接口和实现,为正式开发制定规范。

更改详细设计方案,不能对概要设计方案造成影响;详细设计阶段要出几篇文档,包括详细设计文档和模块设计方案。每个模块的详细设计文档都应该形成规范并以文档的形式公布。

详细设计的任务包括:

(1) 确定每个模块的算法的使用,一个合适的工具来表达算法的过程中选择,掌握每个算法的优缺点;

(2) 为模块内的数据结构进行设计。将需求分析、概要设计阶段确定的概念性的数据类型进行确切的定义;

(3)这个阶段我们将设计出系统开发中使用的大量的接口,接口的规范有助于开发人员程序书写的条理性和一致性的约束。采用接口还有助于我们本套系统与其他遗留系统的整合与集成。对于后期的维护和功能修改,采用统一的接口的方式将会使后期的开发方便快捷。

4.2.1进货管理详细设计

进货部门内勤根据库存量或者上级通知开进货单,上级领导对进货单进行查阅并批准,进货单返回给内勤,如果进货单批准通过,内勤将执行进货,然后进货单流向下一个模块(库存管理)。进货管理同时也维护着原料、供应商信息,也支持进货退货功能。

4.2.2 库存管理详细设计

进货环节的进货入库、退货出库、生产环节的领料、退料以及销售环节的相应操作都由库存管理模块负责。根据相应的单据,库管人员实施出库入库操作并将信息记录下来。仓库信息状态给用户提供直观的库存数量等信息,物品的库存数量一方面由业务流程自动进行更新维护,另一方面也支持操作人员手动进行修改,但每一次手动操作都会被记录下来。

4.2.3 生产管理详细设计

生产环节包括上级填写生产计划,生产部门根据生产计划单选择合适的库存,系统根据库存按照比例自动生成相应的领取原料的数量等信息,在领料结束后,生产部门进行生产,并提交实际的生产数量。根据原料的批次价格,系统计算出总成本以及产品的实际单成本。生产完成后,生产部门提交入库申请,库管部门进行入库操作并完成相应的入库信息。

4.2.4 库存管理详细设计

       库存管理主要涉及到库存编码、库存名称、相应原料数量、总计等信息的增加、删除、修改等操作。

4.2.5 基础数据管理详细设计

       角色管理用于维护企业的各种角色如管理员、总经理、业务员等,每种角色都包含一些实际操作软件的功能。部门管理用于维护企业部门信息,如生产科、销售科、库房、办公室等。职务管理用于维护企业的职位分类。还有规格、单位、仓库的基本信息的维护。

4.3 数据库设计

员工表记录员工信息数据。

表2-1 员工表(EmpIoy)

字段名

中文含义

数据类型

允许空

约束条件

EmpId

员工编号

nvarchar(64)

N

主键

EmpName

员工姓名

nvarchar(64)

N

EmpLoginName

登录名

nvarchar(64)

N

EmpLoginPwd

登陆密码

nvarchar(64)

N

EmpSex

性别

nvarchar(64)

N

EmpBirthday

EmpPhone

生日

员工电话号码

datetime nvarchar(64)

N

N

商品表记录商品的基本信息,包括商品名,价格,单位。如表2-2所示。

表2-2 商品表(goods)

字段名

中文含义

数据类型

允许空

约束条件

GoodsID

EmpId

JhCompName

DepotName

GoodsName

GoodsNum

GoodsJhPrice

GooTime

商品编号

进货员工编号

供应商名称

仓库名称

商品名

商品数量

商品价格

进货时间

nvarchar(64)

nvarchar(64)

nvarchar(64)

nvarchar(64)

nvarchar(64)

int

nvarchar(64)

datetime

N

N

N

N

N

N

N

N

主键

供应商表用于记录供应商的基本信息,包括供应商名,代表人,地址,电话。如表2-3所示。

表2-3 供应商表(company)

字段名

中文含义

数据类型

允许空

约束条件

CompanyID CompanyName

CompanyDirector

CompanyPhone

CompanyAddress

供应商编号

供应商名称

供应商经理

供应商电话

供应商地址

nvarchar(64)

nvarchar(64)

nvarchar(64)

nvarchar(64)

nvarchar(256)

N

N

N

N

N

主键

进货表用于记录商品进货的到货信息,包括时间戳,商品名。购买数量,花销,是否到货。如表2-4所示。

 

 

表2-4库存表(Kcgoods)

字段名

中文含义

数据类型

允许空

约束条件

KcID

 KcGoodsName

KcNum

 KcDeptName

时间戳

商品名

库存数量

仓库名称

nvarchar(64)

nvarchar(64)

nvarchar(64)

nvarchar(64)

N

N

N

N

主键/外键

外键

 

采购表用于记录售货信息,包括时间戳,商品名,购买数量和收入。如表2-5所示。

表2-5 售货表(SellGoods)

字段名

中文含义

数据类型

允许空

约束条件

SellID

KcID

GoodsId

EmpId

GoodsName

SellGoodsNum

SellGoodsTime

SellPrice

订单编号

库存编号

商品编号

员工编号

商品名称

销售数量

销售时间

售出价格

nvarchar(64)

nvarchar(64)

nvarchar(64)

nvarchar(64)

nvarchar(64)

int

nvarchar(64)

double

N

N

N

N

N

N

N

N

主键

外键

外键

外键

 

4.4 界面设计

4.4.1 界面设计采用WinForm

WinForm自身包含了大量的窗体控件,当然,设计者也可以通过给定的接口来设计自己的窗体控件。本着简洁方便的原则,通过使用微软提供的窗体控件使得程序风格统一并且与用户日常接触的习惯一致。通过为按钮等控件赋予一些声音和颜色特性,给用户更好的反馈效果。

4.4.2 主页面设计

系统主页面分为三个部分,最上面是菜单栏(MenuStrip),菜单栏有档案管理、进货管理、销售管理、库存管理、金额管理、查询统计、系统参数设置、退出等菜单选项。

 

 

图4-1系统主页面图

4.4.3 子菜单设计

上方菜单可以展开为子菜单,有许多细分的子功能。

图4-2 子菜单功能

4.4.4 数据表格设计

系统为数据表格设计了统一的表现形式。数据表格提供按条件查询的功能,用户可以根据条件查询所需数据。用户可以自定义页面显示数据的数量、刷新数据表格。用户可以选中整条数据进行相应的业务处理,比如批准某条记录。数据表格同时提供拖拽功能,用户可以根据自己的需要或者爱好调整各数据列的显示大小,同时系统提供打印的功能,可以将当前表格数据打印出来。当数据过多时,自动生成滚动条。提供的下拉框和查询功能能够让用户快速定位到需要的数据。数据表格支持立刻刷新,当用户完成操作时,数据表格也马上进行更新,这样就保证用户能够及时方便地看到操作后的结果。数据表格如图4-3所示。

图4-3 数据表格图

4.5 本章小结

本章描述了系统的整体功能设计,每个模块流程的详细设计,还有数据库设计。展示了几个主要界面的设计效果,还有为了方便用户或者提升用户体验而设计的一些解决方案与一些主流的设计。

第5章 系统技术方案

5.1 注册CELL组件

由于CELL是一款收费软件,所以需要对CELL进行注册,而且每一个CELL对象创建后都要进行注册。正版Cell组件用户会有一份产品表示,上面有组件的ID,使用者自行设置自己的用户名,通过设定服务器的域名或者地址,用友华表公司将根据这三个信息生成关联的产品密码。

注册函数:

Login(username As String, productid As String, password As String) As Long

5.2 业务流程管理

基于公司的管理制度,业务流程一般分为提交、批准、执行、库存四个环节。

比如进货管理,由进货部门内勤先开进货单,然后上级领导进行批准,如果批准通过则内勤根据进货单进行购买,购买完成后交给库管进行入库,并填写真正的入库数量。

生产流程,由上级领导下发生产计划,生产部门通过配库存获取原料种类与数量,然后领料、生产执行、生产入库。企业的业务流程的严格执行有助于企业运营的规范与流畅。用例图如图5-1所示。

 

图5-1 进货流程图

5.3 重要数据加密

为了方便软件分发并使软件更具有可读性,连接数据库等信息使用ini文件进行配置。其中用户名和密码进行了MD5加密。加密算法如下:

       // MD5 加密

        public static string MD5(string strText)

        {

            string strResult = "";

// 加密密钥

            char[] keys = { '3', 'e', 'd', 'c', '1', 'q', 'a', 'z', '7', 'u', 'j', 'm','5', 't', 'g', 'z' };

                      // 获取字符串 

            byte[] source = Encoding.UTF8.GetBytes(strText);

            MD5CryptoServiceProvider MD5CSP = newMD5CryptoServiceProvider();

                      // MD5的计算结果是一个128位的长整数,用字节表示就是16个字节

            byte[] tmp = MD5CSP.ComputeHash(source);

// 每个字节用16进制表示所以表示成16进制需要32个字符   

            char[] str = new char[16 * 2];

// 表示转换结果中对应的字符位置                     

            int k = 0;

                       // 循环                                     

            for (int i = 0; i < 16; i++)

            {

                  // 取第i个字节

                byte byte0 = tmp[i];    

// 取字节中高4位的数字转换,>>> 为补零右移(即无符号)                str[k++] = keys[byte0 >> 4 & 0xf];

  // 取字节中低4位的数字转换    

                str[k++] = keys[byte0 & 0xf];         

            }

// 换后的结果转换为字符串

            strResult = new String(str);               

            return strResult;

         }

5.4 初始化功能列表

系统通过用户表、角色表、功能表3张表实现了权限管理。其中用户表中有角色字段,一个用户可以有多个角色,角色表中有功能字段,一个角色可以包含多个功能。3张表连接起来可以得到用户的功能列表。

用户登录系统后,根据用户的角色信息,查询数据库得到用户拥有的功能项,然后利用用户拥有的功能实例化系统左侧的功能列表。

5.5 本章小结

本章主要描述了本套系统的实现方案,包括使用的第三发工具,系统开发中使用到的一些算法,系统的主要工作流程分析。对于权限管理也进行了详细的介绍和方案可行性分析。

第6章 系统实现

6.1 基础数据模块实现

拥有权限的用户可以对系统的角色、部门、职务、规格、单位、仓库等信息进行管理。用户根据公司的管理结构设定职务与部门,基于业务流程与物品信息维护物品规格与单位。通过设定角色并将角色赋予用户,从而实现权限管理。

用户可以通过勾选右侧的复选框为该角色赋予相应的功能。管理角色信息页面如图6-1所示。

 

图6-1角色管理图

企业的职务反应了一个公司的组织机构和管理方式,设置职务使系统更具有适应性和灵活性,用户根据实际情况维护自己企业的职务类型,职务管理如图6-2所示。

 

图6-2职务管理图

6.2 进货管理管理模块实现

进货管理首先包括最基本的信息维护。进货商品拥有编码、名称、规格、单位属性,为了库存管理,商品还具有库存上限与库存下限。用户可以查询、添加、删除和修改商品信息。商品管理如图6-3所示。

 

图6-3商品管理图

供应商拥有编码、名称、邮编、联系人等属性。用户可以查询、添加、删除和修改供应商信息。供应商管理如图6-4所示。

 

图6-4供应商管理图

选中某一行数据,然后点击修改按钮即可弹出修改供应商信息的对话框。修改供应商信息如图6-5所示。

 

图6-5修改供应商图

 

进货部门进货前需要先开进货单。进货编码由系统自动生成,编码方式根据时间生成,如果同一天开多个进货单,则进货编码字串的最后一个标识依次增长。录入时间由用户通过时间控件选择录入。选择供应商的时候点击右侧的查询按钮,系统会弹出对话框,该对话框列出所有供应商的信息。进货开单如图6-6所示。

 

图6-6进货开单图

其中进货编码由系统自动生成,供应商和原料都是通过点击查询按钮进行选择。让用户通过选择供应商可以方便用户进行录入数据同时可以保证用户录入数据的有效性,进货物品的录入同样也提供一个查询按钮,点击后弹出物品的列表对话框。供应商列表如图6-7所示。

 

图6-7供应商列表图

进货单开完之后需要上级领导批准进货单。只有进货单被批准以后才能进行后续操作。选中某一行记录,然后点击批准按钮,系统会弹出一个确认批准的对话框,点击确定,批准完成,被批准的记录会从此页面消失,通过下拉框选择已批准选项,可以查看所有被批准了的进货记录。批准后的进货单可以被执行,否则需要重新开单。进货批准如图6-8所示。

图6-8进货批准图

进货批准通过的记录会出现在执行窗口,内勤人员在进货完成后可以选中相应的记录进行操作。进货执行完成意味着进货部门的工作完成,接下来物品交给库存管理人员进行入库。进货执行如图6-9所示。

 

图6-9进货执行图

进货退货的流程跟上述进货环节类似。进货退货也是先要开进货退货单,在开进货退货单时,系统会自动生成进货退货编码,然后通过点击查询按钮选择相应的进货编码,之后系统会根据原进货自动填充一些进货信息,用户填写退货数量并注明退货原因。

6.3 库存管理模块实现

库存管理模块主要是协助进货、生产、销售等模块进行业务最终的入库操作。并负责各物品库存信息维护和仓库状态查询。库存管理模块交由库存管理人员进行使用,因为库存管理在业务流程中比较重要,而且通常是整个业务流的终点,所以库存管理模块经常需要与其他模块合作。进货入库如图6-10所示。

图6-10进货入库图

原料库存的设置需要记录设置人员。原料库存设置如图6-11所示。

 

图6-11原料库存设置图

选中某一条记录然后点击修改按钮,系统弹出修改界面,因为库存数据比较重要而且一般情况下由系统自行维护,比如进货入库完成的时候系统会将对应原料的库存数量增加入库的数量,出库时则减少库存数量,所以每次人为更改都会有记录。原料库存的修改界面如图6-12所示。

 

图6-12原料库存设置图

生产领料需要根据进货单进行领料,并且根据不同批次的原料价格核算出生产成本。领料和退料是相反的两个过程,生产领料完成并且确定退料的数量之后就可以计算出成本。领料管理如图6-13所示。

 

图6-13领料图

 

图6-15库存列表图

6.5 库存管理模块实现

主要用于维护库存的数据信息,包括库存编码、名称、相应的原料的数量和总计,

 

 

图6-16库存管理图

6.6 本章小结

本章主要通过截图的方式展现了系统的主要功能架构,通过演示一个流程的步骤给用户简单讲解了系统的使用方法和效果。针对有特色的几个功能模块都进行了截图描述。

第7章 系统测试

7.1 系统测试的目的

软件测试是其生命周期的一部分,用来保证软件质量。一般来说,软件测试通常是在系统上线之前,通过进一步分析系统的需求,把系统的设计方案和实现进行最终测试和审查。测试的软件工程术语提出了在软件的解释:通过手动或着软件来运行一个软件系统,其目的是测试它是否在制定的需求范围内开发的或检验实际结果与目标的区别。

在G.J.Myers经典的《软件测试技术》,给出了测试的定义:测试程序和进程是一个程序错误发现的执行。测试的目的是在程序中发现的错误,测试初衷是要证明程序是错误的。在软件开发过程中测试是一个具有破坏性的系统开发阶段,最后审查的设计和编码在软件质量的保证中显得格外重要和必不可少。为了确保软件的质量,应该在软件的开发过程中,按照软件工程的结果形成的各个阶段,分别进行严格的阶段测试和模块测试。

7.2 功能测试

进货管理是系统的主要功能,其他业务流程基本类似于进货流程。进货流程主要是各个部门协调合作的结构,主要是进货开单、进货批准、进货执行、进货入库四个流程。进货流程如图7-1所示。

     
   
 
   

 

 

 

 

 

 

 

 

图7-1进货流程图

系统自动生成进货编码,然后用户通过查询按钮选择相应的供应商与原料,系统填充原料的一些基本信息,然后由用户录入进货数量与单价,并且系统提供了计算总金额的功能。进货开单如图7-2所示。

 

图7-2进货开单图

点击确定按钮后,进货开单完成,系统在数据显示区会立刻更新记录,最近一条进货记录显示出来。进货开单结果如图7-3所示。

图7-3进货开单结果图

进货开单提交后,上级领导在登录系统后会看到待批准的进货单,选择某一条记录后点击批准,然后确认批准,则该记录被批准。被批准的进货单会从当前页消失,通过选择下拉框的属性,可以在批准的记录中查看到。如果不批准,则记录会出现在不批准的选择界面里。用户可以选择某一条记录后点击备注按钮,用户可以再弹出的对话框中填写备注信息。进货批准如图7-4所示。

图7-4进货批准图

被批准的进货单会返回进货部门并显示在待执行的界面里。选择某一条记录并点击执行,输入相应的数量,进货执行完成。进货执行的时候可以查看上级领导审批时候添加的备注,通过备注信息,进货执行人员能够有效、及时地按照上级领导的意思进行进货,进货执行的时候也可以添加备注信息,这样一来库存管理人员也能够了解这批物品入库时应该注意的事项。进货执行如图7-5所示。

图7-5进货批准图

进货执行完成后,商品会交给库管人员,库管人员清点好数量执行填写入库的有关信息如时间、数量、仓库、入库备注。进货入库如图7-6所示。

 

图7-6进货入库图

入库完成后,可以进入进货入库界面查看结果。入库成功,系统将自动维护对应的原料的库存数量信息。进货入库结果如图7-7所示。

图7-7进货入库结果图

7.3 本章小结

本章主要描述了本套系统的测试方案,通过功能测试,我们对系统的稳定性和功能有了深入的理解和漏洞发现,这是最直观有效的测试。通过测试有助于系统的进一步开发和发现问题。

 

第8章 结论与展望

8.1 结论

本系统服务的对象是中小型数码产品企业,主要包含的模块有基础数据、生产管理、进货管理、库存管理和库存管理。进货、生产两大流程贯穿各个模块,并且经过缜密的设计后符合企业的实际业务流程。在系统的过程中我学到了并使用到了很多技术,包括WinForm、SQLServer、CELL组件、PowerTouch,最重要的是学习能力得到了很大提高。

从系统功能来讲,基于WinForm的数码产品企业综合管理系统进货管理子系统的功能达到了预期的效果,程序界面设计的水平也得到了很大提高。

8.2 展望

虽然目前数码产品企业综合管理系统进货管理子系统已经能正常使用,但是因为个人的能力以及开发周期等原因仍然存在许多不完善的地方,系统有待于进一步改正。目前正朝着几个方向努力。

(1) 进一步方便查看,比如,在查看记录时,可以采用一个输入框供用户填写起止日期来查看在期望期间的记录。

(2) 进一步接口化,争取使系统内部融合的很好,并争取与历史遗留或者其他开发者的系统兼容。各个模块要设计出合理的接口以便以后扩展。

(3) 软件的各项显示可以实现定制化,比如,进货记录中的各项信息比较多,业务人员可以根据自己的需要和喜好选择自己想要看到的信息项。

(4) 引入智能化的思想,系统能根据库存的数量与上下限提示用户该进行相应的操作。

 

 

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
Bing Webmaster Portal Back