软件工程教学大纲

2024-11-08

软件工程教学大纲(精选8篇)

软件工程教学大纲 篇1

《软件工程》教学大纲

《软件工程》教学大纲 课程编号及名称:040112软件工程 2 教学目的与要求:

软件工程是计算机科学与技术专业开设的一门专业必修课,是指导计算机软件开发与维护、培养学生计算机软件开发与应用综合能力的一门综合性课程。学生通过本课程的学习与课程实践,应能了解软件项目开发和维护的一般过程,掌握软件开发的基本原理和技术,掌握现代化的软件开发方法和步骤,为今后从事软件开发打下坚实基础。3学时学分:

总学时48学时,总学分3。其中授课40学时,实验8学时。4 先修课程的要求:

数据结构、C语言程序设计、面向对象的程序设计、数据库系统原理 教材与教学参考书目:

[1]

选用教材:《软件工程(第二版)》齐治昌,高等教育出版社 [2] 《软件工程导论》(第四版)张海藩编著,清华大学出版社 [3] 《实用软件工程》(第二版)郑人杰编著,清华大学出版社 [4] 《软件工程技术概论》朱三元 等编著,科学出版社 [5] 《现代软件工程》(上、中、下)周之英 编著,科学出版社 [6] 《面向对象的系统分析》 邵维忠 杨芙清 著,清华大学出版社 [7] 《软件测试》(美)Ron Patton 著,周予滨 等译,机械工业出版社 [8] 《System Analysis and Design Methods, fifth Edition》,Jeffrey L.等著,高等教育出版社

[9] 《能力成熟度模型(CMM):软件过程改进指南》,SEI编著,刘孟仁 等译,电子工业出版社

[10] 《软件测试自动化技术与实例详解》,Mark Fewster & Dorothy Graham 著,舒智勇等译,电子工业出版社

[11] 《软件工程》第二版 王立福等编著,北京大学出版社 [12] 《UML参考手册》Ivar Jacobson,James Rumbaugh,Grady Booch著,姚淑兰、唐发根译,机械工业出版社 [13] 刘超编,《可视化面向对象建模技术--标准建模语言UML》,北航出版,1999年7月第一版 6 课程主要内容:

软件危机与软件工程;软件、软件工程过程与典型的软件工程过程模型;与瀑布模型、演化模型等相对应的软件开发方法;面向对象的开发方法等。

(一)绪论(2学时)

软件危机与软件工程概念;软件工程过程及其典型开发模型;软件开发应遵循的基本原则;软件质量评价与软件度量等

(二)可行性分析与需求分析(6学时)

可行性研究的任务、种类与方法;软件需求及需求分析的任务、意义;需求获取技术;结构化分析技术

(三)系统设计(6学时)

系统设计的阶段与任务;模块独立、内聚与耦合概念;结构化设计方法;Jackson方法;详细设计工具

(四)系统编码(2学时)

软件实现;开发工具选择的原则;软件编程的风格与规范

(五)系统测试(4学时)

《软件工程》教学大纲

软件测试的概念、任务与原则;软件测试的阶段及过程管理;软件测试方法及方案设计;软件调试;软件测试自动化;软件可靠性研究

(六)系统运行及维护(2学时)

系统交付使用的方式及相关工作;软件维护的种类与相关概念;软件维护的实施过程与责任分工;提高软件可维护性的技术

(七)原型开发方法(6学时)

传统开发方法的问题;原型概念;原型开发方法及其支撑条件

(八)面向对象的软件工程开发方法(8学时)

面向对象方法概述及其优势;面向对象的分析方法;面向对象的设计方法;统一建模语言UML; 软件复用

(九)软件项目管理与质量保证(4学时)

软件项目管理概述;软件项目规划与估算;软件项目风险管理;软件项目的组织与进度计划;软件配置管理概述、配置管理的内容与工具;软件质量保证与软件过程能力成熟度模型CMM 教学内容重点:软件工程过程与典型的软件工程过程模型;软件开发应遵循的基本原则;结构化分析与设计技术;原型开发方法;面向对象的分析与设计方法

教学内容难点:结构化分析与设计技术;面向对象的分析与设计方法 7 实验教学安排:

在结构化分析方法、结构化设计方法与Jackson方法、原型开发方法、面向对象的软件工程开发方法教学过程中安排3-4次实验活动,要求学生认真完成。8 课程考核方式:

由于本课具有实践性强的特点,建议采用大作业平时成绩与结课考试相结合的方法综合评定学生成绩。本课特点及教学中应注意的问题:

本课特点:

1、实践性强;

2、表面理解显得较易,切实掌握非常困难。针对以上特点,教学过程中应极为重视实践环节的指导与检查,要求学生认真完成实践活动,以求学得扎实、深刻。

软件工程教学大纲 篇2

一、项目教学法的内涵

在专业教学中, 项目教学法是把普适功能的教育目标 (比如合作交往能力、方法能力、责任意识、独立自主能力等等) 进行突出展现的一种教学方式。实施项目教学法需要基于一种完整的人格发展的学习理念, 让学习者尽最大可能获得其职业发展所必须的行动能力和管理能力等, 且使学习者在社会生活中应用掌握了更多的能力而成为社会成员中重要的一员。

和传统课堂教学方式相比, 项目教学法具有自身的特点, 而这些特点能够确保其教育目标的一致性, 也就是产品与行动导向、学习过程的自我组织、学习者与需求指向、跨学科性以及社会关联性。显然, 和传统的教学方法相比, 它们存在着较大的区别, 项目教学法主要表现的是改变了传统教学方法中的三个中心, 也就是通过以教师为中心转变成为以学生为中心、通过以教材为中心转变成以“项目”为中心、通过以课堂为中心转变成为以实际经验为中心。因此, 在实施项目教学法开展教学时, 需要遵循学生是知识意义的主动建构者更是认知的主体这一主导的教学理念。

目前, 项目教学法可以分为三种实施的方式, 即学习过程成为每个学习者都必须参与的过程及其创造实践活动的过程, 其注重的不是最后的学习结果, 而主要是完成项目的整个过程;师生之间借助共同实施的一个完整“项目”或工作来开展教学活动;在教师的知道下学生以小组合作进行工作的方式自行组织完成某个“项目”。

二、项目教学法实践于《软件工程》的教学

在高职学生学习软件工程的过程中目前还普遍存在着一个错误的想法, 也就是软件开发就是如何想办法编写程序或代码。为了打消学生的这一错误的想法以及使高职学生进一步体验到软件开发的整个过程, 在教学过程中积极开展软件开发的团队分工和合作, 并在《软件工程》的课程教学引入项目教学法, 在充分理解项目教学法内涵的基础上制定了针对某一软件开发所需的完整项目小组学习以及工作的流程。在整个项目活动中, 强调学生在完成项目活动的过程都要以小组为单位, 并给每个小组的成员进行分工, 分工后想办法开展成员之间的合作, 然后利用业务时间根据软件工程的规范与要求设计一个小软件。其后通过一整套的流程:项目可行性研究、项目需求分析、项目系统设计以及项目系统实现等等进行完整的软件开发过程的体验, 最后得到一个可执行软件和文档。在项目实施的过程中, 为了使教师方便地了解项目实施的情况以及软件开发的具体情况以及在遇到问题进行及时的指导, 各小组在软件开发中几个重要的时段都要求在课堂内开展阶段性的讨论或者汇报。具体的过程如下:

1、命题

根据教学内容的需要以及学生学习的现实情况, 教师给出多个软件开发的命题, 如“基于多媒体技术实现双语电子词典的实现”、“乌鲁木齐市公交车查询系统的设计”、“以能力和素质提高为基础的班级综合测评系统的设计与实现”等进行分析、设计以及实现具体的任务, 同时还需要征求学生对这些命题的意见或者建议。

2、角色分工

按照软件开发的工作量以及软件开发的流程对学生进行分组, 一般需要5-7人为一组较为合适。每个小组选出一位同学担任组长并实行项目组长负责的制度, 组长的工作需要安排和协调好组内成员的工作角色或任务;根据不同项目的需要一般可以分成三类, 即软件开发人员、用户以及同行专家。每个项目小组都需要首先明确其成员的所承担的职责以及扮演的角色。并在项目不同的开发时段, 组内成员可以更换角色而扮演不同类型的角色, 可以在需求分析阶段让小组成员扮演软件开发人员, 而在设计阶段又可以转变成用户或者同行专家等。从不同的角度, 用户和同行专家需要对组内开发人员所设计的软件或完成的项目提出有针对性的意见或建议, 并对其工作进行恰当的评价。

3、选题

为了在软件开发的过程中实现对比和竞争的目的, 要求两个小组共用同样一个选题, 且这两个小组互相作为同行的评议专家, 而在开展课堂讨论的时候要给对方所做的工作提出意见或建议。这样的规定有利于加强各个小组之间的学习和交流, 还可以使得这两个同样选题的小组能够在相互学习中进行比较与借鉴, 由此拓展学生的思维, 开阔学生的眼界。选题之后, 各个小组需要首先确定软件系统开发的目标及其初步的方案, 再就是选择、准备以及试用所需要的开发平台和数据库等等开发的工具。

4、阶段性开发工作

软件开发的过程通常有五个主要的阶段, 分别是可行性分析、需求分析、设计、编码以及测试等。每个阶段都要求根据规定编写代码和软件工程开发所需的国家标准或者ISO的标准对文档进行书写。而在每个阶段, 教师需要给学生提供相当数量的参考资料与软件开发样例或模板, 然后各个小组的成员按照事先的分工而承担起自身的任务, 并充分利用各种学习途径开展有针对性的专业知识学习, 同时收集有关的素材或资料。在软件开发的过程中, 各个组长在相当程度上承担着领导的责任, 要求小组成员开展分工和合作, 并且对开发过程的文档进行记录。

5、阶段性讨论与汇报

按照教学的需要以及各个小组软件开发的进度, 教师可以选择一个合适的时间, 通过教师的组织, 然后让各个小组进行课堂汇报、交流以及讨论, 首先由各个小组负责某个阶段工作的这一同学进行主要的汇报, 其汇报的内容主要是根据各组当前软件开发工作的进展来安排, 与此同时需要同题的评议专家对汇报或讨论的内容给出建议或意见, 而其它小组则作为用户一起参与到这个项目的交流与讨论之中。在阶段性汇报与讨论的过程中, 教师需要对汇报小组在该阶段的工作给出指导性的评价而不作决定性的评价, 尤其对其中的研究方法、研究思路以及研究过程尽量提出参考性的意见。

6、阶段性总结

在各个阶段完成之后需要交付的产品主要有可行性分析报告、软件概要设计说明书、软件需求文档、可运行的程序、软件详细设计说明书及其数据库设计的说明书、测试分析文档等等。因为在软件开发的过程所涉及到多个阶段的反复工作, 所以为了设计和调试软件需要在第4步到第6步之间反复执行多次, 一直到全部阶段性的工作都完成为止。

7、总结评价阶段

当全部的工作都完成之后, 各个组需要提交最终文档以及开发的产品, 然后教师对各个小组的开发成果进行有针对性的评价, 并对学生的最终成绩给出评定。学生最终成绩主要由“小组成绩”和“个人成绩”两个部分构成, 其比例为6:4。其中小组成绩主要是教师给出的, 这一成绩是教师对各个小组完成特定项目的总体评分, 可以从学生认识水平与学习能力、解决问题的创造力、团队协作精神、探索精神以及最终产品质量等多个方面进行;而个人成绩则由各个组长给出, 各个组长的成绩则由每个组员一起给出。显然, 这种多元化的考核结果对学生在整个项目活动的过程所作出的成绩进行了综合而全面的评价, 显然这样有助于学生发展全面而自由的个性以及提高学生的综合素质。

为了让学生可以及时感受和理解软件工程学科的方法, 需要紧紧围绕理论结合实践的目的, 把项目开发活动和理论教学有机地结合起来, 并把当前的教学内容贯穿于项目开发活动的整个过程, 以达到给学生指导和帮助的作用。

三、结语

开展基于项目教学法的软件开发活动有利于培养学生收集信息和处理信息的能力、独立思考能力以及分析问题和解决问题的能力, 从而为高职学生职业能力的发展奠定基础, 为其未来的发展提供理论上和智力的帮助。从项目开发的过程和结果来看, 学生的各方面的能力有相当程度的提高, 这说明在《软件工程》的教学中采用项目教学法有很好的教学效果。不过在开展项目教学的过程中, 需要教师注意选题的实用性、把握选题的方向并要结合所学的内容、充分相信学生的能力并要关注学生的思想火花以及捕捉学生的创新思维, 尤其需要制定好项目的评价方式从而能够更好地鼓励学生主动学习。

参考文献

[1]张海藩.软件工程导论[M].北京:清华大学出版社, 2008:5.

[2]彭佳红, 彭佳文, 曹晓兰.基于案例的软件工程课程教学研究[J].高等农业教育, 2009 (11) :60-62.

[3]黄亚平.项目教学法在“软件工程”教学中的理论和实践[J].浙江工业大学学报 (社会科学版) , 2009 (8) :226-231.

软件工程教学大纲 篇3

关键词:软件工程;案例教学法;实施

中图分类号:TP311.5-4 文献标识码:A 文章编号:1007-9599 (2012) 09-0000-02

一、引言

《软件工程》是计算机软件专业的一门核心课程,在软件开发实践中发挥了重要作用。《软件工程》中的方法与技巧不仅能用于软件开发过程,还能促进组织管理协作能力的发展,对培养学生的软件素质,提高学生的软件开发能力具有重要的意义,为将来从事软件开发及项目管理工作打下良好的基础。

《软件工程》是一门比较难学的课程,内容抽象,理论性、逻辑性比较强。对于学生来讲,一些知识点很难学懂学透;对于老师来说,如果仅仅是照本宣科,纯理论的讲解,那么学生听不懂,会失去学习的兴趣,教学效果差。

采用什么样的教学方法能提高学生学习本门课程的兴趣,提高他们的教学效果,促进本课程的教学?是我们每位教师值得思考的问题。通过多年软件工程的教学,总结经验得出案例教学法可以促进软件工程的教学。

二、案例教学法

案例教学,就是在教师的指导下,根据教学目的要求,组织学生对案例的调查、阅读、思考、分析、讨论和交流等活动,教给他们分析问题和解决问题的方法或道理,进而提高分析问题和解决问题的能力,加深学生对基本原理和概念的理解的一种特定的教学方法。

案例教学方法有一个基本的假设前提,即学员能够通过对这些过程的研究与发现来进行学习,在必要的时候回忆并应用这些知识与技能。案例教学法非常适合于开发分析、综合及评估能力等高级智力技能。为使案例教学更有效。学习环境必须能为受训者提供案例准备及讨论案例分析结果的机会,必须安排受训者面对面地讨论或通过电子通讯设施进行沟通。但是,学习者必须愿意并且能够分析案例,然后进行沟通并坚持自己的立场。

案例教学的具有自身的特色:1.鼓励学员独立思考。案例教学没人会告诉你应该怎么办,而是要自己去思考、去创造,使得枯燥乏味变得生动活泼,而且案例教学的稍后阶段。每位学员都要就自己和他人的方案发表见解。通过这种经验的交流。一是可取长补短、促进人际交流能力的提高,二也是起到一种激励的效果。2.引导学员变注重知识为注重能力。学员一味的通过学习书本的死知识而忽视实际能力的培养,对自身的发展有着巨大的障碍。3.重视双向交流。在案例教学中,学员拿到案例后,先要进行消化,然后查阅各种他认为必要的理论知识.这无形中加深了对知识的理解,而且是主动进行的。捕捉这些理论知识后,他还要经过缜密地思考,提出解决问题的方案,这应视为能力上的升华。同时他的答案随时要求教师给以引导,这也促使教师加深思考,根据不同学员的不同理解补充新的教学内容。

三、在软件工程教学中采用案例教学法的意义

传统的软件工程教学是给学生讲解许多的理论知识,并没有说明如何将理论知识与实践相结合,以理论指导实践,通过实践加强对理论知识的理解,采用的是填鸭式的教学方法,学生上课积极性、主动性不高,感觉学习枯燥乏味,产生厌学心理,学生的情绪会同时影响老师的积极性,使课堂气氛非常的沉闷。

要有好的教学效果,除了要求老师对本门课程的知识非常熟悉,教学经验丰富以外,还要求老师在上课时,采用比较好、先进的教学手段和教学方法。通过本人对软件工程课程的研究,认为在软件工程教学中以“案例导向、项目驱动”的教学方法,引导学生理论与应用相结合,理论指导实践,通过实践反过来加深对理论知识的理解,学生利用软件工程的原理、方法、工程技术在实践中学会发现问题、分析问题、研究问题、解决问题,更好地进行软件开发。

四、案例教学法在软件工程教学中如何实施

案例教学法在软件工程教学中组织实施的总原则:先从小的案例教学入手,学生适应后再进行大的案例教学,把学生分成若干个组,在规定的时间让学生阅读材料,之后让学生互相提讨论并解答,让学生对案例进行展示,老师对学生的案例进行评价和总结。以下分别讲解案例教法在软件工程教学的理论、实验、课程设计中的实施。

(一)案例教学法在软件工程理论教学中的实施

本课程主要介绍了软件危机的产生、消除软件危机的途径、软件工程的定义和基本原理;软件生命周期的基本任务、软件模型;传统方法学:结构化分析、结构化设计、结构化实现;面向对象方法学:面向对象分析、面向对象设计、面向对象实现;统一建模语言;软件计划、组织、控制、国际标准。重点和难点的内容是:软件工程的定义和基本原理;软件生命周期的基本任务、软件模型;结构化分析、结构化设计、结构化实现;面向对象分析、面向对象设计、面向对象实现。

这门课程涉及的理论知识比较多,内容比较抽象,教师在讲解课程内容时,如何使这门课程上得有声有色,學生听得津津是道,除了优化课程教学内容,有较强的表达能力以外,还要采用好的教学方法。

在本课程的理论教学中,我们都是以案例为导向,对软件生命周期的基本任务、软件模型的教学,举出三个案例,结合我们的理论知识,要求学生分析与计论出三个案例分别适合采用哪种软件模型,以及采用这种模型的原因。通过仓库管理系统、教师工资支付系统等案例讲解如何采用传统方法学对软件进行分析、设计、实现,面向对象分析、面向对象设计、面向对象实现知识的讲解,贯穿的案例是ATM自动取款机系统、电梯系统。

(二)案例教学法在软件工程实验教学中的实施

软件工程知识的掌握,不仅需要掌握理论知识,也需要大量的实际动手的训练。在实验课中,以案例为主线设计实验内容。本课程安排的实验如下:

1.系统分析----数据流图。2.系统分析----状态图及数据字典。3.软件总体设计---软件的系统结构。4.软件详细设计---程序流程图及判定表。5.白盒测试-----逻辑覆盖。6.白盒测试-----基本路径测试。7.黑盒测试---等价划分及边界值分析。8.自动售货机系统对象模型的创建。9.自动售货机系统动态模型的分析。10.自动售货机系统功能模型的创建。配套与教学内容相对应的上机实验,使理论与实践想结合,使学生得以融会贯通所学知识,学生能对所学的理论知识有更深的理解,加强实践运用的能力。

(三)案例教学法在软件工程课程设计中的实施

精心设计和实施综合性的课程设计,以循序渐进的任务驱动方式,指导学生完成综合性的实验任务。本课程安排了56节课的课程设计,课程设计案例的题目:1.教师工资支付系统的研究与设计;2.仓库管理系统的研究与设计;3.ATM模拟系统的研究与设计;4.图书管理系统的研究与设计;5.无纸化考试系统的研究与设计;6.校友录系统的研究与设计;7.餐饮系统的研究与设计;学生也可以自拟题目。可以三个人一组或单人完成一个项目,在完成项目期间,学生可以互相探讨,也可以与老师探计。项目成果最终以论文+系统的形式上交,论文要求如下:第一章是引言,第二章是系统分析,第三章是系统设计,第四章是系统实现,第五章是系统测试,第六章是总结,然后附錄是主要的代码。这些项目可以使用传统方法学的方法,也可以采用面向对象的方法进行分析、设计、编码和测试。

通过案例项目开发过程中发现的问题,有针对性地学习软件工程理论。使学生在实践中学会发现问题、研究问题、分析问题、解决问题。使得学生能对所学的知识建立完整的知识体系。

五、总结

在软件工程的教学过程中,采用案例教学法,打破了传统的填鸭式的教学方式,实现以”案例教学法”促进”软件工程”教学,激发了学生学习的兴趣,使得枯燥乏味的课堂学习变得生动活泼,提高了学生学习的主动性,达到了较好的教学效果,学生通过软件工程课程的学习,掌握软件工程的原理和方法,根据软件规模,用传统方法学或面向对象方法学对软件系统进行分析、设计、编码、测试、运行维护。提高学生的软件开发能力,为将来从事软件开发及项目管理工作打下坚实的基础。

参考文献:

[1]张海藩著.软件工程(第3版).人民邮电出版社,2010,3

[2]宋雨著.软件工程实践教程.清华大学出版社,2011,3

[3]刘光洁著..NET软件工程与项目案例教程.清华大学出版社,2012,1

[4]张凯著.软件工程与开发技术.清华大学出版社,2012,1

软件工程教学大纲(小编推荐) 篇4

第一章 软件与软件工程  软件  软件危机  软件工程  软件生存周期  软件工程的最佳实践

第二章 软件过程  软件过程模型  基于构件的开发过程

 统一软件开发过程RUP(IBM RUP理论部分 2学时) 能力成熟度模型CMM

第三章 软件项目管理  项目管理的谱系

 软件项目管理的目的、任务和内容  软件项目度量  软件质量度量  软件复杂性度量  软件项目计划与估算  风险分析与管理  项目进度安排

第四章

需求分析  需求分析基础  需求分析方法  需求分析模型  软件需求管理

 基于用例的需求管理

第五章

软件设计  软件设计基础  软件设计过程  软件总体结构设计  软件过程设计技术与工具  软件设计方法  设计模式  架构模式

 软件设计优化原则

第六章 面向对象的需求分析(IBM Rational相关理论与实践相结合 4学时) 面向对象的概念

 统一建模语言UML及十种视图  基于UML的软件开发过程  基于UML的需求分析  基于UML的需求建模  UML用例图的构建

 UML类图构建,类之间的关系描述

 使用IBM Rational Rose 进行需求建模(演示或上机实验)

第七章 面向对象的设计方法(IBM Rational相关理论与实践相结合 4学时) 面向对象的软件设计过程  基于UML的设计  UML顺序图的构建  UML协作图的构建  UML状态图的构建  UML活动图的构建

 使用IBM Rational Rose 进行设计实现建模(演示或上机实验)

第七章软件测试(IBM Rational相关理论与实践相结合 6学时)

 软件测试的目的和原则  软件测试流程  软件测试计划  软件测试技术

白盒测试 黑盒测试

 软件测试策略

单元测试 集成测试 回归测试 系统测试

 IBM Rational 自动测试工具

 使用Rational Testmanager 进行测试设计(上机操作实验 4学时)

 测试用例设计与实施  由测试脚本方式实施测试

在Rational Robot中记录的自动测试脚本 在Rational ManualTest创建手工测试脚本  用套件方式实施测试  测试实现  测试执行

 测试结果分析与评估

 使用Rational Functional Tester进行功能测试(上机操作实验 4学时)

 录制脚本  脚本回放  扩展脚本

 测试对象地图和对象识别  数据驱动的测试  进行功能回归测试  可复用的测试框架  调试特性

 使用Rational Functional Tester进行回归测试(演示或上机实验) 使用Rational Performance Tester进行性能测试(演示或上机实验)

 创建测试  测试验证点  数据驱动测试  扩展测试  负载分析  运行调度  分析测试结果  使用Junit进行单元测试

第八章配置管理(IBM Rational相关理论与实践相结合2学时) 配置管理简介  软件资产管理  团队开发模型

 CVS简介和UCM简介  Rational Clear Case 简介  Rational Clear Quest 简介

软件工程教学大纲 篇5

开课单位:计算机科学与工程学院 开课学期:第4学年秋、春季学期

学 分:12学分 学 时:192学时(12周)+160学时(10周课外)适用专业:软件工程(0308)

一、毕业设计的目的与意义

毕业设计是整个教学过程中最后一个重要的综合性教学环节,是培养学生理论联系实际,综合运用所学知识,提高独立分析问题、解决问题能力所进行的一次专业技术和科学研究的综合训练;完成毕业设计也是学生获得毕业证书及学位资格认定的重要依据。毕业设计的主要目的是:

1、培养学生利用所学的理论知识(基础课、技术基础课、专业基础课、专业课等方面的知识)独立分析和解决问题的能力。

2、巩固和深化所学的基础知识和专业知识,具备技术理论研究和独立工作能力。

3、培养学生从事科研工作的一些基本技能,包括:调查研究、文献检索和搜集资料的能力;方案论证、确定方案的能力;理论分析、设计和计算的能力;用计算机编程、计算和分析数据的能力;撰写科技论文及设计说明书的能力。

4、培养学生的团队精神、创新精神。

二、毕业设计的内容

1、毕业设计选题分为设计型和研究型两种。

2、设计型选题通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。

设计型的毕业设计,主体部分应包括:需求分析;方案设计和论证比较与可行性分析(总体设计);设计与实现(模块划分,算法描述,编程模型,数据结构,实现技术);测试结果讨论与分析(功能测试和性能测试;实验方法、实验结果、对结果的讨论)等。

3、研究型选题需详细了解现有系统的算法、数据模型,在国内外的研究现状和发展方向,掌握其理论基础和研究的基本前提,在充分收集相关资料后提出自己的研究方向或者在已有的研究基础上进行自己的创新。

研究型的毕业设计,主体部分一般应包括:问题描述(问题的提出,研究工作的基本前提、假设和条件,理论基础);模型的建立和论证比较与分析;设计与实现(形式化描述,算法推导求解方法,硬件设计和软件设计);测试与实验结果的讨论与分析(功能测试和性能测试;实验方法、实验采用的算法、结果的分析)。

4、推荐毕业设计的选题类型为:测量系统、企事业行政管理(办公软件)系统、企业供应链管理系统、服务业信息系统、商业系统、金融管理系统、教育软件、娱乐软件(游戏)、实用软件工具、算法协议设计和软件系统测试等。

三、毕业设计的基本要求

1、选题的原则要求

(1)按照软件工程专业的培养目标和专业特性,本专业毕业设计属性明确界定为“是设计、无论文”,原则上不准许“空洞”、“空泛”的无实际编程的“设计”。

(2)题目“必须每生一题”、“难易适度”、“同组题目必须具有明显的便于判断的区分度”。(3)毕业设计最后成果“必须有合适的、基本可运行的软件或程序”、“不接受静态的软件系统(算法类、测试类程序除外)”、“不接受单机程序”(算法类、测试类程序除外),“设计类的软件必须是一个相对完整的软件系统(算法、测试类或安全类设计成果可以仅为一个可执行程序)”。

(4)鼓励具有实际应用背景的题目,如教师的科研项目、创新实验室题目、学生实习单位题目、企业题目、自选的实际题目等。但是,对学生实习单位题目、企业题目需要实行双师指导,学生自拟的实际题目需要批准确认。

(5)杜绝的题目类型:纯粹的静态类网站(课程网站建设需要的另议)题目,历史性、教学案例类题目,纯粹的企业培训类题目。

2、纪律要求

(1)学生每周应至少与指导教师联系一次,书面提交或向指导教师汇报毕业设计进度情况,指导教师根据学生平时的答疑情况的表现给定成绩(在毕业设计成绩中占有一定的权重)。(2)已经签约或即将签约的学生允许校外毕业设计,但是需要填写《校外毕业设计申请表》。其他情况不允许在校外做毕业设计。学生的毕业设计题目应与实习内容关联,如无关联,原则上不允许进行校外毕业设计。

3、成果文档要求

毕业设计结束后必须提交毕业设计论文和能够运行的源代码。毕业设计论文内容和格式要符合学校毕业设计(论文)规范,源代码或程序应能正确演示。

成果包含:任务书、开题报告、外文翻译、文献综述、毕业设计论文正文(含论文一稿、二稿、终稿的电子稿,以及终稿的打印稿)、可执行软件及其源代码。

4、毕业设计论文应该做到结构清楚、论述清晰、逻辑合理。在内容上要体现软件工程的流程:系统分析、软件项目设计、需求分析、软件设计、编码、软件测试、软件维护。

四、毕业设计成绩的评定

1、参照《重庆理工大学毕业设计(论文)工作管理规定》评定毕业设计成绩。

2、由指导教师、评阅教师和答辩小组教师分别给出评语和评分,最后给出总成绩。成绩评定采用优、良、中、及格、不及格五级分制。

软件工程课程教学的一些体会 篇6

陈中育

(浙江师范大学计算机学院,浙江金华321004)

摘要:在分析软件工程课程教学特点的基础上,讨论了软件工程课程教学对学生软件开发习惯的一些影响,提出了软件工程课程教学对教师素质的一些基本要求。

关键词:软件工程;课程教学;开发习惯;教师素质

Some Pedagogical Experience of SE Curriculum Instruction

Chen Zhong-yu

(Institute of Computer Science of Zhejiang Normal University, Jinhua321004, China)

Abstract: Analyses the characteristic of SE curriculun instruction, Discusses the influence of SE curriculun instruction upon the develop style of the students, Presents some basic requirement of teacher culture about SE curriculun instruction.Keywords: SE;Curriculum Instruction;Develop Style;Teacher Culture

0引言

《软件工程》是计算机科学与技术专业必修的一门专业课程。本人从事大学计算机专业本科生《软件工程》课程教学近十年,在教学过程中深感学习该课程的重要性,这不仅是因为软件工程与计算机专业其他先行基础课程的密切关联,更为重要的是软件工程掌握的好坏直接关系到学生毕业以后的软件开发思路和工作规范,甚至关系到我们国家整体软件产业在世界软件产业中的生存空间。

当前国内各大高校纷纷开办软件学院,其中一个非常重要的趋势就是先行开设软件工程专业,这也说明软件工程知识是整个计算机软件领域的核心内容。本文作者试图根据自己在教学中的一些体会和认识来分析在软件工程课程教学中我们到底应该坚持让学生着重学习哪些知识、使学生得到什么能力的培养。

1软件工程课程教学特点

(1)课程特点

《软件工程》课程是一门要求基础课程较多、应用实践性较强、与产业标准行业规范衔接、概念多、涉及面广的课程。属于在高年级开设的专业必修课程,要求学生学习软件工程的基本原理、概念和技术方法;自觉遵循软件工程方法论中的一些规范和工业领域中的一些行业标准;目的是提高软件开发的生产率,减少软件开发和维护中的错误,确保最终用户软件产品的质量。

(2)要求基础课程较多

要求学生在学习软件工程之前已经完成高级语言程序设计、数据结构、数据库系统概论、操作系统、计算机网络等先行课程的学习。这些课程都是计算机专业的一些重要基础课程,也是衡量一个学生是否具备计算机领域开发的技术能力。

任何大规模的软件项目开发最终是由很多开发组织、很多开发人员的集体参与、协作完成。具体的技术工作就是依赖于这些先行课程的能力,而软件工程所涉及的却是从工程技术、工程组织、工程管理、软件体系框架上的一系列难题。

(3)应用实践性较强

我们认为目前高校大多数计算机专业的培养目标应当定位在软件工程师,而不是计算机科学家,这应该是大多数高校计算机专业教学改革的出发点和根本点。作为软件工程师一个根本的能力就是实际软件开发能力问题,在课程学习尤其是软件工程的课程学习必须坚持软件开发技术开发能力的培养。在教学中必须强调理论学习与应用实践的结合,把握软件工程的发展方向,为学生在社会实践、毕业论文、毕业设计中能理论联系实际参与实际项目开发打下基础。

(4)与产业标准行业规范衔接

随着信息时代的到来,软件产业已经成为全球高科技产业发展的最主要的推动力。对于中国的软件业而言,如何抓住机遇,跻身国际软件强国之列,已经成为一个首要的问题。毫无疑问,现实的中国软件产业面临着巨大挑战,国情与我们类似的印度经过短短的十几年发展时间,印度以其软件公司的规范化和软件开发实力占有了全球市场的相当大份额,印度的软件出口额几乎是中国的30倍。目前,中国软件企业有5000家,是印度的5倍以上,但其中80%是小作坊式企业,不能形成较大的规模,一个根本的原因是我们的开发没有很好地执行软件规范化和行业标准所造成的。

造成这种局面,我们的软件教学体制也有责任,我们必须在软件工程的课程教学中认真学习软件开发的通行规范和标准,课程教学与与产业标准行业规范衔接。

2软件工程课程教学对软件开发习惯的影响

(1)什么是软件开发习惯

其实从某种程度上讲行为习惯与做事风格是等同的两个概念,记得在史济民主编的《软件工程原理、方法与应用》一书中是这样描述风格的。所谓风格,就是作家、画家和程序员在创作中喜欢和习惯使用的表达自己作品题材的方式。

从70年代以来,软件工程发展到今天,编码的目的从最初的强调程序执行效率到强调程序结构清晰到对象封装。伴随着程序设计语言从过程设计到面向对象的程序设计,随着软件工程技术的深入研究、发展和运用,人们逐步认识到,在大型系统的开发中,规范一致的开发习惯非常重要,增进成员之间的相通讯交流,减少因不协调而引起的问题,提高软件重用程度,软件开发的习惯也从过去的个人作坊到团队合作,从过去的强调过程代码编写到强调流程管理,从过去的强调代码实现到强调规范化文档编写,从过去的过程模块技术到现在的组件技术、构件技术、应用中间件技术。

(2)程序设计语言选择习惯

任何软件系统的实现都必须选择至少一种程序设计语言来完成,选择语言工具一个重要的评价标准就是看它能不能很好的解决所需要解决的问题,而不是开发小组成员能否使用某种语言工具。我们在实际教学中遇到很多学生选择语言上主要看自己是否喜欢和掌握程度来决定,虽然这样的大多数语言能解决大多数问题,但这样的选择原则是错误的,也不利于跟踪和利用最新软件开发工具和环境。软件工程是发展的,随着新技术新方法的出现,我们的开发方式也必须随之变化。

值得一提的是,就软件工程现状而言,我认为任何从事软件开发的人员都必须掌握两种语言。其中C是非常基础的语言,它对于培养软件开发的基本思维方式,培养良好的软件开发习惯,培养模块化、结构化等基本软件开发技能都具有非常重要的作用。同时,掌握了C,也就获得了通向程序底层环境的通行证,可以在需要的时候深入到任何的层次,解决需要解决的各种问题。而C++的最大特点,除了对C的基本特性的继承外,最重要的就是他可以培养程序员完整的面向对象编程的概念,及基本的技巧,还可以使得开发人员充分了解WINDOWS等多任务操作系统上程序运行的基本原理,从而为实际的应用开发提供最基础的思维模式。

(3)善于合作开发的习惯

我们必须看到,现在的软件业已经不是发展初期的软件业了,如今软件业的产业化规模已经相当大,要想在市场上取得成功,一个产品需要有非常多的人力、物力、财力的投入。什么是产业?它是一个通过计划、合作、创新,通过市场化的运作来创造价值的活动。对于

一个产业来说,个人作坊式个人英雄主义色彩几乎是中国软件产业的一个软筋。

我们发现高年级的学生大都积累了编程经验,也参与过一些开发实践,但是我们在软件工程教学中要求学生自由组合、合作开发、团队作战等思想时,他们马上感到无所适从,觉得自己一身编程能力无法得到发挥。教师在课堂上必须给学生说明:每个人的技术特长需要封装在软件开发的各个阶段细节上,一个成功的产品,必须经过严格的产业化运作,包括规划、开发、测试、包装、宣传、营销、客户服务。必须强调编程高手孤高倨傲、急功近利是非常有害的。

(4)用软件工程观点思考问题的习惯

我们周围很多从事计算机教学、科研和开发的专业人员有一种普遍的错误认识,认为软件开发主要的是技术问题,认为“不采用软件工程”也能做好软件产业化工作,这正是我们国内软件产业界落后思想的表现,也是软件企业短视、个人自由散漫、高傲自大的表现。如果这样的思想被多数人认可,将是我们软件产业界的一大悲哀。

曾经有一位同事这样评价软件工程这们课程,说软件工程其实就象是教育学,当然他的态度是教育学并不重要软件工程也不重要。如果我们的计算机教师都是这样的观点,那么我们怎么能让学生正确认识软件工程的重要性呢?

我们的问题决不在于需不需“软件工程”的争论,这本身就是无可置疑的。问题在于怎样去利用软件工程的思想和方法服务于我们的软件开发工作,这才是关键之关键。如果没有真正理解软件工程的根本思想,生搬硬套一些规程、一套文档格式和一些方法,只能给软件开发工作带来干扰和破坏,不会产生任何建设性作用。

所以,我们在教学中首先应该普及的是软件工程的基本思想,把它灌输到每一个学生的头脑之中,那么,软件工程的基本思想究竟是什么?我想也会有许多不同的观点,但我认为这样几点应该是共同的:(1)软件的开发一定要以产业化的思想来看待,强调合作和规范,杜绝随意性;(2)软件的开发过程一定要采用某种方法进行进度和成本的控制;(3)软件的质量必须得到保证,保证的措施一是提高开发过程的质量,二是通过严格测试;(4)客户的需求永远是软件开发的终极目标,客户的需求一定要准确,并且一丝不苟地满足;(5)软件开发的所有成果必须存在于容易理解的书面文件中,而不是仅仅存在于软件开发人员的头脑中。

3软件工程课程教学对教师素质的一些特殊要求

(1)丰富的大型软件系统开发经验

软件工程本身是一门实践性很强的课程,没有实践开发经验、大型系统分析能力的教师

很难胜任软件工程课程教学任务,这是软件工程教师应该具备的一个很重要的素质,目前无论业界还是高校计算机专业最缺的正是这样的专业人员。

(2)良好的语言沟通和文字表达能力

虽然作为教师本身就应该有这样的素质,但是软件工程教学中这种素质尤为重要,面对用户需求理解和表达,面对计划报告的书写,面对合作团队的组织、沟通和协调,等等,都必须具备这方面的素质。

(3)一定的市场运作能力

我们必须明确地告诉学生,你所开发的软件产品必须被用户接受被市场认可,了解市场把握市场善于运作市场也是教师应该具有的素质之一。

(4)较强的工程经济分析能力

软件作为一个工业产品,它应当赚取足够的利润,才能使软件开发组织生存下去。因此,从事软件开发的软件工程师应当具有较强的工程经济分析能力,能够分析软件产品的市场前景和经济价值,并做出合理的投资效益预测。

(5)健康的心理素质

开发软件本身就是一项艰苦的脑力和体力劳动,成功开发一个软件产品,要经过反复修改,要花费大量的进间和精力,这些都要求软件人员有较好的心理承受能力、团队合作精神、成果分享精神。

4结束语

以上这些思考只是从软件工程教学中容易被忽视的一些问题,希望以此话题引起同行们的思考和争鸣。

软件工程教学大纲 篇7

随着我国产业经济结构的战略调整, 我国软件产业对计算机软件人才的需要也发生了很大的变化, 为了适应社会对人才需求, 培养社会需要的应用型人才, 各大专院校对计算机专业及相关专业的课程设置也在不断地进行调整, 都先后开设了“软件工程与项目管理”这门课程, 并逐渐成为了计算机主干专业课。

“软件工程与项目管理”这门课是软件工程专业中核心课程之一, 它具有理论深、涉及面广、实践性强等诸多特点, 是一门涉及计算机科学、数学、经济学、法学、管理学、心理学等多学科的综合性学科, 是一门比较难教、难学的重要课程。那么, 如何应用情境教学于这门课中, 使学生能够在情境中理解每一个工程过程和相应管理的真正含义, 这是本文要论述的中心。

课程特点及存在的问题

为了适应社会对教育的新需求, 我国各个大专院校都在不断探索新的教学模式, 国家也成立了许多示范性院校, 并在教学体制、国际合作、教材建设、课程改革、实践教学、项目教学、情境教学等等并已取得了很多成果。虽然一些院校在课程教学中对项目教学和情境教学都做过许多探索并投入了很大的关注, 但还存在着一些问题:

1. 在课堂教学中, 还仅处于离散式的“项目教学”方式, 孤立地使用一些案例, 这样会使教学内容发散, 过程整体性不鲜明。

2.在课堂教学中, 虽然使用了一些情境教学, 但还是仅仅遵循了原来理论教学过程模式, 并未按着典型工作任务模式来完成情境的教学。

如何才能把握好情境教学, 我们应该关注如下一些要素:

(1) 情境中的活动不应该仅仅是一个案例, 而应该是一个贯穿整体的过程活动, 一般情境存在前驱或后继。

(2) 参与情境中的角色要分明, 责任要清晰, 并且要有一定的连续性。

(3) 情境中的角色不仅要担当一定的任务, 同时一定要有最终的工作成果。

(4) 对每个情境中的角色都要有最终的评价。

(5) 在情境设计中应该提供一些技巧和模版, 使学生能够快速模仿并进入角色。

情境教学方法研究

首先打乱传统教材理论授课顺序, 根据软件工程工作任务进行典型工作情境设计 (包括:过程、团队、角色、任务、责任、成果、评价等) , 并溶于整体教学典型项目中。教学结果为学生提交的成果物 (模仿项目标准模版) , 学生量化评价系统、实用教学课件软件平台。

情境教学研究依据下例“教学研究链”为依据, 逐项进行研究并加以实践。

教学大纲->课程知识抽象重构->工作情境设计->典型项目设计->模版化项目成果->量化学生评价体系->实用教学课件软件平台

1. 教学大纲。教学研究以“软件工程与项目管理”的教学大纲为主要依据。

2. 课程知识抽象重构。根据教学大纲, 对传统教材中的理论和技术内容进行知识重构, 把相对分离的内容 (软件工程与项目管理) 进行有机地结合, 根据知识关联性和重要度, 构建软件生命周期主线模型。

3. 教学内容情景化。由于这门课实践性较强的特点, 它更强调由团队合作来完成一个项目从需求、设计、开发到维护整个过程。本阶段重点研究关注在课堂教学中如何把教学班级组成团队、如何给每个人确定不同的角色、责任、任务, 如何进行角色更换, 如何进行各个阶段的项目管理, 同时引入社会竞争机制, 让学生们充分地感受到社会软件企业中的开发氛围和管理过程, 使所教知识能与实际充分地联系起来, 增加兴趣和理解。

4.教学内容项目实践化。在讲解课程教材内容中如何选择教学项目是很有重要的。教学项目中应该选择什么的案例、案例内容应该包括哪些内容、应该如何与社会实际相结合、应该如何把实践中先进的知识及时追加到教学中去等等。

5.教学内容模版化。由于课本中的内容都是比较抽象的, 学生在学习过程中只能是浅层次地理解, 导致记忆时间有限, 对于这些知识在实际过程中是如何被应用等知之甚少。为此本阶段的研究重点是关注在实际项目开发和管理过程中, 是如何应用教材的知识内容的, 我们将到企业去收集第一手资料, 进行抽象整理、去粗取精, 并进行适当地简化, 再结合教学大纲做成软件生命周期各阶段关键性的模版, 为同学们提供模仿模版和示范实习。

6.教学内容评价体系化。由于在整学期的项目教学中, 每个人都要在项目团队中担当一个角色, 每个角色都要有一定的责任和任务, 为此, 当项目教学结束后, 项目组长都要对团队中的每个人进行评价。本阶段研究内容重点应该关注在项目教学中, 组长应该如何进行评价每个人, 评价体系和指标是什么, 如何量化这些评价指标 (可以包括许多方面, 例如:学习能力、理解能力、调查能力、动手能力、完成作业情况、完成质量情况、规范性情况、执行力情况、团队合作情况、积极性情况等) 。

7.实用教学课件软件平台化。根据以上研究的结果进行综合整理, 以软件的形式形成一个实用课件软件。其内容是沿着软件生命周期的各个阶段, 对每个阶段的教学内容, 重点掌握知识, 案例教学内容和要求, 以及涉及的管理、设计的各种模版。这里的特色是模版都是来自于社会软件企业的实际模版。

创新特色

1.情境教学主线清晰。以工作情境为主线, 典型项目为基础, 标准模板为成果物, 学生量化系统为评价。

2.情境设计来源于实际。以沈阳某软件外包企业的实际工作过程情境为参考模型, 设计每一个情境和角色。

3.项目贯穿整个课程。课程中采用的项目将不再是片断性的案例, 我们协商软件企业共同选择实际项目。

4.对传统教学顺序重新进行整理。对传统教材中知识点进行顺序打乱, 重新整理抽象, 以典型工作任务为中心, 情境教学和项目教学为载体, 把教材中的理论知识都有机地贯穿于其中。

5. 采用先进的实用模版。本课程的部分成果均采用软件企业常用的标准并以一定文档形式体现。

6. 可量化的评价体系。根据工作任务设计一个学生评价体系, 让团队管理学生, 让学生评价学生, 使学生们体验到团队合作及对工作的认真态度。

7. 构建可裁剪的教学参考平台。按着软件生命周期构建一个软件平台, 使学生可以系统学习软件工程整体过程, 同时结合课程学习进程, 自动生成各个阶段相应文档成果物。

结束语

情境教学并没有固定的形式, 它不仅要看课程内容与社会实践的紧密程度如何, 还要取决于授课教师的工程经验如何, 只有两者有机结合才能设计出出色的教学情境。本文针对软件工程与项目管理课程做了一些探讨, 并在教学中经过实践并取得了较好的效果。

参考文献

[1]叶俊民, 胡金柱, 李蓉, 等.软件工程案例教学研究.计算机教育, 2007 (7) :19-21.

[2]白晓清, 等“.软件工程”课程教学改革探讨.高教论坛, 2007 (2) :121-123.

软件工程课程教学方法探索 篇8

【关键词】软件工程课程 案例教学 项目综合实践

【中图分类号】G712.4【文献标识码】A 【文章编号】2095-3089(2016)01-0010-01

1.引言

软件工程是一门采用工程化原则指导高质量且有效的软件开发过程的课程。软件工程课程是信息专业重要的专业基础课,除了加深学生程序设计语言和数据库知识的掌握,更重要的是培养他们在软件开发管理、设计模式、系统开发工具和团队协作等多方面的技能。

传统的软件工程教学注重理论教学,没有很好地结合理论与实际应用,虽然教学过程中也引入的案例和实践环节,但没有做到有机的结合和及时的监控,往往留于形式 教学效果并不理想[1,2]。

2.教学方法探索思路

2.1 理论知识的案例教学与”一页讲义”教学

软件工程理论知识的教学还是以教师授课为主,向学生教授软件工程的基本理论和设计原则,内容力求少而精,目的是在较短时间内让学生了解现阶段最广泛使用的软件工程技术的理论基础,为下一步应用部分的学习奠定基础。首先,在教学过程中结合具体的软件开发案例,我们选择的案例不是孤立的个案,而是一组精心设计的能够贯穿软件设计开发过程的整体案例,我们选择的是一个基于Web的图书馆管理系统,由于学生对该系统业务流程和功能及操作都很熟悉,易于理解。教师在理论讲述时同步结合图书馆管理开发的各阶段进行讲解,通过这种边做边教的模式使得学生能够理论结合实际,加深印象;其次在每个章节学习之前我们都会给学生发一张“一页讲义”,讲义的内容分为两部分,一部分是本章的知识提要和重点的知识点,据此,学生即能掌握本章学习内容框架,并对学习的重点难点有所了解。另一部分是少量的课堂练习题,包括选择、填空和问答题,课堂中会抽10-15分钟作课堂练习并进行讲解讨论,及时巩固学习的理论知识。我们发现纸质的课堂练习题学生的参与度比互动性比仅使用PPT要高,且许多设计思路学生会直接记在上面,将来是比较好的复习资料。案例教学与”一页讲义”教学能较好地帮助同学认识软件开发引入工程化思想的必要性并提高学习的积极性。

2.2 拓展实践与强调团队协作

课程实践对软件工程课程具有非常重要的作用,通过实践,学生能够增强运用软件工程基础知识的能力,对系统设计技能进行训练、培养软件项目的开发能力和团队协作意识。实践环节包括两方面内容:基础实验和综合实践。

基础实验通过CASE(计算机辅助软件工程)工具的学习并运用这些工具加深学生对软件生命周期各阶段的理解,着重培训学生对需求分析、概要设计、详细设计以及软件测试阶段相应辅助工具的掌握,并运用这些工具进行各阶段辅助设计。例如:运用Microsoft Visio绘制软件结构图、程序流程图等;使用ERWin辅助数据库设计;运用Rational Rose完成需求分析与系统设计中的用例图、类图、顺序图和部署图等绘制。基础实验主要实现软件工程各生命周期阶段教学内容的延伸与应用,强调CASE工具的运用,使得软件开发能够更高效、标准地进行。

2.3 培养工程管理与应用能力

软件工程强调使用工程化原则指导软件开发,因此对于软件开发过程中的项目管理也是学生需要关注和学习的内容。除了理论教学中需要对软件项目管理进行讲述外,在基础实验和综合实践环节,我们也加入了项目管理内容的实践,通过Microsoft Project学习项目资源的合理调度,通过VSS(Microsoft Visual SourceSafe)进行代码管理,防止各成员间代码版本的冲突,并且要求学生在综合实践环节必须使用这些工具,并作为考核的一项内容。

2.4 创造实践环境

在软件工程学习过程中可以让学生接触一些现成的软件系统,通过对商业化软件系统的观摩,能够让学生认识复杂系统的集成方案,加深对整体框架的理解,同时对真正软件系统的界面设计、出错处理、系统管理等方面有所了解,学习软件设计开发过程中注重软件的可用性、可操作性、健壮性和可维护性。由于我们专业特点,与医院和医用软件公司有长期的合作关系,可以免费获得一些成熟的软件系统(如:医院信息系统),这为学生创造了一定的实践环境。计算机或其他信息相关专业的教师也可以根据自身专业特点有意识的收集具有代表性的系统,供学生参观学习。

3.教学方法具体实践

在教学方法实践过程中,理论和实践部分并不是相互独立的,应当根据理论教学的推进,结合相应的案例并且逐步实现各阶段的文档。我们在课程教学初期,首先给以自主结合的方式完成分组,选定相应需要开发的子系统并分配给各小组。题目选定后,随着理论教学的推进,要求各小组逐步提交各阶段文档,而不是学期末一起上交,这样能规范各模块的开发按照先文档,后设计再编码的步骤进行,避免系统编码完成后再补充文档的尴尬。部分文档提交后需要集中小组长进行一定的讨论,特别是整体数据库的设计需要所有小组共同分析讨论来完成,教师旁听并指导,指出缺陷和不足,并综合得到最终设计结果。各模块接口设计由相关模块小组长共同讨论完成。在学期末专门安排一次课用于综合实践答辩,由小组代表对软件的设计和开发进行总结汇报并演示开发的系统。

在课程的考核方式上进行优化,强调实践能力,因此综合实践的部分的考核比例增加至40%,理论考试占40%,而平时分占20%。为了避免部分学生“浑水摸鱼”,我们会根据小组成员对项目开发做出的贡献进行度量,设置相应的权重,综合实践的考核分数根据贡献权重计算得到。这样能够激发学生的实践热情,并合理的体现各学生工作量。

4.结束语

软件工程课程非常强调理论联系实践程,在理论教学中引入贯穿整个学习过程的具体案例,能够提高理论的实用性;“一页讲义”式的教学能够帮助学生对整体知识框架的把握,配合具体的课堂练习能够及时对理论知识进行巩固。在教学过程中,我们始终把实践环节放在主要的地位,通过综合系统子模块开发,让学生认识到模块化设计和团体协作的重要作用;我们同时也关注项目管理知识的传授。教学结果证明,通过上述教学方法的探索与改革,能有效地提高了学生的学习兴趣,增强了学生使用软件工程方法和技术解决实际问题的能力,培养了学生团队合作精神。

参考文献:

[1]张剑波,方芳,袁国斌.软件工程专业实践教学体系改革[J]. 计算机教育,2013(12):37-41.

[2]王卫红,杨良怀,江领.软件工程优势专业的建设与发展[J]. 计算机教育,2013(10):1-4,9.

[3]吴建斌, 陈中育,叶荣华.软件工程类课程教学模式改革探索[J].中国信息技术教育,2013(5):119-121.

[4]Hay P,Katsikitis M.The expert in problem-based and case-based learning: necessary or not[J]. Medical Education, 2001, 35(1):25-30

上一篇:高中美术现代绘画课件下一篇:游北京野生动物园有感四年级作文