在线客服

软件工程论文实用13篇

引论:我们为您整理了13篇软件工程论文范文,供您借鉴以丰富您的创作。它们是您写作时的宝贵资源,期望它们能够激发您的创作灵感,让您的文章更具深度。

软件工程论文

篇1

按照循序渐进,由浅入深,逐层推进的原则,盐城师范学院信息科学与技术学院将软件工程专业的实践教学体系分为四个层次:课程实验、课程设计、综合实训、毕业设计。其中,综合实训是以前期课程实验和课程设计为基础,综合运用多门相关课程(群)知识完成一个工程项目的实战训练,并作为后续毕业设计的预演,是整个实践教学体系中承上启下的关键环节。在软件工程领域,软件开发与软件测试是目前两个主流的就业方向,也是综合实训课程训练的重点。软件开发综合实训要求以软件生命周期为主线,综合运用程序设计、数据库应用、软件工程、软件项目管理等学科知识,严格遵守软件开发的流程与规范,完成一个软件项目的开发,最后提交软件产品和相关技术文档;软件测试综合实训要求学生以软件开发综合实训所完成的软件产品为被测对象,综合运用软件测试与质量保证、软件测试流程与方法、测试框架与自动化测试等学科知识,使用软件测试的方法与技术,设计测试用例和测试脚本,完成被测软件的功能测试与性能测试,生成测试报告,并对测试结果进行分析。综合实训的培养目标为:通过软件开发与软件测试项目的实战训练,全面提升学生综合运用所学知识与技术解决实际工程问题的素质与能力,进一步加深学生对工程化、系统化原则与方法的理解,为胜任现代软件工程环境下高质量软件的开发、测试和维护工作奠定坚实的基础。

3CDIO模式下课程改革与实践

根据综合实训课程的定位和培养目标,借鉴和吸收CDIO工程教育理念和标准,按照“以CDIO培养大纲为指南、以项目为载体任务为驱动、以工程能力培养为目标”的原则,对我们综合实训课程改革进行了探索与实践。

3.1全真模拟企业环境,实施一体化训练模式

软件开发和软件测试是综合实训的主体内容,传统的训练模式将二者割裂开来,分两个阶段分别完成实训项目,这种方式没有考虑软件开发与软件测试的内在关联与协同性,与企业真实环境也不相符合;并且由于两个实训阶段时间跨度较大,项目衔接性差,效率低下,实训效果也大打折扣;而在真实的企业环境中,软件开发小组和软件测试小组共同对同一个项目负责,各司其职,协同完成整个项目。鉴于此,我们采取“全真模拟、同步协作、角色互换”的策略,实施软件开发与软件测试一体化的训练模式。具体地说,整个实训过程完全模拟企业真实环境,将某个项目分配给由若干学生临时组成的项目组,该项目组又细分为开发小组和测试小组,分别负责软件的开发与测试工作;项目完成后,开发小组和测试小组角色互换,重做该项目。实践表明,一体化的训练模式能实现软件开发与软件测试的无缝衔接,学生能在更为真实的环境中参与整个项目过程,体验不同角色的职责范围,并通过不同的角色转换,使学生更深刻认识到开发人员与测试人员协同合作对完成整个软件项目的重要性。

3.2项目驱动,全面实践CDIO

CDIO的核心就是企业与社会环境下的构思、设计、实现和运作系统,它展示了一个产品或系统完整的开发过程,也体现了“做中学”和“基于项目的教育和学习”的精髓。从软件开发与软件测试的角度,无论是以软件生命周期为主线的开发过程,还是以测试流程为主线的测试过程,无不体现着软件产品从构思到运作的整个生产过程,与CDIO理念不谋而合。这里,我们以项目为载体、任务为驱动,以CDIO方法论为指导,严格按照“构思、设计、实现和运作”四个不同阶段来开展实训过程,以培养学生对产品、过程和系统的构建能力,增强学生的工程化意识。CDIO与软件开发、软件测试过程的对应关系

3.3分组互学互助,培养团队协作能力

团队能力是CDIO大纲要求工程毕业生必备的一种能力,也是软件企业非常看重的一种职业能力。在实际实训过程中,我们模拟企业真实环境,将所有学生分为若干项目组,每个项目组又细分为开发小组和测试小组,各小组由一名组长和若干名组员构成。根据任务分工不同,每名学生都被赋予一定的角色,组员在组长的指挥协调下通力合作,共同完成实训项目。实践表明,分组模式能较好地激发学生的学习热情,提高学习效率,而且也营造了良好的学习氛围,组员之间分工协作,互学互助,学生的沟通能力、协作精神和团队意识大为提升。

3.4面向全体,务实勿虚,促进共同进步

综合实训是一种典型的自主学习课程,学生在任务的驱动下以小组为单位协作完成实训项目,但由于任务分工不合理、学生自制力差等原因,容易导致小组内个别技术较好、自觉性高的学生承担大部分甚至全部工作,而部分学生却人浮于事,使团队分工协作流于形式,不利于全体学生的共同进步与提高。为避免此类现象的发生,我们考虑在角色分配和任务分工时,尽量使学生都能承担软件设计、编码、测试用例设计、脚本设计、测试实施等较为具体的工作,使学生通过具体的训练来提高专业技能,而对于需求分析、计划制定、总结报告等相对较“虚”的工作则由组长带领全体组员共同完成;同时,任务分工也充分考虑学生原有的技术基础、兴趣爱好和特长。这种分工方式在尊重学生个体意愿的基础上使得每个人都有具体明确而又力所能及的任务分工,能充分调动学生的学习积极性,激发学生的学习潜能,促进全体学生的共同进步与提高。

3.5实施多维度考评体系,注重过程考核和能力考核

考核是对学生学习成果的认定和评价,良好的考核机制能对学生的学习过程和学习动机产生正确的指引作用,促进培养目标的达成。在实训课程的考核上,我们以CDIO大纲要求的能力培养为导向,学习过程与学习结果并举,实施多维度的考评机制,每名学生的成绩由平时成绩、所在小组成绩和个人成绩三部分组成。其中,平时成绩主要考评学生的职业态度与能力,小组成绩主要考评学生所在小组的整体表现和工程实作能力,个人成绩主要考评学生个体所承担任务的完成质量,且每项成绩的考评方式也是多元的,力求做到公平、公正、合理。在小组内部,同组学生的小组成绩相同,但平时成绩和个人成绩各异,引导学生在努力完成各自任务的同时,重视组内的协作互助,并通过各个个体的高质量工作提高整个团队的工作质量。实践表明,该考评体系既重视最终学习成果的呈现也关注学生学习过程中的表现;既重视团队整体的工作效率也关注学生个体在团队中的价值;既强调学生专业技能的训练和工程能力的培养也关注学生职业素养和个人能力的提高,有效避免了传统评价方式只看结果不看过程、评价指标单一化、评价结果趋同化的弊端。

篇2

软件工程专业的特点是理论性与实践性并重,特别是实践性非常强,软件工程的许多理论都来源于对实践的总结与归纳。但是目前的教学方法还主要是沿用计算机科学与技术专业的教学方式,偏向纯理论介绍,教学方式上还是以教师讲、学生听为主的“灌输式”的“教授/接受式”传统教学,学生只是被动接受,学习积极性不高。此外,很多教师缺少实际软件项目的开发经历,在教学过程中缺少必要的案例或者使用的案例不合适,妨碍了学生对软件工程中基本概念与理论的理解,不明白可行性分析、需求分析、软件设计的必要性以及不会撰写所对应的文档。

(二)实践少,理论与实践相脱节,学生动手能力差

目前很多高校软件工程专业开设的理论课比较多,实验课比较少,并且由于目前的专业教师大都是毕业后直接到高校工作的,缺少开发大型软件项目的实际经历,设计的实验题目大都规模比较小并且比较零散,比如成绩管理系统,学生可以直接进行设计与编码,无需可行性分析、需求设计、软件设计、进度安排等环节,也没有必要撰写相关的文档。如此以来,学生不能够加深对相关概念与理论的学习,没有体会到软件工程理论在实际软件项目开发中的重要作用,导致学生面对实际软件项目时无法下手,这直接影响到软件工程专业毕业学生的市场竞争力。

(三)校企合作不够

校企合作是实现高校软件工程人才培养与企业需求无缝连接,培养高素质软件人才的重要途径之一,尽管目前很多高校的软件工程专业都建立了校企合作模式,取得了不错的成绩,但校企合作存在着缺乏相应的政策引导、缺少双方交流的平台、企业积极性不高、合作松散、管理手段缺乏等问题。这样就会出现高校培养的软件人才动手能力差,无法满足企业的需要,而软件企业又找不到合适人才的尴尬局面。校企合作力度不够在地方院校表现的更为突出,主要原因是地方院校的软件工程专业在影响力与办学规模上与国家级软件学院有一定的差距,知名的软件企业很少愿意与地方院校合作,另一方面,地方院校缺乏政策与资金的支持,缺乏寻求与企业合作的机会。

二、应用驱动为导向的人才培养模式的改革措施

软件工程专业存在的重理论、轻实践的弊端,使得培养的学生在校学习的知识不能形成一个有效的体系,也没有机会将所学知识融于具体项目之中,同时也不清楚当前软件企业对人才的真正需求。而另一方面,软件企业希望新招聘来的员工能够直接融入到项目的开发中,能够解决项目中的实际问题。这样就形成了高校培养的软件人才“过剩”,而软件公司所需人才“短缺”的矛盾局面。为此,本文提出了以实际应用驱动为导向的人才培养模式,以培养能够在软件公司的一线解决实际应用问题、能在实践中应用所学知识、在实践中创新的应用型人才,并对该培养模式的相关实施方法进行了探讨。应用驱动为导向的软件工程人才培养模式的基本保障是以实际应用为导向加强师资建设,该培养模式按照人类认识的规律,以解决实际问题为目标,的三个阶梯式阶段:案例式课堂教学,项目式综合实训,顶岗式专业实习。

(一)以应用为导向加强师资建设

师资建设是专业建的首位,教师在人才培养中起着不可替代的作用。目前,软件工程专业的师资建设主要还是以理论研究为导向,多数教师从学校硕士或博士毕业后直接到高校工作,主要以理论研究为主,缺乏大型软件项目开发经验,不太了解软件产业的新技术与新动向,从而在教学过程中出现重理论、轻实践的现象,很不利于软件工程专业人才的培养。以应用为导向的师资建设就是在现有的以理论研究为导向的基础上,注重提高教师的实际动手能力,可以从以下3个方面做起:①改变传统的以学历和科研为导向的高校教师招聘方式,软件工程专业应当招聘一批具有大型软件项目开发资深经验的软件工程师,比例占师资总数的30%~40%为为宜;鉴于软件技术的快速更新,应定期派遣教师到知名软件公司的一线进行学习和培训;倡导并且增加教师带动学生参加研发类横向课题的机会,提高教师与学生的实际动手能力。

(二)案例式课堂教学

改变传统的“灌输式”的“教授/接受式”教学模式,使用案例驱动式的教学模式,就是指教师本着理论与实际有机结合的宗旨,遵循教学目的的要求,以案例为基本素材,通过师生、生生之间的双向和多向互动,让学生把所学的理论知识运用于“实践活动”中,以提高学生发现问题、分析问题和解决实际问题的能力。一方面,教师首先应准备一些引入型案例,例如,千年虫问题,来说明工程化方法对软件开发的重要性,并且提高学生的兴趣;另一方面,教师应该准备好一个能覆盖软件工程的各个环节和阶段、难度适宜的实际软件项目案例,这个案例最好是教师实际参加过的或者熟悉的项目,并且有必要的软件文档,然后把这个案例作为一个实际情境,结合案例引入并讲授各个知识点,必须要求学生撰写相应的文档和程序,然后与使用案例的已有标准文档和程序进行比较,找到自己的不足,加深对知识点的学习与理解,做到理论与实际相结合。

(三)项目式综合实训

鉴于软件工程专业的实践性很强,应该以实际应用项目为驱动进行软件工程的课程综合实训,让学生按照软件工程开发的流程去独立地完成一个应用项目。首先,教师选择一些中小型的,生活中经常接触的项目作为综合实训项目库,项目的选择一定要难度适宜,太简单体现不出软件工程化开发方法的优点,但是也不能太难,难度控制在学生可以运用所学习的知识、技能,通过讨论和合作可以完成,然后由学生人组成的小组从中选择合适的项目。然后,每个小组模拟软件企业中的一个项目开发小组,进行分工合作,由组长作为项目经理与指导教师沟通,指导教师模拟实际的客户。最后,项目组严格按照软件项目的开发流程来一步一步完成任务,应该包括可行性研究、需求分析、系统设计、实现与测试等阶段。在每个阶段学生应该提交必要的文档,可以按照《计算机软件文档编制规范》(GB-T8567-2006)撰写可行性分析报告(FAR)、软件需求规格说明(SRS)、软件(结构)设计说明(SDD)、软件测试报告(STR)等。在每个阶段,学生应利用流行的软件工程工具,例如,Microsoft Project、RationalRose等。

(四)顶岗式专业实习

软件工程专业培养的人才最终是面向软件公司的,所以很有必要在第四学年时采用校企合作的方式,委派学生到软件公司顶岗实习,时间根据实际情况以个月为宜。在顶岗实习期间学生要与正常的员工一样完成企业的工作要求,真正在实际软件开发中理解并应用前期学习到的知识与技能,实现自身能力的提高,成功地由学生角色过渡到职业角色。在实习期间,学生的管理以企业管理为主,学校管理为辅,学生、教师、企业三方根据实习项目的实际情况确定学生毕业设计题目的选题与设计,最终由学校的指导教师负责指导完成毕业设计论文的撰写与答辩等事宜。

篇3

2毕业实习设计指导需考虑的因素

1)学习动机。自我效能感、学习动机和学业成就三者之间存在相关关系,且自我效能感与学业成就、学习动机和学业成就之间均呈显著正相关[5]。自我效能感是人们对自身能否利用所拥有的技能完成某项工作行为的自信程度;学习动机是推动学生进行学习活动的内在动因,是激励、指引、维持、调节学生学习的强大动力[6];学业成就指经过学习和训练后所获得学业方面的知识和技能,是学生学习状况和水平的集中体现。高校毕业班级学生处于即将告别学生时代而走向社会的特殊阶段,毕业、考研和就业等诸多问题以及社会价值日趋多元和竞争压力日益加剧的强烈冲击,对其学习和心理产生了重大影响[7]。为增强学生的学习动机,从选题入手,贯穿毕业实习设计各环节,融学生兴趣爱好、就业意向与学生毕业实习设计于一体,激发学生的内在动力,是取得好的设计质量的关键因素之一。2)项目驱动。有效地整合指导教师的各类纵向、横向在研项目并将其进行深入的挖掘和提炼,根据毕业实践环节具体要求细分软件工程项目,将其引入到学生毕业实习设计中,采用以项目驱动为主体的人才培养模式,优化管理体制与实验室运行机制,探索一种新的实践教学模式,以期实现实践教学过程可控化、项目实施团队化、项目资源共享化的目标,培养具有扎实的工程实践能力、较强的技术创新能力、良好的团队协作能力和可持续发展能力的人才[3]。3)导师制。采用指导教师全程负责制是确保后续创新模式实现的关键。导师可以是从学校选定的各方向专业教师,也可以是从企业选出的工程技术人员,还可以是两者的结合(双导师制)。导师既要完成毕业实习与毕业设计的组织工作,又要完成这两个环节连贯且相互渗透的业务指导工作。为确保这种教学模式有条不紊地实施,指导教师应认真履行相应的职责。首先,根据毕业实纲和设计大纲的要求,与企业协调好学生的毕业实习设计课题和企业的生产技术工作需要之间的关系,落实毕业实习内容及合适的毕业设计课题;其次,要对学生毕业课题进行方案论证,及时提供指导和质量监督,确保教学任务的完成[4]。

3毕业实习设计指导创新模式的设计

结合软件工程机电一体化方向的专业特色,在现有基础上设计的毕业实习设计创新模式总体框架如图1所示,其主要内容包括如下几方面。1)以学生为本,模块化组织。基于学生的学习动机,根据学生某方面的专业特长和未来的发展取向,该模式分为3个大模块:以软件设计、软件测试、软件维护和软件项目管理等为目标的软件模块(软件方向);立志于进一步深造的考研、公务员考试等模块(考研方向);面向工程的工程应用模块(工程应用方向)。大模块下再设子模块,如以工程应用为背景的模块又分为UG、PRO/E等大型软件的工程应用模块;以单片机、PLC等程序开发为主的工控模块;CAD、UG、PRO/E等面向应用软件的二次开发模块。学生根据学业基础、就业意向及学习兴趣自主选择。2)毕业实习设计一体化。毕业实习与毕业设计是保证教学质量的重要阶段,二者的关系越来越密切,将二者人为分割的教学模式已不太适应教学的需要,必须建立二者紧密结合的教学新模式。具体来说,软件模块将毕业实习和毕业设计两个阶段合并为一个阶段,形成一个相对较长的时间整体,与大型软件公司合作,安排在第4学年,这也是软件工程专业目前比较流行的模式;工程应用模块中学生可以根据毕业设计课题有针对性地开展毕业实习工作,实习、设计由同一导师指导,采取集中实习和反复调研的形式,实习围绕设计的需要展开;考研模块则将实习和设计的时间提前,第6学期即由指导老师提前介入,预先安排相应工作,在充分保证设计质量的前提下,为考研创造条件。至于软件方向与背景专业方向课程安排上的冲突,软件学院采取课程置换与学分互认方式,拓宽学生的专业课程知识,达到多元方向的均衡。3)导师制和项目驱动贯穿始终。采取导师负责制,将部分学生(考研方向)的毕业设计提前到第6学期开始,到第8学期结束,历时1年半时间。在导师的指导与安排下,学生开展的工作包括文献检索,熟悉设备,仪器校准,实验计划,实验开展,项目调研、开展、改进和总结各环节。基于项目驱动,每一学生的实习设计选题均为某方向科研子项或工程子项,学生通过一个完整的项目链,在熟悉科学研究方法、步骤和科研组织等环节基础上,全面培养动手能力、独立工作能力和创造性的思维能力。4)建立全程质量监控体系。“全程”指从毕业设计选题、毕业实习指导、教师下任务书、学生做开题报告、方案设计、实验、中期检查、撰写论文到答辩评分、总结归档等质量形成的全过程;以制订计划、明确目标执行计划检查、反馈处理、纠偏制订新的计划、目标为质量监控途径。针对毕业实习、毕业设计的各个环节,制订详细可行的规范,把握各阶段的时间节点和考核标准,目前要求教研室审核的关键节点包括选题、任务书、开题、中期检查、综合评价、答辩等。

4工程实践环境的构建

要保证上述模式的良好运行,必须有一个稳定而可行的工程实践环境。我们一直注重软件工程专业实践应用型人才培养,不断加强与IT等用人企业的合作。从软件工程机电一体化方向专业开办以来,江西理工大学软件学院先后在中兴软件、中天电子、江西微软、上海杰普等多家大型软件公司和IT培训机构建有校外实习基地,在江西铜业公司、中金岭南股份公司、恒天动力有限公司等建有校外专业背景方向实习基地。打造相对稳定、整体素质较高的导师队伍是实现该创新模式的有效保障,学院应考虑:①从实习基地遴选指导教师;②选派软件方向教师到合作基地工程实训;③选派专业方向教师到国内知名院校访学。对毕业实习设计各环节,软件学院制定有详细的《毕业实习设计规范》,系部成立“软件工程毕业设计领导小组”。教研室针对该内容进行深入调研与问题分析,在教师中开展动员,提前落实并布置工作;在学生中宣传动员,使学生在思想上有准备,重视毕业实习、毕业设计;在毕业设计过程中,强调过程质量控制和管理,及时跟踪控制,及时发现问题、解决问题。

篇4

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)培养了一大批具有国际竞争力、满足企业需求的高级软件人才。

篇5

2.1构建软件工程管理体系

构建合理的软件工程管理体系主要包括以下内容:第一,构建人才体系。在软件工程管理中,人才对管理有着重要的作用,人才是做好软件工程管理的前提。第二,为了提高工作人员工作中的积极性,确保项目中所有目标能够得到落实,应当加强人力资源管理。第三,在人才的管理中切记要以平等的态度进行管理,而不是控制[5]。

2.2加强风险管理和进度管理

对于软件项目管理中的风险管理和进度管理,我们也应当分为两个方面来进行探讨。第一,构建风险管理体制,只有这样才能及时发现软件工程管理中存在的风险,并对存在的风险进行及时处理。第二,提高项目中风险管理人员的风险意识,确保风险管理人员能够对风险有一清楚的认识,并且能够对风险进行合理的分析,针对风险提出有效的风险防范制度。在风险管理中风险管理人员应当将风险报告提交给项目经理,对项目中存在的风险进行有效的防范,阻止风险出现,确保企业的顺利发展[6]。

2.3加强对项目团队的管理

首先,应当增加工作人员之间的联系与沟通,使整个团队中的人员都具有沟通意识和团队合作精神。其次,对各个工作人员的工作内容进行明确分工,合理地将责任分配到每个工作人员,保证工作开展后一切都能顺利地进行。最后,调动项目中工作人员的积极性和注重性,使团队中的工作人员都能够完全投入到工作之中,提升团队工作能力,改善工作人员的工作态度,做好软件工程管理工作。

2.4对软件工程进行监督

软件工程监督是软件工程管理中的重要方式,工程监督指的是对项目所自制定的目标进行实时监测,软件工程监督要贯穿整个项目,其目的在于对软件开发的流程进行规范。软件工程监督,可以使开发过程中的成本、进度、质量实现透明化。在对软件监督过程中软件需要完成以下任务。由项目负责人对项目进行监督,在监督过程中,要对监督数据进行总结,并对数据进行合理分析,及时发现问题并解决问题。将CMM标准应用于软件工程管理之中,CMM标准的引用可以提升软件开发效率,降低软件开发中的成本以及风险,缩短开发时间,提高软件质量,总之将CMM标准运用到软件工程管理之中,能够确保用户得到理想的软件产品。

篇6

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

2.1学科建设

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

2.2校企办学

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

2.3师资建设

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

3三层结构课程体系建设

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

3.1基础理论由公共基础课程和专业基础课程构成:①公共基础课程主要涵括地方高校各现行必修公共课程,②专业基础课程是专业课程坚实的理论基础,专业必修前导课程,是对软件工程专业基本“计算”概念理解、掌握,问题计算求解能力和构建中小规模软件系统综合能力的初步培养。

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

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

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

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

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

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

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

3.3.2合作企业岗位实训针对毕业学生和部分专业老师做岗位综合实训:①学生岗位实训:让学生真实参与企业项目实战,充分消化吸收前期所学理论和技能知识,进一步提升学生综合能力,为就业夯实基础。②老师岗位实训:专业老师参与企业项目研发,并将企业项目开发经验和技术进行梳理总结、编纂成册,运用到实际日常教学环节,促进教学质量提高,有利于缩短理论转化实际成果周期。

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

篇7

1.2设计阶段的监理设计阶段是软件工程项目的一个关键阶段,虽然设计费用仅占软件工程项目总造价比例的1%-3%,但是其对整个项目的顺利开展以及造价、质量、进度等的管理影响非常大,设计方案质量高低将直接影响到软件工程项目实施过程中的开发与配置。在这一阶段,监理内容主要是:(1)审核软件系统的需求是否合理,以及实施路线、关键技术等内容是否合理,签署审核意见。(2)监理人员协助业主开展设计方案的评审工作。(3)组织业主、专业人员对软件工程项目测试方案、验收方案等进行详细审核,并签署审核意见。(4)结合合同要求进行进度计划审核,并确认进度计划的可行性、合理性,签署审核意见。(5)协助业主配合软件开发商开展软件工程实施前期的调查。在设计阶段,监理重点内容就是对设计方案进行细之又细、慎之又慎的审核。

1.3实施阶段的监理在软件工程项目实施阶段,一般可以分成需求分析、设计、编码、测试这4个步骤,每个步骤都有相应的监理内容和侧重点。(1)需求分析是软件工程实施的第一步,是保证最后开发出来的软件产品符合业主需求的基础,这一阶段的工程内容主要包括词汇表、用例模型、用例规约等内容,而对应的监理内容则包括监督需求分析过程、审核需求分析计划、审核需求分析结果等内容。(2)是设计阶段的监理过程,主要包括监督软件开发商的设计过程、审核设计计划、审核软件结构文档、监督软件设计结构中存在的问题并提出意见等。(3)编码阶段的监理,这一阶段是将软件开发商的设计思想变成计算机语言的过程,监理任务主要是审核项目组的人员、设备、进度计划等,并实时掌握软件开况,确保软件工程开发能按照进度计划顺利开展。(4)测试阶段的监理。软件工程的测试一般可以简单分成单元测试、集成测试、系统测试等内容,而监理内容则主要是审核测试计划、监督测试流程、复核测试结果等。

1.4验收阶段的监理验收阶段是软件工程项目的最后一个阶段,该阶段就是软件系统的试运行、验收移交过程,监理内容则主要是对软件系统进行细致的审核、监督、验证、测试、确认。

2应用分析

正确的软件工程监理方法有助于保证软件工程监理质量,从而确保软件工程质量,但目前国内软件工程监理工作中,还没有形成系统的监理方法体系,只有一些零散的监理方法和理论,比如,PDCA戴明环、鱼骨图等。在软件工程项目中,监理单位扮演的是技术方角色,其与普通土建工程的旁站监理不同,需要从软件工程项目一开始就做好进度、成本、质量等方面的监理,确保软件工程的顺利开展。

2.1质量控制在质量控制方面,最常用的方法是鱼骨图和PDCA戴明环。在运用鱼骨图进行软件质量控制时,首先需要确立质量控制目标,分析影响质量的因素,并对这些因素进行深入分析,在鱼骨图上标出来,讨论解决问题的方法,并标出解决方法的权重,以此来控制软件工程质量。比如说:在软件工程具体某实施项目的质量分析上,从人、机、料、法、环5个角度分析现场作业的质量因素。例如:某税收管理系统建设中,监理单位为有效控制工程质量,在需求分写环节非常重视需求的调研以及需求分析结果的审核,运用鱼骨图从人、事、时、地、物五个方面分析影响因素,如图1所示。

2.2进度控制在进度控制上,软件工程监理常采用甘特图进行,而采用这一方法的前提是对软件工程项目的任务了如指掌,绘制出详细的工作任务分解结构图,将所有项目的开始时间、工期等到标注到甘特图上,然后结合软件工程项目的特点确定控制关键点,并确定项目的关键路径,确定项目活动之间的相互依赖关系以及时序进度,按照项目类型将项目联系起来。例如:在某税收管理系统工程项目的进度监理管理中,监理人员绘制甘特图,对软件开发商的进度计划进行整体分析,发现其中存在这样几个问题:任务阶段划分不明确、任务间的关系不合理、关键任务不明确、忽略国家宏观政策对项目的影响等,结合这几个问题要求软件开发商立即进行进度计划的调整和整改,得出最优化的进度计划,并确保整个软件工程实施都处于受控状态,有效保证软件工程项目的顺利开展。

篇8

Keywords:softwareengineering;caseteachingmethod;DesignAnalysis

1引言

随着计算机应用日益普及和深化,正在运行使用着的计算机软件的数量以惊人的速度急剧膨胀,而且现代软件的规模往往十分庞大,所以指导计算机软件开发和维护的工程学科—软件工程,日益显示其重要地位。然而学习者一般不好理解软件工程的实践性,不能将所学的知识真正应用到软件开发过程中去。如何将理论与实际联系起来呢?我们认为在软件工程中采用案例教学发将会弥补这一缺憾。

案例教学法以对案例的分析解决为主线,通过对案例中的问题进行分析,激发学生的求知欲,调动学生的积极性,使学生自觉主动的学习案例,掌握原理和方法,实行科学的教育思想观念的一种教学方式。它是一种互动式的教学方法,可以实现启发式教学,能够极大的促进学生的学习兴趣,实现真正的教学相长。它更是实现理论联系实际的现实可实施的途径。案例教学法在软件工程教学中的应用将在更大程度上激发学生学习的学习兴趣和参与的积极性。同时,利于学生掌握理论知识,并运用知识解决软件开发中的实际问题,最终提高教学质量,达到学校教育培养的目标。

有鉴于此,本文试对案例教学法在软件工程中的应用作了初步探讨,以期对教育同行和广大学习者有所启发和借鉴。

2案例教学法的含义

案例教学法(casemethodsofteaching)可简单地界定为一种运用案例进行教学的一种方法,它是美国当今教育行业中非常盛行而有效的一种方法,在我国正在慢慢推广开来。1910年,美国哈佛商学院最先使用案例教学,开创了案例教学的先河。案例教学法于20世纪80年代初传入我国,它有利于培养学生分析问题、解决问题的能力,提高教学效果。

案例教学是在学生掌握了有关基本知识和分析技术的基础上,在教师的精心策划和指导下,根据教学目的和教学要求,运用典型案例,将学生带入特定的现场进行案例分析,通过学生的独立思考和集体协作,进一步提高识别,分析和解决某一具体问题的能力,同时培养学生的沟通能力和协作精神的教学方式。通过案例分析,学生可以获得蕴涵其中的那些已形成的教育原理、教学方法等知识,同时可以提高和发展学生的创造能力以及解决实际问题能力。更重要的是,通过案例教学获得的知识是内化了的知识,是“做中学”获得自己理解了的能驾驭的知识,不再像传统教学下获得的抽象的、过度概括化的生硬知识,它能立即被用到类似教学实践情境中去解决处理类似的疑难教学问题。所以从美国教育家舒尔1986年在美国教育研究协会(AERA)年会重要演讲中发出要发展关于教学的案例知识的呼吁,时至今日,在众多国家的教育研究领域中都能发现案例教学法的应用。

3软件工程案例的选择

概括而言,案例是含有问题或疑难情境在内的真实发生的典型性事件。没有案例,案例教学无从谈起,没有好的案例,便没有有效的案例教学,所以案例的选择在案例教学中至关重要。一个高质量的案例应该具备以下几个特点。

(1)目的性。案例教学的目的是为了让学生理论联系实际,通过案例让学生掌握基本的原理和概念,提高发现问题,解决实际问题的能力。一个好的案例应该使学生在讨论中加深对教材中某一重点或难点知识的理解和把握,能利用课堂学习的理论知识来分析和解决案例中所涉及的问题。所以案例的选择一定要围绕教学目的和教学要求来。如果脱离这两个中心,即使案例再生动,其教学效果也大打折扣。

(2)真实性。案例一定是现实中发生的真实事件,是常见又复杂的问题,有助于学生实践能力的提高。

(3)启发性。一个好的案例需要蕴涵一定的问题,能启发学生思考,发现多种解决的途径。问题越诱人深入,越能够给学生留下较多的思维空间,教学效果越好。

(4)生动性。案例必须生动活泼,引人入胜,这样才能引起学生的兴趣,以便展开深入的思考。

软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。它强调使用生存周期方法学和各种结构分析及结构设计技术,所以软件工程案例即是选择一些典型的软件开发系统,介绍其开发和维护的过程。

我们根据讲解软件工程课的具体体会和开发软件的实际经验,撰写了五个案例,开发了《软件工程案例分析》网络课件,详细介绍五个软件系统的开发过程,互动的方式讲述了用软件工程的方法是如何进行分析和设计的,同时在系统开发的每个过程中提出大量的问题供学生思考。案例选择了房产管理系统、财务管理系统、机票预定系统、计算机储蓄系统四个应用软件系统,同时为了提高学习者理解开发软件的难度,特别介绍L-SIMPLE语言编译系统。采用传统的生命周期方法学,从问题定义、可行性研究、需求分析、总体设计到详细设计做了比较详细的研究。系统中五个案例涉及到当前人们日常生活中关注的几个领域:房产管理、财务管理、计算机储蓄、机票预定,还有计算机的语言编译系统。案例既具有典型性,同时又具有真实性。我们选择四个应用软件和一个系统软件,一方面考虑到目前软件市场涉及应用范围的广泛性,另一方面考虑到软件工程学习者中大部分为计算机专业,对于系统软件也有一定爱好,对于将来开发系统软件作一个铺垫。

4软件工程案例教学的主要环节

案例教学的需要具备三个主要环节:

阅读案例,个人分析——分组讨论,集体交流——总结归纳,消化提升

我们尝试的软件工程案例教学中同样采用了这三个阶段:

(1)阅读案例,个人分析

学生首先对具体案例进行必要的基础知识的了解,认真阅读案例,并且要有个人的研究与分析,用软件工程的传统途径—生命周期方法学作为理论指导,熟悉软件开发过程各阶段的基本任务。

其次,学生需要尽快进入案例情境,了解、掌握案例中揭示的有关事实、情况,自居案例中的教师角色,设身处地地分析思考案例中教师的行为及对策的合理性与不合理性。在案例的分析过程中,要注意寻找其中的因果关系,只有弄清问题产生的原因,才可能找到问题的合理解决手段。注意区分基本性问题和现时性问题。基本性问题即抽象或一般的问题,常与事实背后的概念、原理、规则等有关,需要通过对案例中所包括的信息进行解释、分析、演绎、推理和抽象以得到概括化的结论。现时性问题即案例中教师所面对的特殊决定、疑难问题等要求在一定的时间范围内得到解决的那些问题,需将自己已有的知识或过去形成的经验与案例展示的背景材料、内外部因素等整合起来进行综合评判来提出多种经得起别人反驳的见解、对策以及方案。

(2)分组讨论,集体交流

分组讨论是案例教学中非常重要的环节,本质上是一种概念或想法的交流。围绕案例的重点,难点,疑点,进行讨论,辩论和争论。每个学生可以自由的抒发己见,相互启迪,互相借鉴,重点是想法的交流。要求每个学生简要介绍自己对软件开发所做的分析设计,并提出自己对该软件开发流程的看法,供大家讨论与切磋,可以按照案例中所提出的问题一个一个讨论。在教师的引导下,让学生进行课堂发言,进行全体学生的交流。本阶段要讨论主要解决两个问题:1、小组讨论没有达成共识的问题;2、按照教学目标,有意引导学生掌握软件工程的生命周期法各阶段所做的具体工作以及进行相关工作的必要性。

为了使分组讨论有效地开展,教师要作好充分的课前准备。除了熟知案例陈述的事实、观点外,还要谙知案例反映或蕴涵的原理、规则等知识,以便引导学生概括出来。要认真学习研究案例后给出的教学指南,具体拟定出课堂教学计划,这要求教师认真思考回答以下问题:希望课堂上发生些什么?如何引导这些情况的发生?讨论如何开展?时间如何安排?自己扮演什么角色?是先得结论再分析,还是相反?并对课堂讨论中可能出现的情况作出预测。教师还要依据课程目标、案例目标及教学计划的具体安排重点分析以下方面的内容:案例中反映的那些重要论题、案例中易得出两可结论的那些材料、案例中反映的情况发生的根源、案例中人物的行为、案例中所反映的而学生可能设想不到的情况等。在讨论掌握上,教师要力保讨论沿预期的轨道进行,把讨论引导到问题的解决上去,并引导出与论题相关的理论知识,力争班上每个学生都至少有一次发言的机会,切实做到有效参与。

(3)总结归纳,消化提升

总结归纳是软件工程案例教学的最后阶段,要求学生要对每个案例写出学习报告。该报告中包含学生在阅读案例中所得到的具体收获;通过分析与设计软件,提出自己所解决的实际问题;对理论上软件工程概念和案例中的实际是否一一相对应;以及对软件工程仍然存在的困惑。通过反思进一步加深对案例的认识,真正作到理论和实践的相结合。

案例教学中,师生都要注意角色转换,如果学生仍然热衷于将自己置身于教学过程之外,只做一名旁观者,案例教学也就失去了它的价值。学生只有真正地深入案例、体验角色,才会有案例情境的“再现”,案例教学的价值才能被体现。而教师在教学过程中也要不断变换自己的角色,可充当监督员,激励启发学生,监督案例分析、讨论情况;可充当示范员,向学生演示、讲解、分析案例中的事实、图表、材料等;可充当主人翁,制定下一步的工作计划并在实施中起主导作用;可作仲裁,解决各种争端;可充当交警,使讨论回到预定的轨道上来;等等。

5结束语

传统的“黑板教育学”越来越受到冷落,案例教学已经提到教育改革的重要日程上来。华东师范法学教育系郑金洲曾指出,案例教学并不是单纯的一种教学方法,它实际上是以教学内容的变革为前提条件的,正是有了形形的案例,才使案例教学成为可能;案例教学也并不是一种单纯的教授法,它实际上也是以学生行为的转变为前提条件的;如果学生仍然热衷于自己先前的角色,把自己置身于教学过程之外,只是一个旁观者,案例教学也就失去意义。

笔者从事软件工程的教学工作,在软件工程中进行案例教学法的尝试,并且在实践中得到了一定的效果。然而,在软件工程案例教学中仍有很多问题需要进一步研究探讨,比如在案例中如何体现软件的测试阶段,它需要具体的环境来实现;如何在案例中能够让学生更深入理解软件的维护过程等等问题,都是有待于我们进一步完善,使案例教学在软件工程中得到进一步的推广。

参考文献

[1]张海藩.《软件工程导论》.清华大学出版社

[2]李为民,.如何开展案例教学-哈佛大学商学院琳达教授对新教师利用案例教学的几点忠告》.北京:经济干部管理学院学报,2004.1

篇9

西安交通大学软件学院结合专业特点,提出紧耦合层进式的硬件实验教学体系,对实验教学做出了一些有益的尝试和探索。

2.1构建新的硬件实验教学体系,开展层次化的实验教学

软件工程专业和传统的计算机专业以培养计算机软硬件设计与开发的研发人员的培养目标有所不同,所以在硬件课程以及硬件实验课程体系上,两个专业的定位应有所区别。西安交大软件学院根据培养目标的要求,本着硬件为软件所用的宗旨,开设的硬件课程有数字逻辑与系统设计、汇编与接口技术、计算机组织与结构、嵌入式系统与软件开发等。经过几年的教学改革实践,我们认为实验教学不能完全依附于课堂教学,而应该在紧密联系课堂教学的前提下,有目的地开设独立的实验课,才能更好地配合理论课教学,充分发挥实验教学培养学生独立工作能力的优势。在实践过程中,我们恪守“掌握基础是重点、研究创新是升华”理念。首先必须保证绝大多数人能接受基本实验技能的训练,不盲目跟风式开展开放性实验。实践证明初始阶段就进行开放性实验往往会让学习能力不强的学生不知从何下手,失去了研究实验的兴趣,从而背离了进行实验教学的初衷。我们的思路是稳扎稳打,逐步推进。我们勾画了以数字逻辑实验为基础,以嵌入式及SOPC(SystemonaProgrammableChip,可编程片上系统)实验为终结,包含时序组合逻辑实验、计算机部件实验以及整机实验为一体的计算机硬件实验教学课程群。要求本科生从大学二年级到四年级硬件实验内容不断线、衔接连贯,并按学生兴趣和能力有层次的提高;强调各门课程相互联系紧密结合,分层次培养学生的独立组织硬件实验的能力、软硬件综合调试能力和综合设计能力[4]。在此基础上,我们提出了一种紧耦合层进式的硬件实验教学体系,如图1所示。在这种紧耦合层进式的实验教学体系下,根据教学的不同要求,将实验划分为3个不同层次,即基础性实验、综合设计实验、研究创新实验。其中,基础性实验主要指相关硬件课程的课内实验,通常为8~16学时的必修性实验课,通过这类实验使学生初步掌握本门课程中基本实验技能以及基本模块的实现。综合设计实验主要是面向所有本科生开设的选修性实验,一般为32学时,通过这些实验要求学生整合各个基本模块,进而能设计并实现简单功能的电路或系统。按照学院学分设置及学分要求,基本上每个学生都会选择2~3门硬件实验课程,这样学生都能对硬件底层具有一定的了解,对于普通的高级软件应用开发基本够用。最高层次的研究创新实验,我们安排为开放性实验,针对少数有余力且感兴趣的学生,要求其能够独立地设计一些较为复杂且具有应用背景的课题,旨在对专业知识进行扩展并培养自身的创新能力,这类课程要求必须选修过相关实验课程的学生,方能进行选修。

2.2紧密联系理论课教学,采用以EDA技术为主的实验教学环境

本专业的硬件理论课教学的宗旨是着重从系统角度来理解计算机的运作,着重培养学生对硬件系统的分析及应用能力,作为统一的教学体系,实验教学也应围绕这一主导思想。我们在实施硬件实验教学时,更关注硬件部件是如何完成其设定功能,部件之间如何进行相互配合、协调运作,而弱化硬件内部具体物理实现。我们采用了EDA为主的硬件实验教学方式,利用QUARTUS等功能强大的EDA开发工具、Verilog或VHDL硬件编程语言,配合相应实验箱进行实验功能设计、仿真及验证,使学生基本不用关注硬件的具体实现,进一步简化了硬件设计、测试等过程。其中数字逻辑与系统设计、计算机组织与结构、SOPC系统设计等实验课程均利用QUARTUS工具进行开发,基于杭州康芯电子有限公司的KX_DG3B数字系统开发平台和GW48系列FPGA开发平台来进行实现,实验环境上具有顺承性,只要在硬件实验起始课程中进行一次讲解,学生就能轻车熟路地使用。这样就避免每个老师都在EDA软件的讲解上耗费大量时间,其他课程老师则主要把精力放在本门课相关电路及部件的设计实现上,节约了宝贵的实验内容讲解的时间。EDA教学环境及FPGA平台的使用,一方面可以提供的是虚拟器件和仪器,且开发平台可反复编程,所需硬件连接较少,实验设备不易损坏,使学生可以放开手脚大胆地进行实验。另一方面,学生在课堂上完不成的实验,可以在自己的计算机上装载相应开发工具,利用课余时间继续完成后跟随下组实验进行硬件验证即可,实验安排上就可以比较灵活。因此,利用EDA技术,学生很方便地开展综合性、设计性、自主性的实验,进而可完成大型硬件的原型设计,或进行创新性课题的研究,这将大大激发学生的学习兴趣和热情,提高学生硬件设计能力,从而改变目前学生硬件动手能力差的情况[5]。

2.3强调各课程实验内容的耦合衔接与贯通,注重软硬件之间的协同

构建紧耦合层进式的实验教学体系,离不开各个实验课程内容之间的关联协调和贯通。计算机硬件实验教学过程作为一个系统,其组成部分是每门课程的实验内容。在选取实验内容时,为避免实验内容的孤立,既注重课程间知识的交叉渗透,又尽量体现知识体系的整体性和逻辑性。以“数字系统设计专题实验”开放实验为例,很多学生选择用硬连线方式实现一个基本模型机,而同时在“计算机组织与结构专题实验”中则要求学生基于微程序的思想来实现一个同样功能的模型机,通过这两者的实现比较,学生能直观地映证出理论课上所讲述的两种方法实现CU时各自优缺点,透彻理解并牢固掌握该知识点。传统的计算机硬件实验课程的主要任务是验证计算机的工作原理,以配合对应的计算机硬件理论课程,忽略了各实验课程间的融合性,而技术的发展需要软硬结合、软件硬化或交融[6]。单纯的软件实验和硬件实验都不利于学生软硬件综合素质的培养,传统的软硬件设计相分离的设计方法已成为阻碍设计和实现复杂、大规模系统的关键因素。在“嵌入式系统与软件开发专题实验”以及“SOPC系统设计专题实验”中,我们要求学生完成一个总的计算机软硬件综合设计的项目。以接近于实际应用环境,完成高质量综合设计为训练手段,使学生建立系统的概念与工程的概念。这样一方面可以使学生从根本上了解计算机的整个硬件系统、软件控制之间的协调机制,彻底打通软件实验与硬件实验之间的壁垒,另一方面,这样既有硬件也有软件的题目也更能激发起软件专业学生的学习兴趣,发挥其编程方面的特长,提高学生的主动性及创新热情。

2.4建立灵活的考核机制,满足不同实验类型的要求

对于实验课程的考核,我们采用针对不同实验类型实行不同考核机制的方法。对于课内的基础性实验,考核时坚持沿用传统的课堂表现和实验报告相结合的方式,现场表现采用单人单机现场演示,老师提问学生作答的方式,由老师根据学生考勤及现场表现给定分数。实验报告的成绩则细化对问题的分析能力以及文档写作能力等方面的要求给定。最终成绩由这两项按权值给定。对于综合设计实验,由于整个实验内容往往由多个子实验来组成,而且通常采用两三个学生分组进行的形式,所以考核时应更为细致,也要由课堂表现和实验报告两部分综合给出,但较之基础性实验标准不同。首先,课堂表现由老师评分以及小组成员互评两项组成,要求在每次实验中指导教师都认真地记录学生的考勤及实验表现,这里的实验表现主要考查遵守实验规则、设计能力,分析、解决问题能力以及对理论设计的实现能力等几个方面。其次在实验结束后,还要求学生撰写实验报告,实验报告依据学生的总结能力、分析能力和写作能力给出。创新设计型实验一般也采用分组的形式,但最终成绩是由实验开发中几个部分的考核成绩综合给出。选题准备阶段的成绩由指导教师根据学生提交系统选题报告,按照系统规模、难易程度、创新性及个人分工给出。设计阶段的成绩由学生提交系统设计报告和现场答辩两部分给出。答辩类似于工程中的评审,需要通过学生讲解、演示,回答在场所有学生及教师的质疑,一方面对项目可行性进行充分的推敲,另一方面使各组成员充分了解其他小组的思路及设计方法,对自己项目实施起到学习借鉴作用。系统实现调试阶段成绩由学生提交系统实现及测试报告给出。最后验收阶段由现场验收和项目总结报告两部分组成。上述多样化的考核标准满足了层进式课程体系中不同层次的考核要求,更加客观地反映了学生的实践能力和知识运用水平,提高了实验教学的整体质量,达到了实践创新的培养目标。

篇10

(一)实践教学主要内容

针对学生的学习基础、职业背景与发展等特点,本文主要通过情景教学模式、以项目实践为载体引导学生自主探究性学习,提高学生分析和解决实际问题的能力。运用当前软件企业开发实践中流行的建模工具搭建软件工程环境,调动学生积极性,寓教于乐,加快对软件工程理论和方法的理解。具体实践教学内容包括:1.掌握软件工程中的统一开发过程、面向对象等思想、方法;2.以UML语言为核心,要求学生掌握用例图、时序图、协作图、活动图、状态图、类图等模型,尤其是掌握由用例图开始逐步建立类图模型的过程;3.软件的编程实现与测试。以教师引导、学生自学为主让学生复习程序设计课程,掌握NET、PHP、数据库编程、软件测试工具Nunit等,在UML模型基础对软件原型进行代码实现。

(二)分组实践

软件工程课程实践一般采用如下形式:学生以开发团队的方式协作开发一个具有一定规模的软件系统,运用软件工程理论和软件建模技术解决软件开发问题。和以往计算机专业课程实践有所不同,软件工程实践中不仅仅要训练、考查学生对软件开发中分析、设计、编码、测试等的实践能力,而且要注重学生团队合作共同完成软件项目的思想、能力的提高。所以,课程实践分组进行尤为必要。本文通过让学生填写课程实践情况调查表的方式,让学生对自己、学生与学生之间的专长、特点进行清楚认识,然后在教师的协调下进行实践小组的组队。在成立小组之初则明确成员在实践中所扮演的角色:分析、设计、编码、测试等,或者将项目进行功能模块划分,学生在不同模块的开发工作扮演不同的角色。

(三)实施步骤

本文按照软件生命周期、瀑布模型进行,以学生自主实践,教师全程参与指导的方式开展小组分组实践。具体实施步骤如图2。其中:分析、设计、编码、测试等角色由每个小组成员进行分担;组内评审由小组成员共同完成;组际评审由各个小组派出代表联合完成;教师的在每个步骤中给予小组成员理论、方法的指导,及在每个阶段工作的提交结点上和小组成员共同对阶段工作进行考核、小结。

(四)实施结果

我们选取40个学生作为教学实验样本,分为10个项目实践小组,每组4人。首先,通过学生填写分组情况调查表来了解学生的以往专业背景、当前从事工作类别、未来职业发展意向等信息。在这一过程中,让学生联系自己的课程学习情况对未来的职业发展进行了思考,促进了参与课程实践的热情。

1.大专阶段学习专业对实践内容选择意向分析

对大专阶段学习专业对实践角色选择意向的影响统计分析如图3。统计分析表明:大专所学专业为计算机专业的学生侧重于选择承担编码、设计工作,但选择意愿仍是比较均衡;大专所学专业为信息技术类的学生则偏重于选择测试、设计工作;大专所学专业为非信息类专业学生则偏重于选择分析、测试工作。进一步分析可知:以往的知识背景、专业对学生选择实践角色有着重要影响,计算机专业毕业的学生对实践角色所承担的工作认识较为全面,侧重于选择技术程度高的编码工作。

2.目前从事工作类别对实践内容选择分析

我们将学生目前从事的工作分类为:计算机类(软件开发、项目管理、测试)、信息类、非信息类。学生工作背景对选择角色的意向统计分析如图4。统计分析表明:从事软件开发工作的学生侧重于选择承担设计、编码角色;从事项目管理工作的学生偏向于选择承担需求分析角色;从事软件测试工作的学生偏向于选择承担软件测试工作;从事其他类别工作的学生(信息、非信息类)学生选择偏向于分析、设计、测试工作。

3.职业发展意向对实践内容选择分析

我们将学生职业发展意向分类为:计算机类(编码、分析、设计、测试、项目管理)、信息类、非信息类。学生职业发展意向对选择承担角色的统计分析如图5。统计分析表明:职业发展意向为编码(软件工程师、高级程序员)的学生侧重于选择承担编码、测试角色;职业发展意向为软件需求分析、设计、测试、项目管理的学生偏向于选择承担分析、设计、测试角色;职业发展意向为信息类、非信息类的学生偏向于选择承担分析、设计角色。

篇11

1.3回归测试在软件应用开发后,客户将对其进行使用,但使用前与使用过程中,均会出现代码修改的情况,造成此情况的原因为代码缺陷与功能更新。在代码更新后,重新前,要对代码进行测试,此时的测试便是回归测试。它主要是为了验证修改软件,使软件的功能得到有效的发挥。因此,回归测试对于软件来说是重要的,它直接保证着软件的质量[3]。

篇12

1.2软件应用模型更新

随着网络技术和Interact的迅速发展,大量系统都是基于www的。这些系统的开发、维护和管理需要新的方法,这些方法有别于传统的软件工程方法。传统软件工程方法和技术应用已经无法直接用到基于软件的系统开发中。当企业向面向对象的软件应用开发技术转向时,支持软件开发的活动也必然要有所改变,即意味要改变开发过程、资源和组织结构。面向对象的软件应用开发需要新的、符合其特点的软件工程过程。

2软件工程过程

2.1软件工程过程模型组成

针对软件工程应用的特点,以及软件应用系统的开发和传统软件开发的显著区别上,本文提出了软件工程过程模型,作为软件应用的开发框架。软件工程主要包括开发过程模型、项目管理模型及组织公共模型等组成部分。开发过程模型介绍了开发的生命周期;项目管理过程介绍了项目管理的基本流程、项目管理方法的建立,可以大大地增加组织在项目管理方面不断成功的可能性;二者交叉部分是组织的公共过程。项目管理过程贯穿软件开发过程的始终。

2.2软件开发过程

本过程模型基于迭代思想,一次迭代包括了生成一个可执行版本的开发活动,还有使用这个版本所必需的其他辅助成分,如版本描述、用户文档等。因此一个开发迭代在某种意义上是在所有工作流中的一次完整的经过,这些工作流至少包括:需求、分析和设计、实现、测试、等,其本身就像一个小型的瀑布项目。在软件开发过程中,包括软件工程人员、如见需求、软件设计、软件实现和软件测试几个部分。软件工程人员则又可以分为程序开发人员、质量管理人员、项目管理人员、内容提供人员和客户等等。在这几个环节中,软件工程人员是基础,软件需求是动力,软件设计和软件测试是手段,软件实现是目的,几个环节缺一不可。以下仅简要介绍软件测试的内容。软件测试可以分为多种,包括性能测试、功能测试、安全性测试、兼容性测试和可用性测试等等。在软件工程过程中,基于软件系统的测试、确认和验收是一项重要而富有挑战性的工作.基于软件的应用系统的测试与传统的软件测试不同,不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。因此,我们必须为测试和评估复杂的基于软件的系统,研究新的方法和技术。

3软件工程项目管理

3.1项目管理概念

软件项目管理(WebbasedProjectManagement,WPM),即以软件应用程序为主要表现方式的架构来进行的项目设计及管理,这样的架构中包含了浏览器、网络和软件服务器等关键主体,主要体现在网站设计、以浏览器为客户端的软件应用程序开发等项目管理中。随着软件项目的规模不断加大、参与人员的增多、对规范性的要求愈加严格,软件开发已经告别了个人英雄主义的模式,工程化的软件开发时代已经来临。由此,项目管理开始逐步地在软件研发各项活动中处于核心地位。软件项目管理又可以分为项目准备过程、策划与计划过程、启动过程、跟踪管理过程和关闭过程。

3.2项目管理过程

首先是项目准备,项目准备包括外部项目准备和内部项目准备,主要是准备项目招标的方案,分析项目的可行性。其次是项目启动,这一阶段主要是根据招标内容设计软件工程的计划方案。再次是项目计划,主要是为软件项目所需要的人才和技术设备做策划。接着是项目跟踪,即根据计划内容对整个软件工程的设计过程做评估。最后是项目结束,项目检测通过后验收。软件工程过程不是建立后就一成不变的,它需要在实践过程中持续改进。当企业在项目管理上走向成熟,并达到了一定程度的成功时,就获得了可持续性竞争优势.然而,企业的竞争者不会坐视这些,他们必然也在不断进步。

篇13

计算机软件工程中的开发团队是由许多不同职务的工作人员构成的,有负责人、程序员、资料员和其他文员。计算机软件的开发公司要对员工进行人文关怀,用“真心”换取员工的“责任心”,真诚的面对每一位员工,这样员工才会对工作有热情,才会对软件工程的开发有责任感。各个部门通力配合,相互协调、互敬互助,并且明确职责划分,对工作中出现的问题积极解决,响应公司的各项号召。

1.2组织机构的管理

组织机构不单是人员的集合,更是一种完整的组织机构和具体的用工分配。所以,组织机构要有合理的人员分配和及时的信息沟通才能发挥出最大的价值。以下是几种常见的组织结构:专家小组,体现的是个人的突出能力,每一个计算机软件的开发人员都有自己擅长的技术,将每一个具有专业技能的员工组成专业小组,可以充分发挥每个人的主观能动性。民主组织,顾名思义是一个民主的组织团体,采用民主表决的方式让各个方面的人轮流担任组长,并且在任期内负责处理工作中存在的各项事务,在做决策的时候采用不记名投票的方式,各抒己见、聚百家所长、集思广益,有效的调动大家的积极性和创造性。但在我国的软件开发公司中,要想实现这样的组织仍存在一定的难度。主程序组织机构,是为了确保小组成员工作的协调统一,由主程序员负责计划、调配组内的全部技术活动,其他的技术员则负责分析和开发工作。

1.3客户的管理

计算机软件的开发是为了满需客户的实际需求,所以软件的开发要建立在客户的基础上。在开发的整个工作中,工程的负责人要时刻与客户保持密切的联系,了解客户的所思所想,分析客户的实际需求,讲究实际求是,避免主观意识对工作的影响。在研发过程中,客户也要积极参与其中,对开发的产品给予肯定,促进良性的互动。

1.4资料的管理

在计算机软件开发的过程中,将各个步骤、流程记录到文档资料中是必不可少的,方便在工作中随时进行查找,为日后的维修工作提供帮助,同时提高了软件的可追溯性和稳定性,并且每一阶段要定期的对档案资料进行复查。所以,对文档的管理要严格按照相关的规章制度,将软件研发的初期、中期、后期建立起一套系统的资料。

2加大对计算机软件工程管理的力度

2.1完善计算机软件工程管理体系

构建完善的计算机软件管理体系首先要提高对人才的重视,人才是构成整个软件开发的主体,所以必须加强对人才的管理,调动人才的积极性和创造性,保证开发工程的顺利实施。要定期的加强对工作人员的技术培训,开设讲座、培训班,提高工作人员的专业素质,接受先进的科学知识和理念,在实际的工作、生产中可以很好的运用,增强软件开发的水平。另外,为了有效的提高员工对工作的热情,要制定完整的职务晋升制度。

2.2加强计算机软件工程的风险管理

第一,对计算机软件工程管理要具备风险意识,学习相关的风险管理知识,对潜在的风险可以客观的进行判断和处理,并且形成计算机软件工程的风险管理的书面文件;第二,要定期的对计算机软件工程进行预测和识别,并且将风险的管理应用到整个软件开发的始终,这样可以随时应对突发的风险,将损失降到最低。

2.3提高计算机软件工程的团队合作管理

任何一个完美的计算机软件开发工程,都离不来一个优秀的合作团队,对计算机软件工程管理起到重要的作用。第一,要加强与开发工作人员的沟通,不断的渗透集体意识;第二,管理层要了解开发组工作人员的各个职责,在了解实际情况的前提下,对人员进行合理的分配,实行岗位责任制,确保工作的顺利开展;第三,适当的采用奖惩措施,充分调动员工的积极性,使员工可以全身心的投入到工作之中,激发工作人员的潜在实力,共同做好计算机软件工程的管理工作。

3计算机软件工程的实际应用

随着经济、社会、文化的迅猛发展,计算机软件以其效率高,稳定性好的特点得到越来越多人的青睐,现在各行各已经离不开计算机软件。计算机软件的典型应用有电子邮件、游戏、数据库等,人们可以足不出户的通过计算机软件进行交流、学习、工作。目前,人们可以随处的使用计算机软件,例如在校园中,教师可以通过计算机软件与学生进行及时的沟通,还可以通过远程教学及时的解决学生遇到的问题,解决了空间上存在的障碍。在校园生活中,学生的信息、档案都是通过计算机软件进行记录的。学生在出入校园的时候可以用电子学生证进行识别,通过计算机软件对学校的秩序进行有效的管理,这样看似简单的程序,可以管理成千上万的人,足以体现计算机软件强大的应用。另外,在医院、银行等行业也使用计算机软件进行电子预约、电子登记,省去了大量的人力物力,节约了成本。计算机软件的发展已经形成了一定的规模,并且逐步完善和进步,但是计算机软件的发开仍存在广阔的空间,要想进一步壮大计算机软件工程的发展就必须从技术、手段着手,不断学习国外的先进经验,使我国的计算机软件开发再创辉煌。