软件工程师年中总结范例6篇

软件工程师年中总结

软件工程师年中总结范文1

关键词:优势专业;服务外包;软件工程;建设方案

高校毕业生专业结构失衡,与社会对计算机应用需求及最新科技发展脱轨,是目前在计算机类专业人才培养中遇到的主要问题之一。近年来,随着浙江省和长三角地区信息产业的蓬勃发展,高素质软件人才,特别是软件服务外包产业的人才缺口正在不断加大。针对这一现象,浙江工业大学经过认真的市场调研、认证和规划后提出要以培养软件“服务外包”人才为突破口,强化建设具有“产学研用结合办学,分层分类精细培养”特色的软件专业,培养具有“宽口径、厚基础、强个性、善创新”的应用创新型软件工程人才,这对缓解实际需求矛盾,提高人才培养质量,优化专业结构具有十分重要的意义。

1 服务外包专业建设

1.1 服务外包产业在浙江省的发展状况

作为现代服务业的一个重要组成部分,服务外包产业具有以下特点:信息技术含量高、附加值大、国际化水平高、环境污染少、能耗低、人力资源密集。浙江省的服务外包产业目前正处于刚起步的重要阶段。2010年浙江省服务外包合同的执行总额约为110亿美元,其中杭州市作为浙江省“中国服务外包示范城市”,其2010年离岸服务外包合同的执行总额达到了15.5亿美元,在全国21个示范城市中位居第四。服务外包区域发展逐渐形成以杭州市为中心,宁波、嘉兴、金华、绍兴、台州、湖州等共同发展的新格局。2010年浙江省服务外包企业达到1480家,其中新增企业670家,增幅位居全国前列,同时,服务外包从业人员也达到了18万人。

《浙江省服务外包产业“十二五”发展规划》明确指出:浙江省要建设成为全国服务外包产业发展的先进省份,并打造出“浙江服务”的整体品牌。该规划确定了“至2015年全省服务外包合同执行总额突破200亿美元”的经济目标,且至2015年浙江省服务外包从业的人数预计达到30万人,同时年均新增的直接就业人数将会突破3万人。

服务外包产业是人才驱动型产业。计算机类专业作为高校开设普及率较高的专业,在服务外包软件人才的培养上还存在巨大的缺口。随着产业的发展,服务外包实用型人才要具有复合型、跨行业、外语沟通能力强的特点,其人才数量远远不能满足需求。为保持该产业的持续发展,加快转变经济发展方式,促进经济转型升级,国家有关部门先后制定了一系列推动高校计算机学院培养服务外包人才的政策,从而进一步提升高校毕业生的综合能力、就业率和就业质量。

1.2 培养服务外包行业人才的优势

为适应软件服务外包产业的发展需求,浙江工业大学计算机科学与技术学院软件工程专业已申请建立以“服务外包”为特色的浙江省高等学校优势专业,且在服务外包行业人才培养上有以下优势。

1)已建立创新型人才培养模式。

计算机科学与技术学院正在积极地以部级人才培养模式创新实验区(技术与艺术相结合的数字媒体跨学科人才培养模式创新实验区)的建设为契机,探索实践产学“双螺旋”驱动的高质量软件人才培养,以工程实践与创新能力为核心,从而形成特色鲜明的软件工程创新型人才培养模式。

2)具有高水平专、兼职教师队伍。

浙江工业大学软件工程专业已经建成了一支由专任教师、企业兼职教师、软件领域知名教育与学术专家组成的120多人的教师队伍。

3)共建了教学改革与实践教学联合体。

浙江省教育厅和杭州市高新技术产业开发区共建软件学院,并共同成立了浙江工业大学软件学院校企合作委员会。该委员会拥有理事单位近70家,会员单位包括众多国内外知名IT企业。在此基础上,校企共建了教学改革联合体,共同确定了人才培养目标、课程体系、课程教学内容。学校专职教师与企业教师共同承担课程教学。学生的实习和毕业设计等实践环节全部进入企业进行。

4)已建成软件工程专业核心精品课程。

根据软件工程课程体系框架,学校已建成1门部级精品课程、4门省级精品课程及5门校级精品课程,其中核心学科基础课程(如C++程序设计、数据结构、数据库原理及运用、计算机网络基础等)已全部建成省级精品课程。

5)专业人才培养质量和社会认可度高。

浙江工业大学软件工程专业已培养了6届毕业生,共1590人,其中有600人进入服务外包企业就职。专业教学效果良好,获得用人单位的极大认可。还有一批学生获得了国际国内多项高水平的奖项。例如,2009年ACM队在世界总决赛上获前20名,2011年ACM队获得亚洲预选赛3金1银的成绩,并再次人选全球总决赛。在第三届中国大学生服务外包创新创业大赛中,计算机科学与技术学院选派的两支队伍均突破重重选拔,晋级决赛答辩环节,分别获得了二等奖和三等奖的不菲战绩。

2 专业特色规划和建设思路

经过多次论证,浙江工业大学计算机科学与技术学院软件工程专业将总体规划设定为:经过特色专业的建设,以先进的教育思想和理念为指导,以培养软件“服务外包”人才为突破口,强化“产学研用结合办学,分层分类精细培养”的专业特色,在人才培养模式创新、教学团队建设、课程与资源建设、教学方法改革、实践教学与平台建设、教学管理以及国际合作等方面取得标志性的教学成果,将浙江工业大学软件工程专业打造成实训基地完备、师资力量雄厚、教学质量一流、课程体系先进、专业特色鲜明、行业和社会评价优良的特色专业,建设成省内一流、国内知名的复合型、实用型软件工程高级技术人才的培养基地和国内外具有一定影响的计算机软件产学研基地。

2.1 “产学研用”结合办学

校企联合将教学改革与实践教学相联合,共同确定人才培养目标、课程体系、课程教学内容,学校专职教师与企业教师共同承担课程教学;同时将学生的实习和毕业设计等实践环节全方位嵌入企业项目,通过任务驱动、案例驱动、项目驱动,让学生融入教师科研和企业工程项目,做到做中学,学致用,形成产学研用结合办学的特色。

2.2 分层分类精细培养

学校以培养软件“服务外包”人才为突破口,在人才培养模式改革、研究型教学方法改革、课程建设和实践平台建设中,坚持以软件研发实践和创新能力的培养为核心,强化个性,分层分类精细培养复合型、实用型软件工程高级技术人才。

3 优势专业建设总体方案

3.1 完善人才培养方案

学院根据“夯实基础、拓宽口径、强化个性、善于创新”的指导思想,采用多层次、多方向、宽口径的课程教学体系,进一步完善专业教育学分制和产学研一体化联合培养方案;采用“嵌入式人才培养模式”,对学生进行“定制式”培养,包括软件服务外包知名企业实施联合培养和服务外包培训班等形式;完善专业主修方向及多个辅修方向相结合的机制,引进国外优秀师资和系列双语教学课程,制定对日服务外包和对欧美服务外包两种计划,提供相当数量的选修课程。

3.2 构建特色专业的课程体系

学院加强学科基础教学,与服务外包企业联合构建“服务外包联盟”,共同确立多层次的课程体系;提供新型、实用的学科方向课和新技术讲座;搭建软件服务外包实训基地、创业孵化中心;开设各类大型实验、软件工程综合实习等实践环节强化实践训练。实行的新课程体系由软件工程领域的核心课程、引进国际先进的课程、校企合作联合开发的面向服务外包课程组成。图1所示为软件工程专业课程体系。

我们要着重加强实践教学在课程体系中的比重,增加实用性课程和实践环节的比重,增加项目实践的时间,扩展服务外包案例分析教学内容,同时着力强化“分段制、融入型”实习,明确产学研在教学上的合作机制,提升设计性、综合性实验课程比例,提高毕业设计水平。

3.3 改革课程教学内容,加强新教材建设

学院对现有的课程内容进行改革,并根据历年来学生对教材的反馈情况以及教师教材的使用情况,精心选择优秀教材。教材由同课程的多名教师讨论决定,并由课程团队责任教师进行把关,要保证教材内容时刻跟随相关产业和领域的发展。学院还组织教师积累经验,结合软件服务外包编写教材。教材内容要反映产业和领域发生的变化。此外,学院还引进相应的国外原版教材,通过双语教学提高学生对最新软件开发理论和技术的了解,提高外语应用能力,培养能在国际化环境中工作的高层次软件专业人才。

3.4 改革教师培养和使用机制,加强教师队伍建设

学校秉承建设专、兼职教师队伍相结合的方针及特色,完善学科带头人、专业负责人制度,以培养骨干教师和中青年学科带头人为重点,通过引进、培养、补充等多种方式,建设精干高效、富有活力、素质良好、结构优化的高素质专职教师队伍。另外,学校还加强面向服务外包方向的师资培训,增强校内教师指导专业技术能力,重点培育教学骨干、教学带头人、教学名师、教学团队。

学校从国内外知名服务外包软件企业的高层主管和技术骨干、国内外相关学科中聘任兼职教师,聘请外国知名专家、学者授课或讲座,保证专业建设始终与社会需求接轨,提升专业培养质量。

3.5 完善实践教学及实习基地建设

在学校的传统教学实验室的基础上,我们通过校企合作和校企共建教学改革与建设联合体,形成“服务外包联盟”,建立服务外包企业实验基地、校内实习基地和软件园的开放式实践基地,开展创业创新预孵化基地、大学生服务外包创业预孵化基地的建设,做好实验室建设规划和“服务外包校内实训中心”建设工作,形成专业良好的实践教学条件。

此外,学院还会完善分层分类的专业实验教学体系的建设。图2所示为分层分类多元化的实验教学方法。由此看出,该教学体系着重专业实验教学中复合型、实用型人才的工程实践能力培养,依据学科基础技能、专业基本技能、专业综合技能和工程实践能力划分层次,采用课内实验、综合实践、课程设计、开放项目、科研创新项目、科研勤工、学科专业竞赛等课内外结合形式,划分实验班、一体化专业、服务外包专业模块班等不同学生对象,依托实验教学体系实施分层分类精细化培养,采取任务驱动、问题驱动、案例驱动和项目驱动4种基本方法,适应不同实验课程的需要,实施多元化的实验教学方法。

3.6 加强学竞赛平台的建设,完善学生科技创新体系

学院举办课程竞赛,开展自主实验,积极组织、鼓励学生参加各种校内外科技竞赛,通过加强竞赛网站建设和赛事承办,进一步加深校企合作模式,加大宣传力度,让更多的高校和企业参与竞赛的各项活动,突出产学研用相结合培养软件工程人才的特色,进一步完善学生科技创新体系,促进学生参与创新创业,获得更多更好的成绩。

学院借助浙江工业大学在2008年后ACM竞赛中3年获得进入全球总赛的契机,加强了ACM竞赛的平台建设,完善了教练团队和集训制度,鼓励学生通过竞赛和国际联系,通过人选全球总决赛和全球名校的学生平等竞争,取得佳绩,彰显浙江工业大学专业建设人才培养成效。

3.7 教学管理与运行机制的研究与建设

学院针对服务外包专业建设,建立和完善相应教学管理组织、教学质量保证体系,通过完备的规章制度和教学规范,以及对规章制度执行情况的例行监督和反馈机制,有效管理教学,提高教学质量。

(1)建设由政府职能部门、行业管理部门、有代表性的企业和学校主管部门组成的专业建设顾问组,成立软件服务外包专业建设咨询委员会,指导专业建设的定位与方向。

(2)建设以杭州骨干软件企业为主组成的校企合作委员会,共建服务外包实践基地,完成学生实习和毕业设计的教学工作。

(3)建设由国际国内知名软件技术教育专家、软件设计与开发专家组成的教学指导与教师培养委员会,联合服务外包企业,指导课程体系、课程内容的建设和教师队伍的建设。

4)进行服务外包教学管理、教学工作规范、实习环节质量评定方法和监督反馈机制的建设。

软件工程师年中总结范文2

关键词:软件工程;信息管理与信息系统专业;案例教学;教学模式

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

文章编号:1672-5913 (2007) 19-0043-04

1引言

信息管理与信息系统专业具有管理与信息技术相互渗透的特点,它既不同于计算机专业也不同于管理专业,更不是计算机与管理专业的大拼盘,而是基于现代管理理论,借助于先进的计算机工具进行信息管理和信息处理的学科。课程涉及计算机技术、信息处理技术、信息系统管理与分析、经济管理类课程。要求学生在知识结构上除了掌握扎实的管理科学、经济科学、计算机科学与技术、现代信息技术知识外,还应该具备较强的系统思想、信息系统分析与设计方法以及信息管理等方面的知识与能力。

“软件工程”是信息管理与信息系统专业的主干课程,也是一门指导信息管理与信息系统分析的课程,它在信息管理与信息系统专业的教学中占有非常重要的地位。但是,目前现有的针对信息管理与信息系统的“软件工程”教材大部分还是按照传统的分析和设计方法,没有融入当前比较先进的设计方法、设计工具,而且所选取的实例也没有融入先进的管理理念,所以对信息管理与信息系统专业的“软件工程”课程的研究和改革是非常必要的。

2信息管理与信息系统专业软件工程教学改革

传统的软件工程教学模式已不适合信息管理与信息系统专业的学生,需要建立一个符合社会发展需求、能够培养有优秀复合人才的教学新模式。通过几年的教学摸索,我们提出了“合理体系、多种形式、内容渗透、特色案例和实践、多形式考核”的教学模式。该模式采用产学结合、理论实践相结合的方法,在企业中建立研究基地同时与资深软件工程师和咨询师进行联合研究和实践,使学生能够掌握最先进的软件分析方法和工具;深入理解先进的企业管理理念;提高动手实践能力,保证了以后毕业设计的顺利进行和社会的需求。

2.1软件工程课程体系的合理构建

软件工程课程是信息管理与信息系统专业非常重要的专业课程。课程的培养目标应该以市场人才需求为导向,培养的人才应该能够为软件企业提供更为专业化的服务,满足企业的需求,从而增加企业的国际竞争力。因此,软件工程课程的教学内容也应该更为专业化,应该在跟踪国际有关机构对软件工程研究的新成果的基础上,不断更新教学内容,构建新的课程体系。软件工程课程主要涉及3个方面:技术与方法、工具与环境、标准与规范、过程与管理。教学过程既要考虑内容的连续性、继承性,又要考虑可理解性和可操作性。因此,课程体系和教学内容也应涵盖如下层面:

(1) 基本理论层面:介绍软件工程基本理论,包括基本概念、原理、方法和技术、工具与环境,等,其中传统的方法和技术等内容不能没有,但不能占用太多的课时,而对于新的技术和方法则应该花较多的课时加以介绍,安排合适的课程训练,如在面向对象的方法、项目管理方法、相关的开发工具和开发环境等方面。

(2) 技术管理层面:介绍软件管理的主要内容,包括软件项目管理、软件风险管理、软件质量管理、软件配置管理、软件过程管理等方面。主要以软件过程为主,包括美国的SEI的软件能力成熟度模型CMM/CMMI、ISO9000-3、国家行业标准《软件过程成熟度模型SJ/T11234》和《软件能力成熟度模型SJ/T11235》,等。

(3) 实践层面:软件工程实践,主要是让学生进行软件工程课程内容的综合应用实践。可以采用相对集中的课程设计、参与实际软件项目开发,以小组方式进行软件项目模拟,参与软件企业的软件过程改进等方式进行,必要时可以跨学期进行。

2.2软件工程教学内容的合理安排

为了保证教学的高标准,体现教学的科学性和完整性,我们应该在合理的软件工程课程体系结构基础上合理的安排软件工程教学内容。软件工程教学内容覆盖了软件工程知识体系中十个知识点,即软件需求、软件设计、软件构造、软件测试、软件维护、配置管理、工程管理、软件过程、工具和方法、软件质量。这些内容的教学被有意识、阶梯状地分配到学生四年的不同学习阶段,最后使学生具备知识的综合应用、融会贯通的能力。软件工程的教学内容安排如下:

(1) 加强对软件工程的认识:一年级的学生主要是公共基础课程的学习,但在一年级的计算机导论课中加入了职业发展和软件工程思想,使学生初步了解软件工程的思想、作用,加强学生的规范化意识。

(2) 加强编程规范:在二年级的程序设计课程中除了使学生熟悉编程语言,理解面向对象的概念外,还加入了模块化思想和编程规范的训练,通过加强软件工程中编码阶段的规范化训练减轻了以后的软件维护工作。

(3) 设计的规范化:三年级开设了数据库系统、软件工程以及大量的管理课程,在课程最后布置一个综合作业,这个作业以先进的管理理论为指导,以软件工程的思想规范系统的分析、设计。

(4) 工程化实践:四年级通过软件工程课程实习和毕业设计课程进一步强化软件工程的思想,通过实践进一步体会其重要性。

对于软件工程这样一门特殊的课程通过四年的阶梯状教学渗入,通过迭代式教学,使学生的分析、实践能力得到有层次、有步骤地提高。

2.3多种教学形式相结合

为了提高软件工程的教学质量和教学效果,激发学生的学习兴趣和热情,在教学中应采用多种教学手段提高教学效果。

(1) 多媒体教学:理论课采用多媒体教学手段,制作了大量课件。这些课件可以形象化地讲授软件工程基本原理,并且在同样的一节课内能比以前传授更多的知识。由于课堂时间有限我们将部分内容制作成课件供学生自学,以便于学生课外扩展自己的知识面。

(2) 网上教学:随着Internet的发展,网络成为人们获取知识的最重要的途径,在软件工程的教学中通过建立网站,为学生更好学习提供了一个平台。网站为学生提供学习资料下载以及相关业界信息;学生也可以通过网络进行在线、离线的交流,同时网站也经常开展课程的专题讨论和专家在线讲座。

(3) 双语教学:考虑到学生以后可能会阅读大量的外文资料,软件工程尝试实施双语教学,采用国外优秀的原版教材,课件和作业大部分采用英语作为工作语言,并鼓励学生使用英语进行交流;同时给学生提供英文的课外阅读资料,以使他们及时了解国际最新发展。

(4) 案例教学:考虑到信息管理与信息系统专业的特殊性,我们将案例教学融入到软件工程课程的教学中,通过案例的分析一方面加强学生对所学的管理知识的理解,另一方面使学生能深刻领会和理解软件工程的思想和方法。

(5) 实践教学:通过与企业合作,建立实践基地为学生提供实际的课题。这种方式提高学生按照软件工程的原理、方法、技术、标准和规范进行软件开发的综合能力和软件项目的管理能力,提高学生的综合素质(特别在基础技能、团队协作、资料收集、人际交流、项目规划几个方面),在就业中具备更强的竞争力,更加适合在现代软件企业中发展。

(6) 讲座:通过资深的专家、软件工程师的讲座,有利于学生了解当前的社会需求和前沿技术,为学生提供一个指导方向。

2.4完整的、体现先进管理理论的特色案例教学

软件工程讲授的原理、技术、方法都是抽象的,为了使学生能深刻领会和理解软件工程的思想和方法,在教学中将MBA的案例教学引到软件工程的课堂教学中,将复杂抽象的概念用具体生动的案例进行诠释,能够收到事半功倍的效果。在具体教学中,可以实施以下几个步骤:

(1) 设计一个典型的、完整的、具有先进管理思想的、实际的软件项目案例,在整个教学过程中结合该案例讲授每个知识点,将实际案例作为贯穿所有知识点的主线。该案例选择学生学过、当前流行的管理方法(比如ERP、供应链),最好来源于授课教师直接参与的软件项目或实习基地的项目,授课教师对其全部细节能够准确掌握,当然还可以与软件企业的资深的软件工程师和管理者合作来编写案例,使其具备实战性;另外,这些教学案例最好采用传统的以及目前流行的两种方法编写,并且要根据软件工程的发展对其进行不断的修改和完善。

(2) 布置讨论案例。在讲授完每个知识点后,安排一到两节的案例课,该案例不同于教学案例,可以针对各个知识点的特点设计多个案例,不要用一个案例贯穿所有知识点。案例的内容应具有目的性、典型性、真实性、复杂性和启发性。教师用描述性语言叙述案例,其中隐含着有待解决的问题及其所处的客观条件,学生通过认真阅读案例,并查阅有关资料,从错综复杂的现象中理出头绪,明确给定条件,找出主要问题并做好记录。同时,分析问题,制定针对性的措施,提出解决主要问题的可行方案,并对方案进行初步评价。

(3) 组织小组讨论。将学生分成五至六人的讨论组,由每位学生运用所学知识对案例作出分析和说明,提出解决的措施,重点阐述分析、设计的理由,然后,大家集思广义,小组内展开讨论,各抒己见,并由专人记录,讨论的重点是各个解决方案的相互对比和分析评价。最后,从各个可行方案中选出一个较为合理的解决方案,或者对所有方案进行整理和归纳,得到一个最佳方案。

(4) 小组代表发言,集体讨论。每个讨论组派一名代表上讲台,讲述本组对案例的理解、分析、判断、论证和决策过程,说明解决问题的方案和分析设计结果。对于同学的发言老师要围绕题目给予必要的引导,鼓励他们多角度、多因素地观察分析问题,培养学生的知识迁移和拓宽思维的能力,启迪他们学以致用的创造意识。然后,组织全体同学进行分析、讨论、评价,对于非确定型的决策问题,同学们往往存在着意见分歧,结论很难统一。这一过程可以增加学生对软件开发项目的感性认识和兴趣,提高他们分析问题和解决问题的能力。

(5) 教师总结。在案例讨论结束时教师要进行总结,但总结的重点不是对案例分析所做的结论性意见。因为,解决案例问题的决策方案不是唯一的,所以教师的总结应是就整个讨论情况作出评价,对正确的论点给予肯定和完善,指出一些带有倾向性和原则性的问题,特别是对某些问题可以更深一步的思考,进行启发式的诱导。

案例教学法通过案例贯穿软件工程各知识点的讲授,将枯燥的理论与实际紧密结合,变抽象为具体,帮助学生充分理解和掌握各知识点;通过组织学生参与案例讨论,要求学生从真正工程师的角度来分析问题和解决问题。正是这种参与性的学习方法,才使学生有可能成为未来优秀的人才。

2.5合理的实践安排

软件工程课程涉及面很广,如果不结合实际工程项目进行教学,很难把教学内容教授给学生,因此,实践是这门课程的一个重要环节。课程实践一般集中安排在课堂教学结束后,但是,在把握教学进度的同时,必须及早布置课程设计题目,让学生边听课边实践,使其有相对充裕的时间收集相关资料和进行独立思考,及时消化理论知识并应用于实际,探询问题的最佳解决方案。课堂学习结束后,进入集中的课程设计阶段,对上一阶段的工作成果进行补充和完善,编写各阶段的工程文档,实现系统并测试,最后总结设计得失。

课程设计应以团队合作的方式进行,每个小组4~6人,在优差生搭配的前提下自由组合,分别担任项目经理、客户、系统分析员、程序员和测试人员等角色,小组成员角色可以互换。以团队合作的方式协同完成项目开发。这些项目都是从实际合作基地的项目。设计过程学生相对独立的完成,需要学生在熟悉UML的面向对象软件开发方法后,能够通过Rational Rose针对实际应用问题构造UML模型,教师采用点拨方式或共同探究的方式进行指导。设计小组根据项目需求,制定项目计划,进行分析、设计、编码和测试,运用本课程学到的各方面知识,分工协同,在研究问题找出规律的过程中创造性地学到了知识,创造能力、应用能力、综合能力和交流合作等都得到充分的发展。在课堂讲授的同时及早布置课程设计题目,避免了理论学习与实践应用的脱节,提高了学生课堂学习的认真程度,同时也提高了课程实践的效果。同时每个阶段要有成果展示和相应的文档资料。最终应提交成功运行的产品及全部文档。

2.6多形式考核方式

软件工程是一门实践性非常强的课程,考核的重点不应该只是理论考试,而应该看学生是否掌握了软件工程学的思想和方法,另外考核的功能不仅是检验学生学习和掌握课程的情况,更重要的是鼓励和督促学生学习的主动性,因此软件工程的考核注重学生综合知识和应用能力方面的考核,我们的考核方案是:平时作业5%,课堂表现(发言与讨论)25%,案例分析(小组模式)40%,笔试30%,课程的实践单独考核。采用这种考核方式,可以避免学生对知识的死记硬背,转而重视对知识的理解和运用,课堂发言踊跃,对学生学习的主动性和创造性思维具有很大的促进作用。

3结论

总之,针对信息管理与信息系统的专业特点改进软件工程的课程教学,必须针对其实践性强、发展迅速的特点,根据管理模式、软件行业需求的变化不断更新教学内容,设计合理的课程体系、教学方法,产学结合、理论与实践相结合,在突出课程基本理论和概念知识的同时,更侧重于对学生的软件工程应用能力的培养,运用有效的教学手段,建立良好的教学环境,培养学生的学习兴趣,提高学生学习的主动性与创造性。该课程的目标是培养适应社会需要的高素质的复合型人才。

参考文献

[1] 骆斌,张大良,邵栋. 软件工程专业的课程体系设计[J].中国大学教学,2005,1.

[2] 万江平,安诗芳,黄德毅.软件工程知识体系指南综述[J].计算机应用研究,2006,10.

[3] 王志平,张毅,童华,李烈彪.软件工程实验室建设和实验教学的探索[J].实验科学与技术,2006,12(6).

[4] 沈备军,顾春华.软件工程教学模式的研究和实践[J].计算机教育,2005,1.

[5] 尹锋.软件工程的若干热点技术发展现状与展望[J].长沙大学学报,2006,9(5).

[6] 牛丽,.基于UML的ERP开发方法研究[J].长春大学学报,2006,2(1).

收稿日期:2007-09-01

软件工程师年中总结范文3

关键词:多模式融合;软件工程;翻转课堂

1本项教学改革背景

软件技术和产业的飞速发展进步,为我国经济注入了强大的推动力量,信息产业的人才需求量也在逐年扩大。据有关部门统计,未来五年,我国信息化人才总需求量高达1500—2000万人,其中“软件开发”、“网络工程”等人才的缺口最为突出[1]。以软件开发为例,职位数排名前五的职位依次是:软件工程师,高级软件工程师,网页设计,互联网软件开发工程师和网络推广专员。高校作为社会所需人才的培养基地,承担着培养大批合格软件人才的职责,满足软件产业发展和市场需求。为此,很多高校开设了多门软件技术方法课程,其中的核心课程包括软件工程,这门课程训练学生从工程化的角度认识软件开发和维护,通过实践理解和运用工程化的软件开发原理、技术和方法,在软件课程体系中具有重要地位。软件工程课程的特点是知识体系庞大,内容丰富,同时又与产业和应用联系密切,实践性很强。目前,大部分高校采用理论讲授上机练习的形式开展该课程,课程结构设置倾向于教师讲授,未给实践教学以足够的重视,学生参与软件工程项目机会很少[2]。即便是课堂讲授,有限的学时也难以展开或深入。大部分学生虽然学习过几门程序语言和一些软件专业课程,但基本上都没有经历过软件项目开发,普遍感到软件工程笼统抽象,很难真正理解其中的精髓。因此,如何改变软件工程课程的教学模式教学方法,提高教学水平和质量,切实培养学生的工程设计开发软件系统的能力,已经成为高校软件专业教改的重点热点之一。在多年的教学实践探索中,我们学习借鉴了多种新型教学方法的优点,包括Workshop&Teamwork教学法[3]、任务驱动的项目案例教学法[4,5]、情境教学法[6]、翻转课堂法[7]等,展开深入研究,将它们进行融合和合理改进,应用到软件工程教学中,提出了多模式融合的软件工程教学策略,结果表明,该教学模式收到了好的效果。

2多模式融合的软件工程教学策略

2.1多种新型教学方法融合应用

2.1.1Workshop&TeamworkWorkshop直译为工作坊、创作室、专题研讨会或实验班,是一种由几个人组成小组(Teamwork),进行密集讨论的集会,运用群体压力和有效的指导来完成复杂而具有挑战性的工作[2]。Workshop&Teamwork教学法以教师引领启发、学生分组学习和共同探讨问题为核心,通过充分的沟通交流实现思维能力、自学能力的培养,对于理解、领悟软件工程中抽象的理论及框架等概念模型具有一定的应用价值。它偏重于短期强化的专业训练,适合软件工程这样的短学制理论课程部分,通过充分调动参与者的积极性,在短期内高效率地完成教学任务。

2.1.2任务驱动的案例项目任务驱动教学法将以往以传授知识为主的传统教学理念,转变为以解决问题、完成任务为主的多维互动式的教学理念;将再现式教学转变为探究式学习,使学生处于积极的学习状态[3]。任务驱动法中的任务可以表现为案例(Case)或项目(Project)的形式。案例通常是能够突出体现一个或多个知识点、技能点的范例,在例子中设置问题或困难的情境,没有特定的解决之道,教师扮演设计者和激励者的角色,鼓励学生积极参与讨论,以求得解决方案。项目往往是综合性的案例,涉及本课程的大量知识技能点甚至融合了多门课程的知识。学生在老师的指导下独立处理项目,自我组织信息收集、方案的设计、项目实施、过程管理和最终评价,了解并把握整个过程。

2.1.3情境教学情境教学法的主要理论依据是情感和认知相互作用和认识的直观原理,通过在教学过程中引起学生积极的、健康的情感体验,直接提高学生对学习的积极性,使学习活动成为学生主动进行的、快乐的事情[6]。在教学过程中,教师有目的地引入或创设具有一定情绪色彩的、以形象为主体的生动具体的场景,以引起学生一定的态度体验,帮助学生理解学习内容,并使学生的心理机能得到发展。

2.1.4翻转课堂法翻转课堂是指重新调整课堂内外的时间,将学习的决定权从教师转移给学生。教师不再占用课堂的时间来讲授信息,这些信息学生在课后通过观看课程视频、电子书、与他人讨论、查阅参考资料等自主学习活动来掌握。课堂内的宝贵时间,学生能够更专注于主动的基于项目的学习,共同研究解决面临的问题,从而获得更深层次的理解。教师也能有更多的时间与每个学生交流,掌握学生的进度和缺欠,以便更有针对性地对学生指导和辅导[7]。

2.2课程规划

软件工程课程系统地介绍软件开发的过程、方法和工具的基本概念及需求分析、软件设计、编码风格、软件测试的工程化方法,涉及计算机科学、数学、经济学、法学、管理学、心理学等多学科,具有理论深、涉及面广、实践性强的特点。针对这些特点,我们设计了以Workshop&Teamwork为基本组织形式,采取翻转课堂的部分做法,将学习内容分解为课外自学部分和课内学习部分,课前由学生独立或以小组为单位进行知识的自我获取和掌握,课堂上开展任务驱动下的案例/项目的互动分析讨论,经常引入模拟工作场景的情境学习,课后学生在教师的指导下进行总结归纳提高,答疑解惑,并开展综合实验。在课程开始时即规定考核方式,最终成绩由四部分组成:课前自学+练习占20%,课堂学习占30%,综合项目(含开展过程和最终答辩)占20%,期末笔试占30%。前三项均为过程性评价,占最终成绩的70%,体现了对实践环节和参与度的重视。在过程性评价中采取个人自评(20%)、小组互评(20%)和教师评分(60%),含多个评估项目如学习态度、参与积极度、任务完成程度、创新性等,能够较为全面和充分地反映学生的个体能力、合作能力和整体表现情况,激励和督促学生平时积极学习,避免了以往仅考笔试的临时冲刺,或者团队中的平均主义现象,真正达到了学习过程就是学习结果的目的。

2.3小组活动的组织和实施

根据Workshop&Teamwork教学法中对案例及情境的需要,我们对软件工程课程教学计划进行总体规划和任务分解。通过收集整理具有代表性软件工程实例,创建若干对应课程相关章节内容的相应工程教学项目及工作情境,内容包括任务的名称、目的、需要解决的问题、项目需求的背景等相关资料。这些工作资料的收集和准备,是实现小组学习的关键。课堂任务的设计与选取强调以下几点:任务的相对独立性和开放性;任务是某项知识的学习和应用;将各子任务的完成贯穿到教学的各个阶段;每个具体任务既要覆盖一定范围的相关知识的运用,题目又不应过大,应相对独立,便于项目学习的实施。将学生分成小组,每个团队5-7人,选出一名团队负责人,教学活动将以小组形式,在负责人的主持下,在课内外展开和完成。每名学生在团队中有明确分工,不再是一个旁观者,而是分别担任客户、项目经理、系统分析员、程序员、测试员和评审人员角色等不同角色,完成特定任务,在不同的任务中,实行角色轮换,保证每个成员对所有角色有所体验。小组学习的基本流程是:呈现任务分析任务完成任务总结评价,四个步骤所包含的具体环节如下:呈现任务:创设情节、引起注意、提出任务;分析任务:针对问题、明确思路、提示重点;完成任务:自主探索、领会意图、解决任务;总结评价:检查结果、发现不足、总结经验。在课堂上,教师提出一个待解决的案例问题,每个团队独立提出问题解决方案,各团队对多种解决途径进行讨论,改进不足。在课外,每个团队自由选择或由教师给出一个要开发的实际项目作为案例。团队成员分别扮演各种角色分工,讨论问题解决方案。以案例为核心,围绕需解决的问题展开讨论及工作。小组中的每个人都应当畅所欲言,充分交流,团队负责人负责活动的开展,人员的组织和激励,要求每个成员认真努力,主动参与,及时纠正和避免“南郭先生”现象。教师对学员的实际表现进行考察、点评以便有针对性地提供咨询意见。

2.4案例项目的开展

近年来,软件工程学科发生了巨大变化,从传统的结构化技术到面向对象技术,继而发展到基于构件和面向服务的技术;出现了平台网络化、方法对象化、系统构件化、开发工程化、过程规范化、生产规模化的态势;软件开发过程、工具和方法等方面有了重要的发展。为了及时反映技术和理论的进展,在案例和项目的来源方面,我们改变了以往主要由教师设计的做法,通过学院与广州、深圳、佛山等多家技术企业和技术机构的校企合作机制,从企业引入了大量的实际产品和项目,根据课程内容和进度,分解和改变成多个小案例和小、中、大型实训项目。为顺应移动互联网发展潮流,我们精选了移动互联网和游戏开发技术中的软件工程实践案例,在课程中介绍这些项目的设计和开发经验,鼓励学生探索;精准医疗是目前医疗发展的新方向,精准软件的设计和开发与云计算、大数据分析等新兴技术密切相关,我们就把纷繁的资源整理成较为系统的格式,提供给学生课外学习,从而使得课程内容紧紧贴合蓬勃发展的医疗应用实际。这些做法不仅解决了案例项目来源单一、数量不足的问题,而且避免了闭门造车,使得学生能够接触到一手的软件产品的分析、设计中的问题,具有很强的实用价值和岗位情境价值,激发了学生的探索欲和表现欲。软件工程中的案例为小例子,较容易为学生接受和理解,能够在15分钟左右的时段内获得结果,不仅在流程上相对完整,而且在课时上便于掌控。项目则更加复杂,综合性更强,往往在学习完软件工程的一个独立阶段之后提出,检验学生综合运用原理和方法的能力,涉及的时间段也比较长,教师在课堂出提出项目要求,学生开展分析,获得初步的需求规格说明,而项目的设计、分工实现和测试、维护等主要放在课外展开,以获得充分的时间保证。在课程结束时,学生课内外产生的设计和分析成果就构成一个完整的项目工程,利于总结、比较和提高。随着软件工程的案例项目数量不断增加,内容不断丰富,为了便于管理、检索和更新,目前已经建立了教学案例项目库,包括课堂案例50多个,各类实践项目30多个,使得课堂内容和训练内容得到大大充实,训练素材和学习过程的质量也明显提高。

2.5真实情境的教学运用

在软件工程课堂上,我们组织学生以小组(Teamwork)形式讨论案例和项目中的疑难,提出案例和项目的解决之道并加以迭代修正,获得最终解决方案,组织软件开发和实施过程,就是对软件工程岗位的情境模拟,在其中引入了讨论情境、辩论情境、商议情境、多种媒体表现情境等,给学生以耳目一新的感受,活跃的课堂气氛,竞争与合作并存,使得学生全力投入,有效地促进学生思维的活动。例如,在开展学校医药费管理系统项目的需求分析时,教师提出问题:哪些干系人参与该项目的需求获取?学生小组经过讨论,给出了各自的结果。大多数小组认为,编程人员应当作为干系人参加需求分析活动,只有编写程序的人才知道某些功能是否能够实现。而实际情况则是,技术团队在前面的可行性分析中就已经证实了技术可行性,不必重复可行性分析。经过比较讨论,同学们强化了需求分析重要性的意识。又如,在软件测试环节,很多学生认为单元测试是编程者个人的事情,无需其他技术人员测试。为了验证同学们的想法,我们设置了如下情境:编写一个方法A,输入任意日期,输出该日期所对应的星期几,然后分别由编写团队和其他团队来测试代码有无bug;在学生已经完成的学校医药费管理系统1.0版本中随机选出了几个模块(编号为B1-B4),分别由编写团队和其他团队来进行测试。经过20分钟的测试,所获得结果如下表。虽然以上只是小样本实验结果,但学生已经在情境学习中深刻认识到了单元测试中其他技术人员介入的必要性,同时还验证了一个测试原理:检出错误的代码段比其他代码段更容易发现新的错误。学生对相关内容有了更深的领悟。

2.6翻转课堂向课外延伸

软件工程教学要想充分利用课内时间,使得学生在有限的学时中消化案例,理解项目,很有必要借用翻转课堂的课前自学普及型知识、课上讨论关键性要点、课后自我训练升华提高的策略。

2.6.1课前布置任务:教师铺路学生自学要实现学生的课前自学,前提是教师充分重视课前准备工作。教师首先根据课程总体教学目标划分一系列的单元子目标,再根据子目标细化成具体任务。具体任务要适应学习者的水平,符合其课外自主学习的特点,任务难度适中,学生能够独立完成,或以小组形式自学完成。教师根据细化的任务和学习者的实际情况,制作相应的学习资料,以满足学习者的基础知识储备。例如,在总体设计环节,我们将学习内容分解为5个小单元,包括软件总体设计的概念和目标、软件体系结构与风格、总体设计的原则、总体设计的方法和工具、总体设计的应用,每个小单元里包括PPT、案例、思考题、阅读链接。学生在完成了这5个小单元的自学后,初步掌握了总体设计的基原理方法,未能解决的疑问将作为上课时集中讨论的主题。

2.6.2课堂教学活动:解决疑难重点问题教师在课堂上组织学生进行任务完成情况的汇报、测评以及后续任务的布置等教学活动。通过组内交流和组间答疑,尽量使更多的问题由学生自行解决。例如,在总体设计学习中,A小组提出,设计软件时没有必要先确定体系结构风格,应当顺其自然。B小组发表了反对的意见,认为很多项目开发符合特定类型,事先设计好体系风格,有助于采用成熟的方案进行设计,少走弯路。通过讨论大家认识到:复杂系统采用面向对象方式设计比传统结构能够更准备地表示数据之间的关系,提高重用性和可维护性;过滤器类型的软件不必考虑交互性,可以采用管道风格设计;如果业务处理以数据为中心,则可以采用仓库体系结构,等等。教师对学生课堂表现进行考评,综合前期任务的实施情况,制定后续任务。

2.6.3课后自我训练:巩固归纳升华提高教师根据本堂课的学习目标和知识要点,设计课后小练习,交给学生个人独立完成,设计课后综合性练习,交给学生以小组形式独立完成。学生可以将自己的练习结果和思路到网络群组中共享,分享经验,共享发现的新工具、新技术,互相帮助攻克困难。需要教师及时关注跟进,了解学生的练习情况,并及时进行辅导、提示和解答,从而保证学生在课后能够及时进行巩固练习,复习归纳。另一方面,学生中涌现的新点子、新材料,产出的优秀作品,教师可以及时收入素材库,作为今后教学的辅助材料。

3结语

近几年来,我们不断摸索尝试以小组为单位的任务驱动下的案例/项目教学新模式,在合适的环节开展情境教学,吸收翻转课堂的优点做法,以实际案例和项目为主题,以实现任务为模块学习目标,学生课外自学、开展小组活动、探索解决问题的方案、团队合作与竞争等,完全改变了传统的以教师为主体的讲授方式,使抽象的概念和工程原理经过学生的主动学习和实践而变得实际起来,取得了很好的教学效果,主要表现在:充分调动了学生的主动性和积极性,课程由原来干瘪无味变得鲜活生动,学生们戏称“软工课堂热,发言抢答忙”,学习观念得以改变,学生的自学能力、查阅文献的能力、分析软件系统和设计系统的能力、编程和测试的实战能力都得到了较大提高。学生通过大量案例和项目的实践学习,感受到了软件工程课程的指导意义和实用价值,提高了运用软件工程先进思想和方法设计开发软件项目的信心和愿望。对于教师来说,开发具有新技术、新思想的教学案例,才可能教好学生,因此,新的教学模式既给予了教师适度的压力,又提高了教师学习运用软件工程思想方法和技术的动力。运用新教学模式时我们也看到了存在的一些问题:随着软件工程技术和思想的发展,学习内容越来越庞大,如何在保留经典和引入新潮之间做好平衡,如何有效地过滤相对过时的内容,尚未有一个明确的原则和解决思路;软件类部分课程具有一定的重叠性,相关的课程是否可以合并,减少重复环节?我们将不断学习,不断实践,改进和完善软件工程教学模式,切实培养学生的思考能力、动手能力,为社会培养更多合格的软件工程人才。

参考文献:

[1]全面解析我国2015年IT行业发展与就业前景.

[2]毛燕琴.软件工程专业案例启发式教学实践框架研究[J].计算机教育,2015(7):22-24.

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

[4]熊祥光.项目驱动的校企合作及做中学教改实践[J].计算机教育,2015(14):49-51.

[5]王文发,武忠远,许淳.地方高校软件工程专业校企合作实践教学的探索与实践——以延安大学为例[J].高等理科教育,2016(12):114-119.

软件工程师年中总结范文4

关键词:软件工程;课程设计;实践;指导

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

软件工程是计算机科学与技术本科专业一门重要的专业课。一般在软件工程课程结束后,会安排一些时间让学生做软件工程课程设计。软件工程课程设计的内容是让学生运用软件工程的知识设计一个应用软件系统,并写出相关的设计文档材料。

做软件工程课程设计的目的,是让学生加深对软件工程知识的理解,训练学生的动手能力,让学生学会开发软件的常用方法,熟悉软件开发的过程,熟悉各种软件开发文档材料的写作,积累软件开发的实践经验,为将来从事软件开发工作打下良好基础。

在指导学生做软件工程课程设计时,以下几个问题应该引起指导教师的注意。

1合理选择课程设计的题目

由于该课程设计与软件工程课程内容密切相关,选题工作可以在软件工程课程开始讲授时布置下去,让学生有充足的时间思考,思考成熟后,在指导教师帮助下,将课程设计题目确定下来。然后学生一边学习软件工程课程内容,一边着手收集课程设计所需的有关资料,做好课程设计的准备工作。

课程设计题目所涉及的问题规模和难度应该比较小。因为课程设计不同于毕业设计,加上课程设计安排的时间比较少,学生投入的精力也有限,所以要控制规模和难度。

指导教师在帮助学生选择题目时,可以选择学生比较熟悉的问题,如图书资料管理系统、学生成绩管理系统、人力资源管理系统等等,或者选择学生很快就能熟悉的一些问题。

2摆正程序编写工作在软件工程中的位置

学生在做软件工程课程设计之前,已经做过一些课程设计。比如在学习C、C++或Java之后,利用C、C++或Java所做的课程设计。那些课程设计内容是使用高级语言设计和编写小软件,在那些课程设计中,程序编写是一项非常重要的工作,因为那些课程设计是以熟练应用某高级语言为目的。而在软件工程课程设计中,编写程序工作与需求分析、总体设计和详细设计等工作相比较,重要程度降低了。因为软件工程课程设计不是以熟练运用某高级语言为目的,而是以熟悉和运用软件工程知识为目的。实际上,按照开发软件的过程,当需求分析、总体设计和详细设计等开发过程完成后,用哪种高级语言来实现软件系统已经不是重要问题了。

学生往往认为程序编写工作重要,而认为需求分析、总体设计和详细设计等工作无关紧要,这是没有领会软件工程思想的表现。当确定课程设计题目后,有些学生不认真作需求分析、总体设计和详细设计等工作,匆匆忙忙开始编写程序,这种行为与软件工程课程设计的目的不相符。指导教师要引导学生明确软件工程课程设计的目的,使学生清楚程序编写工作与其他软件开发工作的关系,让学生摆正编写程序工作在软件工程课程设计中的位置;告诉学生不能只重视编写程序工作而轻视其他工作;更不能不经过需求分析、总体设计和详细设计等阶段而直接开始程序编写工作。历史上,软件危机产生的原因之一就是错误地认为开发软件就是编写程序、程序就是软件,而忽视了程序编写之外的其他各项软件开发工作。现在要通过做软件工程课程设计引导学生摆正程序编写工作的位置,用软件工程理论指导实践,防止过去的错误再出现。

3培养整体观念和全局意识

我们培养的计算机专业的本科生,将来不仅仅是做程序员,还要做系统分析师、软件设计师,而系统分析师、软件设计师必须有整体观念和全局意识。开设软件工程课要为培养系统分析师、软件设计师打下基础,而做软件工程课程设计是培养学生整体观念和全局意识的一个好机会。

面对一个被开发的软件系统,如何培养学生的整体观念和全局意识呢?

可以通过制订软件开发计划来培养学生的整体观念和全局意识。在软件工程课程设计开始时,指导教师要按照软件工程的理论要求,指导学生制订一个软件开发计划。对于软件开发过程中的每个阶段,从可行性研究到需求分析,从总体设计到详细设计,从编码到测试,让学生站在整体和全局的角度,考虑和分配各阶段所用时间和各种资源。通过这个计划的制订,训练学生树立从整体出发来思考软件系统开发过程的观念,引导学生学会从全局的角度来合理规划软件开发的各项工作,熟悉软件开发的整体过程。

还可以通过做总体设计来培养学生的整体观念和全局意识。总体设计是软件工程课程设计的一项重要内容,总体设计是在搞清软件系统的需求之后,概括性地回答软件系统如何实现的问题。总体设计从宏观上对软件系统进行设计,将软件系统划分成若干个模块,确定每个模块应实现的功能以及各模块间的结构关系。从总体设计应该完成的任务可以看出,做总体设计必须具有整体观念和全局意识,要考虑到被开发系统的每个方面的问题。指导教师要让学生在规定的时间内做出总体设计方案,然后指导教师对学生做出的总体设计方案进行审查,审查通过之后,再让学生做后面的工作。

4熟悉常用技术和工具

按照软件工程课程设计的要求,学生在课程设计结束时,要完成全部的软件设计开发任务,不但要交出一个能运行的软件,还要交出设计过程中所形成的文档材料,包括需求分析材料、总体设计材料、详细设计材料、测试材料等。要做好这些文档材料,需要在课程设计中引导学生熟悉软件工程中常用技术和工具的使用方法。

例如,在制作需求分析材料时,涉及到实体关系图、数据流图、状态转换图、IPO图的使用;在制作总体设计材料时,涉及到模块化技术和层次结构图的使用;在制作详细设计材料时,涉及到传统流程图、盒图、PAD图、判定表、判定树的使用;在制作测试材料时,涉及到白盒技术、黑盒技术的使用。如果采用面向对象方法进行系统分析和设计,则要涉及到UML中的用例图、类和对象图、顺序图、活动图、协作图、构件图、部署图的使用。

上面提到的一些常用的技术和工具,在软件工程授课过程中,教师虽然讲过,但由于没有真正使用过,所以学生不熟悉。指导教师要引导学生利用课程设计来熟悉这些常用技术和工具。因为学生毕业后,既要会做程序编写工作,也要会做需求分析、总体设计、详细设计、测试等工作,熟悉这些常用技术和工具的使用方法,并且认真完成课程设计各项文档材料的制作,可以为毕业后从事相关的软件开发工作奠定良好的基础。

5学习和运用新知识

软件工程教材中介绍了开发软件各阶段所用的知识,但是教材往往受篇幅所限,对一些新知识介绍得不详细,再加上知识更新的速度比较快,有些新知识教材中可能没有介绍。做软件工程课程设计是一个非常好的学习和运用新知识的机会,指导教师可以有意识地引导学生学习和运用软件工程新知识。

例如敏捷(Agile)软件开发方法,该方法是针对传统软件开发方法过程复杂繁琐、产生并且维护大量文档、缺乏对开发过程中各种变化的有效和及时的反应等问题而提出的一类新的软件开发方法。该类方法对软件生产率高度重视,适用于需求模糊或快速变化的情况,适用于一些小型软件项目的开发。XP(极限编程)是敏捷方法的典型代表,XP将开发过程分为计划、设计、编码和测试四个阶段,XP强调4条核心价值:沟通、反馈、简单、勇气,XP建立了系统比拟、小交付、简洁设计、结对开发、代码共享等多项核心实践准则,XP是应用最多的一种敏捷方法。自从2001年2月敏捷联盟成立之后,敏捷方法发展迅速,该方法的实用价值逐渐被人们所认识,越来越多的人开始应用该方法开发软件。

对于像敏捷方法这样的可以用在软件工程课程设计中的新知识,软件工程任课教师可以通过多种途径将新知识介绍给学生,让学生在做软件工程课程设计之前了解新知识的内容。对于准备采用新知识做软件工程课程设计的学生,指导教师要组织他们深入学习讨论新知识,让他们在做课程设计之前熟悉新知识,指导他们做好根据新知识进行课程设计的计划,鼓励他们使用新知识,拓宽知识面。

6提升综合素质

具有良好的综合素质是事业成功的重要因素,为了提升计算机专业学生的综合素质,为社会提供优秀的软件人才,要充分进行好软件工程课程设计。

能与他人和谐地进行沟通和协作的团队精神,是从事软件开发工作不可缺少的良好素质之一。早期软件作坊式的个体化软件开发方式,造成开发者随心所欲,结果为软件危机的产生埋下了祸根。现在的软件规模比较大,各项性能要求比较高,开发时间比较短,软件作坊的生产方式已经无法适应这种新情况了,因此必须依靠团队的力量,大家齐心合力、分工合作,才能完成软件开发任务。指导教师可以通过设立开发小组的形式,培养学生与他人和谐地进行沟通和协作的团队精神。根据课程设计题目的内容,将参加课程设计的学生划分为若干个开发小组,组内采用民主制组织方式,组内学生通过互相沟通、协商来制订开发方案,通过分工合作来解决开发中的问题。开发小组可以采用敏捷软件开发方法进行课程设计,因为敏捷方法特别强调人与人之间的交流与合作,有利于团队精神的培养。

认真做事、细心做事的负责精神,是从事软件开发工作不可缺少的良好素质之一。软件开发活动由多阶段构成,按顺序分阶段进行开发活动,各阶段密切相关,某一阶段出现错误,将会传导至下一阶段,还会在传导过程中将错误放大。由于开发者马虎大意、出现错误,造成损失的例子历史上很多。指导教师可以通过将一些典型错误实例介绍给学生,引起学生对负责精神的重视;还可以安排时间让学生对设计内容进行自查和互查,以检验认真细心做事的情况。还可以通过测试和调试活动来培养认真做

事、细心做事的负责精神,因为如果没有认真做事、细心做事的负责精神,很难完成测试和调试工作任务。

此外,熟练地写作应用文档材料的能力、勇于创新和勇于改正错误的精神,都是从事软件开发工作应具备的良好素质,这些都可以通过软件工程课程设计活动加以培养。充分利用好软件工程课程设计,对于提升学生综合素质会起到一个很好的推动作用。

参考文献:

[1] Roger S.Pressman.软件工程:实践者的研究方法[M].梅宏,译.北京:机械工业出版社,2002.

[2] 郭宁.软件工程实用教程[M].北京:人民邮电出版社,2006.

[3] 高禹,冯相忠.C语言课程设计与发展学生思维[J].高等理科教育,2006(5):77-79.

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

[5] 陆惠恩.软件工程基础[M].北京:人民邮电出版社,2005:29-80,128-138.

软件工程师年中总结范文5

强调基础 重视技术培养

王老师表示学院在邰明松书记,洪玫副院长和秦燕副书记的指导下,教学注重上体现专业化、国际化和工程化特点,强调学生的数学和计算专业基础的建立,以及专业英语水平和技术实践能力的培养,面向学科发展、面向市场需求、面向社会实践培养人才。学院开设课程涵盖软件工程知识领域的主要方面,在专业核心课程中,计算机科学课程占30%,软件工程课程占30%,应用技术课程占30%。70%的专业课程采用双语或英语教学,80%以上的课程教材采用近3年国内外优秀教材。

引进了美国卡耐基・梅隆大学软件工程专业核心课程,授课教师都接受过专业的培训。参考国外教育实施 “三学期”教学模式,在暑期开设小学期课程,聘请国外教师英语授课。专业课程的实验环节学时达到课程总学时数的三分之一以上,并开设了软件开发实践和课程设计等专门的实践课程。

再者,《软件实践开发》和《创新训练》课程的设立,为同学们开拓了思维,提供更多的理论支撑。

最后,设备齐整的服务竞赛的创新实验室,为同学们提供了良好的备赛环境。

推产学合作 增强适应能力

高等院校既是创新人才的集聚地,也是创新成果的策源地。要想以高水平的创新成果和高素质的创新人才服务国家经济社会发展,最重要的是坚持科学发展,促进产学研合作。四川大学软件学院在产学合作方面也做了不少尝试。

学院通过构建软件工程专业认知教育体系,在不同的本科学习阶段,通过教学和实践环节相结合增加软件工程专业、行业认知教育,帮学生掌握软件工程专业特点、提升学生专业学习兴趣;了解行业、企业发展形式,加强学生职业生涯规划;针对性新技术培养,增强学生适应能力。

根据专业方向,针对学生特点,参照企业个性化需求,塑造“校企共融、全真嵌入、四段递进”的人才培养模式。通过企业级讲师进课堂,校内实训,IT企业实习等课程的开设,创业项目孵化,企业外包项目开发等工程的创建,实现人才与市场的高度接轨,完成人才培养与企业需求的无缝对接,持续为国家、社会、软件行业提供高质量人才。

学院还提供了有层次丰富、形式多样的实训基地。学院拥有13000平米的软件学院大楼,建有专业实验室、开放实验室、信息安全应用实验室以及学生创新实验室等4个专用实验室,PC机400余台,免费开放,为学生提供课程实践、开展模拟课题和科技创新活动的实验环境。

王彭老师特别向记者提出:“国际化,工程化是川大软件学院学生的特色。”为了更好地与国际接轨,更快地让学生适应社会,学院也在不断的探索。

国际化特色随着学校的对外开放,学院开始引进国外的先进人才培养模式,进行职业化的工程教育,引进了10门卡内基 梅隆大学的软件工程课程(系统软件开发)体系,并对其进行本土化改造,形成较完善的一套软件工程课程体系。

此外,还专门聘请外籍教师授课、开设专业英语小班课程、聘请外籍专家讲学,训练学生的专业英语的交流能力,扩大学生的国际视野和专业知识面,理解本专业国际先进理论和技术。

工程化特色 在教学计划制定中强调实践环节,大部分课程增加了实践环节,已有的实践环节也增加了实践教学时间,课程实践时间比例达到授课时间的1/3 到1/2,并同时设计课堂教学的实验环境,大部分教学在实验室完成,使学生在实践中学习。重视职业化培训, 在课程教学大纲的制定中突出教师教学案例和学生课程项目的设计,强调在课程中嵌入编程语言、工具和环境、平台的学习,强调对学生的工程训练,将专业理论与工程实践相结合。并配合有软件开发实践课程和软件工程课程设计,基于学生已学的专业知识和技能,设计学生最初的软件开发实践并且使学生经历软件项目开发的全过程。

软件工程师年中总结范文6

软件设计师考试是计算机技术与软件专业技术资格水平考试的中级资格考试,该考试在计算机领域具有权威性。在校大学生通过报考、复习、应考软件设计师资格,在一定程度上可以拓宽他们的专业知识领域,提高他们的实践能力。在当前就业难的形势下,拥有软件设计师资格证书的大学毕业生能跨过某些就业考试的门槛,抓住工作机会,获得更好的发展。笔者有软件设计师考试的经历,总结出了一些应对软件设计师考试的方法,以期在以后的计算机专业课的教学过程中融合软件设计师知识点进行教学,以考促教,同时也希望这些方法能够对报考2014年上半年软件设计师的在校考生有一定的参考价值,使他们更有效地进行复习,顺利地通过软件设计师考试。

1 迎战软件设计师

为了能够更好地把握软件设计师的考核知识点,以便将来能够更灵活地将其融入计算机相关专业课程的教学中,笔者与本学院软件工程专业大三的一些学生一起参加了2013年下半年的软件设计师考试,获得了较好的通过率,总结下来,我们作了以下几个方面的努力。

1.1 坚定信念

报名之后,因为种种原因,考生可能会缺乏自信心,不知从何下手。此时,考生要自我鼓励,坚定考试的信心;然后,参考自身以往类似成功的经验,选择一些适合自己的复习方法;接着,根据剩余的时间做好全面的复习计划。例如,浏览所在地的软考网及相关的权威网站、逛51CTO论坛、看上学吧、咨询前辈等等。自从有了最新的2013版的软件设计师考试大纲以来,我们需关注2009年以后的相关消息,较好的网站有中国计算机技术职业资格网http://rkb.gov.cn/。因为有研究发现软件设计师的历年考试内容比较稳定,所以历年的真题非常重要,考生必须要融会贯通历年真题。

1.2 两轮复习

收集最新版的考试大纲[1]、命题组指定教程[2]、历年真题[3]、模拟练习试卷等资料,通过练习促进复习。第一轮,对照大纲,通过做各章节的真题和模拟题来促进对新知识、新考核知识点的学习。笔者先了解了大纲中标注的知识点,再做此章节练习,遇到不懂的翻看指定教程和相应的真题精解。先易后难,查缺补漏。有些题目各种参考书的答案不统一,始终没有办法理解的,要请教其他同学或相应课程的任课教师。因为软件设计师考核的知识面很广,考查掌握和运用基础知识的情况,所以一定要吃透各章节的考核要点。考虑到自己以前考试时复习过软件工程、数据结构、数据库、专业英语,对于上午试题本人花了更多的时间复习计算机组成、操作系统、计算机网络等。例如UML序列图的过程调用、消息返回、对象应实现的方法,UML活动图同时运行的最大线程数,IPV4、IPV6,多个矩阵相乘的动态规划算法等,大家认为有疑问的问题都在章节要点练习之后逐一讨论解决并做好笔记。考虑到本人以前做毕业论文时使用过数据流图和数据库设计,对于下午试题花了更多的时间复习面向对象和UML、数据结构中的算法、程序设计题(C++和Java选做)。例如背包问题、装箱问题、回溯问题、不常见的设计模式等逻辑性较强的问题都是在其他问题练习之后再逐一讨论解决的并做好笔记。讨论时,为了培养自己灵活运用基础知识解决实际问题的能力,看一些结合实际的书,如《大话设计模式》等。第二轮,通过做历年真题试卷和模拟试卷来巩固对考核知识点的把握。在模拟考试的过程中,根据考核的知识点绘制知识结构图,强化记忆。按照考试时间提前一周反复演练,提高自己分析问题、解决问题的能力。

1.3 检测自我

有些题目虽然我们会经常做但就是认识模糊,例如软件成熟度模型CMM、动态规划算法、状态设计模式和装饰器设计模式等。要找出这类薄弱环节,进行再测试再理解。

1.4 从容应战

考前调整好身体状况,应考时认真审题,先易后难。在2013年下半年软件设计师考试下午试题的试卷内容中,比以往多了几个小的问答题,这就要求考生进行全面的分析解答,以确保回答要点的完整性。

2 将软件设计师考试融入计算机专业教学

在参加软件设计师考试之前,笔者承担了软件结构与设计这门课程的教学,学生普遍认为此课程的理论课过于抽象,对此,王春林老师提出“以活动来培养兴趣”、“以考促学”、“以信息系统开发和设计来积累经验”等方案来对学生进行有效的培养[4]。笔者觉得如果自己能够把软件设计师的一部分实例作为学生学习这门课的兴趣点,并结合“以考促学”,那么学生学习的效果应该会更好一些。例如上午试题的B/S、C/S、MVC、CORBA、Web服务等常见的软件体系结构风格,下午试题的抽象工厂、策略、组合、观察者、状态等常见的设计模式。对于对以后此门课程的教学,本人准备先讲解课本上的基本知识点,然后结合经典案例和相关的真题案例,进行软件设计,最后选取某个典型的信息系统进行综合性的应用设计。在使用讲授法对知识点进行讲解的过程中,结合案例教学法和任务驱动法,补充更多的图示、数据、案例、软件设计师考题等相关材料。

2.1 软件体系结构和设计模式

软件体系结构是软件的总体框架,就好比建造房屋风格的选择。在软件开发过程中,须考虑使用何种体系结构才能保证系统的易修改性,每种应用领域到底需要什么样的构件,构件怎样设计才能保证搭配的合理性,以及构件如何修改才能保证这个系统框架不受影响等。多年来总结出了许多成熟的软件体系结构风格,其中:两层C/S是一种胖客户机——瘦服务器的工作模型,客户机侧重数据的显示和分析,服务器侧重数据的管理;B/S是三层C/S体系结构的一种实现方式,主要利用了WWW技术,结合浏览器的多脚本语言,使系统的安装、修改、维护都在Web服务器和数据库服务器上进行,是“零客户端”的运作模式;MVC提供了一个结构,用于交互应用程序的用户界面的裁剪[5]。例如2013年下半年的上午题:POP3采用C/S模式,当客户机需要接受电子邮件服务时,客户端软件(Outlook Express)与POP3服务器建立TCP连接。POP3是一种规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议,是因特网电子邮件的第一个离线标准。POP3允许用户把服务器上的邮件存储到本地主机,同时删除先前保存在邮件服务器上的邮件。POP3服务器是遵循 POP3协议的邮件接收服务器,是用于接收电子邮件的。

使用规范化的软件体系结构描述来描述系统构件之间的接口,可以帮助设计师完成设计工作。常常使用UML来描述软件体系结构。UML通过提供一些图(用例图、类图、顺序图、活动图等),使得可以通过多个视图从不同角度来描述一个系统。有时,某些对象具有生命周期,它们对应于软件的功能需求是非常重要的,但它们却很复杂,这就需要我们能够经常跟踪其状态的变化。例如2013年下半年的下午试题之UML:状态图。在设计软件体系结构时,可以使用一些设计模式(创建型设计模式、结构型设计模式、行为性设计模式),来帮助设计师选择可使系统重用的设计方案。而当我们使用领域驱动和用例驱动的方法在构造软件体系结构时都用到了领域模型[6]。领域建模(概念模型)显示最重要的业务概念和它们之间的关系的类图。例如2013年下半年的上午试题之软件工程:领域模型通常不包含操作。领域模型是真实世界的各个事物的表示,而不是软件中各构件的表示。领域模型是现实世界的一个可视化抽象字典,是没有方法的类图的集合。

3 结束语