基于JAVA EE平台的项目管理系统毕业设计

目录

1 绪论 (1)

1.1 课题研究的背景 (1)

1.2 课题意义 (1)

2 相关技术理论 (3)

2.1 技术介绍 (2)

2.1.1 JSP简介 (2)

2.1.2 MySQL简介 (4)

2.2 可行性分析 (5)

2.2.1 技术可行性 (5)

2.2.2 经济可行性 (5)

2.2.3 时间可行性 (5)

2.2.4 操作可行性 (5)

3 系统分析与设计 (6)

3.1 系统综合要求 (6)

3.2 开发人员功能模块 (7)

3.3 测试人员功能模块 (7)

3.4 数据库设计 (8)

3.4.1系统E-R图 (9)

3.4.2 数据库表设计 (12)

3.4.3 数据库逻辑模型 (12)

3.4.4 数据库表结构 (13)

4 系统实现 (15)

4.1 系统页面的设计与实现 (15)

4.2 登录页面 (15)

4.3 开发人员功能的实现 (16)

4.4 查看开发任务页面 (17)

4.4.1 修改项目完成情况 (18)

4.4.2 修改个人信息页面 (19)

4.5 测试人员功能的实现 (20)

4.6 查看测试任务 (20)

4.6.1 修改测试任务完成情况 (21)

4.6.2 提交Bug (22)

5 系统的调试与测试 (24)

5.1 软件测试 (25)

5.2 测试方法 (25)

6 结论 (26)

参考文献 (27)

致谢 (29)

1 绪论

1.1 课题研究的背景

随着全球经济一体化进程的加快,世界经济已由原来的工业化经济逐步向网络信息化方面发展。信息化管理和信息化设备已经深入到我们生活的方方面面,许多企业和商家都抓住了这个千载难逢的时机,正一步步的将自己的事业向信息化、网络化方面靠拢。网络自动化不但使办公更加简易而且提供工作效率,而随着基于数据库的网络信息系统的发展,人们已经开始在这个平台上面开发出了成功的项目管理系统,企业的传统式的办公管理模式也在逐步向自动化办公管理模式转变。项目管理系统就是在这样的大背景下应运而生的。

关于项目管理的概念,项目是指一系列独特的、复杂的并相互关联的活动,这些活动有着一个明确的目标或目的,必须在特定的时间、预算、资源限定内,依据规范完成。项目参数包括项目范围、质量、成本、时间、资源[1]。项目管理简称(PM)就是项目的管理者,在有限的资源约束下,运用系统的观点、方法和理论,对项目涉及的全部工作进行有效地管理。

项目管理的提出是在20世纪70年代中期的美国,当时美国国防部专门研究了项目开发不能按时提交,预算超支和质量达不到用户要求的原因,结果发现70%的项目是因为管理不善引起的,而非技术原因。于是软件开发者开始逐渐重视起软件开发中的各项管理。到了20世纪90年代中期,软件研发项目管理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有10%的项目能够在预定的费用和进度下交付。利用网络通讯基础及先进的网络应用平台,建设一个安全、可靠、开放、高效的信息网络和项目管理、信息管理电子化系统,为管理公司提供现代化的日常办公条件及丰富的综合信息服务,实现项目管理自动化和办公事务处理自动化,以提高办公效率和管理水平,实现公司各部门日常业务工作的规范化、电子化、标准化。最终实现“无纸”办公。在这个系统开发的过程中,可以增加我们的工程经验,对以后的工作学习是一次很有意义的经验积累[2]。

1.2 课题意义

项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。软件项目管理的根本目的是为了让

软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用[3]。而研究软件项目管理为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误。

项目管理是信息时代的一种新型的省力的办公模式。它是将现代化办公和计算机网络功能相结合开发的适用于企业内部人员之间的办公软件。随着信息技术的发展,网络化的普及,项目管理系统在行政企事业单位的管理、经营活动等处都发挥着日益重要的作用。通过网络,组织机构内部的员工可跨越时间、地点协同工作。通过项目管理系统所实施的交换式网络应用,使信息的传递更加快捷和方便,从而极大地扩展了管理手段,实现了运营的高效。从这个意义上讲,在市场竞争日趋白热化的今天,项目管理己经不再是一种手段、一种工具,而成为决定企业生存发展的命脉[4]。

本次研究项目管理系统为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误,从而达到开发项目的时间、性能、资源三个目标的最优化。项目管理系统—用户子系统模块主要包括:(1)程序员配合项目负责人完成需求分析与设计,根据任务的分配情况完成相应的软件编码。在测试阶段查看并修改缺陷[5]。(2)测试员主要负责对软件的测试,根据测试计划和测试文档对软件进行测试,创建缺陷,对缺陷进行反馈,提交缺陷报告单,并对修改的缺陷进行复测。

2 相关技术理论

2.1 技术介绍

2.1.1 JSP简介

JSP,即Java Server Page,Java应用页面程序。作为开发动态页面的一种技术,JSP是

当前大中型企业应用软件首选的开发路线之一[6]。而且JSP是J2EE的重要组成部分,开发人员可以在JSP中获得J2EE的众多优点。学习JSP也是J2EE入门的必经之路。

JSP既依赖于也得益于J2EE技术。“一次编写,随处运行”的可移植性使用户可以专注于JSP的开发,而无须考虑系统层面的问题;Java的开放特性使市面上涌现出了众多的Web框架可供采纳;面向对象的设计,为更加轻松地构筑安全稳定的Web在线系统提供了基础保障[7]。

JSP秉承了J2EE高贵的血统,却又带着平易近人的个性。JSP本质上是一个Java程序,具备Java语言一切无与伦比的优势。相比依赖于VBScript代码的ASP,以及依赖于Perl 语言的PHP等其他Web编程语言,JSP有着严格的Java语法支持,可以和Java Bean无缝整合。

ASP采用了解析执行的机制,而JSP则是先编译后执行。因此,在第一次访问时JSP 比ASP要慢,但是JSP的执行则比每次都解析执行的ASP快若干个数量级。微软随后推出了https://www.360docs.net/doc/2d6316501.html,,号称提供了丰富的面向对象类库,引入中间语言的概念来支持多种语言,完整地集成了XML及Web Service的支持,利用代码托管机制避免危害服务器,并期盼以此代替ASP。事实上https://www.360docs.net/doc/2d6316501.html,的框架设计与J2EE框架十分类似,虽然弥补了ASP之前的缺陷,但是,其对于Windows平台的依赖性以及.NET本身的封闭性却依然存在[8]。尽管现在有Mono计划将所有的开发转移到Linux,但是由于各种原因,Mono有着众多的制肘,并不被业界看好。当然,对于Windows环境下的中小型应用程序,https://www.360docs.net/doc/2d6316501.html,确实是不错的选择。

JSP是线程高度并行的,可以充分利用硬件资源。另外,Java语言与平台无关,开发者可以将JSP部署在几乎任何操作系统上,UNIX系统可以为JSP提供稳定可靠的安全运行环境;利用集群技术还可以把多台主机联合起来服务于JSP应用程序。因此,JSP对于高可靠性、高性能要求的企业级应用系统有较强的吸引力。

从开发者的角度考虑,JSP是开发Web应用程序的首选。JSP支持JavaBean组件,也就获得了众多Java厂商的有力支持,开发者可以利用JavaBean来完成所有Java能实现的功能,如数据库连接池、图形绘制、文件IO操作、XML解析、WebService调用与发布等[9]。

Java的开放性也使系统框架如雨后春笋般涌现, Tapstry,Velocity,Hibernate等开源框架为Web应用开发者简化了开发流程,提高了代码质量,从而降低了学习门槛和开发成

本。JSP遵循J2EE规范所采用的分层结构也使得代码容易组织维护,各个独立的层次分别针对特定的编程领域,在某个领域发生变化的时候,只需要在对应层次进行针对性的修改,而不会影响到其他层次的代码。

而相对于Servlet这种Java类,JSP又有着特定的优势。从前面的例子可以看出,要完成一个简单JSP页面具有的功能,需要编写大量的Servlet代码,而且,从代码上根本看不出来生成的HTML文档结构。另外,JSP中双引号等特殊字符,在Servlet中都需要进行转义处理,又进一步降低了程序的可读性。Servlet不能有效地利用原型页面。事实上,在JSP中,还可以使用标签等特性,进一步将JSP中的Java代码导致的不利因素削弱[10]。

总之,使用JSP可以降低开发门槛,提高程序可读性,开发出高性能的跨平台企业级软件。所以在线汽车销售网站采用了JSP技术。

2.1.2 MySQL简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 的SQL语言是用于访问数据库的最常用标准化语言[11]。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境[12]。

MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB 公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库[13]。

MySQL是数据库领域的中间派。它缺乏一个全功能数据库的大多数主要特征,但是又有比类似Xbase记录存储引擎更多的特征。它象企业级RDBMS那样需要一个积极的服务者守护程序,但是不能象他们那样消费资源。查询语言允许复杂的连接(join)查询,但是所有的参考完整必须由程序员强制保证[14]。

MySQL在Linux世界里找到一个位置-提供简洁和速度,同时仍然提供足够的功能使程序员高兴。数据库程序员将喜欢其查询功能和广泛的客户库,数据库管理员会觉得系统缺乏主要数据库功能,他们会发觉它对简单数据库(在不能保证购买大牌数据库

时)是有价值的。

2.2 可行性分析

可行性分析是在全面调查的基础上,针对系统的开发是否具备必要性和可能性,对系统的开发从运行、经济、技术的方面进行分析和研究,以避免投资失误,保证新系统开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。这部分将从以下四个方面进行研究:技术可行性、经济可行性、时间可行性、操作可行性。

2.2.1 技术可行性

因为计算机硬件的发展已经越来越快,现在PC机的性能已经可以胜任普通网站的web服务器。购买一台高性能PC机作为企业的网站对于这个企业来说并不是问题。网络化的办公管理,使企业管理更加规范,实现了通过网络对信息进行发布、传递、接收等一系列功能。系统中的各个办公管理模块,为个人办公提供了一个更为方便的管理平台,大大提高个人办公的工作效率,进而提高整个企业的办公效率。而且系统方便操作,技术可行[15]。

2.2.2 经济可行性

通过网站对企业内部信息进行全面的自动化的管理,大大提高了项目管理的效率。通过系统对项目设计、开发过程中的数据进行全面的管理和统计,避免人为处理各类数据时所产生的各种问题,提高了企业的经济效益,为企业经营决策提供了大量的、权威的数据,使企业的管理进行到科学化、系统化。

硬件方面主要是计算机,我们的实际情况可以满足开发任务,所需资料书籍可以到图书馆翻阅或者个人购买,因此整个系统的所需投资符合我们的支付状况,经济可行性良好。

2.2.3 时间可行性

本次网站开发为期三个月时间,在大学几年多学习了相关的网站开发技术,编写代码不会花费太多的时间,同时,自己也有相关的建站经验,能合理的安排开发流程,因此开发时间足够。

2.2.4 操作可行性

从操作可行性的角度说,该系统得操作方式很简单,对于用户(系统管理员、项目经理、开发人员、测试人员)来说都是简单方便的。

因此,通过上面的分析,可以看出,项目管理统计是完全可行的。

3 系统分析与设计

3.1 系统综合要求

1.应具有方便,强大的资料管理和良好的人机界面,使用户易于操作,便于浏览。

2.系统的健壮性,扩展性良好。

3.系统的安全性好,通过密码和权限的管理是用户的数据不受到侵害。

4.系统的动态信息交互功能强,系统根据不同的用户的权限开放不同的处理权限;不同的用户可以通过软件进行信息的沟通。

5.系统尽量给用户提供一个良好的操作环境。

层次模块结构是将系统划分为若干子系统,子系统下再划分为若干的模块。而模块

是指具备有输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。在结构化系统设计中,模块一般都是按功能划分的,通常称为功能模块。合理的功能模块的划分能够极大限度地减少重复劳动、提高开发工作的效率并增大系统的可维护性。本系统主要分系统管理员、项目经理、开发人员、测试人员四种用户权限。

3.2 开发人员功能模块

开发人员主要功能有查看开发任务、修改个人信息、修改密码功能。主要功能如下介绍:

(1)查看开发任务:开发人员登录后可以查看自己的任务分配情况,并在此提交任务完成情况。

(2)修改个人信息:开发人员在系统中可以修改自己的个人信息。

(3)修改登录密码:开发人员登录后可以修改自己的登录密码。

开发人员的功能图如图3.1所示:

图3.1 开发人员的功能图

3.3 测试人员功能模块

测试人员主要功能有查看开发任务、修改个人信息、修改密码功能。主要功能如下介绍:

(1)查看测试任务:测试人员登录后可以查看到自己的测试任务,并在系统中提交BUG信息,选择BUG完成状态及测试工作的完成状态。

(2)修改个人信息:测试人员在系统中可以修改自己的个人信息。

(3)修改登录密码:测试人员登录后可以修改自己的登录密码。

测试人员的功能模块图如图3.2所示:

图3.2 测试人员功能模块图

3.4 数据库设计

数据库设计主要是进行数据库逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。

数据库是数据库应用程序的重要组成部分。一个设计结构合理的数据库对于应用程序的开发效率和程序的性能都是非常重要的。数据库的设计过程大致如下:(1)根据会员需求,确定数据库中要保存的数据信息。对会员需求进行分析时数据库设计的第一个阶段。不断的调查与研究会员需求,了解企业运作流程等系统需求,使设计概念模型的基础。

(2)设计数据库的概念模型。概念模型是按会员的观点来对数据建模,使用与进行信息世界建模的工具。它对整个数据库的设计具有深刻的影响。

(3)逻辑结构设计。逻辑结构是把概念结构转化为与所采用的数据库管理系统所支持的数据模型相符合的过程。

(4)数据库的实施和维护。

创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。

1.标识需要的数据;

2.收集被标识的字段到表中;

3.标识主关键字字段;

4.绘制一个简单的数据图表;

5.规范数据;

6.标识指定字段的信息;

3.4.1 系统E-R图

为了描述数据库结构的概念模式,这里采用E-R图来描述数据库的实体关系。我们采用了自底向上的策略进行了概念结构的设计,即先定义各局部应用的概念模型,然后把它们集合起来,形成全局的概念结构。

系统中主要E-R图如下所示:

(1)csbugs测试bug实体图:

图3.3 测试bug实体图

(2)probjs项目报价实体图

图3.4 项目报价实体图3)projs 项目介绍实体图

图3.6 设计书确认实体图(5)sysuser用户实体图

图3.7 用户实体图(6)ywjt业务机能实体图

图3.8 业务机能实体图

3.4.2 数据库表设计

表的设计是这次设计的一个核心内容。根据前面对网站各个权限用户模块的功能分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:测试bug、项目报价、项目介绍、用户等功能。

设计原则如下:

(1)进行规范化设计,尽可能地减少数据冗余和重复。

(2)结构设计与操作设计相结合。

(3)数据结构具有相对的稳定性。

3.4.3 数据库逻辑模型

部门表(主键、是否删除标志、部门名称、部门联系方式、部门简介)

工作日志表(主键、工作内容、是否删除标志、添加时间、工作概述、管理的用户)考勤表(主键、备注、添加时间、是否删除标志、考勤类型、审核结果、审核状态、关联的用户ID)

任务表(主键、工作内容、是否删除标志、完成时间、工作概述、完成汇报、完成评估、完成情况、发布任务的用户、接收任务的用户)

通讯录表(主键、联系电话、真实姓名、地址、关联的用户ID)

文档表(主键、备注、添加时间、文档路径、文档标题、是否删除标志、关联的部门ID、关联的用户ID)

信息表(主键、信息内容、添加时间、是否删除标志、信息类型、标题、关联的部门、添加的用户)

用户表(主键、添加时间、简介、联系电话、密码、用户角色、入职时间、身份证、真实姓名、是否删除标志、用户名、性别、住址、关联的部门ID、是否是项目经理)邮件表(主键、邮件内容、添加时间、是否阅读、邮件标题、是否删除、发件人ID、收件人ID)

3.4.4 数据库表结构

基于以上设计原则,本系统中关于数据库表结构设计如下:

(1)csbugs 测试bug表主要存储主键、bug信息、机能名称、是否完成信息,如表3.1所示:

表3.1 测试bug表

(2)probjs 项目报价表主要存储主键、项目名、工作量、开发周期、技术难度、软硬件成本、最终成本、最终报价、客户回应、备注等信息,通过数据类型,长度,备注体现出来,具体如表3.2所示:

表3.2 项目报价表

相关文档
最新文档