




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上分布式数据库课程设计与实现面向连锁超市管理系统的分布式数据库设计与实现专心-专注-专业目录1. 连锁超市管理系统概述1.1 背景介绍 随着市场经济的发展和人民生活水平的提高,原来单一、小规模的超市已无法满足人民对购物环境的要求,大规模、物品丰富的超市正在蓬勃发展。超市销售数据规模的日益庞大,商品数目的迅速增长,采用以往的手工管理已直接或间接地降低了工作效率,最终影响超市的日常运转。另外超市的发张壮大,尤其是连锁超市(如家乐福、美廉美)的扩张,使得他们具有地域上分散而管理上又相对集中的特点,往往既要有各门店的局部控制和分散管理,同时也要有整个组织的全局控制和高层次的协同
2、管理。因此把这些门店和中心通过网络连接起来,设计开发一款基于分布式数据库的连锁超市管理系统SMS(Supermarket management system)势在必行。 可行性分析(1)经济可行性使用连锁超市管理系统对超市连锁店进行信息化管理将直接提高公司管理部门的工作效率。通过网络远程提交汇总各门店的信息,节省了许多的时间和金钱。另一方面,用信息化管理统计大量数据,节省了很多的人力和财力,为管理者提供更好的决策支持。(2)技术可行性 网络应用基础设施完善,由于信息技术的发展,我国的计算机网络飞速发展,先后建成了中国公众多媒体通信网、China Net、 中国教育与科研计算机网络等组成了中国I
3、nternet主体,网络应用进入企业与普通家庭,这为发展连锁超市网络办公提供了基础设施。 网络安全技术应用,包括加密算法、CA数字认证、数字签名等,为网络办公系统的应用提供安全保证,它实现了网络传输数据的安全性、完整性等。 最后,就是网络技术的普及与掌握,如网络互联、网络安全技术、网络数据库技术等,使我们有能力开发实现适合自己的管理系统。因此,公司构建跨区域的管理系统的技术瓶颈问题(网络应用基础设施、网络安全、开发技术)得到了有效解决,公司构建网络管理系统技术上可行。(3)操作可行性由于SMS的操作是基于C/S的客户端的页面操作,简单明了,用户无需学习,一般都能够很容易的知道如何操作。而管理员
4、也无需具备专业知识,只需要对一些数据进行输入以及平时的日常维护就够了。系统目标和先进之处 (1)系统目标为连锁超市提高效率、降低成本;实现连锁超市管理的优化,简化工作流程,节省人力物力,提高工作效率,极大地满足客户需要;对各环节进行控制分析,实现统一调度。满足连锁超市的基本管理功能,发挥信息系统的灵活性,减轻企业管理人员和操作人员的工作负担,提高工作效率。 本系统是一项功能比较完善的连锁超市管理系统,对连锁店运作过程中的后台数据可以随时进行分析,便于企业管理人员的经营、决策。 全面体现了现代企业管理理论所倡导的工作高效、环境轻松的氛围。(2)系统先进之处 Ø 多数处理就地完成。
5、16; 各地的计算机由数据通信网络相联系。 Ø 克服了中心数据库的弱点:降低了数据传输代价。 Ø 提高了系统的可靠性,局部系统发生故障,其他部分还可继续工作。 Ø 各个数据库的位置是透明的,方便系统的扩充。 Ø 为了协调整个系统的事务活动,事务管理的性能花费高。 小组成员和任务分配 用户需求概述 下面是通过调查研究获得的关于连锁超市主要信息数据的需求分析结果:(1) 连锁超市通常由一个中心(公司总部)、多个远程连锁店(门店)组成,并且每个连锁店分布在不同地域。 (2)连锁超市的各个部门之间、各个分店之间、分店与总部之间需要交换数据,这种数据交换是通过局域
6、网和广域网进行的。(3)公司总部负责产生并管理该连锁超市的整体汇总数据,即各门店的明细汇总表数据,如销售汇总表等。(4)每一个远程站点(各门店和公司总部)分别有一个数据库系统,各自组成一个独立的子系统,可以分别独立进行本部门业务处理。(5)总部为了便于对各店进行管理,同时也为了比较各店的销售情况,要求门店将所有商品归入相应的商品类别,由总部统一管理并提供各门店使用,而且,商品类别信息数据在各门店都要经常使用。(6)有关商品信息、供应商信息、POS机信息、进货信息和销售信息等经营基础数据都是各门店单独管理和使用,门店之间互不相关。(7)整个连锁超市的职员信息由公司总部管理和维护,各门店只可以查询
7、本部门的职员信息。 业务需求分析通过对超市的营业、管理业务流程的调查,得到下面的业务需求。Ø 可以对商品类别、商品、供应商、POS机等基础信息进行管理。Ø 可以实现采购开单、销售开单、采购退货、销售退货等基本功能。Ø 软件可根据商品资料中设置的最高库存、最低库存进行库存报警。Ø 商品的批发价、零售价可自动生成,减轻定价的工作量。Ø 可以生成各类统计报表,提供详尽的营业报告,实现对商品进、销、存及利润等财务状况了如指掌。Ø 所有单据、报表均可以在打印前预览,并且可以导出为Excel文件,然后根据实际需要进行特别的编排处理。Ø
8、为了系统安全,每次用户登录都创建相应的日志文件,记录用户的所有操作。此外,对系统的性能主要有以下几个方面的需求。系统在设计过程中应充分考虑到可扩充性,要求操作界面美观大方,容易上手。功能分析根据对系统的业务调查和用户的需求分析,结合计算机信息管理的特点,设计系统实现的功能如下。(1) 基础信息管理基础信息管理包括业种商品类别信息、商品信息、供应商信息、POS机信息和价格信息维护与管理,实现的功能包括:Ø 基本信息的添加、删除和更新操作。Ø 生成各类基础信息报表。Ø 打印和导出报表。(2) 进货管理进货管理主要实现对商品的采购入库信息进行管理,具体实现功能如下:
9、216; 进货开单,实现商品的进货结算、入库操作。Ø 进货退货,退还商家相关的商品。Ø 生成进货、退货的单据、商品报表。Ø 打印和导出报表。(3) 销售管理销售管理主要实现对商品的销售出库相关信息进行管理,具体实现的功能如下:Ø 销售开单,实现商品的销售结算、出库操作。Ø 销售退货,允许客户退出相关的商品。Ø 生成销售、销售退货的单据、商品报表。Ø 打印和导出报表。(4) 库存管理库存管理主要实现对商品的库存相关信息进行管理,具体实现的功能如下:Ø 库存查询,可以查看所有库存商品的相关信息。Ø 库存报警,
10、对库存过多或过少的商品进行报表统计。Ø 库存盘点,可以修改商品的库存数量。(5) 帐务管理帐务管理主要实现对营业员的销售商品、业务提成、营业收入等情况进行分类报表统计。(6) 数据管理数据管理主要实现对数据库数据进行备份、还原及清理等相关工作。(7) 系统管理系统管理主要实现登录用户(职员)管理、系统日志、修改登录密码等相关工作。2. 系统总体设计绘制用例图设计系统功能用例图表示了角色和用例以及它们之间的关系。它描述了系统、子系统和类的一致的功能集合,表现为系统和一个或多个外部交互者(角色)的消息交互动作序列。也就是角色(用户或外部系统)和系统(要设计的系统)为了实现一个目的交互,这
11、个目的的描述通常是一个谓词短语,例如签合同等。系统设计包含超级管理员、管理员和营业员四种用户角色。超级管理员具有所有的操作权限,其用例图如图3-1所示。图3-1 超级管理员角色系统用例图管理员不具备系统设置模块中的用户管理和商品类别信息管理功能,其他功能均具备。而销售人员则只具有销售开单管理功能。绘制系统流程图结合系统的具体设计要求,连锁超市管理系统的主要功能流程图如图3-2所示。图3-2 系统主要功能流程图系统首先对登录用户身份进行验证,根据用户的权限激活相关功能。超级管理员具有所有的操作权限,系统的功能结构图如图3-3所示。图3-3 系统功能结构图上图只是列出了一些主要功能,系统还能够根据
12、不同需求生成各种统计报表。 系统开发环境 本系统是在Windows XP中文版操作系统环境下,使用Microsoft Visual Studio 2008中文版用C+语言开发成功的。在开发过程中,使用了OLE技术和ActiveX控件技术。后台数据库系统设计采用的是Microsoft的 SQL Server 2005和Access数据库系统,通过ADO数据库开发技术,直接操作数据库文件。系统的运行环境系统可以直接在Win98、Win2000、WinXP环境下运行。系统预设的超级管理员用户名为“admin”,密码为“admin”。 系统运行演示程序启动,首先弹出如图3-4所示的“系统登录”对话框,
13、只有输入正确的用户ID、登录密码才能进入系统能够。图3-4 “系统登录”对话框如果登录用户为超级管理员或管理员,会进入系统的主界面窗口,如图3-5所示。图3-5 系统的主界面窗口如果登录用户权限为营业员,由于其只具有售货权限,因此系统会直接弹出“销售开单”对话框,如图3-6所示。图3-6 “销售开单”对话框在进行相关操作前,首先需要添加、设置一些基本资料,如商品分类登记,其操作设置对话框,如图3-7所示。图3-7 “商品分类登记”对话框另外,系统还提供了丰富的报表功能,如图3-8所示的商品分类报表,同时对报表提供了导出到Excel文件和打印的功能。图3-8 商品分类报表对话框系统类库设计 BI
14、TVRLab超市管理系统主框架的设计是通过MFC创建向导创建的基于对话框的窗口程序,在对话框程序中添加了菜单栏,系统的主要类库设计如下。 Ø 自定义扩展类:为了提高开发效率、便于代码重用,自定义了一些数据操作类和控件扩展类,如表3-1所示。表3-1 自定义扩展类及功能类说 明CADOConn通过ADO实现对ACCESS、SqlServer等数据库的访问CtablePartInfo根据数据库表的分配、分片信息,实现对数据库表的增、删、改、查CFileOperate实现对硬盘文件的常用操作CMyChiToLetter实现根据逐字提取汉字拼音的首字母CMyButtonCButton类的派生
15、类,实现带有位图和文本的按钮CMyMenuCMenu类的派生类,用于定制自己的菜单CMenuItemContextCMenu类中用到此类,用于保存菜单项的信息CMyTime实现简单的时间格式的转换CMyExcel完成VC对Excel文件的操作Ø 对话框窗口类:在系统中,用户所有的数据查询、操作都是通过对话框窗口来实现的,系统开发的对话框类如表3-2所示。表3-2 对话框类及说明类说 明CDlgFenJiBasePOS机基本信息管理对话框类CShopManageDlg主框架对话框类CDlgFenLeiBase商品分类基本信息管理对话框类CDlgDanganBase商品基本信息管理对话框
16、类CDlgGongYingShangBase供应商基本信息管理对话框GDlgJiaGeSheZhi价格自动设置对话框类CDlgJinHuoKanDan商品进货开单管理对话框类CDlgJinHuoTuiDan商品进货退单管理对话框类CDlgXiaoShouKanDan商品销售开单管理对话框类CDlgXiaoShouTuiDan商品销售退单管理对话框类CDlgAll用于查找信息显示对话框类CDlgReport用于报表显示对话框类CDlgLogo用户登录对话框类CDlgPwd更改密码对话框类CDlgQuit退出系统提示对话框类Ø 打印相关类:系统能够提供了报表的打印和打印预览功能,其相关的
17、设计类如表3-3所示。表3-3 打印相关类及说明类说 明CPrintFrameCFrameWnd派生类,用于构建打印框架类CPrintView打印视图类另外,系统还包含一些主框架相关类、导入ActiveX控件(MFC Grid Control)相关类和导入OLE对象(Excel)相关类。3. 分布式数据库分析与设计 数据库分析考虑到总站点的信息量大采用SQL Server2005数据库,而区域站点信息量相对较小采用Access数据库。当区域业务拓展,操作终端增加时,Access数据库也很容易的移植到SQL Server数据库系统中。另外区域站点采用Access数据库可以实现方便的部署。数据库概
18、念设计分析超市管理功能流程,系统的数据实体主要包括基本资料对象实体、库存实体、进货/销售开单、进货/销售退单、进货/销售商品实体、各站点数据库服务器IP信息实体、数据库表分配分片信息实体等。Ø 基本资料对象实体包括商品类别、商品明细、供应商、POS机和登录用户实体。Ø 商品库存实体记录库存商品的数量和价格信息,其实体的E-R图如下。Ø 商品进货单实体用于记录进货单的统计信息,其实体的E-R图如下所示。Ø 进货商品实体用于记录进货单对应的商品信息,其实体的E-R图如下所示。Ø 进货退单实体用于记录进货退单信息,其实体的E-R图如下所示。与进货相对
19、应的销售单实体、销售商品实体和销售退单实体的E-R图如下所示。Ø 各站点数据库服务器IP信息,记录各个区域数据库服务器对应的IP地址,其实体的E-R图,如下图所示。Ø 数据库表分配分片信息,记录数据中所有的表的分布式分配和分片信息,其实体E-R图,如图所示。数据库逻辑结构设计商品类别表、商品明细表、供应商表、POS机表、登录用户表、库存表、进货/销售开单表、进货/销售商品表、进货/销售退货商品表、IP地址登录信息表、数据库表的分配和分片信息。商品类别表:商品明细表:供应商表:POS机表:用户表:库存表:进货单表:进货商品表:进货商品退单表:销售单表:销售商品表:销售商品退单
20、表:服务器IP信息表:分片及分布信息表: 分片与位置分配设计 站点通信模型在我们的连锁超市管理系统中,有一个总店并下分多个分店,总店和分店之间或分店与分店之间都可以进行通信。每个分店是一个相对独立的数据库服务系统,其可以连接任意数量的客户端。通信模型如下图所示:与位置分配设计根据以上得到的关于主要信息数据的需求分析结果,为该连锁超市系统的分布式数据库系统进行主要信息数据的分片和分配设计如下:1、数据的分片设计(1)由于该连锁超市系统的各连锁店之间在经营上是独立的,每个门店只关心自己的经营状况,有关供应商信息、POS机信息、商品信息和进货/销货信息等基础数据都是各门店单独管理和使用,门店之间互不
21、相关。因此,商品明细表、供应商表、POS机表、库存表、进货/销售开单表、进货/销售商品表、进货/销售退货商品表按照地域(门店所在区域标志)采用水平分片的方法得到水平片段。(2)这里我们对于商品信息进行了垂直分片,分成了商品明细表和库存表,因为商品的某些属性,例如库存量等需要经常更新,因此将这些属性划分出来构成单独的实体可以减少系统开销。(3)由于整个连锁超市的职员信息由总公司管理和维护,各门店只可以查询本店的职员信息。所以职员信息不必分片,可以采用视图的形式提供给各门店查询本门店的职员信息。另外,各个区域数据库服务器的IP地址信息也只是由总部管理、维护,所以也不必分片。(4)由于商品分类数据由
22、总部统一管理并提供各门店使用,而且,商品类别信息数据在各门店都要经常使用。因此,商品类别信息数据也不必分片。(5)该分布式数据库系统实现了简单的目录管理,记录数据库中各个表的分片和分配信息,以便数据更新时,维护各个站点上数据的一致性。这个表由总部规划建立,各门店也会经常使用。因此,数据库目录信息表也不必分片。2、数据及其片段的分配设计(1)对于只在各门店单独使用的除商品类别信息和数据库目录信息以外的其他基础信息的片段,采用按区域分片然后分配到各个门店的数据库服务器上。总站上有所有门店的所有信息。(2)整个系统的职员信息、IP地址信息由公司总部管理和维护,所以只分配在总部站点中。(3)商品类别信
23、息、数据库目录信息是由总部统一规定并下发到各门店的,由于各店经常会使用到这类基础信息,因此在各门店都具有相同的副本。所以,商品类别信息、数据库目录信息都不会分片但被复制,且复制的个数为门店的个数。4. 基于SQL的SMS的详细设计(实现)公共类设计为了提高程序代码的开发效率,便于代码重用,在系统开发中,创建了一些数据操作类和控件扩展类。为了便于对硬盘文件的操作,开发了文件操作类CFileOperate,它通过调用API函数实现常用的文件操作。CFileOperate类的声明代码如下。extern CString strTmpPath;class CFileOperatepublic:. );l
24、s",OFN_NOCHANGEDIR,"EXCEL文件|*.xls");CADOConn adoMain;, , , FROM CommodityInfo INNER JOIN StoreInfo ON = and = where ="+area;=&m_listMain;(strSql);m_str1=""m_str2=""m_str3=""m_str4=""m_str5=""m_str6=""m_str7="&qu
25、ot;m_str8=""m_dbl9=0;m_dbl10=0;m_dbl11=0;m_dbl12=0;m_dbl13=0;m_dbl14=0;m_dbl15=0;UpdateData(FALSE);“更新”按钮的响应函数OnModify()代码如下。void CDlgDanganBase:OnModify() , , ,"strSql=strSql+", , "strSql=strSql+" FROM CommodityInfo INNER JOIN StoreInfo ON "strSql=strSql+" =
26、and = where ="+area;=&m_listMain;(strSql);while(i,1)!=m_str2&&i<()i+;if()>0)(i, LVIS_SELECTED, LVIS_SELECTED);另外,库存盘点功能也是“商品信息登记”对话框中实现的,只需在商品编辑中输入商品的数量,单击“更新”按钮,即实现了商品盘点功能。.2 价格自动生成功能开发在商品明细信息登记中,添加的商品明细子脑子默认的商品会员价、零售价、业务提成均与进货价相同。为了便于统一管理,系统开发了价格批量生成功能。执行“基本资料”“价格自动生成设置”菜单命令
27、,系统会弹出如下图所示的“价格生成”对话框。通过检索添加要生成价格的商品,而后以进货价为基准,在会员价、零售价和业务提成。“价格生成”对话框对应的对话框类DlgJiaGeSheZhi,“生成”按钮响应函数OnBegin的实现代码如下。void CDlgJiaGeSheZhi:OnBegin() from StockCommodity,StockReturn "=+"where not like and "=+" like '"+str2+"%'"=+" and StockCommodity.&quo
28、t;=5;();, , ,"strSql=strSql+", , "strSql=strSql+" FROM CommodityInfo INNER JOIN StoreInfo ON "strSql=strSql+" = "="商品库存统计报表"=strSql;=+" where CommodityInfo."=16;(); 库存报警功能开发系统提供了库存报警功能,管理员可以查询库存的过多或过少商品信息。以过少库存报警为例,执行“库存管理”>“过少报警商品报表”菜单命令,会弹出
29、过少报警商品统计报表对话框,如下图所示。在报表中,列出了所有过少库存商品信息。“过少报警商品报表”菜单项的响应函数OnMenuitemE008代码如下。void CShopManageDlg:OnMenuitemE008() ,"=+" from CommodityInfo,StoreInfo"=+" where = and "=+" >"=+" and CommodityInfo."=5;();6. 开发技巧和难点分析技术使用OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一
30、体,将每个应用程序看做是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用OLE技术,可以方便地建立复合式文档,这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。本系统开发中,对所生成的各种报表均提供了导出功能,将报表数据导出到Excel文件,这就是采用了OLE技术。为了便于对Excel对象操作,系统定义了Excel对象操作,系统定义了Excel操作类CMyExcel。 Grid Control控件的使用在数据库的操作系统中,经常要遇到对数据库的内容进行显示,修改,添加和删除等功能,而一般情况下数据库的容量都是很大的
31、,为此通常选用以电子表格的形式来显示数据库的内容,并在其上完成对数据库的修改,添加和删除,使对数据库的操作既直观又方便。CGridCtrl控件就是一个优秀的网格控件,它可以实现类似EXCEL的界面。CGridCtrl类派生于CWnd类,该类主要包含以下8个方面的函数,其函数形式如下。(1)CGridCtrl类的构造函数 函数的原型如下:CGridCtrl(int nRows = 0, int nCols = 0, int nFixedRows = 0, int nFixedCols = 0);BOOL Create(const RECT& rect, CWnd* parent, UINT nID, DWORD dwStyle = WS_CHILD | WS_BORDER | WS_TABSTOP | WS_VISIBLE);(2)表格行列数方面的函数 int GetRowCount() const return m_nRows; int GetColumn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电动机制造中的生产计划与库存管理考核试卷
- 肥料制造的智能监控与远程操作考核试卷
- 海洋气象科学研究计划考核试卷
- 管道工程生态环境影响评价考核试卷
- 稀土金属提炼过程中的行业趋势与市场前景分析考核试卷
- 篷布生产环保措施考核试卷
- 票务市场趋势考核试卷
- 抖音社交关系终止及违规用户处理协议
- 二手房抵押交易债务结算专项协议
- 互联网教育平台投资合作协议
- 江苏省南京市、盐城市2025届高三年级5月第二次模拟考试化学试题及答案(南京盐城二模)
- 上海市金山区2025届高三下学期二模数学试卷(含答案)
- 【MOOC】宇宙简史-南京大学 中国大学慕课MOOC答案
- 常用尿动力学检查及结果判读详解演示文稿
- 公安机关业务技术用房建设标准正文
- GB/T 29076-2021航天产品质量问题归零实施要求
- GB/T 18656-2002工业系统、装置与设备以及工业产品系统内端子的标识
- GB 29449-2012轮胎单位产品能源消耗限额
- 人教版地理七年级下册《巴西》课件
- 医院住院病人健康教育表
- 实习证明模板下载版新版
评论
0/150
提交评论