1、软件工程课程设计:超市管理系统一 可行性研究1.1引言1.1.1编写目的 可行性研究的目的是为了在对问题进行研究的同时,以最小的代价在最短的时间内确定问题是否可解,以保证后续的工作能有效完成。在此项目中,通过全面的信息采集和处理,辅助提高超市的决策水平,大大提高超市的运作效率。为超市的管理人员带来的较大的方便。经过对此项目进行详细调查研究,初拟系统实现报告,对软件开发中将要面临的问及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。为降低经营成本,提高效益,增强超市扩张力,提供有效的技术保障。1.1.2 项目背景 现在的超市已经成为人们日常生活中不可缺少的一个组成部分,它的存
2、在给人们的生活带来了很大的方便。做为超市内部的人员,商品和销售的管理工作,对超市的成功经营十分重要。然而传统的管理,主要以人工为主,不但费时费力,风险也较大。21世纪,超市销售的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是销售业的竞争核心。该超市管理系统将用于各种超市的超市进出货,消费者信息和职工信息的管理,实现以计算机辅助形式代替传统的手工查询记录形式,减轻超市管理人员的劳动强度,提高工作质量和效率,从而使超市管理更加合理化和科学化。1.1.3术语定义1 商品条形码:每种商品具有全球唯一的条形码,对于某些价格一样的商品
3、,可以使用自定义条形码。2 交易清单:包括交易的流水账号、每类商品的商品名、数量、所有商品的总金额、所付金额、找零金额、交易的时间、负责本次收银的员工号。3 商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。4 促销:在一定时期内,某些商品会按低于原价的促销价格销售。5 库存告警提示:当商品的库存数量低于库存报警数量时发出提示。6 盘点:计算出库存、销售额、盈利等经营指标。1.1.4 参考资料 软件工程讲义 曾一,付鹤岗,古平,郑洪英 重庆大学计算机学院 软件工程实践教程 赵池龙,姜义平,张建 电子工业出版社1.2 可行性研究的前提1.2.1 项目要求功能要求:为超市管理提供服务,方
4、便超市经营,提高超市管理的质量和服务效率输出要求:数据完整,详实。操作要求:简捷,快速,实时。时限要求:7天,2011年7月1日至2011年7月8日。1.2.2 项目目标 针对超市的特点,为了帮助超市经营者节约人力开销有设备开销,提高超市的处理速度和竞争力,扩大超市的经济效益,我们将开发以下子系统:前台销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。采用这种方法来对整个超市系统进行高效的管理,达到自动化、科技化的目的。1.2.3可行性分析 管理可行性分析:超市的经营者大多具备电脑基本操作知识,对于必要的专业操作经短期培训即可;管理基础工作和各项管理制度比较健全,执行严格,原始数据
5、采集完整,保存良好。 经济可行性分析:超市管理系统的投入,能够提高工作效率,减少工作人员,从而减少人力资本的投入,根据核算,系统投入三个月后,就能够基本收回开发系统的投资,从经济角度来说,本系统开发完全必要。 技术可行性分析1硬件:电脑一台2软件:操作系统:中文Windows 7 开发系统:Microsoft Visual basic 6.0,SQL Server 2005的服务器版本。系统本身对硬件和软件的要求都不高且系统兼容性很强,平台的移植性也很好,因此无论在系统的硬件及软件上都满足开发的要求。3本系统涉及到的技术因素: 管理系统的开发方法。使用结构化和面向对象开发方法开发软件系统 编程
6、、数据库技术。开发小组能使用Visual Basic编程同时熟悉数据库相关知识4运行上的可行性: 操作简单:简单的操作规则使操作人员能轻松掌握。 查询方便:用户可设定任意条件和任意的查询项目进行检索。 统计灵活:任意条件下任意项目的产品入库时间、数量等的统计及查询项目均可进行交叉统计。1.3结论意见在经济,技术,管理和社会因素方面都有可行性,可以确定本系统的开发完全必要,而且是可行的,可以立项开发。二 项目开发计划2.1引言2.1.1编写目的 为项目管理人员、开发人员和用户提供一个对资源、成本、进度做出合理估算和安排的框架,以便管理者有效地组织、实施和管理该项目计划,保证软件项目开发成功。本报
7、告的主要作用是确定各个项目模块的开发情况和主要的负责人,供各项目模块的负责人阅读,做到及时协调,按步有序进行项目的开发,减少开发中的不必要损失。2.1.2 项目背景由于老的操作程序已经不适应激烈的市场竞争了,超市管理的经营者为符合社会市场的需要,快速发展,提高竞争能力,提出了新的系统要求。他们的新系统要求一套实时,高效,便捷,完善,安全性好的软件系统。2.1.3 参考资料 软件工程讲义 曾一,付鹤岗,古平,郑洪英 重庆大学计算机学院 软件工程学习与实践 李伟波,王庆春,刘永祥 武汉大学出版社2.2项目概述2.2.1工作内容各工作小组根据时间先后安排,分别对项目进行开发。各项主要工作: 需求分析
8、小组对附近各超市进行调研。 软件开发小组对调查结果进行分析,拟订实现方案。 软件编程小组对软件进行集中开发。 软件审核小组对软件进行评定,审核2.2.2提交产品1.程序程序名称:超市管理系统使用语言:Visual Basic 存储形式:磁盘2.文档 项目开发计划 需求分析规格说明 概要设计规格说明 详细设计规格说明 测试分析报告23实施计划2.3.1任务分解及人员分工实施阶段负责人员分析阶段 刘子熙 设计阶段 陈林写代码及测试阶段 王建测试及修改阶段 余桓桓2.3.2各阶段占总时间的比例2.5专题计划要点2.5.1 质量保证计划本系统开发成功后将用于实际的应用中,因此必须保证系统的质量。每个阶
9、段都有相关的评审报告,以保证软件的质量具有较扎实的理论依据。2.5.2用户培训计划对于新购买的超市经营者,提供培训计划。由于该软件的使用并不复杂,只需简单向用户介绍主要操作及注意事项即可。具体详细内容,用户可参见系统使用手册。三 需求分析规格说明3.1 引言3.1.1编写目的为确定系统中的所要实现的功能、明确软件需求、安排项目规划与进度、组织软件开发与测试,撰写本文档等提供依据。3.1.2 项目背景 开发单位:重庆大学计算机学院08级计科三班-王建 刘子熙 陈林 余桓桓 主管部门:重庆大学计算机学院3.2 任务概述3.2.1任务目标根据对用户的使用需求进行分析,确定系统中所具备的各项功能和运行
10、环境。为后续的编码实现及测试维护打下基础。保证各子项目都能够保质保量的按期完成。3.2.2 运行环境操作系统:Microsoft Windows XP,vista,win7支持环境:IIS 5.0数 据 库:Microsoft SQL Server 20003.3 数据描述3.3.1 数据库介绍在系统中所用的数据库命名为SuperMarketdb,其中包括的表单有: Dealing、Factory、Member、Merchinfo、Provide、Sale、Stock、User。各表中的属性成员如下表所示:表1:数据设计表单表名属性备注DealingDealingID、DealingDate、
11、DealingPrice、DealingName、UserName、MemberCard交易表FactoryFactoryID、FactoryName、FactoryAddress、FactoryPhone生产商表MemberMemberID、MemberCard、TotalCost、RegDate、DeathDate会员表MerchInfoMerchID、MerchName、MerchPrice、MerchNum、CautionNum、PlanNum、BarCode、SalesProPrice、SalesProDateS、SalesProDateE、AllowAbout、AllowSale、
12、FactoryID、ProvideID会员信息表ProvideProvideID、ProvideName、ProvideAddress、ProvidePhone提供商表SaleSaleID、MerchID、SaleDate、SaleNum、SalePrice销售表StockStockID、MerchID、MerchNum、MerchPrice、TotalPrice、PlanDate、StockDate、StockState入库表UserUserID、UserName、UserPW、UserStyle用户表3.3.2 数据词典3.4功能需求根据对本系统的工作过程进行详细的分析和讨论,总体上可将其
13、功能分成两大类,各类功能的相关描述如下: 零售前台管理系统功能:(1)商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。(2)收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所
14、购物品全部实行9.5折优惠,并将所购物品的总金额累计到该会员的总消费金额中。 会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。(3)安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。 (4)独立作业:有的断网收银机在网络服务器断开或网络不通的情况下,收银机仍能正常作业 后台管理系统功能(1)进货管理: 根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。(2)销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综
15、合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。(3)库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。(4)人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。3.1 需求获取获取需求方法:成立专门的联合分析小组;客户访谈;问题分析与确认。获取需求对象:超市客户:根据购物客户大概总结客户方面的需求; 商家:开超市的具体要求:资金,管理,进销存等; 超市领域专业人士:进行问题
16、分析与确认; 系统分析员:总结系统所需实现功能。3.2 需求总结客户需求:商品品种多样,商品易找,尽量便宜。商家需求:必须具备记录仓库存货、销售以及进货情况,通过该系统了解超市进货渠道、商品单价、数量,库存商品的种类、数量,销售商品种类、价格、数量,以便管理员根据以上信息作出经营管理决策。超市领域专业人士:在性能方面要求系统核算准确,使实存商品、销售商品与所记帐目一致,能够被超市长期有效使用。数据主要来自于入库单、发票,超市销售在营业期间内一直发生,数据也就一直变化。销售商品后开出发票,并且要显示商品价格数额。超市数据资料有些属内部资料,不能为外人所知,系统须有保密措施,设置密码。系统分析员:
17、查看资料需输入正确密码,销售人员销售货物需输入代号才能打开收银柜。万一泄露密码,应设修改密码的程序,同时密码不能过于简单。3.3 功能分析 零售前台管理系统功能:(1)商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确或模糊的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。(2)收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易
18、的时间、负责本次收银的员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。 会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。(3)安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。 (4)独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业 后台管理系统功能(1)进货管理: 根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打
19、印计划进货与入库记录及金额。(2)销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。(3)库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。(4)人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。3.4 需求提炼分析建模使用图形化的分析建模,包括用例图,数据流图,E-R图,其对应图如下: 总系统用例图:图3.4.1
20、 超市管理总系统用例图(1)员工(营业员):l 通过商品条形码扫描输入商品到购买清单l 操作软件计算交易总金额l 操作软件输出交易清单l 对会员进行会员卡扫描以便打折(2)超市经理:l 操作软件录入商品,供货商,厂商l 操作软件制定进货计划l 查询打印计划进货与入库记录l 操作软件控制商品销售与否l 查询打印销售情况l 操作软件生成销售排行榜l 查询库存明细记录l 根据软件发出的库存告警进行入货l 操作软件进行盘点计算(3)总经理:l 基本信息登记管理l 员工操作权限管理l 客户销售权限管理 零售前台管理系统用例视图图3.4.2 零售前台管理系统用例图 后台管理系统用例图图3.4.3 后台管理
21、系统用例图图3.4.4 超市管理系统DFD图图3.4.5 超市管理系统CDM模型 系统ER图说明:(1)超市中的所有用户(员工)可以销售多种商品,每种商品可由不同用户(工)销售,每个顾客可以购买多种商品,不同商品可由不同顾客购买;(2)每个供货商可以供应多种不同商品,每种商品可由多个供应商供应。图3.4.6 超市管理系统PDM模型四 初步设计4.1 E-R模型转化为对象模型利用powerdesigner软件,从PDM模型中正向工程,生成关系模型,用SQL表示如下(由于篇幅限制,未全部给出):/*=*/* DBMS name: Microsoft SQL Server 2005 */* Crea
22、ted on: 2011/7/2 21:43:34 */*=*/if exists (select 1 from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = F) where r.fkeyid = object_id(供货) and o.name = FK_供货_供货_商品)alter table 供货 drop constraint FK_供货_供货_商品goif exists (select 1 from sys.sysreferences r join sys.sysobjects
23、 o on (o.id = r.constid and o.type = F) where r.fkeyid = object_id(供货) and o.name = FK_供货_供货2_供货商)alter table 供货 drop constraint FK_供货_供货2_供货商go/*=*/* Table: 会员 */*=*/create table 会员 ( 会员ID char(12) not null, 累计金额 money not null, 注册时间 datetime not null, constraint PK_会员 primary key nonclustered (会员I
24、D)go/*=*/* Table: 供货 */*=*/create table 供货 ( 商品ID char(20) not null, 供货ID char(12) not null, 供货日期 datetime not null, 供货金额 money not null, constraint PK_供货 primary key (商品ID, 供货ID)go/*=*/* Index: 供货_FK */*=*/create index 供货_FK on 供货 (商品ID ASC)go/*=*/* Table: 供货商 */*=*/create table 供货商 ( 供货ID char(12)
25、 not null, 供货商名称 varchar(20) null, 供货商地址 varchar(30) null, 供货商电话 varchar(11) null, constraint PK_供货商 primary key nonclustered (供货ID)go/*=*/* Table: 厂商 */*=*/create table 厂商 ( 厂商ID varchar(12) not null, 厂商名称 varchar(20) null, 厂商地址 varchar(30) null, 厂商电话 varchar(11) null, constraint PK_厂商 primary key
26、nonclustered (厂商ID)go/*=*/* Table: 商品 */*=*/create table 商品 ( 商品ID char(20) not null, 商品名 varchar(15) not null, 商品价格 money not null, 允许打折 bit null, 促销价格 money null, 允许销售 bit null, constraint PK_商品 primary key nonclustered (商品ID)go/*=*/* Table: 消费 */*=*/create table 消费 ( 商品ID char(20) not null, 会员ID
27、char(12) not null, 消费金额 money not null, 购买日期 datetime not null, constraint PK_消费 primary key (商品ID, 会员ID)goalter table 供货 add constraint FK_供货_供货2_供货商 foreign key (供货ID) references 供货商 (供货ID)goalter table 消费 add constraint FK_消费_消费_商品 foreign key (商品ID) references 商品 (商品ID)goalter table 生产 add const
28、raint FK_生产_生产_商品 foreign key (商品ID) references 商品 (商品ID)goalter table 销售 add constraint FK_销售_销售_客户 foreign key (客户ID) references 客户 (客户ID)go五 详细设计说明书 1、 概论:1.1目的本需求说明书是对超市销售系统的进行详细地需求分析,对系统的功能和性能进行了整体的规划。为系统的实现和系统的测试提供一个具体的参考。1.2 背景小型超市零售管理系统是小型超市商品销售及货物管理的主要控制部分,直接影响销售的方便性及管理的规范性。随着信息时代的发展,对效率的要求
29、日益提高,因而软件控制销售和管理已经取代了传统全手工方式。小型超市具有自身的特点:商品要求一般齐全,进出货关系较为简单,员工人数种类不多;在软件角度看,数据较少,对存储和速度要求不高。但正由于员工较少,使用软件控制成为必须。1.3目标本系统通过数据库,统一记录商品、会员,记录销售交易信息,产生货物进货管理及盘点计算,减少员工重复性动作和帮助管理人员规范化管理。1.4 应用范围本系统适应于各种小型的超市。1.5 定义a) 商品条形码:每种商品具有唯一的条形码,对于某些价格一样的商品,可以使用自定义条形码。b) 交易清单:包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负
30、责本次收银的员工号。c) 商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。d) 促销:在一定时期内,某些商品会按低于原价的促销价格销售。e) 库存告警提示:当商品的库存数量低于库存报警数量时发出提示。f) 盘点:计算出库存、销售额、盈利等经营指标。1.6 参考资料数据库原理及设计 陶宏才编 清华大学出版社SQL Server 2000 实用教程范立南编 清华大学出版社SQL Server 2000 编程员指南李香敏编 北京希望电子出版社轻松搞定 SQL Server 2000 程序设计Rebecca M.Riordan编软件工程规范Watts S.Humphrey编 清华大学出版社
31、软件工程理论与实践 Shari Lawrence Pfleeger编 清华大学出版社软件需求分析 Swapna Kishore编 机械工业出版社软件工程思想 林锐编2、 模块功能:功能模块分布图小型超市零售管理系统前台POS销售系统后台管理系统进货管理销售管理库存管理人员管理3、 模块设计3.1前台销售模块3.1.1模块用例图:3.1.2模块用例程序流程图:Start扫描条形码录入信息写入购物单N是否完成录入?Y商品信息表生成购物单计算商品总额Y是否是会员?N计算会员卡打折厚的总额会员信息表找零输入实收费用信息N是否等于总费用?Y商品信息表从库存中减去该商品交易信息表打印发票Return3.2
32、后台进货管理模块3.2.1模块用例图:3.2.2模块用例程序流程图:StartN自动填入采购单商品是否缺货?商品信息表完成库存查阅信息汇总生成采购单信息录入完毕?YNY生成采购单交给采购部门信息ReturnStart输入查询信息信息处理查询信息N是否找到?Y商品信息表输出要查询的信息信息Return3.3后台销售管理模块3.3.1模块用例图:3.3.2模块用例程序流程图:Start输入查询信息信息处理查询信息N是否找到?Y销售信息表输出要查询的信息信息ReturnReturnReturn输出销售排行榜信息根据销售业绩进行排序销售信息表输入销售成绩信息Start打印发票Start销售信息表是否允
33、许销售?输入所有销售产品信息NY3.4后台库存管理模块3.4.1模块用例图:3.4.2模块用例程序流程图:StartStart输入查询商品信息信息输入插入商品信息信息N确认添加?处理查询商品信息YN是否找到?Y商品信息表输出插入商品信息信息商品信息表输出要查询商品的信息信息保存插入商品信息ReturnReturnStartStart输入更改商品信息信息输入删除商品信息信息处理查询商品信息处理查询商品信息NN是否找到?是否找到?NYYN确认更改?确认删除?YY商品信息表更改输入商品信息信息Return保存更改商品信息Return保存删除的商品信息商品信息表删除查找到的商品员信息信息3.5后台人员
34、管理模块3.5.1模块用例图:3.5.1.1会员管理功能用例图:3.5.1.2员工销售管理功能用例图:3.5.2模块用例程序流程图:StartStart输入查询会员信息信息输入插入会员信息信息N确认添加?处理查询会员信息YN是否找到?Y会员信息表输出插入会员信息信息会员信息表输出要查询会员的信息信息保存插入会员信息ReturnReturnStartStart输入更改会员信息信息输入删除会员信息信息处理查询会员信息处理查询会员信息NN是否找到?是否找到?NYYN确认更改?确认删除?YY会员信息表更改输入会员信息信息Return保存更改会员信息Return保存删除的会员信息会员信息表删除查找到的会
35、员品员信息信息StartStart输入查询用户信息信息输入插入用户信息信息N确认添加?处理查询用户信息N是否找到?Y用户信息表输出插入用户信息信息用户信息表输出要查询用户的信息信息保存插入用户信息ReturnReturnStartStart输入更改用户信息信息输入删除用户信息信息处理查询用户信息处理查询用户信息NN是否找到?是否找到?YYNN确认更改?确认删除?YY用户信息表更改输入用户信息信息Return保存更改用户信息Return保存删除的用户信息用户信息表删除查找到的用户员品员信息信息六 系统编码实现该超市管理系统总体上分为前台销售系统和后台管理系统。其中涉及到如下代码。6.1相关数据库
36、建立 该系统涉及商品进销存管理,人员管理等,相应数据库建立语句如下:/*-创建数据库-*/create database SuperMarketdbon primary(name=SuperMarketdb,filename=C:Program FilesMicrosoft SQL ServerMSSQLDataSuperMarketdb.mdf,size=100MB,maxsize=200MB,filegrowth=20MB)log on(name=SuperMarketlog,filename=C:Program FilesMicrosoft SQL ServerMSSQLDataSuperMarketdb.ldf,size=60MB,maxsize=200MB,filegrowth=20MB)go/*-创建基本表-*/use SuperMarketdb