超市收银系统设计思路_第1页
超市收银系统设计思路_第2页
超市收银系统设计思路_第3页
超市收银系统设计思路_第4页
超市收银系统设计思路_第5页
已阅读5页,还剩8页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

超市收银系统设计分析系统整体架构图1从图1可以看出,系统框架很清晰,用户登录,根据用户权限的不同,对应不同的操作方法,操作对象为商品。但本系统要求使用C/S框架结构来设计。C/S框架介绍:C/S结构,即大家熟知的客户机和服务器结构。C/S结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理,数据表示以及用户接口功能;服务器端完成DBMS(数据库管理系统)的核心功能。这种客户请求服务、服务器提供服务的处理方式是一种新型的计算机应用模式。Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。鉴于超市收银系统的特性,本系统不牵扯多个客户端,不需要线程同步。代码设计框架因为使用C/S框架设计程序,因此有固定的设计步骤:项目包的设计:图2client包:主要由客户端操作界面类和客户端业务类组成,客户端操作类也就是客户端main方法类,主要负责引导用户操作,提供系统界面信息提示操作,包括:初始化登录视图、商品库存管理视图和收银管理视图;客户端业务类主要包括处理客户端请求并将客户端请求打包发送给服务器的方法和一些辅助操作方法。处理库存管理员请求方法为:商品入库、商品出库、新增商品、查询全部商品和按编号查询商品;处理收银员请求方法为:扫描商品、修改购买数量商品和结账。entity包:主要由系统所涉及的实体类组成,根据操作视图可以确定为用户类和商品类。图3用户信息图8Datas类图9库存商品集合应用需求图10购买商品集合应用需求注:因为涉及到socket编程,Datas类需要序列化。工具类(Tools类文件):Tools文件主要用于操作perties文件,对perties文件操作之前,首先需要加载源文件(鉴于加载操作特殊性(提前操作),使用static块来封装),然后才能读取perties文件中键对应的值。该类主要是用于读取socket参数信息(host,port)。图11Propertis方法:voidload(InputStreaminStream)从输入流中读取属性列表(键和元素对)。ClassLoader类:类加载器是负责加载类的对象。InputStreamgetResourceAsStream(Stringname):返回读取指定资源的输入流。常量类:由代码编写思路分析可知:常量类列表主要由以下几个部门组成:系统配置常量,系统信息反馈常量,系统操作常量,管理员操作常量,收银员操作常量。图12常量列表注:具体常量参数可以在具体编程中增加或删减。客户端类编写客户端操作界面类:客户端操作界面类主要完成如下工作:(1)用户登录(2)用户操作用户登录有两个选项:管理员和收银员;用户操作也分别按照管理员和收银员来展开。图13管理员登录成功视图图14收银员登录成功视图鉴于登录操作只有两个选项,采用if-else编写较为快捷。具体代码截图如下:图15登录操作代码管理员操作和业务员操作选择较多,因此采用switch来实现较为合适,具体代码截图如下:图16管理员操作代码图17收银员操作代码main()方法:原则上main()越简单越好,具体代码截图如下:图18main()方法代码注:代码编写按如上模块来进行编写(登录方法,管理员操作方法,收银员方法),具体方法的实现依靠客户端业务类,本类中主要负责视图的引导和显示,可以分模块来进行编写和调试,遵循由简入繁原则。客户端业务类:客户端类的方法编写主要为满足客户端操作界面类的需求且需要实现与服务器端的信息交互(通过socket编程实现),因此具体代码包括登录信息的处理(方法),管理员视图下的业务操作处理(方法),收银员视图下的业务操作处理(方法),以及业务操作过程需要的逻辑操作方法的编写。具体代码截图如下:图19客户端业务方法因为需要使用socket编程来实现客户端与服务器的数据通信,因此需要socket的初始化和socket的关闭操作。具体代码如下:图20socket的初始化和关闭操作注:客户端业务类的调试应该在服务器类的框架搭好之后进行(可以完成基本的通信应答操作)。客户端编程关键点:客户端发送数据编写原则,通过Datas类中的属性参数作为载体,即对客户信息,商品信息和业务操作常量标识符进行数据打包,统统将需要发送的关键信息封装到Datas对象内,然后将这个对象发送给服务器,具体代码截图如下:图21商品入库关键信息Datas打包发送代码同时读取服务器端返回的Datas数据,提取需要的信息进行处理和判断,其中包括状态常量信息(success或error),具体代码截图如下:图22读取服务器返回数据并处理服务器类编写服务器主流程类:服务器主流程类也即线程类,本线程类采用继承Thread父类来实现。run()方法主要负责读取客户端发送过来的数据,提取业务操作常量标识,然后分别进行相应的操作,具体的数据处理依靠服务器业务类来实现,然后在将处理好的数据打包(Datas)发送给客户端,具体代码截图如下:图23读取客户端数据并进行相应的操作代码图24将处理好的数据打包发送给客户端操作代码服务器业务类:服务器业务类主要包括两部分:基础数据:用户信息(管理员和收银员的账号、密码-ROM型),库存商品信息(ROM型),购买商品信息(RAM型);处理客户端请求的数据处理方法。基础数据以后可用数据库来保存处理。ROM型数据初始化采用static块实现,一次执行,最先执行。具体代码截图如下:图25系统基础数据代码数据处理方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论