面向对象课程设计超市销售管理系统.docx
《面向对象课程设计超市销售管理系统.docx》由会员分享,可在线阅读,更多相关《面向对象课程设计超市销售管理系统.docx(35页珍藏版)》请在冰豆网上搜索。
面向对象课程设计超市销售管理系统
XXXXXXXXXXXX
(20XX至201XX学年度第一学期)
题目超市销售管理系统
科目面向对象技术
姓名XXXXXX)
专业计算机技术
入学年月20XX-08
简短评语
成绩:
授课教师签字:
一、选题描述与需求分析(主要对所选题目进行文字描述,并给出功能性需求、非功能性需求等,5分)
1.1选题描述
超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,对于超市的资源管理,信息的存储和处理也显得迫切需要。
本文首先对系统的开发环境及其模式进行简单的介绍,然后对超市管理系统的需求可行性进行分析,对功能进行详细的设计,并在分析与设计的同时用UML建模语言对其建模,采用UML工具JUDE绘制描述各种模型的图形,目的使开发者与用户更有效的实现功能与理解需求,并使程序人员能顺利的实现系统,在系统的实现阶段重点讲述设计到编码的过渡,以体现UML建模的模型对系统开发带来的好处。
本文的编写结合了面向对象的软件开发方法与UML建模语言的优势与特色,同时与库存管理系统紧密结合。
既体现了面向对象的软件开发思想,又包容了UML建模语言所特有的语言建模优势。
在编写中我们大量的使用UML语言所提供的各种建模图形来描述库存管理系统,例如描述用户需求的用例图,描述系统功能的动态的顺序图。
1.2需求分析
1.2.1功能需求
超市管理系统是在为超市提供快捷、方便的结账体系,高效的库存和财务管理系统,让顾客在超市更加快捷方便,让超市的管理和运营工作更加完善。
因为超市管理系统是基于超市内部普通员工和管理人员的系统,所以非超市员工是无权进行操作的。
该超市管理系统的用户:
超级管理员,销售人员,经理,顾客。
基本流程是:
一个具有相对权限的人登录相应的系统板块,了解相应的信息。
如图所示,为系统整体功能模块图,该系统分为7大子系统,分别为商品管理系统、财务管理系统、人事管理系统、销售管理系统、登录系统、信息管理系统。
管理员和员工通过身份验证方式登录相应权限的子系统以多种视图浏览并了解超市信息。
系统管理员通过“超市信息管理”子系统进行超市系统的升级和维护管理操作,并为管理超市货物、查看和发布相关信息,用户登录分别提供数据库服务。
系统管理员可以管理管理层和普通员工信息。
销售员登录销售系统了解产品相关信息,数量,执行收款、退款、找零、退货服务。
管理员登录商品管理系统,及时获知产品数量机种类信息,并根据公司需要决定采购的产品的种类及数量,提供采购预算。
经理登录财务系统对公司每月发放的员工工资、奖金、产品进货成本、公司总利润、下一季度财政预算做成总表并进行报告;登录人事系统,惊醒人员招聘,岗前培训等功能。
超市销售系统大体功能如图1.1所示:
图1.1系统主要功能模块
1.2.2系统运行环境
操作系统需求:
Windows7及以上操作系统。
数据库软件需求:
MySql数据库。
中间件软件需求:
Tomcat系列服务器。
1.2.3技术可行性
超市销售管理系统,可以基于J2EE平台,采用Java语言,数据量小,任何一个数据库都可以满足要求。
实现过程中可以用JDBC,Hibernate等连接数据库,并可以使用SQL语句进行查询、插入、删除、更新等操作,功能实现不复杂。
已经学习过数据库、软件工程等相关课程,而语言基本思想大致是一样的,Java语言掌握起来应该没有问题。
再者,网上信息特别丰富,可以上网查找有关资料,在技术方面有指导老师可以进行指导,还可以上网查询相关资料。
因此,在技术方面实现本系统是不存在问题的。
1.2.4操作可行性
由于本系统是基于Java语言开发的,它具有跨平台性,可以运行在Linux和windows下。
软件操作界面简洁,软件的操作简单、易学易用,非计算机专业人士都能熟练使用。
由技术可行性、操作可行性的研究,可以得出结论,超市销售管理系统的开发是完全可行的。
1.2.5社会可行性
目前超市销售系统已在大型的超市中得到了广泛的应用,超市销售需要现代化,只有合理的运用现代化的销售,才能在市场竞争中立于不败之地。
超市销售系统不仅能够提高经营者的回报,而且能够随时掌握市场的动向,为经营者提供必要的市场信息,解决了经营者最需解决的迫切问题,同时超市销售系统对操作人员的要求不高,也合理的节约了成本的投入。
因此从社会可行性来说,开发超市销售系统是可行的。
1.2.6质量属性
正确性:
系统应当确保普通顾客销售流程的最少99.9%能够准确无误地顺利完成,VIP顾客销售流程99%能够准确无误地顺利完成。
健壮性:
系统开发时应该考虑尽可能多的正常或异常情境并进行各种情况下的集中测试,交付之后出现重大BUG的概率控制在0.01%以下,抵御木马、病毒的能力优于市场一般水平,系统突然崩溃的频率低于三个月每次。
易维护性:
系统每次出现BUG之后解决事件不应超过一天时间。
安全性:
系统设计开发阶段充分考虑信息的封装隐藏,确保用户和顾客的隐私安全以及促销策略等商业机密不会被轻易泄漏。
具有周到细致的管理。
做到所有操作都有据可查,确保数据不会被非法用户所获取。
易用性:
系统操作应简洁方便,超市使用本系统后销售效率应能够提高20%左右。
可扩展性:
系统设计开发时应该考虑以后系统在使用中与银行、商品生产厂家系统进行交互的情况,并预留方案使这些功能的实现成为可能。
可移植性:
无需要,暂不具备。
可靠性:
系统采用MYSQL 数据库,有严格的安全控制和数据备份机制,可以确保数据安全可靠。
集成性:
系统充分考虑与其他子系统之间的接口,可以满足各种平台,在技术上保证了与其他应用系统的集成性。
二、面向对象分析建模(给出系统的用例(UseCase)图,以及系统的静态和动态模型,30分)
2.1需求分析建模(给出系统的用例(UseCase)图,对用例进行文字描述,包括用例的简要说明、主事件流与其他事件流、前置条件和后置条件)
2.1.1参与者的识别
1、系统管理员通过超市信息管理子系统进行超市系统的升级和维护管理操作,并为管理超市货物、查看和发布相关信息,用户登录分别提供数据库服务。
系统管理员可以管理管理层和普通员工的信息。
2、销售人员直接服务于顾客,介绍推销产品。
执行收款、退款、找零服务。
3、经理对普通员工和员工进行管理,人员招聘,岗前培训,员工审核,工资奖金发放。
4、管理员进行商品管理,库存管理,超市活动宣传等工作。
该系统的参与者有:
系统管理员、管理员、经理、销售人员、顾客。
2.1.2系统总用例图
总系统框架用例图如图2.1所示:
图2.1系统总用例图
2.1.3销售系统总用例图
销售子系统用例图,主要是销售人员完成,分为销售管理和业务管理,用例如图2.2所示,销售过程中销售员与顾客发生的用例描述如表2.1所示:
图2.2销售子系统用例图
表2.1销售用例事件流描述
用例名称
销售
参与者
销售员、顾客
描述
顾客结账、销售员扫描商品收款
启动
销售员在销售平台点击“结账”
前置条件
商品录入
主事件流
用户
系统
销售员:
扫描商品条形码
计算商品价格
顾客:
付款
比较商品总额与收款额度,找零计算
销售员:
找零确认
实际收款数打入超市账户
异常流
网络
网络连接超时
系统
商品无法读取;货款无法打入账户
2.1.4经理事务用例图
经理主要的工作是进行员工管理和工资奖金的发放。
员工管理包括了:
招聘员工、解除员工、调离员工、查看员工信息、添加员工信息、删除员工信息、查看管理员信息、添加管理员信息、删除员工信息、员工岗前培训等。
用例图如图2.3所示。
员工管理用例分析如表2.2所示:
图2.3人事管理用例图
表2.3员工管理用例描述
用例名称
员工管理
参与者
员工(销售员、管理员、经理)
描述
经理完成员工管理
启动
经理点击员工管理
前置条件
系统正常运行,经理登录成功
后置条件
进行员工管理相关操作
主事件流
用户
系统
经理登记员工信息
系统录入数据库
经理变更员工信息
数据库数据相应调整
经理统计考勤信息
调用员工考勤信息
异常流
网络
网络连接超时
系统
员工信息无法修改;信息无法调取
2.1.5超市管理员用例模型
超市管理员用例图相关说明:
管理员可以查看库存信息,查看商品种类和数量;了解销售情况,查看最近一月畅销商品种类和数量;制定促销方案及采购计划。
用例图如图2.4所示。
图2.4超市管理员用例图
2.1.6登录用例模型
用户能够通过该系统进行如下活动:
用户登入系统界面,在指定位置输入用户名和密码;系统进行身份验证后,若验证通过,则进入系统;若验证未通过,则重新输入。
用户登录系统后,可修改密码。
用户在进入系统之前要登输入密码和用户名,登录系统。
本系统提供在指定位置输入密码和用户名及修改密码的功能。
登录用例图如图2.5所示,登录用例描述如表2.3所示:
图2.5登录用例图
表2.3登录用例描述
用例名称
登录
参与者
用户(销售员、管理员、经理)
描述
完成一次登录的过程
启动
用户打开系统点击“登录”
前置条件
系统正常运行
后置条件
登录成功,可进行相关操作;否则不可以操作
主事件流
用户
系统
用户输入用户名、密码、验证码、身份
匹配数据库信息,进行校验
(匹配成功)登录
(匹配失败)重新登录
再次验证
修改密码
登记新的密码
异常流
网络
网络连接超时
系统
用户无法登录;信息无法匹配
2.2建立静态模型(建立类图,确定类及对象的属性和方法,分析类与类之间的关系,包括泛化、关联、依赖关系)
2.2.1系统分析
对象类静态结构模型描述了系统的静态结构,包括构成系统的类和对象、他们的属性和操作以及这些对象间的联系。
1、模块化
模块是构成程序的基本构件,模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户需求。
采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解。
该系统正是采用模块化的原理,将整个系统分成四个主要模块,每个模块都有它独立的功能,整个超市销售系统结构清晰,用户容易理解和操作。
2、抽象
当考虑对任何问题的模块化解法时,可以提出许多抽象的层次,系统设计过程的每一步都是对软件解法的抽象层次的一次精化,在可行性研究阶段,是对整个超市销售系统的抽象,在需求分析阶段,是对超市销售系统功能的抽象。
3、逐步求精
逐步求精是对整个设计过程的细化,由可行性研究到需求分析,再到总体设计和详细设计,每一步都对超市销售系统进行了细化,这样使超市销售系统的结构越来越清晰,功能越来越完善。
4、信息隐藏和局部化
在超市销售系统的设计过程中,涉及到许多数据信息,有的信息对于不需要它的模块来说是不能访问的,需要隐藏起来,而局部化有助于实现信息隐藏,该系统正是运用了这一原理来进行设计的。
5、模块独立
该系统的各个模块之间没有过多的相互作用,每个模块的功能都比较独立,这样的软件容易开发出来。
系统的各模块都相对独立,修改设计和程序需要的工作量比较小,错误传播范围小,需要扩充功能时能够插入模块,这样系统比较容易测试和维护。
2.2.2建立对象类
根据已经建立的用例图和客户业务需求确定对象类,及其属性和操作。
通过检查类的定义、分析问题的需求和运用该领域的知识来完善和确定类的属性,根据系统功能要求和系统设计需要完善和确定类的操作。
超市销售管理系统的对象类包括:
1、商品
类名:
商品。
类的类型:
该类为String类型,创建的对象为持久对象,存储在服务器上的数据库中,可以共享。
功能:
负责建立商品基本信息并对这些信息进行处理,包括增加、删除、查 询操作等。
属性:
商品名称、编号、条形码、价格、规格、库存数量、库存预警数量、促销价格、促销起止日期、允许打折、入库日期。
操作:
增加商品()、删除商品()、修改商品信息()、查询商品()。
2、顾客
类名:
顾客。
类的类型:
该类为String类型,创建的对象为持久对象,存储在服务器上的数据库中,可以共享。
功能:
负责建立顾客对象并进行处理,包括购买商品、付款操作。
属性:
交易编号。
操作:
购买商品()、付款()、购物查询()。
3、员工
类名:
员工。
类的类型:
该类为String类型,创建的对象为持久对象,存储在服务器上的数据库中,可以共享。
功能:
负责工作人员对象的建立并处理。
属性:
员工号、姓名、性别、职位、电话、住址、工资、用户名、密码。
操作:
4、销售人员
类名:
销售人员。
类的类型:
该类为String类型,创建的对象为持久对象,存储在服务器上的数据库中,可以共享。
功能:
继承员工类,负责商品对象的销售处理。
属性:
继承员工属性。
操作:
商品扫描、录入商品编号、结账、打印购物小票操作。
5、管理员
类名:
管理员。
类的类型:
该类为String类型,创建的对象为持久对象,存储在服务器上的数据库中,可以共享。
功能:
继承员工类,负责建立商品对象并进行处理。
属性:
继承员工属性。
操作:
商品扫描、录入商品编号、商品录入()、商品信息修改()、删除商品()、商品查询()、广告宣传()等操作。
6、经理
类名:
经理。
类的类型:
该类为String类型,创建的对象为持久对象,存储在服务器上的数据库中,可以 共享。
功能:
继承员工类,负责建立工作人员对象并进行处理。
属性:
继承员工属性。
操作:
添加职工()、删除职工()、 修改职工信息()、员工培训审核()、工资奖金的发放()等操作。
7、销售表
类名:
销售表。
类的类型:
该类创建的对象为持久对象,存储在服务器上的数据库中,可以 共享。
功能:
负责建立销售表基本信息并对这些信息进行处理。
属性:
交易编号、商品名称、商品价格、交易数量、交易金额、卡号、交易日期。
操作:
查询()、修改()、删除()。
8、销售汇总表
类名:
销售汇总表。
类的类型:
该类创建的对象为持久对象,存储在服务器上的数据库中,可以 共享。
功能:
负责建立销售汇总表基本信息并对这些信息进行处理。
属性:
商品编号、商品名称、商品价格、销售数量、销售金额
操作:
查询()、修改()、删除()、打印()。
2.2.3绘制对象类
通过对超市销售管理系统中对类的分析,绘制类图。
超市工作人员类图如图2.6所示,其他类图如图2.7所示,系统类关系图如图2.8所示:
图2.6超市员工类图
图2.7其他主要类图
图2.8系统类关系图
2.3建立动态模型(对一些复杂的场景,给出顺序图、协作图,构建复杂对象的状态图,或业务过程的活动图等)
顺序图描绘了系统中一组对象在时间上交互的整体行为。
协作图描绘了系统中的一组对象在几何排列上的交互行为。
2.3.1人事管理系统顺序图与协作图
经理查看员工信息的工作流程绘制超市经理管理员工时序图。
经理登录成功后,可以录入员工信息。
进入查询员工信息界面,提交查询请求。
界面将查询的信息传递到控制对象。
从数据库中活动所要查询的员工信息。
将得到的信息返回到界面并显示。
经理从界面上获得所查询的员工信息。
根据基本流程,经理查看员工信息的序列图如图2.9所示。
与序列图等价的协作图如图2.10所示。
图2.9人事管理顺序图
图2.10人事管理协作图
2.3.2销售管理系统顺序图与协作图
销售人员登录系统为顾客进行收款服务,序列图如图2.11所示, 与序列图等价的协作图如图2.12所示。
图2.11销售管理顺序图
图2.12销售管理协作图
2.3.3超市销售管理状态图
状态图主要描述了系统在各个状态之间的转换关系。
在系统登陆成功之后,通过点击系统管理界面上的各个菜单跳转到各个不同的子功能中,添加、修改、删除操作都是对数据库中的数据进行操作,然后更新数据库中的表单,查询操作主要是访问数据库中的数据,然后把查询结果显示出来,各个操作执行完成之后都可以直接返回到系统操作界面,执行其他操作。
2.3.4经理查看员工信息状态图
经理输入用户名密码登录系统,如果信息匹配进入系统,否则退出,或重新输入。
成功进入系统后经理可以查看员工的信息,进行员工信息维护。
状态图如图2.13所示:
图2.13经理登录状态图
2.3.5管理员维护商品信息状态图
管理员可以进行商品管理,输入用户名密码登录系统,如果信息匹配进入系统,否则退出,或重新输入。
成功进入系统后,进行商品管理,如添加、修改、删除商品等基本管理。
商品管理状态图如图2.14所示:
图2.14商品管理状态图
2.3.6管理员密码管理活动图
管理员在登录系统时的活动图如图2.15所示:
图2.15管理员登录活动图
2.3.7销售人员收款时的活动图
销售人员在收款时一系列的活动如图2.16所示:
图2.16收款活动图
三、面向对象系统设计(根据分析模型,阐述本软件系统的具体设计过程,确定软件系统的体系结构,45分)。
3.1问题域部分设计(按照具体的实现条件对对象进行必要的修改、调整和细节补充)
对OOA(面向对象分析方法)结果按实现条件进行补充与调整就是问题域部分。
进行问题域部分设计,要继续运用OOA的方法,包括概念、表示法及一部分策略。
不但要根据实现条件进行OOD设计(面向对象设计),而且由于需求变化或新发现了错误,也要对OOA的结果进行修改。
本部分的重点是对OOA结果进行补充与调整,要强调的是这部分工作主要不是细化,但OOA未完成的细节定义要在OOD完成。
初始设计的类关系可能出现冗余此时增加一个类,将所有具有相同操作和属性的类组织在一起,提供通用的协议。
增加一般的类,提供局部通用的协议。
对相似操作的处理。
通过对特征标记做小的修改,以使他们相同,然后再把他们提升到一般类中。
例如管理员、经理、销售人员都有统一的属性和方法,何以抽象出一个共有的类,让其他类来继承此类即可。
如图3.1所示:
图3.1改进关系图
3.2人机交互部分设计(给出软件系统的图形用户界面设计,或其他的人机交互模式)
3.2.1超市销售管理系统首页登录
登录页面作为登录系统时最先被看到的页面,所以要求突出主题,让用户明白这是一个什么系统,有一个初步的印象。
这是关于超市销售管理系统的设计,在风格上选用了典雅的蓝色,突显出科技、稳健、准确的形象,还有一些渐变色,传递出流畅丰富的感觉,在视觉上也是一种美的表示;在背景图里有一个淡淡的人的水印,这是为了传递出在科学管理的时候注意到人与人的关系,人与机器的关系,突显出以人为本的感念;为了安全起见特设有双重验证模式,页面显示如图3.2所示;当输入用户名密码或验证码错误时,提示登录错误,重新登录,如图3.3所示:
图3.2登录首页图
图3.3首页登录失败图
3.2.2超市销售管理系统商品录入
销售员管理商品查验货物,可以单独添加一个商品如图3.4所示,录入成功后如图3.5所示;当批量导入时,可由Execl文件批量导入数据,如图3.5所示:
图3.4录入单一商品图
图3.5录入商品图
图3.6批量导入数据图
3.2.3超市销售管理系统扩展功能
经理或管理员可以发布新的公告如图3.7所示;超市销售管理系统信息统计,超市工作人员可以看到某年某月的销售情况,如图3.8所示;可以看到超市内商品的销售情况如某商
品销售量等如图3.9所示;员工可以看到个自个工作业绩如图3.10所示;超市工作人员登录系统后可根据自己的喜好修改密码,如图3.11所示:
图3.7发布公告图
图3.8销售统计图
图3.9商品销售统计图
图3.10员工业绩统计图
图3.11密码修改图
3.3任务管理部分设计(对复杂的任务控制流程进行设计)
在进行可行性研究时需要了解和分析现有的系统,并以概括的形式表达对现在系统的认识,进入设计阶段以后应该把设想的新系统的逻辑模型转变成物理模型,因此需要描绘未来的物理系统的概貌。
而系统流程图是概括地描绘物理系统的传统工具,它表达了数据在超市销售系统各部件之间流动的情况。
超市销售系统的顶层流程图如图3.12所示,详细流程图如图3.13所示:
图3.12超市销售系统的顶层流程图
图3.13超市销售系统的详细流程图
3.4数据管理部分设计(根据所选择的具体数据库,对系统的数据存储进行设计)
3.4.1据流的描述
数据流编号:
01
数据流名称:
销售小票
简述:
销售处给顾客的购物小票
数据流来源:
销售管理模块
数据流去向:
顾客
数据项组成:
交易流水账号+商品名称+数量+金额+交易时间+销售员工号
数据流编号:
02
数据流名称:
收款单
简述:
销售人员卖出商品的收款清单
数据流来源:
销售管理模块
数据流去向:
财务管理模块
数据项组成:
销售商品名称+销售商品数量+金额
数据流编号:
03
数据流名称:
入库单
简述:
超市所定商品入库的清单
数据流来源:
管理员
数据流去向:
库存管理模块
数据项组成:
商品名称+商品代码+商品数量+备注
数据存储编号:
04
数据存储名称:
商品信息表
简述:
商品信息的详细表格
数据存储组成:
商品名称+商品代码+单价+备注
3.4.2MySQL数据库创建过程
第一步:
配置好MySQL数据库软件,打开可视化界面SQLyog后,新建数据库。
第一步:
为数据库添加表。
系统管理员表、管理员表、员工表、商品表、工资表、考勤表等相关表。
第三步:
为表添加数据。
3.4.3数据库建表
系统管理员的关系模式:
系统管理员(系统管理员Id、用户名、密码、名字、联系方式),如表3.1所示。
表3.1系统管理员表
列名
数据类型
长度
主键
允许为空
备注
adminId
int
10
√
系统管理员Id
userName
varchar
20
用户名
password
varchar
20
密码
name
varchar
20
√
名字
tel
varchar
20
√
电话
管理员的关系模式:
管理员(管理员Id、用户名、密码、名字、性别、联系方式、工资、职务),如表3.2所示。
表3.2管理员表
列名
数据类型
长度
主键
允许为空
备注
Id
int
10
√
Id
userName
varchar
20
用户名
password
varchar
20
密码
pay
int
10
工资
name
varchar
20
√
名字
sex
varchar
20
√
性别
tel
varchar
20
√
联系方式
job
varchar
20
√
职位
商品的关系模式:
商品(商品Id、名字、数量、单价、生产日期、保质期、产地、类别、库号),主键为商品Id