1、课程设计阐明书课程名称: 题目名称: 超市收银系统设计 班 级: 姓 名: 学 号: 指引教师: 评估成绩:教师评语: 指引教师签名 年 月 日 目 录目 录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摘 要随
2、着经济发展,人们生活越来越好。日惯用品种类越来越多,超市规模也越来越大,超市收银员工作量也越来越大。为了适应超市规模不断变化,减轻收银员工作承担,依照超市实际需要设计了一种具备开放体系构造、易扩充、易维护、具备良好人机交互界面超市收银系统,为超市决策者和管理者提供超市各种数据信息、以便查询和高效便捷管理。该超市收银系统涉及前台操作和后台数据库,后台数据库涉及入库记录、销售记录、商品信息、顾客信息和会员信息,前台操作是收银、查询和修改商品信息。该系统采用C#实现,系统开发工具是VS。核心词:C#;VS;数据库;超市收银。1.概述超市收银系统重要功能涉及:后台管理和前台操作,其中:后台管理重要涉及
3、:进货管理、销售管理、库存管理、有关业务查询和系统维护等;进货管理:在数据库中存储有各种商品供应商信息,当需要进货时,可以与供应商联系,同步数据库中会存储各种商品每一次进货信息,并保持数据时效性和完整性。销售管理重要涉及:随时录入卖出商品信息,如名称,数量,单价等,及时更新数据库数据。 货架上商品卖到一定数量时,实时生成提货报告,并提供商品库存信息,剩余信息。库存管理重要涉及:生成库存报告、生成缺货报告、录入更新数据。在需要时(可每隔一种时间段查询一次) 生成商品库存状况报告,实时报告商品库存状况,如库存量局限性(不大于某一自定数量) 时,可生成缺货报告,并提供商品种类,来源等商品属性信息,以
4、便采购人员进行商品采购。采购员采购商品后,及时录入商品信息等数据,在数据库中进行数据更新。前台操作重要涉及:前台收银员权限严格控制,支持断网销售、连网销售两种模式,预留对条码扫描、票据打印机、顾显、钱箱、磁卡刷卡机、IC卡读写器、条码打印机、盘点机等POS外设支持,可直接修改销售数量、单价、折扣等(权限控制),支持赠送(权限控制),会员卡、储值卡消费,收款抹零(权限控制),挂单/取单,前台查询商品、库存,删单、删行、查单(权限控制),特殊操作记录(防止前台作弊),支持电子称散装商品销售,前台支持业务员录入计提,商品促销销售(准时间段),会员价、储值卡价销售,支持无库存商品销售,销售小票格式自定
5、义(标题、脚注、明细格式等)。2.任务需求分析前台操作涉及:商品录入:依照超巿业务特点制定有关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精准商品扫描录入。该扫描录入办法可以充分保证各种电脑操作水平层次人员均能精确迅速地进行商品扫描录入。收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量方式)自动计算本次交易总金额。在顾客付款后,自动计算找零,同步打印交易清单(涉及交易流水账号、每类商品商品名、数量、该类商品总金额、交易时间、负责本次收银员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品所有实行95折优惠,并将所购物品总
6、金额合计到该会员总消费金额中。 会员卡有效期限为一年,满一年未续卡者,该会员卡将被注销。后台管理操作:进货管理: 依照销售状况及库存状况,自动制定进货筹划(亦可手工制定修改),可以避免盲目进货导致商品积压。 按筹划单有选取性地进行自动入库登记。 综合查询打印筹划进货与入库记录及金额。销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账状况等。 按各种方式记录生成销售排行榜,灵活察看和打印商品销售日、月、年报表。库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货
7、。 库存自动盘点计算。人员管理:员工、会员、供货商、厂商等基本信息登记管理。员工操作权限权利、客户销售权限管理。图1系统流程图商品库存程序收银员收银商品销售程序进货报告生成程序商品库存信息文献进货报告输入购物信息显示销售信息显示订货信息 收银POS机查询数据/员工管理PC机打印机称装电子秤管理商品信息 PC机SQl Server服务器进货PC机超市前台管理者SQl Server服务器进货PC机图2系统构架图超市工作人员前台收银员管理部门进货部门数据库服务器进货PC机3.数据流图、数据字典及实体联系图产生销售记录产生进货单仓库管理员收银员更新库存信息进货员前台经理更新商品信息D1 商品信息表D3
8、 销售记录销售信息销售信息销售信息事务库存信息进货信息D2 进货信息进货单图3数据流图商品信息商品信息事务D4 商品信息表4.数据字典 数据字典是关于数据信息集合,也就是对数据流图中包括所有元素定义集合。数据字典作用是在软件分析和设计过程中给人提供关于数据描述信息。名称:销售清单别名:销售报表描述:对超市商品销售状况描述定义:货品编号+名称+销售日期+数量+售价位置:输出到打印机 保存到磁盘名称:商品信息别名:商品单描述:超市销售商品信息定义:商品编号+类型编号+商品名称+库存量+售价+报警值+商品规格+计量单位位置:输出到打印机 保存到磁盘名称:顾客信息别名:描述:该系统使用者信息定义:顾客
9、编号+姓名+密码+权限位置:输出到打印机 保存到磁盘名称:入库记录别名:进货报表描述:每次进货货品描述定义:入库编号+货品编号+供应商编号+操作员+进价+数量位置:输出到打印机 保存到磁盘名称:会员信息信息表别名:商品编号描述:该超市所属会员信息定义:会员编号+会员名+会员积分+会员级别+会员电话+会员起始日期位置:输出到打印机 保存到磁盘名称:供应商信息别名:供应商描述:和超市合伙供应商信息定义:供应商编号+名称+联系人+地址+联系电话+传真+合伙起始时间位置:输出到打印机 保存到磁盘入库记录销售记录供应商商品编号商品名称库存量计量单位报警值商品规格类别编号名称电话联系人供应地址商品名称数量
10、售价总金额进价商品名称商品数量供应商编号进货销售供应商编号合伙时间传真入库编号商品编号售价11111图4某些实体联系(E-R)图nn商品顾客顾客顾客编号密码顾客名权限会员顾客会员编号会员名会员积分会员级别 电话会员起始日期图6会员实体ER图图5顾客实体ER图5.系统概要设计5.1总体设计通过需求分析阶段工作,系统必要“做什么”已经清晰了,当前是决定“如何做”时候了。总体设计基本目的就是回答“概括地说,系统应当如何实现”问题。因此总体设计又称为概要设计。通过这个阶段工作将划分出构成系统物理元素程序、文献、数据库、人工过程和文档等。总体设计另一项任务是设计软件构造,也就是要拟定系统中每个程序是由那
11、些模块构成,以及这些模块互相间关系。5.2系统功能模块图超市收银系统查询修改商品信息收银进货管理销售管理库存管理前台操作后台数据库营业记录会员信息管理 图7系统功能模块图 5.3数据库概念设计 数据库普通分为三级模式:外模式、模式和内模式。外模式也就是不同顾客所对数据视图,它将数据库内部抽象数据及其互相之间关系表达为简朴、直观应用界面。模式是数据库中所有数据逻辑构造和特性描述,普通以某种数据模型为基本。内模式是对数据物理构造和存储方式描述。在该系统中详细模式有:商品(商品编号,类型编号,商品名称,规格,计量单位,售价,库存量,报警值)顾客(顾客编号,顾客名,密码,权限)入库记录(入库编号,商品
12、编号,供应商编号,联系人,进价,数量)销售记录(商品编号,售价,销售数量,总金额)供应商(供应商编号,供应商名称,联系人,供应商电话,传真,地址,合伙时间)会员(会员编号,会员名,会员积分,会员级别,电话,会员起始日期)5.4数据库逻辑构造设计在数据库设计中相称重要一步就是将概念模型转化为计算机上DBMS所支持数据模型,例如,将E-R图转化为关系模型,咱们设计概念模型基本上都是某些抽象关系,再在数据库设计实现过程中,在计算机上有效地表达出这些关系就成了数据库设计核心。依照超市收银系统功能规定,选用MySQL作为后台数据库。在上面实体和实体之间E-R图设计基本上,形成数据库中表格及表格之间关系。
13、该数据库涉及系统登录顾客基本信息保存在顾客信息表里,其中对于顾客编号,通过自增方式实现,无需顾客手动编号,编号从1000起始。详细内容如下表所示:顾客信息表涉及:顾客编号、顾客名、密码和顾客权限,详细如下: 表1顾客信息表属性名 字段名类型长度Null备注编号UserIDInt20否主键姓名UserNamevarchar50否密码UserPasswordvarchar50否权限UserRightvarchar50否 会员信息表涉及了在该超市申请会员消费者信息,会员信息表涉及:会员编号、会员名、积分、权限、联系电话和会员起始日期,详细内容如下: 表2会员信息表属性名字段名类型长度Null备注会员
14、编号VipIdInt20否主键会员姓名VipNamevarchar50否积分VipScorevarchar50否级别VipRankvarchar50否电话VipNumbervarchar50否成为会员时间VipDatavarchar50否销售信息表涉及:商品编号、售价、数量、总金额以及备注,详细内容如下:属性名字段名类型长度Null备注商品编号GoodsIdInt20否主键单价SellPricevarchar50否数量GoodsNumvarchar50否总价zongsellvarchar50否备注Remarkvarchar50否销售时间DataTimevarchar50否 表3销售信息表商品信
15、息表涉及:商品编号、商品名称、商品类型、计量单位、规格、售价、库存 量、报警值和备注,详细内容如下表: 表4商品信息表 属性名字段名类型长度Null备注商品编号GoodsIdInt20否主键类型号TypeIdvarchar50否商品名称GoodsNamevarchar50否计量单位GoodsUnitvarchar50是规格GoodsNormvarchar50否售价GoodsSellpricevarchar50否库存量GoodsNumvarchar50否报警值AlarmNumvarchar50否备注GoodsRemardkvarchar50是入库登记表涉及:入库编号、商品编号、供应商编号、联系人
16、、进价、数量以及备注,详细内容如下: 表5入库登记表属性名字段名类型长度Null备注入库编号StockIdInt20否主键商品编号GoodsIdvarchar50否外键供应商编号CompanyIdvarchar50否操作员Operatorvarchar50否进价GoodsPricevarchar50否入库时间DataTimevarchar50否数量GoodsNumvarchar50否备注Remarkvarchar50是 供应商信息表涉及:供应商编号、供应商名称、联系人、电话、传真、地址、合伙起始时间,详细内容如下表:表6供应商信息表属性名字段名类型长度Null备注供应商编号CompanyIdI
17、nt20否主键供应商名称CompanyNamevarchar50否联系人CompanyDirectorvarchar50否电话CompanyPhonevarchar50否传真CompanyFaxvarchar50否地址CompanyAddvarchar50否合伙时间HzDataTimevarchar50否6.详细设计详细设计阶段主线目的是拟定应当如何详细地实现所规定系统,涉及顾客界面设计、程序过程设计等环节。也就是说,通过这个阶段设计工作,应当得出对目的系统精准描述,从而在编码阶段可以把这个描述直接翻译成某种设计语言书写程序。详细设计阶段任务不是详细编写程序,而是要设计出程序“蓝图”,后来程序
18、员将依照这个“蓝图”写出实际程序代码。6.1系统重要功能该系统采用C/S构造,超市收银系统重要功能涉及:后台管理和前台操作。前台重要功能是:(1)记录超市前台收银员收银信息;(2)查询、修改商品信息;后台重要功能是:(1)记录商品入库记录;(2)管理商品库存、价格等详细信息(3)记录商品销售记录;(4)管理超市会员会员信息;(5)管理登陆顾客信息。6.2人机界面设计6.2.1普通交互设计普通交互设计涉及信息显示、数据输入和系统整体控制。(1) 保持一致性。为客户交互界面中菜单选取、命令输入、数据显示以及众多其她功能,使用一致格式。(2) 提供信息反馈。向顾客及时提供视觉和听觉信息反馈,以保证在
19、顾客和系统之间及时地建立双向通信。在本系统设计过程中,基本做到了信息及时反馈,当顾客操作完一步后系统会对数据库中数据进行及时地显示。(3) 执行有较大影响操作前提示顾客确认。在设计过程中,如果顾客要执行删除操作,以及对数据库读写操作时,都会有窗体弹出询问继续操作或者予以提示。(4) 减少两次操作间需要记忆内容。为了避免顾客为下一步操作而记忆大量数据,因此在设计过程中在需要数据传递窗体中设立全局变量,来传递数据。(5) 提高对话、移动和思考效率。尽量减少顾客击键次数,在设计时考虑顾客屏幕布局以减少顾客鼠标移动距离,尽量避免顾客在操作中发生疑问状况。(6) 容许出错误。容许顾客误操作尽量不对系统导
20、致伤害。(7) 按功能对动作分类,并据此设计屏幕布局。屏幕布局尽量将软件所具备所有功能在主页面展示,界面一目了然。6.2.2信息显示设计系统在显示顾客所需要信息时应当尽量完整、清晰和易于理解。这样才干满足顾客需求。使用不同方式显示信息:用文字、图形、声音,按位置、移动和大小,使用颜色和省略等方式传达信息。(1) 只显示与当前工作关于信息。在顾客操作关于系统特定功能信息时,不必看到与之无关数据、菜单和图形。(2) 使用便于顾客迅速吸取数据方式来表达数据。(3) 使用一致标记、原则缩写和可预知颜色。显示含义应当非常精确,顾客不必参照其她信息源就能理解。(4) 产生故意义错误信息。对于系统在运营过程
21、中产生错误尽量给顾客返回一种容易理解错误信息,以使顾客保持对系统信任,和系统可用性。(5) 使用窗口分隔不同类型信息。使用不同窗口显示、保存不同类型信息。(6) 高效率使用显示屏。当使用多窗口时,应当有足够空间使得每个窗口至少都能显示出一某些。6.2.3数据输入设计顾客大某些时间用在选取菜单命令、键入数据和向系统提供输入。在系统中,键盘是重要输入介质,但是鼠标等设备也是重要输入手段,因此,对于她们数据输入操作有如下商定:(1) 尽量减少顾客输入动作。为了以便顾客使用,鼠标应当尽量减少操作幅度。(2) 保持显示信息和输入信息之间一致性。对于顾客来说,要保证其输入数据在显示上与其她显示视觉特性(例
22、如:文字大小、颜色、位置等)要一致。(3) 容许顾客自定义输入。顾客也许但愿定义自己专用命令或略去某些类型警告信息和动作确认,人机界面应当为顾客提供这样做机制。(4) 交互应当是灵活,并且可调节成顾客最喜欢输入方式。顾客类型与喜欢输入方式关于,不同顾客喜欢不同输入方式。(5) 使用当前动作语境中不合用命令不起作用。这可使得顾客不去做那些必定会导致错误动作。(6) 让顾客控制交互流。顾客应当能跳过不必要动作,变化所需做动作顺序,以及在不退出程序状况下从错误状态中恢复正常。(7) 消除冗余输入。除非也许发生误解,否则不要规定顾客指定输入数据单位;尽量提供默认值,绝对不要规定顾客提供程序可以自动获得
23、或计算出来信息。对于不同类型顾客在登录到系统后,由于有不同权限,因此在主界面中会有某些项目受到限制而无法使用,因此要使这些项目不发生作用,以保证系统安全。6.3程序设计过程程序过程设计重要是在借助过程设计工具状况下,对程序详细实现过程进行设计。程序重要某些设计在这个环节完毕。在这个任务阐明书中咱们采用盒图形式来表达程序详细设计过程,咱们系统设计为C/S构造,因此是客户端登陆系统形式,盒图没有箭头,因此不容许随意转移控制,坚持使用盒图可以使程序员养成用用构造化方式来思考问题。6.3.1登陆界面在顾客登录时,在输入顾客名和密码及顾客类型前提下将其与数据库中数据进行比对,若一致,则打开主窗体;若不一
24、致提示错误,并规定重新输入。注册后保存顾客信息,登陆界面程序盒图如图5.1所示: 连接数据库否是顾客名和密码输入提示输入否是账户与否存在提示错误显示提示框“登录成功”图8登陆界面程序盒图6.3.2后台管理操作对于系统各项信息管理属于后台管理,管理程序盒图如图5.2所示: 否是与否进行操作图9后台管理操作程序盒图重新操作保存信息是操作与否成功否否与否选中数据进行操作是管理后台信息7软件测试 测试是为了发现程序中错误而执行程序。好测试方案是极有也许发现迄今为止尚未发现错误测试方案,成功测试是发现了至今为止尚未发现错误测试。为了能设计出有效测试方案,软件工程师必要进一步理解并对的运用软件测试基本准则
25、:(1) 所有测试都应当能追溯到顾客需求。从顾客角度看,最严重错误是导致程序不能满足顾客需求哪些错误。(2) 应当预案在测试开始之前就制定出测试筹划。事实上,一旦完毕了需求模型就可以着手制定测试筹划,在建立了设计模型之后就可以及时开始详细设计测试方案。(3) 把pareto原理应用到软件测试中。Pareto原理阐明,测试发现错误当中80%很也许是由程序中20%模块导致。(4) 完全测试是不也许,测试需要终结。测试无法显示软件潜在缺陷,“测试只能证明软件存在错误而不能证明软件没有错误”。最初测试普通把焦点放在单个程序模块上,进一步测试焦点则转向在集成模块簇中寻找错误,最后在整个系统中寻找错误。在
26、测试中不也许运营途径每一种组合。然而,充分覆盖程序逻辑,并保证程序设计中使用所有条件是有也许。(5) 应由独立第三方来构造测试。第三方测试最大特点在于它专业性、独立性、客观性和公正性。对于软件开发商来说,通过第三方测试机构测试,不但可以通过专业化测试手段发现软件错误,协助开发商提高软件品质,并且可以对软件有一种客观、科学评价,有助于开发商认清自己产品定位。对于行业主管部门以及软件使用者来说,由于第三方测试机构独立公正地位,可以对被测试软件有一种客观公正评价,协助顾客选取适当、先进软件产品。(6) 充分注意测试中群集现象。测试后程序残存错误数目与该程序中已发现错误数目或检错率成正比。不要在某个程
27、序段中找到几种错误就误以为该程序段就没有错误而不再测试,相反映该对错误群集程序段进行重点测试。 参照文献 1 张海潘. 软件工程导论(第6版)M.清华大学出版社.82 萨师煊,王珊. 数据库系统概论M. 高等教诲出版社.53 陈承欢,彭勇.管理信息系统基本与开发技术M.人民邮电出版社.4 刘云生.数据库系统概论M.华中科技大学出版社. 5 殷人昆,郑人杰. 实用软件工程(第3版)M.清华大学出版社.116 朱少民.软件测试办法和技术(第2版)M.清华大学出版社.77 张友生.软件体系构造(第2版)M. 清华大学出版社,.118 石志国.ASP精解案例教程(修订版)M.清华大学出版社,.79 李
28、万宝.ASP.NET技术详解与应用实例M.机械工业出版社,.910 汪洋.网站设计全程教程M. 科学出版社. .111 杨志国等.Delphi应用程序开发精彩实例M.机械工业出版社.412 陈磊.PowerBuilder9数据库项目案例导航M.清华大学出版社. .113 杨晶. VB6.0程序设计M. 机械工业出版社.814 刘晓华.JSP应用开发详解(第三版)M. 电子工业出版社. .115 何玉洁,李宝安.数据库系统教程M.人民邮电出版社. .916 王珊著 数据库系统概论(第四版).高等教诲出版社,.317 刘金玲等著数据库原理及应用实验与课程设计指引清华大学出版社18 钱雪忠等著数据库原理及技术课程设计(全新正版)清华大学出版社,.219 周屹著数据库原理及开发应用-实验与课程设计指引清华大学出版社,.1220 李春葆等著Visual Basic 数据库系统设计与开发清华大学出版社,.821 唐红亮著SQL Server数据库设计与系统开发教程清华大学出版社,.1022 丁钟俊著数据库系统原理及应用清华大学出版社,.423 李绍峰等著数据库系统原理及应用水利水电出版社,.224 万常选著数据库系统原理与设计(第2版)清华大学出版社,,.925 冯建华等著数据库系统设计与原理(第2版)清华大学出版社,.8