首页 > 范文大全 > 正文

案例驱动的“软件工程经济学”教学过程探析

开篇:润墨网以专业的文秘视角,为您筛选了一篇案例驱动的“软件工程经济学”教学过程探析范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对“软件工程经济学”课程中软件成本估算教学环节存在的对估算模型原理理解不透彻和应用模型分析、解决实际问题较困难等现象,通过对课程的性质、特点进行分析以及教学经验的总结,提出案例驱动的软件成本估算的教学方式,阐述软件成本估算模型——Delphi法案例的设计和案例教学步骤中的注意事项。

关键词:软件工程经济学;软件成本估算;Delphi法;案例驱动

作者简介:岳清(1973-),女,河南郑州人,北京信息科技大学计算机学院,副教授;郝保水(1976-),男,河北衡水人,北京信息科技大学计算机学院,讲师。(北京 100101)

基金项目:本文系北京信息科技大学教育教学改革项目(项目编号:2011JGYB22)、“北京市级人才培养模式创新试验区——软件工程专业卓越计划试点改革项目”的研究成果。

中图分类号:G642.0 文献标识码:A 文章编号:1007-0079(2013)19-0094-03

软件工程经济学是软件工程的三大学科分支之一,与软件工程技术学和软件工程管理学共同构成软件工程学科体系。该课程是软件工程专业本科生和研究生的一门重要专业课。有效的软件成本估算是减少软件项目预算超支问题的首要措施,是成功管理软件项目的必要前提。[1]因此软件成本估算是“软件工程经济学”课程的重要组成部分,有着举足轻重的分量。

常用的软件成本估算方法有:参数模型估算法、专家估算法、类比估算法、自顶向下估算法和自底向上估算法等。其中,专家估算法是目前应用最为广泛的成本估算方法。本文通过专家估算法——Delphi法教学过程的分析,探讨以学生为主体的案例驱动教学过程。

一、 Delphi法介绍

Delphi 法最早出现于20世纪50年代末,是当时美国为了预测在其“遭受原子弹轰炸后,可能出现的结果”而发明的一种方法。美国兰德公司(RAND)的赫尔默(Helmer)和戈登(Gordon)于1964年首先将其用于技术预测。此后便迅速地应用于美国和其他国家。除了科技领域之外,其还几乎可以用于任何领域的预测,如教育预测、人口预测、医疗保健预测、经营和需求预测等。[2]Delphi法是专家估算法的一种,由于专家在进行估算的时候很可能有产生悲观、乐观的偏见,甚至是由于对估算对象了解不够而产生偏差很大的估算,因此对于较大的项目就不能由一个专家来估算,而需要多个专家的群体分析。Delphi法即采用专家群体的意见,不是专家个人的意见,因此又称为专家群体法,在对一些规模较大、研发经费较多的项目做成本估算时项目管理部门往往采用Delphi法。[3,4]

二、 传统教学中暴露的问题和改革的思路

在传统的教学过程中,教师通过对一个软件项目成本估算来讲述Delphi法每一个步骤。由于Delphi法的求解流程复杂,用时较长,同时课程的连贯性很强,分析过程一环扣着一环,这种“被动”的学习过程导致有一部分学生“掉队”,对Delphi模型理解不透彻,更谈不上应用模型分析和解决实际问题。

课程改革的思路是让学生最大限度参与到教学过程中,让学生充当Delphi分析法中的一个成员,对学生熟悉的一个项目用Delphi法进行成本/工作量估算。在整个项目成本估算的过程中,学生不是被动地接受知识,而是作为一个参与者,主动地、直接地参与了估算过程,极大调动了学习积极性。

三、 教学改革后的Delphi法教学过程

由于软件本身的特性,人员成本通常占到整个软件项目成本的绝大部分,“成本估算”与“工作量估算”在很多情况下可交替使用。本文采用的是“工作量的估算”。

本案例教学是用Delphi法对一软件项目的开发工作量进行估算。在软件项目的选择上要选择学生熟悉的项目,如:数据库课程设计大作业、软件项目实践课程大作业或者管理信息系统大作业。学生熟悉项目,有一定的系统设计、开发经验,对工作量的估算相对比较准确,不会产生很大的分歧。本文采用的项目是管理信息系统课程的大作业“酒店客房管理系统”。学生已以小组为单位完成了“酒店客房管理系统”的需求分析、设计和实现,对系统构建过程比较熟悉。教师在课程之前准备好“酒店客房管理系统”的需求说明书,其中的需求要比管理信息系统课程实现的系统稍复杂一些,给学生发挥的空间。需求说明书在课前发给学生,要求学生课前预习,了解需求。

课堂教学步骤如下:

1. 教师讲解Delphi法求解流程

Delphi法的求解流程如图1所示,教师简略讲解Delphi法的各个步骤,说明专家调查表、反馈意见统计表的填表方法、几个关键参数的含义。这里的讲解不用很详细,让学生在下面的活动中去体会Delphi法的求解流程。

2.分组

通常教学班有30人左右,可分为5组,每组6人,其中每组5名学生的角色是专家,1名学生的角色是会议主持人。不要把成绩好或者差的学生集中在一组,最好各组之间能力平衡。应选择有一定组织能力、专业能力较强的学生担任会议主持人角色。

3.项目信息和评审规则介绍

充当会议主持人的学生应在课前对项目进行深入的了解和分析,并且准备项目介绍的PPT,在课上将项目介绍给同一小组的专家。介绍的内容包括:项目的背景资料、需求说明书、项目进度的相关要求和评审的规则。评审的规则有调查终止次数、调查终止的上界。这里假设调查终止次数为4,也就是最多4轮后就要结束调查。调查终止的上界就是临界变异系数,变异系数是反映数据离散程度的绝对值,由于各模块工作量的平均值不同,比较其变异程度就不能采用标准差,而需采用标准差与平均数的比值(相对值)来比较。标准差与平均数的比值称为变异系数,临界变异系数即为评审可以接受的数据最大变异程度,本文假设临界变异系数为15%,对某个模块分析时,当专家组对该模块工作量估值的变异系数小于等于该值,调查终止。

4.发放调查表

会议主持人发放调查表,如表1所示,本案例的“酒店客房管理系统”由6个模块组成,分别是客房管理模块、预约管理模块、前台接洽模块、客人结账模块、夜审模块和查询模块。由于在项目开发中可能会遇到各种风险,因此在估算时对每个模块的工作量按三种不同的情况进行估算:乐观、最可能和悲观。乐观值是指在条件最有利的情况下估算的值,最可能值是指在正常情况下估算的值,悲观值是指在条件最不利情况下估算的值。由于所选的项目是学生熟悉的项目,这就保证了估算时不会产生严重的分歧。

5.专家无记名填写调查表

小组中的5名专家无记名填写专家调查表,分别给出各个模块工作量的乐观值、最可能值和悲观值:第k个专家对第i个模块工作量估算的乐观值为aki,第k个专家对第i个模块工作量估算的最可能值为mki,第k个专家对第i个模块工作量估算的悲观值为bki。本课程在原有的系统上增加了少部分功能,学生能够根据先前的知识和经验对各个模块的工作量进行估算。

6.主持人计算及汇总数据

专家将填写好的调查表交给主持人,主持人要计算出估值的平均值和变异系数。根据中心极限定理可知, 各模块工作量服从正态分布,[5]计算过程如下:

根据公式计算出每个专家对每个模块工作量估算的期望值。

根据公式计算各模块的工作量估值的平均值,即5个专家工作量估值的平均值。

根据公式计算出专家组对i模块成本估值的样本均方差。

根据公式计算出专家组对i模块成本估值的变异系数。[2]

在这个环节中,让学生通过数据去体会均方差σ2i和变异系数εi两个概念的不同,并以小组为单位讨论。这两个参数都是体现专家组估值与平均值的差异,σ2i体现的是绝对值,而εi体现的是相对值,因此在比较两组或多组均值不同的数据时,应该用变异系数而不是均方差作为比较的参考值。计算出以上数据后,会议主持人填写专家组反馈意见统计表,如表2所示。

由变异系数判断该子模块是否终止。变异系数体现了不同专家估算值和平均值偏差的程度。变异系数越小,表示专家的意见越统一,否则,意见有较大的分歧。如果变异系数小于本例初始的设定值15%,则对该模块的分析到此结束,不再进入下一轮调查,这一轮计算的估值平均值即为该模块的工作量估值。如果这一轮变异系数大于初始设定值,则再次判断调查的次数是否到达上界,如果到达,则终止调查,该模块的工作量估值为前面各次调查估值平均值的平均值。如果这一轮变异系数大于初始设定值并且调查次数没有到达上界,则调查次数加1,进入下一轮调查。实际教学过程中,学生会发现意见统一的模块只进行了一轮或两轮就终止了,而分歧较大的模块则调查的次数较多。

7.专家讨论

在新一轮调查之前主持人要组织召开专家会议,公布这一轮要调查模块的估值平均值、工作量估值的均方差和变异系数,然后每个专家阐述各自的意见,经过充分讨论之后,重新填调查表。在这个教学环节中学生讨论得比较激烈,各自阐述原因,沟通的过程促进了学生对项目开发过程的理解。注意,在步骤6中终止调查的模块就不需要再次分析了,只需要分析变异系数大于初始设定值的那些模块。新一轮调查,专家是按照如下准则修改数据的。[3]

如果专家之前对该模块给出的值大于估值平均值,这一轮应该往低估,并且给出的值应该介于估值平均值和上一次给定值的之间。

如果专家之前对该模块给出的值小于估值平均值,这一轮应该往高估,并且这一轮给出的值应该介于估值平均值和上一次给定值的之间。

以上两个原则保证了新一轮调查变异系数的减小,也就是专家的意见趋于统一。专家按照上述原则填调查表,返回步骤5。

上述7个步骤就完成了Delphi法分析过程。不同模块工作量估算过程可能有所不同。有的模块只进行了一轮,变异系数小于初始设定值,就不再估算了,输出估值平均值;有的模块进行了几轮,变异系数在减小,在规定的调查次数中满足了变异系数小于初始设定值,也不再估算了,输出本次的估值平均值;还有可能有的模块进行了几轮,变异系数在减小,但是在规定的调查次数中依然没有满足变异系数小于初始设定值,此时也不再估算了;输出的估值平均值。

8.教师总结

教学过程中,学生主动参与工作量估算、讨论和计算等过程,积极性高;教师在学生分组讨论前讲解流程,在讨论中对各组巡视、解答一些疑难问题,在分组讨论结束后,要进行总结,对各个小组讨论中出现的典型问题汇总,帮助学生梳理思路。

四、 计算的简化

在Delphi法的求解过程中,有大量的计算过程。如,在步骤6中要计算模块的期望工作量、估值的平均值、均方差和变异系数。如果这些全部在课堂教学中计算,整个Delphi法的教学案例很难在一个学时内完成。为了解决这个问题,在Delphi法课程之前,先让学生完成一个软件工程经济学教学辅助工具——Delphi法模型演算工具的制作。该工具实现了上述步骤5的计算。通过这个工具,主持人只要输入各专家调查表中的数据,就会输出专家组反馈意见统计表相应数据项的内容。工具的制作不仅达到了让学生课前预习的目的,还节省课程中案例教学时间。

五、 教学效果

案例教学中,每位学生都以特定的角色参与了Delphi法的工作量估算过程。通过每一轮的调查、计算、讨论,学生理解和掌握了Delphi法的原理和工作流程。对于某些复杂的参数,如变异系数的理解,只有课堂上教师的理论讲解是不够的。学生通过几轮调查,发现根据规则改变了估算值后,变异系数减小,就能感觉到变异系数的含义。

北京信息科技大学的软件工程专业开设了“软件工程经济学”课程,本案例应用于教学中,通过这种分组、讨论的、互动的教学,学生对Delphi模型理解透彻,为将来应用模型分析和解决实际问题打下了良好的基础,学生体会到了“学中做,做中学”的教学理念,提高学生学习的积极性和主动性,增加了对课程和专业的兴趣,取得了很好的教学效果。

参考文献:

[1] 李明树,何梅,杨达,等. 软件成本估算方法及应用[J].软件学报,2007,(4):775-795.

[2]于全夫.用Delphi法进行选题计划的评估[J].科技传播,

2012,(16):15-16.

[3]赵玮.软件工程经济学[M].西安:西安电子科技大学出版社,

2008:78-82.

[4] [美]Barry W. Boehm.软件工程经济学[M].北京:机械工业出版社,2004:237-250.

[5]周概荣.概率论与数理统计[M].北京:高等教育出版社,2008,(4):