版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
...wd......wd......wd...课程设计说明书课程名称:题目名称:超市收银系统设计班级:姓名:学号:指导教师:评定成绩:教师评语:指导教师签名年月日目录TOC\o"1-3"\h\u目录1摘要21.概述12.任务需求分析13.数据流图、数据字典及实体联系图44.数据字典55.系统概要设计95.1总体设计105.2系统功能模块图105.3数据库概念设计115.4数据库逻辑构造设计116.详细设计156.1系统的主要功能156.2人机界面设计156.2.1一般交互设计156.2.2信息显示设计166.2.3数据输入设计166.3程序设计过程176.3.1登陆界面176.3.2后台管理操作187.软件测试19参考文献20摘要随着经济的开展,人们的生活越来越好。日常用品的种类越来越多,超市的规模也越来越大,超市收银员的工作量也越来越大。为了适应超市规模的不断变化,减轻收银员的工作负担,根据超市的实际需要设计了一个具有开放体系构造的、易扩大的、易维护的、具有良好人机交互界面的超市收银系统,为超市的决策者和管理者提供超市的各种数据信息、方便的查询和高效便捷的管理。该超市收银系统包括前台操作和后台数据库,后台数据库包括入库记录、销售记录、商品信息、用户信息和会员信息,前台操作是收银、查询和修改商品信息。该系统采用C#实现,系统开发工具是VS2013。关键词:C#;VS2013;数据库;超市收银。1.概述超市收银系统主要功能包括:后台管理和前台操作,其中:后台管理主要包括:进货管理、销售管理、库存管理、相关业务的查询和系统维护等;进货管理:在数据库中存储有各种商品的供应商信息,当需要进货时,可以与供应商联系,同时数据库中会存储各种商品的每一次进货信息,并保持数据的时效性和完整性。销售管理主要包括:随时录入卖出商品信息,如名称,数量,单价等,及时更新数据库数据。货架上商品卖到一定数量时,实时生成提货报告,并提供商品的库存信息,剩余信息。库存管理主要包括:生成库存报告、生成缺货报告、录入更新数据。在需要时(可每隔一个时间段查询一次)生成商品库存情况报告,实时报告商品库存情况,如库存量缺乏(小于某一自定的数量)时,可生成缺货报告,并提供商品种类,来源等商品属性信息,方便采购人员进展商品采购。采购员采购商品后,及时录入商品信息等数据,在数据库中进展数据更新。前台操作主要包括:前台收银员权限严格控制,支持断网销售、连网销售两种模式,预留对条码扫描、票据打印机、顾显、钱箱、磁卡刷卡机、IC卡读写器、条码打印机、盘点机等POS外设的支持,可直接修改销售数量、单价、折扣等〔权限控制〕,支持赠送〔权限控制〕,会员卡、储值卡消费,收款抹零〔权限控制〕,挂单/取单,前台查询商品、库存,删单、删行、查单〔权限控制〕,特殊操作记录〔防止前台作弊〕,支持电子称散装商品销售,前台支持业务员录入计提,商品促销销售〔按时间段〕,会员价、储值卡价销售,支持无库存商品销售,销售小票格式自定义〔标题、脚注、明细格式等〕。2.任务需求分析前台操作包括:商品录入:根据超巿业务特点制定相关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现准确的商品扫描录入。该扫描录入方法可以充分保证各种电脑操作水平层次的人员均能准确快速地进展商品扫描录入。收银业务:通过扫描条形码或者直接输入商品名称〔对于同类多件商品采用一次录入加数量的方式〕自动计算本次交易的总金额。在顾客付款后,自动计算找零,同时打印交易清单〔包括交易的流水账号、每类商品的商品名、数量、该类商品的总金额、交易的时间、负责本次收银的员工号〕。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品全部实行95折优惠,并将所购物品的总金额累计到该会员的总消费金额中。会员卡的有效期限为一年,满一年未续卡者,该会员卡将被注销。后台管理操作:进货管理:根据销售情况及库存情况,自动制定进货方案〔亦可手工制定修改〕,可以防止盲目进货造成商品积压。按方案单有选择性地进展自动入库登记。综合查询打印方案进货与入库记录及金额。销售管理:商品正常销售、促销与限量、限期及制止销售控制。综合查询各种销售明细记录、各地收银员收银记录以及交结账情况等。按多种方式统计生成销售排行榜,灵活观察和打印商品销售日、月、年报表。库存管理:综合查询库存明细记录。库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,防止库存商品积压损失和缺货。库存自动盘点计算。人员管理:员工、会员、供货商、厂商等基本信息登记管理。员工操作权限权利、客户销售权限管理。图1系统流程图商品库存程序收银员收银商品销售程序进货报告生成程序商品库存信息文件进货报告输入购物信息显示销售信息显示订货信息图1系统流程图商品库存程序收银员收银商品销售程序进货报告生成程序商品库存信息文件进货报告输入购物信息显示销售信息显示订货信息收银POS机查询数据/员工管理PC机打印机收银POS机查询数据/员工管理PC机打印机称装电子秤管理商品信息PC机SQlServer服务器进货PC机超市前台管理者超市前台管理者SQlServerSQlServer服务器进货PC机图2系统构架图超市工作人员前台收银员管理部门进货部门数据库服务器进货PC机3.数据流图、数据字典及实体联系图进货PC机图2系统构架图超市工作人员前台收银员管理部门进货部门数据库服务器进货PC机产生销售记录产生销售记录产生进货单仓库管理员收银员更新库存信息进货员前台经理更新商品信息D1商品信息表D1商品信息表D3销售记录销售信息销售信息销售信息事务库存信息进货信息D2进货信息进货单图3数据流图商品信息商品信息事务D4商品信息表4.数据字典D3销售记录销售信息销售信息销售信息事务库存信息进货信息D2进货信息进货单图3数据流图商品信息商品信息事务D4商品信息表数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。名称:销售清单别名:销售报表名称:销售清单别名:销售报表描述:对超市商品销售情况的描述定义:货物编号+名称+销售日期+数量+售价位置:输出到打印机保存到磁盘名称:商品信息别名:商品单描述:超市销售商品的信息定义:商品编号+类型编号+商品名称+库存量+售价+报警值+商品规格+计量单位位置:输出到打印机保存到磁盘名称:用户信息别名:描述:该系统的使用者的信息定义:用户编号+姓名+密码+权限位置:输出到打印机保存到磁盘名称:入库记录别名:进货报表描述:每次进货的货物描述定义:入库编号+货物编号+供应商编号+操作员+进价+数量位置:输出到打印机保存到磁盘名称:会员信息信息表别名:商品编号描述:该超市所属会员的信息定义:会员编号+会员名+会员积分+会员等级+会员+会员起始日期位置:输出到打印机保存到磁盘名称:供应商信息别名:供应商描述:和超市合作的供应商的信息定义:供应商编号+名称+联系人+地址+联系++合作起始时间名称:用户信息别名:描述:该系统的使用者的信息定义:用户编号+姓名+密码+权限位置:输出到打印机保存到磁盘名称:入库记录别名:进货报表描述:每次进货的货物描述定义:入库编号+货物编号+供应商编号+操作员+进价+数量位置:输出到打印机保存到磁盘名称:会员信息信息表别名:商品编号描述:该超市所属会员的信息定义:会员编号+会员名+会员积分+会员等级+会员+会员起始日期位置:输出到打印机保存到磁盘名称:供应商信息别名:供应商描述:和超市合作的供应商的信息定义:供应商编号+名称+联系人+地址+联系++合作起始时间位置:输出到打印机保存到磁盘入库记录销售记录入库记录销售记录供应商商品编号商品名称库存量计量单位报警值商品规格类别编号名称联系人供应地址商品名称数量售价总金额进价商品名称商品数量供应商编号进货销售供应商编号合作时间入库编号商品编号售价11111图4局部实体联系〔E-R〕图nn商品1111图4局部实体联系〔E-R〕图nn商品用户用户用户用户编号密码用户名权限会员用户会员编号会员名会员积分会员等级会员起始日期图6会员实体E—R图图5用户实体E—R图5.系统概要设计会员用户会员编号会员名会员积分会员等级会员起始日期图6会员实体E—R图图5用户实体E—R图5.1总体设计经过需求分析阶段的工作,系统必须“做什么〞已经清楚了,现在是决定“怎样做〞的时候了。总体设计的基本目标就是答复“概括地说,系统应该如何实现〞的问题。所以总体设计又称为概要设计。通过这个阶段的工作将划分出组成系统的物理元素—程序、文件、数据库、人工过程和文档等。总体设计的另一项任务是设计软件的构造,也就是要确定系统中的每个程序是由那些模块组成的,以及这些模块相互间的关系。5.2系统功能模块图超市收银系统超市收银系统查询修改商品信息收银进货管理销售管理库存管理前台操作后台数据库营业统计会员信息管理图7系统功能模块图图7系统功能模块图5.3数据库概念设计数据库一般分为三级模式:外模式、模式和内模式。外模式也就是不同用户所对的数据视图,它将数据库内部抽象的数据及其互相之间的关系表示为简单、直观的应用界面。模式是数据库中全部数据的逻辑构造和特征描述,通常以某种数据模型为基础。内模式是对数据的物理构造和存储方式的描述。在该系统中具体的模式有:商品〔商品编号,类型编号,商品名称,规格,计量单位,售价,库存量,报警值〕用户〔用户编号,用户名,密码,权限〕入库记录〔入库编号,商品编号,供应商编号,联系人,进价,数量〕销售记录〔商品编号,售价,销售数量,总金额〕供应商〔供应商编号,供应商名称,联系人,供应商,,地址,合作时间〕会员〔会员编号,会员名,会员积分,会员等级,,会员起始日期〕5.4数据库逻辑构造设计在数据库设计中相当重要的一步就是将概念模型转化为计算机上DBMS所支持的数据模型,例如,将E-R图转化为关系模型,我们设计概念模型基本上都是一些抽象的关系,再在数据库设计的实现过程中,在计算机上有效地表示出这些关系就成了数据库设计的关键。根据超市收银系统的功能要求,选取MySQL作为后台数据库。在上面的实体和实体之间的E-R图设计基础上,形成数据库中的表格及表格之间的关系。该数据库包括系统登录用户的基本信息保存在用户信息表里,其中对于用户编号,通过自增方式实现,无需用户手动编号,编号从1000起始。具体内容如下表所示:
用户信息表包括:用户编号、用户名、密码和用户权限,具体如下:表1用户信息表属性名字段名类型长度Null备注编号UserIDInt20否主键姓名UserNamevarchar50否密码UserPasswordvarchar50否权限UserRightvarchar50否会员信息表包括了在该超市申请会员的消费者的信息,会员信息表包括:会员编号、会员名、积分、权限、联系和会员起始日期,具体内容如下:表2会员信息表属性名字段名类型长度Null备注会员编号VipIdInt20否主键会员姓名VipNamevarchar50否积分VipScorevarchar50否等级VipRankvarchar50否VipNumbervarchar50否成为会员时间VipDatavarchar50否销售信息表包括:商品编号、售价、数量、总金额以及备注,具体内容如下:属性名字段名类型长度Null备注商品编号GoodsIdInt20否主键单价SellPricevarchar50否数量GoodsNumvarchar50否总价zongsellvarchar50否备注Remarkvarchar50否销售时间DataTimevarchar50否表3销售信息表商品信息表包括:商品编号、商品名称、商品类型、计量单位、规格、售价、库存量、报警值和备注,具体内容如下表:表4商品信息表属性名字段名类型长度Null备注商品编号GoodsIdInt20否主键类型号TypeIdvarchar50否商品名称GoodsNamevarchar50否计量单位GoodsUnitvarchar50是规格GoodsNormvarchar50否售价GoodsSellpricevarchar50否库存量GoodsNumvarchar50否报警值AlarmNumvarchar50否备注GoodsRemardkvarchar50是入库记录表包括:入库编号、商品编号、供应商编号、联系人、进价、数量以及备注,具体内容如下:表5入库记录表属性名字段名类型长度Null备注入库编号StockIdInt20否主键商品编号GoodsIdvarchar50否外键供应商编号CompanyIdvarchar50否操作员Operatorvarchar50否进价GoodsPricevarchar50否入库时间DataTimevarchar50否数量GoodsNumvarchar50否备注Remarkvarchar50是供应商信息表包括:供应商编号、供应商名称、联系人、、、地址、合作起始时间,具体内容如下表:表6供应商信息表属性名字段名类型长度Null备注供应商编号CompanyIdInt20否主键供应商名称CompanyNamevarchar50否联系人CompanyDirectorvarchar50否CompanyPhonevarchar50否CompanyFaxvarchar50否地址CompanyAddvarchar50否合作时间HzDataTimevarchar50否6.详细设计详细设计阶段的基本目标是确定应该如何具体地实现所要求的系统,包括用户界面设计、程序过程设计等步骤。也就是说,经过这个阶段的设计工作,应该得出对目标系统的准确描述,从而在编码阶段可以把这个描述直接翻译成某种设计语言书写的程序。详细设计阶段的任务不是具体的编写程序,而是要设计出程序的“蓝图〞,以后程序员将根据这个“蓝图〞写出实际的程序代码。6.1系统的主要功能该系统采用C/S构造,超市收银系统的主要功能包括:后台管理和前台操作。前台的主要功能是:〔1〕记录超市前台收银员的收银信息;〔2〕查询、修改商品信息;后台的主要功能是:〔1〕记录商品的入库记录;〔2〕管理商品的库存、价格等具体信息〔3〕记录商品的销售记录;〔4〕管理超市会员的会员信息;〔5〕管理登陆用户的信息。6.2人机界面设计6.2.1一般交互设计一般交互设计涉及信息显示、数据输入和系统整体控制。保持一致性。为客户交互界面中的菜单项选择择、命令输入、数据显示以及众多的其他功能,使用一致的格式。提供信息的反响。向用户及时提供视觉和听觉的信息反响,以保证在用户和系统之间及时地建立双向通信。在本系统设计过程中,基本做到了信息的及时反响,当用户操作完一步后系统会对数据库中的数据进展及时地显示。执行有较大影响的操作前提示用户确认。在设计过程中,如果用户要执行删除操作,以及对数据库的读写操作时,都会有窗体弹出询问继续操作或者予以提示。减少两次操作间需要记忆的内容。为了防止用户为下一步操作而记忆大量数据,所以在设计过程中在需要数据传递的窗体中设置全局变量,来传递数据。提高对话、移动和思考的效率。尽量减少用户击键的次数,在设计时考虑用户屏幕的布局以减少用户鼠标移动的距离,尽量防止用户在操作中发生疑问的情况。允许犯错误。允许用户的误操作尽量不对系统造成伤害。按功能对动作分类,并据此设计屏幕布局。屏幕布局尽量将软件所具有的所有功能在主页面展示,界面一目了然。6.2.2信息显示设计系统在显示用户所需要的信息时应该尽量完整、清晰和易于理解。这样才能满足用户的需求。使用不同的方式显示信息:用文字、图形、声音,按位置、移动和大小,使用颜色和省略等方式传达信息。只显示与当前工作有关的信息。在用户操作有关系统的特定功能的信息时,不必看到与之无关的数据、菜单和图形。使用便于用户迅速吸收数据的方式来表示数据。使用一致的标记、标准的缩写和可预知的颜色。显示的含义应该非常准确,用户无须参照其他信息源就能理解。产生有意义的错误信息。对于系统在运行过程中产生的错误尽量给用户返回一个容易理解的错误信息,以使用户保持对系统的信任,和系统的可用性。使用窗口分隔不同类型的信息。使用不同的窗口显示、保存不同类型的信息。高效率的使用显示屏。当使用多窗口时,应该有足够的空间使得每个窗口至少都能显示出一局部。6.2.3数据输入设计用户的大局部时间用在选择菜单命令、键入数据和向系统提供输入。在系统中,键盘是主要的输入介质,但是鼠标等设备的也是重要的输入手段,所以,对于他们的数据输入操作有如下约定:尽量减少用户的输入动作。为了方便用户的使用,鼠标应当尽量减少操作的幅度。保持显示信息和输入信息之间的一致性。对于用户来说,要保证其输入的数据在显示上与其他显示的视觉特征〔例如:文字大小、颜色、位置等〕要一致。允许用户自定义输入。用户可能希望定义自己专用的命令或略去某些类型的警告信息和动作确认,人机界面应该为用户提供这样做的机制。交互应该是灵活的,并且可调整成用户最喜欢的输入方式。用户类型与喜欢的输入方式有关,不同的用户喜欢不同的输入方式。使用当前动作语境中不适用的命令不起作用。这可使得用户不去做那些肯定会导致错误的动作。让用户控制交互流。用户应该能跳过不必要的动作,改变所需做的动作的顺序,以及在不退出程序的情况下从错误状态中恢复正常。消除冗余的输入。除非可能发生误解,否则不要要求用户指定输入数据的单位;尽可能提供默认值,绝对不要要求用户提供程序可以自动获得或计算出来的信息。对于不同类型的用户在登录到系统后,由于有不同的权限,所以在主界面中会有一些工程受到限制而无法使用,所以要使这些工程不发生作用,以保证系统安全。6.3程序设计过程程序过程设计主要是在借助过程设计工具的情况下,对程序的具体实现过程进展设计。程序的主要局部设计在这个环节完成。在这个任务说明书中我们采用盒图的形式来表达程序的具体的设计过程,我们的系统设计为C/S构造,所以是客户端登陆系统的形式,盒图没有箭头,所以不允许随意转移控制,坚持使用盒图可以使程序员养成用用构造化的方式来思考问题。6.3.1登陆界面在用户登录时,在输入用户名和密码及用户类型的前提下将其与数据库中的数据进展比对,假设一致,则翻开主窗体;假设不一致提示错误,并要求重新输入。注册后保存用户信息,登陆界面的的程序盒图如图5.1所示:连接数据库连接数据库否是用户名和密码输入否是用户名和密码输入提示输入否是账户是否存在提示输入否是账户是否存在提示错误提示错误显示提示框“登录成功〞显示提示框“登录成功〞图8登陆界面程序盒图图8登陆界面程序盒图6.3.2后台管理操作对于系统的各项信息的管理属于后台管理,管理程序盒图如图5.2所示:否否是是否进展操作图9后台管理操作程序盒图重新操作保存信息是操作是否成功否否是否选中数据进展操作是管理后台信息7.软件测试测试是为了发现程序中的错误而执行的程序。好的测试方案是极有可能发现迄今为止尚未发现的错误的测试方案,成功的测试是发现了至今为止尚未发现的错误的测试。为了能设计出有效的测试方案,软件工程师必须深入理解并正确运用软件测试的基本准则:所有测试都应该能追溯到用户需求。从用户角度看,最严重的错误是导致程序不能满足用户需求的哪些错误。应该预案在测试开场之前就制定出测试方案。实际上,一旦完成了需求模型就可以着手制定测试方案,在建立了设计模型之后就可以立即开场详细设计的测试方案。把pareto原理应用到软件测试中。Pareto原理说明,测试发现的错误当中的80%很可能是由程序中20%的模块造成的。完全测试是不可能的,测试需要终止。测试无法显示软件潜在的缺陷,“测试只能证明软件存在错误而不能证明软件没有错误〞。最初的测试通常把焦点放在单个程序模块上,进一步测试的焦点则转向在集成的模块簇中寻找错误,最后在整个系统中寻找错误。在测试中不可能运行路径的每一种组合。然而,充分覆盖程序逻辑,并确保程序设计中使用的所有条件是有可能的。应由独立的第三方来构造测试。第三方测试最大的特点在于它的专业性、独立性、客观性和公正性。对于软件开发商来说,经过第三方测试机构的测试,不仅可以通过专业化的测试手段发现软件错误,帮助开发商提升软件的品质,而且可以对软件有一个客观、科学的评价,有助于开发商认清自己产品的定位。对于行业主管部门以及软件使用者来说,由于第三方测试机构独立公正的地位,可以对被测试的软件有一个客观公正的评价,帮助用户选择适宜、优秀的软件产品。充分注意测试中的群集现象。测试后程序残存的错误数目与该程序中已发现的错误数目或检错率成正比。不要在某个程序段中找到几个错误就误认为该程序段就没有错误而不再测试,相反响该对错误群集的程序段进展重点测试。参考文献
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能养生壶赋能养老地产:适老化产品推广
- 智能升降种植灯资本寒冬下的生存法则:现金流管理与产能出清
- 双碳约束下防水书包能否成为传统纺织巨头的“第二曲线”
- 关于广东省智慧养老平台项目可行性研究报告
- 医疗新技术伦理审查中公众参与机制构建
- 学校食堂原材料采购索证索票制度
- 中医师承指导老师推拿手法要领
- 2026年医疗器械生产质量管理规范附录:体外诊断试剂原料质量控制
- 医院病房终末消毒操作流程
- 辽宁省2026证券从业资格金融市场基础
- 明清时期小说课件
- 宜昌市西陵区(2025年)社区《网格员》典型题题库(含答案)
- AI在工业设计中的应用【文档课件】
- 国开2025年秋《数学思想与方法》大作业答案
- 第26课《古代诗歌五首:春望》教学课件
- 地方志编纂工作流程手册
- 儿童颜面部管理
- 中职flash考试试题及答案
- 《可转化科技成果评价规范》
- 学校教师意识形态培训
- bz-高标准农田建设项目勘察设计技术投标方案210
评论
0/150
提交评论