实训在《软件工程经济学》教学中的应用与探析
2020-12-24宋法根刘佳
宋法根 刘佳
摘 要: 软件工程经济学是软件工程专业的重要专业课程之一,本课程重点培养学生运用经济学的相关知识,分析、处理软件工程中的相关经济问题的能力。但是,目前对于软件工程经济学的教学只局限于理论教学,缺少实训教学,大大降低了本门课程的教学效果。本文对实训在本课程教学中的作用,实施方法进行探讨,提出在软件工程经济学中适用的实践教学方法。
关键词: 软件工程经济学;实践教学;课程实训;软件工程
中图分类号: TP311.5;G434 文献标识码: A DOI:10.3969/j.issn.1003-6970.2020.07.060
本文著录格式:宋法根,刘佳. 实训在《软件工程经济学》教学中的应用与探析[J]. 软件,2020,41(07):288-291
Application and Analysis of Practical Training in the Teachingof Software Engineering Economics
SONG Fa-gen1, LIU Jia2
(1. Yancheng Institute of Technology, Yancheng 224051, China;2. Yancheng Environmental Science And Technology City Experimental School, Yancheng 224001, China)
【Abstract】: Software engineering economics is one of the important courses of software engineering. This course focuses on cultivating students' ability to analyze and deal with the relevant economic problems in software engineering by using the relevant knowledge of economics. However, at present, the teaching of software engineering economics is only limited to theoretical teaching, lack of practical teaching, which greatly reduces the teaching effect of this course. This paper discusses the function and implementation method of practical training in the teaching of this course, and puts forward the applicable practical teaching method in software engineering economics.
【Key words】: Software engineering economics; Practice teaching; Course training; Software engineering
0 引言
一個软件工程项目不仅是一个技术工程,同时也是一项重要的经济活动,如何科学处理软件工程项目的经济问题,一定程度上影响着项目的成败。故而进一步加强软件工程经济学的教学,培养学生的经济学素养是软件工程专业的必然要求[1]。但是,目前对于软件工程经济学的教学只局限于理论教学,一方面使得本课程过于理论化,很难使学生产生浓厚的兴趣;另一方面,缺少实训教学,大大降低了本门课程的教学效果。实践教学有助于内化理论知识、提高教学时效性。本文结合本课程的特点与多年教学经验,设计了一种开展实训的方法,实践证明,本方法实现了本课程的培养目标,达到了预期教学效果。
根据系统工程的理论,任何一个工程学科的方法论均可划分为三大部分[2,3,4]:工程技术学方法论,工程经济学方法论和管理学方法论。软件工程作为一门特殊的工程学科,其生产过程方法论同样课划分为:软件工程技术学方法论,软件工程经济学方法论和软件工程管理学方法论。软件工程经济学主要研究在软件开发、运行和维护全过程中,为满足用户成本、质量、工期、效益需求而采用的工程经济方法的全体。大多数的工程经济活动都和管理活动有着非常紧密的联系,故而本门课程不仅介绍相关经济学方法,同时也对管理学的相关内容进行了介绍。
1 课程特点
(1)软件工程经济学是一门交叉学科,设计内容较多。
教学内容涉及程序设计、软件工程、工程经济学、数学、管理学、市场营销、人力资源等多个学科,横跨文、理、工、管等多个知识体系,是一个多学科交叉的综合性学科。学习本门课程,要求学生具有一定的编程经验,了解软件工程的基础知识,具有坚实的数学基础,了解经济学、管理学的相关基础知识,通过本门课程的学习,培养学生从经济学、管理学、市场营销的角度分析处理软件工程项目开发、测试、营销、维护等过程中出现的而各种问题。
多学科的交叉融合,有利于培养适合社会需求的综合性人才,但是,这也为课程教学带来了新的挑战[5,6]。很少有老师同时精通经济学、管理学和计算机相关学科的知识,由经济学、管理学的老师负责课程教学,往往容易忽视软件工程专业知识,而软件工程专业的老师,往往对经济、市场营销等相关知识不太熟悉。采用不同老师讲授不同知识模块的方法,又容易忽视课程内容相互之间的联系。故而承担本门课程教学的老师,需要不断提升自身综合素质,创新教学模式,以适应课程教学的需要。
(2)软件工程经济学知识理论性较强。
软件工程经济学的授课对象为软件工程专业的学生,相对于本专业其他专业课程,本课程知识理论性较强,实践性、操作性内容相对较弱。而工科学生一般比较重视工程能力和实践能力的学习,容易忽视理论性课程的学习;另一方面,理论性内容一般比较抽象,理解比较困难,在学生学习的过程中,容易产生厌学情绪,从而影响课程的学习效果。
(3)软件工程经济学是一门比较新的学科。
Boehm于1981年出版第一本有关软件工程经济学的专著《软件工程经济学》,1990年机械工业出版社在国内出版发行。尽管这些年,国内外陆续有很多软件工程经济学的文献和论著出版,但总体上来说软件工程经济学仍是一个比较新的学科。一些理论体系有待进一步完善和系统化,优秀的教材及教学参考资料相对欠缺,优秀的教学案例相对较少。以上这些都在一定程度上增加了本门课程的教学难度,迫切需要我们完善课程的培养方案,改进教学方法,提高本门课程的教学质量。
2 教学中存在问题
理论枯燥乏味。软件工程经济学是理论比较强的学科,涉及到多个学科的相关理论,但是,这些理论之间往往又相对独立,很难形成系统[7,8]。如:软件规模度量,资金的时间价值,软件项目评价,团队建设与组织,这些理论自成体系,之间没有互为支撑的关系。学生学习这些知识时,往往感觉比较凌乱,缺乏系统性,难于掌握,故而容易产生对本门课程的厌学情绪。
学生兴趣不大。由于本门课程理论抽象,缺乏系统,故而本课程的教学,容易出现照本宣科,课堂气氛沉闷的状态。从几年的教学情况看,学生对本门课程的兴趣相对不大。学生对课程的兴趣,一般主要基于以下两个方面的原因,一方面,是课程本身趣味性较强,学生容易被相关知识吸引,软件工程经济学这门课程不具有这种特性;另一方面是课程知识的重要程度和实用程度,软件工程经济学是软件工程专业比较重要的专业课程,对培养一名合格软件项目经理的起着非常重要的作用,但是在校的大学生大多缺少社会阅历,往往只重视工程技术的学习,而忽视经济学素养,故而对本门课程兴趣不大。
理论与实际应用脱节。本门课程目前教学形式主要以理论讲述为主,缺少实践教学环节,学生通过课堂学习,能够掌握相关理论知识,但是由于学生没有实际项目经历,故而很难把所学理论与实际应用结合起来,应用到实际中,容易产生所学理论知识空洞无用的错误认识,进而产生厌学情绪。在教学过程中引入实训教学,在教学过程中模拟实际项目的环境,要求学生运用本门课程所学知识,解决遇到问题,在用中学[9],从而加深对本课程理论知识的理解,提升课程教学质量。
3 实训教学设计
本课程区别于程序设计、软件开发等解决工程技术问题的课程,主要用于解决实际项目中的经济问题和管理问题,故而在教学工程中引入实训环节有一定困难。本门课程实训教学设计的困难主要有两个方面,第一,如何模拟现实生活中的资金问题,在现实生活中,盈利是大部分企业的经营目的,是决定项目是否开展、项目如何开展的关键因素之一[10,11],在我们的教学设计中,采用挣取积分的形式来模拟现实中的投资与收益,根据学生完成项目的类型、进度、效果等情况给予相应的积分奖励;第二个方面的困难是如何模拟项目评价决策、风险管理与团队建设,这里采用多班级随机分组的方法,组长与成员协商选择课题,不集中安排实训时间和地点,由小组成员根据自身情况,合理安排,自行组织。这样小组成员团结合作模拟项目团队的管理。小组成员的上课时间可能不一致,个别成员可能因为自身原因缺席某一阶段的开发,项目期间学校可能统一组织其他活动,造成项目短时间暂停,要求小组根据自身情况,科学评估项目难度、工作量和可能出现的风险,合理安排,最终完成任务。
本实训共设计A、B、C、D四种类型的课题,每个类型有多个课题可选,四种类型题目难度和工作量依次增大,每个小组需要支付对应的积分从老师那里兑换对应的课题,A、B、C、D对应积分分别为10分、20分、30分和40分,四类课题的基础奖励系数分别为1.1、1.2、1.3或1.4。每个小组可以运用本组拥有的积分,购买对应的一个或多个课题,最终将根据各小组选择的课题与其对应的系数计算完成该课题可能得到的积分奖励。
4 教学实施过程
本教学实施过程主要分三个阶段,选题阶段,中期检查和结束考核。选题开始前,老師为每个同学分发10个积分,用于兑换实训课题。选题阶段要求每个小组提交申请课题报告,并支付对应的积分。申请报告要求每个小组对本小组的情况进行分析,充分考虑本小组的技术特长,知识积累,可用时间,可能存在的风险进行具体分析[12],要求对所选课题进行概括的分析,给出课题开展的计划概要。
中期检查主要是了解项目开展情况,开展过程中出现的问题,有没有意外事情发生,重点关注课题进度与计划是否一致,是否出现风险事件,若出现打算怎么应对,开展过程中出现那些困难问题,采用什么方法克服的或打算用什么方法克服。一方面,中期检查的结果作为结束考核的参考,另一方面,中期检查可以了解课题进展,根据不同小组的进展情况及遇到的问题,给出指导意见,要求各小组根据本小组的课题和老师提出的指导意见,采取应对措施,对中期检查中发现的问题进行纠正。
结束考核是课题进行到截止时间,所有小组停止所有工作,对整个课题的完成情况统一进行评价。结束考核,主要考察课题是否如期完成,课题是否全部实现预期目标,实现的效果如何,开展过程中有没有风险事件发生,怎么应对的,小组成员有没有变动,小组成员请假、退出以及有没有新成员的加入,是怎么处理的,有没有对项目中通用性的模块进行整理建立小组的知识库,课题开展后有没有对文档进行整理归档等方面。
5 成绩评定
成绩是对学生实训效果的量化评价,成绩评定是教学的一个重要环节。实训课程有别于理论课程,一般不能通过考试来评定成绩,实训课程的成绩必须体现学生在整个实训过程的表现和课题的最终效果,故而对于实训课程的成绩评定相对于理论课来说较为复杂。本门课程的实训,不仅仅是一个简单工程问题,而是涉及管理学,经济学等多个学科的综合性问题,这大大增加了本门课程成绩评定的难度。
本课程实训用积分来模拟现实生活中的资金,根据每个小组挣得积分来评定成绩。小组挣得积分有课题的基础分与对应系数相乘得到。各小组根据自身情况,选择的A,B,C,D不同的类型的课题,得到对应的基础分。系数包括两部分,课题基础系数和教师评价系数,课题基础系数如上述,对于A,B,C,D不同的类型的课题,对应基础系数分别为1.1、1.2、1.3和1.4。教师评价系数由指导教师根据学生在课题选择、中期检查和结束考核的情况给出,其取值范围为[–0.5,+0.5]。
每个小组的挣得积分计算公式为。
小组挣得积分=基础积分*(基础系数+教师评价系数)
小组成员通过集体讨论决定各成员的获得积分的权重系数,如w1,w2...wk,权重系数的和为1。基于小组挣得积分,各成员的挣得分计算方法为。
成员挣得积分=(1+wi)*小组挣得分
每个同学的挣得积分作为本次课程实训的成绩,本成绩评定方法,既考虑到学生选题,又考虑到课题实现的过程,以及小组之间的分工合作,涵盖了软件工程经济学的大部分内容,基本能够科学反应学生对本门课程的理论掌握情况以及本实训的效果。
6 小结
实践教学是软件工程专业一个必要的教学环节,对于加深学生对所学理论知识的理解,培养运用所学知识解决实际问题能力有很重要的作用,但是由于软件工程经济学这本课程理论性比较强,在学校中又很难模拟社会中的经济问题,故而对于本门课程的实训教学相对来说比较困难。本文采用积分模拟现实生活中的资金,要求学生根据小组自身的情况选择用积分兑换对应的课题,用兑换课题的过程模拟现实生活中的投资问题,让各小组安排时间,自行分工,用以模拟现实中项目进度管理与风险控制,老师定期检查和指导,根据实际情况对各小组进行打分,整个过程囊括了软件工程经济学的大部分内容,加深了相关理论的理解,从而提高本门课程的教学效果。
参考文献
-
陈媛, 黄振宣. 高职院校思政理论课实践教学“四化结合”模式探析[J]. 教育与职业, 2019, 930(2): 86-89.
-
赵玮. 软件工程经济学[M]. 西安电子科技大学出版社, 2008.
-
杨羽, 鄢伶俊. 软件工程经济学概观[J]. 自然杂志, 1992(3): 209-211.
-
谢斌斌. 软件工程经济学的若干问题讨论[J]. 中国科技纵横, 2011(10): 145.
-
张沫. 基于网络学习空间的智慧课堂实践——以“C程序设计”课程为例[J]. 软件, 2018, 39(11): 253-255.
-
王芳, 邓一星, 秦映波. 敏捷软件项目管理课程教学方案研究与实践[J]. 软件, 2018, 39(4): 77-81.
-
杨颖, 徐超, 邓君华, 等. 敏捷开发模式下的SDL实践浅析[J]. 软件, 2018, 39(10): 203-206.
-
宋法根. 一种新的基于用户与事件的安全模型[J]. 软件, 2012(7): 128-130.
-
韓万江, 张笑燕, 陆天波, 等. 软件工程专业认证的新思路研究[J]. 软件, 2015, 36(3): 37-40.
-
王妍, 高仲合, 倪建成. 平行实验在《软件工程》教学中的运用[J]. 软件, 2015, 36(12): 35-37.
-
陈奕延. 数量经济学模型IO控制系统的理论设计[J]. 软件, 2018, 39(2): 22-27.
-
蔡永勇, 吕超贤, 许燕, 等. 基于Monte Carlo网络的进度风险分析[J]. 软件, 2015, 36(7): 61-67.