软件工程论文范文

时间:2023-03-19 21:16:04

软件工程论文

软件工程论文范文第1篇

CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人与职业技能、人际团队能力和工程系统能力四个层面,要求以综合的培养方式使学生在这四个层面达到预定目标。CDIO不仅继承和发展了欧美20多年来工程教育改革的理念,还提出了系统的能力培养、全面的实施指导、完整的实施过程和严格的结果检验的12条标准,具有很强的可操作性。

2综合实训课程的定位与培养目标

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

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

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

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

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

3.2项目驱动,全面实践CDIO

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

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

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

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

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

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

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

4结束语

综合实训是软件工程专业实践教学体系的重要组成部分,对培养学生的自主学习能力、工程实践能力和团队协作与沟通能力具有重要作用。为克服传统实训模式存在的不足,引入CDIO工程教育理念和标准,对软件工程专业综合实训课程进行改革,探索了新的实训模式。新模式以CDIO培养大纲为指南,以能力培养为导向,以项目为载体、任务为驱动构建实训过程,将学科知识、专业技能与工程实践有效结合,强调知识应用与拓展、技能训练与提高、工程实践与实作、职业精神与素质、团队沟通与协作等能力的全方位、一体化的培养。实践表明,新的实训模式能较好地激发学生的学习热情和学习兴趣,显著提高学生的工程实践能力和团队协作能力,有利于培养出符合产业需求的高水平应用型、工程型软件人才。

软件工程论文范文第2篇

1.1专业定位不适应社会需求

专业人才培养不具有明确针对性,人才培养结构合理性欠缺,专业人才培养层次相对单一。造成这一问题根源是地方院校对行业企业实际需求不明,导致专业人才培养定位不清。毕业生虽然专业知识结构比较全面,但实际工作能力不强,无法满足企业实际需求。

1.2专业课程设置不合理

课程体系建设是地方高校软件工程未来走内涵发展道路的核心。从调研地方本科学校现有软件工程课程体系实情来看,传统“学术型”课程体系架构占据主导,“应用型”与“学术型”课程体系架构区分度不明显。

1.3教师队伍应用型能力欠缺

地方高校软件工程现有师资队伍的实践能力不足,专业教师参与企业生产科研活动的力度不够。双师型结构教师比例低于30%。

1.4专业人才就业率低与企业“无人可用”矛盾冲突明显

软件工程专业高层次应用技术和技能人才数量严重不足,同时应用技术和技能人才培养的学历层次不高不能满足企业实际需求。地方高校软件工程专业定位和人才培养目标不明确、教学方式方法缺乏科学性、系统性,实践教学体系不完善,没有与行业就业有效对接,导致培养的人才无法满足社会生产实际需求,导致“软件工程专业毕业生无职可就,软件开发行业以及相关软件应用单位招不到满意的员工”现状普遍存在。

2软件工程专业课程体系理论设计

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

2.1学科建设

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

2.2校企办学

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

2.3师资建设

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

3三层结构课程体系建设

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

3.1基础理论

由公共基础课程和专业基础课程构成:

①公共基础课程主要涵括地方高校各现行必修公共课程,

②专业基础课程是专业课程坚实的理论基础,专业必修前导课程,是对软件工程专业基本“计算”概念理解、掌握,问题计算求解能力和构建中小规模软件系统综合能力的初步培养。

3.2专业理论

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

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

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

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

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

3.3实践

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

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

3.3.2合作企业岗位实训针对毕业学生和部分专业老师做岗位综合实训:

①学生岗位实训:让学生真实参与企业项目实战,充分消化吸收前期所学理论和技能知识,进一步提升学生综合能力,为就业夯实基础。

②老师岗位实训:专业老师参与企业项目研发,并将企业项目开发经验和技术进行梳理总结、编纂成册,运用到实际日常教学环节,促进教学质量提高,有利于缩短理论转化实际成果周期。

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

4结语

软件工程专业课程体系建设改革主要侧重于软件开发技术人才的培养,对学生的知识体系构建,学习方法的形成影响重大;对专业教师教学模式的改变,教学水平和科研理论转化成果周期率提高极具促进作用。课程体系建设在实施过程中需有大量工作需要处理,也有很多新问题需要我们去探索、解答,整个课程体系按照CDIO方式建设和验证。

软件工程论文范文第3篇

1目前存在的问题

我国高等教育长期存在重理论、轻实践的问题,因此教育部多次强调并明确指出要大力加强实践教学,建立和完善校内外实习基地,高度重视毕业实习,提高毕业设计、毕业论文的质量。软件工程专业是一门理论与实践联系非常紧密的学科,若按照传统重视理论的培养模式,毕业生则难以满足当前社会用人单位的需求[3]。对于相对新兴的软件工程机电一体化方向专业,其专业知识结构及培养目标决定学生面临的毕业实习与设计问题更复杂,目前存在的主要问题表现在如下几方面。(1)就业与选题的矛盾。基于该类专业的培养目标,毕业生目前就业意向主要有三:一是在软件产业从事编码测试、系统分析设计或具有软件领域知识的复合型技术服务、销售和管理(软件方向);二是在机械电子工程应用背景专业领域从事软件开发及机械研究、产品设计、制造、管理等工作(工程应用方向);三是考研、考公务员和自主创业等(考研方向)。因就业方向的多元化、毕业实习设计老师(包括软件企业导师)的专业领域和人数限制、实习条件的限制等多重原因,学生难免产生选题与就业意向不相符的矛盾。(2)毕业实习设计与考研、公务员招考时间安排上的冲突。毕业实习设计一般都安排在第4学年的第7学期、第8学期,而这期间,每年一度的全国研究生招生考试和公务员的国考、省考也同时举行,这就导致“考研方向”的学生在备考和完成学业间的矛盾,如不进行相应调整,势必影响毕业实践环节的教学质量。(3)软件方向与专业方向的不协调因素。软件方向学生一般采用3+1的培养模式,也就是说,第4学年大多在软件企业完成基于项目驱动的毕业实习和毕业设计;而工程应用方向和考研方向往往还有几门课程需要在校学习,在时间和内容安排上往往存在冲突。(4)毕业实习与毕业设计不能有机对接。毕业实习是毕业设计的重要准备阶段,毕业实习要结合毕业设计课题,到生产第一线进行专业实践与社会实践,收集与毕业设计有关的信息和资料,毕业实习的内容和质量对毕业设计的质量有直接的影响。毕业设计要将所学基础知识、专业理论与毕业实习的实践相结合,注重分析问题、解决问题能力的培养,它能在一定程度上检验毕业实习的效果[4]。软件工程培养实用型、复合型人才的特点使其对毕业实习与设计的衔接要求更高,而且该类专业多元的就业意向及其他复合因素使得学生的实习与设计内容往往不能有机衔接。目前软件工程专业毕业实习设计的教学工作中,面对学生就业自主化的严峻形势,存在着毕业实习与毕业设计不能有效衔接、教师对两者核心含义把握不好、设计(论文)选题及内容与经济社会对人才需求脱离以及忽视对学生的创造能力意识培养和训练等影响毕业设计论文质量的问题,因此进行全新的教学改革已经迫在眉睫。

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培训机构建有校外实习基地,在江西铜业公司、中金岭南股份公司、恒天动力有限公司等建有校外专业背景方向实习基地。打造相对稳定、整体素质较高的导师队伍是实现该创新模式的有效保障,学院应考虑:①从实习基地遴选指导教师;②选派软件方向教师到合作基地工程实训;③选派专业方向教师到国内知名院校访学。对毕业实习设计各环节,软件学院制定有详细的《毕业实习设计规范》,系部成立“软件工程毕业设计领导小组”。教研室针对该内容进行深入调研与问题分析,在教师中开展动员,提前落实并布置工作;在学生中宣传动员,使学生在思想上有准备,重视毕业实习、毕业设计;在毕业设计过程中,强调过程质量控制和管理,及时跟踪控制,及时发现问题、解决问题。

5结语

基于该模式,近年来,江西理工大学软件学院学生的毕业实习设计质量不断提高,实践能力和综合素质不断提升,就业质量也逐年提高,就业率在同类高校中一直保持前列。同时,我们也将总结实践经验和实践效果,不断完善该模式,为相关专业的教学改革起到示范和推动作用。能力培养是高等工程教育改革的重要任务,强化能力培养还需要在已有成果基础上进一步完善各实践环节的内容与规范,使得软件人才培养与企业需求真正地“无缝衔接”。

软件工程论文范文第4篇

注重实践和创新能力培养,实践环节一方面设计阶梯式GIS软件开发能力和基本技能辅助训练,另一方面通过项目库、学生自主命题导师辅导、创新性第二课堂、企业实践、科技竞赛等形式形成多级多层次的实践体系。

1.1建设学生创新学习和实践的多层次引导体系

通过建设实践教学平台,改革实践教学内容,并结合工作性实践、专业兴趣小组、学生社团活动、参加各类技能竞赛等一系列的课外实践教学环节,对学生的创新精神、创业能力、实践能力和社会适应能力进行综合培养。重点建设学科竞赛培养体系,开展产学研、科研立项等课外实践活动以及企业工作性实践。

1.2改善实践教学环境,加强实践教学基地的建设

加大对实验室的建设和投入,增加先进的教学实验设备,为培养学生的实践能力提供平台。一方面依据学科竞赛教学理念和培养目标,建立开放式学科竞赛实验室,形成一套开放式学科竞赛实验室的管理运行体系;另一方面进一步加强与国内外优秀企业的产学研合作关系,以具体实施专业为主体,确定并拓展一批高水平软件企业作为“卓越软件工程师教育培养计划”的联合培养单位。校企双方共同设立工程实践教育中心,强化工程实践的环节,确保校企联合培养各项目标得到具体落实。

1.3开展软件工程专业实践教学体系标准研究,制订软件工程专业实践教学体系标准

我们对国内外知名大学软件工程专业的实践教学研究情况进行充分调研,搜集相关实践教学体系大纲文档,并结合本专业“地学信息化特色软件人才培养”的办学特色,面向市场需求不断调整与软件产业实际需要相适应的实践课程,增加实践教学与工程实践和前沿技术紧密结合的程度,研究并确定软件工程专业实践教学体系标准,以保证软件工程专业人才培养的可持续发展。

2建设专业核心课程教学团队,培养符合产业需求的软件工程专业人才

以建设软件工程核心课程群教学团队为抓手,建设高水平工程教育师资队伍。采取切实有效的措施,做好实施专业专职和兼职教师的遴选、聘任和考核,构建一支具有双师型素质的高水平专、兼职教师队伍。

2.1特色教学团队建设

结合信息工程学院学科优势和人才培养核心,建设“现代软件工程教学团队”及“地学软件开发与应用教学团队”。其中,“现代软件工程教学团队”主要负责软件质量管理、软件过程管理、软件项目管理和软件产品工程方面的课程建设和教学,是为卓越软件工程师建立软件工程的系统理论与基础方法;而“地学软件开发与应用教学团队”则主要负责GIS平台软件及其二次开发、地学应用软件工程方面的课程建设和教学,该团队是结合地大特色、国家战略和社会需要而建立,是培养面向特定领域的具有特色的卓越软件工程师的基础。

2.2师资队伍建设

采用培养和引进相结合的办法,结合“学历提升、学源合理、专业对口、职称结构合理、双师素质教师培养”等目标,进一步优化师资队伍结构,积极推进专业核心课程群教师团队建设。根据专业发展需要,从国内外知名大学或研究机构引进软件工程专业的“”“新世纪人才计划”“海外百人计划”等高层次人才;每年邀请高水平学者或企业家来学院开展讲座,聘请具有丰富工程实践经验的企业一线研发人员承担实训课程教学任务。此外,通过各类项目支持专业教师到美国、加拿大等具有软件工程、地学信息化等专业优势的高校进修访问。同时,进一步强化专业教师的工作性实践经验,每年派出专业教师到教育部GIS软件及其应用工程研究中心和相关合作企业从事大型软件工程实践。

3改革教学管理,建立健全完善的质量保证与管理体系

教学管理改革遵循以学生培养为主的管理理念,以严格教学过程、规范教学制度,制定符合工程型人才培养定位的课程教学规范、课程考核评价体系,包括在企业工作性实践过程中的评价与考核体系;制定面向工程型人才培养的教师教学考评与激励政策,建立科学的评教体系,确保“卓越计划”实施质量和成效。

3.1建立健全教学团队建设制度,保证师资素质

通过完善教师培训制度,做好培训规划,提高教师专业水平和教学能力;实施企业工作性实践能力提升计划,改革参与“卓越工程师教育培养计划”教师的考核方式;改进人才引进激励机制;采用激励约束机制加快实验教学队伍建设等措施,保证师资素质。

3.2建立教学过程监控及质量保证体系

建立校内教学质量监控,保证校内教学质量;建立实践教学质量监控体系,保证校内实践学习质量;重点建设企业实践质量监控体系,保证企业实践质量,主要包括:①强化校外毕业设计(论文)的过程管理;②建立学院与企业共同组织与管理的措施与机制,如学院与企业共同参与考核评价、建立学校、实习单位的学生实习信息通报制度以及实行实习生质量跟踪调查制度等。

3.3建立完善学生激励与保障制度

通过制定学生竞赛管理与奖励办法和学生安全保障制度等措施,将其与理论和实践教学质量保障措施相互联系、相互促进,形成一套结构合理、运行科学规范的包括目标机制、管理机制、条件机制、监控机制和激励机制组成的教学管理改革保障机制,为实现教学体系能有序、规范地运行提供基础。主要包括建立学生学科竞赛激励机制,提供学生毕业前职业素质培训保障,以及制定和实施学生校内学习与企业实践保障措施等。

4融合人才培养模式与创新创业教育,建立软件工程创新创业基地

创新创业教育作为一种全新的教育理念,在我国高校教育中已形成广泛共识,并成为我国高等教育人才培养模式新方向的切入口。它要求高校在培养目标上重新定位,即高校的培养目标不应该是知识的继承者,而应该是知识和财富的创造者。为此,在专业建设中,我们将创业理念、创业教育纳入人才培养体系,将创业精神融入学生的人格培养中;将创业思想整合到大学的其他课程之中,促进教学模式、教学态度和教学方法的改变;将创新教育和专业教育的有机结合作为创业教育的着重点,适当压缩理论学时,增加实践教学在培养方案中的学时比例,整合优化实践教学内容。

5结语

鉴于中国地质大学(武汉)信息工程学院软件工程专业在地质相关学科的强势地位以及在GIS软件开发与应用领域的突出优势和GIS在地学信息化中的广泛应用,我们将软件工程专业办学特色定位于培养面向地学信息化领域的软件开发和应用工程师。在专业建设过程中,以卓越软件工程人才培养为核心任务,以GIS软件开发和应用能力培养为主线,结合软件工程的特点建立软件开发基础,结合学校特点拓宽地学背景知识;在培养模式、教学团队、课程体系及实践体系、教学资源平台、教学方式、教学管理与质量监控等专业发展重要环节进行综合改革;注重学生实践和创新能力培养,构建多级多层次的实践体系,促进人才培养水平的整体提升。

软件工程论文范文第5篇

我们在软件工程项目中,会用到许多不同的难题,这就让项目不能顺利发展,严重的会直接致使结果失败,这些问题主要是:在软件质量的过程管理方面,它缺乏专业知识,缺少相关的措施。在早期的软件开发中,为了确保这一重要工作的顺利进行,必须建立一个规范的质量管理体系,并在软件开发过程中安排经验丰富的管理者。不规范的管理体质不但阻碍了项目的进程,也给软件的质量带了影响,甚至会有“头痛医头,脚痛医脚”的管理模式现象出现。软件开发资源和进程预算的误差大的原因是:项目计划的不合理性。若是在项目管理中,工作人员没有对专业知识进行积累,开发者的工作预算日就会不够,这是导致实际开发过程中有风险。我们可以在开发前做好应对方法,这样工作者才能按计划顺利地完成工作。使用者不能全面地获取要求和分析的策略。用户要求的调研和解析的发展是不全面的,信息管理系统也是不正规的。在这样的情况下,用户需求分析也是不充足的,工作者不做前期工作,就匆匆开始设计,研究程序,这就让成品和用户的业务要求出现了偏差错误。

2如何实现电脑软件工程正规化

就中国目前进展角度而言,形成一个相对完整的正规化体系是通过引进国际标准来实现的。但是,在相关工作的正规化发展历程中,就软件工程的角度来看,我们有必要进一步提升。现今,软件工程正规化需要对下面问题进行确定:

(1)强调软件工程系统的概念的重要性。在常规使用中,使用者常常依照自己的用法作为明确的准则,这样,不但容易导致对环境标准的疏忽,而且也不容易想到软件工程在所有准则上的内在关联。为了让系统和所有准则间的联系显示合适的指示,我们必须及时使用关键工程的准则。

(2)把国际标准引进速度迅速提升。由于言语方面因素的限制,国内的国家标准至少需要三至五年才能达到国际标准。我们更应该及时采用国际标准,应用关措施来缩短与国际接轨的时间线。就国际热点问题进行探讨,尽早步入国际轨道,我们要尽快并行预研项目团队。

(3)及时学习国际标准并作出相关解释。由于语言和文化背景上的差异,已经引进来的国际标准往往是不易被人们接受和使用,这说明在国内和国外之间是存在一定差异的。针对这一情况,及时推出具有针对性的规范性解释,并与国内软件产业结合,尤其是企业的管理模式,不仅促进了对国际标准的了解并认识到自身的实际情况。

(4)加强对国内电脑软件产业标准化的研究工作。目前最先进的技术,大部分都由跨国公司所掌握。占据了行业标准的标准化信息系统就是掌握了市场的主动权。目前中国只接受国际标准,处在一个相对被动的状态。国内应大力发展国内标准,适时推出符合并促进国内发展的标准。在新一轮的软件标准化到来时,处于不败地位。

软件工程论文范文第6篇

一、选题背景

当今的互联网服务面临着许许多多的挑战和千变万化的需求,其中就包括需要管理海量的数据,并且能为高速增长的用户群提供持续可依赖的服务。这里所说的互联网服务包括了诸如在线邮箱、搜索引擎、在线游戏、在线金融系统、内容分发网络、文件共享网络等等。 因此,能提供这些互联网服务的系统往往很庞大:由成百上千台机器组成,并且这些机器可能在同一个数据中心里,也可能分散在不同的数据中心,之间通过不可依赖的网络进行通信。在具有如此巨大的扩展性的集群中,错误的发生变的很常见:一部分机器可能随时会遇到硬件或者软件故障;网络延迟和网络故障随时可能发生,导致丢包、网络分区等情况;偶发的恶意攻击或是操作错误,也有可能导致不可预测的灾难性错误发生。 所以,构建这种系统的软件往往很复杂,同时,每隔一段时间,系统都需要进行一定的修改(升级)以提升性能、修改错误或增加新的功能。本文工作所面临的最基本的问题就是如何有效地设计一种工程上可行的升级方案,使得这种规模的分布式系统能在升级期间能持续地提供服务。

二、研究目的和意义

时下云计算十分火爆,各种互联网公司、银行、政府都经常提及云计算,各种各样的分布式系统也层出不穷,不论是著名的大型分布式产品的开源项目诸如 Hadoop、Open Stack、Mongo DB 等等,又或者是国内外的著名的云计算服务提供商 Amazon AWS、Microsoft Azure、阿里云们,云计算早已从纸面或者是宣传标语中,走向了实实在在的落地阶段。 但是,针对云计算抑或是分布式系统中一个比较具体的问题的相关研究,尤其对于国内的相关领域而言,却是比较缺少的,国内工业界的著名厂商们似乎都在闷头造车,分享出来的解决云计算工程中实际具体问题的论文和研究成果依然较少。 本人深知自己的能力有限,仅得益于研究生期间的一些实习经历,结合工程实际,尝试对分布式系统的升级和数据迁移问题做一些总结和提炼的工作,并且有一定的创新。

三、本文研究涉及的主要理论

分布式系统是其组件分布在联网的计算机上,组件之间通过传递消息进行通信和动作协调的软件系统[2]。分布式系统是一个统称,常见的有分布式操作系统、分布式程序设计语言及其编译(解释)系统、分布式文件系统和分布式数据库(存储)系统等等。本文所面临的升级和数据迁移的问题涉及到更多的是分布式存储系统,分布式存储系统的定义如下: 分布式存储系统是大量的普通的PC 服务器通过互联网互联,对外作为一个整体提供存储服务。也可以说,那些以数据存储和访问为目的而设计的分布式系统称之为分布式存储系统。 与普通的软件系统不同,分布式存储系统具有以下几个特性,理解这些特性对解决本文所提出的问题具有基础性的意义。 扩展性:分布式存储系统的扩展性是最重要的优势,往往可以扩展成百上千台的规模。同时随着集群规模的增长,其系统整体性能表现为线性增长。并且,可以根据一定的策略将数据和请求分配到不同的物理节点,物理节点的数目和集群处理能力成正比,集群是线性可扩展的。同时,集群能否扩展,可否线性扩展是衡量分布式存储系统的一个重要指标。 低成本和高性能:分布式存储系统具有的自动容错、自动负载均衡机制使其可以构建在普通的 PC 机之上。另外,线性扩展能力也使得增加、减少机器非常方便,可以实现自动运维。因此,对整个集群而言,分布式存储系统具备高性能。 数据分布:分布式存储系统区别于单机存储系统最大的特点是它可以按照一定方法进行数据切片,不同的物理节点分布不同的数据分片,从而将系统的存储容量压力和访问请求压力分散到系统集群的各个物理节点上,使系统整体能够存储超大规模的数据量,同时能够接受更多的并发请求。那么如何将数据分布到多台服务器才能够保证数据分布均匀?数据分布到多台服务器后如何实现跨服务器读写操作?常用的数据分片和分布方法有两种:a.哈希分区方法,即根据数据的 Key 进行哈希取模,离散的分配到集群的物理节点上,Amazon 的 Dynamo 采用了一致性哈希算法进行分区;b.连续分区方法,即将整个数据集合按照 key 来排序,根据 key 的范围进行分片。

四、本文研究的主要内容及研究框架

(一)本文研究的主要内容

本论文共分为六章,各章的主要内容如下所述:

第一章为引言。介绍了本论文的研究背景,简述了云计算和分布式系统目前的现状,系统升级的必要性,以及本文的主要工作和组织结构。

第二章为文献综述。介绍了分布式系统相关的基本理论,分析了一些典型的 Nosql系统,综述了在单机软件成熟的升级方案以及在分布式系统升级问题上前人的一些研究成果。

第三章为难点分析及总体设计。本章系统地分析了分布式系统升级问题的难点,并且提出了高可用的分布式系统升级设计的基本概念和原则,在此基础上,提出了该问题的总体设计方案。

第四章为详细设计和实现。本章在前一章的基础上,依次详细地设计了在单数据中心和跨数据中心的分布式环境下的系统升级方案,为本论文的最为重点的章节。

第五章为方案测试与实施。本章在详细设计与实现的基础上,提出了相应的测试和实施方案,通过测试分析和实验分析验证了升级方案的有效性。

第六章为总结和展望。总结了全文所做的工作,指出了论文的创新点,并且对论文的不足以及未来的后续研究做出了展望。

(二)本文研究框架

本文研究框架可简单表示为:

五、写作提纲

摘要 4-5

ABSTRACT 5-6

第一章 引言 9-11

1.1 研究背景 9

1.3 本文组织结构 10-11

2.1 分布式相关理论 11-14

2.1.1 基本概念和特性 11-12

2.2 典型 Nosql 系统分析 14-19

2.2.1 Bigtable 15-16

2.2.2 Dynamo 16-18

2.2.3 Cassandra 与 Bigtable,Dynamo 的对比 18-19

2.5 本章小结 22-23

第三章 难点分析与总体设计 23-32

3.2 高可用的分布式系统升级设计 25-27

3.2.2 升级设计的基本原则 26-27

3.3 总体设计方案 27-31

3.3.2 方案步骤 28-30

3.3.3 重点说明 30-31

3.4 本章小结 31-32

第四章 详细设计与实现 32-51

4.2 单数据中心分布式系统升级 33-38

4.2.1 设计意义 33-34

4.2.2 详细设计 34-38

4.3 跨数据中心分布式系统升级 38-42

4.3.1 区别分析 38

4.3.2 总体说明 38-39

4.3.3 读写请求处理 39-40

4.3.4 详细步骤 40-42

4.4 主要模块的实现 42-49

4.4.2 升级主要模块实现 44-46

4.4.3 数据迁移模块实现 46-48

4.4.4 回调函数的实现 48-49

4.5 本章小结 49-51

第五章 方案实施与测试 51-70

5.1 方案实施 51-57

5.1.1 系统部署 51

5.2 方案测试 57-66

5.2.1 单元测试 57-61

5.2.2 集成测试 61-63

5.2.3 系统测试 63-66

5.3 实际生产环境测试结果 66-69

5.4 本章小结 69-70

第六章 总结与展望 70-72

6.1 回顾和总结 70-71

6.2 前景展望 71-72

参考文献 72-74

致谢 74

六、本文研究进展(略)

七、参考文献

[5] Armando Fox and Eric Brewer, Harvest, Yield and Scalable Tolerant Systems, Proc. 7th Workshop Hot Topics in Operating Systems (Hot OS 99), IEEE CS, 1999, pg. 174-178.

[6] MSBI #72 BI # 5 Big Data # 2 What is Big Data ? What is No SQL ? What is Relation in association of Microsoft with SQL Azure , Windows Azure ,Big Data and No SQL together.

[7] Nosql. Wikipedia. /zh-cn/No SQL.

软件工程论文范文第7篇

基于CDIO工程教育模式的项目驱动“面向对象软件工程”课程教学方法(下简称CDIO教学法),以培养学生的基本工程能力和工程综合素质为目标,将“面向对象软件工程”知识体系中的相关知识点渗透到实践的各个环节中,而这些环节和软件工程生命周期完全一致,在各个环节中解决问题的方法则可以采用CDIO的构思、设计、实现和运行理念。我们参照CDIO能力大纲,提出通过“面向对象软件工程”教学和课程项目实践,培养学生如下方面能力:①通过基于案例/项目驱动来学习,要求学生能够深入理解“面向对象软件工程”的知识体系和该课程的基础理论并能在实际项目中加以灵活应用。“面向对象软件工程”的知识体系为学生理解和应用其基础理论解决分析、设计、实现和运行中的实际问题打下基础并提供有效工具;而“面向对象软件工程”理论基础为学生针对实际问题进行发明创造提供动力,为学生发现问题、分析问题和解决问题提供理论支持。②通过“面向对象软件工程”课程中项目的驱动,要求学生创建项目团队,通过课程项目实践各个环节(包括需求分析、设计和实现等环节及在此环节中的各项活动、沟通与协调、文档撰写),培养学生的良好职业素养,以及团队合作、系统思维、工程实践、项目管理和文档写作的能力。③通过“面向对象软件工程”理论学习和课程实践,培养学生的创新意识和能力,以开发出具有鲜明个性的软件作品。

2CDIO教学法在“面向对象软件工程”理论及其课程项目教学设计中的应用

2.1总体设计

目前,“面向对象软件工程”课程教学安排共计54学时,我们将理论教学内容与课程项目实践教学内容结合起来进行设计。在整个教学周期内,按照软件生命周期并结合CDIO、案例与项目驱动的教学法,设计理论课程案例教学过程中的相关活动,配合对应的课程项目实施活动加以有效组织与实践,在整个教学环节结合项目开发活动的进展与深入,要求学生记录自己团队活动中的相关内容,按照我们事先制定的规范撰写并维护项目文档。具体解决方案是:第一,正式课程教学的1~6周,设计项目描述和需求获取与分析、系统设计中的具体活动,这些活动包括分别标识实体对象、边界对象和控制对象;将用例映射成对象;建立对象之间的交互;标识关联、聚集和属性;对单一对象状态依赖行为的建模;对对象之间的继承关系建模;对本阶段的分析对象模型进行评审;基于分析对象模型标识出设计目标,进行子系统分解和标识;将子系统映射到系统构件元素上;标识并存储持久性数据;设计访问控制策略;设计全局控制流;标识服务;标识边界条件;对系统设计进行评审。第二,7~14周,设计对象设计与实现中的活动,这些活动包括学习软件复用和设计模式,并在详细设计中加以应用;对对象之间的接口进行说明,涉及标识遗漏的属性和操作、说明接口类型、签名与可见性,说明接口中相关方法的前置条件、后置条件和不变式等。第三,15~16周,设计测试阶段中的活动。第四,17周,进行相关的总结活动,包括项目文档的静态检查和验收,以及课程项目的动态演示与现场回答问题。

2.2设计课程项目

在设计课程项目中,将考虑提供给学生一个贯穿整个学期的课程教学项目描述,为此我们将选择开发一个基于Web的应用系统。这类系统的实例很多,可以由教师设定或者由学生自选,如教师可根据教学中的需要设定一类基于Web的师生交流系统,以方便实现教师和学生之间关于做项目时的沟通。学生也可以根据个人兴趣选择网游软件开发,或者选择基于Web的电子商务网站系统等。总之,相关项目的设计需要教师事先准备好项目描述或问题定义。为了开发这类基于Web的应用系统,教师需要指定项目使用的环境和工具,主要包括两类:一类是开发环境与工具、数据库管理系统、界面开发工具等,另一类是项目管理工具。这一阶段设计的活动属于CDIO中的构思阶段。

2.3设计理论课程教学过程

首先,在理论课程教学内容设计中,我们主要依据的是第3版的SWEBOK标准(2013),在CDIO工程教育模式的指导下,完成相关知识体系教学设计。在SWEBOK2013版中的17个知识点中(其中2个为候补知识点),我们选择了其中10个知识点,并将这些知识点融合到“面向对象软件工程”的理论课程教学中。这些知识点可有效地体现着CDIO的工程教育理念,如软件需求体现了CDIO的构思,软件设计体现了CDIO的设计,软件构造和软件测试体现了CDIO的实现,软件维护体现了CDIO的运作等。其次,在此基础上设计理论教学过程。一方面,以案例/项目驱动教学方法为基础,“面向对象软件工程”课程中相关知识体系及理论学习,要求学生在学习和思考中掌握“面向对象软件工程”的相关知识、术语、理论和技术基础,并通过团队方式共同学习、讨论和完成作业,并以团队形式参加全体同学的各种讨论活动;另一方面,要求学生围绕着项目描述或者待解决的问题描述,完成团队组建、工具选择、项目计划制定,并开始执行需求工程中的需求获取和需求分析活动,以及在此基础上的系统设计活动,这些阶段的工作结论需要学生加以记录,特别是需求获取与分析的结论和总体设计结论更要以文档形式加以记录。第三,结合案例/项目驱动教学,进一步完成“面向对象软件工程”理论课程。具体做法是一方面引入小型案例,另一方面引入面向应用领域的实际项目,并在项目描述、需求获取和分析活动、系统设计和对象设计中,将该项目的具体情景或者可行的系统设计解决方案引入课堂,在课堂上组织学生参与讨论、分析这些基于场景的案例,将需求阶段和系统设计阶段中涉及的重点知识、术语、过程与步骤等重点和难点融入到案例中来讲解和学习,以便于学生真正理解相关的理论教学内容。这一阶段的活动设计对应着CDIO中的构思阶段。

2.4基于项目驱动的课程实验教学设计

解决软件项目中的问题或实现软件项目中的任务,要求学生以团队方式进行活动,并在整个活动中的各个阶段贯彻CDIO工程教育的理念,即让学生能够对软件项目中的任务完成进行构思,获取与软件项目相对应的软件系统的功能性需求、非功能性需求和系统约束,并以文档方式进行描述;接着,通过设计手段来完成项目任务,用系统来对应将来要完成的任务,并在该系统设计中落实项目的各项要求,这需要通过对系统的总体设计、详细设计等环节来达到,并将设计结论记录在软件设计文档中;在前面构思和设计的基础上,选择合适的程序设计语言、数据库管理系统等基础设施,用编程的方式实现该系统,并完成相应的测试任务,注意在实现过程中,同样要将相关结论以文档的形式加以记录,以备维护之需;在系统实现后,通过部署和运行等方式,让该软件系统(可以看成是本项目的解决方案)呈现出价值。在这一完整过程中,让学生通过项目驱动下的团队活动过程,体验到软件产品从构思、设计、实现到运行(包括维护)所经历的全生命周期过程。这一阶段的活动设计对应着CDIO中的设计、实现阶段。

2.5项目总结与项目验收过程教学设计

项目总结过程的教学设计是以团队为单位进行自我总结并撰写项目总结报告,以个人为单位撰写学习心得,教师主要验收和检查相应的项目总结报告和学生学习心得。项目验收过程的核心是开展两阶段验收活动,即在学期的15~18周中,选择第15周进行一次中期检查,第18周再进行一次期终项目验收。全体主讲教师和辅导教师组成一个答辩小组(一般为4人),他们事先要做好各项准备工作,包括现场点名以确认学生的有效身份并结合点名宣布学生团队的答辩顺序,保证答辩的有效性和合理性;由答辩小组组长宣布评分标准细节和学生是否能够通过本次验收活动的标准。

3实践活动

在“面向对象软件工程”课程教学活动中,共有45位学生(组成了15个团队)全程参与了我们的教学改革过程,现在仅就验收答辩环节进行说明。整个答辩所耗时间共计7个多小时;答辩老师根据实际情况(最低底线是学生必须完成项目要求的最基本功能),充分肯定了学生到目前为止所完成的开发成果,同时建议相关学生利用即将到来的假期进一步完成或完善该应用软件系统的开发,及时修改设计上的缺陷。在本次教改实验过程中,我们充分认识到这一教学过程对教师也提出了更高的要求。教师不仅仅是需要在理论基础教学上过硬,还需要具备软件项目开发的经验,这样才能够做到既能站在理论的高度指导学生分析和解决问题,同时也能给出实实在在的课程项目开发活动中的技术指导。

4结语

传统“面向对象软件工程”课程的教学方法所带来的弊端已经日益显现。我们结合案例教学法和项目驱动教学法,提出了一种基于CDIO工程教育模式理念的“面向对象软件工程”的教学方法,这既满足了CDIO能力大纲体系中的4个方面,也体现出了教师在教学中的主导地位及作用和以学生为主体的教学风格,符合“新三中心论”。实践证明,该课程教学方法有利于学生在以案例/项目方式充分理解和掌握本课程知识体系的前提下,通过项目驱动下的实践环节,培养学生的问题分析能力、用编程手段解决问题的能力和团队合作精神。

软件工程论文范文第8篇

软件工程专业高层次应用技术和技能人才数量严重不足,同时应用技术和技能人才培养的学历层次不高不能满足企业实际需求。地方高校软件工程专业定位和人才培养目标不明确、教学方式方法缺乏科学性、系统性,实践教学体系不完善,没有与行业就业有效对接,导致培养的人才无法满足社会生产实际需求,导致“软件工程专业毕业生无职可就,软件开发行业以及相关软件应用单位招不到满意的员工”现状普遍存在。

2软件工程专业课程体系理论设计

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

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

4结语

软件工程专业课程体系建设改革主要侧重于软件开发技术人才的培养,对学生的知识体系构建,学习方法的形成影响重大;对专业教师教学模式的改变,教学水平和科研理论转化成果周期率提高极具促进作用。课程体系建设在实施过程中需有大量工作需要处理,也有很多新问题需要我们去探索、解答,整个课程体系按照CDIO[6]方式建设和验证。

软件工程论文范文第9篇

第一,用进式和并发式开发流程取代传统的瀑布式开发。由系统设计和建模、开发与挂历组件、系统分析和项目的组织一同构成了整个过程。开发时,利用装配和组合组件,来实现耦合松散的结构模块。第二,在开发组件软件工程的时候,组件为整个开发过程的核心,收集组件时在需求分析阶段完成的,实现后,对于设计、装配、测试软件要按照一定的顺序去做。在应用的组件和系统的需求之间完成了权衡之后,开发者的重要工作则转向了开发工具、装配模型和组件,只有这样,能够将开发的效率有效提升上来。第三,面向接口、面向连接和面向重用为组件软件工程的主要开发方法。应用程序和组件的开发为整个开发的两个重要组成部分。在开发组件的时候,待定领域要对口针对,建立模型、深入分析,进而将组件的实际功能确定出来,然后,对对外接口进行规划与设计,对内部的细节进行落实与实现,完成管理和部署软件工作。在设计组件时,不同组件间的粒度不能太大,只要能满足一个逻辑功能对单个的需求即可,不必追求功能的全和。此外,对于提升整个应用系统复用能力,要满足组件的接口。此外,简易性和实用性也是不能缺少的。在设计完某一组件后,用二进制代码形式将某一组件编辑出来,而且在重要的组件库中进行存放,便于今后使用,组件的数据库应用系统即为组件库,组件的分类和描述,加入和删除组件为其两个重要的功能。在开发应用程序时,利用设计组件生成组件清单,将查询数据库时需要的组件提供出来,然后有效的利用现有的组件,自行开发和重构没有的组件,并且向组件库中存入。

二、对软件工程的管理分析

开发管理为现阶段组件工程开发中的一项重要工作内容。在开发了组件化软件工程之后,使工业化的软件工程成为了现实,专业化的流水线分工用很少的组件开发岗位就能够予以实现,对专业编程岗位不用过多的选择应用。但是,系统分析员在当中是绝对不能缺少的,设计组件系统的工作人员和维护管理组件库的工作人员为软件工程管理中的基础岗位,因此,对于软件工程中所涉及到相关知识,他们必须要认真扎实的进行掌握,然而,随着组件工程的发展,就不再过多的需要那些大量的编程人员。为了能够协调的开展起各个岗位的工作,将工作效率提升上来,为软件工程进行开发时的一个重要环节。在开发组件软件工程的过程中,对于接口标准一定要予以符合,并且还要通过严格的测试,在对通用性、互操作性和重用性进行了综合的考虑之后,进而将可信任和可靠的商业化软件构建起来。

三、结语

综上所述,随着时代的发展与进步,计算机网络系统已经成为我们身边不能缺少的一个重要工具,计算机系统能够发挥作用,主要得益于软件工程的大力支撑,但是,对于软件工程的开发并不是一件简单的工作,需要具备先进的技术和管理手段,尤其是对组件软件工程的开发更需要强劲的技术给予支持,所以,对于这方面的工作需要我们在平时的工作中高度地重视起来。

软件工程论文范文第10篇

软件工程研究性教学是一种实践性较强的教育教学活动。与现有的软件工程教学不同,研究性学习不再局限于对学生进行纯粹书本知识的传授,而是让学生参加实践活动,在实践中学会学习和获得各种能力。

1.1研究性教学作用

软件工程研究性教学强调知识的联系和运用,不仅是软件工程学科知识的综合运用,更是程序设计、数据库、计算机网络等领域知识的融会贯通。学生通过研究性学习,不但知道如何综合运用学过的知识,还会在已经学过的知识之间建立一定的联系,并主动学习新的知识。软件工程研究性教学能够通过合理的选题充分调动学生的学习兴趣和积极性。研究性学习是一种带有研究性质的综合性学习。软件工程研究性学习主要与传统的接受性学习相对。一般来讲,该学习方式是学生通过自己观察、调查、访谈、分析、设计、实现、测试等方式获取知识、得出结论、形成软件产品,而不是由教师将现成的知识和结论传递式教给学生的学习方式。软件工程研究性学习的本质在于让学生亲历软件开发问题的产生与方案形成的过程,使学生学会独立思考、实践和分析,实现发现问题、取得解决方案与学习三者之间的有机结合与高度统一。

研究性教学和学习有其独特的好处与必要性。软件工程课程包含了丰富的工程化思想和基本原理,然而,这些思想和原理需要通过实践和探索使学生获得切身体会。这种探究对学生的思维构成了挑战,有利于思维能力的培养。探究过程要求综合运用已有的知识经验,有利于学生整合知识、学以致用,培养学生实事求是的科学精神和态度,促进学生学会合作、交流、倾听、批判和反思。在探究过程中,学生经历挫折与失败、曲折与迂回、成功与兴奋,从而最终理解科学的本质。软件研究性学习引导学生自主获得软件开发相关知识或信息,对学生学会思维与实践、加强能力培养、践行可持续发展具有重要意义。

2软件工程研究性教学案例

考虑到软件工程的内容复杂性,作者选择敏捷开发实践的结对编程方法作为研究性教学的探究内容。敏捷开发是一个新的思路,但不是软件开发的终极选择。对于时间长、人数多的大型应用软件的开发,文档的管理与衔接作用是不可替代的。如何把敏捷的开发思路与传统的“流水线工厂式”管理有机结合,是软件开发组织者面临的新课题。敏捷过程将整个软件生命周期分解为若干个小的迭代周期,通过在每个迭代周期结束时交付阶段性成果来获取切实有效的客户反馈,目的是希望通过建立及时的反馈机制,应对随时可能出现的需求变更,并做出相应的调整,从而增强对软件项目的控制能力。因此,敏捷过程对变化的环境具有更好的适应能力,相比于经典软件开发过程的计划性特征,敏捷过程在适应性上具有更大的优势。极限编程实践中有一个非常重要的原则就是结对编程,这里所谓的结对编程并非是一个人在编程,另一个在看着,另外一个人同样起着非常重要的作用,他需要帮助编码的人找到低级的失误,防止其编码出现方向性的错误,特别是当出现编码的人不擅长解决的问题的时候,他会直接替换编码的人进行编程。

结对编程(PairProgramming,PP)是一个非常直观的概念,是指两位程序员肩并肩地坐在同一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一起工作。他们一起进行分析、设计、写测试用例、编码、单元测试、集成测试、编写文档等工作,基本上所有的开发环节都是面对面、平等、互补地进行,并且两人的角色可以随时交换。结对编程的实施方式分为面对面结对和远程结对两种方式。面对面结对编程是指两个程序员肩并肩坐在同一台电脑前、在同一个软件制品上一起工作的软件开发方式。面对面结对编程的好处在于,程序员可以直接快速地交流,获得高质量的代码并增强程序员工作的乐趣。面对面结对编程最大的优势就是交流非常方便,因为两个人靠得很近,言语和手势的交流非常自然,效果非常好。面对面交流没有隔阂,两个人互相看到对方的表情,产生和谐的气氛,合作也非常愉快。面对面结对编程效率较高,因为一方看着另一方在工作,因此编程的一方就不会想别的事情或停下来关注其他事情,因而能集中精力完成工作,即存在一种“结对压力”。面对面结对编程需要不定期地进行角色交换,以发挥两个人的能力。当面对面结对编程环境配置不当的时候,交换角色时需要双方一同站起来互换位置,然后再继续工作,这样就会导致停顿,引起不便和不顺畅,往往会打断双方的思路。这个问题可以通过提供宽敞的结对环境来解决,例如,提供一个较大的电脑桌,双方交换时只需要移动键盘和鼠标即可。环境受限的情况下,可以通过提供双键盘和双鼠标的方式解决,结对者可以在各自的键盘上工作,可通过系统来控制键盘和鼠标的切换。

鉴于全球化软件发展趋势的继续,要求两名开发者进行面对面的交流并不符合全球化软件发展的需求。这就要求两名程序员虽然在不同的地点,但是他们还能一起合作使用结对编程编写代码,这种方法被称为分布式结对编程。

分布式结对编程是一种编程风格,两个程序员在地理上是分布的,通过网络在同一个软件制品上同步工作。分布式结对编程可以克服面对面结对的一些不足,结对者通过网络可以随时随地结对工作,提高了结对的机会。为了进行分布式结对编程,需要功能较为强大的结对工具支持结对者高效地工作。首先,需要共享的代码编辑工具支持,一方的编辑工作能够被另一方实时地看到,同时,代码能够进行编译,以便能够检查语法错误,因此需要与现有的开发环境集成。第二,结对者需要充分地交流由于双方在不同的地方,合适的交流工具是必要的,基本的交流工具包括基于文本的交流和基于语音的交流。基于文本的交流比较容易实施,但由于一方在编程,文本交流会造成干扰。语音交流是一个必然选择,交流起来也比较自然,只是对网络带宽有一定的要求。语音交流只能听到声音,看不到对方的表情,影响进一步的了解。随着网络技术的发展,基于视频的交流是今后的必然选择。第三,角色交换支持。结对双方经过一段时间交换角色,这是结对编程的特定要求。分布式结对编程的角色交换本质上就是对编辑器的控制,允许一方处于编辑状态,另一方则处于察看状态。第四,分布式结对编程还要支持用户管理、发起结对等功能基于上述的内容分析,笔者将软件工程研究性教学内容确定为结对编程方法与实践的探索内容。首先,要求学生从理论上理解结对编程的特点、优势和不足,然后,通过亲身结对活动体会其中存在的不足和影响结对的重要因素,进而提出解决结对过程中的问题和设计方案,最后,通过软件来实现这些方案。

3软件工程研究性教学实施过程

根据以上的思路,笔者设计了软件工程研究性教学的实施步骤。

(1)要求学生分析敏捷方法相比传统的软件过程方法的优势,进而理解结对编程式敏捷方法的重要实践原则。分发材料让学生深入理解结对编程的优势和实施过程。

(2)要求学生亲身体验结对过程,通过不同的学生结对编程,发现存在的问题和影响结对效果的因素

阅读有关结对编程的文献,了解影响结对效果的因素。学生通过个性、能力和性别等因素进行结对,发现存在的问题,例如,交换角色的不便因素和结对模式效率影响因素等。

(3)学生针对存在的问题提出解决方案。例如,根据不同的影响因素,可以开发结对模式评测软件系统,匹配最佳的结对组合;结对环境拥挤带来交换角色的不便,可以设计合适的设备环境,如采用双显示器、双键盘和双鼠标的硬件结构,开发相应的控制系统。在后续的教学中,利用软件工程开发过程与方法来开发学生提出的结对系统。在分析阶段,学生根据自己的体会提出软件系统的需求;在设计阶段,设计该系统的结构和算法;在实现阶段,进行编码和测试;在部署阶段,进行安装运行和修改不足。

(4)总结研究性学习效果。进行结对对比实验,分析效果。学生总结一个学期的研究性学习过程,通过提出问题和解决问题的过程来理解软件工程的方法和工程化思想,理解如何分析软件的需求、设计、实现和部署。

4结语

从2011年开始,在本科生三年级的软件工程课程教学中实施了软件工程研究性教学。学生通过分组进行结对编程的实验,发现实施过程中的问题,提出改进方案,并设计了软件系统。在实施过程中,教师提供了研究资料,并给予了启发式引导。学生积极性非常高,积极参与个性评测,总结结对组合模式,提出许多建设性的意见和系统方案。有部分组最终完成了系统的开发和软件部署工作,开发的软件入选结对实验室的示范系统中,并被后续的学生使用,效果非常好。学生的一些工作被作者写入软件工程方法与实践教材中。今后工作室将把这些经验进一步扩展到其他课程(如程序设计课程、计算机基础实验课程)的教学实践当中。

上一篇:免疫学范文 下一篇:生态养殖论文范文