已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
届 别 学 号 毕业设计(论文) CMM 约束下软件项目管理系统 姓 名 系 别、 专 业 导 师 姓 名、职 称 讲 师 完 成 时 间 年4月26 摘 要 CMM 约束下的软件项目管理系统是为了方便软件开发公司人员内部,项目进程管理、 人员管理而建立起来的网上建信工具,主要包话:项目管理、项目组成员管理、状态 管理、进程管理、日志管理、CMM 等级约束等几个功能。在项目管理、状态管理、进程 管理、日志管理等功能中实现 CMM 等级的跟踪。从而促进公司项目开发部的 CMM 能力 成熟度的提高。为此建立的数据库必须满足一致性、完整性和数据安全性等几个要求。 因此明确区分总工程师、项目经理、项目经理助理、商务专员、分析员、程序员的权 限。以达到运行稳定、功能齐全、易使用的目的。通过因特网,所以无论在任何地方 都可以方便访问方便生活和工作。 本系统是一个基于 WEB 方式的网上项目管理系统。使用 SQL Server2000 作为数据 库服务器。使 Jbuilder2006 编写代码。Photoshop7.0 和 Dreamweaver MX 2004 编辑页 面。创建 Struts 框架下的 JSP 网站。 关键字:CMM;Struts 框架;JSP I ABSTRACT CMM bound by the software project management system is intended to facilitate software development company personnel, project management process. personnel management and established online letter building tool. Mainly including : project management, members of the project team management, state management, process management, log management, CMM level constraints, and several other functions. In project management, state management, process management, log management, and other functions to achieve CMM level tracking. Company projects so as to promote the development of the CMM Capability Maturity improved. That the database must meet the consistency, completeness and data security, and several other demands. Thus a clear distinction between the chief engineer and project manager, assistant project manager and Trade Commission, analysts, programmers competence. To achieve stable operation, complete functions, easy-to-use purposes. Through the Internet, so no matter where the visit can facilitate the convenient life and work. The system is a Web-based forms of online project management system. Using SQL Server 2000 as the database server. Jbuilder2006 prepared to make code. Photoshop 7.0 and Dreamweaver MX 2004 editorial pages. Struts framework of the creation of JSP web site. Key words: CMM;Struts framework;JSP II 目 录 摘要I ABSTRACT.II 1 引言 1 1.1 国内外的研究动态 1 1.2 课题的目的和意义 1 1.3 方案论证 2 2 系统相关知识3 2.1 CMM 简介 3 2.2 B/S 结构 3 2.3.J2EE 平台 .3 2.4.STRUTS框架 4 2.5 SQL SERVER2000 关系数据库.5 3 需求分析 6 3.1 功能规定 6 3.2 软件环境 7 3.3 功能介绍 7 4 方案设计 8 4.1 概念结构设计 8 4.2 逻辑结构设计 9 4.2.1 数据字典设计 9 4.2.2 基础对象表 9 4.3.软件部署设计.13 4.4 总体设计 .14 4.4.1 功能需求与程序的关系 .14 5 具体实现 .16 5.1 登陆模块设计 .16 5.2 查询模块设计 .17 5.2.1 项目信息查询子模块 .17 5.3 数据维护模块设计 .19 5.3.2 状态管理子模块 .20 5.3.3 进程管理子模块 .20 5.3.4 日志管理子模块 .21 III 5.3.5 用户管理子模块 .21 5.3.6 组员管理子模块 .25 5.4 CMM 信息模块 .27 5.4.1CMM 管理子模块 27 5.4.2 CMM 信息查询模块 .28 总结.30 参考文献.31 致谢.32 0 1 引言 1.1 国内外的研究动态 目前市场上有大量的简单的项目管理软件,也有许多“公开源代码“的项目管理软 件。这些软件一般只完成项目管理某一阶段和某一方面如计划安排、人员管理、风险 分析等功能。国内很多单位已接收了国外项目管理的思路,很多单位也引进了国际先 进的项目管理软件,已经积累了部分经验和数据。目前在国内使用项目管理软件进行 项目管理的项目和企业已有上千家。 各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。 软件项目管理是为了使软件项目能按照预定的成本、进度、质量顺利完成。CMM 约束下 的软件项目管理系统。就是让 CMM 软件能力成熟度模型贯彻在整个软件开发的过程中。 CMM 被用作评价软件承包商能力并帮助组织改善软件过程质量,是目前国际上最流 行、最实用的一种软件生产过程标准,成为当今企业从事规模软件生产不可缺少的一 项内容。 CMM 约束下的软件项目管理系统要研究和解决的问题便是开发出一个能满足软件项 目开发需要的项目管理系统。其主面的技术要求是 CMM 软件能力成熟度如何在软件开 发过程中实现。 1 CMM 的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过 程监控和研究,以使其更加科学化、标准化,使企业能够更好的实现商业目标。它侧 重于软件过程开发的管理及软件工程能力的改进与评估。 1.2 课题的目的和意义 CMM 软件项目管理系统的目的是帮助软件企业对软件工程过程进行管理和改进,增 强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。 CMM 的企业实施 CMM 模型并评估可为企业带来如下好处:指导软件组织提高软件开 发管理能力;降低软件承包商和采购者的风险;评估软件承包商的软件开发管理能力; 帮助软件企业识别开发和维护软件的有效过程和关键实践;帮助软件企业识别为达到 CMM 更高成熟等级所必须的关键实践;增加软件企业的国际竞争能力。 软件项目管理系统的根本目的是为了让软件项目尤其是大型项目的整个软件生命 周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定 成本按期,按质的完成软件交付用户使用。而研究软件项目管理为了从已有的成功或 失败的案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误。 进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企 业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定、 持续地发展。 关注软件项目管理,以期缩短项目完成时间、节约项目成本,以及希望了解软件 项目管理的人员。CMM 软件能力成熟度模型应用到实际软件生产中的项目管理过程中去。 就是本系统的目的。促进软件开发过程健康稳定的发展就是本系统的意义。 1.3 方案论证 随着科学技术的迅速发展,其重要组成部分因特网,作为人们在信息时代中 交流沟通的工具,其地位显得日趋重要。别一面现行的有多种 web 开发语言如 Asp、Jsp 、Php 等的网页开发技术已经日渐完善,而针对各种 WEB 开发语言的开发平 台及框架等使软件的开发更为方便。而作为软件工程和计算机工业的完美交集 CMM 软 件成熟度模型已是软件工作者耳熟能详的标准。所以 CMM 约束下的软件项目管理系统 的开发过程不会有技术问题的障碍。 信息时代的到来,人们逐步意识到信息对于生活工作学习的重要性,在获取信息 上的投入越来越多。而 CMM 约束下的软件项目管理系统作为软件开发人员数字办工的 一部分。方便了软件工作者的工作生活,使企业开发者大幅缩短投放市场时间的体系 结构。所以对于软件开发公司来说对项目管理方面的资源投入是必需的。且在当前技 术条件下,开发一个适用的软件项目管理系统资金上的投入是有限的。以有限的投入 2 换取无限的商机何乐而不为。综上所述,CMM 约束下的软件项目管理系统在经济上应该 有巨大的潜力。 计算机 IT 业已经逐步成为国家支柱产业,数字化办工,数字化管理将成为世界发 展的主流。而今网络将会是日常生活中必不可缺的一部分。随着网络技术的不断完善 和成熟,在软件行业推行网上的办工平台逐渐成为软件开发管理的一项重要而且有效 的措施。让软件行业走在数字化办工的前列,带动软件需求市场的发展。网上的项目 管理系统将有广阔的发展空间和前景。综上所述,CMM 约束下的软件项目管理系统具有 一定的社会可行。 2 系统相关知识 2.1 CMM 简介 CMM 是 Capability Maturity Model for Software 的简称,中文叫“软件能力成 熟度模型” ,是对组织软件过程能力的描述。CMM 的出现是为了克服软件生产的危机。 所谓软件生产的危机是指尽管新的软件开发方法和技术不断生产,但软件生产率和质 量并未得到有效提高,软件产品不能按时完成,软件生产预算超支,而且交付客户使 用的软件产品(特别是大型软件工程)中由于各种原因产生的错误无法克服。 2.2 B/S 结构 B/S 结构具有以下优点: 安全性高。中间件服务器层隔离了客户端程序对数据服务器的直接访问,保护了 数据信息的安全。 易维护。由于业务逻辑在中间件服务器上,当业务规则变化后,客户端程序基本 不做改动,只需要升级应用服务器层的程序即可。 快速响应。通过中间件服务器层的负载均衡及缓存数据能力,可以大大提高对客 3 户端的响应速度。 运行环境可以是 Unix、Linux、Windows、MAC-OS。可以用 PC、PDA、POS、互联网 终端设备的接入方式。可以实时升级,不影响在线客户使用,升级费用低廉。三层结构 的系统架构。互联网:通过宽带使用浏览器实现企业间信息共享。达到电信级安全,专 业的技术设备和技术人员, 365 天24 小时的全天候服务。只有企业授权用户可以接 触企业数据。实时范围多公司/多企业/多集团实时。业务集成范围供应链/需求链/客 户全面集成。 2.3 J2EE 平台 J2EE 是一种利用 Java 2 平台来简化企业解决方案的开发、部署和管理相关的复杂 问题的体系结构。其最终目的就是成为一个 J2EE 体系结构提供中间层集成框架用来满 足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供 统一的开发平台,J2EE 降低了开发多层应用的费用和复杂性,同时提供对现有应用程 序集成强有力支持,增强了安全机制,提高了性能。 J2EE 的优势:J2EE 为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良 好的机制。 高效的开发:J2EE 允许公司把一些通用的、很繁琐的服务端任务交给中间供应商去 完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。 高级中间供应商提供以下这些复杂的中间件。 支持异构环境:J2EE 能够开发部署在异构环境中的可移植程序。基于 J2EE 的应用 程序不依赖任何特定操作系统、一中间件、硬件。因此设计合理的基于 J2EE 的程序只 需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。 J2EE 标准也允许客户订购与 J2EE 兼容的第三方的现成的组件,把他们部署到异构环境 中,节省了由自己制定整个方案所需的费用。 可伸缩性:企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性 去满足那些在他们系统上进行商业运作的大批新客户。基于 J2EE 平台的应用程序可被 部署到各种操作系统上。J2EE 领域的供应商提供了更为广泛的负载平衡策略。能消除 系统中的瓶颈,允许多台服务器集成部署。这种部署可达数千个处理器,实现可高度 伸缩的系统,满足未来商业应用的需要。 稳定的可用性:一个服务器端平台必须能全天候运转以满足企业客户、合作伙伴的 需要。因为 Internet 是全球化的二无处不在的。J2EE 部署到可靠的操作环境中,他们 支持长期的可用性。一些 J2EE 部署在 Windows 环境中,客户也可选择健壮性能更好的 操作系统如 Sun Solaris、IBM OS/390。最健壮的操作系统可达到 99. 999%的可用性 或每年只需 5 分钟停机时间。这是实时性很强商业系统理想的选择。 4 2.4.Struts 框架 Struts 是一个开放源代码软件,Struts 依靠绝大多数开发者已熟知的标准技术 Java servlet、JavaServer Page、JavaBean 等,为开发者搭建了一个 Web 应用的基本 框架。开发者可在这个框架基础上进行“填空式”的进行软件开发,轻松实现 MCV 模 式的 Web 应用。软件应用的相似性要远比比不同点要多。因为它们运行在相同的机器 上,从相同的设备输入信息,输出到相同的显示设备,并且存储数据到相同的硬盘设 备。应用框架在这些公共基础上,为开发人员提供了健壮的、可重用的服务基础架构。 当用户访问一个使用 Struts 框架的 Web 应用程序时,用户请求首先会到达 ActionServlet 对象。ActionServlet 根据请求中的参数,选择并创建合适的 ActionForm 对象,这个过程我们称为“匹配” 。当匹配好后,ActionServlet 为属性调 用 setter 方法,并将请求中的值传入到 ActionForm 对象中。然后将其传递给 Action 对象。Action 通常负责对请求进行处理的逻辑实现,如:输入参数组合校验,存取业 务信息,决定向 Servlet 返回哪个 ActionForward 作为用户可见的页面。 并在 struts-config.xml 中添加配置信息。但是借助 JBuilder 提供的 Action Wizard 工具, 我们可以大大简化这些过程。 2.5 SQL Server2000 关系数据库 关系型数据库系统(RDBMS)是目前最实用、最成熟的数据库管理系统,实体联 系方法是关系数据建模的最常用技术,采用关系数据库管理和存储数据,可以保持数 据存储与应用相分离,达到数据复用和共享的目的。本次设计的系统可以充分利用这 些特性。 SQL SERVER2000 是 Microsoft Corporation 推出的,是目前广为使用的大型数据 库系统之一,是一种综合的,通用的,功能极强的关系数据库语言,包括数据定义、 数据操纵、数据管理、存取保护、处理控制等多种功能。利用表、索引、码、行和列 等来确定存储位置。作为本系统的后台数据库开发工具,SQLSERVER2000 是最佳选择。 5 3 需求分析 3.1 功能规定 CMM 约束下的软件项目管理系统包括项目管理和 CMM 两个方面的内容,而 CMM 的信 息又和项目开发的各个进度关联在一起,在部署上为了实现权限设计上的便利及功能 的归类划分,系统大体可分为三个模块: (1)数据查询模块 数据查询模块可分为 5 个部分。在主页上查看全部项目信息、项目组信息、状态 信息、进程信息、日志信息。可以按所选项目查看相关的项目组信息、状态信息,按 所选状态信息查看相关的进程信息,按所选进程信息查看相关日志信息。 (2)CMM 信息模块 CMM 信息模块包括 CMM 等级信息和 CMM 信息维护。可在 CMM 约束页面下显示相关信 息,对 CMM 信息进行维护管理。 (3)数据维护模块 系统的所有数据基本是在数据维护模块中完成。除了项目的相关数据,还有系统 用户信息数据维护。在数据维护模块中主要的功能是用户权限的区分。这也是整个项 目管理系统中,管理方面的体现。在数据维护模块中按用户的权限等级。第一类用户 可以实现项目管理、项目组管理、状态管理、进程管理、日志管理、用户管理。第二 类用户可以实现第一类用户的除了项目管理以外的所有功能。第三类用户只能实现日 志管理模块,及账号的管理。 图 3.1 系统结构图 6 3.2 软件环境 开发环境 开发时操作系统:Windows XP;开发平台:Tomcat;开发语言:jsp 开发工具:Jbuider2006+SQL Server 2000 +Dreamweaver MX2004+Photoshop 7.0 3.3 功能介绍 CMM 约束下项目管理系统的核心是权限管理上面的分配。在本系统中体现用户权限 的地方是在系统数据维护模块中。在这里主面介绍系统数据维护模块的活动图。 登 陆 数据维护模块 判断用户权限 项目组管理状态管理用户管理 进程管理日志管理 项目管理 退 出 图 3.2 系统维护模块活动图 7 4 方案设计 4.1 概念结构设计 概念结构的主要特点是能真实、充分地反映现实世界;易于理解;易于更改;易 于向关系、网状、层次等各种数据模型转换。下面为本系统的 E-R 图 图 4.1 系统的实体关系图 8 4.2 逻辑结构设计 4.2.1 数据字典设计 数据库的逻辑结构设计是把上面的设计用逻辑表格的形式加以表示,并对数据的类 型进行定义,以及数据类型是否为是进行说明,在整个过程中必须严格定义每一个具体的 数据,形成数据字典。 用户信息=用户 ID+用户姓名+登陆账号+登陆密码+职位+权限 项目组信息=项目 ID+用户 ID+职责 项目信息=项目 ID+项目经理 ID+项目描述+启动日期+完成日期+CMM 级别+进行状 态 状态信息=状态 ID+项目 ID+状态名称+完成标志+状态描述+启动日期+完成日期 +CMM 级别 进程信息=进程 ID+状态 ID+负责人 ID+进程名称+进程描述+启动日期+完成日期 +CMM 级别 日志信息=日志 ID+进程 ID+负责人 ID+日志名称+日志描述+启动日期+完成日期 +CMM 级别+完成状态 项目信息=CMM 级别+CMM 名称+CMM 描述 4.2.2 基础对象表 下面是本信息咨询服务系统所涉及到的数据信息表: 1人员基本信息表:Emp 表 Emp 的职位 position 是对于部门的,如(总工程师,项目经理,助理,商务专 员,分析员,程序员。 ) 表 Emp 的权限 role 是对于整个系统的。联系着系统模块的显示。 所有人的权限:查看项目信息、项目组信息、状态信息、进程信息、日志信息、 CMM 信息。修改账号密码。 总工程师的权限:管理项目、管理项目组、管理状态、管理进程、管理日志、管 理人员信息、管理 CMM 信息。 项目经理、项目经理助理的权限:管理项目组、管理状态、管理进程、管理日志、 管理人员信息、管理 CMM 信息。商务专员、分析员、程序员的权限:管理日志。 表 4.1 人员基本信息表 字段名描述类型长度为空重复主键外键 empid用户 ID (自动增加)int4否否是 empname用户姓名varchar50否 9 username登陆账号varchar50否否 password登陆密码varchar50否 position职位varchar50否 role权限int4否 2项目基本信息表:Project 因为项目经理也会参与到别的项目的项目组中。而在那个项目中他并不是项目经 理。所以项目经理 ID 要存贮在项目基本信息表中。而不从项目组成员表中提取。完成 日期减去启动日期为实施过程中项目的完成时间。CMM 级别为项目计划安排中的项目所 要达到的 CMM 级别。进行状态标示出项目是在调研。进行。完成。等状态 。 表 4.2 项目基本信息表 字段名描述类型长度为空重复主键外键 projectid项目 ID (自动增加)int4否否是 managerid项目经理 IDint4是 projname项目名称varchar50否 bewrite项目描述varchar1024 startdate启动日期datetime8 compldate完成日期datetime8 wholetimeCMM 级别(计划内)int4是 condition进行状态varchar50 3项目组成员表:Progroup 一个项目只有相应的一个项目组。项目组只有一个项目经理。只有属于此项目的 成员才有其相应的权限。项目经理的设计表 Progroup 的职责 duty 是对于该项目的, 如(项目调研,项目管理,系统分析,编码,维护、编制手册等) 10 表 4.3 项目组成员信息表 字段名描述类型长度为空重复主键外键 projectid项目 IDint4否否是是 empid用户 IDint4否是是 duty职责varchar50否 4.项目状态进程表:State 项目的状态及完成标志:需求调研(需求报告书) ,启动(需求规格说明书) ,需 求分析(需求规格说明书) ,概要设计(概要设计说明书) ,详细设计(详细设计说明 书) ,编程(目标程序代码) ,测试(测试报告) ,联调(测试报告) ,初验(系统初验 报告) ,系统终端(用户使用手册、系统终验报告) 。 项目进程是在各个项目状态下进行的。 表 4.4 项目状态信息表 字段名描述类型长度为空重复主键外键 stateid状态 ID (自动增加) int4否否是 projectid项目 IDint4否是 statename状态名称varchar50否 symbol完成标志varchar50 bewrite状态描述varchar1024 startdate启动日期datetime8 compldate完成日期datetime8 wholetimeCMM 级别 (计划内)int4是 5.项目进程安排表:Process 进程是具体某一状态下的如概要设计下的数据库设计、功能设计。详细设计下的 每个功能模块的设计实现。 11 表 4.5 项目进程安排表 字段名描述类型长度为空重复主键外键 processid进程 ID (自动增加) int4否否是 stateid状态 IDint4否是 Inchargeid负责人 IDint4否是 procname进程名称varchar50否 bewrite进程描述varchar1024 startdate启动日期datetime8 compldate完成日期datetime8 wholetimeCMM 级别 (计划内)int4是 6.项目进程日志表:Logbook 通过项目进程日志表的数据进行项目统计报告。从统计数据及实现的过程,来观 察该公司设计部所达到的 CMM 级别。在下一个项目的开发中,吸取教训,补充自已所 不足的部分。 表 4.6 项目进程日志表 字段名描述类型长度为空重复主键外键 logid日志 ID (自动增加) int4否否是 processid进程 IDint4否是 Inchargeid负责人 IDint4否是 logname日志名称varchar50 bewrite日志描述varchar1024 startdate启动日期datetime8 compldate完成日期datetime8 12 wholetimeCMM 级别 (最终结果)int4是 7.约束表:CMM 通过在每个项目中对的约束。来渐进地提高软件成熟度。 表 4.7CMM 约束表 字段名描述类型长度为空重复主键外键 cmmidCMM 级别int4否否是 cmmnameCMM 名称varchar50否 bewriteCMM 描述varchar1024 4.3.软件部署设计 首先本系统涉及到的软件:Windows XP 操作系统、Apache Tomcat 5.0、 J2SDK 1.5.0、SQL Server 2000。WINDOWS 操作系统为现今软件开发必备之基础,J2SDK 1.42 及相关系列版本 JAVA 运行的基本平台,有涉及到 JAVA 的都得在此平台上运行,两者 为总体开发环境搭建的平台,也是现今软件开发必备基础,这里对这两个部署就无须 介绍,只需在开发软件之前先安装操作系统和 JAVA 运行平台即可。 Apache Tomcat 5.0 是 JSP 引擎,为 JSP 运行配置了环境,对于本系统来说 TOMCAT 也是本系统的运行环境,因为本系统所用及的开发软件都是基于 JSP 进行部署 和协同工作。 由于系统与后台数据库数据的交互主要是基于 JSP 进行,而在 JSP 中主要是使用 JAVA 的 JDBC 技术,实现对数据库中表记录的查询、修改、删除等操作。所以 JDBC 技 术在 JSP 开发中占有很中重要的地位。JDBC 为工具/数据库开发人员提供了一个标准 的 API,使得能够用纯 Java API 来编写数据库应用程序。下图直观的介绍了 java 应 用程序与数据库的访问机制: Java 应用 程序 JDBC API JDBC 驱动 程序 管理 器 JDBC 驱动 程序 API JDBC 网络驱动程 序 JDBC- ODBC 桥驱 动程序 DBMS 图 4.2 数据库访问机制图 13 JDBC 作为一种数据库访问技术,鉴于其具有简单易用的优点,则采用 JDBC 网络驱 动程序直接进行后台数据库的连接。具体过程大体为:装载数据库驱动程序;通过 JDBC 建立数据库连接;访问数据库,执行 SQL 语句;断开数据库连接。 在使用 JDBC 连接配置时会遇到问题: MicrosoftSQLServer 2000 Driver for JDBCError establishing socket 在 WinXP sp2 下,sqlserver 不能用 jdbc,下载 sql server sp3,下载 jdbc sp3 的驱动,装上以后就正常了:下载 Microsoft SQL Server 2000 ervice Pack 4 并 安装,SQL 请选用混和安装模式;下载 SQL Server 2000 Driver for JDBC Service Pack 3 并安装。另外一种解决办法:本机的 SQL Server 2000 当客户端,直接连接到 主机(Windows XP)上的 SQL Server 2000 数据库,也就是在本机上新注册一个 SQL Server,指向服务器上的 SQL Server。这样再运行一原来的 Java 程序就不会出现 Error establishing socket 这个错误。 4.4 总体设计 4.4.1 功能需求与程序的关系 CMM 约束下软件项目管理系统功能实现与程序的关系一览表 表 4.8 功能需求和程序关系表 第一层第二层处理程序所涉及的 javabean 备注 系统登陆 模块 登陆页面login.jspsqlBean.java DB5.java 主界面items.jsp project.java projectBean.java state.java stateBean.java process.java processBean.java logbook.java logbookBean.java 信息查询 模块 项目查询 页面 selproject.jspproject.java projectBean.java 14 状态查询 页面 selstate.jspstate.java stateBean.java 进程查询 页面 selprocess.jspprocess.java processBean.java 日志查询 页面 sellogbook.jsplogbook.java logbookBean.java 菜单栏界 面 update.jsp sleft.jsp 项目管理 页面 addproject.jsp updateproject.jsp Project.java projectBean.java 状态管理 页面 addstate.jsp updatestate.jsp state.java stateBean.java 进程管理 页面 addprocess.jsp updateprocess.jsp Process.java processBean.java 日志管理 页面 addlogbook.jsp updatelogbook.jsp Logbook.java logbookBean.java 用户管理 页面 adduser.jsp updateuser.jsp updatepassword.jsp user.java userBean.java DB5.java 系统维护 模块 组员管理 页面 progroup.jspprogroup.java progroupBean.java stringBean.java 是用来做字符串的 转换的,在所有的 查询、修改、删除 页面都有调用到过。 15 5 具体实现 5.1 登陆模块设计 用户登陆页面 login.jsp 的主要功能是对用户在登录框内输入的用户名及密码, 检查用户的用户名和用户密码与数据库中表的数据是否匹配,如果匹配则登录成功, 如果不匹配则提示出错。本系统的采用的是 MD5 的加密方法来对用户密码来行加密。 具有一定安全性。 在本系统中,用户使用唯一的用户登录名登录,而用户一旦登录,通过读取 Session 对象,我们可以清楚地掌握当前用户的信息。在 Session 中存贮登陆账号 username、用户 ID empid、用户权限 userrole。为系统的后续模块做准备。下面是登 陆界面,当用户登陆成功后,会显示登陆成功的界面:欢迎你;不成功就会显示:你输入 的信息无效. 图 5.1 登陆页面 实现代码: public class loginForm extends ActionForm private String password; private String username; public String getPassword() return password; public void setPassword(String password) this.password = password; public void setUsername(String username) this.username = username; public String getUsername() return username; 16 public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest httpServletRequest) /* todo: finish this method, this is just the skeleton.*/ return null; public void reset(ActionMapping actionMapping, HttpServletRequest servletRequest) 5.2 查询模块设计 5.2.1 项目信息查询子模块 项目信息查询页面 items.jsp 的主要功能是对所有项目的信息进行查询。在项目 档中显示所有项目的项目名。点击项目名后的详细链接可以查看该项目的详细信息。 当点击项目名时,会根据项目名查询出项目 ID 为该项目 ID 的状态以及项目组成员。 显示在状态档及组员档里。 状态档里显示的是项目的状态。项目的状态所描述的是项目软件开发的生存周期。 状态信息是由总工程师。项目经理、项目经理助理来维护,是项目开发的计划制定。 举例如:问题定义、可行性研究、需求分析、概要设计、详细设计、编码、软件测试、 运行维护等状态。点击状态名后的详细链接可以查看该状态的详细信息。当点击状态 名时,会根据状态名查询出状态 ID 为该状态 ID 的进程。显示在进程档里。 进程档里显示的是项目的进程。项目的进程所描述的是在某个状态下软件的进程 安排及负责人。进程是项目开发的较详细的计划安排。举例如:在详细设计的状态下, 可以有每个功能模块的详细设计的进程式。点击进程名后的详细链接可以查看该进程 的详细信息。当点击进程名时,会根据进程名查询出进程 ID 为该进程 ID 的日志内容 显示在日志档中。 日志档里显示的是项目的日志。描述项目的完成情况。点击日志名后的详细链接 可以查看该日志的详细信息。 当点击菜单档的主页时。回到 items.jsp 页面。显示的是系统的所有项目,参与 了项目的所有人员,所有的状态、进程和日志。 17 图 5.2 项目信息查询页面 实现代码: public class itemsAction extends Action public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) itemsForm itemsForm = (itemsForm) form; String projectid = itemsForm.getProjectid(); String stateid=itemsForm.getStateid(); String processid=itemsForm.getProcessid(); String pageid = itemsForm.getPageid(); String pageid1 = itemsForm.getPageid1(); String pageid2 = itemsForm.getPageid2(); String pageid3 = itemsForm.getPageid3(); String pageid4 = itemsForm.getPageid4(); String projectidsession=new String(projectid); String stateidsession=new String(stateid); String processidsession=new String(processid); String pageidsession=new String(pageid); 18 String pageidsession1=new String(pageid1); String pageidsession2=new String(pageid2); String pageidsession3=new String(pageid3); String pageidsession4=new String(pageid4); HttpSession session = request.getSession(); session.setAttribute(“projectidsession“, projectidsession); session.setAttribute(“stateidsession“, stateidsession); session.setAttribute(“processidsession“,processidsession); session.setAttribute(“pageidsession“,pageidsession); session.setAttribute(“pageidsession1“,pageidsession1); session.setAttribute(“pageidsession2“,pageidsession2); session.setAttribute(“pageidsession3“,pageidsession3); session.setAttribute(“pageidsession4“,pageidsession4); return (mapping.findForward(“items“); 5.3 数据维护模块设计 5.3.1 项目管理子模块 项目管理子模块只有用户权限为 1 的用户才有实现该功能。项目管理子模块又分 为创建项目模块用维护项目模块 (1)、创建项目模块实现的是项目的新建功能。在项目刚创建的时候必须填写项目 名、项目经理 ID、CMM 等级。 图 5.3 新建项目页面 (2)、维护模块实现的是项目的查询、修改、删除等功能。 图 5.4 维护项目页面 19 实现代码: public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) cmmForm cmmForm = (cmmForm) form; StringBean tt= new StringBean(); int cmmidid=(int)(cmmForm.getCmmidid() ; int cmmid=(int)(cmmForm.getCmmid() ; String cmmname =tt.getString(cmmForm.getCmmname() ; String bewrite = tt.getString(cmmForm.getBewrite(); cmmBean link=new cmmBean(); boolean count=link.updatecmm(cmmidid,cmmid,cmmname,bewrite); cmmForm.setCmmidid(0); cmmForm.setCmmid(0); cmmForm.setCmmname(“); cmmForm.setBewrite(“); if (count=true ) return mapping.findForward(“cmm“); else return mapping.findForward(“failure“); 5.3.2 状态管理子模块 状态管理子模块用户权限为 1、2、3 的用户可以实现该功能。权限为 1 的用户为 总工程师,权限为 2 的用户为项目经理,权限为 3 的用户为项目经理助理。可以设计 用户的权限,例如设计某职务为分析师的用户权限为 3 使其可以参与项目计划的规划 和修定。状态管理子模块又分为创建状态模块用维护状态模块。创建状态模块实现的 是状态的新建功能。在状态刚创建的时候必须填写项目表中存在的项目 ID、状态名称 及 CMM 等级。维护状态模块中可实现状态的查询、修改、删除,实现项目状态内容的 完善。 5.3.3 进程管理子模块 进程管理子模块用户权限为 1、2、3 的用户可以实现该功能。进程管理子模块又 分为创建进程模块用维护进程模块。创建进程模块实现的是进程的新建功能。在进程 刚创建的时候必须填写项目表中存在的状态 ID、负责人 ID、进程名称及 CMM 等级。维 20 护状态模块中可实现进程的查询、修改、删除,实现项目进程内容的完善。 5.3.4 日志管理子模块 日志管理子模块对所有的用户开放。日志管理子模块又分为创建日志模块用维护 日志模块。创建日志模块实现的是日志的新建功能。在日志刚创建的时候必须填写项 目表中存在的进程 ID、日志名称及 CMM 等级。维护日志模块中可实现日志的查询、修 改、删除,实现项目日志内容的完善。 在日志管理模块中,所以所有人只能创建负责人 ID 为自己的日志文件。功能实现 时,日志表的负责人 ID 是通过获取 ses
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 程序设计语言入门至精通学习手册
- 2025年软体机器人研发项目可行性研究报告及总结分析
- 2025年云计算技术在医疗行业的应用项目可行性研究报告及总结分析
- 2025年内容创作平台开发项目可行性研究报告及总结分析
- 2025年青海省海西州都兰县保安员招聘考试题库附答案解析
- 2025年精准农业投资项目可行性研究报告及总结分析
- 2025年企业数据安全合规协议
- 2025年城市社区商业复苏策略可行性研究报告及总结分析
- 2025年智慧环保监测系统建设项目可行性研究报告及总结分析
- 2025年智慧物流系统集成解决方案可行性研究报告及总结分析
- 传染病模型研究与应用
- 编制竣工资料协议书
- 变压器绝缘测试评分表
- 2025年宁夏银川经开发展集团有限责任公司招聘笔试参考题库含答案解析
- 空桶回收协议
- 近八年宁夏中考数学试卷真题及答案2024
- 建筑物区分所有权一郑晓俐课件
- 园区安全管理培训
- 2025年江西江铜华东铜箔有限公司招聘笔试参考题库含答案解析
- 2024年人教版四年级数学上册 第5单元《平行四边形和梯形》能力提升卷(含解析)
- 安踏集团零售管理培训手册
评论
0/150
提交评论