超市资源管理系统(完整过关版) - 图文

更新时间:2024-05-31 05:08:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学号

中 南 大 学 现 代 远 程 教 育

毕 业 论 文

论文题目 重百超市销售管理系统设计与实现 姓 名 专 业 计算机科学与技术 层 次 专 升 本 入学时间 2009 管理中心 学习中心 重庆直属学习中心 指导教师

2011年10月14日

1

中南大学网络教育 毕业论文(设计)任务书

学生姓名 入学时间 学号 管理中心 重庆电大

2009年秋 专业 计算机科学与技术 学习中心 重庆直属学习中心 重百超市销售管理系统设计与实现

模拟或虚构题

毕业论文(设计)题目 题目类型[1] 软件开发 题目来源[2] 毕业论文(设计)时间 2011 年 9 月 1 日至 2011 年 11 月 15 日 1.毕业论文(设计)内容要求(或内容纲要;字数>500字): 内容纲要: 超市形式在我国于20世纪90年代初期起步,现已成为我国零售业的一种重要形态。随着超市的高速发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售业的的发展,这样就迫切地需要引入新的思想技术和管理技术进入到超市管理之中。 超市形态具有种种优点,但在目前状况下,它仍存在零售业商业企业所共有的落后的一面,如:不能有效的管理每一种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价等,而且在超市日常管理中,商品进货、销售、库存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足,随着超市形态的高速发展,其经营管理也变得愈加复杂,日常所需处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场,所以我们提出了超市管理系统。 在此系统中我主要是对后台管理的一个编写。其中主要模块有:用户信息管理、商品类型管理、商品信息管理、消费者信息管理、商品清单信息管理、系统管理模块。在用户信息管理模块主要实现的是对超市管理者提供系统的登录用户名和密码及基本信息。在他们登录管理系统时进行相关的操作。商品信息包括库存和销售数量和商品的基本信息。这些信息在最开始是要经过进货员录入商品信息。商品类型对商品的一个分类管理。消费者管理就是对消费者的一个基本信息和消费情况的一个管理。商品清单是让超市及时了解商品销售情况和在什么时间段内销售火爆。最后就是系统管理,主要是对用户信息的一个修改,如(用户名和密码的修改)。 在超市管理系统中我使用到Myeclipse得开发工具,tomact服务器,数据库我用到了oracle10g。在开发过程中主要用到的技术有:系统采用SSH框架进行框架的开发,Jsp充当表示层,Struts2中的action充当了控制层,hibernate3充当数据持久层,采用Struts2作为表示层和业务层的媒介,它是客服端和服务端传递信息的重要组件,通过使用Struts2组件模型,将表示层和业务层耦合性降低。通过hibernate3这一基于Java的开发源代码的持久层中间件,将JDBC做了轻量级的封装,不仅提供ORM映射服务,还提供了数据库缓存功能以及通过检索策略实现数据查询,以便方便的通过hibernate API来操纵数据库,Spring在其中起到一个中间键的作用,它能很好的联系Struts2和hibernate3的协调工作。因为Spring的控制反转、依赖注入和事物管理。它们都能把前两者很

2

好的组织起来完成开发。 [1] 题目类型:①理论研究,②实验研究,③工程设计,④工程技术研究,⑤软件开发。 [2] 题目来源:①工作任务题,②生产实际题,③模拟或虚构题,④学生自选题。

本任务书必须网上报送学院,学院审批通过后,下载放置在学生论文首页。 2.主要参考资料: 期刊文献书写规范:作者,论文篇名,刊物名,出版年,卷(期),论文在刊物中的页码。 图书文献书写规范:作者,书名,出版地,出版社,出版日期,引用内容所在页。 [1]周爱民.大道至简软件工程实现者的思想.北京:电子工业出版社,2007 15-50页 [2]大卫,李建森译.Java图形设计卷2swing.北京:机械工业出版社,2000 23-56页 [3]埃克尔,陈昊鹏译.think in java.北京:机械工业出版社,2007 12-35页 [4]高林,周海燕.管理信息系统与案例分析.北京:人民邮电出版社,2004 45-97页 [5]刘腾红,孙细明.信息系统分析与设计.北京:科学出版社,2003 22-31页 [6]马朝晖,陈美红译.Java语言学导论.北京:机械工业出版社,2003 11-315页 [7]何玉洁,梁琦.数据库设计教程.北京:机械工业出版社,2003 21-121页 3.毕业论文(设计)进度安排: 起 止 时 间 2011年8月 1日—2011年 8月 31日 2011年9月1日—2011年 10月 15日 阶 段 内 容 社会调查。 完成初稿。 2011年10月16日—2011年10月 31日 修改论文。 2011年11月1日—2011年11月10日 论文定稿,交电子版论文,准备答辩。 指 导 教 师 网络教育学院主管院长 2011年9月10日 3

摘 要

随着计算机的普及和计算机科学技术的飞速发展人们开始越来越多地利用计算机解决实际问题员工信息管理是企业信息管理的重要部分面对大量的人事信息采用人力处理即浪费时间、又浪费人力和物力并且数据的准确性低因此开发一个界面友好易于操作的人力资源管理软件进行自动化处理变得十分重要这正是本系统开发的目的和意义本文所阐述的人力资源管理系统,以B/S模式高效地实现了人力资源管理系统的各项功能,可进行查询、更新、添加、删除、密码设置、工资和奖金的管理等功能。提升了企业的效率和竞争力,满足了现代企业管理的需要。

系统开发主采用MVC设计思想,应用了SSH框架。Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架,它是当今最主流的服务层框架,它最大程度的降低了各模块之间的耦合,提高了应用程序的开发效率和可维护性;选用Struts2作为系统的表示层框架,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开;而Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用面向对象的编程思维来操纵数据库。

关键词:互联网 JSP SSH MVC

I

目 录

第1 章 前 言 ......................................................................................................................... 1

第1.1节 项目背景 .......................................................................................................................................................... 1 第1.2节 项目目标与期望................................................................................................................................................ 1 1.2.1、 树立全新企业形象............................................................................................................................................... 1 1.2.2、激发竞争力 ........................................................................................................................................................... 1 1.2.3、减轻部门负担 ....................................................................................................................................................... 1 第1.3节 项目设计原则 ................................................................................................................................................. 2 1.3.1、实用性原则 ........................................................................................................................................................... 2 1.3.2、 经济性原则........................................................................................................................................................... 2

第2章 系统分析 ................................................................................................................... 3

第2.1节 需求分析 ............................................................................................................................................................. 3 2.1.1、经济可行性 ........................................................................................................................................................... 3 2.1.2、 技术可行性........................................................................................................................................................... 4 2.1.3、 操作可行性 ........................................................................................................................................................ 4 第2.2节 开发框架 ............................................................................................................................................................. 4 2.2.1、软件开发框架的意义 ........................................................................................................................................... 4 2.2.2、 框架简介............................................................................................................................................................... 5

第3章 系统设计 ..................................................................................................................... 8

第3.1节 总体设计 ........................................................................................................................................................ 9 第3.2节 数据库设计 ........................................................................................................................................................ 9 3.2.1、数据库的需求分析 ............................................................................................................................................... 9 3.2.2、 数据库概念结构设计........................................................................................................................................... 9 3.2.3、 数据库表的具体设计..........................................................................................................................................11

第4章 详细设计 ................................................................................................................... 13

第4.1节 用户登录界面实现 ...................................................................................................................................... 13 第4.2节 用户信息管理模块设计.............................................................................................................................. 13 第4.3节 商品信息管理模块设计.............................................................................................................................. 16 第4.4节 消费者信息管理模块设计............................................................................................................................ 16 第4.5节 商品类型管理模块设计 ................................................................................................................................ 17 第4.6节 系统管理模块设计 ......................................................................................................................................... 18 第4.7节 技术难点 ........................................................................................................................................................... 19 4.7.1、中文乱码 ............................................................................................................................................................. 19 4.7.2、图片处理 ............................................................................................................................................................. 19 4.7.3、HQL语言 ............................................................................................................................................................ 19 4.7.4、安全性 ................................................................................................................................................................. 20

第5章 系统测试 ................................................................................................................... 21

第5.1节 测试的定义及目的 ...................................................................................................................................... 21 第5.2节 测试的原则.................................................................................................................................................... 21

II

第5.3节 测试的方法.................................................................................................................................................... 21 5.3.1、界面测试 ............................................................................................................................................................. 21 5.3.2、功能测试 ............................................................................................................................................................. 22 5.3.2、需求测试 ............................................................................................................................................................. 22 5.3.4、性能测试 ............................................................................................................................................................. 23 第5.4节 测试中其他要注意的地方............................................................................................................................ 23 第5.5节 重百超市管理系统的测试............................................................................................................................ 23

结束语 ........................................................................................................................................ 24 谢 辞 ........................................................................................................................................ 25 参考文献 .................................................................................................................................... 26 附 录.......................................................................................................................................... 27

III

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

第1 章 前 言

第1.1节 项目背景

传统的超市管理系统的方式存在诸如效率低,保密性差,查找、更新、维护困难等缺点。随着科学技术的不断发展,计算机技术日益成熟,使用计算机对人事资料进行管理,使超市在日常工作中使用功能齐全、操作简单、易控易用的超市管理系统,以便对对超市的进货、库存、商品信息、销售情况的查询和及时调整超市的销售方式,提高销售业绩和管理效率。同时,这也是企业的科学化、正规化管理以及与世界先进管理技术接轨的重要条件。

现在网络的发展已呈现商业化、全民化、全球化的趋势目前几乎世界上所有的公司都在利用网络传递商业信息进行商业活动从宣传企业、发布广告、招聘雇员、传递商业文件乃至拓展市场、网上销售等无所不能如今网络已成为企业进行竞争的战略手段企业经营的多元化拓展企业规模的进一步扩大对于企业的管理、业务扩展、企业品牌形象等提供了更高的要求在以信息技术为支撑的新经济条件下越来越多的企业利用起网络这个有效的工具。

第1.2节 项目目标与期望

1.2.1、树立全新企业形象

对于任何一个企业而言企业的品牌形象至关重要 特别是对于互联网技术高度发展的今天通过超市管理的网站员工可通过网站侧面的了解企业形象及企业实力因此建立具有国际水准的网站能够极大的提升企业在员工心中的整体形象。

1.2.2、激发竞争力

在登录后员工能看到优秀的上榜员工而如果这里没有他的名字会极大的激发他的斗志这也是本系统的作用之一通过这种方式使员工自动的全身心投入工作这要比开动员大会效果明显得多效率很高很多。

1.2.3、减轻部门负担

许多人知道一个超市对商品进货、销售情况、库存数量、以及销售的热门产品都要进行及时了解,这样才能更好的对超市的销售进行管理。如果都由人力来完成这些工作,那将是一个非常繁重的任务,而且耗费的人力是相当大,在工作过程中出现的错误几率也是相当大的,所有我们得采用管理系统来很好的管理整个流程。

1

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

总结上述几点重百超市管理系统目标可有以下几点:

(1) 公司管理人员能及时的了解公司的销售情况及销售业绩。 (2) 进货人员能根据库存数量进行商品的一个进货管理。

(3) 销售人员不会手动生成清单,只需根据消费者购买商品信息进行清单的生成。 (2) 这样采取电脑管理人的方法为企业节省人力物力 。

第1.3节 项目设计原则

1.3.1、实用性原则

充分考虑到在超市管理中可能遇到的种种问题尽量全面的做好需求分析以减少日后更新软件的次数。

1.3.2、经济性原则

建立适合超市自身需求的网络平台提供广泛的涵盖用户多种需求的功能数据处理方式灵活以满足需求节省网站建设成本并确保其较好的拓展性和开放性;同时网站具有基于WEB界面的管理后台能够自主的对网站中大部分内容作更新、修改操作节省了企业网站的运营成本提高了信息更新、传播效率。

2

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

第2章 系统分析

第2.1节 需求分析

随着现代科学技术的迅猛发展,计算机技术已渗透到各个领域,成为各行业必不可少的工具。步入了数字化时代,有巨大的数据信息等待着加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。而对于超市销售的资源管理,信息的存储和处理也显的迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的电算化进程是必不可少的。

如今商品的流通规模呈指数增长,但其不完善的管理手段,一直是制约超市销售管理和发展的瓶颈,传统的管理存在太多的缺陷,如:收款效率低下,记录时出错率高,在增加了销售额的同时,销售人员工作量过大等等,所有的进货单,出货单都是人工填写,耗时而且易出现错误;库存也是人工记帐,无法随时掌握最准确的存货情况;对于销售数据,往往要花好多时间和精力去计算每个业务员的销售业绩,每项商品的销售状况,为了解决上述问题,提高经济效益,进行销售,采购,库存等的计算机化管理。为了弥补上述缺陷,提高收款效率,减轻工作人员的负担,需实现超市销售管理的信息化管理,以求在激烈的市场竞争中得到持续、稳定和快速的发展。

超市销售管理系统是一个非常实用的管理系统,直接影响销售的方便性及管理的规范性,随着计算机技术的飞速发展计算机在超市管理中应用的普及,各超市企业越发认识到信息与效率的重要性,而此超市销售管理系统就是在这样一个背景下孕育而生的,随着信息时代的发展,对效率的要求日益提高,因而软件控制销售和管理已经取代了传统全手工方式。此超市销售管理系统不仅简洁通用,不占什么系统资源,主要是提高象关人员提高了工作效率,是完全符合超市企业的发展。

2.1.1、经济可行性

1、资金可得性

由于系统开发并不复杂,操作起来也比较简单,只需一些基本的编辑软件,另外具备网络中心的一些资源优势,因此开发费用较低。 2、经济合理性

由于该系统用于企业工作的大部分信息发布和传递工作,不仅能够节省大量的人工信息传递任务,提高了工作效率,更加有利于整个企业各部门之间的无纸化办公的推广。

3

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

2.1.2、技术可行性

1、硬件、软件

要求不高,目前市场上的一般计算机软硬件资源均能满足系统开发要求。其中运用的主要软件有 dreamweaver 、photoshop、MyEclipse、SSH等,数据库采用Oracle。

2、该技术户功能强大,扩展性强,macromedia 公司提供大量的第三方控件,并结合javascript以及sql 等脚本语言,以上技术足以完成本系统的开发和设计。

2.1.3、操作可行性

对于用户来说本系统只要求使用者掌握一定的上网经验经过仔细设计和测试之后的系统具有操作简单方便灵活等优点足可以满足各种用户的不同需求同时也方便了公司的内部管理管理人员及用户一定会在短时间内掌握并熟练使用只要动一动鼠标键盘就可以达到想要的效果。

第2.2节 开发框架

2.2.1、软件开发框架的意义

对于已经习惯了使用传统的JSP设计方式实现动态网站的程序员,在刚开始接触Struts时经常会出现一种困惑:专业书籍和文章中总是使用Struts Framework这种说法,Struts通常也被称为是一种Web应用开发的架构(Framework),那么到底什么是架构,软件开发架构的意义又是什么呢?

如果将早期的软件开发方式比喻为传统手工业生产方式的话,那么基于软件开发架构的开发方式则是大型现代化工厂生产方式的体现。虽然二者都能够制作出产品,但是在生产效率及产品质量的保证上显然会有巨大的差异。

汽车生产厂家在制造一辆汽车时,总是先在各条生产线上制作出不同类型的零件,最终再由专业的技师在专业的组装生产线上将成百上千的零件组装成一台完整的汽车,显然,设计者的主要精力并不是用于重复地制造相同的车轮,相同的方向盘,而是利用现成的车轮组装出一辆辆不同的汽车。同样,开发人员也可以利用软件架构中提供的组建库(如同已经生产好的规范化的汽车核心零部件库),按照既定的组装方式将不同的组建应用在软件产品的各个环节,最终开发出一个完整的,高质量的软件产品。

实际上,如果需要,汽车设计者也可以将原有的车轮进行改造,例如涂上不同的颜色,贴上不同的装饰物等。同理,软件开发人员可以在现有组件的基础上进行扩展和改进,这实际上充分地实现了软件开发的可扩展性。

组件复用是面向对象编程思想的结晶,而在软件架构的基础上进行开发可以最大限

4

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

度地实现组件的复用。在大型,多层结构的软件开发项目中,开发和使用具有可重用性,可扩展性,经过良好测试的软件组织,可以使开发者从大量繁琐的代码工作中解脱出来,专注于软件设计和业务逻辑的实现.通常将被验证为有效的,相同类型问题的解决方案进行抽象,即可提取形成一个应用程序框架,即Framework.每一种Framework都有自己的一套明确的实现机制,通常在Framework结构中都会包含一个”命令和控制”组件(“command and control”component),类似于工业生产中的”控制中心”,开发人员通过它可以很容易地控制,扩充和实现该Framework上的开发结构。

2.2.2、框架简介

随着Web开发技术的日益成熟,在Web开发开发领域中出现了许多设计好的软件开发框架,Struts就是一种基于MVC经典设计模式的框架,也是当前Web开发中比较成熟的一种框架。

1、经典的MVC模式

MVC(Model-View-Controller)模式,即模型-视图-控制器模式,其核心思想是将整个程序代码分成相对独立而又能协同工作的3个组成部分。

模型(Model):业务逻辑层。实现具体的业务逻辑,状态管理的功能。

视图(View):表示层。即与用户实现交互的界面,通常实现数据输入和输出功能。 控制器(Controller):控制层。起到控制整个业务流程(Flow Control)的作用,实现View和Model部分的协同工作。

MVC设计模式可以针对需要为同样的数据提供多个不同视图的应用程序,例如:公司产品数据库中同样的产品信息数据,但需要根据用户的不同需求在页面中显示其所需的不同产品信息。

MVC设计模式中,事件一般是指客户端Web浏览器提交的各种不同请求,这些请求由控制器进行处理,控制器根据事件的类型来改变模型或各个视图,而模型也可以通过视图所获得的用户提交的数据进行具体业务逻辑的处理。显然这样的运行机制可以起到分工明确,指责清晰,各尽所长的效果。而在软件开发的过程中,这样的开发方式无疑可以有效地区分不同的开发者,尽可能减少彼此之间的互相影响。充分发挥每个开发者的特长。这在开发大型复杂的Web项目时体现得尤为突出。如图3-7是MVC图:

5

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

更新 模 型 获得数据 视图1 改变 控制器 改变

事 件 更新 获得数据 视图 2 改变 图 2-1 MVC设计模式的结构

2、Struts2 开发框架

作为基于MVC设计模式的Web应用的一种典型体现,Struts2架构实际上是建立在Model2基础上的,对Model,View和Controller都提供了现成的实现组建。Struts2框架的体系结构十分清晰简单。如图3-8所示是Struts2的体系图:

FilterDispatcher 浏览器 拦截器1 拦截器2 拦截器n Action Result

图2-2 sturts2体系图

Struts2中的Controller控制器部分是通过专门的Servlet来实现的,该Servlet是一个Struts API中提供的ActionServlet类型的实例,ActionServlet类继承了javax.servlet.http.HttpServlet类,因此该类的实例可以和普通的Servlet一样工作,其作用是接收客户端浏览器的请求,然后选择执行相应的业务逻辑,再把响应结果

6

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

送回到客户端。

Action对象是开发者定义的类(该类必须是Struts API中提供的Action类的子类)的实例。在继承该类的过程中开发者可以加入具体业务逻辑或调用业务逻辑模块。Action对象在进行了业务逻辑或调用业务逻辑模块。Action对象在进行了业务逻辑的处理以后会将应用程序流程转到合适的View组件,最终将响应送回浏览器客户端。Struts2中提倡Action对象只用来决定”做什么”,相当于一个低层面的控制器,因此也可以将Action归纳为Controller的组成部分。如图2-3struts2流程图:

图2-3 struts2流程图

3、Spring开发框架

Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式。组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:

核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。

Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。

Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。

Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理

7

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。

Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。

Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。

Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。

Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。

4、Hibernate开发框架

Hibernate在英文中的意思是”冬眠”,从这个角度也可以体会到Hibernate架构下提供的相关技术可以实现度十角状态rp_content的持久性保存.在传统的数据库编程中,开发人员要面对大量重复行代码的编写,以实现对不同数据表中的数据的获取,并将获取到的记录数据封装成对象,在处理完成之后,如果需要进行对象状态的存取,需要将对象中的数据拆卸成数据库记录中的对应字段的值,然后向数据库中进行存取。

而在Hibernate中,类似这种重复性高,工作量大,但是又必须保证高质量完成的体力活,全部由Hibernate接管过去.这对广大的Java开发人员无疑是个非常好的消息。

Hibernate本质上是一个面向Java开发环境的对象/关系数据库映射工具.在Hibernate之前,开发人员要将面向对象的软件和关系数据库结合在一起,往往会费长麻烦.而借助Hibernate对象/关系数据库映射技术,可以非常轻松地将以面向对象思想封装的对像的各个状态数据映射到基于SQL的关系模型数据结构中去。

第3章 系统设计

系统设计是在系统分析的基础上由抽象到具体的过程。主要目标是将系统分析阶段所提出的反映了信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案,为下一阶段系统实施提供必要的技术资料,应符合系统性,灵活性,

8

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

可靠性,经济性的要求。

第3.1节 总体设计

系统总体功能如下图所示:

用户信息管理 商品信息管理 消费者信息管理 商品清单信息管 理 普 会商添商清通 员品加添品单消消信商加类信费 费息品商型息者 者管类品管管信 信理型理理息 息 图3-1重百超市管理系统功能模块图

系统管理 重百超市管理系统 管理员信息管理普通用户信息管修改用户名修改密码退出系统 第3.2节 数据库设计

3.2.1、数据库的需求分析

依据项目的处理需求,对应数据表的设计及功能如下: 用户信息表: 主要用于操作用户信息; 商品信息表:主要用于操作商品的信息; 商品类型表:主要用于保存商品类型表;

消费者信息表:主要用于对消费者的个人信息保存; 商品清单表:主要用于对销售的商品生产的清单保存;

3.2.2、数据库概念结构设计

根据系统分析阶段的结果对系统中的各个数据项进行分类、组织,确定系统中的实体、实体的属性、标识实体的主键以及实体之间联系的类型。

用户实体E-R图如图3-2所示:

9

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

性别 联系电话 图3-2 用户实体

密码 用户ID 用户 姓名 登录状态 年龄 入职时间 文化程度 商品信息实体E-R图如下图3-3所示:

商品编号 是否推荐

商品单价 商品类型编号 图3-3 商品信息实体 商品数量 是否上架 商品信息 商品名称 折扣

消费者实体E-R图如下图3-4所示:

图3-4 消费者实体

10

是否会员 编号 地址 消费者 姓名 联系方式 性别 年龄 中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

商品清单实体E-R图如下图3-5所示:

图3-5 商品清单实体

总金额 商品清单 商品编号 清单编号 消费者编号 商品数量 商品类型实体E-R图如下图3-6所示: 图3-6 商品类型实体 类型名称 商品类型 类型编号 类型说明 3.2.2、 数据库表的具体设计 表3-1 用户信息表 字段名 User_ID User_name User_Password Login_State User_sex User_age User_phone User_Date User_eduction 数据类型 Number Varchar2 Varchar2 Number Number Number Number Date Varchar2 长度 4 20 20 2 2 3 11 --- 20 是否主键 是 描述 用户编号 用户名 用户密码 登录状态 性别 年龄 联系电话 入职时间 文化程度 表3-2 商品信息表

字段名 Shop_ID 数据类型 Number 长度 4 11

是否主外键 主键 描述 商品编号 中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

Shop_Name Shop_Num Shop_Price Varchar2 Varchar2 Number 20 50 10,2 4 2 2 2 表3-3 消费者信息表

外键 商品名称 商品数量 商品单价 商品类型编号 是否上架 是否推荐 折扣 Shop_stype_Num Number Is_Shangjia Is_Tuijian ZheKou Number Number Number 字段名 Xiaofei_ID Xiaofei_name Xiaofei_sex Xiaofei _age Xiaofei_Phone Xiaofei_ address Is_HuiYuan 数据类型 Number Varchar2 Number Number Varchar2 Varchar2 Number 长度 4 20 2 8 20 50 2 表 3-4 商品清单表 是否主键 是 描述 消费者编号 消费者姓名 消费者性别 消费者年龄 消费者联系方式 消费者地址 是否会员 字段名 Order_ID Xiaofei_ID Shop_ID Shop_num All_Money 数据类型 number number number Number Number 长度 4 4 4 8 10,2 是否主外键 主键 外键 外键 描述 清单编号 消费者编号 商品编号 商品数量 总金额 表 3-5 商品类型表

字段名 Stype_ID Stype_Name Stype_Shuoming 数据类型 Number Varchar2 Varchar2 长度 4 50 200 是否主键 是 描述 类型编号 类型名称 类型说明

12

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

第4章 详细设计

第4.1节 用户登录界面实现

用户模块主要包括用户登录模块具体功能如下: 用户登录模块:用于登录系统。

用户登录模块是用户进入主页面的入口其运行结果如图所示:

图4-1 用户登录模块运行结果

系统登陆是超市管理中最先使用的功能因为用户登陆在数据库中使用的是人员表人员表中有一个Login_State字段是来标识是否是管理员的在登陆时要根据数据库的这个字段来判断此用户是否具有管理员的权限在网页里添写用户名和密码后点击【登陆】按钮网页会访问一个URL这个URL是“loginAction.action”:根据aciton配置文件中的

name=\\可以找到与之相对应的

Action

实现类

“com.action.LoginAction”

根据

第4.2节 用户信息管理模块设计

首先登录系统后,显示出系统的所有模块信息,如图4-2所示:

13

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

图4-2 系统总体规划图

各项管理工作都是在用户成功登陆后的管理页面进行的在管理控制页面的左侧是各项的相关链接右侧是操作平台管理控制页面,右侧实际上是一个iframe在左侧的链接中使用target=\就可以在这个iframe中打开新的链接了。单击“员工信息管理”即打开人员信息的页面如图4-3所示:

图4-3 员工信息管理

当数据量比较大的时候可以通过输入用户的编号和用户的姓名对员工信息进行查询。如图4-4是根据条件查询用户信息页面:

14

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

图4-4 查询用户信息

在用户信息管理的模块下,分为管理员信息管理,普通用户管理,做到了对不同用户的所有信息进行一个综合的管理,这样有利于管理员对系统的管理。如图4-5是用户管理模块:

图4-5 用户管理功能模块

管理员可以通过基本操作对用户的基本信息进行修改,删除,添加。如图4-6所示:

图4-6 修改用户信息

15

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

第4.3节 商品信息管理模块设计

商品信息管理,主要是对商品信息的一些添加,修改,删除等操作,修改页面主要是有商品名称、商品数量、商品单价、是否上架、是否推荐、折扣等一些基本信息进行修改。如图4-7所示:

图4-7 用户信息

用户信息修改,当一个用户更换信息时候,可以对用户信息进行修改,单击修改连接,传入该条数据的ID即可在界面上显示对应要修改的数据。如图4-8所示:

图4-8 商品信息修改

第4.4节 消费者信息管理模块设计

对于一个超市而言,消费者就是超市的新鲜血液,所以需要建立消费者信息的管理平台,可以对每个到超市买过东西的用户进行管理,同时管理员能快捷、清楚的了解到不同人的需求,于是在告知采购员怎么去进货,进那些货比较好卖。所以我们设计消费者信息管理模块如图4-9所示:

16

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

图4-9 消费者信息

同时当点击上面的添加消费者信息连接的时候可以添加消费者信息,如图4-10所示:

图4-10 消费者信息添加

第4.5节 商品类型管理模块设计

商品类型管理模块主要是对超市商品的各种类型的管理,管理员可以根据商品类型添加,修改,删除,查询等操作。如图4-11所示:

17

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

图4-11 商品类型信息管理

当我们数据量很大的时候,我们不希望一条条数据的进行查找,我们需要快捷、简便的方法,所有我们设置了高级查询。查询结果如图4-12所示:

图4-12 高级查询商品类型信息

第4.6节 系统管理模块设计

用户管理模块主要是对管理用户的一些信息进行管理,对当前登陆用户密码的修改,当单击退出系统时,系统将返回到登陆页面,必须通过登陆后才能进入到系统。

如下是后台管理注册用户的管理,可以对用户信息进行查看,删除,修改等。如图

18

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

4-15是用户管理:

图4-13 添加查询添加的用户记录

当点击修改密码的时候,同时可以加载出用户名,注意的是修改密码只能修改当前自己登陆的密码,如图4-16修改密码:

图4-14 修改密码

第4.7节 技术难点

4.7.1、中文乱码

由于浏览器中的参数传递是按字节传送,因此英文和数字不会有任何的问题,而中文汉字则由两个字节组成.为了解决这个问题,使用了下面的两种方法:

1、<%request.setCharacterEncoding(“gb2312”);%>;

2、request.getParameter(\

4.7.2、图片处理

在Oracle数据库中可以存放任何格式的图片,但是要将其转换为二进制的数据存入数据库,在调用时再将二进制数据转换为图片,这样虽然便于管理,但是在当前国内的网速来看,这样的方法是在是不可取。因此本系统的图片均是存放的相对路径,将图片放在系统根目录下的image文件夹中,按类分好,然后将其相对路径存入数据库的对应列中。这样可以大大提高网页浏览的速度。

4.7.3、HQL语言

本系统中,所有对数据库的操作都由Hibernate来完成,因此用到了大量的HQL语

19

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

言.HQL是Hibernate设计的一套完整而实用高效的查询语言,它通过面向对象的语句结构实现了和SQL语言类似的功能.如果向表里插入一条数据的话,直接调用save()方法即可,但如果要使用查询功能的话,我按照一般的SQL语句的方法:from 表名 where 条件,却总是找不到预期的数据,后来看书中发现,from后跟的是表对应映射的类文件名,而非表名,比如用户表为user,它对应的类为User.java,所以在from后要根User而不是user。

4.7.4、安全性

将项目发布到互联网上后,有些用户不是点击超链接打开网站的某个页面,而是在地址栏中直接写,而后进入,试图避开身份验证,处于对安全性的考虑,本项目在用户登陆后才能进入的页面中,加入了如下的一行判断,如果用户非法进入,则看到的将是一片空白页。

String name=(String)session.getAttribute(“name”); If(name==null){??..}

20

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

第5章 系统测试

在完成了程序的编写工作后,接下来将进行软件的测试,这里说的软件,并不单单是指程序本身,还包括其他方面.测试和开发一样,也是一项技术性很强的工作,有着很多的技巧。 软件测试是软件质量保证的主要活动之一,因此,测试的质量直接影响软件的质量。

第5.1节 测试的定义及目的

软件测试就是在软件投入运行前,对软件的需求分析,设计规格说明和编码的最终复审,是保证软件质量的关键步骤。如果要给软件测试下定义,可以这样将,软件测试是为了发现错误而执行程序的过程。

测试的目的在于将软件设计时设计者与程序开发者之间理解不一致的地方,功能与需求不一致的地方,不符合逻辑思维的情况都反映给质量控制部门,由质量控制部门调配需求部门统一作出一个明确解答,再由开发人员进行修改和补充。

测试的目标是以最少的时间和人力找出软件中潜在的各种错误和缺陷。

第5.2节 测试的原则

对于相对复杂的产品或系统来说,Zero-Bug是一种理想,Good-Enough是我们的原则。Good-Enough原则就是一种权衡投入/产出比的原则;不充分的测试是不负责任的;过分的测试是一种资源的浪费,同样也是一种不负责任的表现。我们操作的困难在于,如何界定什么样的测试是不充分的,什么样的测试是过分的。目前状况唯一可用的答案是:制定最低通过标准和测试内容,然后具体问题具体分析。

第5.3节 测试的方法

依据前面所说的测试对象,我们把测试划分为几个方面来进行测试。

5.3.1、界面测试

界面测试是测试过程中比较简单直观的一种测试方法,只要细心地按界面要求核对就行了。可这快往往是程序开发人员容易忽视和遗漏的地方,也是常常出Bug的地方。下面是界面测试中经常出现的几种Bug:

错别字,即界面中的标题或者文本内容中出现了错别字.这种Bug如果测试人员不细心,和难找出来,可能会出现在提示信息或界面中。

21

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

出现了一些根本读不懂的内容,一般多出现在程序的提示信息和一些较长的文本中。这种情况基本上出现在拼起来显示的提示中,页面的简单陈述是通过变量拼组起来的,通过程序将字一个一个地输出出来。通常是因为程序中的控制错误或是程序开发人员对程序没有进行认真的自测,导致出现这种Bug。

程序员自创的词语,虽然意思对,但不符合界面的标准及需求.这种情况基本上是由于开发人员使用一些专业术语,并且混杂着自己的理解出现Bug,主要是由于开发过程中团队合作没又明确的分工,没有统一的规范用语。

页面类似的内容中,明显有字体,字号不同的情况,使界面整体风格看上去不一致,这种情况只出现在没有CSS定义的情况下,或是已经定义的CSS,开发人员在开发过程中没有调用。

标题相近的程序及模块,把标题弄混.这种情况多是因为业务方面的定义名称很相似或很类似,并且业务实体方面也很类似,开发人员在开发过程中忽略了开发名称和模块,只单独地实现其功能。

5.3.2、功能测试

顾名思义,功能测试主要是测试程序模块是否实现了设计中所有要求的功能.功能测试中需要注意的有:

查询功能中,有按单一查询条件进行查询的,也有按多个查询条件组合查询的,这里要注意多个查询条件之间的关系,还有一些常识性的问题,比如按月查询,闰年中二月的天数。

录入功能中,需要注意的是前台设置的数值长度是否大于后台数值长度,以及前台与后台的数据结构是否相符,很多时候录入功能无法实现是由于这些原因。还有就是必须录入的字段的设置是否有误。

测试删除功能中需要注意的是单击”删除”按钮后,一般会出现提示信息,询问是否确定删除。通常情况下,我们单击”确认”按钮查看信息是否被删除掉了,而忽略了单击”取消”按钮后程序的反应,这时有可能的是没有删除,还有一种可能是即便单击了”取消”按钮,也一样删除了数据。另外,在删除多条记录的时候,要注意连续选中的几条记录是否真正都被删除了,即如果再按照这种查询方式查询,是否还能查询出来。有的时候需要在数据库中设一个标志位,而不是真正的物理删除。所以在下一次查询中,可能还会被查询出来,这主要是因为在查询条件中没有将标志位考虑在内。

5.3.3、需求测试

针对需求测试,是测试中很重要的一个环节.因为需求是在软件设计,开发乃至软

22

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

件测试中重要的依据。要针对需求测试,首先就要对项目的需求和业务有一定的了解。这些需求很多时候是在实现增,删,查,改这些基本功能之上,针对项目和相关业务所作的一些逻辑上的控制。这就要求程序员在设计和编码的时候要去充分理解考虑需求。

5.3.4、性能测试

性能测试在软件的质量保证中起着重要的作用。通常我们把性能指标全部归结到硬件,操作系统和开发环境上,而忽略了代码本身性能上的考虑。性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。

第5.4节 测试中其他要注意的地方

时常有这样的情况发生,每个模块都能单独工作,但这些模块集成在一起之后却不能正常工作。其主要原因是,模块相互调用时接口会引入许多新问题。这就要求在进行程序设计和编码的时候要尽可能地从整体考虑。

引用某些控件,实现了程序中未实现的功能的同时,也容易引发新的Bug。 错误本身出现在程序设计阶段,并非由于程序员编码造成的问题。这就要求我们无论是在开发还是测试阶段,对需求或程序设计存在疑问,应及时提出,及时解决。

由于一些模块被修改了,对其他模块造成了影响而出现了新的Bug。发现这些Bug要求我们对程序整体的结构有基本的了解,清楚模块之间的一些联系。

第5.5节 重百超市管理系统的测试

在完成编码的工作以后,根据以上的方法和步骤进行了如下的测试:

界面测试:在不开启Web服务器的情况下,反复点击网页上的超链接,测试其连接情况,直到所有的链接都达到预期的效果。

功能测试:对网站的几大功能模块逐一测试,尽最大可能发现起潜在的错误, 性能测试:将程序以局域网的形式发布,查看其是否满足多用户的要求。 需求测试:根据需求分析的内容,测试网站是否和当初的设计一样。

通过这几方面的测试我及时修正了系统中存在的问题很好的提高了系统的性能达到了预期目标。

23

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

结束语

经过了两个多月的学习和工作,我终于完成了论文。从开始接到论文题目到系统的实现,再到论文文章的完成,每走一步对我来说都是新的尝试与挑战,这也是我在大学期间独立完成的最大的项目。在这段时间里,我学到了很多知识也有很多感受,从对博客一无所知,对JSP、SSH、Oracle等相关技术很不了解的状态,我开始了独立的学习和试验,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常稚嫩作品一步步完善起来,每一次改进都是我学习的收获,每一次试验的成功都会让我兴奋好一段时间。从中我也充分认识到了博客这一新兴的出版方式给我们生活带来的乐趣,在属于自己的网络空间上,尽情宣泄自己的情感,表达自己的感受,并且把自己的想法与他人分享,我也有了一个属于自己的博客空间。

虽然我的论文作品不是很成熟,还有很多不足之处,但我可以自豪的说,这里面的每一段代码,都有我的劳动。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。

这次做论文的经历也会使我终身受益,我感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,那也就不叫论文了。希望这次的经历能让我在以后学习中激励我继续进步。

24

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

谢 辞

本次毕业设计是我大学四年学习下来最好的检验。经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都进步了。这期间凝结了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。

首先,这次做论文的经历也会使我终身受益,我感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,那也就不叫论文了。希望这次的经历能让我在以后学习中激励我继续进步。

其次,学校在这方面也给我们提供了很大的支持和帮助,学校领导比较重视,给我们安排了指导教师,帮助我们能顺利完成整个设计。对于学校和老师为我的毕业设计所提供的极大帮助和关心,在此我致以衷心的感谢!

另外,还要感谢同学四年来对我的关心与支持,感谢各位老师在学习期间对我的严格要求,同时也要感谢身边朋友的热心帮助,没有你们的支持与关心,就没有我今天的毕业设计。

25

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

参考文献

[1] 刘洋.精通Hibernate. 电子工业出版社,2005

[2] 史济民.软件工程――原理、方法与应用. 高等教育出版社,2002 [3] 张桂元. 贾燕枫Eclipse开发入门与项目实践. 人民邮电出版,2006 [4] 张桂元.Struts开发入门与项目实践. 人民邮电出版社,2005

[5] 孙卫琴.精通Struts:基于MVC的Java Web设计与开发. 电子工业出版社,2004 [6] 鲁晓东.JSP软件工程案例精解. 电子工业出版社,2005 [7] 丁鹏.STRUTS技术解密及WEB开发实例. 清华大学出版社,2004 [8] 夏昕.深入浅出Hibernate. 电子工业出版社,2005年6月

[9] 孙卫琴.精通Hibernate:Java对象持久化技术详解. 电子工业出版社,2005 [10] 吴以欣.陈小宁.JavaScript脚本程序设计. 人民邮电出版社,2005

26

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

附 录

1、Web.xml文件的配置

xmlns:xsi=\xsi:schemaLocation=\ http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\

index.jsp

struts

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts *.action

struts *.jsp

Econding

org.springframework.web.filter.CharacterEncodingFilter

econding UTF-8

27

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

Econding /*

contextConfigLocation

classpath*:applicationContext.xml

org.springframework.web.context.ContextLoaderListener

2、Struts.xml文件的配置

\ \

name=\

method=\

type=\

28

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

name=\name=\

type=\type=\

name=\name=\name=\

type=\

type=\type=\

29

name=\name=\name=\

type=\type=\

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

type=\

name=\name=\name=\

type=\type=\type=\

30

name=\name=\name=\

type=\type=\type=\

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

3、Hibernate配置文件

\

31

name=\name=\name=\

name=\name=\name=\中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

name=\

4、Spring配置文件

class=\

classpath:hibernate.cfg.xml

id=\

class=\

32

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

expression=\

com.*.service.*(..))\

id=\

5、Hibernate映射文件

33

中南大学毕业论文(设计) 重百超市销售管理系统设计与实现

34

本文来源:https://www.bwwdw.com/article/s3z6.html

Top