百益文库网为您提供优质参考范文! 工作汇报 共同富裕 思想汇报 事迹材料 党课下载 不忘初心
当前位置:首页 > 专题范文 > 主题教育 >

SQA规范对于教育软件开发的启示

时间:2022-11-06 08:24:02 来源:网友投稿

【摘要】卡耐基·梅隆大学软件工程研究所提出的CMM(capacity maturity model,软件能力成熟度模型),提出了软件开发中从混乱的、个别的过程达到成熟的规范化过程的一个框架。其中SQA(software quality assurance )是CMM第2等级中的一个关键过程域。SQA通过贯穿整个软件开发过程的质量监控,可以显著改善软件产品的质量。教育软件的开发同样如此。本文从SQA规范的角度出发审视教育软件的开发,探讨其对教育软件开发的启示。

【关键词】教育软件开发,CMM模型,SQA规范

【中图分类号】G420【文献标识码】B【论文编号】1009—8097(2006)02—0015—04

一、引言

近几年来,随着以计算机和网络为主的信息技术的迅速发展,它在教育中的应用受到社会各界的普遍关注。从实践情况来看,全国各地中小学校的信息技术硬件基础设施建设已经初具规模,一些经济发达地区的学校硬件基础设施配备其豪华程度甚至超过了英美等发达国家的平均水平。但是,教育信息化的顺利实施,仅有硬件的支撑是不够的,更重要的是教学软件资源的建设。据慧聪商情统计[1],2002~2003年度我国教育信息化投资达210亿元,其中教育软件方面的投资占34亿元,教育软件销售量在整个软件零售市场中所占份额约为34%。然而根据K12网站最近做的一次调查[2](教师、学生、家长和其他人士共1461人参与)发现:对教育软件的开发,只有10.61%的人感到比较满意,感觉一般的为31.9%,感觉不太满意或非常不满意高达57.49%。为什么教育软件市场不断升温,而人们对教育软件的满意程度如此低下?产品的最终质量很大程度上取决于产品的生产过程中,一个规范的软件开发过程对于保证软件的质量有着极其重要的意义。广大教师普遍觉得当前教育软件总体上来说数量很多,但真正适合自己使用的却很少。许多教育软件仅仅是教材内容的电子化,有些甚至存在科学性错误,有些不能进行二次开发,还有些教育软件存在兼容性问题等等。教育软件的质量是影响教育资源有效应用和整个软件市场健康发展的一个关键,如何开发出高质量的、满足师生需求的教育软件自然成为众多教育软件企业苦苦思索的一个问题。

本研究之所以选择CMM模型中的SQA规范,主要是因为目前众多软件生产企业都将通过CMM等级认证作为规范企业开发行为、保证产品质量、提高企业竞争力的重要手段,从我国教育软件企业的实际情况出发,参考CMM2级的标准进行软件过程改进是有其可行性的,在教育软件的开发中,引入SQA对于解决目前教育软件开发过程中存在的问题进而保证生产出高质量的教育软件都有着重要的意义。

二、CMM和SQA规范介绍

1、CMM(软件能力成熟度模型)简介

CMM(Capacity Maturity Model,软件能力成熟度模型)模型是卡耐基·梅隆大学以Watts Humphrey为首的专家们总结了大量的软件工程项目的经验后形成的研究成果。CMM按软件过程的不同成熟程度划分了5个等级(初始级、可重复级、已定义级、已管理级、优化级),它是衡量软件组织过程成熟度的尺度,为企业改进过程提供了导向的路线图。具体而言,各个成熟度等级的管理差异、特征和关键过程域(Key Process Area,KPA:即要达到每个等级的目标所要做的关键的实践工作)可以用下表1(郑人杰等,2003)加以描述。

从上表可以看出,CMM中的第1级属于初始级,是个别的、混乱的、不可预测的过程,其中并没有关键活动域。第2级是可重复级,引入了项目管理的思维,注重过程的可重复性,有六个关键过程域,对于保证软件的质量是极其重要的。第3、4、5级是日臻完善的过程,处在较高成熟度等级上的软件企业通常具有较高的生产率、较高的产品质量和较低的项目风险。教育软件企业可以借鉴CMM中的标准和规范来改进开发过程,保证最终产品的质量。

CMM给出了CMM模型体现了软件工程和软件管理的优秀实践,它集中了许多软件工作者合作总结出的一套过程和实践,对于指导软件组织改进过程有着重要意义。目前全球的软件企业都把通过CMM的等级认证作为规范企业开发行为,保证产品质量,提高企业竞争力的重要手段。

2、SQA规范的具体描述

为CMM第2等级的软件质量保证(software quality assurance,SQA),本文主要是采用1991年IEEE所提出的定义。具体而言,SQA是一种有计划的、系统化的行动模式,它是为项目或产品符合已有技术需求提供充分信任所必需的、设计用来评价开发或制造产品的过程的一组活动(IEEE,1991;Daniel Galin,2004)。SQA规范的具体内容,如表2(郑人杰等,2003)所示。

在软件项目的早期阶段,SQA的参与人员与项目开发人员一起制定开发计划(SDP),同时SQA的人员制定一个质量保证计划(SQAP)。软件质量保证计划是成功进行软件质量保证工作关键的第一步,实际上在SQAP中所制定的一系列计划涵盖了SQA的所有活动。在整个软件的生存周期中,SQA选择适当时机评审项目活动、审核软件产品、验证规程和标准的符合情况。SQA把评审收集上的信息及时反馈给软件工程组,当问题无法在工程组内解决时,再向上级管理者汇报,以求解决问题。从软件需求阶段开始到系统测试为止,软件质量保证过程与软件开发过程是同步的,并且与软件开发过程的信息交流是双向反馈的。

需要说明一点的是,SQA与软件测试并不是一回事,软件测试是软件开发过程的一个阶段,而SQA是贯穿整个软件开发过程;软件测试的结果可供SQA使用,软件测试不能代替软件质量保证。

三、SQA对于教育软件开发的启示

SQA规范在一般软件开发中的应用已经取得了良好的效果,在教育软件开发过程中,我们同样可以引入SQA规范,通过其在开发过程中的应用来保证教育软件产品的质量。具体而言,SQA规范对教育软件开发的启示主要体现在以下三个方面。

1、设立SQA组并制定SQAP

对于教育软件来说,所谓的高质量并不仅仅体现在软件功能的实现上,更重要的是其是否承载着先进的教学理念,能否满足教师和学生在教学和学习方面的需求。只有从教育软件的教育性入手,深入分析师生的需求,深入分析教学内容,运用教育学、心理学、视听心理学、媒体设计理论、软件工程等知识来指导软件的开发,才能开发出高质量的教育软件。

因此,我们提倡在开发过程中设立一个有教学设计人员和学科专家参与的SQA组,这样可以保证教育软件的科学性和教育性。SQA组的人员与教育软件的开发人员彼此独立。基于教育软件公司的成本考虑,其SQA组建议主要由管理人员、程序设计人员、教学设计专家、学科专家组成。

SQA中的第一个目的是确保软件质量保证活动是有计划的,所以设立完SQA组后的首要任务是制定软件质量保证计划(SQAP),其中的具体内容包括:(1)SQA员工的职责和权力;(2)SQA活动的日程表和投资;(3)SQA参与制定的项目的SDP、标准和规程的情况;(4)SQA对项目活动和产品的评价、审核情况;(5)SQA向软件工程组和高级管理者反馈信息的文档。实际上在SQAP中所制定的一系列计划涵盖了SQA的所有活动。在整个软件的生存周期中,SQA选择适当时机评审项目活动、审核软件产品、验证规程和标准的符合情况。SQA把评审收集上的信息及时反馈给软件工程组,当问题无法在工程组内解决时,再向上级管理者汇报,以求解决问题。从软件需求阶段开始到系统测试为止,软件质量保证过程与软件开发过程是同步的,并且与软件开发过程的信息交流是双向反馈的。

2、建立有效的交流协调机制

SQA的另一个目的是“受影响的组和个人接到软件质量保证活动和结果的通知”,相应地SQA组定期向软件工程组报告其活动结果。建立有效的交流机制体现在两个方面,一个方面是SQA组和开发组之间要建立有效的交流机制,从项目开始 SQA就参与制定的项目的开发计划、标准和规程,所以从一开始SQA组就要和开发组有所沟通,和开发组一起制定合理而有效的开发计划;在项目的开发过程中,SQA组中的管理人员主要审核开发组的开发计划是否合理、开发成本是否合理、开发风险是否可控等问题;程序设计人员审核开发的技术是否合适,代码和文档的编写是否合乎规范,软件测试是否符合要求等问题;教学设计专家和学科专家审核资源内容是否具有科学性和适用性、资源内容的组织是否合理、资源的表现方式是否符合特定学习者的认知方式、资源建设是否符合特定的标准等问题;SQA组会定期将这些评价和审核的情况都会以文档的形式反馈给开发组和高级管理者,以便开发组及时调整开发活动。所以SQA组和开发组的有效交流机制的建立非常重要。另一方面开发组内部的成员也要建立有效的交流机制。开发组内部的项目经理要做好教学设计专家、学科专家与程序设计人员的管理工作,协调他们之间的交流,如果不能协调好就会出现程序员和教学设计专家、学科专家之间彼此不能明白对方的意思。保证相互之间明确对方的开发意图,对于保证教育软件的教育性和提高质量有着重要的意义。

3、教育软件产品和开发活动要符合规范

SQA的第二个目的是软件产品和活动遵守适用的标准,规程和需求的情况得到客观验证。从教育软件的开发活动来看,开发活动要符合规范。

首先,开发人员组成要合理。从公司调研的实际情况来看,目前许多教育软件的开发并没有教学设计人员和学科专家的直接参与。通常的情况是教育软件项目组中只有少数的几个核心骨干组成,并且一个开发人员(技术骨干)身兼数职,既要做需求分析,选题策划,又要做程序设计和软件测试。教育软件的开发人员一般由以下人员构成:项目管理人员、程序设计人员、需求分析员、脚本写作人员、教学设计专家、学科专家等。将开发人员确定为一个项目组,并根据预先制定的计划具体安排每一项活动,人人各司其职、反对技术骨干身兼数职。

其次,教育软件的开发要经过详细的需求分析。全国教育科学“十五”课题“信息技术在中小学教育中应用的有效性研究”课题组2004年4月在北京、内蒙古、安徽和辽宁四省市做了教师对于教学资源需求的问卷调查,共发放800份问卷,回收679份,有效问卷668份,回收率84.9% 有效率98.4%。调查结果表明,93.2%的教师表示教育软件公司从来没有调查过他们对教学资源开发的需求信息(徐恩芹,刘美凤,2005)。如果没有针对广大教师用户进行需求分析,就很难做出高质量高的教育软件产品。从这一点也可以看出,在最初的需求分析阶段就体现出了教育软件的开发过程缺乏规范性。

第三,教育软件产品的开发要符合教育领域内的资源建设元数据标准,目前国内的标准主要有:Celts-3 (学习对象元数据规范) ,Celts-9(内容包装规范),Celts-41(教育资源建设技术规范),Celts-42(基础教育资源建设元数据规范),基础教育教学资源元数据规范(celts-42)等标准,国外的标准有:OCLC 的Dublin Core元数据规范,IMS的LRMS(Learning Resource Metadata Specification)规范和CPS(Content Packaging Specification)规范, IEEE LTSC的LOM(Learning Object Metadata)规范,ADL(Advanced Distributed Learning)组织的SCORM(Sharable Content Object Reference Model)模型等标准。

最后,教育软件的开发过程中要加强文档管理。从我国目前教育软件开发企业的实际情况来看,教育软件项目一般来说都是一些小型的项目。在1998年的关于CMM和小项目的软件工程过程小组会议上,“小”被定义为周期为3-4个月且员工不超过5个的项目;Brodman和Johnson把小型组织定义为软件开发人员不超过50人的组织,把小项目定义为开发人员不超过20人的项目(刘春颂,杨寿保,2002)。小型项目中由于人员少、任务少、人员交流方便等一系列原因导致在整个开发过程中并不重视文档编制,例如:开发计划和过程文档只是简单的提纲,并没有对其进行细致的描述。在实际的开发过程中,应遵循“先文档后程序”的思想,对整个的开发过程进行全面的文档化管理。文档化的管理不仅能够使所有在开发过程中发生的活动有案可查,而且能够为公司开发类似的项目积累开发经验,提高软件的生产率。

四、小结

CMM模型自1987年面世以来,已经在各国软件业产生了巨大的影响。我国的教育软件生产企业可以借鉴其中的某些思想和规则来更好地指导教育软件的开发,开发出质量更高的产品,提升我国教育软件生产企业的竞争力。本研究从CMM的第2级的SQA关键过程域的活动中得到启示,思考目前的教育软件开发过程中存在的问题,通过规范开发过程来提高教育软件开发的质量。希望这些研究结果能够对我国目前教育软件企业的开发工作有所启发和借鉴。

——————————

参考文献

[1]中国软件产业分析报告.上海德明管理顾问有限公司/pdf_files/中国软件产业分析报告.pdf,2005

[2] Capability Maturity ModelSM for software, Version 1.1, 2005

[3] 吕森林(2004).重建教育软件产业链[J].中国远程教育, 2004,(8):61-64

[4] 郑人杰,王维,王方德,蔡愉祖等(2003).基于软件能力成熟度模型(CMM)的软件过程改进—方法与实施[M].北京:清华大学出版社,2003:126-138

[5] [以色列] Daniel Galin(2004).软件质量保证[M].王振宇,陈利,王志海等译.北京:机械工业出版社,2004:10-19

[6] 徐恩芹.刘美凤(2005).我国中小学教师对教学资源需求的调查报告[J].中国电化教育,2005(3):74-77

[7] 刘春颂,杨寿保(2002).CMM导入小型软件企业 /小型软件项目的研究[J] .计算机工程与应用, 2002,(18):88-91

[8] 王旭坪(2004).基于CMM的中国软件企业评测模型[J].中国软科学,2004(3):76-79

[9] [美]Sami Zahran(2002).软件过程改进[M].陈新,罗劲枫等.北京:机械工业出版社,2002:21-25

[10]马闰娟,梁成才(2003).CMM二级KPA软件质量保证的一个实施方案[J].计算机工程,2003,(2):112

[11]凌云(2003).我国教育软件企业发展对策研究[J].经济师,2003,(3):80-81

The Implication of SQA for Instructional Software Development

Zhong MingyangLiu MeifengDu Yuan

School of Education Technology, Beijing Normal University, Beijing, 100875

Abstract: As the key process areas of Capacity Maturity Model (CMM), Software Quality Assurance (SQA) improved the quality of software a lot by monitoring the quality during the whole development process. In this paper, we analyzed the development process of instructional software in the perspective of SQA, and drawn out some guidelines to the instructional products development.

Keywords: Instructional Product Development, CMM, SQA

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

推荐访问:启示 规范 开发 教育 软件