超市管理系统_第1页
超市管理系统_第2页
超市管理系统_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、学习报告课程名称:软件工程题目名称:超市管理系统学牛姓名:学号:课程成绩:二零一六年十二月1前言系统的背景及开发意义(1)系统背景介绍随着超市的出现,为实现超市管理的系统化、规范化和自动化,超市管理系统 应运而生.它依靠现代化的计算机信息处理技术来管理超市,这能够快速反映出商品 的进销存状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应决策, 加快超市的系统建立的技术基础;为超市提供方便,快捷的结账体系,准确,高效的 库存和财务管理系统等;让顾客在超市购物更加快捷方便,让超市的管理和运行工 作更加完善,方便(2)系统开发的意义使用最少的人力,来完成超市中的日常工作。系统的开发环境及工具

2、(1)系统开发的环境硬件:西数(1 TB / 7200转/分)硬盘、8GB ( DDR3 1333MHz )内存软件:Windows 7旗舰版64位SP1(2)系统开发的工具系统采用myeclipse10、SQL Server 2008数据库开发工具、C/S结构。下面对开发中采用的工具进行说明: MyEclipse简介MyEclipse,是在eclipse基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。 MyEclipse的功能非常强大,支持也十分广 泛,尤其是对各种开源产品的支持相当不错。 SQL Server 2008数据库简

3、介SQL Server 2008在的数据平台上发布,可以组织管理任何数据。可以将各种文档的数据直接存储到数据库中。可以对数据进行多种操作。这个平台具有可信任、高效、智能三大特点。 B/S结构简介B/S结构(Browser/Server ,/模式),是兴起后的一种网络结构模式,WEB浏览器是最主要的。这种模式统一了,将系统功能实现的核心部分集中到上,简化了系统的开发、维护和使用。客 户机上只要安装一个(Browser英'braz美'braz),如或,安装、 MYSQL等数据库。通过 Web Server同数据库进行数据交互。2系统需求分析系统功能需求分析用户分析需求描述(1)该系

4、统管理软件可以对库存食品进行资料管理和统计,对产品的进货和销售进行录入跟统计。(2)该系统管理软件可以对管理员密码进行修改。(3)该系统管理软件可以对供应商进行添加,管理;当库存不足是,可以即时的打电话,及时 的供货。当库存过多时,可以显示出来。系统功能分析建模本系统采用数据流图的模型工具建模。(1)数据流图(DFD)的介绍数据流图简称DFD图,是SA方法中用于表示系统逻辑模型的一种工具,它以 图形的方式描绘数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功 能,是一种功能模型。本系统用自定向下方法,其模块功能主要有以下几个部分:员工管理模块、库存管理模块、 进货管理模块、销售管理模块

5、、商品信息管理模块和系统模块,具体功能如下:员工管理:是对超市的员工和供货商信息进行管理,包括查询、添加、删除和修改。 进货管理:是根据超市的情况,进行进货,并可以查询。库存管理:是对进货和销售的商品,根据库存量进行记录。销售管理:是对销售的商品进行查询。商品信息:是对新商品进行添加,并查询。系统管理:能够对供货商的信息进行添加和查询。系统数据需求分析系统数据信息描述本系统的数据信息有商品信息表、员工信息表、学历表、商品退货登记表、商 品进货登记表、员工销售业绩表。商品信息表:销售编号、销售流水号、商品编号、销售价格、销售数量、销售总 价、销售时间、售货员编号。员工信息表:员工编号、员工姓名、

6、员工密码、员工性别、员工生日、员工学历、 员工电话、员工手机、员工身份证、员工邮箱、员工住址;学历表:学历编号、学历名称;商品退货登记表 : 退货编号、商品编号供货商名称、单价、数量、总价、退货 日期、退货原因、退货加入日期;商品进货登记表 : 进货编号、商品编号、供货商名称、单价、数量、总价、进 货日期、信息加入日期;员工销售业绩表 : 员工编号、员工姓名、销售业绩;库存信息表 : 商品编号、库存数量;顾客退货信息表 :销售编号、销售流水号、商品编号、销售价格、销售数量、 销售总价、顾客退货原因、顾客退货时间;供货商信息表 : 供应商名称、供应商法人代表、供应商电话、供应商地址。系统数据分析

7、建模1)实体 -关系模型建立实体-关系模型简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述数据结构的概念模式商品名称性别身份证号姓名价格销售单号籍贯销售数量邮件地址生日销售日期手机号码学历层次居住地址进货价进货数量价格商品名称数量进货总价进货退货添加时间日期进货日期总价原因公司名称法人代表类别附加信息商品供货商名称商品产地单位规格售价地址型号电话编号编号其他需求分析(1)系统性能需求分析 数据精确度需求:商品的进货和销售中,单价、金额都是保留至小数点后两位 响应时间需求:无论是客户端和服务端,当用户登录进行操作时,系统反 应的时间应在5秒以内。系统应能及时反映各种非正

8、常情况,避免用户出现长时间 等待甚至系统无响应。 用户使用性需求:界面设计易于操作,在用户使用时在客户端服务器端进 行验证,并提示用户输入正确数据和正确的操作系统。 安全保密性需求:每个用户都有权限设置,对用户的登录密码进行加密设 置,非本系统用户不能登录使用。 操作性需求:支持 Windows2000及以上的操作系统,设计连接 SQL Server 数据库。(2) 系统输入/输出需求分析符合精度的设定,数据的输入输出都应该为数字、字母及汉字,不应该含有字符形式。(3) 系统错误处理需求分析 数据库存储空间不够,引起数据库访问变慢等问题需要对磁盘进行扩展和维 护。 执行程序非正常退出,响应确实

9、,修改源代码前应备份。 数据库没启动引起访问问题,须启动数据库服务器。3系统总体设计整体架构设计根据系统所需功能,决定以Windows作为开发平台,采用B/S模式,选择myeclipselO作为开发工具,利用软件工程思想和方法,用面向对象的语言Java开发,数据库采用开源免费的 Mysql。本系统具有进货管理、销售管理、员工管理,并 对超市销售情况智能给出建议。模块功能主要有以下几个部分:员工管理模块、库存管理模块、进货管理模块、销售 管理模块、商品信息管理模块和系统模块系统总体结构设计(1) 系统分成几个独立的模块,并对其进行集中式管理,更能清晰的表现出超市 管理的系统结构,使得系统一目了然

10、,简便,便于员工的接受,对超市管理系统,增 加了它的易操作性。(2) 分层的模块化程序设计思想,系统采用分层的模块化结构设计,具有较强的 可操作性和扩展性,这样更具有逻辑性,分层以后,使得超市管理系统更加的简便, 易使用。(3)系统功能结构图商品进货管理*商畀信息管理商品库存管理员工信息管理超市管理系统商品销售管 理商品库存管 理商品销售查询商品退货查询员工业绩查询商品库存盘点商品库存报警商品进货管 理进货退货登记进货退货查询商品进货查询商品信息维护IF商品进货登记添加商品信息供应商管理商品信息管 理T添加商品类别系统数据库设计本系统的数据库名称是,里面包含 8个表,下面将对这些表格一一介绍1

11、 用户(admin)中文字段 名英文字段名字段类型主键允许空账号adm in User nameVarchar(20)P/F否密码admi nPasswo rdVarchar(20)否说明:此表存放管理员用户信息2.供货商(supplierlnfo )中文字段名英文字段名字段类型主键/外键允许空供应商公司名称SupplierN ameNvarchar(50)否供应商法人代表supplierL awyernv archar是供应商电话supplierT elepho neVarchar(11)是供应商地址supplierA ddressNvarchar(50)是说明:此表存放供货商信息3.员工(

12、employee Info )中文字段名英文字段名字段类型主键/外键允许空员工编号employeeNoVarchar(20)否员工姓名employeeN ameNvarchar(20)是登录密码employeePasswordVarchar(30)是性别employeeSexNchar(1)是生日employeeB rithdaydatetime是学历层次employeeE ducatio nldint是家庭电话employeeH omeTelVarchar(20)是手机employeeM obileVarchar(20)是身份证employeeC ardVarchar(20)是邮件地址emp

13、loyeeE mailVarchar(20)是居住地址employeeANvarcha是ddressr(80)说明:此表存放员工信息。4.供应商退货清单(buyBacklnfo )中文字段名英文字段名字段类型主键/外键字段约束值输入商品 编号BuyBackIdintP否退货价格goodNoVarchar(20)是数量nu mberVarchar(50)是进货总价totalPric efloat是退货日期buyBackDa teint是退货原因buyBackReasonfloat是退货当前日期buyBackAd dTimedatetime是说明:此表存放供应商退货信息5.商品销售(selllnf

14、o )中文字段 名英文字段名字段类型主键/外 键允许空单据号sellI nfoIdintP否商口口编号sellNoVarchar(30)否商品名称goodNoVarchar(20)是价格Pricefloat是数量NumberInt是出售时间sellTimedatetime是说明:此表存放销售信息。6.商品(good Info )中文字段 名英文字段名字段类型主键/外 键允许空商口口编号GoodNoVarchar(20)P否商品类别goodClassIdInt是商品名称goodNameNvarchar(20)否商品单位goodU nitNvarchar(30)否商品型号goodModelNvar

15、char(2)是商品规格goodSpecsNvarchar(20)是商品售价goodPriceFloat是商品产地goodPlaceNvarchar(50)是附加信息goodMemoChar(10)是商品添加时间goodAddTimeDatetime是说明:此表存放商品信息。7.商品进货表(buylnfo)中文字段 名英文字段名字段类型主键/外 键允许空商口口编号ouyIdIntP否商品名称goodNoVarchar(20)是供应商supplierNameNvarchar(50)是商品进货价格PriceFloat是商品进货数量NumberInt是进货总价totaPriceFloat是进货日期b

16、uyDateDatetime是添加时间addTimeDatetime是说明:此表存放进货信息8.商品库存表(goodStocklnfo )中文字段 名英文字段名字段类型主键/外 键允许空商口口编号GoodNoVarchar(50)否库存数量goodCo untInt是4系统详细设计及编码实现公共模块的设计与实现公共模块的功能系统登录功能:该模块是提供管理员和员工的登录,只有输入正确的用户名和密码才能进入系统。员工管理模块为了解决超市人员流动问题,我们增添了员工管理模块,用来对新员工信息进行添加,员工 信息维护。新员工录入:在超市招新员工时,对员工基本信息进行录入并存储。员工信息的修改:当员工登

17、录密码忘记了的时候,可以对员工内的登录密码进行修改。 员工信息维护:可以对员工一段期间的销售业绩进行查询。超市管理系统首页当session中不存在user对象时,则表示用户没有登录,重定向到登录页面。当session中存在user对象时,则显示欢饮您xxx<c:if test ="$user!=null">欢迎您 $ <a href ="/logout" >退岀 </ a></ c:if ><c:if test ="$user=n ull"><c:redirect ur

18、l ="log in"/></ c:if >未登录已登录超市管理系统登录模块前端加javascript代码验证用户名和密码是否为空,假如为空则无法提交表单。只有当用户名和密码都不为空时才可以提交表单,然后到后台验证正确性。但假如用户的浏览器禁用了 javascript,则前端的验证无效,传到后台的用户名和密码可能为空,所以在后台要注意避免空指 针异常。表示用户名或则密码错误,User不为空则表示登录成功。访问数据库是由hibernate完成的,所以不 需要 考虑sql注入。UserDao类根据用户名(username)和密码(password)从数据库中获

19、得 User对象代码OverridepublicUser fin d(Str ing name, Stri ng password) Sessi on sessi on =();String hql ="from User as user where =:n ame and =:password"Query query = (hql);("name" , name);("password" , password);List<> list =();return ()=0 null :(User)(0);Hibernate查询

20、后台展现的的sql语句Hibernate: select as id0_, as password。 as usernameO_ from _user user0_ where = and =商品管理商品管理也面分为显示和添加,当session中没有user时,表示用户没登录,应该重定向到登录页面。假如已登录则看以看到管理页面。从数据库商品表中取出所有已有商品,在浏览器中以表格显示。商品过多可以采用分页显示。后台数据库记录显示页面从数据库中取出所有商品,并保存到list集合中,然后在jsp页面中展现。GoodsDao类的查询所有商品Overridepublic List<Goods>

21、; getList() Sessi on sessi on =();String hql ="from Goods as goods"Query query = (hql);return ();Hibernate查询后台展现的的 sql语句Hibernate: select as id1_, as amount1_, as name1_, as price1_ from _goods goods0_ 添加时要判断添加的格式是否符合要求,价格和数量必须是数字,不是数据要提示输入错误。同样在前端用javascript验证,在后台还是要验证一下。将从前台传过来的 price和am

22、ount用正则 误)则表示输入有误,通知用户。double price =();int amount =();GoodsDao类添加商品Overridepublic void add(Goods goods) Sessi on sessi on =();Stri ng hql ="from Goods as goods where =: name"Query query = (hql);("name",();List<> list =();if () != 0) double price =();goods = (Goods) (0);(pr

23、ice);(goods);输入的价格不是数字数据库中的数据假如商品名称存在不应该添加商品,而是更新商品数据。还要防止表单重复提交。用户在提交后的页面上点刷新时, 就会产生表单重复提交问题,可以在产生表单给表单一个 id,并将id保存到session中,当提交后将表单的 id从session清除掉,想再次提交时从 session中找不到id就 不予提交。由于本系统用到了 struts2,可以用struts2的s:token /标签防表单重复提交。5系统测试测试的目的及技术测试概述测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Test ing)的任务与意义可以描述为:目的:发现程序的错误;意义:通过在计算机上执行程序,暴露程序中潜在的错误,消除软件故障,保证程序的可靠 运

温馨提示

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

评论

0/150

提交评论