面向对象报告_第1页
面向对象报告_第2页
面向对象报告_第3页
面向对象报告_第4页
面向对象报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、一、需求描述该超市的系统组成主要由以下几个部分, 其中各个部分有不同的参与者情况,每 个部分主要针对一个或一系列功能设计:(1)收银管理系统。该部分的参与者主要是收银人员,同时该部分是与库存管 理以及业务管理直接关联的。收银的业务操作直接对库存管理以及业务管理进行 影响。其中的类比如收银单、条形码、商品细项等。收银部分中的一些实体类是 与其他部分中的实体类共通的。每次收银操作,都会生成业务信息,影响营业额、 订单数、收银人员工作记录等。(2)线上订单系统。该部分的参与者主要是后台管理人员以及会员顾客。这个 部分是一个自身功能较为完整,依赖性较小的部分,其中一些重要的类比如线上 订单、购物车、商

2、品细项。可以明确的如线上订单和收银部分的收银单都可以是业务管理中业务记录 这种抽象接口的具体实现实体类,也就是继承泛化,并拓展自己额外的属性。线上订单系统的时序流程会比较复杂,类似课程教授的的购车用例。该部分 是会员顾客与订单系统的交互,同时也会涉及对业务管理的、库存管理的变动, 这种变动是对其底层实体类的具体存储参数的修改。通过订单系统种的功能函数 实现。(3)人员管理系统是另一个重要的系统组成。该部分的参与者主要是后台管理 人员和顾客会员。这里要区分的是后台管理人员参与者以及后台管理人员类。后者是系统中的一项组成,用于实现数据记录和某些功能,而前者是角色。人员管理中最重要的三个实体类分别是

3、后台人员、收银人员以及顾客会员。这里暂时不考虑超市的其他员工,因为收银人员在收银系统中扮演重要地位, 其 收银记录,对业务管理的底层数据都有影响。人员管理主要分为两种,一种是后台人员的编辑、添加、删除。这种管理适 用于三个主要实体类。而顾客会员类存在注册函数,也就是说该部分的参与者是 顾客会员自身,顾客会员类信息是需要自身编辑的。 该系统主要是对系统中的角 色类进行管理,对角色类进行实现增、删、查、改。同时也会附加权限的管理。(4)库存管理系统主要是后台管理人员参与,细化的功能为商品入库、商品出库,库存紧缺提醒等,库存管理的部分依赖于商品管理部分, 也就是说该部分主 要是对商品细项类中的数量特

4、性进行操作。 库存操作将影响将直接影响到线上订 单系统的界面类的商品展示情况,也会影响到超市的铺货情况,这里铺货的流程 被省略,将货架铺货商品量与库存量合并,即线下顾客无法在收银系统中登记库 存为0的商品,以此简化流程。库存管理中,比较重要的实体类应有商品库存、 入库记录、出库记录等。(5)商品管理系统主要是后台人员参与,该部分的重要实体类是商品细项类,这个类有这众多的特性,用来记录商品的各项属性。这个部分的主要功能即记录 商品信息,不论库存管理、收银系统、线上订单系统皆与这个部分有直接联系, 他们对商品的识别都需要查询商品管理部分的存储再数据库的商品细项类。而部分的控制类无疑可以实现后台管理

5、人员对商品信息的增、删、查、改。库存管理、收银系统、线上订单系统都依赖于该系统组成。(6)业务管理系统主要负责的是交易单的综合记录功能,其直接参与者是后台 管理人员,但是收银人员以及会员顾客也会通过在收银系统和线上订单系统的操 作生成相应的业务记录交给业务管理部分。无论是超市收银或者是线上订单,一 笔交易在其系统中是收银记录和订单记录,但是都会汇总到业务管理部分中,提 取出关键的业务记录信息,以业务记录实体类的父类模式存入数据库。这种处理方式可以使得超市的运营统计有一个统一的标准, 方便超市的营业 情况、销售商品情况的统计,这样对于超市的市场走向分析、大众消费喜好都有 帮助。当然,具有权限的后

6、台管理员仍然可以对业务记录进行增、删、查、改。以上的部分是组成系统的主要组成。参与者主要是后台管理人员、收银员以 及会员顾客。各个部分中实体类之间都存在联系, 一个部分可以划分会一个完整 的用例,别的部分的控制类中的一些操作也会相应影响到自己的实体类数据。六、面向对象设计(1)包设计,包设计可以按照 mvc架构设计,也可以按功能模块设计,这里按功 能模块设计:PackageOnline Order managementOlineOrderControlRecord IAddshoppingcart()EditshoppingcartOCustomerlogin()Querygood()+Rec

7、ordbusiness() +Querybusiness()Package Good and INventory managementGoodinfoInventoryRecordGoodControlInventory+Addgood() +Editgood() +Delgood() +islegal()Inwarehouse()Outwarehouse()-checkgood。GoodviewInventroyviewPackageBusiness managementPackagePersonnel managementCustomerPackageCashier management部

8、署图设计对于内部管理人员访问系统,使用C/S架构,前台有应用客户端,后台有应有服 务器,使用JBoss netty处理socket连接,还有数据库服务器,这里使用Oracle 数据库:对于线上购物系统,针对用户,为便携用户使用,故采用 B/S架构,由于会 员顾客可以访问,潜在的并发量会很大,所以将请求处理进程和业务逻辑进程不 部署在同一台服务器。用户通过 HTTP青求访问Web服务器。应用服务器使用 JBoss,数据库服务器采用Oracle数据库:(3)子系统设计由于人员管理中,用标识符即可区分不同人员:管理员、收银员以及会员顾客在 数据库中的存储。人员管理可以作为一个子系统,其对人员的操作完

9、备,后台管 理员对不论自身、收银员还是会员顾客操作时,都可以调用人员管理这个基本接 口,由此接口实现的功能类则分别针对不同人员类别操作,这样大大增加了系统复用性:无论线上订单还是收银单都是业务记录的一种, 业务管理系统中对业务的操 作,可以作为接口提供给线上订单的操作以及收银单操作, 业务管理中的业务操 作也就可以独立成一个子系统:IBusinessOperate+QueryBusiness() : BusinessListBusinessOperate+SubmitBusiness(in Person(custumer,cashier) : BusinessList+EditBusiness

10、()+DelBusiness()BusinessListPeroncatagorysetinfo()DBBusinessOperateDriveManagerStatementConnectionResultSet1+getConnection() : Connection+createStatement()+getString()+executeUpdate() +executeQuery()+new()+setdata()+operateBusiness() : BusinessList +getBusiness() : BusinessListBusiness+QueryBusiness

11、() : BusinessList+SubmitBusiness(in Person(custumer,cashier) : BusinessList+EditBusiness()+DelBusiness()+new() +setData()在超市系统中,对商品细项的操作会再很多情况下发生,比如入库、出库就 会对商品库存信息变更,线上购买、收银结账也会对修改其数据,又比如后台管 理员修改商品的某些属性,并且这些操作前肯定需要先查询该项商品的信息, 才 可做出操作。这些可以通过实现商品信息查询与编辑的子系统,调用该子系统接 口进行操作,这样大大减少了程序冗余、代码重复:(4)类设计在面向对象分析

12、中,已经创建了实体类、边界类和控制类3种分析类。类的优化即是创建设计类,将分析类映射为设计类。优化视图类,由于线上订单系统采用B/S架构,前端使用html,视图类的处 理的是选择从控制类得到的指令获得,从而构建返回的视图,这里的视图类更重 要的是生成相应的html代码。而后台系统以及收银系统是 C/S架构,这里的视 图类主要是针对控件的设计以及布局等。 该报告主要以优化后者视图类为主。 人 员管理视图可以如下优化,使用一些接口:商品库存管理视图类可以如下优化:收银系统视图类可以如下优化:优化控制类有几个要素:复杂性、可能性的变化、视图分配和业务管理。在 收银系统,收银记录会影响业务管理中的记录

13、, 需要使用通知类调用业务管理子 系统接口,而这中跨系统的操作,如果放入控制类中,那么参数存储,内部子操 作就无法实现,操作会变得复杂。故将该通知业务系统作为一个类分出控制类, 会优化系统,同样线上订单控制类也可以如此:Record-onlineorder-business-goods-volume-catalog-manager+generatebusiness()Record-cashier-business+inform()-goods-volume-catalog-manager+generatebusiness()+inform()优化实体类。因为实体对象通常是被动和持久的,所以对实

14、体类优化需要注 意持久化存储的实现,如Java EE中经常使用Bean类。该项目将一些实体类的 操作函数转为一些通用的数据处理类,如 DataHelper类、SqlHelper类。这里列出人员管理中的会员顾客实体类、业务记录的业务记录实体类、商品管理里的商品细项实体类以及库存管理的库存记录类的优化,DataHelper将操作函数中的得到变量设为特性,在生成函数处理该变量,以替代实体类的函数, 这样可以提高复用性。如商品细项的生产厂家属性,可以单独作为一个 GoodsmfDatahelper类,那么 在库存管理、业务管理中,都可以调用该类进行生产厂家的属性操作:Customer-ID-name-age-sex-rank-memberlevelGoodsdetail-ki

温馨提示

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

评论

0/150

提交评论