美章网 资料文库 基于CMM的教育软件工程框架的建构范文

基于CMM的教育软件工程框架的建构范文

本站小编为你精心准备了基于CMM的教育软件工程框架的建构参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

基于CMM的教育软件工程框架的建构

一、教育软件工程概述

教育软件工程并不能简单地理解为“教育+软件工程”,开发教育软件所需的知识结构和技术能力也不是软件工程人员简单的学习教育书籍就可以达到。教育软件工程是研究如何用工程的技术和方法,开发、运行和维护的教育软件。开发教育软件的关键阶段在于系统设计,因为它体现了使用计算机技术实现教育思想的能力和水平。教育软件工程学是有关教育软件开发、运行和维护的多学科交叉而形成的新兴学科,主要涉及到计算机科学、教育学、心理学、管理学等多种学科领域。

二、CMM分析

CMM(CapabilityMaturityModeforSoftware)将过程进化的步骤分成五个成熟度等级,每个成熟度等级被分解为几个KPA,KPA是达到此成熟度等级必须解决的关键点。这五个等级分别是:①Initial级,软件过程没有任何标准和规章,软件产品的质量具有不可预测性。②Repeatable级,已建立基本的项目管理过程,整个项目过程已经制度化。KPA分别是:需求管理、软件项目计划、软件跟踪与监督、软件子合同管理、软件质量保证、软件配置管理;③Defined级,组织级法律框架健全,软件产品的基本过程被记录下来成为文档,项目可以通过裁减组织的标准软件过程来建立适合自己的软件过程。KPA分别是:组织过程焦点、组织过程定义、培训大纲、集成软件管理、软件产品工程、组间协调、同行评审;④Managed级,对软件过程的每一个阶段进行监控、取样和定量分析,对形成的关于软件制作和维护流程的数据库不断更新,保证软件过程保持较高的质量。KPA分别是:定量过程管理、软件质量管理;⑤Optimizing级,整个软件开发机构的重心转移到优化软件过程,软件组织对新技术的采用、产品预防缺陷、过程管理改进已达到循环优化的阶段。KPA分别是:缺陷预防、技术更新预防、过程更改管理。

三、基于cmm教育软件工程实施框架

教育软件的开发不同于一般的系统软件和应用软件。研制开发教育软件不能仅仅依靠软件专业的技术人员,需要具有多学科交叉的学术背景才能胜任教育软件的开发工作。CMM强调持续不断的软件过程活动的改进与控制,是一个非常有价值的过程模型。在具体的实践应用中,通过对CMM原理的改进,以提高教育软件质量、降低成本、加强产品开发的可延续性、增加客户满意度为目标,构建了一个基于CMM的教育软件工程实施框架。在这个框架中对目前CMM中的KPA做适当的裁减,定义了CMM中的7个关键过程域:需求管理、软件项目策划、软件项目跟踪和监督、软件质量保证、软件配置管理、同行评审和集成软件管理;并设置了4个工作组:软件工程过程组(SEPG)、软件工程组(SWEG)、软件质量保证组(SQAG)、软件配置组(SCM)。教育软件工程实施框架按照项目定义的软件开发过程进行,严格按照自己制定的CMM框架来管理监督,以保证开发活动符合定义的标准,开发过程采用瀑布模型作为教育软件生命周期模型。

1构建KPA

(1)需求管理(RM)。需求管理是教育软件工程的第一步,也是非常关键的一个步骤,可以说需求分析的完整与否直接影响到过程的改进,甚至可以降低软件质量、影响软件的开发。具体实施过程中应将教育软件的用户需求纳入基线管理,在同用户有一个良好沟通的基础上对需求分析做度量管理、跟踪,对作出的需求分析经过双方的反复论证形成标准的文档资料。许多项目在完成后,用户不断新增需求或提出变更,使维护工作处于一种没完没了的地步,这就说明需求工作没做好,没有做严格的评审,导致软件产品的质量不好。

(2)软件项目策划(SPP)。教育软件项目策划是根据目标对教育软件过程实施活动的安排,是实施CMML2的核心并纳入基线管理。其关键活动有软件生存周期模型、工作产品、工作分解结构、项目估算、风险分析、项目计划。教育软件项目策划控制包括进度控制、成本控制、质量控制、风险控制等。采取里程碑+跟踪测试的方式进行,控制活动中注意对工作量、成本、关键计算机资源、进度、技术活动、风险的操作。

(3)软件项目跟踪和监督(SPTO)。教育软件项目的跟踪和监督是根据项目的计划,它始终贯穿于整个过程中,是实施CMML2的核心,目的是规范教育软件过程的流程,增加教育软件过程中进度、成本、质量的可视性。在教育软件工程中按照软件项目策划对需求、工作量、成本、进度、风险等内容进行跟踪并形成文档,跟踪过程中注意数据收集、数据的分析并确定是否采取纠偏措施,需求和进度直接影响整个软件产品的功能和成本,对风险的监督可以降低一些突发性的事件。

(4)软件质量保证(SQA)。教育软件质量保证对用户来讲是教育软件产品满足用户需求的能力特征总和,对软件组织本身来讲体现了软件开发的高质量、低成本和可控性,是有计划、系统的质量管理活动,其目的是使软件生产过程和软件产品可视化、文档化,即监控软件过程保证合格的产品。在教育软件工程的实施过程中教育软件质量保证在SCM、PR、SPTO的相互配合下完成,SQA作为一个第三方的独立活动而存在。

(5)软件配置(SCM)。教育软件配置是一种通过标识和文档来记录配置项的功能和物理特性,控制这些特性的变更、记录和报告变更的过程状态。目的是建立和维护在整个生命周期内软件产品的完整性。在教育软件工程中主要做了三个子项①配置项的标识,标识做到唯一性,便于跟踪和管理。②安全的配置控制,对个人开发人员、公用软件工作产品、软件产品都实行标准数据库管理,各自的变更分别存入软件开发库、软件基线库、软件产品库。这三个库很关键,有不同角色的人员通过不同的权限来管理。③配置审计,在软件产品交付使用之前对软件基线库执行一次完整的审计过程,保证最终软件的运行。

(6)同行评审(PR)。同行评审作为教育软件质量保证的依据而存在,它根据预定的规范和标准对软件产品进行评审,本框架将教育软件工程的同行评审作为一个KPA保留下来是因为可以通过在软件行业中的同行来帮助发现问题。SPTO只能发现将需求分析、设计文档等各个基线作为标准资料去寻找在实际过程中的缺陷或错误,而同行评审是从行业规范的角度去看问题,同行评审当中的人员全部来自本组织之外。同时,对于教育软件工程中的详细设计和软件测试作为两个关键评审点来进行PR,因为这两个点在实际评审中最能发现问题,发现的问题直接影响软件的成本与质量。

(7)集成软件管理(ISM)。集成教育软件管理的目的是针对教育软件工程的过程管理,在实施中建立合适的软件过程,此过程具备就绪、输入、输出、标准、验证机制、完成判断等特征。通过教育软件工程的实施可以看出在整个软件过程得到定制的情况下观察到所有过程的进展情况,对进度、成本、质量真正做到可控和可预测,降低风险。

2组的定义

教育软件工程过程组(SPEG)统一领导教育软件工程的CMM实施活动,协调整个软件过程的开发和改进活动,用来制定、完成、维护软件工程规范和过程。集成软件管理的内容也由SPEG完成。教育软件工程组(SWEG)负责教育软件工程的需求分析、详细设计、概要设计、编码、测试工作,SWEG完成RM和SPP。教育软件质量保证组(SQAG)用来完成教育软件工程的测试,对软件过程进行跟踪和监督,保证软件过程的步骤按标准执行,评审软件工程活动,检验软件的一致性,提高软件质量。SQAG集成了STG(系统测试组)、SPTOG、PRG过程,并完成相关任务。项目负责人直接监督SQAG的工作计划。教育软件配置组(SCMG)负责教育软件工程中软件配置的策划、协调和实施,对配置数据库做维护、变更、版本管理,同时完成ISM的任务。

四、结语

教育软件工程的实施是一个复杂的过程,教育软件的开发人员以及开发组织的管理是重要因素,在CMM的基础上建立一个更为适用教育软件工程的模型是我们的目的。由于裁剪的基本原则是维持软件能力成熟度模型的结构和要求,并未从根本上改变模型本身,使教育软件项目始终处在可视化的优良受控状态中,所以有助于教育软件开发过程的规范化、标准化,可以提高教育软件开发效率,提高教育软件产品质量,从而保证用户能得到满意的教育软件产品。(本文作者:孙琦龙单位:青海民族大学计算机学院)