CMM约束下软件项目管理系统.docx
- 文档编号:6295656
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:35
- 大小:558.59KB
CMM约束下软件项目管理系统.docx
《CMM约束下软件项目管理系统.docx》由会员分享,可在线阅读,更多相关《CMM约束下软件项目管理系统.docx(35页珍藏版)》请在冰豆网上搜索。
CMM约束下软件项目管理系统
届别
学号
毕业设计(论文)
CMM约束下软件项目管理系统
姓 名
系别、专业
导师姓名、职称讲师
完成时间年4月26
摘要
CMM约束下的软件项目管理系统是为了方便软件开发公司人员内部,项目进程管理、人员管理而建立起来的网上建信工具,主要包话:
项目管理、项目组成员管理、状态管理、进程管理、日志管理、CMM等级约束等几个功能。
在项目管理、状态管理、进程管理、日志管理等功能中实现CMM等级的跟踪。
从而促进公司项目开发部的CMM能力成熟度的提高。
为此建立的数据库必须满足一致性、完整性和数据安全性等几个要求。
因此明确区分总工程师、项目经理、项目经理助理、商务专员、分析员、程序员的权限。
以达到运行稳定、功能齐全、易使用的目的。
通过因特网,所以无论在任何地方都可以方便访问方便生活和工作。
本系统是一个基于WEB方式的网上项目管理系统。
使用SQLServer2000作为数据库服务器。
使Jbuilder2006编写代码。
Photoshop7.0和DreamweaverMX2004编辑页面。
创建Struts框架下的JSP网站。
关键字:
CMM;Struts框架;JSP
ABSTRACT
CMMboundbythesoftwareprojectmanagementsystemisintendedtofacilitatesoftwaredevelopmentcompanypersonnel,projectmanagementprocess.personnelmanagementandestablishedonlineletterbuildingtool.Mainlyincluding:
projectmanagement,membersoftheprojectteammanagement,statemanagement,processmanagement,logmanagement,CMMlevelconstraints,andseveralotherfunctions.Inprojectmanagement,statemanagement,processmanagement,logmanagement,andotherfunctionstoachieveCMMleveltracking.CompanyprojectssoastopromotethedevelopmentoftheCMMCapabilityMaturityimproved.Thatthedatabasemustmeettheconsistency,completenessanddatasecurity,andseveralotherdemands.Thusacleardistinctionbetweenthechiefengineerandprojectmanager,assistantprojectmanagerandTradeCommission,analysts,programmerscompetence.Toachievestableoperation,completefunctions,easy-to-usepurposes.ThroughtheInternet,sonomatterwherethevisitcanfacilitatetheconvenientlifeandwork.
ThesystemisaWeb-basedformsofonlineprojectmanagementsystem.UsingSQLServer2000asthedatabaseserver.Jbuilder2006preparedtomakecode.Photoshop7.0andDreamweaverMX2004editorialpages.StrutsframeworkofthecreationofJSPwebsite.
Keywords:
CMM;Strutsframework;JSP
1引言
1.1国内外的研究动态
目前市场上有大量的简单的项目管理软件,也有许多"公开源代码"的项目管理软件。
这些软件一般只完成项目管理某一阶段和某一方面如计划安排、人员管理、风险分析等功能。
国内很多单位已接收了国外项目管理的思路,很多单位也引进了国际先进的项目管理软件,已经积累了部分经验和数据。
目前在国内使用项目管理软件进行项目管理的项目和企业已有上千家。
各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。
软件项目管理是为了使软件项目能按照预定的成本、进度、质量顺利完成。
CMM约束下的软件项目管理系统。
就是让CMM软件能力成熟度模型贯彻在整个软件开发的过程中。
CMM被用作评价软件承包商能力并帮助组织改善软件过程质量,是目前国际上最流行、最实用的一种软件生产过程标准,成为当今企业从事规模软件生产不可缺少的一项内容。
CMM约束下的软件项目管理系统要研究和解决的问题便是开发出一个能满足软件项目开发需要的项目管理系统。
其主面的技术要求是CMM软件能力成熟度如何在软件开发过程中实现。
6^$_5^
x_z_I_XCMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化,使企业能够更好的实现商业目标。
它侧重于软件过程开发的管理及软件工程能力的改进与评估。
1.2课题的目的和意义
CMM软件项目管理系统的目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。
CMM的企业实施CMM模型并评估可为企业带来如下好处:
指导软件组织提高软件开发管理能力;降低软件承包商和采购者的风险;评估软件承包商的软件开发管理能力;帮助软件企业识别开发和维护软件的有效过程和关键实践;帮助软件企业识别为达到CMM更高成熟等级所必须的关键实践;增加软件企业的国际竞争能力。
软件项目管理系统的根本目的是为了让软件项目尤其是大型项目的整个软件生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成软件交付用户使用。
而研究软件项目管理为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误。
进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定、持续地发展。
关注软件项目管理,以期缩短项目完成时间、节约项目成本,以及希望了解软件项目管理的人员。
CMM软件能力成熟度模型应用到实际软件生产中的项目管理过程中去。
就是本系统的目的。
促进软件开发过程健康稳定的发展就是本系统的意义。
1.3方案论证
随着科学技术的迅速发展,其重要组成部分——因特网,作为人们在信息时代中交流沟通的工具,其地位显得日趋重要。
别一面现行的有多种web开发语言如Asp、Jsp、Php等的网页开发技术已经日渐完善,而针对各种WEB开发语言的开发平台及框架等使软件的开发更为方便。
而作为软件工程和计算机工业的完美交集CMM软件成熟度模型已是软件工作者耳熟能详的标准。
所以CMM约束下的软件项目管理系统的开发过程不会有技术问题的障碍。
信息时代的到来,人们逐步意识到信息对于生活工作学习的重要性,在获取信息上的投入越来越多。
而CMM约束下的软件项目管理系统作为软件开发人员数字办工的一部分。
方便了软件工作者的工作生活,使企业开发者大幅缩短投放市场时间的体系结构。
所以对于软件开发公司来说对项目管理方面的资源投入是必需的。
且在当前技术条件下,开发一个适用的软件项目管理系统资金上的投入是有限的。
以有限的投入换取无限的商机何乐而不为。
综上所述,CMM约束下的软件项目管理系统在经济上应该有巨大的潜力。
计算机IT业已经逐步成为国家支柱产业,数字化办工,数字化管理将成为世界发展的主流。
而今网络将会是日常生活中必不可缺的一部分。
随着网络技术的不断完善和成熟,在软件行业推行网上的办工平台逐渐成为软件开发管理的一项重要而且有效的措施。
让软件行业走在数字化办工的前列,带动软件需求市场的发展。
网上的项目管理系统将有广阔的发展空间和前景。
综上所述,CMM约束下的软件项目管理系统具有一定的社会可行。
2系统相关知识
2.1CMM简介
CMM是CapabilityMaturityModelforSoftware的简称,中文叫“软件能力成熟度模型”,是对组织软件过程能力的描述。
CMM的出现是为了克服软件生产的危机。
所谓软件生产的危机是指尽管新的软件开发方法和技术不断生产,但软件生产率和质量并未得到有效提高,软件产品不能按时完成,软件生产预算超支,而且交付客户使用的软件产品(特别是大型软件工程)中由于各种原因产生的错误无法克服。
2.2B/S结构
B/S结构具有以下优点:
安全性高。
中间件服务器层隔离了客户端程序对数据服务器的直接访问,保护了数据信息的安全。
易维护。
由于业务逻辑在中间件服务器上,当业务规则变化后,客户端程序基本不做改动,只需要升级应用服务器层的程序即可。
快速响应。
通过中间件服务器层的负载均衡及缓存数据能力,可以大大提高对客户端的响应速度。
运行环境可以是Unix、Linux、Windows、MAC-OS。
可以用PC、PDA、POS、互联网终端设备的接入方式。
可以实时升级,不影响在线客户使用,升级费用低廉。
三层结构的系统架构。
互联网:
通过宽带使用浏览器实现企业间信息共享。
达到电信级安全,专业的技术设备和技术人员,365天×24小时的全天候服务。
只有企业授权用户可以接触企业数据。
实时范围多公司/多企业/多集团实时。
业务集成范围供应链/需求链/客户全面集成。
2.3J2EE平台
J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
其最终目的就是成为一个J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。
通过提供统一的开发平台,J2EE降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,增强了安全机制,提高了性能。
J2EE的优势:
J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制。
高效的开发:
J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间供应商去完成。
这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。
高级中间供应商提供以下这些复杂的中间件。
支持异构环境:
J2EE能够开发部署在异构环境中的可移植程序。
基于J2EE的应用程序不依赖任何特定操作系统、一中间件、硬件。
因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。
这在典型的异构企业计算环境中是十分关键的。
J2EE标准也允许客户订购与J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制定整个方案所需的费用。
可伸缩性:
企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。
基于J2EE平台的应用程序可被部署到各种操作系统上。
J2EE领域的供应商提供了更为广泛的负载平衡策略。
能消除系统中的瓶颈,允许多台服务器集成部署。
这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用的需要。
稳定的可用性:
一个服务器端平台必须能全天候运转以满足企业客户、合作伙伴的需要。
因为Internet是全球化的二无处不在的。
J2EE部署到可靠的操作环境中,他们支持长期的可用性。
一些J2EE部署在Windows环境中,客户也可选择健壮性能更好的操作系统如SunSolaris、IBMOS/390。
最健壮的操作系统可达到99.999%的可用性或每年只需5分钟停机时间。
这是实时性很强商业系统理想的选择。
2.4.Struts框架
Struts是一个开放源代码软件,Struts依靠绝大多数开发者已熟知的标准技术—Javaservlet、JavaServerPage、JavaBean等,为开发者搭建了一个Web应用的基本框架。
开发者可在这个框架基础上进行“填空式”的进行软件开发,轻松实现MCV模式的Web应用。
软件应用的相似性要远比比不同点要多。
因为它们运行在相同的机器上,从相同的设备输入信息,输出到相同的显示设备,并且存储数据到相同的硬盘设备。
应用框架在这些公共基础上,为开发人员提供了健壮的、可重用的服务基础架构。
当用户访问一个使用Struts框架的Web应用程序时,用户请求首先会到达ActionServlet对象。
ActionServlet根据请求中的参数,选择并创建合适的ActionForm对象,这个过程我们称为“匹配”。
当匹配好后,ActionServlet为属性调用setter方法,并将请求中的值传入到ActionForm对象中。
然后将其传递给Action对象。
Action通常负责对请求进行处理的逻辑实现,如:
输入参数组合校验,存取业务信息,决定向Servlet返回哪个ActionForward作为用户可见的页面。
并在struts-config.xml中添加配置信息。
但是借助JBuilder提供的ActionWizard工具,我们可以大大简化这些过程。
2.5SQLServer2000关系数据库
关系型数据库系统(RDBMS)是目前最实用、最成熟的数据库管理系统,实体-联系方法是关系数据建模的最常用技术,采用关系数据库管理和存储数据,可以保持数据存储与应用相分离,达到数据复用和共享的目的。
本次设计的系统可以充分利用这些特性。
SQLSERVER2000是MicrosoftCorporation推出的,是目前广为使用的大型数据库系统之一,是一种综合的,通用的,功能极强的关系数据库语言,包括数据定义、数据操纵、数据管理、存取保护、处理控制等多种功能。
利用表、索引、码、行和列等来确定存储位置。
作为本系统的后台数据库开发工具,SQLSERVER2000是最佳选择。
3需求分析
3.1功能规定
CMM约束下的软件项目管理系统包括项目管理和CMM两个方面的内容,而CMM的信息又和项目开发的各个进度关联在一起,在部署上为了实现权限设计上的便利及功能的归类划分,系统大体可分为三个模块:
(1)数据查询模块
数据查询模块可分为5个部分。
在主页上查看全部项目信息、项目组信息、状态信息、进程信息、日志信息。
可以按所选项目查看相关的项目组信息、状态信息,按所选状态信息查看相关的进程信息,按所选进程信息查看相关日志信息。
(2)CMM信息模块
CMM信息模块包括CMM等级信息和CMM信息维护。
可在CMM约束页面下显示相关信息,对CMM信息进行维护管理。
(3)数据维护模块
系统的所有数据基本是在数据维护模块中完成。
除了项目的相关数据,还有系统用户信息数据维护。
在数据维护模块中主要的功能是用户权限的区分。
这也是整个项目管理系统中,管理方面的体现。
在数据维护模块中按用户的权限等级。
第一类用户可以实现项目管理、项目组管理、状态管理、进程管理、日志管理、用户管理。
第二类用户可以实现第一类用户的除了项目管理以外的所有功能。
第三类用户只能实现日志管理模块,及账号的管理。
图3.1系统结构图
3.2软件环境
开发环境开发时操作系统:
WindowsXP;开发平台:
Tomcat;开发语言:
jsp
开发工具:
Jbuider2006+SQLServer2000
+DreamweaverMX2004+Photoshop7.0
3.3功能介绍
CMM约束下项目管理系统的核心是权限管理上面的分配。
在本系统中体现用户权限的地方是在系统数据维护模块中。
在这里主面介绍系统数据维护模块的活动图。
图3.2系统维护模块活动图
4方案设计
4.1概念结构设计
概念结构的主要特点是能真实、充分地反映现实世界;易于理解;易于更改;易于向关系、网状、层次等各种数据模型转换。
下面为本系统的E-R图
图4.1系统的实体关系图
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(自动增加)
int
4
否
否
是
empname
用户姓名
varchar
50
否
username
登陆账号
varchar
50
否
否
password
登陆密码
varchar
50
否
position
职位
varchar
50
否
role
权限
int
4
否
2.项目基本信息表:
Project
因为项目经理也会参与到别的项目的项目组中。
而在那个项目中他并不是项目经理。
所以项目经理ID要存贮在项目基本信息表中。
而不从项目组成员表中提取。
完成日期减去启动日期为实施过程中项目的完成时间。
CMM级别为项目计划安排中的项目所要达到的CMM级别。
进行状态标示出项目是在调研。
进行。
完成。
等状态。
表4.2项目基本信息表
字段名
描述
类型
长度
为空
重复
主键
外键
projectid
项目ID(自动增加)
int
4
否
否
是
managerid
项目经理ID
int
4
是
projname
项目名称
varchar
50
否
bewrite
项目描述
varchar
1024
startdate
启动日期
datetime
8
compldate
完成日期
datetime
8
wholetime
CMM级别(计划内)
int
4
是
condition
进行状态
varchar
50
3.项目组成员表:
Progroup
一个项目只有相应的一个项目组。
项目组只有一个项目经理。
只有属于此项目的成员才有其相应的权限。
项目经理的设计表Progroup的职责duty是对于该项目的,如(项目调研,项目管理,系统分析,编码,维护、编制手册等)
表4.3项目组成员信息表
字段名
描述
类型
长度
为空
重复
主键
外键
projectid
项目ID
int
4
否
否
是
是
empid
用户ID
int
4
否
是
是
duty
职责
varchar
50
否
4.项目状态进程表:
State
项目的状态及完成标志:
需求调研(需求报告书),启动(需求规格说明书),需求分析(需求规格说明书),概要设计(概要设计说明书),详细设计(详细设计说明书),编程(目标程序代码),测试(测试报告),联调(测试报告),初验(系统初验报告),系统终端(用户使用手册、系统终验报告)。
项目进程是在各个项目状态下进行的。
表4.4项目状态信息表
字段名
描述
类型
长度
为空
重复
主键
外键
stateid
状态ID(自动增加)
int
4
否
否
是
projectid
项目ID
int
4
否
是
statename
状态名称
varchar
50
否
symbol
完成标志
varchar
50
bewrite
状态描述
varchar
1024
startdate
启动日期
datetime
8
compldate
完成日期
datetime
8
wholetime
CMM 级别(计划内)
int
4
是
5.项目进程安排表:
Process
进程是具体某一状态下的如概要设计下的数据库设计、功能设计。
详细设计下的每个功能模块的设计实现。
表4.5项目进程安排表
字段名
描述
类型
长度
为空
重复
主键
外键
processid
进程ID(自动增加)
int
4
否
否
是
stateid
状态ID
int
4
否
是
Inchargeid
负责人ID
int
4
否
是
procname
进程名称
varchar
50
否
bewrite
进程描述
varchar
1024
startdate
启动日期
datetime
8
compldate
完成日期
datetime
8
wholetime
CMM级别(计划内)
int
4
是
6.项目进程日志表:
Logbook
通过项目进程日志表的数据进行项目统计报告。
从统计数据及实现的过程,来观察该公司设计部所达到的CMM级别。
在下一个项目的开发中,吸取教训,补充自已所不足的部分。
表4.6项目进程日志表
字段名
描述
类型
长度
为空
重复
主键
外键
logid
日志ID(自动增加)
int
4
否
否
是
processid
进程I
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CMM 约束 软件 项目 管理 系统