资源描述
漆包行业的SCM管理软件的设计与实现
目 录
摘 要 I
ABSTRACT II
目 录 III
1 绪论 1
1.1 课题背景 1
1.2 本课题研究目的及意义 1
2 可行性分析 3
2.1 可行性研究的前提 3
2.1.1 功能分配 3
2.1.2 条件、假定和限制 4
2.2 相关技术及理论 5
2.3 社会因素可行性分析 5
2.3.1 法律因素 5
2.3.2 用户使用可行性 5
2.4 总结 5
3.1 功能需求 7
3.1.1 功能划分 7
3.1.2 功能总览 7
3.1.2 功能分块 9
3.2 非功能需求 10
3.2.1 易用性 10
3.2.2 实用性 10
3.2.3 多功能 10
3.2.4 友好的交互界面 10
3.3 数据字典 11
4 系统总体设计 16
4.1 处理流程 16
4.2 功能描述 17
4.3 功能演示 18
4.4 原型界面设计 21
5 软件测试 22
5.1 测试目的 22
5.2 测试环境 22
5.3 测试方法 22
5.4 测试用例 23
6 结论 25
致 谢 25
参考文献 26
1 绪论
1.1 课题背景
电子变压器是电子设备、通信设备和家电器具必不可少的器件之一,在信息化时代的今天,更得到迅速的发展。对于各种电子变压材料的需求也在迅速扩大,漆包线的需求也是空前的巨大。
我国加入WTO以后,随着世界制造中心的转移和中国成为世界制造中心的形成,世界加工基地地位的确立,我国漆包线更是处于高速发展状态,到2004年突破60万吨大关,进入世界漆包线生产和销售大国第一位。这个时期全球漆包线需求量从1990年的160万吨发展到2000年210万吨。中国漆包线产量从1990年仅占全球总产量的6.25%到2000年提高到15.37%,2005年提高到接近30%。根据现阶段的发展势头,预测到2015年将提高到50%左右,那时中国的漆包线产量将占全球产量相当大的比例。
随着中国“十一五”时期经济进一步发展,自主创新的发展模式进一步深入人心,坚持“自主创新,重点跨越,支撑发展,引领未来”的产业鼓励政策,在培养和形成一批拥用自主知识产权和知名品牌,国际竞争力较强优势企业目标的指引。中国漆包线行业应注重市场研究,提高产品和技术的开发研究能力,逐步形成和增强核心技术。
伴随着信息技术日新月异,并且在企业管理中得到越来越广泛和深入的应用同时。供应链(SCM)管理在成为国际企业管理的重要内容的同时,SCM管理软件在漆包行业中也显得愈为重要,它是基于企业内部范围的管理。它将企业内部经营所有的业务单元如订单、采购、库存、计划、生产、质量、运输、市场、销售、服务等以及相应的财务活动、人事管理均纳入一条供应链内进行统筹管理,提高了大型企业的工作效益,特别面对在规模较大的漆包线企业中,在面对大量数据的收集和汇总常常会使记录人员陷入“焦油坑”,然而手工录入整理也不免存在误差甚至错误,因此引入信息技术来管理和分析这些数据势在必行。依靠信息技术中的数据库管理技术,可以有效提高数据的录入,物料的管理和查询效率。
1.2 本课题研究目的及意义
(1)SCM介绍
SCM(Supply Chain Management)就是对企业供应链的管理,是对供应、需求、原材料采购、市场、生产、库存、定单、分销发货等的管理,包括了从生产到发货、从供应商到顾客的每一个环节。
供应链管理(Supply chain management,SCM)是一种集成的管理思想和方法,它执行供应链中从供应商到最终用户的物流的计划和控制等职能。从单一的企业角度来看,是指企业通过改善上、下游供应链关系,整合和优化供应链中的信息流、物流、资金流,以获得企业的竞争优势。
供应链管理(SCM)应用是在企业资源规划(ERP)的基础上发展起来的,它把公司的制造过程、库存系统和供应商产生的数据合并在一起,从一个统一的视角展示产品建造过程的各种影响因素。供应链是企业赖以生存的商业循环系统,统计数据表明,企业供应链可以耗费企业高达25%的运营成本。
图1-1 SCM
尽管在实际的物流管理中,只有通过供应链的有机整合,企业才能显著地降低成本和提高服务水平,但是在实践中供应链的整合是非常困难的,这是因为:
供应链中的不同成员存在着不同的、相互冲突的目标。比如,供应商一般希望制造商进行稳定数量的大量采购,而交货期可以灵活变动;与供应商愿望相反,尽管大多数制造商愿意实施长期生产运转,但它们必须顾及顾客的需求及其变化并作出积极响应,这就要求制造商灵活地选择采购策略。因此,供应商的目标与制造商追求灵活性的目标之间就不可避免地存在矛盾。
· 供应链是一个动态的系统,随时间而不断地变化。事实上,不仅顾客需求和供应商能力随时间而变化,而且供应链成员之间的关系也会随时间而变化。比如,随着顾客购买力的提高,供应商和制造商均面临着更大的压力来生产更多品种更具个性化的高质量产品,进而最终生产定制化的产品。
(3)SCM的影响
研究表明,有效的供应链管理总是能够使供应链上的企业获得并保持稳定持久的竞争优势,进而提高供应链的整体竞争力。经统计数据显示,供应链管理的有效实施可以使企业总成本下降20%左右,供应链上的节点企业按时交货率提高15%以上,订货到生产的周期时间缩短20%~30%,供应链上的节点企业生产率增值提高15%以上。越来越多供应链是围绕核心企业,通过对信息流,物流,资金流的控制,从采购原材料开始,制成中间产品以及最终产品,最后由销售网络把产品送到消费者手中的将供应商,制造商,分销商,零售商,直到最终用户连成一个整体的功能网链结构。它不仅是一条连接供应商到用户的物流链、信息链、资金链,而且是一条增值链,物料在供应链上因加工、包装、运输等过程而增加其价值,给相关企业带来收益。不少大型企业已经认识到实施供应链管理所带来的巨大好处,比如HP、IBM、DELL等在供应链管理实践中取得的显著成绩就是明证。
如今,在漆包线行业得到迅猛发展的背景下,信息化管理对此行业也显的愈为重要,不少漆包行企业在行业良好的发展局势下都向中大规模扩展,但面对大数据量得漆包线的规格、物料数据管理上就显得尤为力不从心,难免在记录时存在较大的误差,因此,对于开发这样一款SCM管理软件对漆包线企业有着深远的意义。
2 可行性分析
2.1 可行性研究的前提
2.1.1 功能分配
①公共信息管理:
· 客户基本信息管理:添加客户,删除客户,修改客户;
· 客户利润管理:添加利润,删除利润,修改利润;
· 供应商信息管理:添加供应商信息,删除供应商信息,修改供应商信息;
· 编码规则管理:添加编码规则,删除编码规则,修改编码规则;
· 物料信息管理:添加物料,删除物料,修改物料,生成物料编号;
· 仓库信息管理:添加仓库信息,删除仓库信息,修改仓库信息;
· 批量添加物料:批量添加物料。
②库存管理:
· 入库管理:添加入库信息,删除入库信息,修改入库信息;
· 出库管理:添加出库信息,删除出库信息,修改出库信息;
· 盘点库存:对库存进行盘点,修改数量;
· 查看库存:添加客户,删除客户(修改数量)。
③定位系统:X定价,用以规格铜线定价。
④用户管理:添加用户,删除用户,修改用户。
⑤销售管理:
· 销售开单:添加销售开单,删除销售开单,修改销售开单,查找销售开单;
· 销售明细:添加销售明细,删除销售明细,修改销售明细。
2.1.2 条件、假定和限制
软件运行的最短寿命:2年。
硬件、软件、运行环境和开发环境的条件和限制:
①硬件环境要求
· CPU:P4;
· 监视器:Microsoft Windows支持的VGA或分辨率更高的监视器;
· 内存:128MB内存以上。
②软件环境要求
· 开发工具:SQL Server 2005, C#, Microsoft Visual Studio 2008;
· 操作系统:Microsoft Windows98/XP/2000/2003;
· 推荐桌面显示方式:1024*768像素。
2.2 相关技术及理论
该软件通过使用Microsoft提供的VS2008开发工具结合SqlServer2005数据库开发,基于.NET Framework平台的一款SCM管理软件。
该软件在设计开发中主要运用了三层架构(3 tier application)思想开发实现的,所谓三层架构既通常意义上将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。以下为三个划分层次的概念简介:
表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。意味着开发人员只需做与外观显示相关的工作。
业务逻辑层(BLL):无疑该层是系统架构中体现核心价值的部分。它的关注点主要集中于业务规则的制定及业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关的系统层,很多时候,也将业务逻辑层称为领域层。
数据访问层(DAL):顾名思义,该层就是用于专门跟数据库进行交互。执行数据的CRUD操作。需要强调的是,所有的数据对象只在这一层中被引用。
通过此框架开发设计可以减少各层次间的依赖,保证了整个软件的结构统一,为日后的二次开发提供保障。同时运用三层架构开发思想,也可以很好的避免开发人员对数据层的操作,使开发人员可以更专注于业务层的设计,降低了开发周期,提高了开发效益。
2.3 社会因素可行性分析
2.3.1 法律因素
本软件自主开发,不存在侵权等违法行为,可行
2.3.2 用户使用可行性
操作简单,用户不需培训便可使用,可行。
2.4 总结
经上述分析,在指定的时间内,运用于Microsoft Windows98/XP/2000/2003/Win7等操作系统,用SQL Server 2005, C#, Microsoft Visual Studio 2008开发工具,能顺利开发本系统,方案可行。3 系统需求分析
3.1 功能需求
3.1.1 功能划分
图3-1 功能总览
3.1.2 功能总览
首层数据流程图如下图所示:
图3-2 业务流程图
一层数据流程图如下图所示:
图3-3 业务流程图
3.1.2 功能分块
库存统计模块一层数据流程图如下图所示:
图3-4 业务流程图
库存统计模块一层数据流程图如下图所示:
图3-5 业务流程图
3.2 非功能需求
3.2.1 易用性
从交互设计的角度出发,摒弃复杂的操作流程,提高使用的软件使用性,及提高必要的快捷方式提高交互性。
3.2.2 实用性
软件使用简单,对熟悉Windows操作的人员都能较快上手。
3.2.3 多功能
该SCM管理软件需要提供详细的库存管理清单,处理不同的销售记录,具备个仓库库存调度信息处理、记录功能,并有简单财务管理功能,如到期款提示。对库存信息可以进行查询、修改、删除、添加等功能、并具有一定的库存信息校验功能。
3.2.4 友好的交互界面
程序界面主要有:菜单栏、功能树、工作区、状态栏四部分组成,整体界面简洁,大方,美观,功能以树结构展现,提高了功能结构的清晰度,改善了模块间功能管理,同时程序支持全键盘操作,提高了软件的易用性,改善了软件的操作环境,保障了软件的人机交互友好性。
3.3 数据字典
表3-1 dbo.Inventory(库存表)
字段名
中文解析
数据类型
是否允许为空
长度
Id
Inventory自动标示码
bigint
否
StoreId
Store自动标识码
int
否
ItemId
Item自动标示码
bigint
否
Weight
重量
float
否
Sum
数量总和
bigint
否
Seg1~15
弹性域字段1~15
Nvarchar
是
200
表3-2 dbo.Item(物料表)
字段名
中文解析
数据类型
是否允许为空
长度
Id
Item自动标示码
bigint
否
SupplierId
Supplier自动标识码
int
否
Code
物料编码
Nvarchar
否
100
Name
物料名称
Nvarchar
否
200
ShortName
简写
Nvarchar
是
200
SequenceId
Sequence自动标示码
int
否
Seg1~15
弹性域字段1~15
Nvarchar
是
200
表3-3 dbo.Sequence(规则表)
字段名
中文解析
数据类型
是否允许为空
长度
Id
Sequence自动标示码
Int
否
Code
编码
Nvarchar
否
100
Name
规则名
Nvarchar
否
200
Notes
备注
Nvarchar
是
Max
Seg1~15
弹性域字段1~15
Bit
是
Seg16~20
弹性域字段16~20
Nvarchar
是
Max
Seg1Notes~ Seg15Notes
段1~15备份
Nvarchar
是
200
表3-4 dbo.Store(仓库表)
字段名
中文解析
数据类型
是否允许为空
长度
Id
Store自动标示码
Int
否
Code
仓库编号
Nvarchar
否
100
Name
仓库名
Nvarchar
否
200
Address
地址
Nvarchar
否
200
Seg1~15
弹性域字段1~15
Nvarchar
是
200
表3-5 dbo.AutoPrice(进出价表)
字段名
中文解析
数据类型
是否允许为空
长度
Id
Autoprice自动标示码
Bigint
否
SupplierId
供应商自动标示符
Int
否
Path1
线径1
Float
否
Path2
线径2
Float
是
YPathPrice
Y线径价格
Float
否
QZCMPrice
QZ加工费
Float
否
QACMPrice
QA加工费
Flaoat
否
QZYCMPrice
QZY加工费
Float
否
QZGCPrice
QZG加工费
Float
否
Seg1~15
弹性域字段1~15
Nvarchar
是
200
表3-6 dbo.Profit(利润表)
字段名
中文解析
数据类型
是否允许为空
长度
Id
Profit自动标示码
Bigint
否
SupplierId
供应商自动标示符
Int
否
CustomerId
客户自动标示符
Binint
否
ProfitTable
利润表
Nvarchar
否
200
Path1
路径1
Float
否
Path
路径2
Float
否
ProfitValue
利润值
Float
否
Seg1~15
弹性域字段1~15
Nvarchar
是
200
表3-7 dbo.Supplier(供应商表)
字段名
中文解析
数据类型
是否允许为空
长度
Id
Supplier自动标示码
Int
否
Code
供应商编号
Nvarchar
否
100
Name
供应商名
Nvarchar
否
200
ShortName
简称
Nvarchar
是
200
Address
地址
Nvarchar
否
200
Seg1~15
弹性域字段1~15
Nvarchar
是
200
表3-8 dbo.Customer(客户表)
字段名
中文解析
数据类型
是否允许为空
长度
Id
Customer自动标示码
Bigint
否
Code
客户编号
Nvarchar
否
100
Name
客户名
Nvarchar
否
200
ShortName
简称
Nvarchar
是
200
Address
地址
Nvarchar
否
200
Seg1~15
弹性域字段1~15
Nvarchar
是
200
表3-9 dbo.CheckInventory(盘点记录表)
字段名
中文解析
数据类型
是否允许为空
长度
Id
CheckInventory自动标示码
Bigint
否
StoreId
仓库自动标示符
Int
否
ItemId
物料自动标示符
Bigint
否
Weight
重量
Float
否
BeforeCheckSum
修改前数量
Bigint
否
AfterCheckSum
修改后数量
Bigint
否
ChangeDate
修改日期
Datetime
否
Seg1~15
弹性域字段1~15
Nvarchar
是
200
表3-10 dbo.Product(X现价表)
字段名
中文解析
数据类型
是否允许为空
长度
Id
Product自动标示码
Bigint
否
Code
现价名
Nvarchar
否
100
Price
价格
Real
否
Notes
备注
Nvarchar
是
Max
Seg1~15
弹性域字段1~15
Nvarchar
是
200
表3-11 dbo. Inventory(存货清单)
字段名
中文解析
数据类型
是否允许为空
长度
Id
Inventory自动标示码
Bigint
否
StoreId
仓库自动标示符
Int
否
ItemId
物料自动标示符
Bigint
否
Weight
重量
Float
否
Sum
数量汇总
Bigint
否
Seg1~15
弹性域字段1~15
Nvarchar
是
200
表3-12 dbo. InventoryIn(入库清单)
字段名
中文解析
数据类型
是否允许为空
长度
Id
InventoryIn自动标示码
Bigint
否
StoreId
仓库自动标示符
Int
否
ItemId
物料自动标示符
Bigint
否
Weight
重量
Decimal(18,6)
否
Count
总数
Bigint
否
InDate
入库时间
Datetime
否
Note
备注
Nvarchar
否
Max
Seg1~15
弹性域字段1~15
Nvarchar
是
200
表3-12 dbo. InventoryOut(出库清单)
字段名
中文解析
数据类型
是否允许为空
长度
Id
InventoryIn自动标示码
Bigint
否
StoreId
仓库自动标示符
Int
否
ItemId
物料自动标示符
Bigint
否
Weight
重量
Decimal(18,6)
否
Count
总数
Bigint
否
InDate
除库时间
Datetime
否
Note
备注
Nvarchar
否
Max
Seg1~15
弹性域字段1~15
Nvarchar
是
200
表3-13 dbo. Sale(销售清单)
字段名
中文解析
数据类型
是否允许为空
长度
Id
Sale自动标示码
Bigint
否
Code
仓库自动标示符
Int
否
CustomerId
物料自动标示符
Bigint
否
ProductId
X现价自动标示符
Bingint
否
OperDate
数量汇总
Bigint
否
TotalMoney
总金额
Decimal(18,0)
否
PayMoney
已付金额
Decimal(18,0)
否
UnPayMoney
未付金额
Decimal(18,0)
否
Tax
是否含税
Bit
否
Seg1~15
弹性域字段1~15
Nvarchar
是
200
表3-14 dbo. SaleInfo(存货清单)
字段名
中文解析
数据类型
是否允许为空
长度
Id
CheckInventory自动标示码
Bigint
否
SaleId
仓库自动标示符
Bingint
否
StoreId
物料自动标示符
Int
是
ItemId
物料自动标示符
Bingint
否
Weight
重量
Float
否
Count
数量
Int
否
Discount
折扣
Decimal(18,6)
否
Price
价格
Decimal(18,6)
否
Money
折后价
Decimal(18,6)
否
FinalMoney
最终价
Decimal(18,6)
否
Seg1~15
弹性域字段1~15
Nvarchar
是
200
表3-15 dbo.User(用户表)
字段名
中文解析
数据类型
是否允许为空
长度
Code
用户编号
Varchar
否
50
Name
用户名
Varchar
否
50
Type
用户类型
Int
是
PassWord
用户密码
Varchar
是
50
Seg1~15
弹性域字段1~15
Nvarchar
是
200
4 系统总体设计
4.1 处理流程
图4-1 销售开单流程图
4.2 功能描述
表4-1 功能描述表
编号
功能(类)名称
功能描述
1
公共信息管理
1.1
设计编码规则
客户可以通过设置编码规则,随意设置所需的编码要求
1.2
仓库管理
管理仓库的基本信息
1.3
供应商管理
管理供应商的基本信息
1.4
客户管理
记录和查看客户基本信息,以及录制查看客户的利润值
1.5
物料管理
记录和查看物料信息
1.6
物料批量添加
用户可以按某种规则添加物料,以提高工作效率
1.7
信息查询
主要涉及对库存信息的查询
2
库存管理
2.1
查看入库信息
查看入库情况及进行入库操作
2.2
查看库存信息
查看库存的库存情况及出入库状态
2.3
查看盘点记录
查看盘点信息及对盘点有误的记录进行调整
2.4
查看出库信息
查看出库情况及进行出库操作
2.5
仓库调转
负责存货的转移
2.6
物料入库
即对物料进行进行入库操作
2.7
重量拆分
按业务需求,对物料的重量进行拆分操作
3
定价系统
3.1
定价管理
由于市场因素的影响,价格漆包线行业存在较为明显的价格波动幅度,故设计了定价管理,主要调整个线径的市场价格,提高软件的实用性
实体之间的关系
4
用户管理
4.1
查看用户信息
查询用户的基本信息,及对用户进行权限设置
5
销售管理
5.1
销售开单
销售开单即销货单,负责记录保存销售情况,及提供单据打印功能,为用户打印票据
4.3 功能演示
以下挑选了几个比较典型的功能操作:
(1)物料入库
保存物料编码为扁线-QZY--2/180-3*4,型号为漆包铜线,重量分别为10、12KG的物料到仓库名为 销售部#1中,保存后的状态图如下:
图4-2 入库添加页面
物料入库后不仅可以在入库列表中查看物料的入库情况,也可以通过查看库存信息来查看目前的库存情况,下图显示了物料扁线-QZY--2/180-3*4库存情况。
图4-3 库存列表
(2)录制销售开单
维护一张订单编号为1104120021,客户名称为:史蒂夫,物料编码为:扁线-QZY--2/180-3*4的销售开单,具体信息如下图所示:
图4-4 销售开单
当开单状态为保存草案时,该存货只是预出库状态,仍能再查看库存信息中查询该条记录,但不能再次对该条记录作销售处理,但对销售开单做销售出库后,该存货即做了出库处理,便不可在库存列表中查询到该条记录,只能到出库列表中查询出库明细,如下图所示:
图4-5 出库列表
4.4 原型界面设计
图4-6 产品主界面
图4-7 主界面分解图
5 软件测试
5.1 测试目的
软件测试是软件开发的最后一个阶段,不仅仅是为了排查软件中有没有错误,只是为了仅可能多的发现开发过程中发现的问题,以便分析错误的性质及及时纠正软件中存在的不足之处,提高用户的可使用性。
5.2 测试环境
装有FrameWork3.5以上的操作系统。
5.3 测试方法
采用黑盒测试和白盒测试兼并的测试方法,每当完成一项事件的处理时,便执行程序,进行测试,每完成一个模块的代码,也进行相关的测试,最后,全部代码完成时,进行全面的测试。
5.4 测试用例
表5-1 测试用例1
测试编号
XISoft_物料入库_001
测试项目
物料入库、库存查看
用例描述
录入合理的物料入库信息,保存查看入库列表及库存查询列表显示情况
环境及初始数据
依赖用例
数据库连接配置
序号
操作说明
测试子项
执行步骤
预期结果
实际结果
备注
1
配置正确连接信息
基本流
(1)在登录界面输入用户及密码。
登陆成功,跳转至主界面。
(2)点击确定。
2
录制规格信息
基本流
(1)在规格添加页面录入物料显示规则合理信息。
状态栏提示保存成功。
(2)点击保存。
3
录制仓库信息
基本流
(1)在仓库添加页面录入仓库合理信息。
状态栏提示保存成功。
(2)点击保存。
4
录制供应商信息
基本流
(1)在供应商添加页面录入仓库合理信息。
状态栏提示保存成功。
(2)点击保存。
5
录制现价信息
基本流
(1)在现货定价添加页面录入合理信息。
状态栏提示保存成功。
(2)点击保存。
6
录制物料信息
辅助流
(1)在物料添加页面录入合理信息。
状态栏提示保存成功。
(2)点击保存。
7
录制入库信息
辅助流
(1)在入库添加页面录入合理信息。
状态栏提示保存成功,入库列表、库存列表均展示显示该条基本信息。
(2)点击保存。
表5-2 测试用例2
测试编号
XISoft_销售开单_002
测试项目
销售开单
用例描述
录制销售开单,保存后查看物料库存状态
环境及初始数据
依赖用例
XISoft_物料入库_001
序号
操作说明
测试子项
执行步骤
预期结果
实际结果
备注
1
维护一张销售开单
辅助流
(1)为销售开单输入合理的信息。
状态栏提示保存成功。仍能在库存列表中查到该条存货。
(2)点击保存草案。
2
对保存为草案的销售开单进行审核
辅助流
(1)点击确认并出库。
在库存列表中查询不到该条存货,相应在出库列表中能查询到该存货。
(2)点击确认。
展开阅读全文