基于java+javaEE+jsp的项目管理系统设计与实现(毕业论文+程序源码)
大家好,今天给大家介绍基于java+javaEE+jsp的项目管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。
文章目录:
基于java+javaEE+jsp的项目管理系统设计与实现(毕业论文+程序源码)1、项目简介2、资源详情3、关键词:4、毕设简介5、资源下载
1、项目简介
此在这个系统中我综合应用了MySQL、Servlet、JSP等知识。网页界面的结构设计以实用性出发,具有易于操作、简洁、方便等特点。在设计中,首先,运用HTML语言对网站的静态页面进行精细的加工并且在网站的美工方面取得了良好的效果。其次,对于Java编程、JSP的动态编程以及MySQL数据库进行努力学习和大量实践,并运用到了网站的建设中。本论文就项目管理系统进行了论述。访问本系统的用户主要是管理员,管理员的主要功能有:项目信息管理、项目资源、经费、进度、成果等信息的管理2、资源详情
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:20996个字49页
包含内容:整套源码+完整毕业论文+答辩PPT+任务书+辅导视频+运行截图
3、关键词:
项目管理;JSP;MySQL;Myeclipse4、毕设简介
提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。
1 绪论
1.1 课题背景
省略
1.2 目的和意义
基于以上现状,采用先进的信息化管理系统可以解决这些问题。这样就方便了管理层的统一管理和决策,同时提供了工作效率。本系统用于对辖区内单位项目申报立项流程的管理,传统模式的管理花费很多的精力,采用信息新技术优化管理手段,强化申报流程,加强项目监管,提高工作效率。
本论文主要包括软件,数据库和网络技术,可以对信息快速的收集整理,在这个过程中,考察了学生在大学期间所学的知识以及综合知识学习能力,并且在解决问题的水平有了很大提高,而且增强了对项目管理方面的理解与认识。我们运用和掌握了科学的研究方法,首先,我们确立了正确的设计思想,独立的进行思考,积极探索,勇于发现错误并及时改正,对今后的学习生活而言是一个难能可贵的经历。
1.3 开发设计思想
此在这个系统中我综合应用了MySQL、Servlet、JSP等知识。网页界面的结构设计以实用性出发,具有易于操作、简洁、方便等特点。在设计中,首先,运用HTML语言对网站的静态页面进行精细的加工并且在网站的美工方面取得了良好的效果。其次,对于Java编程、JSP的动态编程以及MySQL数据库进行努力学习和大量实践,并运用到了网站的建设中。
工程管理是一种遵循客观经济规律的管理活动,是系统的全方位的对工程建设项目从追踪各类项目信息开始,然后编制项目书,进行研究,开展设计和施工等工作,直到项目竣工投产或投入使用的全过程的管理。
1.4 开发目标
高校是科技发展的重要力量,而企业中文件与项目管理更为重要,因此为了促进高校科研发展、提高企业管理水平及服务水平的管理在日常管理中的作用日益凸现。传统的手工管理和计算机的辅助管理越来越不能满足新形势下发展的要求,有必要对管理信息进行计算机的网络管理。
在我国,某些高校或企业一直使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。作为计算机应用的一部分,使用计算机对文件档案信息进行管理,具有手工管理所无法比拟的优点。所以建立项目管理系统,使管理自动化,提高信息处理的速度和准确性十分必要。
2 开发工具和环境简介
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)确立恰当的存储结构以及存取方法。其中“恰当”含有两种含意:其一,数据库使用的存储空间要尽可能的少;其二,数据库反应时长要尽可能的短。
省略
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。
2.5 JAVA 简介
在我们大学的课程中了解到,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就可以。
2.6 Tomcat简介
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 ,系统一般的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 系统功能分析
省略
3.1 可行性研究
省略
①技术可行性
省略
②操作可行性
省略
③经济可行性
省略
④ 法律的可行性
省略
⑤运行环境:
此项目管理系统的运行环境包括硬件、操作系统、数据库等软件:
硬件:对于硬件的要求不是很高,基本的中央处理器(CPU):i5-3230M;
硬 盘:硬盘容量需要80 GB以上硬盘;
内 存:8G;
操作系统: Windows7,
关系数据库: MySQL;
3.2 需求分析
省略
(1)用户的需求分析:
首先用户需要在此网站进行在用户注册成功登录后,用户可以在知道自己原密码的前提下修改自己的登录密码。其次用户可以添加新项目,同时删除旧项目或创建错误的项目,同时,用户可以进行项目经费,资源,进程,成果进行管理以及对这些操作的查看以便进行确认。
(2)系统性能分析:
对数据的安全性、完整性要求:我们需要对用户的信息进行严格保密,防止非法用户对信息进行恶意删改。以下是系统性能需求:
(a)首要的则是系统的安全性和可靠性;
(b)保证安全的同时尽可能完善系统的功能,易于用户的操作;
©为了不断地进步发展,系统同时需要进行维护和不断地升级完善功能;
(d)由于多用户同时操作,所以数据库需要满足多次访问,保证其效率处于较高的水平。
3.3 系统功能的分析
如果我们的系统已经初步成型,我们需要对其进行分析时,则需要通过分析系统的功能和实现去确定系统的即将要达成的目的。因此,我们要收集足够的信息去验证我们的分析结果,在该次毕业设计中,我们获取的信息大多都是从网上,书库中了解到的。在任何的实践中获取的信息其实才是最可靠,最具有说服力的信息,所以,我们浏览其它的项目管理系统,然后来具体管理以便获得更可靠的信息。从而得到以下的功能模块:
从管理员角度看:
用户登入系统后,可以修改管理员的密码。同时具有以下功能:
1、管理员可以管理具体项目信息。
2、管理员可以管理项目经费信息。
3、管理员可以管理项目资源信息。
4、管理员可以管理项目进度信息。
5、管理员可以管理项目成果信息。
从员工角度看:
员工可以注册,然后可以进行密码以及信息的管理。同时也具有以下功能:
1、 员工可以查看具体项目信息
2、 员工可以查看具体经费信息
3、 员工可以查看具体资源信息
4、 员工可以查看具体进度信息
5、 员工可以具体查看成果信息
4 项目管理系统的总体设计
4.1 系统的功能设计目标
理论系统功能设计目标如下:
(1) 实用性强:在设计系统时,做到最大化的贴近实际,操作简单,针对各层次的人群都能够快速学习并运用。
(2) 先进的程序结构:使用先进的程序结构,利于提高整个系统的效率,而且便于维护及管理,以增强系统的使用周期。
(3) 使用模块化设计的方法:首先系统可以具有特别好的可扩充性,便于进一步完善系统,其次,对于系统后期的维护也很方便。
(4) 操作简单,维护方便:系统的维护功能在每个子系统都具备。
4.2 项目管理系统功能模块
我们详细考虑了系统所需要的大致功能,并且大体分为以下几个模块:
1.登录界面:这样的背景下,用于存储系统信息后,必须先进入到执行相应的操作管理系统,登录需要用户通过输入引进正确的用户名,密码,两者都是必要的,管理员在后台识别,后台模块的入口,背景识别模块主要用于验证管理员的身份和密码。
判断管理员身份的部分代码:
public String login(String userName,String userPw,int userType){String result="no";if(userType==0)//系统管理员登陆{String sql="select * from t_admin where userName=? and userPw=?";Object[] params={userName,userPw};DB mydb=new DB();mydb.doPstm(sql, params);try {ResultSet rs=mydb.getRs();boolean mark=(rs==null||!rs.next()?false:true);if(mark==false){result="no";}else{result="yes";TAdmin admin=new TAdmin();admin.setUserId(rs.getInt("userId"));admin.setUserName(rs.getString("userName"));admin.setUserPw(rs.getString("userPw"));WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); session.setAttribute("userType", 0);session.setAttribute("admin", admin);}rs.close();} catch (SQLException e){System.out.println("登录失败!");e.printStackTrace();}finally{mydb.closed();}}return result;}
2.主页:进入主页后可以点击左侧项目信息管理、资源信息管理、进度信息管理、个人密码修改等图标,进入相应的管理页面
3.项目管理:本模块实现对企业项目信息的管理操作,包括企业项目信息的添加、删除操作。
点击企业项目信息管理菜单,进入企业项目信息管理页面,该页面通过列表列出已添加的企业项目信息,包括项目名称、立项时间、负责人等。点击列表的删除按钮,实现企业项目信息的删除操作。
图4-1
点击添加按钮,进入企业项目信息添加页面,输入符合条件的企业项目信息,完成添加
图4-2
该模块的主要功能xiangmu_servlet类 实现的,该类的主要功能是与数据库交互,查询或保存企业项目信息,并通过request跳转,打开相应的jsp页面。部分代码是:
public void xiangmuDel(HttpServletRequest req,HttpServletResponse res){String id=req.getParameter("id");String sql="update t_xiangmu set del='yes' where id=?";Object[] params={id};DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAttribute("path", "xiangmu?type=xiangmuMana");String targetURL = "/common/success.jsp";dispatch(targetURL, req, res);}public void xiangmuMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException{String sql="select * from t_xiangmu where del='no'";req.setAttribute("xiangmuList", getxiangmuList(sql));req.getRequestDispatcher("admin/xiangmu/xiangmuMana.jsp").forward(req, res);}public void xiangmuSele(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException{String sql="select * from t_xiangmu where del='no'";req.setAttribute("xiangmuList", getxiangmuList(sql));req.getRequestDispatcher("admin/xiangmu/xiangmuSele.jsp").forward(req, res);}private List getxiangmuList(String sql){List xiangmuList=new ArrayList();Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()){TXiangmu xiangmu=new TXiangmu();xiangmu.setId(rs.getInt("id"));xiangmu.setMingcheng(rs.getString("mingcheng"));xiangmu.setShijian(rs.getString("shijian"));xiangmu.setFuzeren(rs.getString("fuzeren"));xiangmuList.add(xiangmu);}rs.close();}catch(Exception e){e.printStackTrace();}mydb.closed();return xiangmuList;}
4.项目资源管理:本模块实现对项目资源信息的管理操作,包括项目资源信息的添加、删除操作。
点击项目资源信息管理菜单,进入项目资源信息管理页面,该页面通过列表列出已添加的项目资源信息,包括项目名称、资源名称、添加时间等。
图4-3
图4-4
部分代码:public void ziyuanAdd(HttpServletRequest req,HttpServletResponse res){String xiangmu_id=req.getParameter("xiangmu_id");String shijian=req.getParameter("shijian");String mingcheng=req.getParameter("mingcheng");String miaoshu=req.getParameter("miaoshu");String sql="insert into t_ziyuan (xiangmu_id,mingcheng,miaoshu,shijian) values(?,?,?,?)";Object[] params={xiangmu_id,mingcheng,miaoshu,shijian};DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAttribute("path", "ziyuan?type=ziyuanMana");String targetURL = "/common/success.jsp";dispatch(targetURL, req, res);}public void ziyuanMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException{String sql="select ta.*,tb.mingcheng xmmc from t_ziyuan ta,t_xiangmu tb " +"where ta.xiangmu_id=tb.id and del='no'";List ziyuanList=new ArrayList();Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()){TZiyuan ziyuan=new TZiyuan();ziyuan.setId(rs.getInt("id"));ziyuan.setXmmc(rs.getString("xmmc"));ziyuan.setShijian(rs.getString("shijian"));ziyuan.setMingcheng(rs.getString("mingcheng"));ziyuan.setMiaoshu(rs.getString("miaoshu"));ziyuanList.add(ziyuan);}rs.close();}
6.项目经费管理:本模块实现对项目经费信息的管理操作,包括项目经费信息的添加、删除操作。点击项目经费信息管理菜单,进入项目经费信息管理页面,该页面通过列表列出已添加的项目经费信息,包括项目名称、经费金额、追加时间等。
图4-5
图4-6
部分代码:public void jingfeiAdd(HttpServletRequest req,HttpServletResponse res){String xiangmu_id=req.getParameter("xiangmu_id");String shijian=req.getParameter("shijian");String jine=req.getParameter("jine");String sql="insert into t_jingfei (xiangmu_id,jine,shijian) values(?,?,?)";Object[] params={xiangmu_id,jine,shijian};DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAttribute("path", "jingfei?type=jingfeiMana");String targetURL = "/common/success.jsp";dispatch(targetURL, req, res);}public void jingfeiMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException{String sql="select ta.*,tb.mingcheng from t_jingfei ta,t_xiangmu tb " +"where ta.xiangmu_id=tb.id and del='no'";List jingfeiList=new ArrayList();Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()){TJingfei jingfei=new TJingfei();jingfei.setId(rs.getInt("id"));jingfei.setXmmc(rs.getString("mingcheng"));jingfei.setShijian(rs.getString("shijian"));jingfei.setJine(rs.getString("jine"));jingfeiList.add(jingfei);}rs.close();}
7.项目进度管理:本模块实现对项目进度信息的管理操作,包括项目进度信息的添加、删除操作。点击项目进度信息管理菜单,进入项目进度信息管理页面,该页面通过列表列出已添加的项目进度信息,包括进度描述、添加时间、百分比等。
图4-7
图4-8
部分代码:public void jinduAdd(HttpServletRequest req,HttpServletResponse res){String xiangmu_id=req.getParameter("xiangmu_id");String shijian=req.getParameter("shijian");String miaoshu=req.getParameter("miaoshu");String baifenbi=req.getParameter("baifenbi");String sql="insert into t_jindu (xiangmu_id,shijian,miaoshu,baifenbi) values(?,?,?,?)";Object[] params={xiangmu_id,shijian,miaoshu,baifenbi};DB mydb=new DB();mydb.doPstm(sql, params);mydb.closed();req.setAttribute("message", "操作成功");req.setAttribute("path", "jindu?type=jinduMana");String targetURL = "/common/success.jsp";dispatch(targetURL, req, res);}public void jinduMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException{String sql="select ta.*,tb.mingcheng from t_jindu ta,t_xiangmu tb " +"where ta.xiangmu_id=tb.id and del='no'";List jinduList=new ArrayList();Object[] params={};DB mydb=new DB();try{mydb.doPstm(sql, params);ResultSet rs=mydb.getRs();while(rs.next()){TJindu jindu=new TJindu();jindu.setId(rs.getInt("id"));jindu.setXmmc(rs.getString("mingcheng"));jindu.setShijian(rs.getString("shijian"));jindu.setMiaoshu(rs.getString("miaoshu"));jindu.setBaifenbi(rs.getString("baifenbi"));jinduList.add(jindu);}rs.close();}
8.项目成果管理:本模块实现对项目成果信息的管理操作,包括项目成果信息的添加、删除操作。点击项目成果信息管理菜单,进入项目成果信息管理页面,该页面通过列表列出已添加的项目成果信息,包括进度描述、添加时间、百分比等。
图4-9
图4-9
9.退出后台管理:后台管理模块的出现主要用于来自后台系统管理。当从后台管理系统出来,然后单击[退出]按钮,虽然它仍然在后台,但不能做任何事情;点击其他工作的模块,将打开登录窗口的背景下,要求用户介绍了正确的用户名,密码。
4.3 项目管理的体系结构
主要结构:
图4-10
即:JSP技术 + JavaBeans + MySQL 数据库
4.4 系统总体结构图
图 4-11 系统总体结构图
数据流图:
数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。在结构化开发方法中,数据流图是需求分析阶段产生的结果。
数据流图英文缩写DFD(Data Flow Diagram)它是描绘信息流和数据从输入移动到输出的过程中所经受的变换。
数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。
数据流程图包括:
a.指明数据存在的数据符号,这些数据符号也可指明该数据所使用的媒体;
b.指明对数据执行的处理的处理符号,这些符号也可指明该处理所用到的机器功能;
c.指明几个处理和(或)数据媒体之间的数据流的流线符号;
d.便于读、写数据流程图的特殊符号。
在处理符号的前后都应是数据符号。数据流程图以数据符号开始和结束(除9.4规定的特殊符号外)
图4-12系统流程图
4.5项目管理系统用例图
图4-13 管理员用例图
图4-14 员工用例图
5. 数据库设计
5.1 数据库系统概述
省略
5.2 数据库逻辑结构设计
系统数据库db_xmgl中含有7张数据表,项目信息表t_xiangmu、资源信息表t_ziyuan、经费信息表t_jingfen、进度信息表t_jindu、成果信息表t_chengguo、管理员信息表t_admin、员工信息表t_admin。
1.项目结构表:项目信息表主要用于保存项目的基本信息,如项目名称、立项时间、项目负责人等
表5-1项目结构表
2.资源信息表:资源信息表主要用于保存项目涉及到的资源信息,如资源名称、描述、添加时间等
表5-2项目信息表
3.经费信息表:经费信息表主要用于保存项目经费信息,如经费金额、追加时间等
表5-3经费信息表
4.进度信息表:进度信息表主要用于保存项目进度信息,如时间、进度描述、百分比等
表5-4进度信息表
5.成果信息表:成果信息表主要用于项目产生的成果信息,如成果描述、时间、成果相附件等
表5-5成果信息表
6.管理员信息表:管理员信息表主要用于保存管理员的基本信息
表5-6管理员信息表
7.员工信息表:员工信息表主要用于保存员工的基本信息
表5-7员工信息表
6 系统实现
6.1程序说明
本系统都是以面向对象的方法进行设计实现,我们以Java 语言为基础进行开发,在实现此系统功能时,我们是采用JSP技术,JavaBeans组件和MySQL数据库进行开发实现的。
6.2 网页主页面模块
6-2-1 网页主页模块
7 系统测试
7.1 软件的安装与配置
软件安装的环境:操作系统Windows 7
MySQL
JDK安装:
在我们大学的课程以及实践中,我们有很多次JDK安装的经验,JDK的安装也特别简单,易于操作。
JDK的配置:
设置JAVA_HOME环境变量:JDK 安装目录 例:C:\j2sdk1.4;
设置CLASSPATH环境变量:JDK安装目录\lib\tools.jar 例:
C:\j2sdk1.4\lib\tools.jar;.
设置PATH环境变量:JDK 安装目录\bin;例:C:\j2sdk1.4\bin;
服务器的安装:Tomcat 5.0
设置TOMCAT_HOME环境变量:Tomcat安装目录 例:C:\Tomcat 5.0;
(2)Tomcat5.0 安装时注意在选择Java虚拟机路径是切记要选择安装的JSDK的目录,之后再进行安装。
(3)在安装完毕后,我们随后就可以运行TOMCAT,可以在浏览器中输入http://localhost:8080,成功的TOMCAT的欢迎页面,。
7.2 软件调试
省略
7.3 软件测试
软件测试对于系统开发而言是十分重要的一部分,它保证了系统的质量与可靠性。我们在进行软件测试时,最重要的目的是检查是否能够实现该系统的各项功能,是否能够满足消费者的各项需求。
软件测试是对整个系统开发过程的最终审查,若错误没被及时发现,则会给后续开发工作造成很严重的后果。
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
白盒测试,又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。
采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。下面要介绍的六种覆盖测试方法属于动态分析方法。
对于此系统,采取黑盒测试与白盒测试相联系,其中黑盒测试为主,我们将白盒测试则应用于主要的功能模块。
测试用例:
1.登录的测试用例
2用户查询的测试用例
测试结果:
★可能会有部分的中文数据从数据库中取出后,出现一些乱码的现象。
★系统的参数时而会出现错误,无法再进行传递
★系统在遇到大量用户同时进行访问时,数据库的效率可能没有想象中那么高。会造成部分用户访问失败,影响用户的体验以及系统的运行效率。
主要的解决方法:
☆我使用一部分代码方法来解决乱码问题:
其次我会对各个模块的参数模式进行统一规划。
这个系统是以中小型为根本,在使用JDBC连接数据库时,这些因素会造成一些问题。
8 结束语
省略
致谢
省略
参考文献
[1] 张志豪.基于Java EE的里程碑科技项目管理系统的设计与实现[D].电子科技大学,.
[2] 康蒋伟,周爱玲,邱建林.高校科研项目管理系统的设计与实现[J].科技创新与应用,36期
[3] 刘亚宾,精通Eclipse–JAVA技术大系,电子工业出版社,.
[4] 于万波,网站开发与应用案例教程,清华大学出版社,.
[5] 杨学瑜,高立军,软件开发过程与项目管理,电子工业出版社,.
[6] 张洁才,Java web应用开发教程,科学出版社,.
[7] 戴维尔,JavaScript程序员教程,电子工业出版社,.
[8] 黎连业、王华、李淑春,软件测试与测试技术,清华大学出版社,.
[9] 黄梯云著.管理信息系统.北京.电子工业出版社. .
[10].James D. McCaffrey等著.NET软件测试自动化之道[M]. 北京.电子工业出版社..
[11].甘仞初著.信息系统开发.北京.经济科学出版社..
[12].马赫著. Dreamweaver MX 网页设计经典108例.中国青年出版社..
[13].唐友国 湛洪波著.JSP网站开发详解.电子工业出版社10月.
[14].卫红春等著.信息系统分析与设计[M].北京.清华大学出版社..
[15].张大方 李玮等著.软件测试技术与管理[M].湖南.湖南大学出版社,.
[16]. (美) H.M.Deitel,P.Jdeitel著.Java程序设计教程(第五版). 清华大学出版社..
[17]. (美) Elliotte Rusty Harold著.Java Network Programming.东南大学出版社 ..
[18] 孙卫琴等著.精通struts:基于MVC的Java Web设计与开发. 电子工业出版社..
[19] 张文静 林琪著.JSP程序设计.人民邮电出版社..
[20] 孙卫琴 李洪成著.Tomcat与Java Web开发技术详解. 电子工业出版社..
21John J.Patrick著.SQL基础(第二版).清华大学出版社..
22David flanagan著.Java技术手册(第五版).东南大学出版社..
[23]黄裴、徐汀荣,电子商务原理与技术(第二版),科学出版社,10月
附录:外文翻译:
1.英文原文
省略
2.中文翻译
省略
5、资源下载
本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。
java毕业设计—— 基于java+javaEE+jsp的项目管理系统设计与实现(毕业论文+程序源码)——项目管理系统