收藏 分销(赏)

新版超市标准管理系统.doc

上传人:快乐****生活 文档编号:3027399 上传时间:2024-06-13 格式:DOC 页数:24 大小:232.54KB
下载 相关 举报
新版超市标准管理系统.doc_第1页
第1页 / 共24页
新版超市标准管理系统.doc_第2页
第2页 / 共24页
新版超市标准管理系统.doc_第3页
第3页 / 共24页
新版超市标准管理系统.doc_第4页
第4页 / 共24页
新版超市标准管理系统.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、 学习报告封皮格式不容许修改,分数5分软件工程课程名称不是教材名称: 超市管理系统题目名称: 学生姓名: 学号: 课程成绩: 二零一六 年 十二 月目 录1 前言11.1 系统背景及开发意义11.2 系统开发环境及工具12 系统需求分析22.1 系统功能需求分析22.1.1顾客分析需求描述22.1.2 系统功能分析建模22.2 系统数据需求分析32.2.1系统数据信息描述32.2.2系统数据分析建模42.3 其她需求分析53 系统总体设计73.1 整体架构设计73.2 系统总体构造设计73.3 系统数据库设计84 系统详细设计及编码实现134.1 公共模块设计与实现134.1.1 公共模块功能

2、134.1.2 员工管理模块134.2超市管理系统首页134.3超市管理系统登录模块144.4商品管理155 系统测试 195.1 测试目及技术195.1 测试概述195.2 系统测试191 前言5分1.1 系统背景及开发意义(1) 系统背景简介随着超市浮现,为实现超市管理系统化、规范化和自动化,超市管理系统应运而生.它依托当代化计算机信息解决技术来管理超市,这可以迅速反映出商品进销存状况和各种反馈信息分析,使管理人员迅速对市场变化做出相应决策,加快超市系统建立技术基本;为超市提供以便,快捷结账体系,精确,高效库存和财务管理系统等;让顾客在超市购物更快捷以便,让超市管理和运营工作更加完善,以便

3、.(2)系统开发意义使用至少人力,来完毕超市中寻常工作。1.2 系统开发环境及工具(1)系统开发环境硬件:西数 ( 1 TB / 7200 转/分 )硬盘 、8GB ( DDR3 1333MHz )内存软件:Windows 7 旗舰版 64位 SP1 (2)系统开发工具系统采用myeclipse10、SQL Server 数据库开发工具、C/S构造。下面对开发中采用工具进行阐明: MyEclipse简介MyEclipse,是在eclipse 基本上加上自己插件开发而成功能强大公司级集成开发环境,重要用于Java、Java EE以及移动应用开发。MyEclipse功能非常强大,支持也十分广泛,特

4、别是对各种开源产品支持相称不错。 SQL Server 数据库简介SQL Server 在Microsoft数据平台上发布,可以组织管理任何数据。可以将各种文档数据直接存储到数据库中。可以对数据进行各种操作。这个平台具备可信任、高效、智能三大特点。 B/S构造简介B/S构造(Browser/Server,浏览器/服务器模式),是WEB兴起后一种网络构造模式,WEB浏览器是客户端最重要应用软件。这种模式统一了客户端,将系统功能实现核心某些集中到服务器上,简化了系统开发、维护和使用。客户机上只要安装一种浏览器(Browser英 braz美 braz),如Netscape Navigator或Int

5、ernet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。2 系统需求分析2.1 系统功能需求分析2.1.1顾客分析需求描述需求描述10分(1)该系统管理软件可以对库存食品进行资料管理和记录,对产品进货和销售进行录入跟记录。(2)该系统管理软件可以对管理员密码进行修改。(3)该系统管理软件可以对供应商进行添加,管理;当库存局限性是,可以即时打电话,及时供货。当库存过多时,可以显示出来。2.1.2 系统功能分析建模功能模型12分本系统采用数据流图模型工具建模。(1)数据流图(DFD)简介数据流图简称DFD

6、图,是SA办法中用于表达系统逻辑模型一种工具,它以图形方式描绘数据在系统中流动和解决过程,它只反映系统必要完毕逻辑功能,是一种功能模型。本系统用自定向下办法,其模块功能重要有如下几种某些:员工管理模块、库存管理模块、进货管理模块、销售管理模块、商品信息管理模块和系统模块,详细功能如下:员工管理:是对超市员工和供货商信息进行管理,涉及查询、添加、删除和修改。进货管理:是依照超市状况,进行进货,并可以查询。库存管理:是对进货和销售商品,依照库存量进行记录。销售管理:是对销售商品进行查询。商品信息:是对新商品进行添加,并查询。系统管理:可以对供货商信息进行添加和查询。2.2 系统数据需求分析数据模型

7、12分2.2.1系统数据信息描述本系统数据信息有商品信息表、员工信息表、学历表、商品退货登记表、商品进货登记表、员工销售业绩表。商品信息表 :销售编号、销售流水号、商品编号、销售价格、销售数量、销售总价、销售时间、售货员编号。员工信息表 :员工编号、员工姓名、员工密码、员工性别、员工生日、员工学历、员工电话、员工手机、员工身份证、员工邮箱、员工住址;学历表 :学历编号、学历名称;商品退货登记表 :退货编号、商品编号供货商名称、单价、数量、总价、退货日期、退货因素、退货加入日期;商品进货登记表 :进货编号、商品编号、供货商名称、单价、数量、总价、进货日期、信息加入日期;员工销售业绩表 :员工编号

8、、员工姓名、销售业绩;库存信息表 :商品编号、库存数量;顾客退货信息表 :销售编号、销售流水号、商品编号、销售价格、销售数量、销售总价、顾客退货因素、顾客退货时间;供货商信息表 :供应商名称、供应商法人代表、供应商电话、供应商地址。2.2.2系统数据分析建模(1) 实体-关系模型建立员工商品销售进货编号姓名性别身份证号籍贯销售单号编号商品名称价格数量销售日期生日学历层次手机号码邮件地址居住地址编号商品名称进货价进货数量进货总价进货日期添加时间编号单位名称类别规格售价商品产地电话地址型号附加信息供货商法人代表公司名称退货编号价格数量因素总价日期实体-关系模型简记E-R图是指以实体、关系、属性三个

9、基本概念概括数据基本构造,从而描述静态数据构造概念模式。2.3 其她需求分析6分(1)系统性能需求分析 数据精准度需求:商品进货和销售中,单价、金额都是保存至小数点后两位 响应时间需求:无论是客户端和服务端,当顾客登录进行操作时,系统反映时间应在5秒以内。系统应能及时反映各种非正常状况,避免顾客浮现长时间等待甚至系统无响应。 顾客使用性需求 :界面设计易于操作,在顾客使用时在客户端服务器端进行验证,并提示顾客输入对的数据和对的操作系统。 安全保密性需求:每个顾客均有权限设立,对顾客登录密码进行加密设立,非本系统顾客不能登录使用。 操作性需求:支持Windows及以上操作系统,设计连接SQL S

10、erver数据库。(2)系统输入/输出需求分析符合精度设定,数据输入输出都应当为数字、字母及中文,不应当具有字符形式。(3)系统错误解决需求分析 数据库存储空间不够,引起数据库访问变慢等问题需要对磁盘进行扩展和维护。 执行程序非正常退出,响应的确,修改源代码前应备份。 数据库没启动引起访问问题,须启动数据库服务器。3 系统总体设计3.1 整体架构设计5分依照系统所需功能,决定以Windows作为开发平台,采用B/S模式,选取myeclipse10作为开发工具,运用软件工程思想和办法,用面向对象语言Java开发,数据库采用开源免费Mysql。本系统具备进货管理、销售管理、员工管理,并对超市销售状

11、况智能给出建议。模块功能重要有如下几种某些:员工管理模块、库存管理模块、进货管理模块、销售管理模块、商品信息管理模块和系统模块3.2 系统总体构造设计10分(1)系统提成几种独立模块,并对其进行集中式管理,更能清晰体现出超市管理系统构造,使得系统一目了然,简便,便于员工接受,对超市管理系统,增长了它易操作性。(2)分层模块化程序设计思想,系统采用分层模块化构造设计,具备较强可操作性和扩展性,这样更具备逻辑性,分层后来,使得超市管理系统更加简便,易使用。(3) 系统功能构造图超市管理系统商品信息管理员工信息管理商品进货管理商品销售管理商品库存管理添加商品类别商品信息维护添加商品信息添加员工信息员

12、工信息维护商品进货登记商品进货查询进货退货登记进货退货查询商品销售查询员工业绩查询顾客退货办理商品退货查询商品库存查询商品库存报警商品库存盘点供应商管理3.3 系统数据库设计10分本系统数据库名称是Csgl.mdf,里面包括8个表,下面将对这些表格一一简介。1顾客(admin)中文字段名英文字段名字段类型主键容许空账号adminUsernameVarchar(20)P/F否密码adminPasswordVarchar(20)否阐明:此表存储管理员顾客信息。2.供货商(supplierInfo)中文字段名英文字段名字段类型主键/外键容许空供应商公司名称SupplierNameNvarchar(5

13、0)否供应商法人代表supplierLawyernvarchar(4)是供应商电话supplierTelephoneVarchar(11)是供应商地址supplierAddressNvarchar(50)是阐明:此表存储供货商信息。3.员工(employeeInfo)中文字段名英文字段名字段类型主键/外键容许空员工编号employeeNoVarchar(20)否员工姓名employeeNameNvarchar(20)是登录密码employeePasswordVarchar(30)是性别employeeSexNchar(1)是生日employeeBrithdaydatetime是学历层次empl

14、oyeeEducationIdint是家庭电话employeeHomeTelVarchar(20)是手机employeeMobileVarchar(20)是身份证employeeCardVarchar(20)是邮件地址employeeEmailVarchar(20)是居住地址employeeAddressNvarchar(80)是阐明:此表存储员工信息。4.供应商退货清单(buyBackInfo)中文字段名英文字段名字段类型主键/外键字段约束值输入商品编号BuyBackIdintP否退货价格goodNoVarchar(20)是数量numberVarchar(50)是进货总价totalPrice

15、float是退货日期buyBackDateint是退货因素buyBackReasonfloat是退货当前日期buyBackAddTimedatetime是阐明:此表存储供应商退货信息。5.商品销售(sellInfo)中文字段名英文字段名字段类型主键/外键容许空单据号sellInfoIdintP否商品编号sellNoVarchar(30)否商品名称goodNoVarchar(20)是价格Pricefloat是数量NumberInt是出售时间sellTimedatetime是阐明:此表存储销售信息。6.商品(goodInfo)中文字段名英文字段名字段类型主键/外键容许空商品编号GoodNoVarc

16、har(20)P否商品类别goodClassIdInt是商品名称goodNameNvarchar(20)否商品单位goodUnitNvarchar(30)否商品型号goodModelNvarchar(2)是商品规格goodSpecsNvarchar(20)是商品售价goodPriceFloat是商品产地goodPlaceNvarchar(50)是附加信息goodMemoChar(10)是商品添加时间goodAddTimeDatetime是阐明:此表存储商品信息。7.商品进货表(buyInfo)中文字段名英文字段名字段类型主键/外键容许空商品编号ouyIdIntP否商品名称goodNoVarch

17、ar(20)是供应商supplierNameNvarchar(50)是商品进货价格PriceFloat是商品进货数量NumberInt是进货总价totaPriceFloat是进货日期buyDateDatetime是添加时间addTimeDatetime是阐明:此表存储进货信息8.商品库存表(goodStockInfo)中文字段名英文字段名字段类型主键/外键容许空商品编号GoodNoVarchar(50)否库存数量goodCountInt是4 系统详细设计及编码实现20分4.1 公共模块设计与实现4.1.1 公共模块功能系统登录功能:该模块是提供管理员和员工登录,只有输入对的顾客名和密码才干进入

18、系统。4.1.2 员工管理模块为理解决超市人员流动问题,咱们增添了员工管理模块,用来对新员工信息进行添加,员工信息维护。新员工录入:在超市招新员工时,对员工基本信息进行录入并存储。员工信息修改:当员工登录密码忘掉了时候,可以对员工内登录密码进行修改。员工信息维护:可以对员工一段期间销售业绩进行查询。4.2超市管理系统首页当session中不存在user对象时,则表达顾客没有登录,重定向到登录页面。当session中存在user对象时,则显示欢饮您xxx 欢迎您 $user.username 退出未登录已登录4.3超市管理系统登录模块前端加javascript代码验证顾客名和密码与否为空,如果为

19、空则无法提交表单。只有当顾客名和密码都不为空时才可以提交表单,然后到后台验证对的性。但如果顾客浏览器禁用了javascript,则前端验证无效,传到后台顾客名和密码也许为空,因此在后台要注意避免空指针异常。后台验证:从user表中依照前台输入顾客名和密码查询获得User对象,如果User为空则表达顾客名或则密码错误,User不为空则表达登录成功。访问数据库是由hibernate完毕,因此不需要考虑sql注入。UserDao类依照顾客名(username)和密码(password)从数据库中获得User对象代码Overridepublic User find(String name,String

20、 password) Session session = sessionFactory.getCurrentSession();String hql = from User as user where user.username=:name and user.password=:password;Query query = session.createQuery(hql);query.setString(name,name);query.setString(password,password);List list = query.list();return list.size()=0?null

21、:(User)list.get(0);Hibernate查询后台呈现sql语句Hibernate:select user0_.id as id0_,user0_.password as password0_,user0_.username as username0_ from _user user0_ where user0_.username=?and user0_.password=?4.4商品管理商品管理也面分为显示和添加,当session中没有user时,表达顾客没登录,应当重定向到登录页面。如果已登录则看以看到管理页面。4.4.1显示从数据库商品表中取出所有已有商品,在浏览器中以表格

22、显示。商品过多可以采用分页显示。后台数据库记录显示页面从数据库中取出所有商品,并保存到list集合中,然后在jsp页面中呈现。GoodsDao类查询所有商品Overridepublic List getList() Session session = sessionFactory.getCurrentSession();String hql = from Goods as goods;Query query = session.createQuery(hql);return query.list();Hibernate查询后台呈现sql语句Hibernate:select goods0_.id

23、 as id1_,goods0_.amount as amount1_,goods0_.name as name1_,goods0_.price as price1_ from _goods goods0_4.4.2添加添加时要判断添加格式与否符合规定,价格和数量必要是数字,不是数据要提示输入错误。同样在前端用javascript验证,在后台还是要验证一下。将从前台传过来price和amount用正则表达式验证或者用Java类Integer.praseInt(String )办法将得到字符串转成int型,如果浮现异常(阐明格式错误)则表达输入有误,告知顾客。double price = Dou

24、ble.parseDouble(formGoods.getPrice();int amount = Integer.parseInt(formGoods.getAmount();GoodsDao类添加商品Overridepublic void add(Goods goods) Session session = sessionFactory.getCurrentSession();String hql = from Goods as goods where goods.name=:name;Query query = session.createQuery(hql);query.setStri

25、ng(name,goods.getName();List list = query.list();if(list.size() != 0) double price = goods.getPrice();goods = (Goods) list.get(0);goods.setPrice(price);session.save(goods);输入价格不是数字数据库中数据如果商品名称存在不应当添加商品,而是更新商品数据。还要防止表单重复提交。顾客在提交后页面上点刷新时,就会产生表单重复提交问题,可以在产生表单给表单一种id,并将id保存到session中,当提交后将表单id从session清除掉

26、,想再次提交时从session中找不到id就不予提交。由于本系统用到了struts2,可以用struts2标签防表单重复提交。5 系统测试 10分5.1 测试目及技术5.1 测试概述测试定义:程序测试是为了发现错误而执行程序过程。测试(Testing)任务与意义可以描述为:目:发现程序错误;意义:通过在计算机上执行程序,暴露程序中潜在错误,消除软件故障,保证程序可靠运营。5.2 系统测试测试在软件开发过程中始终都是备受关注,虽然在老式软件工程中,也有一种明确、独立测试阶段。随着软件危机屡屡浮现以及人们对于软件本质进一步结识,测试地位得到了前所未有提高。测试已经不但仅局限于系统开发中一种阶段,它

27、已经开始贯穿于整个系统开发过程,人们已经开始结识到:测试开始时间越早,测试执行越频繁,所带来整个软件开发成本下降就会越多。为了使本软件运营更加稳定,我对它某些功能进行了全面界面测试和功能测试,系统测试设计表模块测试成果登陆模块输入系统管理username:111,密码admin登陆失败输入系统管理usernamewild,密码wild登陆成功显示商品未登录成功显示所有商品已登录转到登录页面添加商品namepriceamount威化饼7.866添加成功爽歪歪7.655更新成功醒目4.5s10输入有误,添加失败测试成果:操作成果与数据库中数据相应,并无不同,系统精确性和及时性得到了较好验证,系统增

28、、删、改是即时完毕。至此系统测试圆满结束。本系统采用测试技术有黑盒测试技术和白盒测试技术,采用测试环节有单元测试、集成测试和确认测试。(1) 测试目系统测试其目是通过与系统需求相比较,发现所开发系统与顾客需求不符或矛盾地方,从而提出更加完善方案,尽量彻底地检查出程序中错误,提高软件系统可靠性。(2) 测试技术 黑盒测试技术黑盒测试是通过使用整个软件或某种软件功能来严格地测试,在测试时只检查程序功能与否按照需求规格阐明书规定正常使用,程序与否能恰本地接受和对的输出。 白盒测试技术 白盒测试是通过程序源代码进行测试而不使用顾客界面。这种类型测试需要从代码句法发现内部代码在算法,溢出,途径,条件等等中缺陷或者错误,进而加以修正。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服