您好,欢迎来到独旅网。
搜索
您的当前位置:首页商店管理系统 软件工程

商店管理系统 软件工程

来源:独旅网
软件工程商店管理系统By韩,黄,王一可行性研究

1.1引言1.1.1编写目的

1.可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解。在此项目中,通过全面的信息采集和处理,辅助提高超市的决策水平,大大提高超市的运作效率。2.经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。为降低经营成本,提高效益,增强超市扩张力,提供有效的技术保障。1.1.2项目背景

各种商店遍布大街小巷,给人们的生活带来了很大的方便。做好商店内部的人员,商品和销售的管理工作,对商店的成功经营十分重要。然而传统的商店管理,主要以人工为主,不但费时费力,风险也不小。21世纪,商店销售的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是销售业的竞争核心。该商店管理系统将用于各种商店的商品进出货,消费者信息和职工信息的管理,实现以计算机辅助形式代替传统的手工查询记录形式,减轻商店管理人员的劳动强度,提高工作质量和效率,从而使商店管理更加合理化和科学化。1.1.3术语定义

1商品条形码:每种商品具有唯一的条形码,对于某些价格一样的商品,可以使用自定义条形码。2交易清单:包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号。3商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。4促销:在一定时期内,某些商品会按低于原价的促销价格销售。库存告警提示:当商品的库存数量低于库存报警数量时发出提示。5盘点:计算出库存、销售额、盈利等经营指标。1.1.4参考资料

《软件工程讲义》曾一,付鹤岗,古平,郑洪英重庆大学计算机学院《软件工程实践教程》赵池龙,姜义平,张建电子工业出版社1.2可行性研究的前提1.2.1项目要求

主要功能:为商店管理服务,方便商店经营工作,提高商店管理的质量和服务效率输出要求:数据完整,详实。操作要求:简捷,快速,实时。完成期限:预计三个月,即截止2011年6月30日。1.2.2项目目标

1软件工程商店管理系统By韩,黄,王针对商店的特点,为了帮助商店经营者解决现在面临的问题,提高商店的竞争力,我们将开发以下系统:前台POS销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。1.3管理可行性分析

商店的经营者大多具备电脑基本操作知识,对于必要的专业操作经短期培训即可;管理基础工作和各项管理制度比较健全,执行严格,原始数据采集完整,保存良好。

1.4经济可行性分析

商店管理系统的投入,能够提高工作效率,减少工作人员,从而减少人力资本的投入,根据核算,系统投入三个月后,就能够基本收回开发系统的投资,从经济角度来说,本系统开发完全必要。

1.5技术可行性分析

1.硬件:电脑一台2.软件:操作系统:中文Windows7开发系统:MicrosoftVisualbasic6.0,SQLServer2005的服务器版本。系统本身对硬件和软件的要求都不高且系统兼容性很强,平台的移植性也很好,因此无论在系统的硬件及软件上都满足开发的要求。3.本系统涉及到的技术因素:●管理系统的开发方法。使用面向对象开发方法开发软件系统●网络和通信技术。开发小组有基于C/S开发的经验●C/S机构规划和技术设计。开发小组有应用数据库开发经验●数据库技术。开发小组能使用VisualBasic编程4运行上的可行性:●操作简单:简单的操作规则使操作人员能轻松掌握。●查询方便:用户可设定任意条件和任意的查询项目进行检索。●统计灵活:任意条件下任意项目的产品入库时间、数量等的统计及查询项目均可进行交叉统计。1.6社会因素方面的可行性1.6.1法律因素

所有技术资料都由提出方保管。所以技术并无抄袭侵权行为。2软件工程商店管理系统By韩,黄,王1.6.2用户使用可行性

零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。该管理系统符合以上需求,有良好的市场竞争力。同时,该系统使用简单,使用者只需简单熟悉即可方便快捷准确地操作。1.7结论意见

在经济,技术,管理和社会因素方面都有可行性,可以确定本系统的开发完全必要,而且是可行的,可以立项开发。

3软件工程商店管理系统By韩,黄,王二项目开发计划

2.1引言2.1.1编写目的

为项目管理人员、开发人员和用户提供一个对资源、成本、进度做出合理估算和安排的框架,以便管理者有效地组织、实施和管理该项目计划,保证软件项目开发成功。本报告的主要作用是确定各个项目模块的开发情况和主要的负责人,供各项目模块的负责人阅读,做到及时协调,按步有序进行项目的开发.减少开发中的不必要损失。2.1.2项目背景

由于老的操作程序已经不适应激烈的市场竞争了,商店管理的经营者为符合社会市场的需要,快速发展,提高竞争能力,提出了新的系统要求。他们的新系统要求一套实时,高效,便捷,完善,安全性好的软件系统。2.1.3参考资料

《软件工程讲义》曾一,付鹤岗,古平,郑洪英重庆大学计算机学院《软件工程学习与实践》李伟波,王庆春,刘永祥武汉大学出版社2.2项目概述2.2.1工作内容

各工作小组根据时间先后安排,分别对项目进行开发。各项主要工作:需求分析小组对闹市区各种商店进行调研(为期半个月)。软件开发小组对调查结果进行分析,拟订实现方案。软件编程小组对软件进行集中开发。软件审核小组对软件进行评定,审核2.2.2提交产品

1.程序程序名称:商店管理系统使用语言:vb存储形式:磁盘2.文档项目开发计划系统使用手册系统维护手册详细技术资料2.3实施计划

4软件工程商店管理系统By韩,黄,王2.3.1任务分解

分析阶段(半个月)设计阶段(一个月)写代码及单元测试阶段(一个月)总测试及修改阶段(半个月)维护阶段(不定)调研小组设计小组开发小组测试小组维护小组2.3.2人员分工

黄进,王博君,韩兴旺王博君,韩兴旺黄进,王博君,韩兴旺黄进,王博君韩兴旺,黄进调研小组设计小组开发小组测试小组维护小组2.3.3进度

半个月进行调研。一个月进行实现。一个月进行测试,维护。半个月进行实践。2.3.4预算

分析阶段设计阶段写代码及单元测试阶段总测试及修改阶段------------------------50元左右50元左右50元左右2.4支持条件

2.4.1完成项目应具备的条件

资金调研环境开发平台开发基础设施开发人员维护人员2.4.2计算机系统支持

服务器服务器可根据应用的规模选定,即可采用各种专用的服务器系统(如;SUN服务器),也可使用操作系统为WinNT服务器的小型服务器。数据库软件5软件工程商店管理系统By韩,黄,王数据库软件采用Oracle(7.3.3以上版本),可根据服务器操作系统平台选择相应的Oracle数据库。Web应用服务器OracleApplicationServer(3.0以上版本)IE浏览器(6.0以上版本)客户机客户机分为两类,采用C/S结构的子系统运行在Win9X操作系统上,硬件要求为Pentium166/32M以上配置;采用B/S结构的子系统运行在Win9X的浏览器之上,硬件要求为Pentium133/32M以上配置。2.4.3开发人员已经具备的条件

开发基础设施开发平台2.4.4需由外单位提供的条件

良好的调研环境资方应提供足够的资金和开发条件,并详细的阐明要求2.5专题计划要点2.5.1用户培训计划

对于新购买的商店经营者,提供培训计划。由于该软件的使用并不复杂,只需简单向用户介绍主要操作及注意事项即可。具体详细内容,用户可参见系统使用手册。6软件工程商店管理系统By韩,黄,王三需求分析

3.1需求获取

获取需求方法:①成立专门的联合分析小组;②客户访谈;③问题分析与确认。获取需求对象:①商店客户:根据购物客户大概总结客户方面的需求;②商家:开商店的具体要求:资金,管理,进销存等;③商店领域专业人士:进行问题分析与确认;④系统分析员:总结系统所需实现功能。3.2需求总结

客户需求:商品品种多样,商品易找,尽量便宜。商家需求:必须具备记录仓库存货、销售以及进货情况,通过该系统了解超市进货渠道、商品单价、数量,库存商品的种类、数量,销售商品种类、价格、数量,以便管理员根据以上信息作出经营管理决策。商店领域专业人士:在性能方面要求系统核算准确,使实存商品、销售商品与所记帐目一致,能够被超期有效使用。数据主要来自于入库单、,超市销售在营业期间内一直发生,数据也就一直变化。销售商品后开出,并且要显示商品价格数额。超市数据资料有些属内部资料,不能为外人所知,系统须有保密措施,设置密码。系统分析员:查看资料需输入正确密码,销售人员销售货物需输入代号才能打开收银柜。万一泄露密码,应设修改密码的程序,同时密码不能过于简单。3.3功能分析

零售前台管理系统功能:(1)商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。(2)收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。(3)安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止7软件工程商店管理系统By韩,黄,王意外及恶意非法操作。(4)作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业后台管理系统功能(1)进货管理:根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。按计划单有选择性地进行自动入库登记。综合查询打印计划进货与入库记录及金额。(2)销售管理:商品正常销售、促销与限量、限期及禁止销售控制。综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。(3)库存管理:综合查询库存明细记录。库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。库存自动盘点计算。(4)人员管理:员工、会员、供货商、厂商等基本信息登记管理。员工操作权限管理。客户销售权限管理。3.4需求提炼——分析建模

使用图形化的分析建模,包括用例图,数据流图,E-R图,其对应图如下:总系统用例图:商品录入营业员收银业务员工基本信息管理商品销售控制员工操作权限管理总经理超市经理进货管理客户销售权限管理库存管理图3.4.1商店管理总系统用例图8软件工程商店管理系统By韩,黄,王(1)员工(营业员):通过商品条形码扫描输入商品到购买清单操作软件计算交易总金额操作软件输出交易清单对会员进行会员卡扫描以便打折(2)超市经理:操作软件录入商品,供货商,厂商操作软件制定进货计划查询打印计划进货与入库记录操作软件控制商品销售与否查询打印销售情况操作软件生成销售排行榜查询库存明细记录根据软件发出的库存告警进行入货操作软件进行盘点计算(3)总经理:基本信息登记管理员工操作权限管理客户销售权限管理零售前台管理系统用例视图9软件工程商店管理系统By韩,黄,王商品录入销售管理营业员条形码扫描顾客结帐添加VIP会员业务打折删除VIP图3.4.2零售前台管理系统用例图后台管理系统用例图10软件工程商店管理系统By韩,黄,王自动制定进货计划销售管理自动入库登记生成销售排行榜超市经理库存管理查询库存明细记录仓管员库存状态自动告警自动盘点计算自动制定进货计划进货管理自动入库登记查询打印计划基本信息登记管理员工人员管理客户销售权限管理提示员工操作权限管理图3.4.3后台管理系统用例图11软件工程商店管理系统By韩,黄,王图3.4.4商店管理系统DFD图图3.4.5商店管理系统CDM模型系统ER图说明:(1)商店中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(工)销售,每个顾客可以购买多种商品,不同商品可由不同顾客购买;(2)每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。12软件工程商店管理系统By韩,黄,王图3.4.6商店管理系统PDM模型13软件工程商店管理系统By韩,黄,王四初步设计

4.1E-R模型转化为对象模型

利用powerdesigner软件,从PDM模型中正向工程,生成关系模型,用SQL表示如下(由于篇幅,未全部给出):/*==============================================================*//*DBMSname:/*Createdon:MicrosoftSQLServer20052011/6/2822:28:26*/*//*==============================================================*/ifexists(select1fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')wherer.fkeyid=object_id('供货')ando.name='FK_供货_供货_商品')altertable供货dropconstraintFK_供货_供货_商品goifexists(select1fromsys.sysreferencesrjoinsys.sysobjectsoon(o.id=r.constidando.type='F')wherer.fkeyid=object_id('供货')ando.name='FK_供货_供货2_供货商')altertable供货dropconstraintFK_供货_供货2_供货商go/*==============================================================*//*Table:会员/*==============================================================*/createtable会员(会员ID累计金额char(12)money14*/notnull,notnull,软件工程商店管理系统By韩,黄,王注册时间datetimenotnull,constraintPK_会员primarykeynonclustered(会员ID))go/*==============================================================*//*Table:供货/*==============================================================*/createtable供货(商品ID供货ID供货日期供货金额char(20)char(12)datetimemoneynotnull,notnull,notnull,notnull,*/constraintPK_供货primarykey(商品ID,供货ID))go/*==============================================================*//*Index:供货_FK/*==============================================================*/createindex供货_FKon供货(商品IDASC)go*//*==============================================================*//*Table:供货商/*==============================================================*/createtable供货商(供货ID供货商名称供货商地址供货商电话char(12)varchar(20)varchar(30)varchar(11)15*/notnull,null,null,null,constraintPK_供货商primarykeynonclustered(供货ID)软件工程商店管理系统By韩,黄,王)go/*==============================================================*//*Table:厂商/*==============================================================*/createtable厂商(厂商ID厂商名称厂商地址厂商电话varchar(12)varchar(20)varchar(30)varchar(11)notnull,null,null,null,*/constraintPK_厂商primarykeynonclustered(厂商ID))go/*==============================================================*//*Table:商品/*==============================================================*/createtable商品(商品ID商品名商品价格允许打折促销价格允许销售char(20)varchar(15)moneybitmoneybitnotnull,notnull,notnull,null,null,null,*/constraintPK_商品primarykeynonclustered(商品ID))go/*==============================================================*//*Table:消费/*==============================================================*/createtable消费(商品IDchar(20)16*/notnull,软件工程商店管理系统By韩,黄,王会员ID消费金额购买日期char(12)moneydatetimenotnull,notnull,notnull,constraintPK_消费primarykey(商品ID,会员ID))goaltertable供货addconstraintFK_供货_供货2_供货商foreignkey(供货ID)references供货商(供货ID)goaltertable消费addconstraintFK_消费_消费_商品foreignkey(商品ID)references商品(商品ID)goaltertable生产addconstraintFK_生产_生产_商品foreignkey(商品ID)references商品(商品ID)goaltertable销售addconstraintFK_销售_销售_客户foreignkey(客户ID)references客户(客户ID)go17软件工程商店管理系统By韩,黄,王五详细设计说明书1、

概论:1.1目的

本需求说明书是对超市销售系统的进行详细地需求分析,对系统的功能和性能进行了整体的规划。为系统的实现和系统的测试提供一个具体的参考。1.2背景

小型超市零售管理系统是小型超市商品销售及货物管理的主要控制部分,直接影响销售的方便性及管理的规范性。随着信息时代的发展,对效率的要求日益提高,因而软件控制销售和管理已经取代了传统全手工方式。小型超市具有自身的特点:商品要求一般齐全,进出货关系较为简单,员工人数种类不多;在软件角度看,数据较少,对存储和速度要求不高。但正由于员工较少,使用软件控制成为必须。

1.3目标

本系统通过数据库,统一记录商品、会员,记录销售交易信息,产生货物进货管理及盘点计算,减少员工重复性动作和帮助管理人员规范化管理。1.4应用范围

本系统适应于各种小型的超市。

1.5定义

a)商品条形码:每种商品具有唯一的条形码,对于某些价格一样的商

品,可以使用自定义条形码。

b)交易清单:包括交易的流水账号、每类商品的商品名、数量、该类

商品的总金额、交易的时间、负责本次收银的员工号。

c)商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。d)促销:在一定时期内,某些商品会按低于原价的促销价格销售。e)库存告警提示:当商品的库存数量低于库存报警数量时发出提示。f)盘点:计算出库存、销售额、盈利等经营指标。1.6参考资料

《数据库原理及设计》陶宏才编清华大学出版社

《SQLServer2000实用教程》范立南编清华大学出版社

《SQLServer2000编程员指南》李香敏编北京希望电子出版社《轻松搞定SQLServer2000程序设计》RebeccaM.Riordan编《软件工程规范》WattsS.Humphrey编清华大学出版社

《软件工程理论与实践》ShariLawrencePfleeger编清华大学出版社《软件需求分析》SwapnaKishore编机械工业出版社《软件工程思想》林锐编

18软件工程商店管理系统By韩,黄,王2、模块功能:功能模块分布图小型超市零售管理系统前台POS销售系统后台管理系统进货管理销售管理库存管理人员管理3、模块设计

3.1前台销售模块3.1.1模块用例图:商品录入销售管理营业员条形码扫描顾客结帐添加VIP会员业务打折删除VIP19软件工程商店管理系统By韩,黄,王3.1.2模块用例程序流程图:Start扫描条形码录入写入购物单N是否完成录入?Y生成购物单计算商品总额商品信息表是否是会员?NY计算会员卡打折厚的总额会员信息表输入实收费用是否等于总费Y从库存中减去该商品N找零商品信息表打印交易信息表20Return软件工程商店管理系统By韩,黄,王3.2后台进货管理模块3.2.1模块用例图:确定进货计划制定进货计划管理者查询确定查询3.2.2模块用例程序流程图:Start自动填入采购单N商品是否缺货?N完成库存查阅商品信息表Y信息录入完毕?Y汇总生成采购单生成采购单交给采购部门21软件工程商店管理系统By韩,黄,王ReturnStart输入查询信息处理查询信息N是否找到?Y输出要查询的信商品信息表Return3.3后台销售管理模块3.3.1模块用例图:22软件工程商店管理系统By韩,黄,王确认信息查询保存确认商品信息排行管理者生成排行榜打印确认打印信息打印输出3.3.2模块用例程序流程图:Start输入查询信息处理查询信息N是否找到?Y输出要查询的信销售信息表Return23软件工程商店管理系统By韩,黄,王StartStart输入所有销售产输入销售成绩销售信息表是否允许销售?Y打印N根据销售业绩进行排序销售信息表输出销售排行榜ReturnReturn3.4后台库存管理模块3.4.1模块用例图:查询商品信息确认查询信息添加商品信息保存添加信息管理者修改商品信息保存修改信息删除商品信息确认删除信息3.4.2模块用例程序流程图:24软件工程商店管理系统By韩,黄,王StartStart输入查询商品信输入插入商品信处理查询商品信息NN确认添加?Y是否找到?输出插入商品信商品信息表Y输出要查询商品商品信息表保存插入商品信息ReturnReturnStartStart输入更改商品信输入删除商品信处理查询商品信息处理查询商品信息NN是否找到?Y确认删除?Y删除查找到的商是否找到?YN确认更改?Y更改输入商品信N商品信息表商品信息表保存更改商品信息保存删除的商品信25ReturnReturn软件工程商店管理系统By韩,黄,王3.5后台人员管理模块3.5.1模块用例图:3.5.1.1会员管理功能用例图:查询会员信息确认查询信息添加会员信息保存添加信息管理者修改会员信息保存修改信息删除会员信息确认删除信息3.5.1.2员工销售管理功能用例图:添加用户信息保存添加信息管理者修改用户信息保存修改信息删除用户信息确认删除信息3.5.2模块用例程序流程图:26软件工程商店管理系统By韩,黄,王StartStart输入查询会员信输入插入会员信处理查询会员信息N确认添加?YN是否找到?输出插入会员信会员信息表Y输出要查询会员会员信息表保存插入会员信息ReturnReturnStartStart输入更改会员输入删除会员处理查询会员信息处理查询会员信息NN是否找到?YY确认删除?Y删除查找到的是否找到?N确认更改?Y会员信息表更改输入会员N会员信息表保存更改会员信息保存删除的会员信27ReturnReturn软件工程商店管理系统By韩,黄,王StartStart输入查询用户信输入插入用户信处理查询用户信息N确认添加?N是否找到?输出插入用户信用户信息表Y输出要查询用户用户信息表保存插入用户信息ReturnReturnStartStart输入更改用户输入删除用户处理查询用户信息处理查询用户信息NN是否找到?Y确认删除?Y删除查找到的是否找到?YNN确认更改?Y更改输入用户信用户信息表用户信息表保存更改用户信息保存删除的用户信28ReturnReturn软件工程商店管理系统By韩,黄,王六系统编码实现

该商店管理系统总体上分为前台销售系统和后台管理系统。其中涉及到如下代码。6.1相关数据库建立

该系统涉及商品进销存管理,人员管理等,相应数据库建立语句如下:/*----------创建数据库----------*/createdatabaseSuperMarketdbonprimary(name=SuperMarketdb,filename='C:\\ProgramFiles\\MicrosoftSQLServer\\MSSQL\\Data\\SuperMarketdb.mdf',size=100MB,maxsize=200MB,filegrowth=20MB)logon(name=SuperMarketlog,filename='C:\\ProgramFiles\\MicrosoftSQLServer\\MSSQL\\Data\\SuperMarketdb.ldf',size=60MB,maxsize=200MB,filegrowth=20MB)go/*----------创建基本表----------*/use[SuperMarketdb]go/*创建交易表*/CREATETABLEDealing(DealingIDintidentity(1,1)Primarykey,DealingDatedatetimeNOTNULL,DealingPricemoneyNOTNULL,UserNamevarchar(25)NULL,MemberCardvarchar(20)NULL)GO/*创建厂商表*/CREATETABLEFactory(FactoryIDvarchar(10)Primarykey,FactoryNamevarchar(50)NOTNULL,FactoryAddressvarchar(250)NULL,29软件工程商店管理系统By韩,黄,王FactoryPhonevarchar(50)NULL)GO/*创建会员表*/CREATETABLEMember(MemberIDvarchar(10)Primarykey,MemberCardvarchar(20)NOTNULL,TotalCostmoneyNOTNULL,RegDatedatetimeNOTNULL)GO/*创建商品信息表*/CREATETABLEMerchInfo(MerchIDintidentity(1,1)Primarykey,MerchNamevarchar(50)UniqueNOTNULL,MerchPricemoneyNOTNULL,MerchNumintNOTNULL,CautionNumintNOTNULL,PlanNumintNOTNULL,BarCodevarchar(20)UniqueNOTNULL,SalesProPricemoneyNULL,SalesProDateSdatetimeNULL,SalesProDateEdatetimeNULL,AllowAbateintNOTNULL,AllowSaleintNOTNULL,FactoryIDintNOTNULL,ProvideIDintNOTNULL)GO/*创建供应商表*/CREATETABLEProvide(ProvideIDvarchar(10)Primarykey,ProvideNamevarchar(50)NOTNULL,ProvideAddressvarchar(250)NULL,ProvidePhonevarchar(25)NULL)GO/*创建销售表*/CREATETABLESale(SaleIDintidentity(1,1)Primarykey,MerChIDintNOTNULL,SaleDatedatetimeNOTNULL,SaleNumintNOTNULL,SalePricemoneyNOTNULL30软件工程商店管理系统By韩,黄,王)GO/*创建入库表*/CREATETABLEStock(StockIDintidentity(1,1)Primarykey,MerchIDintNOTNULL,MerchNumintNOTNULL,MerchPricemoneyNULL,TotalPricemoneyNULL,PlanDatedatetimeNULL,StockDatedatetimeNULL,StockStateintNOTNULL)GO/*创建用户表*/CREATETABLEUser(UserIDvarchar(10)Primarykey,UserNamevarchar(25)NOTNULL,UserPWvarchar(50)NOTNULL,UserStyleintNOTNULL,)生成的各种表如下:商品信息表(MerchInfo)

字段名MerchIDMerchNameMerchPriceMerchNumCautionNumPlanNumBarCodeSalesProPriceSalesProDateSSalesProDateEAllowAbateAllowSaleFactoryIDProvideID字段类型intVarcharMoneyIntIntIntVarcharMoneyDatetimeDatetimeIntIntVarcharVarchar长度450444450488441010主/外键P字段值约束NotnullNotnullNotnullNotnullNotnullnullNotnull对应中文名商品编号商品名称价格库存数量库存报警数量计划进货数条形码促销价格促销起日期促销止日期NotnullNotnullFFNotnullNotnull允许打折允许销售厂商编号供货商编号31软件工程商店管理系统By韩,黄,王用户表(User)

字段名UserIDUserNameUserPWUserStyle字段类型varcharVarcharVarcharInt长度1025504主/外键P字段值约束NotnullNotnullNotnullNotnull对应中文名用户编号用户名称用户密码用户类型会员表(Menber)

字段名MemberIDMemberCardTotalCostRegDate字段类型VarcharVarcharMoneyDatetime长度102048主/外键P字段值约束NotnullNotnullNotnullNotnull对应中文名会员编号会员卡号累积消费金额注册日期销售表(Sale)

字段名SaleIDMerChIDSaleDateSaleNumSalePrice字段类型VarcharVarcharDatetimeIntMoney长度1010844主/外键PF字段值约束NotnullNotnullNotnullNotnullNotnull对应中文名销售编号商品编号销售日期销售数量销售单额交易表(Dealing)

字段名DealingIDDealingPriceDealingDateMemberIDUserName字段类型VarcharMoneyMoneyVarcharVarchar长度10441010主/外键P字段值约束NotnullNotnullNotnull对应中文名交易编号交易金额交易日期会员卡号用户名称FNotnull入库纪录表(Stock)

字段名StockIDMerchIDMerchNumMerchPriceTotalPriceStockDatePlanDate字段类型VarcharVarcharIntMoneyMoneyDatetimeDatetime长度101044488主/外键PF字段值约束NotnullNotnullNotnullNotnullNotnullDatetimeDatetime对应中文名入库编号入库商品编号入库数量单额总额入库日期计划进货日期32软件工程商店管理系统By韩,黄,王StockStateInt4Notnull入库状态供货商表(Provide)

字段名ProvideIDProvideNameProvideAddressProvidePhone字段类型varcharVarcharVarcharVarchar长度105025025主/外键P字段值约束NotnullNotnull对应中文名供货商编号供货商名称供货商地址供货商电话厂商表(Provide)

字段名FactoryIDFactoryNameFactoryAddressFactoryPhone字段类型varcharVarcharVarcharVarchar长度105025025主/外键P字段值约束NotnullNotnull对应中文名厂商编号厂商名称厂商地址厂商电话6.2前台销售系统的实现6.2.1登陆窗口

主要函数:PrivateSubCmdlog_Click()'Txtuser.Text=GetMD5(\"lc\")'DimMconAsADODB.Connection'SetMcon=NewADODB.Connection'DimsidAsStringDimpssAsStringDimrsUserIdAsNewADODB.RecordsetDimboolAsBoolean'打开数据库的连接IfMcon.State=0ThenMcon.Open\"Provider=sqloledb;DataSource=172.26.10.5;InitialCatalog=SuperMarketdb;UserId=sa;Password=kof;\"33软件工程商店管理系统By韩,黄,王'Calllink'打开用户表rsUserId.Open\"SELECTUserName,UserPWadLockBatchOptimisticDoWhileNotrsUserId.EOFsid=rsUserId!UserNamepss=rsUserId!UserPWbool=FalseFROM[User]\Mcon,adOpenStatic,'判断登陆IfStrComp(sid,Txtuser,1)=0AndStrComp(pss,GetMD5(Txtpassword),1)=0Thenbool=TrueUnloadMeExitDoElseIfsid<>TxtuserOrpss<>GetMD5(Txtpassword)Thenbool=FalseEndIfrsUserId.MoveNextLoopIfbool=TrueThenmenu.Show1ExitSubElseMsgBox\"用户名或者密码不正确,请重新输入!\,\"提示:\"Txtuser=\"\"Txtpassword=\"\"Txtuser.SetFocusExitSubEndIfEndSub6.2.2条码录入窗口

主要函数:34软件工程商店管理系统By韩,黄,王PrivateSubcmdok_Click()'DimMconAsADODB.Connection'SetMcon=NewADODB.ConnectionDimrsMerchInfoAsNewADODB.RecordsetDimmidAsStringDimmnameAsStringDimmpriceAsCurrencyDimmnumAsIntegerDimmallowsellAsIntegerDimmallowabateAsIntegerDimmemIDAsStringDimflagAsBoolean'StaticiAsIntegerDimjAsInteger'Dimtemp1AsInteger'Statictemp2AsInteger'Dimtemp3AsCurrencyDimflag3AsBooleanDimkAsIntegerDimnumAsIntegerDimmcodeAsString'StatictotalAsCurrency'打开数据库连接'Mcon.ConnectionString=\"Provider=sqloledb;DataCatalog=SuperMarketdb;UserId=sa;Password=jszx;\"'Mcon.OpenSource=172.27.2.249;InitialrsMerchInfo.Open\"SELECTMerchID,MerchName,MerchPrice,MerchNum,BarCode,AllowAbate,AllowSaleFROMMerchInfo\Mcon,adOpenStatic,adLockBatchOptimistic'获取记录DoWhileNotrsMerchInfo.EOFmid=rsMerchInfo!MerchIDmcode=rsMerchInfo!BarCodemname=rsMerchInfo!MerchNamemprice=rsMerchInfo!MerchPricemnum=rsMerchInfo!MerchNummallowabate=rsMerchInfo!AllowAbatemallowsell=rsMerchInfo!AllowSale'判断商品是否能销售IfText1.Text=\"\"OrText2.Text=\"\"ThenMsgBox\"请输入商品ID和商品数量!\,\"提示:\"Text1.SetFocus35软件工程商店管理系统By韩,黄,王ExitSubEndIfIfText2.Text<=0ThenMsgBox\"请输入购买商品的正确数量!\,\"提示:\"EndIfIfmcode=CStr(Text1.Text)ThenIfmallowsell=0ThenMsgBox\"该产品不允许销售!\,\"警告:\"ExitSubElseflag=TruersMerchInfo.MoveFirstExitDoEndIfElse:flag=FalseEndIfrsMerchInfo.MoveNextLoop6.2.3自动绘制小票

'自动增加网格If(i+2)>menu.MSHFlexGrid1.RowsAndflag=TrueThenk=(i+1)-menu.MSHFlexGrid1.Rows36软件工程商店管理系统By韩,黄,王menu.MSHFlexGrid1.Rows=i+2menu.Height=menu.Height+300*kmenu.MSHFlexGrid1.Height=menu.MSHFlexGrid1.Height+k*300menu.Label5.Top=menu.Label5.Top+k*300menu.Label6.Top=menu.Label6.Top+k*300menu.Label7.Top=menu.Label7.Top+k*300menu.Label8.Top=menu.Label8.Top+k*300menu.Label9.Top=menu.Label9.Top+k*300menu.Label10.Top=menu.Label10.Top+k*300menu.Line1.Y1=menu.Line1.Y1+k*300menu.Line1.Y2=menu.Line1.Y2+k*300menu.cmdinput.Top=menu.cmdinput.Top+k*300EndIfIfflag=TrueTheni=i+1'number=i'Forj=1Toi'Ifmid=CStr(menu.MSHFlexGrid1.TextMatrix(j,0))Then'flag3=True'menu.MSHFlexGrid1.TextMatrix(j,Str(Val(menu.MSHFlexGrid1.TextMatrix(j,3))+Val(Text2.Text))'ExitFor'Else:flag3=False'EndIf'Nextj'在网格中显示数据'Ifflag3=FalseThenmenu.MSHFlexGrid1.TextMatrix(i,0)=mid'temp1=menu.MSHFlexGrid1.TextMatrix(i,0)menu.MSHFlexGrid1.TextMatrix(i,1)=mnamemenu.MSHFlexGrid1.TextMatrix(i,2)=mprice'temp3=menu.MSHFlexGrid1.TextMatrix(i,2)menu.MSHFlexGrid1.TextMatrix(i,3)=Text2.Text'temp2=menu.MSHFlexGrid1.TextMatrix(i,3)'EndIf'计算总值Ifflag2=TrueAndmallowabate=1Thentotal=total+mprice*0.95*CInt(Text2.Text)373)=软件工程商店管理系统By韩,黄,王ElseIfflag2=FalseOrmallowabate=0Thentotal=total+mprice*CInt(Text2.Text)EndIf'MsgBoxtotaltemp2=total+mtotalText1.Text=\"\"Text2.Text=\"\"Text1.SetFocus'Mcon.Execute(\"updateMerchInfosetMerchNum=\"&temp3&\"&temp1&\"\")Else:MsgBox\"不存在该产品,请检查是否输入错误!\,\"提示:\"Text1.SetFocusEndIfrsMerchInfo.Closemenu.Label10.Caption=totalText2.Text=1EndSubwhereMerchID=\"6.2.4收银窗口

6.3后台管理系统6.3.1登陆窗口

38软件工程商店管理系统By韩,黄,王主要函数:PrivateSubcmdOK_Click()'如果还没有服务器信息IfstrSQLServer=\"\"ThenMsgBox\"您必须先设置SQL服务器信息。\vbInformationcmdServer_ClickExitSubEndIfIfcboUser.Text=\"\"ThenMsgBox\"请填写用户名。\vbInformationcboUser.SetFocuscboUser.SetFExitSubEndIfIftxtPW.Text=\"\"ThenMsgBox\"请填写密码。\vbInformationtxtPW.SetFocusExitSubEndIfOnErrorGoToaaaasqlConnectcnMain,strSQLServer,strSQLUser,strSQLPW,strSQLDBDimrsAsNewADODB.Recordset,strMD5AsStringstrMD5=GetMD5(txtPW.Text)rs.Open\"Select*From[User]WhereUserStyle>1\cnMain,1,1Ifrs.EOFThenMsgBox\"找不到任何用户!\vbCriticalcnMain.CloseElseDoUntilrs.EOFIfStrComp(rs(\"UserName\"),cboUser.Text,1)=0AndStrComp(rs(\"UserPW\"),GetMD5(txtPW.Text),1)=0Then39软件工程商店管理系统By韩,黄,王curUserName=rs(\"UserName\")curUserStyle=CLng(rs(\"UserStyle\"))cboUser.AddItemcurUserName,0SaveUserListfrmMain.Icon=Me.IconUnloadMefrmMain.ShowExitSubEndIfrs.MoveNextLoopEndIfMsgBox\"用户名或密码错误,登陆失败!\vbCriticalcnMain.CloseExitSubaaaa:MsgBoxErr.Description,vbCriticalIfcnMain.State=1ThencnMain.CloseEndSub6.3.2后台管理窗口

40软件工程商店管理系统By韩,黄,王主要函数PrivateSubMDIForm_Load()'读取窗体位置,视图信息IfGetINI(\"Main\\"Left\")=\"\"ThenMove(Screen.Width-Me.Width)/2,(Screen.Height-Me.Height)/2ElseMoveGetLongINI(\"Main\\"Left\"),GetLongINI(\"Main\\"Top\"),GetLongINI(\"Main\\"Width\"),GetLongINI(\"Main\\"Height\")DimjAsLongj=GetLongINI(\"Main\\"WindowState\")Ifj=2ThenMe.WindowState=2EndIfCanResize=TrueIfGetINI(\"Main\\"Guide\")=\"n\"ThenpicLeft.Visible=FalsemnuGuide.Checked=FalseEndIfIfGetINI(\"Main\\"ToolBar\")=\"n\"ThenpicTB.Visible=FalsemnuTB.Checked=FalseEndIfIfGetINI(\"Main\\"StateBar\")=\"n\"ThenpicSB.Visible=FalsemnuSB.Checked=FalseEndIf'判断用户类型cmdLeft(6).Enabled=(curUserStyle>=3)tbLeft(6).Enabled=(curUserStyle>=3)mnuLeft(6).Enabled=(curUserStyle>=3)frmWelcome.ShowEndSub41软件工程商店管理系统By韩,黄,王主要函数PrivateSubForm_Load()Me.WindowState=2imgIcon.Picture=frmMain.cmdLeft(1).PicturelngCurPageSize=50'加载商品strCurSQL1=\"SELECTMerchID,MerchName,MerchPrice,BarCode,MerchNum,CautionNum,PlanNum,SalesProPrice,SalesProDateS,SalesProDateE,AllowAbate,AllowSale,Factory.FactoryName,Provide.ProvideNameFromMerchInfo,Provide,Factory\"strCurSQL2=\"Where\"strCurSQL3=\"MerchInfo.FactoryID=Factory.FactoryIDAndMerchInfo.ProvideID=Provide.ProvideIDorderbyMerchIDDesc\"LoadMerchSQLstrCurSQL1&strCurSQL2&strCurSQL3,1,lngCurPageSizePublicFunctionGetMerchState(ByValItemAsListItem,ByValMerchNum&,ByValCautionNum&,ByValSalesProPrice$,ByValSalesProDateS$,ByValSalesProDateE$,ByValAllowSale&)AsStringOnErrorGoToaaaaDimd1AsDate,d2AsDate,j1AsLong,j2AsLongIfAllowSale=0ThenGetMerchState=\"禁止\"42软件工程商店管理系统By韩,黄,王Item.ForeColor=9372343Item.SmallIcon=3ElseIfSalesProPrice<>\"\"Thend1=CDate(SalesProDateS)d2=CDate(SalesProDateE)j1=DateDiff(\"d\Date,d1)j2=DateDiff(\"d\Date,d2)Ifj1<=0Andj2>=0ThenIfMerchNum<=CautionNumThenGetMerchState=\"促/警\":Item.ForeColor=vbRed:Item.SmallIcon=2ElseGetMerchState=\"促销\":Item.ForeColor=vbBlue:Item.SmallIcon=4EndIfExitFunctionEndIfElseIfMerchNum<=CautionNumThenGetMerchState=\"报警\":Item.ForeColor=vbRed:Item.SmallIcon=2:ExitFunctionEndIfGetMerchState=\"\"Item.ForeColor=0Item.SmallIcon=1EndIfExitFunctionaaaa:GetMerchState=\"\"EndFunction43软件工程商店管理系统By韩,黄,王七.测试分析报告1.引言1.1编写目的

随着科技的进步,软件的规模越来越大,因此现在在软件开发的过程中,人们所面对的问题及其错综复杂。这就造成了人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺。因此在软件生命周期的每个阶段都不可避免地会产生差错。测试就是为了发现程序中的错误而执行程序的过程。测试的目的就是在软件投入生产运行性之前,尽可能多的发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它对软件规格说明,设计和编码的最后复审,也是必不可少的关键步骤。1.2项目背景

此项目是由中国超市自动化应顾客需求,要求开发一套实时,有效,完善,安全性好的软件系统。在重庆大学,我们软件开发小组通过课程设计的形式进行开发。1.3定义

SQLSERVER:系统服务器所使用的数据库管理系统(DBMS)。SQL:一种用于访问查询数据库的语言

事务流:数据进入模块后可能有多种路径进行处理。主键:数据库表中的关键域。值互不相同。外部主键:数据库表中与其他表主键关联的域。ROLLBACK:数据库的错误恢复机制。数据流:数据流程来实现各个项目模块程序流程图:程序设计的步骤细分

2.4参考资料

软件工程及其应用软件工程周苏、王文等张海藩天津科学技术出版社1992/1清华大学出版社1990/11《超市管理系统软件需求规格说明》

44软件工程商店管理系统By韩,黄,王《超市管理系统软件设计说明》《超市管理系统系统接口协议》

项目的计划任务书项目开发计划需求规格说明书概要设计说明书详细设计说明书测试计划本软件开发小组本软件开发小组本软件开发小组本软件开发小组本软件开发小组本软件开发小组2011/06/282011/06/282011/06/282011/06/282011/06/282011/06/282.测试计划执行情况2.1测试项目

前台销售模块测试主机接受用户输入的各种条形码信息(主机需要实现条形码扫描的快速录入方法)然后经网络传送给服务器。计算出账单,打印购物单,收钱后开。后台进货管理模块测试主机输入货物信息表,输出为打印采购单。并且能够实现相关的查询信息的功能。后台销售管理模块测试接受由服务器程序经网络传送到主机的销售信息的表格,输出销售情况的库存信息,以及各个商品的销售排行榜,支持销售查询功能。后台库存管理模块测试实现查询,插入,更改,删除商品信息的功能。后台人员管理模块测试实现会员信息,用户管理信息的查询,插入,更改,删除功能。2.2测试机构和人员

测试机构测试人员――-----本软件开发小组本软件开发小组2.3测试结果

2.3.1.1数据录入模块测试

45软件工程商店管理系统By韩,黄,王2.3.1.2控制

本次测试针对数据录入模块的测试,我们采用文档输入方式进行数据录入。针对错误信息,我们给出提示2.3.1.3输入

本项测试所用到的输入数据类型有:a,服务器错误,登录名密码正确b,服务器正确,登录名密码错误c,服务器正确,登录名密码正确,数据库不存在d,服务器正确,登录名密码正确,数据库存在e,服务器正确,登录名密码正确,数据库存在,表已建立f,服务器正确,登录名密码正确,数据库存在,表没有建好2.3.1.4输出

a,输出:连接服务器错误b,输出:用户名或密码错误c,输出:创建数据库成功d,输出:数据库已存在e,输出:新建测试用例成功f,输出:测试用例已存在2.3.1.5过程

本系统测试采用边输入数据,边记录结果的方式,依次测试系统的各个输入测试要求直到输入完成2.3.2.1前台销售模块测试

46软件工程商店管理系统By韩,黄,王2.3.2.2控制

由于本次测试只针对前台销售模块,所以我们采用人工输入数据方式,顺序记录测试结果的数据记录方法2.3.2.3输入

本项测试所用到的输入数据类型有:a,条形码正确,数量合适b,条形码错误,数量合适c,条形码正确但是不允许出售,数量合适d,条形码正确可以出售,数量过多2.3.2.4输出

a,输出:添加到购物单b,输出:条形码不存在c,输出:该商品不允许出售d,输出:该商品数量不足2.3.2.5过程

本系统测试采用边输入数据,边记录结果的方式,依次测试系统的各个输入测试要求直到输入完成3.软件需求测试结论

上述的三种类型的输入,输出测试,软件的能力已到达客户的要求,各项结果均以得到充分的测试。4.测试结果

在两个阶段测试过程发现软件缺陷20个,经软件开发人员确认的缺陷为20个,经过改正的代码消除了所有以确认的软件缺陷并通过了回归测试。因测试条件所限,未能进行软件的确认测试和系统测试。

47软件工程商店管理系统By韩,黄,王五.评估和建议

1.软件评估

a.软件编码规范化评估

经过回归测试,未残留的软件编码规范性缺陷。软件代码文本注释率约为42%,代码注释充分,有利与代码的理解和维护。

b.软件动态测试评估被测软件单元的总数:使用的测试用例个数:

达到软件测试出口准则的软件单元数,通过率:

通过单元和集成测试得知:软件代码逻辑清晰、结构合理、程序单元间接口关系一致,运行稳定。

2.改进建议

a.建议在软件开发项目中全面实施软件工程化,加强软件开发的管理工作。b.建议进一步加强软件需求规格说明、软件设计文档编制以及编写代码的规范化。特别是应该将系统中的硬件研制和软件研制分别管理,软件文档编制的种类和规格按照相关标准执行。

c.尽早开展软件测试工作。在软件研制计划安排上给软件测试留有必要的时间,在资源配置上给软件测试必要的支撑。

d.建议结合系统联试,开展软件的确认和系统测试。

48软件工程商店管理系统By韩,黄,王目总结

8.1项目基本情况

和传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本,提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力,提供有效的技术保障。传统的商店管理,主要以人工为主,不但费时费力,风险也不小。21世纪,商店销售的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是销售业的竞争核心。该商店管理系统将用于各种商店的商品进出货,消费者信息和职工信息的管理,实现以计算机辅助形式代替传统的手工查询记录形式,减轻商店管理人员的劳动强度,提高工作质量和效率,从而使商店管理更加合理化和科学化。8.2工作进程

2011/4中旬至2011/4下旬资料查询,市场调查,需求分析2011/5至2011/6系统设计与实现2011/6中旬至2011/6下旬系统测试与维护,投入使用8.3项目的主要任务

商店的进销存管理信息系统,首先必须具备的功能是记录仓库存货、销售以及进货情况,通过该系统了解商店进货渠道、商品单价、数量,库存商品的种类、数量,销售商品种类、价格、数量,以便管理员根据以上信息作出经营管理决策。

在性能方面要求系统核算准确,使实存商品、销售商品与所记帐目一致,能够被商店长期有效使用。

数据主要来自于入库单、,超市销售在营业期间内一直发生,数据也就一直变化。销售商品后开出,并且要显示商品价格数额。在当天汇总时修改相应文件,注重的是总额、总数量。为减少月末工作量,日常中要对报表数据逐步统计核算。

8.4花费

设备支出:50元人员支出:50元8.5遇到的困难

由于开发者能力有限,加上时间仓促,本系统难免会出现一些不足之处,例如:本系统只适合小型商店使用,不能适合中大型超市使用;商店管理系统涉及范围宽,要解决的问题多,功能复杂,实现困难,但由于限于时间,本系统只能做出其中的一部分功能;对于以上出现的问题,我们深表歉意,如发现还有其它问题,希望老师批评指正。49

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dcrkj.com 版权所有 赣ICP备2024042791号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务