软件开发专业论文范例6篇

软件开发专业论文

软件开发专业论文范文1

关键词:CDIO;软件工程;课程体系

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2013)10-2415-03

CDIO 工程教育模式是近年来国际工程教育改革的最新成果。CDIO 是构思(Conceive)、设计(Design)、实现(Implement) 和运作(Operate)四个英文单词的缩写[1]。CDIO 工程教学模式是一种倡导以工程项目为主线,将项目研发不同阶段涉及的知识与课程进行有机的结合,教师针对课程在工程项目的地位,运用多种教学方法引导学生进行主动学习,强调学生的学习主体性,注重能力培养的一种教学模式。

1 软件工程专业应用型人才培养理念

1.1 人才培养目标

软件工程专业要求培养适应计算机应用学科的发展,特别是软件产业的发展,具备计算机软件的基础理论、基本知识和基本技能,具有用软件工程的思想、方法和技术来分析、设计和实现计算机软件系统的能力,能在IT行业、科研机构、企事业中从事软件工程项目的开发与测试、网站开发、网络游戏设计的高素质应用型人才。

1.2 基于CDIO模式的人才培养过程

CDIO 理念下的软件工程专业人才培养以软件工程项目为主线,采用理论、实践、案例分析、综合项目实践和工程化毕业设计的一体化教学模式。在整个人才培养过程中,按照软件工程项目的基础知识、分析、开发、运行和维护的流程组织教学,同时培养学生具有较强的外语能力、扎实的软件工程基础知识,并熟练掌握软件开发与测试技术,熟悉服务外包软件开发流程。

软件工程是注重系统化和工程性的专业, 其内容具有厚基础、更新快、实践重等特点,这些特点决定了软件工程人员要具备坚实的理论基础、一定的工程实践能力和创新能力。本着培养“技术基础厚、应用能力强、综合素质高”应用型技术人才为宗旨,软件工程专业的教学安排如下:第一学年主要学习公共基础课程和部分专业基础课程,使学生掌握从事软件工程领域的专业基础知识,培养学生的数学工程职业基础和人文素养;第二学年主要学习专业基础课程和专业核心课程,重点结合工程项目进行“做中学”,形成自主学习、团队协作和计算机软件基础及软件工具软件产品的基本工程能力;第三学年主要学习方向核心课程和专业拓展课程,引进当前软件开发新技术、新方法和新平台,采取合作探究式学习方法,培养软件系统与应用及软件工程软件管理能力;第四学年主要进行综合项目实践类课程的学习,塑造学生软件工程能力、团队协作能力,对学生的职业岗位能力进行训练,使学生在进入岗位前就具备较好的工程经验,实现从学校到职场的转变。

1.3 项目贯穿学习过程

CDIO模式的核心就是项目教学,可将企业真实项目直接引入课堂,也可以由教师设计项目,要求项目涵盖该教学任务的大多数知识点,并且能有明确的阶段性目标。在项目教学中,教师的身份也就集工程师、导师、教师“三师”为一体,从软件项目的构思(C)、设计(D)、实现(I)到运行(O),教师的工程化指导至关重要,这就要求教师进行自身工程实践的经验积累。项目教学中采用过程化考核方式,以成果为考核依据。

2 软件工程专业综合能力素质的分解

2.1 综合能力素质分解原则

软件工程专业综合能力素质的分解基于以能力培养为主线,突出实践性、发展性和工程性,注重学生的基本人文素质、职业基础和创新能力的培养,注重学生潜在发展能力、职业适应能力和职业迁移能力的养成,注重专业素质和身心素质的锻炼培养。同时结合区域产业发展,强调专业素质和非专业素质并重。

2.2 综合能力素质分解

结合CDIO模式的特点,软件工程专业核心能力分解为项目构思阶段的计算机软件基础(CSE)能力、项目设计阶段的软件工程软件管理(SEM)能力、项目实现阶段的软件系统与应用(SSA)能力、项目运行阶段的软件工具软件产品(STP)能力,非专业技能素质的数学工程职业基础(MEP)能力和基本素质(BAS)贯穿这个项目的CDIO模式过程。CDIO模式下的软件工程专业综合能力素质分解如图1所示。

3 基于专业综合能力素质分解的软件工程专业课程体系模型

专业人才的培养要体现知识、能力、素质协调发展的原则。科学认识和分析知识、能力、素质的辨证关系,以“知识是基础、是载体,能力是知识的综合体现,素质是知识和能力的升华”先进理念为指导思想,要设计适当的知识为载体,实施素质和能力培养;设计适当的知识群构成知识体系,要强化知识体系的设计与建设,使专业教育内容的每一个教学模块构成一个以知识体系为载体,实施素质和能力培养有效的训练和学习系统。

3.1 课程体系开发思路

课程体系是达成人才培养目标的有力支撑,科学合理的课程体系会促成高端技能型人才的培养。根据专业综合能力素质分解的结果,基于CDIO 的软件工程专业课程体系的构建原则从以下几方面进行考虑:

1) 充分发挥工程性的专业特点,基于CDIO培养大纲设置课程体系,实现学校与企业零距离接轨。

2) 注重公共基础课程、专业基础课程、专业核心课程的课程设置, 借助当前主流的软件开发平台,做到软件开发语言和技术四年不断线。

强调学生工程性、技术性、实用性、系统性、综合性、复合型和适应软件工作流程等素质的培养,实现“熟悉软件工程技能、更完整的系统级认识、掌握某一方向的软件设计开发技术和适应软件企业的英语加计算机能力”四个目标。在这一阶段中,综合考虑主干专业课程和特色课程的设置,全面考虑课程之间的关联,强调统一设计、统一规划。

3) 结合区域经济发展特点,根据软件的新兴技术和行业软件的发展需要设置专业选修课, 形成独特的教育内容、教育途径和教育体系。

4) 遵循软件行业的先进性、灵活性、工程性原则。

3.2 模块化平台课程体系框架

按照顶层设计的方法,软件工程专业教育内容由普通教育内容、专业教育内容和综合教育内容三个类别,公共基础(通识教育、基本素质)课程平台、学科及专业基础课程平台、专业(核心)课程平台、专业拓展(选修)课程平台、集中实践教学项目平台等五个平台及13个教学模块构成:

普通教育内容包括:①人文社会科学,②自然科学,③外语,④体育,⑤实践训练等教学模块。

专业教育内容包括:①本学科专业基础,②专业核心,③专业方向,④专业实践训练等教学模块。

综合教育内容包括:①思想教育,②学术与科技活动,③文体活动,④自选活动等教学模块。

课程体系中五大教学平台之间的关系如图2所示。

各平台的内容包括:

1)公共基础课程平台

该平台是依据人才培养规格而设置的,包括较宽广的基础课程、通用课程。包括英语、政治理论课、德育和体育、数学基础等。侧重培养基本素质、职业素质和职业道德。主要课程有思想道德修养与法律基础、思想、邓小平理论和“三个代表”、马克思主义基本原理、中国近代史纲要、大学英语、体育与健康、高等数学、大学语文等课程。

2)学科及专业基础课程平台

该平台是依据软件工程学科来设置课程,侧重于软件工程中的专业技术。包括软件基础课程群、硬件基础课程群和理论基础课程群等,主干课程包括顺序开设的程序设计基础、数据结构与算法、工程数学等课程。

3)专业(核心)课程平台

该平台是依据人才培养主线而设置课程,主要培养学生面向软件开发岗位群的应用能力,并为其解决实际应用问题打下坚实的理论基础。主要包括以下顺序开设的课程:面向对象程序设计、面向对象程序设计、建模课程、系统开发、软件工程、项目管理、软件质量保证、计算机网络等。

4)专业拓展(选修)课程平台

该平台是依据应用型本科定位而设置的。考虑到计算机应用型人才在知识结构上应具有知识面宽、基础扎实、应用性强的特点,在该课程平台上设置的课程具有学科知识面宽;理论深度稍低,学科知识在应用有针对性,共设计了职业素质、软件体系、行业软件应用、游戏软件等模块,设置了如下课程:国际软件工程师职业道德、软件体系结构、软件项目管理、物流信息技术、大宗商品交易系统、管理信息系统、RIA编程技术、游戏脚本编程、3DMAX建模制作、心理学、Flas制作、中国文化史等。

5)实践教学项目平台

4 人才培养评估

CDIO 模式下的软件工程专业人才培养模式以提高学生工程实践能力为本,注重培养学生的工程基础知识、个人能力、人际团队能力和工程系统能力。在CDIO工程教育模式中,参照 CDIO 标准11,采用多元化过程式的模式评估学生的软件工程能力和职业素养。其中,工程能力主要从软件开发与实现、软件测试与质量保证、软件建模、软件开发过程管理、软件方法、文档写作和英文阅读写作能力等方面进行评估;职业素养主要从职业道德、职业素质、主动学习能力、行业知识技术和团队合作能力等方面进行评估。评估采用理论考核、实践考核、大作业和小组评价等方式。理论考核主要考查学生对软件工程基础知识的掌握程度,实践考核主要考查学生的工程系统能力,大作业主要考查学生对项目工程的理解和掌控程度,小组评价主要考查学生的团队合作能力。这种多种方式结合的考核模式能够比较全面有效地反映学生的工程构思、设计、实现和运行各个阶段的情况,促进学生全方位发展。

5 结束语

基于CDIO 的软件工程专业课程体系符合软件工程专业的工程性和学科性的特点,围绕软件工程基础知识、软件管理能力、软件系统与应用能力和软件工具和产品能力四个方面开展工作,创新了人才培养模式,加强了软件开发技术和工程方面的课程教学,这些课程通常都能使学生拥有自己的作品,教学效果良好。实践教学环节无疑是与企业无缝连接最好的渠道,通过设置多种方式的实践教学,使学生真实的接触企业项目,按照企业要求模拟软件开发流程,在毕业设计完成后,学生的实践动手能力达到企业要求。真正做到了“技术基础厚、应用能力强、综合素质高”,这是CDIO教育模式的本土化,为促进工程教育模式的改革和创新、卓越工程师的培养和现代职教体系的建设提供借鉴。

参考文献:

[1] 尹春娇, 沈桂芳. 探析CDIO模式在应用型本科院校软件工程课程实践教学中的应用[J].科技信息, 2012(31):15-16.

[2] 张锦华,丁新慧. 基于CDIO理念的创新型软件人才培养模型[J]. 周口师范学院学报,2012(9):119-122.

[3] 屈卫清. 区域产业发展与软件专业细分相关性[J]. 人民论坛, 2010(11):234-235.

[4] 田玲, 尹庆民, 马丽仪. 基于CDIO模式的服务外包人才培养探索与实践[J]. 科技管理研究,2012(16):164-167.

软件开发专业论文范文2

关键词:整体项目模式;项目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

摘要:本文分析了计算机相关专业软件实践教学环节中存在的一些问题,阐述了以软件工程思想为基础,结合最新软件开发技术,从实验教学、课程设计、教学实习、软件开发实习和毕业实习等多个环节来建立软件实践教学体系的思路,对高校计算机专业的软件实践教学具有普及意义。

关键词:软件;实践教学;教学体系

中图分类号:G642

文献标识码:B

1前言

发展软件产业是我国科技发展的迫切需要;而软件产业的发展在很大程度上依赖于软件开发方法和管理方法的标准化。要全面促进我国软件行业标准化,高校首先要注重对计算机专业学生专业素质的培养以及软件实践教学的加强。目前我国软件行业存在着大量的人才缺口,而每年毕业的计算机专业的学生又存在着就业难等实际问题。纠其根本,这是企业人才需求和计算机人才培养之间的矛盾,而产生这个矛盾的根源是人才培养的实践环节存在着种种弊端与不足。

很多计算机专业的优秀教师都在进行实践性软件课程教学方法、实验方法的研究,但却很少有人考虑多门课程综合实践的需要以及软件实践教学体系的建立。

2建立软件实践教学体系的原则

软件实践教学体系是指将计算机专业学生的实践教学按照一定的规律和模式,统一进行规划和安排。按照不同的实际情况,例如软件实验条件、经费预算开支、学生学习基础等等,各高校都应该有自己相对稳定的软件实践教学体系。

软件实践教学体系的建立应该遵循以下几点原则:

(1) 系统性原则:以培养高级应用型人才为目的,把实践教学体系作为整个教学过程的一个子系统来研究,经过大学四年的学习,学生应具有系统、全面、完整的知识和能力结构。

(2) 系列性原则:在培养学生某一方面能力时,进行不断线的连贯性实践教学,使学生在这方面具有较系统的理论知识和实践能力。

(3) 选择性原则:提供设计性、综合性较强的选修实践和开放性实践,根据学生的不同专长和特点,进行有选择的研修和培养。

(4) 独立性原则:改变传统实践教学只作为理论教学的辅助和补充的做法,对实践教学进行相对独立的研究,使教师和学生重视实践教学。

3软件实践教学体系的建立

根据多年的教学经验和对计算机专业实践教学的研究,笔者认为计算机专业的软件实践教学应该从实验教学、课程设计、教学实践、软件开发实习、毕业实习等方面进行安排,形成一个稳定的实践教学体系。

3.1实验教学

实验教学往往是和理论教学配套的,一门理论课程的开设同时伴随着实验课程的开设。实验教学的特点就是针对性强,针对本门理论课程的知识点设置一定数量的实验,包括验证性实验、设计性以及综合性实验。在设置实验的过程中,要更多地注重设计性、综合性的实验,因为学生分析问题、解决问题能力的培养更多依赖于设计性和综合性实验。当然,为了巩固所学的理论知识,一定数量的验证性实验还是不可少的,尤其是重要的理论知识点。学生在实验的过程中感受枯燥的理论知识和丰富的实践内容之间的联系,会大大提高学习兴趣和动手愿望。

按照一般的教学规律,计算机专业的学生需要开设实验教学的课程很多,在四年的大学学习过程中,所涉及到的专业基础课和专业选修课大多需要开设对应的实验课。实验课的教学应该培养学生兴趣和培养学生基本动手能力,重在让学生通过实验来掌握对应理论课程的知识点。

实验教学是实践教学体系的基础,占用的学时数最多,所涉及的课程面也最广。

3.2课程设计

课程设计是在学习完一门专业理论课程之后开设的一个针对本门课程综合知识点的较大规模实验。它的特点就是综合性和设计性,要综合该门课程所学的几乎所有知识点,并且必须要求学生独立或分小组地完成整个实验步骤。

计算机专业的课程设计分为硬件和软件两条线,硬件方面的课程设计一般包括数字逻辑、组成原理和系统结构等,而软件方面的课程设计要考虑专业课的性质和作用,一般包括程序设计语言、数据结构和面向对象程序设计以及网络编程或者网页制作等。

课程设计的课程面没有实验教学那么广,但更注重的是对学生综合动手能力的培养。所以在软件课程设计方面,往往是对程序设计语言和数据结构、算法这样性质和类型的专业课开设相应的课程设计。课程设计一般在一门课程理论学时全部完成后的学期末或者下学期初内的一到两周进行,目的是提高学生对该门课程所学知识的综合运用能力,并且提升学生的自信心,让学生感觉到学完一门课程后可以动手来做一件比较完整的作品。

3.3教学实践

教学实践的目的是拓展学生的视野,所以往往以参观考察的方式进行,所需要的经费并不多,关键是要走出去。教学实践需要联系一家或多家一定规模的软件开发企业,通过参观考察,让学生体验软件企业的氛围,了解最新的软件开发工具和平台以及最新的软件需求动向,为学生后续的理论和实践教学打下一定的基础。同时要注重引导学生根据个人的实际情况选择个人常用的软件开发平台,鼓励学生在选用的平台上进行软件开发。学生在熟练掌握一个软件开发平台后,很容易上手进行软件开发,哪怕是换了平台也较容易适应。而最令人担忧的是学生从来没有过这么一个自己熟悉的软件开发平台,那么在择业的过程中就没有选择的余地。所以教学实践中的这种引导为今后学生走上社会工作岗位打下一定的基础。

3.4软件开发实习

软件开发实习有两种模式,一种是走出去,即和软件企业联系,安排学生到企业进行软件开发实习,另一种是请进来,即从软件企业聘请优秀的有经验的软件项目经理,到学校来实施软件开发实习。

两种模式最终的目的是一样的,就是让学生深切地感受到软件开发的氛围、感受团体作战以及工程方面的一些具体的要求。

软件开发实习一般将学生分组,在项目经理的指导下合作开发一个较大型的实用软件系统,一般安排在大三的暑假。这个时候的学生,一则专业课程已经修完很大一部分,具有一定的专业素养;二则还没开始正式找工作,还可以为找工作打下一个基础,感受一下软件企业的氛围,按照个人专业水平确定就业目标。所以软件开发实习要做到以下几点:

(1) 让学生懂得如何团队作战。完成软件开发,分工与合作是软件开发的最基本要求,不懂得分工合作的人在软件行业肯定不会有大的发展空间。

(2) 用软件工程的方法指导学生进行软件开发,包括掌握软件开发流程,安排时间进度,撰写软件开发文档等等。

(3) 学会使用当前流行的开发工具进行软件开发,是一个很好的学习过程。因为有同学和队友可以进行交流和讨论,摸索前进,共同进步。

(4) 软件开发实习也是一种受挫教育,因为一般没有大型软件开发经验的学生在面对一个实际问题时,往往会不知所措。通过这种实习,学生建立了一种观念,在面对一个问题的时候,从一般的立刻产生相应的编程调试想法上升到一个产生相应的分析与设计的想法,这是一种质的蜕变。

3.5毕业实习

毕业实习一般安排在大四的下学期,即大学的最后一个学期,本学期一般没有理论与实验课程,只剩下毕业实习与毕业论文的任务,而且毕业实习一般在学生有意向的就业单位进行,学生实际感受企业文化,也逐渐适应将来的工作单位的性质和管理等。因为毕业实习是分散的,所以在这个过程中,企业指派的指导老师给学生的影响很大,校方只能在宏观上给予一定的时间安排和进度安排。但学生在经过毕业实习之后,收获往往很大,这也是大学实践教学体系的最后一个环节。

4结语

综上所述,计算机软件实践教学体系的建立包括实验教学、课程设计、教学实践、软件开发实习和毕业实习等环节,每个环节都有所侧重,从基础的理论知识掌握和兴趣的培养,到课程综合知识的运用,到专业视野的开拓和选择个人软件开发平台,到真正意义上的软件开发的训练,到在实际工作单位的实习和软件开发,一步步地将计算机专业的学生培养成为社会有用的软件人才,能够填补目前社会上的软件人才缺口。只有这样,才能让热门的计算机专业不再是一个“鸡肋”专业。在此实践教学体系基础上培养人才的模式,一方面可以适应社会的需求,使学生很快地融入到新兴的软件产业当中去,成为新时代信息产业的弄潮儿;另一方面也为大学生的后续教育,例如为攻读研究生等奠定了一定的实践和理论基础。

参考文献:

[1] 李陶深,苏一丹,宋玲,等. 计算机科学与技术专业教学的若干改革与实践[J]. 广西大学学报(哲学社会科学版),2000,22(S2):40-43.

[2] 秦锋. 一般工科院校计算机专业教学改革研究与实践[J]. 安徽工业大学学报(社会科学版),2003,20(1):80-81.

[3] 韩乾,张键,虞林堂. 专业实验教学改革的再思考[J]. 实验室研究与探索,2003,22(5):18-20.

[4] 吴军,李桃红,景朋森. 计算机专业实践教学改革的实践[J]. 实验室研究与探索,2004,23(8):76,79.

软件开发专业论文范文4

1.1专业定位不适应社会需求

专业人才培养不具有明确针对性,人才培养结构合理性欠缺,专业人才培养层次相对单一。造成这一问题根源是地方院校对行业企业实际需求不明,导致专业人才培养定位不清。毕业生虽然专业知识结构比较全面,但实际工作能力不强,无法满足企业实际需求。

1.2专业课程设置不合理

课程体系建设是地方高校软件工程未来走内涵发展道路的核心。从调研地方本科学校现有软件工程课程体系实情来看,传统“学术型”课程体系架构占据主导,“应用型”与“学术型”课程体系架构区分度不明显。

1.3教师队伍应用型能力欠缺

地方高校软件工程现有师资队伍的实践能力不足,专业教师参与企业生产科研活动的力度不够。双师型结构教师比例低于30%。

1.4专业人才就业率低与企业“无人可用”矛盾冲突明显

软件工程专业高层次应用技术和技能人才数量严重不足,同时应用技术和技能人才培养的学历层次不高不能满足企业实际需求。地方高校软件工程专业定位和人才培养目标不明确、教学方式方法缺乏科学性、系统性,实践教学体系不完善,没有与行业就业有效对接,导致培养的人才无法满足社会生产实际需求,导致“软件工程专业毕业生无职可就,软件开发行业以及相关软件应用单位招不到满意的员工”现状普遍存在。

2软件工程专业课程体系理论设计

以行业、企业实际对人才需求为引导,软件工程专业毕业生真实就业情况调查为依托,地方高校软件工程专业课程一线教师众多教学研究成果为参考,专业教师在企业挂职学习经验体会为借鉴,围绕地方高校软件工程专业课程教学体系存在事实问题,来对地方本科院校软件工程课程体系建设进行设计建设。设计建议如下:

2.1学科建设

以专业相关的行业、企业人才的实际需求和当前使用的主流开发工具或技术为依托来不断调整专业架构,优化专业人才培养方案,完善人才培养目标,对专业进行合理定位,系统性调整教学方式方法,从而实现以行业、企业对人才的需求来引导地方本科院校软件工程专业的学科建设。

2.2校企办学

学科建设以输出满足行业、企业需求合格的应用型人才为目标,通过校企联合办学,对学生进行定向培养、训练,专业课程体系嵌入资格认证课程模块,实训课程以企业开发项目方式贯穿培养环节以达到提高专业人才的实际动手能力。

2.3师资建设

采取教师企业挂职锻炼参与企业项目研究开发,共同承接开发项目等方式锻炼提高师资队伍实战能力。教师在企业实战经历和相关经验成果带入到日常的教学环节,不仅能促进专业教师学术、科研能力提升,还能够最大程度丰富、提高专业学科建设。

3三层结构课程体系建设

软件工程专业课程体系建设以工程教育理念为指导,项目实战为背景,社会需求为导向,提高学生专业素养、理论知识体系以及实践能力为宗旨。学生完整地专业培养环节结束后具有程序设计,系统分析,软件设计、开发,项目管理,网络和移动通信终端应用开发能力。

3.1基础理论

由公共基础课程和专业基础课程构成:

①公共基础课程主要涵括地方高校各现行必修公共课程,

②专业基础课程是专业课程坚实的理论基础,专业必修前导课程,是对软件工程专业基本“计算”概念理解、掌握,问题计算求解能力和构建中小规模软件系统综合能力的初步培养。

3.2专业理论

以市场对人才需求为导向、行业最新前沿技术为引领、专业骨干课程为核心、专业素质全面拓展和综合素养整体提高为目标来对专业主干课程进行建设,主要包括以下几类课程:

3.2.1面向行业认知能力培养课程主要包括对行业、企业认知学习以及计算机专业知识学习等专业认知方面课程。一般包括行业相关法律、法规,从业道德规范,行为准则,经营管理常规模式,软件项目开发流程等认知类课程。

3.2.2计算机编程与算法设计能力课程算法设计类课程主要包含离散数学、数据结构、算法分析以及数据结构课程设计等方面的课程;编程课程主要包含C语言程序设计、面向对象程序设计等传统程序设计语言课,还包括当下企业应用最为广泛的,最流行的技术前沿课程。

3.2.3软件工程专业系统分析课程系统分析能力课程主要包括操作系统、计算机网络,软件工程、数据库原理等系统类课程。

3.2.4系统实现与集成能力课程系统实现与集成能力方面课程主要包括网络编程、移动互联开发编程、编译技术、软件开发以及软件测试等课程。

3.3实践

以校企联合培养为手段,一至两学年时长为周期,贴近企业实际需求为指导,综合技能全面提高为目的来对专业学生进行实践能力培养,方式如下:

3.3.1校企共同建设实训课程以项目介入为主线,企业实际效益项目和高校产学研项目为实际授课主体。引进企业优秀项目人才或具有企业项目实战经验的教师来对专业人才展开课程实训,全面提高学生专业技能水平,综合素养。校企共同培养模式不但能够提高学生工程实践能力,知识转化生产实际速度,同时反向激发学生探究、学习知识的热情,最终提高就业竞争力。

3.3.2合作企业岗位实训针对毕业学生和部分专业老师做岗位综合实训:

①学生岗位实训:让学生真实参与企业项目实战,充分消化吸收前期所学理论和技能知识,进一步提升学生综合能力,为就业夯实基础。

②老师岗位实训:专业老师参与企业项目研发,并将企业项目开发经验和技术进行梳理总结、编纂成册,运用到实际日常教学环节,促进教学质量提高,有利于缩短理论转化实际成果周期。

3.3.3校企合作运用项目方式指导学生做毕业论文(设计)毕业论文(设计)是对学生的专业知识掌握程度与提升高度的一次全面的考核,同时也是培养学生综合运用所学知识,独立地分析问题和解决问题的能力的一次全面的实训。但是传统的教育模式导致大多地方院校工科专业学生毕业论文流于形式,与实际脱节。通过与企业合作运用项目方式指导学生做毕业论文(设计)弱化学生对毕业论文(设计)的抵触情绪,可以进一步让学生了解行业企业实际运作规范及最新技术,进一步加强对学生实践和技能能力的培养,为毕业后从容就业夯实基础。

4结语

软件开发专业论文范文5

一、引言

软件工程是一门交叉性的工程学科,它将计算机科学、数学、工程学和管理学等基本原理应用于软件的开发与维护中,研究重点是大型软件系统的分析与评价、规格说明、设计和演化,同时也涉及管理、质量、创新、标准、个人技能、团队协作和专业实践等方面的内容。然而,软件工程开展近30年后,人们才对软件工程核心的知识体系达成共识。在国际上,ieee-cs和acm联合组建的软件工程协调委员会(swecc)了软件工程知识体系和推荐实践swebok2004[1],为软件工程职业实践建立了合适的准则和规范集,以作为产业决策、职业认证、课程教育的依据。基于swebok,swecc进一步定义了其中可以纳入教育程序的知识体系,包括本科生软件工程教育计划se2004中的seek、研究生软件工程教育计划gswe2009[2]中的cbok、软件工程职业道德规范和职业实践。

我国2002年启动了软件工程硕士培养程序。借助于计算机科学技术、数学、管理科学与工程诸多学科,软件工程已由计算机科学与技术专业下的一个学科方向,发展为一个独立的新兴交叉一级学科。但由于我国传统的高等教育注重科学研究能力培养,工程化人才教育开展时间较短,培养体系尚在不断改革完善,因此在很多院校中软件工程学科还没有脱离计算机科学与技术的范围,所培养的软件工程人才与工业界的要求尚有一定距离,整个硕士培养过程中,课程体系的设置是影响研究生业务能力和素质的重要因素,因此以企业需求为导向,以软件工程知识体系为核心,以训练实践能力的为目标的层次化软件工程课程体系改革对促进高等教育面向社会需求培养人才,全面提高工程教育人才培养质量具有十分重要的示范和引导作用。特别是在硕士生的培养上,对课程学习与学位论文的要本文由论文联盟收集整理求一般是同等并重,合理的课程体系是高等院校保证培养目标和形成办学特色的重要手段。软件工程硕士的定位和其他学生不同,这为我们的课程设置、建设与管理提出了新的挑战。

通过对国内众多高校的软件工程专业培养方案和课程设置进行分析,将其分为以下四种主要类型[3]:

(1)完全独立型:将软件工程彻底从计算机科学与技术专业分离出来,作为独立的一级学科,课程设置上综合计算机、数学、管理科学与工程等学科,偏重于数学基础,但实践能力较缺乏。

(2)以计算机科学与技术主体课程为基础,以软件工程理论课程为核心,加强实践教学型。以计算机科学与技术的课程体系为主体,教学中突出软件工程的知识体系,加强实践教学,根据企业需求或者人才市场需要,按照工程思想进行实践教学,同时校企结合,试图在实践中摸索和学习软件工程的工程理念,但在进行实践之前的软件工程理论基础不牢固。

(3)实践加强型的计算机科学与技术课程体系,在这个模式下,课程体系基本和计算机科学与技术相同,只是加强了实践环节,学生在学习和就业方面没有脱离计算机科学与技术专业,工作中所学的工程理念需要自己去学习。

(4)其他类型,鼓励学生参加各种软件大赛,推荐学生参加各种证书的考试,获取各种软件企业证书。这种类型中,学生所学内容较多,但是正是为了考试而学习,基础不扎实,同时真正的工程实践能力不够。

因此我们认为,目前的软件工程还没有脱离计算机科学与技术的范围,无论是从传统计算机科学与技术专业与软件工程专业的区别,还是本科生与研究生的区别来看,针对软件工程硕士的课程体系建设和教学改革研究都是十分有必要的,同时也是迫切的。

二、生源基础分析

gswe2009对给出了软件工程硕士的三种主要生源:

(1)在职程序员,由于没有受到过正规研究生教育,有些企业的在职人员对理论知识匮乏,因此具有系统学习的愿望;

(2)其他领域的专业人员,由于软件工程职业的兴起,以及目前人才市场对该专业的需求,使得其他领域的专业人员想要加入软件工程的队伍;

(3)没有工作经验的本科毕业生,在当前就业压力下,许多本科毕业生毕业后选择继续深造。

在我国,软件工程硕士研究生多是没有工作经验的本科毕业生,正式由于这些大学本科毕业生的基础专业各不相同,使得软件工程硕士研究生的课程设置更加复杂和重要。

三、知识体系分析

2004年8月,有全世界五百多位专家教授推出的软件工程知识体(swebok)和软件工程教育知识体(seek)两个文件的最终版本,包含了软件工程核心类的知识领域、基础类或前导类的知识领域以及其他相关领域的知识。2009年, gswe2009中的教育知识体系cbok主要来源于swebok,同时也参考了seek2004、incose2003和haskins2007。与swebok2010同步,gswe2009包含了一个新的知识领域ka(职业实践)和四个关于教育的ka(工程经济学基础、计算基础、数学基础和工程基础),同时两个在swebok中没有出现的ka(系统工程基础和职业操守指导)被加入了cbok。此外,cbok还调整了一些知识单元和知识点[4]。gswe2009由准备知识、核心知识、大学特有知识、选择性知识和顶点经验所构成。其中的大学特有知识有学生的入学基础决定,在整个硕士研究生的培养过程中,主要为学生设置学习专业核心知识之前的准备知识以及在学生职业实践课程中所需要的选择性知识,而顶点经验需要学生在学习专业核心知识和进行职业实践的过程中积累,因此,课程设置中准备知识和专业核心知识的设置以及学习方式尤为重要。

四、课程设置分析

通过对软件工程知识体系进行分析,软件工程硕士研究生应具备的主要能力有:基础开发技能、团队合作技能、发现并解决问题技能、系统建模技能、文档撰写技能。我们将硕士研究生的培养阶段分为:理论知识学习、职业实践、论文撰写三个阶段。在前两个阶段中,我们给出了三单元课程、两步实践的方式,三单元课程分别是:必选课单元、必修课单元、自选课单元,两步实践有:模拟职业实践、实际职业实践。传统的理论学习和职业实践通常是完全分开的两个阶段,但在软件工程这个特殊的学科,我们将理论学习和职业实践结合起来,在进入理论学习第二单元的同时进入模拟职业实践阶段。理论学习三个单元具体设置如下:

(1)必选课:选择工程经济学基础(例如知识产权与法律、企业管理与文化、领导学、信息经济学 、市场营销学等)、计算基础(例如算法设计与分析、高级软件工程、高级数据库、高级操作系统、高级网络技术)、数学基础(离散数学 、组合数学、 工程数学、数值分析)等准备知识中的专业主干课程按学科分类作为新生入学的必选课,取代以往将某些固定课程作为所有学生的基础课的方式,方便根据学生大学所学专业来选择自己所欠缺的准备知识进行学习,是知识的储备阶段,在本单元根据学生所选课程的成绩作为给定学分的依据。

(2)必修课:将软件工程基础中的核心知识(例如软件体系结构、软件项目管理、软件质量保证与软件测试技术、软件系统建模原理和方法、基于cmm 的软件过程改进、软件开发方法、软件需求工程)作为所有学生的必修课,培养学生能够系统全面地了解软件工程的概念,旨在学生具有扎实的软件工程及相关专业基础理论,熟练掌握软件工程知识和技能,并且具备作为软件工程师从事工程实践所需的专业能力。在学知识的同时,适当加入模拟职业实践的训练,根据学生的学习方向,将学生进行分组,进行模拟题目的训练,题目可以是各类大赛的题目、教师的科研课题以及学生自己选题,这是学生职业实践的第一步,培养学生基础开发技能、团队合作技能、系统建模以及独立创新技能,之所以称之为模拟职业实践,是因为这一步的实践题目并不是真正的软件工程课题,而是采用软件工程思想的实际课题,为下一步学生进入企业进行第二步的实际职业实践奠定基础,在本单元根据学生的课堂表现以及最后考核给出一部分成绩,另一部分成绩给出的依据是学生实践课题的完成情况以及在小组中的贡献程度,培养学生动手实践的同时,也提高了学生认识自我、团结合作的能力。

(3)自选课:学生根据自己对软件工程的理解以及通过对上一个单元所做题目的分析,选择自己所需要补充的基础专业知识,自行选择和学习,培养学生发现并解决问题以及自觉学习的能力。在这一单元中,导师根据学生所选专业知识的准确性以及学习之后对该软件工程专业的认识给出学生的成绩。

传统的课程设置一般都是先学习再实践,或者是边学习边实践的过程,前者学生在学习理论的同时没有实践练习,导致学生理论与实践结合得不好,后者在学习的过程中进行实践,锻炼了动手能力,但是学生往往不知所以然,只是按照老师的讲解去实践,对理论的指导作用理解不够,而我们通过上面学习-实践-学习的过程,学生不但对软件工程相关知识有所掌握,也具备了一定的实践能力,同时也培养了学生具有不断补充知识、总结自己、提高自己的意识和能力,在实践中体会到理论知识的作用,从而能够主动学习。在这个过程中,学生在学习软件工程核心知识的同时进入了职业实践的第一步模拟职业实践,将理论和实践很好地融合在一起,使理论的学习过程不再枯燥。

在职业实践的第二步实际职业实践中,学生自己从课堂走出去,到实习基地、用人单位或者是校企合作的相关公司企业进行真正的软件工程实践,学习良好的职业道德,正规的软件工程管理方式,同时在实践中学习和总结自己的研究生学习过程,进入第三阶段论文撰写,这就避免了以往硕士研究生写论文闭门造车的现象,为论文提供了更好的实践依据,提高了硕士论文的质量,这一步通过从实践中回到学习上来培养学生的总结、概括、撰写文档的能力。

软件开发专业论文范文6

关键词:CDIO;软件工程;课程体系优化

中图分类号:C31 文献标志码:A

软件产业是信息产业的核心,是国家信息化的基础和支撑,软件产业既是知识密集型产业,又是劳动密集型产业,产业发展的关键要素就是软件从业人员的数量和质量。世界知名的软件企业规模都在万人以上,且从业人员的层次呈金字塔结构,如美国微软公司拥有约九万名的全职员工,印度塔塔咨询服务公司更是拥有24万余名雇员。软件产业的竞争归根结底是人才的竞争,目前,尽管中国的软件人才较多,但是真正适应国家社会经济建设和软件产业发展需求的应用型软件工程人才依然严重匮乏。因此,应用型软件工程人才是一项迫切而长期的任务。

CDIO(conceive,design,implement,operate)工程教育模式是近年来国际工程教育改革的最新成果。从2000年起,麻省理工学院和瑞典皇家工学院等大学经过四年的探索研究,创立了CDIO工程教育理念,并成立了以CDIO命名的国际合作组织。国内外的实践表明,CDIO的理念和方法是先进可行的,是适合工程教育特点的,已经成为工程教育改革的一个重要趋向。

本文以CDIO工程教育模式为指导,遵循构思、设计、实施及运作全过程为载体来培养学生的理论知识、个人素质和发展能力、协作能力和工程一社会大系统适应与调控能力的思想,对软件工程专业课程体系进行优化,建立包括理论课程体系和实践教学体系在内的课程体系,使课程体系能够满足软件产业对人才知识、能力和素质的要求。

1、对于软件工程教育的认识

工程是综合运用科学知识与技术知识,以创新思想对现实世界发展的问题求解。而软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的定义、开发、和维护的工程,或以之为研究对象的学科。因此,软件工程教育具有以下特点:①软件属于横断学科,软件的渗透性和软件的服务性,不断催生新学科,发展新产业。软件工程是软件产业的支撑学科,具有交叉应用性和工程实践性。②软件工程教育兼具科学教育属性和工程教育属性。软件工程的科学教育属性是引导学生对人类意识与智慧进行科学理解,增强学生运用软件本质特性解决具体问题的能力,培养的是软件工程基础研究人才;软件工程的工程教育属性是引导学生综合应用计算机科学、数学、管理学等科学原理,借鉴传统工程的原则与方法,提炼、固化知识来创建软件,以达到提高质量、降低成本的目标,培养的是软件工程技术、管理和服务人才。③随着软件技术的发展、产业结构的不断调整、产业的逐步优化升级,软件人才的结构和人才需求也产生了新的变化。软件产业不仅需要编程、测试人员,更需要设计、方案架构人员,还需要具有领域知识的复合型技术、销售和管理人才。因此,软件工程教育必须依据就业和产业结构调整的发展趋势,先于市场变化预测和调整学科专业布局和层次结构。

2、软件工程专业课程体系构建的指导思想

CDIO以产品研发至产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程,CDIO标准体系的教育目标与软件工程专业人才培养目标是一致的。哈尔滨理工大学软件学院在构建课程体系时,以CDIO高等工程教育理念为指导,以培养应用型软件工程人才为目标,突出体现复合型、多层次和国际化特点,遵循先进性、科学性、系统性和灵活性的原则,强化基础、注重实践,着重培养学生解决工程问题的综合能力。以软件产业或行业的实际需求为导向,从技术知识、个人、团队交流和系统制造4个层面,建立并优化课程体系,具体方法是:①面向软件产业对人才知识、能力和素质的要求,确定能力培养目标,定义能力等级,使工程能力的培养遵循一个有序的能力增长过程。②以能力等级为线索,形成层次化、系列化、模块化的课程体系和“两段式”工程实践教学体系。③课程体系包含相互支持的课程,通过课程之间的有机结合,实现工程实践能力、创新能力、团队协作精神的培养。④课程体系实现专业规范与软件产业或行业需求的高度统一。以软件工程专业规范为基础,合理选择知识点和知识单元,以覆盖软件工程核心知识体系,强调软件工程的根本性和永久性原则保持稳定,以适应学科的发展;结合软件产业或行业的领域需求,设置若干个有应用背景的专业方向,以适应企业需求。⑤“两段式”工程实践教学体系,内容与要求突出循序渐进、渐次推进。在校内实验教学基地,培养学生的基础工程能力;在校外工程实践基地,培养学生综合运用专业知识解决工程问题的能力和工业化素质。

3、构建基于CDIO的软件工程专业课程体系

3.1 定义能力培养目标

软件工程专业的学生主要学习软件工程的基本原理和基本技能,先进的软件开发方法和工具,全面掌握软件系统知识和必要的硬件系统知识。毕业生应获得以下几方面的知识与能力:①知识结构要求:掌握自然科学、人文社会科学、工程学、专业技术基础及专业知识,掌握软件产业经营管理的基本知识,了解产业和市场发展规律,了解社会科学、计算机法律法规。②能力结构要求:具备软件工程师从事工程实践所需的工程实践能力、科技创新能力等专业能力,具有终身学习获取知识、适应学科发展的能力。③素质结构要求:热爱祖国,拥护中国共产党的领导;具有责任心和社会责任感;具有法律意识;注重职业道德修养;具有诚信意识和团队协作精神;具有创新精神和创业意识;具备良好的工程素养;具有严谨的科学态度;具有较好的身体素质和心理素质。

因此,定义能力培养目标,如表l所示。

3.2 理论课程体系设计

本着体现CDIO工程教育理念的原则,将能力划分为基本个人能力、人际能力、过程与系统的构建能力等3方面,设计了9个课程系列,每种能力对应的课程系列为:基本个人能力含数学,计算机基础理论,软件工程理论等3个系列,人际能力含人文素质,外语等2个系列,过程与系统的构建能力含软件开发工具,软件工程技术,软件工程管理,软件开发应用等4个系列。

(1)人文素质系列开设思想道德与法律,军事理论,马克思主义理论,中国近代史纲要,毛、中、特概论,企业管理基础等课程,通过人文素质系列课程培养学生的思想道德素质、文化素质和身心素质,使学生热爱祖国,拥护中国共产党的领导,树立科学的世界观、人生观和价值观,具有责任心和社会责任感,具有法律意识,自觉遵纪守法,热爱软件工程专业,注重职业道德修养,并具有诚信意识和团队精神,具有较好的身体素质和身心素质。

(2)在外语系列中开设两门课程,通过加强外语知识的学习,以及阅读、写作和听说强化,增强学生运用外语进行沟通的能力和文档的阅读与写作能力。提高国际竞争能力。

(3)数学系列开设高等数学、线性代数、概率论与数理统计、离散数学等课程,使学生掌握扎实的数理知识,具有科学的思维方法、一定的建模能力,以及应用数学方法研究、处理事物现象的意识。

(4)软件开发工具,软件工程技术,软件工程管理等3个系列覆盖了软件工程知识体系SEEK的十大领域知识,突出专业知识的集成性,能够满足专业知识、专业能力和素质的培养要求,使学生掌握软件需求、软件建模与分析、软件设计与构造、人机交互、软件测试、软件过程、软件进化、软件质量和项目管理等专业知识,具有软件分析、设计、构造和实施能力和良好的工程素养。在计算机基础理论系列开设模拟电子技术、数字电路及逻辑、片上计算机系统、数据结构与算法、操作系统、编译原理、计算机网络等课程;软件工程理论系列开设软件工程过程、系统分析与设计、软件体系结构等课程;软件开发工具系列开设结构化程序设计语言、面向对象程序设计语言等课程;软件工程技术系列开设数据库、统一建模语言等课程;软件工程管理系列开设软件项目管理、质量保证与测试技术等课程。

(5)为满足学生的能力、个性、兴趣和爱好的多样化需求,使学生在某一专业方向上具备从事工程实践的能力,结合主流软件技术和应用领域,在软件开发应用课程系列中设置软件开发J2EE技术方向、软件开发.NET技术方向、嵌入式方向、物联网方向、移动计算方向和金融保险方向等多个专业方向,每个专业方向形成一个课程模块。每个课程模块均设置了必修课和选修课。软件开发J2EE技术方向的必修课包括JSP程序设计,ERP原理及设计,轻量级J2EE框架spring,基于MVC的Web开发,软件开发.NET技术方向的必修课包括C#.NET程序设计,ERP原理及设计,程序设计,NET客户端框架结构,嵌入式方向的必修课包括嵌入式微处理器结构及应用,嵌入式操作系统,数字系统设计,嵌入式软件开发技术及应用,物联网方向的必修课包括单片机与嵌入式系统,中间件技术原理及应用,通信与传感器,射频识别技术,移动计算方向的必修课包括移动通信与无线网络,移动云计算导论,移动云计算的移动增值服务概论,Andriod平台移动云计算开发,金融保险方向的必修课包括金融学,保险精算,JAVA高级编程,保险理论与实务。

3.3 实践教学体系设计

软件工程人才的工程实践能力是至关重要的,CDIO强调学生的工程能力不是单纯的理论知识或直观的技能,而是二者的综合经验。因此工程实践能力的培养不能只靠理论课程实现,而是更加强调“案例牵引、项目驱动、团队合作”的模式,强化实践教学,学院积极与国内著名的IT企业建立了长期合作关系,建立了校内实践教学基地和校外工程实践基地,形成了特色鲜明的“两段式”工程实践教学体系,循序渐进地培养工程实践能力、创新能力、团队协作精神,积累项目经验。“两段式”工程实践教学体系以“流水线”方式渐次推进,内容与要求渐次深入、提高,其结构如图1所示。

(1)校内实践教学基地:通过课程实验——课程设计——学年综合设计三位一体的校内实践教学系统,培养学生的基础工程实践能力。

课程实验:完善课程实验的教学规范与技能要求,保证单元实验之间的连贯性和对知识的综合运用,增强学生对实验的设计、分析和总结能力。

课程设计:使课程设计内容具有真实项目成分,涵盖课程核心知识点的综合运用,提高学生工程设计与实践能力。

学年综合设计:根据每学年所学课程,设计横跨多门课程的综合设计性实践活动,以实际项目为依托,要充分贯彻软件工程的思想,提高学生的分析设计能力,工程实施能力、团队协作能力。

(2)校外工程实践基地:通过生产实习和毕业设计等多环节的校外工程实践体系,培养学生综合运用专业知识分析和解决实际工程项目问题的能力,以及工业化素质。

生产实习:以真实项目内容和环境为背景,并根据软件企业所需要的开发工具不同、软件架构不同、操作系统不同、应用领域不同和就业岗位不同,使用项目案例进行项目实训,有效地解决学生的工程经验、实用技能和职业素质问题。

毕业设计:学生在软件企业进行毕业设计,参与实际项目的研发工作,提高学生的实践能力,团队协作能力和工业化素质,使毕业生了解企业文化,满足企业对人才能力和素质的要求。

4、结语

基于CDIO的软件工程专业课程体系具有以下特色:

(1)课程体系的构建以软件产业或行业需求为导向,以培养应用型软件工程人才为目标,以培养实践能力和创新能力为主线,将实践作为整个课程体系的核心,将理论和技术作为实践的背景,突出强调基础知识在专业课程中不断地反复应用和加强,强调在实践中构建自己的经验体系。