收藏 分销(赏)

一个三层架构的进销存管理系统设计方案word.doc

上传人:可**** 文档编号:1764487 上传时间:2024-05-08 格式:DOC 页数:23 大小:427KB
下载 相关 举报
一个三层架构的进销存管理系统设计方案word.doc_第1页
第1页 / 共23页
一个三层架构的进销存管理系统设计方案word.doc_第2页
第2页 / 共23页
一个三层架构的进销存管理系统设计方案word.doc_第3页
第3页 / 共23页
一个三层架构的进销存管理系统设计方案word.doc_第4页
第4页 / 共23页
一个三层架构的进销存管理系统设计方案word.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、一个三层架构的进销存管理系统设计实 习 报 告姓名:queen 日期:2007-10-12目 录一、软件需求分析21.1 系统设计原则21.2 实现目标3二、系统概要设计42.1平台要求42.2 软件体系结构4三、系统详细设计53.1 客户端详细设计53.1.1 客户端的功能51前台收银系统52后台管理系统53.1.2 设计细节63.2 服务器端详细设计133.2.1 服务器端的功能133.2.2 设计细节13四、软件实现过程164.1 客户端窗体164.2 服务器端设置窗体17五、软件测试过程195.1 运行环境测试195.1.1 任务195.1.2 测试过程195.1.3 测试结果195.

2、1.4 评价195.2 软件功能测试195.2.1 任务195.2.2 测试过程195.2.3 测试结果205.2.4 评价20一、 软件需求分析商品零售业的核心问题是如何高效地管理进货销售调拨和存货等业务.随着商品零售业的发展,商业运作模式日趋多样化,以往的单机版的进销存存在过于简单,自动化程度差,数据安全性差,缺少辅助决策功能等不足,不能适应如今大型超市和连锁经营的需要.1.1 系统设计原则先进性系统应包含成熟的网络通信和数据库技术的设计,对于数据库访问应具备容错性.可靠性数据库系统必须是安全可靠的分布式数据库系统, 能确保数据的一致性和完整性,并使系统免受病毒感染,提供完善的数据备份方案

3、和系统工程崩溃后的恢复手段.可维护性系统提供强有力的网络,数据库管理,维护和监测功能,能有效地进行网络系统和数据库系统的管理,维护,监视和故障恢复, 使系统保持良好的性能,以方便用户的使用和维护.可扩充性应用软件实现模块相互独立,控制程序和执行程序相分离,具有高度的程序独立性和数据独立性, 使机构和业务变化的影响至最小,方便了扩充和修改.安全保密性系统在系统级,数据库级和应用级提供三级权限控制功能,检查用户是否具有合法身份和权限,以防止非用户的入侵或数据的不合法使用, 有效地保护数据的安全性。应用系统的设计应充分地,合理地利用系统提供的多种机制和功能,把商业销售与管理系统建成一个高安全性的系统

4、。实用性用户界面直观,友好, 各类人员只需经过简单培训即可上手操作。其他考虑到大多数大件商品零售企业在企业信息化方面都有不同程度的投资, 从保护现有投资的角度出发,客户端应该具有相对较低的平台要求。1.2 实现目标销售数据的及时汇总进销存业务全部电脑化, 提高办公效率和工作质量。强化以库存为中心的管理模式, 严格控制库存量, 降低运作成本。以库存,销售,供货商信息为基础, 动态地自动产生订货单,既降低库存,又避免缺货。以库存,销售信息为基础, 动态地自动产生调拨单,确保卖场不断货。提供完善合理的供货商结算机制,解决结算难问题及时提供多种统计报表,为管理人员经营决策提供可靠的分析数据。严格的数据

5、保密机制,所有用户均须根据权限进行有限的操作, 提高系统安全性。保护商业机密 。三层架构的进销存管理系统是一个采用三层客户机/服务器结构的网络应用程序。具有如下优势: 数据库服务器集中管理企业数据,克服了单机应用的很多弊端。 系统的应用逻辑由应用程序服务器集中处理,可高效地访问数据库和管理客户连接, 并有效地对客户端实施监测。 工作站的工作量较轻,可以利用已有PC机运行,保护了各企业已有的投资。在程序设计技术方面,三层架构的进销存管理系统向读者展示了高级用户界面设计等Windows程序开发技术的应用,读者可以在阅读中充分体会。二、系统概要设计2.1平台要求操作系统:客户端和服务器端均可运行于W

6、indows 2000和Windows XP平台的各个版本上。开发工具:含MFC支持的Microsoft Visual Studio 6.0。SQL server 20002.2 软件体系结构本系统服务器,客户端都设计成单文档/视图结构。服务器端包括一个主模块和通信模块,数据库访问模块, 在主模块中处理系统业务,对通信模块和数据库访问模块的调度.客户端的结构和服务器端结构类似。客户端程序的各项功能都是这样添加到文档/视图结构的框架中的。三、系统详细设计3.1 客户端详细设计3.1.1 客户端的功能1前台收银系统 支持多种形式经营模式 支持多种形式促销方式, 如打折,变价,赠送等 支持商品组销售

7、 支持会员制销售方式 商品,库存查询功能 单键商品定义功能 前台统计 用户权限管理、 营业员业绩考核2后台管理系统 业务子系统 维护子系统 统计子系统 供货商结算子系统 领导查询号子系统3.1.2 设计细节(1) 协议设计本系统的协议设计按照逐级划分的办法编码,协议命令的每一位用一个阿拉伯数字表示该命令对应的类别 。编码规则如下:第一位:1表示发送,2表示接收 第二位:大类的编号第三位:小类的编号第四位:小类的操作命令第五位:返回值有关的协议命令的格式和流程如下。u 采购及订货管理 自动订货管理 1120:发送查询销售量大于一定数量和小于一定数量的商品及其现有存货量的请求。2120:返回商品名

8、称,销售量,存货量,生产厂家等 缺货超储商品管理1130:发送查询存货量小于一定值和超过一定值的商品的请求。2130:返回商品名称,存货量。u 入库、验收、出库及退货管理 入库: 1210:发送存储供应商资料、商品分类资料、单品资料到“入库单”的请求。2210:返回存储成功或失败标志1211:发送查询入库单最大编号的请求 2211:返回入库单最大编号1212:发送根据商品编号查询商品基本资料的请求2212:返回商品基本资料 验收:1220:发送查询最大验收单号请求2220:返回查询结果1221:发送查询入库单的请求2221:返回查询结果1222:发送存储验间单的请求2222:返回存储成功或失败

9、的请求1223:发送更新入库单的请求2223:返回更新成功或失败标志 出库:1230:发送查询出库单最大编号的请求2230:返回查询号结果1232:发送存储出库单的请求2232:返回存储成功或失败的请求1233:发送查询送货或收款凭据的请求 2233:返回查询结果 退货:1240:发送“库房退货”请求,减少商品库存账2240:返回存储成功或失败标志1241:发送“商场退货”请求,减少商品库存账。2241:返回存储成功或失败标志。1242:发送“损坏商品退货出库”请求,减少损坏商品数量和金额。2242:返回存储成功或失败标志。 正常销售1311:发送存储“送货单”请求2311:返回存储成功或失败

10、标志1312:发送为送货和约查询“收款凭证”的请求2312:返回存储成功或失败标志1313:发送根据送货单号查询送货明细的请求2313:返回查询结果1314:发送根据编号查询“收款凭证”字段给送货和约的请求2314:返回查询结果1315:发送查询“送货单”的请求2315:返回查询结果1316:发送修改“送货单”的请求2316:返回修改成功或失败标志 预定销售1320:发送存储“订货和约”请求2320:返回存储成功或失败标志13201:发送查询订货和约最大编号的请求23201:返回查得的最大编号值1321:发送查询“订货合约”部分字段的请求2321:返回结果字段1322:发送存储“收款凭证”请求

11、2322:返回存储成功或失败标志13221:发送查询收款凭证最大编号的请求23221:返回查得的发送查询“送货单”的请求1323:发送查询“订货合约”全部字段的请求2323:返回结果字段1311:发送存储“送货单”请求2311:返回存储成功或失败标志13111:发送查询送货单最大编号的请求23111:返回查得的最大编号值 尾款收取1331:发送查询“收款凭证”的请求2331:返回查询结果1332:发送修改收款凭证”的请求2332:返回修改成功或失败标志 提货1340:发送查询最大调拨单号的请求2340:返回查询号结果1341:发送存储“商品调拨单”的请求2341:返回存储成功或失败标志 销售情

12、况查询1350:发送根据关键字模糊查询“送货单”请求2350:返回查询结果 盘点管理1410:发送查询剩余商品的请求2410:返回查询结果1411:发送存储“收款凭证”请求2411:返回存储成功或失败标志 报表查询1510:发送根据起止日期查询部门销售业绩的请求2510:返回查询结果1511:发送根据起止日期查询营业员销售业绩的请求2511:返回查询结果1512:发送根据起止日期查询供货员销售业绩的请求2512:返回查询结果1513:发送根据起止日期查询号供货商销售业绩的请求2513:返回查询结果1514:发送根据起止日期查询商品销售明细的请求2514:返回查询结果1515:发送根据起止日期查

13、询商品进货明细的请求2515:返回查询结果1516:发送根据起止日期和排行关键字查询商品销售排行的请求2515:返回查询结果1517:发送库存盘点请求2517:返回盘点结果1518:发送滞销商品统计请求2518:返回统计结果1519:发送预付统计请求2519:返回统计结果 营业员管理1610:发送查询销售金额的请求2610:返回总金额的一定百分比 经理管理 1620:发送查询负责的所有营业员销售金额的请求2620:返回总金额的一定百分比 安装工管理1630:发送查询安装数量的请求2630:返回结果(2)模块主流程客户端应用程序主模块的主要功能是构建应用程序框架、控制用户权限和管理通信块以及各个

14、功能模块。主模块的工作流程如下:客户端程序在服务器端启动后启动,程序首先弹出一个登录对话框,提示用户输登录名和登录密码,经服务器端确认后进入程序的运行界面。客户端应用程序是服务的主动请求方。用户通过菜单或工具栏的快捷按钮激活功能模块,功能模块直接调用通信模块和服务器端联系。用户退出功能模块后,主模块重新获得程序的控制权,等待下一个功能模块被激活和操作,直到用户退出客户端程序。(3)类设计和服务器端程序类似,客户端程序主模块由MFC文档/视图结构的基本类组成。CJXCApp类CJXCApp类是客户端的应用程序类,派生自CwinApp,它主要负责维护程序状态和应用程序运行的消息循环。CMainFr

15、ame类CMainFrame类是客户端应用程序的主窗口类,它派生自CframeWnd,其主要作用是维持客户端的用户界面。CJXCDoc类CJXCDoc类是客户端主模块文档/视图结构的文档类,它派生自COleServerDoc类,主要负责处理来自服务器端的命令和一些主菜单命令。CJXCView类.CJXCView类是客户端主模块文档/视图结构的视图类,它派生自Cview类,其主要作用是处理各种和客户端程序功能密切相关的菜单命令,这些菜单命令大体上分为功能模块操作和报表打印命令两大类。下图是客户端主模块类图:图2 客户端主模块类图(4).通信模块设计和服务器端通信模块类似,客户端通信模块包括一个数

16、据包格式的表示类Cmessage和一个通信套接字类CSerViceSocket,CMessage类和服务器端的CMessage类完全相同,且CSerViceSocket类也具有和服务器端的CServiceSoclcet类似的声明形式。主模块和其它各个功能模块需要和服务器通信时,都直接调用本模块。(5)商品基本资料管理模块设计本模块在功能上包括商品基本资料管理和供货商资料管理两部分。(1)表设计商品基本资料管理模块是查询、增删、更新商品和供货商等资料的一个客户端功能模块。该模块主要是对数据库中商品基本资料表和供货商资料表的操作。图3是系统数据库中这两个表的设计。 图3:“商品基本资料”表和“供货

17、商资料”表的设计 (2)模块主流程商品基本资料管理和供货商资料管理有着类似的工作流程。因此,这里以商品基本资料为例说明: 客户端用户在程序主菜单中触发商品基本资料管理的菜单命令,由主模块的视图类CJXCView处理,处理函数创建商品基本资料管理对话框类的实例,然后以模态对话框的方式显示。商品基本资料管理对话框在初始化时向服务器发送请求所有商品基本资料表的记录的命令,并将返回的结果显示到对话框中。商品基本资料管理对话框中有关于查询、添加、删除、更新记录的按钮以及查询条件的编辑框,不同的按钮触发相应的操作:添加、删除操作只有在更新操作执行后才有效。用户按下退出按钮,对话框结束,客户端主模块重新获得

18、程序的控制权。(3)类设计基本资料管理模块是由若干个对话框类组成的,其中最主要的两个是CDlgJBZL-SP和CDlgJBEd-JGZK类,它们分别表示商品基本资料管理和供货商资料管理主界面的对话框。3.2 服务器端详细设计3.2.1 服务器端的功能3.2.2 设计细节(1) 功能概述 服务器端的功能包括:接受并验证客户端连接,并维持连接的正确性。接收用户请求,解释协议命令,接着执行相应的数据库操作,并将操作结果返回到客户端。监视客户端的活动和数据库操作。 (2)业务逻辑主模块设计1) 模块主流程在总体设计部分,定义了主模块的功能是处理业务逻辑和调度通信模块及数据库访问|模块。由于服务器端的被

19、动服务的特性,可以确定如下的模块主流程:服务器端必须先于客户端启动,并在己知的端口上提供服务。通信模块在收到来自客户端的命令后通知主模块,业务逻辑主模块解析命令的类型|和操作参数,如果需要访问数据库,接着传入操作参数,并调用数据库访问模块的方法执行相应的数据库操作,接着返回操作结果到主模块。业务逻辑主模块将操作结果格式化成系统协议的数据包格式,接着调用通信模块的方法发送操作结果回客户端。2) 类设计业务逻辑主模块的类事实上就是文档/视图结构中的基本类,它们共同构建了服务器端应用程序的框架。cserverApp类cserverApp类是服务器端的应用程序类,派生自CwinApp,它主要负责维护程

20、序状态和应用程序运行的消息循环。由于进销存系统服务器端需要访问数据库,因此,在cserverApp中还包括COM/DCOM子系统的初始化工作。CMainFrame类CMainFrame类是服务器端应用程序的主窗口类,它派生自CframeWnd,主要保存了服务器的配置信息。CServerDoc类CServerDoc类是主模块的文档类,它派生自Cdocument类,主模块的主要功能处理业务逻辑和调度通信模块的功能都在CServerDoc类中实现。CserverView类CServerView类是主模块的视图类。CServerView类有两个作用,一是显示客户端操作,二是调度数据库访问模块,向CSe

21、rverDoc类提供数据库调用接口。下图是服务器端主模块类图:图2 服务器端主模块类图:3) 通信模块设计(1)数据包格式、.本例的进销存管理系统设计了一种和上一章的远程控制系统不同的数据包格式。数据包的格式是:命令号字符串数据发送方接收方数据包各个部分间用特定的分隔符隔开:字符串数据如果包含有多个信息,也使用分隔符分隔。如果数据包表示数据库查询操作的结果,那么字符串数据中要包含行数和列数。例如,如果设计了分隔符是#,在根据关键字查询商品基本资料表时,如果只有一条记录符合要求,那么返回的数据应该具有如下的格式: 2712#行数#列数#商品编码#名称#规格#单位#型号#供货商#生产厂商#进价#售

22、价#最小库存#商品分类#商品编码#-#发送方#接收方。返回多条记录时的格式也是类似的,只须把记录格式化为用分隔符连接的形式再用分隔符连接多条记录即可。cserverDoc:Stringseg()函数的作用就是把这样的数据包分解成若干条基本信息。采取这样的字符串表示数据,其优点在于所有的协议命令都具有统一的数据包格式,便于统一处理和协议扩充。(2)类设计通信模块要解决的问题包括数据包的表示和数据包的收发。因此,本模块由一个表示数据包内容的类CMessage和套接字类CAcceptsockert、CServicesocket组成。Cmessage类Cmessage类封装了本系统通信数据包的表示,它

23、派生自Cobject。CAcceptSocket类CAcceptSocket类是通信模块的监听套接字类,它派生自Csocket类,是服务器端的监听套接字类。CServerSocket类CServerSocket类是通信模块的数据套接字/服务套接字类,它派生自CSocket类。4) 数据库访问模块设计数据库访问模块是服务器端一个相当重要的模块,它为主模块提供了系统数据库访问接口,这样的访问接口有两个好处:一是有利于代码的复用:二是可以充分控制对数据库的访问方法。数据库访问模块的工作流程如下:服务器端启动时,直接建立和数据库的连接。.有客户端的数据包到达时,通信模块回调主模块的业务逻辑处理函数,主

24、模块在业务逻辑处理函数中调用数据库访问模块函数(如果需要的话)。服务器端结束时,程序终止和系统数据库的连接。四、软件实现过程使用Microsoft Visual Studio 6.0进行开发,开发过程严格按照概要设计和详细设计进行。4.1 客户端窗体连接服务器端界面如图4.1.图41进入主界面如图4.2图424.2 服务器端设置窗体服务器端设置窗体如图4.3所示。图4.3五、软件测试过程软件测试是保证软件质量的关键步骤,是对软件规格说明、设计和编码的最后复审,其工件量约占总工作量40%以上(对于人命关天的情况,测试相当于其它部分总成本的3 5倍)。5.1 运行环境测试5.1.1 任务测试软件对

25、的可移植行,对运行环境的要求。5.1.2 测试过程在Windows98/me/2000/NT/XP等版本进行安装运行,测试软件的每项功能。5.1.3 测试结果软件可在Windows98/me/2000/NT/XP环境下安装运行,每项功能运行正常。5.1.4 评价软件对Windows环境支持良好,但是不能跨平台使用。可移植行不太好。5.2 软件功能测试5.2.1 任务对软件的功能进行逐个测试,发现每个功能中的问题。5.2.2 测试过程采用实际数据进行测试,让用户参与。让用户对软件的每个功能进行使用,录入实际数据。5.2.3 测试结果基本上符合要求,个别功能需要修改。5.2.4 评价软件没有严重设

26、计问题和技术问题。个人工作业务总结本人于2009年7月进入新疆中正鑫磊地矿技术服务有限公司(前身为“西安中正矿业信息咨询有限公司”),主要从事测量技术工作,至今已有三年。在这宝贵的三年时间里,我边工作、边学习测绘相专业书籍,遇到不懂得问题积极的请教工程师们,在他们耐心的教授和指导下,我的专业知识水平得到了很到的提高,并在实地测量工作中加以运用、总结,不断的提高自己的专业技术水平。同时积极的参与技术培训学习,加速自身知识的不断更新和自身素质的提高。努力使自己成为一名合格的测绘技术人员。在这三年中,在公司各领导及同事的帮助带领下,按照岗位职责要求和行为规范,努力做好本职工作,认真完成了领导所交给的

27、各项工作,在思想觉悟及工作能力方面有了很大的提高。 在思想上积极向上,能够认真贯彻党的基本方针政策,积极学习政治理论,坚持四项基本原则,遵纪守法,爱岗敬业,具有强烈的责任感和事业心。积极主动学习专业知识,工作态度端正,认真负责,具有良好的思想政治素质、思想品质和职业道德。 在工作态度方面,勤奋敬业,热爱本职工作,能够正确认真的对待每一项工作,能够主动寻找自己的不足并及时学习补充,始终保持严谨认真的工作态度和一丝不苟的工作作风。 在公司领导的关怀以及同事们的支持和帮助下,我迅速的完成了职业角色的转变。一、回顾这四年来的职业生涯,我主要做了以下工作:1、参与了新疆库车县新疆库车县胡同布拉克石灰岩矿

28、的野外测绘和放线工作、点之记的编写工作、1:2000地形地质图修测、1:1000勘探剖面测量、测绘内业资料的编写工作,提交成果新疆库车县胡同布拉克石灰岩矿普查报告已通过评审。2、参与了库车县城北水厂建设项目用地压覆矿产资源评估项目的室内地质资料编写工作,提交成果为库车县城北水厂建设项目用地压覆矿产资源评估报告,现已通过评审。3、参与了新疆库车县巴西克其克盐矿普查项目的野外地质勘查工作,参与项目包括:1:2000地质测图、1:1000勘查线剖面测量、测绘内业资料的编写工作;最终提交的新疆库车县康村盐矿普查报告已通过评审。4、参与了新疆哈密市南坡子泉金矿2009年度矿山储量监测工作,项目包括:野外

29、地质测量与室内地质资料的编写,提交成果为新疆哈密市南坡子泉金矿2009年度矿山储量年报,现已通过评审。6、参与了新疆博乐市五台石灰岩矿9号矿区勘探项目的野外地质勘查工作,项目包括:1:2000地质测图、1:1000勘探剖面测量、测绘内业资料的编写工作,并绘制相应图件。7、参与了新疆博乐市托特克斜花岗岩矿详查报告项目的野外地质勘查工作,项目包括:1:2000地质测图、1:1000勘探剖面测量、测绘内业资料的编写工作,并绘制相应图件。通过以上的这些工作,我学习并具备了以下工作能力: 1、通过实习,对测绘这门学科的研究内容及实际意义有了系统的认识。加深对测量学基本理论的理解,能够用有关理论指导作业实

30、践,做到理论与实践相统一,提高分析问题、解决问题的能力,从而对测量学的基本内容得到一次实际应用,使所学知识进一步巩固、深化。2、熟悉了三、四等控制测量的作业程序及施测方法,并掌握了全站仪、静态GPS、RTK等测量仪器的工作原理和操作方法。3、掌握了GPS控制测量内业解算软件(南方测绘 Gps数据处理)以及内业成图软件(南方cass)的操作应用。能够将外业测量的数据导入软件进行地形图成图和处理。4、在项目技术负责的指导下熟悉了测量技术总结的编写要求和方法,并参与了部分项目测量技术总结章节的编写工作。5、在项目负责的领导下参与整个测量项目的组织运作,对项目的实施过程有了深刻理解。通过在项目组的实习锻炼了自己的组织协调能力,为以后的工作打下了坚实基础。二、工作中尚存在的问题 从事测绘工作以来,深深感受到工作的繁忙、责任的重大,也因此没能全方位地进行系统地学习实践,主要表现为没有足够的经验,对于地形复杂的地段理解不够深刻;理论知识掌握不够系统,实践能力尚为有限。以上问题,在今后工作中自己将努力做到更好。三、今后的工作打算 通过总结四年来的工作,我无论从工作技术上,还是从世界观、人生观、价值观等各个方面,都有了很大的提高。今后,我会在此基础上,刻苦钻研,再接再厉,使自己在业务知识水平更上一层楼,为测绘事业的发展,贡献自己的力量。22

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服