超市管理系统设计一、需求分析1项目背景1.1编写目的本需求的编写目的在于研究超市管理系统软件的开发途径和应用方法。本需求的预期读者是与超市管理系统软件开发有联系的决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者。1.2背景及范围本项目的名称:超市管理系统开发软件。本项目的任务提出者及开发者是超市管理系统软件开发小组,用户是超市。超市管理系统:超市管理系统是帮助管理人员、商品销售和库存的管理软件。2项目概述该超市管理系统软件目前已有比较完善的管理与使用功能,研制超市管理系统软件是为了满足超市对商品销售和库存管理的方便,以现代化的创新思维模式去工作。2.1目标2.1.1开发意图a.为了超市管理系统更完善;b.为了超市对商品库存和销售的管理更方便;c.为了减轻工作人员的工作负担。2.1.2应用目标通过本系统软件,能帮助工作人员利用计算机,快速方便的对超市进行管理等操作,使散乱的商品销售量和库存量能够具体化、直观化、合理化。2.1.3作用及范围本软件适用于超市,它是比较完善的系统管理软件2.1.4背景现今超市管理的烦琐给具有强烈时间观念的行政人员带来了诸多不便,为了对商品销售和管理商品库存方便,因此开发了本软件。2.2一般约束a.本项目的开发经费不超过1万元;b.辅导老师1人,开发人员1人;c.在管理方针、硬件的限制、并行操作安全和保密方面无约束。2.3假设和依据假设开发经费不到位,管理不完善,设计时没能用全得到考虑,本项目的开发都将受到很大的影响。3功能需求3.1规格说明查询超市的全部信息。3.2引言为了查询超市的全部信息。3.2.1外部功能内部功能操作员和系统管理员通过应用界面,应用程序,查询等。同过SQL语言,对数据库的查询、插入、修改、删除等操作。3.3性能需求3.3.1静态数值需求a.支持的终端数为4台;b.处理并发的40个链接;3.3.2精度需求在精度需求上,根据使用需要,在各项数据的输入、输出及传输过程中,由于本系统使用了数摞结构,可以满足各种精度的需求。3.3.3时间需求在软件方面,响应时间、更新处理时间都比较快且迅速,完全满足用户要求。3.3.4灵活性当用户需求,如操作方式,运行环境,结果精度,数据结构与其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。3.3.5故障处理a.内部故障处理在开发阶段可以随即修改数据库里的相应内容。b.外部故障处理对编辑的程序进行重装载时,第一次装载认为错,修改。第二次运行,在需求调用时出错,有错误提示,重试。3.4设计约束条件3.4.1技术约束本项目的设计采用软硬一体化的设计方法。3.4.2环境约束运行该软件所适用的具体设备必须是奔腾2G内存256兆以上的计算机,局域网络环境3.4.3标准约束该软件的开发完全按照企业标准开发,包括硬件、软件和文档规格。3.4.4硬件限制奔腾2G、内存256兆以上的计算机满足输入端条件。3.5接口需求3.5.1用户接口本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:输入界面、输出界面)。用户对程序的维护,最好要有备份。3.5.2软件接口WIN2000/XP操作系统.3.6属性3.6.1可使用性在装载总程序时,正常就运行,异常就停止;汉语编程系统出现错误,将会产生不可遇见的问题,热启,整个终端程序就会再启动;程序出现错误,重新装载,若仍有错,按照提示逐渐装载。3.6.2保密性本软件作为超市管理辅助设备,它的规模比较小,不需要保密技术;限定一个程序中某些区域的规约,给不同的模块分配不同的功能。3.6.3可维护性本软件的组成程序为汉语成语设计语言,组构均较简单,直观意义上的较独立。因此,基于电子化所构成的硬件的简单可维护的特点,决定了该软件的简单可维护性。3.6.4可转移、可转换性可转移的环境是奔腾1G、128兆内存以上;不可修改任何部分;3.6.5注释本产品拥有的属性十分重要,它使得读者用规定的方法去客观的验证软件的各种特性。3.7数据库数据库是实现有组织地,动态地存储大量关联数据,方便多用户访问的计算机软硬件组成的系统;它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。由于本软件的整体结构比较简单,所涉及数据相对来说也较少,组成文件的最小单位是记录。4设备奔腾1g、内存128兆以上的计算机。局域网络环境5需求注释对于本软件,它的功能需求、性能需求、接口需求,从稳定性、可行性上都是可以的。6功能树二、概念设计1实体及其属性(1)超市E-R图:(2)收银员E-R图:(3)收银小票E-R图:(4)商品库存E-R图:2综合ER图图2-1超市管理ER图三、逻辑设计超市表(企业编号,店名,地址),主键为企业编号,符合三范式。收银员表(收银员编号,姓名,性别,工资),主键为收银员编号号,符合三范式。收银小票表(小票编号,商品编号,收银员编号,商品名称,单价,个数,总价)主键为小票编号,符合三范式。商品库存表(商品编号,商品名称,单价,库存量,供货商名)主键为商品编号号,符合三范式。表3-1超市表SHOP列名含义长度类型NULLDEFAULTENO企业编号10Char()nonoSNAME店名30Char()nonoADDRESS地址30Char()nono表3-2收银员表ASSISTANT列名含义长度类型NULLDEFAULTANO收银员编号10Char()nonoANAME姓名6Char()nonoSEX性别2Char()nonoSALARY工资8INTnono表3-3收银小票表BILL列名含义长度类型NULLDEFAULTBNO小票编号20Char()nonoCNO商品编号8Char()nonoANO收银员编号8Char()nonoCNAME商品名称8Char()nonoPRICE单价8Float()nonoQUANTITY个数3IntnonoTOTAL总价10Float()nono表3-4商品库存表RESERVR列名含义长度类型NULLDEFAULTCNO商品编号8Char()nonoCNAME商品名称8Char()nonoPRICE单价8Float()nonoLIST库存量8IntnonoPROFESSINAL供货商名20Char()yesno四、其它数据库对象的设计1、索引(1)商品库存表商品编号索引CREATEUNIQUEINDEXCRESERVEONRESERVE(CNO);(2)收银小票表小票编号索引CREATEUNIQUEINDEXBBILLONBILL(BNO);(3)收银员表中收银员编号索引CREATEUNIQUEINDEXAASSISTANTONASSISTANT(ANO);2、视图某种商品的销售量和库存量的视图GREATEVIEWCOMMODITY(CNO,CNAME,MARKET,LIST)ASSELECTRESERVR.CNO,RESERVR.CNAME,SUM(QUANTITY),LISTFROMRESERVR,BILLGROUPBYBILL.CNO3、触发器定义一个触发器,当商品库存表中,供货商为空时,自动改为”本店制作”。CREATETRIGGERUDLISTBEFOREUPDATEORTNSERTONRESERVRFOREACHROWASBEGINIFPROFESSINALISNULLTHENPROFESSINAL:=’本店制作’;ENDIF;END;4、存储过程利用存储过程来实现,当某商品卖出时,它的商品库存量相应的减少.CREATEPROCEDURESELL(BCNOCHAR,QLISTINT)ASDECLAREBEGINSELECTTISTFROMRESERVEWHEREBCNO=RESERVE.CNO;IFLISTISNULLTHENROLLBACK;RETURN;ENDIF;IFLISTQUANTITYTHENROLLBACK;RETURN;ENDIF;UPDATERESERVESETLIST=LIST-QLISTWHEREBCNO=RESERVE.CNO;COMMIT;END;五、备份及恢复策略备分策略采用数据转储和登录日志文件两种方法结合的方法备分数据库。针对不同的故障,制定恢复策略1、事务故障的恢复策略(1)反向扫描日志文件,查找该事务的更新操作.(2)对事务的更新操作执行逆操作.(3)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理.(4)如此处理下去,直到读到此事务的开始标记,事务故障恢复就完成了.2、系统故障的恢复策略(1)正向扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入重做队列.同时找出故障发生时尚未完成的事务,将其事务标识记入撤消队列.(2)对撤消队列中的各个事务进行撤消处理.(3)对重做队列中的各个事务进行重做处理.3、介质故障恢复策略(1)装入最新的数据库后备副本,使数据库恢复到最近一次转储时一致性状态.(2)装入相应的日志文件副本,重做已完成的事务.