您好, 访客   登录/注册

“软件工程”教学方法探讨

来源:用户上传      作者: 刘 艳

  摘 要:软件工程作为一门指导软件开发和维护的工程学科,研究如何用工程化的方式有效地管理软件开发,以较低的成本按期开发出高质量软件,其教学方法尤为重要。本文将对该课程的教学方法作一下简单探讨。
  关键词:软件工程 主流程线 案例教学 扩散思维
  
  软件工程的概念是为有效地控制软件危机的发生而提出来的,它的中心目标就是把软件作为一种物理的工业产品来开发,要求采用工程化的原理与方法对软件进行计划、开发和维护。软件工程是一门旨在开发满足用户需求,及时交付,不超过预算和无故障的软件学科。软件工程的主要对象是大型软件,它的最终目的是摆脱手工生产软件的状况,逐步实现软件开发和维护的自动化。
  鉴于软件工程产生的背景、目标和宗旨,对这门课程的教学,我们从以下方面来探讨其教学方法。
  一、把握软件工程教学的总体思路是教学的关键
  1.引导认识软件工程的重要性
  软件工程虽然是一个年轻的学科,但它具有鲜明的实践性,近年来在计算机领域中,它的地位越来越显得重要,不仅大型软件项目离不开它,就是一般的,甚至小型软件项目,也必须运用它的概念、原则和方法。软件分析人员、软件设计、编程、测试、维护人员,以及软件管理人员都必须很好地掌握软件工程知识,才能适应岗位工作的要求,特别是在当前,软件产业已经被中央、各地方政府和有关部门当作国民经济中新的增长点的形势下,软件工程更加受到重视,同时,事实也一再表明,不掌握软件工程知识,不按照软件工程的要求去做软件项目,提供给用户的产品只能是低质量的,难于维护的。
  2.归纳软件开发的主流程线
  在软件工程教学过程中,把握软件开发的主流程线是软件开发的基础,其不仅能使我们掌握其学科目标和宗旨,而且能为我们今后开发软件项目起到很好的指导作用。我们知道软件生存周期是指一个软件从提出开发要求开始直到软件报废为止的整个时期。一个软件开发得好不好,质量高不高,从其生存周期可以得到体现,高质量软件经得住考验,是经久耐用的。软件开发的过程直接体现在软件生存周期中,对软件开发过程的研究成果要确保软件设计的可行性。总揽软件工程教材,我们归纳软件开发主流程线,即从“需求分析”到“概要设计”“详细设计”“编码”“测试”“产品提交”,最后到“维护”阶段。同时掌握好这几个阶段的主要任务和工作是开发好软件的基础。
  3.帮助扫除软件工程学科中的文字障碍
  所谓文字障碍指的是在软件工程课程中涉及或在其教学过程中经常运用到的专业术语、概念的应用或表达。比如什么是软件危机,软件生存周期的概念是什么,软件生存周期模型有哪些,需求分析讲的是什么,什么是结构化分析方法,如何用数据流图来表达系统的功能,数据字典是用来做什么的,软件设计的基本原理是什么,软件开发的增量模型又是什么,利用面向对象的方法需要建立哪些模型,它们分别的侧重点是什么等等。这些都是要在教学过程中扫除的文字障碍。掌握这些术语、概念的应用或表达,可以通过平时的锻炼、记忆或下面我们要讲到的通过实例教学加强理解,在理解的基础上加强记忆并掌握方法和原理。
  二、对软件开发过程中的关键环节采用案例教学
  制作一份需求规格说明书,其主要的填写要求抽象成模板的形式如下:
  1.背景
  ①待开发的产品的名称;
  ②本项目的任务提出者、开发者、用户及实现该产品的单位;
  ③该系统同其他系统的相互来往关系。
  2.系统定义
  ①项目来源及背景;
  ②项目要达到的目标,如市场目标、技术目标等;
  ③系统整体结构,如系统框架、系统提供的主要功能,涉及的接口等;
  ④各组成部分结构,如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。
  3.应用环境
  ①设备环境;
  ②系统运行硬件环境;
  ③系统运行软件环境;
  ④系统运行网络环境;
  ⑤用户操作模式;
  ⑥当前应用环境。
  4.对功能的规定
  ①功能编号;
  ②所属产品编号;
  ③优先级;
  ④功能定义;
  ⑤功能描述。
  5.对性能的规定
  ①系统响应时间需求;
  ②系统开放性需求;
  ③系统可靠性需求;
  ④系统可移植性和可扩充需求;
  ⑤系统安全性需求;
  ⑥现有资源利用性需求。
  通过对上述需求规格说明书实例的讲解,我们不仅要学会掌握这种文档的书写格式、规范和原则,而且还要学会其他比如概要设计说明书的写法,详细设计规格文档的写法,编码文档的写法,测试计划文档,测试设计,测试跟踪,测试总结,产品提交手册,软件维护过程文档等的写法。通过具体实例让学生进行演练,使其真正达到学以致用,学用结合的目的。
  三、对软件工程中的相关知识点采用扩散思维教学
  所谓扩散思维是指使学生的思维不仅仅局限在某一点上,而是针对相关知识点的拓展,从而产生新的思路和方法的一种思维形式。由于每一门课程都不是孤立存在的,因此要想很好的把握该课程的教学,其教学思路应该有所延伸。比如说软件工程课程中多处涉及到数据结构、数据库、操作系统等的一些知识和概念,我们除了在课程教学顺序上将数据结构、操作系统等课程排在软件工程课程之前教学外,教师在授课过程中还应该有新的思路供学生参考和启发学生思维。
  参考文献:
  1.软件工程案例教程/韩万江编著.北京:机械工业出版社,2007.5
  2.软件工程/史济民等编著.2版.北京:高等教育出版社,2002.12(2004重印)
  3.软件工程.全国高等自学考试指导委员会组编
  4.软件工程/王宜贵主编.北京:机械工业出版社,2002.9
  作者单位:海南海口海口经济学院信息工程学院


转载注明来源:https://www.xzbu.com/9/view-1767381.htm