基于Java EE平台项目管理系统的设计与实现
随着社会信息化的发展,很多的社会管理问题也一并出现了根本性变化,项目公司的报表及文件管理也发生了变化,以前的管理是一个分布式的信息,然后围绕中心由通过简单的来传输信息,这使得办事效率非常低下,所以需要需要适用信息货的发展,开发一套项目的管理信息系统。
此在这个系统中我综合应用了MySQL、Servlet、JSP等知识。网页界面的结构设计以实用性出发,具有易于操作、简洁、方便等特点。在设计中,首先,运用HTML语言对网站的静态页面进行精细的加工并且在网站的美工方面取得了良好的效果。其次,对于Java编程、JSP的动态编程以及MySQL数据库进行努力学习和大量实践,并运用到了网站的建设中。
本报告就项目管理系统进行了论述。访问本系统的用户主要是管理员,管理员的主要功能有:项目信息管理、项目资源、经费、进度、成果等信息的管理
项目管理;JSP;MySQL;Myeclipse
Design and Implementation of Project Management System Based on Java ee Platform
随着社会信息化的发展,社会上很多事务的管理也跟着相应发生了根本的变化,项目申报管理也跟着发生了变化,以前的管理是一种各地信息分散然后再集中到中央,信息的传送途径是通过简单人工传送,这样使办事效率低。此外,各个分散机构的项目申报在办理后不能及时集中到中央数据中心,不利于管理层的信息统计与决策。二十一世纪是信息技术的时代,信息量高度膨胀,人们对于信息的需求和控制欲越发强烈,各行各业对信息自动化和控制自动化的需求日益强烈。随着计算机和计算机网络的普及,使人们具有了处理大量的、繁琐的、复杂的、无序的信息的能力,并且随着数据库技术的逐步成熟和逐步深入到社会科学的各个领域,人们可以对以前无法解决或无法在短时间内解决的信息问题做出迅速的判断和解决。
基于以上现状,采用先进的信息化管理系统可以解决这些问题。这样就方便了管理层的统一管理和决策,同时提供了工作效率。本系统用于对辖区内单位项目申报立项流程的管理,传统模式的管理花费很多的精力,采用信息新技术优化管理手段,强化申报流程,加强项目监管,提高工作效率。
本报告主要包括软件,数据库和网络技术,可以对信息快速的收集整理,在这个过程中,考察了学生在大学期间所学的知识以及综合知识学习能力,并且在解决问题的水平有了很大提高,而且增强了对项目管理方面的理解与认识。我们运用和掌握了科学的研究方法,首先,我们确立了正确的设计思想,独立的进行思考,积极探索,勇于发现错误并及时改正,对今后的学习生活而言是一个难能可贵的经历。
此在这个系统中我综合应用了MySQL、Servlet、JSP等知识。网页界面的结构设计以实用性出发,具有易于操作、简洁、方便等特点。在设计中,首先,运用HTML语言对网站的静态页面进行精细的加工并且在网站的美工方面取得了良好的效果。其次,对于Java编程、JSP的动态编程以及MySQL数据库进行努力学习和大量实践,并运用到了网站的建设中。
工程管理是一种遵循客观经济规律的管理活动,是系统的全方位的对工程建设项目从追踪各类项目信息开始,然后编制项目书,进行研究,开展设计和施工等工作,直到项目竣工投产或投入使用的全过程的管理。
高校是科技发展的重要力量,而企业中文件与项目管理更为重要,因此为了促进高校科研发展、提高企业管理水平及服务水平的管理在日常管理中的作用日益凸现。传统的手工管理和计算机的辅助管理越来越不能满足新形势下发展的要求,有必要对管理信息进行计算机的网络管理。
在我国,某些高校或企业一直使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。作为计算机应用的一部分,使用计算机对文件档案信息进行管理,具有手工管理所无法比拟的优点。所以建立项目管理系统,使管理自动化,提高信息处理的速度和准确性十分必要。
2.1 Java Server Page 简介
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:
(1)一次编写,到处运行。除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下
(5)支持服务器端组件。web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能。
内部对象说明:request 客户端请求,此请求会包含来自GET/POST请求的参数; response 网页传回客户端的响应;pageContext 网页的属性是在这里管理; session 与请求有关的会话; application servlet正在执行的内容;out 用来传送响应的输出流; config 代码片段配置对象;page JSP网页本身; exception 针对错误网页,未捕捉的例外。
2.2 MySQL简介
MySQL是目前属于Oracle旗下,由瑞典公司MySQL AB开发的关系型数据库管理软件。目前,MySQL在互联网上的中小型网站上得到了广泛的应用。由于其体积小、速度快、整体拥有成本低,则许多中小型网站选择MySQL作为网站,这样可以很大程度的降低网站整体拥有成本。
数据库物理设计阶段的目标是指实际的计算机系统(硬件和数据库管理系统),给指定的数据库模型(database model)确立恰当的存储结构以及存取方法。其中“恰当”含有两种含意:其一,数据库使用的存储空间要尽可能的少;其二,数据库反应时长要尽可能的短。
以作出令人满意的数据库设计为目标,数据库设计人员应该掌握数据库管理系统的核心规则;能很好的运用DBMS的实际运行环境,尤其注意数据应用管理的反应时长以及频率的需求;明确外部存储设施的特性。
物理结构设计阶段的目标是在确定数据库的存储结构和访问方法之前提供有关DBMS提供的信息要做到充分的熟悉,做到能合理优化数据库中物理设计的参数。这种优化的有效性直接关系着DBMS的性能,被称为数据库系统的内模式。
数据库事务的四大特性(简称ACID)是:
原子性(Atomicity)
事务的原子性是指,事务所包含的被当做数据库逻辑工作个体的程序,对数据的操纵要求“一针见血”,即没有完全确定要修改的内容时一个不改,一旦确定目标就要全部都改,这种特性被称为原子性。
例如添加图片事务分为2个步骤(1)上传图片(2)添加图片所在的相册类型。不可能添加了图片类型,却没有上传。2个步骤必须同时完成才能实现添加图片事务。
(2)一致性(Consistency)
事务一致性意味着数据库不会随着事务更改而更改。此属性称为事务一致性。如果是的话,说数据库是一致的。数据库中事务一致性的标准则要求数据库的状态需要满足所有完整性约束。
例如完整性约束图片的删除,如果图片删除事务发生更改,则数据库中的数据也必须删除。
(3)分离性(亦称独立性Isolation)
分离性指的是并发的事务是相互隔离的。即对并发事务正在关联的数据以及内部动作进行分割,远离其他交易。这是为了防止并发事务的发生,而同样的数据操作可能会出现死锁现象。
(4)持久性(Durability)
持久性意味着已持久化的事务不会因为外部环境关闭或其他异常现象的发生而发生改变。即只要事务进行了持久化操作,则数据库数据的改变就会在数据库管理系统的管理下恒久不变,还可以还原已提交事务的更改。
MySQL数据库提供了一些强大的功能,可以在帮助使用者获取信息的同时,对数据进行多样的数据处理。除此之外,便利的数据库分享功能使管理人员可以更好的作出恰到的决策。
不过,单独的DBMS并不能完全满足信息系统的开发者对数据处理的需求,又或是需要更加便捷的方式去实现。
因此,开发者们会在某种在DBMS中,DIY需要自己的应用程序来形成一个应用程序信息系统,以满足应用需求和尽可能简单。这就是所谓的两个发展。
MySQL 还具有以下特点:
1.更便宜的查询和操纵数据
MySQL提供了简化查询和操纵数据的工具。
2.提供信息共享功能(web功能)
MySQL简化了数据库功能,他将桌面以及网址的数据库功能进行了整合,使得它可以轻易将数据库运用到浏览器中。这样它就能仅通过内网的Internet就能实现信息共享。
3.有关于信息处理方面的问题
用户和开发人员可以结合MySQL接口(客户端)的易用性和SQL Server的可扩展性和可靠性来对信息进行创建解决方案。
4.DIY数据库窗口
MySQL可以持久化新的对象,这样很大程度上提升了MySQL 数据库的便捷性。
5.名称自动更改功能
当用户对数据库对象进行重新命名的时候,,MySQL会自动更改与它关联的名称信息,方便数据库的扩展和维护。
6.可以建立子数据表功能
可以在同一窗口中实现可嵌套式的视图子表功能,方便开发者能够只关注相关的数据并对其进行操作。
7.方便快捷的数据库连接导出方式
数据的导出只需要将MySQL对象加载到JDBC-ODBC桥即可实现。
8.数据访问页功能
该功能可使用户快捷方便地创建数掂 HTML页,通过将数据库加载到Intranet Internet连接中,可以高效、快捷地实现信息的共享。
9.集成共享组件
MySQL为了实现多种查询和管理数据则运用Web组件和浏览器中的COM控件。
交互性
MySQL支持OLE DB,让用户结合使用与后台数据库如SQL Server2000的扩展MySQL接口方便。
2.3 MyEclipse 简介
本系统是跨越平台限制和跨越浏览器限制的充满动感的网页。构建项目管理系统所用的网页编辑器为MyEclipse, MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。
-
- MySQL 数据库
MySQL数据库是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被升阳微系统(Sun Microsystems)收购。2009年,甲骨文公司(Oracle)收购升阳微系统公司,MySQL成为Oracle旗下产品。MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。
在我们大学的课程中了解到,Java其实和c++差不多,在本质上都是面向对象进行设计开发的语言。在跟c语言相比较之后,你会发现,对于开发者而言Java是更趋向于简单易懂的模式。在java中,所有的程序,不论简单与否,都必须构建对象才会有接来下的操作。并且java的源代码必须先经过编译之后才能传递到客户端去执行。Java中的所有变量必须在声明之后才可以使用。并且java是一种与html无关的一种格式,java中的代码是以字节码的形式存在的。他们都是独立的保存在文档中。在java中始终都是先编译后运行,java的引用对象必须是在编译时才会用到。
Java语言的特点:
1.平台无关性
平台无关性是Java语言的一大特色,它是指编写好的Java程序无需任何修改就可以在不同的平台上进行运行。我们知道,.exe文件是windows系统下的可执行文件,类似的,.class文件就是JVM(Java虚拟机)上的“可执行文件”。Java代码在第一次编写的时候所存储的后缀为.java的文件经过编译后,会生成一个后缀为.class的文件,而该文件则独立于平台。怎么说呢?我们的Java程序在平台上不是直接运行于系统上的,而是通过JVM来运行,不同平台的JVM是不同的,但是对外都提供相同的接口,这样.class文件不管在什么平台下都能和这些“相同的”接口正确“嵌合”。
2.安全性
一是java有一种garbage collection机制,也就是垃圾回收机制,garbage collector会让你所编写的程序不容易出现内存泄露。如果内存泄露是很危险的,在内存泄露的时候,黑客有可能会借此对你的电脑进行攻击。二是java中存在异常类,也就是exception类,它可以在程序出错的时候让程序员停止程序的运行,保护程序的安全。三是java里面没有指针,可以防止程序员access错误的内存,从而保护程序的安全。
3.面向对象
想知道什么是面向对象的话,首先需要知道什么是面向过程。面向过程允许在程序中定义函数或者方法。而面向对象更近一步,允许你将这个“过程”,也就是函数或者方法以及和它们所关联的数据封装成对象,而这个对象,又通过继承和派生以及类型限定符,使开发者无法全部的访问和修改其包含的整个内容。
4.分布式
分布式和多处理器的系统不同,分布式系统中每个节点运行独立的操作系统。而多机系统所有的节点在单一的操作系统的控制下。
5.可移植性
Java的可移植性主要体现在你在一个操作系统上编译生成的.class文件,可以直接在另外一个操作系统上运行,当然这些操作系统上都应该安装JDK,其实准确的说,只需要有JRE就可以。
Tomcat 服务器是一个轻量级应用服务器,它所占用的资源特别少,在用户和系统所需资源不是很多的情况下经常被使用,是开发和调试JSP 程序的首选。由于sun公司对tomcat发展的支持,所以最新的JSP规范一定会在Tomcat中得以体现。Tomcat的技术十分先进,而且使用也很方便,性能也是相当的稳定,多数的程序开发人员都很喜欢使用tomcat。Tomcat虽然是一个小型的服务器,但它的发展已经相当成熟,并且它是免费的,但是它的效率根本不会输给竞争对手。同样,我们可以把Tomcat看做是Apache服务器的一种扩展,所以当我们在运行tomcat时,本质上它是以一个独立的Apache进程来运行。
2.7 MVC模式
为了满足系统对先进性、安全性、跨平台性、可扩展性、可移植性、分布式等方面的要求,系统总体架构设计采用先进的基于java的B/S的三层体系结构。MVC是
三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)[9]。 MVC模式的目的就是实现Web系统的职能分工。Model层 实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层 用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。Web浏览技术已经广泛地应用于Internet,并被广大用户接受和使用。Web技术是随http和html一起出现的。Web服务器利用http传递html文件,Web浏览器使用http检索html文件。Web服务器一旦检索到信息,Web浏览器就会以静态和交互(如文本、图像)方式显示各种对象。在电子商务业务进行过程中,需要在各种贸易角色之间浏览和交换各种信息,此时就要使用Web浏览技术。 这种模型使系统结构更加清楚,分工更加明确,有利于整个系统后期的维护和升级。
MVC(Model View Controller)模型(model)-视图(view)-控制器(controller)MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC 的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Oracle旗下Sun公司Java EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。
三层体系结构由浏览器、web服务器和数据库组成,并结合HTML语言、jsp、JavaScript脚本语言、Ajax、ODBC等技术,后台的数据库采用微软的SQL Server 2005,系统一般的MVC
图2-7 系统MVC结构图
如图1-1可知,用户界面层是用户和整个系统的接口,客户端只需安装通用的浏览器即可建立与本系统的连接。业务逻辑层负责处理用户输入的信息,或将这些信息发送给数据库层进行保存,或调用数据库层中的函数再次读出这些数据。数据访问层是整个分层体系的最底层,它主要用来实现与数据库的交互,即完成查询、插入、删除和修改数据库中数据的功能MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。分层概念视图,模型,控制器。
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services。如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。MVC模型还可以实现软件工程的高内聚,低耦合的终极目标。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求自己本身并不参与业务逻辑处理,然后再确定用哪个视图来显示返回的数据。
MVC的优点:
1)低耦合性
2)高重用性和可适用性
3)较低的生命周期成本
4)快速的部署
5)可维护性
6)有利于软件工程化管理
我需求分析是理解真实世界中的问题和用户需求,并能找出能满足这些需求的解决方案的过程。需求分析的目标是在开发活动开始之前,对问题的解决方法得到更好的认识。由此可见,需求分析在整个项目运行过程中具有举足轻重的地位。它甚至决定了以后开发活动的大方向。能否得到一个准确全面的需求分析结果将直接影响软件开发项目的质量和成败。
3.1 可行性研究
对于可行性研究而言,其任务就是用最低的代价在最短的时间内做出一个判断当前系统实现后的价值。为了避免在花费了大量的资源之后才发现该功能的实现完成不了或者完成了之后也没有多少实用性的价值。从而造成更多的浪费。在这个过程中,我们进行大量的问卷调查,网上调研等,深刻的考虑了这个系统的可行性,以免开发不必要的功能,对时间和资源等的浪费。
①技术可行性
由于主要接触的是Java编程语言,因此对Java语言比较有深刻的了解,尤其是在实习期间掌握了一些项目经验。在我看来,这次项目管理系统系统于我来说是一项比较大的软件开发工作。在这个开发过程中,我们为了系统的成功开发以及功能的全面实现,采取严谨的开发态度。同时,我们也需要采取科学的、工程化的系统开发方法。并且在这个过程中,我们也会研究一些符合工程化标准的开发方法,以适应我们的开发过程,保证系统功能的实现。研究这些方法意图是为了我们掌握更好的开发方法,并且在保证开发的速度较快的同时保证系统功能的质量,而且还可以更多的降低开发成本,节约时间。
②操作可行性
现在的生活中计算机已经普遍到每个家庭的生活当中,因而也就越来越多的人掌握了使用计算机的基本使用方法和技能。而本系统操作简单,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以自动生成,无需输入,时间的输入也是用的日历控件,操作简便,对用户的要求很低,只需对WINDOWS操作熟练,而且本系统可视性非常好,所以在技术上不会有很大难度。
③经济可行性
服务器端的安装简洁明了,客户机无需再装任何软件,通过浏览器就可以直接访问,可以直接接入Internet,无论您身在何处,只要您可以访问Internet都可以使用本系统。本系统对计算机配置的要求不高,企业机房更换下来的低配置电脑都可以完全满足需要,所以在经济上具有完全的可行性
此系统开发期间,所有工作完全是独立完成,本人具有开发此软件的能力,因此不存在抄袭等盗版侵权的问题。因此具有法律可行性。
综上所述,开发此系统十分有利于我们学习或工作当中的文件或项目管理,使之能够更加方便,快捷,准确,并能够降低成本,这是很多高效或大公司在未来所需要的一款系统。因此,此系统的开发是完全可行的。
⑤运行环境:
此项目管理系统的运行环境包括硬件、操作系统、数据库等软件:
硬件:对于硬件的要求不是很高,基本的中央处理器(CPU):i5-3230M;
硬 盘:硬盘容量需要80 GB以上硬盘;
内 存:8G;
操作系统: Windows7,
关系数据库: MySQL;
毕业设计下载地址
基于java的项目管理平台系统毕业设计(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
☞☞☞点击查看项目整体介绍
更有100多个毕业设计项目供您挑选