《软件工程》的柔性模块化教学模式设计

  • 格式:doc
  • 大小:16.00 KB
  • 文档页数:5

第 1 页 共 5 页
《软件工程》的柔性模块化教学模式设计
摘 要:把软件开发中的柔性模块化理论运用于《软件工程》
的教学模式设计中,探索在新形式下计算机基础教程的教学思路,
达到教与学的并行进化和优化.
关键词:柔性理论;软件工程;模块化;教学模式
中图分类号:TP311文献标识码:A
1 前 言软件工程是高校计算机专业的核心课程,更是一门积
大成者的学科,是学生系统化运用方法论、开发理念解决实际问题
能力的原理,也是提高学生综合系统知识、培养团队精神的关键,
是理论与实践紧凑结合及运用的平台,起承上启下的作用. 在课程
设计中,很多本学科的学者与施教者总结了不错的经验,比如“激
励机制”;、面向对象的自主实验教学、课程相关体系研究及相关
的案例法教学实践设计等等,这些方法各有所长,在一定程度上对
软件工程教与学、理论与实践的统一与结合,有了较强的推动作用.
柔性模块化是一种提高软件自适性健壮性的开发技术,能够从总体
与细节两方面保证软件质量,是新形式下软件开放的主流.《软件
工程》的教与学过程本身就是个智力开发的过程,如果把它看成是
“软件”;,那么提高它的质量,实现最后教与学的双赢,选择一种
合适的开发模式是理所当然的.本文将结合柔性软件开发理论,探
讨《软件工程》教学中的“柔性”;教学方法.
2 软件开发中的柔性理论
第 2 页 共 5 页

2. 1 软件柔性的定义软件以静态和动态形式存在,静态形式
是软件的 “形”;,是软件没有运行时的形式,由静态程序代码、
静态数据及其相关资料构成;动态形式是软件的“态”;,是软件运
行时的形式,由运行时的进程、线程、控制流和数据流等构成,
人们能够保存的是软件的“形”;,能够利用的是软件的
“态”;,“形”;决定“态”;,“态”;也会改变“形”;. 软件在
保持基本特征不变的条件下,在外界的作用、刺激和驱动下,其形
态能够进行平稳和协调变化的性质称为软件的柔性. 将外界对软
件的作用、刺激、驱动称为软件形态变化的外力,这来源于外界操
控软件的力量,包括使用人员操作和控制软件的能力、修改代码的
能力和环境的影响力等;软件的形态变化包括框架、代码、数据、
功能、处理内容、方法、行为和界面等的变化,软件的柔性也可以
称为外力作用下的形态变化能力.
2. 2 软件柔性的特性 (1)易变性用较小的代价实现软件的
“形”;和“态”; 的变化. (2)适应性利用软件的柔性可以适合
和满足对软件新的要求,是软件应对外部变化的一种方式. (3)平
稳性软件在柔性变形时,基本特征不变,基本功能不变.变化是协调
的、有限的.一处的变化不会导致软件其他部分失效.变化能力是
持久的,不是忽有忽无的. (4)可控性可以按需要控制变化时机,变
化程序和保持变形. (5)再现性可以借助操控变形,也可以借助探
听虚实力求恢复变形,可以在相同的要求和条件下重复进行柔性变
形. 可见,在软件柔性变形中主要体现出两种变化的特性:①以不
第 3 页 共 5 页

变应变,软件的“形”;不发生变化,仅仅通过软件“态”;的变化
来满足用户变化的需求.②以变应变,软件的“形”;发生变化,通
过软件“形”;和“态”;的共同变化满足用户变化的需求. 软件
的柔性是在原软件适应性通用性基础上抽象出的一个综合性指标,
把软件需求融入整个开发的流程中, 以生态化、自动化为基本的
软件开发标准,具有重要的现实意义,因此,对于软件这样一个智力
产品,生产过程的合理有效安排,对最终的质量有直接的关系.柔性
理念贯穿整个开发流,这是柔性最初和最终的落脚点.柔性贯彻了
发展的观点,不仅仅可以针对于软件的开发,对于其他“产品”;的
生产,同样可以在“发展”;的基础上吸引适合本产品特性的“柔
性”;模式,比如学生的培养、教师的授课等.
3《软件工程》的课程设计与授课模式现状
3. 1 课程设计有关“软件工程”;的相关内容比较多,总体架
构基本涉及了以下主要主题: (1)软件危机; (2)软件工程; (3)可
行性研究; (4)需求分析; (5)总体设计; (6)详细设计; (7)系统
实现; (8)维护; (9)面向对象方法论; (10)OOA; (11) OOD;
(12)OOP; (15)软件项目管理.在课程设计下,把前8 项归结为传统
的结构化工程流程; (9)-(12)一般情况下看作是前8项的后续内
容,即新型技术与软件过程的柔性对接;最后的项目管理一般看成
是软件工程大体系的最后独立分支,是从管理角度去认知工程的运
作.随着我国高校综合素质教育要求不断提高,对《软件工程》这
门理论性与实践性并重的课程,教学内容的合理组织更是重要.
第 4 页 共 5 页

3. 2 授课模式现状在以往的《软件工程》教学模式上,教师
一般的做法是按照手头上课本的章节安排教学计划,从前向后的安
排整个学期的教学,这样做遵循了编者的要求,但未必是授课的好
模式,《软件工程》的授课应当在内容纲要的基础上,充分考虑授
课对象的特点,真正做到备教材、备学生和备课堂三者结合. 开设
本课程的时间一般是在大二下学期或者大三上学期,这个阶段的学
生已经可以很好地融入大学生活当中,有较强地自主学习能力.他
们向往的不再是“大高中”;式的教学方法(即老师在上面讲,他们
在下面听,讲什么就学什么, 这种被动的学习过程),而是从心理上
主动的表现出“我想学”;的提升自己的渴求,这个阶段,是一个学
生真正走向成熟、面向自己面向社会的关键性阶段,即较强的“发
展边缘性”;.如果教师授课还是走原来的那种“三段式”;、“满
堂灌”;、“课后作业”;的路子,事必助长了学生的“厌学”;情
绪, 达不到教学目的.为更好地搞好教学的过程与结果两方面, 有
必要在原先的教学模式作一些新的尝试.
4 柔性理论对《软件工程》教学模式改革的启发 正像柔性
软件开发理论所提倡的那样,强调软件数据控制与管理的有机统一,
在教学方面也力求达到教与学的有机统一,过程与结果的有机统一,
用发展的观点看待学生前后知识的贯通,以流程化的数据处理模式
组织课业安排,从整个教学过程与效果看,更能符合学生接受新知
识、运用旧知识的状态,所以,依据《软件工程》的学习授课经验,
以及与学生经常性的学习生活交流,在本文提出柔性模块化教学理
第 5 页 共 5 页

念. 定义: 从纵向理解,从教与学的实践出发,承前启后安排不同
学期的课程,教、学、实践并发进行. 从横向理解,落脚于一门课,
选择一门合适教材,不拘泥于课本的章节安排,自主划分合适的知
识单元模块,以模块为单位组织教学,最后由点成线,由线成体,形
成学生统一的知识体系架构. 现在,我们再回到《软件工程》的教
学当中.课程的内容设置是十几章,但主要设计的知识点没几个,根
据学科特点、学生的学习情况,分成以下几个知识单元,这也是柔
性模块化教学所提供的一种思路. (1)预备知识单元:在这里面涉
及到的主要是进一步学习软件工程之前的一些预备知识,比如:数
据结构、算法设计与分析、数据库原理,一门以上的面向过程和面
向对象开发技术等.那么在高校的课程设计拓扑中应把这些课纳入
软件工程的前置知识预备为好. (2)全生命周期单元:在《软件工
程》的章节设置上, 总体上分为两大概念,面向过程的结构化和面
向对象的一本化.以软件的生命周期部署结构化的内容次序设置,
做到前后对应,环环相识.这里把这不同阶段间的进化性和相同性
进行对照式优化展开,并行讲述,比较的过程本身就是个加强对个
体认识的过程.构单元:主要包括基本的树模型、二叉树模型以及
这些模型的典型用例,比如哈夫曼树、B+树等,这里把具有树形结
构的数据全归为一类, 统筹知识点,在比较与总结中加深对树结构
的认识.