超市管理系统报告.docx
《超市管理系统报告.docx》由会员分享,可在线阅读,更多相关《超市管理系统报告.docx(27页珍藏版)》请在冰豆网上搜索。
超市管理系统报告
沈航北方科技学院
课程设计说明书
课程名称软件综合课程设计
系别信息工程系
专业计算机科学与技术
班级B141101
学号B14110126
学生姓名魏亚楠
指导教师史俊
2014年11月
摘要
随着计算机的普及,超市管理人员水平的提高,有能力使用计算机进行日常的管理。
所以本系统的操作方式在这个用户组织内行得通。
超市管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库,而对于后者则要求应用程序功能完备,易使用等特点。
本系统采用myeclise作为前台开发工具,利用mysql作为系统数据库,实现了对c库存信息的管理,包括库存信息的查询、修改和进货历史。
论文从需求分析、系统设计、详细设计、系统调试与测试等方面对系统的设计过程进行了详细的描述,并对系统待完善之处提出了建议。
关键词:
库存;超市管理;
沈阳市楼盘信息管理系统
魏亚楠
1绪论
1.1课题背景
超市在我国几乎每条街都有,那么管理超市就十分重要。
随着科技的发展,计算机技术已经渗透到各个领域,成为各行各位必不可少的工具。
超市的发展为国民经济做出了巨大贡献。
早期的售货员已经不能满足现在销售的需求了,因此就需要引进新的技术来管理。
1.2课题意义
现如今有些超市仍在使用传统的人工管理模式,浪费人力资源,效率低,准确率低。
还有些潮湿虽然已经使用计算机用于超市管理,但是却对计算机的运用有限,这些情况可能导致一些商品长期挤压,损坏严重,造成重大经济损失,所以我们要开发超市管理信息系统来实现超市货物,人员,资金等的有效管理,实现利益最大化。
开发超市管理信息系统既有宏观上的意义,那就是顺应时代信息化,现代化潮流,提高效益,促进国民经济结构的优化;也有微观上的意义,那就是可以提高管理的现代化程序,加强信息化手段,提高工作效率,增加单位效益。
1.3课题目的
随着经济的日益发展和人民生活水平的显著提高,人们几乎总是要是超市购物,超市肯定会不断的进货。
这就要求对超市要有高度的管理。
本程序可以实现超市的基本管理,比如查询,和进货清单。
1.4国内外发展现状及趋势
信息管理技术在美国、欧洲等房地产行业中的应用已经很普及了。
行业发展的信息化程度较高。
其中一个突出的特点就是信息技术与业务流程相结合,不单是信息技术的简单应用,而是业务流程的再造过程。
能够针对不同的业务开发出相应的软件模块直接的无缝连接。
这些模块几乎涵盖了超市的各个方面,为超市提供了系统化的经营管理工具和平台,帮助超市实现整合经营和并行管理,达到高效决策、风险预防、开源节流等目标。
2可行性分析
可行性分析(feasibilitystudy),是世界上普遍采用的一种研究工程项目是否可行的科学。
它通过各种有效的方法,对工程项目进行分析,从技术、经济、财务等方面加以评价,最终给投资决策者提供是否选择该项目进行投资的依据。
2.1技术可行性分析
超市在运营过程中,经常会受到以下一些条件的限制:
1.采用传统的手工管理模式进行管理,其工作效率、管理质量和管理水平已不能满足当今经营管理发展的要求,早已无法和国外的企业进行竞争。
2.采用手工记帐不但工作效率低下,而且容易产生计算失误,给企业和个人造成不必要的损失。
3.数据查询、统计比较困难 。
该系统采用的是数据库技术和java技术之间建立连接,使用SQL语句建立表格,java语句编写程序,数据库服务器负责数据的输入,java负责数据,修改,查询。
在这两个系统之间建立连接,好处是数据运算集中在服务器端进行,在网络上传输的只是检索式与运算结果。
使数据的传输具有可靠性,不用担心数据在处理过程中丢失。
我通过对mysql数据库课程的学习基本掌握了数据库知识,通过学习C语言、C++、Java等语言掌握了编程技术。
综上所述,楼盘管理信息系统的开发从数据库技术、软件技术、硬件技术方面均具有可行性。
2.2操作可行性分析
根据要求本系统需要操作界面友好,界面美观,使用简单方便,系统稳定性好,安全可靠。
本系统是超市管理系统,主要用于管理员对超市信息进行查询、修改等功能;界面操作简单、合理、易懂。
综上所述,本系统在操作上是可行的。
2.3经济可行性分析
本方案硬件方面只用到了本人已有的一台计算机即可。
软件方面只需要利用myeclise软件和mysql软件即可,这些软件直接可以从网络上下载下来。
开发本系统直接用了自己已有设备没有用到其它费用。
所以,从经济角度来讲,开发本程序是可行的。
2.4法律可行性
本系统主要用于超市管理,开发期间所涉及的系统,软件均符合法律规定,不涉及侵犯他人专利权和侵犯版权,不涉及国家安全或者商业泄密,符合知识产权法等法律要求。
通过以上从技术角度、经济角度、操作性、法律可行性角度进行的全面分析,超市管理系统的开发是可行的。
3需求分析
软件需求分析也称为需求分析工程,是软件生命期中重要的一步,在需求分析阶段,要对经过可行性分析所确定的系统目标和功能做近一步的详细论述,确定系统“做什么”的问题。
3.1功能需求
系统主要实现对超市的管理,对于超市管理由操作员执行其更新,其余人员都可以进行查看;在 超市管理方面,主要涉及对库存的查询、修改。
具体功能如下:
(1)编号查询:
通过编号对库存产品进行查询;
(2)名称查询:
通过姓名对库存产品进行查询;
(3)结算功能:
通过品的编号和数量,系统能自动算出商品的总金额,并且可以输出找零等信息;
(4)提醒功能:
收银结束后,相应的库存商品数量有所减少,当某种商品库存少于一定数量时,可以提醒进货;
3.2数据需求
系统中涉及到的数据较多,例如库存信息。
其中涉及到的数据信息,具体如下。
基本数据包括产品编号,名称,数量,单价,产地。
3.3性能需求
系统是对超市信息进行系统管理的一个软件。
由于是一个对超市信息进行管理,要求其要有明确的权限分配,并且要有较快的响应速度,系统还要有较高的可靠性。
(1)安全性
本系统对于库存基本信息的管理,用户只能对库存信息进行浏览查询功能,所以本系统的安全性大大的提高。
(2)稳定性
由于库存信息资料、数量重多等,考虑到这个问题,所以本系统的开发适合大众,兼容性好,稳定性高。
(3)可靠性
由于本系统分为多个界面,分开管理。
因此本系统的可靠性很好。
3.4数据流图
数据流图简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
超市管理系统顶层数据流图如图3.1所示。
图3.1超市管理系统顶层数据流图
管理员、用户作为被分配不同权限的两个角色,登录系统后可以实现不同的功能。
管理员登录系统后可以添加、删除、修改楼盘信息等。
用户进入系统后可以查询楼盘信息,并且对楼盘数量进行统计查询、排序查等。
3.5数据字典
数据字典(Datadictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。
主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。
被动数据字典是指修改时必须手工更新其内容的数据字典。
数据库数据字典不仅是每个数据库的中心。
而且对每个用户也是非常重要的信息。
用户可以用SQL语句访问数据库数据字典,数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。
数据字典主要包数据流、数据处理、数据存储、数据元素信息。
(1)数据元素
①数据元素名称:
num
别名:
编号
简述:
产品的编号
数据类型:
varchar
长度:
255
②数据元素名称:
number
别名:
数量
简述:
产品的数量
数据类型:
int
长度:
11
取值范围:
“0-2147483647”
③数据元素名称:
name
别名:
名称
简述:
产品的名称
数据类型:
varchar
长度:
255
④数据元素名称:
place
别名:
产地
简述:
产品的产地
数据类型:
varchar
长度:
255
⑤数据元素名称:
UnitPrice
别名:
单价
简述:
产品的单价
数据类型:
float
长度:
-1.79e-308到1.79e+308.
(2)数据流
①数据流名称:
产品信息
简述:
记录产品的信息
数据流组成:
产品信息=产品编号+产品名称+产品数量+产品单价+产品产地
(
3.6E-R图
E-R图也即实体-联系图(EntityRelationshipDiagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
构成E-R图的基本要素是实体型、属性和联系,其表示方法为:
实体型(Entity):
用矩形表示,矩形框内写明实体名;比如楼盘唐轩公馆、楼盘万科城市花园都是实体。
如果是弱实体的话,在矩形外面再套实线矩形。
属性(Attribute):
用椭圆形表示,并用无向边将其与相应的实体连接起来;比如楼盘的编号、名称、区域都是属性。
如果是多值属性的话,在椭圆形外面再套实线椭圆。
如果是派生属性则用虚线椭圆表示。
联系(Relationship):
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:
1,1:
n或m:
n)。
3.6.1实体属性图
经过分析,本系统分为楼盘和区域两个实体。
(1)商品
楼盘实体属性主要包括:
楼盘编号、名称、地址、区域、开发公司、建筑公司、户型、平均价格、物业费、售楼电话。
实体属性图如图3.3所示
图3.3楼盘实体属性图
3.6.2系统E-R图
ER模型的“联系”用于刻画实体之间的关联。
一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。
若有联系,进一步确定是1:
N,M:
N,还是1:
1等。
还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。
系统E-R图如图3.5所示。
图3.5系统E-R图
解释如下:
一个区域可以有多个楼盘,一个楼盘只能属于一个区域;
4系统设计
系统设计要回答“怎么做”,即如何实现系统说明书规定的系统功能。
在这一阶段,要根据实际的技术条件,经济条件和社会条件确定系统的实施方案,即系统的物理模型。
本系统主要面向房地产企业,为企业管理者提供全方位的信息服务。
本章主要从系统结构、功能模块设计、数据库设计、开发工具四个方面对系统设计进行了分析。
4.1系统结构
本系统采用的是B/S结构,即Browser/Server(浏览器/服务器)结构,显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。
WEB层就是用户所能看到的界面。
BLL层主要进行数据的加工处理。
DAL层主要进数据库的操作,把数据写入数据库,或者从数据库读取数据
就是用户通过WEB层提交数据,这些数据通过BLL层验证、运算再传给DAL层,由DAL层记录到数据库。
反之,如果需要查询数据那么可以用过通过WEB层,提交查询关键字,或条件,这些条件经过BLL层分析后再通过DAL层从数据库取出相应的数据返回给BLL层,再经BLL层运算、包装后传给WEB层呈现给用户。
系统的系统结构图如图4.1所示。
图4.1系统结构图
4.2功能模块设计
超市管理系统是为了企业实行计算机化的管理,以提高工作效率,方便用户。
主要功能有查询产品信息,付款和进货信息。
系统功能图如图4.2所示。
图4.2系统功能图
系统功能主要由基本信息添按名称查询模块,按编号查询模块,付款找零模块,提醒进货模块,进货信息模块。
功能具体如下所示。
(1)按名称查询模块:
可以按名称查询产品的各种信息。
(2)按编号查询模块:
可以按编号查询产品的各种信息。
(3)付款找零模块:
可以付款结算并且找零。
(4)提醒进货模块:
可以提示员工货物需要进货。
(5)进货信息模块:
可以看到所有的进货信息。
4.3数据库设计
数据库设计(DatabaseDesign)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。
本节主要通过数据库逻辑设计、数据库表设计对数据库设计进行详细介绍。
4.3.1数据库逻辑设计
E-R图向关系模型的转换要解决的问题是如何将实体型和实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。
根据ER图转换为关系的转换规则,实体之间1:
1,1:
n的联系与n方的关系模式合并,m:
n的联系转换为二元或多元关系模式,转换为关系模式如下。
(1)独立的关系模式
①楼盘信息关系:
包含的属性有楼盘编号、名称、地址、区域、开发公司、建筑公司、户型、平均价格、物业费、售楼电话。
楼盘编号是主码。
②区域关系:
包含的属性有区域名称。
4.3.2数据库表设计
系统开发选择mysql作为后台数据库。
首先打开navicat,创建数据库为supermark,新建产品信息表。
下面对数据库表一一进行介绍。
产品信息表(supermark)
产品信息表主要存储产品的基本信息,包括产品名称,数量,单价,产地以及编号。
产品信息表supermark表结构如表4.3所示。
表4.3supermark表
字段名称
字段类型
字段长度
是否为空
字段说明
num
varchar
255
否
产品编号
number
Int
11
否
产品数量
name
varchar
255
否
产品名称
place
varchar
255
否
产品产地
UnitPrice
float
0
否
产品单价
区域信息表(importfood)
区域信息表主要存储进货的基本信息,包括货物名称,编号,数量。
区域信息表importfood表结构如表4.4所示。
表4.4quyu表
字段名称
字段类型
字段长度
是否为空
字段说明
name
varchar
255
否
产品名称
num
varchar
255
否
产品编号
number
int
11
否
产品数量
4.4关键技术及开发工具
本系统主要采用本系统主要采用本程序采用java程序框架式开发技术.
使用了myeclise软件。
MyEclipse,是在eclipse基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、JavaEE以及移动应用的开发。
MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。
后台设计主要使用mysql。
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:
关系数据库管理系统)应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
5详细设计
详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。
详细设计的目标有两个:
实现模块功能的算法要逻辑上正确和算法描述要简明易懂。
5.1框架结构
AJava是由SunMicrosystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。
由JamesGosling和同事们共同研发,并在1995年正式推出。
Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。
1995年更名为Java,并重新设计用于开发Internet应用程序。
用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:
跨平台、动态Web、Internet计算。
从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。
另一方面,Java技术也不断更新。
Java自面世后就非常流行,发展迅速,对C++语言形成有力冲击。
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
2010年Oracle公司收购SunMicrosystems。
系统中采用了java,实现了系统的基本功能。
5.2数据库连接
Java的数据库连接方式具体介绍。
Connectioncon;//数据库连接对象
//root为数据库名字,901224为数据库密码
Con=DriverManager.getConnection(“jdbc:
mysql:
//localhost:
3306/mysql”,”root”,”901224”);
5.3功能模块设计与实现
超市管理系统根据功能的不同分为以下几大类:
基本信息的查询,付款找零以及历史进货信息。
5.3.1基本信息添加模块设计与实现
基本信息查询模块,StringstrSQL="select*fromsupermarkwherenum='"+text0.getText().trim()+"'";
流程图如图5.1所示。
图5.1信息查询流程图
5.3.2付款结账功能模块设计与实现
付款结账功能,设置SQL语句StringstrSQL="select*fromsupermarkwherenum='"+text1.getText().trim()+"'";流程图如图5.2所示。
图5.2结算找零功能流程图
5.3.3历史进货信息查询功能模块设计与实现
历史进货信息查询,设置SQL语句StringstrSQL="selectsname,snum,snumberfromimporfood";
流程图如图5.3所示。
图5.3历史进货信息查询功能流程图
5.4人机界面设计
人机交互技术(Human-ComputerInteractionTechniques)是指通过计算机输入、输出设备,以有效地方式实现人与计算机对话的技术。
它包括机器通过输出或显示设备给人提供大量有关信息及提示请示等,人通过输入设备给机器输入有关信息及提示请示等,人通过输入设备给机器输入有关信息,回答问题等。
人机交互技术是计算机用户界面设计中的重要内容之一。
它与认知学、人机工程学、心理学等学科领域有密切的联系。
通过以上设计达到人机界面的友好、美观,使用户的心情更加愉悦。
主界面如图5.1所示。
图5.1管理员界面
系统中采用了java实现了系统的基本功能。
6系统调试与测试
系统调试与测试主要是指通过对系统的反复调试与测试,找出系统还存在的错误或不足,最后纠正错误或不足,期望系统达到最优效果。
6.1系统调试
调试是软件开发过程中最艰巨的脑力劳动,软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。
它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。
在目前形式化方法和程序正确性证明技术还无望成为实用性方法的情况下,软件测试在将来相当一段时间内仍然是软件可靠性保证的有效方法。
软件工程的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件开发项目。
不足的测试势必使软件带着一些未揭露的隐藏错误投入运行,这将意味着更大的危险让用户承担。
过度测试则会浪费许多宝贵的资源。
到测试后期,即使找到了错误,然而付出了过高的代价。
调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。
本系统调试过程中刚开始总是查询不了数据库,这个问题困扰了我很久,最后我通过与网友讨论,发现我的代码中应该写数据库名字的写成了表的名字,所以导致我查询不了。
6.2系统测试
软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。
6.2.1测试方案
测试类型有:
功能测试,性能测试,界面测试。
在测试工作中占的比例最大,功能测试也叫黑盒测试。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
区别在于,功能测试关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。
性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。
做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试。
6.2.2系统黑盒测试
系统功能的黑盒测试,将功能细分后,分别测试。
如表6.1所示。
表6.1系统功能测试表
序号
测试模块
测试描述
预期结果
实际结果
1
编号查询
输入正确编号
商品信息显示
商品信息显示
输入错误编号
错误提示
提示输入错误,请重新输入!
2
名称查询
输入正确名称
商品信息显示
商品信息显示
输入错误名称
错误提示
提示输入错误,请重新输入!
3
付款
输入正确商品编号,金额以及付款金额
自动结算
自动结算
输入错误商品编号,金额以及付款金额
结算不成功
结算不成功
7结论
经过一天的思考和钻研,终于完成了超市管理系统。
在开发过程中,我增强了自学的能力和开发软件的能力。
对软件开发模式有了更加深刻的认识,对应用软件的熟练程度有所提高,学会了如何开发一个综合系统。
楼盘信息管理系统基本开发完毕。
其功能基本符合用户需求,能够完成用户的查询以及各类需求。
并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。
对于数据的一致性的问题也通过程序进行了有效的解决。
但是由于设计的时间较短,所以该系统还有许多不尽如人意的地方,比如文档比较少,用户界面不够美观,出错处理不够等多方面问题。
这些都有待进一步改善。
尽管我竭尽全力来保证系统的可靠性,但是肯定还有不足之处,恳请用户批评指。
参考文献
[1].张桂珠刘丽陈爱国Java面向对象程序设计(第2版)北京邮电大学出版社
[2]毕广吉.Java程序设计实例教程[M].北京:
冶金工业出版社,2007年
[3].王保罗.Java面向对象程序设计[M].北京:
清华大学出版社,2003年
[4].高林,周海燕.Jsp网上书店系统与案例分析[M].北京:
人民邮电出版社,2004年
[5].刘腾红,孙细明.信息系统分析与设计[M].北京:
科学出版社,2003年
[6].林邦杰,彻底研究java.北京:
电子工业出版社,2002年
附录1-用户手册
点击运行,主界面,如图1所示。
图1主界面
点击“编号查询”即进入到编号查询界面,如图2所示。
图2编号查询界面
点击“名称查询”即进入到编号查询界面,如图3所示。
图3名称查询界面
点击“结账”即进入到结账界面,如图4所示。
图4结