基于SW—CMM的软件项目管理模型分析与研究
2016-04-11朱少华
朱少华
摘要:软件项目管理在实际的应用过程中需要建立相关的参考模型,以此获得一些关键的信息。软件工程和项目管理在解决实际问题的过程中都离不开软件项目管理模型的作用。在相关的领域内,项目管理的实施有利于创造一种秩序井然的工作环境,使整体的工作效率能够不断地提高。在软件方面的应用主要的工作原理就是软件项目管理。SW-CMM(软件能力成熟度模型)的出现,为软件企业在项目管理工作方面带来了重要的参考思路。一些中小软件企业在软件管理过程中存在很多的问题,一些工作误区的存在影响了企业整体的市场竞争力。该文将对SW-CMM中的相关内容进行深入的分析和探讨,为相关的研究工作带来一定的参考建议。
关键词:软件;项目管理;SW-CMM;模型;市场竞争力;企业
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)04-0113-03
在当前形势的影响下,一些中小软件企业在实际的发展过程中,由于对软件项目管理认识不足,导致在相关的产品质量管理方面出现了各种各样突出的问题。这些问题的存在,客观地说明了软件企业在发展过程中工作思路的不科学及对项目管理认识不清,阻碍了企业的正常发展。做好软件项目管理的基本工作,必须理解和掌握对中涉及的相关技术概念及基本原理,为后续工作的开展奠定良好地基础。SW-CMM软件项目管理模型,结合了项目管理的主要内容及软件的相关特点,有利于提升企业整体的项目管理水平,扩大自身的经营范围。SW-CMM体现了这个时代无数成功软件企业的研发能力和先进的管理理念,为相关中小企业的项目管理提供了一定的参考思路。
1 软件项目管理的研究背景及意义
1.1 软件项目管理的研究背景
软件项目管理主要针对的是软件行业。它是项目管理与软件行业结合的产物,对于软件行业工作效率的提高有着重要的影响。软件行业的生存和发展依赖于企业内部团体的研发能力,主要是通过相关技术人员彼此间工作的配合逐步实现的。软件项目管理为软件企业未来的生存和发展带来了巨大的推动力。
SW-CMM又称软件能力成熟度模型。它最早诞生于20世纪80年代,是由美国的大学研究机构主持开发的。这种软件项目管理的理论体系庞大,内容比较丰富,涉及的范围也比较广泛。其本质上是一种先进的管理方法,主要应用与软件领域,体现的是管理方面的思想。通过对不同层次的内容指出了软件工作机制中控制活动所遵循的基本原则,为软件项目管理和项目施工提供了可靠的工作思路。这给软件企业处理实际问题带来了一些指导性建议,节约了研发人员的工作时间,加快了研发速度,为企业的整体发展带来了积极的推动作用。同时,作为一种参考标准,SW-CMM对于软件企业的预算管理有着一定地影响:对企业如何控制生产成本,实现利润最大化目标提出了具体的解决方法。相对国外比较成熟SW-CMM,我国在这方面的研究理论非常少,缺乏科学的参考标准,相应的软件组织更是很少,只有部分的中小组织。将复杂的SW-CMM理论体系变得简单化,是未来软件研究工作者需要完成的主要工作任务。
1.2 软件项目管理的研究意义
软件项目管理直接关系着软件企业的生存和发展,是保证企业竞争力的重要措施。做好软件项目管理的研究工作,有利于提高软件产品的质量,扩大企业的生产经营范围。同时,这种管理理念和管理方法的实施,从根本上降低了企业的生产成本,为企业整体经济利益的增加带来了积极的影响。中小企业在软件项目的管理过程中一直存在着很多的问题,管理方法的不合理,管理机制的不完善,都阻碍着企业正常的发展。因此,做好软件项目管理的研究工作,对于软件企业整体的发展具有现实的参考意义。软件项目管理是决定软件企业战略部署的关键措施,这也客观地决定了开展软件项目管理研究工作的必要性。
2 软件项目管理及SW-CMM的相关内容
2.1 软件项目管理概念及特殊性的表现形式
软件项目管理主要是指企业通过对项目成本、施工进度、质量管理、人员配置方面的控制而开展的相关活动。软件项目管理对于企业技术人员的研发能力影响很想很大,也直接体现着企业整体的研发水平。软件生产技术相对较高的企业,其项目管理水平较高,综合的研发能力比较突出。
软件项目管理的特殊性主要是指这种管理与其他项目管理的区别。主要表现在;1)思维上的独特性。软件项目是通过技术人员的思维能力逐步开展实施的,具有抽象性的逻辑实体。在具体的研发过程中相对比较自由,需要经过一定的研发时间才能获得最终的产品;2)组成结构的复杂性。这主要是指软件本身具有一定的复杂性。其复杂性包括:代码组成的复杂性和解决实际问题的复杂性。当软件在应用过程中遇到特殊的问题时,必须从程序的设计、实际的需求、研发角度等方面展开必要地研究,而这样的处理过程增加了整个工作机制的复杂性,使得整体结构的复杂性逐渐地体现出来;3)层次感鲜明。软件中某些符号存在着优先级,使得系统在处理实际的问题时,必须充分考虑优先级的高低,间接地使软件项目管理在某些应用方面的层次感非常鲜明,为相关工作的开展带来了极大的方便。通过这些不同的表现形式,可以清楚地看到软件项目管理的特殊性。
2.2 SW-CMM的基本结构
当前形势下,国际上较为流行的SW-CMM主要分为软件能力成熟度模型和软件能力成熟度的具体实践。这两种技术报告有着不同的侧重点:前者是强调软件实施中的相关原则,主要是为了使软件能够朝着更高层次的方向发展,最后保持一定的成熟度。这种成熟度侧重于具体的过程。而后者主要强调的是不同级别实践过程中的成熟度,侧重于成熟度实现的途径研究。通过对成熟度内涵的分析,可以为软件实施做出一定的综合评估,以达到软件改进的最终目的。SW-CMM结构的基本原理主要是指:在具体的过程中通过各项实践活动的有效开展,可以实现关键过程的相关目标。这些目标象征着不同的成熟度级别。这也客观地体现出了SW-CMM结构中成熟度级别的高低是与一定过程内实现目标相关的。这为软件项目管理带来了重要的参考思路,也为软件实施过程中评估报告的评价指标指明了方向,给相关模型的构件带来了一定的参考依据。
2.3 SW-CMM等级的研究
SW-CMM的等级主要包括五个方面:优先级、管理机、定义级、重复级和初始级。这些不同的级别反应了SW-CMM的基本结构特点,在实际的应用中有着特定的含义。五个级别的相关含义主要有:1)初始级。这主要是指软件的生产组织的起始阶段,基本没有形成真正的软件研发环境。无论是管理上还是具体的实践应用方面,都无法达到相关的设计要求;2)重复级。这一级别中的内容较丰富。主要是指它涉及的对象较多,包括人、物、组织及相关的信息传递。这种过程中信息之间的交流需要结合实际的情况随时地调整。应用、测量、研究、规范化、标准化等组成了一个严密的体系,对于软件项目管理起着科学的引导作用。所谓的重复是指在软件项目管理中可以对制度、合同、预定方案等方面重复执行。不同的项目允许在一定的控制范围内出现一些偏差。这主要是从局部的细节方面研究的。而从整体上观察,可以看出这些重复的行为基本的原理都是一样的。无论是参考标准还是项目控制管理,其中的某些过程中是可以重复的;3)定义级。这是软件研发的关键阶段。软件项目管理模型的形成涉及了软件工程和项目管理。在定义级阶段,需要制定相关的参考标准。这些标准的形成,为未来软件的使用进行了必要地规范,为软件的顺利实施指明了方向。这个级别所涉及的软件过程的特点主要是:规范化和互不排斥性。突出了软件工程和项目管理过程的相关特点。当软件进入生产阶段,需要对软件的整体框架、生产数量、生产质量等方面进行综合地管理;4)管理级。这一级别主要是为了做好软件产品的质量指标的制定工作。通过设置一定的质量指标,可以使软件生产组织的活动更加规范,为软件项目的质量控制提供了可靠地保障。当软件处于该级别时,软件实施及相关的评估报告有了一定的参考依据。通过控制软件的过程,对于可能出现的偏差进行随时地调整;5)优化级。该级别主要的工作内容是为了使软件的性能更加可靠,实际的应用范围更大,从而对软件进行持续地改进。通过相关的试验查找软件中的漏洞,并对实验数据进行全面的分析。最终的目的是为了使该软件在技术上和方法上有所突破。通过对SW-CMM不同级别的分析研究,可以清楚地看到软件的设计、制定及实施的过程是可以不断地改进的,这也是对应软件项目管理存在的意义。
3 SW-CMM的软件项目管理模型分析与研究
3.1 项目启动
项目启动是整个SW-CMM模型内的初始阶段,需要从项目的可行性、项目方案的制定与实施、资源配置管理等方面展开深入地分析。其中,项目的可行性分析主要包括三方面的内容:1)技术角度的可行性。主要是指技术的选择能否对市场风险起到一定的预防作用;2)经济角度的可行性。主要是指项目的成本预算是否合理;3)社会推广的可行性。主要是指项目在推广过程中是否合法,相关的操作方式是否合理。同时,项木启动也对具体的工作目标、整个项目的估算及项目立案的管理等方面做出了一定的说明。
3.2 项目的整体计划
在整个模型中这部分的内容相对比较丰富,其中主要涉及了成本控制、风险规避、项目方案指导、工作步骤的有效分解及职责的明确等方面的内容。其中的工作步骤的有效分解可以起到对整个软件综合评估的作用。项目的成本控制可以通过多种方式达到预期的目的。主要有:相似项目的比较;专家团队的评估;算法模型的模拟及特殊的估计法等。对于一些规模较小的项目可以采用一些SW-CMM模型的建立进行相关地估算。
3.3 项目的风险评估
无论是在项目的启动阶段还是后续的项目实施阶段,都必须对整个项目的工作机制进行的综合的风险评估。风险评估的过程有着相对完整的体系。主要包括:风险的识别、风险的分析等。利用风险评估体系对SW-CMM项目管理进行整基于MVC框架下的生产用电统计分析系统的设计与实现
周双权,廖英杰,胡龙超,杨组辉,彭文,刘晨阳
(西南石油大学 计算机科学学院,四川 成都 610500)
摘要:随着采油厂作业区不断精细深入,油井数及注水量也逐年增加,电量录入及分析工作量大幅度增加的情况下,对电力的管理也提出了更高的要求。针对采油厂电力设备的信息化管理要求的不断提高,提出了采用ASP.NET MVC框架的生产用电统计分析系统。通过建立生产用电统计分析系统,实现电力设施和电力数据的统一管理和信息共享。实现电力设施和电力动态数据的集中管理和各类分类查询以及统计分析图表功能,提升电力管理日常工作效率,降低工作人员日常工作量,减少统计分析误差,为领导快速及时获取决策数据提供强有力的支持。
关键词:MVC框架;电力管理;统计分析
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)04-0111-02
1 需求分析
近年来,油田加大了信息化建设的力度,紧紧围绕油田的发展战略和核心业务,应用驱动,注重实效,以提高经济效益为目的,工作逐步规范,信息化建设稳步推进,油田信息化已被公认为增强企业核心竞争力的有效途径。在我国,上个世纪90年代后期,企业信息化得到了快速发展,“数字油田”的概念的提出,希望以信息技术为手段全面实现油田实体和企业的数字化、网络化、智能化和可视化。采油厂仍旧采用人工抄表录取分析的工作模式,在繁杂的人工作业过程难免会出现误差,并且偷电漏电的情况时有发生,这些都会对采油厂的利益造成损失。
通过建立生产用电统计分析系统,实现电力设施和电力数据的统一管理和信息共享。采油厂电力管理要求,实现电力设施和电力动态数据的集中管理和各类分类查询以及统计分析图表功能,提升电力管理日常工作效率,降低工作人员日常工作量,减少统计分析误差,为快速及时获取决策数据提供强有力的支持。本文基于ASP.NET MVC框架对生产用电统计分析系统进行设计与实现,并主要完成以下几个方面的工作:
1) 根据电力设施管理要求,建立供用电系统电力对比分析功能。
2) 根据电量管理要求,建立分系统(采油、注水、集输、辅助、外转供等)电量统计分析及单耗计算功能。
3) 建立分单位(部门)电量指标执行情况统计分析功能。
4) 采油厂用电报表自动生成。
2 系统体系结构设计
本系统主要用于采油厂生产用电统计分析,从而提高电力工人的工作效率,为领导快速及时获取决策数据提供强有力的支持。本系统主要包含以下功能模块:基础数据管理,电力设备管理,电量管理,系统单耗数据管理,统计报表分析图表,系统维护,每个模块又包含一些详细的子功能模块。系统体系结构图如图1:
图1 系统体系结构图
3系统采用的主要技术
3.1数据库服务层设计
数据管理采用oracle数据库,oracle数据库是甲骨文公司的一款关系数据库管理系统,它是在数据库领域一直处于领先地位的产品,系统可移植性好,使用方便,功能强,适用于各类大、中、小,微机环境。它是一种高效率,可靠性好的适应高吞吐量的数据库解决方案。
3.2 ASP.net MVC框架的运用
MVC框架是软件工程中一种软件架构模式,ASP.NET MVC框架是web端对MVC架构的一种灵活运用,将web开发分为了模型(model),视图(view)和控制器(controller)3个部分。Model对象包含数据,对数据库进行操作;View用于用户交互,在web开发中则是页面的实现,本系统View还运用了jQuery对页面进行前段代码编写,便于页面开发,以及使网页美观和简化网页操作;Controller使用C#对业务逻辑层进行开发。MVC模型强制性地将应用程序的输入,处理和输出分开。通过业务的分离,使应用系统的结构更清晰,升级,维护更方便。
Controller层是MVC架构的核心层,通过Controller的控制实现View与Model的交互,从而满足用户的业务需求。Web开发中直接与用户进行交互的是View层,用户在View层下达命令,View层将用户命令传递给Controller,在Controller的控制下实现Model层数据交互,Model层将数据传递给数据库,Model层接收传回的数据并传递给Controller,View层在Controller的控制下接收数据并且在页面中实现用户想要满足的业务。
4 系统主要功能设计与实现
4.1 系统模块设计
在系统的首页会有登录权限设置,利用登录管理对登录角色进行识别,从而保证了系统的保密性和完整性。该模块判断用户的合法性,只有具有正确用户名和密码的用户才有权限操作数据。
1)系统管理员:系统管理员是所以操作人员中级别最高的人员,管理员可看所有的功能模块。
2)登录用户:登录用户是普通用户,包含电工等人,能够对电量进行录入,以及查询功能。
4.2 系统的实现
本系统分为两大部分用于完成用户的需求。
1)子系统一为数据管理系统:主要分为基础数据管理,电力设施管理,电量管理这三大部分。
基础数据管理设置如下功能模块:电力设施归属单位管理、电表分类管理、耗电类别管理、采油方式管理。本模块主要对电表,耗电类别,采油方式进行统计录入,便于对电量进行分析,为用电设备与生产结合提供数据支持。
电力设施管理设置主要完成以下功能。电力线路管理:通过建立电力线路基础数据信息,实现电力线路号信息的下拉选择操作,确保信息的一致性和唯一性。杆号信息管理:杆号从属于某条具体的电力线路,一条电力线路包含有多个杆号。电表信息管理:电表安装在某个杆号线路的具体用电设备处,如变压器、采油井、注水泵、一厂外的油田内部其他单位、油田外的其他单位等。电力线路、杆号、总表和分表的关系示意图如下所示:
图2 电力线路、杆号、总表和分表的关系示意图
电量管理管理模块:电力工人到用电设备现场进行电表统计,然后将每月的电表数据录入电量管理系统。电力科管理人员将电力工人录入的数据进行审核,系统会自动将异常的数据标示出来,便于审核人员审核。通过审核后电量便会录入系统默认不能修改。
2)子系统二将子系统一中的数据进行分析与统计,形成数据报表以及柱状图。子系统二是本系统的主要业务模块,将基础数据录入后,自动生成统计报表,用于用户对用电进行分析,将电量与生产相结合,从而提高生产效益 。主要包含系统单耗数据管理,统计报表统计图表这两大部分。
系统单耗数据管理模块:主要将用电与单耗进行对比,得到用电量与生产效益之间的关系,然后得到单耗数据表格,为用户提高生产效益提供数据参考。
统计报表统计图表模块:本模块主要将子系统一的数据进行统计,产生用电月表年表等。通过Excel表格或柱状图将用电量进行显示,更加直观地展现用电量变化以及更好地跟生相结合。主要报表的生成能够帮助领导对电量有直观地认识,提高油田电力管理的信息化程度。
4.3前台功能实现
1)本系统通过建立生产用电统计分析系统,实现电力设施和电力数据的统一管理和信息共享。电表是本系统管理的主要对象,电表信息的录入界面如图3所示:
图3 电表信息的录入界面
2) 本系统的特点在于能够将生产用电与实际生产结合起来,当电量录入后能够自动生成各种报表以及柱状图,为领导快速及时获取决策数据提供强有力的支持。使用jQuery让View层的各种报表更加直观地展现给用户。并且使用了Excel表格与柱状图两种方式展现用电量与生产关系。用电量月报表Excel表格如下:
图4 用电量月报表
(下转第115页)
(上接第114页)
用电量月报表柱状图如下:
图5 用电量月报表柱状图
5 结束语
本文针对传统采油厂作业区对电力管理工作中的问题与不足,围绕“数字油田”的概念,以信息技术为手段全面实现油田实体和企业的数字化、网络化、智能化和可视化,提升采油厂电力管理效率,并将用电与生产相结合,设计和实现了“基于ASP.NET MVC框架的生产用电统计分析系统”。该系统基于ASP.NET MVC框架,有效地将数据模型,业务逻辑和数据表现三个功能模块,三个模块相互分离相互合作,各层之间耦合度降低,从而当系统功能发生改变时,能迅速变化满足用户的需求。系统实现采用了jQuery对视图层进行优化,数据模型采用了oracle数据库进行管理,业务层采用c#进行编程,并且具有ASP.NET易于理解,编程工作容易完成,快速开发的特点。
参考文献:
[1] 张岩.基于MVC架构的电费管理系统的设计与实现[D].长春:吉林大学,2015.
[2] 薛峰,梁锋,徐书勋, 等.基于Spring MVC框架的Web研究与应用[J].合肥工业大学学报:自然科学版,2012(3).
[3] 毕建信.基于MVC设计模式的Web应用研究与实现[D].武汉理工大学,2006(4).
[4] 李园,陈世平.MVC设计模式在ASP.NET平台中的应用[J].计算机工程与设计,2009(13).
[5] 张宇,王映辉,张翔南.基于Spring的MVC框架设计与实现[J].计算机工程,2010(4).
[6] 朱传宝,李从东.基于.NET平台的电力基建信息管理系统[J].计算机工程,2006(14).
[7] 王冬梅,曲京,史浩,等.中国石油数字油田建设探索与实践-A1A2从设计走向实现[J].信息技术与信息化,2010(6).的评估,主要是从项目实施中三方面的内容展开的。由于软件工程项目在具体的推广过程中可能出现各种类型的风险,需要对项目的风险评估机制进行随时地修改。
3.4 项目的实施与控制
这一阶段是项目取得成功的关键所在。由于项目在实际的实施过程中可能会遇到各种各样的突发状况,仅仅利用项目的风险评估机制很难对项目计划做到准确地预估,必然会导致一些偏差的存在。因此,利用项目的实施与控制的作用可以及时地修正这些偏差,保证整个项目能够顺利地实施下去。项目的实施与控制主要包括:需求管理、项目的全程监督及项目的有效控制。通过这些方面工作的开展,可以提高项目实施整体的工作效率。
3.5 项目的维护与软件质量管理
当所有的项目结束后,需要开展相关的资料整理及项目验收的工作。项目的验收一般是通过用户的体验完成的。由于最终的软件主要是为用户服务的,用户的客观评价是对整个软件安全性能的最好体现。除此之外,也需要对项目中一些重要的资料进行及时的归档整理。并对相关的工作做出一定地总结。
SW-CMM软件的质量管理包含着许多重要的内容。由于软件最终的应用与推广主要是针对用户与社会的,必须对软件的质量进行一定的管理,防止意外事件的发生。软件的质量管理主要包括:软件的综合评审、软件的性能测试、软件的漏洞、解决软件存在问题的方法。通过对这些方面的有效控制,可以保证软件的质量可靠性。
3.6 软件的配置管理
作为SW-CMM的软件项目管理模型的重要支撑平台,软件的配置管理对于整个软件的生命周期起着至关重要的作用。软件配置管理主要是对软件生命周期内产品的变更及相关的演化过程进行一定地管理。它主要解决的问题是软件变更过程中的标识、变更过程的控制及最终的发布等方面的问题。最终的目的是为了使最终的产品在有效性、需求性及可控性等方面达到用户的实际的要求。
4 结束语
SW-CMM软件项目管理模型在实际的应用中起着至关重要的作用,主要是因为它深入地分析了软件企业在项目管理工作方面存在的问题,并找到了科学的解决措施。这为软件企业未来的发展带来了积极地影响,使得企业在实际的项目开发中拥有了更多的选择。文中通过对SW-CMM项目管理模型实际应用的研究,为中小软件企业的发展提供了有效的策略。
参考文献:
[1] 魏国兴. 基于CMM的软件过程管理系统的设计与实现[D]. 北京:北京邮电大学, 2010.
[2] 张策. CMM/CMMI模型在成品油协同监管服务平台项目中的应用研究[D].长春: 吉林大学, 2011.
[3] 周津衍. 基于CMM的A软件项目开发过程改进研究[D].上海: 东华大学, 2015.
[4] 蔡洁. 基于CMM2过程改进模型的软件实训项目管理系统的研究[J]. 计算机光盘软件与应用, 2013(19).