信息系统设计题目:库存管理系统目录第一章可行性分析 (2)1.1开发环境和开发工具 (2)1.2可行性分析 (2)1.2.2 技术可行性 (3)1.2.3 经济可行性 (3)第二章系统分析 (4)2.1 业务范围分析 (4)2.2 业务流程分析 (7)2.3 数据字典 (9)2.4 数据与数据流程分析 (10)第三章系统设计 (10)3.1 系统总体结构设计 (10)3.3数据库设计 (18)第五章设计总结 (62)参考文献 (64)第一章可行性分析1.1开发环境和开发工具操作系统:Windows XP开发语言:C++数据库:SQL 2000数据库访问控件:ADO1.2可行性分析1.2.1 开发必要性随着计算机及网络技术的飞速发展,Internet/Intranet应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大,从而可以使我们从繁杂的信息管理中解放出来,提高了我们的工作效率。
如今,信息网络技术已经无处不在,无时不在了,各种各样的信息管理系统也就应运而生。
目前,随着企业规模的不断壮大,产品的种类和数量都不断增加,产品的流通越来越多,这就使产品的存储需求不断增加,需要工作人员花费很大力气来统筹管理这项工作,为了保证工作的正确性和可靠性同时提高管理的效率,很有必要建立一个库存管理系统,使货品管理工作规范化,系统化,程序化。
1.2.2 技术可行性在技术上,如今成熟的语言有很多,像是PowerBuilder 、VB 、Delphi 等都能开发出很好用的系统。
而本次设计我采用的是VC,也是很成熟的语言,再加上数据库如今的发展状况,开发出一个库存管理的应用程序是没有问题的。
鉴于软硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的进行图书信息管理。
硬件的配置要求不能太高,这样可以很好的适应当前的企业办公管理工作,如今电脑软硬件技术飞速发展,计算机系统开发人员也比比皆是,开发知识密集型的信息系统的技术条件也已经很成熟了。
1.2.3 经济可行性在经济上,费用的支出和带来的巨大收益相比自是不能相提并论了,至于管理上,工作人员对于这项工程的实施必然是持赞成的态度,因为这样会大大减轻他们的工作量提高工作效率。
且成本低,建成后的维护费用也与线性系统运行费用相同,而每年可以促进企业仓库存储的工作优化、库存产品的有效利用率,并可有效降低企业库存的不必要支出,提高企业产品存储资金的有效利用。
第二章系统分析2.1 业务范围分析1.企业库存基础信息设置:这是企业库存最重要的模块之一,它将对仓库存储中的产品、雇员、客户和仓库的基本信息进行管理操作,所有的产品、仓库等原始数据输入都是在这里实现的,有了这里的数据输入,才能开始以后的诸如产品入库、产品出库等操作。
(1)产品信息设置:该功能允许用户添加、修改和删除产品信息,在输入过程中,程序自动生成产品编号以方便产品的管理和入库时选择产品,同时程序也检查输入的合法性。
(2)雇员信息设置:该功能允许用户添加、修改和删除雇员信息,在信息录入过程中,程序自动生成雇员编号以方便对员工信息的管理,同时程序也检查输入的合法性。
(3)客户信息设置:企业库存产品出库,必然要登记货物发给的客户,该功能允许用户对客户的名称、联系方式、地址等基本信息进行添加、修改和删除,在信息录入过程中,程序自动生成客户编号以方便对客户信息的管理,同时程序也检查输入的合法性。
(4)仓库信息设置:产品的入库,出库,调拨和报损都需要仓库的基本信息。
该功能允许用户添加、修改和删除仓库信息,在信息录入过程中,程序自动生成仓库编号以方便对仓库信息的管理,同时程序也检查输入的合法性。
2.库存信息的录入与修改(1)产品入库单信息录入与修改:该功能允许用户输入入库单信息,在输入过程中,程序自动生成产品入库单编号以方便对入库产品的信息管理和单据的查询,同时程序也检查输入的合法性。
(2)产品出库单信息录入与修改:该功能允许用户输入出库单信息,在输入过程中,程序自动生成产品出库单编号以方便对出库产品的信息管理和单据的查询,同时程序也检查输入的合法性。
(3)产品调拨单信息录入与修改:因为仓库所处地区的不同,以及库存量的差异,所以企业内部仓库之间货品的调拨时必然的。
该功能允许用户输入调拨单信息,在输入过程中,程序自动生成产品调拨单编号以方便对调拨产品的信息管理和单据的查询,同时程序也检查输入的合法性。
(4)产品报损单信息录入与修改:因为在产品的运输过程或是存储过程中,会有产品的损坏,所以系统也应该具备产品报损信息的管理功能。
该功能允许用户输入产品报损单信息,在输入过程中,程序自动生成产品报损单编号以方便对报损产品的信息管理和单据的查询,同时程序也检查输入的合法性。
3.库存信息的查询(1)产品入库单信息的查询:该功能不仅要对产品入库单据的信息(如:入库仓库、生产部门、产品名称、经办人等)进行查询,而且要对该单据所包括的产品的信息(产品名称、型号、单价等)进行查询。
(2)产品出库单信息的查询:该功能不仅要对产品出库单据的信息(仓库名称、经办人、客户等)进行查询,而且要对该单据所包括的产品的信息(产品名称、型号、单价等)进行查询。
(3)产品调拨单信息的查询:该功能不仅要对产品调拨单据的信息(入库仓库、出库仓库、经办人等)进行查询,而且要对该单据所包括的产品的信息(产品名称、型号、单价等)进行查询。
(4)产品报损单信息的查询:该功能不仅要对产品报损单据的信息(报损仓库、经办人等)进行查询,而且要对该单据所包括的产品的信息(产品名称、型号、单价等)进行查询。
4.库存信息的统计分析(1)入库产品信息汇总统计:该功能对各种入库产品的存储仓库、存储数量、存储金额进行了汇总统计。
(2)出库产品信息汇总统计:该功能对各种出库产品的出库仓库、出库数量、出库金额进行了汇总统计。
该库存管理系统的功能图如下:图2.1库存信息管理系统功能图2.2 业务流程分析库存管理数据流图图2.2 系统数据流图2.3 数据字典图2.3 数据字典2.4 数据与数据流程分析第三章系统设计3.1 系统总体结构设计3.2 E-R图图3.1 产品信息实体E-R图图3.2 雇员信息实体E-R图图3.3 客户信息实体E-R图图3.4 仓库信息实体E-R图图3.5 入库单信息实体E-R图图3.6 入库单产品信息实体E-R图图3.7 出库单信息实体E-R图图3.8 出库单产品信息实体E-R图图3.9 调拨单信息实体E-R图图3.10 调拨单产品信息实体E-R图图3.11 报损单信息实体E-R图图3.12 报损单产品信息实体E-R图图3.13整个系统的ER图3.3数据库设计数据库有以下十三个表组成:表3.1 产品基本信息表字段说明表3.2 雇员基本信息表字段说明表3.3客户基本信息表字段说明表3.4仓库表字段说明表3.5产品入库单基本信息表字段说明表3.6入库产品信息表字段说明表3.7产品出库单基本信息表字段说明表3.8出库产品信息表字段说明表3.9产品调拨单基本信息表字段说明表3.10调拨产品信息表字段说明表3.11产品报损单基本信息表字段说明表3.12报损产品信息表字段说明3.2代码设计我在应用程序类StoreApp的InitInstance方法中进行初始化。
各模块在连接数据库的时候都需要声明所需的指针,声明如下:_RecordsetPtr m_pIDRecordset; // 记录集指针的个数可根据实际的需要来确定声明几个_ConnectionPtr m_pConn;在StoreApp的构造函数中定义数据库的连接字符串:TreeConnString=_T("Data Source=SaleData;UID=Sa;PWD=;")数据库的初始化,连接代码如下:HRESULT hRes;try{hRes=m_pConn.CreateInstance(_T("ADODB.Connection"));//创建connection对象m_pConn->ConnectionTimeout = 8; //超时八秒hRes=m_pConn->Open(_bstr_t((LPCTSTR) TreeConnString),_T(""),_T(""),adModeUnknown); //TreeConnString 为连接字符串}catch(_com_error e) //捕捉异常{CString errormessage;errormessage.Format(_T("连接SaleData数据库失败!\r\n错误信息:%s"),e.ErrorMessage());AfxMessageBox(errormessage); //显示错误信息return FALSE;}hRes = m_pIDRecordset.CreateInstance(_T("ADODB.Recordset"));//创建Recordset对象if (SUCCEEDED(hRes)){hRes = m_pIDRecordset->Open((LPTSTR)strSQL.GetBuffer(130),m_pConn.GetInterfacePtr(),adOpenDynamic,adLockPessimistic,adCmdText);if(SUCCEEDED(hRes)){TRACE(_T("连接成功!\n"));}在要用记录集指针的时候可以用CreateInstance方法创建ADO连接对象。
在程序中使用完数据库时,还需关闭连接,代码如下:m_pIDRecordset->Close();3.2.1 基本信息模块的实现图3.2.1单击条目后产品信息对话框1. 建立产品基本信息的CProductInfo对话框类使用Visual C++6.0的“Insert\Type”为“MFC Class”,“Name”为“CProductInfo”,“Base class”为“CDialog”,“Dialog ID”为“IDD_PRODUCTINFO_FORM”。
然后单击“OK”按钮即可完成CProductInfo类的创建。
2.为模块“基本信息设置”创建菜单项,如表3.2.1所示表3.2.1基本信息设置菜单说明资源ID 标题ID_set_productInfo 产品信息设置ID_input_staffInfor 雇员信息设置3.主要代码(1)重载对话框的OnInitDialog函数在OnInitDialog函数中主要完成列表框控件的样式设定、列标题添加、数据库中已经存在的数据显示和编辑框及按钮控件可用性设置、为存放仓库组合框控件添加可选项。