JAVA企业项目管理 | ||||||||||||||||
第一章 绪论 .1论文背景及课题来源 随着网络技术的发展和普及和经济的发展,公司的创建也随之增加。按照一般的说法,在一个企业准备做一个项目之后,参与这个项目的不会只是技术部,它还会包括市场部门、人事部门、财务部门等,从而在这些不同部门在一起运作改项目时不可避免地会产生一些小摩擦,须要进行协调,而这些肯定会为一些项目增加的不必要的成本,影响改项目实施的效率。而项目管理的做法则不同。本身在不同部门的成员有可能因为这个项目组成一个团队,一个项目团队的领导者就是项目经理,他们所负责的就是领导负责该项目的团队成员能够在给予的时间内很好的完成该项目所需要的全部工作。而项目管理系统可以很好的帮助企业处理这种多部门参与的项目所遇到的一些复杂的问题,可以实现项目高的实施效率[1]。 .2本课题在国内外的发展状况 随着网络技术的发展和普及,企业项目管理是运用各种知识、技能、方法与工具,为满足或超越项目有关的各方对项目的要求与期望所开展的各种管理活动。项目管理发展到现在,已深入到各行各业,以不同的类型、规模出现,在企业管理中扮演着举足轻重的角色。 而项目管理软件就是适应这个变化而产生的一种处理项目的方法,现在在项目管理软件中距今了解比较好用的一款是捷为科技iMIS PM项目管理软件,它从一个项目的立项,启动,计划,执行,监控,结束和总结,可以让人一目了然地了解整个项目的一个进行过程,可以说是国内第一套做的比较全面的非工程项目管理软件,并且它也是一个集成性的管理平台[2]。 .3应解决的问题及系统开发意义 本系统基于功能的需要应用到了MVC(Model-View-Controller,模型-视图-控制)设计模式,以Myeclipse为开发平台,采用JSP设计模式(JSP Servlet javaBean)进行设计,实现了各模块的功能。在其中遇到的问题: (1)服务器端和客户端要实现界面化,并且界面尽量人性化。 (2)服务器端能够正确的启动,确保前台JSP通过Servlet实现与后台的交互。 (3)用户在界面上进行操作时,确保数据库随之更新。 (4)异常处理,对于用户的不正确的操作系统应该有提示。 企业项目管理系统它的开发意义在于全面管理公司项目,加强跨部门之间的沟通协作,有效配置和共享资源,减少计划拖延和降低运营成本,并提高其运营效率,确保项目的进度。 第二章 开发工具及相关技术介绍 .1 Java简介 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。在这个互联网的时代,基于Java的特点更具备了优势和广阔的前景。语言一直是应用最广的开发语言,并拥有最广泛的开发人群。如今,Java已经不再简单地是一门语言,它更像一个完整的体系,一个系统的开发平台。Java中所涉及的知识Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制[3]。 .2 MVC介绍 全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,在于组织代码用一种业务逻辑和数据库分离的一种方法,这个方法的假设前提是如果这些业务逻辑被聚集到一个总体的部件里面,而且用户界面和用户所需要提交的数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中[4]。 是一个框架模式,它将使应用程序的请求、处理和处理结果分开。使用MVC设计模式被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP servlet javabean的模式。模型代表应用的业务逻辑;视图代表应用的表示,用于用户的交互;控制器是模型的与视图之间的沟通的桥梁,提供应用的处理过程控制。模型、视图、控制器各自的功能以及它们之间的关系 2.3 B/S模型介绍 /S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。 /S结构的优点: (1)具有分布性特点,可以随时随地进行查询、浏览等业务处理。 (2)业务扩展非常简单快捷,可以通过增加一些网页来增加所需要的服务器功能。 (3)它的维护易操作,实现用户的同步更新,只需要修改网页即可。 (4)操作简单,共享性高。 /S 模式的缺点: (1)想要加自己想要的个性化的功能需求,无法实现。 (2)操作是以鼠标为最基本的操作方式,操作起来不能过快。 (3)页面进行动态的刷新,响应速度明显降低。 (4)无法实现分页显示,给数据库访问造成较大的压力。 (5)功能弱化,难以实现传统模式下的特殊功能要求。 .4 MyEclipse开发工具介绍 是一个十分优秀的用于开发Java, J2EE的Eclipse插件,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错,大大减少了开发人员的开发时间。 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。根据官方最新消息,MyEclipse 2013已经正式发布!MyEclipse 2013[2]支持HTML5、JQuery和主流的Javascript 库。在结构上,MyEclipse的特征可以被分为7类: (1)J2EE模型 (2) WEB开发工具 (3) EJB开发工具 (4)应用程序服务器的连接器 (5) J2EE项目的部署 (6) 数据库的服务 (7)MyEclipse整合帮助 对于以上每一种功能上的类别,在Eclipse中也有相应的功能部件,可以通过相应的查件来完成。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任所需要的模块进行单独的扩展和升级,使用MyEclipse给开发者带来了极大的方便增加了项目开发的速度[6]。 .5 Tomcat简介 自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet, 这样Tomcat就诞生了。Tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品,同时它又是sun公司官方推荐的servlet和jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。其次,Tomcat是完全免费的软件,任何人都可以从互联网上自由地下载。Tomcat与Apache的组合相当完美[7]。 工作原理: 的工作模式3种:独立Servlet,进程内servlet,进程外servlet。 是一种运行在支持Java语言的服务器上的组件,Servlet与普通Java类的区别就在于它运行在服务器上。由于Java的特点与平台无关,再加上Servlet运行在服务器端,因此Servlet对于用户是完全透明的。 容器的作用是负责处理客户发送的请求。当客户发送一个请求时,Servlet容器获取用户的请求,然后调用相应的一个Servlet,开始执行Servlet中方法,并获得相应的执行结果返回给客户。 就是起这样作用的容器。当客户端发送一个请求来调用一个资源时,Servlet容器会用对象ServletRequest把客户端发送的请求进行封装,然后根据Java Servlet API文档中定义的一些Servlet方法,完成Servlet的执行之后把执行的结果封装到ServletResponse对象中,最后 Servlet容器把客户的请求发给客户,完成为客户的一次服务过程[8]。 Servlet容器的作用过程如下图3所示 2.6 MySQL简介 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司,目前属于Oracle公司。关联数据库管理系统将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性,MyEclipse的SQL语言是用于访问数据库的最常用的标准化语言。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。在MySQL数据库中,用于保存数据记录的结构被称为数据表。而每一条数据记录则是由更小的数据对象,即数据类型组成。因此,总体来说,一个或多个数据类型组成一条数据记录,一条或多条数据记录组成一个数据表,一个或多个数据表组成一个数据库[9]。 第三章 系统需求分析 .1 系统任务描述 本系统是采用Java基于B/S开发的企业项目管理系统的功能模块的设计和开发。这些模块实现任务管理、项目管理、人员管理、客户管理、个人信息管理。 该系统主要是为了让企业的管理人员能够更方便、快捷的掌握公司各个项目的基本情况;让项目经理可以方便快捷的管理项目;比较好的实现信息同步、实时展示;做到项目信息透明化[10]。 .2 系统功能分析 .2.1 系统的功能需求 企业项目管理系统需要完成以下一些基本功能: 登录该系统; 任务管理模块; 项目管理模块; 人员管理模块; 客户管理模块; 个人信息模块; 退出系统。 本系统具体功能需求如下: (1)由项目管理系统登录界面登录到管理界面,即系统的服务器端。用户经登录界面都系统主页面。 (2)不论是管理员还是用户都需要在登录界面输入正确的用户名和密码后才可以登录到各自的界面中去。 (3)从主界面点击任务管理进入相应的操作界面,对收到的任务进行增加,并可以对该任务修改和查询,对已过期的任务进行删除。 (4)从主界面点击项目管理进入相应的操作界面,对要做的项目进行统一的增删改查管理,及时更新项目的进度。 (5)从主界面点击客户管理进入相应的操作界面,对公司客户进行记录和修改,明确客户的信息。 (6)从主界面点击人员管理进入相应的操作界面,对公司内部人员管理,以及工资的发给情况。 (7)从主界面点击个人信息管理进入相应的操作界面,对个人信息进行修改。 .2.2系统数据流图 .2.3系统数据分析 在仔细调查企业项目管理过程的基础上,总结出该系统需要满足以下主要系统数据的需求: 3.3 系统可行性分析 从技术发面来看,Java语言的优点主要表现在:简单、面向对象、多线程、安全性等方面。 (1)java 的简单性:和C 相比,语法简单了,取消了指针的语法;内存分配和回收不需要我们来过渡关注,C 可以多继承,但java只能是单继承,相对于类来说。(注:接口可以多继承) (2)java面向对象:java算是纯面向对象,但jquery是更纯的面向对象。 在java编程思想这本书说过,“Everything is object!” 这样便于人类的构思和设计,更符合人们的思考问题方式 (3)分布式:主要还是用在EJB上 (4)安全性:java的语法限定了源程序的安全性,首先编译器会进行源代码的第一步检查 (5)跨平台:java能够跨越不同的操作系统平台,平台无关性 怎么跨平台呢? 主要是在不同的操作系统中,JVM规范都是一样的,被JVM加载成各个操作系统所支持的,屏蔽了底层操作系统的差异 (6)、高性能:开闭原则---对扩展开放,对修改关闭 java是即时编译的 (7)、多线程: Java开发的流的优点 耦合性低: 视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,应用于模型的代码只需写一次就可以被多个视图重用,从而可以减少代码的重复性。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。 生命周期成本低: 使开发和维护用户接口的技术含量降低。 部署快: 使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。 可维护性高: 分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。 有利软件工程化管理: 由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。控制器也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。 第四章 系统设计 系统设计是本系统开发的重要阶段,它直接影响到目标系统的质量,是整个开发工作的核心。系统设计工作应该自顶向下地进行。首先设计总体结构,然后再逐层深入,直至进行每一个模块的设计。总体设计主要是指在系统分析的基础上,对整个系统的划分(子系统)、机器设备(包括软、硬设备)的配置、数据的存贮规律以及整个系统实现规划等方面进行合理的安排。系统设计遵循的原则是:系统性、适应性、稳健性、经济性。 .1 系统总体结构设计 本系统是用Java语言基于B/S开发设计的,其核心的MVC技术决定了该系统的安全性和稳定性,从而保证了本系统有较强的使用性。登录到系统管理界面后,可以对相应的任务、项目、公司人员、客户以及个人信息的管理,实现了项目全面管理公司业务,加强跨部门沟通协作,有效配置和共享资源,减少计划拖延和降低运营成本。 .2 数据库设计 本次数据库开发工具为Navicat for MySQL,具体设计的表单如下: 4.3 系统功能模块详细设计 第五章 编码与实现 .1 系统主要模块代码 .1.1数据库的连接 .2 系统测试 首先,用户在登录界面中输入用户名和密码进入到服务器端。 结 束 语 本课题是利用Java,基于 B/S开发的企业项目管理。在分析、研究企业项目的基础上,对系统的组织结构、数据流程、用户需求等内容进行了详细的调查和分析。本课题的完成,综合运用了大学的专业课知识,特别是软件工程、Java等与系统设计有紧密联系的知识,并加强了对实际问题的分析和解决能力,做到理论联系实际。课题中,完成了对用户和系统流程的需求分析的调查,系统的分析和设计,增强了Java网络编程的实际锻炼。 在本次的系统设计中,由于个人技术知识水平不高,系统开发经验不足等,出现了有很多不足和需要改善的地方,这在以后的设计中都需要重点注意并加以改善,如:对代码某些功能和属性认识不清楚,在代码编写过程中,经常会出现因为用错代码,而使系统产生错误。 首先,操作简便性。系统功能操作操作起来还比较繁琐。如人员管理模块,人员信息的维护只能一个一个操作,如果需要一次更新大量人员信息时,操作起来非常繁琐。 其次,系统对各个版本浏览器的兼容性还不够好。使用Firefox浏览器浏览时,列表中的记录不能被选中;使用高版本的IE浏览器浏览时,部分页面会出现布局错落的现象。 第三,算法不够优化。有些模块算法设计得还不够好,以至于让用户等待的时间稍长。如人员报销费用导入模块,由于需要对导入的每条数据都匹配对照关系、分类汇总更新多个数据表,加上算法设计得不够优化,因此一次导入数据量较大时得等候稍长的时间才能处理完。 如果以后要对此系统进行优化,可以从以下方面进行。 首先,实现可能需要批量维护的模块的信息批量维护。如人员信息维护、用户信息维护等。 其次,找出不同版本浏览器兼容性不好的原因,尽量解决。 第三,如有必要,可以尝试优化部分模块的算法,如人员、项目费用导入模块。
|