张峻华软件工程_第1页
张峻华软件工程_第2页
张峻华软件工程_第3页
张峻华软件工程_第4页
张峻华软件工程_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、石家庄经济学院软件工程课程设计报告课程名称: 小商店的仓库管理设计 专 业: 软件工程 姓 名: 张峻华 班 级: 软件一班 学 号: 指导教师: 李宁 2014年 04 月15日 一需求分析1.1 背景商店的仓库物资管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个商店之 间的管理体制不尽相同,各类统计报表繁多,因此仓库的仓库管理必须编制一套仓库管理信息系统,实现计算机化操作,而且必须根据商店的具体情况制定相应的方案。传统的商品由进货到发货,要经过若干环节,多次账面转抄,由于物品繁多,规格型号的标识繁多,加之业务人员素质的因素,易造成仓库供应效率低下,

2、影响生产.;由于库房与管理部门之间存在信息难以交流。供应业务员、仓库保管员相互之间信息流通困难,使得仓库供应效率低下,造成库存积压。使库存储备很大,影响资金周转。另外,使得仓库的管理数据的汇总,以及信息的传递困难;手抄的,手工作业容易造成失误,同时每月向上级单位所报报表需耗费相当大的人力资源进行大量数据计算,这将影响数据的准确率和效率,从而造成不必要的损失和浪费仓库的仓库管理是整个物资供应管理系统的核心。因此有必要开发一套独立的仓库管理系统来提高商店工作效率, 而所使用的这套仓库管理系统是商店生产经营管理活动中的核心,此系统必须可以用来控制合理的仓库。主要体现在:(1) 极大提高了仓库工作人员

3、的工作效率,大大减少了以往入出存流程繁琐,杂乱,周期长的弊端。(2)基于仓库管理的全面自动化,可以减少入库管理、出库管理及库存管理中的漏洞,可以节约不少管理开支,增加商店收入。(3)仓库的管理的操作自动化和信息的电子化,全面提高了仓库的管理水平。随着我国改革开放的不断深入,经济飞速的发展,商店要想生存、发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,仓库管理的全面自动化、信息化则是其中极其重要的部分。为了加快仓库管理自动化的步伐,提高仓库的管理业务处理效率,建立仓库管理系统,尽可能地减少仓库管理的重复性和低效性,已变得十分必要。1.2 功能需求本软件是一个简单的仓库管理

4、系统,在满足用户需求的基础上,用计算机来实现系统的信息处理逻辑模型中规定的输入、输出及内部处理等多项功能,本软件产品是一项独立的软件。相应的需求有:(1) 用户登录:实现用户的登录,并进行相应的操作。(2) 用户管理:实现管理人员添加、修改、删除信息等功能。(3) 客户管理:实现客户的增加、修改、删除信息等功能。(4) 员工管理:实现员工的增删、修改、删除信息等功能。(5) 物资管理:实现管理员对货物进库、出库的添加、修改、删除等功能。(6) 入库和出库管理:实现管理员对货物进行入库、出库操作,并可查询相应货物的出库信息。 1.3功能模块图:如图1所示图1 系统主要层次模块图1.4数据流图(1

5、)系统流图:如图2所示 图2仓库管理系统流图(2)仓库管理系统第一层数据流图 :如图3所示图3 仓库管理系统第一层数据流图(3)仓库管理系统第二层数据流图:如图4所示图4仓库管理系统第二层数据流图1.6系统的数据字典 数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。若每个部分一一列出,数量庞大,且并未设计的如此详细,在此只列举各个表的大概信息。表名:用户密码表说明:记录用户的信息和密码组成:用户ID+用户密码+用户权限表名:员工表说明:记录员工所有信息组成:员工号+员工名+性别+年龄+进场时间+联系电话+地址+职务表名:供应商表说明:记录供应商所有信息组成:供应商号+供应

6、商名+供应商联系人+联系人电话+供应商地址表名:库存表说明:记录库存的库存量和库存总量组成:仓库号+物资号+现有库存+库存总量表名:仓库表说明:记录仓库所有信息组成:仓库号+仓库地址+库存总量表名:供应物资表说明:记录物资号,供应商号,供应量组成:物资号+供应商号+供应量表名:进仓单说明:记录仓库,物资,供应商和库存的信息组成:物资号+仓库号+供应商号+物资名+时间+数量+员工号表名:出仓单说明:记录仓库,物资,供应商和库存的信息组成:物资号+仓库号+物资名+供应商号+时间+数量+员工号表名:管理表说明:反应仓库和员工的关系组成:仓库号+员工号+物资号+员工名+时间表名:物资表说明:记录物资所

7、有信息组成:物资号+物资名+备注二 概念设计(1)供应商E-R图:如图5所示图5 供应商E-R图(2)物质E-R图:如图6所示图6 物资E-R图(3)仓库E-R图:如图7所示图7仓库E-R图(4)员工E-R图:如图8所示图8 员工E-R图(5)出/入库存单E-R图:如图9所示图9 出/入库存单E-R图(6)仓库管理系统总E-R图:如图10所示图10 仓库管理系统总ER图三 逻辑结构设计关系模型,关系的码用下划线标出供应商(供应商号,供应商名,供应商联系人,联系人电话,供应商地址)库存(仓库号,物资号,现有库存,库存总量)仓库(仓库号,仓库地址,库存总量)员工(员工号,员工名,性别,年龄,进场时

8、间,联系电话,地址,职务)管理(仓库号,员工号,物资号,员工名,时间)供应商供应(物资号,供应商号,供应量)进仓单(物资号,仓库号,供应商号,物资名,时间,数量,员工号)出仓单(物资号,仓库号,物资名,供应商号,时间,数量,员工号)四、数据库物理设计数据库表表 1 用户登陆表字段名称数据类型约束条件说明用户char主键字段大小为20用户密码charNULL字段大小为20用户权限charNULL字段大小为20表2 供应商字段名称数据类型约束条件说明供应商号int主键字段大小为4供应商品名charNULL字段大小为100供应商地址charNULL字段大小为100供应商联系人charNULL字段大小

9、为100供应商电话charNULL字段大小为30表 3 员工表字段名称数据类型约束条件说明员工号int主键字段大小为4员工姓名charNULL字段大小为20员工性别intNULL字段大小为4员工年龄intNULL字段大小为4进工厂时间datetimeNULL字段大小为8职务charNULL字段大小为20住址charNULL字段大小为20联系电话charNULL字段大小为20表4 物资表字段名称数据类型约束条件说明物资号int主键(外键)字段大小为4物资名charNULL字段大小为20备注charNULL字段大小为20表5 供应物资表字段名称数据类型约束条件说明物资号int主键字段大小为4供应商

10、号int主键字段大小为4供应量charNULL字段大小为20表6 进仓单字段名称数据类型约束条件说明仓库号int主键字段大小为4物资号int主键字段大小为4数量intNULL字段大小为4时间datatimeNULL字段大小为8供应商号intNULL字段大小为4进货员工号intNULL字段大小为4物资名charNULL字段大小为20表7 出仓单字段名称数据类型约束条件说明仓库号int主键字段大小为4物资号int主键字段大小为4数量intNULL字段大小为4时间intNULL字段大小为4供应商号intNULL字段大小为4出货员工号intNULL字段大小为4物资名charNULL字段大小为20表8

11、仓库表字段名称数据类型约束条件说明仓库号int主键字段大小为4库存总量intNULL字段大小为4现有库存intNULL字段大小为4仓库地址charNULL字段大小为20表9 库存表字段名称数据类型约束条件说明仓库号int主键字段大小为4物资号int主键字段大小为4现有库存intNULL字段大小为4库存总量intNULL字段大小为4表10 管理表字段名称数据类型约束条件说明仓库号int主键字段大小为4员工号int主键字段大小为4物资号int主键字段大小为4员工名charNULL字段大小为20时间datatimeNULL字段大小为8五、数据库的实施数据库和数据库表的创建语法用户登录表create

12、table 用户表用户ID char(20) primary key,用户密码 char(20) ,用户权限 char(20);/*供应商表*/create table 供应商表(供应商号 int primary key,商品名 char(20) ,商品地址 char(20) ,供应商联系人 char(20),联系电话 char(20);/*员工表*/create table 员工表(员工号 int primary key,员工名 char(20) ,性别 char(20) ,员工年龄 char(20),进厂时间 datetime,职务 char(20),住址 char(20),联系电话 ch

13、ar(20);/*物资表*/create table 物资表(物资号 int primary key,物资名 char(20),备注 char(20);/*供应物资表*/create table 供应物资表(物资号 int primary key,供应商号 int UNIQUE,供应量 char(20);/*进仓表*/create table 进仓表(仓库号 int primary key,物资号 int UNIQUE,数量 int,时间 datetime,供应商号 int,进货员工号 int,物资名 char(20);/*出仓表*/create table 出仓表(仓库号 int prima

14、ry key,物资号 int UNIQUE,数量 int,时间 datetime,供应商号 int,出货员工号 int,物资名 char(20),);/*库存表*/create table 库存表(仓库号 int primary key,物资号 int UNIQUE,现有库存 int,库存总量 int);/*仓库表*/create table 仓库表(仓库号 int primary key,现有库存 int,库存总量 int,仓库地址 int);/*管理表*/create table 管理表( 仓库号 int primary key, 员工号 int UNIQUE, 物资号 int UNIQU

15、E, 员工名 char(20), 时间 datetime );六、系统运行结果()登陆界面:如图11所示图11 登录界面主要代码UpdateData(true);if(!m_database.IsOpen() if(!m_database.Open(_T(cangkuguanlixitong)MessageBox(不能打开到数据库系统的连接!); return; CLoginSet m_userset; /声明一个数据集,用来保存从数据库中读取到的数据CString str;if(m_userset.IsOpen()/如果这个数据集已经打开,则关闭它,重新读取,以免出错m_userset.Cl

16、ose();/str保存SQL语句,用于读到数据库中的数据str.Format(select * from 用户密码表 where 用户ID=%s and 用户密码=%s,m_userid,m_password);m_userset.m_pDatabase=&m_database;/使用Open函数执行SQL语句m_userset.Open(AFX_DB_USE_DEFAULT_TYPE,str);/当读到的数据为空时,则输出提示语句if(m_userset.IsEOF()MessageBox(数据库里没有相应资料,请检查用户名密码是否正确);m_userid=;m_password=;els

17、e/读取数据成功,则进行赋值,并进行其他操作username.Format(%s,m_userset.m_ID);userpower=m_userset.m_column2;MainDlg-ShowWindow(SW_SHOW); /MainDlg-ShowWindow(SW_SHOW);/ShowWindow(SW_HIDE);CDialog:OnOK();(3)主窗口界面:如图12所示图12 主窗口界面(3)物质管理界面:如图13所示图13 物资管理界面主要代码void CMainDlg:OnMaterialManage() showdlg-ShowWindow(SW_SHOW);CStr

18、ing sql=select * from 物资表 order by 物资号;showdlg-OnRefreshData(sql);ShowWindow(SW_HIDE);(3)插入物资界面:如图14所示图14 插入物资界面(3)插入结果图:如图15所示图15 插入结果主要代码UpdateData(true);CString sql;char temp15;if(isupdate)UpdateData(true);sql.Format(update 物资表 set 物资名称=%s,数量=%d,备注=%s where 物资号=%s,m_name,m_num,m_mark,itemnum);try

19、 m_database.ExecuteSQL(sql);/执行插入操作sql=select * from 物资表 order by 物资号;showdlg-OnRefreshData(sql);catch (CDBException e) MessageBox(更新失败);CDialog:OnOK();elseint maxnum;sql.Format(select * from 物资表 order by 物资号);CMessSet m_record;m_record.m_pDatabase=&m_database;m_record.Open(AFX_DB_USE_DEFAULT_TYPE,s

20、ql);/获取物次表的最大物资号,最动生成物资号if(m_record.IsEOF()maxnum=0;elsem_record.MoveLast();maxnum=m_record.m_column1;maxnum+;/生成插入资料的SQL语句sql.Format(insert into 物资表 values();itoa(maxnum,temp,10);sql=sql+temp+,+m_name+,;itoa(m_num,temp,10);sql=sql+temp+,+m_mark+);try m_database.ExecuteSQL(sql);/执行插入操作sql=select * f

21、rom 物资表 order by 物资号;showdlg-OnRefreshData(sql);catch (CDBException e) MessageBox(插入失败);return;(3)删除操作图:如图16所示图16 删除操作主要代码CString sql;CString item;int index=-1;char buf100;if (m_List.GetNextItem(index,LVNI_SELECTED) = -1)MessageBox(请先选中一条记录);return;int num;int preindex=-1;/删除List Control控件中选中的记录。whi

22、le (index = m_List.GetNextItem(preindex,LVNI_SELECTED) != -1) item=m_List.GetItemText(index,0);/从选中的记录中获取用户名try/生成删除用户的SQL语句sql.Format(delete from 物资表 where 物资号=%s,item);m_database.ExecuteSQL(sql);catch(CDBException e1)AfxMessageBox(数据库操作失败);catch(CMemoryException e2)AfxMessageBox(数据库操作失败);preindex=

23、index;/更新显示数据sql=select * from 物资表 order by 物资号;this-OnRefreshData(sql);OnPaint();(3)修改物质界面:如图17所示图17 修改物资主要代码CString sql;CString item;int index=-1;char buf100;if (index=m_List.GetNextItem(index,LVNI_SELECTED) = -1)MessageBox(请先选中一条记录);return;int preindex=-1;while (index = m_List.GetNextItem(preindex,LVNI_SELECTED) != -1) adddlg-itemnum=m_List.GetItemText(index,0);adddlg-m_name=m_List.GetItemText(index,1);adddlg-m_num=atoi(m_List.GetItemText(index,2);adddlg-m_mark=m_List.GetItemText(index,3);adddlg-isupdate=true;adddlg-UpdateData(FALSE);adddlg-ShowWindow(SW_SHOW);preindex=index;break;(3)物资号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论