整体项目模式下软件工程专业系列课程教学

时间:2024-02-07 点赞:50789 浏览:104285 作者原创标记本站原创

本文是一篇软件开发论文范文,关于软件开发类毕业论文的格式,关于整体项目模式下软件工程专业系列课程教学相关毕业论文题目范文。适合软件开发及软件工程及软件项目管理方面的的大学硕士和本科毕业论文以及软件开发相关开题报告范文和职称论文写作参考文献资料下载。

摘 要 :根据整体项目模式下软件工程专业教学体系要求,项目应贯穿到系列专业课程之中,让学生理解软件开发过程的不同方面.文章将系列专业课程融于软件开发过程中,建立软件开发过程体系流程图,确认系列专业课程在软件开发过程中的位置和作用,并提出先案例后理论的教学方式.

关 键 词 :整体项目模式;项目Bus;软件工程;教学

0 引言

文献1论述什么是整体项目模式以及整体项目模式的优缺点,文献2论述整体项目模式下软件工程专业的教学体系结构,同时也提到软件工程专业教学方面的要求,主要是针对教师的要求.在实际过程中,整体项目模式下软件工程专业的课程教学较为复杂.首先,需要理清专业课程之间的相互关系;其次,需要明确专业课程和项目过程之间的关系;第三,需要掌握专业课程教学和实际项目之间的切入点、重点和难点;最后,学生要能切实根据自己所做的项目,从不同的侧面或教学内容方面书写项目文档,并认识到同一项目可以从不同的角度进行分析、设计和编程.

传统的专业课程项目教学和整体项目模式下的专业课程教学存在很大区别.传统的专业课程项目教学主要是没有从整体项目模式考虑教学问题,割裂了专业课程之间的相互联系,只从该课程的教学内容方面列举案例,学生对教学内容的认识具有片面性和局限性,不能建立起对知识体系的整体观念.在实践教学过程中,学生曾经提出过很多问题:软件工程和结构化设计、面向对象设计有什么不同?它们之间有什么联系?为什么要学习面向对象?不学习可以吗?作为一个专业课任教师,如何进行解释?如果学生有足够的项目经验,前期是否一定要有详细的分析和设计文档?针对最后一个问题,若是不具备丰富项目经验的教师回答,那答案是一定要有详细的分析和设计文档;但是实践经验丰富的教师则认为这个问题的答案是不一定的.小型或者微型项目的前期不一定要有详细的分析和设计文档,可以直接在编程过程中进行分析和设计,那么这是否违反了软件工程呢?当然,答案也是否定的.如教师在讲授面向对象的软件开发方法课程时,必须强调某一开发方法的优缺点,可以综合运用其他开发方法如结构化分析方法、形式化编程,甚至弱化分析过程,强化设计和编码过程,主要目的是明确整体项目开发过程.

1.软件开发流程和系列课程之间的关系

1.1整体项目模式下软件工程专业教学体系结构

任何课程的设置不能脱离教学体系结构.一个好的教学体系结构能够帮助学生在头脑中树立完整的知识结构,让学生主动获取相关知识.在教学过程中,教师首先要明确该课程在整个教学体系结构中的位置,建立项目开发过程的全局观.文献2中建立的整体项目驱动模式下软件工程专业教学体系结构如图1所示.

从图1中可以看出,项目Bus横贯整个专业课程,教师和学生各自只使用同一个项目案例贯穿于系列课程中,从而从不同的角度让教师讲授、学生学习同一个项目的相关内容.

1.2软件开发过程流程

图2所示是笔者在软件开发过程中总结出来的一套软件工程专业软件开发过程流程,包括软件开发过程、软件工程文档、软件标准规范、实际软件开发规程等方面的内容.在每一门课程的开始和结束阶段,笔者都要将该图展示出来,让学生明确自己已经学到了哪些内容,还存在哪些欠缺.

1.3软件开发过程对应的专业课程设置

笔者有幸为中南民族大学软件工程专业以及本校与美国威斯康星大学合办的3+2软件工程国际合作试点班的学生讲授部分专业课程,包括软件工程、软件测试、用户界面设计、软件项目管理、面向对象的软件开发方法5门课程.对于相关的其他专业课程,我们将不做说明,如CMMI、软件过程、软件质量保证等.

这些课程与软件开发过程流程是一一对应的关系.软件工程课程是专业核心课程,涉及内容广泛,是其他专业课程的基础,也是整个软件开发过程流程的基础,主要内容包括软件需求提取、分析、设计、测试、维护变更管理以及软件质量控制、软件项目管理、软件开发配置变更管理、软件开发标准以及软件开发方法.软件测试贯穿软件开发过程的始终,包括用户需求的确认、用户界面的确认以及单元测试、集成测试、系统测试、Alpha/Bete诅测试、评审、验收等内容.用户界面设计主要包括软件界面设计理论、原则和规范,在实际软件开发过程中,是图2中的系统概要设计/用户界面驱动分析部分,通过与用户反复沟通确认需求,是测试的基础,同时也是软件编码阶段、评审、验收阶段的依据.软件项目管理主要对软件的质量、成本和进度进行管理和控制,同时考虑如何在软件开发过程中避免不必要的风险或者降低风险的影响.面向对象的软件开发方法着重于软件开发过程中面向对象的需求分析和设计,包括用户分析、界面设计、类模型、动态模型、状态模型等一系列的分析和设计.


这5门专业课程从不同的侧面讲解软件项目的开发过程和方法,各有特点.但是对于为什么要学习这几门课程,以及它们在软件开发过程中处于什么样的位置,起到什么样的作用,是教师在教学之初就应该明确的.

2.整体项目模式下系列课程的教学

根据整体项目模式原理,实践项目应贯穿到各专业课程之中,系列课程最好使用同一项目,这样更能加强学生理解软件开发过程的不同方面.该项目在专业课程开始之前就必须存在,即已经完成或正在进行中的实践项目,因此,系列课程必须是相互联系并且能基于同一项目案例,这和传统的项目教学方式虽然模式一致,但是效果却有本质的不同.图3为系列专业课程的项目案例、课程和学生实践案例示意图,5门课程都基于同一实际项目案例,学生根据自己所做的项目,按照不同专业课程要求的格式和内容书写相关文档.

2.1先案例后理论的案例驱动教学模式

软件工程专业的特点是实践性非常强,软件工程的很多理论都来源于对实践的总结和归纳.因此,教师在教学过程中采用先案例后理论的案例驱动教学模式,符合软件工程专业的授课特点. 首先,教师要讲解实际项目案例的文档,该文档是一套完整的、从不同侧面反映软件开发过程的实际文档.对于每一门专业课,教师首先讲解需求提取、需求分析过程、功能提取、系统功能结构框图等,让学生明确该系统的背景和要解决的问题,以及需要具备什么样的功能以实现目标.

其次,教师要联系实际项目案例,讲解课本上的理论,将每个理论知识点与实际的项目案例相结合,让学生充分理解理论.在实际讲解过程中,对于新开课,新教师若碰到教学学时偏少的状况,可以言简意赅地讲解重点知识;实践经验丰富的教师,碰到学时偏少的情况可以精简案例功能,讲解1~2个功能即可.

最后,教师必须强调实践的重要性并给出标准的文档规范,要求学生按照自己的实际项目书写标准的文档.在每一门课程讲解完毕后,教师再一次帮助学生回顾该课程在软件开发过程中的位置.

以软件项目管理为例,在正式进入课程教学之前,教师需要做大量的工作,首先需要准备的文档有项目需求、项目需求分析报告、可行性分析报告、项目开发计划书、项目Demo程序演示、软件项目投标书、软件项目开发合同.然后,开始进人软件开发项目管理过程教学,软件项目主要内容有成本管理、进度管理、人员管理、风险控制等理论内容.实际的软件项目管理主要分为4个阶段:IT项目的启动阶段、IT项目的计划阶段、IT项目的执行控制阶段、IT项目的收尾阶段,这在一般的教材中很少提及,但是教师在内容讲解中要明确阶段任务.IT项目的计划阶段涉及48个文档;IT项目的执行控制阶段涉及45个文档;IT项目的收尾阶段涉及14个文档.

教师在讲解合同的内容时,可以直接参照“软件项目开发合同”进行讲解.对于必不可少的合同内容,教师就必须跟学生讲清为什么必须要包含这些内容;讲解成本计算的时候,根据文档“工作包、进度和预算”进行项目的WBS分解以及基本的估算方法.

总之,由于教材先理论后案例的局限性,在听课之初,学生觉得枯燥乏味.而教师通过先案例的方式能有效调动学生在课堂上的学习积极性,为后面的项目实践奠定基础.

2.2学生项目实践环节

每一门专业课都有上机实践部分,学生在实践课上主要是书写文档.每门专业课都有各自不同的文档,软件工程课程要求学生必须完成标准的13个文档;软件测试课程需要软件测试报告文档;软件项目管理课程有127个文档;面向对象的软件分析方法课程有包含9大部分内容的软件项目分析与设计文档.每一门课程的文档内容非常多,要求每个学生最好独立完成,主要训练每一个学生的文档书写和理解能力.

需要强调的是,学生书写的项目文档一定要给出标准的、规范的文档格式,包括目录、段落、标题、字体等排版之类的要求.项目模板可以采用软件工程国标文档或者相关的其他标准文档,最好和某一软件公司的案例文档格式相一致.笔者在软件公司任职过程中,很多刚参加工作的大学生书写文档的水平非常差,主要是文档格式、结构和内容混乱,往往给人留下非常不好的印象.整体项目驱动模式下的课程教学,首先强调的就是文档格式和正确的文档排版,其次才是内容的正确性与完整性.

在学生项目实践中,任课教师最好跟踪指导.学生每次在实验课上必须完成相应的实验,并把实验的电子文档通过教学资源管理系统或以电子邮件的方式提交给教师.电子文档的批改能快速纠正学生文档格式不规范以及内容方面的错误,但这个工作量往往很大,每一次电子作业批改的工作量往往是学生数量的3~4倍.这是因为学生按照批改意见进行修改后又会返回给教师,最终达到合格标准的电子文档往往会被修改2~4次.

2.3考核方式

完成每门课程的项目文档是学生对文档书写熟练程度以及课程内容理解的直接反映,也是培养软件开发过程中需要具备的素养和习惯的有效途径,克服学生疏于或懒于书写文档的缺陷.因此,教师需要对学生书写的项目文档进行考核并将其反映在学生成绩上.项目文档的成绩占学生总成绩比例的30%~50%较为合理.

2.4教学效果

笔者经过近2年的教学实践,取得了良好教学效果.以中南民族大学软件工程专业2008级学生为例,首先,学生很顺利地完成了各自的软件项目,包括中南民族大学学生基金项目;其次,学生能很好地书写申请软件项目著作权系列文档以及毕业论文,书写的文档格式规范,只需稍加修改就能将文档立即转化成学术论文并发表.这表明学生无论是在文档格式还是在内容编排上都取得了进步,进一步提高了在软件开发过程中应有的素质.这也是软件工程专业学生和计算机其他专业学生之间非常明显的差别.

就前2届学生的就业情况,笔者回访了2家用人单位,他们对中南民族大学软件工程专业毕业的学生刮目相看,称赞学生书写的项目文档很规范.

3.结语

基于整体项目模式下的教学研究是一种全新的探索,笔者积极努力地探索并实践,教学工作量巨大.为了严格要求学生,让每一个学生都掌握软件开发过程的每一方面,我们不对学生进行分组,而让每个学生自选一个实际项目.即使是同一项目,每个学生也必须独立书写文档.因此,教师对于每门课程文档的批改至少达到600余次;由于每一份文档对应不同的项目,对任课教师的要求很高,因此,教师需要对多达100项(有多少学生就有多少项,笔者所教授的每届软件工程专业学生人数均超过100人)的项目进行细致地分析和判断.如果系列课程由不同的教师担任,则需要这些任课教师相互配合并形成教学团队.笔者也将进一步探索和研究整体项目驱动模式下软件工程专业教学团队的建设.

(编辑:宋文婷)

相关论文

软件工程专业实训教学

本文是一篇软件开发论文范文,软件开发类函授毕业论文,关于软件工程专业实训教学相关大学毕业论文范文。适合软件开发及软件工程及实训教学方。

车辆工程专业实习课程教学大纲

本文是一篇课程设计论文范文,课程设计类学士学位论文,关于车辆工程专业实习课程教学大纲相关本科毕业论文范文。适合课程设计及生产实习及水。

生物工程专业英语课程教学改革

本文是一篇生物工程论文范文,关于生物工程电大毕业论文,关于生物工程专业英语课程教学改革相关学士学位论文范文。适合生物工程及英语教学及。