基于JSP的小型超市管系统的设计与实现含源文件.docx
《基于JSP的小型超市管系统的设计与实现含源文件.docx》由会员分享,可在线阅读,更多相关《基于JSP的小型超市管系统的设计与实现含源文件.docx(31页珍藏版)》请在冰豆网上搜索。
基于JSP的小型超市管系统的设计与实现含源文件
安阳师范学院本科学生毕业论文
基于JSP的小型超市管理系统
的设计与实现
作 者
系(院)
专 业
年 级
学 号
指导教师
日 期
诚信承诺书
郑重承诺:
所呈交的论文是作者个人在导师指导下进行的研究工作及取得的研究成果。
除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得安阳师范学院或其他教育机构的学位或证书所使用过的材料。
与作者一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。
作者签名:
日期:
导师签名:
日期:
院长签名:
日期:
论文使用授权说明
本人完全了解安阳师范学院有关保留、使用学位论文的规定,即:
学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。
保密论文在解密后遵守此规定。
作者签名:
导师签名:
日期:
目录
摘要1
关键词1
1绪论1
1.1研究背景1
1.2研究目的与意义1
2系统所采用的关键技术1
2.1什么是Java1
2.2Java语言的优势1
2.3SQLServer2005数据库优点2
3系统需求分析2
3.1需求分析2
3.1.1用例分析2
3.1.2类图分析3
3.2系统功能概述3
3.2.1用户的特点4
3.2.2对功能的规定4
3.3可行性分析4
3.3.1技术可行性4
3.3.2经济可行性4
3.3.3操作可行性4
4系统概要设计5
4.1系统总体设计方案5
4.2系统数据流图5
4.3系统活动图6
4.4系统数据库设计6
4.4.1数据库需求分析6
4.4.2数据库概念设计(E-R图)6
4.4.3数据库逻辑结构8
5详细功能设计11
5.1系统主要功能设计11
5.1.2进退货管理流程12
5.1.3销售管理流程12
5.1.4库存管理流程12
5.2系统主要功能模块实现14
5.2.1登录模块实现14
5.2.2进货管理模块实现16
5.2.3销售管理模块实现17
5.2.4库存管理模块实现19
6系统测试20
6.1系统测试步骤20
6.1.1单元测试20
6.1.2集成测试20
6.1.3确认测试20
6.2系统测试20
6.2.1界面测试20
6.2.2功能测试21
7结论21
参考文献21
基于JSP的小型超市管理系统的设计与实现
(安阳师范学院人文管理学院数信系,河南安阳455000)
摘要:
随着社会的发展,人们日常生活越来越依赖计算机,其中超市管理也是格外明显。
本论文主要进行了以下几方面的工作:
首先,介绍了系统的研究背景和目的,以及系统开发过程中所用的关键技术,然后进行了系统的需求分析,并说明了各个模块间的关系,介绍了数据库的设计以及界面的设计与实现。
本系统基本实现了一般超市所需功能,包括:
进货管理,销售管理,库存管理,员工管理和供应商管理等方面。
本系统选择的是在Myeclipse8.5平台上使用Java语言作为前台开发工具,SQL2005作为后台数据库平台,通过SQL2005将系统所需的数据和用户操作的数据与前台连接起来。
关键词:
Java;数据库;Myeclipse;小型超市
1绪论
1.1研究背景
进入21世纪,随着现代科学技术的迅速发展,计算机技术越来越贴近人们的生活,各行各业也都与计算机技术紧密的联系起来,计算机技术的快速发展也让各行各业的竞争更加的激烈,一项先进的技术引进往往能让企业领先于竞争对手,这就会为企业带来巨大效益,超市市场竞争也是如此。
但由于国内小型超市相对于大中型超市在信息化过程中效率大大落后,更为了适应竞争,提高处理方式和管理方法,因此必须迅速加快小型超市的现代信息化以提高市场竞争力。
1.2研究目的与意义
①有效地提高小型超市的运行效率。
②系统能够准确地接收和处理商品的相关信息,缩减了工作时间。
③本系统可以提高小型超市的管理水平,在降低超市的经营成本后进而提高工作效益,同时有效地增强了超市的扩张能力。
2系统所采用的关键技术
2.1什么是Java
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。
Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
[1]
简单地说,Java环境可用来开发能在任何计算平台上运行的应用软件。
是一种非常基本且结构紧凑的技术,借助Java,使用人员可以自由地使用自己已拥有的硬件和软件,这是因为Java是独立于平台的。
随着时间的推移,Java不只代表一种语言,而是一个开发软件的平台,更进一步讲也是软件开发时的标准与框架的统称。
因此学习Java不仅仅是学会语言的语法,更多时候是要学会如何利用Java本身提供的资源和标准,开发出框架更好,更易维护的软件。
[2]
2.2Java语言的优势
Java是一个支持面向对象观点的程序语言,具有:
简单的、面向对象的、网络的等特性。
它最大的优点就是与平台无关,在Windows9x、WindowsNT、Solaris、Linux、MacOS以及其它平台上,都可以使用相同的代码。
对于“一次编写,到处运行”这样的梦想,Java提供了更高的可能性。
Java语言所有用途可从其无可比拟的能力,即提高可靠性、安全性和简化各种不同计算产品和环境的能力中受益非浅,而且节省的时间和费用十分可观。
[3]
简单的:
Java去除了C/C++中的一些不常使用且易出错的功能,比如指针,运算符重载和多重继承等。
除了去除掉这些功能外,还将常使用的功能加以简化,比如在Java中对字符串进行操作就相应简化了。
Java在设计时参考了许多C/C++的语法及特性,所以掌握C/C++的开发人员可以很快学会如何使用Java。
面对对象的:
这一概念对学过C/C++的人并不陌生。
面向对象的好处之一就是可以让你设计出可以重用的组件,或者直接使用别人所编好的Java组件,并使开发出的软件更具弹性且容易维护。
网络的:
Java本身就等于通过网络产生的,它的许多功能与应用都与网络有关,从最初的Applet、简化的Socket、交互式的JSP/Servlet网络程序到今日的WebService等,都注定了Java在网络相关的领域占有一席之地。
Java应用的最多的也是网络服务这块。
2.3SQLServer2005数据库优点
SQLServer2005是一个比较全面的数据库平台,可以轻松利用.NET语言的优势如其面向对象的封装、继承和多态特性,编写出那些需要对数据进行复杂数值计算或逻辑的代码,如字符串处理,数据加密算法,XML数据操作等等。
SQLServer2005通过引入全新的ServiceBroker提供了革命性的异步处理能力。
ServiceBroker提供了一个功能强大的异步编程模型。
它为数据库应用程序增加了可靠、可扩展、分布式异步功能异步编程,允许程序仅仅在资源可用时才去执行占用大量资源的任务,以此来缩短响应时间,提高吞吐量Broker的最大好处一是异步执行能力,提高了可伸缩性,二是可靠执行,三是集成于数据库中,备份数据库就备份了broker的消息队列。
SQLServer2005中的查询通知就是基于ServiceBroker的应用。
此外服务代理处理的是以松散方式进行联系的发送者和接收者之间的消息。
一个消息被发送、处理和回答,完成整个事务。
这大大扩展了数据驱动应用程序的性能,以便符合工作流程或者客户业务需求。
[4]
3系统需求分析
3.1需求分析
所谓“需求分析”,是指详细分析要弄清的问题,搞清问题的要求,主要包括要输入哪些数据,应该得到什么结果,最后应输出什么。
“需求分析”是连接系统分析和软件设计阶段之间的重要桥梁。
首先,需求分析活动的基本出发点是系统规格说明和项目规划,检查与调整是从软件角度来进行;其次,需求规格说明的主要基础又是软件设计、实现、测试直至维护,所以良好的分析活动就能有效地避免或尽早剔除早期错误,进而提高软件生产率,降低开发成本,改进软件质量。
3.1.1用例分析
用例图是用来图示化系统的主事件流程,用例图主要用来描述使用者的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点。
[5]
用例图如图1所示:
图1超市管理系统用例图
3.1.2类图分析
类图(Classdiagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。
类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。
类图描述的是一种静态关系,在系统的整个生命周期都是有效的。
在类描述中一般只给出主要类及主要类间的关系。
类图是所有面向对象建模方法的核心部分,类图描述了系统的静态结构,由类及类间的关系组成。
类是具有相同属性和相同方法的对象的集合。
[6]系统类图如图2所示:
图2超市管理销售系统类图
3.2系统功能概述
本系统主要实现超市的商品信息管理、员工信息管理、进退货管理、商品销售管理、客户管理、客户退货管理、库存管理等功能。
通过以上功能的实现使的超市管理更加效率和便捷。
3.2.1用户的特点
本软件设计完成后的最终的用户可能文化程度不一,大多数对电脑只是有简单的认识,但一般用户在熟悉了基本的操作方法后,还应该了解自己的权限和职能,不能对别人随意透漏自己的登录口令,要严格维护系统的安全。
而系统维护人员则要要有专业的计算机水平,要熟悉软件的相关的前台与后台之类的知识,要有职业操守,有强烈的安全意识和责任感。
3.2.2对功能的规定
本系统采用Myeclipse8.5作为开发平台,后台语言为Java,前台功能采用JavaScript,并采用SQLServer2005数据库开发一个供超市员工使用的小型超市管理系统,利用数据库的读写实现管理系统的各个功能,本系统主要完成超市商品信息管理、供货商管理、进货管理、退换货管理、商品销售管理、客户退货管理、库存管理等功能。
通过以上功能实现简单、便捷的超市管理系统。
系统能够实现对商品的入库管理、商品销售管理等方面提供存储、更新、查询、删除、统计汇总、打印等功能。
本系统分为管理员登录和员工登录两种用户登陆模式。
①管理员登陆
管理员登陆之后可以进行商品信息管理,员工信息管理,商品进货管理,商品销售管理,商品库存管理,系统管理等操作;
②员工登陆
员工登陆模式有商品销售管理、商品库存管理、系统管理三个操作。
3.3可行性分析
可行性分析首先要明确我们研究分析目的,即用最小的代价在最短的时间内确定问题是否能够解决,但可行性研究的目的不是解决问题,而是确定问题是否值得去解决。
为了达到这个目的我们不能只靠主观去猜想,而要进行客观分析。
根据调查分析,系统设计方案有以下三个可行性。
3.3.1技术可行性
在软件方面本程序设计采用的开发环境是Myeclipse8.5用开发语言Java编写程序,SQLServer2005做后台数据库。
在硬件方面市面上的电脑的各种配置包括输入输出能力,内部存储器和外部存储器的容量都能满足开发的要求。
本系统程序开发应是一个集数据库管理和查询为一身的系统,依据现有的开发技术,开发硬件、开发软件的性能要求及环境条件等来看,各项条件良好,因此,从技术方面讲开发此系统是可行的。
3.3.2经济可行性
本超市管理系统所需计算机等相关硬件都在市面购买,所需要的软件可以在相关网站下载,主要是系统的设计费用,其前期的投入是比较小的,而后期的维护费用也不会太高而且本系统一旦投入使用,就可以大大提高超市运作效率,减轻工作人员的负担,同时加强了对超市信息的管理,从实际价值看远远大于系统开发成本,所以本系统开发从经济方面上看是十分可行的。
3.3.3操作可行性
本系统界面一目了然、易于操作。
系统设计比较简单,容易上手,不需要太多的计算机知识,可以快速帮助使用人员查出超市商品和人员的各类信息,大大提高了超市的运作效率。
综上所述,从经济可行性、技术可行性和操作可行性来说,系统开发是完全可行的。
4系统概要设计
本阶段完成系统的大致设计并明确系统的各模块功能以及数据结构。
在概要设计阶段的指导思想是结构化指导思想,是指用一组标准的规则和图表工具确定系统有哪些模块,怎么连接,从而形成新系统的结构,然后再进行诸如输入、输出、对话等设计,为整个系统的实施做好铺垫。
[7]
4.1系统总体设计方案
本系统前台使用Myeclipse8.5平台来设计,访问数据库服务器;后台采用Microsoft公司的SQLServer2005。
SQLServer2005开发后台数据库,用于提供数据服务。
SQLServer2005是一种典型关系型数据库管理系统,该系统具有数据一致性好,完整性强,安全性高的优点,系统采用结构化设计方法,按超市实际工作内容来确定所需,将整个系统作为一个大模块自顶向下,以模块化结构设计技术进行模块分解,然后再自底向上,按照系统的结构将整个模块进行组合,最终完成本超市管理系统的开发。
[8]具体功能模块如下:
登录模块:
有管理员和员工两种登录方式。
商品信息管理模块:
有商品类别管理,添加商品信息,商品信息维护3种功能。
员工信息管理:
添加员工信息,员工信息维护。
商品进退货管理模块:
提供进货登记、进货查询、提供退货登记、退货查询4个功能。
商品销售管理模块:
提供商品销售查询、员工业绩查询、顾客退货办理、商品退货查询4个功能。
商品库存管理模块:
有商品库存查询、商品库存预警查询2个功能。
系统管理模块:
提供供应商管理、修改密码、系统信息查询3个功能。
此外供应商管理又具备供应商信息查询、添加新供应商2个功能功能。
系统功能结构图如图3:
退货查询
图3系统功能结构图
4.2系统数据流图
数据流图是将提供给用户的业务流程图进行功能建模,转化成开发人员能够理解的一系列“逻辑模型”图,即以图形化的方法描绘数据在系统中的流动和处理的过程,这些图都应该用规范的DFD描述。
[9]
本系统的数据流图是比较清晰的,对各功能模块来说都比较有规律。
系统的第一层层和第二层数据流图分别如图4和图5所示:
4.3系统活动图
活动图阐述了用例实现的过程,用于研究实现业务目标时所要执行的各项任务或活动的顺序安排。
本超市管理系统的活动图如图6所示:
4.4系统数据库设计
给定一个应用环境下,构建一个最合理的数据库,并且要使其能准确存储数据,以达到客户的要求,而系统开发和建设中的核心就是建立数据库及应用系统。
数据库设计是管理信息系统的重要组成部分。
本系统采用SQLServer2005数据库,该数据库拥有了很大程度的灵活性,来满足复杂的数据移动需求,这大大扩展了数据驱动应用程序的性能,以便符合工作流程或者客户业务需求,更为系统功能的实现提供便利。
[10]
4.4.1数据库需求分析
主要是收集基本数据及确定数据的处理要求,需求分析主要解决如下问题:
①数据要求:
用户需要从数据库中获取什么数据,并决定在数据库中存储那些数据。
②操作要求:
明确用户对数据的操作要求,从而确定数据之间的关系。
[11]
4.4.2数据库概念设计(E-R图)
E-R图也称实体-联系图(EntityRelationshipDiagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
简单的说,E-R图用来分析数据关系的。
下面具体给出超市管理系统主要的实体图。
管理员实体图如图7所示
商品信息实体图如图8所示:
进货管理实体图如图9所示:
销售管理实体图如图10所示:
图5第二层数据流图
图6超市管理系统活动图
图7管理员实体图
验证码
进货管理
售价
图8商品信息实体图
图9进货管理实体图
4.4.3数据库逻辑结构
逻辑结构是把概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。
本系统根据E-R图可以对数据库进行设计,以下列出主要的数据表。
员工信息表主要包括姓名、密码、性别、生日、学历家庭电话等字段。
如表1所示:
商品信息表主要包括商品编号、类型编号、商品名称、商品单位等字段。
如表2所示:
供应商信息表主要包括公司名称、法人代表、电话、地址等字段。
如表3所示:
退货登记信息表主要包括退货编号、商品编号、供应商等字段。
如表4所示:
进货登记信息表主要包括进货单号、商品编号、进货价格等字段。
如表5所示:
图10销售管理实体图
销售单价
表1用户信息表
字段
字段名
类型
是否为空
employeeNo
ID
varchar(20)
否
employeeName
姓名
nvarchar(20)
是
employeePassword
密码
varchar(30)
是
employeeSex
性别
nchar
(1)
是
employeeBirthday
生日
datetime
是
employeeEducationId
学历
int
是
employeeHomeTel
家庭电话
varchar(20)
是
employeeMobile
手机号
varchar(20)
是
employeeCard
身份证号
varchar(20)
是
employeeEmail
电子邮箱
varchar(30)
是
employeeAddress
家庭住址
nvarchar(80)
否
表2商品信息表
字段
字段名
类型
是否为空
goodNo
商品编号
varchar(20)
否
goodClassId
类型编号
Int
是
goodName
商品名称
nvarchar(30)
否
goodUnit
商品单位
nvarchar
(2)
是
goodModel
商品型号
nvarchar(20)
是
goodSpecs
商品规格
nvarchar(20)
是
goodPrice
商品售价
float
是
goodPlace
商品产地
nvarchar(50)
是
goodMemo
备注信息
char(10)
是
goodAddTime
进货日期
datetime
是
表3供应商信息表
字段
字段名
类型
是否为空
supplierName
公司名称
nvarchar(50)
否
supplierLawyer
法人代表
nvarchar(4)
是
supplierTelephone
电话
varchar(11)
否
supplierAddress
地址
nvarchar(50)
是
表4退货登记表
字段
字段名
类型
是否为空
buyBackId
退货编号
int
否
goodNo
商品编号
varchar(20)
是
supplierName
供应商
varchar(50)
是
price
退货价格
float
是
number
退货数量
int
是
totalPrice
退货总价
float
是
buyBackDate
退货日期
datetime
是
buyBackReason
退货原因
text
是
buyBackAddTime
登记时间
datetime
是
表5进货登记表
字段
字段名
类型
是否为空
buyId
进货单号
int
否
goodNo
商品编号
varchar(20)
否
supplierName
供应商
nvarchar(50)
否
price
进货价格
float
是
number
进货数量
int
是
totalPrice
进货总价
float
是
buyDate
进货日期
datetime
是
addTime
登记时间
datetime
是
管理员信息表主要包括用户名和密码等字段。
如表6所示:
表6管理员信息表
字段
字段名
类型
是否为空
adminUsername
用户名
varchar(20)
否
adminPassword
密码
varchar(32)
否
学历信息表主要包括学历编号和学历名称等字段。
如表7所示:
表7学历信息表
字段
字段名
类型
是否为空
educationId
学历编号
int
否
educationName
学历名称
nvarchar(20)
否
员工业绩信息表主要包括员工编号、员工名称、销售金额等字段。
如表8所示:
表8员工业绩表
字段
字段名
类型
是否为空
employeeNo
员工编号
varchar(20)
否
employeeName
员工名称
nvarchar(8)
否
employeeSellMoney
销售金额
float
否
销售信息表主要包括销售编号、单据号、商品编号、销售价格等字段。
如表9所示:
表9销售信息表
字段
字段名
类型
是否为空
sellInfoId
销售编号
int
否
sellNo
单据号
varchar(30)
否
goodNo
商品编号
varchar(20)
是
price
销售价格
float
是
number
销售数量
int
是
totalPrice
销售总价
float
是
sellTime
销售时间
datetime
是
employeeNo
员工号
varchar(20)
是
商品库存信息表主要包括退货编号、销售单据、商品编号、退货价格、退货数量、退货总价等字段。
如表10所示:
表10商品库存信息表
字段
字段名
类型
是否为空
sellBackId
退货编号
int
否
sellNo
销售单据
varchar(20)
是
goodNo
商品编号
varchar(20)
是
price
退货价格
float
是
number
退货数量
int
是
totalPrice
退货总价
float
是
sellBackReason
退货原因
text
是
sellBackTime
退货时间
datetime
是
商品类别信息表包括类型编号、类型名称等字段。
如表11所示:
表11商品类别信息表
字段
字段名
类型
是否为空
goodClassId
类型编号
int
否
goodClassNam