超市收银系统设计说明书.docx

上传人:b****1 文档编号:3395442 上传时间:2023-05-05 格式:DOCX 页数:37 大小:332.15KB
下载 相关 举报
超市收银系统设计说明书.docx_第1页
第1页 / 共37页
超市收银系统设计说明书.docx_第2页
第2页 / 共37页
超市收银系统设计说明书.docx_第3页
第3页 / 共37页
超市收银系统设计说明书.docx_第4页
第4页 / 共37页
超市收银系统设计说明书.docx_第5页
第5页 / 共37页
超市收银系统设计说明书.docx_第6页
第6页 / 共37页
超市收银系统设计说明书.docx_第7页
第7页 / 共37页
超市收银系统设计说明书.docx_第8页
第8页 / 共37页
超市收银系统设计说明书.docx_第9页
第9页 / 共37页
超市收银系统设计说明书.docx_第10页
第10页 / 共37页
超市收银系统设计说明书.docx_第11页
第11页 / 共37页
超市收银系统设计说明书.docx_第12页
第12页 / 共37页
超市收银系统设计说明书.docx_第13页
第13页 / 共37页
超市收银系统设计说明书.docx_第14页
第14页 / 共37页
超市收银系统设计说明书.docx_第15页
第15页 / 共37页
超市收银系统设计说明书.docx_第16页
第16页 / 共37页
超市收银系统设计说明书.docx_第17页
第17页 / 共37页
超市收银系统设计说明书.docx_第18页
第18页 / 共37页
超市收银系统设计说明书.docx_第19页
第19页 / 共37页
超市收银系统设计说明书.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

超市收银系统设计说明书.docx

《超市收银系统设计说明书.docx》由会员分享,可在线阅读,更多相关《超市收银系统设计说明书.docx(37页珍藏版)》请在冰点文库上搜索。

超市收银系统设计说明书.docx

超市收银系统设计说明书

摘要

随着经济的发展,人们的生活越来越好。

日常用品的种类越来越多,超市的规模也越来越大,超市收银员的工作量也越来越大。

为了适应超市规模的不断变化,减轻收银员的工作负担,根据超市的实际需要设计了一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的超市收银系统,为超市的决策者和管理者提供超市的各种数据信息、方便的查询和高效便捷的管理。

该超市收银系统包括前台操作和后台数据库,后台数据库包括入库记录、销售记录、商品信息、用户信息和会员信息,前台操作是收银、查询和修改商品信息。

该系统采用C#实现,系统开发工具是VS20一三。

关键词:

C#;VS20一三;数据库;超市收银

1可行性分析

1.1问题描述

本次课程设计实训要求在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,分析和设计一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的超市收银系统,为超市的决策者和管理者提供充足的信息、快捷的查询和有效的管理方式,减少不必要的损失和浪费,提高超市管理的效率。

1.2可行性研究的主要内容

可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计过程,也就是在较高层系上以较抽象的方式进行的系统分析和设计过程。

在进行可行性研究时首先要进一步分析和澄清问题定义。

在问题定义阶段初步确定系统的规模和目标,如果正确就进一步加以肯定,如果有错误就应该及时改正,如果对目标约束和限制,必须把他们一一列出来。

从系统逻辑模型出发,探索若干种可供选择的主要解法(即系统实现方案)。

对于每种解法都应该仔细研究它的可行性,一般来说,至少应该从下述三个方面研究每种解法的可行性。

1.2.1技术可行性

技术可行性主要分析研究在现有技术条件的基础上是否能够实现该系统。

目前电脑在中国已经得到普及,使用电脑的人数在快速增长。

从事软件设计的人员的技术能力有了很大提高,可以实现该系统。

1.2.2经济可行性

经济可行性主要研究该系统的经济效益能否超过它的开发成本。

目前在中国,到超市进行购物的人流量是非常庞大的,由于超市提供的商品种类繁多,且大多是人们的日常必需品,所以人们对超市的依赖性非常强。

在这样的背景下,为超市设计这样的一个系统,其经济效益是十分可观的。

又由于通过网络传递销售信息可以不受距离的限制,因此可以节省大量的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高超市的销售效率,即提高了超市的经济效益,所以从经济上完全是可行的。

1.2.3操作可行性

操作可行性主要研究系统的操作方式在该用户组织内是否可行。

在当前的社会条件下,Internet网已经在中国全面覆盖,在中国各地,均可以通过硬件设备联网。

而且各商业组织也拥有属于自己的内部局域网,所以该系统可以实现联网。

该系统在联网情况下,可以通过PC机访问系统的数据。

所以该系统的操作方式符合该用户组织。

1.3结论意见

经过认真地研究,该系统完成了在技术可行性、经济可行性、操作可行性方面的可行性研究,该系统可以开发实现。

因此,相信全系统的设计将会按时、高质量完成。

所以,系统的设计开发是可以马上进行的。

2项目开发计划

2.1编写目的

经过项目的可行性分析,得出项目可进一步进行下去的结论,在软件继续进一步的开发之前首先给出此软件项目计划。

2.2项目背景

项目分析单位在接到项目分析员给出的项目可行性分析报告后,在本系统,即超市收银系统开发主管部门的统一规划下制定用于软件实质开发的软件项目计划,以使软件开发单位理解软件开发要求,进行开发。

2.3项目概述

超市收银系统主要功能包括:

后台管理和前台操作,其中:

后台管理主要包括:

进货管理、销售管理、库存管理、相关业务的查询和系统维护等;

进货管理:

在数据库中存储有各种商品的供应商信息,当需要进货时,可以与供应商联系,同时数据库中会存储各种商品的每一次进货信息,并保持数据的时效性和完整性。

销售管理主要包括:

随时录入卖出商品信息,如名称,数量,单价等,及时更新数据库数据。

货架上商品卖到一定数量时,实时生成提货报告,并提供商品的库存信息,剩余信息。

库存管理主要包括:

生成库存报告、生成缺货报告、录入更新数据。

在需要时(可每隔一个时间段查询一次)生成商品库存情况报告,实时报告商品库存情况,如库存量不足(小于某一自定的数量)时,可生成缺货报告,并提供商品种类,来源等商品属性信息,方便采购人员进行商品采购。

采购员采购商品后,及时录入商品信息等数据,在数据库中进行数据更新。

前台操作主要包括:

前台收银员权限严格控制,支持断网销售、连网销售两种模式,预留对条码扫描、票据打印机、顾显、钱箱、磁卡刷卡机、IC卡读写器、条码打印机、盘点机等POS外设的支持,可直接修改销售数量、单价、折扣等(权限控制),支持赠送(权限控制),会员卡、储值卡消费,收款抹零(权限控制),挂单/取单,前台查询商品、库存,删单、删行、查单(权限控制),特殊操作记录(防止前台作弊),支持电子称散装商品销售,前台支持业务员录入计提,商品促销销售(按时间段),会员价、储值卡价销售,支持无库存商品销售,销售小票格式自定义(标题、脚注、明细格式等)。

2.4项目开发计划

1任务分解

分三个大的阶段进行开发第一阶段完成本系统的数据流图跟E-R图。

第二阶段完成概要设计跟详细设计。

第三阶段书写文档。

2关键问题

各模块之间的联系和后台数据库的完成。

使用目前的设备与现有开发技术完全可以开发出该系统,总的来说该项目没有较大的技术难点与其他的一些风险因素。

对于出现的一些小难点总都能得到解决。

2.5交付期限

本系统的开发时限为两个星期,该系统的交付期限为20一五年7月3日。

3需求分析

3.1任务需求分析

前台操作包括:

商品录入:

根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精确的商品扫描录入。

该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进行商品扫描录入。

收银业务:

通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量的方式)自动计算本次交易的总金额。

在顾客付款后,自动计算找零,同时打印交易清单(包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号)。

如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。

会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。

后台管理操作:

进货管理:

根据销售情况及库存情况,自动制定进货计划(亦可手工制定修改),可以避免盲目进货造成商品积压。

按计划单有选择性地进行自动入库登记。

综合查询打印计划进货与入库记录及金额。

销售管理:

商品正常销售、促销与限量、限期及禁止销售控制。

综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。

按多种方式统计生成销售排行榜,灵活察看和打印商品销售日、月、年报表。

库存管理:

综合查询库存明细记录。

库存状态自动告警提示。

如库存过剩、少货、缺货等。

软件为您预警,避免库存商品积压损失和缺货。

库存自动盘点计算。

人员管理:

员工、会员、供货商、厂商等基本信息登记管理。

员工操作权限权利、客户销售权限管理。

3.2系统流程图

3.3系统构架图

 

3.4数据流图、数据字典及实体联系图

3.4.1数据流图

3.4.2数据字典

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。

3.4.3实体联系E-R图

 

4系统概要设计

4.1总体设计

经过需求分析阶段的工作,系统必须“做什么”已经清楚了,现在是决定“怎样做”的时候了。

总体设计的基本目标就是回答“概括地说,系统应该如何实现”的问题。

所以总体设计又称为概要设计。

通过这个阶段的工作将划分出组成系统的物理元素—程序、文件、数据库、人工过程和文档等。

总体设计的另一项任务是设计软件的结构,也就是要确定系统中的每个程序是由那些模块组成的,以及这些模块相互间的关系。

4.2系统功能模块图

 

4.3数据库概念设计

数据库一般分为三级模式:

外模式、模式和内模式。

外模式也就是不同用户所对的数据视图,它将数据库内部抽象的数据及其互相之间的关系表示为简单、直观的应用界面。

模式是数据库中全部数据的逻辑结构和特征描述,通常以某种数据模型为基础。

内模式是对数据的物理结构和存储方式的描述。

在该系统中具体的模式有:

商品(商品编号,类型编号,商品名称,规格,计量单位,售价,库存量,报警值)

用户(用户编号,用户名,密码,权限)

入库记录(入库编号,商品编号,供应商编号,联系人,进价,数量)

销售记录(商品编号,售价,销售数量,总金额)

供应商(供应商编号,供应商名称,联系人,供应商电话,传真,地址,合作时间)

会员(会员编号,会员名,会员积分,会员等级,电话,会员起始日期)

4.4数据库逻辑结构设计

在数据库设计中相当重要的一步就是将概念模型转化为计算机上DBMS所支持的数据模型,例如,将E-R图转化为关系模型,我们设计概念模型基本上都是一些抽象的关系,再在数据库设计的实现过程中,在计算机上有效地表示出这些关系就成了数据库设计的关键。

根据超市收银系统的功能要求,选取MySQL作为后台数据库。

在上面的实体和实体之间的E-R图设计基础上,形成数据库中的表格及表格之间的关系。

该数据库包括系统登录用户的基本信息保存在用户信息表里,其中对于用户编号,通过自增方式实现,无需用户手动编号,编号从1000起始。

具体内容如下表所示:

用户信息表包括:

用户编号、用户名、密码和用户权限,具体如下:

表4.1用户信息表

属性名

字段名

类型

长度

Null

备注

编号

UserID

Int

20

主键

姓名

UserName

varchar

50

密码

UserPassword

varchar

50

权限

UserRight

varchar

50

会员信息表包括了在该超市申请会员的消费者的信息,会员信息表包括:

会员编号、会员名、积分、权限、x和会员起始日期,具体内容如下:

表4.2会员信息表

属性名

字段名

类型

长度

Null

备注

会员编号

VipId

Int

20

主键

会员姓名

VipName

varchar

50

积分

VipScore

varchar

50

等级

VipRank

varchar

50

电话

VipNumber

varchar

50

成为会员时间

VipData

varchar

50

销售信息表包括:

商品编号、售价、数量、总金额以及备注,具体内容如下:

属性名

字段名

类型

长度

Null

备注

商品编号

GoodsId

Int

20

主键

单价

SellPrice

varchar

50

数量

GoodsNum

varchar

50

总价

zongsell

varchar

50

备注

Remark

varchar

50

销售时间

DataTime

varchar

50

表4.3销售信息表

商品信息表包括:

商品编号、商品名称、商品类型、计量单位、规格、售价、库存

量、报警值和备注,具体内容如下表:

表4.4商品信息表

属性名

字段名

类型

长度

Null

备注

商品编号

GoodsId

Int

20

主键

类型号

TypeId

varchar

50

商品名称

GoodsName

varchar

50

计量单位

GoodsUnit

varchar

50

规格

GoodsNorm

varchar

50

售价

GoodsSellprice

varchar

50

库存量

GoodsNum

varchar

50

报警值

AlarmNum

varchar

50

备注

GoodsRemardk

varchar

50

入库记录表包括:

入库编号、商品编号、供应商编号、联系人、进价、数量以及备注,具体内容如下:

表4.5入库记录表

属性名

字段名

类型

长度

Null

备注

入库编号

StockId

Int

20

主键

商品编号

GoodsId

varchar

50

外键

供应商编号

CompanyId

varchar

50

操作员

Operator

varchar

50

进价

GoodsPrice

varchar

50

入库时间

DataTime

varchar

50

数量

GoodsNum

varchar

50

备注

Remark

varchar

50

供应商信息表包括:

供应商编号、供应商名称、联系人、电话、传真、地址、合作起始时间,具体内容如下表:

表4.6供应商信息表

属性名

字段名

类型

长度

Null

备注

供应商编号

CompanyId

Int

20

主键

供应商名称

CompanyName

varchar

50

联系人

CompanyDirector

varchar

50

电话

CompanyPhone

varchar

50

传真

CompanyFax

varchar

50

地址

CompanyAdd

varchar

50

合作时间

HzDataTime

varchar

50

5详细设计

详细设计阶段的根本目标是确定应该如何具体地实现所要求的系统,包括用户界面设计、程序过程设计等步骤。

也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成某种设计语言书写的程序。

详细设计阶段的任务不是具体的编写程序,而是要设计出程序的“蓝图”,以后程序员将根据这个“蓝图”写出实际的程序代码。

5.1系统的主要功能

该系统采用C/S结构,超市收银系统的主要功能包括:

后台管理和前台操作。

前台的主要功能是:

(1)记录超市前台收银员的收银信息;

(2)查询、修改商品信息;

后台的主要功能是:

(1)记录商品的入库记录;

(2)管理商品的库存、价格等具体信息

(3)记录商品的销售记录;

(4)管理超市会员的会员信息;

(5)管理登陆用户的信息。

5.2人机界面设计

5.2.1一般交互设计

一般交互设计涉及信息显示、数据输入和系统整体控制。

(1)保持一致性。

为客户交互界面中的菜单选择、命令输入、数据显示以及众多的其他功能,使用一致的格式。

(2)提供信息的反馈。

向用户及时提供视觉和听觉的信息反馈,以保证在用户和系统之间及时地建立双向通信。

在本系统设计过程中,基本做到了信息的及时反馈,当用户操作完一步后系统会对数据库中的数据进行及时地显示。

(3)执行有较大影响的操作前提示用户确认。

在设计过程中,如果用户要执行删除操作,以及对数据库的读写操作时,都会有窗体弹出询问继续操作或者予以提示。

(4)减少两次操作间需要记忆的内容。

为了避免用户为下一步操作而记忆大量数据,所以在设计过程中在需要数据传递的窗体中设置全局变量,来传递数据。

(5)提高对话、移动和思考的效率。

尽量减少用户击键的次数,在设计时考虑用户屏幕的布局以减少用户鼠标移动的距离,尽量避免用户在操作中发生疑问的情况。

(6)允许犯错误。

允许用户的误操作尽量不对系统造成伤害。

(7)按功能对动作分类,并据此设计屏幕布局。

屏幕布局尽量将软件所具有的所有功能在主页面展示,界面一目了然。

5.2.2信息显示设计

系统在显示用户所需要的信息时应该尽量完整、清晰和易于理解。

这样才能满足用户的需求。

使用不同的方式显示信息:

用文字、图形、声音,按位置、移动和大小,使用颜色和省略等方式传达信息。

(1)只显示与当前工作有关的信息。

在用户操作有关系统的特定功能的信息时,不必看到与之无关的数据、菜单和图形。

(2)使用便于用户迅速吸收数据的方式来表示数据。

(3)使用一致的标记、标准的缩写和可预知的颜色。

显示的含义应该非常准确,用户无须参照其他信息源就能理解。

(4)产生有意义的错误信息。

对于系统在运行过程中产生的错误尽量给用户返回一个容易理解的错误信息,以使用户保持对系统的信任,和系统的可用性。

(5)使用窗口分隔不同类型的信息。

使用不同的窗口显示、保存不同类型的信息。

(6)高效率的使用显示屏。

当使用多窗口时,应该有足够的空间使得每个窗口至少都能显示出一部分。

5.2.3数据输入设计

用户的大部分时间用在选择菜单命令、键入数据和向系统提供输入。

在系统中,键盘是主要的输入介质,但是鼠标等设备的也是重要的输入手段,所以,对于他们的数据输入操作有如下约定:

(1)尽量减少用户的输入动作。

为了方便用户的使用,鼠标应当尽量减少操作的幅度。

(2)保持显示信息和输入信息之间的一致性。

对于用户来说,要保证其输入的数据在显示上与其他显示的视觉特征(例如:

文字大小、颜色、位置等)要一致。

(3)允许用户自定义输入。

用户可能希望定义自己专用的命令或略去某些类型的警告信息和动作确认,人机界面应该为用户提供这样做的机制。

(4)交互应该是灵活的,并且可调整成用户最喜欢的输入方式。

用户类型与喜欢的输入方式有关,不同的用户喜欢不同的输入方式。

(5)使用当前动作语境中不适用的命令不起作用。

这可使得用户不去做那些肯定会导致错误的动作。

(6)让用户控制交互流。

用户应该能跳过不必要的动作,改变所需做的动作的顺序,以及在不退出程序的情况下从错误状态中恢复正常。

(7)消除冗余的输入。

除非可能发生误解,否则不要要求用户指定输入数据的单位;尽可能提供默认值,绝对不要要求用户提供程序可以自动获得或计算出来的信息。

对于不同类型的用户在登录到系统后,由于有不同的权限,所以在主界面中会有一些项目受到限制而无法使用,所以要使这些项目不发生作用,以保证系统安全。

5.3程序设计过程

程序过程设计主要是在借助过程设计工具的情况下,对程序的具体实现过程进行设计。

程序的主要部分设计在这个环节完成。

在这个任务说明书中我们采用盒图的形式来表达程序的具体的设计过程,我们的系统设计为C/S结构,所以是客户端登陆系统的形式,盒图没有箭头,所以不允许随意转移控制,坚持使用盒图可以使程序员养成用用结构化的方式来思考问题。

5.3.1登陆界面

在用户登录时,在输入用户名和密码及用户类型的前提下将其与数据库中的数据进行比对,若一致,则打开主窗体;若不一致提示错误,并要求重新输入。

注册后保存用户信息,登陆界面的的程序盒图如图5.1所示:

//登陆界面的程序代码

privatevoidbutton1_Click(objectsender,EventArgse)

{

stringMyConnectionString="Server=localhost;Database=chaoshi;Uid=root;Pwd=123456;PersistSecurityInfo=True;Charset=utf8;";

stringusername=tbxUsr.Text.Trim();

stringpasswd=tbxPwr.Text.Trim();

stringrol=comboBox1.Text.Trim();

stringloginsql="SELECT*FROMuserWhereUserID='"+username+"'andUserPassword='"+passwd+"'andUserRight='"+rol+"'";

MySqlConnectionconnection=newMySqlConnection(MyConnectionString);

connection.Open();

MySqlCommandmycmd=newMySqlCommand(loginsql,connection);

MySqlDataReadermyread=mycmd.ExecuteReader();

try

{

if(myread.HasRows)

{

if(myread.Read())

{

//MessageBox.Show("登录成功");

if(myread["UserID"].ToString()==tbxUsr.Text&&myread["UserPassword"].ToString()==tbxPwr.Text&&myread["UserRight"].ToString()=="管理员")

{

user=username;

Form8f3;

f3=newForm8();

f3.Show();

}

elseif(myread["UserID"].ToString()==tbxUsr.Text&&myread["UserPassword"].ToString()==tbxPwr.Text&&myread["UserRight"].ToString()=="员工")

{

user=username;

Form2f2;

f2=newForm2();

f2.Show();

}

}

}

else

{

MessageBox.Show("Pleaseenterthecorrectusernameandpassword!

");

}

}

catch(Exceptionex)

{

MessageBox.Show(string.Format("出错,出错原因{0}"),ex.Message);

}

finally

{

connection.Close();

connection.Dispose();

mycmd.Dispose();

}

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

this.Close();

}

privatevoidtextBox1_TextChanged(objectsender,EventArgse)

{

}

privatevoidForm1_Load(objectsender,EventArgse)

{

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2