《超市销售管理系统(共41页).docx》由会员分享,可在线阅读,更多相关《超市销售管理系统(共41页).docx(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上课程设计报告课 程 名 称: 软件工程导论 课程设计名称: 超市管理系统 系部名称:中印计算机软件学院学生姓名: 孙肖宁 班 级:2015级软件工程2班学 号:5 成 绩: 指导教师: 刘慧 开课时间:2016-2017学年第1学期中文摘要21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标
2、。 为了提高物资管理的水平和工作效率,尽可能杜绝商品流通中各环节中可能出现的资金流失不明现象,商品进销存领域迫切需要引入信息系统来加以管理。而商品进销管理系统是当前应用于超市或者公司管理系统的典型代表。 主要完成的功能有:系统设置、商品供应商信息管理、员工档案管理、商品信息管理、商品入库管理、销售管理、销售数据查询,以及这一系列过程中涉及商品的数据修改与查询统计等多种操作。关键词:销售,管理,进货,计算专心-专注-专业目录引言随着超市的出现,为实现超市管理的系统化、规范化和自动化,超市管理系统应运而生.它依靠现代化的计算机信息处理技术来管理超市,这能够快速反映出商品的进销存状况和各种反馈信息分
3、析,使管理人员快速对市场的变化做出相应决策,加快超市的系统建立的技术基础;为超市提供方便,快捷的结账体系,准确,高效的库存和财务管理系统等;让顾客在超市购物更加快捷方便,让超市的管理和运行工作更加完善,方便.使用超市管理系统的目的就是使用最少的人力,来完成超市中的日常工作。一个典型的超市管理系统,除了应该完成超市中必要的销售工作外,还应该具有后台管理的功能。和超市相关的就是货物仓库,因为随着超市规模的越来越大,销售商品是非常多的,它们并不能全部放在超市中,需要将它们暂时放在仓库中,所以对仓库的管理是非常有必要的。为了使超市更加吸引客户,推出了会员优惠活动,通过使用会员卡能够享受商品的优惠价。所
4、以在超市管理系统中还要能够对超市会员进行管理。根据超市的需要,我们来分析一下超市管理系统中还应该具有哪些功能。按照操作方向,可以将超市管理系统分为商品管理模块、仓库管理模块、销售管理模块和会员管理模块。商品管理模块:通过该模块可以完成超市中商品的日常管理,其中包括新增一种新销售商品、向超市中进货、接收客户的退货和查询某一商品的功能。仓库管理模块:通过该模块可以完成和超市匹配场所仓库的管理,其中包括对商品的出库和入库操作、查询仓库中所有商品和查询指定商品等功能。销售管理模块:通过该模块完成超市日常销售的管理,包括查看用户购买商品,并计算出销售总额,在后台中,还具有计算某一时间段,或者某一商品的销
5、售情况。 会员管理模块:通过该某块可以对超市中会员客户进行管理,包括办理新客户、查询客户、在会员消费时使用会员卡等功能。1. 可行性研究1.1系统开发目的(1)大大提高超市的运作效率;(2)通过全面的信息采集和处理,辅助提高超市的决策水平;(3)使用本系统,可以迅速提升超市的管理水平,为降低经营成本, 提高效益,增强超市扩张力, 提供有效的技术保障。1.2背景21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等
6、相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。1.3项目确立针对超市的特点,为了帮助超市解决现在面临的问题,提高小型超市的竞争力,我们将开发以下系统:前台销售系统、后台管理系统,其中这两个子系统又包含其它一些子功能。1.4应用范围本系统适应于各种小型的超市。1.5 定义(1)商品条形码:每种商品具有唯一的条形码,对于某些价格一样的商品,可以使用自定义条形码。(2)交易清单:包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号。(3)商品积压:在一定时期内,远无法完成销售计划的商品会造成积压。(4)促销
7、:在一定时期内,某些商品会按低于原价的促销价格销售。库存告警提示:当商品的库存数量低于库存报警数量时发出提示。(5)盘点:计算出库存、销售额、盈利等经营指标。2. 需求与分析2.1系统功能建模(数据流程图)销售人员文档前台管理系统条形码信息商品录入信息打印清单顶层数据流程图销售人员条形码信息商品录入信息商品录入商品信息表商品信息会员信息收银业务业务清单文档会员信息表商品信息商品信息会员信息一级数据流程图销售人员条形码信息商品录入信息快速商品录入商品信息会员信息支持会员卡积分文档商品信息业务信息商品信息表条形码扫描商品信息商品信息会员信息表交易信息表交易总额会员信息业务信息打印交易清单业务清单业
8、务清单二级数据流程图2.2数据字典系统分析的主要成果是新系统的逻辑模型,本系统的逻辑模型主要是以系统的数据流离转徙和数据词典为主要描述工作。即在对超市信息管理和业务流程进行分析和研究的基础上,超越现有组织机构和业务分工所造成的信息障碍,完全从业务管理功能和管理对象出发,按信息系统中应有的数据流和数据结构来勾画系统的概貌,把收集到的数据调查表,利用数据分析方法和工具,加以汇总、整理、分析,得到系统的逻辑功能、数据资源和数据流程的情况。上述讨论的数据流图只能给出系统逻辑功能的一个总框架而缺乏详细、具体的内容。数据字典通过对数据流、数据元素、数据存储、员工信息、会员信息的描述,对数据流图的各种成分起
9、注解、说明作用,给这些成分赋以实际的内容举例说明如下:2.2.1数据元素字典 数据元素系统名:超市管理系统编号:条目名:商品别名:属于数据流: 存储处:D1存档文件数据元素值:代码类型:字符取值范围:1-100简要说明:超市所需商品修改记录:编写日期审核日期2.2.2数据流字典数据流系统名:超市管理系统编号:条目名:销售别名:来源:进货商 去处:采购部门数据流结构:销售=商品编号+商品名+进货商名称+销售员工号 简要说明:销售部门根据客户需求销售所需商品修改记录:编写日期审核日期2.2.3数据存储字典数据存储系统名:超市管理系统编号:条目名:进入仓库清单别名:存储组织:二维表记录数:450条/
10、月主关键字:商品号数据流结构:入库商品编号,入库商品名称,入库日期,仓库编号,货品库存货品数量,管理员编号简要说明:当入库商品入库时打印入库清单,库存剩余过少提醒修改记录:编写: 日期审核日期2.2.4员工信息字典员工信息系统名:超市管理系统编号:条目名:员工信息别名:存储组织:信息表 输出:数据流结构:员工编号,姓名,住址,电话,身份证号,性别,籍贯,工资简要说明:由超市管理部门录入员工基本信息修改记录:编写日期审核日期2.2.5会员信息字典会员信息系统名:超市管理系统编号:条目名:会员信息别名:存储组织:信息表 输出:数据流结构:会员编号,姓名,住址,电话,身份证号,会员金额简要说明:由超
11、市销售人员添加用户进入会员系统,添加会员信息修改记录:编写日期审核日期2.3系统数据建模(ER图)名称存货日期进货日期剩余数量地址仓库编号仓库进货进货单号商品编号商品名称称价格商品条形码nmn管理员存货种类客户存货销售日期进货数量工资职工m职工编号姓名性别身份证号籍贯m m销售数量销售单号n会员会员卡号姓名会员积分m m3. 总体设计3.1模块设计3.1.1前台管理系统(1)商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现商品扫描录入。(2)收银业务:通过扫描条形码或者直接输入商品名称自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清
12、单。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,将所购物品的总金额累计到该会员的总消费积分中。 3.1.2后台管理系统(1)进货管理: 根据销售情况及库存情况,自动制定进货计划,可以避免盲目进货造成商品积压。 按计划单有选择性地进行自动入库登记。 综合查询打印计划进货与入库记录及金额。(2)销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。 按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。(3)库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预
13、警,避免库存商品积压损失和缺货。 库存自动盘点计算。(4)人员管理: 员工、会员、供货商、厂商等基本信息登记管理。 员工操作权限管理。 客户销售权限管理。3.2系统结构3.2.1系统总体结构超市零售管理系统前台销售系统后台管理系统商品录入收银业务进货管理销售管理库存管理人员管理3.2.2模块子系统结构商品录入快速商品录入支持条形码扫描功能描述:商品录入子系统要求能快速录入商品,因此必须支持条形码扫描。收银业务交易总额计算打印交易清单支持会员卡积分功能描述:收银业务子系统能计算交易总额,打印交易清单,并根据会员卡打折。进货管理自动制定进货计划自动入库登记查询打印计划进货与入库记录功能描述:进货管
14、理子系统可以根据库存自动指定进货计划,进货时自动等级,以及提供查询和打印计划进货与入库记录的功能。销售管理商品销售控制查询打印销售情况生成销售排行榜功能描述:销售管理子系统可以控制某商品是否允许销售,查询每种商品的销售情况并产生年、月、日报表,同时可以生成销售排行榜。查询库存明细记录库存状态自动告警提示库存管理自动盘点计算功能描述:库存管理子系统提供查询库存明细记录的基本功能,并根据库存的状态报警,以及自动盘点计算。人员管理基本信息登记管理员工操作权限管理提示客户销售权限管理提示功能描述:人员管理子系统提供基本信息登记管理,员工操作权限管理,客户销售权限管理的功能。4. 详细设计4.1模块定义
15、1.进货管理模块功能:该模块主要是实现进行进货信息查询、进货计划制定两个功能。进货信息查询:该模块为超市提供整个超市的进货情况查询,也可以进行进货信息的明细查询,并以进货报表形式打印出来。进货计划制定:该模块可以为制定进货计划,并形成相应的采购订单。输入项、输出项:该模块的输入项为超市的进货单,其中包括进货单的编号,商品的编号,供货商号,进货价,数量,金额进货日期,备注。2. 库存管理模块功能:本模块的主要功能是商品信息的查询和更新,库存信息的查询和更新。查询商品信息:主要功能查询商品的明细信息,和它的库存信息。添加商品信息:主要功能添加新进的商品。修改商品信息:主要功能是修改商品的信息,包括
16、他的库存数量。删除商品信息:主要功能是删除不再销售的商品信息。输入项、输出项:本模块的数据输入项主要是商品编号。3. 销售管理模块功能:本模块的主要功能是把销售信息写入销售清单,同时对库存清单进行更新,以备用户将来对库存信息进行查询和打印,此外还可以对销售信息进行查询和盘点功能。销售信息查询:根据商品销售情况,按需要对销售情况进行查询。在该查询模块中,可以按照商品的编号、销售日期等多种方式进行商品销售信息查询。销售信息盘点:可以按照需要对在一定时期内的销售情况进行盘点。输入项、输出项:本模块的数据输入项主要是商品的销售单号和商品编号。其中还包括销售数量和销售日期。4.员工信息模块在系统开发中,
17、为解决超市人员流动问题,在系统中增添了员工管理模块,用来对超市的人员进行信息化管理,以此来提高员工的办事效率,节约人力资源。新员工录入:在超市招进新员工时,对其进行基本信息的存储,对员工信息进行基本的了解。员工信息维护:当员工信息发生变化,或者是员工离职,换岗对相关信息发生变化时,利用此子模块对其进行信息变更。4.1.1输入项目本系统中我将进货管理模块与库存管理模块定位为输入项目,下面是两个模块的活动图。进货管理制定进货计划查询输入进货信息确认进货信息保存输入查询信息确认查询的信息进货管理模块活动图 库存管理查询输入查询信息确认信息添加输入新商品信息确认添加信息保存删除输入删除信息确认删除信息
18、查询欲修改信息修改删除商品信息输入新商品信息保存商品信息确认商品信息保存信息库存管理模块活动图4.1.2输出项目本系统中我将销售管理模块与员工管理模块定位为输出项目,下面是两个模块的活动图。销售管理查询盘点输入查询信息查询销售数量确认信息 进行盘点销售管理模块活动图员工管理查询添加保存确认信息确认信息输入员工信息输入查询信息确认员工信息输入新员工信息修改员工信息查询修改信息保存员工信息确认删除信息删除员工信息输入欲删除员工信息从数据库表中删除员工信息员工管理模块活动图4.2程序算法设计(程序逻辑)进货管理和仓库管理的基本ER图经过转化、关系模式的规范化,消除关系中的函数依赖1)零售前台管理系统
19、销售管理结账条形码扫描商品录入会员业务营业员顾客添加VIP积分零售前台管理系统销售管理自动制定进货计划自动入库登记生成销售排行榜库存管理查询库存明细记录自动盘点计算库存状态自动告警进货管理自动制定进货计划自动入库登记查询打印机话人员管理基本信息登记管理客户销售权限管理提示员工操作权限管理仓库员超市经理员工后台管理系统4.3模块详细设计1)进货管理:供应商管理:包括供应商的编码、省份、电话、地址等,可以对其添加和删除查询。订单管理:包括订单预测、订单审核、订单查询、订单录入,订单预测可以对订单进行预测。进货管理:用于商品入库的管理。包括商品编码、进货日期、进货量、库存位置、和经手人。退货管理:用
20、于超市收货时不合格的商品进行退货操作的管理。进货管理供应商管理订单管理存货管理退货管理基本资料供应商查询订单预测订单录入订单审核订单查询进货管理详细设计2)库存管理盘点操作:用于超市定期的进行人工的盘点,核实库存是否有错,确保库存量的正确性。盘点单:用于记录盘点时盘赢或是盘亏的单据记录时间。库存查询:用于查询库存中现有商品的库存量和商品类型。库存分布:制定库存分布的报表。库存报表:制定库存的报表。库存管理盘点操作盘点单库存查询库存分布库存报表库存管理详细设计3)销售管理:超市的一个主要任务就是把商品销售给消费者,销售管理的菜单实现的功能如下:商品销售:用于超市销售商品的记录,包括商品的编码、售
21、价、等的记录。销售查询:用于商品销售的查询,包括商品的编码、售价、等的查询。销售统计:用于对销售商品的统计记录。价格调整:用于超市对市场的价格不定期的进行调整。销售管理商品销售销售查询销售统计调整价格销售管理详细设计4)基本资料管理:超市基本资料的菜单实现如下功能:部门资料:用于维护部门的信息,可以添加和删除部门,还可以查询部门的信息。员工资料:设有员工的基本信息,可以添加、删除和查询员工的信息。商品资料:用于商品的资料查询。会员资料:设有会员购物的信息,可以添加会员的信息,还可以查询会员信息。基本资料管理部门资料员工资料商品资料会员资料基本资料管理详细设计5)财务管理:月进货统计表:用于对供
22、应商进货的统计,统计后制作成财务报表。月销售统计表:对超市的每月销售进行统计后制成财务报表。月出入库统计:对商品出入库进行统计后制作成财务报表。月收银员销售:用于对收银员每月的销售进行统计后制作成财务报表。财务管理月进货统计表月销售统计表月出入库统计月收银员销售财务管理详细设计4.4程序流程图5.编码与测试5测试与实现5.1测试5.1.1 用户登陆测试测试用例1(正确输入)【输入】:用户:lc 密码:lc【期望输出】:登入成功,显示前台销售管理窗体【实际输出】:登入成功,显示前台销售管理窗体测试用例2(无该用户)【输入】:用户:aa 密码:aa【期望输出】:提示用户名或密码错误【实际输出】:提
23、示用户名或密码错误测试用例3(密码错误)【输入】:用户:lc 密码:aa【期望输出】:提示用户名或密码错误【实际输出】:提示用户名或密码错误测试用例3(无输入)【输入】:用户: 密码:【期望输出】:提示用户名或密码错误【实际输出】:提示用户名或密码错误5 . 1. 2 商品录入测试测试用例1(正确输入)【输入】:条形码:001 商品名称:可口可乐 价格:2.0 【期望输出】:商品录入成功,加入商品列表【实际输出】:商品录入成功,加入商品列表测试用例2(以存在的商品)【输入】:条形码: 商品名称: Merch1 价格:2.0 【期望输出】:提示商品已经存在【实际输出】:提示商品已经存在测试用例3
24、(需要录入的商品信息缺少或不合法)【输入】:条形码:空 商品名称:可口可乐 价格:2.0 【期望输出】:提示缺少信息/不合法,焦点转移【实际输出】:提示缺少信息/不合法,焦点转移 5. 1. 3 商品查询测试测试用例1(正常)【输入】:条形码:【期望输出】:商品列表中显示该商品,商品名为Merch1【实际输出】:商品列表中显示该商品,商品名为Merch1测试用例2(无该商品)【输入】:条形码:【期望输出】:商品列表中为空【实际输出】:商品列表中为空5.1.4 快速输入测试测试用例1(正确输入)【输入】:条形码编号: 数量:1【期望输出】:商品信息显示在购物小票列表中【实际输出】:商品信息显示在
25、购物小票列表中测试用例2(正确输入,但该产品不允许销售)【输入】:条形码编号: 数量:1【期望输出】:提示该产品不允许销售【实际输出】:提示该产品不允许销售测试用例3(无该商品)【输入】:条形码编号:1000 数量:1【期望输出】:提示用不存在该产品【实际输出】:提示用不存在该产品测试用例4(数量错误)【输入】:条形码编号: 数量:0【期望输出】:提示请输入购买商品的正确数量【实际输出】:提示请输入购买商品的正确数量测试用例4(数量输入非数字)【输入】:条形码编号: 数量:a【期望输出】:提示请输入数字【实际输出】:提示请输入数字5.1.5收银业务测试测试用例1(正确输入)【输入】:实收:50
26、 【期望输出】:应找钱数显示的标签上【实际输出】:应找钱数显示的标签上测试用例2(输入比应收的少)【输入】:实收:10【期望输出】:提示输入错误,所买货物价格高于所输入的数目,请检查【实际输出】:提示输入错误,所买货物价格高于所输入的数目,请检查测试用例3(输入非数字)【期望输出】:请输入数字【实际输出】:请输入数字测试用例4(没有输入数字)【输入】:实收: 【期望输出】:没有输入数字,请检查【实际输出】:没有输入数字,请检查5.1.6测试总结本次测试主要用于对系统的出错进行测试,测试项目包括用户登录模块、综合信息查询模块、数据处理等方面。在本次测试中我们发现了错误,经过修改,已对错误进行更正
27、。通过本次测试,我希望在以后的开发中能够避免再犯类似错误。5.2实现(编码)#includevoid main()int j;char c;char cum20=0;SeqList *L;L=initList();printf(输入商品编号和类型:);scanf(%s%s,hao,lei);update(L,hao,lei); break;SeqList* input(SeqList *L) int i=0;char ch;SeqList* tou,*p,*s;tou=L;p=L;while(tou-next!=NULL)tou=tou-next;dos=(SeqList*)malloc(si
28、zeof(SeqList);printf(请输入第%d个商品,i+1);pp;printf(商品编号:);scanf(%s,&(s-data.bianhao);fflush(stdin);while(p-next!=NULL)if(strcmp(p-next-data.bianhao,s-data.bianhao)=0) p=L;printf(请重新输入商品编号:);scanf(%s,&(s-data.bianhao);fflush(stdin);elsep=p-next;p=L;if(strcmp(s-data.bianhao,0)=0)break;printf(商品名称:);scanf(%
29、s,&(s-data.name);flush(stdin);printf(商品价格:);scanf(%f,&(s-data.value);fflush(stdin);printf(商品生产日期(年-月-日):);scanf(%d%d%d,&(s-data.qi.year),&(s-data.qi.month),&(s-data.qi.day);fflush(stdin);printf(商品类型:);scanf(%s,&(s-data.kind);fflush(stdin);i+;length+;s-next=NULL;tou-next=s;tou=s;void update(SeqList *
30、L,char hao,char lei)int i;SeqList *h=L-next;if(length)printf (X);scanf(%d,&a);.c添加部分#includeshengming.hvoid location(SeqList *L)printf(ttt|1-添加相同的商品|n);printf(ttt|2-添加不同的商品|n);printf(ttt|3-退出 |n);printf(请输入你的动作:);fflush(stdin);scanf(%d,&j);fflush(stdin);switch(j)fflush(stdin);system(cls);printf(输入你要
31、添加产品的位置:);scanf(%d,&i);fflush(stdin);printf(商品编号:);gets(hao);fflush(stdin);while(p-next!=NULL)if(strcmp(p-next-data.bianhao,hao)=0) p=L;SeqList* insert1(SeqList *L,int i,char hao,char ming,float jia,int date1,int date2,int date3,char lei)int j=0;SeqList*h,*ne;h=L;ne=(SeqList*)malloc(sizeof(SeqList);
32、if(ilength+1) printf(i error!n);return;while(h-next!=NULL&jnext;j+;if(j=i-1&(strcmp(h-next-data.kind,lei)=0)strcpy(ne-data.bianhao,hao);strcpy(ne-data.name,ming);strcpy(ne-data.kind,lei);ne-data.value=jia;ne-data.qi.year=date1;ne-data.qi.month=date2;ne-data.qi.day=date3;ne-next=h-next;h-next=ne;leng
33、th+;output(L);return L;void insert2(SeqList *L)h=L;p=L;m=length;dos=(SeqList*)malloc(sizeof(SeqList);printf(请输入第%d个商品,m+1);pp;while(h-next!=NULL)h=h-next;printf(商品编号:);scanf(%s,&(s-data.bianhao);fflush(stdin);while(p-next!=NULL)printf(请重新输入商品编号:);scanf(%s,&(s-data.bianhao);fflush(stdin);scanf(%s,&(s
34、-data.name);fflush(stdin);printf(商品价格:);scanf(%f,&(s-data.value);scanf(%d%d%d,&(s-data.qi.year),&(s-data.qi.month),&(s-data.qi.day);6.软件维护针对超市管理系统设计与实现过程中出现的错误,我们做出了一系列措施对系统进行维护。使系统能够具有可靠性,可用性,完整性,等特点。另外,对通讯录后台系统还进行安全方面的维护。使系统,安全。结论到此已完成论文选题系统的开发。在本次开发过程中,遇到了许多方面的困难,包括数据库设计方面、与现在工作冲突方面等,同时,在这次开发过程中让
35、我也受到了一些启发,此系统还存在一些缺陷,望同学、老师多多指教。希望通过以后的学习,自己能够对本系统在安全性方面进行进一步的完善。参考资料数据库原理及设计 陶宏才编 清华大学出版社SQL Server 2000 实用教程范立南编 清华大学出版社SQL Server 2000 编程员指南李香敏编 北京希望电子出版社轻松搞定 SQL Server 2000 程序设计Rebecca M.Riordan编软件工程规范Watts S.Humphrey编 清华大学出版社软件工程理论与实践 Shari Lawrence Pfleeger编 清华大学出版社软件需求分析 Swapna Kishore编 机械工业出版社软件工程思想 林锐编