Java权限管理系统设计方案_第1页
Java权限管理系统设计方案_第2页
Java权限管理系统设计方案_第3页
Java权限管理系统设计方案_第4页
Java权限管理系统设计方案_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 Java权限管理系统设计方案Java权限管理系统设计方案摘 要随着科技的迅速发展,各种管理系统已应用到社会的各个领域。各个大小企业无论规模如何,都充分意识到传统的手工管理模式已经逐渐不能适应时代的发展,为了更好的发展,纷纷开发适合自己的管理系统。通过java权限管理系统这个平台,可以实现用户权限管理的信息化、网络化、系统化、规范化,使工作人员从繁杂的数据查询和统计中解脱出来,减少工作量。由于权限管理涉及面很广,几乎每个系统都会用到,所以我所做的这个系统就以某酒店食材采购作为实例进行设计,主要功能是以食材分类管理、食材管理、入库管理、出库管理、库存信息浏览等为依据,分为采购员、负责人、经理和管

2、理员4个种类的权限。本系统前台主要使用JSP作为开发语言,后台使用Mysql作为数据库管理系统,开发环境是MyEclipse,服务器采用tomcat,开发出的一个基于Web技术的B/S结构的java权限管理系统。关键词:java权限管理;JSP;B/S结构java rights management systemABSTRACT With the rapid development of technology, various management systems have been applied to all areas of society. Regardless of the size

3、 of various size enterprises are fully aware of the traditional manual management mode has gradually adapt to the development of the times, in order to better develop, have developed their own management systems. Through this platform java rights management system, users can achieve the rights manag

4、ement information, networking, systematic, standardized, so that the staff from the complex data queries and statistics freed, reduce the workload. Due to rights management involves a wide, almost every system will be used, so I did this system in order to purchase food as an example of a hotel desi

5、gn, the main function is to produce category management, food management, storage management, a database management, inventory information is based browsing, divided into four types of permissions buyer, the person in charge, managers and administrators. The system mainly uses JSP foreground as a de

6、velopment language, background using Mysql as database management system, development environment is MyEclipse, server using tomcat, developed a Web-based technology, B / S structure of the java rights management system.Keywords: Java rights management;JSP;B/S structureii目 录摘 要iABSTRACTii1 绪论11.1 课题

7、背景11.2 目的和意义11.3 开发工具及技术11.3.1 MyEclipse11.3.2 Tomcat11.3.3 Mysql21.3.4 JSP21.3.5 JavaScript21.4 软硬件需求32 需求分析42.1 需求调研42.2 可行性分析42.2.1 技术的可行性42.2.2 经济的可行性42.2.3 操作可行性42.2.4 法律的可行性52.2.5 小结52.3 总体设计原则52.4 系统用户用例图72.4.1 管理员用例图72.4.2 员工用例图72.5 功能模块需求分析82.6 设计的基本思想92.7 性能需求102.7.1 系统的安全性102.7.2 数据的完整性10

8、2.8 界面需求103 系统分析与概要设计113.1 数据库的分析与设计113.1.1 数据库的概念结构设计123.1.2 数据库的逻辑结构设计153.1.3 数据库的连接原理163.2 中文乱码问题处理174 详细设计194.1 详细设计概述194.2 系统所有功能模块详细设计介绍194.2.1 员工信息管理194.2.2 食材信息管理204.2.2 统计信息管理214.3 系统模块实现214.3.1 底层数据库224.3.2 创建数据库224.3.3 数据库的连接224.4 数据库操作Bean224.4.1 说明224.4.2 代码实现235 系统功能实现255.1 系统登陆页面实现255

9、.2 管理员功能模块275.3 食材管理模块285.3.1 食材信息录入285.3.2 食材信息管理295.3.3 食材信息删除315.4 采购管理315.4.1 采购申请添加315.4.2 采购审批管理325.4.3 采购确认管理335.5 食材分类管理335.5.1 分类信息录入335.5.2 分类信息查询345.6 统计355.7 安全退出系统356 系统测试366.1 系统测试目的与意义366.2 测试过程366.2.1 测试实例的研究与选择366.2.2 测试环境与测试条件376.2.3 主页面的登录模块测试376.2.4 系统评价386.3 其他错误38结 论39参考文献40外文原

10、文42外文翻译491 绪论1.1 课题背景计算机网络技术的发展,给信息时代的人们带来了很大的方便。如今在Internet上,随处都可以看到种类繁多的信息管理系统,比如,企业办公化自动管理系统,电子商务系统,企业教务管理系统等等。随着信息技术的日益发展已深入到社会的各个角落,各个大的企业,都充分意识到传统的手工管理模式已经逐渐不能适应时代的发展,为了更好的发展,纷纷开发适合自己的管理系统。不只是大企业,各种类型的小企业也是如此,以前管理大多为手工管理,效率低、易出错、手续繁琐,而且耗费大量的人力,物力,财力,现在他们都希望有一个适合自己的管理系统。通过调研,我发现某一酒店需要一个权限管理系统,能

11、够实现食材类别管理,食材管理,食材出入库管理,库存管理等功能。通过此系统,可以对用户权限管理的各项情况实行电脑化管理,这样可以提高工作效率,也使得用户权限管理所需的各项信息能方便快速进行录入,查询,删除和更新,对相应关键数据也能够方便地统计结果。 1.2 目的和意义长久以来,用户权限管理的管理工作大多数都采用的是传统的手工方式来记录相关信息,这种管理方式存在很多缺点,比如说酒店的食材管理,食材入库出库,食材信息的录入,查询,更新,分析都要完全依赖管理人员的手工记录和人工分析。对于小规模企业来说还勉强可以接受,但对于规模大一点的企业来说,人工记录是相当麻烦的。为满足企业发展需求,我决定采用编程语

12、言JSP开发基于B/S架构的java权限管理系统,java权限管理系统是涉及信息科学、数据计算和计算机技术的复杂的人机交互系统。通过此系统,可以对用户权限进行智能化管理,有效地记录并查询各种食材类型以及出入库等情况,为某酒店食材的管理提供了诸多方便。1.3 开发工具及技术此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和Mysql数据库进行简要介绍。1.3.1 MyEclipseMyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支

13、持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。1.3.2 Tomcat Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场

14、合下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。1.3.3 Mysql Mysql使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性;支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统;为多种编程语言提供了API;

15、支持多线程,充分利用CPU资源;提供TCP/IP、ODBC和JDBC等多种数据库连接途径;可以处理拥有上千万条记录的大型数据库。对于一般的个人使用者和中小型企业来说,Mysql提供的功能已经绰绰有余,而且由于Mysql是开放源码软件,因此可以大大降低总体拥有成本。1.3.4 JSPJSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问J

16、SP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给食材。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给食材端就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被食材端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给食材端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的

17、简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。Java已经有了许多非常优

18、秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。 内部对象说明:request 食材端请求,此请求会包含来自GET/POST请求的参数; response网页传回食材端的响应;pageContext网页的属性是在这里管理;session 与请求有关的会话;application servlet正在执行的内容;out用来传送响应的输出流;config代码片

19、段配置对象;page JSP网页本身;exception针对错误网页,未捕捉的例外。1.3.5 JavaScriptJavaScript是一种基于对象和事件驱动并具有相对安全性的食材端脚本语言。同时也是一种广泛用于食材端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用Javascript可以开发交互式Web网页。Javascript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活

20、跃的元素和更加精彩的内容。在本系统中很多地方使用了javascript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。1.4 软硬件需求硬件需求:CPU:Pentium以上计算机内存: 512M以上软件需求:操作系统版本:Windows XP /vista/Win7开发工具:MyEclipse 6.0.1后台服务器:Apache Tomcat 6.0开发语言:Java浏览器:IE6.02 需求分析2.1 需求调研需求调研是系统开发的开始阶段,它的输出“系统需求分析报告”是设计阶段的输入,需求调研的质量对于一个系统来说,是一个极其重要的阶段,它的质量在一定程度上来说决定了一个系统

21、的交付结果。怎样从客户中听取用户需求、分析用户需求就成为调研人员最重要的任务。为此,我走访了一些酒店,经过一系列的调查与谈话中发现,现行的权限管理工作还是存在着很多不足之处,手工记录的方式不易保存,容易丢失,同样也不利于数据的查询和统计分析。根据酒店的实际情况及调查结果,发现实现用户权限管理的网络化、信息化是十分有必要的,因此设计了本套权限管理系统。2.2 可行性分析可行性分析也称为可行性研究,是在调研的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。开发任何一个系统,

22、都会受到时间和资源上的限制。因此,在每一个项目开发之前,都要进行可行性分析,可以减少项目的开发风险,避免人力、物力和财力的浪费,保证新系统的开发成功。下面就技术、经济、操作和法律四个方面来介绍。2.2.1 技术的可行性本系统开发工具是MyEclipse和Mysql数据库,开发语言是Java,主要使用了J2EE的技术,java是一种面向对象编程语言,简单易学而且灵活方便。大三时就学习了java课程,大四期间也系统地了解了J2EE的知识,java权限管理系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心。在大学期间学习过软件工程,软件测试,UML统一建模语言等课程,每个学期也会完成对应的

23、课程设计,具备一定的系统分析、设计和测试能力。根据java权限管理系统的系统功能、性能及实现系统的各种约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发的。因此,完成系统实现在技术上完全具有可行性。2.2.2 经济的可行性如今是信息化时代,信息化管理可以使权限管理工作更加系统化、快速化、全面化。这样可以为企业带来较高的工作效益和经济效益,在提高工作效率的基础上,可以考虑减

24、少用户权限管理人员的数量,本系统对计算机配置的要求不高,企业机房更换下来的低配置电脑都可以完全满足需要,再者,企业在管理工作上的高效率和便捷性远远超过了开发本系统的成本,所以在经济上具有完全的可行性。2.2.3 操作可行性本系统操作简单,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以自动生成,无需输入,时间的输入也是用的日历控件,操作简便,对操作人员的要求很低,只需对WINDOWS操作熟练,加之对本系统的操作稍加培训即可工作,而且本系统可视性非常好,所以在技术上不会有很大难度。2.2.4 法律的可行性本java权限管理系统是自行开发的管理系统,是很有实际意义的系统,开发环境软件和

25、使用的数据库都是开源代码,开发这个系统不同于开发普通的系统软件,不存在侵权等问题,即法律上是可行的。2.2.5 小结可行性分析的任务是明确应用项目开发的必要性和可行性。本节主要对系统开发的可行性进行具体的分析,从用户方角度考虑本系统是否可行,主要通过有力的数据和软件运行环境方面作为依据。通过技术可行性、经济可行性、操作可行性以及法律可行性等方面的分析说明本系统的技术成熟、完备,测试手段可靠,具有良好的市场拓展,它追求的是简单、易学、易懂、易用。综上所述,开发一个java权限管理系统与人工记录的方式相比具有速度更快,操作更准确,节省开支等有利之处,具有一定的开发前景,具有开发的价值。因此,建立一

26、个java权限管理系统是必要可行的。2.3 总体设计原则本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则。其主要设计原则有:简单性:在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。针对性:本系统设计是针对java权限管理系统的实例即某酒店食材的采购需求定向开发设计,所以具有专业突出和很强的针对性。实用性:要求本系统能够满足权限管理系统的需求,因此具有良好的实用性。一致性:页面整体设计风格以及命名规则的一致性:整体页面布局和用图用色风格及变量、类名和其他元素的命名规则保持一致。功能一致性:完成同样的功能应该尽量使用同样的元素

27、。 元素风格一致性:界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。变量命名规则的一致性:变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。先进性:本系统采用JSP技术、MySQL等被广泛采用系统开发技术和数据库,因此本设计具有良好的先进性,具体表现在其具有良好的可扩展性,可开发性。Java Servlet 与 JSP 的相关功能JSP和Servlet的区别到底在应用上有哪些体现,很多人搞不清楚。简单的说,SUN首先发展出Servlet,其功能比较强劲,体系设计也很先进,只是,它输出HTML语句还是采用了老的CGI方式,是一句一句输出,所以,编写和修改HTM

28、L非常不方便。JavaServer Pages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术,JSP并没有增加任何本质上不能用Servlet实现的功能。但是,在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:比如,由页面设计者进行HTML设计,同时留出供Servlet程序员插入动态内容的空间。后来SUN推出了类似于ASP的镶嵌型的JSP,把JSP TAG镶嵌到HTML语句中,这样,就大大简化和方便了网页的设计和修改。新型的网络语言如ASP,PHP,JSP都是镶嵌型的

29、SCRIPT语言。 这是JSP和Servlet区别的运作原理层面。从网络三层结构的角度看JSP和Servlet的区别,一个网络项目最少分三层:data layer(数据层),business layer(业务层), presentation layer(表现层)。当然也可以更复杂。Servlet用来写business layer是很强大的,但是对于写presentation layer就很不方便。JSP则主要是为了方便写presentation layer而设计的。当然也可以写business layer。写惯了ASP,PHP,CGI的朋友,经常会不自觉的把presentation layer

30、和business layer混在一起。根据SUN自己的推荐,JSP中应该仅仅存放与presentation layer有关的东东,也就是说,只放输出HTML网页的部分。而所有的数据计算,数据分析,数据库联结处理,统统是属于business layer,应该放在Java BEANS中。通过JSP调用Java BEANS,实现两层的整合。实际上,微软前不久推出的DNA技术,简单说,就是ASP+COM/DCOM技术。与JSP+BEANS完全类似,所有的presentation layer由ASP完成,所有的business layer由COM/DCOM完成。通过调用,实现整合。为什么要采用这些组件

31、技术呢?因为单纯的ASP/JSP语言是非常低效率执行的,如果出现大量用户点击,纯SCRIPT语言很快就到达了他的功能上限,而组件技术就能大幅度提高功能上限,加快执行速度。另外一方面,纯SCRIPT语言将presentation layer和business layer混在一起,造成修改不方便,并且代码不能重复利用。如果想修改一个地方,经常会牵涉到十几页CODE,采用组件技术就只改组件就可以了。Servlet是一个早期的不完善的产品,写business layer很好,写presentation layer就很臭,并且两层混杂。所以,推出JSP+BEAN,用JSP写presentation la

32、yer,用BEAN写business layer。SUN自己的意思也是将来用JSP替代Servlet。这是技术更新方面JSP和Servlet的区别。可是,这不是说,学了Servlet没用,实际上,你还是应该从Servlet入门,再上JSP,再上JSP+BEAN。强调的是:学了JSP,不会用Java BEAN并进行整合,等于没学。大家多花点力气在JSP+BEAN上。我们可以看到,当ASP+COM和JSP+BEAN都采用组件技术后,所有的组件都是先进行编译,并驻留内存,然后快速执行。所以,大家经常吹的Servlet/JSP先编译驻内存后执行的速度优势就没有了。那么,为什么还用JSP+BEAN?因为

33、Java实在前途远大。微软分拆后,操作系统将群雄并起,应用软件的开发商必定要找一个通用开发语言进行开发,Java一统天下的时机就到了。如果微软分拆顺利,从中分出的应用软件公司将成为Java的新领导者。目前的Java大头SUN和IBM都死气沉沉,令人失望。希望新公司能注入新活力。不过,新公司很有可能和旧SUN展开Java标准大战,双方各自制定标准,影响Java跨平台。简单分析了一下JSP和Servlet的区别和Java Web开发方面的发展。现在的机器速度越来越快,Java的速度劣势很快就可以被克服。2.4 系统用户用例图2.4.1 管理员用例图管理员负责管理整个系统,涉及到员工管理、食材管理、

34、入库管理、出库管理、库存管理、统计管理和系统设置这七大功能模块,能够及时动态地掌握用户权限管理的各项情况。如图2.1所示:员工管理食材管理入库管理管理出库管理管理员库存管理 统计管理系统设置图2.1 管理员用例图2.4.2 员工用例图员工有采购员、负责人、经理三类,采购员对食材采购提出采购申请,负责人对采购申请进行审批,经理对负责人的审批进行确认,确认以后,采购员才能对食材进行采购。如图2.2所示:采购申请采购员采购审批负责人员工 采购确认经理 图2.2 员工用例图2.5 功能模块需求分析本系统最大的特点是页面简洁大方,使用操作简单,友好的操作信息提示。本系统将实现以下基本功能:(1)用户管理

35、:主要对系统内的用户进行管理。功能如下:员工信息录入、查询、删除等操作。(2)采购管理:对用户权限进行管理。具体功能如下:采购申请、采购审批(部门负责人可见)、采购确认(经理可见)。(3)食材管理: 对采购中所涉及到的食材进行管理。具体功能如下:食材的添加、修改、删除等功能。(4)库存管理:对食材的数量进行管理。如: 入库、出库等功能。(5)采购统计:统计一段时间内的食材出库情况、入库情况等,具体功能如下入库统计、出库统计、采购食材的金额统计。暂定统计以月为单位。(6)系统设置:退出系统。(7)用户权限管理:系统中设置采购员、负责人、经理和管理员四种权限。(8)具有较强的安全性,避免用户的恶意

36、操作。管理员功能模块如图2.3所示: 图2.3 管理员功能模块图用户功能模块图如图2.4所示: 图2.4 用户功能模块图2.6 设计的基本思想设计思想遵循以下几点:1. 采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页方式的用户。2. 采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率。3. 采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程。4. 简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作。

37、5速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快。6设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要。2.7 性能需求2.7.1 系统的安全性java权限管理系统在管理权限上要严格进行控制,想登陆java权限管理系统进行操作,必须有某些操作权限,没有权限的用户不能通过任何方式登录系统查看系统的任何信息和数据,以确保系统的严密性和安全性。2.7.2 数据的完整性1.各种记录、信息的完整性,信息记录内容不能为空。2.各种数据间相互联系的正确性。3.相同数据在不同记录中的一致性。2.8 界面需求

38、界面设计目前已经成为评价软件质量的一条重要指标,一个好的用户界面可以增加用户使用系统的信心和兴趣,提高工作效率,JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。 创建动态页面非常方便。用户界面是指软件系统与用户交互的接口,通常包括输出、输入、人-机对话的界面格式等。1.输出设计输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使

39、用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。2.输入设计输入数据的收集和录入是比较费事的,需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好坏是具有决定性意义的。输入设计的原则有如下几点:1)输入量应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少。2

40、)输入的准备及输入过程应尽量容易进行,从而减少错误的发生。3)应尽量早对输入数据进行检查(尽量接近原数据发生点),以便使错误及时得到更正。4)输入数据尽早地用其处理所需的形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而可能发生的错误。3 系统分析与概要设计3.1 数据库的分析与设计数据库是一个单位或是一个应用领域的通用数据处理系统,它存储的是属于企业和事业部门、团体和个人的有关数据的集合。数据库中的数据是从全局观点出发建立的,按一定的数据模型进行组织、描述和存储。其结构基于数据间的自然联系,从而可提供一切必要的存取路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。

41、数据库中的数据是为众多用户所共享其信息而建立的,已经摆脱了具体程序的限制和制约。不同的用户可以按各自的用法使用数据库中的数据;多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据库中的同一个数据。数据共享性不仅满足了各用户对信息内容的要求,同时也满足了各用户之间信息通信的要求。数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模

42、式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。数据库的设计一般经过规划、需求分析、概念设计、逻辑设计、物理设计5个步骤。(1)需求分析调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的

43、使用要求和各种约束条件等,形成用户需求规约。(2)概念设计对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。以扩充的实体(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多

44、个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。(3)逻辑设计主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。(4)物理设计根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。3.1.1 数据库的概念结构设计

45、概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。数据库的概念结构设计采用实体联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的,根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。E-R图所用模型如图3.1所示

46、:实体间关系属性实体 图3.1 E-R图所用模型图(1)食材类别信息实体E-R图如图3.2所示:类别介绍类别名称食材类别 图3.2 食材类别信息实体E-R图(2)食材信息实体E-R图如图3.3所示:单位规格产地名称备注信息食材信息 图3.3 食材信息实体E-R图(3)入库信信息实体E-R图如图3.4所示:总金额经手人入库时间单据号备注信息入库信息 图3.4 入库信息实体E-R图(4)出库信息实体E-R图如图3.5所示:总金额经手人出库时间单据号备注信息出库信息 图3.5 出库信息实体E-R图(5)管理员信息实体E-R图如图3.6所示:登陆账号登陆密码用户ID管理员图3.6 管理员信息实体E-R

47、图(6)用户信息实体E-R图如图3.7所示:联系方式住址年龄权限登录帐号性别姓名登录密码用户 图3.7 用户信息实体E-R图(7)采购信息实体E-R图如图3.8所示:经手人备注明细总金额状态采购时间单据号用户 图3.8 采购信息实体E-R图3.1.2 数据库的逻辑结构设计我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:*每一个实体要转换成一个关系。*所有的主键必须定义非空(NOT NULL)。*对于二元联系应按照一对多、弱对实、一对一、多对多等联系

48、来定义外键。根据E-R模型,用户权限管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。(1)食材类别表主要是记录了食材类别基本信息。表结构如表3.1所示: 表3.1 食材类别表(t_catelog)列名数据类型长度允许空是否主键 说明idint4否是 编号namevarchar20否否 类别名称jieshaovarchar30否否 类别介绍(2)食材信息表主要是记录了食材的基本信息,表结构如表3.2所示:表3.2 食材信息表(t_goods)列名数据类型长度允许空是否主键 说明idInt4否是 编号catelog_idInt4否否 类别编号namevarchar20否否 食材名称cha

49、ndivarchar20否否 产地danweivarchar30否否 单位guigevarchar40否否 规格beizhuvarchar50否否 备注信息(3)入库信息表主要是记录用户权限管理的入库的基本信息,表结构如表3.3所示:表3.3 入库信息表(t_ruku)列名数据类型长度允许空是否主键说明idInt4否是编号danjuhaovarchar4否否单据号shijianvarcharDate否否入库时间zongjiagevarchar30否否总价格jingshourenvarchar20否否经手人beizhuvarchar50否否备注信息(4)出库信息表主要是记录用户权限管理的出库的基

50、本信息,表结构如表3.4所示:表3.4 出库信息表(t_chuku)列名数据类型长度允许空是否主键说明idInt4否是编号danjuhaovarchar4否否单据号shijianvarcharDate否否出库时间zongjiagevarchar30否否总价格jingshourenvarchar20否否经手人beizhuvarchar50否否备注信息(5)管理员信息表主要记录的管理员的账号信息,包括用户名和密码,表结构如表3.5所示:表3.5 管理员信息表(t_admin)列名数据类型长度允许空是否主键说明userIdint4否是编号userNamevarchar20否否用户名userPwvar

51、char10否否密码3.1.3 数据库的连接原理采用JDBC连接数据库的方式,只需在工程中导入对应数据库的jar包,就可以方便的对数据库进行连接,在程序中,用Class.forName()方法来加载驱动程序,在用DriverManager()的getConnection()方法就可以创建一个数据库连接。程序采用的是DAO模式来操作数据库,DAO(Data Access Object,数据访问对象),是Java编程中的一种经典模式,已被广泛应用,也是J2EE架构中持久层框架的基础知识,基于分层次式的软件架构来实现对数据库的访问操作。DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法。抽象数据的含义就是编写应用程序的程序员不必关心数据库的物理位置,已经是何种数据库,只需使用封装数据库中表示记录的数据对象即可。其思想如图3.9所示:使用封装DataSourceBusinessObjectDataAccessObject创建/使用获取/修改DataTransferObject图3.9 DAO模式类图 图中BussinessObject是业务对象,是使用D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论