资源描述
摘要摘 要随着信息需求的不断增长,IT 项目的规模越来越庞大,IT 项目的功能越来越复杂,信息化的风险也越来越高,金融机构对 IT 的依赖也越来越重传统的信息交流方式早已不能满足企业对传递和处理大量信息的需要,信息化的发展过程中已经越来越凸显项目管理在项目实施中的重要性。因此,一套融合国际先进理念、契合企业管理办法的项目管理系统便被提上了企业的信息化建设日程。本文描述了基于 B/S 架构的 IT 项目管理系统的设计与实现的过程,系统的开发采用了业内成熟稳定的 J2EE SSH 技术架构,设计并实现了企业内部项目的项目立项、人员配备、项目周报、会议纪要、问题管理、项目评审、需求变更、项目调整、项目结项等 IT 项目建设中的核心管理内容。该项目在开发过程中也严格依据项目管理的要求,从可行性分析到项目需求、设计、编码、测试,历经半年时间,在三名工程师的努力付出下,最终已在企业内部正式投入使用,系统的投产,大幅提升了企业管理层对项目协调的能力,大幅加强了项目经理日常管理的力度,大幅提升了企业项目管理水平的综合实力。该项目的投产,为项目实施的进度管理、质量保障、成本控制提供了有效的信息化的支撑平台。本次论文重点以项目成本管理为例,通过项目立项及项目周报模块的实现,详细介绍了挣值管理理论在实践中的指导作用。通过项目经理提交项目周报,部门经理对周报实施审批后,系统将自动实现对项目成本偏差及项目进度偏差等挣值管理的相关信息进行实时的采集,该信息为企业领导层掌握项目实施状况提供了成本管理的数据模型,为未来项目管理系统向商业智能分析发展提供了有效的数据支持。论文最后也讨论了本项目管理系统有待完善的环节和进一步研究的方向,为后续系统的升级改善提供了理论依据。关键词:关键词:IT 项目管理,信息化,J2EE,B/SABSTRACTABSTRACTWith the increasing demand for information domain, IT project scale size have become more and more bigger, and the project functions are more complicated to before there are many risks because many finance system rely on it heavily. Traditional information exchange method could not meet the enterprise demand to deliver and handle the large amount of information. The importance of Project management during project implementation phase is very prominent in the informatization progress. Hence a project management system which has integrated with international ideas and accorded with enterprise management have been put forward in enterprise informatization construction schedule. This paper describes the process of design and implementation of IT project management system based on B/S infrastructure. System development have adopted stable J2EE SSH technology frame in the field. Design and achieve the core management contents which related to enterprise internal project establishment, project manpower deployment, project weekly report, meeting minutes, issue management, project approval, demand change, project adjustment and project closing etc during the IT project construction phase. This project will strictly obey with the project management requirement during the design process, starting from feasibility analysis to project demand, design, coding, testing, with the three engineers great efforts through half year, this project have been formally put into use in enterprise finally. This system has greatly promoted the project coordination ability for enterprise executives, greatly strengthen the daily management power for project manager, greatly promoted the comprehensive capability for enterprise project management since the system put on line. The system on-line has provided effective informatization supporting platform for progress management, quality ensurance, cost control of project implementation. This paper have taken project cost management as an emphasized example, describing guideline function of earned value management theory during carry-out phase in details by project establishment and project weekly report model implementation. By the way of project manager to submit the project weekly report, ABSTRACTIIIdepartment manager approve the weekly report, the system will automatically collect the earned value information such as project cost gap and project progress gap from time to time, this information have provided cost management data model for enterprise executives to master the project implementation status, as well as to provide effective data support for future project management system to develop into commerce capacity analysis. This paper have discussed the improvement part and further research direction for project management system in the end, it has provide theory basis for system improvement in the following.Keywords: Project Management, Information Technology, J2EE, B/S目录目录ABSTRACT .II第一章第一章绪绪 论论.11.1项目背景.11.2选题依据.21.2.1 项目管理的发展历史.31.2.2 项目管理的发展趋势.31.2.3 IT 项目管理系统国内外行业分析.31.2.4 新型 IT 项目管理系统的重要性.41.3本课题解决的关键问题.41.4本文的主要内容与创新点.51.5本课题的理论意义和实际价值.51.6文章的结构安排.6第二章第二章基础理论及相关开发技术基础理论及相关开发技术.72.1PMBOK 项目管理体系介绍.72.2相关技术说明.82.2.1 Java 技术架构.82.2.2 MVC 设计模式.92.2.3 Hibernate 应用框架.102.2.4 Struts2 框架技术简介.122.2.5 Spring 框架技术简介.132.3开发平台.142.4本章小结.16第三章第三章系统分析系统分析.173.1系统整体规划.173.2主要功能模块分析.203.2.1 项目立项.20目录V3.2.2 项目周报.213.3本章小结.22第四章第四章 系统的概要设计系统的概要设计 .234.1整体方案.234.2系统架构相关技术及要求.244.2.1 内存缓存机制.244.2.2 JSP 统一页面.254.3运行环境.264.4基本设计概念和处理流程.274.4.1 项目立项管理.284.4.2 项目周报管理.304.4.3 项目成本管理(挣值管理).324.5系统数据结构设计.354.5.1 数据库设计.354.5.2 数据库设计表清单.384.5.3 核心数据库设计表结构.39本章小结.41第五章第五章 系统实现系统实现 .425.1系统登录.425.2总体功能.435.3基于企业开发平台的实现方法.435.3.1 配置模块相关参数.435.3.2 Hibernate 编码实现.445.3.3 Struts 编码实现.465.3.4 Spring 编码实现.515.4项目周报功能的实现(挣值成本管理).525.4.1 项目立项模块技术实现.525.4.2 项目周报模块技术实现.545.4.3 项目挣值管理实现方法.575.5本章小结.66目录第六章第六章 系统测试系统测试 .676.1测试方法论.676.2测试执行情况.696.2.1 功能测试.696.2.2 文档验收.716.3测试结果摘要.726.4评价.736.5本章小结.73第七章第七章 结论与进一步研究展望结论与进一步研究展望 .747.1结论.747.2展望.76致致 谢谢 .77参考文献参考文献 .78第一章 绪论1第一章第一章 绪绪 论论本章主要描述了 IT 项目管理系统的建设背景及主要实现的整体目标,并引出论文讨论的课题。1.1 项目背景随着信息化建设的高速发展,各行各业的电子化建设规模越来越大、信息化建设的管理越来越复杂,当今的 IT 项目系统(特别是公司主营的金融行业的 IT系统)已经不再是单兵作战就能以独立完成的任务,在团队的项目实施中,科学的项目管理理念在项目中的作用便日益剧增。经历过一次次的项目延期、成本超出、质量低下一系列项目的问题在项目实施中随着规模的扩大,越发明显的暴露在了项目管理者的面前,因此一套科学的 IT 项目管理系统的建设,便成为了目前公司项目管理保障的信息化建设的必备工具11。国内的项目管理相对国外起步较晚,其理论主要依据于由美国项目管理学会的 PMI 资格认证机构提出的 PMBOK2,3,42,3,4(项目管理的知识体系 Project Management Body of Knowledge) ,但因为目前国内客户需求部门的人员知识体系的不成熟、管理制度的不成熟,导致各公司的项目管理要求上也存在着很大的差异。特别是金融机构中,目前很难能有一套通用的项目管理软件去满足所有公司的管理要求,经多方面的前期调研及考察,目前国内的项目管理系统市场较为混乱,产品多而杂,二次开发任务大。目前在国内大中型金融机构中大多采取自行研发的方式来满足其对项目管理信息化建设的要求。因此,一套符合金融机构企业内部项目管理需求的 IT 项目管理系统的建设,便被提到了企业的工作议程。经过前期一系列的调研,在产品选型上考察情况如下:某大学硕士学位论文表 1-1 产品实施选型分析表产品选型优势劣势成本需求匹配度费用估算华腾 OA管理系统1.产品化程度较高。2.企业品牌大,产品售后服务有保障。1.功能无法完全满足企业需求:项目考核机制差异较大。2.OA 包含模块较多,很多与公司目前系统重叠。3.费用高,定制开发成本更高。高低产品+定制50 万产品采购维普项目管理系统1.价格便宜。2.支持企业定制开发。1.对外依赖性高,未来需求完善依赖性较高。2.企业规模较小,产品售后保障力度不高。中中产品+定制30 万项目外包1.管理系统更能满足企业实际需求。2.项目管理简单,仅需控制需求、进度及质量即可。1.项目实施成本高。2.质量后续维护成本高。高高20 人月40 万开源项目:Podio1.整合 MSN(公司在用),即使沟通。2.无成本,免费使用。1.与企业需求差异较大,管理不仅仅只是任务分配。2.缺乏有效的技术支持及定制开发。低低免费项目开发自主开发1.管理系统更能满足企业实际需求。2.项目管理简单,仅需控制需求、进度及质量即可。3.复用企业现有空闲开发人员,成本低。1.时间紧、任务重要,人员有限。低高1 人专职(2人复用)10 个月20 万以内经公司高层决议,项目采用自主研发方式,总投入 20 人月,由我担任专职项目经理,复用企业内部空闲人力资源,与 2012 年 6 月中旬正式立项,计划于2013 年 3 月底投产。1.2 选题依据第一章 绪论31.2.1 项目管理的发展历史项目管理是从第二次世界大战时开始起步的。二战期间各国都将项目管理应用在军事系统的开发上。其中最著名的是美国研制原子弹的曼哈顿计划。针对曼哈顿项目技术难、时间紧的问题,军方不得不提出一种全新的管理办法来进行进度管理、预算管理等55。从 1950 年到 1980 年项目管理主要用在军事上和建筑业中。学术界一般将1980 年以前的项目管理称之为传统项目管理。1980 年以后国际上一些著名的大公司都纷纷开始发展各自的项目管理方法,如 IBM 等。1990 年后新的项目管理方法和工具不断地研究出来,项目管理已经成为企业发展重要的竞争手段。国内的项目管理起步较晚,但随着项目越来越大,项目管理的重要性也越发凸显,在世界大的竞争环境下,国内的项目管理将在我们的经济发展中发挥这个重要的作用,中国经济发展需要项目管理6,76,7。1.2.2 项目管理的发展趋势随着国内外对项目管理的不断研究,项目管理的发展逐渐的融入到了各个行业。项目管理已经打破了传统的方式,项目管理的理念已经融入到了企业所有的领域,包括销售、设计、质量、战略、人力等。首先,周围的市场竞争变化越来越激烈,技术发展越来越快,而项目管理将成为企业面对这种市场挑战的有效手段。其次,科技在不断创新,变化是永恒的。在这些新型的市场环境中,不断创新、快速实施、有效成本控制被提到了企业的建设需要,项目管理正式这一需求最有效的方式。项目管理从出现到现在的发展状况。有着其发展的必然性,这是现代化建设的需要、这是社会发展的需要。项目管理从专业领域到广泛领域的融入已经是社会进步的必然趋势 88。1.2.3 IT 项目管理系统国内外行业分析在国外,传统的项目管理方法已经相对成熟。国外研究者在其研究工程中倾注了很多精力,主要取得了以下几方面的成果:第一,对传统方法的改进。研究某大学硕士学位论文传统方法,取得了大量的研究成果。这些研究成果分为两类:对原有模型的改造和在算法上下功夫;第二,新进展。分为实证研究、规范研究、项目管理知识体系。目前国外的项目管理产品要么是重量级产品,如 SAP,动辄百万甚至上千万,要么是轻量级的产品,如 Citrix PODIO,虽然免费,单过于工作流推动,高规范性的过程管理下,反而忽略了对项目本身的信息化管理的需求。因此国外产品在理念上无法结合目前国内企业快速成长中对项目管理的基本要求。目前国内项目管理市场项目管理系统繁杂,系统质量良莠不齐,系统大多采用闭门造车方式,项目管理产品的成熟度不高、扩展性不强,且需要太多的二次开发定制方式才能满足高端金融企业项目管理的需要。目前国内项目管理行业中较为知名的华腾、维普的产品也无法完全灵活满足企业的需求,企业的人员技术能力、稳定性等均存在着较大的不稳定性,项目实施风险大。目前国内金融机构中,项目管理系统均为外包定制开发或自主开发方式,鲜有采购标准软件方式。1.2.4 新型 IT 项目管理系统的重要性经过对金融机构 IT 项目管理系统需求的采集与分析,建立一套符合国际项目管理理念的项目管理信息化系统、建立一套契合企业实际需求的项目管理信息平台,就显得尤为重要。1.3 本课题解决的关键问题本课题将基于 BMBOK 先进理念、结合我司管理办法的 IT 项目管理信息的建设,在项目组、业务部门、企业高层领导间搭起信息的桥梁,建立为全公司人员提供项目资源共享的环境与平台,使之成为我公司项目建设的重要组成部分。本课题的研究目标建立符合自身企业管理的 IT 项目管理系统,开发以项目管理、进度追踪为核心的 IT 项目管理信息系统,为金融机构项目管理的信息建设提供条件,从而实现企业项目管理信息化,实现项目管理过程的跟踪,并呢过有效降低项目管理的风险,为企业高层领导决策提供了有效的数据支撑。IT 项目管理系统课题的主要实现目标: 完成项目立项、人员分配。 实现项目定期汇报与成本管理。第一章 绪论51.4 本文的主要内容与创新点本文在深入分析了国内外 IT 项目管理的现状后,基于 Java SSH(Struts, Hibernate,Spring)技术架构对我公司 IT 项目管理应用系统进行架构和开发,SSH 架构能够充分发挥 Java 语言所独有的易用性和跨平台性,从而可以快速的构建了一个高效、安全的 IT 项目信息管理应用系统,以实现企业内部对项目管理的信息化管理需求。本次论文对项目管理系统的设计与实现的创新点包括:1.研究 PMBOK 将理论结合实际,优化公司现有的管理流程。2.提出一个完整的便于扩展的项目管理数据模型。3.优化 Java SSH 框架,实现内存缓存、统一页面等多项技术细节。论文重点论述了 IT 项目信息管理系统的设计与实现,通过项目立项、项目周报管理等主要模块的分析与设计,给出了项目管理系统的运行结果和对项目成本管理的过程。最后,对本文及后续的任务作出了有效的总结与美好的展望。1.5 本课题的理论意义和实际价值本课题研究的主要目标是建立一套符合金融机构企业内部项目管理信息化要求的 IT 项目管理系统,即开发一套以项目管理、成本及进度追踪为主要核心目标的 IT 项目管理信息系统,通过该系统能够为金融机构项目管理的信息建设提供必要的基础,从而实现企业项目管理信息化,实现对项目管理进度、成本、的实时追踪,并能有效降低项目管理的风险,为企业高层领导决策提供了有效的数据支撑。以 IT 项目管理系统作为研究课题,更多的是希望理论与实践的结合,能够在项目管理的建设中,深化对 PMBOK 的知识体系的理解,只有更好的将理论与实践相结合,才能最大化的为企业降低风险、节省成本、创造价值。通过为 IT 项目管理系统的研究,充分表明了科学的项目管理理论在项目实践中,是保障项目成功的重要及有效的手段。在实际实施中,我们通过为理论研究的落地,为金融机构的项目管理打造一套符合自身管理要求的项目管理系统,项目建成后将实现以下收益:1.有效提升项目过程管理:加强项目经理对项目的管理力度。某大学硕士学位论文2.降低项目实施风险,提升项目实施质量,控制项目实施进度及成本。1.6 文章的结构安排本次论文的目录设置为:1. 第一章节是绪论部分,绪论章节将简明扼要的说明了本次研究课题的背景,并分析了目前金融机构项目管理理念的落实情况,指出了当前企业项目管理中的主要不足。2. 第二章节是关键技术部分,关键技术章节中展现了本次课题研究中所涉及基于 Java SSH(Struts, Hibernate,Spring)架构的 MVC 的开发框架,并介绍了本次课题实现中应用的企业内部的开发平台的特点,并给出相关技术对于本次课题的作用。3. 第三章节是系统分析部分,系统分析章节中针对金融机构项目管理需求,提出了需求功能描述,以及相关角色对功能点的访问要求。4. 第四章节是系统设计部分,系统设计章节主要描述了系统设计的主要模块的分析和设计,其中包括项目立项、项目周报两个主要模块的流程图、类图及项目数据字典的设计。5. 第五章节是系统实现部分,系统实现章节给出了本课题所用到的基于平台的开发实现的具体方式,并针对项目立项、项目周报两个具体模块,给出了具体实现的代码和界面,并针对两个功能分析了项目成本挣值管理的具体落地方法。6. 第六章节是系统测试部分,系统测试章节主要阐述了企业内部测试方法论、测试分类、测试流程,并针对本课题的项目,实施了相关的功能测试,并针对测试结果作出总结,最终课题开发的系统达到投产要求。7. 第七章节是结论及进一步展望,结论及进一步展望章节主要针对本次课题实现后,提出了对项目实施后的总结和感想,并对项目的未来予以美好的展望。第二章 基础理论及相关开发技术7第二章第二章 基础理论及相关开发技术基础理论及相关开发技术本章主要讨论及分析了 IT 项目管理系统建设中涉及到的相关理论支持、技术架构以及使用到的开发平台,成熟的技术架构是项目成功的有力保障。2.1PMBOK 项目管理体系介绍PMBOK,即项目管理的知识体系(Project Management Body of Knowledge)是由美国的项目管理学会(PMI - Project Management Institute)提出的一套完整的项目管理理论,该组织旗下的项目管理资格认证(PMP - Project Management Professional)也是目前在国际、国内均得到极大认可的、业内最为著名的项目管理认证,PMBOKB 之所以能得到了业内快速的普及,其一是项目管理在各行各业自身重要性越来越高,其次也是由于 PMBOK 本身完整性、科学性、有效性所决定。PMI 早在 70 年代就提出了 PMBOK 的基础理论,该理论核心的项目管理九大体系如下 99。图 2-1 项目管理体系一览图某大学硕士学位论文PMBOK 的 9 个知识领域的具体内容10,1110,11:1. 项目综合管理项目:包括七个基本的子过程,分别是制订项目的章程、制定项目初步的工作范围说明书、制定项目的项目管理计划、指导并监督项目执行过程、监控项目的日常工作、实施项目整体的需求变更控制、结项管理阶段。2. 项目范围管理 PMBOK 将其分成 5 个阶段:分别是项目启动、范围计划、范围界定、范围核实和范围变更控制。3. 项目时间管理 PMBOK 提出,项目时间管理由下述六项任务组成:分别是时间活动定义、时间活动排序、时间活动资源估算、各活动的时间估计、项目进度的编制、项目进度的控制。4. 项目成本管理包括以下三个过程:项目成本估计、项目成本预算和项目成本控制。5. 项目质量管理主要包括以下三个过程:项目质量规划、项目质量控制和项目质量保证。6. 项目人力资源管理包括以下四个过程:人力资源规划、项目团队组建、项目团队建设和项目团队管理。7. 项目风险管理 PMBOK 将其归纳为六个主要过程:项目风险管理计划、项目风险识别、项目定性风险估计、项目定量风险估计、项目风险应对计划和项目风险控制。8. 项目沟通管理包括如下一些基本的过程:项目编制沟通计划、项目信息传递、项目绩效报告和项目利害关系管理。9. 项目采购管理主要包括:编制项目采购计划、编制项目询价计划、项目询价、选择供应商、项目合同管理和项目合同收尾。2.2相关技术说明2.2.1 Java 技术架构Java12,1312,13是由 Sun 公司于 1995 年推出的一个面向对象的开发语言。Java 技术已经发展了近二十年,目前 Java 社区的第三方的技术支持已经非常丰富,各类开源的技术架构、开发组件,能够大大提升应用软件开发的效率和系统运行的第二章 基础理论及相关开发技术9稳定性,Java 目前已被业内广泛接受,并成为目前跨平台 B/S 解决方案最佳的技术架构14,1514,15。Java 技术的主要优势:1. 跨平台部署:应用部署不受操作系统限制,能够运行在更为安全、稳定的 Unix 系统,同时系统开发的可移植性也得到了很好的提升。2. 简单快捷:Java 简化了对指针的复杂管理,自动接管了对内存的底层控制,大大降低了开发人员的技术要求,同时也大幅提升了开发项目的质量和稳定性。3. 企业化:目前 SSH 架构的普及、Eclipse 工具的免费开放,大大提升了Java 企业化的开发方法。4. 开源支持:由于 Java 的开源,众多的第三方公司和非盈利组织为 Java 提供了各类的开发组件,第三方的组件已大大丰富的开发人员的底层技术支持。2.2.2 MVC 设计模式MVC1616(Model-View-Controller 模型-视图-控制器) 。即把一个开发应用的输入、处理、输出流程,按 Model、View、Controller 方式进行分层,这样一个开发应用将被分成三部分模型层、视图层和控制层1717。图 2-2 MVC 模型设计中考虑到有效的分割模型、视图和控制器,如果用户未来希望改变模型、视图、控制器的一个部分,在接口不变的前提下,其他模块将不受影响。即当模某大学硕士学位论文型发生变化时,控制器可不做改变,这种设计方式将针对各个角色实现不同侧面的开发,美工可以更关注在视图层的设计和开发,软件工程师门则可以更多去关注业务已实现数据模型的设计和开发。一般 MVC 的设计。模型、控制器和视图是分离的,这样模型也可以与多个显示视图实现连接。因此,当模型发生变化时,控制器适当调整,其对应的多个视图将同时体现对应在模型上的调整,即可如图所示的关系:图 2-3 MVC 模式结构(实线:方法调用,虚线:事件)MVC 模式不仅体现了功能模型和显示视图的分离,同时它也在很大程度上提升了应用系统的可扩展性和开发组件的可复用性,同时在可维护性也有了很好的表现,在 B/S 的应用系统开发中具有很强的优势。目前 J2EE 的主流 MVC 架构以JSP 作为显示的视图,用 Servlet 实现控制器的功能,用 JavaBean 实现模型的作用。MVC 的设计模式是一种非常棒的软件架构,它所推崇的是一种开发的原则和模式,MVC 将会使开发的系统更为健壮,在应用程序代码的复用和结构的设计方面都上了一个新的台阶18-2018-20。2.2.3 Hibernate 应用框架在早期的 J2EE 框架中,面向对象的软件和关系型数据库是整合在一起使用的,这样开发人员在使用中将不得不去在处理面向对象编码时,还要去关注数据库的 SQL 语言,无形中给开发人员带来了一定的不便,且在编码中容易出现问题。Hibernate21,2221,22的诞生,为开发人员提供了一套完整的面向对象的 Java 对象与关第二章 基础理论及相关开发技术11系型数据库表结构的有效的映射的手段2323。即用 Java 对象模型可以直接映射到基于 SQL 的关系型数据库表结构中去。Hibernate 不仅实现了 Java 类到数据库表的映射关系,同时还提供了对数据查询 SQL 和数据结果集访问的方法,从而大大降低了开发人员手工编写 SQL 和创建 JDBC 的复杂度和风险,从而大大提升了代码开发的质量和效率。Hibernate 对 JDBC 进行了非常有效但有时非常轻量级的对象封装,使得 Java开发人员完全可以随心的使用面向对象编程的思维方式来操纵目标数据库中的表。该技术已经可以应用在任何 JDBC 的场景中,该技术目前既支持 Java 的客户端的编程,也支持在 Servlet 或 JSP 的 B/S 应用开发中使用。同样该技术也完全可以在支持 EJB 的 J2EE 架构中完美的使用,以实现对数据模型持久化访问。Hibernate也成为当下 Java 开发项目组中最主流的数据库持久层的框架。Hibernate 包括六个主要的接口,分别是:Session、SessionFactory、Transaction、Query、Criteria 和Configuration。通过这些接口,不但能够对持久化的对象实现访问处理等操作,还能够对事务实现有效的管理。下面我们将针对这六个接口做出简要的介绍。图 2-4 Hibernate 的主要接口1. Session 接口:Session 接口主要用来运行被持久化的对象。但 Session 对象是非线程安全的。 2. SessionFactory 接口:SessionFactory 接口主要用来实现对 Hibernate 的初始化,SessionFactory 主要用工厂模式来创建一个新的 Session 对象。大多数情况下一个项目只需要创建一个 SessionFactory,但如果业务需要处某大学硕士学位论文理多个数据库时,可以为各数据库均创建各自的 SessionFactory。3. Configuration 类:Configuration 类负责配置和引导 Hibernate,创建SessionFactory 对象。Hibernate 的启动时,该类将首先指定到特定的文档位置,并过去相关的 Hibernate 配置,然后生成对应的 SessionFactory 对象。4. Transaction 接口:Transaction 接口管理数据库事务的操作。同时Hibernate 也提供可以由开发人员自行设计并编写对事务处理的程序。5. Query、Criteria 接口:这两个接口主要用于执行各种数据库的查询操作。它可以用于执行 HQL 语句或原始数据库中的 SQL 语言,用于对特定情况下面向对象访问的不足。2.2.4 Struts2 框架技术简介Struts22424是基于 MVC 的 B/S 的编程的非常主流的设计框架。Struts2 框架的主要特点:1. 基于 AOP 思路将相关内容集中到单独的软件层,即拦截器。2. 任何 Class 都可作为 Action,不再必须受限于 Struts 的框架。3. 提供了更加便捷、独立的 Spring 的集成服务。4. 缺省了很多默认配置,非常有效的降低 Struts 开发环境配置。5. 内置了 Web2.0 AJAX 技术,内置了 java 认证服务。6. Action 不再是单例,这样可以把人们从复杂的多线程编程中解脱出来。Struts2 核心构建元素如图所示:图 2-5 Struts2 核心架构图第二章 基础理论及相关开发技术13Struts2 的模型包括了 Action 和 Interceptor。Action 模块指的是一个简单的 POJO 对象,它已经不必须寄托于 Struts2 的框架,因此它的独立性、复用性都得到了很大程度的提升,能够根据需要的在该类中与业务代码及数据访问代码之间实现交互。Action 是 Struts2 项目的核心模块。Interceptor 模块指的是一个遵守 Struts2 规范的对象,控制层能够在Action 方法执行之前或执行后,跳出业务代码来执行拦截器中的程序。在开发中,可以实现对日志的记录,实现对系统安全性的控制,或是将调试的代码放到拦截器中实现,然后通过配置把拦截器和业务程序关联到一起。通过 Interceptor 的使用,从而使拦截器和业务代码各为一层,便于特特定处理的模块化、标准化的处理,这就是 AOP 思想25-2725-27。2.2.5 Spring 框架技术简介Spring 2828是一套非常强大的应用开发框架,Spring 能够解决之前我们在J2EE 开发中会经常发生的一些错误,Sping 为基于 J2EE 的应用开发提供了完整的解决方案。Spring 是一个组件化的架构,开发者的编码并不一定要受限于在该架构中,Spring 允许人们任意的选择需要的模块,获知任意忽略不需要的模块,Spring 还能够整合其它第三方技术。例如,在展现视图层采用的 Struts,目前主流的 J2EE 框架也是将 Struts 整合到 Spring 中,从而构建完整的 MVC 的架构2929。Spring 的架构如图所示:图 2-6 Spring 总体结构图某大学硕士学位论文Spring 框架的每个模块都是可以单独存在的,各模块的主要功能包括:1. 核心容器:提供了 Spring 架构的基本功能。2. Spring 上下文:是一个配置文件,它向框架提供了上下文的信息。包括 JNDI、EJB 等功能。3. Spring AOP:该模块可以将面向对象的编程集成到 Spring 框架中。开发人员可以很容易的让 Spring 框架中的任何对象都能完整的支持 AOP。4. IOC 是 Spring 技术中的反转控制,其目的在于尚未创建对象的前提下,仅通过对对象的描述就能快速的创建它们。在配置文件中需要指出各组件需要的服务,再由容器负责将这些对象联系在一起。5. Spring Web 模块:Spring 支持与 Struts 的整合。Spring Web模块简化了请求与其参数绑定到控件的工作。6. Spring MVC 框架:通过 Spring 的策略接口,MVC 框架部分工作将通过配置实现,MVC 架构中包含了 JSP、PIO 等众多的视图技术。Spring 架构支持所有的 J2EE 服务器,Spring 的大部分功能也能满足不同的业务功能的设计要求。Spring 的核心理念是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。因此,Spring 可以在任何的 J2EE 环境、特定的 Java应用程序中复用30,3130,31。2.3开发平台本次开发中使用了公司多年沉淀的基于 J2EE SSH 架构的开发平台,该平台提供了基于底层技术的封装,使平台的实施中让开发人员能有更多的精力去关注业务的需求。第二章 基础理论及相关开发技术15图 2-7 企业开发平台内置组件1.技术先进平台使用了目前主流 的、先进的 Java SSH 架构,同时也集成了Ajax 动态引擎、BIRT 报表引擎、Lucence 全文检索引擎、VLT 模板语言、工作流引擎、非结构化内容存储引擎等多种开源社区的先进技术。2.快速开发,代码规范平台的研发一直致力于提高开发人员效率,以便能以最快的速度响应客户的需求,节省客户成本,为此平台通过配置即可实现菜单的生成,按钮的权限等功能。3.质量保障平台中提供了大量的封装组件(Excel 组件、PDF 组件、Ajax 组件、报表图标组件) ,同时平台也提供的多种构件(字符串构件、日期构件、XML 构件、加密解密构件) ,这些组件、构建将大大简化业务交某大学硕士学位论文易代码的实现复杂度,从而有效保障的业务实现的代码质量。4.复用代码平台内部提供了部分标准系统管理的相关模块,如角色管理、用户管理、机构管理、参数配置、审计日志等,基于平台各模块,针对不同的应用场景下,仅需要针对特定的需求实现代码的调整即可快速满足不同应用的开发需要。5.安全性高平台提供了身份认证、授权管理、日志管理、防 SQL 注入,防止 XSS攻击等等安全管理措施。6.平台提供众多的代码 Demo平台针对各种开发场景的需要,内置了众多的演示 Demo 代码,为实际开发提供了项目的代码层的参照,其中包括:文件管理模板、邮件群发模板、广告管理模板、全文检索模板、Excel 操作模板、PDF 操作模板、会计科目体系模板等2.4本章小结本章着重介绍介绍了本系统所采用的 Java SSH 的关键技术,包括MVC、Hibernate、Struts2、Spring 等技术,同时也介绍了企业内部的开发平台,并给出了这些关键技术对于项目管理系统开发中的重要指导作用。第三章 系统分析17第三章第三章 系统分析系统分析本章主要讨论及分析了 IT 项目管理系统的业务需求,主要针对本论文涉及的模块,提出功能实现的目标。3.1系统整体规划项目管理知识体系包括九大模块:整体管理、范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、风险管理及采购管理。基于项目管理九大知识体现,项目管理系统在建设时,将理论结合实践,定义了如下功能模块图 3-1 项目管理系统功能说明图本课题的研究目标是建立一套符合企业自身管理要求的 IT 项目管理系统,开发以项目管理、进度追踪、成本管理为核心的 IT 项目管理信息系统,为金融机构的项目实施管理提供了信息化的保障,从而实现项目管理信息化、项目管理资源网络化,同时也大幅提升了项目管理的成熟度,并能有效降低项目管理的风险和成本,为公司高层领导决策提供有效的数据支撑。IT 项目管理系统课题的主要实现目标:1. 完成项目立项、人员分配的管理。2. 完成项目需求、问题追中的管理。3. 实现项目定期汇报与评审的管理。某大学硕士学位论文4. 现项目的汇总与项目成本的分析。本项目在设计时充分研究了国际项目管理 PMBOK 知识体系,并针对企业实际的项目管理办法,整理出以下项目管理系统需要实现的模块:表 3-1 项目管理系统需要实现的模块 体系 模块整体管理范围管理时间管理成本管理质量管理人员管理沟通管理风险管理合同管理项目立项人员配备项目调整人员离项项目周报会议纪要需求变更需求变更跟踪项目评审项目评审整改问题管理问题管理跟踪项目归档项目出产物项目活动项目大事记项目巡检项目故障单项目补丁包项目结项项目管理系统的设计遵循 PMBOK 2008 的相关理论,按照项目启动、计划、实施、检查、结项五个过程,集成项目管理九大管理体系的核心模块,再结合公司项目管理要求,设计出一套符合企业管理需要的“IT 项目管理系统” 。IT 项目管理系统提供的功能及其描述如下:1.项目立项项目立项:由部门经理进行项目的录入操作,项目立项时需要明确项目:由部门经理进行项目的录入操作,项目立项时需要明确项目经理、项目评审计划、项目预算等相关项目的整体信息。经理、项目评审计划、项目预算等相关项目的整体信息。2.人员配备:部门经理对项目组成员进行配备,为项目组指定相关的参与人员,并指定每个项目人员对应的人天成本及计划在项目的期间。3.项目调整:项目经理在实施中,发现项目计划存在偏差,可进行项目进度、项目费用进行调整申请,再由部门经理审批确认。第三章 系统分析194.人员离项:项目组成员退出项目后,项目经理需对离项人员进行有效的评价,但需要控制该评价不会被被评人看到。5.项目周报项目周报:每周例行提交项目周报,项目周报包括项目本周完成情况、:每周例行提交项目周报,项目周报包括项目本周完成情况、下周工作计划、本周成本投入、实际完成情况等信息。下周工作计划、本周成本投入、实际完成情况等信息。6.会议纪要:用于记录项目中的各类会议纪要,用于记录会议的主要内容及相关问题。 。7.需求变更:针对项目的需求变更需要严格管理,项目需求变更由项目经理在系统中申请,由部门经理对需求变更实施审批控制,只有通过了部门经理审核通过后的需求变更,才允许在项目中实施调整。8.需求变更跟踪:针对项目的需求变更,必须实现有效的跟踪和管理,需要关注计划需求变更产生的工作量与实际应对需求变更工作量的差异。9.项目评审:针对项目各阶段,部门经理按计划对项目各里程碑阶段实施项目的阶段性评审,其中包括项目需求评审、设计评审、测试评审环节的管理,针对评审需要,部门经理也可安排企业业务专家和技术参加参与对项目的评审工作。10. 项目评审整改:项目评审后,针对项目评审的问题及整改情况实施跟踪,项目经理需要针对评审意见给出对应的解决方案,并将调整后的结果反馈到评审整改中。11. 问题管理:针对项目中遇到的问题进行有效的管理,对项目中存在的风险实现有效的管理。12. 问题管理跟踪:针对项目问题及项目风险的给出应对的应对措施,解决方案及应急预案。13. 项目归档:公司定期对各项目的项目代码、文档实施归档备份操作,当项目归档后,由项目助理在项目归档中登记相应的归档记录。14. 项目出产物:记录、维护项目的主要出产物的进展情况,用户监控项目主要出产物的完成情况,包括但不限于需求规格说明书 、 详细设计说明书 、 用户操作手册等。15. 项目活动:记录项目组安排的组织活动,包括活动预算申请、部门经理审批、活动总结等功能。16. 项目大事记:当项目人员发生调整、项目里程碑评审等业务单证生效后,系统将自动实现对项目大事记管理,同时也支持手工登记大事记信息。17. 项目巡检:针对项目投产后的维护项目,需要安排定期的巡检,巡检模某大学硕士学位论文块主要用于提醒项目巡检任务和记录项目巡检结果。18. 项目结项:针对项目结项实现管理,项目结项时,项目经理必须对项目各成员进行有效的评价,并对项目成本实现最终的核算。其中由我独立设计并实现的是其中项目立项、人员配备、人员离项、项目周报四个功能模块,限于篇幅,本文将基于项目成本管理,重点讨论挣值管理在项目管理系统中的实现,主要涉及项目立和项目周报两个模块。3.2主要功能模块分析IT 项目管理系统的开发是以项目管理、进度追踪为核心的 IT 项目管理信息系统,是金融机构项目管理的信息系统的基础,实现了项目管理的信息化,实现项目管理的共享,同时也提高了企业项目管理的成熟度、并有效降低项目管理的风险,为公司高层领导决策提供有效的数据支撑平台。IT 项目管理系统的功能主要包括项目立项管理、项目人员配备、项目周报管理、项目会议纪要、需求变更管理、项目评审管理、项目问题管理、项目出产物管理、项目归档管理、项目巡检管理、项目补丁包管理、项目结项管理等模块。限于篇幅,本次论文选题的核心内容是关注项目的成本管理:通过项目立项项目周报模块的实现,详细介绍了挣值管理理论在实践中的指导作用。3.2.1 项目立项图 3-2 项目立项用例图1. 项目立项需要为用户提供了对新的项目信息的登记功能。立项信息可以完整的显示项目所有计划信息,包括项目开发过程中对时间、里程碑的计划,项目成本的规划,项目登记同时也体现了项目章程的定义。第三章 系统分析212. 项目立项由部门经理在系统中登记,登记时需要指定对应的项目经理,项目立项后,对应的项目经理能够对项目进行查询。3. 在项目基本情况登记完成后,系统自动将选择的项目经理添加到项目人员配备表中,该模块主要是针对各项目进行人员增加以及对人员在项时间计划进行的登记。人员配备完成后项目将依据员工在项目时选定的岗位,自动生成项目成员的人天成本,人员配备是还需要指定员工在项目中的角色,所配备的人员将在各自角色下访问并维护项目的相关信息。3.2.2 项目周报图 3-3 项目周报用例图1. 项目周报模块主要是用于在开发阶段项目经理向部门经理之间汇报本周的项目工作以及下周的工作计划,基于周报实现对成本管理的核算。2. 项目周报由各项目的项目经理每周登记,周报提交后,需要由部门经理审批,周报审批通过后,针对本周的成本投入将自动更新到项目整体情况中,供部门经理及公司领导层分析控制。3. 周报都包含三部分:第一部分是项目的基本信息、周报信息。基本信息包括项目的基本信息,项目名称、项目阶段。周报信息包括周报的名称,自动生成起始结束日期,本周的工作以及下周的工作计划等。第二部分包含项目的人员配备信息包括人员本周的出勤率、工作时长、加班工时、出差工时、本周任务和下周工作计划,项目周报的工时将自动计入当前项目的成本中,便于对项目执行状况实施有效监控。第三部分是项目出产物的进度信息、状态等信息的汇总,以便及时统计出产物的最新信息。某大学硕士学位论文3.3本章小结本章着重介绍了业务架构的设计,针对金融机构具体的需求,提出用户功能模块的基本要求,本次论文分析的业务模块主要是针对项目立项及项目周报管理,本章对项目立项和项目周报的需求进行了初步的分析。第四章 系统的概要设计23第四章第四章 系统的概要设计系统的概要设计本章主要讨论及分析了 IT 项目管理系统的整体设计思路、关键技术实现方法,以及论文讨论模块的相关类图及数据库设计,良好的设计是项目成功实施的基础。4.1整体方案图 4-1 系统整体架构平台应用服务层支持各种渠道接入,在服务层,可调用系统提供的数据库操作组件、文档操作组件、电子邮件操作组件等等,完成各种复杂业务。该平台采用了目前主流的 B/S 架构,用户通过浏览器来实现对项目信息的管理,系统的业务逻辑主要在服务器端实现。本次开发基于公司多年沉淀的开发平台,目前平台基于 Java SSH 架构构建,并在标准的框架下融入了众多函数库、多协议支持、导出 Excel、邮件支持、全文检索等快速开发包,基于平台开发,将大幅提成项目建设的效率及质量。某大学硕士学位论文4.2系统架构相关技术及要求4.2.1 内存缓存机制为了降低项目管理系统相关配置信息对数据库的反复查询操作,系统设计时将相关的配置信息、参数信息一次性加载到内存中,对数据的获取直接通过共享内存取得。1. 实现方案应用服务器启动时,自动将平台系统参数、平台业务各类配置数据一次性加载到共享内存中。业务进程需要访问相关配置时,不需要从数据库获取,直接从共享内存对象中获取即可。2. 加载对象A. 菜单树B. 角色及其对应的功能C. 机构及其组织结构D. 参数配置图 4-2 内存加载对象3. 技术优势内存加载机制,大大简化了应用程序的开发复杂度,应用的开发中也能有效的避免过多对数据库的查询操作。避免了对数据库的重复访问,可以大大打提升应用程序执行的效率。第四章 系统的概要设计254.2.2 JSP 统一页面为了降低 JSP 端重复性的开发任务,通过 JavaScript 实现页面查询状态与修改状态的不刷新的切换,从而实现对信息展业页面、追加页面、修改页面、查询页面、审核页面的统一,通过各功能对控件属性的设置,达到了一个 JSP 支持多种状态的形式。1. 实现效果图 4-3 JSP 无刷新切换修改状态2. 实现方案通过遍历页面上的全部对象,针对查询、修改状态的需要,对各对象的相关属性逐一调整。A. 文本框、密码框、文本域:查询状态:去控件边框,修改控件底色、控件只读属性。修改状态:追加控件边框,控件底色、去控件只读属性。B. 下拉列表:查询状态:在 TD 中显示列表的内容,将下拉列表隐藏。修改状态:去掉 TD 中的显示内容,将下拉列表显示。C. Radio、Checkbox查询状态:将控件 disabled 属性设置为 true。修改状态:将控件 disabled 属性设置为 false。3. 技术优势某大学硕士学位论文无需为增加、修改、删除、查询页面分别编写页面,一套 JSP 即可支持多种操作的需要,大大简化了代码的编写工作。统一的 JSP 能够快速对应后续需求变更的响应。页面不刷新的切换方式,也有效提升了用户操作的友好性,页面操作效率也得到了一定程度的提升。4.3运行环境1. 网络拓扑图图 4-4 网络拓扑图A. 两台应用服务器通过硬件实现负载均衡,当一
展开阅读全文