时间:2022-05-02 05:40:19
绪论:在寻找写作灵感吗?爱发表网为您精选了1篇软件硕士毕业论文,愿这些内容能够启迪您的思维,激发您的创作热情,欢迎您的阅读与分享!
【论文摘要】本文探讨了我国教育软件工程硕士点的建设现状。文章指出,我国教育软件硕士点处在起步发展阶段,目前面临着数量少、课程体系不健全、培养模式单一等问题。文中分析了我国新时期建立和完善教育软件硕士点的必要性和可行性并提出了今后教育软件硕士点的发展道路和方向。
【论文关键词】教育软件;可行性;课程;实践
一、教育软件工程硕士点发展现状
教育软件工程属于教育技术学硕士点的一个方向,目前在我国的研究生教育中逐渐发展起来。教育技术学一般有以下几个方向:教育技术学基本理论、教育信息化、教育软件工程、知识工程、远程教育或叫网络教育、信息技术与课程整合、数字软件资源、教学系统设计等。截止2010年,我国拥有教育技术学硕士点的学校已经超过60所,但设置了教育软件工程方向的学校并不多,主要为教育信息化、信息技术与课程整合、数字资源、教学系统设计等。有的学校把教育软件工程硕士点没有放在教育学院,而是放在了其它学院。下表是对我国拥有教育软件工程方向的学校进行的统计。
从表1调研结果可以发现我国教育软件工程硕士点分布有以下几个特点:
1.教育软件硕士点的总数还很少我国硕士点中目前设置教育软件方向的高等院校总数还不超过20所。
2.“2ll”、“985”高校开设有教育软件工程硕士方向的很少。从上表可以看出,位列“985”高校的只有清华、中科大两所,位列“2l1”高校也只有清华、中科大、北邮三所。这对培养高层次教育软件人才是非常不利的。“985”、“211”高校有着良好的科研环境,是培养高层次人才,特别是与海外接轨的重要基地和摇篮。
二、开设和完善教育软件工程硕士点的必要性
教育软件硕士点是专门培养教育软件研究和开发高层次人才的,对我国教育水平的提高和教育信息化的发展具有重要的意义。教育信息化的发展包括教育硬件信息化和教育软件信息化两个方面。丰富的教育软件可以调动学生的积极性,提高教学和学习的效率教育软件资源包括各种多媒体课件,各类教育软件、教育资源库等。教育软件包括学科类教育软件和教育管理类软件等。学科类软件包括数学、英语等学科类教育软件。教育管理类软件主要包括教务管理软件、考试系统等校园管理类软件,还有国家管理系统。教育软件从用户角度可以分为课堂教学软件和个人使用软件等。
袁振国在《教育研究方法》中说:“这就注定了班级授课制一开始就种下了教育的一系列祸根:非针对性、去个性化。”教育软件可以实现个性化教学。学生个人可以自由使用教学软件,不断加深对知识的理解和提高学习的效率。例如,学习函数图象的性质,学生可以使用软件例举很多实例,既加深了对函数图象的理解,又开拓了视野。
教学软件的多媒体特性可以充分调动学生的积极性和增加课堂教学的趣味性。目前我国学生普遍对学习缺乏兴趣,教育软件的使用对调动学生的积极性将起到一定的推动作用。通过大量高水平多媒体教育软件的开发和使用,不断提高教学的效果和提高学生的成绩。
教育软件中很重要的一类是教育管理软件。教育管理软件在我国教育管理中扮演了非常重要的角色。教育管理软件在我国学校被广泛应用。教育管理软件对我国教育实现科学化、正规化起到了非常重要的作用。通过开发和使用高水平的教育管理软件系统,不断解决我国目前教育管理涌现出来的问题,不断提高我国教育管理的效率。
但是目前我国软件科学的发展是很落后的,大量的技术都是从美国等先进国家引进的。据调查,我国软件业的发展每年都缺乏大量的软件开发和研究人才。硕博教育是我国培养大量软件开发和研究高层次人才的一个重要手段。
从上述分析来看,教育软件方面高层次人才是需要的,我国需要培养出大量高层次教育软件人才,不断完善教育软件学科的建设是我们面临的紧迫任务。
三、建设教育软件硕士点的时机和可行性研究
1.建设教育软件硕士点的时机
2010年6月21日中共中央政治局通过了《国家中长期教育改革和发展规划纲要(2010-2020年)》。《纲要》中对教育软件资源方面提出了明确的要求:
(六十)加强优质教育资源开发与应用。加强网络教学资源体系建设。引进国际优质数字化教学资源。开发网络学习课程。建立数字图书馆和虚拟实验室。建立开放灵活的教育资源公共服务平台,促进优质教育资源普及共享。创新网络教学模式,开展高质量高水平远程学历教育。继续推进农村中小学远程教育,使农村和边远地区师生能够享受优质教育资源。
(六十一)构建国家教育管理信息系统。制定学校基础信息管理要求,加快学校管理信息化进程,促进学校管理标准化、规范化。推进政府教育管理信息化,积累基础资料,掌握总体状况,加强动态监测,提高管理效率。整合各级各类教育管理资源,搭建国家教育管理公共服务平台,为宏观决策提出科学依据,为公众提供公共教育信息,不断提高教育管理现代化水平。
《大纲》的通过,为我们新时期教育软件资源的建设提供了方向和良好的时机。我们可以抓住这个时机,不断推进教育软件工程硕士点的建设。
2,可行性分析
985院校有国家的大力扶持,建设教育软件工程硕士点是可行的。随着通信网络技术的不断发展,软件方面的人才也越来越多,在建设教育软件工程硕士点的人员配置方面也是可行的。
四、教育软件硕士点建设研究
1.数量增加
在未来的十年内,争取在“985”院校中开设有教育软件工程硕士点的学校增加到10所以上。以“985”院校带动其它高校的发展。
2.课程的设置
软件方面国外发展的脚步远远领先中国,所以引入一些国外原版教材是必要的。
我国的教育技术学教育软件工程方向硕士点的发展还处于起步阶段,笔者对国内教育技术学教育软件工程方向课程设置进行了调研,比较有代表性的是清华教育研究院和北京邮电大学网络教育学院的教育技术学教育软件工程方向清华大学和北京邮电大学的软件学科排名处在全国前列。
笔者发现,即使是软件学科在全国处在全国领先的水平,但教育技术学的教育软件工程方向的建设还很不健全。一方面软件方面的课还偏少,另外一方面实践环节安排的太少。
(1)软件方面的课程偏少
笔者对北京邮电大学教育技术学培养方案的调研来看,北京邮电大学软件工程方面的课程包括数据库原理、面向对象的技术与c++编程、软件工程实践、java技术、数据结构。清华大学教育研究院教育技术学还没有相关的专门软件课程。北京师范大学教育学部教育技术学专业硕士点设置了计算机软件与理论专业,软件方面的课程包括教学软件设计与开发一门课。为了提高培养质量,需要增加一些软件方面的其它课程。兰州大学在设置教育软件硕士点的时候开设了很多软件课程包括教育软件基础(1inux)、软件工程导论、vb程序设计、网络系统规划与设计、数据结构与算法分析、java程序设计、软件体系结构、软件项目管理、软件开发过程及配置管理、软件构件与中间件技术、教育软件制作实践等。这样的课程设置相对比较齐全。
(2)实践环节不足
培养高层次教软件人才需要不断增加学生的动手实践训练,增加实践课的时问,不断提高实践课的质量和增强实践课的效果。北京邮电大学教育技术学专业教育软件工程硕士点实践课包括而向对象的技术与c十+编程、软件工程实践。清华大学教育研究院实践课只有一门课社会实践。兰州大学实践课包括教育技术综合实验、教育软件制作实践、信息化教学实践。一方面,很多高校教育软件硕士点实践课的时间短、种类少。另外一方面,实践课不被重视,上课效果根本达不到预期效果。要严格制定实践内容的计划和任务。实践课一般包括程序设计实验、软件文档书写实验、教育软件工具使用等。我国目前实践课的建设还处于初建阶段,需要不断探索实践课的教学规律和教学模式。实践课的学分比例和考核机制需要不断探索。需要不断增加实践课的比重。建立健全实践课的考核机制很重要,有了很好的考核机制,学生实践的动力就会得到增强。
3.实践基地的建设
(1)软件工程实验室的建立
培养教育软件高层次人才,实践是非常重要的一环。对于软件工程来说,建设软件工程实验室是必要的。软件工程实验室可以说是很重要的一个实践基地。
软件工程程实践课程的设计目标是培养学生的团队合作级工程项目研发能力,让学生在团队环境下使用最新的软件开发工具获得较真实的软件开发经验,提高学生存项目规划、队伍组织、工作分配、成员交流等多方面的能力,培养积极向上的合作精神。
软件工程实验室的建设目标是给学生提供~个团队环境,让学生应用最新的软件开发工具获得尽可能真实的团队软件开发经验。在实验项目的安排上尽餐模拟真实世界软件开发开发巾可能遇到的问题,在受控的情况下培养学生对这些问题的解决能力。
我国比较著名的软件工程室有武汉大学软件工程实验室、复旦大学软件工程实验室等。
软件工程实验室的建设一般包括需求分析平台、设计平台(包括概要设计和详细设计)、编程平台、测试平台、计算平台等。所配置的软件一般包括绘图工具microsoftvisio2003,项目管理工具project,ultraedit编辑器,软件配置管理工具cvs,powerdesigner等。
我们要不断建立健全实验室的配置,不断提高实验室的管理水平,不断提高实验室的利用效率。
(2)鼓励学生参与实践项目
鼓励学生和企业共同开发软件项目。鼓励学生参与导师课题。对学生的参与给予一定的报酬和奖励。
4.不断创新培养模式
我们要不断建立健全奖励机制,不断鼓励学生参加各种计算机竞赛和其它大赛,例如计算机程序设计大赛,多媒体课件制作大赛等。鼓励学生开展研究,发表学术论文,参加国际学术会议,不断培养学生的创新能力和开拓学生的视野根据竞赛获奖或者发表的学术论文等科研成果的级别给予不同的奖励,以不断提高学生参与科研的热情。要举办学术论坛,增加学生的交流机会,同时让导师也参与进来。
要不断增加研究生培养经费。我国目前存在着人均研究生的培养经费偏低的问题。导师带的学生偏多也是我国研究生教育目前面临的问题之一。导师带的学生过多会导致对学生个人的培养不足,从而导致培养质量下降等后果。
要不断进行三螺旋理论在软件工程硕士生培养中的应用三螺旋理论在软件工程硕士生培养中的应用主要指的是实现政府、企业、学校三方的密切配合,为培养高质量的研究人才而相互合作,发挥各自优势。
让我们在科学发展观的指引下,不断推动我国的软件学科建设,特别是研究生教育,为我国经济社会的发展做出新的贡献。
软件工程硕士研究生主要由软件工程、计算机科学与技术、计算机相关专业本科毕业生以及具有良好软件工程基础的其他专业学生和具有实际工作经验的在职人员组成。通过硕士研究生阶段的培养,学生知识结构和能力结构得到全面提升与完善,掌握软件工程学科的相关理论和工程技术,具有工程问题求解能力和企业经历,成为服务软件产业的合格软件工程人才。哈尔滨工业大学软件学院(简称“哈工大软件学院”),利用国际化的办学条件和校企合作工业化的办学方式,使学生在一定程度上接受国际化的教学与实践,以达到国际化、工业化人才的要求。
1构建软件工程硕士课程体系框架
哈工大软件学院软件工程硕士的培养目标是培养学生掌握软件工程领域的基础理论、先进技术方法和手段,具备独立承担软件工程技术工作的能力、组织和管理专门技术工作的能力,同时具有较丰富的、与国际接轨的学习训练经历,工程实践经验,企业经历和良好的职业素质;使其树立科学的世界观与方法论,品行优良,身心健康,成为具有国际竞争力的软件产业高级人才,为进一步成为软件产业领军人物(高层技术人才与管理人才等)奠定坚实的基础。面向企业,综合考虑软件系统分析与设计能力、项目管理能力、企业管理能力、组织与沟通能力、团队合作能力等方面的需求,根据学科专业方向的设置,按照“模块化知识体系与能力体系相结合,体现国际化与工业化特色”的原则,我们制订了软件工程硕士课程体系框架结构,如表1所示。软件工程硕士课程体系框架针对培养目标和企业的需求,对能力培养的具体目标进行模块划分,横向构造“6个能力层面”;纵向根据专业方向划分为多个能力域,形成多个能力培养模块。软件工程硕士的专业方向应紧跟行业需求,灵活设置。近几年,哈工大软件学院先后设置了网络与信息安全、语言处理与信息检索、数字化企业与电子商务、嵌入式系统与软件、物联网工程和移动互联等专业方向。在专业要求方面,全日制学生必须修满32学分;在职学生必须修满35学分。软件工程硕士研究生学制2~4年,在校学习1年,修满规定的学分,包括参加企业实训3周;实习基地实习1年,结合企业项目,完成学位论文。企业实习期间实行双导师制,校内导师和实习单位导师分别指导项目开发和学位论文撰写工作。校内学习与企业实训交叉进行,校企合作,产学研结合,联合培养软件工程专业硕士。
2组建专兼职结合的国际化、工业化高水平师资队伍
构建3支师资队伍,每支队伍30人左右。建立以工业型师资为核心的专兼职师资队伍,形成工业型专职教师、校内及国内外兼职教师相结合的师资队伍结构,是实现国际化、工业化培养目标的重要保证。第一支是以工业型师资为主的专职教师队伍。这些专职教师多数来自工业界、国外著名大学或国内外IT企业等。其中除任课教师外,还设若干专职实验教师岗位。实验教师主要负责专业课的实践环节教学,包括实验设计与指导、上机指导、课程设计和毕业设计等实践教学环节,同时实验教师还负责TA(实验辅导教师)的培训及管理工作。第二支队伍由计算机科学与技术学院和管理学院认证并聘请的校内兼职教师组成。他们主要负责软件学院的基础课、计算机专业基础课和管理系列课程的教学任务。第三支队伍由来自国外高校或国内外知名IT企业兼职教师构成。他们来自行业前沿,掌握国内外最先进的软件开发技术和人才培养经验,了解企业最新的技术需求。他们在承担软件学院的软件工程类、软件工具平台类的课程部分教学任务的同时,作为双导师制的企业导师,在研究生的工业实践、毕业设计、学位论文的指导中发挥重要的作用。以工业型专职教师为主、校内兼职基础型教师为辅、国内外兼职教师相结合的师资队伍结构,可以满足软件工程硕士国际化、工业化的人才培养需求。
3校企合作,加强企业实践教学
建立完善的工业型软件人才培养体系,包括工业型人才培养方案、课程体系与教学大纲、质量保证体系、工业化教学方式、技能实验与大作业、综合设计与企业实训、工业实习与学位论文、校企联合实验室与实习基地建设等环节,将“工业化,个性化,精英式”的办学理念贯穿于人才培养的全过程。在校软件工程硕士第1学年寒假要到企业参加为期3周的实训。实训由学院统一带队组织,实行半封闭式管理。期间接受企业培训,在企业导师的指导下分组完成指定的项目。通过强化训练,学生可以了解企业的项目开发流程,学习运用所学理论解决实际问题的方法,发现学习中的不足和技术上的差距,对后续学习起到引导和促进作用。第2学年,学生到实习单位实习并根据实习期间的实践工作内容撰写学位论文。对硕士毕业论文的要求是:具有系统性和完整性,能表明作者具有一定的独立工作能力;理论联系实际,应用所学的理论知识解决实际工作中的关键问题;具有实用性且必须包含一定的工作量。取得的成果要有一定的先进性,要能表现出学生具有综合运用所学知识解决工程实际问题的能力。从2002年至今,哈工大软件学院建立了完善的工业实习管理制度,在国内外建立工业实习基地70余个,实际接收学生实习的企业达200余家。工业实习基地的建设有效保证了工业化人才培养的质量。为加强与企业界的沟通,了解企业需求,完善培养体系,提高学生工业实习质量和加强工业实习管理,学院定期举办“工业化人才培养与企业合作高级研讨会”,与企业界人士研究和探讨工业化人才培养中的合作问题,企业参与意识很高,取得了较好的效果。
4与国外大学合作,联合培养软件工程硕士
通过对软件工程国际化人才特点及成长规律的研究,我们对软件学院国际合作办学模式开展了学科专业、教学体系、合作形态、组织方式、国际文化交流等层面的前瞻性研究,率先提出并建立了特色鲜明的多国联合办学、多学科交叉渗透、多国文化融合的,培养高层次、复合型软件工程人才的国际化联合教育模式。哈工大软件学院与法国波尔多第一大学、法国克莱蒙-费朗第二大学、德国柏林工业大学、爱尔兰都柏林工业大学、爱尔兰国立都柏林大学、美国Embry-Riddle大学、意大利帕维亚大学、瑞典林雪平大学、日本会津大学等合作,采用哈工大软件工程硕士专业学位(MSE)+合作方硕士学位(X)的“MSE+X”模式,联合培养硕士研究生。培养过程共分4个学期。第1学期,学生在各自学校学习;第2学期,外国学生来哈尔滨工业大学,与哈工大学生合班学习;第3学期,中外学生一起去合作方学校学习;第4学期,学生自选在国内、外企业实习、撰写学位论文、答辩毕业,哈工大与国外大学分别颁发硕士学位证书。跨国联合培养班的全部课程采用英语教学,实行三导师制,由国内、国外大学和企业导师共同指导。为加强交流,每年举办一次“中欧软件工业教育国际研讨会”,来自海内外的高校教师、企业界朋友在一起交流经验,共同探讨国际环境下人才培养的相关问题。多国联合培养软件工程硕士实现了国际化与工业化办学理念的教育模式与教学体系的设计与实践,软件工程国际化人才的跨国联合培养模式及实践,面向企业人才需求的教学与工业实习,国际化师资与专家队伍建设,教育质量保障体系建设与管理及跨文化的融合等目标。
5完善质量保障体系,加强过程管理借鉴
欧美教学质量保证的成功经验,哈工大软件学院建立完善且适合自身特点的国际化、工业化人才培养质量保证体系。学院成立教学指导委员会和教学督导委员会,在各个培养环节上严把质量关,把规定、培训、预防、跟踪、反馈、控制等质量保证活动渗透到教学执行过程中的每个环节。加强实践教学环节的监督检查,有效保证教学质量和人才培养质量的稳步提高。为提高软件工程硕士的指导质量,学院成立了若干个指导教师组,每个指导教师组负责一个专业方向的硕士指导,设组长1人,负责本组指导教师的组织和督导。每名硕士研究生指导教师每年指导的硕士研究生不超过4人。学院组织专家组审核学位论文。只有通过了专家组的审核,学生方可申请学位论文答辩。另外,硕士研究生开题、中期检查和结题验收、论文等环节也有详细的规章制度、严格的过程管理,这是提升硕士研究生培养质量的有效手段。
6成果与特色
在软件工程硕士研究生培养的实践中,哈工大软件学院在以下几个方面取得了优异的成绩,形成了自己的特色,积累了丰富的经验。(1)面向软件产业的人才需求,校企合作,形成较为完善的应用型硕士研究生的工业化人才培养体系,开展多种形式的校企合作,建立有自身特色、符合国际化标准、满足软件企业需求的工业化人才培养计划。(2)创立软件工程国际化人才培养模式和教育体系;实现“跨学科融合,双边对等招生,联合培养,融合文化”的“MSE+X”软件工程硕士跨国联合培养模式,为学生提供国际化学习环境。(3)建立与国际接轨的办学机制和教育质量保证体系,实施课程考核累加计分制等教学管理新制度。(4)培养了一大批具有国际竞争力、满足企业需求的高级软件人才。
7结语
经过10余年的探索与实践,哈工大软件学院在广泛开展校企合作和国际交流的基础上建立起较完善的国际化、工业化软件工程硕士研究生培养体系。在培养过程中实施严格的过程管理,学院在软件工程硕士人才培养方面积累了一定经验,取得较好的成果。随着软件工程理论与技术的发展,特别是产业人才需求的变化,软件工程硕士的培养模式与培养体系仍需进一步完善,以适应新的人才培养需求。
作者:黄虎杰 马培军 单位:哈尔滨工业大学软件学院
一、一种实用的软件工程全日制工程硕士培养
在软件工程工程硕士培养的诸多问题上,做了一些有益探索与研究,针对性地提出了一套适合于省属高校软件工程全日制工程硕士培养的解决方案,希望能为同类型高校提供人才培养的借鉴。研究生培养方案的制定,重点需要解决课程体系设置、培养流程规划与控制。对专业学位研究生而言,还需要解决专业实践能力的培养与训练这一关键问题。
1.课程体系设置软件工程学科正式确立的两个标志性文件是2004年IEEE推出的软件工程知识体(SWEBOK)和软件工程教育知识体(SEEK)。两个文件内容相近,都包含了软件工程核心类的知识领域、基础类或前导类的知识领域,以及其他相关领域的知识[4]。软件工程研究生的培养从原则上说应遵循上述两个文件,围绕上述知识领域进行教学。但由于这两个文件将软件工程的知识体系划分为知识点,各领域之间必然存在重复和交叠。在课程设置上无法照搬上述两个文件。以SEEK为基础,我们对软件工程的课程设置进行规划。整个课程设置被分为五个层次,分别为工程基础课程、计算机基础课程、软件工程核心课程、扩展课程和实践课程,如图1所示。课程开设顺序大体按照五个层次由低到高依次开展。其中,工程基础课程提供软件工程所需数学理论基础、外语能力培养、软件工程文档写作、论文写作基本功训练。计算机基础课程提供软件开发必须的计算机基础知识,如网络、算法和数据库知识。相对于本科课程而言,此类课程讲授内容更深入全面。软件工程核心课程设置了高级软件工程、软件体系结构和软件测试与质量保证三门课程。高级软件工程侧重于软件分析与设计、软件工程过程、软件开发案例分析。软件体系结构侧重于结构风格、案例研究、共享信息系统、结构描述、结构的分析与评估、特定领域的软件体系结构和流行的软件体系结构等。软件测试与质量保证着重于软件质量的改进,讨论如何提高软件质量的方法。扩展课程包含系列领域知识课程,研究生可根据研究方向选择两门;软件开发工具讲授最新流行的软件开发、过程管理所需要的软件工具的使用,以实践教学为主。软件开发新技术研讨课程以讲座形式开展,教师和学生均可作为一个专题的主讲。实践课程包含校内实践、校外实践和毕业设计三个环节。
2.培养流程与实施教育部明文规定,专业学位研究生学制原则上为两年,同时要求应届本科生进行专业实践不少于一年。一般来说,研究生在校课程学习时间应有一年左右,加上专业实践的一年,如何合理安排学习计划,在两年内完成培养环节成了一个现实的重要问题。我校以周为单位制定了四川师范大学软件工程专业学位研究生培养流程,如表1所示:上表规划了研究生培养中的几个关键环节,依次为报到入学、课程学习、校内实践、校外实践、开题、毕业设计、论文写作和送审答辩。第一学期研究生主要是课程学习,同时在校内导师指导下开展文献阅读和编程能力锻炼。第二学期前半学期结束理论课程的学习。后半学期和暑期开展校内实践和毕业设计开题工作。第三学期研究生到实习基地进行校外实践。从第二学期后半段和整个第三学期,学生在专业实践的同时,需完成毕业设计。从第二个寒假开始直到第四学期前六周,研究生完成毕业论文的初稿。从第七周开始,进行论文修改、、盲评和答辩工作。从培养流程表可以看出,这种安排具有两个显著特点。一是理论课程学习安排在一个半学期完成,二是实践课程分为校内实践和校外实践。研究生理论课程学习任务并不重,完全可压缩到一学期半,同时可为实践提供更多时间。校内实践非常有必要。由于是省属高校学生大多能力一般,为保障学生进入企业能融入研发团队从事技术工作,必须先期培训其实践能力。这种安排时间较为紧凑,也比较合理,符合专业学位研究生侧重于实践能力培养的要求,也在两年的学制内确保了研究生的实践时间不少于36周。
二、专业实践能力的培养与训练
软件开发能力是软件工程专业硕士必备的核心能力,其能力培养既是对前端课程学习效果的检验,也是后端毕业设计和就业的必然需要。我校将软件工程专业硕士实践能力培养融入了众多环节。从前期的实验型课程教学,到中期的校内实践、再到后期的校外实践和毕业设计。实验型课程教学解决软件设计开发的基础技能,校内实践解决中小规模软件设计开发能力,校外实践和毕业设计解决中大规模软件设计能力。
1.实验型课程教学包含软件工具的使用训练、软件开发环境的搭建、软件开发案例分析和新技术研讨。软件工具的使用训练学生单个软件开发工具的使用,如项目管理软件Project、开发文档化软件Rational、软件测试工具LOADRUNNER、QTP、TD等。由于这些工具结构分散,还需进行开发环境的搭建训练。开发环境搭建训练内容一为搭建基于微软的VSTS和VisualStudio的开发平台,适合.net方向;内容二位、为搭建基于IBMRSA和Eclipse的开发平台,适合J2EE方向。软件开发案例分析中研究生将自己放在决策者的角度来思考项目所涉及到的具体问题,增强了学生的实际应对能力。新技术研讨促进学生或主动或被动地掌握了一些新兴技术,拓宽了技术领域。
2.校内软件开发实践采用项目驱动形式开展。要求研究生必须申报各类实际的软件开发项目,如四川省苗子工程、学校研究生科研创新项目、学院研究生科研创先项目。研究生可组织本科生参与项目实施,但必须任项目组长,在项目中担任核心角色,完成软件需求文档审定、软件架构设计、软件详细设计、大部分编码工作、测试方案制定等重要工作。
3.校外软件开发实践在上述环节经历后,研究生已经掌握中小规模软件开发的基本技能,此时将研究生派到实习基地,实战参与企业软件开发项目。其实践由校内导师和企业导师共同负责。前期技能的培养已保证研究生胜任企业中一般性的软件开发角色。
4.毕业设计研究生在校内和校外实践的36周中,还需要同时进行毕业设计的开题、实施。研究生可结合企业实习工作完成毕业设计。专业实践的考核分为定期汇报和实践环节结束汇报两种形式。研究生应每隔两个月集中汇报一次实习期工作心得,取得的成绩等。实践结束时在全院公开汇报,其成绩作为实践课程成绩。
三、结论
四川师范大学针对现有的培养模式存在专业定位不清晰、师资不足、课程设置陈旧等问题,根据学校学科特点和力量,实现了一套比较适合于省属高校软件工程专业学位研究生培养的解决方案,包括五个层次的课程设置体系、合理地流程安排和实践教学的环节设置。该方案在学校研究生培养中实行以来,研究生专业实践能力有了较大提高。2011年在四川省苗子工程中获得了一项重点项目和四项一般项目支持。该方案尚有一些不完善之处,例如实践教学环节质量的中间控制、过程控制,尚需进一步建立系列制度和规定,确保实践教学的质量。
作者:李晓宁 袁丁 单位:四川师范大学
一、省属高校软件工程全日制工程培养模式存在的问题与分析
省属高校的软件工程专业多脱胎于计算机科学与技术学科,在研究生人才培养模式上受限于计算机科学与技术研究生培养模式。部分高校甚至于采用同计算机专业研究生实施无差别培养方式,这一根本性原因带来诸多问题。
1.人才培养方向目标定位不清晰
软件工程专业硕士应当仅限于软件工程师的培养。软件工程具有极强的工科属性,其人才培养,除软件工程科学硕士和计算机科学技术一样,可培 研究型人才外,专业学位应当清晰定位于培养具有软件工程必备基础知识,在软件工程某一领域具有较强专业知识与技能的工程师。
2.师资比较缺乏,尤其是双师型师资缺乏
软件工程正式成为独立的学科时间相对较短,软件工程师资大多来源于计算机科学与技术专业。计算机科学与技术专业可以胜任软件工程基础课程,但这部分教师往往缺乏工程实际经验,在教学中往往表现为重理论轻实践。省属高校十分缺乏来自软件企业一线的项目经理以上的技术管理人员充任实践课程教师。
3.培养模式陈旧,不适应国家教育部要求
由于全日制软件工程专业学位研究生2009年才在全国开展,很多高校沿用学术型学位研究生培养模式,忽视了国家对专业学位研究生培养要求中的专业实践能力的培养,未能很好地开展专业实践教学。
4.课程设置陈旧,不适应软件企业的人才需求
大多数高校软件工程研究生课程设置大多套用计算机科学与技术专业的课程设置,未体现软件工程学科特点。原因主要是因为师资缺乏、招生规模较小,出于节约培养成本的考虑。
二、一种实用的软件工程全日制工程硕士培养解决方案
四川师范大学作为四川省属高校中最早开设计算机科学与技术、软件工程本科生培养的院校之一,在软件工程工程硕士培养的诸多问题上,做了一些有益探索与研究,针对性地提出了一套适合于省属高校软件工程全日制工程硕士培养的解决方案,希望能为同类型高校提供人才培养的借鉴。研究生培养方案的制定,重点需要解决课程体系设置、培养流程规划与控制。对专业学位研究生而言,还需要解决专业实践能力的培养与训练这一关键问题。
1.课程体系设置
软件工程学科正式确立的两个标志性文件是2004年IEEE推出的软件工程知识体(SWEBOK)和软件工程教育知识体(SEEK)。两个文件内容相近,都包含了软件工程核心类的知识领域、基础类或前导类的知识领域,以及其他相关领域的知识。软件工程研究生的培养从原则上说应遵循上述两个文件,围绕上述知识领域进行教学。但由于这两个文件将软件工程的知识体系划分为知识点,各领域之间必然存在重复和交叠。在课程设置上无法照搬上述两个文件。以SEEK为基础,我们对软件工程的课程设置进行规划。整个课程设置被分为五个层次,分别为工程基础课程、计算机基础课程、软件工程核心课程、扩展课程和实践课程,如图1所示。课程开设顺序大体按照五个层次由低到高依次开展。其中,工程基础课程提供软件工程所需数学理论基础、外语能力培养、软件工程文档写作、论文写作基本功训练。计算机基础课程提供软件开发必须的计算机基础知识,如网络、算法和数据库知识。
相对于本科课程而言,此类课程讲授内容更深入全面。软件工程核心课程设置了高级软件工程、软件体系结构和软件测试与质量保证三门课程。高级软件工程侧重于软件分析与设计、软件工程过程、软件开发案例分析。软件体系结构侧重于结构风格、案例研究、共享信息系统、结构描述、结构的分析与评估、特定领域的软件体系结构和流行的软件体系结构等。软件测试与质量保证着重于软件质量的改进,讨论如何提高软件质量的方法。扩展课程包含系列领域知识课程,研究生可根据研究方向选择两门;软件开发工具讲授最新流行的软件开发、过程管理所需要的软件工具的使用,以实践教学为主。软件开发新技术研讨课程以讲座形式开展,教师和学生均可作为一个专题的主讲。实践课程包含校内实践、校外实践和毕业设计三个环节。
2.培养流程与实施
教育部明文规定,专业学位研究生学制原则上为两年,同时要求应届本科生进行专业实践不少于一年。一般来说,研究生在校课程学习时间应有一年左右,加上专业实践的一年,如何合理安排学习计划,在两年内完成培养环节成了一个现实的重要问题。我校以周为单位制定了四川师范大学软件工程专业学位研究生培养流程,如表1所示:上表规划了研究生培养中的几个关键环节,依次为报到入学、课程学习、校内实践、校外实践、开题、毕业设计、论文写作和送审答辩。第一学期研究生主要是课程学习,同时在校内导师指导下开展文献阅读和编程能力锻炼。第二学期前半学期结束理论课程的学习。后半学期和暑期开展校内实践和毕业设计开题工作。第三学期研究生到实习基地进行校外实践。从第二学期后半段和整个第三学期,学生在专业实践的同时,需完成毕业设计。从第二个寒假开始直到第四学期前六周,研究生完成毕业论文的初稿。从第七周开始,进行论文修改、、盲评和答辩工作。
从培养流程表可以看出,这种安排具有两个显著特点。一是理论课程学习安排在一个半学期完成,二是实践课程分为校内实践和校外实践。研究生理论课程学习任务并不重,完全可压缩到一学期半,同时可为实践提供更多时间。校内实践非常有必要。由于是省属高校学生大多能力一般,为保障学生进入企业能融入研发团队从事技术工作,必须先期培训其实践能力。这种安排时间较为紧凑,也比较合理,符合专业学位研究生侧重于实践能力培养的要求,也在两年的学制内确保了研究生的实践时间不少于36周。
三、专业实践能力的培养与训练
软件开发能力是软件工程专业硕士必备的核心能力,其能力培养既是对前端课程学习效果的检验,也是后端毕业设计和就业的必然需要。我校将软件工程专业硕士实践能力培养融入了众多环节。从前期的实验型课程教学,到中期的校内实践、再到后期的校外实践和毕业设计。实验型课程教学解决软件设计开发的基础技能,校内实践解决中小规模软件设计开发能力,校外实践和毕业设计解决中大规模软件设计能力。
1.实验型课程教学
包含软件工具的使用训练、软件开发环境的搭建、软件开发案例分析和新技术研讨。软件工具的使用训练学生单个软件开发工具的使用,如项目管理软件Project、开发文档化软件Rational、软件测试工具LOADRUNNER、QTP、TD等。由于这些工具结构分散,还需进行开发环境的搭建训练。开发环境搭建训练内容一为搭建基于微软的VSTS和VisualStudio的开发平台,适合.net方向;内容二位、为搭建基于IBMRSA和Eclipse的开发平台,适合J2EE方向。软件开发案例分析中研究生将自己放在决策者的角度来思考项目所涉及到的具体问题,增强了学生的实际应对能力。新技术研讨促进学生或主动或被动地掌握了一些新兴技术,拓宽了技术领域。
2.校内软件开发实践
采用项目驱动形式开展。要求研究生必须申报各类实际的软件开发项目,如四川省苗子工程、学校研究生科研创新项目、学院研究生科研创先项目。研究生可组织本科生参与项目实施,但必须任项目组长,在项目中担任核心角色,完成软件需求文档审定、软件架构设计、软件详细设计、大部分编码工作、测试方案制定等重要工作。
3.校外软件开发实践
在上述环节经历后,研究生已经掌握中小规模软件开发的基本技能,此时将研究生派到实习基地,实战参与企业软件开发项目。其实践由校内导师和企业导师共同负责。前期技能的培养已保证研究生胜任企业中一般性的软件开发角色。
4.毕业设计
研究生在校内和校外实践的36周中,还需要同时进行毕业设计的开题、实施。研究生可结合企业实习工作完成毕业设计。专业实践的考核分为定期汇报和实践环节结束汇报两种形式。研究生应每隔两个月集中汇报一次实习期工作心得,取得的成绩等。实践结束时在全院公开汇报,其成绩作为实践课程成绩。
四、结论
软件工程专业学位研究生的培养,在学科教育与培养面向市场需求的人才方面有着事实上的矛盾。四川师范大学针对现有的培养模式存在专业定位不清晰、师资不足、课程设置陈旧等问题,根据学校学科特点和力量,实现了一套比较适合于省属高校软件工程专业学位研究生培养的解决方案,包括五个层次的课程设置体系、合理地流程安排和实践教学的环节设置。该方案在学校研究生培养中实行以来,研究生专业实践能力有了较大提高。2011年在四川省苗子工程中获得了一项重点项目和四项一般项目支持。该方案尚有一些不完善之处,例如实践教学环节质量的中间控制、过程控制,尚需进一步建立系列制度和规定,确保实践教学的质量。
作者:李晓宁袁丁单位:四川师范大学
1数字图像处理教学方法设计
针对培养学生应用型研究能力的目标,我们在教学方法设计上本着激发学生的学习兴趣,开阔学生眼界,给学生提供更自由的思考空间的原则,通过下面两个措施来实现我们的目标。
1.1精心选择案例
选择的案例要贴近实际生活,并与课堂上讲授的方法紧密衔接。例如,在讲解图像增强和复原这两章之后,我们引入在实际生活中常见的“图像去雾”问题,通过如下方法,培养学生研究能力。
(1)要求学生先尝试用学过的算法来解决这个问题,并在课堂进行算法讨论,给出算法结果。
(2)要求学生针对具体问题,查阅文献资料,了解别人的解决方法。通过查阅国内外的文献资料,同学们知道了如何根据关键词查询科研论文,了解哪些电子数据库中有与专业相关资料,知道了文献的级别有SCI、EI、核心期刊、一般期刊等。
(3)学生将查到的算法进行分类和总结,撰写文献综述。
(4)每位学生都需要编程实现“图像去雾”算法,这个算法是结合自己的思考、实践以及查阅文献的结果。通过自己动手,同学们发现如果图像的清晰度不好,有噪声,或者没有归一化,结果就完全不同。通过自己动手验证,同学们会发现图像处理领域的一个最为重要的特点——任何算法主要都是针对一类图像或是针对一类问题而设计的,因此在算法的适应性上需要有所考虑。
1.2全面介绍图像处理的各个应用领域
老师在课堂上介绍几个图像处理涉及的较为重要的应用方向(如视频监控、图像检索、人脸识别、运动检测、车牌检测等)后,将同学们进行分组,每组负责查找一个应用方向的相关资料,讨论和汇报自学的结果。汇报内容主要包括:①应用方向的介绍;②涉及的主要问题;③目前的解决方法及应用成果。通过查找文献,同学们不仅对课上学习过的经典算法有进一步了解,同时还接触到很多新算法。通过听取各组汇报,同学们在较短的时间里,了解了图像处理涉及的多个主要的应用领域。针对每个应用研究领域,老师引导学生分析该领域的难点和重点,提出问题,再让学生思考解决方案,没有标准答案,只希望能够锻炼学生的思考能力。以“人脸识别”为例,有很多经典的或较新颖的算法,老师会结合应用领域对其中常用的或比较重要的算法,如PCA方法和Adaboost算法,进行详细讲解,使学生全面了解图像处理算法的应用领域。
2数字图像处理实验内容设计
针对培养学生的应用技术能力的目标,同时考虑到本课程实验学时数较少,我们设计了两个实验——基础性实验和综合性实验。
2.1基础性实验
目前很多经典的图像处理算法是用VC++程序实现的,我们要求大家学会读程序,能够看懂已有的算法实现程序,并在此基础上能开发新的功能。实验一:实现对多种图像格式的支持(2学时)实验内容:采用VC++编码实现,基于CDib类,添加支持打开,并保存多种图像格式的功能,包括JPEG和GIF。实验要求:利用学习的图像压缩的知识,利用现有的编码解码库实现对JPEG和GIF图像的打开和保存。实验目的:了解多种图像格式,编写针对多种图像格式的读写程序,能够进一步理解针对图像的编程的特点,同时也进一步了解开发图像应用程序的适应性问题。
老师在课程初期会向大家介绍图像处理的一个公开库——CDib类。该类很好地封装了图像的数据结构,涉及很多图像的基本操作。我们知道现实生活中的图像常常都是压缩格式的,如BMP、JPEG、PNG、GIF等。因此在讲完图像的压缩格式后,对照讲过的BMP图像结构,老师要求学生为CDib类添加能够支持多种图像格式的功能。以GIF图像为例,它不同于如JPEG、PNG等格式,GIF采用的是LZW压缩算法,使用的是无损压缩技术。GIF图像的特点是可以一次压缩多幅图像,图像颜色表控制为256色,使用渐显方式。
3.2综合性实验
针对综合性实验,我们会拟定多个题目让学生选择,如树叶提取、花朵提取、车牌识别等。实验二:数字号码图像的识别(6学时)实验内容:采用VC++编码实现,基于CDib类,针对数字号码图像,识别出数字,给出文本显示结果。实验要求:将该题目进行分解,划分任务;组内每个同学负责一部分任务的编程工作;每个人针对自己负责的工作至少提供两种实现方法,并放入整个项目流程中验证这两种方法的有效性;最后总结出两种方法的异同以及适应的范围。实验目的:考查学生对数字图像处理应用中每个步骤的掌握程度和项目合作沟通能力。上述实验涉及以下几个步骤。①图像的预处理;②图像的分割;③图像的特征提取;④图像的分类。组中每个学生负责一个步骤,所有步骤都需要尽心设计,这样整体的效果才可能最好。同时大家需要协商各自负责模块的入口和出口的数据结构,保证数据能够在模块之间顺利流转。这种协商和分工合作的能力是软件工程专业最需要的技术能力之一。
以“数字号码图像识别”为例,该题目可以分割成4个步骤:预处理、数字图像切分、数字图像特征提取和数字识别。在每个步骤中都有分别需要注意的问题,如在预处理阶段,需要对图像进行去噪声,增强对比度,甚至需要进行膨胀和腐蚀将图像中断裂的数字部分连通起来;在数字图像切分阶段需要制定适应性广泛的切分策略来应对各种情况,如数字排列可以呈现任意的倾斜角度,或数字字符相连等;在数字图像特征提取阶段,我们可以考察每个数字图像的自相关系数特征,或者每个数字图像的频谱特征,也可以考察数字图像的几何拓扑特征,如将数字图像分成2个洞的(8),1个洞的(4,6,9,0),没有洞的(1,2,3,5,7),针对每个类别再提取新的几何特征;在数字图像识别阶段,可以采用神经网络的分类器,或者利用制定的一些分类策略来分类,或者采用主成份分析(PCA)的方法来识别。
4结语
两年多的教学实践表明,新的教学大纲、授课方法和实验内容有利于激发学生的兴趣,使他们带着问题去学习,从而加深了对图像处理应用领域的了解,锻炼了编写程序和协作开发的能力。下一步我们将设计更多合理有效的案例和综合性实验,力图通过这门课激发学生的创造力。
作者:付慧陈志泊单位:北京林业大学 信息学院
摘要:本文通过建立一个软件工程硕士论文质量评价与度量模型,提出了明确的论文质量目标和一套切实可行的评价标准,并针对实施过程中可能存在的若干问题,进行了分析和探讨。
关键词:工程硕士;质量评价;质量标准
1存在问题与质量评价度量模型
由于种种原因,论文质量的分析和实际评审工作存在着质量要素空泛、无法真实、直接、客观地度量,最终无法做到实事求是地评价等问题[1][2][3]。例如:有关评估方案中规定的选题要求是:论文选题来自于企业实践,工程背景明确,应用性强。而论文质量标准要求是:技术先进,有一定难度;内容充实,工作量饱满;综合运用基础理论、专业知识与科学方法;格式规范,条理清楚,表达准确;社会评价好等。但现实的论文评审操作则明显存在以下问题:
(1) 质量要素的选择过于简单、抽象层次太高。因而难于细致、客观、真实和准确地反映被检查对象的实际情况;
(2) 对相关质量要素的度量和评价,缺乏直接、真实、仅根据客观的、标志性的交付物成果、里程碑事件为度量和评价依据的质量要素度量与评价方法,使本已高度抽象化的评价,更带有人为评判的色彩;
(3) 所有的度量和评价是定性的,当从定性评价,转化为定量成绩的时候,从定性到定量的转换标准设置,缺少科学性和原理依据。
作者认为,产生上述问题的根本原因有两个。一是标准的制定者受传统学术观点的局限,担心制定详细、确定的评审标准,将限制论文作者的研究和表达,导致“论文八股”的出现。另一个原因,则是标准制定者对工程硕士论文(包括论文阶段的学习、研究过程)应该做什么?应该怎么做?最终的目标应该是什么?怎样才能检验硕士研究生是否达到了的既定目标等很难确切把握。导致本质上对论文质量目标的不明确、不清晰,因而无法制定具体的检查标准。
为了克服上述问题,针对软件工程硕士毕业论文这一特定对象,本研究首先建立如下的论文质量标准与评价度量体系模型:
(1) 论文质量的一级属性:论文的分类和性质界定;
(2) 论文质量的二级属性:论文必须包括的四个基本构成部分;
(3) 论文质量的三级属性:论文基本构成部分的质量度量要素;
(4) 论文质量的四级属性:论文质量度量要素的度量方法,包括定性度量转换为定量评价的加权因素设计,即量化成绩。
图1为论文质量标准与评价度量体系的模型。
2对论文性质的界定
为了准确地把握软件工程硕士毕业论文的质量,明确论文质量标准,我们根据软件工程硕士研究生培养目标和专业要求,结合软件学院实际情况,不失一般性地将软件工程硕士研究生毕业论文的类型,界定为软件技术研究与软件工程项目二类。
界定的原则依据是2003年科技部、教育部等五部委《关于改进科学技术评价工作的决定》中,将科学技术评价工作明确分类,区别不同评价对象,明确各类评价目标,采用不同的评价标准,以求能够客观、真实、准确地反映不同评价对象实际情况的原则精神。
界定的基本出发点是区分论文性质,并分别制定相应的评审标准。本研究的重点是软件工程项目类论文。本研究对软件工程项目类论文的定义是:
目标:在企业实习过程中,参与企业软件工程项目,研究并解决特定问题域的问题;
技术与方法:学习、研究、选择、运用,并有所拓展下列(同时)技术与工程知识与方法:
技术知识:计算机软件(或软硬结合、以软件为主,但必须包含软件工程)的最新技术、方法、手段、工具;
工程管理:在软件工程的生命周期模型(不要求特定模型)及软件过程关键环节中,采用软件过程管理、项目管理、配置管理、质量管理(不要求全部)的技术方法;
按软件工程规范,独立完成了一个软件制品研发的完整过程,其结果对相关业务领域内的问题解决,具有一定的意义和价值;
以技术和项目成果、项目实现过程报告的形式,形成的硕士论文。
3对论文内容的要求
根据论文性质的界定定义,工程项目类毕业论文,本质上是一个项目(或项目阶段)的技术与项目报告。因此,论文内容应完整呈现以下四方面的能力:
(1) 专业知识:通过项目研究的背景、问题与目标描述,考察学生对所在行业领域业务知识和领域关键问题了解的广度与深度,即考察论文课题的专业水平。
(2) 技术水准:通过项目技术方案分析,考察学生在特定问题下,对解决问题所涉及的技术方法、工具和手段,解决领域关键问题的状态与发展水平的评价与了解。
(3) 实现能力:通过项目关键技术的实现过程,考察学生解决关键技术问题的具体能力和达到的水平。
(4) 过程能力:通过项目过程报告,考察学生以关键技术解决方案的实现为基础、组织实施软件工程项目的过程管理和控制能力。
4质量要素及其度量方法
根据论文内容的四个方面要求,我们设定了四个方面、20个质量度量要素(表1),每个要素各分为6个等级(0~5分),供论文评审时,进行判断评价。表中各要素的分级评价标准见附录。
5量化成绩的加权因素
根据附录的方法,将论文按内容规范要求及质量度量要素,采用定性分析的方法,获得对每个度量要素的评价(加权前得分)。并依据加权方法,将其转化为定量的论文成绩。加权比例指向为:要求论文更侧重于关键技术实现和软件工程过程,兼顾领域与技术背景。
因此,根据专业性质、学生基础学习和实习项目的具体情况,论文四个构成部分的成绩加权因子分别为:10%、20%、30%和40%。加权计算公式是:加权后得分=加权前得分*加权因子*4。
6质量度量实施的若干问题探讨
标准只是一个杠杆,由于论文质量是研究生教育产品的出口质量,因此,最终产品质量的口一收紧,产品生产过程的问题就必然地暴露出来了。
(1) 生源的质量问题
根据对本院(其他院校情况应基本类似)往届新生(含单/双证生)入学前基本状况的考察和分析发现,入学研究生基本上可以划分为三类:计算机及软件相关专业(元教育本专业)应届保研或考入的本科生;元教育非本专业或虽是本专业,但不在相关专业行业企业、基本没有软件开发项目经历(经历非专业)的学生;本专业毕业并一直从事软件开发、具有软件工程项目经验的在职生。根据若干届学生情况的初步统计,在各届学生中,第一类约占40%,第二类占30%~40%,而第三类只占20%左右。随着招生规模的扩大,第二类学生(元教育或经历非专业)的比例有扩大的趋势。
软件工程是计算机技术与工程实践、过程管理相结合的学科。学科特点决定了它与传统计算机科学与技术系在培养方向上的不同。因此,现有的软件工程硕士研究生教育,本质上不适合第一、第二类学生。因为这二类学生没有实际软件项目开发的经验,而学校几乎不可能在研究生学习的一年期间,提供这样的经验和机会。
面对生源的实际情况,不论学生在校课程教育的效果如何,要使前二类学生达到本标准设定的质量目标,是非常困难的。标准和目标的明确化,现实地凸显出软件工程硕士研究生培养,从源头开始的困惑。
本研究成果在招生阶段希望达到的贡献是:在研究生入学考试时,除统一笔试以外的综合能力测试及面试中,对考生基础能力的特别考察和筛选,提供了内容和要求的来源与依据。
摘要:本文针对我国软件学院专业教学所面临的挑战,在充分调研IEEE SWEBOK和CC2004SE知识体系的基础上,针对我国软件学院目前的实际情况重新划分软件工程知识体系,提出了软件工程硕士开放式教学体系的建设方案。围绕专业培养目标,结合学生的工程实践,引入课程组的概念,制定了一套较为完整的开放式实践教学实施计划。
关键词:工程硕士;开放式教学;课程组
1引言
软件学院软件工程硕士的培养目标是培养高层次、应用型人才,针对这个目标,其教学实施应着重体现出以下两个差异性:
(1) 软件工程学科领域和计算机学科领域间专业设置的差异性,这个差异应能够很好地体现培养应用型人才的目的;
(2) 工程硕士课程和软件学院本科课程的差异性,这个差异应能够很好地体现培养高层次人才的目的。
目前国内软件学院软件工程学科和传统的计算机科学学科在课程设置上差异还不显著,工程硕士的培养方案中甚至部分课程只是本科阶段的重复。虽然大都开始强调学生的软件项目实践,但普遍缺乏过程管理。本文在对IEEE的软件工程知识体系进行深入学习的基础上,针对软件学院软件工程硕士提出了实现开放式教学体系的教学改革方案。
2软件工程知识体系
2004版SWEBOK将整个软件工程知识体系分为11个知识领域(Knowledge Area,KA),其中前5个知识领域是按软件开发的生命期诸阶段排列的,即软件需求、软件设计、软件构造、软件测试和软件维护;后6个知识领域是软件开发中的支撑性或者辅助性的方面,可能覆盖软件开发的多个阶段,包括软件配置管理、软件工程管理、软件工程过程、软件工程工具与方法、软件质量、相关学科知识领域。这些知识领域SWEBOK并没有重新系统规定,而是直接套用已经成型的各领域知识体系,因此不可避免地存在重叠和不匹配。
在SWEBOK的基础上,IEEE与ACM又共同拟定了CCSE。其中的核心部分是软件工程教育知识(SEEK)。SEEK由十个知识领域组成,包括:计算机基础(CMP)、数学和工程学基础(FND)、职业实践(PRF)、软件建模与分析(MAA)、软件设计(DES)、软件验证(VAV)、软件演化(EVL)、软件过程(PRO)、软件质量(QUA)、软件管理(MGT)。
可以看出,SEEK和SWEBOK基本内容是相近的。总的来说,二者都是包含了软件工程核心类的知识领域、基础类或前导类的知识领域,以及其他相关领域的知识。
3高等教育教学改革研究状况
目前国内关于高等教育教学改革的论文很多,如翁敬农、刘云等在软件学院实践教学体系的内容与规划中提出了“一个目标”、“两种途径”、“三大环节”、以及“四级台阶”的具体步骤。王移芝、林艳琴提出基于“两段教学”的计算机基础课程的教学体系框架。谢芳清、闫大顺提出了以素质教育为目标的实践教学体系。王浩、胡学钢等提出计算机科学与技术专业实践教学体系的总体研究与建设。王志英以国家实验教学示范中心为例,提出实践是综合能力培养的基础,并以此构建计算机科学与技术专业实践教学体系。董玮、邱建华等以专业课“程序设计基础(C语言)”为例给出了建设实践教学体系的实践探索。然而目前还没有检索到专门研究软件学院工程硕士教学改革的论文。无论是从传统计算机科学与技术专业与软件学院软件工程专业的区别,还是本科生与研究生的区别来看,针对软件学院工程硕士的教学改革研究都是十分有必要的,同时也是迫切的。
4工程硕士的课程体系设计策略
我们以IEEE SWEBOK和CC2004SE的知识体系为主体,结合中国软件产业以及本院的具体实际情况,设计了中国科学技术大学软件学院软件工程专业的知识体系,作为我院工程硕士课程设置和教学计划实施的依据。以SEEK为基础,我们对软件工程的课程设置进行规划。整个课程设置可以分为三个层次,即导论性课程、软件工程核心课程和其他课程。如图1所示,该知识体系定义了7个知识体系子类。计算机基础和数学和工程学基础属于导论性课程、其他课程包含了职业实践、领域课程、软件工具、工程实践等四个子类。
其中计算机基础定义了软件工程作为计算学科所必需包含的计算科学基础以支持软件产品的设计与建设;数学与工程学基础提供了软件产品获得所需属性的理论和科学基础;职业实践则聚焦于软件工程师以职业行为从事软件工程实践所必需具备的知识、技能和态度;软件工程核心课程应该包含软件开发生命周期所涉及到的主要知识领域;领域课程包含了对于某个特定领域软件工程师应该接受的特定教育或经验;软件工具定义了从事软件工作所必需掌握的当前主流工具与软件产品等;工程实践则是学生使用所学到的知识从事实际开发活动,提供动手能力的重要环节。
对于工程硕士来说,大部分同学经过计算机本科专业的学习,已经具备了初步的计算机基础以及数学与工程学基础,因此目前其课程体系建设如图2所示,重点是完成软件工程核心课程教学,并结合IT界的最新技术趋势设计相关领域课程。教学改革的核心是如何设计软件工程的核心课程,并指导学生熟练掌握相应的软件工具,强化他们的实践动手能力。
5工程硕士开放式教学体系建设
对于如何设计软件工程的核心课程,我们的主要思路是打破原先各子知识体系间的界线,围绕专业培养目标,结合学生的工程实践,引入课程组的概念,实现一个完整的开放式教学体系。如图3所示,整个开放式学习体系包含三个部分:
(1) 设计课程组:在理论环节采用课程组的概念,集中讲授较高层次的、符合硕士生水平的软件工程的某些重要环节;
(2) 开设实践教学环节:在实践教学中采用做中学(Learning by Doing或LBD)理念,由指导教师讲述软件工具的具体操作过程,同学实际动手学习;
(3) 强化工程实践:在工程实践中由学生自主选题,并将LBD中讲述的工具在项目整个生命周期中贯穿使用。
5.1设计 课程组
目前我院开设的高级软件工程和本科的软件工程课程内容并没有太大差别,对于软件工程的各个环节面面俱到,但又都比较浅显,对于工程硕士的培养显然是不合适的。因此我们设计了软件工程课程组的理念,初步设计了以下课程:
(1)“软件开发管理”(Managing Software Development)
(2)“软件系统架构”(Architectures for Software Systems)
第一门课程主要针对以后立志从事软件工程管理方向的同学,课程针对IT项目集中阐述如何实现风险、资金、工期等各方面的管理;第二门课程主要针对以后立志从事软件高级开发方向的同学,课程主要讲述复杂软件系统架构层上的设计,介绍目前通用的软件系统结构、设计技术以及实现这些结构的模型、表述方法等。这两门课程对于软件工程硕士应该至少必修一门。除了这两门课程,其他软件工程类的课程包括了设计模式、软件测试、语言类课程如J2EE、.NET等等,学生可根据自己的实际情况进行选修。
5.2开设实践教学
针对该课程组,我们开设了实践教学环节,采用做中学理念,由指导教师(可以由助教担任)根据事先确定的主题,选用具体工具讲述如何使用该工具完成项目开发的某具体环节,工具涵盖了项目管理、架构设计文档化以及测试等软件项目开发的主要方面。
对于软件工具的选择,有两种思路。一种方法是对软件工程的不同环节分别选择不同工具,例如项目管理选Project、开发文档化选Rational、测试再选别的工具这样来做,但结构分散,不利于整体化考虑。另一种是采用套件,完成项目开发全程的所有操作,目前我们选择了两种套件,一是微软的VSTS,该套件和微软的Visual Studio开发平台绑定,适合学习.net开发框架的同学;另一种是IBM的RSA,该套件和Eclipse开发平台绑定,适合选择开源J2EE开发框架的同学。
5.3强化工程实践
大多数的软件学院目前都开设了专门的工程实践环节,但实际的效果并不尽如人意。因此我们将工程实践环节也纳入到开放式学习体系中,以前面所说的理论以及实践教学环节来指导学生更好地高质量完成整个工程实践。
从教学方法上,工程实践应尽可能地贴近现实项目,除了常见的软件工程文档,我们还要求学生提交过程管理类文档(软件开发合同、会议记录、工作日程记录、合同执行报告:财务报告和开发过程报告、个人总结、小组总结等)。
从技术上,学生可以自由选题,也可参考工程实践题库中的选题。选题涉及所有领域课程包含的内容。要求学生必须采用实践教学环节中介绍的工具全程介入项目开发的各个阶段。学院设立专门的工程实践网站提供学生选题及交流,以及指导教师的监督。
从教学形式上,则注重如何实现应用型软件人才的核心能力分析与培养,要求学生运用职业实践子知识体系中的相应内容,锻炼学生的口头表达能力、书面表达能力等。通过学生的开题演讲、采用各种工具完成相应的项目文档、结题答辩等环节来实现学生职业素质的培养。
从实践效果评价上,我们制定了一系列的成绩考核方法、管理考核信息、分析考核结果、评价教学质量等措施,实现完整的考核体系。
6结论
软件工程专业学生的培养,在学科教育与培养面向市场需求的人才方面有着事实上的矛盾。软件学院现有的实践教学体系存在着专业课程设置定位不准确、课程实验师资不足、实验教学内容质量不高、实验指导和管理落后等问题。根据软件工程专业教学所面临的挑战,在充分调研IEEE SWEBOK和CC2004SE知识体系的基础上,针对软件学院的工程硕士,我们提出了软件工程硕士开放式教学体系的建设,围绕专业培养目标,结合学生的工程实践,引入课程组的概念,制定了一套较为完整的开放式实践教学实施计划。
摘要:本文详细介绍了易新科技有限公司与浙江大学软件学院所开设的“现代物流”课程的定位、课程设计以及教学实践等内容。该课程致力于将学生培养成了解物流行业发展、理解物流操作、认识物流管理、掌握物流信息技术的高端应用型人才。
关键词:软件工程硕士;现代物流;课程设计;教学实践
1前言
软件工程硕士是国家教育部根据中国社会主义市场经济建设特定的需要,培养具有软件设计、开发能力并同时具有深入行业应用知识的人才而设置的培养体系。现代物流业是国内近阶段全面、快速发展的一个行业。其发展的动力一方面得益于全球化给中国带来的大量的产品制造机会,以及随之而产生的物流服务需求。另一方面得益于信息技术在物流业的深入应用。信息技术的应用使得以运输为中心的传统物流操作转变为以国际互联网、电子商务等技术为核心的现代物流服务。随着物流业对信息技术的日益依赖,以及中国市场上对物流人才的日益需求,使得软件学院开设现代物流方向的工程硕士顺理成章。
浙江大学软件学院作为国家重点支持的一所示范性软件学院,一直在了解并把握行业应用方向上积极地思考、谨慎地行动,以求建立高起点、面向高端、面向国际化的工程硕士专业方向。在决定开办现代物流方向后,经过对香港大学属下全资子公司易新科技有限公司(E-Business Solutions Limited, 简称EBSL;其之前名称为ETI Consulting Limited,简称ETIC)的全面了解、深入考察,决定由EBSL全面负责现代物流课程的设计、教学、以及实习指导。
EBSL是面向香港、珠三角进行物流与供应链管理、无线应用技术、应用平台集成与开发等方面的高科技开发公司。相对于国内或全球其他地方而言,香港在现代物流业方面长期以来有着强大的IT技术应用优势及产业竞争优势。EBSL以其众多的、扎实的行业应用知识及经验提供优质的技术解决方案,在香港与珠三角地区有众多的客户以及树立了良好的口碑。
2课程设计
2.1课程设计理念
当EBSL同浙江大学软件学院联合起来开设现代物流课程的时候,双方很快就确定了如下课程设计理念:
(1) 课程的应用导向。除了满足软件工程硕士本身对行业知识的应用导向要求之外,在设计课程时,要尽量分享EBSL一直以来在香港及珠三角物流行业应用方面的实践经验。
(2) 课程的国际化。香港的物流应用技术水平虽然已经很高,但为了让学生充分了解物流业的最新趋势,仍需要跟踪、分析、整理国外发达国家在物流方面的最新应用技术。
(3) 课程的差异化。目前国内已经有很多大学开设了现代物流相关方面的课程以及出版了相关的教材。基于高起点的合作初衷,在设计课程时要突出差异性,让学生可以从不同的角度、不同的体系、不同的风格去学习相关的知识。
(4) 课程的多层次化。由于软件工程硕士的学生有的是脱产学习,有的是在职学习,有的本科学习背景是计算机相关专业,有的本科学习背景是管理或其他非计算机专业。因此在课程设计上要考虑到不同学生的背景、知识面、及时间可得性。
(5) 体系的完整性。现代物流业涉及的知识面非常广泛,要在内容取舍上做到点面结合。对不能深入介绍的内容,要向学生展示出一副完整的体系架构,以便学生对自己已学习的知识、待学习的知识有清楚的了解。
(6) 内容的启发性。硕士教育已经是远超越牵引式的教育阶段。在课程内容或课后作业上,要给学生留下更多思考的空间,启发学生继续对某一方面知识的深入探索。
2.2课程设计过程
基于以上双方达成的课程设计理念,EBSL调动了众多的资深行业专家、专业研究人员、以及应用开发人员一起进行课程设计。其间,经历了向两个方向的探讨,设计了两种待选方案。
第一种方案是考虑到学生的学习背景而设计的五门循序渐进的核心课程,分别为现代物流基础(Basic)、现代物流操作与管理(Operations & Management)、现代物流信息系统(IT Systems)、现代物流新兴技术(Emerging Technologies)、以及现代物流系列讲座(Lecture Series)。如图1所示,左边是五门课程的层次结构,右边所示为其中一门“物流操作与管理”课程所覆盖的内容。
该五门核心课程并非完全分割,而是都涉及到行业知识(Domain Knowledge)、产业分支(Industries)、处理流程(Processes)、操作(Operation)、信息技术系统(IT Systems)、信息技术开发(IT Development)、管理(Management)、及发展趋势(Trends)共8个维度。但每一门课的侧重点有所不同,它们之间可以达到前后照应、重点突出,如图2所示。
第二种方案是抓住“现代”这个关键词,以从传统物流向现代物流发展为主线,从多角度阐释“为什么是现代物流”,“什么是现代物流”。“为什么需要现代物流”等问题。相关课程的结构如图3所示。
如图3表明,我们主要是产业发展(Industrial Development)、操作(Operation)、管理(Management)、信息技术应用(IT Enablement)、服务区域与时限(Service Range & Time)、安全(Security)、环境友好(Environmental Friendliness)等角度来阐释现代物流的发展、演变、特点、并以此为主线来讲授相关的应用知识。
经过多次的讨论,最后确定以第二种方案进行进一步的课程内容设计,因为该方案更符合预先确定的课程理念,特别是在课程的差异性、灵活性、体系完整性、及启发性方面。
2.3课程设计结果
在确定课程结构后,经过多方面的资料收集与整理、分析与比较,最后设计出针对一个半年学期的四次共十六个学时的课程。
第一次课程主要是从产业发展的角度介绍现代物流,其中包括三个大的方面:现代物流的发展历程、现代物流的模式、我国现代物流的现状。其中现代物流的发展历程包括美国、日本、中国三个国家的现代物流的发展历程。因为在其发展历程上,三个国家间是有传递关系的。现代物流的模式方面介绍了物流园区、配送中心、物流外包、第三方物流、第四方物流、现代集装箱港口、保税物流、全球速递、绿色物流等内容。有关我国现代物流的现状方面,从多方面进行了比较,包括产业横向比较、物流成本比较、物流从业人员比较,以及现代物流业与其他产业的关联性及相互促进的发展趋势。第二次课程主要是从操作的角度介绍现代物流。其中介绍了四种主要运输方式(公路运输、铁路运输、水路运输、航空运输)在其运输、仓储、搬运与装卸、流通加工阶段所涉及的设备、工具、流程、单据或文件。第三次课程主要从管理的角度介绍现代物流,其涉及的内容包括作业(生产)管理、营销管理、人力资源管理、成本与收入管理、质量管理、风险管理、客户与合作伙伴管理、资产管理、并最后汇集到信息管理。该方面的内容与前一次课的物流操作配对起来,进行有点有面地介绍。第四次课主要是从信息技术应用的角度来介绍现代物流,其讲解思路是以信息的加工处理过程为主线,介绍同现代物流有紧密应用的技术。所涉及的内容包括信息获取与录入(条码、RFID、GPS、中间件)、信息编码与存储(UPC、GTIN、EPC)、信息处理与分析(数据仓库、OLAP、数据挖掘、空间数据分析)、信息的呈现与可视化(GIS、仿真系统)、信息交换与共享(EDI、ebXML、BPEL、EPCIS)、信息传递与(GSM、3G、SMS、GPRS、WAP)、信息系统架构(SOA、EDA、Cloud Computing、SaaS),以及一些具体的物流信息系统。
3教学实践
按照既定的教学时间安排,我们在浙江大学2008冬季及2009春季学期,平均每个月给学生授课一次。在教学实践中,除了充分体现课程设计时所确定的应用导向、国际化、差异化、完整性、多层次化、启发性等课程理念外,还注意了如下的教学细节。
3.1时事性
如在第一次课讲授现代物流的模式的时侯,宁波刚好举行了“宁波―舟山港2008年第1000万集装箱”的庆祝仪式。对宁波―舟山港而言,突破1000万TEU集装箱吞吐量是一个重要的时刻,属于宁波广为传播的一件大事。在课程中,我们把该事件与现代集装箱码头的发展、中国集装箱码头的壮大等内容结合起来,让学生们基于身边所发生的事情产生热烈的讨论,以留下真实而深刻的印象。又比如在讲授现代物流的风险管理的时候,刚好在亚丁湾发生多起索马尼海盗劫持商船的行为。课程中就把预防海盗的劫持,作为一个现实的问题,又重新归纳为一个海运重点关注的风险,虽然它曾经是17、18世纪航海界的灾难性问题。
3.2趣味性
如对公路、铁路、水路、空运等运输方式所涉及的运输、仓储、装卸与搬运、流通加工等过程,并没有枯燥地一个一个介绍,而是设计了一个虚拟事件:2009年NBA全明星赛将在菲尼克斯太阳队所在的凤凰城举行。为满足球迷对全明星球衣的热爱,组织者1月份向中国广东某工厂订购了5万件全明星赛球衣。基于这样一个虚拟事件,再设计了一些虚拟的球衣产前及产后物流流程:(1)服装加工厂从湖北省采购球衣所需布匹,通过公路运输运往武汉某货运站;(2)通过铁路运输,布匹由武汉某货运站运到广东某仓库进行仓储;(3)球衣完成加工后,球衣装进集装箱,准备出口到美国;(4)集装箱由货柜车运到深圳,在深圳出口通关;(5)从深圳通关后,运到香港集装箱码头;(6)在香港集装箱码头装船,通过海运运往美国三藩市的配送中心;(7)在三藩市的配送中心完成分拣、包装后,通过飞机空运到凤凰城机场;(8)从凤凰城机场通过快递服务运送到各球衣销售门店。基于这样一系列虚拟任务,在引导学生一步一步完成球衣交付的同时,把其中所涉及公路运输、货运站、铁路运输、仓储、集装箱运输、出口通关、集装箱码头、海运、配送中心、空运、快递服务等知识全部融入其中。
3.3团队协作
比如,在介绍完前面所提到的NBA球衣交付的虚拟流程后,给学生留下一个课后作业,要求5~6个人自由组合成一个小组,查阅相关的数据或作出合理的假设,来计算虚拟场景中球衣物流的整个时间与成本。该时间或成本没有预设标准答案,学生可以重新设计路线,走不同的港口或航线,作出不同的假设。目的是要求学生去深入考虑其中的环节(运输里程与时速、装卸时间、交接时间、报关环节时间、航班与船期、意外情况等)并收集相关的参考数据作为支撑材料,来对其结果进行辩述。
4结论
通过教学实践证明,易新科技有限公司与浙江大学软件学院这种跨区域的、高起点、高定位的校企合作模式是非常成功的。课程从设计开始就遵循了应用导向、国际化、差异化、多层次化、完整性、启发性的理念。在设计过程中经过了深入的调研、比较、论证,设计出合理的课程体系。在教学过程中,注意了教学的时事性、趣味性、灵活性,以及对学生的团队工作能力的培养。该课程吸引了广大学生的兴趣,众多相关专业的学生选修了该课程。课堂的最高听课学生人数达到200多人。在教学完成后,学生普遍反映收获良多、知识面扩展很大。对毕业后成为一个了解物流行业发展、理解物流操作、认识物流管理、掌握物流信息技术的高端人才有了足够的信心。
摘要:专业学位(professional degree),是相对于学术性学位(academic degree)而言的学位类型,其目的是培养具有扎实理论基础,并适应特定行业或职业实际工作需要的应用型高层次专门人才。如何到达这个目标,我们在培养计算机工程硕士的这一年多时间里,通过与美国的IT业公司和大学的合作,让工程硕士参与到软件中介发标的项目中,从中接触一些大型软件项目的开发,了解大型软件项目的开发流程,从实战中提高软件开发能力。文章介绍了这一过程,并进行经验总结。
关键词:专业学位;软件开发;客户需求;软件构架;代码质量
专业学位与学术性学位在培养规格上各有侧重,在培养目标上有明显差异。专业学位以专业实践为导向,重视实践和应用,培养在专业和专门技术上受到正规的、高水平训练的高层次人才,授予学位的标准要反映该专业领域的特点和对高层次人才在专门技术工作能力和学术能力上的要求。专业学位教育的突出特点是学术性与职业性紧密结合,获得专业学位的人,主要不是从事学术研究,而是从事具有明显的职业背景的工作。
我院从2009年开始招收计算机工程硕士,以培养能够从事软件开发的应用型人才。软件工程相关知识是各个公司在开发大型商业软件项目当中总结出来的,具有很强的实践性。如果单独通过课本的讲授,工程硕士难以获得深刻的印象,而且难以达到教学目的。因此,必须让工程硕士接触到真正的商业软件项目,并且参与到软件开发的各个过程,让他们更加深刻地体会课程中讲授的知识点,提高其软件开发能力。
为了达到这个目标,我们在开始培养计算机工程硕士的这一年多时间里,通过与TRILOGY/GDEV合作,让工程硕士参与到当前主流大型商业软件的开发过程当中,从而更好地掌握软件工程课程教授的知识,并且了解当今软件开发中应用的主流技术和开发模式,从实战中提高软件开发能力。
1背景介绍
成立于1989年的Trilogy公司,总部位于德州奥斯丁,在印度和中国均设有分支机构。Trilogy公司在全球拥有600多名业内精英和超过500项的专利技术,有着 17年与世界500强企业成功合作并获利的经验,曾被福布斯、财富、商业周刊、哈佛商业评论等著名商业杂志誉为高度创新和高瞻远瞩的公司。
Trilogy 公司当前专注于数据挖掘和用户体验相关的业务,倡导新型的商业服务和技术支持,为客户提供完全的商业价值保障。其主要客户包括:Ford Motor,General Electric Healthcare,Daimler-Chrysler,Nissan,Goodyear Tire & Rubber,Prudential,Travelers Insurance,Gateway,IBM等公司。
至2006年止,Trilogy 公司已为汽车、保险、消费电子等行业提供多个商业服务项目,如:FordDirect.
com,Goodyear,TTG,,Prelaunch,Gateway,TIS等。我们通过网上投标,参与这些项目的开发。
项目开发的过程主要包括:下载PIP(Product Info Page)和RFP(Request For Proposal)文档、虚拟机(以及SVN代码)和程序文档。PIP是一个网页,是项目的需求;RFP文档是关于项目使用的技术概述;虚拟机是模仿对方开发环境的平台;程序文档放在网站上一个固定位置,如Bundle Location。发标的公司会提出:
“Deliverables”:是最终需要提交的东西,一项都不能少,否则算失败。
“Acceptance Criteria”:对方接收的标准,符合标准的就算通过。
“Deadline”:提交时间,超过这个时间即为失败。
项目提交后,如果判为失败,开发者还可以申诉(Rebut)。
2项目开发的收获
通过参与这些项目的开发,工程硕士主要在以下几个方面有所提高。
2.1锻炼工程硕士与客户沟通的能力
客户的需求是基于其公司的商业逻辑,如何准确无误地获得客户的需求,并且从软件开发的角度将需求进行规范化,这是软件开发中必须解决的首要问题。
由于是跟美国IT业公司进行合作,所以该案例采用的交流方式是线上交流,而非传统的面对面交流。线上交流的主要方式是使用美国公司提供的Issue tracking system,完全是通过英文交流。长期的网上交流,锻炼工程硕士的英语交流能力和业务逻辑的理解能力。
2.2学习当前主流技术
在项目开发过程中,工程硕士能够接触到当前IT业主要使用的各种技术。同时,结合项目地学习可以让工程硕士更好地了解这些技术应用的场景、目的以及作用。下面列举项目中用到的一些技术。
1) 编程语言:主要采用Java,便于上手,以免工程硕士花太多时间在学习语言上。
2) 构建工具:Ant是一种基于Java的build工具,用于自动化调用程序完成项目的编译、打包、测试等。脚本格式基于XML,便于维护,而且基于Java的,具有平台无关的特点。
3) 虚拟机:要求配置模拟各种平台的虚拟机环境。
4) 数据库:采用Oracle、DB2、PostgreSQL和SQL Server,均是当前主流数据库管理软件。
5) 数据库查询语言:SQL以及OQL。其中项目中主要使用OQL即对象查询语句,使用OQL有利于软件开发过程中的效率和规范化。
6) 测试工具:JUnit,Selenium。JUnit是由Erich Gamma和Kent Beck编写的一个回归测试框架,广泛应用于单元测试当中。Selenium是一个用于Web应用程序测试的工具,通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序,能够支持不同的浏览器,以及能够使用各种编程语言编写,广泛应用于UI测试当中。
7) XML技术:XML是一种平台无关的表示数据的方法。使用 XML 创建的数据可以被任何应用程序在任何平台上读取。甚至可以通过手动编码来编辑和创建 XML 文档。XML在网络应用和信息共享上方便、高效,可扩展。所以,可以XML作为一种先进的数据处理方法,使网络跨越到一个新的境界。在本项目中,XML主要用于书写配置文件。
2.3熟悉软件构架
众所周知,软件架构是一个软件先进性集中体现的地方。通过外包软件的开发,能够了解软件项目的架构,分析软件中应用的各种框架,理解应用的设计模式。下边是Java EE项目中常用的一些开源的框架。
1) Hibernate是一种Java语言下的对象关系映射解决方案。它是使用GNU宽通用公共许可证发行的自由、开源的软件。它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate也是目前Java开发中最为流行的数据库持久层框架。它的设计目标是将软件开发人员从大量相同的与数据持久层相关的编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用Hibernate。
2) Spring是一个开源框架[1-2],它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring通过一种称作控制反转(IoC)的技术促进了松耦合。Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计和事务管理)进行内聚性的开发。应用对象只完成业务逻辑,并不负责其他的系统级关注点,例如,日志或事务支持[3-4]。
3) Struts有一组相互协作的类、Serlvet以及JSP TagLib组成[5]。基于Struts构架的Web应用程序基本上符合JSP Model2的设计标准,可以说是MVC设计模式的一种变化类型。我们参与的软件外包项目很容易理解为什么Struts是一个Web软件开发框架,而不仅仅是一些标记库的组合,理解理解Struts的控制器(Controller),模型层(Model)和视图层(View)。体会在模型层,Struts可以很容易地与数据访问技术相结合,包括EJB、JDBC和Object Relation Bridge;在视图层,Struts能够与JSP、Velocity Templates、XSL等表示层组件相结合。
项目中还有一些独有的框架,由于细节繁琐,不便介绍。接触这些框架,可以获得宝贵的软件开发经验。
2.4提高书写代码的质量
在真实项目的驱动下,工程硕士通过自己阅读项目中的优质源码,以及在经验丰富的开发人员的帮助下,形成良好的编码风格,提高代码质量。
一个简单的例子是,工程硕士在参与项目之前,代码质量相当低,主要体现在:代码效率低下,缺乏注释信息,代码不具有扩张性,代码潜在bug多等。而对方真实的项目的代码中包含大量注释信息,以及一些必须的日志信息,具有良好的编码风格。在查找这些代码的bug或提升其功能过程中,一定会接受对方良好的开发风格熏陶。
3结语
总而言之,通过软件外包项目的开发,能够极大地提高工程硕士的学习兴趣以及效率。其具备的主要优点如下:
1) 该案例是基于真实的大型商业项目,是当前主流技术的集中体现;
2) 工程硕士可以接触到软件开发过程中的各个阶段,有利于工程硕士把握软件开发流程;
3) 工程硕士可以通过阅读优质源码以及和有经验的开发人员交流来提高软件开发能力,以及通过与客户交流来提高提炼需求的能力;
4) 外包软件开发实践性很强,工程硕士能够很好地补充课本的不足;
5) 从外包软件开发中,工程硕士能够获得很好收益,激发学习热情。
我们认为,让工程硕士参与软件开发实战,积极推进了硕士研究生培养模式的改革,加强了应用型高层次人才的培养,促进了人才培养与社会需求的有效衔接。
摘要:浙江大学软件学院紧跟产业和技术发展,坚持市校合作高起点办学,依托浙江大学的学科、师资等资源优势,创新名城名校的办学机制,探索与市场需求接轨服务地方经济发展的产学研相结合的软件实用高级人才培养模式,在理论教学、技能培训和工程实践相结合的教学模式上实现创新和突破。
关键词:服务地方产业发展;软件工程硕士;培养模式
当前,宁波正面临着重组产业要素、转变发展方式、实现科学发展的严峻挑战。宁波各级政府正在狠抓机遇,迎难而上,采取有力措施,促进工业调整转型,加快现代服务业发展。从2009年起,宁波全面实施了服务业跨越式发展行动纲要,推进服务业功能区和产业基地建设,大力发展以传统制造业转型升级为标志的生产性服务业,大力发展以新一代信息技术支撑应用为标志的新兴服务业。宁波的家电、服装产业入选了省首批块状经济转型升级示范区试点,工业企业二、三产分离发展加速,全国性物流节点城市建设正在积极推进,第四方物流市场平台投入运行,栎社保税物流中心封关运作,梅山保税港区的封关运行的前期准备完成,特别是2010年9月宁波智慧城市建设正式启动[1],等等,所有这些都说明宁波经济社会发展对高层次人才需求提出了新的要求,面向产业发展、服务地方经济成为高等院校人才培养的重要课题。浙江大学软件学院在宁波的办学是浙江大学与宁波市科教战略合作的重要成果,学院以市场需求为导向,以“Computer+X”和“X+Info”复合型人才培养理念,致力于培养高层次的应用型、复合型、国际化的软件工程技术和软件工程管理人才。针对宁波产业发展特色和区域社会经济统筹的需要,学院有选择性地开设高层次软件工程人才需求急需的专业方向,小批量规模化地培养软件工程硕士。本文以与IBM合作创建的软件服务工程专业方向的培养模式为例,阐述专业课程的设置和课程教学方式与产业发展和应用紧密相连,使学生不仅学习专业理论知识,并且了解产业发展趋势,掌握工程化开发方法和技能,直接为地方产业发展服务。
一、培养模式与方法
1.强大的产业界合作伙伴。选择具有国际或国内一流水平的产业界办学合作单位是实现高水平人才培养的重要环节。IBM公司不仅是全球最优秀的IT企业,而且最近几年已经成功地转型为服务型公司。IBM的各类信息系统已成为中国金融、电信、冶金、石化、交通、商品流通、政府和教育等许多重要业务领域中最可靠的信息技术平台,IBM的客户遍及中国经济社会的各个方面。同时,IBM作为全球IT服务的倡导者,具有非常丰富的高层次软件服务人才培养经验和支撑资源。2009年,浙江大学与IBM公司合作成立“浙江大学―IBM联合创新中心”,建立“浙江大学―IBM人才培养基地”并共建全国首家“软件与服务科学系”,双方合作利用先进的教学理念、丰富的教学资源、技术研发资源和应用实施经验,与时俱进,共同探索,培养符合当地经济发展需求的复合型人才。此次校企合作的创新模式在推进我国服务外包高端人才培养方面,迈出了大胆而创新的一步。
2.突出实践环节的课程体系。软件工程硕士的教学计划由基础课程、专业课程、实训、实习等多个环节构成,充分体现理论与实践相结合的特征。基础类课程包括公共基础及素质类和专业基础类。专业课程则是由每一个专业方向根据产业发展需求定制,教学大纲由学院和产业界合作伙伴共同确认、修订和执行。软件与服务工程方向的专业课程包括RUP方法论、协作软件生命周期管理、软件质量管理、面向对象的分析与设计、代码分析、Java高级应用开发、Webservice和SOA、J2EE应用开发、J2EE应用服务管理、数据库高级应用开发等,其中主要专业课程均由IBM资深工程师或产品经理承担教学。在基础和专业课程教学的基础上,通过课程的实验、案例分析与研究以及项目实训等三种方式组织学生在修课期间参与工程实践。学生在入学的第二学期开始参与项目实训,在实训中坚持采用符合实际应用环境的项目和开发方法指导学生。实训期间,参照企业团队形式,按项目管理要求管理学生,实训的导师来自于行业应用专家及其合作伙伴,采用企业开发模式指导学生参与行业实际应用需求的项目。从第二学年开始,学生进入企业实习。学院内的教学成果要通过参与实际企业实习来检验,学生的能力要通过实习来体现并进一步得到提高。学生毕业后的就业则与学生实习的效果直接关联。由于学生在学院学习期间已接触企业导师和符合企业文化的实训,所以到企业实习后,能马上参与项目工作,能在项目组中发挥作用,快速提高自己的业务和技术能力。软件服务工程方向的实训项目是由IBM提供的真实航空业客户项目剪裁而成,项目客户需求真实完善,项目文档完整,学生将按照企业级的项目开发和管理方式演练该项目。其中,学生将直接扮演项目开发组中的成员角色,角色包括:项目经理、技术经理、配置管理员、软件工程师、测试工程师、DBA等,来了解在软件项目开发团队中的角色、过程、规范和执行方法。整个实训项目是模拟实际客户项目开发过程,以团队的形式,进行项目过程定义、项目计划、需求分析、设计、编码和测试及交付。学生完成实训项目后,对企业真实工作流程和项目开发实施环境有了很好的了解,也初步具备了职业人的素质和团队协作的意识。在研究生培养的第二学年,他们均按照双向选择的原则进入企业进行实习,实习期限为半年到一年。实习期间,学生与学院、企业签订三方协议,明确自己岗位,承担工作角色,遵守企业工作纪律,完成岗位工作任务。并根据实习内容,完成硕士论文。
3.高水平的专兼职师资队伍。聘任校内具有较高学术水平,工程实践经验丰富,教学严谨,学生反映好的教师负责专业基础课、主要专业课和毕业设计指导的教学任务。聘请合作企业工程实践经验丰富、具有高度责任感的一线高级工程技术人员承担部分专业课、专业实践课和专题工程训练的教学任务,充分发挥企业教师的工程实践经验的作用。有企业教师参与的课程与实践环节达50%以上。通过学校教师和企业教师的混合讲课方式,即由来自学校和企业两个方面的教师以多种方式(包括讲课、讲座、研讨、实践等)共同上一门课,互相取长补短,使学生从多种角度和以多种方式理解课程内容,IBM方面还为软件学院教师提供专门的培训和奖教金,学院多名教师作为电子商务方向的CDL访问学者对国内渠道电子商务平台与对接工具提供商进行调研和课程开发共建。针对软件工程硕士培养的特点,充实壮大硕士论文导师队伍。一方面认真总结“双导师制”的经验,进一步推广“双导师制”。另一方面,充分利用学校的相关政策,在原来实行的“双导师制”的基础上,聘请企业中具有丰富工程经验和指导经验的合作导师担任硕士论文导师,独立指导硕士论文。
4.面向产业的专题化工程训练。为了实施上述教学计划和课程体系,我们与IBM共建了联合实训基地。为了更好地突出实践教学特色,增强实战效果,提升工程设计、开发与实施能力,在实训基地基础上又与相关企业合作建设了RFID、物联网技术应用、物流新技术等专题工程训练基地。相比实训基地,工程训练基地在以下方面有了较大的提升,以取得更好的工程训练效果:场地、设备、软硬件系统等设施达到或接近工业界的工程开发环境;参照合作企业制度,实行严格的项目管理、过程管理和参训人员评价考核制度;工程训练的案例其规模和复杂度更接近实际工程项目,从几个人组队可以完成的小项目提升为需要几十人、数个小组合作完成的中等规模项目;积累数量较多的实际项目案例库,供参训人员参考学习;参照企业实际工程项目配置,选派多层次、多角色具有丰富工程经验的工程师指导专题训练。
二、成果
针对宁波地方产业和经济社会发展需求,设置相应的软件工程硕士研究生培养专业方向,直接引入国际、国内在该行业具有领先优势的企业参与专业课程体系设置和教学实施过程,建立了紧密型的产学研合作办学体制。在专业课程体系建设中突出课程实验、项目实训、企业实习等实践环节,实现了高水平的学院教师与企业工程师相结合的混合式教学方式,以企业实际应用项目作为学生课程实践内容,引进企业化项目管理思想,让学生在校学习期间就能体验到企业化的项目管理模式。通过与IBM的合作办学促成了IBM公司在宁波建立IBM在中国大陆的第四个研发基地――IBM中国开发中心(宁波)及IBM中国开发中心物流行业解决方案中心。该方向培养人才为IBM宁波研发中心的成功设立和运行提供了高水平专业人才保障。软件服务工程方向自开办以来(2009~2012级)共招生211人,进入IBM宁波、上海、北京开发中心实习学生人数超过50%,被IBM招聘为正式员工的学生近40人,90%以上的学生进入了IBM、中国移动、中国电信、百度、淘宝、阿里巴巴、网易、摩根大通、银联、工商银行、建设银行、思科、上海盛大等知名企业。浙江大学软件学院与IBM的合作项目已经成为国家示范性软件学院与产业合作办学的典范,也成为IBM拓展高层次人才培养项目的标记性项目,多次获得IBM创新成果奖。
三、展望
浙江大学软件学院经过多年的探索和实践,在培养复合型软件工程人才方面积累了较丰富的经验,特别在产学研合作办学过程中不断与合作企业协同创新、共同提高。产学研合作协同创新是一个系统工程,在人才培养方面,要更加关注国际化、高端化、工程化、创新型人才的培养,深化高端价值型、市场紧缺型、行业领军型人才的培养;在科技创新方面,面向经济和社会发展中的重大现实问题,要加速新技术的孵化、科技成果转化和应用实践,更好地服务于地方产业发展。
摘 要:为了能够准确合理的把握软件工程硕士论文的质量,本篇文章对建立一个软件工程硕士论文质量评价模型,制定了一套清晰的论文质量衡量标准,并且根据此项标准在实施过程中将会产生的问题进行研究与解决。
关键词:工程硕士;质量评价;质量标准;问题研究
1 存在的问题与质量评价度量模型
由于各种原因的影响,论文质量评价与实际评审时存在很大的差异性,由于在实际评审中不能客观的对论文作出合理的度量,导致整篇论文无法发挥出他实际所拥有的价值。比如,科技论文本身就是一种纯理论性文章,但是书写的时候就要求选题来自于科学实践、结论准确、并且应用性较强。而对于论文质量度量标准要求则是:技术先进、内容丰富,运用基本的理论知识、专业的技术和科学的方法。结构清晰,有一定的创造性和针对性,逻辑清楚,社会评价较高等等。但是在实际的论文质量评价上还有很多的问题需要注意:(1)在论文质量要素的选取上过于普通、抽象与虚拟,所以在表达上很难形象、新颖、且直观的体现出表述对象的真实状况。(2)对质量要素的审判,用标志性的事件、交付物的成果和质量要素的度量进行评价,使抽象的评论更加具有了抽象的意义。(3)质量要素的度量和评价是固定的,它缺乏了对事件的实际性分析,当给予准确的评分时就会错误的判断了它本身所特有的价值。
导致这种现象出现的可能原因有两个,一个就是制定者在制定时考虑到论文的多样性,如果过于细致的标准会限制作者的发挥,所以对论文的评论标准范围就加大了,准确程度减小,致使以上的问题同时也随之出现。另一方面就是标准制定者对软件硕士论文的发展方向和内容的判定不能作出准确的判定,所以很难掌握论文的度量标准,最终导致不能制定出确切的标准。
要想解决论文评审中出现的这些问题,本文通过软件工程硕士论文这一特定的对象,建立了一个新的论文质量评价模型,以用来解决论文评审中所产生的问题:首先,要将不同种类的论文进行严格的分类。其次就是对论文进行分析,找出论文必备的基本结构。再就是要找出论文中的论述对象,并对其论述进行分析与评估。最后,也就是最重要的一步,就是要在论文找出最终的质量评估要素的度量方法,将其转化成成绩的形式得出最后的评价标准。
2 论文的分类
要想对软件工程硕士论文质量作出准确的评价和度量,首先就要明确论文是哪一种类,我们研究的是软件工程硕士论文,那就可以将其划分为软件技术研究和软件工程项目二类。在将论文确定类型之后,我们对论文就有了一个明确的评价标准,从而相应的也就找到了合适的评价标准,就可以对其对象作出真实、客观的评论。
3 论文的基本要求
对软件工程论文进行分类,可以确定论文的大致写作方向可以向工程项目类毕业论文,有了明确的方向之后就可以着手进行写作。要想写好一篇论文就要抓好以下几个方面,从而会使文章结构更加完整:
3.1 对相关知识的掌握度。事先了解项目的一些相关信息,例如:研究的背景;研究的问题;以及研究的目标描述,还要对学生进行专业知识的考察,了解学生对他们所在的行业领域的业务知识和领域的链接等问题,同时也是考察他们对其了解的范围和深度,也就是考察他们对论文课题的掌握水平。
3.2 技术水准。通过对学生论文水平的技术分析,可以看出一个学生在遇到问题时的解决能力,这里考验了学生在运用技术方法,使用工具的能力和具体方案,在这里,不仅需要他们要亲身的实践,更多的是学习到更多有关方面的知识和技能。
3.3 完成能力。通过学生对项目的关键技术的实际实施过程,对学生遇见专业技术上的问题时的解决能了和取得的成就,分析学生所具有的实际能力。
3.4 实施能力。通过学生的项目实施过程报告,对学生在遇到关键技术解决方案的实现作为基础,组织实施软件工程项目的过程管理和对其的控制能力。
4 质量要求及论文的度量标准级模型建立
根据以上论文内容涉及到的四个相关要求,我们相应的将四个要求进行分解,更加细致的解释每一项的质量度量要素,提供给论文评审时进行分析与评价。
4.1 项目研究的背景与目标。
先要对其进行领域背景的描述,然后再对领域问题解决的状况和关键问题进行分析,在确定之后,就要设计项目的技术方案的思路与设计,当各方面都做好之后,再表述一下具体想要达到的目标,和所承担的子目标。这样项目研究的背景与目标就可以了。
4.2 项目技术方案的分析。第一步要对领域问题核心技术的概念进行介绍,概念明确之后也就是第二步领域问题涉及到的历史方面和现状进行描述,这些都是很重要的,因为下一步就要对相关技术和计划方案进行比较与评价,紧接着就是项目技术方案的思路与设计,有了明确的思路才能使论文顺利的进行下去,项目技术方案分析的最后一步就是实现策略,每一步都有了,最终就看实际实施的状况如何。这些步骤环环相扣,使结构更加的紧密。
4.3 项目中关键技术的实施。关键技术在实施中占得成分比较重要,所以关键技术的实施一定要具体描述,本人在解决关键问题中承担了怎样的责任并在实施中的位置和缠身的影响,关键在于,在技术实施中攻破了怎样的难关,同时也要对技术的基础进行描述,和全过程的描述,最后总结项目关键技术的结果和评价。
4.4 项目过程结论报告。报告就是对论文的最后总结,本文是关于对软件工程项目的论文,那么就对范围定义与需求开发过程总结,然后对整个系统架构进行分析,设计一套完整的过程,测试系统实现成果展现全过程,接近结尾写一下项目管理和软件过程的控制,最终,结尾就要做出项目总结并对未来的计划展望。
作者单位:云南经济管理职业学院,昆明 650106
摘要:针对目前软件工程专业工程硕士与工学硕士在培养方案上有很大区别,但培养课程却大量重复的問题,以数字图像处理课程为例,结合工程硕士的培养目标,提出需要培养其应用型研究能力和应用型技能的观点,并给出具体实现方法。
关键词:数字图像处理;工程硕士;应用型研究;应用型技能;软件工程
软件工程专业工程硕士研究生与传统的学术型研究生有所不同,前者主要面向企业人才需求和应用软件开发需求进行培养,因此在课程内容选取、授课方法设计和实验环节设计上都需要进行思考和调整,这也是北京林业大学在申请到软件工程专业的工程硕士学科后重点研究的問题。
数字图像处理课程属于图形图像应用领域的重要基础理论课,长久以来课程内容主要介绍基本的图像处理算法以及少部分图像分割和图像识别,对于图像处理在实际生活中所涉及的很多前沿科研领域介绍较少,因此很多研究生无法将课堂讲授的理论知识与其后续从事的研究课题有效地关联起来,感到课堂中讲授的很多内容看起来毫无用处,从而丧失了学习的积极性。
很多教师认为把图像处理中的算法研究透彻、把基础打好对研究生非常重要,但是这忽视了研究生是有着极强的科研探索精神和丰富想象力的年轻一代。如果将一些在生活中涉及图像处理的問题交给他们进行探索,将会激起他们浓厚的学习精神和创造力,这种没有标准答案的应用题目可以进一步锻炼他们的思考能力。
为此,在课程的教学方法和实验内容设计上,我们重点培养学生以下两方面能力。
(1)应用型研究能力,包括发现問题、分析問题和解决問题的能力;
(2)应用型技术能力,包括编程设计能力和项目合作能力。
下面笔者分别从教学大纲、教学方法设计和实验内容设计3个方面进行介绍。
1.数字图像处理课程教学大纲
我们在设定教学大纲时,重点参考了多本数字图像处理方面的经典教材,如杨枝灵和冈萨雷斯编写的教材。结合之前的教学经验,同时注意与本科生课程相区别,制订了两个原则:加强中高级图像处理算法的介绍;增加利用图像处理算法的应用案例的介绍。中高级图像处理算法主要指图像分割算法、图像特征提取方法和运动检测方法。同时我们还在课堂上给出一些应用案例,进一步帮助学生将理论知识与实践相结合。
数字图像处理课程目前作为北京林业大学研究生的专业必修课,总学时为32,其中课堂讲授24学时,实验8学时。相对于其他学校,这门课程的总学时和实验学时数不多,我们设计的教学内容如表1所示。
2.数字图像处理教学方法设计
针对培养学生应用型研究能力的目标,我们在教学方法设计上本着激发学生的学习兴趣,开阔学生眼界,给学生提供更自由的思考空间的原则,通过下面两个措施来实现我们的目标。
2.1精心选择案例
选择的案例要贴近实际生活,并与课堂上讲授的方法紧密衔接。例如,在讲解图像增强和复原这两章之后,我们引入在实际生活中常见的“图像去雾”問题,通过如下方法,培养学生研究能力。
(1)要求学生先尝试用学过的算法来解决这个問题,并在课堂进行算法讨论,给出算法结果。
(2)要求学生针对具体問题,查阅文献资料,了解别人的解决方法。通过查阅国内外的文献资料,同学们知道了如何根据关键词查询科研论文,了解哪些电子数据库中有与专业相关资料,知道了文献的级别有SCI、EI、核心期刊、一般期刊等。
(3)学生将查到的算法进行分类和总结,撰写文献综述。
(4)每位学生都需要编程实现“图像去雾”算法,这个算法是结合自己的思考、实践以及查阅文献的结果。
通过自己动手,同学们发现如果图像的清晰度不好,有噪声,或者没有归一化,结果就完全不同。通过自己动手验证,同学们会发现图像处理领域的一个最为重要的特点——任何算法主要都是针对一类图像或是针对一类問题而设计的,因此在算法的适应性上需要有所考虑。
2.2全面介绍图像处理的各个应用领域
老师在课堂上介绍几个图像处理涉及的较为重要的应用方向(如视频监控、图像检索、人脸识别、运动检测、车牌检测等)后,将同学们进行分组,每组负责查找一个应用方向的相关资料,讨论和汇报自学的结果。汇报内容主要包括:①应用方向的介绍;②涉及的主要問题;③目前的解决方法及应用成果。
通过查找文献,同学们不仅对课上学习过的经典算法有进一步了解,同时还接触到很多新算法。通过听取各组汇报,同学们在较短的时间里,了解了图像处理涉及的多个主要的应用领域。针对每个应用研究领域,老师引导学生分析该领域的难点和重点,提出問题,再让学生思考解决方案,没有标准答案,只希望能够锻炼学生的思考能力。以“人脸识别”为例,有很多经典的或较新颖的算法,老师会结合应用领域对其中常用的或比较重要的算法,如PCA方法和Adaboost算法,进行详细讲解,使学生全面了解图像处理算法的应用领域。
3.数字图像处理实验内容设计
针对培养学生的应用技术能力的目标,同时考虑到本课程实验学时数较少,我们设计了两个实验——基础性实验和综合性实验。
3.1基础性实验
目前很多经典的图像处理算法是用vC++程序实现的,我们要求大家学会读程序,能够看懂已有的算法实现程序,并在此基础上能开发新的功能。
实验一:实现对多种图像格式的支持(2学时)
实验内容:采用VC++编码实现,基于CDib类,添加支持打开,并保存多种图像格式的功能。包括JPEG和GIF。
实验要求:利用学习的图像压缩的知识,利用现有的编码解码库实现对IPEG和GIF图像的打开和保存。
实验目的:了解多种图像格式,编写针对多种图像格式的读写程序,能够进一步理解针对图像的编程的特点,同时也进一步了解开发图像应用程序的适应性問题。
老师在课程初期会向大家介绍图像处理的一个公开库——CDib类。该类很好地封装了图像的数据结构,涉及很多图像的基本操作。我们知道现实生活中的图像常常都是压缩格式的,如BMP、JPEG、PNG、GIF等。因此在讲完图像的压缩格式后,对照讲过的BMP图像结构,老师要求学生为CDib类添加能够支持多种图像格式的功能。以GIF图像为例,它不同于如JPEG、PNG等格式,GIF采用的是LZW压缩算法,使用的是无损压缩技术。GIF图像的特点是可以一次压缩多幅图像,图像颜色表控制为256色,使用渐显方式。
3.2综合性实验
针对综合性实验,我们会拟定多个题目让学生选择,如树叶提取、花朵提取、车牌识别等。
实验二:数字号码图像的识别(6学时)
实验内容:采用VC++编码实现,基于CDib类,针对数字号码图像,识别出数字,给出文本显示结果。
实验要求:将该题目进行分解,划分任务;组内每个同学负责一部分任务的编程工作;每个人针对自己负责的工作至少提供两种实现方法,并放入整个项目流程中验证这两种方法的有效性;最后总结出两种方法的异同以及适应的范围。
实验目的:考查学生对数字图像处理应用中每个步骤的掌握程度和项目合作沟通能力。
上述实验涉及以下几个步骤。
①图像的预处理;
②图像的分割;
③图像的特征提取;
④图像的分类。
组中每个学生负责一个步骤,所有步骤都需要尽心设计,这样整体的效果才可能最好。同时大家需要协商各自负责模块的人口和出口的数据结构,保证数据能够在模块之间顺利流转。这种协商和分工合作的能力是软件工程专业最需要的技术能力之一。
以“数字号码图像识别”为例,该题目可以分割成4个步骤:预处理、数字图像切分、数字图像特征提取和数字识别。在每个步骤中都有分别需要注意的問题,如在预处理阶段,需要对图像进行去噪声,增强对比度,甚至需要进行膨胀和腐蚀将图像中断裂的数字部分连通起来;在数字图像切分阶段需要制定适应性广泛的切分策略来应对各种情况,如数字排列可以呈现任意的倾斜角度,或数字字符相连等;在数字图像特征提取阶段,我们可以考察每个数字图像的自相关系数特征,或者每个数字图像的频谱特征,也可以考察数字图像的几何拓扑特征,如将数字图像分成2个洞的(8),1个洞的(4,6,9,0),没有洞的(1,2,3,5,7),针对每个类别再提取新的几何特征;在数字图像识别阶段,可以采用神经网络的分类器,或者利用制定的一些分类策略来分类,或者采用主成份分析(PCA)的方法来识别。
4.结语
两年多的教学实践表明,新的教学大纲、授课方法和实验内容有利于激发学生的兴趣,使他们带着問题去学习,从而加深了对图像处理应用领域的了解,锻炼了编写程序和协作开发的能力。下一步我们将设计更多合理有效的案例和综合性实验,力图通过这门课激发学生的创造力。
学生思想教育是高等教育培养的重要内容之一。北京交通大学软件学院结合人才培养改革,探索与实践软件工程专业硕士思想教育的新途径、新思路。总结了工程硕士思想政治教育的特色工作,以软件工程专业硕士的思想教育工作经验为例,探索全日制专业学位研究生思想教育规律并推广经验,具有现实意义和可操作性。软件工程专业硕士三级思想教育模式北京交通大学软件学院作为国家37所示范性软件学院之一,自建院一直致力于应用型人才培养模式改革,以满足我国软件产业迅猛发展对高端复合型人才的需求。作为高教人才培养改革特区,2006年试点招收全日制专业学位硕士,在七年多的教学过程中遵循“培养应用型、复合式高层次工程技术和工程管理人才”的全日制工程硕士培养目标,坚持以教育改革为中心,产学合作,在开放与社会化办学、国际化、教师聘任等方面为高等工程教育改革做出了示范。“育人为本,德育为先”,在推进人才的工程实践能力培养的同时,软件学院始终以思想道德教育为抓手,引导专业学位硕士树立正确的价值观。努力克服改革前进中遇到的困难与挑战。经过对全日制工程硕士的思想教育工作不断总结,摸索出了一套学院、企业、导师相结合的全日制专业学位硕士三级教育模式。针对软件专业学位研究生,在学院方面,软件学院研究生工作组结合传统的研究生的思想政治教育,如对马克思列宁主义、思想、邓小平理论、三个代表重要思想、科学发展观等的学习和理解,引导研究生热爱祖国,了解时政方针和国内外形势;在企业方面,校企联合,利用社会资源,要求用人单位发挥同样的育人作用,促进学生加强职业个人修养,满足学生职业发展需求;在导师方面,实行校内外“双导师”共同监管模式,发挥学生健康成长的指者和引路作用。以下几个方面总结了软件学院开展思想教育工作的新思路、新方法,重点体现了三级教育力量各自的工作特色和作用。
一、创新思想教育载体,细化分类教育
作为落实中央16号文件的重要举措,北京交通大学软件学院认真贯彻落实北京市委教育工委的相关要求和学校的相关文件精神,以深度辅导、社会实践工作为创新载体,着力开展专业学位研究生的安全稳定和心理健康教育,全面提升辅导员工作的精细化水平。针对深度辅导,提出四项要点“覆盖全体,重点辅导;针对问题,提高效率;提高技巧,科学指导;整合力量,全员育人”。在校院两级党委的领导下,软件学院以科学发展观统领全局,以研究生综合素质培养为重点,以研究生工作组为抓手,学生干部为主导,统筹班主任等教师力量,推进深度辅导的辐射效果。在工作过程中,研究生工作组不断学习心理辅导理论,总结工作的方式方法,提高成效。
促进思想政治课堂教学与社会实践对接,充实提升研究生思想觉悟和理论水平。培养研究生对马克思列宁主义、思想、邓小平理论、三个代表重要思想、科学发展观等的理解和体会,培养学生热爱祖国关心国家大事,了解时政方针和国内外形势;培养学生关心集体和他人,学会妥善处理人际关系、正确面对人生道路的顺境和逆境,加强个人修养等;在学术教育中,培养学生严谨的科研作风和学术诚信,在职业教育中,培养学生的诚信意识和责任意识。根据学生的专长、技能、性格进行分类引导教育,变面向群体的粗放型思想政治教育为面向个体的细作型思想政治教育。
二、重点关注心理健康,保障安全稳定
招生伊始,专业学位研究生的社会认知度还不足,社会上普遍认为“专业学位研究生水平低于学术型研究生”,录取学生大部分由外专业调剂而来,自信心不足,缺乏专业兴趣和学习动力,对就业前景十分担忧。另一方面,针对全日制专业学位研究生的教育改革,高校在思想和观念上还未能形成统一认识,没有突出专业学位区别于传统学术学位的人才培养特色,导致专业学位研究生自身定位不明确。因此,作为新型人才培养模式的目标人群,专业学位研究生中存在的心理问题相对学术型研究生来说更为突出。另外,全日制专业学位人才培养的实践环节使在校硕士大部分时间在参与校内外专业实践、学习交流等各类活动,研究生的人身安全和社意识形态也成为高校安全稳定的重点关注对象。
通过研究生入学教育、学期教育、毕业教育、党员教育、素质拓展等具体途径对研究生学习、心理、生活、家庭等方面进行有效的教育引导,及时了解学生的思想动态。关注学生之所需,了解学生之所想,保证谈话内容能够找准切入点。制定了研究生安全应急预案,为全体在校实习学生宣讲并购买了商业保险,组建了研究生维稳小组,定期开展安全讲座,发送安全小贴士邮件,签订《安全责任书》,充分发挥研究生“自我教育、自我管理”体系的作用。在信息社会的快速发展中,改变单一的教育方式,通过电话、即时通讯软件、社交网络、微博等多种手段拓展沟通方式,确保学生个人动态信息传达及时有效。
三、有效开展生涯规划教育,提高就业竞争力
专业学位硕士的人才培养以就业为导向,因此通过多种方式推进全日制专业硕士的职业生涯规划至关重要。以学生自身职业发展为诉求,设计思想政治教育形式和内容,并结合学生的培养计划从传统的以面向科研的研究生为对象开展思想政治教育,转变为符合专业学位研究生培养特点,以提升就业竞争力、职业发展力和培养正确价值观为重点的思想政治教育。
就业情况的好坏直接影响全日制专业硕士的社会认可度,从而间接影响学生的职业发展和就业心态。软件学院经过考察,建立了一批实习基地共同开展人才定制培养,从企业内部聘请了一批经验丰富、技术水平过硬的技术人员作为校外导师,参与人才培养与思想政治教育环节。
为扩大专业学位硕士的专业眼界,提高就业竞争力。北京交通大学软件学院引入企业资源,建立相对稳固的实习基地,充分发挥校企合作优势,开展IT企业认知、职业生涯规划、面试模拟大赛等一系列主题教育活动,为学生提供参观行业内知名中外企业的机会以及职业规划讲座。参观走访的单位有微软、百度、IBM、甲骨文等,旨在让在校专业硕士提前体验、直观感受到IT企业的工作模式,加深学生对软件行业的了解以及企业文化的认同,培养学生对软件的兴趣,为实习就业工作打好基础。邀请邀请企业高管开展职业规划讲座、面试技巧辅导,讲述企业文化和个人职业发展,促进学生认清形势,明确自我定位,及早开展生涯规划,减轻就业压力。为更好地为专业学位硕士提供正确的就业指导,软件学院研究生工作组走进对口单位了解企业情况和用人需求,利用校友资源获取就业信息,构建多元化的就业推荐网络。
四、加强校企合作,开展“双导师”管理模式
硕士研究生导师在研究生的思想政治教育方面有着不可替代的作用,是学校和学生的重要纽带,是专业教育最直接的体现者。而专业学位的培养过程从课程设置上,实训、实习等环节比重明显加大,因此在校外期间的思想教育成为校内导师的教育盲点。软件学院以校企联动开展人才培养为契机,聘请企业导师给软件工程专业硕士专业指导的同时,开展思想教育。利用学校导师与企业导师的双重监管和教育,确保学术硕士的安全及心理教育覆盖全体,不留死角。
首先,要求导师注重言传身教,以身作则。“85后”“90后”群体强调个性,具有很强的怀疑精神,对说教容易产生逆反心理,所以导师的身教更胜于言教。可以说,导师是专业学位硕士进入社会工作之前接触最多、最容易对其产生影响的人,因此导师必须敢于坚守正面的价值观念,敢于向学生灌输正面的价值理念,在与学生的直接交流中,对学生进行是非观、人生观、价值观的教育。
其次,在论文或实习环节,要求校内外导师分别把对职业道德、思想品质等方面的教育融入负责的每个环节,如在社会实践中教导学生加强职业责任感,从毕业实习、毕业设计等环节中培养学生扎实刻苦的学风和精益求精的工作态度。这些从实践中来、到实践中去的教育往往比空泛的说教教育更容易被学生接受。要求校内外导师在学生出现学业或生活困难时,及时进行通知研究生工作组,促进快速的有效引导,避免出现严重的心理问题,将思想教育工作常态化,确保学生按时、保质、高效地完成校外实践环节。
五、扩大国际化视野,增强文化交流
在教育国际化背景下,软件学院确立了国际化、具有国际视野和竞争力的研究生教育理念,重视解决好国际化人才的思维与国际接轨,培养全日制专业学位研究生的国际化观念:一是全球化竞争;二是危机意识;三是创新。软件学院关注国际化人才培养质量,为培养一批具有国际视野通晓国际规则能够参与国际事务与国际竞争的国际化人才,全面推进以培养创新精神为核心的素质教育。积极招收留学生,开展纯外语教学,营造学院的国际化氛围。开展中外学生文化交流、前沿技术讲座、素质拓展等形式多样的教育活动,培养专业硕士的国际化思维。2011年,软件工程硕士新生,包含来自17个国家的留学生130余人,开展了“春江潮水连海平,海上明月共潮生;花好月圆思乡切,海外学子别样情”的主题中秋活动。通过共度中秋佳节,中外学生不仅融入了新集体,也加深了解到不同民族文化。此外,通过邀请北京公安宣传中国法律法规、茶话会等方式让中国学生与拥有不同文化背景的留学生互动,培养其接纳不同价值观的能力。
六、引入以评促改,建立综合评价体系
全面的人才培养质量评价体系应是教育系统内部评价和使用者的外部评价相结合的综合评价体系。在学生的思想教育方面,软件学院建立“动态反馈”机制,引入外部评估,定期举办用人单位、校外导师座谈会,了解讨论学生在企业的工作表现和思想动向,促进学校的思想教育工作方式不断完善。形成一套了综合学生素质能力评价与思想道德评价的体系。
经过7年的工程硕士人才培养改革和探索,北京交通大学软件学院为国家培养了一大批懂管理、具有较强研发能力和很强英语能力的高素质软件人才,取得了不少用人单位的高度评价。正是在软件工程硕士管理环节中加强思想教育引导,始终将德育放在关键环节,不断探索和实践学生思想教育新模式,才使培养出的高端人才能够科学发展,获得社会及行业的认可。全日制专业学位硕士的管理和思想教育目前尚处于起步阶段,只有不断吸收、借鉴、实践国际上专业学位硕士研究生教育的先进做法,更新教育理念,创新工作思路、提高辅导水平,积极思考长期规划,为学生提供良好的管理环境,为专业学位硕士的职业发展创造有利条件。