第一章:前言........................................................................................................... - 2 - 第二章:问题定义................................................................................................... - 2 - 第三章:可行性研究............................................................................................... - 2 - 第四章:需求分析................................................................................................... - 2 -
一、核心业务.................................................................................................... - 2 - 二、系统数据量................................................................................................ - 3 - 第五章:总体设计................................................................................................... - 3 -
一、软件总体结构图........................................................................................ - 3 - 二、核心业务流程............................................................................................ - 4 - 三、模块与接口设计........................................................................................ - 6 - 四、数据库设计................................................................................................ - 6 - 五、界面设计.................................................................................................... - 8 - 第六章:详细设计................................................................................................. - 12 -
一、类的设计.................................................................................................. - 12 - 二、界面设计.................................................................................................. - 15 - 三、测试用例设计.......................................................................................... - 15 - 第七章:实现与测试............................................................................................. - 15 -
一、程序实现.................................................................................................. - 15 - 二、程序测试.................................................................................................. - 16 - 第八章:运行与维护............................................................................................. - 22 - 第九章:教师量化评分表..................................................................................... - 22 -
- 1 -
第一章:前言
库存管理系统,处理一些普通的信息处理,但其主要处理库存的查询分析以及对应的操作处理。我仅处理了商品基本信息,商品类型信息,和库存的查询分析与决策,并未处理入库与出库操作,以及由此所产生的一系列问题。这是此系统的一个缺憾。
第二章:问题定义
所谓库存管理系统,就是处理有关库存的一些问题,包括商品基本信息的处理,商品类别信息的处理,以及库存的查询分析等操作。
对于商品基本信息的处理:就是商品信息的增删改处理。 对于商品类别信息的处理同样是一些简单的增删改查。
库存则主要是几种条件查询,同时有个库存分析,包括了库存的各种状况的处理策略。
第三章:可行性研究
可行性研究,一般从经济,技术,操作可行性上考虑。
就经济可行性,我们采用自己的开发平台,自己的电脑,不需要什么经费。
技术可行性,鉴于此系统的运行环境,我采用VS2008作为开发平台,采用C#作为开发语言。数据库采用SQL 2000。其环境的稳定性和平台的易用,使得开发与使用都变得简单,方便。操作可行性,开发出来的这个系统,运行在Windows系统中,窗口化的运行界面,简单易操作。易掌握。
综上所述,此系统的开发代价不是很大,简单易用,具有一定的开发价值。
第四章:需求分析
总体需求分析介绍:为了实现对库存的监管与查询,及时了解到商品的出售与购置关系。对于,商品的采购与销售策略,需要一个系统能够给予一定的理论支持。于是,开发需要这个针对库存查询分析的库存管理系统。首先,用户可以能够自主的维护系统的各项信息,包括商品基本信息,商品类别信息,库存,人员使用等情况。其次,用户可以查询各种信息,同时系统要给出一定的查询分析结果。对于销售和采购有一定的指导意义。至于入库与出库,暂时可以不予考虑。因为那都是硬性指标,只要我的分析需要采购或者出库,即必须执行。此系统具有支持管理者决策的功能。
一、核心业务
对商品基本信息的维护:
系统要对商品的库存信息实现维护,首先要有商品信息。这是整个系统的基础信息,包
- 2 -
括(商品编号,商品名称,生产厂家,规格,备注)。商品信息的维护操作包括(商品的添加,更新,删除等操作)。他们的操作权限需要管理员登陆才能使用。
管理员对商品信息增删改后,在商品信息记录中体现,同时库存信息里也要更新信息。 对商品类别信息的维护:
对商品类别信息的维护,商品类别为商品的分类:商品的包装粒度(个,包,箱……),商品的类型(电器,食品,日化用品……),商品的计算单位(元/个、元/斤、元/包,……)商品类别包括(商品类别号,商品类型,计算单位,包装粒度) 对库存信息的查询:
A、单个商品的库存查询。对某个商品的库存查询库存剩余量,最低限额,最高限额 B、剩余量在某个范围内的商品库存种类。查询即剩余量在某个范围内的所有商品 C、某个时间段(批次)内的商品的库存情况。查询某个批次的所有商品的库存状况 D、查询超过警戒线的商品种类明细 E、查询低于警戒线的商品种类明细 查询后的处理策略:
1、如果发现有产品低于警戒线,则提示进行采购,补充货源 2、如果发现有长期驻留的 ,则提示采用促销方案。
3、给出库存报告:本月一共入库多少,出库多少,尚有多少,那些需要采购,那些需要促销,以及存货量的调整。重点是对库存信息的查询分析。 用户管理
处于安全考虑,系统需要指定人员才能进入,于是需要用户密码机制。用户凭借用户名与密码方可进入系统。
二、系统数据量
库存管理系统的数据流量,主要来源是每次的入库与出库,而这个系统的侧重点,是对于库存的查询分析,并没有对入库与出库的操作,进行处理,所以数据量来说,不存在大量数据的增加与删除,主要是数据的查询。对存储空间要求一般。由于系统不是很精确,故不适合大型公司使用,因此数据量也不是很大。
第五章:总体设计
一、软件总体结构图
软件架构设计:有一个总的主处理界面系统,每一个子系统分别作为一个入口,可以从主界面进入。他们的操作各自独立。于是就有下面的软件结构图。
- 3 -
图表 1
二、核心业务流程
1、对商品基本信息的维护
图表 2
2、对商品类别信息的维护
- 4 -
图表 3
3、对库存信息的查询
图表 4
4、用户管理
- 5 -
图表 5
三、模块与接口设计
对于模块之间,应做到高内聚,低耦合。
登录模块,是查询用户表是不是有记录,同时用户名与密码是不是一致。 登陆后,原窗体暂时隐藏,调出主窗体。
主窗体内的各个功能选项之间联系更不是很紧密。 于是并不需要什么接口。
四、数据库设计
1、数据ER图
图表 6
2、类图
- 6 -
图表 7
3、数据字典 表名 LoginUser ProductClass 字段名 UserName PassWord ID Class PackGrad CalcuUnit ID Name Company Standard Comment ProductID ProductClassID Amount PeakAmount FloorLimit Flag SerialNumber ProductID ProductClassID InStorgeDate OutStorgeDate Amount ManufactureDate ExpirationDate Company Comment 数据类型 Nvarchar(50) Char(6) Char(4) Nvarchar(50) Nvarchar(50) Nvarchar(50) Char(4) Nvarchar(50) Nvarchar(50) Nvarchar(50) Nvarchar(200) Char(4) Char(4) Int Int Int Nvarchar(50) Char(5) Char(4) Char(4) Datetime Datetime Int Datetime Int Nvarchar(50) Nvarchar(50) - 7 -
备注 用户名 密码 类别编号 产品类别 包装粒度 计算单位 产品编号 产品名称 供应商 规格 备注 产品编号 产品类别编号 当前库存 库存最大限额 库存最低限额 标志 序列号 产品编号 产品类别编号 入库日期 出库日期 数量 生产日期 保质期 生产厂家 备注 Products Stock StockChild
五、界面设计
1、登录界面
图表 8
2、主界面
图表 9
- 8 -
3、商品基本信息维护主界面
图表 10
4、商品基本信息添加界面
图表 11
5、商品基本信息更新界面
- 9 -
图表 12
6、商品类别信息维护主界面
图表 13
7、商品类别信息添加界面
- 10 -
图表 14
8、商品类别信息更新界面
图表 15
9、商品库存查询分析主界面
- 11 -
图表 16
第六章:详细设计
一、类的设计
该系统一共设计六个类,由于在处理问题是,我们采用面向对象的处理策略,对于每一个数据库表结构,我们都在界面显示的时候构造一个对应于表和界面元素的类,同时还有一个数据库处理类,使得数据处理,SQL语句封装,界面操作,类自身的方法,都能够保持一定的封闭性,在这里体现了面向对象的思想(封装性)。
所有的前台显示工作有界面元素完成,各个类,负责吧数据提供出来,根据条件生成SQL语句,SQL语句的执行以及数据库的连接都在Sqlhelper中完成。同时保证一定的数据安全行。
1、 Products
该类负责界面显示产品基本信息的操作,以及各种关于产品的处理(增,删,改)。
class Products
{// 定义的属性此处省略 public void Save()
{ 数据校验();
//如果校验成功,则执行保存操作,否则,不予处理 } private bool 数据校验()
{ //查看id是不是有重复 //查看name是不是有重复 }
public void Update()
{ //对产的更新 }
- 12 -
public static void DeleteItemByID(string _ID) { //删除某一种产品 }
public static List 2、 ProductClass 该类负责处理有关商品类别的一切工作,例如增删改查。 namespace ERP大作业 { class ProductClass { //定义的属性省略 public void Save() {//执行保存操作 } public void Update() { //执行更新操作 } public static void DeleteByID(string _ID) { //通过编号删除记录 } public static List 3、 Stock 该类负责处理有关总库存的所有处理,包括各种库存的查询。 namespace ERP大作业 { class Stock { //定义的属性此处省略 public static List {//获得所有的库存记录,同时返回列表格式 } } } 4、 StockChild 该类负责所有的 入库出库子系统记录。此为流水账,统计是求count即可。另外还有日期,范围等一系列条件。 namespace ERP大作业 { class StockChild { //属性的定义省略 public static List public static List public static List - 13 - {//获得一定范围内的所有记录,参数分别为起始数量 } } } 5、 User 这个类负责处理有关用户与登录系统的信息。与库存没有实质性的联系。是作为一个系统的安全与管理单位的。 namespace ERP大作业 { class User { /// /// 通过用户名查找是否有记录 /// /// 需要查找的用户名 /// /// /// 用户名 /// 密码 /// public static void ChangePassword(string _name,string _oldstring,string _newstring) { } public static void AddUser(string _name, string _password) { } } } 6、 Sqlhelper 此类负责处理有关数据的处理,比如存取,更新操作等。以及与数据库的链接。 namespace ERP大作业 { class Sqlhelper { private static string sqlcon = \"Data Source=.;Initial Catalog=ERP库存管理;Integrated Security=True\"; public static DataSet ExecuteDataSet(string sql) { } - 14 - public static int ExectuteNonQuery(string sql) { } } } 二、界面设计 见前边的界面设计(以应用程序为准)。 三、测试用例设计 初始用户名:0,密码:0 先新增一个用户:admin 密码为:0 然后修改密码为:admin 然后登录测试 产品信息: 编号:0001,名称:电脑,公司:方正,规格:台,备注:空 新增(编号:0002,名称:轿车,公司:北京现代,规格:辆,备注:空) 产品类别信息: 编号:0001,产品类别:电器,包装粒度:箱,计算单位:台 新增(编号:0002,产品类别:车辆,包装粒度:箱,计算单位:辆) 库存字表(流水记录) 序列号:00001,产品编号:0001,产品类别编号:0001,入库日期:2011-6-12 ,出库日期:,数量:100,生产日期:2011-6-6 ,保质期:6年,生产厂家:方正 ,备注:入库 新增(序列号:00002,产品编号:0002,产品类别编号:0002,入库日期:2011-6-10 ,出库日期:空,数量:10,生产日期:2010-6-6 ,保质期:16年,生产厂家:韩国现代 ,备注:空) 库存表 产品编号:0001,产品类别编号:0001,当前数量:100,最大限额:150,最低限额:10,标志:空 新增(产品编号:0002,产品类别编号:0002,当前数量:10,最大限额:50,最低限额:2,标志:空) 第七章:实现与测试 一、程序实现 见程序压缩包 - 15 - 二、程序测试 用户登录:用户名:0,密码:0 图表 17 登录后,转入主界面: 图表 18 然后选择商品信息维护,就会跳出商品维护主界面: - 16 - 图表 19 现在数据为空,插入一条记录:(调出新增商品信息) 编号:0001,名称:电脑,公司:方正,规格:台,备注:空 图表 20 点击保存之后,此窗体小时,同时返回商品基本信息主窗体:(同时新增的信息显示出来) - 17 - 图表 21 点击更新商品信息,弹出更新窗体: 图表 22 将生产厂家更新为:戴尔,然后点击更新: 图表 23 图表 24 在新增一个记录: - 18 - 图表 25 然后删除第二条信息: 图表 26 点击确定,然后删除。同时在把这条记录加进来,一边以后测试使用。 然后关闭这个子系统,然后测试下一个子系统商品类别信息维护。 图表 27 点击新增商品类别: - 19 - 图表 28 点击保存: 图表 29 更新第一条记录: 图表 30 点击更新: - 20 - 图表 31 然后就有: 图表 32 更新成功。 由于本系统没有提供入库,出库操作,因此库存文件的读写要手动修改数据库,为了下一步的测试,现手动插入三条记录分别是: 库存字表 序列号:00001,产品编号:0001,产品类别编号:0001,入库日期:2011-6-10 ,出库日期:,数量:100,生产日期:2011-6-6 ,保质期:6年,生产厂家:方正 ,备注:入库 库存表 产品编号:0001,产品类别编号:0001,当前数量:100,最大限额:150,最低限额:10,标志:空 新增(产品编号:0002,产品类别编号:0002,当前数量:10,最大限额:50,最低限额:2,标志:空) 信息输入完成之后,现在开始测试库存查询分析功能:进入库存查询分析界面 图表 33 - 21 - 点击 查询所有商品库存: 图表 34 分批次查询,选择日期:2010-6-6 图表 35 按范围查询,输入范围:从10到20: 图表 36 第八章:运行与维护 硬件要求:X86 PC机;操作系统:Window XP;数据库服务器:SQL Server 2000;同时需要.net framework 2.0以上。 配置使用说明:为安全起见,文件解压后,放置到D盘根目录下(D:\\),然后打开SQL Server2000的服务管理器,开启SQL Server服务。然后,开启SQL Server2000的企业管理器,找到数据库,加载上在刚才解压文件夹下的数据库文件。关闭企业管理器即可。 第九章:教师量化评分表 - 22 - 因篇幅问题不能全部显示,请点此查看更多更全内容