软件课程设计总结范例6篇

软件课程设计总结

软件课程设计总结范文1

(项目编号:JXZY110401-004,项目名称:程序设计基础公共平台课程教学方法的研究与实践)部分成果。

[摘 要]本论文以长春职业技术学院程序设计基础课程的课程建设目的、意义、特色、课程目标、主要内容、关键问题、方案、落实措施等几方面进行探索与研究。

[关键词]程序设计基础 案例 工作过程

作为职业院校,我们的办学初衷是为社会培养各类急需的实用型人才,而作为专门培养软件人才的我院示范专业的软件技术专业教师,我们深感开发《程序设计基础》这门课程的重要性与紧迫性。综上所述,我们软件教研室在示范专业建设中对该课程进行了大胆的开发与创新。在本课程开发的同时,我们进行了本课题的立项工作。综上所述,该课题的研究目的归纳如下:

(1)教师按照标准化的软件开发流程进行案例的设计,使学生由浅入深、循序渐进地掌握程序设计基础的基本技能。

(2)学生在综合运用相关软件工程理论知识基础上,通过教师对案例的分析与讲解,能利用程序设计基础课程相关技术进行项目设计。最终能成为企事业单位需要的标准规范、自动化程度高、满足客户要求的程序设计基础方面的技术服务人员。

(3)培养学生高度的工作责任感、自信心,和实事求是的做事风格。真正的让踏入测试行业的学生,成为IT公司产品出货前的把关人。

一、意义

本课程是软件技术专业中的一门专业技术课程,我院在该课程的教学研究和改革中逐步树立了“以实践教学、案例教学为核心,理论服务于实践”的指导思想,突出职业能力的培养,体现基于职业岗位分析和具体工作过程的课程设计理念,以真实的程序设计基础案例为载体组织教学内容。

通过本课题的实验研究,明确程序设计基础在软件开发流程中的作用和地位,并确定具体的教学内容与教学方法;通过本课题的实验研究,探索程序设计基础在提高教学效益方面的方法和策略,提高学生程序设计基础技能;通过本课题的实验研究,培养出一批社会紧缺的程序设计基础人才,提高软件编写质量,大大提高企业生产效益,同时能够适应软件外包和国际化软件开发的中高端软件开发人才的需求迅猛发展。

二、特色

该课题的特色也是该课程在我们示范专业开发过程中所体现的创新之处。

我们本着“教中做、做中教、学中做”的指导思想,通过案例教学培养学生动手能力和专业技能。以“工作过程为导向”,一方面可以在软件开发中运用程序设计基础技术提高软件质量,另一方面通过对程序设计基础岗位技能的学习,达到掌握软件开发的应用能力。

三、主要内容:

走访软件企业对程序设计基础人员的需求进行调查研究,对程序设计基础在教学活动中重要作用的必要性的调查研究,形成调研报告。结合企业真实项目开发典型案例、拓展案例和综合项目,形成案例库。教师在各课程中有针对性进行程序设计基础的设计与研究,并进行及时的反思、评价。归纳出程序设计基础环境在软件开发实施方法、步骤。实践技能测试题库建设。教学课件建设。能够适应各个模块之间的程序设计基础方法设计,使得程序设计基础贯穿于全课程,从而提高软件的安全性和可靠性。

四、关键问题

(1)教学案例的选择及设计模块建设

(2)程序设计基础工具的选择及过程模块建设

五、方案

本课题以案例研究为主导,辅之以下研究方法:

(1)调查研究法:采用问卷调查、个别谈话和学生座谈相结合的方法,对学生的实际思想、需求和学生的心理特点等现状,进行科学的调查研究。

(2)案例研究法:引导教师用信息技术和学科课程解构与重构的相关理论,剖析研究过程中的 典型案例,形成在整合教学中有效支撑的案例集。

(3)经验总结法:在教师个人实践的基础上,定期聘请软件企业、行业专家开展研讨、交流活动,通过研讨总结,逐步形成程序设计基础整合的方法和途径。

(4)行动研究法:搜集与本课题有关的信息和资料,拓宽思路,提供更为完善的方法,拟订总体研究计划,根据总体情况,制订具体计划,积极开展有效的行动研究,及时总结评价,调整研究方向。

(5)成果分析法

收集整理各方面的研究成果和资料,包括论文、课件、测试用例等,归纳总结。

六、落实措施

本课题的落实措施思路为:

收集和整理中外有关企业程序设计基础的经典案例,开展专题理论研究,形成专题研究论文。开展程序设计基础课程课堂案例分析和调研,形成调研报告。召开1—2次小型学术研讨会,对本课题的有关理论和实践问题进行研讨。收集材料,分析整理测试用例。形成最终研究成果。

参考文献:

软件课程设计总结范文2

关键词:软件设计能力;内容优化;实践教学

一、优化教学内容,构建新型课程体系

1.优化教学内容。计算机软件技术应用领域广泛,知识更新快,实践性强,既要求扎实而广博的理论基础又要求良好的实践动手和自我学习能力。针对这一特点,以计算机科学与技术本科人才培养方案为基础,以基本素质和工程能力培养为主线,以面向信息领域市场、面向区域经济建设为需求,坚持“基础、应用、实践”的原则,突出软件开发与设计的能力培养,在专业教学中强调理论与实践并重,知识、能力和素质协调发展,对教学内容进行了大幅优化设计。在基础能力方面优化了程序设计基础课程,新增了算法分析与设计、面向对象分析与设计课程;在软件设计高级理论方面优化了软件工程课程,新增了软件测试与质量保证、软件体系结构与中间件技术课程;在综合实践应用方面新增了Java程序设计、系统集成与项目管理、xml与电子服务课程。通过一系列教学内容的改革和优化,兼顾了软件设计理论的深度、广度和实用性,更加符合以软件设计能力培养为核心的教学主线要求。2.构建新型四层递进式课程体系。软件设计和开发是计算机科学与技术专业本科人才能力培养的核心和基础。通过深度剖析计算机软件设计能力的培养特点,总结以往教学经验,以培养学生软件设计能力为核心,构建了从程序设计基础到软件开发综合实践的四层课程体系,每层都有相应课程群以及阶段性培养目标。(1)基础理论层。以计算机导论、操作系统、数据结构、编译原理、计算机组成原理为核心课程群,目标是奠定计算机系统的基础理论知识。(2)基础训练层。以程序设计基础、数据结构与算法等为核心的课程群,目标是打牢程序设计基本能力,并初步掌握面向对象软件设计方法。(3)高级理论层。以软件工程、软件测试与质量保证、软件体系结构与中间件技术为核心课程群,目标是系统掌握软件体系结构、软件设计开发和软件项目管理的理论知识,为高级应用实践打下坚实基础。(4)综合应用层。以系统集成与项目管理、xml与电子服务、Java程序设计为核心课程群,目标是面向应用,全面提高软件项目设计开发的综合能力。四个层次之间环环相扣、互为基础、由低到高、循序渐进,逐步培养学生良好的软件理论素养和扎实的设计开发功底,为国家和社会培养合格的IT人才。3.强化实践能力培养,构建立体化实践教学体系。良好的软件设计能力不仅需要深厚的理论基础,也需要较强的实践功底。鉴于计算机软件技术具有实践性强、知识更新快的特点,我们设计了立体化三层实践教学体系,包括基础训练层、综合训练层、实践应用层。(1)加强课内实践教学,培养学生基本编程应用能力。基础训练层是由程序设计基础、数据结构、Java程序设计、编译原理和操作系统等课程的课内实验组成。在课程实验设计中加大了综合设计类实验的比例,减少了基础验证性实验比例。其中基础验证性实验与课堂讲授同步,加深对某个知识点的理解,紧跟老师引导完成练习。综合设计类实验对多个知识点进行综合训练加深对课程内容的整体认识,还需要提交实验报告。注重综合设计能力的培养。综合训练层是由程序设计基础、数据结构和软件工程等课程的课程设计组成。通过设计小型综合项目,培养知识的综合运用能力。课程设计的实施分为开题、系统设计、编码实现、系统测试、系统评价与验收,提交课程设计报告。要求分组完成,最后答辩评分、评优。我们对课程设计考核进行了改革,制定了具体的课程设计考核制度与考核方法,将课程设计考核变为答辩方式考核,包括小组答辩和年级优秀课程设计答辩两个过程和层次进行。(2)引导课外实践,培养学生创新思维能力。实践应用层是由各类大学生竞赛活动、大学生SRP训练项目、大学生创新计划、毕业设计、教师的科研课题、工程实训和软件开发小组等各种形式的实践活动为依托。通过各类竞赛,激发学生对软件设计的兴趣和主动性,鼓励学生积极参与教师科研项目、大学生创新计划、大学生SRP训练项目和毕业设计,培养和锻炼软件设计开发能力。

二、小结

围绕计算机基础、程序设计基础主线展开教学,使学生能够具有扎实的基本功,为高层次人才和创新能力的培养打下坚实的基础。对相关的课程进行整合,形成课程群,突破学期、授课教师、课程各自独立的局限,实现总体设计、综合布局、交叉穿插、协同配合的新模式。

参考文献:

[1]谢中科,肖增良.程序设计系统化思维培养模式的探讨[J].计算机教育,2014

软件课程设计总结范文3

关键词:软件工程;实验;软件开发;实践

中图分类号:G642 文献标识码:B

文章编号:1672-5913 (2007) 20-0015-03

1软件工程实验教学的意义

软件工程是一门理论与实践并重的基础课程,教学内容紧密围绕软件开发过程中的各种工程化方法、技术和思想。软件工程从工程意义上讲是指软件开发、维护、管理等活动的总体,从学科意义上讲包括软件开发相关的理论、原理、方法、技术[1]。

软件工程课程一般安排在本科三年级开设,此时的学生经过一二年级的学习和实践已经掌握了一定的计算机知识和编程能力,但分析解决复杂软件问题的能力以及工程化软件开发的意识还比较弱。而软件工程课程设计的目标是使学生系统地掌握软件工程及软件管理的过程、方法和工具,为学生将来从事软件的研发和管理奠定基础[2]。软件工程教学内容中的需求分析、设计和软件测试等软件开发技术以及工程化的开发过程(例如软件过程、配置管理、项目管理等)必须通过实际软件问题求解过程以及团队合作进行体验,而综合的软件开发能力更是需要通过一个完整的软件项目开发过程进行锻炼和培养。因此,软件工程课程实验是巩固课堂教学成果、培养学生软件工程实践能力的重要手段。

2总体思路

作为研究工程化软件开发方法和技术的学科,软件工程课程的课程实验主要以课程实践项目的形式进行,从实验目的看主要分为三类:方法性实践、实现性实践、创新性实践。其中,方法性实践是在软件工程课程教学中讲述某种软件开发方法后安排的实践,主要目的是加深对方法的理解。实现性实践的主要目的是让学生参与软件项目的开发全过程,一方面将学得的理论知识运用于实践中,另一方面培养学生的工程能力(包括软件工具的使用)和团队协作精神。而创新性实践的主要目的是培养学生的创新能力,通过在实践项目设计中,有针对性地引入开放性问题和不确定问题,启发学生在探讨中寻找合理的、创造性的解决方案。

2.1三个实验阶段

根据学生的知识和能力基础以及教学目标,软件工程课程实验可以按照由浅入深的顺序分为三部分,即:认知性导入实验、方法性实验和综合实践。而方法性实践、实现性实践、创新性实践三类实践内容又以不同的形式体现在这三个实验阶段中。

认知性导入实验通过一个很小的程序开发案例完成认知性导入,引导学生思考软件工程的基本思想和原则,体会规范化分析、设计、实现、测试的意义和必要性。方法性实验紧贴软件工程教学内容,以结构化分析设计和面向对象分析设计为主要的实验内容。综合实践以面向对象的开发方法和统一软件过程RUP为基础,引导学生完成一个完整的软件项目开发过程,包括需求获取、需求分析、系统设计、实现以及测试等基本步骤,同时强调数据库、网络等开发技术的综合运用以及相关CASE工具的使用,在此基础上还鼓励学生尝试一些新的软件开发方法和技术。

三个课程实验阶段具有各自明确的目的和定位:认知性导入实验完成认知导入,方法性实验帮助学生巩固课堂中所学习到的知识,而综合实践则培养学生综合运用各种软件开发方法和技术的能力。此外,三个阶段的课程实验中还穿插着创新性实践要求,通过各种开放性问题和不确定问题鼓励学生运用自己的思考能力寻找合理的、创造性的解决方案。

2.2课时安排

三个实验阶段中,前两个紧密围绕软件工程课程的教学内容,而综合实践则是对学生工程化软件开发能力的全面训练。因此在课程安排上可以将认知性导入实验和方法性实验穿插在一个学期的软件工程课程中进行,而在后续的软件实践类课程中安排第三个阶段的综合实践性实验内容。

3认知导入、方法性实验和综合实践

3.1认知性导入实验

通过软件工程课程之前的程序设计相关课程的学习和实践,学生已经掌握了一定的问题分析、算法设计、编程和调试能力,但分析解决复杂软件问题的能力以及工程化软件开发的意识还比较弱。认知性导入实验的目标是从软件工程实践的角度完成认知导入,引导学生完成从程序设计到软件开发的第一次跨越。

认知性导入实验通过一个算法小程序(例如日期到星期的转换等)开发案例完成认知性导入,引导学生思考软件工程的基本思想和原则,体会规范化分析、设计、实现、测试的意义和必要性。认知性导入实验一般可以在一学期的第一次软件工程课上布置,要求学生用1-2周时间独立完成一个算法程序的规范化分析、设计、开发和测试过程并提交实验报告,内容包括问题分析、数据结构、算法及界面设计、完整的程序清单、测试过程及结果记录、心得与体会等。

本次实验采用简单的算法程序作为题目,是为了降低学生的认知难度并且通过规范化开发与以前程序设计时的对比加强学生对软件工程基本思想和原则的体验。实验以开发过程的规范性、个人体验和开放问题的思路为主要评价指标,不以算法和程序本身的正确性为主要的评判标准。

本次实验一般安排在一学期第一次软件工程课上布置,与之配套的课堂教学内容是 “软件工程概论”。课堂教学通过对软件工程基本思想和软件开发基本过程的介绍,使学生初步理解软件工程和工程化软件开发的含义,特别强调本次实验与程序设计作业的区别,即强调开发过程的工程性而不是算法和实现本身的正确性。此外,配套教学内容还对系统可用性、可维护性、可扩展性、测试自动化等开放性问题进行了铺垫,希望可以引导学生在完成基本功能之余能够加以思考和探究。

3.2方法性实验

软件工程的课程教学内容覆盖了完整的软件需求分析、设计、实现以及测试过程,对本科学生而言,主要讲述结构化方法和面向对象方法两部分。因此,这部分课程实验与相关教学内容同步进行,分为结构化分析设计和面向对象分析设计两个部分。方法性实验要求学生自由组合,分组完成,每组3人。每个小组从候选项目中选择一个完成结构化分析设计和面向对象分析设计两部分实践内容。本阶段实验可在导入性实验结束后布置。

本阶段实验以结构化及面向对象分析和设计方法以及UML基本表示法的掌握为主要评价指标,同时考查学生理解实际问题需求、解决具体问题的能力。本次实验与教学内容中的“结构化分析与设计”以及“面向对象分析与设计”配套。为了保证本次实验的顺利开展,相应的课堂教学需要着重强调以下内容:明确软件系统分析(做什么)和设计(怎么做)的区别,体会数据流图、系统结构图以及UML各类图的含义;在具体的系统分析和设计中需要综合各种具体要求和约束(例如可复用性、物理分布等)以及各种指导性原则进行系统分析和设计。

3.2.1结构化分析设计部分

这部分实验要求各小组使用结构化分析和设计方法完成实践项目的需求分析和设计过程,并在此基础上撰写实验报告(包括结构化分析和设计文档)。结构化分析阶段要求学生按照结构化分析的基本思想和步骤完成实践项目需求分析过程,将分析结果表示为相应的描述形式(主要包括数据流图、数据字典和加工小说明),并根据相关原则和判定方法保证数据流图的一致性和完整性。结构化设计阶段要求学生在结构化分析结果的基础上运用结构化设计的基本思想和步骤完成实践项目的结构化设计,包括初步的结构图映射以及后续的结构图优化。要求提交的结构化分析文档的内容包括总体需求概述、分层数据流图、数据字典、加工小说明等,结构化设计文档的内容包括总体设计说明、初始结构图、改进的结构图以及各模块说明等。

在完成基本实验要求的基础上,要求学生对一些开放性问题进行思考,并根据自己的理解在实验中加以体现:数据流图中文件的识别;对于数据流图分解程度的把握;对于系统模块物理分布的考虑;模块之间的交互设计,例如通信协议、数据格式等;对于系统可复用性的考虑等。

3.2.2面向对象分析设计部分

这部分实验要求各小组使用面向对象分析和设计方法完成同一个实践项目的需求分析和设计过程,并在此基础上撰写实验报告(包括需求分析和系统设计文档)。面向对象分析阶段要求学生按照面向对象分析的基本思想和步骤完成实践项目需求分析过程,将分析结果表示为相应的描述形式(包括领域模型、用例模型以及用例的详细描述等)。面向对象设计阶段要求学生在面向对象分析结果的基础上完成实践项目的面向对象设计,包括系统体系结构、结构设计、面向对象类设计等。

在完成基本的实验要求上,要求学生对一些开放性问题进行思考,并根据自己的理解在实验中加以体现:层次体系结构等体系结构风格的运用;面向方面(Aspect)、关注点分离的设计思想;系统可维护性和可扩展性的考虑、面向对象设计模式的运用;对于系统边界之外的外部接口的设计考虑等。

3.3综合实践

综合实践一般安排在软件工程课程后进行,此时学生已经学习并掌握了软件工程、程序设计、数据库等方面的基本方法和技术,而且即将走出校门参与软件开发实践。因此,综合性实验突出强调贴近实际软件项目的实践性以及相关软件开发能力的综合运用。实践性实验一般安排在软件工程课程后续的软件开发实践课程中,成绩评定完全根据课程实践情况。

综合实践以面向对象的开发方法和统一软件过程RUP为基础,引导学生完成一个完整的软件项目开发过程,包括需求获取、需求分析、系统设计、实现以及测试等基本步骤,同时强调数据库、网络等开发技术的综合运用以及分析、设计、测试等CASE工具的使用,在此基础上还鼓励学生尝试构件技术、AOP、Web Service等新的软件开发方法和技术。学生自由确定项目团队组成方式,每组设项目经理1名,项目组成员3~5人。每个小组从候选项目中选择一个完成整个开发过程,分需求分析、系统设计和系统实现与测试三个阶段提交文档、代码等实验结果,并提交最终的可运行软件系统进行检查。

与前面几个软件工程实验阶段相比,实践性实验具有以下特点:

1) 完整的软件开发过程。整个实验以一个实际项目的完整开发过程为主线,覆盖了需求获取、需求分析、概要设计、详细设计到实现和测试的整个开发过程。

2) 综合性与真实性。实验中要求完全实现所选择的实践项目,因此学生需要综合运用数据库设计、网络编程等知识,同时相关需求都来自于真实的管理信息系统项目,使学生能够体会到真实的软件开发过程中的一些问题(例如外部交互接口、第三方软件构件等)。

3) 开发过程的规范性。强调每个项目组的开发过程都应该遵从软件过程规范,同时在开发过程中引入基本的项目管理机制。

4) 学生的主体性体现得更见明显。实践项目的开放性更强,学生可以得到更多的自由发挥,例如学生自主参与需求调研确定详细需求、自由决定项目组组成模式和管理方式等。

4软件工程实验教学实践

我们在复旦大学计算机科学与工程系的软件工程相关课程体系建设中对这套三阶段的实验教学方法进行了实践。我们在第六学期安排软件工程课程,而在第七学期安排配套的软件实践课程,这样就使得软件工程实验教学具有很好的延续性和系统性。三个实验阶段中,前两个与软件工程课程配套进行,两个实验阶段作为软件工程课程配套实践占学生总成绩的40%。其中,认知性导入实验持续1~2周,另外安排1个课时进行讲解,方法性实验持续15周左右,另外安排3~4个课时进行讲解。综合实践安排在软件实践课程中进行,持续16周(共48个课时)左右,其中18个课时用于课堂教学、讲解和点评,30个课时用于实践(需求调研、项目讨论等)及上机,成绩评定完全根据课程实践进行。

这种三阶段的软件工程实验教学方法为学生提供了一条从编程序到软件项目开发的渐进式发展之路。通过这种系统的软件工程实践能力训练,学生可以将所学的各种软件开发方法和技术转化为综合的软件开发和管理能力,同时也对软件开发的一些现实困难(例如需求的不确定、测试覆盖度和效率、构件化开发和集成的困难等)有了初步认识,这些都为他们今后参加软件研发和管理打下了良好的基础。目前,复旦大学软件工程课程已经被评为上海市精品课程,在此基础上我们正在进一步推进软件工程课程体系建设。

参考文献

[1] 朱三元, 钱乐秋, 宿为民. 软件工程技术概论[M]. 北京:科学出版社,2002.

[2] 王志英. 实践教学:计算机人才培养的重头戏[J]. 计算机教育,2004,(9).

作者简介

彭鑫(1979-),男,博士,复旦大学计算机科学与工程系讲师,主要研究方向为软件构件技术、软件产品线、软件维护与再工程。

赵文耘(1964-),男,复旦大学计算机科学与工程系教授,博士生导师,主要研究方向为软件工程与电子商务。

钱乐秋(1942-),男,复旦大学计算机科学与工程系教授,博士生导师,主要研究方向为软件工程。

软件课程设计总结范文4

《软件工程》是软件设计与开发以及各种计算机应用系统开发的重要基础。在计算机科学与技术等计算机相关专业人才培养中,对提高学生的能力、素质和形成良好的知识结构都具有重要意义。

同时它也是信息工程学院计算机科学与技术本科专业核心课之一和软件技术专业、网络技术专业和计算机应用技术等专科专业的专业必修课,也是一门综合性和实践性很强的核心课程,主要是介绍软件工程的基本概念和理论,其内容涉及传统软件工程和现代软件工程,从软件项目的分析、设计到实现,覆盖整个生命周期,包括软件质量与质量保证、项目计划与管理等内容。

根据培养应用型人才的需要,通过教学和实践,使学生通过本课程的学习,了解软件项目开发和维护的一般过程,掌握软件开发的传统方法和最新方法。为更深入地学习和今后从事软件工程实践打下良好的基础。

一、教学手段。

结合《软件工程》课程的培养目标,教学团队确立了以工程型、应用型、技能型三型统一的教学理念,在教学组织和实施上注重理论性与实践性的统一、学科系统性与先进性的统一、传统媒体教学与现代技术结合的统一,选择教学方法与手段,提高教学质量。

1.课堂教学采用情景式教学法与案例教学法相结合方式进行,采用情景引入、提出问题、理论探讨、案例讲授、模拟训练五阶段组织和实施教学活动。根据讲授内容的不同,辅助以讨论课、答辩课等形式,调动学生主动学习的积极性和课程的参与度。教学组织按照80人左右的教学班组织开展,通过具体实施,教学效果良好。

2.实践教学采用课题组组织方式,采用模仿-模拟-开发-答辩的四阶段教学方法。首先将学生按照5-8人为单位组织成为课题小组。针对实验内容,首先教师提交完整的实验案例,由课题组成员按照角色分工进行模拟实验,加深理论知识的感性认识。在此基础上,教师布置对等的实验作业,由课题组按照自身理解和能力,完成实验作业,经教师点评后进入开发阶段,从而巩固学生知识学习,加深知识的理解。开发阶段由课题组选择具有一定实际价值的项目进行开发,完成后由课题组答辩后方能通过。提高学生理论知识的运用能力和解决实际问题的能力。

3.组织部分学生参加教师的科研项目,软件工程课题组老师指导学生运用软件工程的知识分析需求,设计软件的架构和模块,按模块分工开发软件。开发过程中严格按照软件工程的要求作,开发成功一个模块后进行阶段分析和总结;开发完成全部项目后,进行总体总结,写出软件规格报告。把开发过程制作成案例由学生自己给其他同学讲解,以提高大家的理论学习效果和动手的能力

二、教学研究与改革。

近两年来,在课程建设和教学过程中,大家分工合理,在课程负责人带领下,教学队伍结合教学实际,集中在软件工程方向上,广泛地开展各项教研教改活动,充分发挥了青年教师的积极性和创造性。课程组取得的教研教改成果及其解决问题主要有:

(1)教研教改活动。在专业主干课“软件工程”的教学上,课程负责人和小组成员对教学理念和方法、构建新型教学模式等方面进行颇有创意的探索和改革,如在课程教学中,组织学生以小组为单位,模拟实际项目的软件开发过程,进行分工合作完成一个软件的开发,较好地解决了理论与实践脱节的问题。

此外,为进一步打通高等教育与社会需求的瓶颈,提高学生实际动手能力,以满足市场对软件开发人员需求,软件工程课程组在实践教学方面进行了一系列教研教改活动:

①由学院牵头,与软创软件技术有限公司和X轻扬软件开发有限公司签订实习合作协议。将生产实习的软件项目实习部分交由软件公司实践经验丰富的软件工程师与本课程主讲教师共同指导,取得良好效果。

②在实验中心的指导下信息工程学院创建了机器人与微系统实验室、信息技术创新实验室,成立了大数据与云技术应用研究所,依托大学生创新创业训练计划项目,注册了X跨零信息科技有限公司,实验室采取完全开放模式,充分吸引有兴趣和优秀的学生参与,加强他们的动手能力与解决实际问题的能力。在课程组老师的指导下,由本院学生组成的软件开发团队多次在全国信息技术应用水平大赛、全国软件人才设计大赛获奖。

③为调动大多数学生软件开发的积极性和提高开发能力,拟策划和主办全校程序设计大赛和软件方案设计大赛。

④现正和多家软件公司商谈,拟合作成立软件实习基地,为学生提供一个良好的软件开发实习环境,锻炼了学生实际开发能力。

(2)实践与考核方式改革。针对《软件工程》课程教学目标的要求,在课程考核方式上进行了改革。本课程需要考核学生知识和能力的不同方面,课程组根据学生的特点和教学要求,将平时作业、课内实验、课程大作业报告和笔试三方面结合在一起,对学生成绩的测评,不仅重视考试结果,更重视学生的过程性评价,强调学生在学习过程中学习情况,如:每周检查记录、随堂提问、实验成绩等,都会作为学生最终成绩的重要部分。这种考核机制能够比较全面地反映学生的学习情况,学生通过课程考核也促进了其全面发展。

同时积极探索实践教学环节的考核方式。一是建立了基于课题组模式的实验课程考核方法,将实验课程的考核由单一的学生考核,转变为课题组考核与个人考核相结合方式进行。二是改革教师考核为主,为教师主导下的民主评议制度相结合方式进行。使学生参与意识进一步加强。三是将课堂考核与课外考核结合进行。凡课题组课外完成的与课程相关的项目,均可以参与到课程考核中,提高学生学习的主动性。

三、教学效果反馈。

(1)校内教学督导和专家总体评价。课程组在教学内容、教学模式、教学方法和手段等方面进行了系统卓有成效的建设和改革。效果显著,成果突出,形成了自己的特色。该课程经过十几年的建设,已具备以下优势:

①学团队力量强。教学团队中教授为骨干,青年教师为主,年龄结构、学历结构、知识结构合理,整体素质好,充满活力和创新意识。

②课程组重视教学改革,近几年主持的软件工程教学改革课题取得了很好的效果,并将教学成果公开发表,在同类院校中走到了前列。

③课程老师教学基本功扎实,备课充分,课程内容熟练,教学内容安排得当,重点突出,讲授时内容翔实、生动、有感染力,能把课程理论知识融入到案例和软件开发实例中去。

④实践教学体系完善,学生动手能力培养措施得力。在实践教学方面做了很多有益的探索,并取得了很好的成果

(2)学生总体评价。在学生对课程教学的评价中,普遍反映教学效果优良。很多同学因为软件工程教学效果好而发自内心地喜欢上软件工程课。以下是一些学生评价内容摘录:

①教学严谨

②教学目的明确,重点、难点处理恰当

③对学生认真负责,有拓展开拓思维的精神

④教学内容贯通、严谨、科学。

⑤老师讲课很好,并要求我们将来从事软件工作一定要有原则,也是教我们为人处事,真的具有育人的效果。

软件课程设计总结范文5

关键词:双语教学;软件工程;计算机专业;独立学院

中图分类号:G642 文献标识码:A

1引言

由于软件国际化和本地化研发、国际交流和学习先进计算机开发技术的需要,英语在IT行业的地位越来越重要。重点和一般本科院校的计算机专业普遍开设双语课程,以达到提高学生的英语应用能力的目标。

软件工程学科涵盖软件开发、维护和管理的基本概念、基本原理、开发软件项目的工程化方法和技术以及开发过程中应遵循的流程、准则、标准和规范等。因此,在软件工程课程实施双语教学,能够有效地规范课程、革新教法、重新定位培养目标和改善教学效果,实现计算机软件专业人才培养进入国际化轨道。

目前,大多数独立学院都开设了计算机专业,独立学院的人才培养基本目标是培养创新应用型本科人才,因此,在独立专业教学中开展双语教学是大势所趋。独立学院计算机专业学生的英语水平与重点或者一般本科院校学生的相比有较大差距,开展双语教学时面临一些新问题。

某独立学院在2007年春季学期对2004级计算机专业软件工程课程进行双语教学改革,总结经验教训后,决定在2008年春季学期对2005级计算机专业软件工程课程恢复普通教学。本文介绍了具体情况。

2教学目标

软件工程课程教学的主要目的是使学生通过课程学习掌握开发高质量软件的方法、有效管理软件开发活动并为参加大型软件开发项目打下坚实的理论基础。课程教学

包含课堂教学、实验教学和课程设计三个环节。课堂教学侧重于讲授软件工程的相关原理和概念;实验教学要求学生了解并掌握常用软件开发工具;课程设计主要通过适当规模的软件系统的需求分析、设计、实现、测试与部署,培养学生软件工程实践能力、遵循软件工程规范撰写软件开发文档的能力、团队协作精神和软件项目管理能力。

3教学实施

3.1基本情况

该学院计算机专业2004级和2005级学生人数、通过大学英语四级考试人数和第一次问卷调查时学生对双语教学持赞成态度的比率、Java与数据结构课程的平均成绩见表1。另外,2004级和2005级分别有24%和20%的学生在软件工程课程开课前参加了IT培训机构举办的软件设计培训。笔者此前担任这两个年级Java、数据结构课程的教学,试卷难度和知识覆盖情况基本保持一致。

上述基本情况表明两个年级学生的平均水平不显著。

3.2双语教学

课堂教学选用Ian Sommerville编著《Software Engineering》(Eighth Edition),参考教材为该教材的中译版。课程实验与设计教学采用自制的讲义。

该学院计算机专业人才培养计划规定,软件工程课程课堂教学是40学时、实验课时16学时、课程设计40学时(2周×5×8)。2008年春季学期的软件工程教学依然沿用该教学计划。2004级和2005级软件工程课堂教学均采用案例教学法,课程实验内容与课程设计的课题要求基本相同。

开展双语教学前,我们得到学院教务管理部门的大力支持,但未与学生协商。开课时,学生曾不愿意领发学院订购的《软件工程》教材,原因是学生担心教材看不懂和主讲老师会中途放弃该教材而换用其他教材。经过细致的解释工作,80%的学生领购该教材,20%的学生购买中译本。

在教学过程中,及时根据学生反馈调整教学形式。因多数学生感觉不适应“英语讲授+英文教案”形式,第9~20学时,调整成“汉语讲授+英文教案”形式;第21~34学时,调整成“汉语讲授+英文教案(中文对照)”形式;第35~3时,以小组为单位,学生报告自学教材部分章节。第40学时,点评学生自学情况和课程总复习。作业以中文或英文方式完成。

3.3普通教学

计算机专业课程教学中,专业课程教育应当是主线,“双语教学”只是给学生提供一个应用英语的机会,英语只是一个载体,实质还是应当培养学生掌握计算机专业的知识和技能。根据2005级计算机专业学生的基本情况和2004级双语教学的经验,我校2005级软件工程课程教学是采取普通教学形式。

教材采用《软件工程理论、方法与实践》(孙家广主编)。课堂教学课时安排和实验教学内容与2004级的基本相同,课程设计教材选用韩万江主编的《软件工程案例教程》。

3.4教学效果评价与分析

以两个年级工程课程的笔试成绩为依据,评价双语教学与普通教学的教学效果。自制试卷时,确保两个年级的试卷覆盖知识点和难度相同。被考察知识点分布、课时分配、平均成绩( , 表示第 个学生的成绩)和均方差( )见表2。第一列A~J分别表示概述、软件过程、需求工程、面向对象基础、面向对象分析、面向对象设计、软件实现、软件测试、项目管理各章和课程设计。“总计”行依次是总学时、总分、2004级和2005级的平均成绩、均方差。

表2中2005级的平均考试成绩比2004级的高,且均方差比2004级的小。显然,采取普通教学方式教学效果更好。

课程结束时进行第二次问卷调查(表3)。由表3可知:2004级使用英语教材的学生因为英语基础差,大部分精力浪费在对教材中的英语词句的理解上,平均每次课的复习时间比2005级学生多花费0.76小时;在回答对双语教学是否支持问题时,2004级计算机专业60%的学生赞成在专业课程教学中采取双语教学形式,比2005级的高。表明2004级学生在经历过双语教学后,清楚地认识到专业英语方面的差距,具有提高英语水平的强烈需求;两个年级有超过70%的2004级学生建议提前C/C++和Java语言程序设计等课程开展双语教学;近六成的学生建议“计算机导论”进行双语教学。2005级课程设计的教学效果好的主要原因是,他们能够在课余根据课程指导设计教材,进行自主学习。

4解决方案

独立学院确定在计算机专业课进行双语教学时需要重视如下问题:

(1) 应该对初次开设双语课程的学生进行双语教学的实质、教学形式以及意义等宣传,让学生从思想上与老师保持一致,这才有可能在教学过程中达到教学相长。

(2) 应尽力避免学生将主要精力浪费在对英语语句的学习方面。在双语教学前,需对学生进行英语水平调查,如果学生普遍英语水平不高,建议慎重考虑选择双语教学。

(3) 在开展计算机专业课程(如软件工程等)双语教学之前,建议在“计算机导论”、“C/C++”或“Java程序设计”等先导课程中先开展双语教学,并在第一学年第二学期开设专业英语选修课,以提高学生的专业英语阅读和应用水平。

(4) 应根据学生的实际英语水平灵活选择“汉语讲授+英语教材+中、英文作业”、“汉、英讲授+英语教材+中英文作业”或者“英语讲授+英语教材+英文作业”等形式。

软件课程设计总结范文6

笔者所在学院的软件工程系是成立于2005年的新专业,为校级特色专业。近年来,随着对软件工程特色专业建设进程的推进,课程体系日趋完善。针对软件工程学科具有理论多且实践性极强的特点,本系较大幅度地加大了实践类课程和环节所占的比例,“软件开发设计实训”便是其中很重要的一门实践课程。由于软件工程学科发展速度很快,在软件产业不断发展,全国对高素质的软件人才的需求量激增的形式下,迫切需要研究和探索实践类课程的教学模式,激发学生学习兴趣,以更有效的手段和方式提高教学和指导质量,为培养更加符合社会实际需要的软件开发人才打下坚实基础。在我校教改基金的资助下,依托软件工程教学团队,本文对将软件工程应用于“软件开发设计实训”课程的教学模式及主要措施进行探讨。

1 选择适当的软件工程过程

“软件开发设计实训”课程的主要目的是使学生学会用面向对象的设计方法设计实际系统。结合软件工程学科的发展和应用现状,软件开发过程主要采用RUP(Rational Unified Process,统一软件开发过程)的方式组织软件开发。RUP是风险驱动的、基于Use Case(用例)技术的、以架构为中心的、迭代的、可配置的软件开发流程。

RUP分为初始、精化、 构造和交付四个阶段,各阶段涉及多种工作流【1】。RUP的核心工作流主要包括:

需求捕获工作流:需求捕获通过对问题的理解和分析,确立问题涉及的信息、功能和系统行为,将用户需求精确化、完全化。需求的焦点主要在初始和精化阶段,在精化阶段后期,需求捕获的工作量大幅下降。

分析工作流:分析的主要工作开始于初始阶段的结尾,和需求一样是精化阶段的主要焦点。精化阶段的大部分活动是捕获需求,分析工作与需求捕获在很大程度上重叠。

设计工作流:设计的主要工作是位于精化阶段的最后部分和构造阶段的开始部分的主要建模活动。系统建模最初的焦点是需求和分析,在分析活动逐步完善后,建模的焦点开始转向设计。

实现工作流:实现(实施)是关于把设计模型转换成可执行代码的过程。从系统分析师或系统设计师的角度看,实现工作流的重点就是完成软件系统的可执行代码。实现工作流是构建阶段的焦点。

测试工作流:测试是一项相当主要的工作。测试工作流贯穿于软件开发的整个过程。它开始于软件开发的初始阶段,而细化阶段和构造阶段是测试的焦点。测试是为了找出程序中的错误与缺限,而不能证明程序无错。

RUP就像一个元过程,通过对RUP进行裁剪可以得到很多不同的开发过程,非常灵活,所以可以将其按本课程需要进行精简,从而把深奥的理论指导融入具体软件项目的开发设计中,让学生更加深切地体会到什么叫学以致用,消除畏难情绪,培养和增强在软件开发设计中自觉遵从软件工程思想的习惯。本课程使用的CASE(Computer Aided Softdash;—《软件需求分析规格说明书》作为本课程的起点来进行,需求捕获工作流便只需粗略进行。由于本课程侧重于软件开发过程的分析工作流和设计工作流,对实现工作流和测试工作流也只作粗略涉及。

每个项目小组通常为3到5人,分组时采用了优势互补的方式,注意合理搭配,尽量让每组各个成员具有不同的优势能力,并让其民主推选一名组长负责组内的组织和协调【3】。

教师的项目贯通案例教学分阶段间插在学生实践过程中,每介绍一个阶段的RUP理论,就紧跟几次课的学生实践环节,如此交替进行,当教师的教学案例施教完毕,学生的项目也同步进行到最后阶段。

项目进行中模仿软件公司的例会形式,定期由项目小组长召开小组讨论会(如每周一次),对最近这段时间的项目进展情况和技术问题进行讨论。每个开发设计阶段结束时教师均要求各小组给出相应的文档,且每个阶段完毕要进行一个模拟的里程碑式的评审(教师参与作为评审团的一员)【4】。

教师还应在课程即将结束的最后课时中对各小组的项目完成情况及普遍存在的共性问题作一个分析总结,并让各小组组长总结本组项目完成的经验教训,以利于同学之间取长补短,活跃思维,提高分析总结问题的能力。

4 依托教学团队,理论及案例部分采用轮流授课法

笔者所在的软件工程系于2009年底成立了软件工程教学团队。团队兼顾了职称、学历、教学、科研的合理搭配,由有大型项目开发和管理经验的老教师提供指导来提升年轻教师的教学能力,并让其参与到科研项目中积累项目经验。本课程的任课教师均由该团队中选出。本课程所用的《软件开发设计实训指导书》的编写由各任课教师分工完成,每人负责完成一章内容。本课程每个教学班安排30人左右,各教学班的教师全程负责该班整个课程的实践指导环节。而理论及案例讲授部分的教学则采用轮流授课法,实施方案是每个阶段的课堂讲授由编写实训指导书的相应章节的教师对全体教学班集体授课,其他教师同时到场辅导。具体各阶段的课堂讲授内容安排如下:

1)RUP总论以及课程概述

2)设计模式

3)常用的软件架构风格及适用情况分析

4)对象持久化与数据库设计

5)面向对象实现及文档编写与整理

对应进行的学生的各阶段实践任务如下:

1)按既定方式确定各小组成员和组长,并且重新审核各组在先导课程“软件需求分析实践”中的最终成果《软件需求分析规格说明书》,进一步完成分析模型,得出用例图,分析类图,序列图及协作图。这一阶段学生需提交分析模型文档。

2)按照设计模式重新设计类。这一阶段学生需完成两个任务:一是实现设计模型中的具体设计类,具体要求学生:使用设计模式和机制;创建初始设计类;确定持久类;定义类可视性;定义操作;定义方法;定义状态;定义属性;定义依赖关系;定义关联;定义内部结构;定义泛化关系;解决用例冲突。二是完成用例实现的设计,主要设计模型内的协作关系,以设计类及其对象为基础,描述各个特定用例的实现和协作。这一阶段学生需提交设计模型、类图和用例实现。

3)完成架构设计。这一阶段学生需要设计包结构,完成系统设计模型图的实现子系统、接口设计类及架构模型(组件图),重新审查用例模型,得出用例模型的架构视图。这一阶段学生需提交子系统设计文档、接口设计文档及架构模型文档。

4)根据持久类以及数据库知识对数据库进行设计(包括字段编码设计)。这一阶段学生需提交数据库设计文档。

5)本课程的最后阶段。完成实施模型(部署图);完成界面以及输入输出(报表等)设计;完成具体子系统的编程工作,并进行二次迭代重新审核前面的设计部分;整理测试报告;整理文档并编写软件使用说明书。这一阶段学生需提交组件图、部署图、输入输出设计说明及具体子系统代码执行程序。

5 考核方式强调过程考核,开发设计能力与书写文档能力并重

本课程的实训目标是使学生能综合运用所学的知识进行中小型应用项目的软件开发设计。为此,我们提出了本课程考核的指导思想:重视实训过程,看重软件开发设计能力的提高,采用复合考核的方式,课程成绩由平时考核、过程考核和项目验收答辩成绩组成。重点突出“会不会做”,强调对学生的实际开发设计能力考核,同时注意防止轻视书写文档的观念。这种考核方式不但能更客观地反映学生的学习情况,还能引导学生有意识地加强软件开发设计技能的培养,开发设计能力与书写文档能力并重,更利于达到预期的教学效果。本课程具体的课程考核成绩组成如下:

1)平时成绩*10%(考勤成绩*50%+小组开发设计工作中的合作精神表现*50%);

2)阶段考核成绩*60%(五个阶段,各阶段的能力表现及提交的文档各占20 %);

3)项目验收成绩*30%(项目文档汇总整理占50%,项目答辩50%)。