软件工程论文精编5篇
【导言】此例“软件工程论文精编5篇”的范文资料由阿拉题库网友为您分享整理,以供您学习参考之用,希望这篇资料对您有所帮助,喜欢就复制下载支持吧!
软件工程论文1
软件工程研究性教学是一种实践性较强的教育教学活动。与现有的软件工程教学不同,研究性学习不再局限于对学生进行纯粹书本知识的传授,而是让学生参加实践活动,在实践中学会学习和获得各种能力。
研究性教学作用
软件工程研究性教学强调知识的联系和运用,不仅是软件工程学科知识的综合运用,更是程序设计、数据库、计算机网络等领域知识的融会贯通。学生通过研究性学习,不但知道如何综合运用学过的知识,还会在已经学过的知识之间建立一定的联系,并主动学习新的知识。软件工程研究性教学能够通过合理的选题充分调动学生的学习兴趣和积极性。研究性学习是一种带有研究性质的综合性学习。软件工程研究性学习主要与传统的接受性学习相对。一般来讲,该学习方式是学生通过自己观察、调查、访谈、分析、设计、实现、测试等方式获取知识、得出结论、形成软件产品,而不是由教师将现成的知识和结论传递式教给学生的学习方式。软件工程研究性学习的本质在于让学生亲历软件开发问题的产生与方案形成的过程,使学生学会独立思考、实践和分析,实现发现问题、取得解决方案与学习三者之间的有机结合与高度统一。
研究性教学和学习有其独特的好处与必要性。软件工程课程包含了丰富的工程化思想和基本原理,然而,这些思想和原理需要通过实践和探索使学生获得切身体会。这种探究对学生的思维构成了挑战,有利于思维能力的培养。探究过程要求综合运用已有的知识经验,有利于学生整合知识、学以致用,培养学生实事求是的科学精神和态度,促进学生学会合作、交流、倾听、批判和反思。在探究过程中,学生经历挫折与失败、曲折与迂回、成功与兴奋,从而最终理解科学的本质。软件研究性学习引导学生自主获得软件开发相关知识或信息,对学生学会思维与实践、加强能力培养、践行可持续发展具有重要意义。
2软件工程研究性教学案例
考虑到软件工程的内容复杂性,作者选择敏捷开发实践的结对编程方法作为研究性教学的探究内容。敏捷开发是一个新的思路,但不是软件开发的终极选择。对于时间长、人数多的大型应用软件的开发,文档的管理与衔接作用是不可替代的。如何把敏捷的开发思路与传统的“流水线工厂式”管理有机结合,是软件开发组织者面临的新课题。敏捷过程将整个软件生命周期分解为若干个小的迭代周期,通过在每个迭代周期结束时交付阶段性成果来获取切实有效的客户反馈,目的是希望通过建立及时的反馈机制,应对随时可能出现的需求变更,并做出相应的调整,从而增强对软件项目的控制能力。因此,敏捷过程对变化的环境具有更好的适应能力,相比于经典软件开发过程的计划性特征,敏捷过程在适应性上具有更大的优势。极限编程实践中有一个非常重要的原则就是结对编程,这里所谓的结对编程并非是一个人在编程,另一个在看着,另外一个人同样起着非常重要的作用,他需要帮助编码的人找到低级的失误,防止其编码出现方向性的错误,特别是当出现编码的人不擅长解决的问题的时候,他会直接替换编码的人进行编程。
结对编程(PairProgramming,PP)是一个非常直观的概念,是指两位程序员肩并肩地坐在同一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一起工作。他们一起进行分析、设计、写测试用例、编码、单元测试、集成测试、编写文档等工作,基本上所有的开发环节都是面对面、平等、互补地进行,并且两人的角色可以随时交换。结对编程的实施方式分为面对面结对和远程结对两种方式。面对面结对编程是指两个程序员肩并肩坐在同一台电脑前、在同一个软件制品上一起工作的软件开发方式。面对面结对编程的好处在于,程序员可以直接快速地交流,获得高质量的代码并增强程序员工作的乐趣。面对面结对编程最大的优势就是交流非常方便,因为两个人靠得很近,言语和手势的交流非常自然,效果非常好。面对面交流没有隔阂,两个人互相看到对方的表情,产生和谐的气氛,合作也非常愉快。面对面结对编程效率较高,因为一方看着另一方在工作,因此编程的一方就不会想别的事情或停下来关注其他事情,因而能集中精力完成工作,即存在一种“结对压力”。面对面结对编程需要不定期地进行角色交换,以发挥两个人的能力。当面对面结对编程环境配置不当的时候,交换角色时需要双方一同站起来互换位置,然后再继续工作,这样就会导致停顿,引起不便和不顺畅,往往会打断双方的思路。这个问题可以通过提供宽敞的结对环境来解决,例如,提供一个较大的电脑桌,双方交换时只需要移动键盘和鼠标即可。环境受限的情况下,可以通过提供双键盘和双鼠标的方式解决,结对者可以在各自的键盘上工作,可通过系统来控制键盘和鼠标的切换。
鉴于全球化软件发展趋势的继续,要求两名开发者进行面对面的交流并不符合全球化软件发展的需求。这就要求两名程序员虽然在不同的地点,但是他们还能一起合作使用结对编程编写代码,这种方法被称为分布式结对编程。
分布式结对编程是一种编程风格,两个程序员在地理上是分布的,通过网络在同一个软件制品上同步工作。分布式结对编程可以克服面对面结对的一些不足,结对者通过网络可以随时随地结对工作,提高了结对的机会。为了进行分布式结对编程,需要功能较为强大的结对工具支持结对者高效地工作。首先,需要共享的代码编辑工具支持,一方的编辑工作能够被另一方实时地看到,同时,代码能够进行编译,以便能够检查语法错误,因此需要与现有的开发环境集成。第二,结对者需要充分地交流由于双方在不同的地方,合适的交流工具是必要的,基本的交流工具包括基于文本的交流和基于语音的交流。基于文本的交流比较容易实施,但由于一方在编程,文本交流会造成干扰。语音交流是一个必然选择,交流起来也比较自然,只是对网络带宽有一定的要求。语音交流只能听到声音,看不到对方的表情,影响进一步的了解。随着网络技术的发展,基于视频的交流是今后的必然选择。第三,角色交换支持。结对双方经过一段时间交换角色,这是结对编程的特定要求。分布式结对编程的角色交换本质上就是对编辑器的控制,允许一方处于编辑状态,另一方则处于察看状态。第四,分布式结对编程还要支持用户管理、发起结对等功能基于上述的内容分析,笔者将软件工程研究性教学内容确定为结对编程方法与实践的探索内容。首先,要求学生从理论上理解结对编程的特点、优势和不足,然后,通过亲身结对活动体会其中存在的不足和影响结对的重要因素,进而提出解决结对过程中的问题和设计方案,最后,通过软件来实现这些方案。
3软件工程研究性教学实施过程
根据以上的思路,笔者设计了软件工程研究性教学的实施步骤。
(1)要求学生分析敏捷方法相比传统的软件过程方法的优势,进而理解结对编程式敏捷方法的重要实践原则。分发材料让学生深入理解结对编程的优势和实施过程。
(2)要求学生亲身体验结对过程,通过不同的学生结对编程,发现存在的问题和影响结对效果的因素
阅读有关结对编程的文献,了解影响结对效果的因素。学生通过个性、能力和性别等因素进行结对,发现存在的问题,例如,交换角色的不便因素和结对模式效率影响因素等。
(3)学生针对存在的问题提出解决方案。例如,根据不同的影响因素,可以开发结对模式评测软件系统,匹配最佳的结对组合;结对环境拥挤带来交换角色的不便,可以设计合适的设备环境,如采用双显示器、双键盘和双鼠标的硬件结构,开发相应的控制系统。在后续的教学中,利用软件工程开发过程与方法来开发学生提出的结对系统。在分析阶段,学生根据自己的体会提出软件系统的需求;在设计阶段,设计该系统的结构和算法;在实现阶段,进行编码和测试;在部署阶段,进行安装运行和修改不足。
(4)总结研究性学习效果。进行结对对比实验,分析效果。学生总结一个学期的研究性学习过程,通过提出问题和解决问题的过程来理解软件工程的方法和工程化思想,理解如何分析软件的需求、设计、实现和部署。
4结语
从2011年开始,在本科生三年级的软件工程课程教学中实施了软件工程研究性教学。学生通过分组进行结对编程的实验,发现实施过程中的问题,提出改进方案,并设计了软件系统。在实施过程中,教师提供了研究资料,并给予了启发式引导。学生积极性非常高,积极参与个性评测,总结结对组合模式,提出许多建设性的意见和系统方案。有部分组最终完成了系统的开发和软件部署工作,开发的软件入选结对实验室的示范系统中,并被后续的学生使用,效果非常好。学生的一些工作被作者写入软件工程方法与实践教材中。今后工作室将把这些经验进一步扩展到其他课程(如程序设计课程、计算机基础实验课程)的教学实践当中。
学而不思则罔,思而不学则殆。以上这5篇软件工程论文是来自于山草香的软件工程论文的相关范文,希望能有给予您一定的启发。
软件工程论文2
1.1偏重理论轻开发能力,人才培养模式滞后
经过我们对软件企业人才需求的调研,目前我国软件人才数量不少,但水平偏低,更重要的是结构失衡。具体表现为,企业希望招聘的高校毕业生具有软件开发岗位所必须具备的实践能力,但很多高等院校软件人才培养模式由于教育理念和师资力量本身的问题,偏重于传授知识和技术而轻视了软件开发能力的培养。这种现状导致软件企业从高校招聘的毕业生不能立即进入软件开发岗位,必须经过几个月的职业岗位培训,才能真正胜任开发工作。毕业生到软件开发工作岗位上要经历的适应期和培训期,说明高校培养的软件人才与软件企业的职业岗位存在明显差距,需要高等院校在培养模式、培养计划、课程设置等方面按照软件开发过程和设计开发能力的要求进行改革和完善。
1.2实践条件不能满足人才培养需求,学生动手实践能力有待提高
各个高校的实验条件经过近几年,尤其是2013年的国家和地方政府的投资,实验和实训的条件得到很大提高。校内软件工程的实验环节均能满足教学要求,有条件的高校已经建立了一定的校内实训基地,但实训基地尚摆脱不了之前知识教育体系下的实验模式,所开设的实践项目范围偏窄,模拟课题多,实战课题少,参与建设实训基地的企业热情不高,缺少真实的工作场景。现有的机器数量、配置大部分还是以单台性质的设备和个人计算机为主,满足不了软件及信息技术的发展的要求,特别是缺少真实的开发项目和项目开发指导组,难以营建软件企业的软件产品生产环境,不能满足基于软件产品开发过程对实训课程的需要,学生的动手实践能力有待提高。
1.3教师队伍工程能力偏低,难以支撑卓越工程师培养计划的实施
高校在师资队伍建设方面,多以高学历、高职称的比例来衡量教师队伍水平的高低。经过多年的师资建设,高校中大部分教师都具有博士、硕士学位,他们虽然有较强的学术能力,但是专业实践知识和工程实践经验却相对缺乏,尤其是新教师绝大部分是从学校到学校,情况更不容乐观。另一方面,由于计算机行业的发展,各类新技术层出不穷,尤其是软件开发技术和新的开发工具,老教师的技术能力没有得到及时更新,很难胜任新的软件工程应用开发类课程的教学。这就造成了整个软件工程专业的教师队伍工程能力偏低,与软件工程专业对教师素质的要求有较大差距,很难适应培养软件工程实践型人才的需要。此外,不论学术型还是应用型的高校评价教师的标准都是侧重于教师的理论水平和论文数量,使高校软件工程专业的教师在进入高校工作几年后,原来即使具备有开发能力的也随着新技术的发展而逐渐淘汰,无形中引导着教师队伍建设向学术型方向发展,而忽视了工程实践水平的提高。
2CDIO与软件工程专业
从项目或产品的生命周期可知,工程项目、产品运行的生命周期基本都要经历构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)这样的阶段。工程项目或产品首先要根据需求进行构思,将科学原理转化为工程项目或者产品开发的计划方案;再根据计划方案进行设计,确定实现工程实施或生产产品的工艺流程、操作程序等的设计方案;然后根据设计方案进行项目的实施或者产品的生产实现;最后是完成项目的运行服务或生产产品的销售、售后服务。因此,麻省理工学院和瑞典皇家工学院等4所大学组成跨国研究,以产品运行的生命周期所需要的从业人员必须具备的知识、能力、素质出发,经过4年的探索研究,设计了工程教育模式,创立了CDIO工程教育理念。2011年,CDIO区域性国际会议在北京中苑宾馆隆重召开,教育部部长助理林蕙青指出,未来我国高等工程教育改革发展的战略重点就是“四个更加重视”:一要更加重视高等工程教育服务国家发展战略和经济发展方式转变的需要;二要更加重视与行业企业合作育人、合作办学、合作就业;三要更加重视学生社会责任感、综合素质和工程实践能力培养;四要更加重视提高工程技术人才培养的国际化水平。CDIO工程教育模式有利于解决当前工程教育实践中存在的重理论轻实践、强调个人学术能力而忽视团队协作精神、重视知识学习而轻视开拓创新培养等诸多问题。此外,从国家实施卓越工程师培养的11条通用标准看,每个标准的实现都能够在CDIO工程教育模式中体现,因此在国家大力推进高等工程教育“卓越计划”中融合CDIO的教育理念必将为高质量实施“卓越计划”起到积极的推进作用。在软件工程学科领域,软件工程是应用计算机科学理论和技术以及工程管理原则和方法,根据用户的要求,按照按预算和进度实现软件产品的定义、开发、和维护的工程,是研究用工程化方法构建和维护有效、实用和高质量的软件的学科。软件工程研究的对象是软件系统,涵盖软件科学与工程两个方面。软件科学研究的重点在于发现软件可信性、度量和演化的基本规律,以应对当今软件所面临的复杂性、开放性和演化性等一系列重要挑战,是工程应用的理论层面;而软件工程的重点在于综合应用包括科学方法在内的各种软件设计方法,运用各种科学知识,深刻理解设计合格软件产品所涉及的多方面因素,去构建可靠、满足需求的软件产品。IEEE最新的软件工程知识体系(SWEBOK)将软件工程知识体系分解成10个知识域,即软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量,这些知识领域贯穿于软件产品生命周期的全过程。因此,在软件工程专业“卓越计划”中,以软件产品的方案设计、开发、部署、运行的软件生命周期为主线,将CDIO工程教育融合到卓越软件工程师的培养中是必要且可行的,有利于培养出软件设计能力、国际交流能力、管理与沟通能力和职业发展能力强的,具有软件工程背景的复合型、应用型高层次软件工程技术人才,推动软件产业不断开拓创新。
3融合CDIO理念的软件工程专业卓越工程师的培养
3.1引入CDIO工程教育模型的综合培养理念设计软件工程应用型创新人才培养模式
融合CDIO工程教育理念进行卓越软件工程师培养,对传统的教育模式进行改革,将软件工程教育与项目、产品的构思、设计、实现和运作生命周期中所需要的知识、能力、素质紧密结合,以项目或软件产品的生命周期为载体,引入校企合作机制,采用3+0.5+0.5的培养模式。前3年与传统的软件工程教育类似,完成软件工程专业所需要的基本知识、基本技能和基本素质的培养。在后面的1年分为两个阶段,第一个阶段我们称为项目实训,以校外实习参观,校内讲座、实训的教学方式,用已经开发完成的项目或软件产品为例,模拟企业运作进行教学,熟悉项目工程、产品生命周期的各个环节,将前3年学习的知识融合,在实训中掌握开发工具,以学生以主动的、实践的方式接受软件工程设计能力、开发能力和素质教育的培养。第二个阶段,学生进入合作企业或者就业企业,参与到企业真正的项目开发中,以企业的课题完成毕业设计,在设计中锻炼职业能力。
3.2构建适合CDIO工程教育模型的理论教学体系
坚实的专业基础是学生今后成为优秀工程技术人员和管理者的保证,也是CDIO培养模式的基石。以软件产品的构思、设计、实施、运行为目标倒推成为卓越软件工程师所需要的知识、能力、素质,以培养知识、能力、素质去组织理论教学体系。包括软件从业人员所需要具备的良好的数学建模能力课程:微积分、线性代数、概率论和数理统计等;运用计算机进行软件开发所需的计算数学课程:离散数学、数据结构、算法分析与设计等;进行软件开发所需的软硬件系统基础课程:操作系统、软件工程导论、数据库原理、信息系统基础、计算机系统结构、计算机网络和编译原理等;进行软件设计所需的软件开发类课程:软件需求分析、软件构架、软件设计、软件测试、软件维护;软件工程工具等;软件从业人员需要具备的良好的身体素质和心理素质的人文素质系列课程:形势与政策、马克思主义基本原理、思想/邓小平理论和“三个代表”重要思想概论、法律法规、大学生心理健康教育、体育、团队激励与沟通及全校性选修课程等;软件从业人员需要具备的掌握发达国家的技术和了解国际IT文化的外语应用能力课程:基础英语、英语听说、日语基础和专业英语。
3.3构建适合CDIO工程教育模型的一体化、多层次的实践教学体系
CDIO工程教育理念是“做中学”原则和“基于项目的教育和学习”的集中体现,软件工程专业应用型创新人才的培养,实践能力的提高是设计软件产品能够实施和运行的关键。以产品的运行周期为主线的一体化、多层次的实践教学体系是以验证性实验为基础,实现第一层次的基本实践能力培养;以课程设计、实践课程为贯穿专业课程模块的线索,实现第二层次与第三层次的个人能力及团队能力培养;以校内外实践基地的实训和毕业设计为载体,实现第四层次的构思(C)、设计(D)、实施(I)和运行(O)综合能力培养。以此形成集实验、课程设计、实践课程、实训和毕业设计一体化、多层次的实践教学体系。基于CDIO的“做中学”原则的人才培养模式,采取向企业派驻科技特派员和聘任企业技术人员为兼职教师的“双向聘任制”模式,使软件工程专业与软件企业更为紧密地结合。企业技术人员和校内教师联合建立项目开发小组,让学生通过实际项目研发,体验软件产品生命周期各个阶段的从业人员角色。在项目研发中进行需求分析、软件体系结构设计、数据库设计、接口设计和算法设计,编码实现,测试、投入运作等一系列工程实践。以此为学生职业能力训练和教师项目开发锻炼提供一个真实的职业环境,有助于学生的职业素质、职业态度和习惯的形成。“基于项目的教育和学习”采用“双向聘任制”模式驱动,专业教师与实践基地软件技术人员间角色转换;科研、技术研发项目与教学课题间的相互渗透。学校将工程实践列入教师教学质量考核的指标,甚至职称晋升的指标,引导教师加强自身工程能力的提高,这将逐步解决困扰软件工程专业发展的教师队伍、实践、实训的难题。
3.4按照知识、能力、素质,规范人才培养质量标准,保障卓越工程师计划的顺利实施
培养质量标准,是规定某一个专业的专业培养目标、毕业要求、实现途径、评价方式的教学指导性文件。它是联系专业培养目标与教学活动的中间桥梁,可以确保不同的教师有效、连贯而目标一致地开展教学工作,对教师的教学具有直接的指导作用。在“卓越工计划”中引入先进的CDIO教育理念,将“卓越工计划”通用标准与软件工程行业标准、企业标准、职业资格标准结合制定人才培养质量标准,以标准规范人才培养是保障卓越工程师计划顺序实施的有效保障。
4结语
软件工程论文3
有些存在质量问题的软件,在运行时程序时就会出现问题,软件的维护就更加困难,如果投入到新的硬件中进行使用,两者之间就未必能够相互适用。计算机整体的成本因为软件成本的增加而增加。近些年,计算机技术在不断的发展,自动化的软件生产程度也在不断提高,这样一来,导致计算机在硬件方面的开发成本却越来越低,由于软件开发对人力、物力的需求都在不断增加,软件成本逐年增高已成了必然趋势。
2软件工程的项目控制跟踪
项目跟踪内容
依据软件项目计划,必须要对软件的产品规模(或更改后的规模)、软件的成本与工作量、所使用的重要计算机资源、项目软件日程、软件工程技术活动、项目费用、技术风险等内容与软件在开发前计划的相应内容进行比较。
项目跟踪过程
软件项目的控制跟踪过程分为:
(1)项目跟踪人员要对软件度量的实际数据与再计划数据进行记录;
(2)负责人要根据文档里记载的程序在指定的地点审查项目成果;
(3)对软件的监控活动和项目的跟踪予以必要的检查。
项目跟踪存在的问题
(1)控制与跟踪的频度,控制与跟踪在项目开发工程中的关键点有多个,这就需要我们找到一个好的频度去跟踪,若跟踪点少,就不能保证问题及时被纠正;若跟踪点多,在人力物力上的花费就会增多,对总体效率的影响很大。控制与跟踪的频度关系着软件项目的规模,大型项目设置的关键点相应较多。
(2)项目计划的修改,控制与跟踪软件开发过程以后,可能会发现软件项目有些地方会不符合实际,需要制定相应的修改计划,但其他组的活动就会受到修改后计划的影响,因此,没有得到相关组的同意,就不能对项目计划随意修改。
3软件工程的预测
软件预测的意义
软件工程项目最关键的环节就是对软件进行预测,如果测试环节出现了问题或者测试不细致,那么将直接导致生产出的软件质量不过关,在应用软件的过程中也会逐渐发现软件存在的问题。问题不严重的,只是需要长期对软件进行修改,单单影响用户的应用;而问题严重的,会导致整个项目的失败,生产出的软件也无法投入使用。如果在投入使用前,没有经过测试,那就不知道用户有什么样的需求,也不知道软件存在什么隐患。尤其是有一些不经过测试就无法发现的隐患,一经投入使用,将会对用户造成巨大的损失。
软件预测的内容
(1)文档审查,软件项目的验收需要提供一些文档,这些文档包括:经济分析报告、项目技术报告、用户手册、维护手册、项目总计报告、测试总结报告等,主要对文档的可理解性、正确性、完整性进行审查,还要对编写的规范程度进行审查。如果文档扫描不清晰、数量不齐全、甚至错误都将给用户造成不必要的麻烦,而且还可能导致软件无法升级。
(2)安装测试,安装测试第一个目的,是验证软件安装在最基本的配置下能否正常的运行;第二个目的,是验证软件安装在非正常的情况下,程序能否给用户足够的提示。非正常条件指内存不够、磁盘空间不足、不能自由创建目录。
(3)功能测试,功能测试是指根据软件需求规格说明书上的规定,逐项对软件进项检测,查看是否正确、是否有严重的错误存在。在测试前,一般要准备好合法数据、非法数据、边界数据这些测试用例,检测输出结果是否符合期望值。
软件工程论文4
CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人与职业技能、人际团队能力和工程系统能力四个层面,要求以综合的培养方式使学生在这四个层面达到预定目标。CDIO不仅继承和发展了欧美20多年来工程教育改革的理念,还提出了系统的能力培养、全面的实施指导、完整的实施过程和严格的结果检验的12条标准,具有很强的可操作性。
2综合实训课程的定位与培养目标
按照循序渐进,由浅入深,逐层推进的原则,盐城师范学院信息科学与技术学院将软件工程专业的实践教学体系分为四个层次:课程实验、课程设计、综合实训、毕业设计。其中,综合实训是以前期课程实验和课程设计为基础,综合运用多门相关课程(群)知识完成一个工程项目的实战训练,并作为后续毕业设计的预演,是整个实践教学体系中承上启下的关键环节。在软件工程领域,软件开发与软件测试是目前两个主流的就业方向,也是综合实训课程训练的重点。软件开发综合实训要求以软件生命周期为主线,综合运用程序设计、数据库应用、软件工程、软件项目管理等学科知识,严格遵守软件开发的流程与规范,完成一个软件项目的开发,最后提交软件产品和相关技术文档;软件测试综合实训要求学生以软件开发综合实训所完成的软件产品为被测对象,综合运用软件测试与质量保证、软件测试流程与方法、测试框架与自动化测试等学科知识,使用软件测试的方法与技术,设计测试用例和测试脚本,完成被测软件的功能测试与性能测试,生成测试报告,并对测试结果进行分析。综合实训的培养目标为:通过软件开发与软件测试项目的实战训练,全面提升学生综合运用所学知识与技术解决实际工程问题的素质与能力,进一步加深学生对工程化、系统化原则与方法的理解,为胜任现代软件工程环境下高质量软件的开发、测试和维护工作奠定坚实的基础。
3CDIO模式下课程改革与实践
根据综合实训课程的定位和培养目标,借鉴和吸收CDIO工程教育理念和标准,按照“以CDIO培养大纲为指南、以项目为载体任务为驱动、以工程能力培养为目标”的原则,对我们综合实训课程改革进行了探索与实践。
全真模拟企业环境,实施一体化训练模式
软件开发和软件测试是综合实训的主体内容,传统的训练模式将二者割裂开来,分两个阶段分别完成实训项目,这种方式没有考虑软件开发与软件测试的内在关联与协同性,与企业真实环境也不相符合;并且由于两个实训阶段时间跨度较大,项目衔接性差,效率低下,实训效果也大打折扣;而在真实的企业环境中,软件开发小组和软件测试小组共同对同一个项目负责,各司其职,协同完成整个项目。鉴于此,我们采取“全真模拟、同步协作、角色互换”的策略,实施软件开发与软件测试一体化的训练模式。具体地说,整个实训过程完全模拟企业真实环境,将某个项目分配给由若干学生临时组成的项目组,该项目组又细分为开发小组和测试小组,分别负责软件的开发与测试工作;项目完成后,开发小组和测试小组角色互换,重做该项目。实践表明,一体化的训练模式能实现软件开发与软件测试的无缝衔接,学生能在更为真实的环境中参与整个项目过程,体验不同角色的职责范围,并通过不同的角色转换,使学生更深刻认识到开发人员与测试人员协同合作对完成整个软件项目的重要性。
项目驱动,全面实践CDIO
CDIO的核心就是企业与社会环境下的构思、设计、实现和运作系统,它展示了一个产 品或系统完整的开发过程,也体现了“做中学”和“基于项目的教育和学习”的精髓。从软件开发与软件测试的角度,无论是以软件生命周期为主线的开发过程,还是以测试流程为主线的测试过程,无不体现着软件产品从构思到运作的整个生产过程,与CDIO理念不谋而合。这里,我们以项目为载体、任务为驱动,以CDIO方法论为指导,严格按照“构思、设计、实现和运作”四个不同阶段来开展实训过程,以培养学生对产品、过程和系统的构建能力,增强学生的工程化意识。CDIO与软件开发、软件测试过程的对应关系
分组互学互助,培养团队协作能力
团队能力是CDIO大纲要求工程毕业生必备的一种能力,也是软件企业非常看重的一种职业能力。在实际实训过程中,我们模拟企业真实环境,将所有学生分为若干项目组,每个项目组又细分为开发小组和测试小组,各小组由一名组长和若干名组员构成。根据任务分工不同,每名学生都被赋予一定的角色,组员在组长的指挥协调下通力合作,共同完成实训项目。实践表明,分组模式能较好地激发学生的学习热情,提高学习效率,而且也营造了良好的学习氛围,组员之间分工协作,互学互助,学生的沟通能力、协作精神和团队意识大为提升。
面向全体,务实勿虚,促进共同进步
综合实训是一种典型的自主学习课程,学生在任务的驱动下以小组为单位协作完成实训项目,但由于任务分工不合理、学生自制力差等原因,容易导致小组内个别技术较好、自觉性高的学生承担大部分甚至全部工作,而部分学生却人浮于事,使团队分工协作流于形式,不利于全体学生的共同进步与提高。为避免此类现象的发生,我们考虑在角色分配和任务分工时,尽量使学生都能承担软件设计、编码、测试用例设计、脚本设计、测试实施等较为具体的工作,使学生通过具体的训练来提高专业技能,而对于需求分析、计划制定、总结报告等相对较“虚”的工作则由组长带领全体组员共同完成;同时,任务分工也充分考虑学生原有的技术基础、兴趣爱好和特长。这种分工方式在尊重学生个体意愿的基础上使得每个人都有具体明确而又力所能及的任务分工,能充分调动学生的学习积极性,激发学生的学习潜能,促进全体学生的共同进步与提高。
实施多维度考评体系,注重过程考核和能力考核
考核是对学生学习成果的认定和评价,良好的考核机制能对学生的学习过程和学习动机产生正确的指引作用,促进培养目标的达成。在实训课程的考核上,我们以CDIO大纲要求的能力培养为导向,学习过程与学习结果并举,实施多维度的考评机制,每名学生的成绩由平时成绩、所在小组成绩和个人成绩三部分组成。其中,平时成绩主要考评学生的职业态度与能力,小组成绩主要考评学生所在小组的整体表现和工程实作能力,个人成绩主要考评学生个体所承担任务的完成质量,且每项成绩的考评方式也是多元的,力求做到公平、公正、合理。在小组内部,同组学生的小组成绩相同,但平时成绩和个人成绩各异,引导学生在努力完成各自任务的同时,重视组内的协作互助,并通过各个个体的高质量工作提高整个团队的工作质量。实践表明,该考评体系既重视最终学习成果的呈现也关注学生学习过程中的表现;既重视团队整体的工作效率也关注学生个体在团队中的价值;既强调学生专业技能的训练和工程能力的培养也关注学生职业素养和个人能力的提高,有效避免了传统评价方式只看结果不看过程、评价指标单一化、评价结果趋同化的弊端。
4结束语
综合实训是软件工程专业实践教学体系的重要组成部分,对培养学生的自主学习能力、工程实践能力和团队协作与沟通能力具有重要作用。为克服传统实训模式存在的不足,引入CDIO工程教育理念和标准,对软件工程专业综合实训课程进行改革,探索了新的实训模式。新模式以CDIO培养大纲为指南,以能力培养为导向,以项目为载体、任务为驱动构建实训过程,将学科知识、专业技能与工程实践有效结合,强调知识应用与拓展、技能训练与提高、工程实践与实作、职业精神与素质、团队沟通与协作等能力的全方位、一体化的培养。实践表明,新的实训模式能较好地激发学生的学习热情和学习兴趣,显著提高学生的工程实践能力和团队协作能力,有利于培养出符合产业需求的高水平应用型、工程型软件人才。
软件工程论文5
第一,用进式和并发式开发流程取代传统的瀑布式开发。由系统设计和建模、开发与挂历组件、系统分析和项目的组织一同构成了整个过程。开发时,利用装配和组合组件,来实现耦合松散的结构模块。第二,在开发组件软件工程的时候,组件为整个开发过程的核心,收集组件时在需求分析阶段完成的,实现后,对于设计、装配、测试软件要按照一定的顺序去做。在应用的组件和系统的需求之间完成了权衡之后,开发者的重要工作则转向了开发工具、装配模型和组件,只有这样,能够将开发的效率有效提升上来。第三,面向接口、面向连接和面向重用为组件软件工程的主要开发方法。应用程序和组件的开发为整个开发的两个重要组成部分。在开发组件的时候,待定领域要对口针对,建立模型、深入分析,进而将组件的实际功能确定出来,然后,对对外接口进行规划与设计,对内部的细节进行落实与实现,完成管理和部署软件工作。在设计组件时,不同组件间的粒度不能太大,只要能满足一个逻辑功能对单个的需求即可,不必追求功能的全和。此外,对于提升整个应用系统复用能力,要满足组件的接口。此外,简易性和实用性也是不能缺少的。在设计完某一组件后,用二进制代码形式将某一组件编辑出来,而且在重要的组件库中进行存放,便于今后使用,组件的数据库应用系统即为组件库,组件的分类和描述,加入和删除组件为其两个重要的功能。在开发应用程序时,利用设计组件生成组件清单,将查询数据库时需要的组件提供出来,然后有效的利用现有的组件,自行开发和重构没有的组件,并且向组件库中存入。
二、对软件工程的管理分析
开发管理为现阶段组件工程开发中的一项重要工作内容。在开发了组件化软件工程之后,使工业化的软件工程成为了现实,专业化的流水线分工用很少的组件开发岗位就能够予以实现,对专业编程岗位不用过多的选择应用。但是,系统分析员在当中是绝对不能缺少的,设计组件系统的工作人员和维护管理组件库的工作人员为软件工程管理中的基础岗位,因此,对于软件工程中所涉及到相关知识,他们必须要认真扎实的进行掌握,然而,随着组件工程的发展,就不再过多的需要那些大量的编程人员。为了能够协调的开展起各个岗位的工作,将工作效率提升上来,为软件工程进行开发时的一个重要环节。在开发组件软件工程的过程中,对于接口标准一定要予以符合,并且还要通过严格的测试,在对通用性、互操作性和重用性进行了综合的考虑之后,进而将可信任和可靠的商业化软件构建起来。
三、结语
综上所述,随着时代的发展与进步,计算机网络系统已经成为我们身边不能缺少的一个重要工具,计算机系统能够发挥作用,主要得益于软件工程的大力支撑,但是,对于软件工程的开发并不是一件简单的工作,需要具备先进的技术和管理手段,尤其是对组件软件工程的开发更需要强劲的技术给予支持,所以,对于这方面的工作需要我们在平时的工作中高度地重视起来。