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