关于充实“软件工程”课程内容的探讨

《 软件工程》 是高校i . I .算机软件及计算机应用专业的一门必修课程,主要介绍计算机软件工程化开发的基本原理、概念、方法与技术,在我国开设已有十多年的历史了。广大软件工作者尊循软件工程学所介绍的原理、方法,从事计算机软件的开发,取得了辉煌的成绩,大大促进了我国计算机软件及其产业的发展。
    由于计算机在体系结构、系统软件、支撑软件等领域的高速发展,其应用领域的范围不断拓宽与深入的形势下,软件工程化开发中的基本原理及方法学也得到了相应的发展。一种新的更加符合人们认识与解决客观世界问题的软件方法学,即目前国内外十分流行的面向对象(object 一Oriented )技术,日益显示其强大的生命力。自80 年代以来,面向对象技术自身的不断发展,并日益渗透到诸如计算机程序设计语言、计算机体系结构、数据库系统、人工智能的知识表示、多媒体技术等领域中,取得了许多新成果。
    根据面向对象技术的日渐成熟,以及其应用领域的广泛性,如何将这种新的技术迅速地反映到《 软件工程》 课程中来,以使学生们了解它,是我们从事《 软件工程》 ‘教学所面临的不可回避的问题。为此,我们在教学过程中有意识地充实了面向对象技术的内容,并做了有益的改革尝试,现归纳如下,以求指正。
    一、尊重传统方法学的体系自1968 年的一次计算机软件国际会议上,第一次提出《 软件工程》 概念以来,一批杰出的计算机科学家们研究并总结出了以结构化方法为主线的软件开发方法学、软件生命周期模型和以文档体系为主的一套开发管理技术等。在以结构化为主线的方法指导下,软件研究、开发人员及计算机厂商们研制了一大批实用的软件开发支撑环境和工具。
这种基于结构化的软件开发方法(称为:传统方法学),在其产生、发展至今,已被人们所接受,并成为指导各个应用领域进行软件开发的准则。该方法以系统功能为主导、自顶向下的功能分解,从外部功能上来模拟客观世界,具有结构性强、便于理解、便于设计等特点,深受广大软件开发者的欢迎与青睐。
顺应了这种软件开发工程化原则,我国的《 软件工程》 课程的主要内容,是以遵循这种以结构化方法为主线为原则的。由于传统的结构化软件开发方法的深入及其优点,以至在今后一个相当长的时期中还会继续影响着软件行业。所以,我们的教学内容也会在一段时期内,仍然以介绍传统的方法学为主,这也是我们尊重传统方法学体系的」浪因。
    二、分析缺陷,引出新方法在学生们学习、掌握传统开发方法学的主要内容的基础上,我们开始针对该方法学中的关键问题提出质疑。例如,使用结构化方法设计的软件系统结构对变化的适应能力问题、软件可重用等问题,这些都是传统方法学无力解决的问题,由此,引导学生从认识论的角度来分析其原因,即人们认识一个系统的过程和方法同用于分析、设计和实现一个系统的过程和方法不一致,从而引导出面向对象这种新的软件开发方法学。
三、以认知原理为基础,采用对比法介绍新方法为了说明面向对象方法产生的必然性及其基本原理,在教学中,我们以认知原理为基础,即按人们认识客观世界的方式:从特殊到一般的归纳过程与一般到特殊的演绎过程,以及归纳与演绎在人们的抽象思维与形象思维中的具体体现,得出:新的软件方法学应该是克服传统方法学的那种不一致性,按人们通常的思维方式建立起间题域的模型,设计尽可能自然地表现求解方法的软件。在此基础上,我们采用对比手法来对照分析,传统方法学中哪些是与这种认识论有矛盾的,而面向对象方法学中的概念与原理,又是怎样符合这种认知原理的。
    例如,在分析传统的结构化方法以功能为中心,与面向对象方法以“数据结构”为中心进行对比时,从人们对容观世界的认识工,分析客观世界的每一个实体是一个含有稳定“数据结构免的对象,以此为墓础建立的软件系统自然与人们的认识是一致的,而以“功能”为中心的“功能”是一个不稳定的因素,功能分解的随意性与随时间推移的变化性导致软件结构的不稳定,其本质是与人们的认识世界方法不一致。
    通过对比方式户一方面分析了传统方法不足所产生的本质因素,另方面我们为深入了解面向对象方法学打下了好的基础,也使学生们了解新的方法的优越性。四、有选择地继承传统方法中的优秀成分
在以上讨论的基础上,进一步了解面向对象方法学的基本内容,一方面,通过实例让学生体会新方法的优越之处,另方面,我们始终强调两点:
1 )新的方法学还处在一个不断发展、不断成熟的过程;
2 )注重新、老方法学的结合,全盘否定传统方法的思想。
事实上,作为一种新的方法学,人们在理论上、形式化的描述、以及具体应用等方面还在不断地进行研究、探索,而在具体的内容上,新方法还应结合传统方法的内容。例如,在传统的软件开发生命周期中,一方面我们指出“瀑布”模型的不足,,另方面以其为基础,我们强调软件开发阶段性思想的重要性,引出改进后的一些生命周期模型,如复用设计、原型设计、渐近设计等,及在此基础上形成的面向对象的软件生命周期。
又如,在引导学生讨论面向对象方法与传统方法相结合的可能性与必要性方面,认识到在软件开发生命周期的全过程中都采用面向对象方法,有好的一致性,但有许多大的工程项目,仍可采用自顶向下的功能分解法,或者混和使用这两种方法。况且,传统方法在支撑环境与工具方面迈是比较丰富和成熟的.
五、面向对象程序设计语言的选择
面向对象机制及概念是通过面向对象的程序设计语言来实现的,可分为纯的和混合的两种类型,目前国际、国内所采用的纯面向对象语言有等,而混合型的则有objective 一C 、C 十+等。
我们选择了C 十+,是基于以下三个原因:( l )学生有C 的基础。(2 ) C 十十在国内已广泛应用,如BorlandC + +。(3 )学校可提供运行环境。
我们选择C + +的另一目的,并非系统讲授C + + ,而是通过C 十十所提供的面向对象的机制,来了解面向对象的基本概念与特性在语言中是如何实现的。诸如类、对象的定义形式、继承机制的语言保证、多态性所带来的动态联编在语言中的实现等等。通过具体的程序实例,使学生们很容易地掌握这些语言机制,为下一步做毕业论文打下基础。
    以上是我们在从事《 软件工程》 教学工作中为跟_L 新的发展形势而做的一些探索性工作,学生反映班好出于面向对象技术的蓬勃发展,国内外有关资料、参考文款、成熟的软件产品等方面的内容已十分丰富、根据国际ACM / I EEE 一CS 的《 计算机教学计划1991 》 及我国的《 计算机学科教学计划1993 ) }的精神,我们拟将面向对象技术作为计算机软件及应用专业高年级学生的选修课程,以集中介绍面向对象这门新的大有前途的软件开发技术。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值