轻量级软件项目管理方案

时间:2024-01-25 点赞:49487 浏览:98622 作者原创标记本站原创

本文是一篇软件项目管理论文范文,关于软件项目管理相关在职研究生毕业论文,关于轻量级软件项目管理方案相关在职毕业论文范文。适合软件项目管理及项目管理及数据库方面的的大学硕士和本科毕业论文以及软件项目管理相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:给出了轻量级软件项目管理解决方案.从项目计划管理、配置管理、项目建模、需求管理、Bug管理与代码自动化生成6个方面进行了分析,并给出了实用的CASE工具.

关 键 词:项目管理;配置管理;代码自动化生成;.NET

中图分类号:TP315文献标识码:A文章编号:1009-3044(2012)04-0849-03

SolutionofLightweightSoftwareProjectManagement

ZHAIJing-xuan

(ChinaUniversityofMiningandTechnology,Xuzhou221116,China)

Abstract:Alightweightsoftwareprojectmanagementsolutions.Includetheprojectmanagement,configurationmanagement,projectmodeling,requirementanagement,bugmanagementandautomaticcodegenerationanalysis,andgivesusefulCASEtoolaboutsoftwareprojectmanagement.省略

“软件危机”是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象.“软件危机”于1968年由北大西洋公约组织的计算机科学家第一次提出,并随之诞生了“软件工程”这一学科.软件工程主要目的是研究用工程化方法构建和维护有效的、实用的和高质量的软件,从而避免“软件危机”.

“软件危机”已经提出40多年来,软件工程领域研究成果显著,取得了较大的成就.由于微电子技术的发展和计算机应用的普及,软件成本在计算机成本中所占的比例持续增长,软件项目日趋复杂,软件开发效率的提高也远远落后于信息化普及速度.因此导致“软件危机”问题不仅没有解决,而且愈演愈烈.对于软件工程的研究依然是一个比较热门的领域.软件项目的管理方法研究是软件工程学的研究领域之一,良好的软件项目管理模式对于对提高项目的成功率,减少开发成本和提升软件质量具有促进作用.

软件项目管理主要包括进度管理、成本管理、质量管理、风险管理与配置管理等.要进行有效的过程管理,必须制定科学的管理办法和使用有效的软件项目管理工具.

软件工程发展至今,陆续诞生了CMM(软件能力成熟度模型)、CMMI(能力成熟度模型集成)、RUP(统一软件开发过程)与M(微软解决方案框架)等成熟管理模型.这些解决方案对项目管理进行了全面的定义,一定程度上缓解了软件危机问题.诸如,CMMI中定义了详细的项目管理及过程管理模型,适合研发团队进行规范化设计.但对于不具有很高的复杂程度软件研发项目,完全按照CMMI或其它成熟的模型不切合实际,但是又必须以成熟模型为主要参考目标.本文根据实际软件项目管理与研发经验,提出了一种适合于中小型项目的轻量级项目管理解决方案.该方案主要适用于采用Microsoft.NET平台进行开发的项目团队.

1轻量级项目管理过程

轻量级项目管理过程包括计划、需求、设计、编码、测试、发布与维护5个阶段.

计划阶段主要工作为调研用户需求,分析系统目标,分析系统开发的可行性,制定初步的项目计划.

需求阶段主要工作内容为与用户沟通,编写完善的“需求规格说明书”.“需求规格说明书”包括软件的功能需求、性能需求、非功能性需求、环境约束和外部接口等.

设计阶段主要包括概要设计和详细设计两个部分,由架构师针对软件的需求设计出系统总体流程、子系统、数据与对象描述、算法和程序接口等.

编码阶段的主要工作内容为将设计描述为可编译的源程序.

测试阶段的主要工作任何为根据需求规格和设计文档,对软件的功能进行验证.测试与需求阶段同步开始,到项目验收前结束.

发布阶段的主要工作是,对于软件产品进行安装部署,发布以后还需要根据用户要求和产品实际情况进行维护.

轻量级软件项目管理解决方案的目标是针对中小型软件项目运作的实际情况,建立行之有效的管理体系和沟通机制,提供项目开发效率,保障产品质量,确保项目能如期交付.主要管理的内容是开发过程中的各类文档、进度控制管理、BUG跟踪与代码同步协作开发.

2轻量级项目管理实施

笔者所在的团队主要以Microsoft.NET为基础开发平台,数据库采用SqlServer系列,软件项目管理方案主要基于以上经验获得.因此本方案主要适用于使用.NET平台的开发的各类中小型项目,B/S与C/S项目均可.方案主要内容为:

2.1项目计划管理

软件项目管理的目的主要是确定项目的范围、进度和费用.项目计划就是要对项目整个实施过程的目标、任务、进度和责任委派做出具体的规定和部署,它在项目管理中处于中心地位.项目计划主要包括设计工作分解结果.此阶段主要使用的工具为:MicrosoftProject等.

2.2配置管理

配置管理过程是对处于不断演化、完善过程中的软件产品的管理过程.其最终目标是实现软件产品的完整性、一致性、可控性,使产品极大程度地与用户需求相吻合.它通过控制、记录、追踪对软件的修改和每个修改生成的软件组成部件来实现对软件产品的管理功能.常见的用于支持配置管理的工具有CVS、Subversion、VSS、StarTeam、CC等等.我们选择VSS2005为团队配置管理工具.主要原因是:VSS为轻量级平台,便于部署和迁移;VSS与微软发布的产品VisualStudio.NET2008/2010等兼容性非常好.


配置管理模板包括PP(项目计划)、RD(需求)、TS(设计)、V&V(验证与确认)等环节的各类文档,如需求规格说明书、项目计划、RD_用例报告、TS_概要设计说明书、详细设计说明书、数据库设计说明书、安装维护手册、测试计划、测试方案与单元测试记录等.

2.3项目建模

方案采用的建模工具有EnterpriseArchitect与PowerDesigner.

EnterpriseArchitect是以目标为导向的软件系统.它覆盖了系统开发的整个周期,除了开发类模型之外,还包括事务进程分析,使用案例需求,动态模型,组件和布局,系统管理,非功能需求,用户界面设计,测试和维护等.EnterpriseArchitect是一个完全的UML分析和设计工具,它能完成从需集经步骤分析、模型设计到测试和维护的整个软件开发过程.它基于多用户Windows平台的图形工具可以帮助您设计健全可维护的软件.除此,它还包含特性灵活的高品质文档输出.用户指南可以在线获取.

SybasePowerDesigner是一个"一站式"的企业级建模及设计解决方案,它能帮助企业快速高效地进行企业应用系统构建及再工程(Re-engineer).使用该工具可以设计数据流程图、概念数据模型与物理数据模型,包括了数据库建模的全过程.该工具在项目中主要用于数据库建模.支持数据库的正向和反向工程,便于数据字典维护与调整.

2.4需求管理与Bug跟踪

我们采用Mantis作为项目管理和Bug跟踪平台.Mantis是一款基于Web的Php+Mysql的开源BUG管理系统,一款简单实用的系统,具有截图功能和强大的报表功能.Mantis还具有良好电子邮件支持,可将需求与Bug的各种状态定义按照预定设置发送到项目组相应.

对于新增需求变更,经历提出需求、确认需求、开发需求、测试需求到发布需求五个阶段,这五个阶段分别由需求工程师、开发工程师、测试工程师与配置管理工程师进行完成.通过Mantis提供的基于Web的协作系统,可以很方便的进行需求变更管理和跟踪.

对于已发布的项目所产生的Bug,通过Mantis也可以进行记录、跟踪.其邮件提醒功能使得Bug状态一旦发生改变,会立即通知到相关责任人进行处理.同时,其强大的统计和报表功能也便于统计各项目的Bug量,统计测试人员报告的数量等关键值.

2.5代码自动化生成

轻量级项目均采用三层结构进行设计.三层结构模式如图2.

图2三层结构框架

三层结构包含:表示层(UI),业务逻辑层(BLL),数据访问层(DAL),各层特点如下:

数据访问层:主要是对原始数据的操作层.可以操作数据库、文本文档或XML文件等多种数据格式,执行对数据库的增、删、查、改操作.数据访问层还可以通过OR映射进行扩充.

业务逻辑层:是系统的核心层,位于数据层和表示层中间,主要实现业务规则制定与业务流程实现.业务逻辑层直接调用数据层,并接受表示层的调用,起到承上启下的作用.

表示层:表示层是与用户直接交互的一层,主要处理用户的输入操作,提供交互式接口.在项目实现过程中,表示层一般为WebForm或WinForm等形式.

三层结构的划分,体现了“高内聚、低耦合”的设计思想,有效降低层与层之间的依赖,增强各层的复用性,有利于标准化开发.但三层结构也存在着降低性能、级联修改等问题.但轻量级项目一般侧重于业务流程,对于系统性能要求不高,而且计算机芯片的发展使得项目开发效率越来越比性能更重要.因此,轻量级软件项目均采用三层结构设计.

除此之外,还有业务实体层(Model),这个层主要内容是存放可持久化的实体类;通用工具类库(Common),主要用于存放通用的管理类库.类库的存在形式一般为Static类和Static方法.由于开发模式基本相似,所以开发过程中的大量相似代码,如:实体类、数据库操作类、UI界面,均可采用工具生成..NET平台下比较优秀的代码生成工具有李天平的动软.NET代码生成器Codematic和国外成熟的代码生成器CodeSmith.

轻量级项目采用动软.NET代码生成器为主要生成工具.动软.省略程序员设计的自动代码生成器,Codematic生成的代码基于面向对象的思想和三层架构设计,结合了微软Petshop中经典的思想和设计模式,可以通过反射支持多数据库,支持对连接字符串加密等.Codematic在项目中主要针对数据库中的表或视图生成表示层、业务层、数据层及实体等代码.使得开发人员完全从重复的录入过程中解脱.最新版本的Codematic还支持模板语法,开发人员可根据实际项目需要生成相应的表示层或数据层的SQL代码.以下是动软.NET生成器生成的VisualStudio.NET2010解决方案结构.

3结束语

本文根据中小型研发项目实际需要,提出了一种轻量级开发的项目管理解决方案.方案主要针对项目计划管理、配置管理、项目建模、需求管理与Bug跟踪、代码自动化生成5个方面进行了定义和分析,给出了各过程中最佳的解决方案和管理工具.轻量级的项目管理解决方案已经大量应用于团队所承担的各类研发项目中,与方案实施前相比,开发更高效、项目进度可控,能有效的提高软件产品质量.

本文是一篇软件项目管理论文范文,关于软件项目管理相关在职研究生毕业论文,关于轻量级软件项目管理方案相关在职毕业论文范文。适合软件项目管理及项目管理及数据库方面的的大学硕士和本科毕业论文以及软件项目管理相关开题报告范文和职称论文写作参考文献资料下载。

93;刘宇翔.软件项目管理的流程设计分析[J].科技资讯,2010(36).

[7]邹晖.软件项目管理开发与应用[J].中小企业管理与科技:上旬刊,2011(5).

[8]徐朝辉,樊银亭.MVC设计模式在.NET三层结构开发中的研究和实现[J].北京电子科技学院学报,2007(2).

相关论文

软件项目管理中的风险识别与管理

本文是一篇风险管理论文范文,关于风险管理类大学毕业论文,关于软件项目管理中的风险识别与管理相关本科论文范文。适合风险管理及项目管理及。

房地产开发项目管理方案

本文是一篇项目管理论文范文,项目管理方面有关在职毕业论文开题报告,关于房地产开发项目管理方案相关大学毕业论文范文。适合项目管理及房地。

ei会议发表软件项目管理

本文是一篇专业论文范文,专业类有关电大毕业论文,关于ei会议发表软件项目管理相关函授毕业论文范文。适合专业及奖学金及研究生方面的的大学。

软件项目管理过程其实施要点

本文是一篇软件项目管理论文范文,软件项目管理有关毕业论文格式模板,关于软件项目管理过程其实施要点相关函授毕业论文范文。适合软件项目管。

关于软件项目管理常见问题的

本文是一篇软件项目管理论文范文,关于软件项目管理方面自考毕业论文开题报告,关于关于软件项目管理常见问题的相关毕业论文格式模板范文。适。

软件项目管理环境下的质量管理

本文是一篇质量管理论文范文,质量管理相关学年毕业论文,关于软件项目管理环境下的质量管理相关专升本毕业论文范文。适合质量管理及项目管理。

软件项目管理

本文是一篇项目管理论文范文,项目管理有关专升本毕业论文开题报告,关于软件项目管理相关电大毕业论文范文。适合项目管理及软件项目管理及软。

ERP软件项目管理开发

本文是一篇项目管理论文范文,关于项目管理方面大学毕业论文,关于ERP软件项目管理开发相关在职研究生毕业论文范文。适合项目管理及软件开发。