《软件工程实验报告模板——面向对象设计.doc》由会员分享,可在线阅读,更多相关《软件工程实验报告模板——面向对象设计.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件工程实验报告超市运营管理系统面向对象设计指导教师:班 级: 学生姓名:学 号: 完成日期: 运城学院计算机科学与技术系1概述12系统结构设计13模块及人机界面设计13.2 前台销售管理33.2 后台销售管理43.3 商品管理43.4 销售商品信息汇总管理54 数据设计54.1.超市管理系统包含的实体和属性:54.2.实体之间的联系54.3.系统总E-R图54.4数据库关系表65. 对象设计75.1 设计类的服务75.2 设计关联85.3 优化对象模型86. 总结91概述面向对象设计就是将面向对象分析的问题域分析模型转换为符合成本和质量的求解域设计模型。该阶段再划分为系统设计和对象设计。系统
2、设计确定实现系统的策略,进行系统架构设计、人机界面设计、数据设计和模块设计;对象设计确定设计模型中的类、关联、接口和现实服务的算法。面向对象设计与面向对象分析是一个多次反复迭代的过程,二者界限模糊。2系统结构设计选课系统整体上采用Internet技术,客户端通过Web方式进行信息的发布和获取。软件架构采用浏览器/服务器方式。客户端采用JavaScript、Java等网络编程语言编写,其脚本程序简单易用、灵活性强,可以控制整个Web页面。基于JavaScript的用户界面为用户所熟悉,因此,我们选择JavaScript来编写基于HTML的客户端应用程序,完成客户与服务器间的参数传递,在浏览器中解
3、释执行。设计时考虑访问权限,对不同权限级别显示相应的内容。Web网络服务器向用户提供业务服务,应用服务器处理Web服务器转发的请求进行业务处理。我们基于SQL Server 2005数据库平台搭建选课系统数据库。本系统采用面向对象的三层体系结构,这种三层体系结果是在客户端与数据库之间加入了一个中间层,应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通信与中间层建立连接,再经由中间层与数据库进行交换。三层结构包含:表示层、业务逻辑层、数据访问层。3模块及人机界面设计超市管理系统有5个人执行者和3个系统执行者,即
4、“系统管理员”、“顾客”、“销售人员”、 “前台客服人员”、“超市经理”、“财务管理系统”、“采购管理系统”、“库存管理系统”。1)系统管理员:负责整个软件的维护工作,可以添加用户,并对用户设置权限。2)顾客:顾客购买商品,并可以在前台客服办理会员,成为会员,便可以在客服处查询购物情况。还可以在客服处兑换积分。3)销售人员:销售商品,对商品进行管理。4)前台客服人员:服务于顾客,为顾客办理会员,兑换积分。5)超市经理:监督超市的整个运营情况,可以查询销售情况,作出决策。6)财务管理系统:根据销售汇总情况核对财务状况。7)采购管理系统:根据销售情况,制定采购计划。8)库存管理系统:根据销售情况及
5、时补充货架上商品,根据库存情况,适时组织促销、打折活动。超市销售管理系统前台零售管理子系统后台销售管理子系统系统管理前台销售管理会员管理重新登录权限设置修改密码添加用户售后服务管理后台销售管理删除会员查询会员添加会员修改会员信息兑换积分商品录入结账打印小票购物查询 商品录入销售商品汇总删除商品销售商品查询商品信息修改打折促销 图2 系统功能结构图 本系统开发的目的是实现在线远程给教师分配课程和学生注册课程,以提高工作效率,所以系统的人机交互界面都是以Web页面形式呈现。下面给出主要的功能界面和设计说明。3.1 系统管理初始化:管理员登录,页面显示系统界面。输入:用户信息处理:系统需访问数据库,
6、增、删、改、查用户信息。输出:用户更新的信息。3.2 前台销售管理初始化:收银员登录,页面显示商品录入界面。输入:商品二维码处理:系统需访问数据库,查询商品价格。输出:小票。3.2 后台销售管理初始化:管理员登录,页面显示销售信息管理界面。输入:增、删、查、改销售信息处理:系统需访问数据库,对数据库中内容进行修改输出: 商品的录入、删除、商品信息查询,商品信息修改3.3 商品管理初始化:管理员登录,页面显示商品管理界面。输入:增、删、改、查商品信息处理:系统需访问数据库,对数据库中内容进行修改输出:查询时显示商品信息,“插入(删除、更新)”成功3.4 销售商品信息汇总管理初始化:管理员登录,页
7、面显示销售商品信息汇总管理界面。输入:进货信息处理:系统需访问数据库,进行查询输出:查询到商品,存入采购表中4 数据设计4.1.超市管理系统包含的实体和属性:商品(商品编号,名称,价格,库存数量,规格,条形码,促销价格,促销起止日期,允许打折,入库日期,库存预警数量)顾客(姓名,电话,会员号,会员积分,会员注册时间)前台销售人员(用户编号,密码,姓名,性别,职位,电话)后台销售人员(用户编号,密码,姓名,性别,职位,电话)前台客服人员(用户编号,密码,姓名,性别,职位,电话)4.2.实体之间的联系购买:顾客购买商品,一个顾客可以购买多种商品,一种商品也可以被多个顾客购买,顾客与商品之间是多对多
8、的关系。销售:前台销售人员销售商品,一个前台销售人员可以销售多种商品,一种商品也可以被多个销售人员销售,前台销售人员与商品之间是多对多的关系。服务:前台客服人员可以服务于顾客,一个前台销售人员可以服务于多个顾客,一个顾客也可以被多个客服人员服务,客服人员与顾客之间是多对多的关系。管理:后台销售人员可以管理商品,一个后台销售人员可以管理多种商品,一种商品也可以被多个后台销售人员管理,后台销售人员与顾客之间是多对多的关系。4.3.系统总E-R图商品前台销售人员顾客后台销售人员前台客服人员购买服务销售管理mmnnmmnm总金额图3 系统总E-R图4.4数据库关系表产品信息表(cp)字段名别名字段类型
9、长度主/外键是否为空产品编号产品编号Varchar50PNot null产品名称产品名称Varchar50Not null产品定价产品定价float10Not null产品售价产品售价float10Not null产品数量产品数量int10Not null用户表(yh)字段名别名字段类型长度主/外键是否为空用户名用户名varchar50PNot null用户密码用户密码Varchar50Not null用户性别用户性别Varchar50Not nulltidtidVarchar50收银员管理表(xstj)字段名别名字段类型长度主/外键是否为空收银员姓名收银员姓名Varchar50PNot nu
10、ll收银员姓名结账时间Varchar20Not null收银员姓名金额float10Not null公司信息表(gs)字段名别名字段类型长度主/外键是否为空超市名超市名Varchar10PNot null超市地址超市地址Varchar20FNot null联系电话联系电话Varchar20Not null超市经理超市经理Varchar20Not null5. 对象设计对象设计就是进一步扩充、完善和细化面向对象设计模型。根据面向对象分析阶段的对象模型进行对象设计。5.1 设计类的服务面向对象分析中的对象模型中只包含关键的服务,而在该阶段需要综合考虑对象模型、动态模型和功能模型,才能正确确定类的服
11、务。设计者可以根据动态模型中的行为和功能模型中的用例描述确定类的服务,然后设计实现服务的数据结构和算法,主要是选择能正确描述信息的逻辑结构和相应的能够高效实现算法的物理结构。设计的算法应该是高效的、易于理解的和易于扩展的。这里采用活动图表示设计类的服务。如管理员类的添加用户服务,其活动图表示如图4所示。 图4 管理系统活动图 图4 收银员类的收银服务的活动图还可给出其它主要类的主要服务的活动图表示。5.2 设计关联设计关联就是确定实现关联的具体方法,主要有单向遍历和双向遍历两种方式来访问关联。许多情况下,都需要双向遍历关联。对于单向关联,如果关联的重数是一元的,则采用指针实现,如果是多元的,则
12、采用指针集合实现。对于双向关联,通常采用易于修改的独立关联对象来实现。5.3 优化对象模型主要是从效率和清晰性角度优化对象模型,提高效率和调整继承关系。增加派生属性和派生关联可以提高访问效率。应进一步采用抽象与具体的方法来优化继承关系,建立合理的、易于理解的类继承结构,以实现代码共享、减少冗余。6. 总结和传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本, 提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力, 提供有效的技术保障。但是,本实验做得不好,例如关联设计就不大明白,所以没写,主要的功能实现了,但很多小功能没有实现,只是设计了出来,总的来说,本次试验做得没有想象的好,思维比较混乱。可能以后做得多了,会得心应手些。