信息系统分析与设计:书店进销存管理系统.docx
信息系统分析与设计:书店进销存管理系统 书店进销存管理系统 分析与设计说明书 小组长:* 小组成员:*,张文可 完成时间:2022 05 28 任务分工 任务完成人 画流程图* 画结构图* 数据库设计* 代码设计* 人机交互界面设计* 系统测试* 文档撰写* 任务完成情况 *提出“书店进销存管理系统”的构想,然*、*两人一起讨论分析系统,由于只有两人,而画图和文档是最浪费时间的,并且两人都对Microsoft Visio画图软件都不怎么熟悉,所以实际上分工的时候*画图,*设计,最后测试和文档两人一起来。 1.引言 1.1. 编写目的 书店管理的特点是信息处理量比较大,所存的图书种类多,而且由于进 货单、销售单、需求单等单据发行量特别大,关联信息多,查询和统计的方式各不相同等原因,因此在管理上实现起来有一定困难。在管理的过程中经常会出现信息的重复传递,单据报表种类繁多,各个部门管理规格不统一等问题。 1.2. 背景 随着计算机技术的不断发展, 它已经成为人们工作和生活中不可缺少的工具。早在1954年,银行、大公司和大企业纷纷采用计算机进行帐户和账目管理、生产管理、库存管理、销售管理、统计报表等。从数据的收集、存储、整理到检索统计,应用的范围日益扩大,使计算机的应用很快超过科学计算,成为最大的计算机应用领域。数据处理应用的不断扩大,推动了数据库管理系统、表处理软件、以及用于分析和预测等软件的发展。数据处理是现代化管理的基础。它不仅适用于处理日常的事务,且能支持科学的管理与决策。以一个企业为例,从市场预测,到经营决策、生产管理、财务管理、销售服务等,无不与数据处理有关。 众所周知,采购、销售、库存是企业经营的重要血脉,它们结合在一起,可以充分体现出企业的经营情况和效益。企业进销存管理系统能够有效的提高企业宏观控制和经营管理的质量,是企业现代管理的重要组成部分。而随着国家经济体制的优化改革,国内中小企业得到了迅猛蓬勃的发展。然而企业的发展壮大,客户数量的不断增多,财务工作繁琐,库存产品管理混乱等等之类的问题也接踵而来,给企业的运营者带来了很大的困扰。幸运的是,信息技术的飞速发展,科学经营管理观念的迅速传播,让这些问题得到了合理有效的解决。管理系统解决的了商业企业商品的采购、销售、库存、退货等一系列操作流程中的数据信息的处理问题,提供一系列的数据分析,进销存管理系统的全面应用,规范了企业业务流程、提高了企业的管理水平,提高资金流动的透明度,加快商品资金周转速度,进而全面提高了企业的经营水平、进而全面提升了企业的经济效益。 1.3. 参考资料 需求分析与系统设计,澳 麦斯阿塞克著,马素霞等译,机械工业出版社 信息系统原理与工程,张维明,电子工业出版社,2022年1月第1版 现代信息系统设计方法,Jibitesh Mishra 等著,司光亚等译,电子工业出版社,2022年1月第1版 信息系统分析与设计邝孔武,王晓敏,清华大学出版社,2022年4月第3版 信息系统建模,张维明,电子工业出版社,2022年3月第1版 2.项目概述 2.1. 功能描述 此次阐述的进销存管理系统就是基于这种背景开发的,为了解决现代书店管理中存在的有关销售信息、采购信息、管理信息的问题,以及使书店运营者能够合理分配人力物力财力资源,特开发此系统以实现书店现代化、便捷化、科学化的管理,最大限度的减轻管理人员的工作,提供全面的服务。根据书店所存在的问题,该系统功能主要包括以下几个方面:实现图书入库、入库退货操作;实现图书销售记录添加、修改、查询、图书销售退货操作;实现库存盘点,查询,仓库管理操作;实现信息的查询功能。 2.2. 运行环境和用户 普通PC机,有一定计算机使用经验的人即可 2.3. 条件与限制 1.统一各种原始单据的格式,统一账目和报表的格式。 2.删除不必要的管理冗余,实现管理规范化、科学化。 3.程序代码标准化,软件统一化,确保软件的可维护性和实用性。 4.界面尽量简单化,做到实用,方便,尽量满足书店中不同层次员工的需要。 3.系统分析 3.1. 业务流程图 通过采用系统流程图中部分图形工具来描述管理活动,进行规范化说明。业务流程图的符号 说明如图所示: 3.2. 系统功能结构图 3.3. 数据流程图 3.4. 数据字典 其中P 表示数据处理,F 表示数据流,D 表示数据存储。 欢迎登陆 采购管理 销售管理 库存管理 查询原有记录 增加原有记录 删除原有记录 增加原有记录 增加原有记录 查询原有记录 查询原有记录 删除原有记录删除原有记录 4.系统设计4.1. 模块结构图 4.2. 数据库设计 4.2.1.库存表sourcingtable 4.2.2.销售表saletable 4.2.3.库存表storetable 4.3. 代码设计 4.3.1.总体查询 总体无条件代码如下: void CBooktestDlg:OnButton1() / TODO: Add your control notification handler code here UpdateData(true); m_pRecordSet.CreateInstance("ADODB.Recordset"); m_pRecordSet->CursorLocation= adUseClient; CString cmdStr; /*cmdStr="select * from sourcingTbl where bookname='" cmdStr+=m_bookname; cmdStr+=_T("'"); */ cmdStr="select * from sourcingtable " try m_pRecordSet->Open(_variant_t(cmdStr),_variant_t(IDispatch *)pConnection,true),adOpenKeyset, adLockOptimistic, adCmdUnknown); catch (CException e) CString emsg; e.GetErrorMessage(LPTSTR)&emsg,1); AfxMessageBox(emsg); m_dataGrid.SetRefDataSource(NULL); m_dataGrid.SetRefDataSource(LPUNKNOWN)m_pRecordSet); m_dataGrid.Refresh(); CoUninitialize(); /现在DataGrid控件便具有添加、删除、修改数据的功能了。 4.3.2.库存表按姓名查询 有条件查询部分代码如下: void CBooktestDlg:OnButton2() / TODO: Add your control notification handler code here UpdateData(true); m_pRecordSet.CreateInstance("ADODB.Recordset"); m_pRecordSet->CursorLocation= adUseClient; CString cmdStr; cmdStr="select * from sourcingtable where people='" cmdStr+=m_people; cmdStr+=_T("'or bookname='"); cmdStr+=m_bookname; cmdStr+=_T("'"); try m_pRecordSet->Open(_variant_t(cmdStr),_variant_t(IDispatch *)pConnection,true),adOpenKeyset, adLockOptimistic, adCmdUnknown); catch (CException e) CString emsg; e.GetErrorMessage(LPTSTR)&emsg,1); AfxMessageBox(emsg); return ; m_dataGrid.SetRefDataSource(NULL); m_dataGrid.SetRefDataSource(LPUNKNOWN)m_pRecordSet); m_dataGrid.Refresh(); CoUninitialize(); /现在DataGrid控件便具有添加、删除、修改数据的功能了。 4.3.3.采购表按订单查询 4.3.4.采购订单增加,库存记录增加