随着我国先进科学技术的不断进步,在计算机行业我国的软件开发技术也取得了实质性的飞跃,计算机软件则作为一种计算机基础配件,逐渐走到了家家户户,在方便人们日常生活的同时也丰富了人们的日常生活。但是,由于客户的需求逐渐增加和提高,计算机软件技术的开发工作也需要面对很多的问题与困难,以促进计算机软件的升级、满足人们的个性化需求。研发人员面对着复杂的软件框架与研发环境,分层技术的升级与有效应用就是软件研发人员急需思考的问题。 1计算机软件开发中分层技术具有的优势 在计算机软件开发的发展过程中,可以发现分层技术在其中占据着非常关键的地位,分层技术经过最原始的双层技术一直发展到现在的五层结构。由此可见,在分层技术的发展历程中分层技术始终在计算机软件开发中得以应用的重要原因即分层技术本身具备其他技术无法比拟的优势,以下就分层技术中的3点优势进行分析。 1.1软件研发效率不断提高 计算机软件的研发本身就是一个很复杂的过程,在这个过程中,涉及到的学科较多、对内容的覆盖面较广,因而对软件研发工作者的专业水平与综合素质低而要求较高,且离不开对每一个环节的精心设计。传统的研发技术在计算机软件技术开发中的应用,是将其中的每一个环节逐一完成,以此来将整个设计完成,因而整个过程所需要的时间较长。而分层技术刚好不同于传统的研发技术,该技术突破了原有技术的限制,充分结合现代新兴技术,软件研发系统进行全面优化,以促进软件研发的顺利进行。分层技术对软件研发中的每一个环节以及不同层次间关系进行合理优化,这样不仅可以缩短软件研发的时间周期,还可以提高软件研发的效率。 1.2增强软件的拓展性分层技术 通过软件设计后在软件开发中得以应用,因而设计好的软件本身自带立体化、多层次的特征,在不同的层次中都有独特的处理形式,进而实现对各自问题的处理。 1.3可实现端口的完美对接 分层技术为计算机软件研发提供便利的基础是通过该技术实现对接口的自定义,然后利用自定义后的接口实现同端口的完美对接,该优势在软件开发中的操作是比较简单的。所以,在对不同的层次进度升级或调整时,只需要对本层次或是本层次的上下级进行升级与调整,从而简化了升级流程。正是因为这一优势,通过分层技术设计后的软件,可以根据自身的需求对其进行改变,以提高软件的综合性能,同时也赋予了软件运行很强的拓展性。 2分层技术在软件开发中的应用 在新时展的今天,分层技术逐渐在计算机软件开发中被普遍的应用。同时,分层技术在未来的发展过程中,将在其中占据举足轻重的地位。在计算机行业,软件开发的根本目的是符合人们对计算机软件提出的新要求与标准。故计算机软件的研发技术应该在发展与应用中不断地对其进行优化与完善,以缩短研发周期,加大对软件的检测力度,进而使得软件质量不断提高。当前的应用情况是以双层技术为主,三层技术与四层技术被应用的情况也比较多,但是五层结构只是被应用在某些领域。 2.1双层技术 在计算机方面,双层技术是软件开发中最原始的技术,该技术由客户端与服务器两大部分组成了计算机软件开发的框架。在软件开发应用中,客户端扮演的角色主要是将计算机的操作画面直接呈现给用户,或者是接收服务器传输的数据信息、处理其中的其他指示与逻辑关系。服务器扮演的角色是给客户端提供操作结果,是在服务器接收到传送来的数据信息之后,利用数据库对相应的信息进程查询、分析、处理等步骤,然后将最后的结果再次返回客户端。由于双层技术的组成比较简单,因而其中运行的原理也是显而易见且具有很强的操作性的,因为数据信息是在客户端与服务器之间传递的,在用户少、服务器性能优的基础上,数据信息的传递与处理就会体现出高于平常的效率。但是,由于用户量的不断增加,双层技术在对数据信息的处理效率会随之不断降低,同时也对该技术提出了更高的要求。如果技术不进行升级,必将导致整体系统出现反应慢、容错率较低的问题,这就会使得客户的数据信息得不到安全保障。基于此,分层技术在计算机软件开发中的应用不得不向三层技术的方向进行升级。 2.2三层技术 从计算机软件开发的发展规律的角度出发,三层技术是以双层技术为基础,经过升级发展而来的。三层技术在双层技术前提下,增加了处理层,并利用处理层对客户端传来的数据信息进行处理,然后再将其传给服务器。在三层结构中,将服务器中的处理功能转移到了处理层中,由处理层完成数据的处理以及存储。随着分层技术在计算机软件开发中的逐渐发展,由于处理层在其中的使用,不仅分担了服务器处理数据信息的负荷,而且在一定程度上降低了服务器的资金投入,进而提高了三层技术在计算机软件开发中的性价比。三层技术包括了数据层、处理层以及业务层,用户可以直接通过处理层与计算机系统进行联系,也可以利用处理层对客户端的建议与请求进行处理;数据层的作用功能是实现对数据信息的存储;业务层可以清晰地表示出不同业务之间的逻辑关系。这3个层次的有效结合虽然存在一些缺陷,但是同双层技术相比性能与功效在多方面还是具有不小的提升。 2.3四层技术 在计算机软件开发技术的应用阶段,四层技术以双层技术为基础,三层技术的延伸与升级。由于计算机软件开发的难度系数较高,因此双层技术与三层技术已经很难满足计算机软件开发的技术要求。因此,计算机软件开发人员应该及时地将三层技术中的数据层、处理层以及界面层三者之间的关系与界限科学地划分出来,以降低计算机软件中3个层次间在运行时的影响,以促进软件开发技术从三层技术向四层技术的完美升级。也是因为这样,四层技术中必将会包括三层技术的一部分,其中有数据层与处理层,同时四层技术的应用也增加了一部分三层技术所没有的内容,其中包括存储层与Web层。在四层技术中处理层被用来处理数据信息在Web层传输的结果,也可以被当做Web层与数据层之间联系的桥梁,以确保数据信息传输的准确性与稳定性。数据层在四层技术中作为存储层与数据层两者之间的联系的载体,通过隐藏在数据层中的代码,以方便计算机对数据层中数据信息的准确反映。数据层也可以将数据层与计算机之间的关系进行整理,在计算机软件解决数据层关系与对象之间的存在差异也发挥着不可替代的作用。 2.4五层结构 计算机软件开发的专业人士已经将四层技术发展为五层结构,并在一些领域得到实际应用,五层结构是以四层技术为基础,在此之上将数据层又分为了集成层与资源层。这样的划分与升级,使得计算机软件开发组成的划分更加明确,完全突破了传统的分层技术。五层结构中包括了集成层、资源层、存储层、逻辑层以及Web层。这五层结构在软件开发中的实际应用,不仅可以提升软件研发的效率、缩短了软件研发的周期,而且也促进了软件开发系统向着更加规范的方向发展。同时,由于五层结构的划分精细,因而对于一些特殊设备也能够达到使用的标准,进而促进软件技术的研发速度。不过,可惜的是五层结构在软件开发中的应用较少,只在很少的专门行业中得到了应用,可见五层结构的普遍应用还需要我们后期的推广与宣传。 2.5中间件技术 将中间件技术单独地提出来进行分析,是因为该技术本身具有的特殊性,中间件技术的本质是软件程序,在计算机软件开发中起着管理网络通信与计算机数据信息的作用,进而可以将其添加到服务器与客户端间。又因为中间件是独立存在的平台,所以,在其他结构出现问题时,该平台不会受到影响,或者暂停服务。加上中间件技术在计算软件开发中的应用,可以在很大程度上提高软件开发以及后期的运行效率。 3结语 分层技术在计算机软件中的应用,在提高计算机本身运行系统的稳定性的同时,也进一步优化了计算机软件系统。因此,分层技术在其中的具体应用,一方面可以提升计算机软件的开发效率,以确保软件循环的使用周期,另一方面也可以节约软件开发的资金投入,以推动计算机软件开发技术的进一步发展。
软件工程毕业设计论文:软件工程在毕业设计的作用 在学生的毕业设计中以软件工程的思想为主线,从软件工程的角度去指导学生进行毕业设计,挖掘软件工程在系统开发过程中的价值,解决毕业设计中存在的一些问题,既有助于学生更好地理解软件工程的方法、技术和思想,更有助于提高软件类毕业设计的质量。 1毕业设计中存在的问题 笔者在指导学生软件开发类毕业设计过程中发现,毕业设计存在着选题难、任务重、重视编码、轻过程、项目无法完成等现象。设计过程中没有严格地遵循软件工程的开发方法,没有规范的软件设计过程,项目能否成功主要依赖于个人能力和个人努力,这种不正确的开发方法带来了严重的后果。在项目开发的过程中常常存在以下几个方面问题: 1.1选题的盲目性 选题是毕业设计过程中的一个初始环节,选题恰当是做好毕业设计的前提,但选题不当的情况仍然时有发生。学生没有认识到毕业设计的重要性,纯粹是为了完成学业而做毕业设计,选题没有一个确切的目标,往往是随便选一个题目,造成选题的盲目性,出现了选题陈旧、选题范围狭窄、选题偏大等问题,使学生抄袭、完成不了毕业设计的情况时有发生。 1.2缺少软件的系统分析 软件开发过程的第一个阶段是系统分析,用来确定软件开发要解决的问题是什么?估算完成该项目需要的资源和成本,确定目标系统应该具备哪些功能,主要经历问题的定义、可行性分析和需求分析三个阶段。软件的系统分析确定了用户需求,同时对目标系统提出完整、具体的要求,引导开发者正确地构建系统。因此,对用户需求做出全面、正确的分析,对于最终软件开发类毕业设计的成败起着至关重要的作用。然而在完成毕业设计过程中,学生往往认为代码编写最重要,对软件开发过程中的可行性分析和需求分析阶段不重视,甚至没有系统分析,对整个毕业设计的完成造成了影响。 1.3软件设计过程杂乱无章 软件设计一般都要经历可行性分析、需求分析、总体设计、详细设计、编码和测试阶段。而部分学生在毕业设计开发的过程中,缺乏软件工程设计思想,跨越需求分析、概要设计、详细设计和功能模块设计,直接进行代码的撰写;或者从代码反推出模块设计;甚至在软件开发过程中,一边写程序,一边了解需求,程序完成了需求才确定。这种无序的软件设计过程,导致最终设计的系统杂乱无章、代码的重复率高、潜在?Bug多、系统的可集成性非常差、不能在规定时间内完成设计或者系统无法运行。 1.4开发过程中文档不完备 根据软件工程学的基本原理,软件=程序+文档,可见软件文档是软件开发过程中不可缺少的组成部分。软件文档贯穿于软件开发的各个阶段,是提高软件产品开发效率、规范软件产品开发过程、保证软件产品质量的关键。但在实际毕业设计中,很多同学认为把程序代码编出来了,毕业设计也就完成了,提交的毕业设计论文就是系统代码的复制,即只做出一个可演示可操作的系统,而忽略了软件开发的完整性、系统性。完整的毕业设计不仅包括可操作的系统,还包括在开发系统的过程中所产生的各个文档资料。文档的缺失会降低软件开发的效率、影响整个软件的开发、使用和维护。以上问题的存在,严重影响了毕业设计的进度和质量,没有达到毕业设计的目标要求。针对当前毕业设计的现状和存在不足,笔者认为应用软件工程学的思想指导毕业设计,对促进学生综合素质与工程实践能力培养具有积极意义。 2用软件工程思想指导学生进行毕业设计 2.1以可行性研究指导选题 可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。毕业设计题目的选择,应立足于解决工程实际问题,可由指导教师提供符合相关专业毕业设计要求的题目,也可以鼓励学生自己到社会、生产企业中寻求研究课题,培养他们自主学习的意识。选题过程以可行性研究为指导,从课题规模大小、难易程度、学生自己的研究方向、爱好、学生的知识层面和能力等多个方面进行考虑,对于选择的题目是否能够解决,确定在规定的时间内完成毕业设计的可行性。指导教师可根据学生选报的题目来指导学生对该选题进行调查研究,明确课题要解决的问题是什么,简要地写出关于问题性质、项目目标和项目规模的书面报告。可行性研究来指导毕业设计的选题,实质上是简化了系统分析和设计的过程,也是在较高层次上以较抽象的方式进行的系统分析和设计的过程,使学生对于课题的设计有个清晰的思路,为及时完成毕业设计提供了可能。 2.2重视软件的需求分析 需求分析的基本任务是准确地回答“系统必须做什么”,即确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求,不仅指明了系统设计时必须要实现的目标,也是软件设计、实现、测试和维护阶段的主要参考标准。用户需求的获取是软件开发中最重要、难度最大的工作,它贯穿于整个软件设计过程,不仅要涉及到软件开发方面的知识、应用领域方面的知识,还涉及到与用户沟通的能力。在进行需求获取和分析时,为了及时、准确地获取,可采用软件工程中比较成熟的方法,例如访谈、实际调查、UML的用例技术等。需求分析在软件系统分析与设计阶段起着桥梁的作用,确定了系统的需求,才能制定出软件设计的框架,保证毕业设计循序渐进、有条不紊地进行,避免后期开发过程的频繁返工,进而按时完成最终的任务。 2.3规范毕业设计过程 软件开发类毕业设计一般是开发一个软件系统,实现一定的功能。“麻雀虽小,五脏俱全”,无论软件规模的大小、功能的多少,都应该严格按照软件工程中软件生命周期每个阶段的步骤完成各项任务。要培养学生把软件工程的概念贯穿于整个毕业设计过程,也就是说,让学生把开发软件的过程看成是盖一栋大楼,修一条公路的实际工程,用工程化的思想指导毕业设计,确定完成课题的各项任务的工作步骤,注重软件类毕业设计的过程,而不是学生所认为的毕业设计就是编程序,代码调试通过即可。通过工程的概念规范毕业设计过程,让学生明白开发一个软件系统一般经过系统分析、系统设计、系统实施三个阶段,必须严格遵循软件生命周期的规律,完成各个阶段的任务,才能最终提高毕业设计的质量。 2.4重视文档的写作 软件工程中的瀑布模型严格地规定了在整个软件生命周期的各个阶段,都要提交相应的文档。文档不仅记录软件开发过程中的大量信息,在软件的开发、维护过程中也起着重要的作用。在指导学生毕业设计时,要求学生遵照软件工程的思想,把文档作为整个设计的指挥棒,记载设计过程的每一阶段完成的目标、任务及技术手段,建立健全毕业设计文档制度,确保毕业设计过程中的文献综述、译文、任务书、开题报告、选题审题表、中期检查表、设计(论文)正文、答辩记录等各环节教学资料档案完善、规范,实现对毕业设计的全程监控。 3结束语 软件工程是软件开发工程化、规范化的具体实施方法,将其应用到毕业设计中,不仅有助于学生对软件开发相关知识的巩固和实践,而且对解决目前软件开发类毕业设计中存在的问题,提高学生毕业设计质量,具有极大的促进作用。 作者:王 晓 王长波 单位:湖北医药学院 公共管理学院计算机教研室 软件工程毕业设计论文:软件工程本科毕业设计策略探究 一、利用多方资源做好毕业设计选题与立题工作 恰当的选题是做好毕业设计的必要条件和前提。近年来,随着信息技术高速发展,国家对高素质软件工程人才需求十分旺盛,并有逐年扩大的趋势。同时各个高校软件工程专业的招生数量也在逐年增加,从目前全国319所设有软件工程专业的学校看,2013年该专业平均招生300人左右。专业招生人数的增多给毕业设计选题带来了带来巨大挑战:一方面软件工程专业的毕业设计选题要求具有一定的应用价值、创新性,同时还要与行业需求相吻合;另一方面要保证选题的唯一性,不仅要避免学生之间的题目重复,还要避免与之前毕业生的题目重复,因为重复的选题会使学生产生投机的心理,导致“打酱油”现象。针对上述问题,黑龙江大学软件学院主要采取了以下几个措施: 1.充分利用企业资源 对一部分在企业实习的学生采取“三位一体”的双导师指导模式。即企业项目为载体,学生为主体的模式,校内和校外导师为主导。这部分学生一般是在大三下学期暑假就已经进入企业实习,而我们每年毕业设计选题工作是在十一月末,也就是学生进入企业实习后三到四个月的时间,学生经过企业阶段的培训,对企业的生产过程、企业文化有了一定的了解。此时,学院组织校内外导师和学生共同协商,以企业项目或子项目为学生确定毕业设计选题。 2.充分发挥导师的资源优势 学院大部分教师都有自己的科研课题,这些科研课题有些是直接来源于企业的横向课题,还有一些是信息技术领域的应用研究课题,我们鼓励教师从这些课题中提取出一些子项目让学生实践,作为毕业设计的选题。 3.充分挖掘学生的专业技术特长和兴趣点并结合学生的择业倾向 确定最能发挥自身优势和潜能的选题。毕业设计的选题不仅要与实际需求相结合,更重要的是应该结合学生自身的技术优势和兴趣。只有学生对选题有兴趣,他们才能尽早地进入状态,发挥自己的创造能力和积极主动意识。所以,选题阶段导师和学生的沟通交流就显得尤为重要,通过沟通导师可以了解学生的能力、兴趣和择业倾向,学生也可以对选题,有进一步的认识,对于不感兴趣的选题学生也可以通过与导师进一步的探讨进行题目的修订。 二、注重环节审查 加强过程监管虽然“好的开始是成功的一半”,但是如果缺乏中间环节的监管,仍然不能保证好的效果。因此,为保证毕业设计(论文)的质量,我们制定了明确的质量标准、管理条例,并由院长、学术委员会、系主任和教务办主任组成毕业设计(论文)工作委员会,负责毕业设计(论文)工作的组织、评定和监管,同时保证管理条例的严格落实及各个环节工作的正常进行。为健全毕业设计(论文)的监管机制,学院先后规范和完善了《毕业设计(论文)工作管理办法和实施细则》《开题报告》《开题评分标准》《中期报告》《中期检查标准》《毕业设计(论文)撰写规范及模版》《毕业设计(论文)盲审表》《答辩程序和评分标准》等一系列管理办法和文档标准,使毕业设计工作在制度和规范下能顺利有效地进行。每年毕业设计工作之初,我们都要给学生开一个动员会,在会上阐明毕业设计(论文)的重要性,以及毕业设计对他们未来工作的影响,调动他们学习的主动性、积极性和创造性。此外,系主任还要向学生介绍学院毕业设计(论文)管理办法和实施细则,各阶段的工作要求和时间节点,以及各环节检查的内容、需要提交的文档,使学生在毕业设计开始时能做到心中有数。同时,我们也要求指导教师随时解答学生的问题,坚持每周开例会,检查学生的工作完成情况,并提出一些有技术含量和理论深度的问题启发他们思考,激发他们的学习热情,并与学生一起确定后续任务。此外我们组织开题检查、中期检查,对开题检查成绩后30%的学生,不但检查中期报告,还要现场检查程序。对于中期检查不合格的学生,要求限期整改,如果仍然不合格则取消答辩资格。在答辩之前,我们还要对论文进行盲审,盲审不合格的学生不允许答辩,对有异议的论文要提交学术委员会做最后论证。虽然学院对毕业设计(论文)工作在各个环节上的审查都非常严格,但我们鼓励学生之间进行研讨交流,博采众长,相互提高,因为我们的目的不是抓出多少不合格的学生,而是想通过大学阶段最后的综合性实践教学环节训练,培养学生的学习能力、知识的综合运用能力、分析解决问题能力和沟通交流等综合素质。 三、严把答辩关,保证毕业设计质量 答辩是毕业设计(论文)考核阶段的最后环节,这个环节既是学院对学生毕业设计的验收和鉴定,同时也是学生对自己工作的总结和汇报。通过答辩,学生不仅展示了毕业设计工作的效果,更展示了自己的专业知识、技术水平和综合素质。作为教师,每年都要指导多个毕业设计(论文),而学生一生只能经历一次本科毕业设计,而且毕业设计答辩能否顺利通过,直接关系到学生毕业及学位资格的认定。因此对学生来讲,毕业答辩至关重要。这有点像外科医生与患者的关系:医生每年要做很多手术,对他们而言手术已是司空见惯,但对于患者本人,可能一辈子才上一次手术台,而且生命攸关。所以,我们要在毕业设计指导过程中,认真对待每一位学生。同时在毕业答辩中严格把关,保证质量,更要秉承“公开“”公正”“公平”的原则。我们的毕业设计(论文)答辩采用小组面试形式,每组由四位副高职以上教师组成。答辩当天向学生公布成绩,毕业设计(论文)总成绩由开题成绩(10%)、中期成绩(10%)、指导教师成绩(10%)、答辩成绩(70%)构成。对于优秀的和不及格的学生,我们还会重新组建答辩组进行二次答辩。这是考虑到答辩组之间认同度的差异而导致评分标准出现偏差,可能有些答辩组打分会偏低,有的组打分会偏高,即各个答辩组评分信度不能达到一致。二次答辩可以有效地消减组间评分差异,从而使申报校优秀论文人选和未通过人选的确定做到公正、公平和有效。针对软件行业特点,我们通过强化实践教学环节,合理利用多方资源拓宽毕业设计(论文)选题途径、健全和完善毕业设计(论文)的监管机制等手段,确保了毕业论文质量的稳步提高。几年来,黑龙江大学软件学院的毕业设计(论文)质量受到校内外专家的一致好评,获校优秀论文比率一直位于学校前列。实践证明,加强毕业设计(论文)质量的监管,不但提高了学生工程实践能力、独立科研能力和创新意识,为学生进入工作岗位打下了良好的基础,进而也提升了学生的就业率。 作者:任美睿 金英 郭龙江 单位:黑龙江大学 软件工程毕业设计论文:软件工程类毕业设计管理措施 规模使得精细化指导与管理变得困难原有毕业设计环节管理由于参与指导的教师人数相对较少,每名教师指导的学生也不多,而且所有教师均为本系教师,大家彼此非常熟悉,在一起教学研讨的时间也很多,所以大家对各环节的要求及约定比较容易统一,对每个学生的指导时间也较多。但随着参与指导毕业设计教师数量的提升,指导学生数的增加,特别是聘请了外系教师的支援,原有会议讨论式、心理记忆式的约定及规则已经不能适应管理要求。这就必然要求规范毕业设计环节的管理,统一考核指标,让大家在一个统一的框架下实施毕业设计的指导与考核。 软件过程及评价主观性强软件及开发是个主观性强,知识、劳动密集型工作,同一个项目或任务,由于每个人项目经历、经验的不同,不同的人所得出的满足需求的合格产品是肯定有区别的,但在质量、灵活性、可扩充性方面可能存在很大差别。同时,对于软件产品,不同人会有不同的评价,具有强主观性的特点。这种强主观性使得对毕业设计的评价难以用客观的量化的评价指标和体系进行度量,对教师间把握统一的考核尺度制造了困难。 师生面对面交流机会越来越少由于就业形式的变化,各本科院校的培养模式也作了一定的改变,为了让学生能更方便的外出找工作,更早的接触社会,大部分高校第八学期除了毕业设计,基本上就没有其他的教学任务。重庆理工大学也存在类似情况,在第八学期,大部分学生没有待在学校,有的在外联系工作单位,有的提前到单位实习,甚至有的以在外找工作为借口待在家里,学生的分散性使得教师和学生之间面对面交流的机会少之又少,给毕业设计环节的指导和管理工作带来了难度。 选题类型趋于多样性为了培养学生层次、方向的多样化,软件工程专业的毕业设计不仅只有传统的系统分析、设计与开发类的题目,还涉及论文类及算法类等类别。根据对前几届毕业设计环节的综合统计,系统分析设计开发类选题所占分量最多,占70以上。由于不同题型的毕业设计需要应用的知识、实施过程、考核重点都存在很大差异,不同题型之间的考核没有对比性,因此需要针对不同的选题类型制定相应的考核指标和评价标准。 现有管理中存在的问题 毕业设计是一次综合锻炼学生应用所学知识解决问题能力的过程,涉及的环节比较多,存在的问题也不少[3-4]。综合分析,存在以下三个典型问题: 1历史题目重复率高,抄袭现象难以控制 每年都有几个班的学生毕业,毕业设计都要实施。在纸质时代,抄袭成本大,抄袭源也比较难找到,因此抄袭现象相对较少,不同届学生的题目相同并不会影响毕业设计质量。然而,随着互联网技术在给广大民众带来方便的同时,也给学生的偷懒提供了契机。由于大部分学生在外实习,教师很难有效的监督学生,有相当一部分学生考虑到自己毕业后不从事软件开发等相关工作或工作比较忙,不愿意投入时间好好地完成毕业设计,而是从互联网抄袭,甚至通过互联网购买。 2学生对考核的公正性存在质疑 由于参与综合实践环节的学生人数和指导教师规模越来越大,综合实践环节在进行质量考核时必然要进行分组。由于大家没有统一的考核指标体系及标准,同一水平的毕业设计处于不同考核小组,可能得出截然不同的成绩;甚至有指导教师认为较好的论文在答辩时被判为不及格现象。造成的严重后果是学生对论文评审、答辩过程公平性的质疑,对学校的声誉带来不良影响。其原因是由于不同教师间、各不同小组之间缺乏一个统一的评判标准,分组的不均匀分布而导致了评审的不公平性。 3学生难以获取实际需求 由于学生人数众多,只有少部分学生能参与到教师的实际科研项目中,大部分学生只能以虚构的题目为背景,没有具体的企业为依托。因此,很获取项目的具体而详细的需求,学生所完成的也只能是一些通用功能的系统,系统业务逻辑比较简单,甚至基本没有业务逻辑,仅仅是简单增加、删除、修改等功能的拼凑,不能真正体会到系统分析和设计的内涵。 软件专业毕业设计管理对策 软件工程专业毕业设计管理是很多高校都比较棘手的问题,也有不少教师已提出了一些很好的策略[5-7]。根据对多年毕业设计执行情况的分析与总结,作者认为软件工程专业毕业设计管理和考核中存在众多问题的主要原因有以下三点:重结果轻过程的考核方法;缺乏统一的考核评价体系;管理过程不规范,随意性大。因此,本文主要从建立量化考核指标体系、规范毕业设计过程管理和其他一些辅助策略进行探讨。 1建立量化考核指标体系 建立量化考核指标体系包括细化考核指标和建立考核评价体系两部分。考核指标体系是一把双刃剑,它除了可以对学生的毕业设计过程和结果进行考核外,也给学生提供了完成毕业设计目标的指导。在实际操作中,将对毕业设计的考核从过程检查、评阅、答辩等几个环节进行考虑,各环节又有细分指标,如论文选题、工作量、分析设计,程序运行、系统界面、论文结构、熟悉程度等,用权重表示指标的重要性程度,每个指标有几个不同得分等级,每个等级对应一个可参考的评判标准,从而将以前的主观考核变为根据指标进行量化计算,有效地减少人为因素对评价的影响。 2规范毕业设计过程管理 传统的考评方式重视对结果的考核,缺少对过程的考核,大多数学生在进行实践环节任务时,没有一个良好的系统分析、设计、开发习惯,完全是“灵感触发”式的完成的,因此最终提交的往往是低劣的文档或代码。软件产品是知识密集性产品,实践证明,有效的过程管理是生产出好产品的一个必要条件。因此,必须规范毕业设计的课程管理,借助于1节建立的考核体系,对过程中的开题、需求文档、设计文档等关键环节进行考核,使学生在完成毕业设计的每一步时有明确目标的指导,通过过程的管理促使学生完成高质量的毕业设计成果。为了减少人为因素的影响,有必要建立毕业设计过程管理及控制系统[8-9],用管理信息系统规范毕业设计的过程管理。 3采用团队培养模式 系统分析与设计的能力是软件工程专业学生需要培养的一项最主要能力,而简单的系统开发或项目由于功能简单、业务单一,对锻炼学生的系统分析和设计能力作用不大。因此,可以采用多名学生组团共同完成一项较复杂系统的方式,每名学生负责其中的一部分,学生之间通过对复杂点的业务逻辑的讨论来提高系统分析和设计的能力,通过团队合作来了解项目管理与软件工程方法的精髓。 4与企业合作指导 由于企业面对的都是实实在在的项目,有自我学习的环境氛围和压力,在培养学生动手实践能力方面有其独特的优势。在企业,每天都有相应的任务,在完成任务过程中,必然会碰到各种类型的问题,会寻求问题的解决方法,在解决问题的过程中很自然地就提升了自己的能力。这种任务驱动的学习方法和实际项目环境下的压力在学校是很难提供的。近些年来,学院也在加强与企业的合作,在有条件的情况下尽量派学生深入到公司、企业进行实习,已签约的学生也可以提前到签约企业工作,以企业的项目来完成其毕业设计环节,实现企业、学校共同指导的方式。 结束语 毕业设计环节由于实践性、综合性强,涉及知识点多,其管理与考核一直是让人头疼的问题。论文描述了重庆理工大学软件工程专业毕业设计环节的背景和现状,指出了软件工程专业毕业设计质量难于管理和考核的特点。通过对近几年毕业设计开展情况的总结与分析,发现了毕业设计质量难于考核和控制的具体原因,并指出当前毕业设计管理和考核所存在的问题,最后提出了解决这些问题的一些具体实施策略。结果表明,策略的实施对毕业设计过程的管理及考核答辩工作有较大的作用,学生毕业设计质量有了显著的提高。 作者:刘智王森闫河单位:重庆理工大学计算机科学与工程学院 软件工程毕业设计论文:软件工程本科毕业设计质量提升策略 一、利用多方资源做好毕业设计选题与立题工作 恰当的选题是做好毕业设计的必要条件和前提。近年来,随着信息技术高速发展,国家对高素质软件工程人才需求十分旺盛,并有逐年扩大的趋势。同时各个高校软件工程专业的招生数量也在逐年增加,从目前全国319所设有软件工程专业的学校看,2013年该专业平均招生300人左右。专业招生人数的增多给毕业设计选题带来了带来巨大挑战[3]:一方面软件工程专业的毕业设计选题要求具有一定的应用价值、创新性,同时还要与行业需求相吻合;另一方面要保证选题的唯一性,不仅要避免学生之间的题目重复,还要避免与之前毕业生的题目重复,因为重复的选题会使学生产生投机的心理,导致“打酱油”现象。针对上述问题,黑龙江大学软件学院主要采取了以下几个措施:1.充分利用企业资源,对一部分在企业实习的学生采取“三位一体”的双导师指导模式。即企业项目为载体,学生为主体的模式,校内和校外导师为主导。这部分学生一般是在大三下学期暑假就已经进入企业实习,而我们每年毕业设计选题工作是在十一月末,也就是学生进入企业实习后三到四个月的时间,学生经过企业阶段的培训,对企业的生产过程、企业文化有了一定的了解。此时,学院组织校内外导师和学生共同协商,以企业项目或子项目为学生确定毕业设计选题。2.充分发挥导师的资源优势,学院大部分教师都有自己的科研课题,这些科研课题有些是直接来源于企业的横向课题,还有一些是信息技术领域的应用研究课题,我们鼓励教师从这些课题中提取出一些子项目让学生实践,作为毕业设计的选题。3.充分挖掘学生的专业技术特长和兴趣点并结合学生的择业倾向,确定最能发挥自身优势和潜能的选题。毕业设计的选题不仅要与实际需求相结合,更重要的是应该结合学生自身的技术优势和兴趣。只有学生对选题有兴趣,他们才能尽早地进入状态,发挥自己的创造能力和积极主动意识。所以,选题阶段导师和学生的沟通交流就显得尤为重要,通过沟通导师可以了解学生的能力、兴趣和择业倾向,学生也可以对选题,有进一步的认识,对于不感兴趣的选题学生也可以通过与导师进一步的探讨进行题目的修订。 二、注重环节审查,加强过程监管 虽然“好的开始是成功的一半”,但是如果缺乏中间环节的监管,仍然不能保证好的效果[4]。因此,为保证毕业设计(论文)的质量,我们制定了明确的质量标准、管理条例,并由院长、学术委员会、系主任和教务办主任组成毕业设计(论文)工作委员会,负责毕业设计(论文)工作的组织、评定和监管,同时保证管理条例的严格落实及各个环节工作的正常进行。为健全毕业设计(论文)的监管机制,学院先后规范和完善了《毕业设计(论文)工作管理办法和实施细则》《开题报告》《开题评分标准》《中期报告》《中期检查标准》《毕业设计(论文)撰写规范及模版》《毕业设计(论文)盲审表》《答辩程序和评分标准》等一系列管理办法和文档标准,使毕业设计工作在制度和规范下能顺利有效地进行。每年毕业设计工作之初,我们都要给学生开一个动员会,在会上阐明毕业设计(论文)的重要性,以及毕业设计对他们未来工作的影响,调动他们学习的主动性、积极性和创造性。此外,系主任还要向学生介绍学院毕业设计(论文)管理办法和实施细则,各阶段的工作要求和时间节点,以及各环节检查的内容、需要提交的文档,使学生在毕业设计开始时能做到心中有数。同时,我们也要求指导教师随时解答学生的问题,坚持每周开例会,检查学生的工作完成情况,并提出一些有技术含量和理论深度的问题启发他们思考,激发他们的学习热情,并与学生一起确定后续任务。此外我们组织开题检查、中期检查,对开题检查成绩后30%的学生,不但检查中期报告,还要现场检查程序。对于中期检查不合格的学生,要求限期整改,如果仍然不合格则取消答辩资格。在答辩之前,我们还要对论文进行盲审,盲审不合格的学生不允许答辩,对有异议的论文要提交学术委员会做最后论证。虽然学院对毕业设计(论文)工作在各个环节上的审查都非常严格,但我们鼓励学生之间进行研讨交流,博采众长,相互提高,因为我们的目的不是抓出多少不合格的学生,而是想通过大学阶段最后的综合性实践教学环节训练,培养学生的学习能力、知识的综合运用能力、分析解决问题能力和沟通交流等综合素质。 三、严把答辩关,保证毕业设计质量 答辩是毕业设计(论文)考核阶段的最后环节,这个环节既是学院对学生毕业设计的验收和鉴定,同时也是学生对自己工作的总结和汇报。通过答辩,学生不仅展示了毕业设计工作的效果,更展示了自己的专业知识、技术水平和综合素质。作为教师,每年都要指导多个毕业设计(论文),而学生一生只能经历一次本科毕业设计,而且毕业设计答辩能否顺利通过,直接关系到学生毕业及学位资格的认定。因此对学生来讲,毕业答辩至关重要。这有点像外科医生与患者的关系:医生每年要做很多手术,对他们而言手术已是司空见惯,但对于患者本人,可能一辈子才上一次手术台,而且生命攸关。所以,我们要在毕业设计指导过程中,认真对待每一位学生。同时在毕业答辩中严格把关,保证质量,更要秉承“公开”“公正”“公平”的原则。我们的毕业设计(论文)答辩采用小组面试形式,每组由四位副高职以上教师组成,答辩流程如图1所示。答辩当天向学生公布成绩,毕业设计(论文)总成绩由开题成绩(10%)、中期成绩(10%)、指导教师成绩(10%)、答辩成绩(70%)构成。对于优秀的和不及格的学生,我们还会重新组建答辩组进行二次答辩。这是考虑到答辩组之间认同度的差异而导致评分标准出现偏差,可能有些答辩组打分会偏低,有的组打分会偏高,即各个答辩组评分信度不能达到一致。二次答辩可以有效地消减组间评分差异,从而使申报校优秀论文人选和未通过人选的确定做到公正、公平和有效。针对软件行业特点,我们通过强化实践教学环节,合理利用多方资源拓宽毕业设计(论文)选题途径、健全和完善毕业设计(论文)的监管机制等手段,确保了毕业论文质量的稳步提高。几年来,黑龙江大学软件学院的毕业设计(论文)质量受到校内外专家的一致好评,获校优秀论文比率一直位于学校前列。实践证明,加强毕业设计(论文)质量的监管,不但提高了学生工程实践能力、独立科研能力和创新意识,为学生进入工作岗位打下了良好的基础,进而也提升了学生的就业率。 作者:任美睿 金英 郭龙江 单位:黑龙江大学 软件工程毕业设计论文:管窥软件工程在毕业设计中的应用 1软件工程在毕业设计中的作用 软件工程不仅是计算机科学与技术专业、软件工程专业的一门专业基础核心课程,也是其他相关专业,如信息工程、系统工程、信息与计算机科学、信息管理与信息系统等专业的重要应用技术课程。对于这些专业的学生来说,毕业设计多是以软件开发类项目为主,整个毕业设计就是开发一个软件。为了更好地完成软件开发类毕业设计,提高学生毕业设计的质量,进一步规范毕业设计中的软件开发过程是必需的。软件工程的思想正是用工程化方法构建和维护有效的、实用的和高质量的软件。按照软件工程思想,软件开发的生命周期分为可行性分析、需求分析、总体设计、详细设计、编码实现、软件测试和软件维护几个阶段。在学生的毕业设计中以软件工程的思想为主线,从软件工程的角度去指导学生进行毕业设计,挖掘软件工程在系统开发过程中的价值,解决毕业设计中存在的一些问题,既有助于学生更好地理解软件工程的方法、技术和思想,更有助于提高软件类毕业设计的质量。 2毕业设计中存在的问题 笔者在指导学生软件开发类毕业设计过程中发现,毕业设计存在着选题难、任务重、重视编码、轻过程、项目无法完成等现象。设计过程中没有严格地遵循软件工程的开发方法,没有规范的软件设计过程,项目能否成功主要依赖于个人能力和个人努力,这种不正确的开发方法带来了严重的后果。在项目开发的过程中常常存在以下几个方面问题: 2.1选题的盲目性 选题是毕业设计过程中的一个初始环节,选题恰当是做好毕业设计的前提,但选题不当的情况仍然时有发生。学生没有认识到毕业设计的重要性,纯粹是为了完成学业而做毕业设计,选题没有一个确切的目标,往往是随便选一个题目,造成选题的盲目性,出现了选题陈旧、选题范围狭窄、选题偏大等问题,使学生抄袭、完成不了毕业设计的情况时有发生。 2.2缺少软件的系统分析 软件开发过程的第一个阶段是系统分析,用来确定软件开发要解决的问题是什么?估算完成该项目需要的资源和成本,确定目标系统应该具备哪些功能,主要经历问题的定义、可行性分析和需求分析三个阶段。软件的系统分析确定了用户需求,同时对目标系统提出完整、具体的要求,引导开发者正确地构建系统。因此,对用户需求做出全面、正确的分析,对于最终软件开发类毕业设计的成败起着至关重要的作用。然而在完成毕业设计过程中,学生往往认为代码编写最重要,对软件开发过程中的可行性分析和需求分析阶段不重视,甚至没有系统分析,对整个毕业设计的完成造成了影响。 2.3软件设计过程杂乱无章 软件设计一般都要经历可行性分析、需求分析、总体设计、详细设计、编码和测试阶段。而部分学生在毕业设计开发的过程中,缺乏软件工程设计思想,跨越需求分析、概要设计、详细设计和功能模块设计,直接进行代码的撰写;或者从代码反推出模块设计;甚至在软件开发过程中,一边写程序,一边了解需求,程序完成了需求才确定。这种无序的软件设计过程,导致最终设计的系统杂乱无章、代码的重复率高、潜在?Bug多、系统的可集成性非常差、不能在规定时间内完成设计或者系统无法运行。 2.4开发过程中文档不完备 根据软件工程学的基本原理,软件=程序+文档,可见软件文档是软件开发过程中不可缺少的组成部分。软件文档贯穿于软件开发的各个阶段,是提高软件产品开发效率、规范软件产品开发过程、保证软件产品质量的关键。但在实际毕业设计中,很多同学认为把程序代码编出来了,毕业设计也就完成了,提交的毕业设计论文就是系统代码的复制,即只做出一个可演示可操作的系统,而忽略了软件开发的完整性、系统性。完整的毕业设计不仅包括可操作的系统,还包括在开发系统的过程中所产生的各个文档资料。文档的缺失会降低软件开发的效率、影响整个软件的开发、使用和维护。以上问题的存在,严重影响了毕业设计的进度和质量,没有达到毕业设计的目标要求。针对当前毕业设计的现状和存在不足,笔者认为应用软件工程学的思想指导毕业设计,对促进学生综合素质与工程实践能力培养具有积极意义。 3用软件工程思想指导学生进行毕业设计 3.1以可行性研究指导选题 可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。毕业设计题目的选择,应立足于解决工程实际问题,可由指导教师提供符合相关专业毕业设计要求的题目,也可以鼓励学生自己到社会、生产企业中寻求研究课题,培养他们自主学习的意识。选题过程以可行性研究为指导,从课题规模大小、难易程度、学生自己的研究方向、爱好、学生的知识层面和能力等多个方面进行考虑,对于选择的题目是否能够解决,确定在规定的时间内完成毕业设计的可行性。指导教师可根据学生选报的题目来指导学生对该选题进行调查研究,明确课题要解决的问题是什么,简要地写出关于问题性质、项目目标和项目规模的书面报告。可行性研究来指导毕业设计的选题,实质上是简化了系统分析和设计的过程,也是在较高层次上以较抽象的方式进行的系统分析和设计的过程,使学生对于课题的设计有个清晰的思路,为及时完成毕业设计提供了可能。 3.2重视软件的需求分析 需求分析的基本任务是准确地回答“系统必须做什么”,即确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求,不仅指明了系统设计时必须要实现的目标,也是软件设计、实现、测试和维护阶段的主要参考标准。用户需求的获取是软件开发中最重要、难度最大的工作,它贯穿于整个软件设计过程,不仅要涉及到软件开发方面的知识、应用领域方面的知识,还涉及到与用户沟通的能力。在进行需求获取和分析时,为了及时、准确地获取,可采用软件工程中比较成熟的方法,例如访谈、实际调查、UML的用例技术等。需求分析在软件系统分析与设计阶段起着桥梁的作用,确定了系统的需求,才能制定出软件设计的框架,保证毕业设计循序渐进、有条不紊地进行,避免后期开发过程的频繁返工,进而按时完成最终的任务。 3.3规范毕业设计过程 软件开发类毕业设计一般是开发一个软件系统,实现一定的功能。“麻雀虽小,五脏俱全”,无论软件规模的大小、功能的多少,都应该严格按照软件工程中软件生命周期每个阶段的步骤完成各项任务。要培养学生把软件工程的概念贯穿于整个毕业设计过程,也就是说,让学生把开发软件的过程看成是盖一栋大楼,修一条公路的实际工程,用工程化的思想指导毕业设计,确定完成课题的各项任务的工作步骤,注重软件类毕业设计的过程,而不是学生所认为的毕业设计就是编程序,代码调试通过即可。通过工程的概念规范毕业设计过程,让学生明白开发一个软件系统一般经过系统分析、系统设计、系统实施三个阶段,必须严格遵循软件生命周期的规律,完成各个阶段的任务,才能最终提高毕业设计的质量。 3.4重视文档的写作 软件工程中的瀑布模型严格地规定了在整个软件生命周期的各个阶段,都要提交相应的文档。文档不仅记录软件开发过程中的大量信息,在软件的开发、维护过程中也起着重要的作用。在指导学生毕业设计时,要求学生遵照软件工程的思想,把文档作为整个设计的指挥棒,记载设计过程的每一阶段完成的目标、任务及技术手段,建立健全毕业设计文档制度,确保毕业设计过程中的文献综述、译文、任务书、开题报告、选题审题表、中期检查表、设计(论文)正文、答辩记录等各环节教学资料档案完善、规范,实现对毕业设计的全程监控。 4结束语 软件工程是软件开发工程化、规范化的具体实施方法,将其应用到毕业设计中,不仅有助于学生对软件开发相关知识的巩固和实践,而且对解决目前软件开发类毕业设计中存在的问题,提高学生毕业设计质量,具有极大的促进作用。 作者:王晓 王长波 单位:湖北医药学院 公共管理学院计算机教研室 软件工程毕业设计论文:软件工程本科毕业设计策略 一、利用多方资源做好毕业设计选题与立题工作 恰当的选题是做好毕业设计的必要条件和前提。近年来,随着信息技术高速发展,国家对高素质软件工程人才需求十分旺盛,并有逐年扩大的趋势。同时各个高校软件工程专业的招生数量也在逐年增加,从目前全国319所设有软件工程专业的学校看,2013年该专业平均招生300人左右。专业招生人数的增多给毕业设计选题带来了带来巨大挑战:一方面软件工程专业的毕业设计选题要求具有一定的应用价值、创新性,同时还要与行业需求相吻合;另一方面要保证选题的唯一性,不仅要避免学生之间的题目重复,还要避免与之前毕业生的题目重复,因为重复的选题会使学生产生投机的心理,导致“打酱油”现象。针对上述问题,黑龙江大学软件学院主要采取了以下几个措施:1.充分利用企业资源,对一部分在企业实习的学生采取“三位一体”的双导师指导模式。即企业项目为载体,学生为主体的模式,校内和校外导师为主导。这部分学生一般是在大三下学期暑假就已经进入企业实习,而我们每年毕业设计选题工作是在十一月末,也就是学生进入企业实习后三到四个月的时间,学生经过企业阶段的培训,对企业的生产过程、企业文化有了一定的了解。此时,学院组织校内外导师和学生共同协商,以企业项目或子项目为学生确定毕业设计选题。2.充分发挥导师的资源优势,学院大部分教师都有自己的科研课题,这些科研课题有些是直接来源于企业的横向课题,还有一些是信息技术领域的应用研究课题,我们鼓励教师从这些课题中提取出一些子项目让学生实践,作为毕业设计的选题。3.充分挖掘学生的专业技术特长和兴趣点并结合学生的择业倾向,确定最能发挥自身优势和潜能的选题。毕业设计的选题不仅要与实际需求相结合,更重要的是应该结合学生自身的技术优势和兴趣。只有学生对选题有兴趣,他们才能尽早地进入状态,发挥自己的创造能力和积极主动意识。所以,选题阶段导师和学生的沟通交流就显得尤为重要,通过沟通导师可以了解学生的能力、兴趣和择业倾向,学生也可以对选题,有进一步的认识,对于不感兴趣的选题学生也可以通过与导师进一步的探讨进行题目的修订。 二、注重环节审查,加强过程监管 虽然“好的开始是成功的一半”,但是如果缺乏中间环节的监管,仍然不能保证好的效果[4]。因此,为保证毕业设计(论文)的质量,我们制定了明确的质量标准、管理条例,并由院长、学术委员会、系主任和教务办主任组成毕业设计(论文)工作委员会,负责毕业设计(论文)工作的组织、评定和监管,同时保证管理条例的严格落实及各个环节工作的正常进行。为健全毕业设计(论文)的监管机制,学院先后规范和完善了《毕业设计(论文)工作管理办法和实施细则》《开题报告》《开题评分标准》《中期报告》《中期检查标准》《毕业设计(论文)撰写规范及模版》《毕业设计(论文)盲审表》《答辩程序和评分标准》等一系列管理办法和文档标准,使毕业设计工作在制度和规范下能顺利有效地进行。每年毕业设计工作之初,我们都要给学生开一个动员会,在会上阐明毕业设计(论文)的重要性,以及毕业设计对他们未来工作的影响,调动他们学习的主动性、积极性和创造性。此外,系主任还要向学生介绍学院毕业设计(论文)管理办法和实施细则,各阶段的工作要求和时间节点,以及各环节检查的内容、需要提交的文档,使学生在毕业设计开始时能做到心中有数。同时,我们也要求指导教师随时解答学生的问题,坚持每周开例会,检查学生的工作完成情况,并提出一些有技术含量和理论深度的问题启发他们思考,激发他们的学习热情,并与学生一起确定后续任务。此外我们组织开题检查、中期检查,对开题检查成绩后30%的学生,不但检查中期报告,还要现场检查程序。对于中期检查不合格的学生,要求限期整改,如果仍然不合格则取消答辩资格。在答辩之前,我们还要对论文进行盲审,盲审不合格的学生不允许答辩,对有异议的论文要提交学术委员会做最后论证。虽然学院对毕业设计(论文)工作在各个环节上的审查都非常严格,但我们鼓励学生之间进行研讨交流,博采众长,相互提高,因为我们的目的不是抓出多少不合格的学生,而是想通过大学阶段最后的综合性实践教学环节训练,培养学生的学习能力、知识的综合运用能力、分析解决问题能力和沟通交流等综合素质。 三、严把答辩关,保证毕业设计质量 答辩是毕业设计(论文)考核阶段的最后环节,这个环节既是学院对学生毕业设计的验收和鉴定,同时也是学生对自己工作的总结和汇报。通过答辩,学生不仅展示了毕业设计工作的效果,更展示了自己的专业知识、技术水平和综合素质。作为教师,每年都要指导多个毕业设计(论文),而学生一生只能经历一次本科毕业设计,而且毕业设计答辩能否顺利通过,直接关系到学生毕业及学位资格的认定。因此对学生来讲,毕业答辩至关重要。这有点像外科医生与患者的关系:医生每年要做很多手术,对他们而言手术已是司空见惯,但对于患者本人,可能一辈子才上一次手术台,而且生命攸关。所以,我们要在毕业设计指导过程中,认真对待每一位学生。同时在毕业答辩中严格把关,保证质量,更要秉承“公开“”公正”“公平”的原则。我们的毕业设计(论文)答辩采用小组面试形式,每组由四位副高职以上教师组成,答辩流程如图1所示。答辩当天向学生公布成绩,毕业设计(论文)总成绩由开题成绩(10%)、中期成绩(10%)、指导教师成绩(10%)、答辩成绩(70%)构成。对于优秀的和不及格的学生,我们还会重新组建答辩组进行二次答辩。这是考虑到答辩组之间认同度的差异而导致评分标准出现偏差,可能有些答辩组打分会偏低,有的组打分会偏高,即各个答辩组评分信度不能达到一致。二次答辩可以有效地消减组间评分差异,从而使申报校优秀论文人选和未通过人选的确定做到公正、公平和有效。针对软件行业特点,我们通过强化实践教学环节,合理利用多方资源拓宽毕业设计(论文)选题途径、健全和完善毕业设计(论文)的监管机制等手段,确保了毕业论文质量的稳步提高。几年来,黑龙江大学软件学院的毕业设计(论文)质量受到校内外专家的一致好评,获校优秀论文比率一直位于学校前列。实践证明,加强毕业设计(论文)质量的监管,不但提高了学生工程实践能力、独立科研能力和创新意识,为学生进入工作岗位打下了良好的基础,进而也提升了学生的就业率。 作者:任美睿 金英 郭龙江 单位:黑龙江大学 软件工程毕业设计论文:论述软件工程的毕业设计运用 1软件工程在毕业设计中的作用 软件工程不仅是计算机科学与技术专业、软件工程专业的一门专业基础核心课程,也是其他相关专业,如信息工程、系统工程、信息与计算机科学、信息管理与信息系统等专业的重要应用技术课程。对于这些专业的学生来说,毕业设计多是以软件开发类项目为主,整个毕业设计就是开发一个软件。为了更好地完成软件开发类毕业设计,提高学生毕业设计的质量,进一步规范毕业设计中的软件开发过程是必需的。软件工程的思想正是用工程化方法构建和维护有效的、实用的和高质量的软件。按照软件工程思想,软件开发的生命周期分为可行性分析、需求分析、总体设计、详细设计、编码实现、软件测试和软件维护几个阶段。在学生的毕业设计中以软件工程的思想为主线,从软件工程的角度去指导学生进行毕业设计,挖掘软件工程在系统开发过程中的价值,解决毕业设计中存在的一些问题,既有助于学生更好地理解软件工程的方法、技术和思想,更有助于提高软件类毕业设计的质量。 2毕业设计中存在的问题 笔者在指导学生软件开发类毕业设计过程中发现,毕业设计存在着选题难、任务重、重视编码、轻过程、项目无法完成等现象。设计过程中没有严格地遵循软件工程的开发方法,没有规范的软件设计过程,项目能否成功主要依赖于个人能力和个人努力,这种不正确的开发方法带来了严重的后果。在项目开发的过程中常常存在以下几个方面问题: 2.1选题的盲目性 选题是毕业设计过程中的一个初始环节,选题恰当是做好毕业设计的前提,但选题不当的情况仍然时有发生。学生没有认识到毕业设计的重要性,纯粹是为了完成学业而做毕业设计,选题没有一个确切的目标,往往是随便选一个题目,造成选题的盲目性,出现了选题陈旧、选题范围狭窄、选题偏大等问题,使学生抄袭、完成不了毕业设计的情况时有发生。 2.2缺少软件的系统分析 软件开发过程的第一个阶段是系统分析,用来确定软件开发要解决的问题是什么?估算完成该项目需要的资源和成本,确定目标系统应该具备哪些功能,主要经历问题的定义、可行性分析和需求分析三个阶段。软件的系统分析确定了用户需求,同时对目标系统提出完整、具体的要求,引导开发者正确地构建系统。因此,对用户需求做出全面、正确的分析,对于最终软件开发类毕业设计的成败起着至关重要的作用。然而在完成毕业设计过程中,学生往往认为代码编写最重要,对软件开发过程中的可行性分析和需求分析阶段不重视,甚至没有系统分析,对整个毕业设计的完成造成了影响。 2.3软件设计过程杂乱无章 软件设计一般都要经历可行性分析、需求分析、总体设计、详细设计、编码和测试阶段。而部分学生在毕业设计开发的过程中,缺乏软件工程设计思想,跨越需求分析、概要设计、详细设计和功能模块设计,直接进行代码的撰写;或者从代码反推出模块设计;甚至在软件开发过程中,一边写程序,一边了解需求,程序完成了需求才确定。这种无序的软件设计过程,导致最终设计的系统杂乱无章、代码的重复率高、潜在?Bug多、系统的可集成性非常差、不能在规定时间内完成设计或者系统无法运行。 2.4开发过程中文档不完备 根据软件工程学的基本原理,软件=程序+文档,可见软件文档是软件开发过程中不可缺少的组成部分。软件文档贯穿于软件开发的各个阶段,是提高软件产品开发效率、规范软件产品开发过程、保证软件产品质量的关键。但在实际毕业设计中,很多同学认为把程序代码编出来了,毕业设计也就完成了,提交的毕业设计论文就是系统代码的复制,即只做出一个可演示可操作的系统,而忽略了软件开发的完整性、系统性。完整的毕业设计不仅包括可操作的系统,还包括在开发系统的过程中所产生的各个文档资料。文档的缺失会降低软件开发的效率、影响整个软件的开发、使用和维护。以上问题的存在,严重影响了毕业设计的进度和质量,没有达到毕业设计的目标要求。针对当前毕业设计的现状和存在不足,笔者认为应用软件工程学的思想指导毕业设计,对促进学生综合素质与工程实践能力培养具有积极意义。 3用软件工程思想指导学生进行毕业设计 3.1以可行性研究指导选题 可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。毕业设计题目的选择,应立足于解决工程实际问题,可由指导教师提供符合相关专业毕业设计要求的题目,也可以鼓励学生自己到社会、生产企业中寻求研究课题,培养他们自主学习的意识。选题过程以可行性研究为指导,从课题规模大小、难易程度、学生自己的研究方向、爱好、学生的知识层面和能力等多个方面进行考虑,对于选择的题目是否能够解决,确定在规定的时间内完成毕业设计的可行性。指导教师可根据学生选报的题目来指导学生对该选题进行调查研究,明确课题要解决的问题是什么,简要地写出关于问题性质、项目目标和项目规模的书面报告。可行性研究来指导毕业设计的选题,实质上是简化了系统分析和设计的过程,也是在较高层次上以较抽象的方式进行的系统分析和设计的过程,使学生对于课题的设计有个清晰的思路,为及时完成毕业设计提供了可能。 3.2重视软件的需求分析 需求分析的基本任务是准确地回答“系统必须做什么”,即确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求,不仅指明了系统设计时必须要实现的目标,也是软件设计、实现、测试和维护阶段的主要参考标准。用户需求的获取是软件开发中最重要、难度最大的工作,它贯穿于整个软件设计过程,不仅要涉及到软件开发方面的知识、应用领域方面的知识,还涉及到与用户沟通的能力。在进行需求获取和分析时,为了及时、准确地获取,可采用软件工程中比较成熟的方法,例如访谈、实际调查、UML的用例技术等。需求分析在软件系统分析与设计阶段起着桥梁的作用,确定了系统的需求,才能制定出软件设计的框架,保证毕业设计循序渐进、有条不紊地进行,避免后期开发过程的频繁返工,进而按时完成最终的任务。 3.3规范毕业设计过程 软件开发类毕业设计一般是开发一个软件系统,实现一定的功能。“麻雀虽小,五脏俱全”,无论软件规模的大小、功能的多少,都应该严格按照软件工程中软件生命周期每个阶段的步骤完成各项任务。要培养学生把软件工程的概念贯穿于整个毕业设计过程,也就是说,让学生把开发软件的过程看成是盖一栋大楼,修一条公路的实际工程,用工程化的思想指导毕业设计,确定完成课题的各项任务的工作步骤,注重软件类毕业设计的过程,而不是学生所认为的毕业设计就是编程序,代码调试通过即可。通过工程的概念规范毕业设计过程,让学生明白开发一个软件系统一般经过系统分析、系统设计、系统实施三个阶段,必须严格遵循软件生命周期的规律,完成各个阶段的任务,才能最终提高毕业设计的质量。 3.4重视文档的写作 软件工程中的瀑布模型严格地规定了在整个软件生命周期的各个阶段,都要提交相应的文档。文档不仅记录软件开发过程中的大量信息,在软件的开发、维护过程中也起着重要的作用。在指导学生毕业设计时,要求学生遵照软件工程的思想,把文档作为整个设计的指挥棒,记载设计过程的每一阶段完成的目标、任务及技术手段,建立健全毕业设计文档制度,确保毕业设计过程中的文献综述、译文、任务书、开题报告、选题审题表、中期检查表、设计(论文)正文、答辩记录等各环节教学资料档案完善、规范,实现对毕业设计的全程监控。 4结束语 软件工程是软件开发工程化、规范化的具体实施方法,将其应用到毕业设计中,不仅有助于学生对软件开发相关知识的巩固和实践,而且对解决目前软件开发类毕业设计中存在的问题,提高学生毕业设计质量,具有极大的促进作用。 作者:王晓王长波单位:湖北医药学院公共管理学院计算机教研室 软件工程毕业设计论文:软件工程思想在应用型高校毕业设计中的应用 摘要:针对地方应用型本科高校计算机软件类毕业设计质量不高的问题,对毕业设计中存在的问题进行分析,并结合软件工程的基础理论,提出利用软件工程思想对计算机软件类毕业设计进行指导,以提高地方应用型普通本科高校毕业设计的质量。 关键词:软件工程;毕业设计;应用 一、引言 毕业设计是本科毕业生在校期间的最后实践和综合实训阶段,是实现本科教育培养目标的重要组成部分,是深化、拓展、综合应用所学理论知识的重要过程;也是综合素质与工程实践能力培养效果的全面检验;是学生毕业及学位资格认定的重要依据;是衡量高等教育质量和办学效益的重要评价,是对专业理论知识和专业技术综合应用能力的强化训练和提升[1]。在毕业设计的过程中,学生利用所学专业理论知识,通过了解社会,分析社会需求,深入实践,完成毕业设计的任务和撰写毕业论文(设计)报告等各个环节的工作。对于地方应用型普通本科高校而言,毕业设计就相当于一般高等学校的毕业论文,但是毕业设计不同于毕业论文,它的组成部分不只是一篇学术论文。应用型高校的毕业设计注重的是“应用性”和“实践性”,学生毕业设计要求学生针对某一课题,综合运用本专业有关课程的理论和技术,自己动手动脑做出解决实际问题的设计。目的是总结、检查学生在校期间的学习成果,是评定毕业成绩的重要依据。同时,通过毕业设计,可培养学生开发项目的基本综合能力,为学生就业能力中的专业能力奠定坚实的基础;培养综合运用已有知识独立解决问题的能力,从而加强学生应用能力的培养,使学生能够学以致用。 二、地方应用型普通高校计算机相关专业学生毕业设计的现状 近几年来,由于学校对毕业设计要求不断提高,学生从选题到设计再到写出毕业设计报告的过程中总存在这样那样的问题,最终有个别同学没有顺利通过毕业设计,没有拿到毕业证和学位证的情况时有发生,并且大多数毕业设计的水平不高,达不到培养学生独立解决问题和提高学生应用能力的目的。因此,如何指导学生做好毕业设计,提高学生毕业设计水平和质量,是地方应用型普通高校面临的一个重要问题。 (一)毕业设计选题现状最近几年,我校计算机相关专业毕业生自进入大四秋季学期开始,在进行毕业实习的同时,也进入了毕业设计准备阶段:毕业设计选题,虽然毕业设计选题过程中,各级领导、指导教师和学生在态度是都很重视,但是在选题时也会存在很多的问题,主要有以下三个方面。1.选题不够准确。部分学生选题未经深思熟虑,所选毕业设计题目要实现的功能太多,在规定时间内不能独立完成,而最终只能实现部分功能,或部分模块。 2.题目相似或重复雷同。学生选题存在浑水摸鱼的思想,在毕业设计选题过程中不是根据自己的兴趣爱好、专业知识学习情况等确定研究选题,而是选择与他人类似或雷同的选题,甚至同一批毕业的许多学生选题一致。比如:“XX管理系统”等,除了可能冠以的系统名称不同之外,其余基本相同。 3.应用价值低。部分学生的选题是当前十分成熟的项目,没有研究的必要;有些选题已经被淘汰,在实际生活和工作中没有多大用途。 (二)毕业设计需求分析阶段现状 通过调查,许多学生选题完成后,没有对自己所做毕业设计选题进行仔细了解、分析,他们认为在毕业设计中最重要的就是编程,其他方面一带而过[2],从而造成毕业设计过程中主题经常进行修改,最终使得整个系统杂乱无章,无法继续进行下去。因此学生在毕业设计的需求分析阶段主要有以下三个方面的问题。 1.选题后未进行实际调查研究,甚至未查找相应的参考文献。 2.需求分析进行得不彻底、不准确,即使选题后查找了参考文献和资料的,也未做充分了解和分析。 3.在需求分析阶段没有写出需求规格说明书或系统分析报告就匆忙进入系统设计阶段,导致随着系统设计的逐步深入,原来确定的需求不能满足毕业设计的需要,正在进行的设计与开始的期望和设想又不相符。 (三)毕业设计系统设计阶段现状 在系统设计阶段,普遍存在以下两个方面问题。 1.由于需求的不明确,在进行系统设计时,修改随意,没有严格按照软件开发的步骤进行。好多学生在进行系统设计时并没有建出相应的功能模型,不管是用例图还是DFD图都没有,而且系统设计过程中功能随意变换,并且各功能模块的层次结构不清晰,使得整个系统的功能模块划分凌乱,不符合软件设计中“高内聚,低耦合”的原则。 2.在软件设计过程中,不先进行概要设计、详细设计和模块设计,没有软件的过程性描述,直接进行编码,存在想到哪里就做到哪里,走到哪儿算哪儿的随意思想[3],当前内容没有做完便开始其他内容,使得整个系统设计杂乱无章。在这样的一种研究状态下,即使完成了设计,效率也非常低下,软件结构混乱,功能实现不完全,降低了软件设计的质量。 (四)毕业设计实现阶段现状 通常把编码和测试统称为实现。在进行软件设计后,就可以根据设计结果来实现,将软件的过程性描述编码,得到计算机可以运行的源代码。在实现阶段主要有以下几方面的问题。 1.编码随意。学生在编码的过程中,不注意编程风格的把握,导致程序的可读性、可理解性、可修改性等较差,在答辨的过程中,要求指出某个功能模块的代码时,经常要花费很多时间才找得到。 2.测试和调试可有可无。大部分学生在毕业设计的软件编码完成以后,从没有想过进行完整的系统测试,或者只对个别功能进行测试或是随意测试,没有按照测试步骤逐步进行;基本没有单元测试和集成测试,一般只是最终随便输入几个数据简单检测一下,如果有错,修改了就算完了;也没有进行回归测试,没有测试计划,没有想过用什么测试技术来检测某一类型的错识,没有相应的测试用例,也没有测试结果分析。由于学生毕业设计都是一人一题,基本上是一个人完成所有步骤,就算有测试,在测试阶段也是自己进行测试,从心理学的角度来说,自己对自己开发的软件进行测试是不可取的。由于前面阶段的文档不完善,也不重视测试过程,不清楚是否实现了系统最初设计的功能,是否达到相应的性能要求,总以为程序做出来后毕业设计就完成了,使得毕业设计经常在更换运行环境或答辩时发生错误和问题,从而使得设计得不到好评甚至无法通过。 (五)毕业设计应用现状 最近几年,我校计算机相关专业毕业设计投入使用数量接近于零。究其原因主要是由于设计不完全,未进行测试和调试,存在的错误和缺陷较多,文档和数据不完整,导致所开发的系统或软件不能方便地转让、变更、修正、扩充和使用,也没有为后期培训、维护留下完备的资料;因此,不能投入到真正的使用过程中,也不能实现系统或软件产品的效益。 三、软件工程思想的应用 软件工程(SoftwareEngineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程中的软件生命周期是一个软件从软件定义、开发、运行和维护,直到最终被废弃的整个过程[2]。地方应用型普通高校计算机相关专业学生毕业设计基本都是开发一些中、小型应用系统或软件,因此,学生毕业设计也要经历软件生命周期各个阶段,严格遵守软件工程的各个原则,这样有助于解决毕业设计中存在的问题,提高毕业设计的质量。通过对应用型普通本科高校计算机相关专业的学生在进行毕业设计的过程中存在的问题进行分析,在毕业设计的过程中,必须运用软件工程的观点、技术和方法来指导毕业设计,这样既节约了毕业设计的时间和学生的精力,也能做出最优质的毕业设计。 1.选题过程中的应用。毕业设计选题就是软件生命周期的问题定义中的问题提出阶段,选好题目是进行深入研究的基础,也是写出高质量毕业论文的前提。地方应用型普通本科高校计算机相关专业的毕业设计选题必须做到以下几点:(1)必须在对选题做了充分调查、分析,对检索的参考文献、资料有了整体把握的基础上提出。(2)必须符合本专业培养方案规定的培养目标的要求。(3)以选择工程性较强的课题为主,确保有足够的工程性训练。(4)要有明确的设计成果,对于较大型任务的课题要明确阶段性成果。(5)要达到规定的工作量,难易度适中,确保能在规定的时间内完成整个课题工作。(6)要围绕生产生活实际,所选题目一定具有一定的理论意义和实践意义,具有一定的价值。(7)原则上一人一题,对于较大型任务的课题,每个学生必须有独立子课题。结合以上几点,分别从专业基础、现实意义等方面进行全面分析,进行取舍,最终得出选题。 2.开题过程中的应用。在毕业设计的开题过程中,需要明确所选题目的选题依据(包括选择课题的背景、选题研究的理论及实践意义)、选题研究现状(包括目前国内外对本选题的研究情况和有待解决的问题)、研究内容与方法,而这些就是软件工程中需求分析阶段应该做的事情。需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作[3]。因此开题过程中最重要的是进行需求分析,需求分析具有决策性、方向性、策略性的作用,在软件开发的过程中具有举足轻重的地位。需求分析完成的好坏直接影响后续软件开发的质量。开题过程中需要指导学生大量地阅读相关的研究资料,同时根据资料进行分析研究,对当前毕业设计的研究进度做到心中有数,明确毕业设计的具体方向,写出毕业设计的研究内容与方法,得到相应的设计提纲,解决好设计什么,如何设计的问题。因此,应用好软件工程的思想来指导毕业设计的开题是至关重要的。根据学校对学生毕业论文的要求,在计算机相关专业的毕业设计报告中,要求要有数据流图、数据字典等相应内容,而软件工程中的数据流图(DataFlowDia-gram,简称DFD),它是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。它是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理[3]。因此,在这个阶段,要指导学生按照DFD图的要求,确定设计的功能,然后根据系统分析结果写出分析报告,就得出毕业论文中系统分析阶段的初始文档。 3.在实践研究环节的应用。根据需求分析(开题阶段)的结果进行软件的概要设计和详细设计,注意在设计过程中要严格按照软件工程对于设计阶段的指导原则来进行设计。将概要设计阶段需求分析得到的DFD转换为软件结构和数据结构,即是根据需求确定软件和数据的总体框架,设计出软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。然后再进行详细设计,设计出每个模块的实现算法、所需的局部数据结构,并且对每个模块写出过程性描述;为每个模块设计出一组测试用例,在进行测试时就以此测试用例来进行测试。详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后将根据这个“蓝图”写出实际的程序代码。因此,指导教师要对学生的设计过程进行监督和指导,防止学生盲目的进行编码。 4.在实现阶段的应用。在编码的过程中,要注意编程风格的把握,编程的风格在很大程度上影响程序的可读性、可测试性和可维护性。在测试阶段,可以进行交叉测试,即学生之间可以两两交叉,相互测试,以更好的达到测试效果,同时也培养了学生的团队意识和合作意识。在测试过程中要注意运用软件工程的测试原则和测试思想,严格按照单元测试集成测试确认测试系统测试验收测试的测试步骤进行,利用白盒测试技术进行单元测试,黑盒测试技术进行其他测试,并且在找出错误并修改后要进行相应的回归测试,确认修改了错误并且没有引入新的错误,这样有利于找到软件中的各类错误,提高软件的质量。因此,在软件的测试过程中,一定要严格按照软件工程中的测试原则来进行,不可随意进行测试,并且要注意测试文档资料的收集整理,要有相应的测试计划和测试报告。对学生的创造性的思维和想法,指导教师要给予支持,积极引导,鼓励学生大胆创新,用应用型人才培养目标来要求学生,保证高质量的毕业设计的完成。 5.在毕业论文(设计)报告方面的应用。对于应用型普通本科高校计算机相关专业的毕业设计而言,不单单是完成了一个系统的设计,还要有相应的设计报告,而设计报告的编写过程中,很多学生存在文字表达能力不强的现象,为了完成报告,就有可能会抄袭,特别是在软件开发的各个阶段文档材料不全的情况下更为严重。因此,在学生进行软件开发的各个环节中,指导教师都应该按照软件工程的观点来进行指导,并要求学生在各个阶段都完成相应的文档。这样在毕业设计报告撰写的过程中,只要将各个阶段的文档进行合并、整理就得到相应的设计报告,并且是一篇重复率不高的高质量的设计报告。6.在毕业设计实际应用方面的应用。因为学生在整个系统或软件过程中均按软件设计规范准备了文档和进行了完整的系统测试,从而为系统或软件的专利申请提供了充分必要的资料,并为毕业设计的实际应用打下良好的基础。 四、结语 计算机相关专业学生的毕业设计在学生的整个大学生活中具有极其重要的地位和作用,根据应用型普通本科高校人才培养的定位,主要是培养学生的独立思考能力、动手能力和应用能力。通过对软件工程思想在计算机相关专业学生毕业设计的过程及方法中的应用研究,逐步实现学生毕业设计的实际成果转化,从而为应用型计算机相关专业人才培养提供相应的借鉴。 作者:龙亚 张仕学 余廷忠 单位:贵州工程应用技术学院 软件工程毕业设计论文:软件工程专业毕业设计论文 1概述 在应用型本科院校中,尤其是软件工程专业,毕业设计作为教学计划的重要组成部分,是实践教学中的最后一个环节,也是对学生在校期间所学知识的一次综合、全面的总结、应用和提高。由于毕业生数量的不断增加和软件行业的迅猛发展,导致就业门槛越来越高,就业压力也越来越大,通过毕业设计过程中的训练,能有效提高学生的工程应用能力,使学生得到一定的实践经验,有利于学生从学校向工作岗位的平稳过度。因此,毕业设计质量的好坏,不仅反映了一所高校的教学质量,也会直接影响到学生的就业竞争力和就业后的职场适应能力。 2存在的问题 1)思想认识上不够重视学生方面:有些学生存在完成任务式的应付心里,避重就轻,能简就简,敷衍了事。有些学生则只重视找工作而轻视毕业设计,不愿在毕业设计上花费太多时间和精力,甚至有些学生还以找工作为由,完全依赖于导师,向导师索要源代码,甚至花钱在网上购买来交差。已经找到工作的学生,更是认为毕业设计做的好与不好对自己没什么影响,对待毕业设计也更加心不在焉。导师方面:大多数指导教师除了要指导学生毕业设计之外,还要承担大量的教学和科研任务,在毕业设计指导工作上能够投入的精力和时间非常有限,致使有些导师对毕业设计的指导工作不太重视,对学生放任自流,不管不问,或者是直接将相关源代码发给学生,以“简化”指导工作。由于思想上的不重视,学生学习态度不认真,导师指导工作不到位,造成毕业设计流于形式,疏于管理,效果较差,使得学生白白浪费了毕业前的一次综合训练机会。因此,如何充分认识毕业设计的重要性,并进行相应的教学改革是软件工程专业毕业设计必须要面对并解决的问题。 2)时间安排上不够科学毕业设计一般安排在第八学期,这期间刚好是学生求职和考研的黄金时间段,由于目前就业形势的日益严峻,学生就业压力越来越大,当求职和考研时间与毕业设计时间发生冲突时,学生都会选择将主要精力投入到求职和考研上,有些还要去外地求职、应聘考试、面试等,毕业设计自然是无暇顾及。而且,学校方面,为了保证就业率,往往对学生毕业设计的质量也是睁一只眼闭一只眼,这又在无形中鼓励了学生消极对待毕业设计的态度,毕业设计质量下降也就成为必然结果。 3)题目设置上不够合理由于毕业设计在高校各类教学活动中是最具综合性和独立性的,相对于常规课程而言,对指导教师要求也就更高,尤其软件工程专业,工程实践性比较强,但每年真正来源于实际工程项目的题目所占的比例较小,很多题目都是虚构出来的,导致有些题目不是理论性太强,就是缺乏具体需求的支撑,使学生很难从毕业设计过程中真正领悟到真实的软件工程方法。而有些指导教师自己都没参与过实际的工程项目,本身就缺乏实践经验,对学生毕业设计的指导只是凭着自己的感觉来进行,缺乏系统性、整体性、科学性和严谨性,学生遇到问题后,难以得到及时的解决,导致抄袭现象时有发生,甚至有些学生直接照搬往届毕业生的设计成果。毕业设计的主要目的在于通过毕业设计的训练来提升学生对所学知识的综合应用能力以及创新能力,从而实现学生从学校到工作岗位的平稳过度。但由于题目设置上的不合理,题量太少,层次不清,导致选题匹配效果差。在选题时,部分能力差的学生所选题目难度太大,造成毕业设计很难完成,而有些能力强的学生所选题目难度过小,达不到能力提升的目的。 4)过程监管上不够到位众所周知,对于软件工程项目而言,过程控制与管理是项目执行的关注点,毕业设计也当如此。虽然学校也会在毕业设计过程中组织对各阶段的工作情况进行检查,但执行检查工作的不一定是专业教师,使得这种检查大多只是对指导老师所填写的各种表格和文档等表面内容进行检查,对毕业设计的过程起不到实际的监督作用,再加之有些学生在校外求职或实习等原因造成指导教师与学生无法定期见面和沟通不畅等问题,使得指导教师难以用软件工程方法对学生进行指导。毕业设计虽然启动较早,但实际上很多学生前期在毕业设计上很少投入时间和精力,只是在答辩前为了完成任务而赶工应付,这样的毕业设计质量自然也就不佳。 5)量化考核上不够严格毕业设计成绩一般由平时成绩+论文成绩+答辩成绩三部分按一定比例构成,平时成绩由指导教师自行把握,论文成绩则由其他有经验的教师进行评阅,答辩成绩由答辩委员会老师按照相关评分标准打分并取平均分,这样虽然基本可以保证成绩的公正性,但成绩构成太简单,未显示地将开题报告、文献翻译、分析和设计过程以及总结等纳入到考核范围,对毕业设计的前期和中期工作没有约束力。在成绩评定时,有些导师要求不严,采取宽容迁就的态度。答辩时,通过门槛较低,造成大部分学生仅以答辩及格为目标,在思想上不重视,答辩准备工作不扎实。同时,学校为了提高学生毕业率,在最终答辩时,对毕业设计的质量要求也有所放松,这也是导致毕业设计质量难以保证的一个重要原因。 3采取的对策 时间安排上,可以提前启动毕业设计工作,将原来的第八学期开始提前到第六学期中后期,此时学生已经学完大部分课程,具有了一定的知识基础,而且学生都在校,可以随时与导师见面,指导教师也有充分的时间对毕业设计项目随时跟进,随时指导。导师资格审查上,对于软件工程专业来说,学生毕业设计的导师,应该由长期从事实际工程实践或者有较好科研成果的“双师型”(双师即“教师”、“工程师”)教师来担任,也可以聘请校外科研单位或企业中水平较高的工程师来担任企业导师,这样不仅可以减轻指导教师短缺的压力,也能促进指导教师队伍多元化模式的形成。题目设置上,要求题量要充分,使得水平层次不同的学生都能选到合适的题目;难度和工作量要适中,且要有一定的创意,使学生通过毕业设计的训练,在综合应用能力和创新能力上都能够得到有效的提高。有课题的指导教师要尽量结合自己的课题来设计题目,没课题的指导教师可以从与学校有合作的企事业单位中获取有实际意义的题目。鼓励学生根据自己的兴趣点和就业取向自拟题目,允许学生到实习企业中根据企业的实际工程需要选题和实施毕业设计,这样既能解决实际问题又可完成毕业设计。过程监管上,首先要在指导教师和学生之间建立有效的沟通联系机制和问题讨论的例会制度,充分发挥指导教师的引导作用,在毕业设计过程中,坚持每周师生沟通一次。学生提出问题,指导教师引导和总结,鼓励学生发挥主观能动性和创造力。同时,学校要成立由领导牵头、具有一定工程实践经验的专业技术人员组成的督导组,对毕业设计过程包括选题、开题、中期检查、答辩和成绩评定等各个环节实施有效的监控和督导,加强管理学生的同时也要加强对指导教师工作质量的检查,确保毕业设计工作能够有序、有效的实施。量化考核上,要对毕业设计从前期的开题、文献查阅,到中期的分析、设计、实现,再到后期的总结等各个阶段的进行量化考核,前一阶段的成绩考核不合格者,不能进行下一阶段工作,必须加以整改,直到整改合格后才能进入下一阶段。对于未能按要求如期完成毕业设计的可以推迟答辩,对于首次答辩不合格的可以进行二次答辩,仍不合格的,可以缓发毕业证。只有建立严格的考核制度,才能对学生有约束力,让学生从思想上重视毕业设计,进而保证毕业设计的质量。 4结束语 软件工程是一个实践性很强的专业,软件工程专业的毕业设计作为大学四年学习的总结,是学生从学校跨入社会前仅有的一次大检验,它不仅检验了学生对所学知识的综合应用能力和学生的综合素质,同时也检验了学校的培养模式和教学质量。毕业设计质量的好坏,不仅关系到软件工程专业的培养目标,也关系到学生的就业率与就业质量。因此,在就业形势日趋严峻的情况下,软件工程专业毕业设计的教学改革也要适应就业市场需求,紧跟行业发展变化,与时俱进。 作者:张华 单位:南阳理工学院 软件工程毕业设计论文:软件工程毕业设计改革实践 一、软件工程专业毕业设计存在的主要问题 (一)毕业设计题目设置与选题方面 题目设置不合理,类别与层次不清晰,选题匹配效果差[2]。学生的毕业设计课题一般都按照指导老师的研究方向和实际工程项目提供,但每年真正来源于工程实践题目比例较少。部分题目理论性强,学生根据所学知识不能很好理解;部分题目开发工具复杂,占用了毕业设计的大部分时间。在选题时可能导致学生想选的题目选不上,能力差的学生所选题目难度大,影响学生的积极性,导致选题效果差,造成毕业设计很难完成。 (二)毕业设计过程监控方面 毕业设计监控工作实施困难,效果较差。软件工程专业毕业设计一般包含选题、开题、中期检查、程序测试、撰写毕业论文、答辩、成绩评定。但对这些环节的监控有时候会形成空白带,毕业设计不在实验室进行,有的学生在实习单位实习,有的学生在外地找工作,老师不能定时与学生见面,老师无法了解学生的具体情况,且学生提交的各阶段文档流于形式,只有指导教师在进行监控,未形成完善的监控体系,导致监控不到位,监控效果较差[3]。 (三)毕业设计论文答辩方面 答辩考核方法单一,答辩仅由学生的讲解和老师的提问两个环节组成,考核准确度低。答辩通过门槛较低,答辩只对学生的毕业设计进行排名,一般排名在最后的学生才可能不及格,不利于提高学生毕业设计积极性,造成大部分同学仅以答辩及格为目标,思想上不重视,答辩准备工作不扎实。再由于软件工程专业特点,毕业设计软件作品评分标准难于量化,考核具有一定难度,也造成答辩效果不好。同时为了提高学生毕业率和就业率,毕业答辩的质量控制有所放松,直接导致了软件工程专业毕业设计质量难以保障。 二、软件工程专业毕业设计的教学改革 针对上述各项实际问题,主要进行的相关工作具体如下: (一)合理设置毕业设计题目,动态选题 依照软件工程专业的以市场需求为导向,培养应用型软件工程人才的培养目标,在毕业设计题目设置环节,紧紧围绕工程实际型、创新项目型、竞赛题目型、科研项目型等类型进行题目设置,以适应市场动态需求。同时着力避免在毕业设计题目中设置虚拟型题目、理论研究型题目、综述型题目、分析设计型题目等。在选题过程中,通过毕业设计管理系统(如图1所示)进行多轮双向动态选择,动态调整题目各项技术参数以保证学生能选择一个适合自己能力且能有利于自己以后工作的题目[4]。这样,在选题之后,每个指导老师就可以根据学生不同能力进行分别指导,使不同能力的学生都能够运用其所学知识解决工程实际问题,都能够通过毕业设计增强工程实践能力、工程设计能力与创新能力。近四学年软件工程专业毕业设计各类题目汇总。 (二)毕业设计过程实行三级监控管理机制 学校成立以主管副校长为组长的毕业设计工作领导小组以加强毕业设计宏观调控,学院成立以教学副院长为组长的毕业设计工作领导小组以加强毕业设计协调与监控工作,软件工程专业成立以专业负责人为组长的毕业设计工作小组落实并实施毕业设计各环节具体工作[2]。具体参见下图2。在实现毕业设计过程管理的三级管理机制的同时,为保障毕业设计工作质量,软件工程专业要求所有指导教师必须具有中级以上技术职称或硕士以上学位且有一定工程实践经验,具有较高教学、科研水平和创新能力,师德良好,工作态度认真负责。在每年的毕业设计指导工作开始前都对指导教师进行资格审查,择优任用,且每位教师指导的学生不超过6人,以保证指导教师对学生的充分指导[5]。 (三)毕业设计过程量化考核 以往软件工程专业毕业设计成绩通常由三部分组成:一是学生的平时表现由指导老师把握;二是学生的毕业论文成绩。由专业其他指导老师进行评阅;三是现场答辩成绩。由所在组的指导教师按照相关评分标准打分并取平均分。这样基本能够保证毕业设计成绩的公正,但是由于只有毕业答辩环节具有约束力即答辩未通过则总成绩不及格,其他环节不具约束力,因此造成毕业设计前期、中期工作流于形式,前期、中期阶段提交的文档趋于应付、质量不高,最终导致毕业论文质量较低[6,7]。为此,软件工程专业经过几年的探索与实践,实施了毕业设计各阶段的软件工程生命周期量化考核法即各个阶段量化考核,且考核成绩不合格者不能进行下阶段毕业设计工作,必须加以整改,整改通过后才能进入下一阶段毕业设计工作。经过几年的实践证明该考核方法切实可行,能够保证毕业设计各个环节的质量,最终提高毕业设计总体质量。 (四)在毕业设计过程中进一步提高学生工程能力与创新能力 辽宁工业大学于2011年制定并实施了大学生创新团队机制,建立了大学生创新项目申报机制引导大学生开展创新活动;引导学生每年都参加校级、省级、国家级软件设计大赛等各类各级比赛[8]。随着学校和学院创新教育活动多年持续深入开展,软件工程专业学生的创新与创业活动取得了显著成果。超过1/4的软件工程专业学生能够独立主持创新性项目,并以该项目为原型申报毕业设计题目[9],同时参加省级、国家级计算机竞赛并获得奖项。通过主持校级及省级创新项目既毕业设计题目,学生工程能力、创新能力得到极大锻炼与提高,本专业毕业生就业率与就业质量明显提高。软件工程专业学生主持参加创新项目既毕业设计题目情况见表3。 三、结束语 软件工程专业毕业设计是一个极具综合性、实践性的重要环节,是对学生大学四年学习后面向社会与企业前的有且仅有的一次大检验,它不仅检验了学生所学知识、能力与综合素质,还检验了软件工程专业的培养目标、培养模式、课程体系、实践体系、创新体系等相关环节[10]。经过几年的探索与实践证明,软件工程专业所做的系列教学改革工作中的毕业设计教学改革工作有利于进一步增强学生的工程实践能力和创新能力,有利于提高软件工程专业毕业设计质量,有利于提高软件工程专业学生就业率与就业质量。虽然软件工程专业毕业设计教学改革工作取得了一定的成绩,社会认可度逐年稳步提高,但如何动态调整教学计划以跟进市场需求变化;如何深入开展大学生创新创业教育活动以进一步增强更多软件工程专业学生的实践能力及创新能力;如何进一步加强专业教师工程实践能力、工程设计能力与工程创新能力以提高毕业设计指导效力;如何提高毕业设计过程管理效率等问题仍然是软件工程专业所面临的严肃课题[11]。因此,软件工程专业的毕业设计教学改革工作也一定会紧跟时代变化,与时俱进。 作者:佟玉军谢文阁王恩喜刘鸿沈姜悦岭工作单位:辽宁工业大学电子与信息工程学院 软件工程毕业设计论文:软件工程思想在应用型高校毕业设计中的应用研究 摘要:针对地方应用型本科高校计算机软件类毕业设计质量不高的问题,对毕业设计中存在的问题进行分析,并结合软件工程的基础理论,提出利用软件工程思想对计算机软件类毕业设计进行指导,以提高地方应用型普通本科高校毕业设计的质量。 关键词:软件工程;毕业设计;应用 一、引言 毕业设计是本科毕业生在校期间的最后实践和综合实训阶段,是实现本科教育培养目标的重要组成部分,是深化、拓展、综合应用所学理论知识的重要过程;也是综合素质与工程实践能力培养效果的全面检验;是学生毕业及学位资格认定的重要依据;是衡量高等教育质量和办学效益的重要评价,是对专业理论知识和专业技术综合应用能力的强化训练和提升[1]。在毕业设计的过程中,学生利用所学专业理论知识,通过了解社会,分析社会需求,深入实践,完成毕业设计的任务和撰写毕业论文(设计)报告等各个环节的工作。对于地方应用型普通本科高校而言,毕业设计就相当于一般高等学校的毕业论文,但是毕业设计不同于毕业论文,它的组成部分不只是一篇学术论文。应用型高校的毕业设计注重的是“应用性”和“实践性”,学生毕业设计要求学生针对某一课题,综合运用本专业有关课程的理论和技术,自己动手动脑做出解决实际问题的设计。目的是总结、检查学生在校期间的学习成果,是评定毕业成绩的重要依据。同时,通过毕业设计,可培养学生开发项目的基本综合能力,为学生就业能力中的专业能力奠定坚实的基础;培养综合运用已有知识独立解决问题的能力,从而加强学生应用能力的培养,使学生能够学以致用。 二、地方应用型普通高校计算机相关专业学生毕业设计的现状 近几年来,由于学校对毕业设计要求不断提高,学生从选题到设计再到写出毕业设计报告的过程中总存在这样那样的问题,最终有个别同学没有顺利通过毕业设计,没有拿到毕业证和学位证的情况时有发生,并且大多数毕业设计的水平不高,达不到培养学生独立解决问题和提高学生应用能力的目的。因此,如何指导学生做好毕业设计,提高学生毕业设计水平和质量,是地方应用型普通高校面临的一个重要问题。 (一)毕业设计选题现状 最近几年,我校计算机相关专业毕业生自进入大四秋季学期开始,在进行毕业实习的同时,也进入了毕业设计准备阶段:毕业设计选题,虽然毕业设计选题过程中,各级领导、指导教师和学生在态度是都很重视,但是在选题时也会存在很多的问题,主要有以下三个方面。 1.选题不够准确。部分学生选题未经深思熟虑,所选毕业设计题目要实现的功能太多,在规定时间内不能独立完成,而最终只能实现部分功能,或部分模块。 2.题目相似或重复雷同。学生选题存在浑水摸鱼的思想,在毕业设计选题过程中不是根据自己的兴趣爱好、专业知识学习情况等确定研究选题,而是选择与他人类似或雷同的选题,甚至同一批毕业的许多学生选题一致。比如:“XX管理系统”等,除了可能冠以的系统名称不同之外,其余基本相同。 3.应用价值低。部分学生的选题是当前十分成熟的项目,没有研究的必要;有些选题已经被淘汰,在实际生活和工作中没有多大用途。 (二)毕业设计需求分析阶段现状 通过调查,许多学生选题完成后,没有对自己所做毕业设计选题进行仔细了解、分析,他们认为在毕业设计中最重要的就是编程,其他方面一带而过[2],从而造成毕业设计过程中主题经常进行修改,最终使得整个系统杂乱无章,无法继续进行下去。因此学生在毕业设计的需求分析阶段主要有以下三个方面的问题。 1.选题后未进行实际调查研究,甚至未查找相应的参考文献。 2.需求分析进行得不彻底、不准确,即使选题后查找了参考文献和资料的,也未做充分了解和分析。 3.在需求分析阶段没有写出需求规格说明书或系统分析报告就匆忙进入系统设计阶段,导致随着系统设计的逐步深入,原来确定的需求不能满足毕业设计的需要,正在进行的设计与开始的期望和设想又不相符。 (三)毕业设计系统设计阶段现状 在系统设计阶段,普遍存在以下两个方面问题。 1.由于需求的不明确,在进行系统设计时,修改随意,没有严格按照软件开发的步骤进行。好多学生在进行系统设计时并没有建出相应的功能模型,不管是用例图还是DFD图都没有,而且系统设计过程中功能随意变换,并且各功能模块的层次结构不清晰,使得整个系统的功能模块划分凌乱,不符合软件设计中“高内聚,低耦合”的原则。 2.在软件设计过程中,不先进行概要设计、详细设计和模块设计,没有软件的过程性描述,直接进行编码,存在想到哪里就做到哪里,走到哪儿算哪儿的随意思想[3],当前内容没有做完便开始其他内容,使得整个系统设计杂乱无章。在这样的一种研究状态下,即使完成了设计,效率也非常低下,软件结构混乱,功能实现不完全,降低了软件设计的质量。 (四)毕业设计实现阶段现状 通常把编码和测试统称为实现。在进行软件设计后,就可以根据设计结果来实现,将软件的过程性描述编码,得到计算机可以运行的源代码。在实现阶段主要有以下几方面的问题。 1.编码随意。学生在编码的过程中,不注意编程风格的把握,导致程序的可读性、可理解性、可修改性等较差,在答辨的过程中,要求指出某个功能模块的代码时,经常要花费很多时间才找得到。 2.测试和调试可有可无。大部分学生在毕业设计的软件编码完成以后,从没有想过进行完整的系统测试,或者只对个别功能进行测试或是随意测试,没有按照测试步骤逐步进行;基本没有单元测试和集成测试,一般只是最终随便输入几个数据简单检测一下,如果有错,修改了就算完了;也没有进行回归测试,没有测试计划,没有想过用什么测试技术来检测某一类型的错识,没有相应的测试用例,也没有测试结果分析。由于学生毕业设计都是一人一题,基本上是一个人完成所有步骤,就算有测试,在测试阶段也是自己进行测试,从心理学的角度来说,自己对自己开发的软件进行测试是不可取的。 由于前面阶段的文档不完善,也不重视测试过程,不清楚是否实现了系统最初设计的功能,是否达到相应的性能要求,总以为程序做出来后毕业设计就完成了,使得毕业设计经常在更换运行环境或答辩时发生错误和问题,从而使得设计得不到好评甚至无法通过。 (五)毕业设计应用现状 最近几年,我校计算机相关专业毕业设计投入使用数量接近于零。究其原因主要是由于设计不完全,未进行测试和调试,存在的错误和缺陷较多,文档和数据不完整,导致所开发的系统或软件不能方便地转让、变更、修正、扩充和使用,也没有为后期培训、维护留下完备的资料;因此,不能投入到真正的使用过程中,也不能实现系统或软件产品的效益。 三、软件工程思想的应用 软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程中的软件生命周期是一个软件从软件定义、开发、运行和维护,直到最终被废弃的整个过程[2]。地方应用型普通高校计算机相关专业学生毕业设计基本都是开发一些中、小型应用系统或软件,因此,学生毕业设计也要经历软件生命周期各个阶段,严格遵守软件工程的各个原则,这样有助于解决毕业设计中存在的问题,提高毕业设计的质量。通过对应用型普通本科高校计算机相关专业的学生在进行毕业设计的过程中存在的问题进行分析,在毕业设计的过程中,必须运用软件工程的观点、技术和方法来指导毕业设计,这样既节约了毕业设计的时间和学生的精力,也能做出最优质的毕业设计。 1.选题过程中的应用。毕业设计选题就是软件生命周期的问题定义中的问题提出阶段,选好题目是进行深入研究的基础,也是写出高质量毕业论文的前提。地方应用型普通本科高校计算机相关专业的毕业设计选题必须做到以下几点:(1)必须在对选题做了充分调查、分析,对检索的参考文献、资料有了整体把握的基础上提出。(2)必须符合本专业培养方案规定的培养目标的要求。(3)以选择工程性较强的课题为主,确保有足够的工程性训练。(4)要有明确的设计成果,对于较大型任务的课题要明确阶段性成果。(5)要达到规定的工作量,难易度适中,确保能在规定的时间内完成整个课题工作。(6)要围绕生产生活实际,所选题目一定具有一定的理论意义和实践意义,具有一定的价值。(7)原则上一人一题,对于较大型任务的课题,每个学生必须有独立子课题。结合以上几点,分别从专业基础、现实意义等方面进行全面分析,进行取舍,最终得出选题。 2.开题过程中的应用。在毕业设计的开题过程中,需要明确所选题目的选题依据(包括选择课题的背景、选题研究的理论及实践意义)、选题研究现状(包括目前国内外对本选题的研究情况和有待解决的问题)、研究内容与方法,而这些就是软件工程中需求分析阶段应该做的事情。 需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作[3]。因此开题过程中最重要的是进行需求分析,需求分析具有决策性、方向性、策略性的作用,在软件开发的过程中具有举足轻重的地位。需求分析完成的好坏直接影响后续软件开发的质量。开题过程中需要指导学生大量地阅读相关的研究资料,同时根据资料进行分析研究,对当前毕业设计的研究进度做到心中有数,明确毕业设计的具体方向,写出毕业设计的研究内容与方法,得到相应的设计提纲,解决好设计什么,如何设计的问题。因此,应用好软件工程的思想来指导毕业设计的开题是至关重要的。根据学校对学生毕业论文的要求,在计算机相关专业的毕业设计报告中,要求要有数据流图、数据字典等相应内容,而软件工程中的数据流图(Data Flow Diagram,简称DFD),它是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。它是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理[3]。因此,在这个阶段,要指导学生按照DFD图的要求,确定设计的功能,然后根据系统分析结果写出分析报告,就得出毕业论文中系统分析阶段的初始文档。 3.在实践研究环节的应用。根据需求分析(开题阶段)的结果进行软件的概要设计和详细设计,注意在设计过程中要严格按照软件工程对于设计阶段的指导原则来进行设计。将概要设计阶段需求分析得到的DFD转换为软件结构和数据结构,即是根据需求确定软件和数据的总体框架,设计出软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。然后再进行详细设计,设计出每个模块的实现算法、所需的局部数据结构,并且对每个模块写出过程性描述;为每个模块设计出一组测试用例,在进行测试时就以此测试用例来进行测试。详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后将根据这个“蓝图”写出实际的程序代码。因此,指导教师要对学生的设计过程进行监督和指导,防止学生盲目的进行编码。 4.在实现阶段的应用。在编码的过程中,要注意编程风格的把握,编程的风格在很大程度上影响程序的可读性、可测试性和可维护性。 在测试阶段,可以进行交叉测试,即学生之间可以两两交叉,相互测试,以更好的达到测试效果,同时也培养了学生的团队意识和合作意识。 在测试过程中要注意运用软件工程的测试原则和测试思想,严格按照单元测试集成测试确认测试系统测试验收测试的测试步骤进行,利用白盒测试技术进行单元测试,黑盒测试技术进行其他测试,并且在找出错误并修改后要进行相应的回归测试,确认修改了错误并且没有引入新的错误,这样有利于找到软件中的各类错误,提高软件的质量。因此,在软件的测试过程中,一定要严格按照软件工程中的测试原则来进行,不可随意进行测试,并且要注意测试文档资料的收集整理,要有相应的测试计划和测试报告。对学生的创造性的思维和想法,指导教师要给予支持,积极引导,鼓励学生大胆创新,用应用型人才培养目标来要求学生,保证高质量的毕业设计的完成。 5.在毕业论文(设计)报告方面的应用。对于应用型普通本科高校计算机相关专业的毕业设计而言,不单单是完成了一个系统的设计,还要有相应的设计报告,而设计报告的编写过程中,很多学生存在文字表达能力不强的现象,为了完成报告,就有可能会抄袭,特别是在软件开发的各个阶段文档材料不全的情况下更为严重。因此,在学生进行软件开发的各个环节中,指导教师都应该按照软件工程的观点来进行指导,并要求学生在各个阶段都完成相应的文档。这样在毕业设计报告撰写的过程中,只要将各个阶段的文档进行合并、整理就得到相应的设计报告,并且是一篇重复率不高的高质量的设计报告。 6.在毕业设计实际应用方面的应用。因为学生在整个系统或软件过程中均按软件设计规范准备了文档和进行了完整的系统测试,从而为系统或软件的专利申请提供了充分必要的资料,并为毕业设计的实际应用打下良好的基础。 四、结语 计算机相关专业学生的毕业设计在学生的整个大学生活中具有极其重要的地位和作用,根据应用型普通本科高校人才培养的定位,主要是培养学生的独立思考能力、动手能力和应用能力。通过对软件工程思想在计算机相关专业学生毕业设计的过程及方法中的应用研究,逐步实现学生毕业设计的实际成果转化,从而为应用型计算机相关专业人才培养提供相应的借鉴。 软件工程毕业设计论文:《软件工程》思想在毕业设计(论文)中的应用 【摘要】主要分析了毕业设计(论文)的现状,介绍了软件生命周期的各个阶段与毕业设计(论文)各阶段的对应关系、软件生命周期各阶段应完成的任务以及在毕业设计(论文)中应注意的问题。 【关键词】软件工程 毕业设计(论文) 实践教学 一、引言 毕业设计(论文)(以下简称毕业设计)是计算机及相关专业教学计划中的一个重要环节,是培养学生对所学基本理论及基本操作技能综合运用的训练过程,是提高学生分析和解决问题能力的重要实践环节,是实现理论与实践相结合的重要途径,是对教育教学质量的全面检查。目前,计算机及相关专业的毕业设计质量正在逐年下降:学生急于找工作或考研,毕业设计得不到应有的重视;需求分析不到位,设计成果不符合实际需求;软件开发流程混乱;缺乏文档写作训练,等等。 针对上述问题,笔者认为,除了应当从管理角度严格进行过程监控外,还应当使学生通过《软件工程》课程的学习,提高毕业设计的质量。 二、软件生命周期与毕业设计过程的对应关系 软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生命周期。软件生命周期可以划分成若干个时期与阶段,它与毕业设计各个环节的对应关系如图1所示。 三、软件生存周期各阶段应完成的任务 1.可行性研究与计划阶段、需求分析阶段 可行性研究与计划阶段主要完成问题的定义、可行性论证以及初步计划的制定;需求分析阶段主要完成需求调查,进行功能、性能与环境约束分析;编制软件需求规格说明、制定软件系统的确认测试准则和用户手册概要。这两个阶段对应于毕业设计的课题论证、选题、调研、查资料,通过对设计题目的深刻理解,完成开题报告的撰写工作。 2.概要设计阶段和详细设计阶段 概要设计阶段主要完成软件系统总体结构的建立、定义功能模块的接口、设计全局数据库和数据结构、规定设计约束、编制概要设计文档等工作;详细设计阶段主要完成模块详细设计及编制模块的详细规格说明工作。包括模块的详细功能、算法、数据结构和模块间的接口信息等设计,拟定模块测试方案;把模块详细设计的结果汇总,形成模块详细规格说明书。这两个阶段对应于毕业设计的系统设计阶段。 3.实现阶段与组装测试阶段 实现阶段主要完成编码及单元测试工作。根据模块详细规格说明书,将详细设计转化为程序代码、对模块程序进行测试,验证模块功能及接口与详细设计文档的一致性,并形成单元测试报告;组装测试阶段主要完成模块程序组装与测试及组装测试报告的编写。 4.确认测试阶段 该阶段主要完成软件系统测试、确认测试文档编制及软件评审工作。根据软件需求规格说明定义的全部功能和性能要求及软件确认测试准则对软件系统进行总测试;向用户提供以确认测试报告为主的有关文档,包括系统操作手册、源程序清单和项目开发总结报告等;由专家、用户、软件开发人员组成的软件评审小组对软件确认报告、测试结果和软件进行评审,并将得到确认的软件产品交付用户使用。这个阶段主要对应于毕业设计(论文)中的论文评审、结题验收及毕业设计的答辨准备阶段。 5.软件运行与维护阶段 主要进入软件的使用阶段,并完成软件的维护工作。它主要对应于毕业设计中的答辩阶段。 四、毕业设计应注意的几个问题 1.摘要 摘要是对文章主要内容的摘录,要求精、短、完整。以几十字至三百字左右为宜。摘要应具有独立性和自明性,从摘要中即应获得必要的信息;摘要中只能使用第三人称;要客观如实地反应原文的内容,要着重反映论文的最新内容和作者特别强调的观点;要求结构严谨、语义确切、表述简明,一般不分段落、不进行自我评价。 2.关键词 关键词主要用于论文检索,它是从论文的题名、摘要和正文中选出的,是对表述论文的中心内容有实质意义的词汇,关键词一般以3~5个为宜。 3.结论 结论写作的内容应主要考虑本文研究结果是什么?研究结果说明了什么?对前人有关的看法作了哪些修正、补充、发展、证实或否定?本文研究的不足之处或遗留未予解决的问题以及对解决这些问题的可能的关键点和方向等。结论应该准确、完整、明确、精练。 4.需求分析 在毕业设计中,学生往往不能对所做题目进行充分的调研,需求不明确,随意想象的成分较多。特别是在数据表的建立上,大部分同学随意设置字段的类型,而字段长度基本上采用默认置。而在实际项目开发中,数据项的设置应主要注意以用户的需求和满足系统要求为准,而不应设计冗余的字段;数据的类型要依据实际需求,当某些字段可以是选择某几种类型之一,应考虑哪一种更有利于本系统或哪种更易于用户操作和维护。 5.详细设计 许多同学把详细设计阶段的任务理解为代码实现,因此,在概要设计之后就着手进行代码的编写而忽略了算法的表达及测试用例的编写环节,由此造成的结果是随意编程,大量的时间浪费在程序的修改和调试上。 6.软件测试 测试做得不够全面,大部分同学只选择了有效的测试用例,而没有进行无效的测试用例的设计,因此所做的软件BUG较多。 7.团队合作 在毕业设计中,应有意识地锻炼学生们的团队协作精神,因此,在布置毕业设计题目时,应尽量选择规模大一点的题目,然后由4~5名同学共同协作,每人完成一个子题目。这样,可以使学生们分析问题和解决问题的能力、沟通和表达能力得到充分锻炼,为今后的工作奠定基础。 软件工程毕业设计论文:软件工程专业本科毕业设计过程管理 摘要:分析软件工程专业本科毕业设计管理中存在的主要问题,针对软件企业对软件工程专业的人才培养要求,提出软件工程专业本科毕业设计过程管理措施,强调通过建立和完善毕业设计的管理制度,加强毕业设计过程的监控;构建完善的毕业设计管理平台,提高本科毕业设计管理水平;改革毕业论文形式,建立毕业设计过程管理评价体系,提高学生工程实践能力。 关键词:软件工程;本科毕业设计;过程管理 软件学院软件工程专业的设立是国家教育部、国家发展计划委员会为满足国家软件产业发展对人才的迫切需求于2001年批准成立的。重庆大学软件学院是国家首批示范性软件学院之一,其人才培养目标是培养“面向应用、遵循标准、适应团队、把握技术、熟知领域、外语优良”的软件工程人才。10年来,软件学院十分重视软件工程专业的工程化教学改革,采取多项政策和措施促进工程型软件实用人才的培养。本科毕业设计是实现高等学校人才培养目标的重要教学环节,是培养学生创新意识和创新能力的重要手段,是理论学习与社会实践相结合的重要体现。因此,对软件工程专业本科毕业设计进行改革,培养具有工程实践能力的软件实用人才具有重要意义。 1 软件企业对软件工程专业培养人才的要求 软件产业的迅速发展对该行业从业人员提出更高要求,不仅要求学生掌握理论知识,还要求学生具备较强的工程实践能力与创新能力。国内计算机相关专业的教学基本上仍使用传统的理工科人才培养模式,注重基础理论知识,缺少对学生工程能力和职业素质的训练,因此培养既有扎实的专业基础知识和较强工程实践能力,又能迅速适应业界环境的高素质创新型软件人才,是软件企业对软件工程专业人才培养的要求。 2 目前本科毕业设计管理中存在的问题 1)毕业设计阶段缺乏全过程的管理与监控。 毕业设计全过程的管理与监控不够规范,缺乏专门的组织机构。毕业设计的一些主要环节疏于检查和监督,因此存在影响毕业设计质量的问题,如选题陈旧、重复率高、与软件产业发展需求不适合等。 教师指导水平有限且精力投入不足,同时没有对教师指导工作的有效绩效考核,使得教师对学生的毕业设计不够重视;某些学生由于有就业压力,便将主要精力放在人才市场和各类招聘会上,没有意识到毕业设计的重要性,最后只能通过拼凑和抄袭完成毕业设计。 2)毕业设计阶段缺乏规范化的指导性文件。 毕业设计工作持续时间长,涉及所有毕业生和教师,如果没有规范化的指导性文件能够让指导教师和学生了解毕业设计工作的意义、目标、计划、流程、论文规范化格式、质量评价标准、成绩考核等具体实施细则,明确自己在该项工作中扮演的角色以及整个毕业设计流程对自身承担工作的质量要求,那么很难提高毕业设计质量。 3)毕业设计文档资料缺乏有效管理。 毕业设计成果是学校的重要知识和信息资源,完善的文档资料管理有助于毕业设计工作的传承和创新。长久以来,毕业设计作品和论文主要采用人工管理。学生答辩后提交资料袋,资料袋中包括毕业设计相关文档和设计作品的刻录光盘,但由于管理人员对毕业设计资料的重视程度不够或人员不够,导致毕业设计资料管理不善,出现查询困难、答辩记录丢失等情况,为以后查阅、成果展示及下届毕业生的论文指导工作带来不便。 3 本科毕业设计管理改革措施 1)成立毕业设计管理小组。 为了加强本科毕业设计工作的组织、管理和监督,软件学院专门成立毕业设计管理小组,小组成员由教学副院长、正副系主任及学生助管组成,负责整个毕业设计过程的管理监督工作,包括从选题、审题、任务书下达到开题、中期检查、答辩、成绩评定、推优的全过程。 2)建立和完善毕业设计的管理制度。 为了提高毕业设计质量,毕业设计管理小组根据软件工程专业特点建立学院的具体工作规范和有效的毕业设计管理模式和监控制度,加强毕业设计制度建设,使得从选题、下达任务书到学生的开题报告,从每周汇报、中期检查到设计文档撰写、论文撰写、论文重复率监测、论文评阅及论文答辩,都有切实可行的实施细则及管理规章制度;构建集中管理与跟踪管理、周报提交、外出请假、抄袭检测、讲座出勤等平时成绩评定标准;完善从平时表现、系统设计实现质量、论文或设计文档质量、答辩水平等多方面衡量的客观、公正的综合成绩评定标准和推优程序。在毕业设计全过程管理中,力求做到有章可循及有据可查。 3)多元化的毕业论文形式。 多元化的毕业论文形式有利于培养大学生创新实践能力。根据软件工程专业特点,软件学院对毕业论文形式进行改革。毕业设计形式包括传统方式和新方式,学生可以选择其中一种方式,具体采用哪种方式则由指导老师负责。 传统方式是指毕业生完成开题报告并翻译一篇相关课题的英文文献,然后对软件系统进行需求分析、设计和编码实现,或者对相应算法进行研究、分析和编码实现,最后完成毕业设计论文。 为了面向软件企业需求,培养学生的软件设计能力,新方式注重提高学生的系统设计文档编写能力。毕业生前期仍然要完成开题报告、英文文献、系统分析设计和编码,最后提交系统设计相关文档。系统设计相关文档由以下文档构成:①项目开发计划;②软件需求说明;③系统设计说明;④数据库设计说明;⑤用户手册;⑥测试分析报告;⑦项目开发总结。根据软件工程学科特点及专业人才培养的要求,结合学校的毕业设计(论文)管理办法和软件设计文档国家标准,软件学院制定了符合专业人才培养目标的设计文档规范。 为提高学生科技论文写作水平和研究报告的演讲能力,软件学院面向软件工程专业所有应届毕业生,在其毕业设计阶段开设8学时的“科技论文写作规范”“研究报告演讲技巧”讲座,强调科技论文写作的规范性和可读性,锻炼学生演讲研究报告的能力。 4)加强毕业设计过程管理和监控。 毕业设计过程管理和监控面向的对象是学生和教师。软件学院毕业学生做毕业设计有不同情况,如有在校外软件公司做毕业设计的,更多的是在校内做毕业设计,因此需要有相应的不同管理模式。为加强学生培养质量和降低指导教师管理难度,软件学院提供集中管理与跟踪管理方式。 集中管理是指学院设置固定机房和机位并安排助教作为管理人员,由指导教师给学生安排机房,由管理人员负责学生的日常考勤,学生需及时向指导老师汇报学习情况,学生若有事必须请假。跟踪管理主要针对在校外进行毕业设计的学生,要求这类学生完成校外毕业设计申请,由管理小组协助指导教师对校外学生进行跟踪,为这些学生提供及时的毕业设计信息服务。这类学生必须每周与学校指导教师联系,以便教师详细了解并掌握学生毕业设计进度。这种具体的制度和规范,对在校内进行毕业设计和赴外进行毕业设计的学生进行了有效监控。 针对指导教师的管理,毕业设计管理小组采用不定期检查和周报提交的方式。毕业设计规范要求每位指导教师每周指导时间不少于2小时,指导教师需要检查学生毕业设计的进度和质量;解答学生提出的问题,进行下一阶段工作部署与指导,保证毕业设计的质量。 不定期检查指毕业设计管理小组根据指导教师在毕业设计系统中登记的指导时间和地点,不定期对教师的指导情况进行检查。周报提交是指学院建立的毕业设计定期报告制度,教师和学生每周均需要将周报提交到系统上,教师主要汇报每周对学生指导情况以及学生毕业设计进度和质量,学生主要汇报每周的毕业设计进度、毕业设计遇到的问题等。毕业设计管理小组每周对周报进行汇总分析并,及时了解毕业设计情况,对学生和教师提出的问题进行统一解答。 5)构建完善的毕业设计管理平台。 充分利用计算机技术,构建完善的毕业设计管理平台,提高毕业设计管理水平,使毕业设计管理更加规范化。软件学院在毕业设计过程中使用的管理系统包括:重庆大学本科毕业设计系统、重庆大学网络教学综合系统、重庆大学软件学院软件工程实践教学平台。 重庆大学本科毕业设计系统用来上传和管理毕业设计相关文档。系统涵盖毕业设计工作的全过程,实现选题提交、课题双向选择、毕业设计相关文档(包括开题报告、外文翻译和毕业论文)的提交与管理、文档模板的上传和下载、毕业答辩的自动分组、指导教师和交叉教师评分、答辩记录和成绩的上传、成绩册的打印、毕业成绩的统计分析等功能。 重庆大学网络教学综合系统。用于毕业设计的过程管理,主要进行信息、周报收集、校外学生实习申请、过程检查情况公告、问卷调查、学生成果提交和查询等。 重庆大学软件学院软件工程实践教学平台是软件人才培养创新平台,提供实践教学成果展示、实践案例资源库与实践教学管理功能。利用该平台可以举办毕业设计优秀作品展,展示软件学院学生的专业学习水平,激发学生的实践热情,对下一届学生起到示范作用。平台实践案例资源库可为学生提供实践学习参考资源,为教师提供实践教学案例素材。 6)建立毕业设计过程管理评价体系。 建立毕业设计过程管理评价体系,要求所有 一学生和指导老师每周都要将周报提交到EOL(重庆大学网络教学综合平台)平台。毕业设计管理小组每周对毕业设计情况进行检查和监督,并将检查情况告知所有指导老师。指导老师每周提交周报次数与毕业设计指导工作量挂钩;学生考勤情况、周报提交情况、平时检查情况会被记入平时成绩,平时成绩不合格将被取消答辩资格。 软件学院强调学生在毕业设计期间一定要进行软件系统设计和实现,毕业答辩包括系统演示、用PPT讲解毕业设计主要工作、答辩教师提问等多环节,答辩老师根据学生工作量、完成质量、论文或设计文档质量、答辩情况进行评分。学生毕业设计的最终成绩由平时成绩、指导教师成绩、交叉评阅成绩和答辩成绩构成,以保证评分的公平性。 7)加强诚信机制建设 为了提高本科毕业设计质量,加强学术道德和学风建设,营造学术诚信氛围,软件学院使用“大学生论文抄袭检测系统”对本科毕业论文进行防抄袭检测。抽检比例为应届毕业论文的50%,抽检名单由毕业论文管理系统随机抽取。另外,各答辩小组推荐的优秀毕业论文为必检对象。 软件学院制定论文抄袭的认定标准(建议文字复制比不超过25%)和处理办法,对有问题的论文,责成指导教师对检测结果予以认定和说明或督促学生修改,取消被认定抄袭论文学生的答辩资格;对各答辩小组推荐的优秀毕业论文进行,不合格的论文取消优秀。 4 结语 培养适应我国软件产业发展的软件工程人才,提高软件工程本科毕业设计质量,毕业设计的改革势在必行。通过2届学生的毕业设计改革证明,建立和完善毕业设计的管理制度,加强毕业设计过程的监控,充分利用毕业设计管理平台,实现多元化的毕业论文形式,建立合理的毕业设计过程管理评价体系,加强诚信机制建设,能极大地促进师生在毕业设计过程中投入热情和精力,提高本科毕业设计管理水平,有效保证毕业设计质量。 软件工程毕业设计论文:软件工程学在毕业设计中应用研究 摘要:毕业设计是一个十分重要的教学环节,是一个系统工程,应使用工程化的方法、步骤统筹安排以取得良好的效果。软件工程学是指导计算机应用专业软件类学生进行毕业设计的重要工具之一。将毕业生设计过程、文档书写与软件工程学紧密结合起来是提高学生毕业设计论文质量的一个重要途径。结合软件工程的基本知识,通过对软件类学生毕业设计过程存在的常见问题的研究,提出了应用软件工程学去指导学生毕业设计的方法。 关键词:软件工程;毕业设计 0引言 毕业设计是高等院校应届类毕业生在毕业前接受课题型任务,在教师指导下进行科学研究或工程实践并取得成果的过程,是高校实现人才培养目标的综合性实践教学环节,是一次理论与实践相结合的的锻炼机会。如何在新形势下改革毕业设计, 提高学生软件类毕业设计的质量,进一步规范毕业设计中的软件开发过程,抓好高校毕业设计这一实践环节,加强对毕业设计过程的管理与监控, 切实提高毕业设计的质量,对于软件类学生在毕业设计中实施合适的软件设计具有重的指导意义。 1毕业设计的必要性 高等职业教育应该是以能力为本位、以学生为主体、以实践为导向的教育。毕业设计是高等教育培养学生综合运用所学理论知识和技能解决实际问题能力的重要环节之一,是衡量毕业生是否达到相应学历层次的重要依据。毕业设计将总结专业基础和专业技术的学习成果,锻炼和开发学生的综合运用能力。 高职院校软件相关专业组织毕业设计应该符合新的人才培养标准,对培养学生的职业技能和素质要具有积极的意义。而对于即将毕业离校的应届毕业生来说,毕业设计无疑是计算机软件各相关专业理论教学、实验、实训等有机结合的途径之一。 通过毕业设计能锻炼学生的能力: (1)实践软件工程的相关原理能力。毕业设计的过程,是一个课题小组从接到开发任务到提交产品和文档的过程,其中涉及到需求分析、概要设计、详细设计、编码、测试、程序打包、编写文档等软件工程具体的各个方面。经过锻炼,学生们对软件工程学思想和方法的理解会大大加深。 (2)解决具体问题能力。在毕业设计的进行过程中,学生一定会遇到平时在课堂的理论学习中碰不到的困难和挑战, 而克服这些困难、解决实际问题的过程就是软件技术和心理素质逐步提高的过程。 (3)团结协作的意识、能力。通过毕业设计这一过程,学生就会产生团结协作的意识和能力。 2软件工程学的基本思想 软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护的学科,包括两方面内容:软件开发技术和软件项目管理。其中,软件开发技术包括软件开发方法学、软件工具和软件工程环境,软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划。 3高职类学生毕业设计现状 毕业设计的主要目的是培养学生综合运用所学的基础理论、基本知识和基本技能,用以分析、解决工程、科研、社会实际问题的能力,使学生得到工程设计方法和科研能力的初步训练。毕业设计中存在的问题主要表现在以下几个方面。 3.1选题的盲目性 只是把毕业设计环节作为大学生活的必经环节, 纯粹是为了完成学业而去做毕业设计, 造成选题的盲目性、有的选题则是陈旧。 3.2可行性分析与需求分析重视程度不够 绝大多数毕业生在确定了毕业设计的题目后,几乎不进行调查研究工作就立即投入到整个系统的设计中, 一旦遇到了与实际不符的地方, 又重新返回, 对已经做好的设计进行修改。最终导致设计的系统杂乱无章, 甚至到了最后只能马马虎虎地仓促交工。 3.3系统开发过程中的文档不够正规,不够完备 完整的设计不仅包括所完成的可操作的系统,一般的操作帮助,还包括在开发系统的过程中所产生的各个文档等一些文字的东西,比如解释清晰、内容全面的数据字典和使用手册也是必不可少的,否则用户会感到使用起来不方便,觉得难于操作。 3.4模糊的评价标准 导致毕业设计质量下降的一个非常重要的原因就是没有建立精确细致的评价体系。 这严重影响了项目的进度和质量,并且使学生没有真正得到必要的锻炼。我们通过对这些问题进行详细深入的分析,提出一个软件过程框架,这个框架主要从需求、测试、集成这3个方面给出工作要点和规范。 4利用软件工程学思想指导学生进行毕业设计 毕业设计本身是个工程,要用工程的方法去处理。从软件工程的角度去指导学生进行毕业设计,在毕业设计过程中,要系统地将所学知识应用于实际问题,按软件工程学思想展开工作。 图1软件生命周期与毕业设计各阶段之间的映射 4.1以可行性研究指导选题目 可行性研究,应该从技术可行性、经济可行性、操作可行性三个方面去研究,在毕业设计题目的选择过程中,应立足于解决实际问题,注重发现问题、分析研究问题和开发创新的能力。选题原则上,可以参考以下几点:①毕业设计的课题应该能使计算机专业所学的理论知识进一步理解并深化,也就是说,毕业设计应尽可能包括多门专业基础课和专业课的综合运用,并且要紧密结合工程实际,以有利于学生的全面训练;②选择难度适中的课题, 保证课题的完成质量;③课题要适合于各个模块独立进行,并便于最后统一调试;④课题规模应大小适合,难易程度适中。 4.2需求分析是关键 需求分析的基本任务是准确地回答“系统必须做什么”, 也就是对目标系统提出完整、准确、清晰、具体的要求。系统分析员可以通过多种形式来获取用户需求,对用户提出的需求进行分析,以此来确定其中要实现系统的功能。对需求划分优先等级,找出核心需求和重要需求,以保证系统构建的正确性。 在进行软件类毕业设计时,为了保证需求获取的准确性和全面性,可以让项目组的所有学生都参与到用户需求的获取的工作中来,发挥集体的能力,并由指导教师进行最终的确认。 4.3规范设计过程 需求分析完成后的下一个阶段就是系统设计,包括概要设计和详细设计。 详细设计阶段的任务就是深入每个函数内部,以伪代码或注释的形式实现整个函数,设计出程序的详细规格说明。 从系统设计开始,学生要按照软件工程的要求,画出DFD图,对输入、输出数据流进行详细的说明,建立符合软件工程规范的数据字典,根据DFD 图设计出模块结构图。 4.4重视文档写作 在毕业设计的过程中,要严格遵照软件文档的思想,记载设计过程的每一阶段完成了哪些设计,下一阶段的任务、目标及技术手段,这样,把文档作为整个设计的指挥棒,使设计有条不紊地进行。 4.5重视测试工作、撰写毕业设计说明书 软件测试工作也是软件开发的重要组成部分。通过实际应用效果和测试数据,毕业设计的成效就可一目了然。 毕业设计说明书的撰写是最后一个阶段,要求学生回顾设计过程,总结劳动成果,这时学生就会对软件开发及必须经历的几个步骤都有更深刻的认识。最后,要求学生对毕业设计进行系统的总结,写出毕业论文。 5加强对学生综合能力的培养 通过实践的练习,不仅能加深对理论的理解,同时也能锻炼运用知识分析问题、解决问题的能力。毕业设计这一实践环节是高等学校培养学生实际能力的主要手段,也是高等教育的重要组成部分。充分、有效地设置软、硬件的毕业设计对学生能力的培养至关重要,可以缩短学校教育与社会流行技术、工具的差距,满足学生毕业后的工作需要。通过毕业设计必须达到培养学生以下方面能力的目的。 5.1工程实践能力 学生能够准确把握选题的逻辑重心和学术思路,能够运用丰富的专业知识进行处理,具有严谨的理论思辨过程,以锻炼毕业生的工程实践能力,使毕业论文具有一定的应用和学术探讨价值。 5.2书写和表达能力 毕业设计论文是毕业设计工作的总结和提高,和做科研开发工作一样,要有严谨求实的科学态度。在毕业设计期间,尽可能多地阅读文献资料是很重要的,毕业设计大多数是技术开发型的,其论文的主体部分应包括:总体设计、模块划分、算法描述、编程模型、数据结构、实现技术、实例测试及性能分析。这些内容根据任务所处的阶段不同,可以有所侧重。 5.3创新能力 提出创新要求后,带领学生认真复习或补学过去没学过、没有学好的课程,并在此基础上结合实际工作中出现的问题孕育出一些新的思路,将毕业设计推上一个新台阶的方式,与为每个人专门分配某一特定的作业来锻炼学生基本技能的方式相比,更能扩展学生的视野,培养创新能力。 5.4协作能力和团队精神 通过集体活动和成员沟通培养成员的团体情感,增强团队的凝聚力。毕业设计将一个学生从入学初到毕业前的软件专业课程的学习内容链接成线,实现了课程的真正衔接,也使学生在毕业前对软件方面所学的知识进行了比较完整的概括与总结,达到了良好的理论联系实际的教学效果。毕业设计弥补了课堂教学的不足,加深了对理论的理解,促使学生深入思考,敢于创新,同时使学生的动手能力、分析和解决问题的能力、书写和表达能力、协作能力等各项能力都得到了培养和提高。 6结束语 软件工程作为软件开发工程化、规范化的具体实施方法,在将其应用到毕业设计中之后,学生在软件设计的文档书写规范化等方面均有了很大的改善与提高。将软件工程应用于毕业设计中不仅仅完成了一门课程从理论到实践的过程,而且将一个学生从入学到毕业前软件专业课程的学习内容链接成线,完成了前导后续课程的真正衔接,也使学生在毕业前对软件方面所学的知识进行了比较完整的概括与总结,因此,软件工程学在计算机专业学生毕业设计中的应用具有重要的现实意义。
软件质量管理论文:软件质量管理体系研究 [摘要] 随着软件行业的发展,软件质量越来越成为人们关注的焦点。本文从软件质量管理体系出发,结合笔者自身多年的软件质量管理经验,对现有软件质量管理体系进行了总结和归纳,提出了软件开发过程中质量控制的具体改进方法,并将全面质量管理观念融汇于实际软件质量管理日常事务之中。 [关键词] 软件质量管理体系 改进 全面质量管理 持续发展 一个开发团队要提高效率,就需要思考目前的管理活动中有哪些要素是可以改进的:如何把一些事务性的操作变得自动化,从而节约人力;如何找到更好的方法,让开发过程更为合理,更注重软件的质量;如何在团队中传播优秀的思想,让团队成员不断地学习和进取,自发地改进过程。这些美好的愿望几乎是所有方法论和各种认证的共同心声,但要完全做到可就太难了。在本文中,提出了一些优秀的实践,优秀实践均是来源于软件开发界中的一些新思路和新理论,它们能够为以上愿望的达成起到正面的作用。在组织中引用这些实践决不是一个容易的过程,但它们确实非常有效。这些实践包括:建立日创建、测试驱动开发、建立核心框架和面向组件进行编程。 一、软件开发的有效管理:日创建 一个组织应当拥有一个有效的工作流程,这个工作流程能够指导软件开发的进行。这个流程应当是具体的、可操作的。随意的计划和从来不遵循的进度决不是一个有效的工作流程。日创建实践提出了一种对开发过程进行精细管理的方法,它是量化软件管理的基础。有了日创建,你会发现计划的制定和进度的监控是非常容易的一件事情。 我们传统开发软件的流程一般是这样,理解领域问题,然后分配任务,由不同的人负责不同的软件部件,在开发完成之后,再把各人的部件整合起来,形成完整的软件。这个思路看起来并没有什么问题,但是在实践中却问题多多。 首先,这种方式适合开发人员之间工作彼此没有交集的情况,以前这种现象很常见,但是现在,随着软件规模的扩大、分工合作的加深,开发人员间的相互依赖程度越来越高,这种清晰的职责划分已经变得越来越难了。 其次,在软件集成时,往往会出现各种各样的问题,可是却很难发现到底问题在哪里?公说公有理,婆说婆有理。每个人的代码都没有问题,结合到一起就出现大量的问题。 所以日构建就将平时难得一见的集成工作转换成频繁进行的一件工作,从而使得原先如同噩梦般的集成变成了一件简单的工作。这也是很容易理解的,如果集成工作几个月才进行一次,谁能够记起几个月前的细节呢?但是如果集成以天,甚至以分钟为单位进行,排除bug就变成一件很容易的事情了。 二、测试驱动开发 软件质量的根源来源于测试,测试做好了,软件质量就会好。这是毫无疑问的。问题的关键在于怎么做测试,才能保证测试的投入能够带来软件质量的有效提升。测试驱动开发正是为了解决这个问题而出现的。它不是一个完整的方法论,可以和任何一种开发流程进行融合。测试驱动开发不但能够改善测试效果,还能够改进软件的设计。 测试驱动开发起源于XP法中提倡的测试优先实践。测试优先实践重视单元测试,强调程序员除了编写代码,还应该编写单元测试代码。在开发的顺序上,它改变了以往先编写代码,再编写测试的过程,而采用先编写测试,再编写代码来满足测试的方法。这种方法在实际中能够起到非常好的效果,使得测试工作不仅仅是单纯的测试,而成为设计的一部分。 在编写程序之前,每个人都会先进行设计工作。可能有些人的设计比较正式,绘制模型,编写文档。有些人的设计只是存在于脑海之中。且不论设计是精细还是粗糙,你都为随后的编码活动制定了一个标准。这个标准的明确程度和你的设计的细致程度有关。但应该承认,这个标准是不够细化的。因为你的设计不可能精细到代码级的程度。而标准不够明确则会产生一些问题,例如,在编写代码的过程中,你还可能会发现原先的设计出现问题,从而中途改变代码的编写思路。这将会导致成果难以检验,进度难以度量。 既然以设计为导向的标准不够明确、不够具体。那什么样的标准才是合适的呢?只能是代码。因为代码是最明确、最具体的。所以测试优先的本质其实是目标管理。编写测试代码其实是在制定一个小目标。这个小目标非常明确,它规定了你需要设计的类、方法,以及方法需要满足的结果。这些目标制定完成之后,你才开始编写代码来达成该目标。测试的目标要比设计的目标粒度更小,但是成本上却更为经济。 测试优先是软件开发中一种细粒度的目标管理方法,通过明确的目标,推动软件开发的进行。 三、建立核心框架 框架是一种具有高度重用性的软件,这个特性决定了它非常适合成为软件组织积累知识的一种有效手段。传统的知识积累的方法是文档,但是文档容易产生歧异,开发人员往往也不愿意去阅读和理解文档。框架提供的是一种综合的手段,包括文档、模型和代码。更容易理解,更重要的是,开发人员必须在日常的工作中使用框架,这使得他们对框架中的知识非常熟悉,并根据工作的需要来改进框架。 四、面向组件编程 有效的组织在于有效的分工。体力活动容易进行分工,脑力劳动则比较难,而软件开发似乎就更难了。所以,长久以来我们都习惯采用以功能块为单位的粗粒度划分方式。面向组件编程采用更加细密的划分方式,并以服务作为组件之间相互依赖的契约,不但定义了组件和组件之间的关系,也规定了组件开发者、组件使用者、组件测试者的权利和义务。从而能够进行软件开发工作的分配、管理、QA等工作。 软件质量管理论文:软件质量管理6大最佳实践 软件形式上是产品,本质上是服务,是高科技计算机信息技术和人类创新智慧的结合。在软件产品的研发过程中,软件质量一直处于最为核心的地位。ISO9001标准和CMM原则被誉为软件质量管理的圣经,是当今国际上最推崇的软件质量改进方法和保证措施。然而,很多实施ISO9001、CMM3级的企业过于强调过程管理,忽略了“人比过程更重要”这一原则,形式重于实质,这一做法在国外已受到猛烈抨击。如何更好地将质量管理理论和企业经营生存之道密切融合,走出一条独辟蹊径、立竿见影的“质量革命”之路,是摆在诸多企业高管面前的重要课题之一。这里总结了软件项目质量管理的6大最佳实践,供同行参考。 全面管理,塑造质量文化 全面质量管理即为全员、全过程、全方位的质量管理,它具有以下基本特点: 1.全员:质量控制从少数质量保证人员扩展到企业的所有人员。质量控制管理不是质量保证部门一个部门的事情,需要全员的大力支持、准确理解、精确执行。 2.全过程:将质量控制、质量检验、质量统计延伸扩展到整个产品生命周期。 3.全方位:全面运用一切有效方法,全面控制质量因素,如软件开发成本、进度、可靠性、安全性等。 全面质量管理可以归纳为两大基本原则: 首先是以满足顾客需求为导向,不断改善,最终实现顾客的全面满足;其次是以全员参与为基础,进行全过程的质量控制。质量管理理论认为,“质量出自计划,而非出自检查”。软件前期的质量保证主要依靠设计、生产、研发,后期的质量保证则主要依靠测试、完善、改进。全过程的质量保证依靠行之有效的管理体系。这种观点强调运用确定性、过程化的管理制度、程序、体制来控制管理潜在诸多不确定性、多变性因素的软件质量品质。事实上,影响软件项目进度、成本、质量的三大因素分别是人、过程、技术,人永远是第一位的,人永远比过程更重要,人是影响质量的最关键因素,只有在软件质量管理过程中坚持“以人为本”,强调人与过程的和谐,塑造以人为核心的质量管理文化,才能让质量管理的成效得到淋漓尽致的发挥。 分级管理,把握 质量目标的层次性 ISO9001体系认为,建立质量方针、质量目标是实施质量管理的必经之路。事实上,现代软件的架构是层次化的,这一点尤其重要,软件质量也应按照层次从里到外、功能由轻到重、地位从低到高因地制宜、区别对待,对于不同的软件层面和需求制定不同的质量目标。例如:对于一个大型网络游戏而言,大气炫丽、细腻仿真的3D动画操作界面是非常必要的;但对于一个小型超市仓库管理软件而言,只要能满足出库、入库、损益、盘点的基本需求就可以了,简单粗糙的操作界面反而更容易上手。 在进行软件工程的质量控制时,应把握关键层面,抓住质量控制的瓶颈。一般来说,越是靠近底层、核心区域(如平台、框架、引擎、关键业务等)的代码质量要求越高,开发人员的素质要求越高,质量检测及保证工作代价开销越大。精益求精只适用于靠近核心的代码层;而对于外围代码层, 可酌情适当降低代码质量,放松测试条件。 验证确认,全程质量控制 质量控制是确定项目结果与质量标准是否相符,并及时纠正产品缺陷的过程。质量控制的主要手段是验证与确认:验证是从开发者的视角来检查是否正确地构造了产品,而确认则是以用户的视角来检查是否构造了正确的产品。 事实证明,具有清晰开发模式及过程管理规范的软件产品,在质量上要明显超过那些没有明确过程模型及规范指导的软件产品。软件工程理论提出了诸多开发模型,如瀑布模型、喷泉模型、增量模型、快速原型模型、螺旋模型、迭代模型等,当前最常用的大型软件开发模式是螺旋式的增量开发方式(如图1所示)。 图中1〜7 是各阶段的输出点,也是质量控制点,有相应的输出文档和阶段性成果,均需要得到质量保证部门的确认。软件项目中最常用的质量控制工具手段,包括评审(技术评审、代码评审、设计评审、同行评审等)、审查、测试验证(黑盒测试、白盒测试、单元测试、集成测试、确认测试等)、抽查、调查、走查、旁站、缺陷跟踪等。 技术评审最初是由IBM公司为了提高软件质量和提高程序员生产率而倡导的,分为正式技术评审(FTR)和非正式技术评审(ITR)两种,该方法已经被业界广泛采用并收到了很好的效果,它被普遍认为是软件开发的最佳实践之一。需要重点指出的是,同行评审是一种特殊类型的技术评审,由与产品开发人员具有同等背景和能力的人员对产品进行技术评审,非常有利于发现产品中潜在的问题。成功的同行评审是提高质量和生产率的重要手段,评审的对象应该包括所有软件开发的中间和最终工作产品。 引入工具,复用成功模式 质量管理是可以通过信息化手段量化的,采用先进的质量管理工具可以极大地提高质量管理水平。例如:Bugzilla是Mozilla公司提供的一个开源的缺陷跟踪工具,在全世界拥有大量用户。它能够为软件组织建立一个完善的缺陷跟踪体系,包括报告缺陷、查询缺陷记录并产生报表、处理解决缺陷等。 质量和缺陷是一对无法化解的矛盾,想要提高质量必须千方百计地减少缺陷。有三种方法可以减少缺陷产生的频率、数量、规模等级。 1.事前预防:在开发过程中始终要考虑工作成果可能产生缺陷,将高质量内建于开发过程之中。主要措施包括提高技术水平和规范化水平,也就是练内功,通称为“软件过程改进”。 2.事中控制:及时对各个阶段的工作成果进行质量检查,找出并消除其中的缺陷。这种方式实践效果较好,已经被企业广泛采用,主要措施是技术评审、软件测试和过程检查。 3.事后补救:当软件产品正式交付到用户手中投入生产经营时发现了重大缺陷(如系统常常崩溃、运行速度极慢、报表统计错误等),然后再进行修改维护。这实质上反映出软件项目管理中存在较大的缺失和漏洞,建设单位、承建单位、监理单位三方都有不可推卸的责任,应规避这类水平低级、后果严重、影响恶劣的失误再次发生。 复用是在软件开发领域提高软件质量的重要方法之一。被复用的对象往往是经过反复使用验证的,自身具有较高的质量,因此,合理化复用有利于提高质量、提高生产率和降低成本,技术开发活动与管理活动中的任何成果都应尽量被复用,如思想方法、经验、程序、文档等。软件质量管理的最终目的除了能够不断持续改进之外,还在于形成有特色、有成效、可操作的质量管理模式,并最大程度地复用。 协同合作,三权分立 由于软件质量管理的专业性和复杂性,软件项目组织建设上应实行“设计、检验、监管”三权分离、鼎足而立的原则:设计部门专攻软件需求分析、规划设计、系统研发工作;检验部门从事系统测试(性能测试、回归测试等);质量监管部门制定质量管理工作计划,对各部门的质量管理工作提出指导建议,跟踪、内审、改进质量体系的运行。 技术评审、测试和质量保证是提高软件质量的三个重要法宝,但三者在作用上各不相同。技术评审与测试关注的是产品质量而不是过程质量,两者的技术强度比质量保证要高得多。技术评审和测试能弥补质量保证的不足,三者是相辅相承的质量管理方法。我们在实践中不能将质量保证、技术评审和测试混为一谈,也不能把三者孤立起来执行。建议让质量保证人员参加并监督重要的技术评审和测试工作(大约占其工作量的30%左右),只有这样他们才能更深入地了解软件的质量问题,把三者有机地结合起来,做到三位一体,全方位堵住质量缺陷的漏洞。在部门职能规划上,质量保证部门具有充分的权力,可以对质量不合格的工作成果做出处理,只有这样质量保证工作才不会被轻视,才更有助于加强全员的质量意识(质量保证过程域的主要活动如下图2所示)。 和谐管理,做好一把手工程 当前很多软件企业都组建了质量保证部门,出台了质量保证制度,然而软件质量并未得到实质性突破,质量保证人员也没有发挥预期的效果,造成这种情况的常见原因有两个:一是软件开发团队管理过程不够规范;二是企业领导者,尤其是最高领导者(即“一把手”)重视程度不足,措施不到位。 调查结果表明,在软件项目中,质量保证人员往往是最“吃力不讨好”的一族,通常没有实质性权力,项目成功功劳属于别人,自己缺乏成就感,项目失败却担负最多的责任。鉴于这种情况,领导层一定要从根本上重视、爱护、支持质量保证工作,充分发挥组织协调作用,体现人文关怀,运用管理艺术,构建和谐团队,让每一个项目组成员都树立较强的责任感、归属感和大局意识。事实上,软件开发工程是典型的“全员参与工程”、“一把手工程”,没有企业“一把手”的知情、重视、认可和支持,软件项目顺利实施和取得实效根本无从谈起。有时候企业领导层对于软件质量保证的作用往往是决定性的,这是任何技术手段都无法替代的。 链接 软件质量管理常见误区 误区一:软件质量是可以精确测量的。 软件的质量属性很多,如正确性、健壮性、可靠性等,但在大多数用户看来,实用、适用、好用的软件就是成功的。成功的软件通常都会在功能、性能、界面、操作等方面,以最简捷有效的方式满足用户的最紧迫、最直接的需求。质量是一个相对的概念,软件产品质量没有国际通用的评价标准,质量目标的弹性较大,没有绝对合格或不合格的界限,软件不可能做到“零缺陷”,有缺陷的软件仍然可以使用。 误区二:企业软件的质量越高越好,最好是“零缺陷”。 商业目标决定了软件的质量目标。软件的质量评价也不能从纯粹的软件工程、软件商品、软件技术的角度去考量。理想的软件质量目标不是“零缺陷”,而是恰好能够满足应用需求、生存发展、市场竞争需要,并且将提高质量所付出的代价控制在预算之内。一味追求高质量代码,把质量目标凌驾于赢利目标之上,是多数技术人员所犯的常见错误。 误区三:通过ISO9001、CMM3级认证就意味着软件质量一定有保证。 当前很多通过CMM3或者ISO9001质量认证的软件企业在软件项目管理上的确更加规范了,但代表核心竞争力的软件质量驾驭能力并未得到实质性的提升。产品生产过程与产品质量存在一定的因果关系,通常好的过程产生好的产品,而差的过程将产生差的产品。实践证明,软件质量保证并不能绝对保证软件质量,质量保证只能检测出哪些不符合既定程序规范、肤浅的软件缺陷,对于潜藏在软件深处符合既定设计规范的缺陷却显得无能为力。仅靠制度、规范、流程是无法全面识别出软件中的潜在缺陷的,质量保证对于保证质量而言只是必要的手段,而不是充分的手段。 误区四:拥有充足的人力资源,软件质量就有保障。 软件开发并不一定是人多力量大,相反,人力资源配置不当反而会延误工期。不同人员的水平和素质差异较大,软件项目增加新人可能会增加新的缺陷,无益于软件质量提升。软件开发是一种智力创新活动,任何程序员都无法避免缺陷的发生,缺陷发生是必然的,程序员首先必须了解决定软件质量的各个关键因素(如成本、进度、可靠性、安全性等),搞清楚质量控制的目标和计划,然后才可以在进行需求开发、系统设计、编程测试时确保交付软件的高质量。 软件质量管理论文:基于过程性能模型的软件质量管理过程的研究与应用 摘要:软件产品的质量在很大程度上受到软件开发过程的影响。为了提高竞争力、改进质量以及提高效率,软件企业就需要将更多的注意力放在过程上,通过过程控制其结果。本文对软件质量管理过程进行了研究,通过过程性能基线和过程性能模型分析和管理质量,提出了一个基于过程性能模型的软件质量管理过程模型,并在研究的基础上,构建了软件质量管理系统的体系结构。 关键词:软件质量管理过程性能基线过程性能模型 1 引言 随着软件产业的飞速发展,软件的核心竞争力主要集中体现在质量、成本和交付工期上,而质量是最显著影响其它两方面的因素。对软件企业来说,质量不再只是争夺市场的一个有利因素,而变成了公司在竞争中成功的必要条件。然而,随着软件规模和复杂度的增加,软件开发过程越来越难以控制,导致开发过程中的产品质量和过程质量处于失控状态。 过去存在着一些片面的观点,认为先进的工具和方法可以神奇地解决软件开发中的质量问题。目前的现实并不尽如人意。有的企业由于缺乏对开发过程的控制,往往很难平衡客户和公司在质量、成本和交付工期的要求,成功的项目比例很小。 面对如前所述的现状,软件质量管理一定要面向预测式管理。一个软件产品的质量主要是由它的开发、采购和维护过程决定的,为了改进软件产品的质量进而提高竞争力,就要把焦点放在能够稳定地开发优质产品所需的过程上[1],通过过程数据预测和控制结果。 过程性能模型重点强调过程和产品度量对结果的重要性,分析和建立过程和产品度量与结果的关系。其通过过程性能基线控制过程的关键因子,分析过程的性能偏差,进而预测并控制最终结果。由此可以看出,过程性能模型是解决上述问题的有效方法,本文将关注基于过程性能模型的软件质量管理过程。 本文首先归纳了软件质量和软件质量管理的研究现状,并指出了现有软件质量管理过程所存在的问题;随后引入了过程性能基线和过程性能模型,提出了基于过程性能模型的软件质量管理过程模型,阐述了过程性能基线和模型在质量计划、质量活动、质量度量和分析、质量预测和控制、质量评价和改进等五个质量管理子过程中的应用;最后在研究的基础上,构建了软件质量管理系统的体系结构,包括组织过程资产库,过程支持和软件质量管理三个子系统。 2 软件质量及管理 当前业界已将交付软件的缺陷密度作为软件产品的质量的衡量关键标准。即,已交付软件中每个单位规模的缺陷数,简称为交付缺陷密度。因此,软件质量管理通常围绕缺陷而展开,软件项目的目标是使交付的软件存在尽可能少的缺陷[2]。 质量管理的任务是计划恰当的质量活动,然后正确执行和控制这些活动,以便可以在软件开发过程中(即在软件交付以前)检测到大多数缺陷[2]。 质量管理包括确定软件的质量目标,制定实现这些目标的计划,并监控和调整软件计划、软件工作产品、活动和质量目标,以满足客户和最终用户对高质量产品的需求和愿望。 质量管理基于机构、客户和最终用户的需求建立软件产品的质量目标。为实现这些目标,机构制定相应的策略和计划,项目则为实现这些质量目标对其定义的软件过程进行具体调整[3]。 在软件质量管理过程和方法上,传统的包括:全面质量管理(Total Quality Management, TQM)是一套能控制质量、提高质量的方法;在PMBOK[4]中,软件项目的质量管理是指保证项目满足其目标要求所需要的过程,包括质量计划、质量保证和质量控制三个过程域;著名的“Juran三部曲”[5]――TQM的理论基础和基本方法的主要基石――包含质量计划、质量控制和质量改进三个步骤,突出了对过程改进的支持。最有成效的要属六西格玛质量管理方法,其理念是通过排除和预防缺陷来提高客户满意度,进而提高企业的收益率,包括过程性能度量集、多种改进框架和分析工具,尤以DMAIC框架(定义-度量-分析-改进-控制)最常用[6]。将六西格玛与CMMI实施相结合将是更有效的过程改进途径。 在软件质量管理工具方面,Ishikawa提出了质量控制的七种基本统计工具[7],包括因果图[8]、Pareto图、直方图、控制图、散布图、运行图、检查单。目前也有许多有关预测模型的论著,如:Rayleigh模型。 现有的软件质量管理过程和方法提供了质量管理的高层指导,主要关注于实施步骤以及最终结果,质量管理工具也着力于解决质量管理中的具体的某“点”的质量问题和控制,但在如何通过过程控制其结果,业界正在寻求有效的途径,是亟待解决的问题。例如:如何制定低风险且切实可行的质量计划、如何在开发过程不同的影响因素下确保项目质量目标得以实现等。这些正是本文致力于研究的主题。 3 基于过程性能模型的软件质量管理过程 过程性能模型是解决通过过程控制其结果的有效方法,具体定义如下。 过程性能基线(Process Performance Baseline, PPB)是对遵循过程所达到的实际结果的文档化刻画,用于比较实际过程性能和预期过程性能的基准[9]。 过程性能模型(Process Performance Model, PPM)是对过程属性和过程工作产品之间关系的描述,基于历史过程性能数据而建立,并使用项目中收集的过程度量和产品度量进行校准,最终用于预测遵循过程将能达到的结果[9]。 过程性能基线可用于组织内任何独立的项目,通过分析所收集的度量,建立结果的分布和极差,其刻画了所选过程的预期性能[10]。过程性能模型基于其他过程和产品的度量来估算或者预测某一过程性能的度量,刻画了过去的和当前的过程性能,对过程将来的性能进行预测。过程性能基线控制子过程的能力;过程性能模型预测过程的中间目标和最终目标,通过过程控制结果,在子过程结束时进行调整和预测,确保最终目标的实现。 基于六西格玛质量管理的方法及其DMAIC框架(定义-度量-分析-改进-控制),以及过程管理的四个核心职责(定义过程、度量过程、控制过程、改进过程),并结合过程性能基线和模型的原理,本文提出了一种基于过程性能模型的软件质量管理过程模型,该模型在质量管理过程中增加了过程性能基线和模型的指导、统计管理以及预测和控制,提供了软件开发过程中进行质量控制和持续改进的框架,如图1所示。模型主要包括:质量计划、质量活动、质量度量和分析、质量预测和控制、质量评价和改进。接下来将详细阐述过程性能基线和模型在上述五个质量管理子过程中的应用。 图1 基于过程性能模型的软件质量管理过程模型 3.1 质量计划 要生产出高质量的产品,首先必须制定质量计划。质量计划作为基于过程性能模型的软件质量管理过程模型的一个核心环节,简言之,就是怎样以及何时将质量活动和质量材料应用到一个项目中。质量计划中必须明确定义在软件开发的各个阶段应如何进行质量活动。制定质量计划的前提是项目已完成任务计划、进度计划和规模估算,故在制定质量计划之前必须进行入口准则的验证。 基于过程性能模型的软件质量管理过程要充分发挥过程性能基线和模型在质量计划制定时的指导作用。团队软件过程(Team Software Process, TSP)质量计划是一个最佳范例,本节将介绍如何使用过程性能基线和模型指导质量计划的制定。 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文 3.1.1 TSP质量计划 团队软件过程(TSP)制定的质量计划包括以下几个方面[11]:系统无缺陷比率、各阶段排除缺陷密度、质检过失比、阶段收益、过程收益、缺陷引入率和缺陷排除率,可划分为过程质量度量和产品质量度量两大类。 为了提高客户满意度,首要解决的就是降低交付缺陷密度,即验收测试过程中发现的缺陷密度。团队在制定质量计划时,首先估算可能会引入的缺陷数,其中估算每个过程阶段所引入的缺陷数的方法有许多种,TSP质量计划使用的是缺陷引入率;然后就是估算排除的缺陷数,这里TSP质量计划使用了阶段收益。一旦团队按阶段估算了引入和排除的缺陷,那么结合项目的规模估算与任务和进度计划,就可以估算出每个阶段将会排除的缺陷密度,然后检查所估算的交付缺陷密度是否满足项目的质量目标,进而通过局部调整以完成质量计划。 3.1.2 使用过程性能基线和模型指导质量计划制定 在使用缺陷引入率和阶段收益估算缺陷的引入与排除时,传统的做法是“拍脑袋”或者基于业界数据,有经验的组织会基于历史数据,但是实际实施表明:上述情况中绝大多数的估算都是徒劳的。原因如下:一是因为对阶段缺陷引入率和阶段收益的估计值没有准确地反映缺陷引入与排除过程的能力,不应只是单个值,而应该是一个区间,包括均值和上下限;二是因为没有对缺陷引入与排除的过程进行计划,尤其是某些关键度量,例如评审速度、测试覆盖度、人员技能、经验等级、检查单条目数等,从而无法通过缺陷引入与排除的过程控制过程的执行结果(缺陷引入率和阶段收益),使得项目质量目标的实现变得不可预测和控制。 为解决上述问题,这里使用过程性能基线和模型从四个环节提供支持: (1)建立项目的质量目标,制定交付缺陷密度的计划值。 (2)基于组织的历史数据,建立阶段缺陷引入率和阶段收益的过程性能基线,参照过程性能基线计划阶段缺陷引入率和阶段收益,以“上限,均值,下限”的三元组形式。 (3)基于组织的历史数据,构建缺陷引入过程和缺陷排除过程内部的过程性能模型,建立子过程结果(也即中间目标)与子过程因子(包括可控的和不可控的)之间的关系,以及子过程可控因子的过程性能基线,参考所建立的过程性能基线和模型制定子过程的质量计划。同时在质量预测和控制时,需要对这些子过程进行统计管理。例如设计评审,代码评审,单元测试。 (4)在分别计划好项目的质量目标、缺陷引入和排除过程的中间目标、缺陷引入和排除过程因子之后,使用统计方法(例如蒙特卡洛模拟)对项目质量目标达成情况进行预测[12],通过置信度与置信区间评估目标达成情况的风险,必要时调整计划。 若软件组织处于起步阶段,没有足够的历史数据,质量计划的制定可参考TSP质量准则[13]。 3.2 质量活动 质量活动作为软件开发过程中的一项必要且非常重要的活动,负责排除开发过程中所引入的缺陷。其作为软件质量管理过程中不可缺少的环节,通常分为两大类:评审和测试。评审不但可以识别存在于可执行系统中的缺陷,而且可用于文档。评审有许多种类型,其中主要的类型有审查、走查和个人评审。审查和走查是同行评审[14]。测试则旨在发现尽可能多的缺陷。测试有七种类型,分别是单元测试、集成测试、外部功能测试、回归测试、系统测试、验收测试以及安装测试[15]。常用的有单元测试、集成测试以及系统测试等项。 以TSP为例,其任务计划中所涉及的质量活动按执行的先后顺序排列有需求审查、高层测试审查、详细设计评审、详细设计审查、代码评审、编译、代码审查、单元测试、集成测试、系统测试、验收测试。 项目的质量经理根据进度计划,按期组织任务计划中所安排的质量活动,基于既定的质量计划,具体由质量保证人员按计划实施。 3.3 质量度量和分析 在质量活动实施的过程中,软件质量保证人员应收集质量度量的实际数据,包括基本度量和派生度量。以软件审查为例,基本度量包括规模、评审准备时间、评审会时间、参与审查人数以及所发现的不同类型的缺陷数;派生度量包括总的审查时间、准备速度、审查速度、总的审查速度、缺陷密度、每小时发现缺陷数、评审准备时间与评审会时间之比、审查有效性。个体软件过程(Personal Software Process, PSP)[14]提供了非常有价值的度量和分析。 与此同时,质量人员可对收集的质量度量数据进行一些初步的探索性分析,为进一步的质量预测和控制打下基础。数据分析的切入点可以为缺陷的引入、排除以及泄漏,与评审有关的准备速度、评审速度、缺陷密度、审查有效性等,以及与测试有关的测试用例密度、测试覆盖度、测试用例有效性等。数据分析的方法包括如下: (1)推测,支持工具有Pareto图、运行图、直方图、箱线图、多变异图等; (2)提出原因的假设,支持工具有因果图和关系图等; (3)证实或排除原因,这主要是由能提供假设检验、方差分析和多元分析等方法的高级分析工具所支持。 3.4 质量预测和控制 为了有效地跟踪并控制质量活动的实施,实现质量计划中对各质量活动所设定的预期目标,进而确保项目质量目标的达成,基于过程性能模型的软件质量管理过程模型所包含的另一个核心环节就是质量预测和控制,主要涉及到统计管理子过程性能和预测项目质量目标达成两方面。具体而言就是使用过程性能基线和模型对质量计划中标注的关键子过程实施统计管理,在每一个子过程结束时使用过程性能模型预测项目质量目标达成的置信度,必要时对质量计划进行调整。 3.4.1 统计管理子过程性能 统计管理的过程[9](Statistically Managed Process)即使用基于统计的方法进行管理的过程,其中,对该过程进行了分析,过程偏差的特殊原因得以识别,过程性能也被控制在已定义的范围内。对子过程实施统计管理,可以使子过程的性能得到很好的控制,从而确保实现子过程的预期质量目标。适于统计管理的度量必须是可控的,对子过程来说是关键的,可以为人员属性、环境因子、技术因子、工具或硬件条件、过程因子、客户以及供应商等利益相关者,例如人员经验等级、人员可用性、同行评审相关度量、测试覆盖度、编程语言等[16]。 根据对相关材料的研究,本文归纳并提炼出了一个统计管理子过程性能的流程,大体将统计管理子过程划分为过程稳定性评估和过程能力评估两部分,如图2所示。 图2 统计管理子过程性能 (1)过程稳定性评估 过程稳定性评估[17]需要用到统计过程控制方法(Statistical Process Control, SPC)。SPC主要用来测量一个过程的稳定性并识别过程的各个执行情况是否超出所预期的变化范围和控制界限。控制图是实现统计过程控制强有力的工具,常用的为XmR图和U图。通常情况下,适于统计管理的度量其取值都是服从正态分布的,对于不服从正态分布的情况,可以使用箱线图。 对于不稳定的过程(子过程中出现了性能偏差),需要识别偏差的特殊原因,集中分析并采取矫正措施排除特殊原因。检测不稳定性除了Western Electric提出的4种有效测试 [17] 外,还可参考Minitab等统计软件中提供的其他测试规则。必要时可采用分组的方法。 (2)过程能力评估 在子过程执行即将结束时,需要分析子过程的能力,进行过程能力评估。过程能力[17]评估的前提是过程是稳定的或统计受控的。有能力的过程首先是稳定的,且其能力的上下限必须在规格界限之内。过程能力可以通过过程能力指数Cp和Cpk来衡量,使用控制图或直方图进行图形化展示。 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文 过程能力指数Cp是我们描述过程能力的最重要指标,但由于Cp的计算与过程输出的均值µ无关,它是假定过程输出的均值与规格中值M重合时的过程能力。因此,Cp指数只是反映了过程的潜在能力。为此引入了过程能力指数Cpk,其被称为实际过程能力指数[18]。 合理考虑Cp和Cpk两个指数,对整个过程的状况就有了较为全面的了解。不应单独使用这两个之中的一个。 当Cp和Cpk都较小且二者差别不大时,说明过程的主要问题是σ太大,改进过程应首先着眼于降低过程的波动。 若Cp较大,而Cpk很小,二者差别较大,说明过程的主要问题是µ偏离M太多,改进过程应首先着眼于移动µ值,使之更接近M。 如果Cp本身不够好,Cpk更小,二者差别较大时,说明过程的µ和σ都有问题,通常改进过程应首先移动µ值,使之更接近M,然后设法降低过程的波动,减小σ。 需要特别强调的是,Cp和Cpk是由处于统计受控状态下的过程波动的大小和均值偏离决定的。因此首先要判断过程是否处于统计受控状态。 3.4.2 预测项目质量目标达成 在每一个子过程结束时,应使用子过程中间目标与项目质量目标之间的过程性能模型预测项目质量目标达成的置信度。 3.5 质量评价和改进 项目到达结项阶段时,软件质量管理也进入了最后一个环节:质量评价和改进。基于过程性能模型的软件质量管理过程中的质量评价和改进除了进行传统的质量总结报告之外,还包括基于正交缺陷分类[19](Orthogonal Defect Classification, ODC)的Pareto缺陷类型分析、过程性能基线和过程性能模型的分析评价。 质量总结报告提供了项目质量目标达成情况,质量活动的过程度量和结果度量实际数据,以及缺陷的引入排除情况汇总等。 考虑到ODC的缺陷类型与特定的软件开发阶段相联系,将Pareto缺陷类型分析与ODC结合起来,有利于识别最普遍的缺陷类型。而且通过Pareto分析找出缺陷数最多的缺陷类型,然后找出与该缺陷类型相关的开发阶段,从而对该阶段采取相应的改进措施。 质量评价和改进环节最重要的一步就是要对整个质量管理过程中所使用的过程性能基线和过程性能模型进行分析和评价,包括过程性能基线是否需要更新、过程性能模型的评价以及过程性能模型是否需要更新等。 3.5.1 过程性能基线更新决策 过程性能基线的建立过程是增量或迭代的,在获得新项目的实际度量数据后,要评估数据质量,然后将数据纳入已有基线的分析,确定是建立一个新基线还是使用已有基线。 判断将新的项目数据纳入已有过程性能基线是否合适的一个方法是:执行假设检验来判断新数据与已有基线是否存在显著的统计差异。如果存在显著的统计差异,我们需要使用新的项目数据建立新基线;如果假设检验的结果表明没有显著差异,则继续使用已有基线。 此外,在综合考虑项目和项目组之间的内在区别及组织业务变更的基础上,应定期评审组织过程性能基线集,以确定是否需要建立新的基线,或者是否需要合并、修订或放弃已有基线。组织过程性能基线需要合并、修订或放弃的情况如下: (1)当子过程改变时; (2)当组织的结果改变时(例如,由于过程偏移); (3)当组织的需要改变时。 3.5.2 过程性能模型评价与更新决策 基于过程性能模型的软件质量管理过程是否能真正奏效,过程性能模型自身的好坏至关重要,其是否能有效且准确地对目标进行预测和控制、其可理解程度及其可用性等都需要进行严格的评价。 通过对可靠性增长模型、质量管理模型等模型的评价标准进行调研[20],本文归纳了四条过程性能模型的评价标准,如下所示: (1)预测有效性。预测结果与实际结果偏差大不大,直接关系到模型的好坏。 (2)及时性。模型能够越早地发现问题或提高的征兆,就有越多的时间提前进行计划。 (3)开发过程的覆盖程度。开发过程的所有阶段的模型覆盖度是很重要的。每个开发阶段必须得到管理,并且应当实施适当的措施。往往需要建立模型集。 (4)简单性。数据采集简单并且代价不高;概念简单,用户不需要很多的数学基础就能理解。 过程性能模型的更新包括对模型的校准(Calibration)和修订(Revision)。 量化管理项目时,从统计管理选择的子过程中获取关键属性度量,通过使用所获得的这些实际性能数据,校准有关过程的过程性能模型,判断项目是否能够实现其目标,包括中期和最终目标(此时这些目标在项目生命周期的后面阶段才可以度量)。 需要修订过程性能模型的情况总结如下: (1)当子过程改变时; (2)当组织的结果改变时; (3)当组织的需要改变时。 4 质量管理系统体系结构 在对基于过程性能模型的软件质量管理过程的研究的基础上,研发了质量管理系统,其体系结构如图3所示。该系统建立了组织过程资产库,并提供两大功能:过程支持和软件质量管理。 图3 质量管理系统体系结构 4.1 组织过程资产库 一个组织应该拥有自己的过程资产库,包括组织的标准过程集、度量库、过程性能基线库以及过程性能模型库,分别为过程、度量、PPB和PPM建立了相应的数据字典。其中,标准过程集支持过程定义和裁剪,度量库包括过程度量和产品度量,过程性能基线库以“上限、均值、下限”的方式存储,过程性能模型库中涵盖基本的统计预测模型和高级预测模型。 4.2 过程支持 过程支持提供了从软件度量到过程性能基线直至过程性能模型的建立与维护功能。随着度量数据的不断积累,过程性能基线的控制限在建立的过程中需要不断地修订。开发过程性能模型也是一个迭代的过程,不断的选择一个或多个适当的统计建模方法,并用过去的性能数据对模型进行评估,直到得到适当的模型预测值。 过程性能基线建立的统计方法为控制图理论,支持过程性能模型建立的统计方法包括回归、方差分析、虚拟变量回归、卡方检验、逻辑斯蒂回归,以及蒙特卡洛模拟,贝叶斯信念网络(Bayesian Belief Networks, BBN)。 4.3 软件质量管理 (1)质量计划模块支持入口准则验证、质量计划概要、项目质量目标的建立、各阶段质量活动其质量目标的建立、各阶段质量活动的属性及其度量的详细计划、项目质量目标达成情况预测及结果报告。 (2)质量活动模块支持评审过程、测试过程的实施。前者包括评审计划、评审会、缺陷修复、评审总结,后者包含测试用例管理、测试报告、缺陷管理。 (3)质量度量和分析模块负责从过程中进行质量度量数据(特别是缺陷数据)的收集、分析、评价并生成质量状态报告,质量数据分析包括按阶段和项目划分的缺陷引入和排除情况分析等。 (4)质量预测和控制支持统计管理子过程性能和目标达成情况预测,为质量活动反馈偏差原因和建议的矫正措施,必要时提供质量计划调整的相关决策。 本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文 (5)质量评价和改进模块基于项目质量目标实际达成情况和软件开发过程中的质量数据,生成质量总结报告,并支持基于ODC的Pareto缺陷类型分析,重点提供过程性能基线和过程性能模型更新的决策和相关评价。 5 结语 本文对软件质量管理过程进行了研究,提出了一种基于过程性能模型的软件质量管理过程模型,包括如何使用过程性能基线和模型指导质量计划的制定、进行质量预测和控制等,解决了质量目标无法有效预测和控制的问题。基于研究,构建了软件质量管理系统的体系结构,下一步将深入研究通过开发过程控制缺陷的引入,从而全方位地实现软件质量管理。 软件质量管理论文:军用软件质量管理浅析 摘 要:通过对目前军用软件系统开发的特点和存在问题的分析,探讨了利用CMM原理来改进军用软件过程、提升软件质量的途径和方法。并对提高装备软件的质量管理水平给出了若干建议,为不断深化装备软件质量意识和完善装备软件质量工作提供了参考。 关键词:软件质量,质量管理,CMM 随着国防信息化程度的不断提高,军用软件作为信息化装备系统的神经中枢已经成为武器装备系统中不可或缺的组成部分。高新武器装备中由软件实现的功能有时甚至会超过硬件,乃至软件本身就可以看作一类重要的装备,系统中软件性能的好坏、可靠性的高低、安全性的优劣决定着整个武器装备系统效能的发挥。目前如何提高军用软件的质量已经成为提升整个武器装备系统战斗力的关键所在。 一、军用软件的特点 软件是用计算机语言表示的与计算机操作有关的程序、进程和数据的集合,具有零磨损特性,其质量完全取决于开发过程。ANSI/IEEE Std 729-1983定义软件质量为:软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体。该定义表明如果软件本身设计出来的质量特性能高度满足软件各项功能、性能需求,则其质量的优秀等级较高。 对于军用软件而言,还存在一些特殊性,表现在:①开发过程受严格的软硬件条件制约,且很难制定具体的、量化的质量标准。②规模巨大,大系统软件源代码往往会超过一千万行。③军用软件用于军事目的,要求无差错运行,对可靠性、实时性、安全性、保密性、互操作性等方面都有极高的要求。④成系统的大型军用软件面对装备情况复杂,研制参与人员较多,这些因素会造成高风险、长周期,高成本。 二、军用软件开发中的问题 随着对软件开发规律和军用软件质量重要性认识的提高,已经有越来越多的软件承制单位开始建立基本的软件过程,按照软件开发规律进行开发,但还有相当多单位,依然沿用“手工作坊”式的开发方式,全过程由软件开发设计人员“自行设计,自行编码,自行测试,自行包维护”。这种方式无法对软件开发过程进行有效的监督与管理,一旦软件产品出现故障,只能由开发者自行维护,其它人员难以介入,软件质量就会处于失控状态下,造成这种状态的主要原因除了国内软件开发整体水平较低外,限制软件的质量的原因还有:①目前相当多的军用软件是当作硬件的附件而不是独立的产品,没有按照基本的软件过程模型进行软件开发。②在研制过程中软件的评审力度不够。③软件开发文档及编制过程不规范,文档对开发过程的没有起到指导作用,软件验收和维护也没有依据。④软件测试非独立过程,软件的测试软件、测试工具缺乏,标准、规范不健全,软件检验与硬件合并进行,使得测试过程难以发现软件本身存在的问题。⑤部队使用装备投入对软件维护的力度不够。 三、CMM原理和作用 为有效针对军用软件目前存在的若干问题,保证软件产品质量,应清晰和完善的软件过程。我国于2001年基于SW2CMM1.1版的理念,制定了GJB5000―2003《军用软件能力成熟度模型》,并于08年在原标准基础上修改了若干内容,了GJB5000A-2008作为替代原文件版本,这些都标志着我国军用软件开发管理已经进入规范化管理阶段。 软件能力成熟度模型CMM主要用于软件过程评估和软件能力评价。其中软件过程评估用于确定当前软件过程的状态,发现与软件过程有关的嗜待解决的问题,进而有步骤地对软件过程实施改进,提高组织的软件过程能力。 CMM模型为软件开发组织设计了一个循序渐进的改进过程,帮助开发组织按模型进行对照检查,找出自身的强项和弱点,制定改进计划,逐步提升软件过程能力。同时也为软件委托方或采办者提供了一个评价标准,可以为对软件承包商进行软件过程能力评估,对风险进行控制。软件能力成熟度越高,软件过程越透明,软件性能越稳定,软件质量越高。 CMM将软件过程能力成熟度分为5级,从1级到5级软件能力成熟度逐步提高,每个等级有其软件过程特点,1级不含关键过程域,2级以上每一等级包含一组关键过程域,每一关键过程域中包含一组目标,当这组目标全部实现时该关键过程域相应的要求得到稳定。当一个等级及其以下所有等级的各关键过程域的全部目标实现时,就表明达到了该等级的成熟度。 四、利用CMM对军用软件能力成熟度评估 我国目前军用软件研制受整体水平的制约,还处于起步阶段,所以在引入并实施军用软件能力成熟度模型CMM时,可以从可重复级(2级)做起,帮助软件开发组织的过程能力按阶段逐步建立,逐级提高成熟度等级。可重复级共有需求管理、软件项目策划、软件项目跟踪与监督、软件质量保证、软件配置管理、软件子合同管理等6个关键过程域。为实现6个过程域的满足,应注重以下几个方面:①高层管理者应确定软件工程化方针,以CMM模型为蓝本,要求软件项目组按照软件工程要求实施软件开发,对项目进行阶段性分割,推进文档化交流方式,以便对软件开发的全过程进行有效控制和管理。②对原有组织进行适当调整,依据CMM过程域实现要求进行必要的人员配备和准备,建立软件工程过程组、系统测试组、软件质量保证组、软件配置管理组与软件配置控制委员会。③ 在全组织内进行动员、学习和培训CMM相关知识和理论;将本单位的组织、角色和术语与CMM中的相对应,完成软件开发CMM模型本地化改造;建立激励机制,鼓励软件组成员尽快地接受CMM的理念和实践推进。 五、对于军用软件质量管理实施的几点建议 军用软件成熟度模型CMM是评估软件过程和评价软件能力的重要工具,对规范军用软件承制单位按照软件开发规律进行软件开发,提高研制开发能力,保证软件质量具有非常重要的意义。我国军用软件能力水平目前大部分处在CMM初始级或可重复级阶段,GJB5000A-2008《军用软件能力成熟度模型》军用标准要求全军各部队和全国所有军用软件承制单位贯彻执行在一定程度上推进了我国军用软件过程能力的提高,但在短期内想要提升软件成熟度等级还具有一定困难。所以我们应本着长期坚持,循序渐进的工作方法,结合实际情况,制定相应的改进措施,逐步完善实施过程。 此外,我们还应结合更多的管理方法对军用软件质量管理进行完善。如加强对军用软件研制单位质量水平的审核。通过二方(顾客方,如军方)或第三方(如独立的认证机构)严格审核,可以提高军用软件研制单位对软件质量的重视;及时更新软件工程理论技术,如软件开发过程模型,软件产品的评价模型方法、质量保证方法、软件工程集成环境和工具,可靠性和安全性技术等;建立一支高水平的软件测试检验队伍,保证软件测试人员的技术水平等级不低于软件开发人员;在软件开发过程中坚持开展软件标准化、系列化、模块化设计理念,提高软件模块复用率,用以提高软件的质量和可靠性。 提高军用软件质量管理水平是一个涉及多学科多技术的综合应用系统工程,军用软件承制单位中各部门各专业只有共同努力,通力合作才能使我军电子装备软件系统开发的整体水平跨上一个新的台阶。 软件质量管理论文:软件质量管理的优化对策研究 摘要:近年来,随着我国社会经济的不断发展,我国软件技术发展速度也在不断加快,但同时我国软件技术还存在较多的问题,要想有效解决这些问题,必须加强软件质量管理,不断完善软件质量管理体系,促进软件快速交付。文章研究表明,通过软件质量管理,不仅可以促进软件开发,还可以确保软件质量。 关键词:软件;质量管理;优化对策 0引言 在软件技术快速发展和应用范围不断扩大的同时,软件复杂性也不断提升。在当前的很多软件开发企业中,软件质量管理问题开始成了关注的焦点。 1软件质量管理中存在的主要问题分析 1.1需求模糊问题 结合软件工程来说的话,软件产品的生产主要包括多个过程:第一是系统需求研究过程;第二是系统设计过程;第三是系统实现过程。但对于软件系统需求来说,往往描述不够完善,相应的软件需求调研以及研究也不够深入,没有加强对软件质量需求的管理,这样不仅会使得研发以及测试设计工作落实不到位,还会明显提升沟通成本,导致产品实现与用户需求不一致[1]。 1.2立项管理不到位问题 大量实践结果表明,通过加强立项管理,可以有效避免质量管理项目风险的产生,赋予软件项目开发深刻的意义。(1)软件项目开展。不加强深入的立项调查,以及加强项目可行性分析,落实好立项评审,则可能会导致产品需求获取不到位,软件开发产品规划出现很多问题,无法保证软件研发工作的有效开展,致使项目研发功能明显减弱,不但会导致资源浪费,还会阻碍新产品的正常[2]。(2)软件项目。如果没有加强立项管理,可能会导致成员行为涣散问题的出现。工作人员只顾自己,不顾团队利益,无法全面了解项目产品的实际开发要求与背景,也不能从根本上明确项目开发的最终目标,无法满足用户的实际软件开发需求,最终使得软件开发计划无法按期实施以及软件开发费用超支等问题出现。 1.3软件质量保证体系尚待完善 针对我国很多软件开发企业来说,往往都处于“软件质量管理”实施的最初阶段,甚至是试行阶段,很多科研制作部门对应的标准化软件质量管理体系还都不完善,甚至有一些科研部门对应的软件质量管理制度和体系还没有形成[3]。另外,一些企业虽然设立了软件质量管理的专有部门,但相应的体系文件却还不完善,需要经过大量的实践来完善。在软件开发项目研制部门质量管理普通较低的情况下,软件开发工作者的综合素质低下,也会影响软件产品的最终质量。 2软件质量管理的优化对策分析 2.1加强需求工程有效管理 在实际的软件开发当中,如果相应需求模糊,会出现需求随意变更的现象,导致时间被白白浪费。对于该问题来说,必须针对相关需求活动,加强统一化的需求管理。要在落实好软件需求开发工作的基础上加强需求管理,这样不但能够限制需求变更的实际次数,还能促进工程师对质量管理需求的深入理解。总之,软件需求开发与软件需求管理的重要性同等重要,必须实现两者的有效结合,才能保证最终产品的质量。 2.2加强软件测试流程有效管理 在软件测试的各个环节,都可能会出现一些问题,必须不断优化软件测试流程,加强对软件测试流程的有效管理。具体来说:(1)软件测试相关部门人员,必须加强需求知识学习,开展深入的需求探讨。(2)对有疑虑的需求者,研发设计工作者要做出及时而准确的解答。对于研发设计工作者也不能有效解答的问题,要让他们联系用户来有效解答。在明确需求的基础上,根据软件系统的作用以及性能,专门的测试工程师要科学合理地设计软件测试测用例,具体要结合两大方面的内容来设计:第一,针对测试工程师来说,必须结合实际需求,科学合理地编写测试用例;第二,针对测试工程师来说,要在结合实际用户反馈情况的基础上,做好分析汇总工作[4]。要大力引入和合理应用QC功能测试设备以及工具,加强对软件以及实际操作系统兼容性能的合理性测试,才能充分发挥软件测试工具使用的功能与作用,落实好软件兼容性测试工作。此外,要加强自由软件测试,适当补充软件测试用例,了解软件测试用例没有涉及的问题以及问题产生的原因;要采取定期研究和分析的方法,明确缺陷库里面存在的问题,并深入研究问题成因,进而利用测试用例来解决问题[5]。 2.3加强项目进度质量有效管理 要保证软件开发项目的顺利完成,首先必须保证软件项目质量足够好。在软件项目开始实施之前,必须保证项目开发计划足够科学、合理。如果软件开发项目计划设计人员相关工作经验足够丰富、设计能力足够强,往往可以有效保证软件开发计划的合理性与完善性,有效预见软件开发计划当中的问题,消除相关阻碍和影响因素。在软件开发项目计划设计的开始,相关人应及时组织软件质量管理人员,开展软件项目计划讨论会与评审会,并请相关技术专家、真实用户等,针对软件项目计划的科学性和合理性进行探讨,分享个人意见和看法,由专门的记录人员总结相关意见,最终形成系统化的质量记录,再以书面或者文档的形式传送给相关工作人员进行意见修改整合,确保软件项目计划的完善性。 2.4提升工作人员的综合素质 在软件开发和质量管理过程中,技术人员和管理人员是核心主体。因此,要想有效保证软件质量管理有效性,必须保证管理工作人员和技术人员的综合素质足够高。让员工全面地了解企业,正确理解自身的工作性质和要求,并不断增强自身的责任感。即使工作人员已经对工作内容很熟悉,也可能没有深入理解企业经营战略以及相应的发展规划。企业外部环境条件变化幅度比较大,企业工作人员必须及时掌握内部战略和规划变化情况,及时调整自己的工作计划和方法。对于软件质量管理人员来说,不但要主动参与到企业发展规划设计工作中,还必须及时将相关信息传达给各个部门。通常来说,企业应当定期或者不定期地开展例会,介绍企业近期情况和之后的发展规划。在掌握全体例会内容的基础上,各个部门负责人员应当再次开展部门会议,根据部门工作开展情况,做好后期工作规划调整工作,使得每位员工都掌握企业发展动态,进行自身科学合理的工作调整与规划。软件质量管理者还必须基于企业内部软件质量问题,增强创新意识,提出可以有效解决软件质量问题的措施。 3结语 综上所述,软件开发成本管理不到位、软件质量管理不到位等问题仍然存在,导致这些问题产生的主要原因是管理者管理不到位,如:软件质量管理制度不完善、随意性较强。要有效解决这些问题,必须以完善的软件质量管理体系为依据,加强软件开发的全过程监控。 软件质量管理论文:软件质量管理系统的设计与研究 摘要:将数据挖掘技术运用于软件质量管理,根据影响系统质量的属性,建立了质量管理和分析模型,并根据模型给出了系统实现的初步方案。该系统的实施,能够有效的保证软件产品的质量。 关键词:软件质量管理;数据挖掘;联机分析处理;关联规则 1 引言 随着计算机软件越来越深入地应用到社会生活的各个方面,尤其是一些关键领域,软件的规模也随之日益增大,软件的质量也越来越受到重视[1-2]。软件的质量不过关,可能会产生严重后果。目前中国软件业尚未形成规模,全国的软件企业数量不少,但是大规模软件企业聊聊无几。我国软件业竞争力低下固然有产业规模小,资金投入不足、知识产权保护不力等各方面原因,但软件产品质量不高也是一个不争的事实,它直接影响到企业的形象及其在市场上的信誉,进而影响到其生产需求,使企业存在潜在的生存危机。 目前,对于软件质量控制一般都采用ISO9000或者是CMM,通过对软件开发过程的管理来控制开发质量[3-5]。本文研究了数据挖掘技术在软件质量管理中的应用,设计了一种基于数据挖掘的软件质量管理系统。系统通过软件缺陷的数据,软件生命周期全过程中关于分析、设计、编码、测试等阶段有关人员素质、开发和管理过程的信息以及软件属性、开发机构资质和经验、目标用户评价等资料的数据库,来建立质量预测模型,发现制约质量和过程的规律,从而采取预防缺陷措施。那么就能最大限度的降低开发维护的费用,大大降低软件故障和失败的可能。 2 影响软件质量的各种因素 软件的设计开发、营销、服务与支持活动,涉及投资者、管理者、销售者、软件产品用户等各类人员及其组织。因此,需要从全面的软件质量观出发,深入分析与软件生产有关的组织、人员、活动,对软件生产过程进行模块划分,建立通用的模块化的软件生产过程模型,以识别影响软件质量的各种因素。在此基础上,构架基于过程的软件质量体系结构,提供构成软件质量系统的通用概念框架,这就在高层次上找到了满足用户的要求,使定量质量管理成为可能。同时建立通过模块化过程的质量保证以及过程网络协同运作的质量保证系统,来保证软件产品质量的质量管理方法。进而建立完善软件过程质量的质量评价体系,用软件过程能力指数评价过程质量的高低,以过程的稳定受控来保证软件产品满足规定的质量特性要求。 2.1 质量属性 软件的质量属性可分为两大类:第一类可在运行软件并观察其结果的时候进行度量,例如性能、安全性、可靠性和功能性等都属于这一类。第二类不能够在运行软件并观察其结果的时候进行度量,但可通过对开发或维护过程的观察进行度量,这一类的质量属性包括可移植性、适应性、可复用性等。 2.2 软件体系结构对软件质量的影响 软件需求确定后,软件体系架构在软件质量中会起重要作用[3],有合理的软件体系架构,可以使需求变更产生的影响变得更小。如果没有合理的体系结构,先进的编程技巧也不一定能弥补体系架构对质量的影响。 软件体系结构问题包括软件系统总体组织和全局控制、通讯协议、同步、数据存取、给设计元素分配特定功能,设计元素的组织、规模和性能,在各个设计方案间进行选择。软件体系结构的设计是从问题域到软件解空间的第一步。一些体系结构方面的问题对软件的质量属性有重大的影响。比如,模块的层次可能影响系统的可修改性;功能的划分和封装可能影响系统的可扩展;构件间的通信协议可能影响系统的效率等。从另一方面看,良好的软件体系架构并不能确保系统的功能性需求及质量需求。后阶段的设计、实现等同样可以使系统的质量发生变化甚至损坏。毕竟,软件生命周期的任何阶段都对软件质量有或大或小的影响。因此,好的软件体系结构是良好系统质量的基础。 2.3 软件过程对软件质量的影响 从质量管理模式来看,软件企业按照某种软件生命周期模型来组织软件项目或软件产品的开发。目前比较流行的有瀑布型和迭代式开发方法。瀑布型的开发方法适合小型的、需求明确的软件项目,这种模型有个根本缺陷就是没有把用户需求反映在在整个项目当中。迭代式开发方法强调软件风险管理,把项目分成一个个的开发提交阶段,把里程碑处提交的产品提交用户反馈,并将反馈信息加入到下一个阶段的软件开发当中,其本质是基于产品开发的组织方式。 长期以来,软件开发过程中需求的变化,特别是软件使用后需求的变化,一直是制约软件质量提高的“瓶颈”[4]。随着软件产品或项目规模的扩大,软件产业的兴起,软件生产的组织方式也要从面向产品的生产组织转向面向过程的组织方式,面向过程的生产是软件产品生产的主流方向,必须以面向过程的生产组织方式,对软件需求获取、设计、开发、维护服务与支持的各过程进行预防为主的过程质量控制,对产品及过程的质量全部量化。 3 数据挖掘技术 3.1 数据挖掘和联机分析处理OLAP 数据挖掘是20世纪90年代迅速兴起的一个十分活跃的研究方向。其目的在于发现大型数据集中隐含的、不为我们所知的潜在有用信息,受到了数据库、人工智能、统计学和数学等领域研究人员的广泛重视,成为继Internet之后的技术热点[5]。目前,数据挖掘在销售、金融、电信、保险、教育、政府决策和基因工程研究等许多领域都得到了成功的应用,已产生了巨大的经济效益和社会效益。数据挖掘过程一般包括三个步骤,即数据准备、数据挖掘和知识分析和获取。数据准备用于选择相关数据用于预处理,包括消除数据噪声、弥补数据缺失和解决数据冲突,然后转换成适合挖掘的形式;数据挖掘则是采用有关算法对经过清洗的数据进行分析,其结果是大量的规则;知识分析和获取用于对产生的一系列规则进行评价,并从中抽取有用的知识,以辅助决策,如图1所示。数据挖掘有分类规则挖掘、聚类规则挖掘、关联规则挖掘、转移规则挖掘、例外模式挖掘、序列模式挖掘、Web挖掘、正文挖掘、多媒体数据挖掘、空间数据挖掘和时态数据挖掘等。 联机分析处理OLAP使用多维数据模型,在数据仓库中进行一系列统计操作,使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求。在企业当中得到越来越广泛的应用。 软件质量管理论文:浅谈军用软件质量管理 摘 要 本文简要介绍了军用软件特性,从软件分级管理、软件配置管理、SFRACAS三个方面探讨了如何加强军用软件的质量管理,为军用软件质量管理工作提供参考。 【关键词】军用软件 质量管理 软件配置管理 SFRACAS 随着武器装备信息化程度的不断提高,军用软件产品在武器装备上得以广泛应用,军用软件质量已经成为影响武器装备质量与安全的关键性因素之一,有必要采取措施加强军用软件的质量管理。 1 军用软件特性 军用软件是指应用于军事用途的软件。军用软件的特殊性使其开发和质量保障难度较大,具有以下特性: (1)军用软件通常要面临复杂的作战环境,可靠性、安全性要求高; (2)军用软件一般为嵌入式软件,对操作性要求较高; (3)大部分军用软件规模巨大,研制周期较长,成本较高,风险较大; (4)应用于军事用途,对开发人员、开发工具等提出较高的保密性要求。 2 军用软件质量管理措施 2.1 开展软件分级管理 军用软件应按照GJB/Z 102《软件可靠性和安全性设计准则》要求进行分级管理,按照软件失效的危险严重性等级分为A、B、C、D四个等级。其中A、B级软件失效可能导致人员死亡或严重受伤、系统报废或严重损坏,因此在软件开发的各个阶段必须开展危险性分析,降低风险。同时A级软件可能导致人员死亡或系统报废,因此必须对A级软件开展第三方测试,确保测试结果的独立性和权威性。由于军用软件的特殊性,如专业化程度更高,保密性要求高,使得第三方独立测试存在一定困难,可以考虑由军用软件承制单位进行测试,但必须由第三方组织和全程监督,必要时让军用软件用户参与进来,使测试结果更加准确有效。 2.2 开展软件配置管理 软件配置管理的对象是软件配置项。软件配置项就是在软件生命周期内各个阶段产生的各种形式的文档、程序、数据。软件配置管理目的是利用配置标识、配置控制、配置状态报告和配置审核建立和维护配置项的完整性,通过自定义三库管理策略,建立开发库、受控库和产品库,对软件配置项进行入库、访问、出库、维护、更改、等活动实施管理,以确保软件产品的正确性、完整性、可控性、可追溯性,主要包括以下四方面内容: 2.2.1 配置标识 配置标识主要包括三方面工作,一是定义项目生存周期中所建立的基线,二是识别和选择要管理的配置项,三是维护配置项标识。 2.2.2 配置控制 配置控制包括版本控制和变更控制两方面工作。软件产品为了适应不同的运行环境、不同的平台、不同用户的使用要求,导致同一软件产生或演化出不同的版本,必须进行版本控制。版本控制的目的在于对软件开发进程中文件或目录的发展过程提供有效的追踪手段,保证在需要时可回到旧版本,避免文件的丢失、修改的丢失和相互覆盖。版本控制是实现团队并行开发、提高开发效率的基础。变更管理是配置管理的一个重要组成部分,实现对需求变更及软件代码变更的高效管理。变更必须履行审批手续,首先由软件配置项负责人提交变更申请至配置管理员,再由配置管理员提交软件配置控制管理委员会进行评审,如批准及时修改并指定修改人,配置管理员将配置项检出至修改人员的开发库中进行修改,修改后经评审或确认批准后,由配置管理员将修改批准后的配置项重新入受控库(要求有版本升级记录),更新受控库状态报告;如没有批准修改或批准延后修改,配置管理员应向问题提出者提供未批准及批准延后修改的原因。当软件产品经过最终验收或交付后应提交配置管理员,入产品库。 2.2.3 配置状态报告 配置管理员通过配置管理系统收集当前基线配置项的状态,汇总形成配置状态报告,定期提交项目负责人审阅。 2.2.4 配置审核 配置审核主要是对软件开发过程进行审核,确保软件配置项正确可控,一般由质量保证人员单独执行。 2.3 建立SFRACAS SFRACAS即软件故障报告、分析和纠正措施系统,建立该系统的目的是及时报告软件发生的故障,分析软件故障产生的原因,制定纠正措施并验证其有效性,防止故障再次发生。军用软件承制单位应从软件研制开始建立SFRACAS,对故障实行闭环控制,有效地消除软件缺陷、故障,提升软件研制工作的质量。 建立SFRACAS应遵循PDCA原则,P代表计划(PLAN),D代表执行(DO),C代表检查(CHECK),A代表处理(ACTION),这四个过程循环执行,周而复始,促使军用软件质量不断改进。SFRACAS具体工作流程如下: 2.3.1 故障报告 软件在研制和使用阶段发生的故障,应由相关部门负责信息收集的人员予以及时、完整的收集,编制故障报告,并在规定的时间内向规定的管理组织报告。 2.3.2 故障核实 质量保证部门应组织有关人员对报告的故障内容都应按发生故障时的实际情况进行核实,故障核实可通过重现故障模式或依靠故障证据来完成。对缺乏证据的应给予说明。 2.3.3 故障分析 在软件的故障得到核实后,故障责任单位应尽快组织相关人员对故障进行分析,以确定故障原因,并编制故障分析报告。 2.3.4 故障纠正 故障原因确定后,故障责任单位的有关部门应根据对故障的分析结论,研究并制定纠正措施,编制纠正措施实施报告,并提交规定的管理组织审批确认,再下发有关部门组织实施。 2.3.5 纠正措施效果的验证 纠正措施实施后,有关部门应通过试验、试用等方法证实纠正措施的有效性,如达不到预期效果,则需复查故障的原因或进一步采取其它的纠正措施,直至故障彻底解决。最终,将确定的纠正措施及其实施效果提交给规定的管理组织。 2.3.6 故障信息管理 故障解决后,软件承制单位应统一管理保存全部故障信息报告及有关文档资料,并建立故障信息库,供有关人员查询。 3 结束语 对军用软件的质量管理,是当今武器装备质量管理的重要组成部分。本文简要介绍了军用软件特性,从软件分级管理、软件配置管理、SFRACAS三个方面探讨了如何加强军用软件的质量管理,为军用软件质量管理工作提供参考。 软件质量管理论文:软件工程与软件质量管理浅析 【摘要】本文首先从面向对象技术和重用的角度对软件工程进行了分析,然后结合现有的软件工程开发技术及管理成果,对提高软件生产效率的开发方法进行了进一步的探讨。 【关键词】软件工程 软件质量 质量管理 目前我国软件开发行业中拥有大量优秀的软件开发人员,虽然如此,但是我国企业的软件开发管理却始终处于一种比较低的水平上,近年来随着国内工业企业逐渐与国际标准相接轨,纷纷进行国际标准化质量体系认证,多数软件开发企业已经开始意识到软件质量管理的重要性,开始进行有关软件质量体系的标准化认证等工作,鉴于此,本文主要针对软件工程与软件质量管理领域的一些问题展开分析。 一、软件工程分析 (一)面向对象的开发方法 最终产品的特性与结构主要由开发方法所决定,在工业化过程中逐渐将软件工程技术纳入到规模化生产中,在系统开发过程中各个阶段之间的过渡变得更加平滑,系统模型也更容易维护,已有成果得到了最大程度的重用,这些目标的实现皆得益于对面向对象技术的应用。很多问题的存在利用传统的功能/数据方法根本不能得到有效解决,首先,可以利用功能/数据将系统分解成数据和功能两部分,功能部分体现出主动的色彩,伴随着相应的行为,数据部分则体现出了被动的色彩,被其不同的行为所利用;其次,人们利用功能/数据方法开发系统和软件时,不同系统和不同软件之间始终存在一些差异,一般来说是不能利用现实生活中的实体建立系统模型的,需要将实体中的功能及数据提取出来;最后,继承是面向对象技术的主要特点之一,从最大程度上利用现有的软件产品。因此,在一些大型系统开发过程中应对面向对象的技术进行有效的应用。 (二)重用 在系统开发过程中都希望可以对已有的成果进行尽可能的应用,重用可以使生产效率得到最大程度的提高,软件工程中解决危机问题通常会使用重用的方法,但是传统软件工程开发方法并不能对已有软件产品进行尽可能的应用。重用软件代码在工作中比较常见,对于生产效率的提高非常有用,但是从软件工程领域来看,解决问题的方式并不唯一,从软件开发的角度上来看,会从更为广泛的范围内对重用技术进行应用。此外,文档的重用也比较常见,不管是开发阶段还是维护阶段,通常重用文档的方式存在很多不便,加上格式的重用率比较高,因此利用面向对象的技术可以为其提供较大帮助,为重用事务的分配提供了良好的解决方法。 二、软件质量管理分析 软件质量管理领域已经提出了质量工作的相关特征,在全公司范围内展开质量控制及监督等工作,组织相关人员参加业务培训和教育,从全国范围内促进质量的提高,具体来说起其内容主要涉及到与人、机构有关的内容,要想提高质量就要与人发生关系,质量管理不能脱离人而存在。现阶段很多企业都专门设置了质量管理部门,这意味着现在很多企业领导者开始意识到了质量管理的重要性,但是这些企业对质量管理的认识也只停留在了这些部门上,企业中其他部门的人员都认为质量管理就是这些部门的事情,跟自己无关。而事实上质量的提高与企业中所有员工都有着必然的联系,企业中所有的员工都会对质量的提高起到或多或少的作用,而质量管理部门设置的目的在于针对质量的提高进行审查与监督,并展开质量培训,特别是最高管理者,只有这些人了解了质量管理的重要性,才能对质量管理措施进行贯彻落实。全面质量管理作为保证产品质量的一项重要工作,企业应将质量作为主要目标,所有企业活动都要围绕质量的提高进行。 现在我国多数企业已经将全面质量管理作为企业内部的主要管理模式,其内容主要包括生产、管理等方面,体现了效率性、科学性等一系列特点。之所以要在企业中进行全面质量管理,其主要目的在于将生产中存在的缺陷消除,这些缺陷主要是由人工和管理两方面原因导致的,其中,由于人工引起的缺陷比较容易消除,只要由工人在生产过程中加以注意就能使质量得到提高,并注意工人的培训,认识到缺陷产生的原因和解决的方法。因为管理而产生的缺陷往往是不容易解决的,因为这些缺陷往往是不易察觉的,在管理上形成了交叠,加上软件产品测试很难将方方面面考虑到,其中难免存在着一些隐藏的缺陷,所以管理制度的建立对于消除这些缺陷具有重要意义,以达到提高质量的目的。 三、结语 综上所述,近年来随着科学技术水平的快速发展,计算机的应用领域开始不断扩大,这种情况下软件系统开发也显得越来越复杂,很容易出现出现“软件危机”,为了对软件可维护性差、无法完成软件进度等问题进行解决,软件工程学科由此产生。然而开始时人们因为过分重视软件工程技术,忽视了质量管理的重要性,所以有关软件工程管理的研究并不多,本文主要基于这一方向展开了分析,供大家参考。 软件质量管理论文:浅谈航空机载软件质量管理过程的三性 摘要:通过参与机载软件研制项目的研发过程,并对机载软件全生命周期的质量管理过程进行研究和分析,从中提炼出机载软件在其生命周期过程(本文开发生命周期过程指从计划,到需求捕获和确认,经设计,到编码集成直至交付的过程)中的质量管理三个基本特性(完整性、符合性和可追溯性),同时通过对实际状态的对比分析和研究,针对机载软件质量管理的三个基本特性的意义和作用,提出了机载软件质量管理的三个基本特性在其生命周期质量管理过程中的实际应用,强调使用过程方法进行机载软件质量管理工作,以确保机载软件质量管理的系统性、根本性地全面可持续开展,继而确保机载软件在开发生命周期过程中满足相关要求,最终确保按照生命周期过程开发和生产的航空机载产品满足客户和适航的要求,最终确保产品的交付和盈利,争取更多的市场份额。 关键词:质量管理;完整性;符合性;可追溯性;适航;机载软件 一、前言 目前中国国内航空机载软件的自主研发起步比较晚,而大部分参与的公司/人员,由于之前质量管理的经验,形成一些固定的质量管理思维。随着国内民用航空产品市场的增加和国家对民用航空产品的重视,以及机载软件的技术日益发展成熟,我们需要更加重视航空机载软件质量管理的研究和分析,确保航空机载软件满足客户和适航的要求。航空机载软件质量管理相关的基础和标准,不管是国际航空标准AS9100,还是一些工业标准(包括DO-178B),以及一些已经的适航标准(包括Order8110.49)等等,更加关注产品在计划、设计、生产直至交付的所有节点中的每个过程,注重质量管理过程体系和程序的建立;按照建立的体系和程序执行相关过程,强调所有过程进行记录并保证可追溯性。笔者通过对航空机载软件生命周期研发过程质量管理的研究,包括AS9100、适航法规、先进的工业标准等进行研究,对实际质量管理状态进行总结,提炼出质量管理的三个基本特性――完整性、符合性、可追溯性,就航空机载软件生命周期过程中如何贯彻和应用这三个基本特性进行了浅显的分析,确保航空机载软件的交付满足客户及适航要求。以下内容是个人就质量管理的三个基本特性的概念及应用进行浅显的论述。 二、质量管理三个基本特性的概念 要想在机载软件的生命周期内贯彻质量管理的三个基本特性,首先需要了解三个特性的基本概念,只有对其概念和意义的理解,才能更好地在生命周期过程中应用和贯彻这三个基本特性。 1.完整性,指应确保产品生命周期过程中质量管理体系的完整覆盖。完整性是质量管理的基础,如果质量管理体系不能完全覆盖所有操作过程,也就谈不上质量管理。完整性也可以总结为“写我所做”; 2.符合性,指在设计和制造以及交付过程的所有操作应符合相应的文件/程序、符合相应的作业指导书以及产品符合经批准的设计和工艺。符合性是质量管理的主体,也是质量管理的执行过程。符合性可以总结为“做我所写”; 3.可追溯性,即应将所有过程中产生的数据进行相应的记录,确保在发生不符合时,能获得相应的数据分析的支持。可追溯性是质量管理的反馈,也是质量管理过程中持续改进的必备。可追溯性可以总结为“记我所做”。 三、理解和应用 可以将质量管理的三个基本特性总结为质量管理中的三句话:写我所做,做我所写,记我所做。也通过这三句话,可以清晰的发现这个三个基本特性涵盖了航空机载软件质量管理的全部过程和要点。以下内容就笔者在现有质量管理状态分析的基础上,分别就这三个特性如何应用,进行简单的阐述: 1.完整性 完整性,作为质量管理的基础,首要任务是是建立完整覆盖顾客要求、法律法规的质量管理体系。如何建立?民航产业有自己行业的质量标准――AS9100,按AS9100的条款,建立质量管理体系,形成质量管理体系框架。对于航空机载软件来说,仅仅满足AS9100的要求是不够的。在质量管理体系的建设中,必须同时要考虑适航规章的相关要求,包括DO-178B、Order8110.49。笔者认为以下图形象地形容AS9100和适航标准之于质量管理体系之间的关系: 图1 质量管理体系和AS9100及适航要求三者间的关系图 根据实际参与项目预投产质量管理体系的适航审定经验以及实际参与项目的开发经验,可以使用符合性矩阵分析的方法,通过建立程序和AS/9100及适航标准三者之间的符合性矩阵,一方面明确AS9100和相关适航标准的各方面的要求,一方面在矩阵中可以明显地看出当前质量管理体系完整性状态。下表为方法中采用的简易的矩阵表: 注1:由于篇幅有限,只能简单列出表头,其中横行中可以列出AS9100条款号;左侧纵列可以列出相关适航条款要求,在表的右侧某一栏中可以列出体系程序的名称。表格可以根据条款的详细程度进行调整;表格因人而异,可调整以适合本企业的相关要求。 注2:对应矩阵中,可以采用标志方式,如完全满足,用表示;如果AS9100条例满足,但是不满足适航要求,用表示;如AS9100条例不满足,但是适航要求满足,用表示; 随着适航标准不断更新以及产品研发经验的积累,公司同样需要不断改善和持续改进体系文件以切实满足质量管理的完整性要求,如DO-178B升级为DO-178C,则公司应针对升级前后版本识别,确保质量管理的动态完整性。完整性,是质量管理过程的基础,也是前提,只有确保质量管理中体系文件/程序的完整覆盖,才能有效保证质量管理的实施,才能确保企业有效率、有组织的进行。 2.符合性 符合性,之于完整性和可追溯性来说,起承上启下的作用。为确保符合性,首要任务是建立满足符合性的方法。日本质量大师石川馨认为:“当引进某种做事的方法时,很自然要考虑这种方法是否合适。通常我们根据过去的结果与经验或传统的方法做出决策。适当的评估将使这种决策变得更加有效,同时工作过程中的数据对于评估工作来说也是至关重要的。”对应质量行业中老话“不是最先进的方法就是最佳的方法,选择最合适的方法才是最佳的方法”。对于一个企业的质量人来说,应该清晰自身企业所处的规模、阶段,并选择相应的方法以确保符合性。符合性,是PDCA过程方法最重要的环节。笔者个人觉得对于一个企业来说,简要的操作流程可以按照如下流程进行: 图2 符合性实施流程图 注:对于任何产品来说,数据的积累是产品优化,行业的发展的基础。 结合上述流程图,以机载软件生命周期过程中的研发过程为例,具体操作可以参考如下: 针对机载软件研发过程,利用电子检查单(peer review)方式进行过程把关。 对各个层次的人员进行相关业务知识方面培训,要言明使用检查单的意义和作用。 建立每个过程作业指导书,找出每个过程的关键要素,将关键要素导入到电子数据库中。 依据检查单内容,对实际项目研发过程进行评审和检查,将每个关键要素的检查结果导入数据库。 以数据库为基础,针对检查结果中出现的问题分析,进行相关管理过程和/或相关产品设计构型进行改正和/或预防。 注:实现数据库与检查单相连接,通过在数据库中输入关键字,使其自动生成检查单;一方面减少不同素质的人员造成检查单内容的差异,另一方面有利于人员更专注于产品检查和改进的本身,提高执行效率。 符合性,是一个持续改进螺旋过程,是建立在公司的质量管理基础上,逐步的改善,根据机载软件的不同阶段选择相应方法以确保符合性。 3.可追溯性 对于机载软件来说,可追溯性的意义在于验证完整性和符合性,另外也在于后续过程的软件维护和升级,以及航线过程中如果发现问题,可以及时排查出问题所在,找到根本原因。机载软件的配置管理过程是确保可追溯性的前提。在DO-178B和AS9100中可以查询有关配置管理的规定,根据AS9100要求和适航要求以及DO-178B建立配置管理程序。在机载软件的配置管理过程中, 首先需要针对机载软件相关阶段建立配置基线,包括需求基线,设计基线; 针对所有需求、源代码、目标代码建立追溯矩阵; 如果机载软件已经建立配置基线,其中的任何更改,都需要按照配置管理程序(计划)的更改控制流程实施更改; 按要求定期进行配置审核,并编制配置管理报告; 按照加载规程实施机载软件加载前环境确认,并填写加载记录。 现如今各个企业更加重视信息化管理,在实际工作过程中,不断引进新的工具软件,如对于机载软件需求的管理,一般会采用DOORs软件进行管理。未来的信息化系统应该更是一个高度集成的信息化平台,能够实现简单输入自动实现,容易检索等等,给员工工作带来很大的便捷性,降低了人为错误,进一步提高了工作效率。而所谓高度化集成的信息平台,个人觉得可以通过建立不同的模块,然后在模块后台实现数据库支持。以航空机载软件的几大过程为例,包括计划过程,,需求过程,设计过程,编码过程过程,供应商管理过程,建立相应的模块,在各个模块之间共享同一个数据库;对于每个模块之间再细分子过程,为每个子过程建立窗口。高度集成化信息平台能够将一个机载软件完整生命周期所有信息记录在同一平台上实施分类保存,可以通过菜单拉取机载软件配置项,了解其当前状态,链接到供应商管理,进一步了解供应商的需求和编码状态。 可追溯性,是质量管理过程的体现,只有实际工作中进行了相应的记录和标识,才能确保机载软件的可追溯性。也才能真正确保机载软件产品满足初始适航和持续适航能力。可追溯性确保了质量管理真正的实现。 四、三个基本特性之间的关联 三性,用综合性的话语来描述:针对航空机载软件的每个过程,按照AS9100/适航要求建立完善的机载软件质量管理体系程序和方法以及计划;每个过程的操作按照既定的程序进行,做好相关记录。完整性、符合性、可追溯性,用三句话概括他们的关系:写我所做,做我所写,记我所做。实际质量管理过程中,却不能将这三个特性割裂开来对待。在实际操作中,完整性是质量管理的必备因素,充分条件,只有满足了完整性,才能确保符合性和可追溯性的实现;符合性是质量管理过程的主体,满足了符合性,才能体现了质量管理完整性的同时能确保质量管理的可追溯性;可追溯性是质量管理的必要条件,可追溯性的实现才能体现完整性和符合性的实现。三者之间密不可分,环环相扣。当三性中有一点不满足要求,其他两性也就不能满足要求,进一步说明质量管理失控。 在实际机载软件的需求和设计编码中,只有确保各项活动满足质量管理的三个基本特性――完整性、符合性、可追溯性,才能实现质量的过程方法管理,才能充分说明质量管理的完善有效,才能真正确保航空机载软件满足系统功能和适航要求,最终确保产品满足客户的要求。 五、结语 对于机载软件来说,实现其功能和运行已非难事,难点是如何使航空机载软件在满足安全的情况,实现成本降低,技术性能提高,以持续满足客户和适航要求,最终获得更高市场份额。相信通过满足质量管理的三性:从小处来看,可以培训企业所有员工的质量意识,在航空机载软件研发生命周期中更注重过程的输入和输出以及过程活动,降低了研发的成本;从大处来看,也使得缩小与国际先进航空研发企业的思想和流程上的差距,使企业有更多精力投入产品的技术研发和创新过程,以进一步缩小与其之间的技术差距。 笔者清楚,就单单质量管理本身来说,要想建立一套行之有效的质量过程管理方法,并实际应用于企业,为企业带来益处,并非一朝一夕,需要很长的路要走;笔者更清楚,质量管理,受制于产品研发技术,单单发展好质量管理流程,并不能带来根本性地变化。要想真正实现中国自主研发的民航产品进入市场,甚至走出国门,需要从技术、管理、人才等各个方面着手进行循序渐进的改善。套用屈原前辈的一句话“路漫漫其修远兮,吾将上下而求索”。 软件质量管理论文:基于质量管理体系和CMMI的气象水文软件质量控制方法浅析 摘 要:论文针对气象水文软件开发中存在的问题,分析了国内外常用的软件质量控制方法以及它们所存在的问题,提出了将质量管理体系和CMMI相结合的质量控制方法,建立了一种新的软件质量控制模型,为全面提升气象水文软件的质量提供新的思路。 关键词:软件质量;质量管理体系;CMMI;GJB9001B-2009;质量控制模型 软件在装备系统的研发过程中起着至关重要的作用,软件产品的质量已逐步成为军队信息化建设的核心,软件质量关系到武器装备系统的生命,关系到军队信息化建设的整体水平,一旦软件失效,就可能导致整套装备系统的失效,甚至导致战争的失败。目前,软件在研发过程中存在诸多问题,导致软件的质量和可靠性远不如人意,特别是与硬件的可靠性相比,软件的可靠性一般要低一个数量级[1]。 1 软件开发中存在的问题 (1)装备系统研发软硬件管理不均衡,过分强调硬件。武器装备的研发是一个非常复杂的系统工程,涉及到技术和管理的方方面面,而且其各个因素又是相互关联和制约,不均衡的过分强调某几个方面都是不科学的。而现状是系统的研发过分强调硬件的重要性,软件只是被当做硬件的一个附件来对待,未作为产品列入装备系统计划和技术配套表。 (2)总体单位不抓配套单位分系统软件的质量,监控力度不够。在软件产品的开发中不遵循软件工程的要求,而且武器装备系统的总体单位只抓本单位开发的软件质量,对配套单位分系统软件的开发过程监控不力,对配套单位交付给总体单位的软件普遍不进行软件验收测试和软件验收评审。 (3)软件设计文档的编制不规范,不符合国军标要求。编制时缺少文档化的过程描述,尤其是缺少工作文档、风险管理文档和工作量统计文档,而且文档编制水平和质量参差不齐。特别严重的是大多数单位的文档是在软件编程完成后补写的,失去了以文档指导软件实现的作用。 (4)高层管理者对软件管理不够重视,软件配置管理不到位。管理要从高层做起,但是多数高层却忽略了管理的重要性,有的软件开发组未设配置管理员,有的单位对配置管理的概念(如对基线标识和配置控制等)模糊,对软件开发库、受控库的设置与管理不当,致使软件在出厂前基本不受控。 (5)对软件测试的概念和方法认识模糊,缺乏对过程和产品进行测试。软件开发测试人员和质量控制人员之间缺乏对对方工作的基本认知,双方难以沟通,阻碍了研发工作的顺利开展。部分单位对第三方测试存有疑虑:担心泄密,难以保护知识产权,或担心经费不足和增加工作量延误工程进度。 上述问题是装备研发中普遍存在的现象,亟待改进。国内外的经验说明,为了解决上述问题,最根本的一条是必须“树立软件产品的观念”和“用软件工程方法组织软件开发”[2],并按照软件工程方法的基本原则不断改进软件开发过程。现在国内比较常用的控制软件质量的方法是质量管理体系法,而国外比较流行的是运用CMMI(Capability Maturity Model Integration,即能力成熟度模型集成)来控制软件的质量。 2 软件质量控制的常用方法及缺陷 2.1 军用软件研制质量控制的一般做法及缺陷 我国一直采用质量管理体系中全面质量管理的原则来控制军用软件的质量。按照全面质量管理的观点,“产品质量是设计、生产出来的”,关注软件开发、研制的过程,通过强调过程模式,将组织内所有的工作定义为一个个明确的过程来进行质量保证和评估,使影响软件产品质量的因素在产品形成的全过程中始终处于受控状态,以此来提高其使用的可靠性、安全性,突出的把持续改进的过程作为提高质量管理体系水平的重要手段。 目前,军用软件研制质量控制的整套模型源于GJB9001B-2009,该国军标适用面广,可面向于硬件、软件、流程性材料和服务四大产品[3],主要强调的是硬件产品的质量控制,对军用软件的适用性稍弱,没有针对软件产品及其研发的特点展开说明,尤其是在型号的不断改进,装备状态的多次更改之后,对军用软件的配置管理等方面的更高层次的问题,缺乏行之有效的解决方法,在实施该标准时无法引起高层领导的重视,没有对质量提出更高的要求,忽略了该标准反复强调的“质量管理必须坚持持续进行质量改进”,导致研制单位无法拥有一套适用的质量管理体系。 2.2 国外软件研制质量控制的一般做法及缺陷 CMM(Capability Maturity Model for Software,即软件能力成熟度模型)是对组织软件过程能力的描述[4]。CMM 中最为核心的思想是:只有好的过程才能造就好的结果。它侧重于软件开发过程的管理及软件工程能力的改进与评估,是一种高效的管理标准,有助于最大程度地降低成本,提高产品的质量和用户满意度。CMMI是CMM模型的最新版本,它把软件开发视为一个过程,并根据这一原则对软件的研发和维护进行过程监管,以使其更加科学化、规范化。CMMI项目为军工界和政府部门提供了一个集成的产品集,其主要目的是消除不同模型之间的不一致和重复性,降低基于模型的改善成本。CMMI将以更加系统和一致的框架来指导组织改善软件过程,提高软件产品的研发、获取和维护能力。 CMMI是目前国际上最流行、最实用的一种软件质量控制模型,强调各个方面的均衡发展,注重基于模型的、循序渐进的过程改进,可以帮助软件企业有效地管理软件过程,但是CMMI也存在缺陷,CMMI本身是国外的体系,是基于法治的体系,而我国强调的是人治的氛围,这种文化性问题是CMMI能否适用于我军的关键;实施该体系时单位对于软件研发人员缺少必要的有关质量管理方面的培训,导致软件研制人员与质量管理人员难以沟通,阻碍了研发工作的进度;CMMI只强调关键过程域,无法保证软件产品能被成功的研制出来。 3 基于质量管理体系和CMMI的气象水文软件质量控制方法 3.1 质量管理体系与CMMI的共同性 质量管理体系与CMMI面向的都是组织和软件产品的质量问题,都是以现代质量管理理念为基础,充分体现了质量管理、质量保证、全面质量控制、全面质量检验等思想。它们都非常关注产品的质量,都以相同的质量原理为基础,都强调通过良好的过程来保证产品的质量,都在强调外部沟通的同时强调内部沟通,都以组织的领导者和管理者作为最关键的成功条件,都采用PCDA方法,都重视规范化、活动规程和必要的文档与记录。 3.2 质量管理体系与CMMI的差异性 作为质量管理的标准性文件,CMMI与GJB 9001B是有着明显的差别的。GJB 9001B是一个适用于各类产品的通用型标准,主要是针对制造业制定的,而CMMI是专门针对软件开发设计的,可以帮助软件企业有效地管理软件过程;GJB 9001B强调完整的组织体系,可以用来建立符合ISO9000管理的组织管理,而CMMI本身对管理体系没有明确要求,默认组织体系是有效的、健全的;GJB 9001B评估的目的是要认证组织是否建立了有效的质量管理体系,为此给出比较简明、科学、原则性的要求,评估出结论合格与否,而CMMI则用于评估组织的软件能力的改善,确定采购风险,或找出软件过程的强项和弱项,明确改进途径,为此给出良好软件过程的详细描述和能力提高的简明科学途径。 3.3 基于质量管理体系和CMMI的气象水文软件质量控制模型的建立 GJB 9001B鼓励在建立、实施质量管理体系以及改进其有效性时采用过程方法,通过满足顾客要求,增强顾客满意,而CMMI的本质是通过对软件研制过程中关键过程域的精确定义,来使软件研制从一个不确定的“黑箱”操作过程,变成一个各步骤可视的、可对偏差随时控制的“透明”操作过程。根据质量管理体系和CMMI的相关理念和技术要求设计出适用于气象水文软件的质量控制模型。 质量控制是一个循序渐进的过程,该模型将质量控制归纳成七个阶段:(1)明确准备目标、项目范围和资源需求,依据CMMI的相关标准对软件的现状进行评估,定义相应的目标和指导原则,为下一阶段准备好相应的评估资料;(2)根据客户的要求和技术指标制定软件的开发流程,该阶段表达了组织层上下同心、拟定目标和愿望的状态,这是对将来有一个共同思考的过程;(3)在新的开发流程下引入GJB 9001B质量管理体系的相关要求,对组织当前的状态进行判决,及时向组织传达发现的情况和问题,并根据GJB 9001B的要求,确定需要进一步改进的方向;(4)根据上述要求拟定软件管理流程,确定关键业务主题、各团队的角色和职责、需要进行的活动以及改进进度安排;(5)在此流程的基础上导入成熟的开发和管理理论及方法,并根据客户的要求建立相应的规则、度量方法、模板,作为改进和实施的基础;(6)按层次和相关要求编写各层次文件,根据国军标的要求编写相应的工作文档、风险管理文档以及工作量统计文档;(7)依据软件运行的实际情况改进流程,在这个过程中组织的所有人员确定需要改进的目标,分析现有的工作步骤、客户需求和存在的问题,给出改进方案,验证并更新实施流程,在提高技能、绩效的同时,也提高软件的质量。质量控制是一个总结、再学习和提高的过程,通过不断的改进建立下一轮工作的更高目标,制定组织进一步工作的计划,只有通过这种反复的评估改进才能不断提高软件质量。 4 结束语 在信息化高速发展的今天,要高质量、高效率地开发出复杂的大型软件系统已不再是单个质量控制方法所能完成的任务,只有通过融合多种方法的优点推出一种新的质量控制模型,才能保证气象水文软件产品的质量和可靠性。本模型旨在GJB 9001B的基础上结合CMMI的理念和技术要求,把GJB 9001B作为CMMI的保障,而把CMMI作为GJB 9001B的“使能器”,两者相互促进,全面提升气象水文软件的质量及服务能力,进而提高武器装备软件的质量。 软件质量管理论文:仿真训练软件质量管理中的“三库”建设研究与实践 摘 要 为了加强仿真训练软件开发过程中状态变化的控制,针对仿真训练软件质量管理中存在的问题,在软件开发过程中建立“三库”,并通过“三库”的有效管理实现配置管理的部分功能,达到提高仿真训练软件质量和质量管理水平的目的。 【关键词】仿真训练 软件 质量管理 三库 1 引言 我国信息化建设突飞猛进的发展,给我们的工作和生活带来很多便捷。无论是在学校、军营,还是机关、农村,信息化覆盖率越来越高,让人们真切感受到科技带来的独特魅力,人们可以足不出户就能体验到科技给予我们的全新的感受。科技让我们距离世界很近;科技让我们工作或生活更加轻松;科技让我们颠覆过去的思维及工作、生活方式。 信息化建设如火似荼地发展,同时也催生了仿真训练软件的数量越来越多、规模越来越大、结构越来越复杂,软件质量对仿真训练软件可靠性的制约也日益凸显。为了满足日益提高的仿真训练软件质量要求,确保软件质量和可靠性,做好软件质量管控工作具有十分重要的意义。 作为软件质量管理的核心内容,配置管理是可以控制软件变化的科学管理。软件配置管理的主要内容集中在软件的版本控制、变更控制和过程支持。其中,设立“三库”,即开发库、受控库、产品库,对软件技术状态变更和版本控制的管理更是其最主要、最核心的问题,也是配置管理的重点。在军用仿真训练软件开发过程中,通过对软件“三库”的有效管理来达到控制状态的变化和标识的情况,并严格履行软件产品的出入库规定,从而实现对软件的质量监督。 2 “三库”的含义 “三库”是指软件开发库、软件受控库和软件产品库。“三库”的建立是配置管理当中的一个重点内容,不仅可以对软件开发过程中软件状态的变化进行控制,还可以对软件配置项进行有效的标识,同时又可以避免复杂的配置管理技术给开发成本造成太大的影响。 GJB 5000A《军用软件能力成熟度模型》、GJB 5235《军用软件配置管理》和GJB5716-2006《军用软件开发库、受控库和产品库通用要求》都有对“三库”建设的相关要求,其中,GJB5716-2006中给出“三库”的定义分别是: (1)软件开发库(software development library)是指在软件生存周期中,存放软件配置项的集合。 (2)软件受控库(software controlled library)是指在软件生存周期中,存放已通过测试或评审且作为阶段性产品的软件配置项的集合。 (3)软件产品库(software product library)是指在软件生存周期中,存放已定型(鉴定)且供交付、生产、检验验收的软件配置项的集合。 通俗一点的解释“三库”的含义是: 软件开发库就是在软件生存周期的某一个阶段期间,存放于该阶段软件开发工作有关的计算机可读信息和人工可读信息的库;在软件生存周期的某一个阶段结束时,开发库内的内容经过评审通过后,就可以进入到软件受控库中;在软件生存周期的组装与系统测试阶段结束后,形成的可以直接交付给用户的最终产品或可以在现场安装的软件就存放在产品库中。 3 仿真训练软件质量管理中存在的问题 目前,仿真训练软件的质量管理工作还没有采取有效的管理办法和措施,软件质量还远不能满足软件开发的要求,软件开发成本与进度计划难以准确估计,对软件产品质量的评价还缺乏标准和手段。归纳起来,军用仿真训练软件质量管理中存在的问题具体表现为以下4个方面: 3.1 软件项目质量管理意识不强 现阶段,大部分仿真训练软件开发研制单位质量管理意识不强,在软件开发过程中没有按照质量管理体系要求行之有效的管理和监督。在软件开发过程中,缺少质量保证大纲等质量保证文件和阶段性的评审制度,软件的质量保证工作基本上是由软件开发者自身完成的,而实践已经证明,采用这种方法开发的软件是无法保证软件的质量的。 3.2 缺乏软件技术状态管理和控制 在仿真训练软件开发过程中,软件的技术状态非常多,软件的一条语句或一个函数的修改都可能造成软件部分功能无法正常运行,甚至整个软件瘫痪。所以,一旦软件出现故障,由于没有对软件的技术状态实施管理和控制,很难快速准确的找出故障原因,严重的情况下,还会造成更大的损失,直接影响整个军用仿真训练软件的质量。 3.3 软件测试不够充分 大多数仿真训练软件开发单位没有设立独立的软件测试部门和专门的软件测试人员,而是在软件开发的各个阶段由开发人员采取自己设计、自己编程、自己测试、自己维护的方式来完成的。由于软件开发人员任务重,他们在测试上不可能花费很多时间和精力,所以很容易把软件测试环节变成只是走过场、讲形式,导致测试的作用和可信度大大降低,一些隐含的错误和缺陷被遗留到软件交付之后的运行阶段。 3.4 对软件文档的重视程度不够 软件文档是软件的一个重要组成部分,是保证软件质量的一个重要手段,它关系着整个软件的有效运行和维护。在军用仿真训练软件开发过程中,开发人员没有充分认识到文档在软件开发过程中的作用,所以导致开发人员对文档编制不感兴趣,编制不及时;软件文档内容不完整,与开发过程不一致,格式不规范;文档审核和管理不够严格,未经审批可随意更改文档内容等问题,最后造成软件的透明度低,软件可维护性和可移植性不好,给软件研制和维护带来很多困难和问题。 4 “三库”在仿真训练软件开发过程中的应用 在仿真训练软件的开发过程中,软件的技术状态是在不断变化的,软件在各个阶段的配置项内容是不相同的,软件的版本也是存在更新的情况。因此,对软件技术状态的管理和控制是保证军用仿真训练软件质量管理的关键。“三库”质量管理是软件质量保证的一个非常重要的手段,也是软件产品形成过程技术状态管理的核心任务。 4.1 建立“三库” 按照相应国军标的要求,在仿真训练软件生存周期中,要建立软件“三库”,通过对“三库”的集中管理,实现对软件开发过程中状态变化的控制和对软件配置项的正确有效的标识,以确保仿真训练软件产品的正确性、完整性、可控性、可追溯性。 4.1.1 开发库 从技术状态形成过程、有效控制和管理的角度看,在仿真训练软件完成详细设计阶段工作之后建立软件开发库。此时将未进行测试和评审的软件和软件相关设计文档等软件配置项存放到开发库中进行集中管理,并由软件开发项目组或分系统负责。 4.1.2 受控库 软件受控库反映的是软件研制开发过程的轨迹。在仿真训练软件形成过程初、中期等阶段建立软件受控库,对通过测试和评审,确认正确的软件版本、完整的软件文档材料,以及其它相关软件配置项,采用软件受控库管理,由系统总体负责管理。 4.1.3 产品库 在仿真训练软件研制开发的末期建立软件产品库,对通过综合测试(验收)的软件、完整的软件文档材料、软件生命周期更改的版本,以及开发研制该软件产品的相关的成套软件(包括开发环境和开发工具)集中控制管理,由研制单位质量管理部门负责。 4.2 软件开发库的管理 软件开发库建立在承担仿真训练软件开发任务的项目组,由项目组质量管理人员或分系统负责人(无分系统的由项目负责人)负责日常管理和维护。软件开发库中管理的内容包括软件开发、测试阶段对应的文档和“初始阶段”的软件。 4.2.1软件开发库入库的内容 (1)按照对应国军标要求,软件在开发过程中规定的所有系统的和阶段设计文档,包括:软件开发计划、软件技术规格书、软件需求规格说明书、接口需求规格说明书、概要设计说明、详细设计说明、接口设计文档、软件测试计划、软件测试说明、软件测试报告、软件配置管理计划等。 (2)软件开发过程中各阶段所产生的计算机软件部件、计算机软件单元及其源程序代码、目标代码和数据定义文档,软件开发过程中各阶段进行软件测试的测试用例和测试结果等。 4.2.2 软件开发库的控制要求 项目组首先根据开发软件的规模,将符合项目标识、版本等软件配置要求的软件配置项入库控制,在此基础上对开发库的每一项内容(配置项)进行标识,由专人负责记录开发库中每一个配置项的位置、标识和入库时间。如果有某个配置项需要进行修改,则需要按权限实施更改,并必须通过项目负责人的审批。在进行更改操作的同时还下需要填写《软件开发库更改记录表》以记录开发库中的有关更改信息,并保存更改前的软件或文档的标识和版本。出库控制应按规定的权限出库,记录有关出库的出库项、软件提取人和出库时间等信息。 4.3 软件受控库的管理 在仿真训练软件测试工作开始之前需要对开发库中的软件配置项进行确认工作,然后从中提取被测软件和相应文档进行测试。通过认可的测试或评审的软件配置项就可以转库到软件受控库。 4.3.1 软件受控库入库的内容 软件受控库入库的内容必须是通过测评或评审的软件配置项,以及是仿真训练软件开发单位或用户认可的内容。具体内容包括:可行性研究报告、项目开发计划、软件需求说明、概要设计说明、详细设计说明数据库设计说明、软件测试计划、软件测试分析报告、用户手册、操作手册、软件维护手册、项目总结报告、项目验收报告、质量要求文档(质量保证大纲、标准化大纲、可靠性和维修性保证大纲等)、软件(源程序、目标代码、编译成目标代码的详细步骤、可执行程序和写入可编程器件的程序等)、软件设计更改报告及审核文档,以及所有文档的电子版本。 4.3.2 受控库的控制要求 仿真训练软件的受控库控制要求要比开发库更为严格,受控库的管理控制由承研单位的质量管理部门负责,软件开发人员受控使用。 软件开发库中通过测评和审核的软件配置项必须转入到受控库进行管理,每次访问需按权限,并要通过项目负责人和质量管理部门负责人联合审批才可获得批准,同时还要记录访问人 、访问时间、访问项、访问批准人等信息。出库控制时,软件提取人的申请,项目负责人和质量管理部门负责人审批,并进行出库信息登记。更改控制时,软件开发人员先提出更改申请,质量管理部门向有关人员更改信息,并且组织评审,待更改内容通过评审后方可按要求办理出库,转入到开发库中进行更改;完成更改后按相关要求重新入库,并及时向有关人员更改信息。 4.4 产品库的管理 软件在通过综合测试或验收之后,其配置项应转入软件产品库进行管理。而其它项应纳入承研单位的档案管理。 4.4.1 产品库的内容 软件产品库入库内容应是已经完成了综合测试等待交付给用户运行或者是现场安装的最终的软件产品,具体包括可执行程序、系统配置文件、数据文件、安装文件以及电子文档和书面文档。 4.4.2 产品库的控制要求 产品库的管理控制直接由军用仿真训练软件承研单位的科研部负责。对软件产品库须按相关要求进行入库、访问、出库、更改、配置状态报告、配置审核等的控制。 产品软件版本必须与设计文件及其电子版同步归档,软件档案必须与其纸质软件文档相符。产品软件归档媒体一式两套,一套为基准盘封存保管,一套为工作盘提供利用。 5 “三库”应用的效果分析 在仿真训练软件的开发过程中应用“三库”,对软件的变化状态和有效的标识实施管理,使得软件的开发过程变得可控,杜绝了软件开发和使用的随意性,软件质量得到了保证。“三库”应用的效果具体表现为以下几个方面: (1)在仿真训练软件开发过程中应用“三库”进行有效的标识,减少了项目开发因为版本错乱、标识不清等低级错误,导致整个软件产品质量下降,保证了软件的开发周期及阶段性取得的成果。 (2)在仿真训练软件的开发各个阶段中,软件和其它软件配置项不可避免会发生更改,通过“三库”的应用,强化对开发库、受控库和产品库更改的审批控制,使软件的所有的技术状态都处于可控的范围内。 (3)在仿真训练软件的开发中应用软件“三库”实施管理,不仅可以帮助项目管理人员和软件开发人员清晰、准确的把握软件开发的每一个阶段和流程,而且通过软件“三库”的管理还可以让软件开发人员发现并避免一些重复性、阶段性的错误,使软件开发人员能够开发出高质量的软件产品。 6 结束语 随着仿真训练软件的发展,软件的质量要求也随之提高,软件的质量管理工作就成为越来越重要的问题。本文研究了仿真训练软件质量管理中的“三库”概念和建设方法,并在软件开发过程引用“三库”实施管理类,从软件开发阶段开始提高软件质量,建立和维护军用仿真训练软件在软件生存周期中各个阶段产品(包括各个文档、程序及其数据等)的完整性,确保对仿真训练软件形成过程的质量实现可追溯性,使软件开发、技术状态管理和维护过程处于受控状态,最终提高仿真训练软件质量。 作者单位 海军潜艇学院 山东省青岛市 266042 软件质量管理论文:加强我国军用软件质量管理的若干思考 [摘 要] 随着军队信息化的高速发展和广泛应用,军用软件在武器装备系统中的重要性日益突出,其质量已成为影响武器装备作战性能的关键因素。分析了我国军用软件质量管理的发展和现状,并从突出地位作用、加强理论研究、加快系统建设、提高建设水平四个方面对如何加强我国军用软件质量管理提出了思考与建议。 [关键词] 军用软件;质量管理 随着高新技术的发展和装备信息化程度的提高,软件在现代武器装备中所占的比重不断增加,在武器装备系统中的地位逐渐由硬件的配套产品上升为独立的产品,成为武器装备系统和自动化指挥系统的重要组成部分,武器系统功能的生成和发挥对软件的依赖性越来越强。军用软件的质量关系着装备系统功能的强弱和成败,直接影响甚至决定着武器装备的质量。 一、军用软件 军用软件(Military Software)是指用于保障军事装备及其配套系统正常工作,经正式立项研制并交付军方使用的特殊的专用软件产品。与常用软件相比,它实时性、时序性、精度性、安全可靠性要求更高,并具有嵌入式软件多、能适应各种恶劣军事应用环境的特点。 军用软件一般分为两类。一类是武器系统软件,包括为武器系统专门设计或专用的嵌入式软件,指挥、控制和通信软件;对武器系统及其完成军事任务进行保障的其他软件。另一类是自动化信息系统软件,主要是指执行与武器系统无关的系统使用和保障功能的软件。 二、我国军用软件质量管理的发展 同国外相比,我国军用软件质量管理起步较晚。1996年,原航天工业总公司颁发了《中国航天工业总公司软件质量管理规定》,明确规定了软件也是产品,必须和硬件一样纳入型号配套管理,列入产品配套表和技术配套表,实施产品管理。2000年3月,国防科工委颁布了《国防科工委关于加强国防科技工业质量工作问题的若干决定》,并于2001年9月颁布了《军工产品软件质量管理规定》。2002年,国防科工委专门组织软件调研组,对重点型号的软件承制单位进行了调研,并对加强软件质量与可靠性工作进行了现场指导。在2002年9月召开的国防科技工业质量工作会上指出,软件质量是当前比较薄弱的环节,应充分重视软件质量问题,积极借鉴国外软件质量管理方面的经验,加强国防科技工业内部各单位的交流,促进软件质量控制和可靠性工作。 我国军用软件质量管理基本上是以软件开发项目为中心,以软件工程化带动和推进软件质量管理,其具体方法如下: 1.依据软件工程原理,按照一定的软件开发方法学,确定适当的软件生存周期模型,分阶段实施了软件质量管理和控制。 2.型号软件纳入了产品配套表,对软件产品的研制进行了严格的质量管理。 3.根据软件的规模和安全关键性等级,对软件进行了分级分类管理。 4.落实型号研制人员的岗位职责,软件研制人员经培训合格后持证上岗。 5.制定并实施了大型项目的软件规范。 6.建立并完善了软件独立测试机构,提出并实施了软件仿真测试,加强了软件开发项目组内的软件测试力量,对A、B级软件开展了独立的确认测试。 7.为总结型号软件开发方面的教训,编写了型号软件故障启示录;为总结型号软件测试经验,编写了软件评测文集与案例,建立了测试实例库。 三、我国军用软件质量管理现状 随着军事装备体系化、复杂化、高技术化趋势逐渐显著,各类军用软件的使用日趋广泛,结构日益复杂,军用软件已不再是硬件的附属物,已经成为与硬件并列的、独立的技术状态管理项目。军用软件要求具有很高的可靠性、可维护性和安全性,以保证最大限度地发挥系统的整体作战效能。因此,军用软件开发中必须采用有效的手段和工具进行软件的质量保证活动,以支持开发人员在最短的时间内,用最小的费用开发高质量的软件,满足应用需求,同时减少维护费用。 但是,由于受多种因素的影响和制约,军用软件的质量和可靠性问题一直没有引起人们足够的重视。软件在开发、设计阶段缺乏严格的需求分析和评审;在调试、验收阶段,由于缺乏科学的测试手段也无法对软件进行必要的测试;在使用、维护阶段,不能严格按照软件配置进行管理,造成软件在生存周期中,存在着更改随意性大、质量难控制的问题。这些都不可避免地造成了软件的技术状态混乱,给用户的使用和维护工作带来了困难,影响了战斗力的提高。军用软件质量管理存在的一些不足如下: (一)承制方尚未建立完善的软件质量保证体系 目前,虽然已经建立基本的军用软件质量体系标准,如GJB9001B-2009等,但是实施程度较差。在现阶段,军事科研软件的开发大多集中于军队直属单位中,大多是院校、科研所及相关部门。参与软件开发单位一般较多,但单位内部没有建立较为完善的软件质量保证体系。由于质量体系的不完善导致了软件开发过程缺乏行之有效的管理和监督,软件的质量保证工作基本上是由软件开发者自身完成的。 (二)军方尚未有效参与软件需求定义 软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。但当前的型号研制中,军用软件需求定义阶段缺少军方的有效参与,设计人员无法全面、准确地理解和定义装备的作战使用需求,同时对军用软件隐含的需求(如软件的可维护性)重视不够,导致在后续工作中软件修改、返工频繁,不但影响了软件研制进度,而且一些质量问题和缺陷也带进了后面阶段的工作中,软件质量难以保证。 (三)软件测试不够充分 目前,军用软件承制方多数没有建立专门的软件测试组,而是在软件开发的各阶段主要由开发人员采取自测和互测相结合的方式。由于软件开发人员任务重,他们在测试上不可能花费很多时间,容易走过场,致使测试的作用和可信度大大降低,一些隐含的错误和缺陷被遗留到软件产品交付投入运行阶段。 (四)文档在软件质量保证中的作用尚未引起足够的重视 软件文档是计算机软件产品不可缺少的一部分,它关系到系统能否有效运行、开发和维护,是保证软件质量的一个重要手段,它主要体现在文档本身的可追溯性和可改进性。但是,在实际工作中,文档的形成过程是一项艰苦、枯燥的劳动,人们常常忽视它,致使文档的编制和管理存在着许多亟待解决的问题。一是软件开发人员对文档编制不感兴趣,编制不及时;二是软件文档格式不规范,内容不完整,可读性差;三是文档审核、管理把关不严,未经许可随意更改的现象比较普遍。这些问题导致了软件透明度低、可维护性差。 四、加强我国军用软件质量管理的措施 (一)要突出军用软件质量管理地位作用 随着军用软件在作战、训练、战备、管理等军事领域的广泛应用,其地位和作用更加突出,必须充分认识到软件质量问题的严重性和紧迫性,努力提高军用软件的质量和管理水平。必须针对军用软件研制及使用保障过程中存在的种种不足,强化质量意识,加强质量管理制度建设,建立健全软件质量管理体系,不断提升质量管理能力。 (二)要加强军用软件质量管理的理论研究 军用软件在研制开发过程中,对质量管理理论具有明显的依赖性。针对目前对军用软件质量管理理论研究较少的现状,迫切需要加强相关领域的研究。 1.加强军用软件质量管理基础理论研究。军用软件质量管理基础理论主要包括基本概念和基本原理,军用软件质量管理的特点、要求和原则,以及面对当前软件开发和使用保障过程中遇到的新问题,提出解决的对策、措施和研究重点,以便系统地研究和解决。 2.加强军用软件质量管理基本规律研究。军用软件质量管理基本规律是进行质量管理活动的基本遵循和依据。应根据军用软件自身的特点和要求,借鉴质量管理活动的基本规律,从军用软件的需求分析、设计、开发、测试、定型与鉴定、质量监督、项目管理、验收、配置以及维护等不同活动的特点出发,来研究军用软件质量管理的基本规律。 3.加强军用软件质量管理方法手段研究。要紧贴军用软件质量管理的实际,区分不同活动的特殊要求,围绕军用软件质量形成的全过程,深入开展质量管理方法手段的研究。 (三)要加快军用软件质量管理体系建设 现代高技术武器大量采用计算机系统,军用软件为完成智能化的任务,也越来越复杂,外军已经把军用软件作为装备纳入了管理体系。我军新一代武器陆续装备,指挥自动化系统也初具规模,软件的成分大大增加。但军用软件在设计、开发、测试、维护、使用管理上还很薄弱。因此,针对军用软件的特殊性,建立系统化、正规化的质量管理体系十分重要。 1.建立军用软件质量管理部门。有必要在总部一级建立一个集中统一的软件管理部门,负责制定用以规范和指导军用软件发展的法规、制度和技术标准,在总体上规范和指导各军兵种的软件开发与采办;在各军兵种成立相应的部门,负责指导、规范本军兵种的软件开发与采办工作。 2.健全军用软件质量管理体系。在准确把握军用软件质量需求的基础上,研究如何加强组织体系建设,形成科学合理的质量管理体系,明确各层次、各部门的质量管理职责,提高质量管理的保障能力和水平。 3.健全军用软件质量管理的相关法规和技术标准。健全完善的法规和技术标准是军用软件质量管理的前提。为保证军用软件质量管理的顺利实施,必须加强顶层设计和体系结构的总体规划,建立满足军事需求的、统一的软件体系,结构和标准规范,解决好软件的发展同步、功能配套、兼容匹配。 (四)要提高军用软件质量管理建设水平 1.运用全寿命管理的思想提高质量。对军用软件从需求分析到新系统替代的整个生存周期过程中各阶段及各环节的活动,实施前后衔接、持续不断、首尾响应、协调统一的管理,明确每一个阶段、每一个部门的管理任务和目标。 2.用软件工程的原则与方法研制、开发、维护军用软件。军用软件系统复杂,软件度量、工作量估计、需求变化和风险管理难度大,开发进度和质量难以保证。运用软件工程的思想加强软件开发,有助于提高软件产品的质量和开发效率,减少维护的困难。 3.建立相应的规章制度,明确职责与职权,使软件质量管理工作规范化、标准化。软件开发时间周期长,参与人员、部门多,在整个生存周期内,软件的开发环境、运行环境都会发生变化。通过建立一套评估、控制和实施软件质量管理的机制,有利于实现软件质量管理的科学化、制度化和经常化。 软件质量管理论文:基于过程的软件质量管理在信息化中的应用 【摘 要】随着现代信息技术的发展以及计算机软件开发应用的不断进步,在积极性软件质量管理中,基于过程方法的软件开发与生产质量管理等,已经逐渐成为现代信息化发展中,软件质量管理应用的标志性管理技术方法。基于过程的软件质量管理,对于软件的开发利用来讲具有高质量保证与高可信度的优势。本文主要通过对于基于过程的软件质量管理原理的分析论述,并结合信息化发展过程中软件质量管理的问题,对于基于过程的软件质量管理在信息化中的应用进行分析论述。以提高过程方法在软件开发设计与管理中的应用,推进现代信息化的发展。 【关键词】过程方法;软件质量管理;信息化;管理平台;设计;分析 在软件技术开发与软件设计应用中,最为关键并且重要的问题之一就是对于开发设计软件以及软件技术质量的保障与成本控制实现。近年来,随着软件技术与软件开发设计应用的不断发展进步,对于软件工程的研究发展也有了很大的进步,但是在软件技术质量保证与成本控制方面的问题一直没有很好的得到解决。基于过程的软件质量管理方法技术,就是在这样的发展背景与需求下,逐渐在信息化发展实际中进行应用实现的。基于过程的软件质量管理最早是由美国软件行业在上世纪80年代初期进行提出并应用的,它实际上就是将软件技术的改进发展与软件开发设计过程的改进之间同步进行与实现,通过对于软件技术开发与设计过程的控制,实现对于软件技术质量的管理控制,这样一来不仅对于软件技术和软件应用发展有着积极的作用,而且在一定程度上也推动了社会信息化的发展进步。 1.基于过程的软件质量管理与技术概述 1.1基于过程的软件质量管理含义分析 基于过程的软件质量管理通常也被称为是过程管理方法,对于软件质量的过程管理提出与实现,最早是由美国软件行业在上世纪80年代,以进入以过程为中心的软件技术以及软件产品的开发利用时代为标志。随着美国软件行业中以过程为中心的软件产品、技术的开发利用发展,基于过程的软件质量管理方法以及管理平台在实际开发应用中越来受到欢迎,并且基于过程的软件质量管理平台开发设计的相关要求准则等,也随之出现并发展起来。在对于基于过程的软件管理平台设计建立要求准则中,以美国CMM以及PSP、TSP管理平台的设计应用实现最具有代表性和意义。 通常情况下,对于基于过程的软件质量管理平台与方法中,过程一词多被解释为将输入方式转化为输出方式的一组相互关联或者是相互作用的活动。对于软件产品以及技术的设计实现以及管理过程,又被按照一定的规律关联分解为软件工程过程以及软件管理过程、软件支持过程等三大过程类型。其中,软件工程过程主要是指软件产品以及技术的开发、生产、设计实现过程,包含对于软件技术与产品的需求分析以及编码设计、系统测试等过程步骤;而软件管理过程主要是指对于软件工程的管理维护过程,包含对于软件产品、技术的开发、生产、设计应用等的管理以及维护实施等,比如对于软件开发项目的策划、跟踪监控以及质量保证管理过程等;最后,软件过程中的支持过程主要是指对于软件技术以及产品的开发、设计、生产利用进行支持的过程行为,包括对于软件产品与技术的评审以及培训、度量等过程。在软件工程开发设计以及应用管理过程中,建立相关系统平台,实现对于软件工程系统化与自动化管理控制实现,是在现代信息化发展情况下,进行软件质量管理的有效方法与途径措施。 1.2基于过程的软件质量管理技术概述 在应用过程管理方法,对于软件质量进行管理实现的实际应用过程中,主要的软件过程质量管理技术有CMM软件过程质量管理技术以及PSP、TSP软件过程质量管理技术等,此外,还包含ISO9000系列的软件过程质量管理应用技术,以及IEC15504要求标准下的软件过程质量管理技术。 其中,CMM、PSP以及TSP软件过程质量管理应用技术,是由一家软件工程研究机构研究提出的基于过程的软件质量管理系统模型平台。CMM软件过程质量管理系统模型平台主要是在对于CMMI系统模型结构与人力资源管理思想理念、以及软件开发生产技术、产品相互融合的情况下,最终形成一个完整的CMM管理系统与体系,实现对于软件质量管理过程中的人与技术、管理过程三个方面的管理控制实现。而ISO9000标准系列的软件过程质量管理技术一种由国际标准化研究组织研究提出的通过过程方法实现对于软件工程质量管理的技术方法,它在许多国家和地区的信息化发展中有广泛以及普遍的应用实现,尤其是在政府以及工业发展、信息技术研究领域的应用实现更为突出。 2.基于过程的软件质量管理在信息化中的应用分析 2.1信息化过程中的软件质量管理问题 随着社会信息化的不断发展,信息化发展过程中出现的矛盾问题也越来越多,比如信息化的建设发展各自为政、信息化重复建设和信息化建设成果垄断等问题,在信息化发展的过程中越来越突出。作为社会信息化建设与发展的重要基础和核心部分,软件的开发利用以及发展不仅对于社会信息化的建设发展有着重要的影响作用,更是对于国家生产力水平以及综合实力情况也有着很大的影响。 根据社会信息化发展与软件质量管理的情况来看,目前,在信息化发展过程中,软件质量的管理也存在着一定的问题,首先表现在对于软件质量管理的意识比较缺乏,软件质量管理的重视程度不够。其次,在社会信息化发展过程中,对于计算机软件产品的开发设计与利用过程中,过分重视对于软件技术产品以及项目的开发设计进度、数量等问题,而忽视对于软件产品质量以及软件开发设计过程的控制管理。再次,在进行软件技术以及产品的开发设计过程中,所运用的软件产品与技术的开发设计质量管理体系相对比较落后,并且对于同一个软件产品与技术的开发设计转包现象比较严重,通常存在有多个软件开发方,这对于软件质量的管理以及软件开发的发展进步都十分不利。最后,在进行软件质量管理过程中,缺乏有效的软件质量控制管理体系,也是信息化发展中软件开发设计与管理中的重要问题,如下图1所示。 2.2基于过程的软件质量管理在信息化中的应用 在社会信息化发展中,基于过程的软件质量管理方法,就是通过对于软件需求过程以及软件设计过程等的质量控制与管理实现,同时对于软件的编码以及测试、维护等,基于过程质量控制管理的方式,实现对于软件质量的控制管理实现。具体质量控制管理方式如上图2所示。 首先,在基于软件质量控制管理的软件需求过程的质量管理中,应注意从对于客户管理以及目标控制、需求范围的控制、需求筛选等方面,进行软件需求过程的质量控制与管理实现,保证软件技术与产品的质量。其次,对于软件设计过程的质量管理控制,主要就是根据软件需求分析情况,对于软件总体结构的设计过程与质量进行控制管理,以实现软件过程设计的目标。再次,对于软件编码过程中质量控制管理,主要是通过对于软件编码的过程进行规范,以及做好相应的软件编码代码审查、单元测试的控制与管理;在软件测试过程中,做好软件的单元测试以及集成测试、系统测试三个部分的测试,并对于测试过程进行控制管理,保证软件测试过程质量符合要求。最后,在进行软件产品以及技术的维护过程中,应注意针对不同的软件维护类别,对于软件技术与产品进行改进,以满足客户对于软件产品的需求。总之,基于过程的软件质量管理,就是要结合软件技术以及产品开发设计实现的过程,对于过程方法进行控制管理实施,从而实现对于软件产品的质量管理。 3.结束语 总之,质量管理是企业管理工作中的关键与重要内容部分。而基于过程的软件质量管理更是现代软件质量管理的重要趋势方向,进行方面的应用分析,具有很大的必要性与重要性意义。
软件项目管理论文:中小软件企业项目管理 [摘要]本文结合现阶段中小软件企业蓬勃发展的背景,结合软件开发的流程分析及管理中的成本、进度、质量分析。分析了中小软件企业项目中存在的问题并提出了相应的解决办法。 [关键词]软件;管理;项目;软件企业;生命周期;流程控制 随着我国信息产业特别是软件产业的蓬勃发展,一批批中小软件企业不断涌现。大大推动了我国软件产业的发展。但是不可忽视的是,有相当部分的软件企业特别是中小型企业在项目管理方面存在着先天的不足,大多仍然处于一种手工作坊式运营阶段,处于有章不循和无章可循的混沌阶段,缺乏科学化、系统化的管理,质量和效率都不强。由于处于企业的初创期,中小软件企业忙于找项目、揽项目,从而忽视了自身的实力和行业专攻,从而造成了什么项目都接、什么活都做的局面,且公司人员较少,分工不明确从而造成了此类软件企业管理流程混乱,重编码轻设计,甚至到编码完成后再回头编写、应付各种文档资料,无论从哪个角度来说,这是没有任何意义的。软件项目的开发流程不规范,项目延期、失败层出不穷。所以如何有效地对项目进行管理,有章可循,对于中小软件企业来说,是非常有现实意义的。对于广大的中小软件企业而言,如何能有效且比较简单地对自己的软件项目流程进行管理呢? 项目流程管理在软件项目的开发过程中是非常重要的一环,它贯穿着整个过程,所以有时它也被称为软件产品生命周期管理,主要内容包括:立项、策划、分析、实现、测试、、维护等环节。 首先我们从软件工程角度来谈谈这个问题。我们来说一下软件工程中开发模型的概念,无论大小,每个项目都必定要遵循一定的开发模型。软件常用的开发模型包括:瀑布模型、螺旋模型、渐进模型。那么具体到中小软件企业,在这几种模型中,我们要注意些什么呢?下面我们针对这几种常见的模型做一下分析。 一般而言,瀑布模型常用于在开发时间内需求没有或很少变化、分析设计人员对应用领域很熟悉、用户应用环境稳定、用户除提出需求以外,很少参与开发工作、需求使用面向过程的语言或编程工具且风险较低的项目。 螺旋模型常用于在项目开发早期需求可能有变化、分析设计人员对应用领域很熟悉、用户可不同程度地参与整个项目的开发过程、使用面向对象的浯言或第四代语言、中等风险项目。 渐进模型主要应用于在整个项目开发过程中需求都可能发生变化、分析设计人员对应用领域不熟悉、用户可参与整个软件开发过程中、使用面向对象的语言或第四代语言且高风险项目。 生存期定义可视软件项目特性识别和所选软件开发模型而异,对于软件生命周期的几个环节来说,他们并不是孤立的、时间层次非常明显的,它们之间也存在着时间的重叠交叉甚至错位。 对于项目管理人员来说,要注意区分这几个阶段并在不同的阶段定义不同的工作内容并严格执行。而具体到中小型软件企业,由于人员较少,各种工程外小组不太健全。所以,针对这种情况,我们对各个流程进行分解大致分为调查阶段、立项阶段、策划阶段、分析设计阶段、实现阶段、测试阶段、阶段、维护阶段。 在调查阶段:我们要采集用户需求信息、拟定立项建议最后要生成用户需求文档及立项建议书。 在立项阶段:我们需要编制可行性分析报告、立项申请报告并进行评审最后要形成评审记录。 在策划阶段:我们要任命项目经理、建立项目组。并对需求进行分析、评审。根据需求情况对项目进行资源准备(人、财、物)。在此阶段要形成软件需求规格说明书及测试大纲及需求评审记录。 在分析设计阶段:我们要进行下面的工作系统设计(含数据库、界面设计)、设计评审、用例准备、测试计划评审、项目计划修订、复用元素提取根据情况要形成系统设计文档、集成和验证测试计划、系统设计评审记录、测试计划评审记录、项目计划修订记录。 在实现阶段,我们要进行详细设计、详细设计评审、构造软件(编码、自测)、模块测试、组装测试要形成详细设计文档,评审记录、源程序、相关的测试数据和记录。 在测试阶段,我们要进行集成测试、界面冻结、编写用户使用手册、填写申请单之后进行申请评审要形成集成测试测试记录、报告、安装母盘、用户使用手册子版)及产品介绍。 在阶段,我们要编写培训教材、进行产品包装设计、母盘准备、服务人员培训、光盘刻制、资料印刷、产品包装、产品检验、产品和交付井进行项目总结。 在维护阶段,我们要采集产品问题反馈单、登录问题反馈台账、编发产品问题的E—mail、采集、登录问题反馈跟踪记录表、编报问题反馈跟踪月汇总表、产品问题审核、分类和交付、产品问题回复、本版本产品问题维护、新版产品母盘制作、编、发产品更改公告、问题维护审核、新需求台账登录。 众所周知.影响项目进展的三个维度是成本、进度和质量。如何平衡它们之间的关系,尽力做到快、好、省?在有限资源的情况下将结果处理得最优?这就是项目中管理的学问了。任何项目要被视为成功,都要必须达到几个目的,这其中包括质量要求、截止期及成本限制。质量规定给出了一个最终的定义包括项目的形式、适配性和功能,它定义了项目提交给用户时的最终状态,而且要确保项目符合这些规定。 同时项目的进度也是非常重要的,项目管理的一个重要的职责就是要确定一个合理的交付日期。这就是一处平衡的过程,协调好这三个方面的工作,同时所谓一个项目,进度是主线,其他的因素是围绕它来做的,同时进度也是项目管理的标尺。所以在项目中一旦将会期确定下来,就要将它转化为进度表的形式,并告诉你的项目组成员。当编制进度表时,头脑中要牢记住这个日期。如果你的团队知道要求完成项目的实际期限,他们将受到更大的激励,对他们会更有帮助:当团队成员知道进度的情况时,他们将能够加快自己的步伐,从而为项目的顺利完成做出更大贡献。合理的进度,不应该让项目组成员感到紧张。紧张是个人绩效的一个主要杀手。紧张的人更有可能犯错误,而且一般来说其表现不如最佳状态:一个人犯的错误越多,他对其工作及对其本人的感觉就越糟糕,他就越有可能死火。高死火率意味着高的人员离职率,意味着你要花更多的时间用于更新雇人和重新培训。紧张的工作环境导致雇员的紧张,他们反过来又导致环境更加紧张。这是一种恶性循环,对于人员短缺的中小软件企业而言,这显然是不希望被看到的。 作为一个项目来说,如果没有一个明确的目标。对有些人来说,这种情况可能造成令人难以置信的放松,而对另外一些人来说,它又可能造成难以置信的紧张。那些不知道自己的工作到底是什么的雇员,容易变得紧张;他们拿不准为什么来这里,这意味着不能担保明天他们还会出现。如果你向你的团队成员提出了足够明确的目标,并向 他们展示实现目标的途径,你的雇员不仅不会紧张,而会真的感觉自己是该项目的一部分。可能还会对自己取得的结果感到自豪。而当项目经理用富有挑战性的工作和专门技术来影响员工的时候,项目成果的机率就会增大。 你不仅应当向你的团队成员说明目标,而且你应当让他们参与确定这些目标。并且一般来说让他们参与计划的编制,这是绝对必要的。如果你让团队成员帮助编制计划,你将更有可能提早发现可能发生问题的领域。团队成员也感觉到对项目承担了更大的义务,因为在使项目启动方面,他们有某种利害关系。 同时,在执行项目时,项目经理一定会面对这样的要求,即不超出某种成本限制。作为项目经理,应该制定一个比较详细的预算、计划,你应当告知你的公司或客户这项工作确切地说要花费多少成本:出于你的团队是执行项目的人此时也应该像客户一样,也需要尽可能地了解有关成本的信息,所以我们考虑软件的项目管理的时候,都必须在这几方面对其加以界定及规范,在日常的项目管理工作中要注重这几方面的协调、平衡。 一个项目组,我们也要关注于组织的建设。一个软件项目的成功,团队间的合作及有效沟通也是非常重要的。在交流的过程中,要有效的减少噪音,提高沟通的效率。几乎在所有的项目管理中,沟通问题是必不可免的,对于一些项目经理来说,沟通不佳意味着“没人听我的”,而对于另外的一些经理来说,沟通不畅意味着项目组成员每天到晚一直忙,却不见多少成绩,好多人做着重复的工作,因为彼此之间没有进行有效的沟通。沟通的方式很多,比如说会议、电话、电邮、甚至行为等等。 如果团队成员看起来不愿意沟通,这并不一定表明他们不愿意合作。相反,他们仅仅可能是不愿意以自己不适应的方式进行沟通。所以,为了鼓励沟通,我们必须清楚应该选择哪种沟通渠道,应该选择哪些条件组合,以得到我们所期望的反应。 在项目工作中,万不能对他人颐指气使。维持团队的关系以促进项目组成员齐心协力地工作这才是项目经理所要取得的目标。如果项目经理过多地用权力、金钱或者处罚的手段来影响项目组成员的话,项目失败的几率会很大。和其他方面的管理一样,项目管理既是一门科学又是一门艺术。在平时的管理工作当中,我们不仅要善于将相关的管理知识及管理理论有意识的应用到管理实践中,我们更要发展艺术性的思维。没有完全相同的项目环境,外部环境和内部环境是不断变化的,我们只有在不断的实践中探索才能深刻的体会到项目管理的精髓,不断的成长。同时作为一个项目经理,要有大局观,要具有系统思维。不要受单一项目的局限,要在一个更大的组织视野下考虑项目的实施。 软件项目管理论文:中小软件企业项目管理 [摘要]本文结合现阶段中小软件企业蓬勃发展的背景,结合软件开发的流程分析及管理中的成本、进度、质量分析。分析了中小软件企业项目中存在的问题并提出了相应的解决办法。 [关键词]软件;管理;项目;软件企业;生命周期;流程控制 随着我国信息产业特别是软件产业的蓬勃发展,一批批中小软件企业不断涌现。大大推动了我国软件产业的发展。但是不可忽视的是,有相当部分的软件企业特别是中小型企业在项目管理方面存在着先天的不足,大多仍然处于一种手工作坊式运营阶段,处于有章不循和无章可循的混沌阶段,缺乏科学化、系统化的管理,质量和效率都不强。由于处于企业的初创期,中小软件企业忙于找项目、揽项目,从而忽视了自身的实力和行业专攻,从而造成了什么项目都接、什么活都做的局面,且公司人员较少,分工不明确从而造成了此类软件企业管理流程混乱,重编码轻设计,甚至到编码完成后再回头编写、应付各种文档资料,无论从哪个角度来说,这是没有任何意义的。软件项目的开发流程不规范,项目延期、失败层出不穷。所以如何有效地对项目进行管理,有章可循,对于中小软件企业来说,是非常有现实意义的。对于广大的中小软件企业而言,如何能有效且比较简单地对自己的软件项目流程进行管理呢? 项目流程管理在软件项目的开发过程中是非常重要的一环,它贯穿着整个过程,所以有时它也被称为软件产品生命周期管理,主要内容包括:立项、策划、分析、实现、测试、、维护等环节。 首先我们从软件工程角度来谈谈这个问题。我们来说一下软件工程中开发模型的概念,无论大小,每个项目都必定要遵循一定的开发模型。软件常用的开发模型包括:瀑布模型、螺旋模型、渐进模型。那么具体到中小软件企业,在这几种模型中,我们要注意些什么呢?下面我们针对这几种常见的模型做一下分析。 一般而言,瀑布模型常用于在开发时间内需求没有或很少变化、分析设计人员对应用领域很熟悉、用户应用环境稳定、用户除提出需求以外,很少参与开发工作、需求使用面向过程的语言或编程工具且风险较低的项目。 螺旋模型常用于在项目开发早期需求可能有变化、分析设计人员对应用领域很熟悉、用户可不同程度地参与整个项目的开发过程、使用面向对象的浯言或第四代语言、中等风险项目。 渐进模型主要应用于在整个项目开发过程中需求都可能发生变化、分析设计人员对应用领域不熟悉、用户可参与整个软件开发过程中、使用面向对象的语言或第四代语言且高风险项目。 生存期定义可视软件项目特性识别和所选软件开发模型而异,对于软件生命周期的几个环节来说,他们并不是孤立的、时间层次非常明显的,它们之间也存在着时间的重叠交叉甚至错位。 对于项目管理人员来说,要注意区分这几个阶段并在不同的阶段定义不同的工作内容并严格执行。而具体到中小型软件企业,由于人员较少,各种工程外小组不太健全。所以,针对这种情况,我们对各个流程进行分解大致分为调查阶段、立项阶段、策划阶段、分析设计阶段、实现阶段、测试阶段、阶段、维护阶段。 在调查阶段:我们要采集用户需求信息、拟定立项建议最后要生成用户需求文档及立项建议书。 在立项阶段:我们需要编制可行性分析报告、立项申请报告并进行评审最后要形成评审记录。 在策划阶段:我们要任命项目经理、建立项目组。并对需求进行分析、评审。根据需求情况对项目进行资源准备(人、财、物)。在此阶段要形成软件需求规格说明书及测试大纲及需求评审记录。 在分析设计阶段:我们要进行下面的工作系统设计(含数据库、界面设计)、设计评审、用例准备、测试计划评审、项目计划修订、复用元素提取根据情况要形成系统设计文档、集成和验证测试计划、系统设计评审记录、测试计划评审记录、项目计划修订记录。 在实现阶段,我们要进行详细设计、详细设计评审、构造软件(编码、自测)、模块测试、组装测试要形成详细设计文档,评审记录、源程序、相关的测试数据和记录。 在测试阶段,我们要进行集成测试、界面冻结、编写用户使用手册、填写申请单之后进行申请评审要形成集成测试测试记录、报告、安装母盘、用户使用手册子版)及产品介绍。 在阶段,我们要编写培训教材、进行产品包装设计、母盘准备、服务人员培训、光盘刻制、资料印刷、产品包装、产品检验、产品和交付井进行项目总结。 在维护阶段,我们要采集产品问题反馈单、登录问题反馈台账、编发产品问题的E—mail、采集、登录问题反馈跟踪记录表、编报问题反馈跟踪月汇总表、产品问题审核、分类和交付、产品问题回复、本版本产品问题维护、新版产品母盘制作、编、发产品更改公告、问题维护审核、新需求台账登录。 众所周知.影响项目进展的三个维度是成本、进度和质量。如何平衡它们之间的关系,尽力做到快、好、省?在有限资源的情况下将结果处理得最优?这就是项目中管理的学问了。任何项目要被视为成功,都要必须达到几个目的,这其中包括质量要求、截止期及成本限制。质量规定给出了一个最终的定义包括项目的形式、适配性和功能,它定义了项目提交给用户时的最终状态,而且要确保项目符合这些规定。 同时项目的进度也是非常重要的,项目管理的一个重要的职责就是要确定一个合理的交付日期。这就是一处平衡的过程,协调好这三个方面的工作,同时所谓一个项目,进度是主线,其他的因素是围绕它来做的,同时进度也是项目管理的标尺。所以在项目中一旦将会期确定下来,就要将它转化为进度表的形式,并告诉你的项目组成员。当编制进度表时,头脑中要牢记住这个日期。如果你的团队知道要求完成项目的实际期限,他们将受到更大的激励,对他们会更有帮助:当团队成员知道进度的情况时,他们将能够加快自己的步伐,从而为项目的顺利完成做出更大贡献。合理的进度,不应该让项目组成员感到紧张。紧张是个人绩效的一个主要杀手。紧张的人更有可能犯错误,而且一般来说其表现不如最佳状态:一个人犯的错误越多,他对其工作及对其本人的感觉就越糟糕,他就越有可能死火。高死火率意味着高的人员离职率,意味着你要花更多的时间用于更新雇人和重新培训。紧张的工作环境导致雇员的紧张,他们反过来又导致环境更加紧张。这是一种恶性循环,对于人员短缺的中小软件企业而言,这显然是不希望被看到的。 作为一个项目来说,如果没有一个明确的目标。对有些人来说,这种情况可能造成令人难以置信的放松,而对另外一些人来说,它又可能造成难以置信的紧张。那些不知道自己的工作到底是什么的雇员,容易变得紧张;他们拿不准为什么来这里,这意味着不能担保明天他们还会出现。如果你向你的团队成员提出了足够明确的目标,并向 他们展示实现目标的途径,你的雇员不仅不会紧张,而会真的感觉自己是该项目的一部分。可能还会对自己取得的结果感到自豪。而当项目经理用富有挑战性的工作和专门技术来影响员工的时候,项目成果的机率就会增大。 你不仅应当向你的团队成员说明目标,而且你应当让他们参与确定这些目标。并且一般来说让他们参与计划的编制,这是绝对必要的。如果你让团队成员帮助编制计划,你将更有可能提早发现可能发生问题的领域。团队成员也感觉到对项目承担了更大的义务,因为在使项目启动方面,他们有某种利害关系。 同时,在执行项目时,项目经理一定会面对这样的要求,即不超出某种成本限制。作为项目经理,应该制定一个比较详细的预算、计划,你应当告知你的公司或客户这项工作确切地说要花费多少成本:出于你的团队是执行项目的人此时也应该像客户一样,也需要尽可能地了解有关成本的信息,所以我们考虑软件的项目管理的时候,都必须在这几方面对其加以界定及规范,在日常的项目管理工作中要注重这几方面的协调、平衡。 一个项目组,我们也要关注于组织的建设。一个软件项目的成功,团队间的合作及有效沟通也是非常重要的。在交流的过程中,要有效的减少噪音,提高沟通的效率。几乎在所有的项目管理中,沟通问题是必不可免的,对于一些项目经理来说,沟通不佳意味着“没人听我的”,而对于另外的一些经理来说,沟通不畅意味着项目组成员每天到晚一直忙,却不见多少成绩,好多人做着重复的工作,因为彼此之间没有进行有效的沟通。沟通的方式很多,比如说会议、电话、电邮、甚至行为等等。 如果团队成员看起来不愿意沟通,这并不一定表明他们不愿意合作。相反,他们仅仅可能是不愿意以自己不适应的方式进行沟通。所以,为了鼓励沟通,我们必须清楚应该选择哪种沟通渠道,应该选择哪些条件组合,以得到我们所期望的反应。 在项目工作中,万不能对他人颐指气使。维持团队的关系以促进项目组成员齐心协力地工作这才是项目经理所要取得的目标。如果项目经理过多地用权力、金钱或者处罚的手段来影响项目组成员的话,项目失败的几率会很大。和其他方面的管理一样,项目管理既是一门科学又是一门艺术。在平时的管理工作当中,我们不仅要善于将相关的管理知识及管理理论有意识的应用到管理实践中,我们更要发展艺术性的思维。没有完全相同的项目环境,外部环境和内部环境是不断变化的,我们只有在不断的实践中探索才能深刻的体会到项目管理的精髓,不断的成长。同时作为一个项目经理,要有大局观,要具有系统思维。不要受单一项目的局限,要在一个更大的组织视野下考虑项目的实施。 软件项目管理论文:计算机软件工程项目管理 摘要:计算机软件工程项目管理和开发是一项具有复杂性以及系统性的工程,其涉及面相对较广,在实际的工作中所面临的风险也较大,因此对计算机软件工程项目实施系统和完善的管理是非常重要的。在信息技术以及科学技术高速发展的今天,计算机软件的规模以及复杂程度在不断增加,因此在实施计算机软件工程开发的工作中各种问题也逐渐地显现出来,给企业造成了不必要的损失,为了提高企业的经济利益,增加企业的综合竞争能力,促进计算机软件工程的发展就应该对计算机软件工程项目更好的管理方法和措施进行探讨和分析。 关键词:计算机软件工程;项目管理;管理方法;问题 目前,在实施计算机软件工程项目开发的过程中,软件工程项目管理工作并没有引起工作人员和企业领导人员的足够重视。在实施计算机软件工程管理的过程中,软件产品具有较强的特殊性,且计算机软件工程刚刚兴起,在实施软件工程管理的过程中很多问题并没有得到充分的认识,给工程项目管理带来了一定的困难,由此可见全面地实施计算机软件工程项目管理是非常重要的。下面该文就将计算机软件工程项目管理的内容作为基础,对计算机软件工程项目管理中存在的问题以及计算机软件工程项目管理的方法和策略进行探讨和浅析。 1计算机软件工程项目管理的内容 1.1对于组织机构的管理 在实施计算机软件工程项目管理的过程中对于组织机构的管理是一项重要的管理内容。计算机软件工程项目的管理人员在实际的管理工作中只有设置全面的组织结构,完善组织机构管理的质量才能完成科学管理制度和管理团队的建设。只有完善组织机构的管理才能清楚地划分管理的职责和权限范围,尤其是对于具有较强综合性的计算机软件工程项目来说,必须由专门的技术人员来负责组织机构的管理,进而提高计算机软件工程项目管理的有效性和质量。 1.2软件质量和配置管理 在实施计算机软件工程项目管理的过程中软件质量管理和配置管理有着不可替代的地位和作用。项目质量保证主要是定期地对总体绩效进行评估和评价,完善质量计划编制、项目质量保证以及项目质量控制等过程,对于不能保证项目质量的问题给予进一步的分析,找出具体和具有针对性的解决方法,进而更好地提高软件的质量。同时计算机软件项目管理人员也应该对软件产品的演变过程有一个精确的记录,保证软件配置管理的质量,进而完善计算机软件工程项目的管理工作。 1.3风险的评估以及管理 风险管理主要包括的内容有对风险的正确识别、风险评估以及风险监督和风险解决等,实施风险管理的主要目的是在预测到风险即将出现的时候及早采取措施给予抑制,避免风险的出现和发展。在实施计算机软件工程项目管理的过程中风险的评估和管理是一项重要的管理内容,计算机软件工程项目管理人员应该及早地对项目中存在的风险进行分析和评估,加强对各种可能出现风险的管理,降低各种风险对项目造成的影响,进而提高软件企业的经济效益。 2计算机软件工程项目管理中存在的问题 2.1缺少对计算机软件工程项目管理培训的重视 大多数企业在实施计算机软件工程项目管理的过程中往往会忽略对项目管理的培训,在项目管理培训上投入的精力、人力、物力和财力均相对较少,没有形成一个系统和完善的知识培训体系。很多软件企业只是依靠着某些项目管理工作人员精湛的技术能力以及综合素质,而在项目管理培训方面往往比较盲目,只是走一走过程而已,缺少对计算机软件工程项目管理培训的重视程度,项目管理人员缺少对项目管理知识和培训知识的掌握[1]。 2.2计算机软件工程项目风险控制的意识较薄弱 在目前我国各个企业竞争日益激烈以及经济高速发展的大背景下,各个软件企业在进行计算机软件工程项目开发过程中所面临的风险也越来越大,一旦发生风险就会给企业带来难以弥补的损失,由此可见在实施计算机软件项目管理的过程中风险管理是非常重要的。而目前大多数软件企业在实施项目管理的过程中对风险控制的意识相对较为薄弱,并没有认识到风险管理和控制对于项目管理来说的重要意义,以致不能及时地防范和控制相关管理过程中出现的风险。 2.3计算机软件工程项目管理人员团队意识低下 计算机软件工程项目管理工作人员在实施管理工作的过程中大多数工作人员并不能从宏观上对整个项目进行整体的把握,只是做好自己的本职工作,并没有从大局上对相关的管理工作进行考虑。大多数计算机软件工程项目管理工作人员缺少团队意识,这些管理人员虽然具有精湛的技术和较高的综合素质但是只注重个人能力的发挥,缺少培养新一代人才的观念,缺少带头作用和责任心,导致各种管理问题的出现,不利于企业的更好发展。 3计算机软件工程项目管理的方法和策略 3.1提高对计算机软件工程项目管理培训的重视程度 软件企业在实施计算机软件工程项目管理的过程中应该增加对项目管理培训的重视程度。企业应该增加在管理人员培训上的精力、物力和财力,注重对管理人员实践能力和理论知识的提高。让相关管理人员掌握更多的知识,让管理人员熟悉相关的培训和管理流程,进而更好地提高计算机软件工程项目管理的质量和有效性。与此同时,企业管理人员也应该建立软件工程项目管理培训的审核制度,项目管理人员在上任之前应该给予一定的考核,进而提高计算机软件工程项目管理的质量。 3.2提高计算机软件工程项目管理风险控制管理意识 计算机软件工程项目在实施管理的过程中应该建立有效的风险管理和控制机制,在实施计算机软件工程项目开发的过程中应该要求项目管理人员充分地掌握和学习风险管理知识,熟练地掌握风险识别、风险控制以及风险转移的方法,在项目启动后立即对风险进行识别和管理。与此同时项目管理人员也要保证风险控制和管理贯穿于整个软件项目管理的过程中,采用多种方法和技术手段对风险进行管理和控制,减少各种风险对企业经济效益和软件开发造成的影响[2]。 3.3培养计算机软件工程项目管理工作人员团队意识 企业管理人员在完善计算机软件工程项目管理的过程中应该让相关的项目管理人员从宏观上掌握大局,进而整体性地对整个项目管理进行掌控。同时也要充分地发挥项目管理人员在实际工作中的带头作用,合理地对员工的工作进行安排,对人力资源进行合理的运用。在此基础上也要提高项目管理人员的责任心和团队意识,在充分发挥每一个管理人员和工作人员个人能力的同时培养可以满足企业更好发展需求的新一代人才,提高计算机软件工程项目管理的质量。 4结语 总而言之,在当今这个信息技术和科学技术高速发展的时代,软件工程开发和设计过程中的各个项目所涉及的内容和范围也在不断增加,实施计算机软件工程项目管理过程中各种问题也逐渐凸显,而计算机软件工程项目工作的管理质量也逐渐成为影响软件企业核心竞争力的关键。在这样的情况下软件企业应该充分地认识到计算机软件工程项目管理过程中存在的问题,并通过一定的方法和策略给予完善,进而提高项目管理的水平和质量,促进软件企业的长期、稳定和健康发展。 作者:吴丽娜 单位:宿迁学院信息工程学院 软件项目管理论文:软件工程项目管理需求分析 摘要:科研机构、高校承担的大型科研工程越来越多,软件在工程项目中扮演着重要角色。结合科研领域软件开发特点,介绍软件开发流程管理及质量保障措施等,可为科研软件的质量提高及创新提供一定借鉴。 关键词:科研软件;需求分析;开发模型;质量保障 0引言 随着科研机构、高校承担的国家大型科学工程项目越来越多,在这些大型科学工程中,软件起到不可或缺的作用。如中国科学院高能物理研究所承担的硬X射线调制望远镜项目[1]、BESIII项目[2]中的数据采集软件、探测器和数据监测软件是获得物理成果的基础,而模拟软件和分析软件则直接关系到物理成果的处理和精度。这类软件项目有较深的物理学背景,需要使用一些物理分析和设计方法,实现手段必须符合领域特点。例如,数据存储在粒子物理实验和空间天体物理实验中的要求不同,前者主要采用ROOT[3]格式,而后者则以FITS[4]格式为主,开发所用的常见库和工具也因数据存取格式不同而不同。此外,该类软件应用面较窄,仅限于某一科研领域,其开发很难由软件公司承担,因为软件公司必须投入大量的学习成本,而产品应用又受局限。因此,这类软件的开发一般由科研院所、高校自行承担。然而,目前我国软件整体实力与创新性还不强,人才结构也需要改善[5],一些从事基础研究的机构,软件人才紧缺,且缺乏软件开发管理经验,造成软件质量不高。科研机构从事软件开发的科研人员学习能力强,热衷于追求新技术,如果在方法上给予指导,可帮助其开发出高质量的软件。依托大型工程培养所需的软件人才,不仅有利于大型工程项目的实施,而且还能为国家培养大批软件人才。本文结合该类软件项目的特点和科研机构现状,探讨其软件开发特点,并提出流程管理和质量保障措施。 1科研领域软件开发及其特点 1.1软件项目特点 (1)软件提出者。一般是项目科学家、顾问,他们具有较强的科学洞察力,也能较好地把握软件开发方向,但他们大多只关注宏观问题,而非技术细节,对软件不是很了解,不能用计算机语言和思维描述项目,也无法很好地理解和描述实现流程、细节,因此不能准确估计软件开发难度和工作量。 (2)软件开发者。一般为青年职工和学生,他们熟悉软件开发,但往往不能完全理解项目目标,也不能深刻理解其物理过程,理解过程中往往思维局限性大,缺乏方向。 (3)软件测试者。多数情况下单元测试由开发者承担,集成或系统测试由其他人员完成,部分由用户完成。与开发人员相比,测试人员往往物理基础较好,掌握基本测试方法,但是没有建立起完整的测试体系,而且将软件测试当作“副业”,测试以功能实现为主,对软件细节不了解。 (4)用户。用户一般是物理工作者,他们熟悉研究领域的物理要求,但不能用计算机语言描述需求,往往需求不实际或不够明确。他们对软件要求较高,要求通过物理测试对软件性能和输出结果精度进行测试。如通过运行大数据量检查软件内存和时间消耗,以促进开发者进行算法优化等。 1.2软件项目开发特点 (1)软件需求不够明确。科研领域软件项目一般都涉及到探测器和数据,涉及领域较广,而且需求不断变化。无论是软件提出者还是用户,往往难以用计算机思维或语言清楚描述问题;软件开发者对项目物理目标,特别是物理过程缺乏深刻理解,不能很好地理解软件功能细节及需求。比如,对于一些数据分析软件,提出者或用户难以描述出软件需要完成的功能,而开发者对数据处理流程中进行的数据转换、修正、数据结构重组也缺乏深刻理解。 (2)人员结构较为单一。软件开发中通常一人需要承担多种角色,包括软件需求分析员、设计者和开发者,甚至测试者。这样的职位设定,人员分工不明确,难以深入把握某一领域(比如测试)的特点和方法,从而影响了整个软件开发过程。 (3)软件实现细节难以把握。此类软件一般涉及复杂的物理过程,需要用一定的物理方法解决,但方法并不唯一,不同方法会对结果带来一定影响,而且不同类型数据所依赖的方法也不同。软件开发中还有些研究性课题,只能以接口形式存在于软件中,但预留接口时往往设计较为简单,考虑的情况过于理想,难以满足实际需求。然而,如果设计时考虑得比较复杂,接口较多,又往往缺乏必要的软件技术和经验,不能有效把握细节。 (4)硬件频繁改动增加软件开发风险。软件依赖于硬件,设计初期软件是在理想的硬件设计状态下运行,但如果硬件发生变更或者运行影响因素增加,软件也随之变动,从而加大开发风险。 (5)软件测试及评估缺乏专业水平。由于开发者、测试者与用户的专业测试能力都比较欠缺,难以涉及到核心质量问题,往往无法全面对软件作出专业评估。 (6)人员管理难度大。科研机构、高校一般热衷于科学研究而不是工程项目本身,因此难以兼顾两方面工作。软件提出者和管理人员往往对软件工程缺乏深入了解,难以对开发工作作出客观评价,因此对软件开发的进度和质量带来一定影响。 (7)软件不确定性因素多。随着工程实施,软件提出者、用户会不断改变、增加需求,加上开发者及测试者缺乏相关经验,代码开发不规范、开发人员流动性强等增加了软件开发的不稳定性。另外,为降低开发成本和难度,开发人员通常会引入现成的工具,这可能给软件开发带来隐患。然而,面向某一科研领域的软件开发项目也有自身的优势。如和大型专业软件相比,所需的项目功能不是特别多,部分开发平台具有可移植性,开发人员综合素质较高,学习能力强,英语基础较好。此外,很多工程与国外合作开发,可参考国外成熟软件,并方便引进一些免费的软件框架和平台,如Gaudi[6]框架、天文分析工具库Ftool[7]等。 2软件开发流程管理 2.1确定软件开发模型 科研机构,尤其是一些缺少经验的团队,习惯采用瀑布模型进行开发,主要由于该模型分阶段,且各阶段间存在因果关系,比较符合思维模式。但它会产生大量文档,到开发后期会凸显软件开发缺陷。适合科研领域的开发模型有迭代式模型[8-9](需求变更驱动型)、增量模型(功能驱动型)及快速原型开发[10]等。对于科研软件而言,模型选择需综合考虑软件框架稳定性和开放性、构件独立性以及项目组开发经验等。比如对于需求不明确、流程不清晰、算法不确定的项目(如数据处理软件、分析软件和标定软件等)采用迭代模型或者快速原型开发较好。此外,采用一种模型为主,其它模型为辅,也会得到很好的效果。 2.2加强开发流程控制 无论采用何种开发模型,开发人员必须在每一次开发或迭代中完整实现需求分析、设计、编码和测试等步骤。各阶段的评审或项目报告尤为重要,项目前期要确保软件开发人员准确理解项目需求以及软硬件环境;中期阶段要确保开发流程和方法可靠;后期要通过测试确保软件运行符合要求。 2.3需求分析中注重物理分析 科研软件中一般涉及大量数据操作,而且过程比较复杂,一些原始数据要经过转换、重建、标定及修正等步骤,而且处理不一定是线性的,即相邻数据之间可能有关联。这些功能和性能需求不容易明确,需要着重把握。软件中还可能涉及一些物理算法(比如图像修正、频率分解等),因此在需求分析中需要着重进行物理分析,包括流程梳理、特殊方法和条件选择等。 2.4采用串行开发方式 科研机构人员结构比较单一,往往多项工作并行执行,给软件开发质量提升及人才培养带来不利影响,可将相关性比较强的软件以串行方式开发,数据产品生成软件和数据分析软件可以依次开发。 2.5提高开发人员的主观能动性 软件开发过程中,保障软件项目负责人在经费使用及绩效考核中的话语权,组建凝聚力强的研发团队,对软件开发的进度、质量进行考核。 3软件质量保障措施 (1)加强开发过程中的沟通。科研项目的不确定性带来软件开发需求的变动,用户往往只注重项目需求功能满足,而不关心软件的实现细节,所提出的功能或接口可能不切实际,因此需要加强与用户的沟通,明确软件开发目标。 (2)充分调动开发人员积极性。科研机构软件开发人员往往是科研项目的幕后工作者,其工作成果容易被科研项目成果所掩盖,所以充分调动软件开发人员的工作积极性尤为必要。一方面,为其提供成果展示平台,尤其是展示创新性成果,如将开发中的文档整理成册等;另一方面,在基金申请、职称评定等方面提供支持。科研机构职称评定主要依据取得的科研成果,由于工作内容不同,如采取同样的评审条件,软件开发人员与其他研究人员在同一层次上竞争将缺乏竞争力。可能导致部分人员不愿意从事软件开发工作,或者开发软件的同时还从事其它研究,从而影响软件开发进度和质量。因此,需要根据软件开发人员工作的特殊性,通过有效的激励措施调动其积极性。 (3)培养既懂管理又懂技术的项目负责人。优秀的软件工程项目负责人不仅是一个好的软件设计师,对软件实现细节能够很好的掌控,还是一名优秀的管理者,能科学配置资源。 4结语 面向科研领域的软件具有较深的行业背景,其设计方法、实现手段有很强的领域依赖性。本文从科研领域特点及软件提出者、开发者、测试者、用户的角度出发,探讨了其需求难以明确、人员结构较单一且管理难度大的特点。在软件开发管理过程中,需要采用合适的软件开发模型,注重流程管理,充分调动开发人员的工作积极性。 作者:赵海升 李兵 聂建胤 宋黎明 单位:中国科学院高能物理研究所 软件项目管理论文:软件工程项目管理在软件开发中的应用 【摘要】 随着软件深入到我们生活的各个领域,人们对软件的特性以及功能要求越来越多,要开发出一个优秀的软件,必须综合不同的用户的不同的想法。另外加上企业、个人和政府的信息需求日益复杂,现在的计算机程序不再是一个人能够轻松构建,而是需要一个庞大的团队共同努力。并且各种形式,各种应用领域的软件都需要工程化,所以,产生了软件工程,整个软件工程过程中的项目管理方法是非常重要的,本文主要根据软件开发中项目管理涉及的人员、产品、过程和项目四个方面来讲述了软件工程项目管理的具体内容。 【关键词】软件工程;项目管理;管理方法 1软件工程开发概述 软件工程是建立和使用一套合理的工作原则,以便经济地获得可靠地、可以在实际机器上高效运行的软件。软件工程方法为构建软件提供了技术上的解决方法,包括沟通、需求分析、设计建模、编程、测试和技术支持。 2软件工程项目管理方法在软件开发中的应用 有效的项目管理集中在4个方面:人员、产品、过程和项目。 2.1人员 在IEEE发表的一项研究中提到,当向3个大型技术公司中主管工程的3位副总裁问及一个成功的软件项目中最重要的因素是什么时,他们回答会的的第一重要的因素不是他们所用的工具,而是人员。 2.1.1项目利益相关人员每个项目的利益相关人员有高级管理者、技术管理者、开发人员、客户和最终用户参与,为了高效率的完成项目,整个团队必须能够发挥好每个相关人员的能力和技术,这是团队领导者的任务。 2.1.2团队领导者项目的管理需要很多相关者的努力,作为一个团队的领导者,第一要具有一定的实力,必须能够掌握整个项目,还要能够理解团队人员,能够用自己的语言来影响整个团队。 2.1.3软件团队优秀的团队结构取决于组织的管理风格、团队里人员数目与技术书评,以及问题的总体难易程度。规划软件工程团队结构时应该考虑待解决问题的难度、开发程序的规模、团队成员需要共同工作的时间、对问题做模块化划分的程度、待开发系统的质量要求和可靠性要求、交付日期的严格程度以及项目所需要的友好交流的程度等因素。 2.2产品 不管喜欢与否,从项目一开始,就要研究应该开发哪些产品以及要解决哪些问题。至少我们要建立和界定产品的范围。 2.2.1软件范围软件项目管理首先要做的就是确定软件范围。确定范围主要考虑要开发的软件如何适应于大型的系统、产品或业务环境,软件要产生哪些客户可见的数据对象作为输出和软件要执行什么功能才能将输入数据变换成输出数据等问题。 2.2.2问题划分问题划分是软件需求分析的核心活动。在确定软件范围的活动中,并不试图去完全分解问题,只是分解其中的两个主要方面:必须交付的功能和内容和所使用的过程。 2.3过程 团队选择过程模型主要适合于需要该产品的客户和从事开发工作的人员,产品本身的特性和软件团队随处的项目工作环境。软件团队在选择最适合项目的软件过程模型时,应该具有很大的灵活性。一旦选定了过程模型,项目团队可以根据需要灵活地确定过程模型中应包含的软件工程任务。较小的项目如果与以前开发过的项目相似,可以采用线性顺序方法。如果时间要求太紧,不可能完成所有功能时,增量策略可能是最好的。同样的,如果项目具有其他特性,可能就要选择其他过程模型。作为项目负责人,要特别注意与用户保持联系,掌握用户的心理和动态防止来自用户的各种干找和阻力。 2.4项目 为了更好地管理软件项目,我们要注意以下几点: (1)在正确的基础上开始工作。通过以下两点来实现:首先努力的正确理解要解决的问题,然后为每个参与项目的人员设置现实的目标和期望。这一点又通过组建合适的开发团队,并给与团队工作时所需的自由、权利和技术而得到加强。 (2)保持动力。很多项目的启动都有一个良好的开端,但是,后来慢慢地开始瓦解。为了使整个项目开发过程人员充满动力,项目经理比喻采用激励措施,使人员变动更小,让每个任务都高质量的完成。 (3)跟踪进展。对于软件项目而言,当工作产品正在产生或被认可时,跟踪项目进展要作为质量保证活动的一部分。 (4)做出英明决策。总体上,项目经理和软件团队的决策应该“保持项的简单性”。 (5)进行事后分析。建立统一的机制,从每个项目中获取科学系的经验。 3结语 软件工程项目管理是软件工程的普适性活动。它先于任何技术活动之前开始,且持续贯穿于整个计算机软件的建模、构造和部署之中。项目管理中的人员、产品、过程和项目对软件项目管理具有重大的影响。要顺利完成软件开发,就必须将人员组织成有效的团队,激励他们完成高质量的软件工作,并协调他们实现有效的沟通。产品的需求必须考虑客户与开发者的想法,设计更合适的产品。过程必须适合于人员和产品。最后必须采用确保软件团队能够成功的方式来组织项目。 作者:王明 单位:首都经济贸易大学 软件项目管理论文:计算机软件工程项目管理研究 1软件工程项目管理中存在的问题 1.1缺乏管理意识 在软件工程项目处理中,有些项目经理没有强烈的认识到本身的责任,无法从总体上掌控全部项目,只是静心于详细的技术工作,造成项目组成员之间忙的忙、闲的闲,打算不周、使命不均、资本奢侈等近况。有些项目经理没有很好的管理方法,本身做比力坚苦的事情,使项目使命没法公道的分配给小组成员,以到达事情“负载平衡”。在涉及相关软件技术方面的企业中,项目经理大部分是团队中的技术中坚力量或者是主要技术人员。但是,在详细的项目实施细节中,无论是项目基本的常识,或是项目实施必备的能力与本领,他们还存在着很大的晋升空间。技术骨干在担当项目经理之前,最佳的选择是提前练习与实践相关的项目办理常识。项目经理需要的不仅仅是技术上的常识,更多的是与人来往配合的常识,需要指出的是人际间的交往能力是其必需的业务素质之一。另外,项目的负责人还要有比较强烈的责任意识,并且在现实工作中不断提高本身应该具备的责任品质,积极践行责任行为,树立好的标杆与榜样,为团队整体的发展负责。这是项目实施的具体路径所决定的,没有领头羊一切将很难开展与执行。 1.2存在风险管理 项目风险与预防潜在危害的意识是一种非常重要的意识,在任何项目在举行方向与正式实行以前,作为项目的负责人要从危害存在的大概性动身,对其大概致使的危害系数举行预先的判定和做好需要的预警备案。任何项目都有必然存在的潜在的风险,但是最好人工的准备,风险的危害最大水平的降低是对项目负责人能力与水平的重要考量,其必需做好足够的准备工作来应对随时发生的变故。有些项目经理在工作中并没有充分认识到风险管理的重要性,对企划书中风险管理进行了粗略介绍,敷衍了事的随意列出几条危害,写一些简略应答办法,对后来的风险防范起不到任何作用和影响。 1.3内部沟通问题 在软件工程项目的进展与实施过程中,人际间的配合与合作是不可缺少的,但是由于秉性的差异,沟通与交流中的障碍与差异会影响团队的协作与凝聚。很多开发的工程项目的规模比较庞大、复杂,项目经理就很难协调小组成员之间的关系。项目团队中就很有可能出现不同角色之间的分工不清、责任不明,导致的工作互相推诿、出现问题推卸责任的情况。有时还会发生组员之间不进行沟通联系,各做各的工作,不愿意和别人合作,最终导致的项目无法按时完成等问题,产生不必要发生的损失。为避免以上呈现的现象在软件工程项目的研发与实施过程中,项目经理应制定有效的交流轨制和交流机制,增强团队队员之间的配合意识,对由于贫乏交流而产生的差错要进行规避与责罚。进度控制的问题在软件开发工作过程中,由于种种原因无法按时完成工作进度,延期项目的进度也是经常有的事情,有可能会带来很严重的损失。这时就需要项目经理来有效的节制团队的工作进度,对应项目进度的个体意义进行判断,事前或实时采纳需要的办法,尽可能缩小预期进度与现实进度的误差,实现对项目的自动管控。 2软件工程项目管理对策 2.1完善管理体系 首先,计算机软件工程项目管理的体系要对人才进行有效并且合理的管理,建立一个完善的、合理的人力资源管理体系。其次,团队职员要有杰出的本领与功底,而且队员要有求知欲和上进心,可以不竭的进修计算机软件工程项目办理的热情,有用的将履历和实践。最后,团队中的队员要履行工程项目中的规章制度,严苛的奖惩制度也会在必然程度上增进队员,激发他们的主动性,使得队员更踊跃的为项目尽力。 2.2提高进度与风险管理工作的效能 项目经理首先应加强项目进度的处理,项目进度计划的制定指,利用时间进度完善办理进程的功效,来抉择项目的起头及完成的时刻表。成立一个实际的项目进度计划的进程,和公平合理的、有效的管控好计算机软件工程项目办理中,全数小组成员的任务状况。 计算机软件工程项目办理的职员,应答危害办理的常识、危害方法的常识、量化的方式,和危害管控的方式举行有用的把握和认知,为计算机软件工程项目办理做好有用的危害办理陈述,而且做好有用的危害防备事情。风险在项目完成之前的过程中都有可能会发生,所以需要项目经理定期的对软件工程项目进行风险评估,对不同等级的风险进行使用不同的应对措施来处理问题,必要时期可以采用规避、减缓等处理方式。当前在软件项目控制中的一个非常重要的应用是对信息的优化处理与分析,从而做出比较科学的判断与预测,随着近几年来,软件在项目控制中的深入应用,特别是各种计算方法的不断普及,项目控制在“软计算”等方面取得了非常长足的进展。这些都是我们在未来的项目工程现代化技术的发展方面应该急需解决的问题。 2.3建立合作式团队 我国在项目管理方面的科研人才存在着很大的缺口,这一点严重地制约了我国项目管理的现代化技术发展,因此,构筑合作团队非常重要。第一要素是信任感。这意味着一个有凝聚力的、高效的团队成员必须学会迅速地、平心静气地熟习自己的诟病、错误、失败。他们还要乐于承认他人的优势,即便这些优势超过了本身。以人的软弱与退缩是很难形成有战斗力的集体的,这与高效管理的初衷也不尽符合。第二要素超卓的团队需要领导带头。团队成员全力以赴,由于他们很清晰必要做什么,他们会彼此排除别人那些无助的行动而恰恰是这类无怨无悔的行为,才培育和培养了他们对彼此的负责与担当。第三要素增强职员之间的联系。可以按期见面开会,开会前先把议题准备好,会中有记实,吩咐有记实总结、存案,除正式交往,队员之间也要非正式练习,连结事情关系,增强感性与亲情的融会是队员的一种需求。 3软件工程项目对策的有效性分析 当前在软件工程项目中的一个非常重要的应用是对各种信息的优化处理与分析,然后制定相应的对策,来实施对各类问题的有效解决。 3.1对策的针对性 对策目标的针对性,是指备选的对策必须是依据项目管理中给出现的问题,提出的解决方案。文中第三部分指出的三条对策都是根据软件工程项目管理中可能出现的三种问题,一一对应提出的,每一条都是根据问题提出的相对应的解决措施。这中针对性要从不同的问题性质的本身来设定不同的方案,在实践过程中,对策的针对性是解决问题的关键所在。 3.2对策的实用性 对策必需遵循主、客观条件,并在此基础上提出清楚的而不是模糊不清的、可操作的而不是脱离实际的对策。提出的三种对策都是在现实能够达到的基础上制定出来的,清晰地指出应如何处理项目管理中出现的问题。所以,从问题对策的实用性出发,探究其发展的对策具有非常重要的积极意义。 3.3对策的可行性 对策的可行性指对策与问题之间是否存在一致性。同时,政策的制定应该遵循各种主观与客观的要求,在了解清楚的基础上进行对应性的应答。当政策与具体问题出现严重的不对称时则非常容易造成意外的损失。 作者:郎晓菲 软件项目管理论文:计算机软件工程项目管理思考 计算机软件大体分为三类,一种是总述,一种是系统软件,一种是应用软件,系统软件的作用是促使各个硬件按照一定的规律协调工作,保证计算机处于正常运转状态。而应用软件的作用则是为了实现某种使用愿望而开发出来的软件。 1计算机软件工程项目管理的基本概念 1.1工程项目管理的含义工程项目管理主要是业主通过委托从事工程项目管理的企业,签署相关协议,工程项目管理企业有义务和权力代表业主在工程项目进行的情况卜干预和服务。工程项目管理企业可以协助业主同项目工程总承包签订一系列合同,只是起到辅助性作用,不直接与总承包企业或者施工、勘察、供货和设计签署协议或合同,工程项目管理企业有责任在施工过程中监督合同的完成情况。 1.2软件工程项目的概况 1.2.1管理人员开展有序的项目计划 企业必须把人员管理放在重要位置,在软件工程项目的开发上人员的调配问题是保证工程顺利进行的重要因素,因此,项目能否成功和工作人员的工作能力、写作能力息息相关,针对工程项目的操作类别不同,可以分配成各个研究小组,进行科学合理的针对性开发和高效的协作,有利于工程的快速推进和更加完善。小组内的人员根据自身优势,确定自己的工作内容和工作时间。对项目进行正确的认识和对风险进行评估,与此同时从节约成木的方而出发,形成科学的人力资源调配机制,使项目得以顺利开展。 1.2.2质量和配置管理工作 软件的质量管理工作是整个项目的核心工作,质量管理决定着计算机软件工程项目管理是否真正的成功,通过一系列保证质量的手段,有计划的编制、控制和保证项目质量。保证项目质量的方式可以通过定期的进行质量评估得以实现,在日常项目管理中要不断的对工作进行考查,对于项目不合格的地方要提出意见并且考虑整改措施,不断完善整个软件配置管理的记录工作,使项目的质量能有一定的检测体系,这样开发者会对项目工程的质量问题有比较深入的了解。 1.2.3风险评估和管理工作 风险管理大致分为两种工作,一种是风险识别,另一种是风险评估。得到评估结果以后要针对问题提出相应的解决办法,定期检测计算机软件工程的好处是可以减小产生风险的概率,还可以避免一些因疏忽而产生风险,使项目的损失减少到最低,也减少了因项目风险而造成的一些相关责任人的利益冲突。 2计算机软件工程项目管理中存在的问题 2.1管理团队的协作问题 分工合作是我们完成一个项目的基木因素,在软件开发方而更需要每个人的智慧一起凝聚出果实,共同享受成果,而目前在计算机软件工程项目管理方而信息的交流方而存在一些问题,例如分工不清、团队不合作等问题。 2.2需求分析和实际中的业务存在差距问题 计算机软件工程项目没有结合实际的活动需求,也没有调查有效的数据分析,因此计算机软件工程项目管理在开发出新的产品以后并没有取得理想的业务效果。 2.3风险管理的问题 项目的风险工作是企业需要考虑的很重要的问题,如果风险没有相应科学管理,很容易带来巨大的损失,但是很多员工并不懂得如何规避风险,缺乏相应的专业知识,更是缺少对风险工作的管理,导致很多企业在风险来临时无法做出正确行动,造成巨大的经济损失。 3计算机软件工程项目管理的对策 3.1对风险管理和工作进度进行有效管理 制定风险管理制度。计算机软件工程项目管理的工作人员必须具有一定的风险识别意识和相应的遇到风险的专业知识,并且能有效的控制风险的能力。在平时要做好风险评估的管理报告,针对可能发生的风险要及时预测并且做出相应的解决行动。设置专门的人员对计算机软件工程项目定期进行风险的评估和检查工作。在整个项目中,根据需要进行多次的风险管理工作,因为风险无时无刻都有可能存在,检查的目的是尽量减少风险发生,在一般情况卜处理风险的措施一般有三种:减缓、规避和转移。提高工程的进度,不断的推进工程的工作效率。要制定详细的工作计划表,并且尽可能达到最高的工作目标。工作人员有严谨的工作态度和高效的作息时间安排,管理人员要密切关注工程进度,不断的督促员工完成应做的工作量,有条理、高效的完成对员工的工作任务的监督工作。 3.2建立完善的管理体系针对计算机软件工程的人员日常管理工作,要建立科学有效的管理方案。合理安排人才资源,确保在进行计算机软件项目工程时人员调配顺利进行。专业知识的培训对于工作人员来说 是必不可少的,可以极大的丰富计算机软件工程项目人员的专业水平和实践能力,减少工作上的失误,提高工作效率和工作人员的素质。奖罚制度是对企业员工优劣的衡量标准,所以在计算机软件工程项目管理方而采取奖罚制度可以极大程度上调动员工的积极性,使员工主动为企业创造效益,企业的发展才能有长远的未来。 3.3建立合作的团队 在员工内部建立有效的交流机制。员工的内部工作经验交流是非常重要的,因此要完善沟通方法,开辟多种交流方式和渠道,不断的增强各个部门的沟通意识,使团队的力量不断凝聚起来。明确分工,责任落实到个人。计算机软件工程管理非常复杂,需要的人员也众多,因此必须要使每个员工明确自己的工作内容和范围,清晰的划分自己所需要负责的区域,清楚自己的责任,这样能够确保每一个步骤都井井有条,非常有秩序。调动整个团队的工作积极性。通过一些活动、奖励措施等使每一个工作人员全身心的投入到工作中去,愿意并想要去做的更好,不断激发团队的潜力和员工的协作能力,这样项目不仅会做的越来越好,员工内部也会越来越和谐并且充满正能量,企业的效益也会不断得到提升。 4结语 计算机软件工程项目管理的工作内容十分的复杂,要保证软件工程按照工程原计划进度顺利开展工作,并且要节约成木、保证质量,必须熟练对计算机软件进行操作,在现在的大多数生产计算机软件的企业中最为重要的就是软件工程项目的管理效率,软件工程项目的成功条件是软件项目要具有科学性和高效性,在此基础上企业的合理管理也是企业走向成功的关键。 作者:陈瑾 单位:徐州工程学院 软件项目管理论文:软件开发项目管理论文 1在软件开发中实施项目管理的重要性 有时即使不开展项目管理工作,软件开发项目也能取得成功。但是如果乏项目管理,则难以将成本控制在一定范围内,容易导致软件企业面临着亏损的风险。在开展项目管理工作的过程中,需要借助技术、方法等,管理软件开发活动,如此既有助于实现软件开发目标,又能够控制软件开发的进度以及开发成本。当前,虽然有部分软件企业依据软件工程理论,制定了管理软件开发的制度,但是却没有严格控制软件开发的进度以及成本。这种做法不仅会延长软件开发的时间,还会增加软件公司的经营风险,最终损害到相关用户的利益。而在软件开发过程中,开展项目管理工作,就有助于保证软件开发工作的顺利完成,同时提高软件企业的经营管理效率。 2项目管理在软件开发中的应用现状 在二十世纪六十年代中期,人们发现了在开发软件过程中存在着很多问题,具体的问题表现在以下两个方面:一方面,不规范的生产过程;另一方面,不重视管理工作。为了能够有效解决软件开发过程中存在的问题,人们开始尝试利用过程管理方法。但是到了二十世纪八十年代,还是没有制定管理软件开发过程相关标准。近几年来,在信息技术快速发展的背景下,人们采取项目管理来控制软件开发的质量、软件开发的成本等,以此确保软件开发的质量和成本等因素,符合当时的既定标准。在软件开发过程中,每一个项目组的不同成员都应该承担不同的任务,并且企业管理者应该要求他们要在规定的时间内完成自身的任务,这种明确分工制度,有助于提高员工的工作效率。 3项目管理在软件开发中的应用 每一个软件开发项目都要经过以下几个阶段:提出问题、研究可行性、分析需求、测试等。因此项目管理工作应该贯穿于软件开发的整个过程。 3.1可行性研究 无法开发哪一个项目,都需要进行可行性分析与研究。通过利用项目管理来研究软件开发项目可行性的目的在于:在最短的时间内确定软件开发项目是否具有开发的价值。其中可行性研究的内容包括: 1)、研究技术的可行性。其主要是指:要合理地分析开发项目的功能与性能,分析其中所隐藏的技术风险。 2)、研究经济的可行性。其主要是指:估计所开发的项目给企业带来的经济效益,然后依据所估算的经济效益,确定该项目是否具有投资的价值。 3)、研究社会的可行性。其主要是指:分析此项目的运行方式是否正确,分析当前的人员技术水平以及管理制度是否具有可行性。 3.2软件项目估算 在软件开发过程中,首先要规划软件开发项目,如此便于项目管理人员制定切合实际的估算方案。规划软件开发项目的内容主要包括:明确软件开发的目标、明确软件开发过程中需要用到的各种资源、明确软件开发的进度等。在软件开发过程中,估算起着非常重要的作用。通过估算可以保证软件项目在规定的时间内完成,也可以确保软件项目的成本未超出预算。在估算资源、成本以及进度的时候,要依据自身丰富的经验以及相关的数据。但是当前所使用的估算方法较为单一,此种估算方法容易增加估算风险。对此,研究人员应该努力研究出更多科学、有效的估算方法。 3.3软件项目开发人员的管理 在开展软件项目开发人员管理工作的时候,首先要合理安排人员。通常情况下,是由多个小组成员共同完成软件开发项目。在具体安排人员任务的时候,要依据每位人员的优势进行,并且要明确小组内每一位成员的工作任务以及工作目标。在软件开发过程中,要确定不同的责任人,比如:项目经理、开发经理,并且为每一个小组安排一名组长,如此有助于确保软件开发项目的顺利完成,同时保证所开发出来的软件属于高质量产品。 4结束语 虽然项目管理过程中并没有包含较为深刻的理论,但是要想真正实施项目管理还是比较困难。对于软件开发企业来说,其应该在不断的实践中总结项目管理工作经验,以此提高项目管理工作的质量。 作者:侯凯 单位:锦州银行股份有限公司
计算机软件基础论文:计算机软件开发的基础架构原理研究 摘要:计算机软件开发行业的发展得益于当前信息技术的快速发展和信息受众不断增加,当然计算机软件开发也需要遵循特定的规律,依照其基础架构原理来进行操作,才能够保证计算机软件开发朝着有效性的方向发展。且计算机软件设计的过程,就是在逻辑关系的引导下,实现软件内容的重新确定,进而形成对应的基础架构,这是软件运行的前提和基础,甚至会影响到后期软件系统的维护和管理工作。由此积极探讨计算机软件开发的基础架构原理,是很有必要的。文章由此入手,积极探究计算机软件开发的概况,进而分析计算机软件开发的基础架构原理。 关键词:计算机软件开发 基础架构原理 信息技术 计算机软件设计的过程,就是在逻辑关系的引导下,实现软件内容的重新确定,进而形成对应的基础架构,这是软件运行的前提和基础,甚至会影响到后期软件系统的维护和管理工作。由此积极探讨计算机软件开发的基础架构原理,是很有必要的。 1 计算机软件开发的概况 1.1 计算机软件开发的概况 计算机性能的不断提升,使得人机交互效益得到不断展现,越来越多的行业开始尝试以计算机软件开发的方式,实现自身运营模式的信息化转变,由此以对应需求为基础的软件开发行业得到了快速的发展。计算机软件开发具备以下的特点:持续性特点,就是软件开发是一个循环往复的完善过程,在计算机逻辑基础上,计算机软件的缺陷是一直存在的,只有不断的采取措施去修正,才能够更好的发挥计算机软件的性能;针对性比较强,往往都是针对于某一行业或者领域而开展的计算机软件开发工作,其开发工作的目的性更强,对于效益的追求也是更加强烈的。 1.2 计算机软件开发基础架构的重要性分析 当前计算机软件开发过程中,使用量比较多的基础架构,就是三层结构体系,其分别可以归结为:其一,表示层;其二,逻辑层;其三,数据层。在上述三个层次的基础上,可以使得软件的人机交互界面展现出良好的性能,使得逻辑关系和计算机语言之间得以分离,这样在后期维护和修改的时候,单独的对人机交互模式进行调整,就可以使得软件开发的节奏变得更加快捷。由此可见选择合理的计算机软件开发基础架构,对于软件性能的最大化发挥,对于软件后期的维护和管理工作质量提升而言,都是有很大帮助的。 2 计算机软件开发的基础架构原理分析 2.1 从计算机软件开发基础架构需求的角度来看 无论是开发设计怎样的软件,都需要在明确开发目的的基础上进行,也就是需要对于软件的需求进行全面分析。不同的企业,归属的领域不同,所需要展现的功能也是很有差异性的,此时企业都会提出对应的软件开发需求。在此过程中,计算机软件开发者与信息企业之间会展开大量的协商工作,对于软件的功能进行分析,结合企业业务运行特点,实现计算机软件开发方案的敲定。为了做好需求分析方面的工作,需要特别注意以下几个方面的工作:建立完善的软件企业与需求企业之间的沟通机制,保证在软件需求分析的过程中,能够充分的了解企业组织的业务特点和规律,保证软件开发需求能够更加明确。 2.2 从计算机软件开发基础架构编写的角度来看 计算机软件开发基础架构需求分析结果得出之后,就需要进行实际的软件编写工作,从当前的实际情况来看,多数使用的是C语言,这种语言的特点为:语言结构结构比较好,编写操作比较快捷,是当前程序员使用频率比较多的语言模式。在实际的软件编写的过程中,会依照对应的功能划分,实现不同模块的敲定,保证不同模块都能够发挥自己的功能,此时需要建立对应的函数模式,使用这样的主函数对于各个模块进行调节和改善,这样可以保证结构能够更好的维护。当前一个计算机软件的开发工作,都是有多个程序员来共同完成的,这样可以尽可能的保证软件编写工作的高效性。 2.3 从计算机软件开发基础架构测试的角度来看 在计算机软件开发基础架构编写工作完成之后,就需要对于软件的不同功能实现测试,实现对于软件测试阶段的管理和控制,是保证软件性能发挥的关键所在,这也是将对应计算机软件投入使用之前必然要进行的工作。在此过程中,需要关注以下几个方面的内容:其一,输入特定的参数,对于软件的运行情况进行记录,验差运行情况与理论情况之间差异性;其二,使用白盒子和黑盒子的方式去进行测试,同样对于软件测试的效果进行记录,由此实现实际计算机软件开发工作的顺利开展;其三,除了测试工作之外,还应该做好计算机软件开发基础架构的维护和管理工作,定期对于软件的性能发挥进行检查,并且推出全新的版本,进而实现软件自身的修复,这样可以使得其自身的性能得到全面提升。 3 计算机软件开发基础架构选择的基本原则 计算机软件开发基础架构的选择,关系到计算机软件效能的发挥,牵涉到各行各业信息化的快速发展和进步。在选择计算机软件开发基础架构的时候,需要关注以下几个方面的内容:其一,树立软件设计目标意识,在需求分析的基础上,对于不同的基础框架进行选择;其二,使用先进的逻辑语言和编程技术,对于计算机软件架构进行合理的编写和操作,由此才能够保证基础架构开发工作的高效性;其三,依照软件目标功能和结构选择之间的关系分析,选择合适的结构,进而使得软件开发行为朝着有目的性的方向发展和进步;其四,注重计算机软件开发团队的塑造,处理好不同模板开发之间的关系,保证计算机软件基础结构选择得更加科学和合理。 4结语 综上所述,计算机软件开发过程并不简单,其中不仅仅涉及到专业领域的知识,还关注到计算机软件基础结构的原理,处理好这两者之间的关系,才能够保证计算机软件开发的基础架构工作朝着更加高效的方向发展和进步。从当前计算机软件开发基础架构原理的运用实践来看,其基础架构选择还存在很多不合理的情况,此时就需要采取对应的措施来改善和调整,相信随着在此方面实践经验的积累,计算机软件开发的基础架构将会展现出更加大的效能。 计算机软件基础论文:计算机软件基础课程实验教学研究 摘 要 计算机软件基础是一门实践性强的课程,为增强教学效果,增强学生的编程能力,强调以学生为本,提高学生的学习兴趣;实验教学应尽早介入教学过程,让学生边学边用;建立多层次实验教学内容,发掘学生实验潜能;建立多样化实验教学方式,方便学生自学。把实验教学做好做实,既能巩固理论知识的学习,又能切实提高学生的编程能力。 关键词 计算机软件基础;实验教学;编程能力 计算机软件基础是我国高等院校电类非计算机专业本科生的一门基础课,为相关专业学生打下利用计算机语言编写程序的基础,为后续专业课的课程设计、实践环节以及最后的毕业设计做准备,其重要性不言而喻。然而在实际教学过程中,由于多方面的原因,使得本课程教学效果不佳,学生普遍编程能力不强,甚至影响了后续部分课程的学习。要提高学生的动手能力,关键还是要多练。本文在肯定理论教学重要性的前提下,着重就计算机软件基础课程的实验教学部分进行分析,对实验教学环节的介入、实验内容的优化以及实验教学方式等提出一些探讨性的做法。 1 坚持“以学生为本” 计算机软件基础教学如何实现教学目标,其关键的一点就是以谁为出发点,是以教为主,还是以学为主,还是实现教学互动,教学互长,教学互推。从目前的现实状况来看,以教为主的弊病还很明显,迫切需要改变,实现以学生为本,实现教学互动。 以“教”为主的模式已经成为制约学生创造性、积极性发挥的重要因素 计算机基础课程从本质来看应该是一门实操性课程,其涵盖的内容广泛且繁杂,而且实验性强是该课程的基本特点,甚至可以说离开了实验操作,也就实现不了其课程目的。然而从目前的课程安排状况来看,以书本理论知识教学为主仍是该课程教学的主流,计算机软件基础教学都侧重书本理论学习,而忽视了学生实验环节。实践证明,这种教学方式就跟学游泳不下泳池,学骑车而没有自行车一样,学生在学习计算机软件基础知识时,绝大部分是事倍功半,导致学用脱节,无法学以致用。更有甚者,有些学生直到课程结束连最简单的程序编写都掌握不了,这既给教师教学造成很大的困惑,也彻底地打击了学生的自信和学习该门课程的积极性,更遑论实现知识创新,成为软件人才了,这与教学初衷显然是不符的。 原因是在现有的教学模式中,课程实验环节的设置和实验环节介入的时间发生了问题。从实际情况来看,实验环节介入越早,实验安排越多,教学效果也越好。而部分采用边教学边实验,教学与实验融为一体的教学方式,其实现的教学效果更是明显。因此,改变现有的以教为主的教学模式,从理论和实践上探索该门课的一些新的教学方法,已经成为计算机软件教学题中之义,不断创新教学方式,才有可能从根本上改变现有的学习费力不讨好、效果欠佳的状况。 深入浅出地解析理论知识是增强学生学习兴趣的重要途径 “学生是教学活动的主体,教学活动要以学生为中心而展开”,这已经成为现代教学理念的主流观点。从学生学习的心理来看,一方面由于计算机软件课程是基础课程,学生对学习开始阶段接触的软件知识有一定的好奇感,求知欲也相对比较强烈。同时,由于是刚进校门的低年级学生,对大学环境还不是特别了解,仍然具备认真学习的态度,因此,好好学习知识的想法也比较明显。另一方面是由于目前大学生数量急剧增加,社会就业压力明显,学生普遍有学习好专业课,实现良好就业的外在动力。因此,可以说,学生在开始阶段的学习兴趣是比较浓厚的。但由于语言、算法、数据结构等知识,是进行程序设计所必须具备的基础知识,而低年级学生在这方面基本没有知识储备,对其学习方法也并不适应,而原有的知识结构又很难同化现有课程知识,导致难以自学和分析、解决问题,引发学生学习的挫败感,一旦处理不得当,就会使学生学习提不起兴趣,缺少主动参与的积极思维活动、创造性思维活动,更有甚者还会使学生抵触学习,削减学生本身己经调动起来的积极性,影响后续课程的开展。 教育心理学的研究也表明[1]:学生在没有精神压力和心理负担并且情绪饱满、心情舒畅的情况下,大脑皮层最容易形成兴奋中心,思维也最活跃,此时的实践能力最强。因此,如何使学生保持这种状态就成为教师应该考虑的重点问题之一。单就理论教学而言,如何使理论变得通俗易懂,接近生活,易于学生理解,这是计算机软件基础课程理论教学的关键。从实践来看,在授课过程中,教师通过深入浅出地讲解,设置理论问题情境,解答学生在实验中产生的疑问,肯定和鼓励学生的想法等方式,都能比较充分地调动学生的积极性和主动性,使学生更加容易融入教学环节中,也便于学生深入理解理论知识。比如说针对学生提出的一些设想,经常正面地肯定,能使学生更加信任自己,更加愿意去创新,从而与学生实现良好互动。 同时,在课后对学生进行必要的关心,用人格魅力引导学生参与教学,也不失为一种好的方式。比如,通过课后深入学生,与学生建立亦师亦友的关系,与学生打成一片,学生往往会因喜欢教师而喜欢该教师教授的课程,实现良好的教学效果;而相反,教师冷冰冰的态度往往也会成为影响教学效果的一个重要因素。 2 尽早引入实验教学环节 实践证明,计算机软件基础的教学,引入实验教学环节越早,教学的效果往往越好。因此,计算机软件基础课程教学要想在培养软件人才、促进软件产业发展方面有所突破,尽早引入实验教学环节是一条必由之路。 现有的实验课程安排作用并不明显 计算机软件基础是计算机软件的核心课程,其主要内容包括数据结构、操作系统、数据库系统概论,教学目的是让学生掌握数据结构的相关算法,理解操作系统的基本概念,熟悉数据库的基本操作,从而具备初步的软件编程能力。同时,从目前的教学安排来看,该课程安排了一定数量的常规上机实验练习,以便提高学生的软件素质[1]。 但现有的课程安排还存在一定的问题,突出表现在: 一是学生上机练习的题目规模较小; 二是上机内容以章节为主,有的章节有上机内容,有的没有,导致上机实验没有连贯性和系统性; 三是上机安排的内容发挥作用不充分。 从实践来看,培养学生的软件素质必须适当结合电子信息类专业的特点,这对于培养应用型人才的作用至关重要。但从目前上机安排的内容来看,主要是从计算机专业的角度提升学生的软件素质,而并没有与电子信息类专业特点充分结合,其结果就是导致学生对硬件有较好的掌握,而对信源编码等通信软件知识知之甚少,影响课程设计的整体进度。由此可见,目前安排的实验课程其作用甚微,难以达到为学生打下软件知识基础的教学目的。 尽早引入实验教学,利于学生在操作中学习,达到学以致用的目的 从现有的教学来看,学生对计算机软件基础课程学习的困难点主要在于:课程理论知识比较枯燥难懂,上机操作能力不足,导致学生学习兴趣降低,影响了教学效果。比如说在C语言教学中,C语言程序设计作为学习计算机其他课程如数据结构、JAVA语言程序设计等课程的先修课,对于培养学生的计算机技能具有至关重要的作用,因此,提高这门课程的教学质量意义也十分重大。 但是,这门课程首先要讲授C语言的特点、运算符和表达式等内容,而这部分内容恰恰又相对比较枯燥,学生难以提起学习兴趣,而这部分内容通常是安排三周学完,对于初学者来说要在这么短的时间内理解这些理论并不容易。于是等到这部分理论教完开始接触程序设计时,部分学生已经远远落后于教师的进度,导致没有继续学习下去的动力,有些学生就此掉队。 同时也有研究表明[2],部分教授在教授这门课程时,调整了讲课顺序,提前给学生讲授程序设计的内容,安排学生提前实验,让学生亲身体验计算机如何运行C语言程序,而等到学生对C语言程序有一定了解后再讲授运算符和表达式等内容。由于之前学生对C语言有了切身的体会和感受,再学习其他理论时,往往能将这些理论与实验知识结合,加深对运算符和表达式等理论的理解,也提高了学习C语言的兴趣,作用都相当明显。 由此可见,针对计算机软件基础课程的内容特点,尽早安排学生上机实验,让学生体会学以致用、现学现用、现用现学的乐趣,对培养学生兴趣和创新能力、提升教学质量有着不可替代的作用。 3 建立多层次实验教学内容,发掘学生实验潜能 学生的素质和潜能并不完全一样,孔子时代就已经讲究因材施教,实验教学中也必须根据学生的实际情况,适当地分层次安排实验教学内容,建立多层次实验教学内容体系,从而更好地提升学生的学习兴趣,激发学生潜能,实现教学目的。可以分为基础性实验、应用性实验和创新性实验。 基础性实验要求精 基础性实验是课程的统一安排,目的是验证和巩固课堂知识,针对群体为所有学生。要充分发挥这部分实验内容的作用,主要在于求精。 首先要精选实验内容,针对每个知识点,都要精推细敲,并在每个实验内容中设置开放性思考题,要求学生认真思考做答,不求数量,但求质量。 其次要精讲实验内容。针对学生实验内容的答案,要进行深入的讲解分析,肯定学生做得好的地方,指出其不足,并指导如何修改完善,务求每个实验内容都讲透,并通过实验内容夯实学生对每个知识点的理解。 最后,引导学生运用发散性思维进行解题,提升学生对知识点的认识水平,如引导学生运用多种方法解题。 基础性实验是学生对知识点的深入掌握,也是开展应用性实验的必要准备。 应用性实验要求实 应用性实验是课程的适当补充,是学生对课堂知识的具体运用,旨在培养学生应用知识的能力,针对的群体是大部分学生。其主要任务就是培养学生解决实际问题的能力,具体方法是由教师选择合适的项目,让学生自愿分组,在规定的时间内按计划完成。 在应用性实验教学中,项目的选择非常重要,其主要原则是既要覆盖计算机软件基础课程的主要内容,也要贴近实际,是实际生活中有应用价值的项目,还要便于学生理解完成项目的方法,能最终形成一个完整的软件作品。比如说各种信息管理系统都是比较合适的项目。 在这个阶段,教师重在引导学生开展项目,指导学生解决项目实施中碰到的难题,检查学生项目实施情况,及时纠正项目的方向性、原则性错误,并引导学生及时进行反思总结,便于更好地掌握编程技巧和语法知识等内容。 在应用性实验阶段,学生的实验成果,不仅是要通过提交相关文档以及编写的程序代码来体现,还要在一定的范围内进行实际测试,便于学生将理论知识与实际挂钩,也便于学生进一步认识实验项目与实际项目的环境差别,更好地融入社会实践。 本阶段的实验由于应用性强,对于学习计算机软件基础理论知识感到吃力的学生,可不强行要求。 创新性实验要求新 创新性实验是课程的升华内容,主要是激发学生的创新思维和创新能力,所针对的群体是小部分学有余力的学生。在这部分实验内容中,由学生自行选择实验项目,设计实验方案和实验步骤,学校提供相应的实验环境和其他保障措施,教师则对学生选择的实验项目进行把关指导,确保项目具有创新性。在这个实验中,整个过程都由学生独立完成,学生要自行解决实验中遇到的各种问题,总结各种错误出现的原因和避免出错的方法,并在实验结束后,自行检验实验结果的应用价值,从而达到融合知识、锻炼素质、提升能力的效果,培养软件人才。 4 建立多样化实验教学方式,方便学生自主学习 实验教学的方式要多种多样,并优化实验教学载体,为学生实验提供更多的便利。 首先是可以充分发挥校园网的作用。目前,绝大部分学校已经建立自有的校园网,一方面为学生提供了大量的实验教学资料储备,如教学大纲、实验大纲、实验指导书、实验室开放时间表、指导教师安排等实验教学的所有技术支持文献信息,为学生开展实验提供了极大的便利;另一方面还提供了学生自测系统。在自测系统中,学生可以回答教师指定的问题,并完成打分,并可对回答问题的正确与否进行分析,纠正错误答案,进一步消化知识。同时,有的学校还设计了基于C语言的计算机软件基础自学系统,学生可以通过系统进行应用程序学习,循序渐进地学习和掌握知识,有力地巩固课堂教学的知识。 其次是可以充分发挥社会单位的作用。学校可以和与计算机软件专业对口的企业合作,在企业相应建立学生实践基地,让学生参与企业的实际设计,以干代学,从而进一步提升学生对计算机知识的认识,也进一步了解软件产业对软件人才的要求,适应软件产业的环境,从而更好地增强教学效果。 5 结束语 计算机软件基础是一门实践性强的课程,其实验教学要适时推进,这是增强课程教学效果的需要,也是提升学生素质的需要。在实验教学中,教师角色的转换,学生主体地位的重申,社会单位作用的发挥,都深刻影响着学生学习本门课程的效果。在目前的形势下,要充分发挥计算机软件基础作为培养应用型人才的重要基础课程的作用,充分发挥教师、学生、社会单位在该课程中的积极作用,就必须抓好实验环节的教学工作。只有实验教学才能更好得实现教师与学生互动、学校与社会互动,才能培养出适合软件产业发展需求的应用型人才。 计算机软件基础论文:计算机软件基础教学的改革思考 【摘要】本文针对计算机软件技术基础课程教授过中出现的主要问题,提出了对教学实践环节的几点改革意见。 【关键词】计算机软件技术基础;课程;软件设计 “计算机软件技术基础”是计算机基础教育的基本内容,是学生在本专业学习和研究中,开展计算机应用和系统开发的立足点。计算机基础教育的任务和目标是培养既精通本专业知识,又能掌握计算机应用技能的复合型人才。这种复合型人才所具有的能力结构不是简单的一维层次结构,而是网状的空间结构,即包括:学生的本专业知识、计算机应用能力和信息素养。如何适应素质教育的要求,如何使学生的专业知识与计算机技术结合,如何使学生在已有的操作使用能力基础上,提高应用开发能力,培养研究创新能力,《计算机软件技术基础》课程教学有着重要的作用。 1.教学现况与存在的问题 1.1 学生方面 由于非计算机专业学生来源不同,故其基础也是不同的。学生在高中所学的前续程序课程分别为C语言、VB和VF,个别地区的高中甚至没有开设计算机语言课程。由于软件基础课的第一部分为数据结构,涉及到相当多的指针操作,所以学过C语言的学生基础相对较好,教学中容易理解教学内容。而学VB,VF的学生对指针没有任何概念,对教学内容的理解相当困难,更不用说没有学过语言的学生。这是由前续课程带来的问题。 半数以上的学员一开始对该门课程的学习抱有极大的热情,然而随着课程难度的逐渐加大,编程技术底子较薄或接受能力较差的学员开始退缩,主要反映在大型程序设计作业完成情况上,分工不均衡,出现能者干、庸者看的现象。这与课程的设置有关。 1.2 课程设置方面 这门课程涉及到的内容很多,主要包括数据结构、结构化程序设计、面向对象程序设计。这几个部分对于计算机专业而言都是单独的一门课程,但是现在要把各部分的内容综合到一门课程中去,便给教学带来一定的难度。 这门课程的学时数有限,笔者所在学校安排了58学时(理论28学时、实验28学时、考试2学时),教学的时间非常有限,要在这么短的时间内学好所有的内容,对学生和教师都是一个挑战。 2.教学改革方面的几点建议 2.1 传统的课堂教学与新兴网络教学的完美结合 传统教学模式的主要手段就是“粉笔+黑板”,这种教学手段可以充分展示教师的教学思路,展示教师的个人教学魅力,同时可以留给学生充裕的思考时间和完成笔记的时间。这种教学主要应避免“满堂灌”和“面面俱到”,而是对一些原理性、概念性较强的教学内容采用这种教学。如:链表的概念,几种查找、排序的方法以及他们之间的差异等内容都可以使用这种教学方法。例如,在讲授应用结构体处理数据时,我们举了一个显示输出输入的几组学生数据的例题,在课堂上,采用板书方式分步介绍了如何定义结构体,如何建立输入功能子函数,如何建立输出功能子函数,要求学生给出完 整的程序和输出结果。然后又给学生布置一个作业,要求使用链表处理信息,程序运行后需按序显示输入的学生信息。这样就可以让学生进一步掌握动态分配空间函数的应用及如何创建链表和它在C语言程序中的应用。 “粉笔”黑板”这种教学看似简单和落后,但如果提供了完善的网络环境,学生就能在园区网上看到教师已经制作完成的课件,就能根据自己的学习需要检索教师当天教学的板书,播放教师的某段讲解。这种教学模式使学生能够在课堂上紧跟教师思路,减少了完成笔记的时间,提高课堂效率。 2.2 目标驱动理念在课堂教学中的应用 建立在建构主义理论基础之上的目标体验教学是以学生为中心,以教学目标为驱动的教学方式,属于探究式教学模式的一种。其显著表现是:教师的教学与学生的学习都是围绕着一个目标,而这个目标又包含着几个小目标,每一个具有建构思想的目标驱动都要符合学生的“最近发展区”规律。最近发展区主要是指学生的潜在发展水平,在此水平上,学生还不能独立完成学习目标,但经过启发、帮助和努力,就能完成目标。例如,在讲述“排序”时,首先就要求教师已经介绍过冒泡排序和快速排序这两种互换类排序方法,而且学生已熟练掌握。在这基础上,就可以对学生讲解简单插入排序和希尔排序这两种插入类排序,也可以讲授简单选择排序和堆排序。在这个教学过程中,冒泡排序和快速排序就是学生现有的发展水平,学生能独立地、自如地完成教师提出的教学目标;而其他排序方法则是尚处于形成状态,还不能独立完成的教学目标,是学生的潜在发展水平,在教师帮助下,通过训练和学生自己的努力才能完成的教学目标。 2.3 注重培养学生的动手能力 在计算机课程的教授中,许多老师比较注重概念、语法的讲解,却忽略对能力的培养,这样培养出来的学生在上机时就会不知从何下手因此在教学过程中,在介绍完基本概念和语法知识后,可以利用更多的课时来对学生的思维方式进行引导对常用的软件设计方法可以从“拿到题目”“如何分析”“如何解决”“最后具体程序实现”的整个过程进行全方位的启发这样能提高学生的软件设计能力,使学生如何设计该类软件有一个基本思路,知道如何去思考问题,如何去解决问题,方向明确、思路清晰。 2.4 改变单一考试模式 考试是学生学习导向的指挥棒,也是检验教学效果的基本方法。计算机软件技术基础是典型的实践性课程,单一理论考试模式无法掌握学生上机操作水平。我们采取厂“笔试+上机”的考核方式,任何一项成绩不通过这门课程学习就不合格。机试成绩并不是一次给出,在平时上机实验中就分阶段进行考核,可以随时掌握学生的学习和应用情况。例如,可以给出一些应用题,让学生通过分析找出解决方法,训练学生掌握应用领域的知识并综合运用知识的能力。新的考核方法给了学生一个发挥才能的空间。变被动的应试为主动的学习,使学生成为考试的主人。学生在解决问题时若有创新,就可以得高分。这样。可以激发学生的学习积极性和求知欲,给他们展示自己才能的机会。充分发挥创造力和想象力。 3.结束语 “计算机软件技术基础”课程对于从事计算机应用领域的非计算机专业人员是相当重要的,同时对于计算机应用领域的发展也起着十分重要的作用本文中针对该课程现阶段教学中存在的问题,提出了改进的方法实践证明,该方法能有效地提高学生的软件设计能力和创作能力,是教学上的一种较好的开拓。 计算机软件基础论文:探究计算机软件基础数据结构之算法 摘要:近年来计算机在我国各行各业扮演的越来越重要的角色,加强对计算机的有效性探讨是实现计算机为各行各业服务的关键。计算机数据结构主要指的是信息在计算机内的寄存方式和信息的集合和整理。计算机数据结构经常与算法相联系。算法是被计算机所识别的指令,算法是通过数据结构所进行的信息储存。算法和数据结构二者是相互作用的,通过对算法蕴藏信息的分析可以有效的解决计算机存在的一些问题,提高处理效率和速度。 关键词:计算机软件 数据结构 算法 一、引言 随着计算机在在我国各行各业发挥的作用日益凸显,计算机的数据结构只的是信息在计算机 寄存方式和信息的集合和整理。计算机结构与算法关联甚广,因此加强计算机数据结构算法的研究对于计算机研究十分重要。下面我们将对计算机基础数据的算法进行相应的介绍。 二、计算机软件基础数据结构之算法概述 (一)算法的两要素 算法包括两要素,一部分指的是对信息的操作处理,这部分对信息的操作处理包括四种处理方式,分别为逻辑符合,数学计算,信息的对比以及信息的传递另一部分指的是对信息的处理方式的操作,它引导指令进行有序的进行。 (二)算法的特征 算法是有限指令的整体,这些指令表明了处理问题的步骤,针对相应的问题,算法可以对定值按照原先设定的指令进行运算处理,并且通过一定数量的运算后传送出计算机得出的最后结果。这就要求算法包含有限的指令,同时各项指令都 应该明确,不能多层含义,同时也要求这些指令都是计算机能力范围之内的,超出计算机范围以外的不仅不能起到积极效果反而会对以后的操作造成一定负面影响。算法对处理对象没有要求,同时被处理对象也不会对这些指令产生影响。 (三)算法的表示 很多人可以通过文字或者符合翻译算法,一般翻译法包括一般性文字,C语言,程序图,PAD图等。其中一般性文字和C语言是具体详细的描述算法的。他可以使学习者更容易学会。 (四)常用的算法 1.枚举法 枚举法是指对信息的某些独特特点估计运行结果的区域,然后通过一些手段检验该区域的每种结果,直到验证到所有饿都符合才加以停止。这些验证有的是可以满足算法的要求的,同时也存在着一些不能满足算法要求的,这些满足的对象就是计算机最终会传递的结果,那些不能满足算法要求的就表明该算法无解。 枚举法具有工作原理简单,容易接受的优点,但是枚举法有显著的缺点就是工程量大工作时间长,枚举法一般只适用于无法用别的方法解决的问题。 枚举法包括以下步骤: 1.1通过对问题的思考,预估问题的大致方向 1.2选出合适的枚举形式。枚举形式包括顺序法,对比法类型列举法等 1.3将可能的方向进行一一验证 1.4确定哪些情况是合理的哪些是不合理的,得出最终结果。 2.迭代法 迭代法与枚举法相比比较粗糙,生活中很多方面都需要这种方式进行问题的处理它的显著特点就是可以将一个麻烦的问题转化成为比较简单迭代算式,这样就会形成问题由难至简的循环,从何最终得出答案。 3.递推和递归法 递推和递归法是比较常用的一种方法,通过对一些特殊的公式的性质加以推导得出结果。递推法和递归法从简单入手,把前面得出的结果进行到后面的推理之间可以更加方便结果的得出。 三、计算机软件基础数据结构之算法的设计要求 算法就如同人与计算机之间进行沟通和交流的语言,通过算法作为中介可以加强人与计算机的距离,让计算机按照预先设定的指令一样去执行任务。但是要遵循一定的原则。 (一)正确性 设计者首先要按照算法的规则编译指令进行编译,只有按照规则的编译才能实现和计算机的交流,让它按照规定执行任务。如果出现错误的指令那么将会对引出不准确的结果。 (二)可读性 算法一定要具有可读性的原则,只有可读性才能让人对算法一目了然,如果算法过于复杂和晦涩会让人难以理解原理。 (三)稳定性 算法的稳定可以使得计算机在运用时的稳定性能的保持,试问如果计算机在运行的时候总会出现错误,给人的感觉整体下降。稳定性对于算法来说至关重要,同时对于计算机的规范使用也至关重要。 (四)高效低耗能性 计算机内部器件的好坏对于计算机性能的高低具有决定性作用。算法亦如此,好的算法可以在最短的时间得出答案并且使用最低的耗能得出答案。 四、计算机软件基础数据之算法的复杂性分析 (一)运行时间长 一般设计者并不是根据计算机的算法衡量时长,算法运行的载体依然是计算机,因此计算机地运行速度是受很多因素的影响的。一样的计算法在不同的载体上会产生不一样的效果,这一效果并不是对算法效率的评判而是表现在时间的耗损上,耗损程度作为评价算法的好坏标准。 (二)内存消耗 内存消耗指的是计算机在运行算法时需要用到空间大小的尺度。内存消耗有传入传出信息所占的内存以及算法在运行过程中暂时占用内存的大小。传入传出信息占据的比例和问题相关,并不会随着算法的变化而变化,在运行过程中暂时性占用的内存大小往往是由算法决定的,好的算法可以占据比较小的内存,相反坏的内存则会占据教的的内存。 五、结束语 计算机在近年来以及其迅速的脚步占领各个行业,计算机软件基础数据结构之算法是学校者了解计算机数据结构的基础,通过对它的学习可以帮助学生更科学的认识到计算机的运行情况,并且使得学习者更好的掌握。本文从计算机软件基础数据结构之算法概述,计算机软件基础数据结构之算法的设计要求,以及计算机软件基础数据之算法的复杂性分析进行了相关的介绍。 计算机软件基础论文:计算机软件基础数据结构之算法分析 摘 要:计算机软件的基础数据结构,主要负责讲解计算机内信息的寄存方式、集合和整理,通常是与算法密不可分的。算法是能够被计算机分辨和识别的指令,指令的内容就是通过计算机软件基础数据结构来进行寄存的信息。数据结构的算法分析,可以使计算机处理比较复杂的难题,提高了效率,本文对计算机基础数据结构的算法进行了分析。 关键词:计算机软件;基础数据结构;算法分析;复杂度 1 算法的概述 1.1 算法两要素 算法主要包括两部分:信息的处理操作和信息处理方式的操作结构,对信息的处理操作一般包括逻辑符号、数学计算、信息传递和信息对比,操作结构可以指引指令有序进行,通常用流程图来描述。 1.2 算法的主要特征 有限指令的主要部分就是算法,有限指令能够明确处理问题的步骤。面对问题,算法能够对各种定值指令进行预算处理,通过运算传达最后的计算结果。算法的特点主要为:指令的数量必须有限;指令不能超出计算机的能力范围;被处理的对象不受指令影响,对象数量不影响指令,必须要有至少一个传递末端。 1.3 算法表示方法 目前编译算法一般都用符号和文字来进行,主要包括程序图、C语言、PAD图,一般性文字等。C语言和一般性文字能够具体详细的描述算法,其他方法描述算法是大致内容并进行作图,更加直观的表达,便于学习理解。 1.4 常用的算法 常用的算法主要包括枚举法、迭代法、递推和递归法。枚举法内容是指通过信息特点对运行结果的可能区域进行估计,然后利用一些方法手段检查各个结果,直到所有结果都符合。在验证过程中,验证对象如果满足算法要求,这个验证对象就是最终计算机传递的结果,如果没有达到要求的对象,那么算法就无解。迭代法是一种较为粗略的方法,可以把麻烦复杂的问题转化为较为简单的迭代式子,通过循环这个步骤,达到由繁化简并最终得出答案的目的,该法适合非数值类问题的计算。递推法和递归法是主要的算法制定编写法,都通过运用特殊公式逐项推导而来的。 2 算法设计要求 算法像语言一样,是计算机和人类沟通时的语言,通过算法,人们不仅可以跟计算机进行交流,还可以按照指令执行任务。因此所有的指令必须要符合一定的行为准则,算法的设计要求主要包括以下几点: 2.1 具有正确性 设计者编译指令时必须要按照算法的规则来进行,从而保证人和计算机正确的交流,保证计算机执行好任务。正确性中最重要的就是避免语法错误的出现,从而能够为正确答案的得出做好准备。 2.2 具有可读性 算法具有可持续性,是指算法总体思路容易让人理解,是想一下,一个非常混乱的算法,即使再聪明的人也很难明白算法原理的,更不用说得出计算机答案。 2.3 具有稳定性 就像机械设备似的,如果工作状态不稳定,那么就会很容易出现难懂奇怪的问题,算法如果不够稳定,计算机在正常运行的时候,也会很容易出现错误。经常出现的错误就是乱码,就会让人感觉像是算法存在严重问题。 2.4 具有高效低耗的性能 计算机性能的好坏取决于内部的器件好坏,算法也是这样的。好算法可以用最低能耗最短时间来得出答案,计算机内部的工作原理可以决定这些因素,其中最主要的就是存储大小和运算速度的联系。 3 算法复杂度的分析 算法复杂度决定了一个算法执行并得出结果需要的总时间,设计者通常是根据算法复杂度来判断对算法的总效率来进行判断的,这是因为时间的消耗和算法需要的内存情况是直接联系挂钩的。评判者主要是依据运行的时长以及内存的消耗来进行判断的。下面就简要介绍一下运行时长以及内存消耗: 3.1 运行的时长 通常来讲设计者不是依据算法的总运行时间来衡量时间长短的,这是因为计算机仍然是算法正常运行的载体,计算机的运行速度跟许多因素有关,例如计算机的运行环境、计算机内部使用损耗等。因此,同一种算法在不同的计算机运行载体上运行的效果也是有很大差别的。一般来说,计算机运行时长的大小不是衡量算法效率的一种标准,而是判断算法运行时间损耗的一项指标,能够在一定程度上评判算法运行的好坏。 3.2 内存的消耗 计算机运行算法,会暂时占用相关的空间,被占用的空间大小尺度就是常说的内存消耗,内存消耗与相关的函数紧密联系。内存消耗主要内容是传入和传出信息占用的内存、算法在运行过程中暂时占用的内存等。传入和传出信息占用的内存跟需要解决处理的问题是相关的,不会因算法变化而变化;算法运行中暂时占用的内存大小是由算法来决定的,不同的算法需要不同的内存,因此,比较好的算法需要的内存也比较少,这也是内存消耗成为评判算法好坏的又一个非常重要的标准。 计算机软件基础论文:计算机软件技术基础课程教学探讨 摘 要:针对计算机软件技术基础课程的内容与特点,探讨了传统教学中存在的不足,提出几点行之有效的教学改革方法。这些方法在实践中取得了实效,对该课程的教学改革具有一定的意义。 关键词:计算机软件技术基础 课程 教学改革 计算机软件技术基础是为非计算机专业开设的课程,该课程是后续课程的基础,涉及内容比较广泛,包括数据结构、操作系统、数据库系统、计算机网络、软件工程技术、管理信息系统等内容,具有很强的理论和实践性。本课程有如下三个难点。 (1)该课程的内容多、跨度大、学生把握重点有些困难。 (2)计算机软件技术基础是一门内容综合的课程,涉及的知识面广,学生对基础课程的知识和理解程度有所差别,授课中比较难掌握。 (3)计算机软件技术基础是一门应用性很强的课程,需要理论与实践相结合。 针对以上难点问题,本人分析了目前该课程在授课中普遍存在的问题,并从实际要求出发,对计算机软件技术基础课程的教学改革进行探讨。 1 计算机软件技术基础课程存在的 问题 (1)目前,大多数老师采用常规的灌输式教学方法,以教师讲授为主,学生处于被动的学习接受状态,缺乏对课程学习的兴趣和主动性,启发式教学没有充分运用。 (2)有时为了增强学生的兴趣和信心,往往较低教学难度,大部分时间讲授基本概念,而对程序设计和调试技巧等较深的知识只是点到为止或者避而不谈。导致大量学生学完本课程,只会背诵几个基本概念,并没有真正掌握程序设计的很多精华思想和编程技巧,更没有了解软件是如何管理计算机全部资源的。 (3)计算机软件技术基础实验课在机房内进行验证性实验,实验时教师只是把实验目的、具体程序、程序实现的功能等内容介绍给学生,学生直接输入程序代码,然后获取实验数据,验证理论知识。这样,学生只是机械的进行程序录入,不用独立思考,所以不能深入细致的分析和调试, 2 课程教学改革 (1)教师主导性和学生主体性相结合 充分调动学生学习的主动性,引导学生自觉的学习和发展,教学过程实质是教师教和学生学的互动,只有这样,才能使师生之间和学生之间教学相长、信息交流,从而达到知识与兴趣共存,进而实现教学共赢。课程教学过程中,采用启发式教学,随时了解学生对知识点的理解和掌握,调动学生学习的热情。 (2)采用案例引导式教学 在课堂理论知识的讲授中,尤其是讲解新知识时,采用实际的案例进行演示说明,把学生带入特定的情景中进行思考;在演示过程中,逐步引出各个相关概念,加深学生对基本概念与原理的理解,进而提高学生运用理论知识分析和解决实际问题的能力。 案例引导的课程教学,能为学生在理论和实践之间搭起一座桥梁。学生带着多个基本概念和知识点的任务通过生动形象的案例进行学习,既容易激发学生的学习兴趣,又有利于学生迅速掌握抽象、枯燥的概念,以及各相关知识点之间的内在联系。在讲授的过程中循序渐进、环环相扣,优化教学内容。 (3)注重实践环节 对于计算机软件技术基础这门实践性特别强的课程,必须把理论课和实验课结合起来讲解才能培养学生的能力,而且实践教学不再是理论教学的附属,它与理论教学同等重要,学生可以通过实验课的练习领会理论教学中所学的知识,在上机的指导过程中,不仅要指导学生软件设计的基本方法、程序调试的基本技巧,还要对学生思维方式进行引导。对实践环节中的软件设计从“给定题目”―“具体分析”―“解决问题”―“程序实现”―“运行调试”的整个过程进行全方位的启发。使学生掌握软件设计的基本思想,知道如何思考问题和解决问题. 3 结语 计算机软件技术基础是一门理论与实践相结合的课程。该文针对该课程现有教学中存在的问题,提出了改进方法。实践证明,该方法取得了良好的教学效果,能够帮助学生系统掌握课程知识,切实提高实践能力。 计算机软件基础论文:计算机软件技术基础课程教学研究 【摘 要】本文阐述了计算机软件技术基础课程教学特点和教学目的,针对课程教学现状,分别从明确教学目标、丰富课堂教学手段、巧设学习情境和构建良好师生关系等几方面对计算机软件技术基础课程教学策略进行了探讨。 【关键词】软件技术基础 课程教学 研究 一、引言 科学技术的飞速发展,使计算机技术在社会生活各个领域得到了广泛的应用。计算机软件技术基础是高校计算机基础教学中的重要内容,随着《关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求(试行)》 的出台,国家对计算机基础教学提出了新的要求,即打破传统教育模式,以人为本,学生为主体,造就既精通本专业基础知识,又能掌握计算机应用技能的复合型人才,达到素质教育的培养目标。 计算机软件技术理论,是学生学以致用的基础,其涉及的知识面广、概念多、原理复杂和抽象,理解上会有一定的困难。因此,从计算机教学出发,对计算机软件技术基础课程教学知识体系、教学模式和教学方法等进行深入的分析和研究,寻找科学的教学方法,全面提升学生软件开发应用技能和解决实际问题的能力,为学生终身可持续发展提供更为广阔的空间,就显得尤为重要和迫在眉睫。 二、计算机软件技术基础课程教学特点和教学目的 计算机软件技术基础课程既是集计算机网络基础、操作系统、数据结构、软件工程以及数据库等多门专业课为一体的综合课程,涉及面广,内容相对独立,也是一门理论与实践结合性较强的课程,其线性结构、非线性结构、图、查找、排序等数据结构与算法之间关系复杂。教学中,应针对应用实例,对编程中常用的算法给予重点讲解,对典型数据结构数据元素的集合关系以及基本运算展开教学研究和深入的讲解。 计算机软件技术基础课程的教学目标,是用科学的方法引导学生,通过课程学习,既掌握计算机软件技术基本理论知识、具备开发应用软件所必需的软件基础知识、懂得高级编程语言知识、丰富编程技术和基本算法,又熟练运用程序设计的思维和方法,使其软件素质得到提高,抽象思维能力,灵活运用高级语言进行程序设计和动手编程解决实际问题的能力得到加强。 三、计算机软件技术基础课程教学现状分析与对策研究 (一)现状分析 基础知识不扎实。学生计算机知识较薄弱,尤其是该课程是以概念多、抽象而复杂的“C语言程序设计”为基础的学科,理论知识多、应用层面的内容相对较少,学生难以理解的同时,感觉枯燥乏味,产生畏难情绪,加重了思想包袱,严重影响了学生的学习热情。 教学方法单一。缺乏先进的教学理念的指导,教学策略上缺乏创新,沿袭着“你教我学”的教学模式,学生始终处于被动学习的地位,积极性受到压抑,自身创造力和潜能未能得到有效发挥,知识传输与能力培养相互割裂。 课时限制。该课程知识点较多,课程学时安排较短,教师偏重基本理论讲解,学生在短时间内难以消化吸收包括数据结构、操作系统等繁杂的基本概念,而程序设计和调试技巧等实践性较强的部分往往因课时限制只能点到为止,学生无法体会课程的乐趣,更无法进行深入研究,严重影响了教学目标的实现。 (二)对策研究 明确教学目标。摒弃传统教学方式,倡导以学生为中心,注重学生知识水平和技能的培养。教师应对计算机软件技术基础有一个全新的定位,在对教材知识点内涵与外延正确把握的基础上,精心设计和巧妙安排学生易于接受的课堂教学活动,准确驾驭计算机软件技术基础课堂教学,将“任务驱动法”、“合作学习法”等优秀教学方法组合运用,创设探究情境,激发学生的学习热情,使其对操作系统、 数据结构、 数据库技术等功能和运用产生浓厚的兴趣,不断提高学习能力。 丰富课堂教学手段。以“任务驱动法”为代表的互动教学法,是上世纪80年代后逐渐发展成熟的实践型教学方法,是国内外运用较多的、先进的教学理念。它是让学生在“做中学”,通过学生的参与和体验,在完成任务过程中主动地去分析和思考问题,加深对知识的理解和感知,共同探讨解决问题的方法,进而达到对知识、技能的理解和掌握,既增强了知识点的融会贯通,也强化了学生主动积极的学习意识。 巧设学习情境。软件技术基础课程教学目的,是让学生打破常规,启迪思想,通过探索、实践,掌握理论知识并能灵活地加以应用。“情境教学”正是基于这一先进思想的教学方式。如学习语言编译时,使用“栈”可实现函数过程的调用。当计算机输出数据打印时,打印机速度慢,为解决这个问题,教师安排学生们分组讨论,最终在操作系统中设一个打印队列,将打印任务逐个完成,避免了数据丢失或打印次序混乱。任务进行过程中,学生们热情高涨,积极思维,体会知识的奥妙,深刻认识到了这门课程的意义和作用,同时小组成员团结协作,焕发出可贵的集体智慧,在目标实现过程中体验成功带来的巨大喜悦。 构建良好师生关系。教师传道授业,是学生学习的组织者和倡导者,更应成为学生的良师益友,将抽象的、枯燥的软件技术基础,用实用化和情趣化的现代教学思想巧妙呈现,产生共鸣、碰撞智慧的火花,使学生充分感受学科魅力,从而启迪心灵,放飞思想。当学生暴露出畏难或厌烦情绪时,教师应给予最大限度的宽容和理解,并用科学的思想加以引导,鼓励他们打破常规、迎难而上,与学生共同完成知识点的跨越。 四、结论 综上所述,打造充满生机和活力的计算机软件技术基础课程教学,是新时期高校教学的需要,也是实施素质教育的关键。只有对教学现状进行深入的分析和研究,采用科学的方法正确梳理教学思路,将优秀的现代教学思想融入计算机软件技术基础课程教学,优化教学过程,才能实现教学相长,不断提高计算机软件技术基础课程教学的实效。 计算机软件基础论文:计算机软件技术基础课程的案例建设 摘要:案例教学能有效提高学生分析问题和解决问题的能力,是现代教育的常用教学方法之一。文章分析案例教学中的案例特征,以实际工程项目的一个子系统为背景,设计实时仿真监视系统案例并介绍案例的具体建设情况,指出该案例对提高学生的学习兴趣以及分析问题和解决问题的能力具有明显的效果。 关键词:软件技术基础;案例教学;案例建设;实时仿真;监视系统 1、计算机软件技术基础课程中案例教学的必要性 计算机软件技术基础是仿真工程与自动化专业的核心课程之一,是一门应用性很强的专业基础课。该课程是整合课程,主要包括c++面向对象程序设计、算法与数据结构、操作系统、软件工程等方面的内容,知识庞杂且难以掌握。学生在学习该课程之后常常感到困惑:所学知识有什么用,怎样运用所学知识?一些学生虽然能够在考试中考出高分,却不知道怎样解决实际问题。如何使学生认识所学知识的用途,融会贯通并灵活运用,是这门课应重点考虑的问题。目前,案例教学在法律类和管理类课程教学中的地位和作用已在教育界达成共识。教育部高等学校计算机科学与技术教学指导委员会于2006年6月了《关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求(试行)》白皮书,明确指出在教学方法和手段上运用案例教学的必要性,因此,将案例教学作为一种教学方法引入工科类课程的教学,具有可行性和必要性。 2、认识案例 案例教学法就是在教师的指导下,根据教学目的和要求,以案例为基本素材,把学生带人特定的教学情境中进行思考,以此加深学生对基本原理和概念的理解,进而培养并提高学生运用理论知识分析问题和锯决问题能力的一种教学方法。 案例是案例教学的基础,离开了案例,案例教学就无从谈起。案例与一般教学中的例题有着本质区别,案例教学中的案例是将多个知识点融人一个整体来解决实际问题,涉及的知识面广,知识间具有连贯性和系统性,涵盖的知识具有综合性的特点,知识和原理蕴藏于案例之中。一般教学中的例题往往是配合某一章节或某一知识点,从某个角度、某个方面或某个层次反映所学理论和方法,起着验证和说明作用,常常带有为讲知识而杜撰例子的痕迹,各个例题之间相对独立,涵盖的知识单一,知识和原理孤立地呈现在学生面前。一般说来,工科类课程的案例应具有以下基本特征。 1)真实性。 客观真实性是案例的基本特征。教学案例应源于真实,取材于工程实际或科研课题,但是又要高于真实。为了突出主题,可以对真实做一定的删减处理。 2)综合性。 案例应是综合知识的载体,既要以学生已掌握的知识为依据辐射足够多的知识点,又要在匹配教学内容的基础上对知识有一定程度的扩展。 3)完整性。 案例是完整过程的载体,涉及了解背景、查询资料、分析信息、发现问题、探求方法、采取行动、解决问题的全过程。 4)启发性。 案例教学着眼于能力的培养,希望得到的不是案例的标准答案,而是解决问题的思维方法和能力。案例中,解决问题的方式是开放性的,可以留给学生想象的空间和发挥的余地。 5)实践性。 学生可以对案例进行复现、改进和完善,也可以按照自己的思考去实现,增强理论应用于实际的能力,实现从理论到实践的转化。 3、案例建设 案例教学的前提是高质量的案例,高质量的案例既要覆盖足够的知识,又要控制合适的规模。规模过小,则不能溶入足够的知识,也不能提供足够的研讨与思维空间;规模过大,则在短时间内难以被学生接受,不能得到预期的教学效果。笔者以实际工程项目卫星实时仿真系统的一个子系统为案例背景,在突出主题的前提下,进行了适当的详略及删减处理,形成了“实时仿真监视系统”案例。 3.1 案例背景简介 卫星实时仿真系统能够对卫星的方案、设计、集成、测试和运行各个阶段进行仿真验证,是提高卫星总体设计水平的重要手段,其网络关系连接如图1所示。在此系统中,仿真模型解算、物理设备接口等苛刻实时约束的节点通过反射内存互联,构成实时内环,外环则通过普通网络互联,将人机交互、可视化、数据处理等实时约束弱的节点互联,内、外环都可以根据需要扩充且内环不受外环影响,苛刻实时得到保障。转发计算机完成内存数据的提取并转发外环,仿真管理计算机则同时管理内、外环系统。卫星仿真监控是卫星实时仿真过程中的重要一环,它将抽象的仿真活动形象化,并及时将信号数据以各种方式反馈给用户,以利于用户分析、理解和决策。卫星实时仿真监控系统,能够模拟通过控制、监视和测量星上设备的工作状态实现实时连续地记录工作过程、测试数据和描绘曲线。图1中,人机交互计算机、曲线显示计算机和三维显示等外环计算机共同实现仿真监视功能。我们将人机交互计算机和曲线显示计算机的功能提取出来,要求系统具有一定的通用性,能够适应不同监视任务和不同数据类型,形成“实时仿真监视系统”案例。 3.2 实时仿真监视系统案例 实时仿真监视系统的工作原理为:转发计算机完成内存数据的提取并转发外环,外环上的实时仿真监视系统首先进行初始化,随后自动生成系统主界面。系统支持两种运行模式:监视模式和回放模式。在监视模式下,系统既要处理主界面信息,又要处理网络数据。主界面信息的处理包括响应用户交互消息、更新实时监视界面、实时绘制曲线;网络数据的处理包接监听网络端口,接收、解析和保存数据包,将有效数据写入共享数据结构,供给系统绘制曲线。在回放模式下,不再需要对网络进行监听,直接读取监视模式下保存的原始数据文件,然后进行相应处理即可。 为实现上述目的,使系统具有一定的通用性,我们设计了如下方案: (1)在软件工程思想指导下,进行需求分析、总体设计、详细设计、编码实现以及综合测试。通过该案例,让学生对软件工程思想指导下的软件开发全过程有一个感性认识; (2)采用多线程技术实现监视模式下的主界面信息处理和网络数据处理,仅用单线程实现回放模式; (3)设计一个数据包发送测试程序,模拟转发计算机的功能。 为此,我们结合本课程的基本知识点将系统的主要功能模块划分为界面管理和数据处理两大部分,界面管理部分主要承担主界面信息的处理,数据处理部分则主要负责数据的处理。 3.2.1 界面管理 系统运行过程中始终需要对系统主界面进行管理。从运行初期的生成主界面,到运行中的监视过程的显示,再到最终的系统结束,都需要对主界面进行即时的调整。为了提高通用性,系统采用基于配置文件的方式,通过用户提供的配置文件,动态改变系统监视任务,也就是说,系统能够改变每次运行时的任务,主界面显示的内容具有不确定性。 1)读取配置文件,获取初始化信息。 系统运行之前,需要进行初始化,这就需要系统读取配置文件,包括全部信号、实时显示信号、数据包类型等配置文件。用户必须按照约定的正确格式提供配置文件,否则系统有可能无法正确识别相关信息。从软件工程的角度,配置文件的设计与确定应在总体设计阶段完成。配置文件的类型、组织方式以及数据正确性的检验,都是学生可以自由发挥和扩展的内容。 2)自动生成实时监视界面。 监视对象的不确定性使得系统的监视界面无法固定,然而,不能将界面的生成工作完全交给用户完成,这就需要设计一种适用于不同监视任务的界面生成算法,使系统将界面生成工作承担下来。另外,系统界面的尺寸等信息是用户所不知道的,因此被监视的信号在系统主界面中的显示位置无法由用户设定,这就需要系统自己完成界面的排布任务。因此,要求设计一个具有较强通用性的监视界面自适应生成算法,这部分涉及算法设计和计算机系统配置的获取等基础知识,算法设计是学生能够自由发挥并出彩的部分。 3)定时更新监视界面。 为了实现实时监视功能,系统需要对监视界面进行定时更新,以显示当前被监视信号的实时数据。为了满足用户的不同需求,系统提供0.5s、1s、2s三种刷新频率。系统可以根据用户选择的刷新频率对主界面进行更新。这部分主要涉及定时器的使用。 4)处理用户交互消息。 系统需要对用户的交互消息进行处理,主要为鼠标消息,包括运行模式的切换、仿真的开始与结束、加载历史数据包文件等。这部分涉及所选编程环境下的消息响应机制问题。 3.2.2 数据处理 系统在运行过程中,需要对数据包进行接收、解析和存储,还要为曲线绘制提供原始数据,因此需要设计一个专用的数据结构。 1)接收网络数据包。 在监控模式下,系统既要处理主界面信息,又要通过网络接收数据包。为了避免“漏掉”数据包,系统必须对网络持续进行监听。如果主线程将大量时间用在网络监听上,势必无法对用户的交互做出及时响应。因此,需要将数据包的接收放在一个单独的线程中。这涉及操作系统进程管理的相关概念,是多线程程序设计技术的典型应用;也涉及网络通信技术,需要了解网络通信协议等相关知识。 2)解析数据包。 在接收到数据包后,需要将数据包内的数据进行解析,获得数据包内的数据,将最新的数据更新至系统对应的变量中,以供实时显示。解析数据包涉及网络通信程序设计技术。 3)保存原始数据包。 系统要求有回放功能,因此需要将接收到的数据包写入文件,进行永久保存。数据包的保存有两种方式:解析后按段保存和作为整体进行二进制保存。第一种方法耗时,需较大工作量。第二种方法简便,工作量小。显然第二种方法更适合本系统。由于系统必须适应两种类型的数据包,因此,进行数据保存时,采用以形参类型为区别的方式进行同名函数的重载,实现两种类型数据包文件的存储。这部分功能涉及C++面向对象程序设计中的重载技术以及文件操作技术。 4)读取数据文件,获取数据包。 在回放模式下,系统不再对网络进行监听,不进行数据包的接收,需要通过读取之前保存的原始数据包文件获得数据包。原始数据包文件保存的是二进制形式的数据包,系统每次读取之后需要对数据包进行解析,这与接收到数据包的过程是一样的,不同之处在于回放过程不再需要将数据包进行保存。这涉及C++面向对象程序设计中的文件操作,同时,通过监视模式下的多线程程序设计与回放模式下的单线程程序设计的对比,使学生真切感受并理解多线程程序设计技术及其应用场合等。 5)共享数据。 系统嵌套了曲线绘制模块,因此,数据处理与曲线绘制之间需要有一块共享数据内存。在收到数据包并解析后,马上将有用的信息写入该共享内存。写入操作由数据包接收线程处理,读取操作由主线程内的曲线绘制模块完成,因此,需要对两个线程进行同步。这涉及数据结构的设计和操作系统的同步与互斥。 6)快速查找。 系统支持大数据量下的仿真监视,对数据的快速查找有较高的需求,因此,需要设计支持快速查找的哈希表数据结构,包括哈希函数的确定、冲突的解决等,这涉及数据结构的哈希表技术。 4、结语 “实时仿真监视系统”案例,涵盖了软件工程、c++面向对象程序设计、算法与数据结构、操作系统和网络通信等计算机软件技术基础课程及其先导与后继课程的知识点,是一个与学生所学专业密切相关的实际应用系统,容易引起学生的兴趣,也容易被学生理解和接受。这样的案例既与教学目标相吻合,又便于教师驾驭和把握。 从学生反馈的情况看,学生普遍认为,案例教学法方式新颖,实时仿真监视系统案例与专业基础结合紧密;能引导学生积极思考,提高学生的学习兴趣以及分析问题和解决问题的能力。该案例在教学过程中取得了明显的教学效果。 为了更好地开展案例教学,我们必须把建设高质量的案例作为重点来抓,选择合适的案例背景,制定合理的案例建设计划。实践证明,只有经过长时间的积累、认真的思考、精心的选择和多次教学实践,才能获得高质量的教学案例;只有经过团队的长期努力,才能建设高质量的教学案例库。 计算机软件基础论文:基于 Flex的《计算机软件基础》电子教案系统的应用研究 摘要:针对当前《计算机软件基础》电子教案开发中存在的问题,在调研了各种多媒体支持比较好的开发技术的基础上,结合多年的教学实践,提出了基于Flex 和 AIR 技术平台的《计算机软件基础》电子教案系统开发的技术解决方案。该系统提高了课程教案的可复用性和可维护性,实现单机运行功能和网络化功能,顺应了电子教案的网络化发展趋势,克服了传统 PPT 在课程电子教案制作方面的不足。 关键词:计算机软件基础 电子教案 RIA Flex 电子教案,是将传统教案中的内容转换成计算机能处理的数字信息格式后存储于记录介质(如磁盘、磁带、光盘等) 中的一种形态。同其他的电子出版物一样,在观看阅读时必须事先输人计算机主机中,由显示器输出。目前课堂上比较流行的电子教案一般有两种类型:PPT 教案和 WORD 教案,调研中发现在《计算机软件基础》课程教学当中 PPT 教案使用的比例非常高。与传统教案相比,电子教案不仅仅是形式上的变化,而是对传统教学手段、教学方法和教学模式的深层次变革。在教学过程中有效运用电子教案是新课程改革的必然要求、是教育现代化的必然要求、也是未来社会发展的必然要求。 《计算机软件基础》作为工科专业的必修专业基础课程之一,主要介绍了程序设计语言、数据结构和软件工程基础知识,强调基本算法的理解和运用。传统教学无法演示程序设计实践和算法演示,充分利用多媒体、网络技术发展带来的契机,采用新的教学模式改进原来的以教师讲授为主的单一课堂教学模式是课程发展的趋势。 一、现有《计算机软件基础》电子教案开发中存在的问题 软件复用是一种由预先构造好的、为软件复用是一种由预先构造好的、为复用目的而设计的软件构件来建立或者组装软件系统的过程。目前用 PPT 等软件开发的《计算机软件基础》电子教案的大部分内容是直接打包在一起的,用户根本看不到动态演示过程,也没法对内容进行修改,所以根本就谈不上软件的复用,网络共享也困难。目前少数一些用Authorware,Director,Flash 和 Html 等软件开发的《计算机软件基础》电子教案,由于在打包或时把教学内容和程序放在一起,一般没有计算机培训的用户根本就没有办法对其进行修改。由于现在网络的快速发展,基于 PPT 等开发工具开发出来的电子教案都不支持网络浏览,这样不利于课程电子教案内容的及时更新。同时,PPT 要做出很强的交互性需要熟悉它的脚本开发,而 PPT 的交互设计能力不强,限制了教案的二次开发能力,使得教师的教学活动设计和组织受到现有电子教案的约束,很难达到理想的教学效果。 二、系统整体设计结构 电子教案系统总体上被分为两大部分,一个是电子教案的编辑器部分,另一个是电子教案的内容前台展示部分(播放器功能)。编辑器部分的界面设计要力求简洁明了,逻辑结构清晰。播放器部分是教师上课时用来展示教学内容的程序,它包括导航部分、内容展示部分、以及电子白板。系统的功能需求主要集中在图文混排、多媒体支持、用户交互、编辑和修改、文字批注和电子排版等功能。 系统总体上采用由电子教案编辑器和播放器两部分组成,电子教案编辑器在完成电子教案内容的制作后导出素材内容,打开播放器播放电子教案。 编辑器主要是为电子教案的制作人员提供添加和修改课程电子教案内容的功能。编辑器部分包括电子教案文件处理部分,电子教案逻辑的设计,具体的每个页面内容的添加和页面相关属性的设置。其中文件处理部分对电子教案进行新建、打开、保存;逻辑结构对电子教案内容之间的逻辑结构进行安排,使其符合电子教案整体的结构或教师教学的具体要求;页面内容的添加负责在页面中添加具体的教学内容素材,如图片、文本、音频、视频等;页面相关属性的设置对页面背景颜色和背景图片的添加和修改,对页面切换效果的设置。另外还有具体的媒体素材的风格设计,同时还提供备课时添加批注的功能。播放器通主要负责对编辑器生成的电子教案素材文件的展示,供教师上课使用。播放器的交互设计和 PPT 类似,保持了 PPT 的一些版面设计风格和快捷键操作等。另外播放器提供弹出式导航栏,方便教师上课时的导航操作,每种素材对象都有自己特定的交互方式。编辑器打包把播放器和电子教案素材内容放在一起,播放器在打开时会调用同级同名文件夹里的 XML 文件和素材文件。 三、主要模块实现 1、电子教案文件操作模块 该模块在设计时把电子教案文件作为一个整体内容来进行新建、打开和保存。新建电子教案时对原有已打开电子教案的处理,如果用户对已打开电子教案做了修改,但是未保存,会提示用户先保存,然后再新建电子教案文件。 作为该系统的重要模块之一,内容结构编辑模块的设计要方便用户对电子教案文件的逻辑结构进行编辑和修改。本系统采用树的数据结构来标示电子教案的内容结构,不仅结构清晰,而且操作方便,符合一般用户的习惯。 该树形结构的节点可以拖动以调整节点的位置,在节点上单击右键会弹出右键菜单,包括对节点的添加、复制、粘贴、删除和修改等操作。 四、总结 《计算机软件基础》电子教案设计和开发的过程中,不仅使电子教案结合了桌面应用良好的用户体验与网络课件轻松部署,带给用户更好的交互体验。该系统实现了电子教案对网络的支持,提高了教案的可重用性和可扩展性。本系统结构在细节上还有部分可以改进和提高的地方。比如系统定义的各种资源素材 XML 表示文档没有遵循 Scorm 技术标准,给以后电子教案素材内容网络复用带来不便。 计算机软件基础论文:计算机软件开发基础知识浅析 一个软件从开始计划到废弃为止,称为软件的生存周期。它包括计划、开发和运行三个周期,每一时期又可细分为若干个更小的阶段。计划时期为问题定义和可行性研究;开发时期为需求分析、概要设计、详细设计和编码;运行时期为测试和维护。我们在开发软件项目时,要做到系统计划、分析、设计、编码、测试及维护等基本的六大步骤。软件开发首先从制定计划开始,这是必不可少的一步,在制定计划时,要准确地弄清软件项目最终要解决的问题,并考虑相应的对策,宁愿花一些时间充分作好计划,也不要在计划不周的情况下仓促着手。 一、系统计划:它包括系统定义及分析、可行性研究和实施计划报告的编写。1、系统定义是制定软件计划的第一步,它应决定所开发软件的总目标,其任务包括首先是确定所开发软件的总体要求和适用范围,描述所开发软件与外界接口的关系;其次是确定所需硬件和软件的支持,对开发的进度和成本作初步估计;第三是分析系统的可行性是否确定所开发软件与原软件的兼容性或其它关系;最后是确定所开发软件的性能与其内部复杂性之间的折中关系。2、可行性研究它包括技术可行性、经济可行性及社会可行性方面。技术可行性是研究应弄清现有技术条件能否顺利完成开发工作,对参加开发工作的人员应有哪些技术方面的要求。硬件配置能否满足开发的需要,估计的进度是否恰当以及对用户的技术方面的要求是否合理等等;经济可行性研究的目的是希望以最小的开发成本取得最佳的经济效益的软件产品;社会可行性研究则是指所开发的软件项目是否涉及到版权纠纷等法律问题,这样的软件产品投入运行后,对生产、管理或经营体制带来有什么社会影响。3、实施计划报告的编写是开发进度、人员投入计划、人员的组织及其资源的利用作个计划报告提纲。 二、系统需求分析:需求分析的任务在于完全地弄清用户对软件系统的确切需求,它具有三大特点:准确性和一致性;清晰性和没有二义性;直观、易读和易于修改。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据等等,为了清楚地知道这些需求,你经常要和客户、项目经理交流等。需求分析的步骤:1、通过对现实环境的调查研究,获得当前系统的具体模型;2、去掉具体模型中的非本质因素,抽象于当前系统的逻辑模型;3、分析当前系统与目标的差别,建立目标系统的逻辑模型;4、对目标系统进行完善和补充,并写出完整的需求说明;5、对需求说明进行复审,直到确认文档齐全,并且符合用户的全部需求为止。 三、系统设计:主要分成两步即概要设计(总体设计或结构设计)和详细设计。概要设计阶段应着重解决实现需求的程序模块设计问题,如何把被开发软件系统划分成若干模块,并决定模块的接口,模块间的相互关系以及模块之间传递的信息。详细设计则是要决定每个模块内部的具体算法。经概要设计和详细设计完成后,需要进行必要的阶段评审,其目的在于使设计发生问题能够及时发现并得到及时的解决。实际上软件设计的主要任务是就是将软件分解成模块,该模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。 四、系统编码:系统编码即编程序是软件开发的最终目标,是产生能在计算机执行的程序,其目的是使用选定的程序设计语言,把模块的过程性描述翻译为用该语言书定的源程序。实质上,软件=程序+文档。编码的目的是产生程序,其余阶段是产生文档。软件编码是指把软件设计转换成计算机可接受的程序,写成以某一程序设计语言表示的“源程序清单”。能充分了解软件开发语言、工具特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。 五、系统测试:包括测试的方法与技术和测试步骤。测试在软件生命期中占重要地位,不仅是因为测试阶段占的时间、花费的人力和成本占软件开发的比重很大,而且它直接影响着软件的质量。程序中许多细微的地方要求绝对正确无误,不能半点马虎。软件开发工作在测试以前已经历了制定计划、需求分析、设计和编码等许多阶段,每一个人的思维不可能绝对周密,而不可能不出现差错,更不用说,在大中型软件开发项目中,系统内各部分之间、各种数据之间、各种人员之间存在着复杂的关系,因而目前可采用的开发方法都不能完全避免发生差错。1、测试的方法与技术主要是机器测试与人工测试和白盒测试与黑盒测试。机器测试是在设定的测试数据上执行被测程序的过程,又称为动态测试。人工测试并不是可有可无的,为了节约计算机机时采取的权宜措施。它是机器测试的准备,也是程序测试中不可缺少的环节。而白盒法和黑盒法主要依据是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部、外部借口、资源管理、集成化以及系统错误。2、测试步骤。分单元测试(模块测试)、综合测试、确认测试和系统测试四部分组成。它是整个计算机系统(包括软件与硬件)的测试,可与系统的安装和验收结合进行。测试的目的是让你知道,什么时候算是完成了,这样可以及时知道你是否真的完成。 测试是软件开发时期最繁重的任务,也是保证软件可靠性最主要的手段,测试的目的是发现程序的错误,而不是证明程序没有错误,软件的测试通常分散在3个阶段进行。编码阶段完成单元测试,包括静态分析与动态测试。 六、软件维护:当软件产品交付使用后,就进入生存周期的最后一个时期——运行时期。必须搞好软件的维护,才能使它正常工作,还使它扩充功能、提高性能,为用户带来显著的效益。一般软件维护工作包括三个方面的内容:改正性维护、适应性维护和完善性维护。在软件生存期中,维护工作是不可避免的,按照不同的目标,维护活动可以分为四类:1、以加强软件功能为目标的完善性维护;2、纠正软件遗留错误的纠错性维护;3、为了适应运行环境变化而进行的适应性维护;4、以及为改进软件的可维护性,减少将来的维护工作量而进行的预防性维护。软件的可维护性,主要决定开发时期的活动,用软件工程的方法来开发软件,编制齐全的文档,严格进行软件测试和阶段复审,是改善软件可维护性、降低维护费用的关键。要加强对维护的管理,尤其是配置管理。有效地对软件配置进行跟踪和控制,避免造成文档的混乱。为确保维护中修改的正确性,消除因修改不当给拥护带来的不良影响,要求对修改工作持谨慎态度。 软件工程环境是在开发软件工程时,开发者要求环境支持他们按照软件工程的方法,全面完成生存周期中的各项任务环境。它要求有适用的语言、良好的工具、有力的编辑和调试手段,以及尽可能丰富的实用程序。良好的环境可以提高开发效率和软件质量的重要条件。软件项目的特点是软件产品和其它任何产业不同,它是无形的,既没有重量,也没有体积。对于这样看不见、摸不着、完全没有物理性质的产品,如何组织生产和研制,却有许多与众不同之处。 计算机软件基础论文:计算机软件技术基础课程教学团队的建设探索与实践 摘 要:该文是将我们对于计算机软件技术基础课程教学团队的多年建设经验进行了探索与实践,为相关基础课程教学团队的建设提供一些宝贵的经验,使国家“质量工程”建设工作落到实处。 关键词:计算机软件技术;基础课程;教学团队 我校计算机软件技术基础课程教学团队经过多年的建设和发展,形成了鲜明的特色,为信息类专业学生的培养做出了一定的贡献。 一、团队设置特色 计算机软件技术基础课程教学团队是在多年的教学改革与实践中自然形成的老中青相结合的教学团队。本团队是在不断适应国家建设需要的过程中形成、发展和壮大的。当今我国经济飞速发展,在信息化建设中对高素质人才的培养提出了新要求,本团队根据这些要求大力开展计算机科学与技术人才培养模式与课程体系的研究、建设与实践,团队自身水平稳步提高。组成了以教授、博士为核心的教学小组,并结合学科发展方向,建立多渠道师资培养机制。 二、切实可行的创新性改革措施 本团队按照课程内涵,适应国家现代化建设对人才的需求,通过长期的教学实践探索、总结、形成了以下创新性改革措施。 (一)树立先进教学理念,优化课程内容 团队以“厚基础、宽口径,知识、能力、素质协调发展”的教育教学理念,针对社会发展需求,结合各专业特点,分别制定教学计划,将课程划分为“基础类”、“专业类”和“应用类”三个层次的课程类型。 (二)采用灵活教学方法和手段,提高教学质量 本团队在长期的教学研究过程中,归纳、总结和形成了若干种实用的教学方法。将省级重点学科、精品课程建设的经验应用到本课程教学改革中,充分发挥教授、博士的作用:教授、博士全部承担课程的主讲工作,定期研讨本课程的新技术及发展动向;由团队带头人主持培养方案、教学计划、教学大纲制订等教学活动;将科研课题引入课程设计和创新实验等实践活动中。紧跟学科发展的步伐,面向市场需求、结合各类专业特点,制订了一套全新的课程大纲和人才培养方案,加大基础实验的课时数,着力培养实际动手能力。 (三)强化课程设计,提升学生综合素质 从课程设计的选题、指导教师的配备、设计过程,我们从制度上实现了全方位的考核和监控。近年来,课程设计的选题中有15%来自团队成员的基金项目和科研课题,35%来自企事业单位横向课题,有30%的选题跟踪学科领域的新技术。 三、实验教学或实践性教学 (一)依托优势资源,强化实验教学 依托我校的计算机科学与技术国家级实验教学示范中心、光电技术与智能控制教育部重点实验室、甘肃省高原交通信息工程及控制重点实验室、铁道部通信与自动化重点实验室、甘肃省网络测试技术研究中心、甘肃省网络监测中心等11个实验室和研究所,建立了面向本科生的课程实践体系。实践教学中突出知识的综合运用能力培养,设立了综合性课程设计体系,并对某些专项内容单独设课,突出了计算机软件分析设计能力、创新能力和团队协作能力的培养。 (二)结合学生兴趣,建立个性化的培养方案 利用国家级实验教学示范中心的先进软硬件平台,开设设计性、创新性的综合实验,并作为实践活动的必修环节。这些活动不仅向学生提供了接触、学习先进软件工具的机会,而且也通过教师的言传身教,掌握科研的基本实验技能,为后续实践活动奠定基础;通过本科生参与团队成员承担的科研项目,使学生一开始就处在一个较高的起点,能够涉猎学科前沿。 (三)完善实验教学管理制度,保证实验教学质量 团队切实加强教师队伍和管理制度的建设,确保高质量地实施课程计划。借鉴ISO9001认证体系中的过程化管理、按要素评估的思想,建立完善的教学质量保障体系。 四、资源建设 课程建设依托计算机科学与技术国家级实验教学示范中心、光电技术与智能控制教育部重点实验室、甘肃省高原交通信息工程及控制重点实验室、铁道部通信与自动化重点实验室、甘肃省网络测试技术研究中心、甘肃省网络监测中心等实验室,先后通过教育部、甘肃省教育厅和学校共同投入,补充和更新了一大批实验设备,使实验条件得到较大的改观,能满足教学科研的需要。同时,团队通过校企联合,建立了一批计算机设备比较先进、技术力量雄厚、指导能力强、稳定的校外学生实践基地。各实习基地的实践活动按照教学大纲和任务书进行,保证了实践教学效果。 五、网络教学建设 建立本课程网上课堂及在线立体化智能教学系统。网上课堂设计的目的是能够给不同层次、不同需要的学生提供帮助,提高教学质量。根据网络立体化教学环境的要求,系统主要包括用户管理、公告系统、网上教学、动画演示、在线测试、网上答疑、课程实验、课程设计及论坛多个模块构成,系统的设计思想确定为:以知识点为中心组织教学子系统;利用动画技术设计演示子系统;建立交互式的考核子系统;建立答疑教室,为教学交流提供桥梁。 六、结束语 我校的计算机软件技术基础课程教学团队是一支实力雄厚,极具影响力的教学科研队伍。该团队很好地把握了当前“计算机”教育的特点,坚持理论与实践并重,一方面,注重对国际上新理论、新方法以及实践中的热点问题进行跟踪和研究。另一方面,注重运用现代信息技术,精心制作了多媒体课件,采用多媒体手段进行教学,同时利用现代信息技术,实现了网络化教学,方便了师生之间的教学互动,有助于促成教学质量的提高。该团队的很多研究成果已经达到国内领先水平,并被评为国家级教学团队。 计算机软件基础论文:以计算机软件工程为基础的现代化技术研究 摘 要 为了推进我国现代化产业的健康发展,各界对于计算机软件工程技术的发展非常关注。目前,电子计算机的覆盖面非常广泛,这对于计算机软件工程的发展提供了动力。为此,本文首先分析了计算机软件工程的具体情况,其次,提出了促进以计算机软件工程为基础的现代化技术发展的可行性方法,最后,就计算机软件工程未来的发展趋势作以分析。 【关键词】计算机 软件工程 现代化技术 研究 现如今,已经步入信息化时代。在此背景下,现代信息技术以其特有的优势为各个行业提供便利。其中,计算机软件工程也属于应用现代化信息技术中的重要一员,为了更接近理想发展目标,有必要提升其现代化水平。因此,了解计算机软件工程现代化技术发展现状,并提出合理性的改进意见,是非常必要的。只有这样,才能让计算机技术得到更充分的应用。 1 计算机软件工程及其发展现状 计算机软件工程,具体是指参与软件工程活动的软件工程师和管理员进行开发、维护、管理软件产品的过程。在这期间,他们需要在软件工程的方法指导下,利用计算机及其软件工具完成上述工作。自计算机软件工程技术传入我国以来,其也得到了一定的发展。分析其发展现状,不难发现,计算机软件工程技术与其他先进技术相比,存在明显的共通性。因此,计算机软件工程技术得到了众多应用领域的认可。为了促使计算机软件工程技术更好的发展,分析其存在的不足之处,有利于实践过程中调整或者改正。具体而言,在软件工程化开发过程中,会产生较多问题,例如,最突出的问题就是工程软件设计需求与实际业务需求存在出入。除此以外,关于软件工程的管理也不是一件容易的事情,其涉及的环节较多,内容较为繁杂,给软件工程的管理造成诸多不便。就其根本,限制我国计算机软件工程的发展因素主要有两个方面: (1)缺少自身的自主研发手段; (2)缺少一套计算机软件工程管理体系。 2 促进以计算机软件工程为基础的现代化技术发展的可行性方法 2.1 加强自主产权的保护 计算机软件工程借助现代化技术实现发展,因此,在计算机软件的自主创新技术上,相关企业应注重保护自主产权。在此过程中,要通过优化投资结构,创建出属于自主研发的创新技术,进而推出相应的技术与产品。除此以外,为了缩小我国计算机软件工程现代化技术与国外的差距,有必要密切关注国外的发展状况。同时,保护知识产权是一项重要工作,企业或者相关人员应增强自身的知识产权保护意识,明确科学、合理的知识产权保护举措,以促进我国现代化技术向更好的方向发展。为实现该目标,应做好以下几点, (1)针对知识产权方面的知识,应大力宣传。 (2)针对相关知识产权方面的法律法规,应积极完善。 (3)将违背知识产权保护条例的行为给予相应的处罚。 从上述几点入手,调动计算机设计人员的工作积极性。 2.2 重视创新技术和产品 我国计算机软件工程上的技术自应用以来,取得了不错的发展。但停滞不前的技术水平,很难让我国计算机软件工程技术实现更好的发展。为了扭转这种局面,我国相关部门与科研人员在技术方面应实现创新。国外的先进技术固然能够被引进或者借鉴,但是这不是长久之计。在计算机软件工程技术中融入自身更多的自主性,才是创造优质产品的根本。通过技术创新,促进行业整体平稳发展,是我国的计算机软件工程走向可持续发展的道路唯一途径。现阶段,我国相关部门与科研人员应该通过引进新型、专业型的技术人才,提出新颖的技术理念等方法实现计算机软件工程技术的创新。这样计算机软件工程的建设才能打好基础,进而推动其的整体进程。 2.3 政府增加扶持力度 信息化项目建设的发展,对于一个国家来说是非常重要的。作为信息化项目建设中的重要组成部分,现代化计算机软件工程技术相关项目应该受到政府的重视,得到更多的扶持。为此,政府部门,应该做好以下几项工作: (1)通过增加投资和融资渠道让项目建设获取更多的投资。 (2)由政府负责牵头成立相关的计算机软件工程基金,为计算机软件信息产业的发展贡献出重要的力量。 (3)政府还应该通过引导和开发,促成相应的技术改造项目顺利完成。 3 以计算机软件工程为基础的现代化技术发展方向 从计算机软件工程的技术应用现状来看,以计算机软件工程为基础的现代化技术发展前景非常好。在未来,以计算机软件工程为基础的现代化技术更倾向于向智能化方向发展。只有实现智能化,才能提升计算机在办公效率方面的能力。不仅如此,在软件工程技术开发中,也可以增强自动化的作用。因此,加大软件开发技术的智能化推进力度刻不容缓。另外,分析以计算机软件工程为基础的现代化技术发展方向,可以明显看出,其更加趋向开放性的发展趋势。计算机的应用领域越来越多,全面推动技术的开发是必然的选择,如此一来,增强开放化程度也成为了唯一方法。网络化程度增强也是以计算机软件工程为基础的现代化技术发展的一个主流。在计算机软件工程开发的过程中,涉及的信息数据越来越多,需要存贮的内容也随之扩大,因此,在未来,计算机软件工程需要更加趋向网络化。否则,将难以快速的进行信息处理。同时,与全球信息的交汇也需要增强其网络化。 4 结束语 综上所述,为推动现代化社会发展,关注并重视现代信息技术非常必要。在现如今的信息化社会的背景下,促进信息化技术的发展不能仅仅借鉴或者引入国外的先进技术。我国应该本着积极创新产品的目的,提升自主研究技术水平,为提升服务质量与水平做出努力。我国计算机软件工程的现代化发展,需要当代科研人员和相关人员贡献力量。从政府加大扶持力度到科研人员重视创新技术和产品,都是推动计算机软件的开发与进步的方法。此外,企业自身也要尽可能创造积极的环境为计算机软件工程的优化升级奠定基础。 计算机软件基础论文:认知案例教学法在“计算机软件技术基础”课程中的探讨与应用 摘要:针对目前“计算机软件技术基础”课程教学中存在的共性问题,结合专业特色,着重探讨了将基于Zadeh认知原理的认知教学法与案例教学法相结合形成的认知案例教学法及其在该课程中的应用。通过三年的教学实践,收到了良好的效果。 关键词:软件技术基础;教学法;认知;案例 一、引言 “计算机软件技术基础”课程是非计算机专业的计算机基础教学内容之一,有着广泛的应用。课程的教学目标是使学生能够全面系统地了解并掌握计算机软件技术的基本概念、思想、原理和方法,并且具有一定的软件系统设计能力,更好地利用计算机软件技术解决本专业领域中的实际问题和日常事务性问题[1-2]。目前,很多高校都开设了“计算机软件技术基础”课程并取得了一定的成效,但该课程的综合性较强,在教学过程中出现了一些不尽如人意之处。本文针对目前该课程在教学中存在的共性问题,结合作者的教学实践,从教学方法的角度出发,对该课程的教学改革进行探讨。 二、课堂教学存在的共性问题 “计算机软件技术基础”课程教学目前面临的共性问题主要体现在以下几个方面[3]:(1)学生对该课程的学习目的不明确,认识不到课程内容的重要性;缺乏学习动力、主动性和自觉性;(2)学生的程序设计、调试能力薄弱,缺乏解决实际问题的经验,对课程内容的实用性体会不深;(3)教学学时较少,一般为32或者48学时。课堂教学大部分时间集中在基本概念、原理的讲授上,而程序设计、调试等实践性较强部分通常只能点到为止,无法进行深入讲解和布置练习。 对于第一个问题,普遍采用的对策是引导学生重视课程;后面的两个问题,目前的解决方式主要集中在教学方法和教学手段的改革上,不同的授课者在具体实施的时候,会因情况而各异。本文作者承担着内蒙古大学通信工程、电子信息科学与技术两个专业的“计算机软件技术基础”课程的授课任务,面对目前该课程教学中的共性问题,进行了深入的思考、分析和研究,除了对学生进行科学研究层面的适当引导外,尝试采用合理有效的教学方法展开教学工作。 目前,一门课程大多采用一种教学方法,主要有任务驱动教学[4]、案例教学[5]、问题教学[6]、引导教学[7]、认知教学[8]等。前四种方法侧重于教学形式与手段的变新与改革,认知教学从讲授内容的本质出发,研究教学内容的认知过程。“计算机软件技术基础”课程以高级程序设计(C或C++)为基础,内容涵盖“算法与数据结构”、“操作系统技术”、“数据库技术”和“软件工程”等,各内容之间既互相联系又比较独立,每一部分内容都是计算机专业的一门专业课程。对于这样具有繁杂的内容并且注重理论联系实践的课程,仅采用单一的教学方法组织教学肯定满足不了授课的要求,同时学生也不容易掌握其内容。基于Zadeh认知原理的认知教学能够从牢牢抓住教学本质出发,深化知识的组织、粒化与因果关系,将所有知识融为一体。案例教学能够使理论和实践有机地结合起来,利于学生的思维能力、知识应用能力、团队合作精神的培养。本文将基于Zadeh认知原理的认知教学与案例教学两种教学方法紧密地结合起来(以下称认知案例教学法)并应用到该课程的教学实践中,借此加强学生的程序设计、调试能力,缓解因教学学时较少与加强实践能力间的矛盾。 三、认知案例教学法及在“计算机软件技术基础”中的应用 基于Zadeh认知原理的认知教学是按照人类认知事物的规律进行教授知识,将教学知识组织、粒化、因果化,使学生抓住知识的本质,全面地掌握知识。其中,组织是对知识宏观的掌控,粒化是对知识微观的演化,因果则是知识之间的关联。因此,认知教学能够条理地、逻辑地、系统地组织教学内容,是一种符合学生学习逻辑认知过程的科学方法[8]。案例教学是一种以教学案例为基础的教学方法,以学生在课堂内外对案例的分析、思辨为重点,目的是提升学生应用理论创新性地解决实际问题的能力。具体形式是在教师的精心策划和指导下,根据教学目的和教学内容要求,运用典型案例将学生带入特定事件的现场进行案例分析,通过学生独立思考或集体协作,进一步提高其识别、分析和解决某一具体问题的能力[5,9,10]。对于认知案例教学法,首先综合考虑认知教学法和案例教学法的内涵,认真分析课程的特点和内容,提取宏观知识点(教学内容)并把它们合理地组织在一起;然后对每个宏观知识点进行细化,得到微观知识点;接下来搭建宏观知识点之间、微观知识点之间的相互关联,从而得到一个课程的认知系统;最后在这个认知系统的基础上,对微观知识点或宏观知识点选择合适的案例开展课程教学。 根据“计算机软件技术基础”课程的内容,把“算法与数据结构”、“操作系统技术”、“数据库技术”和“软件工程”四部分作为宏观知识点,并用系统工程作为基点把它们关联起来;依靠采用的教材和使用的参考资料对这四个宏观知识点进行细化,并建立微观知识点的彼此关联,这样就得到了“计算机软件技术基础”课程的认知系统,如图1所示。图1中的宏观知识点和微观知识点形成了一个多层次、逐层深入的组织结构。每一层是其上层的粒化,每层的微观知识点之间、上层和下层之间都有直接或间接的因果关系。依据图1所示的认知系统,在实际教学中采用了对底层一个或多个关联紧密的微观知识点精选有真实场景的应用案例展开课堂授课。为了能够成功地进行认知案例教学,需要对学生进行科学研究层面的引导,较好地激发学生对课程的强烈求知欲和学习积极性,使其在课堂之外能够主动地投入更多的时间和精力认真完成课堂教学的准备工作,同时自主地学习和发现问题。对于教师,需要在图1的认知系统框架下,根据微观知识点有针对性地选择案例。仔细研究案例的内容,做好案例分析。明确给出本次案例教学重点讨论的问题、有关的背景知识、参考资料和预习要求,把这些内容文档化提供给学生,要求学生提前预习,找出具体问题,同时准备分组讨论提纲。注重程序设计和调试,布置相应的练习,要求学生提前熟悉程序,并准备调试结果。课堂教学中,引导学生就一个问题进行讨论,根据学生的发言进行相应的点评和讲解;并引导学生从一个问题的讨论过渡到另一个问题的讨论;最后进行小结和归纳。 认知案例教学注重培养学生的程序设计和调试能力,教学中布置的练习都有相应的应用背景,学生通过调试和设计程序对课程内容的实用性有了进一步的体会。一般一个案例包含多个知识点,学生的预习和准备工作缩短了授课教师讲授基本概念、原理所需的时间,这让授课教师能够在有限的课堂教学中集中更多的精力去讲解实践性较强部分。经过三年的认知案例教学实践,发现学生的学习积极性和学习效率都有了明显的提高,学习效果良好。 四、结束语 本文把认知案例教学法应用到“计算机软件技术基础”课程的教学实践中,对于该课程的教学有一定的独到性之处。较好地处理了理论与实践相结合的关系,进一步激发了学生的学习兴趣,使学生能够更加牢固地掌握课程的知识点,同时培养了学生的自学能力和创造能力,提高了教学质量。 计算机软件基础论文:计算机软件开发的基础架构原理研究 [摘 要]计算机软件开发行业的发展得益于当前信息技术的快速发展和信息受众不断增加,当然计算机软件开发也需要遵循特定的规律,依照其基础架构原理来进行操作,才能够保证计算机软件开发朝着有效性的方向发展。且计算机软件设计的过程,就是在逻辑关系的引导下,实现软件内容的重新确定,进而形成对应的基础架构,这是软件运行的前提和基础,甚至会影响到后期软件系统的维护和管理工作。由此积极探讨计算机软件开发的基础架构原理,是很有必要的。文章由此入手,积极探究计算机软件开发的概况,进而分析计算机软件开发的基础架构原理。 [关键词]计算机软件开发;基础架构原理;研究 1 引言 计算机软件设计的过程,就是在逻辑关系的引导下,实现软件内容的重新确定,进而形成对应的基础架构,这是软件运行的前提和基础,甚至会影响到后期软件系统的维护和管理工作。由此积极探讨计算机软件开发的基础架构原理,是很有必要的。 2 计算机软件开发的概况 2.1 计算机软件开发的概况 计算机性能的不断提升,使得人机交互效益得到不断展现,越来越多的行业开始尝试以计算机软件开发的方式,实现自身运营模式的信息化转变,由此以对应需求为基础的软件开发行业得到了快速的发展。计算机软件开发具备以下的特点:持续性特点,就是软件开发是一个循环往复的完善过程,在计算机逻辑基础上,计算机软件的缺陷是一直存在的,只有不断的采取措施去修正,才能够更好的发挥计算机软件的性能;针对性比较强,往往都是针对于某一行业或者领域而开展的计算机软件开发工作,其开发工作的目的性更强,对于效益的追求也是更加强烈的。 2.2 计算机软件开发基础架构的重要性分析 当前计算机软件开发过程中,使用量比较多的基础架构,就是三层结构体系,其分别可以归结为:其一,表示层;其二,逻辑层;其三,数据层。在上述三个层次的基础上,可以使得软件的人机交互界面展现出良好的性能,使得逻辑关系和计算机语言之间得以分离,这样在后期维护和修改的时候,单独的对人机交互模式进行调整,就可以使得软件开发的节奏变得更加快捷。由此可见选择合理的计算机软件开发基础架构,对于软件性能的最大化发挥,对于软件后期的维护和管理工作质量提升而言,都是有很大帮助的。 3 计算机软件开发的基础架构原理分析 3.1 从计算机软件开发基础架构需求的角度来看 无论是开发设计怎样的软件,都需要在明确开发目的的基础上进行,也就是需要对于软件的需求进行全面分析。不同的企业,归属的领域不同,所需要展现的功能也是很有差异性的,此时企业都会提出对应的软件开发需求。在此过程中,计算机软件开发者与信息企业之间会展开大量的协商工作,对于软件的功能进行分析,结合企业业务运行特点,实现计算机软件开发方案的敲定。为了做好需求分析方面的工作,需要特别注意以下几个方面的工作:建立完善的软件企业与需求企业之间的沟通机制,保证在软件需求分析的过程中,能够充分的了解企业组织的业务特点和规律,保证软件开发需求能够更加明确。 3.2 从计算机软件开发基础架构编写的角度来看 计算机软件开发基础架构需求分析结果得出之后,就需要进行实际的软件编写工作,从当前的实际情况来看,多数使用的是C语言,这种语言的特点为:语言结构结构比较好,编写操作比较快捷,是当前程序员使用频率比较多的语言模式。在实际的软件编写的过程中,会依照对应的功能划分,实现不同模块的敲定,保证不同模块都能够发挥自己的功能,此时需要建立对应的函数模式,使用这样的主函数对于各个模块进行调节和改善,这样可以保证结构能够更好的维护。当前一个计算机软件的开发工作,都是有多个程序员来共同完成的,这样可以尽可能的保证软件编写工作的高效性。 3.3 从计算机软件开发基础架构测试的角度来看 在计算机软件开发基础架构编写工作完成之后,就需要对于软件的不同功能实现测试,实现对于软件测试阶段的管理和控制,是保证软件性能发挥的关键所在,这也是将对应计算机软件投入使用之前必然要进行的工作。在此过程中,需要关注以下几个方面的内容:其一,输入特定的参数,对于软件的运行情况进行记录,验差运行情况与理论情况之间差异性;其二,使用白盒子和黑盒子的方式去进行测试,同样对于软件测试的效果进行记录,由此实现实际计算机软件开发工作的顺利开展;其三,除了测试工作之外,还应该做好计算机软件开发基础架构的维护和管理工作,定期对于软件的性能发挥进行检查,并且推出全新的版本,进而实现软件自身的修复,这样可以使得其自身的性能得到全面提升。 4 计算机软件开发基础架构选择的基本原则 计算机软件开发基础架构的选择,关系到计算机软件效能的发挥,牵涉到各行各业信息化的快速发展和进步。在选择计算机软件开发基础架构的时候,需要关注以下几个方面的内容:其一,树立软件设计目标意识,在需求分析的基础上,对于不同的基础框架进行选择;其二,使用先进的逻辑语言和编程技术,对于计算机软件架构进行合理的编写和操作,由此才能够保证基础架构开发工作的高效性;其三,依照软件目标功能和结构选择之间的关系分析,选择合适的结构,进而使得软件开发行为朝着有目的性的方向发展和进步;其四,注重计算机软件开发团队的塑造,处理好不同模板开发之间的关系,保证计算机软件基础结构选择得更加科学和合理。 5 结语 综上所述,计算机软件开发过程并不简单,其中不仅仅涉及到专业领域的知识,还关注到计算机软件基础结构的原理,处理好这两者之间的关系,才能够保证计算机软件开发的基础架构工作朝着更加高效的方向发展和进步。从当前计算机软件开发基础架构原理的运用实践来看,其基础架构选择还存在很多不合理的情况,此时就需要采取对应的措施来改善和调整,相信随着在此方面实践经验的积累,计算机软件开发的基础架构将会展现出更加大的效能。 计算机软件基础论文:基于计算机技术发展基础上的计算机软件安全检测技术 摘要:计算机软件安全检测技术已经成为了计算机软件开发过程中不可或缺的一项核心内容。计算机软件开发人员,在进行计算机软件开发过程中,非常有必要对不同类型的计算机软件进行安全性检测,以便于软件开发人员事先发现安全隐患,从而采取适当的改进措施,确保不同计算机软件在使用过程中顺利运转。 关键词:计算机软件;安全检测技术 在社会经济飞速发展的今天,计算机作为意义上的生产或者生活用品已经融入人类社会的各个领域,并且随着科技的日新月异,电子计算机科学技术也随之日臻完善和成熟。是计算机软件在支撑着计算机的正常运转,人们依赖计算机进行生产和生活要借助不同的计算机软件来进行,因而,计算机软件的安全性也就提到了计算机维护的首要日程。否则,其安全性就极有可能对计算机的使用带来极大的安全隐患,同时也会给互联网安全造成极大威胁。鉴于此,计算机软件开发人员,在进行计算机软件开发过程中,非常有必要对不同类型的计算机软件进行安全性检测,以便于软件开发人员事先发现安全隐患,从而采取适当的改进措施,确保不同计算机软件在使用过程中顺利运转。显而易见,计算机软件安全检测技术已经成为了计算机软件开发过程中不可或缺的一项核心内容。 1计算机软件安全检测的基本内容 当今社会,计算机的使用在不同领域越来越广泛,而且越来越具有依赖性,因而,计算机软件使用过程中的安全性则越来越成为计算机用户的终极要求,主要表现在以下几方面::第一,软件之间的冲突导致计算机运行的不通畅。安装某一款计算机软件后,用户发现这对计算机本身并没有产生多么明显的影响,甚至会因为该软件和其他软件冲突因而导致计算机运行速度明显变慢等;第二,计算机软件安全性得不到保证。计算机用户在使用软件的过程中许多个人信息会被留下,用户的私密信息随之就不可避免地被泄露,自然,用户的个人隐私就会得不到有效的、必要的保护。因此,在不同计算机软件开发过程中,软件开发人员要利用成熟的安全检测技术对计算机软件中存在的安全漏洞进行检测,并对其进行安全修复,从而达到提高安全性,降低风险的目的。 计算机软件安全检测是指在软件开发过程中,计算机软件开发人员采用安全检测技术,采取科学的手段,对计算机软件的漏洞和缺陷进行系统性地检测。安全漏洞检测是指计算机软件开发人员对计算机软件的安全缺陷及在使用过程中产生的安全隐患进行有针对性的检测、修复,软件升级或版本修复是这一过程的主要运用手段。不过,这类检测只是停留在技术的层面问题;而真正的技术检测,则是计算机使用过程中系统运转过程中的安全管理、授权、访问控制和机密性等核心内容。 2计算机软件安全检测的基本要求 计算机软件检测是一项复杂、严谨技术含量较高的工程,不仅对检测的软件有着科学严格的要求,同事对检测方法、技术手段、操作人员素质等都有着严格的要求。 首先,由于计算机软件程序具有复杂性的特点,要使用科学有效的安全检测方法对计算机软件安全进行实质性检测。软件中很多潜藏的安全问题,采用简单的检测方法是不能被排除的,所以开发人员一定要事先对软件的相关特性以及检测软件的使用条件进行全面了解后,再根据实际情况选择适当的检测方法,制定出科学合理的检测方案,对计算机软件安全进行实质性检测,不仅如此,开发人员还要在细节方面也要依据相关程序进行细化和深化。 其次,因为软件漏洞具有存在于软件开发程序的各个环节的特点,需要多类人员共同参与对计算机软件的检测,才可能确保尽可能多地排除软件中潜在的安全威胁。多元化的人员参与有利于实现检测方法的多极性、多样性,这有利于及时、准确地排除安全隐患。不过,在软件安全检测过程中,必须需要具有专业软件安全检测技术的人员参与,同时还需要有了解软件工作和使用特性的人员,从而实现多角度、全方位的检测,以排除更多的安全风险,满足软件使用的安全要求。 最后,对计算机软件进行安全检测必须要按计划选择合适的方法进行安全检测。选择大体说来,需要通过以下做法具体执行:首先,要对计算机软件检测的各种方案和案例进行必要地分析研究,并且最后要进行汇总,在此基础上再进行分析、归纳、总结,寻找出普遍通用的检测规律。之后,再根据检测的具体要求,对比、筛选合适的方法予以检测。但是,再进行检测之前,为了确保检测程序的顺利推行,事先必须制定出切实可行的检测方案,并将检测过程的方案制定的形象化、具体化,以确保检测过程准确无误地予以开展。以上工作做好、做细后,还要对上述拟定的检测方案采用电脑模拟建立数据模型。特别需要指出的是,在这个过程中,一定要把语言支持作为实现模型形式化表现过程中的动态帮助。以上环节结束之后,作为对软件进行运行和结构的安全测试,再开始检测模拟系统。 3 计算机软件安全检测的具体技术 3. 1 语法安全检测技术 语法安全监测技术主要是对计算机软件中的语法进行实质性、技术性检测。最初输入条件的不同会使最终检测结果产生差异。语法安全检测技术通常被用于检测源程序中的安全漏洞,该检测技术可及时有效地检测出系统函数与C语言库函数的切换,并及时恰当地做出处理,从而建立以语法为基础的测试数据。同时该检测技术还能实现对计算机软件的安全检测,排除潜存的安全风险,保证计算机安全运行。 3. 2 动态安全检测技术 这项技术是对计算机软件运行环境变量进行的必要检测,漏洞等风险因素是它主要进行的检测目标。这种安全动态检测技术的使用,计算机软件源码不需要在运作过程中进行修改,因而计算机用户的隐私安全得到了很大程度地保证。在这类检测技术应用过程中,如果计算机软件的漏洞被发现,就会自动完成相关修复工作。今天,由于计算机在商务应用中也发挥着越来越大的作用,这种软件的检测技术更加适用于商务性,随着普及率的越来越高,对保证商业机密的安全,必将发挥着越来越大的作用。 3. 3 静态安全检测技术 近年来,计算机程序开发人员根据程序代码内部特性和结构是静态安全检测技术这一特征,事先构建合理的测试模型,以满足计算机读取的相关要求,对计算机进行安全静态检测,这就是所谓的静态安全检测技术。这种检测技术的检测程序是:开发人员先利用这种安全检测技术对需要检测的计算机进行检测之后,再将选定的测试模型和待检测的程序数据进行全面比对,如果待测的计算机软件安全性能良好,其对比数据就会高度一致。近年来,由于这项技术日臻成熟,并且简洁易行,越来越多的软件技术开发人员倾向于此项研究之中,从而推动了这项技术得到更为充分的发展,并且越来越大地在计算机软件安全领域中发挥了重要的作用。 3. 4 混合安全检测技术 近年来,随着计算机检测软件越来越多样化,检测技术要求的不断提升,对计算机软件越来越趋向于多项或者混合检测,以确保效果的精准化、全面化。鉴于此,实践中,我们往往倾向于多种检测软件并行的检测方法,也即这里我们所说的混合安全检测技术。这种混合安全检测技术双管齐下,动态安全检测与静态安全检测并驾齐驱,采用了动态安全检测与静态安全检测两种检测技术的优势,扬长避短,强强联合,确保计算机软件检测过程精准、全面、不留死角,极大地扩大了检测范围。 3. 5 基于web技术的安全检测技术 计算机技术检测采用web技术是近年来计算机检测技术领域的一项尝试和技术突破。Web技术是近年来伴随着计算机互联网技术出现的网络资源开发技术。随着web技术的不断革新,这项技术也逐渐渗透到计算机软件安全检测领域中,并且和其他检测手段比起来越来显示出它独特的优越性能――与同是作为计算机软件安全检查的传统的检测技术,Web安全检测技术更具有灵活性、高效性和先进性的特点,在检测性能等各方面都表现出优异的成绩。大体说来,基于Web技术的安全检测技术不仅能够及时检测出风险和漏洞,而且能够及时对这些安全风险和漏洞进行有效修复,为计算机系统安全、可靠、高效地运行提供了有力的保障。鉴于这种检测技术的精准、高效、安全的特色,基于Web技术的安全检测技术已经越来越多的运用到不同行业的计算机检测技术中,并且大有取代传统检测软件的趋势。 4 结束语 综上所述, 随着计算机网络越来越大的影响着人类的生产和生活,计算机安全检测技术作为计算机运用过程中的辅助技术,势必越来越彰显出它的必不可少的重要作用。同时,计算机技术越先进,势必要求计算机安全检测技术也必须随之越先进,在科技日新月异的今天,相信我们人类社会在计算机安全检测技术方面,也必将取得更多成果,以更好地服务于计算机技术,更好地造福于人类。
计算机软件专业论文:高职计算机软件专业现代学徒制教育模式及校企合作模式的探索与研究时武略 摘 要:随着国家在现代学徒制教育方面的引导与支持,高等职业院校的计算机软件专业为了生存和发展,必须进行相应的教学改革,通过课堂教学中的项目化教学、工作室教学模式、传帮带的学徒模式、拓展提高的自学模式,寻求学校、企业、教师、师傅、学生各方利益的平衡点,奠定校企合作可持续发展的基础。 关键词:现代学徒制;软件专业;教育模式;校企合作 1 引言(Introduction) 2014年8月25日,《教育部关于开展现代学徒制试点工作的意见》提出“各地要选择适合开展现代学徒制培养的专业,引导职业院校与合作企业根据技术技能人才成长规律和工作岗位的实际需要,共同研制人才培养方案、开发课程和教材、设计实施教学、组织考核评价、开展教学研究等”,这就从国家政策层面提出了今后一段时间高等职业教育改革的方向。本文结合教学改革实际探讨计算机软件专业的现代学徒制教育模式,以及随之而来的校企合作模式方面的问题。 2 现代学徒制教育模式是基于建构主义的教育模式 (The modern apprenticeship bases on the educational pattern of constructivism) 建构主义认为,将学习者置身于学习情境、工作情境之中,通过自主的尝试才能真正构建起有效的能力与知识体系。现代学徒制就是要求学生在学校进入教师所建立的学习情境中,通过完成教学任务、教学项目来学习知识和技能,以正确的操作流程实现预期的效果,减少并避免错误的发生;到企业进入到师傅所建立的工作情境中,通过完成工作任务、工作项目来积累经验、提升素质,既能从正面学习实际工作所需要的知识和技能,又能在解决不断出现的真实问题过程中,检验和应用所学,修正错误,深入理解,构建出完整的知识与能力体系。 3 计算机软件专业开展现代学徒制的主要方式(The main ways of carrying out the modern apprenticeship majoring in computer software) 计算机软件专业的人才培养目标就是要让学生成为能够参与实际软件项目的工程师,而这样的工作非常适合开展现代学徒制的教育模式。一般而言,可以通过以下几种方式来实现人才培养过程: (1)课堂教学中的项目化教学。授课教师通过将曾经做过的实际项目引入课堂,以学习知识培养技能为切入点,较为全面地传授学习领域的有关知识。这种项目化教学模式需要有相关的课程体系支撑,合理安排前导课程、后继课程之间的关系,并规划好每门课程中的主要任务,使得学生的学习过程是一个较为连续的知识和能力提升过程,在不同的项目中实现知识的积累和迁移。 (2)工作室教学模式。技能熟练的教师可以组建自己的工作室,承接校内外的实际项目,带领学生在“做中学”,这就要求教师有实际项目经验和娴熟的技能。这种模式要求合理安排好学生的学习时间,既不能影响到正常的课堂教学任务的实施,又要保证有一定的时间用于在工作室中实践。一般有两种解决方式,一种方式是集中几周进行项目实战,在这几周内全部时间用于一个或几个项目的完整实施;另一种方式是每天固定安排一定的时间段进行项目实战,在不影响其他课程教学的同时,从时间上有一定的连续性、稳定性。但受项目的规模所限,教师个人主导的工作室教学模式往往保证不了实施过程的系统性、规范性,与企业的真实情境还有一定距离。 (3)传帮带的学徒模式。在软件企业中,很多时候是可以将较大型的项目分解为多个子项目的,化繁为简,完全可以由学徒来完成,但一定要由企业的师傅全程跟踪指导,避免拖延工期或者与设计思路相背离的情况发生。企业中实施的项目往往具有过程完整、实施规范的特点,学生可以通过承担不同的角色,参与到项目的不同阶段,既要知道要做什么,又要理解为什么这么做,还要知道如何让用户更满意。同时,在较大规模的开发团队中,可以学会如何分工、沟通、协作,培养综合的职业素质,有利于今后的职场发展。 (4)拓展提高的自学模式。经历了实际项目的洗礼之后,如果学生真正学到了扎实的知识和技能,并能够培养出兴趣,将会主动地更深入地学习相关知识,教师只需要进行指导、答疑即可,学生会自主地构建自己的知识和技能结构。这种模式需要学校提供有效的网络教学平台,教师向学生推荐优秀的教学资源,与学生保持交流,也通过帮助学生解决实际问题提高教师的实战水平,教学相长,共同提高。 4 校企合作的几种模式(Several patterns about the cooperation of colleges and enterprises) 在实行现代学徒制的教育模式过程中,最根本的问题是要解决好校企合作、共同育人。一般来说,校企双方有以下几种合作模式: (1)学校为发起人,邀请企业参与,成立职业教育集团、校企合作委员会、专业建设委员会等。这种模式下,学校与企业的联系较松散,并不能对企业有所要求或者制约,企业完全是出于社会责任、用人需求、个人关系等方面而与学校合作。 (2)企业为发起人,邀请学校参与,成立校企合作理事会,设立企业冠名班等。在这种模式下,企业在长期的人才需求基础上,希望学校输送较为稳定的、优秀的人才,并且企业有能力接收大量的学生实习、就业,学校与企业联系较为紧密、稳固,便于开展工作。 (3)学校办企业、企业办学校的多元办学主体模式。学校为了引进企业工作情境、企业工程师,自己成立校办企业,或者规模较大的企业自己出资创办学校,都可以使得校企双主体无缝对接,在真实的工作环境中,实现产教融合、工学结合。 5 学校、企业、教师、师傅、学生五者之间的关 系(The relationships among colleges,enterprises, teachers,master workers and students) 在学徒制的教学过程中,学校、企业、教师、师傅、学生各有其职责与分工: (1)学校是教育的第一主体,对培养学生负有全面责任,需要设置专门机构进行校企合作,通过对企业的考察,选择有一定规模、管理规范、有较强社会责任感的软件公司进行深入接触,最终制订合作方案。学校需要制订学徒制教学过程管理的相关管理办法,从制度上保证教育过程的顺利实施。 (2)企业是教育的另一个主体,从其尽社会责任、本身用需要出发,需要有专人负责与学校合作,共同实施人才培养的全过程。需要提供学徒所需的工作条件、适当的报酬,并要承担学徒工作过程中可能产生的损耗和损失。 (3)学校需要安排与企业师傅对接的专业教师,教师一方面应该深入企业,提高实践能力,另一方面应该指导、督促学生按企业的工作要求学习相关的知识和技能,引导学生将学习情境知识转化为工作情境知识,并按学校相关规定管理、考核学生。 (4)师傅是代表企业实施教育过程的责任人,既要作为企业员工完成工作任务、创造效益,又要作为教师培养学生职业能力,带领学生完成实际项目,发现错误及时纠正,以免造成损失,在学生工作过程中给予必要的示范和指导,帮助学生积累工作经验。另外,师傅通过带徒过程,也是为企业培养人才、发现人才的过程,帮助企业储备优秀员工,从人力资源角度创造具有更深远意义的价值。 (5)学生是受教育的主体,具有双重身份,既是学校的学生,又是企业的员工[1],既要完成学校规定的学习任务取得相应的成绩,又要完成企业提供的实际项目提升职业能力。学生在教师、师傅的双重指导下,从学生转变为员工,从初学者成长为熟练的工程师,是学徒制教育模式的最终受益者。 6 校企、师生、师徒之间的博弈 (1)学校、企业是两个教育主体,既是教育的实施者,也是成果的受益者[2]。学校通过学徒制教育模式可以深化教学改革,培养出质量更高的人才,也促进教师双师素质的提升,从而提高专业的社会影响力,树立学校良好的社会形象;企业通过与学校合作育人,将岗前培训工作融入到学徒培养中,既可以利用学生完成一些较为繁重的工作,节省部分人员开支,又可以在此过程中发现、培养出企业所需的优秀员工,提供源源不断的生力军,有力于企业的发展壮大。但是,在合作过程中,免不了会因各自的利益诉求不一致而有所分歧,学校注重的短期效益是希望让学生真正学到知识, 长期效益是学生将来能在软件企业中稳定发展;企业注重的短期效益是希望学生较快地适应工作岗位,开始创造价值,长期效益是学生将来能够为企业服务[3],而不是“为他人做嫁衣裳”。 (2)教师是知识和技能的传授者、引导者,学生是知识和技能的学习者,也是自身知识和技能体系的构建者。教师希望学生对程序开发工作充满激情,尽快地理解、接受知识和技能,主动地按步骤完成项目中的各个任务,有问题首先自己想办法解决,解决不了的再向教师请教;学生多数很难热爱程序开发工作,对编写代码有一定的畏惧心理,出现问题马上想到的是问老师,不愿自己苦思苦想、独立面对,这就很难锻炼出优秀程序员的品格与毅力。在教育过程中,首先要明确的就是学生的主体地位,教师只作为引导者,想方设法激发学生的兴趣和热情,教会学生正确的学习方法,及时发现学生的不规范、偷懒行为,加以督促和激励,养成踏实、认真的职业素养,并帮助学生规划好未来的职业发展,树立正确的择业观念。 (3)师傅是企业的代表,具有员工、教师的双重身份,而学生具有学生、学徒的双重身份。师傅要按企业的要求带领学徒完成生产任务,又要实施技能和知识的传授,师傅希望学徒以较高的质量和效率完成承担的工作任务,希望学徒自己通过自学来提高能力,而不是事事都依赖师傅的教导和明确的指令;学生要按学校的要求作为学徒参加企业的生产实践,希望能够通过这个过程学习到课堂上学习不到的知识和技能,积累工作经验,完成从学生到员工的身份转换和职业生涯的初步铺垫,希望师傅给予更多的指导和经验技巧的传授。 7 结论(Conclusion) 无论是学校、企业,还是教师、师傅、学生,都希望从较为稳定、长期的校企合作教育模式中获得自己所期望的利益,因此最重要的是要具有可持续发展的基础,其中的关键点在于通过校企深度合作,构建牢固的纽带关系,实现各方利益的最大化,这也是实施现代学徒制教育模式需要长期研究、摸索的课题。相信随着国家的顶层设计、各级教育主管部门的具体规划、职业院校的真抓实干、企业的真正参与,高职院校的计算机软件专业必将迎来又一个改革的春天。 计算机软件专业论文:计算机软件技术专业人才培养的研究与探索 【摘要】针对当前计算机软件技术专业的招生与就业现状,分析了为什么难以培养出足够多高质量的计算机软件技术人才,并给出了一些高等学校进行软件技术专业人才培养的一些思路。 【关键词】软件技术专业;人才培养;高等教育 1.引言 1995-2005是我国计算机行业的第一个快速发展时期,各个高校大力发展计算机专业,几乎每个高校都设有计算机专业。国内知名的IT企业几乎都是在这个时期发展起来的。到今天,十几年的人才积聚让计算机教育行业渐露疲态,进入人才饱和甚至过剩期,计算机专业已经成为高校应届生就业率最低专业之一。但纵观人才市场,“硬过剩”并未出现:各类IT培训机构层出不穷,陆续输送大量计算机人才;招聘网站IT职位的招聘更是持续火爆,供不应求。为什么高校计算机应届毕业生不再受青睐,甚至毕业后需要参加培训机构“重修”?十年光环下的高校计算机教育是否开始走向堕落?是谁一手砸了计算机学生的金饭碗?[1]这就不由得教育工作者来思考一个问题,为什么高等学校培养不出来足够多的高质量的计算机软件技术专业人才? 2.问题的分析 传统机械的高校教育难以承载多元化的企业需求,将计算机人才推到一个怪圈:一方面海量应届毕业生苦于工作无果;另一方面软件工程师,网络工程师等IT相关职位常年处于招聘热门职位前列,招聘网站一天的招聘信息竟达到万余条。企业需求与高校教育间不断被拉伸的真空地带,由日渐兴盛的各式培训机构迅速填充起来。“学以致用”这条传承千年的办学基准,难道当代计算机教育已经不再适用了吗? 那么有没有深层次的思考过为什么我们高校培养不出来合格的计算机人才呢?通过多年的学习经验、工作经验、项目开发经验和深刻地思考我认为有以下几个方面的原因: (1)学习计算机学科的方法。我们会发现这样的一个现象,计算机学的好的往往不是计算机专业的学生。一些学物理的、数学的、法学的、哲学的等等其他专业的学生最后转学计算机都很出色。我们的生活中也不乏类似的人才。还有一些培训班上培训的学生,整体高出学校培养的学生。那么这些现象能否说明一些问题呢?我们的课程设置和企业应用之间是否有矛盾?也就是我们是否进行了按需教学和学习呢? (2)计算机专业是个理论性很强很抽象的专业。尤其是计算机软件技术部分完全是抽象的。全凭个人想象,概念在每个人脑海中的印象是不同的。软件设计是在理解这些抽象概念的基础上进行产品的设计。在产品开发环节也和其他专业有所差异。比如机械加工类,学习集中在几个典型案例的教学上,学习了轴类加工、盘类加工、箱体类加工、齿轮类加工任务后,那么以后做个其他类似的东西基本上不存在障碍的。可是软件就不行,这次做个成绩查询系统没问题,下次你做个图书管理系统,会因为系统环境,设计思路、业务流程、相关技术、编程语言的改变就不一定很顺利。正如行业有句话:“软件的正确性主要依赖于编程人员的技术水平和知识结构”。 (3)课本是硬伤,师资是软肋,实践经验是缺陷。我们选用的教材往往都是一些规划教材、省部级重点建设教材等。这些教材从编写到出版使用的周期至少在1年以上,甚至有些教材需要更长的时间,与IT行业18个月技术更新一次的法则远不适应。还有些教材就是从学校到学校,从老师到老师,没有企业实践人员的参与。大部分的老师是从学校到学校,缺乏项目开发的实践经验,更缺乏从企业一线走出来的工程实践人员。 3.问题的解决 那么介于以上的对问题的思考和分析,应该如何进行计算机专业人才培养的改革呢?我认为应该从以下几个方面着手: (1)以一些入门课程让学生快速了解和掌握计算机硬件设计、软件及计算机工作过程的基础知识。对计算机专业来说要做到理实并重,将理论性抽象性的知识简单化、形象化,更适合高职专业计算机学生的学习,做软件技术的如果没有深刻的理论知识犹如无源之水无本之木。 (2)以应用技术为主、做到按市场需求学习。计算机语言、软件设计思想、数据库技术、流行技术、前沿技术等都要涉及。最主要的要注重实习实训环节。让学生在实习实训环节对所学的知识能有个很好的应用和总结。 (3)整合课程设计和实训。力尽在实训中完成项目驱动的教学思路。我们发现大部分课程设计学生都做了一个简单的MIS系统,三年下来学生用一个MIS系统可以应付好几门课的课设或是实训。应很好地把这些课设实训的时间整合起来,严格要求、精心规划、以标准的软件开发规范和产品去指导学生进行软件开发的学习,从中将课程中学习的东西融会贯通。通过项目来锻炼学生是最好的办法。 (4)以案例引导、项目驱动、团队协作、小组教学为主要方式,不再以个人为教育单位,2-3人为一个项目组。一来模拟实际项目开发的真实环境,二来通过学员间的协作互助,培养团队协作的能力,可以解决一些我们老师难以触及的问题。 (5)校企合作。校企脱节是所有高校 计算机教育问题的根源。目前很多培训机构都与企业签署长期协议,帮助培养定向人才,想一想,为什么协议对象不可以是广大高校呢?企业直接和高校签订用人协议,通过大三一年的实践进行定型培养,毕业后合格即直接招收。这样一来,取代了流于形式的企业实习,同时解决了教育与需求接口的问题,一举两得。[1]和其他专业的校企合作相比,计算机专业校企合作更为灵活,应走出一条体制多样性,机制灵活性的校企合作新思路。学校实验室环境和企业实际环境十分相似 只需有较强的企业实践的老师或是人员和标准开发过程,即可达到校企合作来锻炼学生的目的。 (6)老师要培训。计算机技术发展是很快的。每天出几个新名词是很平常的事情。新旧技术更替很快。专业老师应该不断学习充实自己,最好的办法就是培训。 (7)加强对学生的素质教育个人文素养的培养。介于高职层次学生的质量,应该对学生做足够多的入学教育和平时的素质教育,如:学生对大学应该如何认识,大学生活如何度过,对专业的整体认识,专业如何去学习等等。在平时多些素质教育的内容,以提到学生团队协作的能力,吃苦耐劳的能力,与人相处的能力等等。加强其内在修养。 4.总结 如今正是信息量成指数膨胀的时代,随着嵌入式技术、物联网技术和云计算等技术的发展各个行业对信息化智能化发展的要求越来越强烈,信息处理设备及平台的扩张使得用户也在不断的扩张,IT行业即将迎来第二个高速发展阶段,我们应抓住机遇发展我院计算机教育事业。 计算机软件专业论文:计算机软件外包专业学生的英语学习策略研究 摘 要:本文在分析中国软件外包行业发展态势的基础上,说明了英语学习对该行业人才发展的重要性。针对面向欧美外包的软件专业人才英语能力要求与培养现状,梳理出软件外包欧美方向的学生在英语学习的过程中存在的问题,并提出解决对策,以培养出适合本行业要求的“英语+专业”的优秀合格人才。 关键词:软件外包;英语学习困难;英语学习策略 一、引言 信息产业是关系国民经济和社会发展的基础性、战略性产业。近年来,在国家的高度重视和大力支持下,我国信息产业取得了飞速的发展。但是既懂英语又懂技术的复合型计算机人才的缺乏,严重制约了我国信息产业的国际化发展。本文试图从中国软件外包行业的发展态势分析计算机软件外包专业学生英语学习的重要性。在人类社会进人信息时代的今天,随着科学技术的飞速发展,国际学术交流日益频繁。对于计算机等电子专业而言,85%以上的专业资料都是以英文的形式出现。英语也是目前我国科技工作中的首选外语,作为计算机专业人员,熟悉和掌握计算机专业英语,了解科技英语结构,就能跟上社会前进的步伐,在科学技术领域与世界同步。 计算机领域是科学与技术飞速发展的领域,新的计算机专业词汇、术语不断涌现;计算机操作过程中又会面临大量的提示信息;在信息高速公路、Internet发展如火如茶的今天,计算机网络上大量的英文信息又迫使我们不仅要掌握计算机类专业英语的知识,而且要面临知识更新。 目前,我国大力推进服务外包经济的发展,推动加快由“中国制造”向“中国服务”的经济发展方式的转变。服务外包产业在我国经济中的比重逐年上升,软件外包,尤其是面向欧美市场的软件外包异军突起,开辟了吸纳大学生就业的重要渠道。软件外包的迅速发展除了要求在软件外包专业应用型人才的培养上要注重软件项目开发能力、职业化素质和工程化能力之外,更强调的是注重英语能力的培养,尤其是行业沟通和专业表达能力,这对该专业学生的英语学习提出了更高的要求。“懂技术的外语人才”已成为企业的发展瓶颈。因为英语是软件行业中的国际语言,尤其面对欧美市场,要做好软件外包项目,必须充分了解客户的需要和想法。就目前来看,制约我国软件人才能力发挥的一个很重要方面是学生英语表达能力较弱,缺乏基本的对外交往沟通的能力。 因此,面对通过服务外包可以给我国带来的巨大经济效益,在高层次上快速地培养出大批量的具有较高素质、较高技能和基本精通行业用语的外包人才成为软件外包专业最紧迫的任务。 本文通过对计算机软件外包专业学生英语学习现状的调查、分析,依据相关理论,总结出有利于培养学生英语学习的因素,同时也发现了明显阻碍学生英语学习的因素,并在此研究的基础上,针对计算机软件外包专业学生英语学习策略提出了若干建议,以便更好地促进该类专业学生英语的学习。 二、国内外对计算机软件外包专业学生英语学习策略的研究现状 国外研究现状和趋势: 20世纪70年代代表人物主要有Rubin和Naiman等。Rubin着手研究成功外语学习者的学习策略。在此阶段,人们主要是研究成功外语学习者的共同特征。Rubin指出:外语学习者在心理特征和学习方法上有许多惊人的相似之处。Naiman等把学习策略与认知风格、个性、智力、语言潜能、态度等方面结合起来进行研究。 80年代,研究者们对学习策略的确认和分类作了进一步的探索,他们研究了学习策略与语言学习过程的关系以及语言信息加工、处理的认知过程。Politzer Mcgroarty 指出外语学习策略的使用与文化背景密切相关,O’Malley Chamot在实验研究中,也证明了学习策略训练的可行性,并出版了描述外语学习者策略的著作。 90年代的学习策略研究出现了几个新的趋势:第一,外语学习策略的研究与自主学习的研究结合起来,如Wenden 于1991年出版的Learner Strategies for Learner Autonomy主要探讨了外语学习者策略与自主学习的关系。第二,外语学习策略的培训成为学习策略研究的重点。Rubin 和Thompson于1994年出版的How to Be a More Successful Language Learner以及Chamot等人于1999年出版的The Learning Strategies Handbook都是通俗易懂且十分实用的外语学习策略培训手册。国外对计算机软件外包专业学生的英语学习策略研究甚少。 国内研究现状和趋势: 我国对英语学习策略的研究最早始于20世纪80年代初,但是成果数量不多且研究面不够。最早在国际杂志上发表的外语学习策略研究论文是黄小华的Learning Strategies for Oral Communication,该研究考察了我国英语专业四年级学生口语策略与口语水平的关系。文秋芳对学习策略进行了最系统、最深入、最持久的研究并发表了一系列论文并在1996年出版了专著《英语学习策略论》。 目前我国学者和教师研究最多的是:英语专业学生与非英语专业学生的学习策略差异研究、阅读策略、写作策略、听力策略和词汇学习策略等单项策略与英语成绩的关系以及观念、动机等与英语水平关系的研究。总体说来,对英语专业学生学习策略的研究多于对非英语专业学生学习策略的研究,对单项、具体策略的研究多于对整体系统策略的研究。尤其对计算机软件外包专业学生的英语学习策略研究甚少。 三、软件外包专业学生在英语学习中存在的问题及解决对策 目前,在国际化的背景之下,国家和社会对大学生的外语水平特别是英语水平提出了更高的要求。外语特别是英语学习也便成为人们关注的焦点。齐鲁工业大学信息学院的软件服务外包校企合作平台是一个面向软件服务外包人才培养,由学校、企业、培训机构共同承担,通过人力、知识、技术、设备、信息及政策等资源的互动实现人才培养共建、共享、共赢的一种组织形态。校企合作平台采用了“项目引领”和“订单式培养”相结合的培养模式,在校企合作平台中计算机职业英语能力的培养是一个重要环节。然而,计算机软件外包专业学生的英语学习还存在一定的问题和困难。比如,我们根据学生英语学习观察和深入的调查了解,发现学生在英语学习方面主要存在如下一些问题: 1.学习者情感策略消极,社交策略缺失 语言是交际的工具。我们只有在语言的使用过程中才能真正地理解和掌握语言。在英语语言学习中必然涉及自我情感的控制和与他人的交往,其成功在很大程度上取决于如何处理这些因素。大量事实证明仅靠语言形式的学习和操练是达不到语言学习效果的。此外,该领域的研究普遍认为,语言学习与情感有关,而且如果有利的情感状态占主导地位,学习成功的可能性会更大。可见,针对计算机软件外包专业的学生,要真正掌握所学英语,就必须能主动地驾驭自己的情感状态,克服消极的情感成分,如害羞胆怯和怕出错等。同时,还应把英语作为一种交际工具,寻求在真实语境中使用语言的机会,加强人际交往策略学习和运用。调查显示,在英语课堂上55%的学习者处于被动听讲状态,33%偶尔参与,积极主动参与课堂活动者仅占12%,在课外经常寻找机会开展英语交际活动者仅有5%。导致这些现象的原因主要有:传统教学形成的被动习惯(64%),没有兴趣(16%),怕出错被人嘲笑(11%)和缺乏机会(90%)。 2.认知能力不足,学习策略失当 在英语学习中,尤其针对计算机软件外包专业的学生,大多数的学习者缺乏这方面的理论知识,对英语学习的策略和方法认识不够。在我们的教学中,我们经常对学生的学习情况进行访谈,在访谈中了解到,很多学生认为英语学习就是背单词和记语法,而背单词的方法大多是采用机械式的反复默写,利用上下文的情境和构词法知识灵活地记忆单词的学生却为数不多,多数学生认为学英语就是要多读、多记,若要问他们采用这些方法的原因,很多学生便回答,“多年来一直这样学的”。即便有一些学生认识到这种学习效果不是很理想,但也很少去寻求更好的学习策略和方法。 3、反思意识淡薄,被动思想严重 根据学习策略理论,元认知策略或管理策略在所有的学习策略中占有主导地位。自我管理或监控对学习者语言学习策略的使用具有制约作用,占语言学习策略之首。可以说,学习的成就在一定程度上取决于学生是否具有反思的意识,是否使用管理方法,或管理方法使用的好坏。然而,根据我们的调查,51%的学习者很少有自己明确的学习计划,而更多情况下是被动地按老师的教学计划和要求学习的。在大学英语学习期间,反思自身学习策略有效性,对学习进步情况进行评估者仅占22%左右。经常针对自己学习过程中存英语学习过程中的重要作用,其学习过程属于被动接受型。 针对以上情况,学校应重视和加强英语教学,尤其是在结合专业知识传授和技能训练的同时,有针对性地培养和强化学生的英语应用能力。教育部门为我们的英语教师的教学提出了明确的要求,在教学中,教师的作用和地位不能轻视,这是不争的事实。然而,教师的“教”归根到底还是为了学生的“学”。英语学习归根到底是学生自己的学习。课堂教学是学生语言实践的重要场所,课堂教学不仅要扩大学生的语言知识,加强和提高学生的语言综合应用能力,还要帮助学生养成良好的学习习惯,培养学生自学能力。应努力让学生懂得英语学习是一门实践课,要求学生主动参与,积极实践,不断地积累,并要持之以恒。因此,运用反思性英语学习方式,来培养学生的英语学习能力是十分必要的。 在针对计算机软件外包专业学生的英语课堂教学中,教师应注意积极创设模拟的真实语言交际环境,通过交际活动培养学生的语用能力,学生会意识到学习英语的目的是进行交流,他们会更乐意接受他们将要学习的内容。也可以结合教学内容,选择多样性的教学方法或活动方式去达到教学目的,例如可以采用主题式教学法、分组讨论法,启发式教学法、项目驱动法、案例分析法等多种教学方法,通过教师的主导调控,学生的主体参与,让学生在浓厚愉快的实战环境中将课本的知识转化为自身的语言技能。 兴趣是天然的老师。针对计算机软件外包专业的学生,英语教师还应充分利用多媒体技术,通过音频、视频、图像等资料,丰富课堂教学,加大课堂信息量,让学生在生动形象的语言环境中进行学习,提高其学习兴趣,进而提高教学的效率和质量。学生个人应结合自身的实际情况,不断积累英语基础知识,在英语学习上多下功夫,掌握基本的听说读写译能力,从而提高英语的沟通表达能力和实际应用能力。 四、调查问卷研究 在此基础上,本文对作者所在学校计算机软件外包专业的学生进行了问卷调查和访谈,以了解大学生学习英语的现状。调查问卷涉及“英语学习态度”、“教师角色和师生交流”、“课堂参与”和“英语学习策略”四个部分,将接受调查的学生按期末成绩分为A、B、C三个等级。通过数据分析和结果比较,作者得出以下结论: 首先,大多数学生有学习英语的意识,他们认识到应该为自己的学习负责,但仍需要教师的帮助、指导与监督;其次,他们有强烈的英语学习动机,尽管动机不尽相同;此外,他们也意识到了学习策略的重要性,但在具体的选择和使用上有所欠缺。在对计算机软件外包专业的学生英语学习能力的现状进行分析和总结的基础上,本文就培养计算机软件外包专业的学生英语学习能力的策略作出探讨。 文章指出,要培养计算机软件外包专业的学生英语学习能力,首先应激发学生英语学习的动机,其中包括培养学生学学英语的兴趣、建立明确适当的学习目标、及时检测学习效果和适当参与竞赛等;其次,要加强学生自主学习英语的方法训练;再次,要加强学生在学习过程中的自我监督;另外,需重新定位教师在英语教学中的角色,让老师成为学生学习英语的积极倡导者、培训者,信息提供者;最后,应营造英语学习的良好氛围,借助良好的课堂环境、自主学习中心和英语角为学生英语学习提供立体的支持和帮助。 针对所面临的不同问题,不同类型的学生可根据自身情况,采取不同的措施。 学习动机不足型学生要想办法激发学习动机,而学习策略水平低型学生要通过改善学习策略来提高学习能力。另外,教师要改变教学观念,帮助学生树立英语学习的主体意识;还要改善教学手段,利用网络、多媒体等技术,营造英语学习氛围。 五、结语 了解软件外包在我国的发展前景,理清目前高校教育中软件外包人才培养中大学生英语学习存在的问题,找出解决方案,培养出合格的人才,一方面可以缓解社会上“英语+专业”的综合性软件人才奇缺的现状;另一方面也拓展了高校人才的就业渠道,提升了人才的就业层次,为我国软件外包快速发展打好坚实的基础。计算机技术日新月异,各种硬件和软件更新换代周期越来越短,大量的新思想、新概念、新软件通过互联网和各种渠道源源不断地涌现在每个人面前。学计算机软件外包专业学生学习英语已成为在线阅读和各类应用的迫切需要。本文在分析中国软件外包行业发展态势的基础上,说明了英语学习对该行业人才发展的重要性。计算机软件外包专业学生的英语学习,通过模拟真实lT行业工作流程,可以锻炼学生在实际工作环境中的英语应用能力,巩固其计算机的基本知识和技术能力,最终使学生掌握专业能力和社会能力,为将来的就业打下良好的基础。 计算机软件专业论文:基于就业导向的高职院校计算机软件专业课程探讨 摘 要:近年来,计算机软件学生就业日趋困难,高职计算机专业人才培养与社会需求慢慢开始脱节。本文从就业出发,对计算机软件专业课程建设进行了探讨,以期对相关从业人员有所借鉴意义。 关键词:计算机软件;高职;就业 一、高职院校计算机软件专业就业现状 当前计算机软件专业学生就业中普遍存在以下问题:一是专业技能不足,又无实践经验。很多高职院校盲目利用本科的教学模式,重理论、轻实践,重课堂、轻课外,讲授较多,具体专业技能实践训练较少,学生实际积累的实践经验十分有限。二是人文素质不高。由于部分求职者缺乏沟通交流技巧、语言表达能力差、应变能力不强、协调以及团队合作意识欠缺等因素,严重影响了其就业竞争力。三是随着高职软件专业学生就业期望值不断上升,很多人盲目提高求职目标,过多地追求薪水、待遇和工作环境,很大程度上缩小了就业面。四是软件专业的特点是知识更新速度比较快,但是课程内容往往滞后于时代的发展,相关教材内容也来不及更新,各种编程教材大同小异,导致很多学生在走出校门时,所学知识已经过时,不能满足岗位的需要。鉴于上述问题,需要我们对当前高职计算机软件专业课程进行重新审视。 二、高职 院校计算机软件专业课程改革思路 1.明确高职软件专业的培养目标 很多高职计算机软件专业盲目沿袭本科教育的培养模式,把职业教育等同于一般的学历教育,没有体现出高职教育重技能,突出动手能力的特点,造成很多学生缺乏实践应用能力,而且软件专业人才的培养对数学和英语要求并不是很高,对所学习的专业和年龄也没有限制。唯一需要的就是拥有扎实的技术和丰富的经验。因此,作为高职计算机软件专业教学应以培养生产或服务企业一线的技术应用型人才为宗旨,为社会输送大量具有较强职业技术能力,具备一些软件专业学生所应具有的某一方向的独立或合作开发软件产品的能力,或稍经培训就能胜任某一与软件开发或应用有关的工作的能力,能适应市场经济发展需求,在生产、服务和管理第一线从事计算机软件的应用开发与软件的维护及复杂软件的使用工作,以及相关技术岗位的技能型人才。 2.完善计算机软件专业课程体系的改革 作为高职计算机专业,应该摆脱通才式课程设置模式,可以借鉴一些电脑培训学校的经验,对课程体系进行改革,以必备的基础知识和专业基础知识为起点,重点加强学生实践能力的培养,在技能类课程、与职业资格证书有关的课程设置方面予以倾斜,保证学生获得较高的职业能力和职业素养。在课程内容讲授方面也注意减少记忆性课程内容,缩减理论性知识的讲授,加大实践内容的比重,将本学科的最新知识与学生的在岗实践密切结合,加强对学生从业经验的培养。 3.完善计算机软件专业考核模式的改革 计算机软件专业课程改革离不开考核方式的变化,考核评价方式对学生学习起到引导作用,以前单一的通过笔试的方法对学生进行考核已经不适合高职教育发展的需要。为了保证高职计算机软件专业学生综合素质的培养,应该采取多样化、个性化的考核方式,注重过程考核,增加对学生逻辑分析能力和具体操作能力考核的比例。例如对专业技能和实践实训模块的测试则采取机试+面试的方式,一般在考试前一到两周布置大量的设计模块,由学生自由选择并完成,然后由考评小组对学生的设计或作品进行评级,为防止学生相互拷贝,考评小组要对每个学生提出几个相关问题进行面试,对培养学生的创造能力和操作技能具有重要意义。 总之,随着软件的普及以及应用,中国软件产业逐渐步入成熟期,IT 产业作为知识密集、技术密集的产业,其迅猛发展的关键是具有一大批从事IT 技术创新的人才,高职计算机软件教学应该以就业为导向,从人才培养目标、课程体系改革以及完善考核评价方法等多方面入手,培养出高素质的综合型专业人才,从而满足社会发展的需要。 计算机软件专业论文:“以就业为导向”的高职计算机软件专业人才培养模式探索 [摘要]针对高职院校计算机软件专业的就业现状,文章提出了“以就业为导向”的高职计算机软件专业人才培养模式。该模式采用逆向工程的理念,强调一切以就业为核心的观念,突出职业技能和职业技能的培养;坚持校企合作、多模式教学的方针,旨在全面提升毕业生的就业能力。 [关键词]就业为导向 人才培养模式 逆向工程理念 校企合作 一、“以就业为导向”的人才培养模式的提出 (一)高职教育培养目标的要求 高等职业教育的培养目标是培养具备一定管理能力的高技能应用型人才,重点培养以实践能力为基础的职业能力,以服务社会为宗旨。这就说明,高职教育是“以就业为导向”的教育,其核心就是就业教育。“出口畅,入口才能旺”。高职毕业生就业情况的好坏,直接影响招生情况,是关乎高职院校生存与发展的核心因素。因此,高职院校一定要加强学生职业能力的培养,树立高职教育“以就业为导向”的核心观念。 (二)高职计算机软件专业就业形势的要求 研究表明,目前我国IT市场是非常缺乏技术精良的软件人才的。然而另一个不争的事实是,高职计算机软件专业毕业生就业情况并不理想,能够在软件企业找到合适工作的并不多,整体上就业质量不高。造成这种尴尬局面固然有软件企业人才流动高、软件人才结构失衡等客观因素,究其主观原因还应是高职院校培养的毕业生达不到企业的用人标准,满足不了服务企业的实际需求。校企严重脱节,无法实现高职教育的培养目标和服务社会的宗旨。为了解决这一突出而急迫的问题,就应建立起“以就业为导向”的人才培养模式。 二、“以就业为导向”的人才培养模式的基本理念 (一)借鉴逆向工程理念 逆向工程是对目标产品进行逆向分析及研究,从而得出该产品的生产设计过程,是一种产品设计技术的再现过程。这种逆向工程应用到人才培养模式上,就是学院根据当前软件企业实际的用人标准与需求,提炼出就业技能和职业素质要点,确保学生学到企业所需的知识和技能,最终实现校企的无缝对接,以此制定出相关的人才培养目标和计划。 (二)精准定位学生就业岗位 根据软件企业的岗位需求和学生的专业特长,培养相应的Java高级程序员、.NET高级程序员、网站设计师、数据库开发工程师等高技能专门人才。学生有着明确的学习目标、就业方向,会产生强烈的角色认同感和自信心,这样可以大大提高学习的主动性和积极性,确保可在较短的时间内完成从“学校人”或“社会人”向“职业人”的过渡。 (三)全面提升学生的就业能力 就业能力包括培养学生的职业技能和职业素质两个主要方面。职业技能主要包括:基础理论,客户端,框架原理的理解,编程的熟练度、规范度,项目开发与管理能力等。通过大量的项目实战演练,使学生完全掌握这些技术。职业素质主要包括:能够适应软件行业的工作特点,具有良好的思想品质和职业道德,拥有健康的身体和心理,能够在压力下学习和工作,具备学习和工作方面的主动意识,具备良好的沟通表达能力和团队合作意识及能力,具有强烈的责任感和事业心,等等。通过对职业技能和职业素质的培养,可以全面提升学生的就业能力,达到企业的用人标准,从而实现高质量就业。 三、“以就业为导向”的人才培养模式的建设措施 (一)加强课程体系建设 通过深入企业和市场调研,得知企业要求更加专业化、深入化的知识和技能,于是我们对课程设置进行了改革。在第三学年分为JAVA方向和.NET方向独立学习,使学生在某一技术方向上,不论是技术扎实程度还是实际开发能力都有很大的提升;增加一些就业指导方面的课程,全面提升学生的职业素养;加大项目实战的课时比重,使学生积累项目经验,真正达到企业所需要的开发能力;增设毕业设计项目开发,以团队合作的方式,使学生按真实的软件项目开发流程来完成设计、编码、测试等全过程,全面提升职业能力;确保课程设置包含目前最为流行的新技术内容,并且会根据新技术的发展情况进行更新,以保证绝对与企业的应用状况同步。 (二)深入进行教学方法改革 1.讲练结合。目前许多高职院校讲述计算机课程还是采用讲练分离的方式,即在多媒体教室讲述理论内容,然后在机房进行上机练习,这往往导致学生上课时听得津津有味,课下上机时却一头雾水无所适从。这主要是因为讲练分离(有时竟然会出现周一讲课、周五上机的极端情况),打断了学生的思路,使得学生知识记忆大幅衰减,导致教学效果大打折扣。 计算机软件教学要求应是边讲边练、加强测试环节、及时验证学生的学习效果,以保障教学效果零衰减、零差异。这就要求加强硬件建设,在机房中安装多媒体设备,在多媒体教室中配备学生用计算机。教师通过多媒体投影讲解一个实例后,马上让学生在计算机上调试演练。通过边讲边练的训练模式,通过实践加深印象的训练方法,让学生更好地理解知识点的使用,更快地记忆知识点内容,更容易提高实践动手能力。采用这种模式需要注意的是,要讲练同步,尽量避免学生在教师讲解时进行操作练习,更应杜绝打游戏、聊天等与教学无关的事情发生。 2.项目案例贯穿始终。通过前面的论述,我们知道要想实现高质量就业,就必须具备企业要求的职业技能与素质,而培养职业技能与素质的最佳方法就是进行企业项目案例实战。通过全程的项目案例,培养学生独立分析问题、解决问题、总结问题的能力,积累项目开发的设计经验,大幅提升项目开发与管理的能力,把学生打造成符合企业用人标准的实用型软件人才。具体做法如下:在明确了企业的技术需求之后,从其中提炼总结关键的就业技能点,并用项目驱动、案例贯穿的形式融入课程设计的全过程之中。采用分阶段训练、多维度培养、分层次深入等新型培养方式。比如每周有一个小型的项目案例;每学期进行一到两个课程设计,完成一个中型的项目案例;毕业设计时要完成一个企业真实的较大型项目。通过贯穿始终的项目案例教学与实战,可以大幅提升学生的职业能力,为毕业后早日融入企业打下坚实的基础。 计算机软件专业论文:中职计算机软件及应用专业的改造与探索 摘 要:近年来,各中等职业学校在市场的号召下,在政策的指引下,纷纷开设了软件及应用专业。那么已经开设了十几年的专业该怎么改造来追随市场,保证今后的可持续发展呢?该文作者结合所在珠海一职校的工作经验,立足珠海本地计算机软件应用行业及企业的现状,探析了该专业改造的一些看法。 关键词:专业改造;人才培养模式;评价方法改革 一、现阶段本地计算机软件与应用专业的就业前景 珠海市是中国改革开放的前沿城市,市政府确立了大力发展信息技术产业的战略目标。2011年的政府工作报告指出:第二产业对全市生产总值增长的贡献率达74.8%,电子信息、生物医药等六大优势产业增加值占全市工业增加值的77.2%。为了配合信息化技术发展要求,珠海市建立了国家级软件园区――南方软件园,有力地促进了软件产业发展,为珠海的软件产业发展和创建打下牢固的基础。 随着计算机网络、通讯环境的建立,为各行各业的计算机软件及应用提供了良好的条件。而在“十二五”期间,电子商务也被列入战略性新兴产业的重要组成部分,未来的五年内还将处于一个蓬勃发展的势头,与之关联的电子商务网络服务人才需求量增大。同时,电子政务、企业信息化等应用日趋广泛,对软件的需求日趋提高,根据2010年珠海市人力资源部门统计数据,全市12000多家企业对网站开发测试、网络管理、网络编辑等岗位需求缺口达3万至5万人,其中,适合中职生就业岗位约占10%,岗位数达3000至5000个。 珠海市中职软件技术专业每年毕业生的数量约为200人,由此可见,计算机软件及应用专业毕业生在珠海及珠三角的软件、网络和电子商务网络服务等领域有足够的就业空间。为了更好地适应市场,提供市场所需的人才,保证计算机软件及应用专业今后的可持续发展,急需对本专业进行合理改造。 二、计算机软件与应用专业改造的具体实施建议 (一)人才培养模式改革 专业改造首先要考虑的是人才培养模式的改革。 (1)可依托当地计算机软件应用行业及企业,深化校企合作,与企业进行订单式校企合作培养模式改革。成立专业指导委员会,在专家的指导下,根据市场调研结果,开展订单式人才培养模式改革,再进行与订单式人才培养模式相适应的教学做一体化实训室建设。笔者所在专业已与锐捷网络和神州数码等相关软件技术企业开展深度合作,进行了订单培养项目合作。 (2)与高等职业技术院校合作,高质量展开“3+2” 形式的高技能人才培养工作,以满足当地计算机信息产业对不同层次人才的需求以及学生发展的要求。笔者所在软件技术专业班级已有两届学生通过“3+2” 模式升到大学。这种模式受到了家长和学生的追捧,也是今后职业教育发展的趋势。 (二)课程体系与教学内容改革 1.课程体系改革 通过对软件技术工作岗位职业能力的调研与分析,以就业岗位为基础,完善与岗位对接的课程体系,调整和优化课程结构。对软件行业的创新发展进行分析,每学年由专业建设小组展开企业岗位需求调查,研究在新形势下,软件技术工作岗位的需求变化。借鉴企业人才培养经验,使学校拥有与行业企业相接轨的课程体系。在教学项目的设置上,应尽量采用企业实际案例。 2.校企合作共同开发建设精品课程 依托当地IT行业及企业共同研发精品课程。笔者所在学校已与金山软件公司、同望科技公司、锐捷网络和神州数码公司、唯康通信技术公司、上海新朋程信息科技有限公司深度合作,以企业人才培养目标和要求共同开发精品课程。 (三)教学方法改革 (1)构建与企业工作岗位相一致的教学环境,引入企业实际项目内容,降低课堂教学与企业工作场景的差异。 (2)推进和完善“任务驱动、项目引导”等教学方法改革,将课堂延伸到企业中,直接进行实践性教学活动。将企业元素引入学校,建立企业工作室,真正将生产实践内容融于课堂教学中。 (3)推广以学生为主体的行为导向式教学方法,探索“自主、合作、探究、训练”的以强化学生职业能力的培养为目标的教学方法改革,有效提高学生学习的主观能动性。 (4)积极探索职业教育教学过程的互动性和开放性形式,改革师生之间“我教你学”的知识传授模式,实现“教与学”、“师与生”之间的“零距离”互动,借助方便、快捷的信息化平台,使学生和教师的 “教、学、做”有机结合。 ・专业建设・中职计算机软件及应用专业的改造与探索 (四)学生的评价模式改革 制定融合企业元素的评价模式,学校与企业共同制定学生学习质量评价标准,借鉴企业质量管理原则和方法,对学生的学习过程进行质量监控和评价。具体工作可分为: (1)设立教学(实习)过程质量监控点,展开评价、考核工作;对学生进行以综合能力为依据的全面评价,包括除考核学生的理论成绩外,还包括学生的职业素质、自学能力、创新能力、与他人的协作和沟通能力,以全面衡量学生的综合素质。 (2)以行业资格证书评价学生成绩。如:“网络设备的配置与管理”、“局域网与网络操作系统”之类的课程可实行“以证代考”。通过鼓励学生参加各级职业资格鉴定机构的考证,视学生考取资格证书的相关级别,给予学生一定的学分奖励,并替代对应科目的考试评价。 (3)以技能竞赛的成绩当作学生成绩评价依据。通过组织本专业群学生参加各级技能竞赛,以竞赛成绩作为学生专业成绩的依据。 (五)师资队伍建设 教师是专业建设的灵魂,师资队伍的建设是专业改造的重中之重。根据本专业建设和发展的实际,加强本专业师资队伍的建设工作,构建一支以学科带头人、骨干教师、“老、中、青”教师三结合的专业教师队伍。 1.有效实施专业教师继续教育工程 准确把握本专业发展方向,紧密结合本专业相关企业和产业岗位群所需,以有效培养高素质人才为目的来实施专业教师继续教育工程。 根据实施项目化教学、一体化教学、工作岗位场景式教学所需,进一步加强“双师型”教师培养。 通过参加专业认证考试等模式开展业务学习,鼓励专业教师考取技能等级证书和企业认证证书。 根据本专业发展趋势,每一名专业教师均应进行前沿学科的研究学习,设置一个主攻方向,确定一个以上的前沿学科专攻方向。 2.科学培养专业带头人和骨干教师 在专业教师队伍中,有效构建专业带头人、骨干教师的选拔、培养制度、激励机制。通过加强对专业带头人、骨干教师的培养力度,形成本专业具备特色的人才培养模式,使得优秀教师能脱颖而出,在日常的教育教学工作中发挥更积极的作用。 加强专业课题研究,申报和参与课题研究项目,通过课题研究的形式,在课题的申报、研究、结题等一系列活动中,加强专业带头人和骨干教师的教科研意识和业务领导才能。 3.加强青年教师的培养力度 完善“以老带新”的青年教师培养机制,选派德才兼备的骨干教师,全方位对青年教师进行科学有效培养。全部青年教师均有骨干教师作为指导教师,健全青年教师培养的监督、考核制度。 根据学校教育教学实际,开展青年教师教育教学基本功训练比赛活动。 4.从企业聘请能工巧匠 创新聘请企业专家作为兼职教师的动态管理机制,健全兼职教师激励机制,校内专业教师与企业专家分工与协作,共同参与教学研究、标准制定、培养方案优化、实训项目开发等工作。 三、结语 专业改造是一个持续的、发展的工作,只要不断要求进步,结合各自当地经济现状、产业结构,每所学校都会找到适合本校的专业改造方案,相信我们计算机软件与应用专业会培养出更多的能适应社会需求的合格员工。 计算机软件专业论文:环境艺术设计专业计算机软件3DMAX课程教学探讨 摘要:文章结合环境艺术设计专业计算机软件3DMAX课程教学实践,针对教学过程中存在的实际问题展开分析,结合学生的实际情况,以实效性为原则,合理安排3DMAX课程内容,确定教学目标以及采取有针对性的教学方法,更好地促进专业教学改良,提升课程教学效果。 关键词: 3DMAX;计算机软件;教学;环境艺术设计 0 引言 目前,计算机培训课程作为高校的必修课程被广泛开设,尤其在艺术类院校,计算机绘图软件的应用大大提高了绘图的工作效率。3DMAX作为当今世界上功能强大的三维计算机应用软件,被广泛应用在建筑、室内、景观设计、影视动画、工业产品等领域。环境艺术设计专业的学生如果能够熟练应用该软件,不仅可以提高设计的表现力,也为顺利就业打下了良好的基础。 1 3DMAX教学存在的问题 3DMAX是集建模、材质编辑、灯光设置、渲染、动画制作等功能于一体的三维软件,拥有强大的虚拟模拟功能。[1] 作为环境设计专业计算机软件应用的一门重要课程,主要培养学生对三维室内外空间创意设计的思维方法,通过场景建模、贴图、灯光、渲染器参数设置,从而营造出真实的室内外空间效果图表现。然而在长期的教学过程中发现,由于3DMAX软件庞大繁琐的功能命令以及灵活多变的制作方法,使得该软件在教学上相对比较困难,学生在学习过程中也出现了较多的问题。例如:关于软件中英文版本的选择,初学者对英文版表现出抵触情绪,普遍反映不认识英文单词,对于工具命令的用途容易遗忘;大多数学生在学习过3DMAX课程之后不能在后续设计课程上运用;课堂教学主要针对室内居室空间设计效果图渲染,对于大型公共空间和室外景观场景的渲染相对较少;大多数同学绘制的效果图不能在实际的项目中应用;很多学生利用课余时间在软件培训班进行二次学习等。 2 教学方式探索与解决对策 针对以上问题,结合环境设计专业的学科特点与学生的实际情况,为了更好地改进当前3DMAX课程教学方式,提升授课效果,可以进行以下尝试: (1)版本的选择与教材的更新。首先3DMAX软件版本更新较快,很多工具和命令越来越完善,网上很多新的模型资源低版本无法打开,接下来的学习就会受到影响,这就需要学校能够及时更新软件和教材,任课教师也需要不断提高自身软件的应用能力,及时更新上课教案,选择一些比较前沿的案例进行讲解;其次是关于中英文版本的选择,艺术专业的学生文化课基础相对薄弱,大部分同学英语比较差,很多初学者对于英文版的操作只能死记硬背。因此结合学生的实际情况,可能选择中文版更容易被学生接受,如果选择英文版也需详细介绍工具名称、功能、用途等,防止学生只记住位置而不知道命令的具体使用功能。 (2)做好入门课程设计,培养学生学习兴趣,提高学生积极性。课程刚开始在学生对软件不了解的情况下,不要直接介绍窗口界面的基本操作,可以先让学生看一些3DMAX软件在各个领域的应用和表现案例,如居室空间设计、办公空间设计、景观设计、家具制作等一些应用实例。让学生了解3DMAX能做什么,做的怎么样,满足学生的好奇心。还可以展示一些历届学生的优秀作品,让学生建立一种能够学好的自信心,进一步增强学生的兴趣和积极性,为以后课程的开展铺设一个良好的开端。 (3)适当放慢教学节奏,给与学生充分的练习时间。由于3DMAX软件工具命令繁杂,因此想要灵活运用相对较难,在上课过程中学生看老师示范一遍之后自己操作过程会出现很多问题。可以采取讲――记――练相结合的上课方式,第一遍学生边记笔记边看教师讲解示范,接着学生结合笔记和示范的过程进行练习,然后带着问题听教师示范第二遍的同时补充笔记细节和找到出错原因,最后独立完成整个过程的操作。这样可以解决学生在听课过程中只记没看,或者只看没记的问题。 (4)采用启发式教学,让学生对于工具、命令的使用做到举一反三。在课堂教学中往往是教师针对一个模型或者一个场景进行操作演示,学生跟随老师的讲解用同样的方法完成案例。这一学习过程可能会让学生形成一种固定的思维,对于工具的使用往往死记硬背,而没有深入思考为什么这么做。因此,教师可在演示一种方法之后,引导学生分析物体的制作思路,让学生思考是否还有其他方式和工具可以达到,或者请学生到讲台上现场操作,激发学生灵感的同时活跃课堂气氛。[2] (5)分层次教学,由简单到复杂,循序渐进。目前环境艺术设计专业的3DMAX课程教学,更多集中在室内空间设计表现,而对于公共空间类型的渲染讲述相对较少。因此,教师可以根据课堂进展情况,允许学生根据自己的想象设计作品,或者多提供一些公共场景让学生课下练习,帮助学生在巩固已学知识的基础上进一步提高软件综合运用能力。 (6)对于接受能力较差的学生,充分地鼓励、耐心地讲解。学生接受知识的能力不同,上课过程中教师要保护学生的求知欲。避免出现厌烦情绪,不要把“真笨”、“怎么就忘了”等字眼挂在嘴边,对于接受能力较差的同学,可能会导致学生从此自暴自弃。因此,教师教学过程中应尽量平稳心态,耐心指导,鼓励学生认真记笔记,上课用心听,提高他们的学习兴趣和敢于克服困难的能力。 (7)与其他设计类课程相结合,达到反复训练的目的。3DMAX教学在整个环境艺术设计专业中起到承上启下的衔接作用,如果软件没有掌握好,会直接影响接下来设计课程方案的表现。很多学生在3DMAX课程进行中可以做出很好的方案效果,但是由于课程学习结束之后长期不练习,而导致所学知识遗忘,缺乏应用的连续性。因此如果每门专业课程都要求学生做3DMAX效果图,一直延续到毕业设计,这样不间断地训练可以督促学生加强软件的运用,同时也可以提高毕业设计的质量。 (8)充分利用网络平台,培养学生自主学习能力。由于课堂学习时间较短,教师需要照顾多数同学的学习能力,关于案例的实际操作也要适当调整难易程度,可能学习较好的同学就得不到更好地提高,因此教师可以提供一些专业学习的论坛或者网站让学生课下的时候自主学习,通过观看视频教程更全面地提高绘图能力。同时对于一些进步较快或者学习能力较强的同学也可以通过浏览一些优秀的作品,更好的提高自己的水平。 (9)设计和实践相结合,满足市场需求。在实际项目中甲方对于效果图的要求很高,专门的效果图公司做的商业图更能打动人,但是学生由于实践经验少,素材和模型也不是特别精致,做出的图在构图、比例、色调等方面或多或少会出现一些问题,不能满足实际工作的需要。针对此情况教师可以提供一些工程实例给学生临摹,让学生了解实际工程中图纸的表现应该达到什么程度,提高学生的设计和审美能力。 3 结语 总之,环境艺术设计专业计算机软件3DMAX课程教学确实有不同于其他专业教学的特点。作为艺术设计专业的教师,不仅要紧跟计算机软件发展的速度,同时还需结合艺术类专业学生的特点,对教学方法进行不断地总结与改进,在课程中注入新型的开放式创意教学元素,努力提高教学效果,培养出更适合当今社会需要的艺术类人才。 计算机软件专业论文:视觉设计专业计算机软件特色课程模式探索与实践 摘 要:通过实践教学和深入研究调查,发现在计算机软件的课程教学中存在教学内容缺乏专业针对性和教学效果缺乏有效性的问题,现以视觉设计专业CorelDRAW课程教学为例进行教学新思路和新方法的探索研究,提出渐层效能型课程模式,合理构建视觉设计专业的计算机软件教学体系,规范课程模块,保证课堂教学质量,切实提高教学效果和教学效益。 关键词:计算机软件;课程教学;CorelDRAW 一、计算机软件CorelDRAW的课程教学目标 根据视觉设计专业人才培养方案,计算机软件CorelDRAW的课程教学目标为,熟练掌握软件的操作技巧,能够运用CorelDRAW软件绘制艺术化的矢量图形图标和编排有艺术效果的图文版面。 二、计算机软件CorelDRAW课程教学中的常见问题 CorelDRAW是一款专业的矢量图形绘制软件,有强大的矢量图形绘制功能和便捷的图文编排工具。目前课堂教学中常见的问题主要集中在,一是没有根据所学专业详略得当地安排教学内容,每种工具命令都泛泛而讲,不利于学生对重点知识的熟练掌握和深入探究;二是课堂练习安排没有层次性和趣味性,重复枯燥的练习不仅磨灭学生的学习积极性,也扼杀了学生的创造力;三是学习效果反馈缺乏及时性和针对性,没有因材施教的课堂不能保证教学的质量和效率。 三、视觉设计专业的计算机软件特色课程模式研究——以CorelDRAW课程教学为例 根据教学中存在的问题进行课程模式的思考探索,认为课程教学第一个关键点是要有专业针对性,要根据视觉设计专业重点运用的领域安排教学内容和组织课堂教学,所以提出针对性强、循序渐进和因材施教的渐层型课程模式;第二个关键点是要有教学效率和教学效果,所以提出能激发学生专业热情和培养学生专业能力的效能型课程模式。 (一)渐层型课程模式——关于课程内容学习的探索与实践 “渐层型课程”是指在本专业计算机软件教学中,教师引导学生进行循序渐进不同层次的迁移应用和绘制要求,其理论依据是斯金纳(BurrhusSkinner)程序教学模式,这种教学模式具有极强的操作性,有利于学生系统掌握知识和技能、循序渐进地学习,并能及时反馈强化所学知识,同时培养学生的自学能力。 1.渐层型课程模式专业针对性强 渐层型课程模式的构建思路是针对专业特点来设置教学内容和用80%的时间熟练掌握20%的重点知识。 视觉设计专业学生的核心课程一般为文字设计、版式设计、海报设计、书籍设计、包装设计和品牌推广等,所以CorelDRAW课程教学,应将这些设计类别需要用到的计算机辅助领域作为教学重点,用80%的课程时间来熟练掌握视觉设计专业辅助设计常用到20%的重点知识,并将后续专业学习的实际设计项目作为课堂练习和考核的重点内容。 2.渐层型课程模式遵循渐进规律 在CorelDRAW课程教学中,教师通过知识新授、牵扶帮学和延伸自学来循序渐进安排课程教学,能有效优化课堂教学质量。 知识新授环节要注重培养学生对指定目标的学习能力,首先以温故知新和思维启发为切入点,用三遍不同层次的讲解演示和学生独立操作相配合来达到新授、巩固、强化重点难点的学习效果。 牵扶帮学教学阶段根据具体实际情况,可以通过教师出示图文说明的操作提示帮助学生掌握重点和突破难点,也可以通过放手学生独立操作后的师生共同讨论及解题新思路的探索来深化学生的操作技术。 延伸自学的教学阶段要善于创设自学延伸的学习情境。具体措施有:在自学基础上进行举一反三的延伸学习;也可以先不看教程自学探索,之后再将自己的操作和教程操作进行对比分析来深化对技巧的理解;或者提供高质量的图形案例和更多自学网站自学书籍的信息,让学生在更加深广的学习情境中充满学习热情地自由驰骋。 3.渐层型课程模式注意因材施教 因材施教的课堂实施手段主要包括:一是教师逐个当堂反馈学习效果,这利于调动学生学习积极性、有利于教师掌握学生实际学习能力来与学生开展良性互动、有利于落实学生的当堂学习情况集中讲解容易出现的问题,保证教学质量;二是分层次针对有差异的个体开展学习引导,这能有效避免有的学生觉得练习太容易,完成后无事可做,有的学生则畏难不愿学习,失去学习兴趣的情况;三是根据个体差异来设置具备必选标准性和可选自由性的作品考核形式,能更真实地考核学生实际操作能力,激发学生的学习主动性,还能再一次大幅度提升学生软件操作技巧,为后阶段的专业课程学习和毕业设计积累丰富的计算机造型技术。 4.渐层型课程模式的实践效果 渐层型课程模式首先从课程内容安排上体现出针对性强和重点突出的渐层性,其次在课堂教学中体现出循序渐进符合学生认知规律的渐层性,最后在课堂教学反馈和课程考核差异性设置中体现出渐层性,渐层型课程模式由浅入深,由表及里,让CorelDRAW的课程教学充满学习的乐趣和努力的进阶,学生不仅能学会课程知识,还能提高举一反三的思维水平和开发探索研究的自学潜能。 (二)效能型课程模式——关于专业素质养成的探索与实践 采取效能型课程模式来进行CorelDRAW的课程学习,是关于专业素质养成的探索与实践。根据奥苏贝尔(DavidAusubel)有意义的接受型学习教学理论和先行组织者教学模式,提出视觉设计专业计算机软件的教学特色研究方向“效能型课程”模式,是指高效高能的课程模型,“高效”即课堂效率高,“高能”即学生能力强。 视觉设计专业的学生要具备高素质的专业素养和独特的创意能力,计算机软件教学在培养学生专业能力,掌握数码造型技术的同时,也应该注意激发学生的专业热情。 1.效能型课程模式能激发学生的专业热情——高效 简化创作流程和细化制作任务这两种教学措施能有效提高计算机软件教学的课堂效率,让学生乐学愿学,从而激发学生对本专业的学习热情和学习期待。 简化制作流程是简化学生概念创意的难度,但同时又给予学生根据设计实例自由发挥的空间,不仅能保证作品的视觉美观度,还能有效启发学生的设计创造力和对专业的学习热情。二年一期的学生并没有进入核心设计课程的学习,所以不具备很专业的设计创意能力。在CorelDRAW的课程学习中,如果按照一般的创作流程,让学生先创意再画草图,然后制作电子稿,不仅和其他类型课程的考核内容重复,也没有达到计算机软件以技术考核为主的课程重点,同时学生因为没有很好的创意和设计技巧,即使软件操作能力很强,绘制的作品也往往不具备一定程度的审美水平,视觉效果不美观的软件绘制作品会夸大学生现阶段较薄弱的设计能力,这种挫败感往往伤害到学生对视觉设计专业的热情。所以,通过简化创意过程,强调制作技术和对已有案例进行延续设计的作品考核方式,能在保证作品审美水平的前提下更大程度激发学生探索运用软件设计制作的学习热情。 细化制作任务能保证学生一步一步落实学习目标,最终高质量完成学习任务。以课程考核为例,将制作VI手册这个整体目标,逐个分解细化,每个任务难度合理把握在学生跳一跳能完成的程度,学生通过一次次努力累积最终如期完成体现自己最大制作能力的课程考核作品,这一学习过程能极大鼓舞学生的学习热情和对专业设计课程的期待与向往。 2.效能型课程模式能培养学生的专业能力——高能 在计算机软件的课程学习中培养学生专业能力主要有两种教学措施,一是强化重点知识,二是深化操作技巧。 强化重点知识要求不仅是课程作品考核,包括整个课堂讲授和课堂练习都要围绕这些操作重点合理设置,展开教学。CorelDRAW的工具命令进行初级操作比较简单,但是熟练掌握就需要反复练习和不断强化,而要达到灵活运用的程度则需要通过恰当的教学方法进行引导,才能真正深化学生的操作技巧。 深化操作技巧主要运用对比分析、迁移应用等教学措施来实现。如特效文字的操作技巧就是用对比分析法来深化学生对操作技巧的理解,案例用一段文字和正圆形的融合为切入点,运用不同的工具编辑文字和正圆,能产生多种不同的视觉效果,通过对比分析能有效深化学生的操作技巧。再如用三种软件绘制同一对象的练习,就是采取迁移应用的教学方法来弱化学生对画面变化的关注度,从而增强学生对软件工具深入理解和综合应用的关注度。深化学生对重点工具的探索运用还可以用系列案例剖析、不同案例对比、案例自学和已有案例延续设计等教学手段来实现。 3.效能型课程模式的实践效果 效能型课程模式的具体教学实践环节不仅能使学生熟练基本操作知识,提升重点制作技巧,同时还能协调学生软件制作能力和实际创作水平的差异,提高课堂效率,潜移默化为学生铺垫良好的审美趣味和准确的专业素养,增强专业课程的整体持续性和纵向联系度。 四、视觉设计专业计算机软件特色课程模式探索与实践研究的意义和作用 (一)对本门课程产生的意义和作用 综上所述,计算机软件特色课程模式——渐层效能型课程研究是针对视觉设计专业学生的软件学习现状提出的,在CorelDRAW的课程教学实践中,呈现专业特色突出,课堂操作可行,教学效果明显的实际应用意义。 (二)对横向课程产生的意义和作用 视觉设计专业学生需要掌握的计算机软件包括4门静态图像造型软件和2门动态图像造型软件。视觉设计专业计算机软件特色教学研究项目——渐层效能型课程模式,能规范本专业多门计算机软件课程的整体教学模式,能提高学生的学习效率,缩短学习周期。 (三)对纵向课程产生的意义和作用 渐层效能型课程模式能继续深化纵向的课程延伸,以儿童视觉产业为例,渐层效能型特色课程模式可以纵向应用在儿童产品软件课程的教学中,并进一步发展延伸到儿童产品设计的媒体技术开发中。 五、结束语 视觉设计专业计算机软件特色课程模式——渐层效能型课程模式,构建了视觉设计专业计算机软件教学的有机课程体系,提供了规范的课程模块,同时为视觉设计专业其他课程开拓了更多横向和纵向的教学研究方向。 计算机软件专业论文:计算机软件技术专业“工学结合”实践教学研究 摘 要:本文从我国软件产业发展和人才需求出发,给出了一些软件专业工学结合实践教学的实际做法,希望以此促进我国软件人才的建设。 关键词:软件培养;工学结合;实践运作 软件学院成立这几年,我们在致力于普遍提高教育教学质量,提高人才培养水平,针对地处辽宁省中部这样一个小城的地理区域劣势的同时,也在分析我们的相对优势,思考如何形成自己特色的问题。 我系在经过认真调研并与企业行业专家研讨后,借鉴了东软信息学院“1321”教学计划和SOVO大学生创业中心的实践教学模式、沈阳职业技术学院基于项目式、印度NIIT的榜样教学法、湖南铁道职院专业加项目工学结合等职业院校软件专业人才培养方式的同时,将南洋理工学院“教学工厂”的理念应用到软件技术专业的课程教学实践中,提升了学生的专业计算机应用能力。 1 深层次体现校企深度融合、“教学工厂”、项目导向的实践教学特色 我们在深入分析国内多家高职院软件专业办学模式的同时,将南洋理工学院“教学工厂”的理念应用到软件技术专业的课程教学实践中,建设围绕“教学工厂”为基地的实训基地。我们的实训教学机制采取以下方式进行:基于培养平台三方建的模式: 第一阶段:校内学习实训;第一、二学期:在校内实训室分别进行为期两周,共计60学时的C语言、C#语言实训,由项目组从项目库中抽取实训项目,以典型工作任务为载体由专职老师负责,带领学生共同完成; 第二阶段:校企联合实习;第三学期在学完C#.NET与数据库课程后,在前两学期基础上,加大实训时间,设置4周,共计120学时实训,学生这时可以初步完成一个小型系统的开发,这部分内容也在校内实训室或软件研发中心完成,我们通过与企业深度合作,建成了一批以编码为任务目标,设备齐全、条件较好、符合真实情景要求的软件校内外实训基地,我们称之为软件车间或软件平台。引进各类专业软件,提升软件技术实训水平。通过专业人使用专业软件的方式,提升了理论和实践教学的水平。第五学期,学生下到企业进行顶岗实习回来后,继续学习职业拓展课程JAVA、JSP等,课程结束后设置6周,共计180学时实训时间,在学校老师和企业人员指导下,可以独立开发一个综合项目。 第三阶段:校外顶岗实习。第四学期,我们把学生下到企业进行为期8周的顶岗实习,方案有二:方案一,条件允许的情况下,学生全部进入企业;方案二,一部分学生到企业四周,另一部分学生到“教学工厂”,然后轮换。实现真正意义上的工学交替。 第六学期进行18周的顶岗实习,应该能够实现与企业“零距离”就业。 在整个实训教学环节中,要求做到:一是“请进来”,即聘请外校相关专业教师或企业的领导及业务人员为兼职教师,为学生举办专业学术讲座或承担实践教学任务。二是“走出去”,即加强校外实训基地建设,本专业一直努力加强与企事业单位的合作,拟建立15家经常联系的校外实训基地,为学生提供良好的实训环境。三是积极争取职业界的支持,加强专业实验室建设。四是校企合作、互惠互利。专业教师积极为企业提供知识技术咨询,承担其科研课题,参与技术攻关与项目推广。 2 “项目+案例式”实训教学的全面展开 高职软件专业基于案例的实训模式已经被实践证明具有良好的教学效果。我们在实践教学过程中程序设计类课程基本采用了基于“项目+案例”的实验实训教学,要求实训案例尽可能真实和规范,能够包含代表当前主流思想的技术,从而最大程度保证与就业“零距离”接触。 3 实训案例设计基本原则 实训过程是以学生为主体的实施过程,案例设计的好坏直接影响到是否能够达到教学目的,同时也影响到是否能够充分调动学生积极性来进行实训。案例应该按照案例的特点和学生学习的方式来设计,以下是设计案例的几个基本原则: (1)符合实训目标的原则。(2)真实性或拟真性原则。(3)典型性原则。(4)启发性原则。(5)规范性原则。 4 实训案例设计的基本方法 实训案例属于综合性案例,内容应具有内在联系性,多种知识、方法与技术融为一体,有利于提高学生综合运用知识的能力。 5 实训案例的主要来源 (1)源于工学结合的结果,我院有众多的实训基地为我们提供了一线最新的资料,我们课题组的南丽岚等是软件公司项目经理,有着丰富的实践经验为我们提供了大量详实的资料的同时也为把这些资料转化成可应用于教学的案例做了大量工作,但这种方式往往受到知识产权保护的困惑。 (2)源于和国内外相关培训机构的合作。 (3)源于院校间交流合作,资源共享。我们从大连东软信息学院引进实训平台,进行资源共享。 (4)源于当前优秀的实训书籍及相关网站提供的实训资料。 (5)源于对已有的实训项目进行整合和加工,这也是一种不错的办法,不仅省取了时间和资金的投入,而且实训效果在原有基础上有较大提高。 在程序设计类课程的实施过程中,我们收集了各种大量的实训案例,下面我们进行分门别类的整理后,进行统计结果如(图1) 我们对收集的实训案例的来源渠道进行了详尽的数据统计结果如(图2) 根据对部分软件职业技术学院软件技术专业开设的课程调查见(图3),得出以下结果:程序设计类课程中JAVA程序设计占了很大的比例,其次C++(含C)也占了很大比例,故我们主要整理OOP方向的案例(JAVA、C++为主,其他为辅)。 作者单位:辽宁建筑职业学院信息工程系,辽宁辽阳 111000 计算机软件专业论文:计算机软件专业本科生“职业提升型”人才培养模式的探索 摘 要:由于近年来本科生不断扩招以及全球经济危机的影响,本科生的就业难问题日益突出。另一方面,应用型优秀人才也正是中国各行各业的稀缺资源。本文以计算机软件专业的学生为研究对象,首先综合分析了目前软件行业人才的实际需求,针对于本科生高年级的特定阶段,从课程体系、培养方案以及教学方法等方面探索了“职业提升型“高年级本科生培养模式。 关键词:职业提升型 人才需求分析 软件人才 高年级本科生培养模式 1 引言 自1999年我国高校开始扩大招生规模以来,每年毕业生人数不断创出新高。然而,以市场为需求的双向就业模式使毕业生就业率日趋下降,2008年的美国金融危机导致全球性经济大衰退,使目前的就业形势显得更加严峻。《2013年中国大学生就业报告》指出,2013届高校毕业生数量高达700万,本科毕业生签约率仅为35%,低于去年同期12个百分点。大学生就业难的问题愈加突显。一方面是全国上百万大学毕业生捧着简历四处求职,纷纷感叹“就业难”;另一方面是每年几百万个就业岗位“招人难”。麦肯锡的一份《应对中国隐现的人才短缺》报告称,“只有10%的大学生符合跨国公司的人才要求!”毕业生过剩与人才的稀缺矛盾揭示了中国大学生为就业准备不足的高校人才培养问题,而化解当前就业难的关键只有着眼于切实了解用人需求,不断增强毕业生综合能力。 近年来,中国软件产业在我国政府的大力支持下发展迅猛,计算机软件专业也是我国高校招生数量最多的专业之一,本文以计算机软件专业学生为研究对象,首先人才结构、能力以及文化等方面分析了目前软件行业人才的实际需求,提出一种“职业提升型”培养模式(Career Advancement Programs)。该模式将传统单一的“学术型”和“应用型”相结合,注重培养学生的创新能力,既重学术,同时更注重应用。 本科高年级(大三及大四)的学生已掌握了一定的专业基础知识及基本操作,他们临近毕业走上社会,却又缺乏市场所需人才的素养和能力。因此,我们认为本科高年级是作为职业提升人才培养的最佳阶段。本文将从课程体系、培养方案以及教学方法等方面探索“职业提升型”高年级本科生培养模式。 2 软件行业人才需求 中国软件业虽然发展迅速,但是目前还是小作坊作业居多,和发达软件大国相比,在产值与规模上存在很大差距。其最主要的深层原因是我国软件人才结构不完整且人才综合能力及素养不足。 2.1 人才结构 当前中国软件行业中,高层次的项目经理、系统分析员以及低端的从事基础性开发和测试的人员少,而中级的软件工程师又相对过剩。这种中间粗、两头尖的人才结构限制了中国软件行业的发展,不能满足行业国际化的需求。因此,中国急需的软件人才是具有前沿高端软件技术人才以及具有国际眼界的高级管理人才,这部分人员将决定中国软件行业发展的方向、水平以及在国际软件业中的地位。 2.2 知识与能力需求 优秀软件人才的知识结构要求专业化、综合化和国际化。其中,专业化要求软件人员首先掌握计算机专业基础知识,这是从事软件行业的最基本的要素。由于高层次的国际化软件人员常常参与研发国际项目,需要在海外与国内环境中都能胜任工作,因此,在“海外前方”,他们精通需求分析、项目管理、现场实施,具有专业技能,能够准确地捕捉到海外用户的需求;在“国内后方”,熟悉项目管理、分析与设计、编写代码、测试交付、文档编写,具有质量意识,能在海外前方和后方开发之间做好协调工作。 知识结构国际化要求软件人员适应国际人才市场的需求,了解国际应用规则和背景、了解国际软件开发规范也是成功完成国际化项目,扩大市场规模的保证。除此之外,熟悉外国国情、了解外国历史、政治、风土人情也能促进项目国际间合作的顺利进行。 2.3 职业素养需求 优秀应用型软件人才除了知识的学习和积累,还需要具备一定的职业素养,如:较强的沟通能力,特别是在国际间合作中更要注重跨文化沟通能力的培养;团队协作能力,它被视为在软件日益复杂化和大型化形势下,项目开发以及工程管理关键的能力之一;外语能力,这也是国际化高端人才不可欠缺的重要技能。 3 “职业提升型”人才培养模式 考虑到毕业生大多数都期待能够学以致用,在其职业生涯中能够得到更好的发展,本文针对这类学生的特点,提出构建“职业提升型”高年级本科生培养模式。这种培养模式带有浓厚的工具性色彩,通过此类培养模式,学生不但能够扎实地掌握专业基础知识,使自己的专业技能得到充分发展,而且能够迅速进入职业角色,赢得更大的发展空间。 3.1 跨学科混合式课程体系 复合型人才培养一直是研究生培养目标重要特征之一,然而为了适应瞬息万变的市场需求,本科生教育也应朝着同样的高度努力。复合型人才培养的重要方式之一就是跨学科混合式课程体系。软件国际化市场经验显示,软件人才除了专业性知识外,具备一定的跨学科的知识是非常有必要的,也就是知识结构的综合化。例如国际化的软件人才应当横跨“计算机科学与技术”、“管理科学与工程”、“工商管理”等多学科,要懂业务、懂管理、懂企业,能够提出用于解决问题的管理信息化方案,并实施该方案;还要熟练掌握主流管理软件,有效实现该管理软件在企业中的应用。 因此,在高年级的课程体系安排中应增加跨学科课程这一部分,这部分课程可以包括“管理科学与工程”、“工商管理”这样的与项目工程管理相关的学科课程,还可以包括“农业信息化”、“生物信息学”等当前我国热点学科的内容。跨学科混合式课程为提升毕业生的知识眼界以及创新能力提供支持。 3.2 完善的学生职业规划指导制度 在本科生高年级培养方案中完善毕业生职业规划指导,建立较为完备的职业指导制度。在大三学期开始对学生的职业观念加强教育,对每个学生个体职业规划进行指导,建立“一帮一”教师责任体系,帮助学生确立2~3个职业岗位并进行跟踪指导;毕业时对学生进行就业咨询及选择指导。健全完备的就业指导制度帮助学生了解市场需求、确定职业定位、明确选择方向,为学生提供实实在在的帮助和指导。 3.3 强化实践教学,培养科研创新能力 在校内加强大学生科研立项项目基金资助力度,提高学生的积极性。让大三的学生就进入到感兴趣的科研研究室,实际参与各类科研项目,在实践中出成果,在成果中找到自己的职业定位。高年级学生还应重视培养中英文文献以及产品说明书的阅读理解能力,以及提高成果技术报告撰写水平。这些都是科研活动以及高层次人才应具备的重要技能。 3.4 多元化的教学方法 教学方法不能一成不变,需要与时俱进、常教常新。高年级学生已经基本完成了较重的课堂讲授型理论课程,因此应采用多元化的教学方法。例如:参加学术讨论会、积极引导学生参加国内外有学术价值的讨论会,给予一定的经费支持;参与导师的课题组,培养科研实践能力,找到自己的职业定位;加入研究讨论班,督促学习进度,激发研究热情,提高研究能力。 4 总结 “职业提升型“培养模式是化解当前就业难的关键,本文从课程体系设计、培养方案以及教学方法等方面探讨了该模式的基本内容。然而,没有实践就没有发言权,只有通过积极的尝试才能分清到底哪些是更适合中国国情的毕业生培养。因此,我们会在未来5年内以东北农业大学为实验点对“职业提升型”培养模式进行应用与示范。首先针对计算机软件专业学生进行示范研究,将2010级学生划分为两个班,其中一班作为试验班,采用“职业提升型”培养模式开展教学等活动,对比验证新的培养模式的教学质量及效果,不断完善“职业提升型”培养模式,并将该模式推广到学校其他方向毕业生培养过程中。 (东北农业大学电气与信息学院,黑龙江 哈尔滨 150030) 计算机软件专业论文:计算机软件工程专业卓越计划实践教学 摘要:“卓越计划”是我国高等教育的一项重大改革项目,强调培养高质量的各类型工程技术人才,而实践教学是培养工程技术人员的重要环节,也是重要的教学手段。文章在分析“卓越计划”的培养要求和实践教学作用的基础上,围绕“高质量”和“工程型”两大目标,针对软件工程专业,从实践教学的内容、方式上探讨实践教学的开展方式,说明“卓越计划”的实践教学特色。 关键词:卓越计划;实践教学;软件工程 1 背景 “卓越工程师教育培养计划”(简称“卓越计划”)是贯彻落实《国家中长期教育改革和发展规划纲要(201(P—2020年)》和《国家中长期人才发展规划纲要(2010—2020年)》的重大改革项目,也是促进我国由工程教育大国迈向工程教育强国的重大举措,旨在培养造就一大批创新能力强、适应经济社会发展需要的高质量各类型工程技术人才,为国家走新型工业化发展道路、建设创新型国家和人才强国战略服务,对促进高等教育面向社会需求培养人才、全面提高工程教育人才培养质量具有十分重要的示范和引导作用…。 从培养目标上看,国家对“卓越计划”有明确的要求:面向工业界、面向世界、面向未来,培养造就一大批创新能力强、适应经济社会发展需要的高质量各类型工程技术人才。从这里可以看出,“卓越计划”对人才培养有很明确定位——培养高质量各类型工程技术人才。这里主要强调了两个方面:高质量和工程型。 对于软件工程专业,实践教学是加深理论知识认识的有效途径,是培养具有创新意识的高素质工程技术人员的重要环节,是理论联系实际、培养学生掌握科学方法和提高动手能力的重要平台。实践教学是软件工程专业本科教学的一个重要环节,是培养学生工程能力的一个重要手段。在软件工程“卓越计划”中,实践教学得到了更多的重视,但是许多教学工作者却对“卓越计划”中的实践教学和社会上的软件开发培训班混为一谈,把卓越计划班办成了实训班,这显然违背“卓越计划”的宗旨。本文将就软件工程专业如何定位卓越工程师实践教学,如何围绕“卓越计划”培养目标的两个主题开展实践教学,进行一些分析探讨。 2 实践教学特色 从层次上着眼,我们强调“高质量”人才培养。在培养学生工程能力的同时,要区别于社会上的一般性应用培训班和速成班。 目前我国计算机行业从业人员在实践能力培养上,除了实际工作锻炼途径外,主要集中在两个领域,一个是社会办学的短期培训班,一个是本科教学中逐渐加入的少量工程实践课程。但是“卓越计划”学生的工程性、实践性能力培养,不同于一般实用培训班,它需要培养高层次的、有良好发展的应用型人才。针对计算机软件工程专业,就是要培养能参与项目的高水平技术人员、管理人员,要培养能够综合应用技术知识和管理知识的高级人才,要培养程序员,也要培养软件设计人员,更要注重学生学习性、发展性的培养。 从工程型着眼,我们应该注意区别于传统本科生的培养,把教学重点放在应用能力的培养上,注重理论研究和实际应用的结合,加强具体技术、技巧、方法的培养,提高学生的项目意识。 计算机软件工程“卓越计划”班在强调实际项目实践的同时,也注重相关理论内容的讲解,让学生不但知道在实际项目中应该怎么做,还要了解为什么这样做。例如,针对面向对象的需求分析,我们不但要讲明进行需求分析的具体方法和技术,还要讲明该分析方法对需求跟踪、变更控制的重要性。又比如许多程序员由于在学校没有接受过详细设计的教育,在项目中常常不经过设计直接进行代码编写,这在实际项目中是不可行的。因此,在教学中,我们不但要讲明详细设计的方法,还要讲明详细设计对软件测试、项目组织、代码维护的重要性,让学生能够自觉地进行学习。 在实践教学中,教师要以一个实际项目的运作为主线,讲解时贯彻理论与实践相结合的原则,从工具、方法、技巧各个角度,对学生进行实用性培养,同时重点培养管理和设计能力,在理论上有的放矢,强调理论的适用和适度。 3 实践教学内容 实践教学就是要培养学生的技术能力水平和工程素质。技术能力水平是指一个软件工程师对所从事工作专业知识的掌握能力,包括系统规划能力、概要设计能力、详细设计能力、编码能力等;工程素质是指其团队意识、工作量估算能力、工作计划制定能力、协调能力、角色意识、环境适应能力、规范遵守能力等。在现代大规模软件系统环境中,工程素质对一个人的成长更加重要。 3.1 技术能力培养 在技术能力培养上,我们将着重培养学生的系统规划能力、设计能力、代码规范编写能力和文档编写能力,其内容包括: (1)培养学生系统架构规划能力。通过分析一些大型软件项目,让学生了解软件系统架构思路,掌握常用架构的特点,熟悉软件系统架构的基本方法和思路。 (2)培养学生的设计能力。在本科教育已经掌握通用模型语言(UML)基本概念的基础上,加大教学难度和深度,让学生掌握通过面向对象分析(OOA)、USER-CASE和事件流技术进行结构化需求分析,培养学生使用包图、类图、交互图、配置图等进行概要设计和详细设计的能力。 (3)培养学生编写规范代码能力。正确的代码是指没有语法错误、能完成必要功能的程序代码。高质量的代码是在正确代码的基础上,符合编码规范、便于理解和维护的代码。在企业中,编写高质量的代码是对程序员的重要要求,但在学校教学中缺乏必要的培训,使得学生在实际项目中,编码质量难以达到工程的要求,企业需要对毕业生进行二次培训。我们要通过真实的企业编码规范培训,让学生在具体的编码规范下进行编程,对学生的编写代码能力进行再提高,使其养成良好的编程习惯。 (4)培养文档意识和编写能力。能编写程序代码,却无法撰写必要的文档是许多软件从业人员的通病,也是我们教育的缺失。我们拟通过分析软件企业大量真实的文档模版,让学生熟悉这些文档材料的内容,理解文档在企业中的重要性,掌握基本文档的编写方法和技巧。 3.2 工程素质培养 在工程能力培养上,我们将着重让学生了解企业典型的项目管理模式和开发过程,培养学生制定并遵守计划的能力,锻炼学生角色意识,遵守并制定技术和工程接口,其内容包括: (1)了解软件项目管理的先进模式。在学习现代项目管理基本思想的基础上,让学生了解先进的世界软件项目管理模式和案例,主要包括:CMMI、ISOl5504、ISO2001(软件业行业)等,熟悉这些模式的基本思想和应用实例,通过具体案例让学生了解在实施了相关的管理模式后,一个软件企业开发流程规范对每一个员工的要求,以及这些要求的意义和合理性,从而使其将来就业后能够理解所在公司的相关制度并自觉遵守,尽快融入开发团队中去,也为将来进一步发展打好坚实基础。 (2)虚拟企业环境,模拟真实的项目,培养学生的项目意识。要让学生在公司严格真实的规范下,完成任务分解、任务规模估算、工作量估算、制定任务网络图,从而完成项目计划的制订。 (3)按照计划,通过一个项目的完整生命周期培养学生角色意识,规范模块接口,完成设计文档,提高软件设计能力;同时提高学生控制个人时间、制定个人工作计划、正确估算工作量、个人BUG分析能力。 4 实践教学实施方式 “虚拟企业环境,模拟实际项目,创新教学模式,坚持学和练同步走的策略,培养高层次实用人才”是对实践教学实施方式的总结。 实践教学是建立在基础技能教学基本完成的基础上,并不是简单地由一门课来完成,而是应当由多门课组成一个完整的教学体系。从内容上看,该体系应当覆盖一个项目的完整生命周期,而需求获取、概要设计、详细设计、编码、测试等各个环节,着重在各个阶段锻炼学生,提高学生项目整体技术能力。基于“构建主义”教学指导思想,本节我们详细讨论卓越工程实践教学的实施中需要注意的问题。 (1)以学生为中心。实践教学的特点是老师讲的少,学生做的多,因此实践教学要明确“以学生为中心”,这一点对教学设计有至关重要的指导意义。从“以学生为中心”出发就是让学生有多种机会,在虚拟项目中应用他们所学的知识(将知识“外化”),根据自身在项目开发行为中的结果,不断调整自己的策略,应用不同知识,完成整个项目,从而积累项目开发的实际经验和教训。 (2)强调“情境”的重要作用。建构主义认为,学习需要有一定的应用场景,即与“情境”相联系,在实际情境下进行学习,使学生利用自己原有认知结构中的有关经验来同化当前学习到的新知识,进而把它应用到情景中去,在解决问题的同时,获得新的知识。 在传统的课堂教学中,由于老师不能提供生动、丰富的实际情境,使学生难于掌握和应用新的知识,即不能将知识转化为解决实际问题的手段。实践教学中,老师要尽量收集各企业的管理资料作为实践教学的教学资料,根据科学的管理思想,按照企业的实际运作模式,在实践教学的课堂上要尽量再现真实的企业项目运作环境和管理流程。我们要按照一个公司真实的管理方案,形成一个虚拟的项目,以此项目完整生命周期为主线组织内容,按照企业软件项目开发典型过程组织教学。各门实践科目要系统化,每一门实践课可以覆盖一到多个阶段,各课程既有各自任务,集成在一起又是一个完整的项目,教师通过剖析示范项目,引导学生逐步完成项目。在实践教学课堂中,除了纪律上的控制与支配外,在学习和实践的行为上则应给学生更多的主动与自由。 我们强调利用各种信息资源来支持“学”,在学习过程中要为学习者提供各种信息资源(包括各种类型的教学媒体和教学资料),可邀请软件企业的实际项目开发员工,进行现场教学,介绍相关经验,组织学生去软件企业参观学习,体会项目运作的实际环境,提供多种自学资料,给学生提供信息资源。 学生可在教师的组织和引导下一起讨论和交流,共同建立起学习群体并成为其中的一员。在实践教学中,要强调学生之间的交流,提高学生的团体意识、协调意识。 (3)在实践教学设计中,完成项目目标是高于一切的,它既是教学过程的出发点,又是教学过程的归宿。我们强调学生是认知主体和知识的应用者,把学生能应用自己所掌握知识解决规定的问题作为整个学习过程的最终目的。在这样的学习环境中,整个教学设计过程紧紧围绕“完成项目”这个中心展开,不论是学生独立探索、协作学习还是教师辅导,学习过程中的一切活动都要从属这一中心,都要有利于完成和深化对所学知识的意义建构。为了保证学生遵守企业项目运作的过程,可以将总目标分解为各个过程目标,引导学生有序完成从需求分析到集成测试的各个环节的相关工作。教师按照企业项目考核体制,参照任务提交物质量、计划执行情况、文档编写情况等,制定成绩考核体制,激励学生参与项目。 5 结语 实践教学是“卓越计划”强调的教学手段之一,是培养高质量工程技术人才的重要方式。我们针对软件工程专业“卓越计划”高等教育中的实践教学,详细探讨了其教学内容和教学方式,希望能对软件工程专业“卓越计划”的开展提供帮助。 计算机软件专业论文:以专业竞赛促进计算机软件类学生创新能力的研究 摘要: 培养创新型人才是大学教育的重要任务。本文针对软件类专业在传统教学中存在的主要问题,分析专业学科竞赛对计算机软件类学生创新实践能力培养过程中的指导意义和实际效果,结合具体教学实践,提出行之有效的执行方案。 关键词: 软件人才培养;创新能力;专业竞赛 0 引言 中原工学院软件学院于2004年成立,是河南省首批示范性软件职业技术学院之一,近年来办学层次由单一的专科扩展到本专科兼收。学院按照“面向软件领域,突出专业特色,强化实践能力”的人才培养思路,不断进行教育教学改革,形成了一套独具特色、行之有效的教学模式,学院创立的“计算机技能大赛”、“软件知识大赛”、“程序设计大赛”、“软件设计大赛”、“网络应用技术大赛”、“软件测试大赛”等专业赛事为代表的竞赛活动,以及大学生创新创业中心的成立,极大地激发了学生自主学习的能力和信心,为学生提供了专业实践平台,有利地提高了学生的专业能力,这些专业赛事已经形成品牌项目,并推广到全校兄弟院系以及其他学校软件学院开展实施。 1 传统软件类专业教学弊端 从上世纪90年代中期开始,高校连年扩招,生源质量下降确实给毕业生就业产生了一定的影响。部分高校的教学计划、教学模式陈旧,培养的毕业生在知识能力,思维模式等方面与社会的需求有着较大差距,特别是软件人才,大部分用人单位更多的是从实际需要出发来选择不同学历层次的毕业生,重视学生的综合素质和专业素质,需要毕业生有很高的自主学习能力和专业实践能力。 传统软件类专业教学存在的主要问题有:对软件人才培养的目标和能力结构不清晰;对学生如何取得这些能力的教学规律没有认真研究,一般来说都是按照传统学科的教学模式和课程体系安排教学;实践环节安排上没有以软件开发能力的培养和提高为宗旨,仅仅以理论验证为目的;没有重视“工学结合”的作用,毕业生水平距离企业的实际要求有一定差距。大学生实践动手能力低,创新意识不强,综合素质不高。 2 专业学科竞赛活动的意义 创新型人才的培养是大学教育的重要任务。专业学科竞赛活动是整合教育技术课内外实践教育教学的重要环节,是培养学生创新能力的重要载体,对培养和提高学生的创新能力具有极为重要的作用。积极组织和鼓励大学生参与专业学科竞赛是培养大学生创新能力的一个有效手段。实践证明,参加过相关学科竞赛的学生,在综合素质和解决实际问题的能力方面比未经实际锻炼的学生提高很多。 参加一项竞赛的整个过程,相当于经历了一个实际的开发项目,类似于企业项目研发的实际过程。名次是对能力的肯定,而临场实践对参赛选手来说更是一种难得的经历与宝贵的财富,为今后参加实际工作打下了基础。在参赛过程中,选手通过对比找到自身的缺点和不足,有利于今后不断完善自己,加快适应社会需求的步伐。参加竞赛也是培养学生主动思考问题、独立完成工作以及团队协作能力的有效途径。 3 专业学科竞赛活动的措施 3.1 大力宣传“用行动书写简历”活动 宣传和鼓励学生用行动为求职简历书写丰富的一笔。坚持以“建立专业思想、培养专业兴趣、加强专业动手能力”为目标,把学风建设融入到教学活动中,“让学生带着问题去看书,带着任务去学习”。以“三级课题”实战演练,每学期课外上机120个学时的强制措施和“三个一工程”(一种程序设计语言及平台、一个软件作品、一万行代码经验)的要求,强化实践锻炼,配合专业学科竞赛活动的开展。 3.2 创建“学生创新创业中心” 为了给学生提供课外科技活动支持,包括课外实践、开发训练、社会服务活动的基地,成立了大学生创新创业中心。旨在培养学生创新意识、团队合作精神,搭建学生实践交流平台,探索校企合作模式,实现同IT产业所需人才的无缝对接,畅通就业渠道。 目前创业中心分中软信息公司、大学生机器人实验室、校企合作项目工作室、教师项目工作室,共有60余名在校学生参与项目开发。创业中心中软信息模拟公司特色突出,严格按照公司模式进行招聘、管理、培训、考勤、考核,实行签到制度、例会制度和分享会制度。软件学院广泛开展校企合作、实现公司学校双赢。目前入驻企业有中科软Sliverlight、浙大网新、英孚美信、航天金穗。创业中心多名优秀毕业生至杭州淘宝网、北京华科世佳软件开发有限公司、华北计算技术研究所等工作。 3.3 专业学科竞赛设置 从2005年开始在学生中组织专业赛事。经过几年的探索和实践,已经形成了以“计算机技能大赛”、“软件知识大赛”、“软件设计大赛”、“程序设计大赛”、“网络技术大赛”和“软件测试大赛”为代表的有机联系、相互支撑的学科竞赛体系。 3.3.1 计算机技能大赛在学生进校后的第一个学期进行。在这个学期学生的课内教学主要是了解计算机、学习初步编程技术,也就是以熟悉计算机为主要任务。计算机技能大赛,主要是培养学生的计算机基本操作技能,为学生今后的学习打下坚实的基础。 3.3.2 软件知识大赛在第二个学期进行,主要是让学生开展一个学习软件知识,了解软件行业的读书活动,使学生在较短的时间内能够对行业和技术都有更多了解,从而提高学习的兴趣和效率。 3.3.3 程序设计大赛从学生进校的第三学期开始组织,各年级学生均可参加。主要目的是配合学生专业学习,提高学生算法设计与编程实现能力,同时为河南、全国、亚洲和世界的ACM大学生程序设计大赛培养参赛选手,力争我院学生参加校外专业竞赛取得标志性成果。 3.3.4 软件设计大赛在第四个学期进行,这个学期学生基本上已经学完了软件技术的大部分课程,大赛能给学生有一个展现自我学习成就的机会,以便进一步培养自信心,更好地投入到下一阶段实习实训中。 3.3.5 网络技术竞赛第五学期进行,主要目的是为了加强网络技术教育,引导学生树立正确的网络安全意识,提高学生学习网络理论的兴趣,督促学生尽快熟练掌握网络设计的管理技能,锻炼学生实践动手能力,为今后的专业学习打好基础。 3.3.6 软件测试大赛在第六学期进行,其主要目的是为了加强学生的软件质量意识,使学生在就业前就具备基本的软件质量控制能力,切实提高测试动手能力,推动测试职业化发展。 3.4 加强校外专业竞赛活动的组织 随着计算机应用领域的不断扩展,各种形式多样的计算机专业竞赛在社会上也越来越多,为了提升学院的知名度,提高学生专业学习的自信心,学院鼓励学生参加校外的各种专业竞赛,同时动员专业教师参与到本项工作中,一方面加强对学生的指导,使学生能够取得标志性成果,同时也促进了教师的专业技术水平的提高。将更好地利用校内各种专业竞赛活动,选拔优秀学生参加“挑战杯”、“河南青年软件创新大赛”、“ACM程序设计大赛”等重要赛事,充分调动专业教师和学生参与的积极性,力争取得更好的成绩。 4 结论 大学生学科竞赛是创新人才培养的重要载体。以学科竞赛为依托,发挥学科竞赛激发学生学习兴趣和热情,以及在学科建设、专业建设和课程体系新人才的培养的重要性,目前越来越受到国内高校的普遍关注和重视,成为创新人才培养的新路径。通过各种专业赛事,满足了学生自我价值实现的需要,有效激发了学生专业学习的兴趣和热情,从“要我学”转变到“我要学”,学生自主学习能力得到最大的提升,校园学习氛围、学习风气得到根本扭转。 计算机软件专业论文:应用型本科计算机软件专业实践教学体系的研究和构建 摘 要: 针对应用型本科计算机软件专业教学的特点,作者对计算机软件专业实践教学体系进行了研究和设计,提出了构建以行业需求为原则、以实践创新为核心的实践教学体系,阐述了实践模式下具体的教学体系设计原则,旨在构建以实践创新为核心的实践教学体系框架。 关键词: 计算机软件专业 实践模式 教学体系 计算机科学与技术作为培养信息技术领域高科技人才的主要学科,为我国的信息化做出了巨大的贡献。计算机软件专业是一个实践性很强的信息技术专业,实践教学是该专业人才培养方案和教学计划的重要组成部分,也是对学生进行专业技能训练及创新能力培养的重要环节。目前,我国的信息化和经济发展对计算机软件专业人才的需求不断增加,但是在计算机人才供需方面,却出现这样两种相互矛盾的情况:一方面公司、企业招不到需要的计算机人才,另一方面却出现计算机专业的毕业生就业困难的局面。产生的原因在于学校不了解公司、企业相应岗位对计算机人才的知识结构、专业能力、专业素质的要求,对学生的培养脱离实际。在人才培养方案的制定和实施中重理论、轻实践,学生的实践与动手能力普遍不高,不能适应社会需要。因此,对应用型本科计算机软件人才培养模式进行研究,构建一种应用型本科计算机软件专业实践教学体系,制定各实践教学环节的质量和标准,确保应用型、实践型人才的培养,是一个急需研究的课题。 1.计算机软件专业实践课程体系的现状 1.1实践教学体系不完善。 首先是实践教学体系不完整,实践教学环节的组织缺乏连续性、系统性、相互协调性和衔接性,缺乏专门的实践教学规划、管理、研究、评价机制。实验课完全依附于理论课程,在具体的教学实施过程中由理论课教师根据需要安排实验课时和实验内容,实验室和实验教师处于较为被动的位置。其次是实践教学培养模式不科学。目前高校各专业普遍采用的人才培养模式主要还是以课堂传授理论知识为主,生产实习和实验操作、实践调查时间较少,教学评价主要看学生理论知识的掌握程度。这种理论与实践相脱节的模式培养出来的学生的实践创新能力、操作技能都较差,不受用人单位青睐。 1.2实验环境单一,缺乏体现专业特色的创新性。 信息技术企业衡量求职者的一个重要因素,就是其计算机工程的实践能力,但目前许多地方院校实验环境和实习基地建设相对落后,学生实践教学缺乏有效的实习与实验环境,使学生的实习环节流于形式。学生在校期间得不到很好的实习实训,实践能力缺乏,工程技术能力差。这对于刚毕业离校的大学生来说,无疑是就业的一个大障碍。 1.3实践教学体系不能支撑专业定位和培养目标。 实践课程所占课时量少:应用型本科院校的培养目标是培养具有扎实计算机软硬件理论基础和较强的专业能力、操作技能的适能够应区域经济发展需要的计算机应用型人才。但是,在多数应用型本科计算机科学与技术专业教学计划中,实践课的课时只是理论课时的1/3,最多一半,达不到计算机应用型人才的要求。 现行的计算机软件专业实践教学体系已不能满足高等教育,特别是应用型本科教育人才培养的要求,必须对现行的实践教学体系和管理模式进行改革与创新,必须架构具有应用型本科教育特色的实践教学体系。 2.计算机软件专业实践教学体系设计原则 根据我院软件专业特色和专业发展现状,遵循“厚基础、精理论、重实践、强能力”的基本原则,确定“突出特色、强化基础、优化资源、提升能力”的实践教学改革思路,并以应用型人才规格培养模式为指导,以提高学生的创新能力为目标,以实践教学体系构建为重点,全面推进计算机软件专业实践教学改革。 具体设计原则为:更新观念,坚持理论教学与实践教学并重的原则;以人为本,坚持以学生的需要为中心、学生的能力拓展为中心、学生的知识结构为中心的原则;以学生的实践创新能力提高为目标,坚持密切联系学生实际、专业技术发展实际、社会需求实际的原则;依托商科背景和学科优势,坚持实践教学改革与学科建设、课程建设同步的原则;以实践教学改革为基础,坚持教学方法与教学手段、教学过程与教学效果统一的原则;遵循先进的教育理念,围绕教学质量目标,坚持实践教学全过程和质量监控全过程的原则。 3.构建以实践创新为核心的实践教学体系框架 根据社会对软件人才的需求,构建以实践创新为核心的实践教学体系框架:以培养学生的“三种能力”(基本技能、专业技能和综合应用技能)为目标,遵循实践教学全过程的原则,按照课程内容和学生能力分类、建立以课程实验教学为基础,以课程设计、综合实验、项目开发和专业实习为补充,毕业设计为重点,学科竞赛为龙头,职业资格证书认证课程的教学和考试的立体化多层次实践教学内容体系,有效地激发学生的学习兴趣和调动学生学习的主动性,进一步培养学生的创新能力和竞争意识,使学生的专业水平、就业竞争力和发展潜力不断提高。 3.1加强实践教学基本资料建设。 实践教学基本资料包括各课程及综合性开放性实验的实验教学计划、实验大纲、实验指导书,社会实习、专业实纲和实习指导书,以及毕业实习和毕业设计指导书,等等。这些资料是开展实践教学的基础性文件。为了保证教学内容与实践教学的一致性及教学改革的最新成果在实践教学中的应用,学院鼓励专业课程教师自编实验教材,经常适时地对相关资料进行更新、补充和完善,通过教学网站的形式为学生提供各类丰富的教学资源,以保证教师和学生都能及时、方便地获取最新的教学资料。 3.2加强实践教学相关制度建设。 根据实践教学各阶段和各环节的要求,学院先后制定了一系列科学、规范、行之有效的制度,在逐步完善实践教学管理运行机制、强化实践教学规范化建设的基础上,通过对实践教学的严格监控和管理,保证实践教学整个过程各环节的有效实施。结合教学实际,适时地对相关制度进行修订和完善,保证制度的持续和有效执行。 3.3加强实验环境建设。 实验环境主要包括实验的软件环境和硬件环境。软件环境建设主要通过构建数字化实验教学平台满足实践教学的基本要求。硬件环境建设则以实验室、机房建设为基础,保证和加大对实践课程的投入,并通过建立相应的实验室开放机制和运行管理模式,逐步实现实验室的全面开放。实验软硬件环境的同步建设,不仅能够最大限度地发挥实验室资源效率,而且能够满足各类学生的多层次需求,激发学生的创新观念和培养学生的科学作风、创新思维、创业能力和实践动手能力。 3.4加强实验师资队伍建设。 高质量的师资队伍是实现实践教学体系的主体和关键。学院采取引进和培养相结合的方法,加大人才引进力度,不断充实和提高实验师资队伍的数量和质量;建立教师培训、交流和深造的常规机制,对学院青年教师进行方向性培养;计划从企业、公司聘请有丰富实践经验的高级专家和技术骨干担任兼职指导教师,使学院逐步建立起一支能适应新形势下实践教学要求的高水平、高素质、多元化的实践教学师资队伍。 3.5加强实习基地建设。 实习基地是“产学研”结合的桥梁和纽带。近年来,学院积极加强校企合作,建立稳固的校外实习基地,并将实习基地建设与专业特色建设、学生实践能力训练、教师科研结合起来,逐步形成以校内外实习基地为依托、以教学为中心,以科研促教学的创新人才培养模式。 4.结语 构建以实践创新为核心的新型实践教学体系,在实践教学过程中始终坚持以学生为中心、密切联系实际和全过程的原则,有利于培养学生的执业能力和创新精神,有利于进一步落实应用型人才培养目标和提高人才培养质量。必须注意的问题是,无论计算机技术如何不断发展和市场需求如何快速变化,实践教学体系的构建都要符合计算机技术的发展实际,适应计算机专业的教学规律。 计算机软件专业论文:论中职计算机软件专业教师教学能力的构成 摘 要:当今社会,科学技术突飞猛进地发展,在这样一个信息技术占统治地位的时代,搞好软件专业教学建设极为重要。为了适应社会的发展,必须要提高教师素质,加强教师职业队伍建设。本文对计算机软件行业的发展现状以及其未来的发展趋势做出简要分析,对中职计算机软件专业教师的能力构成做了总结。 关键词:中职;计算机软件专业;教师;教学能力构成 伴随着计算机技术的进一步的发展,计算机逐渐成为了联系现代社会的重要纽带。中等职业软件技术学校以填补计算机软件基础技术人才缺口为主要培养目标,致力于培养适应社会化大生产的、拥有专业职业技能的劳动者。肩负教学任务的教师,起着最为关键的作用。但是现在计算机软件专业的学生就业情况并不乐观,这和中职计算机软件专业教师自身的职业素质及其教授的方法和手段存在这弊端是分不开的。为了改善现状,必须加大力度提高教师的专业教学能力和教学质量。 一、职业学校计算机软件专业教师教学能力现状 如今的中职计算机专业教师大部分是本科以上学历,而且基本上都只是和计算机软件开发相关的专业,基本没有系统、规范地参与过软件开发,这就导致了这些负责教授软件开发的教师根本不熟悉软件开发的流程,专业教学能力较差。 首先,教师大部分都缺少企业软件开发的经验,很多都不具备企业软件开发的能力;其次,这些教师对企业软件开发的流程并不清楚或不熟练,这就导致他们对企业的岗位设置没有充分了解;最后,在中职计算机软件学校中,普遍采用/VB作为教学语言,而大部分教师只会这两门语言,并且他们采用的教学方式比较陈旧,教学效率不高。 二、职计算机软件专业教师专业教学能力构成 (一)教师知识要全面 教师应该具备较为全面的知识,不仅要有好的逻辑思维能力,数学基础,能够更好地和学生交流,了解学生的想法,还必须要精通程序设计编程,并用这些知识分析问题,最终解决问题。 1.计算机软件专业的教师应具备对行业、岗位的认识能力和适应实践工作需求的工作技术。较好的岗位认知能力,包括对行业发展和应用的认知以及对软件企业岗位架构的认知。具体来说就是,教师要能准确地表述出某个地方软件行业的现状,以及本地区和省级软件行业现状之间的差异,要了解软件行业的现状和发展趋势,并且能够表述程序员的工作流程和工作的规范。 除此之外,教师还应该具备对岗位关系的理解能力,包括对软件企业岗位职责、技能的分析和对专业培养方案与岗位技能关系的认知。具体表现在:能表述初级程序的技能要求、专业课程设置与岗位技能间的对应关系;可以画出工作流程,表述各环节的工作的任务;能够根据学校的师资、生源情况和学校的教学环境资源,选取和岗位技能相适应的专业培养实施方案。 2.计算机软件专业教师要具备一定的评价能力。评价包括对学生学习和教师教学效果的效果。具体表现为:教师要能够引导学生对他们自己完成的项目、任务进行自我评价,以及根据团队项目的表现、小组测验的表现对学生的团队协作能力给出合理的评价;要能够从学生的案例行动表现和学生的课后交流,对学生的语言表达能力和逻辑思维能力给出适当评价,并提出一些利于学生适应岗位的建议;具备在实习评价基础上指出学生知识和技能缺陷的能力,要能够对学生的学习方向给出合理的建议。 3.计算机软件专业的教师要能够基于自己的专业特征,通过行动导向型教学法进行授课。具体表现在:要能够引导并且激发学生在情境中完成案例;要能够对岗位工作的任务进行分析和整合。 (二)注重调整知识结构,从而提高教学效率 一个优秀的中职计算机软件技术教师应具备的专业素质,包括专业知识和专业技能两个方面。教师的专业知识主要包括普通的文化知识、教育学科知识和所教学科的知识。具备良好的专业知识在教学工作中占据基础性地位,专业技能主要指教师的教学能力和技巧。教师的专业知识和专业技能两者相辅相成,统一于教师的教学过程中。 计算机软件专业很重要,现有的教学模式不能够适应时展的需求,所以有必要通过因材施教、分层教学的方法帮助实现培养目标。标准层次可以分为基础能力、提高层次和骨干三个部分。教师应根据不同层次学生的需要,以及知识的难易程度,采取适当的方法传授知识,促进教学效率的提高。教师专业教学能力的标准要求教师不仅要具备职业道德、基本知识,还应符合中职学校教师职业的特殊要求。 在科学技术飞速发展的今天,认清当前计算机软件教学存在的弊端,研究好计算机软件技术专业教师教学能力构成极为重要。这样有利于解决现有的问题,最终提高教学效率,培育更多优秀的计算机软件人才,为社会的进一步发展做出贡献。 计算机软件专业论文:浅析职业技能大赛对高等职业教育计算机软件技术专业改革的促进 【摘 要】本文结合作者所在院校实际情况,分析了通过参加职业技能大赛反映出的计算机软件技术专业存在的问题以及相关解决办法,探讨了学生参加职业技能大赛对计算机软件技术专业改革的促进和推动作用。 【关键词】技能大赛 专业改革 教学方法 一、 引言 针对高等职业教育在校生举办的职业技能大赛是我国高等职业教育的一大创新,“依托技能大赛平台,以赛促教、以赛促学”是高等职业学校重要的办学理念。通过以职业技能竞赛为平台,以赛促改、以赛促教、以赛促学,不断深化教学改革,全力提升教学质量。同时也可以展现师生良好的精神风貌和娴熟的职业技能,检验学校的师资力量、课程建设和管理水平。通过参加大赛还可以对课程目标的确定,内容的选择和组织、师资建设、课程评价改革等方面起到促进作用。 二、 参与职业技能大赛的必要性 (一)以竞赛引领课程内容和教学方法改革,强化技能教学 技能竞赛吸收了行业发展的前沿技术,起到了示范教学的作用,反映了最新的职业技能要求和行业对技能型人才的需求,也赋予了专业教学新的内涵。如程序员国家职业资格标准中,就要求掌握计算机系统的组成、软件开发基础知识、网络基础知识和计算机专业英语基础知识,在对软件技术进行教学改革时就可围绕职业资格标准来调整教学内容。将专业课程内容改革与技能竞赛紧密结合,牢固树立严谨教学、规范操作的教学思想,通过汲取技能竞赛内容和标准对原有教学内容进行改造,提炼、转化为教学项目,不断补充和完善项目课程教学,推进竞赛内容的普及化教育。 (二)比赛有利于推进教师队伍的建设 高职院校积极鼓励在校生参与职业技能大赛,教师全面参与竞赛项目的组织和指导培训,尤其是在竞赛前对学生进行指导时,使广大教师进一步明确职业岗位的技能要求和相关标准,督促教师自觉转变观念,及时更新教学内容,改进教学方法,促进教师不断学习,提升自身的综合能力,从而促进“双师型”教师队伍的建设。 (三)职业技能大赛开阔了师生的视野 职业技能大赛提供了很好的与其他兄弟院校进行交流的机会,通过展示、切磋、交流,与设备、与标准、与评委、与教师、与选手之间形成多角度、多层次的“互动场”,将原有的经验和新的交流收获融为一体,开阔了师生的视野,吸取了好的经验,相互借鉴,相互促进。 (四)以竞赛为机制,营造校园育人文化 高职院校可对计算机专业建立技能竞赛长效机制,对职业技能竞赛加以制度化和规范化,进一步扩大竞赛范围,尽量拓展到更多课程,让技能竞赛覆盖到每位教师、每个学生,重在参与、学习、提高,形成积极向上的良好育人氛围。同时,学院可通过每年举办一次 “技能竞赛月”和各种技能竞赛活动,提高教师的业务素质,提炼学生的就业技能,提升本专业品牌。 三、 职业技能大赛反映出计算机软件技术专业存在的问题及改革办法 职业技能大赛一方面提供给我们展现学院职业教育改革和发展成果的机会,另一方面在准备和参与的过程中也暴露出计算机软件技术专业课程设置、教学方法,学生就业的专业对口率较低,背离了专业的定位和人才培养的初衷,学校及专业教师对行业及职业的变化敏感度不高,缺乏市场调研、考察等方面存在的一些问题。正是借助于职业技能大赛解决了这些问题,并在参与的过程中完成了对课程目标的确定,内容的选择和组织、师资建设、课程评价等方面的改革。 针对以上问题,我们对教学方法进行了如下改革: 1. 创设情境,激发学生主动学习的兴趣 作为教师,要有效地把握教学过程,千方百计创设学生喜闻乐见的教学情境,激发学生的学习兴趣,调动学生的学习积极性。在选择参赛队员的时候,我们采取了笔试和上机考试结合的考核方法,挑选出自愿并且成绩较好的学生参加大赛,然而在集训过程中我们发现原来成绩不是很理想的学生却表现得非常突出,这个问题引起了我们的思考—原有的教学方法是否能引起所有学生的学习兴趣?学生的学习兴趣是潜能开发的激发点。我们要重视学生的兴趣学习、自主学习、探讨学习、创造思维的培养,培养学生有发现问题的水平,有研究问题的能力,最后,有解决问题的真本事。 2. 尽量放手,鼓励学生大胆尝试 学生的特点是想“动”、好“动”、愿意“动”,所以在教学中要尽量让学生“动”起来,这样才会把学生推到主体地位。凡是学生能观察的要尽量放手让学生去观察。凡是学生能思考的要尽量放手让学生去思考。凡是学生能说的要尽量让学生说。语言是思维的表现,只有学生说出来,才知道他的思维方式是否正确、灵活、合理,是否具有创新性。开展小组讨论活动,让每个学生都有表达的机会。学生在回答问题的过程中敢说、愿说、有话可说。这样既体现了因材施教,又调动了全班学生的学习积极性,同时还培养了学生的思维能力和表达能力。 3. 建立基于互联网的学习共同体 计算机软件技术专业的学生学习过程离不开互联网,我们可以利用网络常用聊天软件QQ来建立师生的学习共同体,学习共同体是师生交流信息、分享资源和探究学习的天地,因此,可以以QQ群为平台建立基于网络的虚拟学习共同体。在QQ群中进行基于网络的主题式探究学习活动、小组协作学习、基于项目的学习,提高师生的交流、合作、探究能力,并在活动中促进学生的有效学习。 总结 综上所述,通过参加职业技能大赛,我们开阔了视野、积累了经验,与此同时也发现了计算机软件技术专业在课程体系、教学方法等方面存在的问题,我们在总结经验的基础上解决了这些问题,职业技能大赛它像一个“风向标”,引领着计算机软件技术专业的改革,它又像一个杠杆,“撬动”着计算机软件技术专业改革,使它加快发展。
软件开发项目成本控制探析:关于软件开发项目成本控制的几点思考 摘要:软件开发项目的成本控制工作作为一项综合性管理工作,如何把成本控制在合理预算范围内,事关企业经营的成败。本文将对软件开发项目中成本控制的影响因素进行分析,探讨成本控制存在的问题,并思考其相关策略,以供读者参考。 关键词:软件开发;项目成本;控制;策略 一、软件开发项目成本控制的影响因素 (一)事前控制 事前控制是项目成本控制的前提,切实做好项目事前控制工作才能防范于未然,才能实现企业项目成本控制目标。 ①需求控制:在软件开发项目中,开发者大多都不清楚消费者的重点需求,使得软件项目未能达到预期目标,因此企业在项目需求阶段重视度不足,需求理解偏差,导致开发产品不能适应消费者需要,进而在不断更新的产品迭代中使得项目开发成本随之大幅增加。②项目设计:开发项目设计是成本控制的关键,产品设计的可当性事关客户需求,如若项目设计的不合理则会导致产品研发成本增加,使得消费者需求发生变动,进而不利于推进项目设计。③项目预算:在常规预算的基础上考虑到国家对软件行业的政策:开发新技术、新产品、新工艺发生的软件研究成本,所得税成本加计扣除150%,前期做好研发加计扣除的备案工作。这样常规成本预算与软件行业的特殊性两者综合性控制成本。 (二)事中控制 事中控制是项目成本控制的关键,通过及时反馈项目执行情况并做出相应调整,以实现项目成本控制目标。 ①质量控制:项目质量贯穿于设计、开发的全过程,主要从保证措施和故障维护两方面影响项目成本。在排除产品故障成本和提高质量成本上两者呈现矛盾关系,项目质量越差,其故障排除成本也越低,则后期维护成本也随之增加,导致的后期损失也越大;反之,如若前期项目质量越好,其前期故障成本会增加,但后期故障维护成本亦会随之减少。②需求变动控制:由于在需求调研的不清晰,随着软件开发的深入,才发现需求已经发生了变动,被迫完善需求方案,使得项目成本增加。有效进行需求变动控制是项目成本控制的重点,企业应及时与客户进行沟通,并有相关评估人员测定可行性,计算其相应成本,以便迅速根据客户需求变动做出相应调整,保证项目成本控制在合理范围内。③工期控制:在软件开发过程中,工期的长短对项目成本有重大影响,甚至超长工期引起的超成本会导致研发的中断,给企业带来巨大损失。比如缩短工期,便需要投入更多的人力资源成本,以此才能保证相应的项目质量;而由于工期的延误又会引起客户不满,导致巨额合同索赔,严重增加项目成本。 (三)事后控制 在软件开发过程中,由于各种因素会导致项目成本的增加,而对于其成本超支问题,应采取相应措施并不断更正,使得项目成本始终控制在合理范围内。同时,项目审计监督应贯穿于软件开发的全过程,贯彻预算执行审计和成本核算审计,并逐步建立健全项目预算管理体系,增强预算审计的约束力,以此保证预算执行活动的规范化和合理化。 二、软件开发项目成本控制存在问题 (一)项目成本管理体制的问题 当前国内大多软件开发企业的项目成本控制管理体系并未将权、责、利结合起来,只是简单的将项目成本管理的责任归咎于其主管部门,缺乏一套完整的成本管理体系,使得项目成本难以合理控制,让企业蒙受财务损失。 (二)质量成本控制的问题 国内企业尚未充分认识到质量和成本间的辩证关系,只是简单的将成本和质量放在对立面,大多项目开发经理在成本约束较少的情况下,单纯强调产品质量,缺乏对项目成本的关注,使得质量成本增加。而在成本约束的前提下,大多又单纯追求经济效益而忽视了产品质量,使得额外维护成本又随之增加,对企业信誉造成不良影响。 (三)工期成本控制的问题 工期成本是在实现项目工期目标的条件下引起的项目成本费用变动,软件开发企业能否按时按量完成合同约定事关工期成本的额外费用。国内企业虽然在工期时长上有着明确的规定,但却很少深入分析工期长短于项目成本间的关系,缺乏对工期成本的重视度,对工期的普遍认识是越早越好,使得盲目追赶工期进度而忽视产品,造成额外成本的增加。 三、项目成本控制的相关策略 (一)建立权责利相结合的成本控制机制 项目成本计划的编制与执行作为成本的控制指标,是项目成本考核的重要依据。对企业员工的工作任务和工作职责做出明确的界定,并结合其奖惩考核机制,有效建立起权责利相结合的成本控制机制,并明确各级责任方和责任人,从制度体系上对项目成本进行综合性控制,才能从根本上控制项目成本。 (二)加强对项目全过程的监管和控制 首先是要加强对开发决策阶段的成本控制,作为项目成本的首先环节必须加强对其的分析与调研,综合考量各方因素方可做出判断与选择,因为它决定了产品的研发方向和企业经营的成败。其次是要加强需求分析的成本控制,需求分析是技术人员对市场的需求进行分析,并科学评估相应项目的可行性,以此合理控制项目成本。最后是应强化需求变动控制,相关部门应及时反馈市场需求变动信息,并做出相关风险评估和合理化预算变动,以便实时做出适当性调整以适应市场需求变动。 (三)增强项目成本动态控制效率 在动态成本控制中必须结合企业发展实际,加强对企业既定资源的利用效率,在保证项目进度和质量的前提下,及时对项目成本进行有效的跟踪、分析、控制,以便有效降低项目成本,提高企业经营利润,增强其市场竞争力。 (作者单位:东冠集团有限公司) 软件开发项目成本控制探析:探析软件开发项目的成本控制对策 摘要:在软件开发所具有的特殊性决定在其成本控制过程中也具有一定的特殊性,而怎样应用其所具有特殊性做好软件开发成本控制,在信息产业相关领域的成本管理中是一个重要的课题。基于此,本文主要对软件开发的项目成本中存在的影响因素进行分析,探讨软件开发的成本控制措施。 关键词:软件开发 成本控制 对策 与传统的产品生产及工程项目等相比较,软件的开发项目具有的特殊性较为典型。其在研制过程中和生产密不可分,而产品的成功研制代表产品的生产能够基本实现,所以在软件的开发项目中,其整个开发过程都可作为设计的过程,无需投入大量物质资源,主要的核心为人力资源,并且软件开发产品主要以技术文档及程序代码为主,并无其他物质成果。此外,软件产品是一种纯知识的产品,在开发的进度与质量中难以估计与度量,并且难以预测与保证生产效率,从而使得软件开发的复杂性加大,导致难以预见与控制各种风险。 一、软件的开发项目的成本组成和影响的因素 (一)软件的开发项目成本组成 在软件开发中,其项目的成本一般由下列几个方面所组成:①人力资源的成本:主要是相关项目人员成本开销,其包含项目成员的工薪、红利与外包合同工作人员、临时雇用人员的薪酬与加班费用等;②资产类的成本:也就是资产的购置成本,指的是产生或者形成的项目交付物中所需使用的有形资产等,其包含计算的硬件与软件、网络设施、安装工具、外部及电信设备等;③管理的费用:主要用在项目的环境维护中,并保证项目在完工时所支出成本,其包含办公室的供应、房屋的租金与设备及支持服务等;④项目的特别支出费用:指的是在项目实施过程中及完工时成本支出,其包含准备费用及培训费用等。 (二)影响软件开发项目成本的主要因素 1.项目的质量对于成本所带来的影响 通常情况下,项目的质量主要从质量的保证措施与质量的故障维护两个方面分别对成本起影响作用。在排除产品的故障与确保产品恢复功能时产生的费用所形成的成本,以及提高产品的质量时产生的费用所形成的成本两者之间具有互相矛盾与反比的关系,项目的质量越差,在前期所投入的故障排除成本就越低,而因质量的不合格所造成的损失就越大,从而增加了维护成本;与之相对,项目的质量越高,出现的故障越少,前期所投入的故障排除成本提高,那么后期的维护成本也就随之降低。 2.项目的工期对于成本所带来的影响 在软件的开发项目中,工期长短对于项目成本具有很大的影响,主要体现在:项目经理部门为确保工期所需措施费用,若工期缩短,则需要投入更多技术更好的成员或者团队,并且需要投入更为密集的硬性成本,增加了直接成本;而由于工期的延误而造成的业主索赔等成本,也可以称之为工期的成本损失。 3.人力资源对于成本所带来的影响 对于软件开发的成本控制,人力资源是其重要的影响因素,对于高技能与高素质的工作人员来说,其人力资源的成本较高,在工作效率与工期长短及产品质量中所占据的优势就更为明显,并且在总体上可降低企业的成本;对于一些技能与素质还有待提高的人员,会在一定程度上延长工期,降低工作效率,甚至需要雇用更多工作人员,从而增加了成本。 4.价格对于成本所带来的影响 市场上人力资源与硬件软件价值对于成本也会产生直接的影响,并且对于项目成本的估算影响比较大。 二、软件开发的项目成本在控制过程中所存在的问题 (一)项目成本的管理问题 许多企业在当前软件开发的成本管理中没有将权责利三者很好的结合起来,对项目成本的管理责任只推到成本管理的主管身上,使得难以完善成本管理的体系,造成项目成本难以管理。 (二)项目人员的意识问题 现阶段软件开发人员虽然大部分具有软件开发的专业技术,但是其大多数缺乏相应的经济观念,对于成本控制的意识较为淡薄,尤其是一些没有单独核算项目的企业,其项目经理更偏重技术而不是管理,通常只是简单把项目的成本管理责任归到财务部门中。 (三)质量成本的控制问题 质量成本指的是为了提高与确保软件的质量而产生的所有必要费用,以及由于没达到质量的标准所遭到的经济损失。我国的软件企业长期以来都无法充分的认识到成本与质量质检的关系,其是辨证统一的,但是往往习惯将质量与成本相对立,片面的追求效益而忽视了质量,却因质量不达标而又支出额外的成本,不但会增加成本的支出,还会对企业的信誉造成严重影响。 (四)工期成本的控制问题 工期成本指的是为了实现项目的工期目标所采取的相关对策时产生的费用,在项目管理中工期目的是其重要的目标之一,企业是否能够完成合同的工期是引起成本变化的关键因素。虽然当前软件企业对于项目的工期与明确要求,而在工期和成本之间的关系中却很少深入探讨,并且不够重视工期的成本问题,使得在认识上存在误区,认为越早完工越好,甚至一些企业盲目赶工期,使得项目的额外成本增加。 (五)风险成本的控制问题 在软件开发中,风险成本指的是项目不确定引发的项目风险,并在对其成本进行管理的过程中,对于项目的风险与潜在风险甚少考虑。使得一旦出现风险,就对项目成本产生严重冲击。 三、软件开发的项目成本主要控制对策 (一)构建责权利结合的成本控制机制 成本计划的编制与下达成本的控制指标,是成本指标考核中一个重要的依据,对于每一个部门与个人的工作范围与工作职责明确界定,并给予相应权利,做到赏罚并行,能够有效的构建责权利结合的成本控制机制,并在这个机制中层层落实责任担负方,从而对形成完整的成本控制机制,并有效的控制成本具有重要意义。 (二)强化项目过程的管控,加大成本控制力度 首先,软件开发企业要加强决策阶段成本的控制,决策阶段指的是企业最终选择的经营方向,其在软件成本的成本管理中是第一个环节也是核心环节,在此阶段对于成本的控制关键是要在决策之前对市场进行科学深入的分析与调研。 其次,加强在软件开发的需求整理与分析确认的成本控制,其中,需求管理是指市场营销人员按照高管对市场的决策所提出的具体产品或项目原始需求;而需求分析指的是技术人员分析市场的需求,评估市场的可实现性和实现的难度及大概的工时等,从而提交出相关的需求报告,最后有市场的经营部门确认。 第三,提高软件开发阶段的成本管理与控制力度,在开发阶段中成本指的是需求确定,并在划清具体开发成本的管理问题上,引入最大的可控制的成本概念。 第四,强化软件开发的需求变更,对其成本进行科学管控,需求变更是指开发的过程当中,因市场部门需求的改变而造成的成本加大由此采取的控制对策,其关键是对每一个变更的步骤有效跟踪,并严格的核算每一次变更时所需工时等,做好相关评估,从而明确需求变更存在的风险,分析其必要性,促进成本的管理。 (三)加强各个要素的成本控制 正确的处理在质量成本中各个要素之间的管理,加强其成本控制,也就是处理好预防费用、质量损失及检验费用等关系,通过科学规范与先进合理的对策,在保证质量满足设计要求的基础上,尽量降低软件开发的项目成本。并且需要正确的处理好成本和工期之前的关系,加强在工期中成本的控制;凸显人力资源在成本控制中的核心地位,强化人力的成本控制等,原因是人力资源是成本控制的核心关键,工期成本与质量成本都需要归结到人力资源的管理成本中,并尽可能的降低人均成本支出,从而加大企业的经济效益。 (四)提高对成本动态控制的效率 软件开发的项目成本在动态管理的过程中必须根据企业发展的实际情况与项目具体要求,通过企业即定资源的利用,在确保项目进度与质量满足客户要求的基础上,对软件开发的项目成本实施有效的跟踪、组织、分析、实施、控制及考核等一系列管理过程。通过这个过程可以有效地降低项目的成本,提高利润。而成本动态控制主要包括资源的计划、成本的估算、预算及控制等,在这个过程中必须根据企业的实际情况,从而满足成本动态控制的要求。 四、结束语 在软件开发过程中对其项目成本的控制具有显著的特点,其与传统成本控制有所区别,软件企业的管理主要以项目的管理为主,并在项目管理的过程中有效地控制成本。因此,深入的了解在软件开发的项目成本中所具有的特点,不断加强对软件项目的开发成本控制,从而不断地提高企业在项目管理与成本管理中的管理水平,进一步增强企业竞争力,进而促进企业的高效发展。 (作者单位:北京乐金系统集成有限公司) 软件开发项目成本控制探析:浅谈软件开发项目的成本控制 摘要:对软件开发项目成本的组成及影响因素进行了分析,并从四个方面探讨了软件开发项目成本控制过程中的主要问题,最后得出软件开发项目成本控制的策略。 关键词:软件开发;成本控制;策略 一、问题的提出 21世纪是信息社会高速发展的世纪,软件作为信息技术的核心,起着至关重要的作用。软件开发项目成本的控制对软件开发项目的成功与否有着至关重要的影响。 软件开发项目和传统产品生产和工程项目相比具有典型的特殊性。首先,软件产品的研制与生产往往密不可分,产品研制成功则意味着产品生产基本完成。因此,软件开发的整个过程都是设计过程,不需要大量的物质资源,而主要是人力资源,软件开发的产品以程序代码和技术文档为主,并没有其他的物质成果;其次,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。 软件开发项目的特殊性决定了软件开发项目成本控制的特殊性。如何立足于这一特殊性搞好软件开发项目的成本控制,是信息产业领域成本管理的一个重要课题。为此,本文试图从软件开发项目成本的影响因素分析入手,对软件开发项目成本控制策略进行探讨。 二、软件开发项目成本的组成及影响因素分析 1.软件开发项目成本的组成。软件开发项目成本主要由以下四个方面构成:(1)人力资源成本:与项目人员相关的成本开销,包括项目成员工薪和红利、外包合同人员和临时雇员薪金、加班工资等。(2)资产类成本:资产购置成本,指产生或形成项目交付物所用到的有形资产,包括计算机硬件、软件、外部设备、网络设施、电信设备、安装工具等。(3)管理费用:用于项目环境维护,确保项目完工所支出的成本,包括办公室供应、房屋(租金,设备)、支持服务等。(4)项目特别费用:在项目实施以及完工过程中的成本支出,包括:训费用和准备费用等费用。 2.软件开发项目成本影响因素分析。(1)项目质量对成本的影响。一般情况下,项目质量分别从质量故障维护和质量保证措施两个方面对成本产生影响。排除产品故障、保证产品重新恢复功能的发生的费用形成成本;提高产品质量发生的费用也产生成本。这二者之间的关系是相互矛盾,相互成反比的。项目质量越低,前期投入故障排除的成本越低,质量不合格引起的损失越大,维护成本就会增加;项目质量越高,故障少,前期投入故障排除的成本提高,那后期维护成本就会降低。(2)项目工期对成本的影响。对于软件开发项目,工期的长短对项目的成本影响很大,表现在两个方面:一方面是项目经理部为了保证工期而采取的措施费用,当工期缩短时,需要更多的、技术更高的团队成员,也需要投入更密集的硬件成本,直接成本就会增加。另一方面是因为工期拖延而导致的业主索赔成本,亦可称其为工期损失。(3)人力资源对成本的影响。人力资源的素质也是影响成本的重要因素,对高技能、高素质的项目团队成员,其自身的人力资源成本是比较高的,但对应的工作效率、产品质量、工期的长短等指标上的优势更是显而易见的,而且从总体上能降低成本;对一般人员还需要技术培训,相对而言工期会延长,工作效率也会变低下,甚至要雇佣更多的人员参与,造成成本的增加。(4)价格对成本的影响。中间产品和服务,市场人力资源、硬件、软件的价格也对成本产生直接影响,对项目的成本估算影响也很大。 三、软件开发项目成本控制存在的主要问题 1.项目成本管理体制存在的问题。很多软件企业现行的软件开发项目成本管理体制没有很好地将责、权、利三者结合起来,有些项目经理部简单地将项目成本管理的责任归于成本管理主管,没有形成完善的成本管理体系。 2.项目人员观念存在的问题。目前,中国软件项目人员大多具有软件开发专业技术背景,但是普遍缺乏经济观念,成本意识淡薄,特别是项目不单独核算的企业,项目经理职能更偏重于技术而非管理,简单地将项目成本管理的责任归于财务部门。 3.质量成本控制存在的问题。质量成本是指为保证和提高软件质量而发生的一切必要费用,以及因未达到质量标准而蒙受的经济损失。长期以来,中国软件企业未能充分认识到质量和成本之间的辩证统一关系,习惯于把质量与成本对立起来。有的项目经理在成本缺乏硬约束的情况下,强调软件质量,就对项目成本关心不够,造成质量虽然有了较大提高,但增加了提高质量所付出的质量成本。有的项目经理在成本约束的条件下,片面追求经济效益而忽视质量,虽然就单个项目而言,利润指数可能提高,但是因质量标准而付出的额外质量成本,既会增加成本支出,又会对企业信誉造成很坏的影响。 4.工期成本控制存在的问题。工期成本是指为实现项目工期目标而采取相应措施所发生的一切费用。工期目标是项目管理三大主要目标之一,软件企业能否实现合同工期往往会引起成本的变化。中国软件企业虽然对项目工期有明确的要求,但对工期与成本的关系很少进行深入研究,常对工期成本的重视不够,对工期存在认识上的误区,普遍认为越早越好,有时会盲目地赶工期要进度,造成项目成本的额外增加。 5.风险成本控制存在的问题。风险成本是指项目的不确定因素导致的项目风险。在项目成本管理中,很少考虑项目风险和潜在的风险成本,而风险一旦出现,会对项目的成本造成巨大的冲击。 四、软件开发项目成本控制的策略分析 1.建立责权利相结合的成本控制体系,强化全员成本控制。编制成本计划并下达成本控制指标,同时作为成本责任指标考核的重要依据之一。对每个部门、每个人的工作职责和范围进行明确的界定,赋予相应的权利。在项目实施过程中,要定期检查和考评,做到奖罚分明,彻底打破“干好干坏一个样,干多干少一个样”的局面。在层层抓落实逐级负责的基础上,形成一个完整的责权利相结合的项目成本管理体系,强化全员成本控制。 2.加强项目过程管理和监控,强化全过程成本控制。全过程软件成本控制模式涵盖了软件开发项目经营决策阶段、需求整理分析阶段、开发阶段、需求变更阶段、测试阶段等等环节。 一是加强软件开发经营决策阶段的成本控制。经营决策阶段成本是指公司经营方向的选择,这是软件成本管理的第一个也是最为核心的环节。该阶段的成本控制,关键在于经营决策前科学而深入的市场调研及准确分析。 二是加强软件开发需求整理及分析确认阶段的成本控制。需求整理指市场经营人员根据高管对于市场方向的决策,而提出的具体的产品或者项目的原始需求,需求分析是指技术员对市场部门的需求进行分析,评估其可实现性以及实现难度,大致工时等,提交相关需求分析报告,最后市场经营部门进行确认这个阶段。提高该阶段的成本控制效率,要清晰的确定并严格执行市场和技术沟通的流程,尤其是要明确每个环节的控制点。 三是加强软件开发开发阶段的软件成本管理及其控制。开发阶段的成本指需求确定并且规划清晰后的具体开发过程的软件成本管理问题。该阶段的成本控制,可以引入最大可控制成本的概念。 四是加强软件开发需求变更软件成本管理及其控制。需求变更成本指在开发过程中,由于市场部门的需求改变导致的成本增加而实施的控制。该阶段的成本控制,最关键的是要对于需求变更过程进行严格的管理,要从需求变更的开始,对于整个变更的每个具体的步骤进行跟踪,并且严格核算每次变更所需要的工作时,从而做好评估。同时,务必要明晰需求变更的必要性和风险性,以及所带来的实际成本的增加,所以需求要尽量经过详细的论证。 五是加强软件开发测试软件成本管理及其控制。测试成本指项目开发完成阶段,在交付验收前进行的测试过程中导致的成本及其控制。该阶段的成本控制,最关键的是对测试进行错误管理模式,尽量在项目开发之前,就能整理出之前开发中出现过的所有问题,并用列表的方式进行技术会议,让所有开发人员进行错误共享,尽量把测试中可能出现的问题消灭在开发阶段。 3.加强质量成本、工期成本、人员成本控制,强化全要素成本控制。正确处理质量成本中几个方面的相互关系,加强治理成本控制。即处理好质量损失、预防费用和检验费用间的相互关系,采用科学合理、先进实用的技术措施,在确保质量达到设计要求水平的前提下,尽可能降低软件项目成本。正确处理工期与成本的关系,加强工期成本控制。在安排工期时,要注意处理工期与成本的辩证统一关系,均衡有节奏地进行工程实施,在确保工期达到合同条件的前提下,尽可能降低工期成本。突出人力资源的核心地位,加强人力成本控制。软件开发项目不同于其他工程项目,最核心的资源是人力资源,质量成本和工期成本最终归结到人员成本即人力资源成本上,要求人员结构要在能够完成任务的前提下高低搭配,降低平均人员成本。一方面要将人力成本定量化,另一方面通过高效的管理制度大力挖掘提高现有人力资源的“含金量”。 4.基于成本管理的各个阶段,强化成本的动态控制。软件项目成本管理就是根据企业的情况和项目的具体要求,利用公司既定的资源,在保证项目的进度、质量达到客户满意的情况下,对软件项目成本进行有效的组织、实施、控制、跟踪、分析和考核等一系列管理活动,最大限度地降低项目成本,提高项目利润。成本管理的过程包括资源计划、成本估算、成本预算、成本控制。要进行有效的项目成本估算和预算。项目预算是项目分配资源的计划,也是控制的标准,在项目成本管理中具有重要作用。 五、结束语 软件企业具有知识经济的明显特点,不同于传统的成本控制,软件企业管理具有以项目管理为主的重要特征。深入了解软件开发项目成本的特点,加强软件项目开发成本,从而提高软件企业的财务管理和项目管理水平,增强企业的竞争能力,促进软件企业健康发展。
浅谈软件和信息服务质量:临床药学信息服务系统计算机软件设计和应用 摘要:本文主要分析了临床药学服务系统计算机软件的设计和应用,主要是依靠医院目前所有的局域网络,通过Oracle7.3建立对医院有较强实用性的药学信息资料库,以PowerBuider6.5作为开发工具,设计出的网络软件包括两个子系统,即:信息编辑和信息咨询。通过该系统,可以实现对医院的药品的资料,药品的实际库存以及相关的药学只是宣传教育等多项功能,这为医院的药学部门提供了相关的处理工具,同时还给相关医护人员提供了实现交流的医学信息手段。该系统采用的是网络化的信息服务模式,具有很多优点,如:准确、快速以及实用性较强等,因此在医院临床药学的信息服务开展领域有着相当广阔的应用发展前景。 关键词:药学信息服务;软件设计;临床医学 在当前经济和科技不断进步的环境下,药学的信息化服务已经成为全程化药学服务的精髓所在,实现药学的信息化服务,也是医院药学存在和发展的根本要求,有着必要的作用和意义。通过提供药学信息服务,可以避免在用药过程中的信息障碍。由于医学信息的种类和内容及其丰富,光是依靠文字传递已经适应不了发展的需要,现代计算机网络技术的应用时必须的,通过其可以真正实现信息化服务。正是因为如此,我们利用了医院先用的局域网络,构建了网络化的临床医学服务信息系统,经过了一年多多的应用,已经取得了较好的效果。 一、系统设计的理论和思想依据 在“九五”期间,就有了“军字1号”工程,这是一个综合的医院管理信息网络系统,该系统将科学性、可靠性和先进性进行了有机结合,系统采用了客户机/服务器网络体系,以PowerBuider语言作为开发工具,并以Oracle作为数据库管理系统,由于其具有很多应用上的优点,现已经有很多医院应用了该系统,而且随着该系统不断被应用和推广,系统的功能也逐渐稳定。但随着现代科技的不断发展,该系统中还用一些项目的空白,而对这些空白进行填补,建立在已有系统的基础上,是可行的,而且有着广阔的发展前景。 对于目前已有的医学信息咨询软件,虽然有着一定的优点,但还是存在一定的问题,最主要的就是信息更新和数据共享方面的问题,而且在和用户环境的结合方面,也不是很理想。药学信息服务系统的设计是建立在医院内部局域网络的基础上,针对用户的实际需求,主要给用户提供医药信息服务的软件。 二、软件运行的环境和开发工具 临床药学信息服务形态的运行环境主要是采用“军字1号”系统的网络结构和运行环境。软件设计采用网络版模式,从理论上讲,用户的数量是不受限制的,服务器操作系统是WindowsNT,而工作站的操作系统是中文Windows95/98/2000等,数据库支撑软件为Oracle7.3客户端,软件的屏幕大小为:800*600像素,主要程序语言为PowerBuider6.5。 三、系统的结构和功能 系统主要依据医院临床药学信息服务的基本模式为基础,采用了网络分布式的结构,由信息咨询和信息编辑两个子系统软件共同构成。 它体现了药学信息的采集器在网络系统中的独立应用,主要应用的领域就是医院药学信息的编辑部门,主要的用户就是临床的药师,可以给他们提供信息的编辑,和相互之间的交流和信息共享。各模块的主要功能有:第一,信息编辑模块可以实现对各类不同的药品的数据和相关信息进行相应的处理;第二,网上交流模块主要是实现网络上的咨询和进行所需的信息交流;第三,药学宣传教育模块主要是实现对个各种药学资料的录入、编辑和;第四,信息查询模块主要是可以实现对所需的药学信息的查询;第五,系统维护模块主要是实现对系统运行参数的设置。在进行软件设计时,为了实现信息的交流和传递,不断利用了网络的优势,而且还结合了 Windows的剪切板技术,这样就可以对各种不同的文本进行相应的处理,在很大程度上减少了工作量。 (二)信息咨询子系统 它是给服务对象提供药学信息的终端软件,主要的服务对象就是使用医院内部局域网的用户,可以给他们提供相应的咨询或者是查询服务。该软件各模块的主要功能有:第一,药品信息查询模块可以实现包括药品的属性、库存、类别以及管理和治疗等多方面的信息的及时有效的查询,用户可以根据各种条件进行查询,避免了一种药物多个名字的问题的麻烦;第二,用户通过新药品信息检索模块,可以自定义选定的时间段,通过对医院新药品的列表进行检索,就可以显示出相关的资料,进而获得最新的药品的相关信息;第三,用户通过模糊查询信息模块,进行一些自定义进行检索,获得所需要的内容;第四,通过相关的的查询,可以获得网上的各种宣传教育信息;第五,用户可以在网上应用系统软件进行相关知识的提问,可以实现和临床药师或者是药学信息的编辑人员进行相互的交流。 四、系统的数据和药学资料的管理 在临床药学信息咨询系统中,信息编辑部门主要提供了药学资料,也就是通过信息编辑子系统建立药学资料数据库,还有“军字1号”数据库中的信息,而外部的信息主要是临床药学人员采集来的数据资料,系统对这些信息资料进行有机的结合,进而形成药学综合信息,如图1所示。 该系统采用了有药学信息服务部门对集相关的药学资料进行收集整理和编辑之后再录入计算机,进而形成数据库,而对数据库中的内容和信息可以所示根据需要进行相应的处理,可以更新扩充也可以删除,所以资料的来源更加可靠,更新及时,资料同时还具有较强的适用性。为了使得资料的准确性和完整性得到进一步的保证,临床医学室专门成立了收集和整理医学资料的信息编辑小组,而且资料必须要经过相关的审核才能被录入系统。药学资料主要来源于一些权威性较高的医药学书刊,通过一定的流程进行编辑整理。 在当前,系统中已有的药品信息已到达五千多种,所记录的药学宣传栏目已有四百多项,有一百多条医护人员的网上问题,这保证了研究药学服务的相关数据。而同时,信息编辑系统的使用权限是由一定限制的,主要是针对系统的管理人员,对系统信息进行编辑的工作人员和被授权的用户,而且登录时需要相应的口令,这在很大程度上保证了数据库的安全性和准确性。 浅谈软件和信息服务质量:苏州软件和信息服务业发展对策研究 摘 要:分析苏州软件和信息服务业在发展速度、投资规模和从业人员等方面的现状;指出存在的总体水平偏低、占比偏低和偏重基础设施建设等问题;提出确定优先发展战略地位、重点打造引导“信息消费”的民生工程、加快对大数据技术的应用实践等解决对策与建议。 关键词:软件业;信息服务业;信息消费;苏州 苏州正处在全面建成高水平小康社会并向基本实现现代化迈进的关键时期,寻找新的经济增长点已是当务之急。据工信部测算,信息消费每增加100亿元,将带动国民经济增长338亿元[1]。为此,苏州应该大力发展软件和信息服务业,促进信息消费的快速增长,带动苏州经济的可持续增长。这对苏州推进“两个率先”建设具有十分重要的意义。 软件和信息服务业最典型特征是以物联网、云计算、移动互联网、大数据等新一代信息技术及应用为代表。为了能客观地分析我市的发展现状及存在的问题,结合现行的统计指标、统计方法和统计数据,本文采用 “信息传输、计算机软件与服务”产业的相关统计指标资料为实证数据进行评价和分析。 一、发展现状 (一)产业发展速度较快 2008年以来,苏州软件和信息服务业取得了较快发展速度。2008—2012年的增长率分别为8.5%、5%、14.5%、15%和9.8%,而同期第三产业的增长率为15.8%、14.5%、13.7%、12.9%和13.5%;GDP的增长率为13.2%、11.5%、13.3%、12%和10.1%,其中,2011年最为突出,比同时第三产业和GDP分别快了2.1个百分点和3个百分点。 (二)投资规模爆发式增长 2008年以来,苏州软件和信息服务业的固定资产投资完成额呈爆发式增长。2008—2012年的投资规模分别增长了-16.43%、128.70%、358.26%、71.32%和45.89%。而同期第三产业分别增长了16.15%、24.62%、23.48%、27.23%和18.08%;全市分别增长了10.35%、13.64%、21.92%、24.44%和16.98%。软件和信息服务业投资完成额占第三产业的比重,也由2008年的0.11%逐年上升到2012年1.21%。 (三)从业人员队伍不断壮大 2008年以来,随着我市软件和信息服务业的不断发展,行业从业人员也呈逐年增长。2008—2012年的从业人员分别增长了28.35%、15.83%、17.20%、16.69%和14.56%,同期第三产业从业人员分别增长了11.95%、11.66%、10.11%、8.85%和6.74%,软件和信息服务业从业人员的增幅均快于同期第三产业从业人员的增幅,软件和信息服务业的从业人员占第三产业从业人员的占比也呈逐年增长的势态,2008—2012年的占比分别为2.10%、2.18%、2.32%、2.48%和2.67%。 二、存在的问题 (一)占地区经济的比重偏低 苏州软件和信息服务业增加值占全市GDP和第三产业增加值的比重一直偏低。2008—2012年占第三产业的比重分别为:5.2%、4.81%、4.76%、4.57%和4.34%,占GDP的比重分别为1.97%、1.89%、1.97%、1.95和1.92%,并呈逐年下降的趋势。说明,本行业对于促进本地经济发展的作用不大,行业的基础性、先导性作用没有充分体现出来,这与当今信息化促进城市经济快速发展基本状况是不相符的。 (二)总体发展水平偏低 苏州软件和信息服务业总体水平偏低。例如与上海和南京相比,2012年苏州软件和信息服务业增加值以及两个占比均低于上海和南京。特别是与南京相比,苏州的GDP和第三产业增加值均高于南京,但软件和信息服务业增加值、环比增长率和两个占比均低于南京(如下页表1所示)。这与苏州的经济总量地位相比也是极不相符,南京在发展软件和信息服务业的做法和取得的成绩值得我市学习和借鉴。 (三)投资侧重于基础设施建设 近几年,苏州在软件和信息服务业领域的投资重点主要是基础设施项目。例如,2011年的七大重点项目[2]中有苏州移动的“TD无线城市”、苏州电信的“城市光网”、苏州联通的“WCDMA扩容”、苏州广电信息网络的“有线电视高清互动化升级改造”和“宽带无线城市”等。2012年的四大重点项目[3]中有苏州“城市光网”、“TD无线城市”建设和推广应用、“3G精品网络城市—苏州”建设优化工程和苏州家庭信息化建设。 三、发展对策与建议 (一)确立“第一优先”发展的战略地位 软件和信息服务业作为支撑未来经济社会发展的战略先导产业,具有无污染、低能耗、高就业、高增长等优势,在“转方式、调结构、稳增长”的关键时期,软件和信息服务业处在更加突出的位置,也是最有可能实现重大突破的产业,软件和信息服务业的基础性、先导性、战略性特征更加清晰和凸显。因此,苏州市必须将软件和信息服务业作为“第一优先”发展的战略地位,在政策、资金、引资和人才引进等方面给予重点支持,加大扶持力度。 (二)突出发展重点,打造产业优势 软件和信息服务业是现代服务业的一个重要组成部分,行业领域十分广泛。苏州应该确立行业主攻方向和发展重点,发挥比较优势,打造竞争优势,构筑特色产业高地。 苏州应加快国家、省和市级软件产业载体建设,重点打造工业园区、昆山市和高新区三个软件产业发展高地,根据产业布局和软件园布局,重点发展行业应用软件、软件服务外包、嵌入式软件和游戏动漫软件等优势领域。巩固国家级电子信息产品制造业基地,把苏州建设成嵌入式软件产业基地,建设物联网科技园,大力发展基于物联网和云计算的软件业,形成国内有影响的特色品牌和产业基地,争创“中国软件名城”。 (三)拓展新兴信息服务业态 面向重点行业和民生领域,发展基于移动互联网、云计算、物联网等环境下的新兴服务业态;鼓励企业开展移动应用开发,推进网络信息技术与服务模式融合创新;积极推动云计算服务的商业化运营,支持云计算的服务创新和商业模式创新;积极推动物联网重大应用示范,提升物联网公共服务能力。 (四)重点打造引导“信息消费”的民生工程 提升民生领域信息服务水平,加大“智慧苏州”中民生工程的建设力度,丰富“市民卡”工程和“家庭信息化”项目的服务内容,提升公共服务均等普惠水平,激发市民的“信息消费”动力。积极发展数字电视、网络娱乐、电子商务、远程教育、远程医疗等宽带增值业务;充分利用宽带网络资源大力推进社区信息化建设;大力发展数字出版、互动新媒体、移动多媒体等新兴文化产业,促进动漫游戏、数字音乐、网络艺术品等数字文化内容的消费,以信息消费推动信息服务业的发展。 (五)加快对大数据技术的应用实践 大数据发展与应用已经形成较为普遍的共识,因此,我市必须加快对大数据技术的应用实践,确立大数据技术的应用在软件和信息服务业中的战略地位,以大数据技术为工具促进社会进步、经济发展和提升人民生活水平。 以大数据应用支撑政务活动开展。运用大数据推动政府管理方式变革和管理能力提升,政府部门可依托大数据的分析和决策,用于公共政策、舆情监控、犯罪预测、反恐等活动。 以大数据应用增强社会服务能力。政府部门通过对微博、社交网络、搜索引擎等积累的海量历史数据进行数据的挖掘,实现对人口流动、交通拥堵、传染病蔓延等情况的实时分析,帮助政府在制定治理水资源、减少交通拥堵和提升公共安全等方面的决策提供信息支撑。 以大数据应用提高商业决策水平。企业借助大数据进行分析和决策,掌握消费者习惯,从而制定个性化的营销策略。此外,医疗卫生、交通物流、金融等机构和企业,都可发现大数据的应用价值,加入大数据的应用行列。 (六)加大领军人才引进力度 加大对领军人才引进力度,特别是要加大对国际一流、掌握自主知识产权的软件领军人才的引进力度,重点从国家“千人计划”和江苏省“双创计划”中引进领军人才。 浅谈软件和信息服务质量:加快发展软件和信息服务业推进软件产业和服务外包基地建设试探 随着计算机多媒体技术的推广和应用,目前软件行业早已经走出了单机的模式,向更深层次的网络化格局发展,在这个过程中,软件产业新兴出来了服务外包业务,那么这种新兴的产业如何做好、做强呢?就加快发展软件和信息服务业推进软件产业和服务外包基地建设进行简析。 软件信息服务业软件外包服务 1概述 在软件的最初级阶段,仅仅是依靠电脑进行单机的程序运算,其软件用途也仅限于军工和医药等特殊行业,但是随着计算机多媒体技术的发展,尤其是互联网技术的兴盛,软件行业自身得到了巨大的突破,软件内容也从简单到复杂进行了蜕变。那么,这个行业之所以发展如此的迅猛,其根本的原因就在于将软件业的整体格局进行了重新调整,把软件业中较为程式化的内容进行了服务外包处理,这样一来就极大的方便了核心技术团队的技术公关工作,而进行服务外包业务的相关单位也从中得到了一定的商业利益和获取了有效的社会效应,可谓是一举多得的事情。 2服务外包 服务外包是指企业将价值链中原本由自身提供的具有基础性的、共性的、非核心的IT业务和基于IT的业务流程剥离出来后,外包给企业外部专业服务提供商来完成的经济活动。因此,服务外包应该是基于信息网络技术的,其服务性工作(包括业务和业务流程)通过计算机操作完成,并采用现代通信手段进行交付,使企业通过重组价值链、优化资源配置,降低了成本并增强了企业核心竞争力。 2.1服务外包业务 并不是所有的软件企业都适合开展服务外包业务,因为有些软件企业所开发的软件程序信息并不具备共性,一旦盲目的开展一些服务外包业务的话,很有可能导致软件核心内容外泄,给公司带来损失。与此同时,也不是说软件公司所有的工作都必须亲力亲为的自己动手操作,在一些信息较为透明的技术上,特别是针对一些大众化的信息技术工作上,完全可以开展服务外包业务。因为这样不仅可以降低和节约软件的开发时间,还能在一定程度上降低相对的劳动成本。这里所指的降低劳动成本,并不是说这些服务外包业务不需要支付劳动报酬,而是相对于如果公司自己亲自开展此类业务的话,可能需要支出的费用要比让服务外包公司来进行处理要多。 就目前的实际情况来看,服务外包业务和传统的营销类业务完全不同,这种服务外包业务没有任何的时间和空间的限制,只要是可以提供有效地通讯工具的话,那么天各一方的人都可以随时开展相关的业务。在这其中做的最为成功的,要是印度的服务外包项目专营企业了,虽然说在印度本地,电脑仍然被人们视为奢侈品,但是在印度全境内,开展软件服务外包项目的企业总和要比整个亚洲其它国家中开展相关业务的公司数量还多。 2.2服务外包基地建设 这种数量多,并不代表发展就已经较为成型,在印度的软件外包服务公司的分布上来看,北部各邦的数量要明显比南部多许多,之所以出现这种情况,固然和印度的社会资源分配不合理有一定的关系,但似乎更和印度各邦对待服务外包基地建设的态度有直接的关系。反观我国,在软件行业最初发展的那几年里,其实也存在着这样的一些问题,相关的企业都几乎集中在北上广等一线城市里。虽然这样密集的分布的确有利益服务外包产业的有序竞争和稳健发展,但是这其实也在一定程度上增加了相对成本。这种成本往往不仅仅是金钱上的,更多的是社会公共资源上的。因此,在我国电子商务行业发展到一定的规模和阶段的时候,国家在政策上就有目的性的进行了一些调整,并不单一的去注重软件外包企业的自身壮大和发展了,而是着眼于凝聚和壮大的视角上,将软件服务外包相关企业整合成为一个规模化的模式,在这其中最直接和最有效的办法就是开展软件基地的建设工作。 2.3通过加快发展软件更新速度推进软件产业化运作 一般情况下而言,一款软件从着手研发到推向市场,需要相关的工程技术人员和专业的编程人员编撰和实验上千万条程序命令,而较为复杂的软件需要编写的程序内容会更多。不过,一旦这款软件被推向市场之后,所带来的经济效益几乎是与这些投入的软件程序数量成正比的。因此,即便是从单纯的商业利益的角度上来看的话,相关的企业也应该着力于有针对性的开展相关软件的开发工作。而针对软件的更新业务而言就简单的多了,因为既然是软件更新,其实就说明了软件在市场上意境取得了一定的占有率,基本上获得了社会的认可,因此被更新的软件在推向市场之后并不会向软件最初问世那样需要6-12个月的市场试验期,基本上经过1-2个月之后就可以满足市场的需求了。 不过,随着互联网技术的推行,又一次将这种软件更新的方式进行了提升,将原本需要通过线下才能完成的更新业务,直接放到了互联网环境下进行操作,这样一来是方便了客户的及时更新,二来让软件公司更有效地把握住了客户。因此这种形式虽然看起来很不起眼,几乎就是动动鼠标就能完成的,但是其背后带来的商业价值和社会效应是其它的传统产业所不能比拟的。 2.4通过加快软件产业化发展带动服务外包基地建设 当这种软件产业发展到一定规模和阶段的时候,就不能在仅仅局限于“工作室”的运作模式了,需要有一个尺度来对其进行制衡,这种制衡的目的非但不是基于要制约企业发展的角度所采取一些措施,而是处于保护软件行业有序、稳健发展的角度上对其进行保护。因为许多小型的软件产业服务外包公司大多数都是“团队式”的,多则十几个人,少则几个人甚至一个人就能完成,如果再不对其进行一定的约束的话,那么很难确保这种软件外包服务的质量。而采取这种措施最有效的办法就是开展服务外包基地的建设。 政府也从宏观的角度上发现了软件产业在发展过程中出现的一些问题,有针对性的对这些问题采取相关措施的同时,也制定了一些政策对这些服务外包基地的建设工作提出了指导性的意见和建议。2009年1月,国务院办公厅下发了《关于促进服务外包产业发展问题的复函》,批复了商务部会同有关部委共同制定的促进服务外包发展的政策措施,将北京、天津、上海、重庆、广州等20个城市确定为中国服务外包示范城市,深入开展承接国际服务外包业务,促进服务外包产业发展试点。基于这种政策上的优势,上述城市纷纷投入了软件服务外包基地的相关建设工作中。 3服务外包基地建设工作中应关注的问题 建立服务外包基地,并不是像有些人想的那样简单的将几个开展软件外包业务的企业整合在一个工作环境下就完成任务了,更主要的是要求这个服务外包基地的相关措施要及时跟进,相关配套化工程要能够充分地得到应用。在整个服务外包基地建设工作中,应该着重注意以下四个方面的问题: 第一,服务外包基地不等同于软件开发基地。服务外包项目虽然也属于IT产业项目,但是所从事的都是一些基础类型的工作,产业附加值如果不进行开发的话其实并不高,但是有些地方政府单纯的认为只要是跟IT行业相关的都应该属于高新技术产业,因此将一些服务外包企业当成是高新技术企业加以引进,更有甚者将其纳入到当地的高新技术产业园区中,给予很优厚的待遇。其实这种认识在一定程度上是存在偏差的。开展服务外包业务的相关企业和传统的生产制造型企业并没有太大的差别,只不过一种是实体,是人们能经常看的到的,而另外一种则是通过互联网来应用才能体现出来的,这种“神秘感”说白了是人为制造出来的,并没有任何的玄机在其中隐含。 第二,服务外包基地需要采取严格的准入制度。虽然这些服务外包公司进行的都是一些基础性的工作,但是这些软件信息如果进行深度的分析的话,也能获取一些较为有用的商业价值。因此在服务外包基地建设初期,有些别有用心的人搭建了若干个“皮包公司”,打着当地服务外包基地企业的旗号在许多知名的软件公司中寻找所谓的“商机”。而一旦确定了“猎物”之后,会直接将一些信息再转手倒卖出去获取不义之财。最后反倒是需要当地的服务外包基地来承担相关的损失。由此课件,服务外包基地的建设工作必须从根本上进行管理和制约,由于软件信息属于程序编码信息,很多公共信息的程序编码都是相同或者类似的,如果不从源头抓起进行管理的话,那么不仅仅是会造成经济上的损失,还会给当地带来一些不良的社会影响。 第三,服务外包基地要重质量轻数量。有些地方看到国务院都发文批准和扶持服务外包基地的建设了,就也向从中获取一些利益,个别的省份就出台了所谓的“省级服务外包基地”的项目启动措施。姑且不讨论这种行为中有没有其它行政因素,单纯从服务外包的市场化发展上来看,之所以要建设服务外包基地,就是要更好的、更规范的将服务外包工作长期且稳定的发展下去,这需要一些具备相应规模的服务外包公司来支持整个体系,而这些服务外包公司的生存和发展最有利的环境就是在服务外包基地中。一旦这些服务外包基地呈现出“遍地开花”的态势之后,其核心竞争力就完全不存在了。因此,对于服务外包基地的建设工作,在政府在规划的过程中不应以局部或者当地的利益为主要考虑目的,应着眼于区域性发展的角度上来正确认识这个问题,即便是这其中有可能会损伤到一些人、一些团队的个人利益,也不能任由服务外包基地无序化发展。 第四,服务外包基地的相关配套措施要提前到位。有的地方在开展服务外包基地建设的过程中也采取一般的产业园区初期建设那样,先进行基础设施的建设,再进行其它相关的工作。殊不知,服务外包基地的相关配套设施建设工作和一般的产业园区存在着本质上的不同。服务外包基地内的所有工作都是基于基础性IT产业而言的,因此需要大量的人力资源作为支撑,而这种人力资源又绝对不是“农民工”层面所能应付的来了,必须需要一些有相关知识的人来进行工作才行。因此,最适合进行服务外包基地建设的范围应该是大学城周边,这样无论是招聘临时工作人员还是吸纳应届毕业生都能如鱼得水。另外,服务外包基地周边最好是极为方便的交通便利条件,因为几乎所有从事软件外包服务的工作人员都是“弹性工作制”,一旦交通环境,尤其是公共交通环境不畅的话,那么对于服务外包相关企业而言将会面临的最大问题就是员工的频繁应聘和离职概率大致是相同的。 以上这四点内容是作为服务外包基地建设过程中需要着重注意的问题,其中任何一条没有做到位,那么这个服务外包基地的就不能算作是一个成熟的基地。除了上述的四点硬性要求之外,服务外包基地还需要面临的一个最大问题就是知识产权保护问题。前文中谈到过,作为软件专用的计算机语言而言,功能相似的软件其计算机语言大致是相同的也就是说许多软件外包企业在进行的软件外包服务工作中,许多指令可以应用在不同的渠道上,如果其中一旦发生信息泄漏,那么即便是再专业的计算机编程人员,也很难界定到底是否存在抄袭的问题。因此,服务外包基地在日常管理工作中,必须将保护知识产权作为服务外包基地行政管理工作中的一个重中之重来面对。另外,文章一开始我们就谈到了,服务外包项目的合作不存在地域性差异,因此也谈不上所谓的“照顾”,无论是软件外包公司自己的客户,还是政府给引进过来的外商,在软件外包基地里,根本不需要体现出任何差别来,只要最终的软件效果好、质量高就可以了。要知道,低层次的国际外包不利于技术的外溢与创新能力的提高,相反,国际外包将有长期处于“低水平陷阱”的可能。在国际外包过程中,发展中国家作为承包方常常承担低附加值的活动,这将对国内的技术创新产生明显的阻碍作用。虽然加入跨国公司生产体系符合当代国际分工发展的趋势,但如果单纯被动接受跨国公司的产业转移,而缺乏设计、延展全球要素分工的能力和主动性,未来中国制造业国际分工地位的变化也只能局限于“量”的累积,而不是“质”的改善。 4结束语 综上所述,软件行业的发展,离不开一个稳定的团队和平台,而这个团队和平台的存在空间就是服务外包基地,由此可见,软件和信息服务业的发展与服务外包基地之间既是相辅相成的关系,又是在一定程度上是从属关系。政府和社会不仅要加大力气对软件业这种新兴的产业进行资金和政策上的倾斜,同时也要着力于关注软件服务外包基地的相关建设工作。
探讨如何应用手机移动教学软件来改善思想政治学科课堂教学中存在的学生兴趣度低、互动效果差以及考核形式固化等情况,主要从手机移动教学软件在思想政治理论课教学应用的必要性、特点、路径及方法和存在的问题等方面进行研究。随着网络和新媒体技术的发展与应用,传统课堂面临危机,如何利用先进技术推进课堂改革成为一项重要课题。使用智能手机并通过专门的教学软件来配合思想政治理论学科课堂教育是一个非常具有前瞻性的全新模式,值得我们对此展开细致的分析研究。 一、手机移动教学软件在该学科领域教育中适用的必要性和意义 我国的政府教育部门在产业发展规划中明确提出了到2020年基本建成“每个人在任何地方任何时间都可以学习”的目标,不再受传统教育观念的限制[1],这是在互联网依托下的教学模式的转变。而我们探讨的手机教育软件的使用,就能够非常有效地解决包括思想政治领域理论教学所面临的问题。1.思想政治理论课教学具有一定的特殊性。理论联系实际是马克思主义最基本的原则之一,也是高校思想政治理论课程建设应该遵循的重要原则。坚持实事求是的原则和理论联系实际的方法能够有效提高思想政治理论课程的科学性和针对性,增强高校思想政治理论课程的说服力和感染力,进而提高思想政治课程的实效性。该学科理论课程是社会主义制度下的中国大学阶段教学所特有的科目,目前在大学阶段进行的思想政治领域方面的教育基本课程包括《马克思主义基本原理》《思想和中国特色社会主义理论体系概论》《思想道德修养与法律基础》。思想政治理论课主要是意识形态的教育,做人的思想工作,难就难在需要在教学过程中进行师生面对面的交流、沟通和对话,只有这样才能取得良好的教学效果。这一特殊性决定了它的教学必须要有相应的形式。所以,无论思想政治类学科理论教学方面进行如何的尝试和调整,都不能阻断教师和学生之间进行的现场互动与交流。该项原则极为关键,在很大程度上决定了思想政治类理论课程教育最终的成败[2]。2.当代大学生普遍追求独立且更加强调自主性的学习方式。95后大学生与80后不同,他们个性张扬,重视自己的话语权,他们基本上从小就开始接触电子产品,更愿意分享,而网络给了他们更好的分享渠道。据调查,当今大学生遇到问题时,80%首先上网搜索关心的主题,10%到图书馆查阅书籍,9%从教师那里得到帮助,5%查阅课本[3]。学生这种学习形态的转变,也使得教育工作者在思索如何进行相应的教学改革,并逐步依托信息化手段进行教育。3.全面考核的客观要求以及日益迫切的科学化管理的现实需要。思想政治理论类课程以往的考核形式一般都只关注学科期末考的书面成绩,但对于教学课堂中学生的理解掌握情况无法衡量,加之该类课程基本都是采用大课教学,学生上课的情况仅凭借教师的记忆不能做到全面客观,如何更加客观地记录动态的教学过程,用量化指标衡量学生的实际学习情况,是教师更是学生所期待的。4思想政治学科领域开展课堂教育方式改革的迫切需要。在进行思想政治教学改革过程中,很多学者分别从怎么“教”和怎么“学”来进行研究,但仍有一部分学者在研究的过程中明显地将“教”与“学”的关系简单对立起来,而这种方式并不符合教学改革本身的内涵。课堂授课是一种双向活动,不仅需要教师积极的教,同时还需要学生积极的学,只有双方有机配合,才能收到良好的教学效果,故而教学模式的改革不但包含了教师“如何教”,自然也包含了学习角度的“如何学”。“如何教”的改变必然带来“如何学”的改变。“微课”和“慕课”在教育管理及效果实践方面取得的突破,也对我们这门学科开展手机软件教学起到了很好的示范作用,不过目前这种探索在实际的教育效果方面相对有限,但却为我们进行新的探索打开了一扇门。随着手机的普及,学生跟手机几乎成了连体婴儿,一些学校也进行过“手机告别课堂”这样的尝试,但效果很不理想,如何适应学生新的学习方式,手机移动教学软件做出了有益的探索,也给了我们很多启示[4]。 二、手机移动教学软件自身的特点及优势 目前手机移动教学软件有很多种类,其中有些是收费的,如中成智慧课堂APP、职教云APP等,有些是供教师免费试用的,如清华大学的“雨”课堂(没有独立的APP,需要以微信为依托)、蓝墨云班课APP等。这些教学软件利用电脑和手机来实现教学过程的规划,上课时教师利用手机控制整个教学过程。与之前的“微课”“慕课”相比,手机移动教学软件的应用,不仅充分突出了教师在教学中的引导地位,还可以很好地激发学生主动参与到教学的各项环节中,形成师生互动的良好教育氛围,在无形中提升了教育成效。第一,手机移动教学软件实现了课前预习推送的方便快捷。教师在手机上将教学过程中可能涉及的内容推送给学生,学生只要手机在手就可以方便地接收信息,推送的所有内容及每个学生的学习进度都可以在后台看到,既可以督促“提前学习”,还可以监督“懒得学习”,反馈清晰。第二,实现了教学资源的优化整合[5]。既可以课堂播放名校名家视频,也可以自己讲解,两者能够很好地结合,能够有效地管控上课节奏。在讲述的过程中,教师还可以开通“弹幕模式”,随时看到学生听课的反馈。第三,教学课堂上师生之间的交流呈现多样化、丰富化。传统的课堂互动无外乎提问和课堂讨论,但手机移动教学软件的课堂互动方式更加灵活多样。与传统的直接点名回答相比,手机软件增加了摇一摇随机答、抢答、指定回答等互动方式,激发了学生的参与热情。课堂参与范围也更加广泛,在课堂上通过投票、问卷、头脑风暴等方式,可以让教师“看到”更多的学生,了解他们的思想。第四,方便快捷的测试系统。教师提前将需要掌握的内容制作成测试题目,可在上课前进行测试,方便了解学生对问题的掌握情况,有针对性地调整讲课的内容。第五,充分结合思想政治理论学科特性,选取一些具有代表性的学科资讯进行信息推送。对于该学科,及时掌控好舆论导向是非常关键的,所以就要求推送的资讯应当具备很好的匹配性与合适性,而且必须要能够积极有效地帮助大学生们打下友善、和谐、积极、健康的“三观”基础,同时还需要培养大学生通过自己的学识和思考去明辨是非对错的能力[6]。 三、手机移动教学软件在该学科领域教学的应用渠道分析 1.课前准备相关材料和视频,为课间师生深层次的互动打好基础。互联网模式下的资讯已然呈现迅猛增长的态势,各种鱼目混杂的海量信息充斥在互联网上,所以,如何分辨并筛选出对于大学思想政治学科教育有价值的咨询非常关键。思想政治理论课要传递给学生的信息非常明确,教师运用移动教学软件在课前、中、后分别推送针对性强的信息,这里推送的内容可以是视频、图片、音频、文字等,形式多样且导向性明确,学生在课前看完资料也会根据教师的引导进行思考,为课堂中的解惑打下基础,这种教学手段的引入使思想政治教育既有针对性又可以做到润物细无声。2.在教学活动中有机引入和应用教学软件,可以显著强化学生的学习主动性。首先,教学软件的签到功能不仅节约了课堂时间,还能让学生集中精力,一键签到和手势签到功能也让学生丢掉了之前的侥幸心理,使他们不敢迟到和旷课。在教学实验中,很多班级的学生刚上课都会主动提醒老师该签到了,相比之前学生对点名的排斥心理这是一个很好的转变。其次,课堂提问已经变成一件既可以表达自己又有趣味性的活动了,学生积极性有了很大的提高。软件的弹幕和头脑风暴功能给了学生全员表达的机会,也让教师快速了解了学生的思想,提高了解决问题的针对性[7]。再次,软件中嵌入的教学测试板块能够使教师通过让学生在线测试来了解他们对学科内容的掌握程度,以此来提升教学效果,测试中的学生互评功能也可以让他们看到别人学习的状态,在竞争中激发他们的学习热情。3.课后学习监测,增强思想政治理论教学计划安排和调整的灵活性。思想政治理论课教师是马克思主义理论的宣讲者和当代社会意识形态的传播者,是“学生健康成长的指导者和引路人”。高校思想政治理论课程建设要以师资队伍建设为关键,努力发挥教师在思想政治工作中的主导作用。手机移动教学软件最大的优点就是可以实现对学生学习过程的监测,学生有没有查看资料,教师在手机客户端或者电脑后台可以清楚地看到,并能够进行针对性的提醒。同时,有部分的手机教学软件是单独的APP,新的软件也架起了师生间新的沟通桥梁,对于绝大部分上大班课的思想政治理论课教师来说,新兴起的移动教学软件这个沟通渠道更加简单快捷,便于操作。 四、手机教学软件在该学科领域教学中面临的挑战和反思 第一,教师在注重过程考核与学习实际效果的同时,需要进一步加强课堂管理。更好地把握学生的课堂学习情况和使用移动教学软件时的表现,虽然可以比较全面地实现对学生的评价,但也需要注意到学生在使用手机的过程中也会借机玩手机游戏、聊天,因此,在课堂教学时应当合理地使用手机软件协助教学,授课教师应当及时对教学课堂进行有效的控制。第二,思想政治理论学科的教育工作者在授课过程中还应当顺应时展形势,积极地引入一些能够辅助课堂教学的方法,在增加课堂趣味的同时做好学生们的领路人。科技日新月异,教师的教学手段也需要与时俱进,使用新的教学方法,可以让思想政治教育更有吸引力,让学习更有趣味性。第三,教师的相关培训需要及时跟进。一般的课件制作本身就需要花费大量的时间,而引入移动教学软件对思政课教师有了更高的要求,教师需要提前适应手机教学方法,规划教学内容,将教学环节的各项设置课前准备完毕,时间和精力的付出可想而知,加上软件的功能不断更新,方式不断变化,如果不及时更新软件操作内容就容易陷入单一,因此学校需要将相关培训纳入日常工作中,保障软件操作常用常新,真正做到与时俱进[8]。第四,学校的教学设备,尤其是校园的网络环境需要保障。移动教学软件高度依赖网络,如果网络环境不好,监管不到位,这一教学方法就无法发挥其优势,甚至可能造成教学秩序的混乱。第五,手机教学软件的使用只是传统教学的有益补充,科技只是辅助手段,并不能取代教学内容,教师自身素质的提升才是教学的根本保障。作为教学手段,目的是让学习的内容更容易被吸收,不能本末倒置,一味地追求形式而忘记内容。与时俱进是马克思主义的理论品质,作为思政课的教师无论是从教学内容还是教学方法上都应率先垂范,积极地吸取科技发展的优秀成果为我所用,手机移动教学软件作为目前教学方法的重大突破,适应了当今大学生的学习习惯,对思想政治理论教学辅助意义重大,因此应广泛应用,以提高思想政治理论课的教学效果。 参考文献: [1]徐海鑫,廖浩军.试析新媒体如何在大学生思政教育中有效发挥作用[J].学术论坛,2011(7). [2]王惠.重构与困惑:混合式教学在高校思想政治理论课中的实施与评估[J].现代教育科学,2017(7). [3]顾钰民.高校思想政治理论课改革“慕课热”以后的“冷思考”[J].思想理论教育导刊,2016(1). [4]鲁文英,杨志梅.基于翻转课堂教学模式的思想政治理论课教学创新[J].杨凌职业技术学院学报,2016(1). [5]王萍霞.“互联网+”时代高校思想政治理论课混合式教学模式探析[J].广西社会科学,2017(4). [6]王晓洋.“微课热”背后的冷静思考[J].现代经济信息,2017(8). [7]谭春兰.基于蓝墨云班课的翻转课堂教学改革实践[J].教育研究,2016(6). [8]邢伟.手机移动终端下高职课堂教学研究与实践———以蓝墨云班课为例[J].职教通讯,2017(3). 作者:赵飞 单位:安徽机电职业技术学院
计算机软件表现出良好的发展态势。插件技术与分层技术的应用,便于提高软件系统完整清晰程度,使计算机软件原型完成时间缩短,减少计算机软件研发成本。此外,上述基础的使用,逐步优化了有关性能及技术,获得用户所需效果。为此,分析计算机软件技术中插件、分层技术的应用很重要。 1插件技术与分层技术的定义 插件,即按照统一的接口规范对程序进行编写。应用程序运转时,会在具体接口使用下,来规范插件,以更好地拓宽应用程序功能。对计算机软件插件而言,比较可靠的是应用程序运行的功能扩展。也换言之,软件开发商以规范预定义接口的形式,让第三方软件开发商在许可范围内研究具体插件具体拓宽软件功能,无需重新编译整体代码程序,仅需基于源代码,做出相应更新,具体重译整体程序,并予以整理,达到更新的效果。分层技术的存在是为了应对计算机软件程序的耦合程度而形成的一类技术,通常应用到软件程序依赖、耦合关系当中,用以解决此中关系,使软件获得非常高的内聚性,升级及完善软件系统,让软件更多样,推动软件技术逐步优化及进步。 2计算机软件技术中插件技术与分层技术的应用 2.1计算机软件技术中插件技术的应用 插件技术用于计算机软件研发当中,发挥了非常突出的作用。插件的优势非常多,插件的探究无需花费太多的资金,但收益比支出高出很多。仅需在接口协助下把插件与具体的软件程序较好地连接起来,计算机软件具备了插件程序功能。研究插件时,应切实了解及把握插件服务软件的主程序,以软件主程序原理等依据,开发插件。插件借助接口和系统进行连接,接口提供具体入口,让插件进到软件主程序中,拆掉主程序当中的插件分离端。宿主及插件的程序协议是确定的,规定当插件全部内容放置到一个子文件当中,为防止软件主程序带来的损害,一定要将插件技术纳入严格管理当中。为此,尽管插件和计算机软件是在一块被利用的,而插件相对比较独立,较少影响到软件。用户在选取及使用插件上,需结合自身在具体生活当中的需求,无法对使用作出认定。且使用一些软件时,部分用户会删掉软件附带插件,使得终端机在运转中的负载得以减少,此种方法不会存在问题。插件技术应用到计算机软件技术当中主要表现在下述两点:①Flash插件,从根本上看,其属于浏览器中安装当中的插件。一般是维持浏览器当中sef文件能够非常好地播放。②IE插件,Plug-in属于一类程序。一般浏览器直接对插件程序进行调用,以处置特定文件的形式,把它变为浏览器当中的一个构成部分。 2.2计算机软件技术中分层技术的应用 分层技术用于计算机软件当中,这一般表现为下述几种类型。 (1)四层技术。虽然现阶段计算机软件应用当中依然存在许多双层、三层技术,而该分层方式并不能真正满足信息技术发展的显示需求。为此,依托以往界面层、经过发展而形成的Web层、数据库层等可非常出色地解决计算机当中具体问题。如,Web设计时,以职能为划分依据,把应用分为表现层、业务层、持久层与领域模型层,通过以上层功能的作用,可较好地传输数据通信。 (2)中间件技术。此项技术是完善数据库、计算机操作系统等,让计算器研发速度更快,使计算机高效运行。在中间件技术开发系统的使用下,保持相对独立,且其中包含了十分复杂的分布集成屏蔽及异构等技术内容,同时便于软件优化及质量提高。 (3)五层技术。五层技术于J2EE环境内,获得了非常不错的应用效果,它的内容涵盖了五层,也即客户层、业务层、资源层、集成层、Web应用层。从整体上看,五层技术根据应用逻辑形成各组件,从最大程度上达到计算机系统的使用需求。 3结语 插件构成了计算机软件组成系统非常重要的一个环节,占据着重要地位,插件技术用于计算机软件当中逐步精简了计算机程序,让计算机程序获得非常快的反应速度。插件技术逐步完善。确保了计算机软件功能的多元性,所以,一定要切实注重插件技术于计算机软件技术当中的合理有效利用,强化分析插件、分层技术的应用。分层技术应用到计算机软件开发当中,这是当前计算机软件开发技术未来使用趋势,较好地保证了计算机软件研发品质,达到规定要求,推进计算机软件的研发速度,满足用户需求,使现代信息技术更好发展。
软件工程毕业论文:软件工程专业本科毕业设计过程管理 摘要:分析软件工程专业本科毕业设计管理中存在的主要问题,针对软件企业对软件工程专业的人才培养要求,提出软件工程专业本科毕业设计过程管理措施,强调通过建立和完善毕业设计的管理制度,加强毕业设计过程的监控;构建完善的毕业设计管理平台,提高本科毕业设计管理水平;改革毕业论文形式,建立毕业设计过程管理评价体系,提高学生工程实践能力。 关键词:软件工程;本科毕业设计;过程管理 软件学院软件工程专业的设立是国家教育部、国家发展计划委员会为满足国家软件产业发展对人才的迫切需求于2001年批准成立的。重庆大学软件学院是国家首批示范性软件学院之一,其人才培养目标是培养“面向应用、遵循标准、适应团队、把握技术、熟知领域、外语优良”的软件工程人才。10年来,软件学院十分重视软件工程专业的工程化教学改革,采取多项政策和措施促进工程型软件实用人才的培养。本科毕业设计是实现高等学校人才培养目标的重要教学环节,是培养学生创新意识和创新能力的重要手段,是理论学习与社会实践相结合的重要体现。因此,对软件工程专业本科毕业设计进行改革,培养具有工程实践能力的软件实用人才具有重要意义。 1 软件企业对软件工程专业培养人才的要求 软件产业的迅速发展对该行业从业人员提出更高要求,不仅要求学生掌握理论知识,还要求学生具备较强的工程实践能力与创新能力。国内计算机相关专业的教学基本上仍使用传统的理工科人才培养模式,注重基础理论知识,缺少对学生工程能力和职业素质的训练,因此培养既有扎实的专业基础知识和较强工程实践能力,又能迅速适应业界环境的高素质创新型软件人才,是软件企业对软件工程专业人才培养的要求。 2 目前本科毕业设计管理中存在的问题 1)毕业设计阶段缺乏全过程的管理与监控。 毕业设计全过程的管理与监控不够规范,缺乏专门的组织机构。毕业设计的一些主要环节疏于检查和监督,因此存在影响毕业设计质量的问题,如选题陈旧、重复率高、与软件产业发展需求不适合等。 教师指导水平有限且精力投入不足,同时没有对教师指导工作的有效绩效考核,使得教师对学生的毕业设计不够重视;某些学生由于有就业压力,便将主要精力放在人才市场和各类招聘会上,没有意识到毕业设计的重要性,最后只能通过拼凑和抄袭完成毕业设计。 2)毕业设计阶段缺乏规范化的指导性文件。 毕业设计工作持续时间长,涉及所有毕业生和教师,如果没有规范化的指导性文件能够让指导教师和学生了解毕业设计工作的意义、目标、计划、流程、论文规范化格式、质量评价标准、成绩考核等具体实施细则,明确自己在该项工作中扮演的角色以及整个毕业设计流程对自身承担工作的质量要求,那么很难提高毕业设计质量。 3)毕业设计文档资料缺乏有效管理。 毕业设计成果是学校的重要知识和信息资源,完善的文档资料管理有助于毕业设计工作的传承和创新。长久以来,毕业设计作品和论文主要采用人工管理。学生答辩后提交资料袋,资料袋中包括毕业设计相关文档和设计作品的刻录光盘,但由于管理人员对毕业设计资料的重视程度不够或人员不够,导致毕业设计资料管理不善,出现查询困难、答辩记录丢失等情况,为以后查阅、成果展示及下届毕业生的论文指导工作带来不便。 3 本科毕业设计管理改革措施 1)成立毕业设计管理小组。 为了加强本科毕业设计工作的组织、管理和监督,软件学院专门成立毕业设计管理小组,小组成员由教学副院长、正副系主任及学生助管组成,负责整个毕业设计过程的管理监督工作,包括从选题、审题、任务书下达到开题、中期检查、答辩、成绩评定、推优的全过程。 2)建立和完善毕业设计的管理制度。 为了提高毕业设计质量,毕业设计管理小组根据软件工程专业特点建立学院的具体工作规范和有效的毕业设计管理模式和监控制度,加强毕业设计制度建设,使得从选题、下达任务书到学生的开题报告,从每周汇报、中期检查到设计文档撰写、论文撰写、论文重复率监测、论文评阅及论文答辩,都有切实可行的实施细则及管理规章制度;构建集中管理与跟踪管理、周报提交、外出请假、抄袭检测、讲座出勤等平时成绩评定标准;完善从平时表现、系统设计实现质量、论文或设计文档质量、答辩水平等多方面衡量的客观、公正的综合成绩评定标准和推优程序。在毕业设计全过程管理中,力求做到有章可循及有据可查。 3)多元化的毕业论文形式。 多元化的毕业论文形式有利于培养大学生创新实践能力。根据软件工程专业特点,软件学院对毕业论文形式进行改革。毕业设计形式包括传统方式和新方式,学生可以选择其中一种方式,具体采用哪种方式则由指导老师负责。 传统方式是指毕业生完成开题报告并翻译一篇相关课题的英文文献,然后对软件系统进行需求分析、设计和编码实现,或者对相应算法进行研究、分析和编码实现,最后完成毕业设计论文。 为了面向软件企业需求,培养学生的软件设计能力,新方式注重提高学生的系统设计文档编写能力。毕业生前期仍然要完成开题报告、英文文献、系统分析设计和编码,最后提交系统设计相关文档。系统设计相关文档由以下文档构成:①项目开发计划;②软件需求说明;③系统设计说明;④数据库设计说明;⑤用户手册;⑥测试分析报告;⑦项目开发总结。根据软件工程学科特点及专业人才培养的要求,结合学校的毕业设计(论文)管理办法和软件设计文档国家标准,软件学院制定了符合专业人才培养目标的设计文档规范。 为提高学生科技论文写作水平和研究报告的演讲能力,软件学院面向软件工程专业所有应届毕业生,在其毕业设计阶段开设8学时的“科技论文写作规范”“研究报告演讲技巧”讲座,强调科技论文写作的规范性和可读性,锻炼学生演讲研究报告的能力。 4)加强毕业设计过程管理和监控。 毕业设计过程管理和监控面向的对象是学生和教师。软件学院毕业学生做毕业设计有不同情况,如有在校外软件公司做毕业设计的,更多的是在校内做毕业设计,因此需要有相应的不同管理模式。为加强学生培养质量和降低指导教师管理难度,软件学院提供集中管理与跟踪管理方式。 集中管理是指学院设置固定机房和机位并安排助教作为管理人员,由指导教师给学生安排机房,由管理人员负责学生的日常考勤,学生需及时向指导老师汇报学习情况,学生若有事必须请假。跟踪管理主要针对在校外进行毕业设计的学生,要求这类学生完成校外毕业设计申请,由管理小组协助指导教师对校外学生进行跟踪,为这些学生提供及时的毕业设计信息服务。这类学生必须每周与学校指导教师联系,以便教师详细了解并掌握学生毕业设计进度。这种具体的制度和规范,对在校内进行毕业设计和赴外进行毕业设计的学生进行了有效监控。 针对指导教师的管理,毕业设计管理小组采用不定期检查和周报提交的方式。毕业设计规范要求每位指导教师每周指导时间不少于2小时,指导教师需要检查学生毕业设计的进度和质量;解答学生提出的问题,进行下一阶段工作部署与指导,保证毕业设计的质量。 不定期检查指毕业设计管理小组根据指导教师在毕业设计系统中登记的指导时间和地点,不定期对教师的指导情况进行检查。周报提交是指学院建立的毕业设计定期报告制度,教师和学生每周均需要将周报提交到系统上,教师主要汇报每周对学生指导情况以及学生毕业设计进度和质量,学生主要汇报每周的毕业设计进度、毕业设计遇到的问题等。毕业设计管理小组每周对周报进行汇总分析并,及时了解毕业设计情况,对学生和教师提出的问题进行统一解答。 5)构建完善的毕业设计管理平台。 充分利用计算机技术,构建完善的毕业设计管理平台,提高毕业设计管理水平,使毕业设计管理更加规范化。软件学院在毕业设计过程中使用的管理系统包括:重庆大学本科毕业设计系统、重庆大学网络教学综合系统、重庆大学软件学院软件工程实践教学平台。 重庆大学本科毕业设计系统用来上传和管理毕业设计相关文档。系统涵盖毕业设计工作的全过程,实现选题提交、课题双向选择、毕业设计相关文档(包括开题报告、外文翻译和毕业论文)的提交与管理、文档模板的上传和下载、毕业答辩的自动分组、指导教师和交叉教师评分、答辩记录和成绩的上传、成绩册的打印、毕业成绩的统计分析等功能。 重庆大学网络教学综合系统。用于毕业设计的过程管理,主要进行信息、周报收集、校外学生实习申请、过程检查情况公告、问卷调查、学生成果提交和查询等。 重庆大学软件学院软件工程实践教学平台是软件人才培养创新平台,提供实践教学成果展示、实践案例资源库与实践教学管理功能。利用该平台可以举办毕业设计优秀作品展,展示软件学院学生的专业学习水平,激发学生的实践热情,对下一届学生起到示范作用。平台实践案例资源库可为学生提供实践学习参考资源,为教师提供实践教学案例素材。 6)建立毕业设计过程管理评价体系。 建立毕业设计过程管理评价体系,要求所有 一学生和指导老师每周都要将周报提交到EOL(重庆大学网络教学综合平台)平台。毕业设计管理小组每周对毕业设计情况进行检查和监督,并将检查情况告知所有指导老师。指导老师每周提交周报次数与毕业设计指导工作量挂钩;学生考勤情况、周报提交情况、平时检查情况会被记入平时成绩,平时成绩不合格将被取消答辩资格。 软件学院强调学生在毕业设计期间一定要进行软件系统设计和实现,毕业答辩包括系统演示、用PPT讲解毕业设计主要工作、答辩教师提问等多环节,答辩老师根据学生工作量、完成质量、论文或设计文档质量、答辩情况进行评分。学生毕业设计的最终成绩由平时成绩、指导教师成绩、交叉评阅成绩和答辩成绩构成,以保证评分的公平性。 7)加强诚信机制建设 为了提高本科毕业设计质量,加强学术道德和学风建设,营造学术诚信氛围,软件学院使用“大学生论文抄袭检测系统”对本科毕业论文进行防抄袭检测。抽检比例为应届毕业论文的50%,抽检名单由毕业论文管理系统随机抽取。另外,各答辩小组推荐的优秀毕业论文为必检对象。 软件学院制定论文抄袭的认定标准(建议文字复制比不超过25%)和处理办法,对有问题的论文,责成指导教师对检测结果予以认定和说明或督促学生修改,取消被认定抄袭论文学生的答辩资格;对各答辩小组推荐的优秀毕业论文进行,不合格的论文取消优秀。 4 结语 培养适应我国软件产业发展的软件工程人才,提高软件工程本科毕业设计质量,毕业设计的改革势在必行。通过2届学生的毕业设计改革证明,建立和完善毕业设计的管理制度,加强毕业设计过程的监控,充分利用毕业设计管理平台,实现多元化的毕业论文形式,建立合理的毕业设计过程管理评价体系,加强诚信机制建设,能极大地促进师生在毕业设计过程中投入热情和精力,提高本科毕业设计管理水平,有效保证毕业设计质量。 软件工程毕业论文:软件工程学在毕业设计中应用研究 摘要:毕业设计是一个十分重要的教学环节,是一个系统工程,应使用工程化的方法、步骤统筹安排以取得良好的效果。软件工程学是指导计算机应用专业软件类学生进行毕业设计的重要工具之一。将毕业生设计过程、文档书写与软件工程学紧密结合起来是提高学生毕业设计论文质量的一个重要途径。结合软件工程的基本知识,通过对软件类学生毕业设计过程存在的常见问题的研究,提出了应用软件工程学去指导学生毕业设计的方法。 关键词:软件工程;毕业设计 作者简介:许永昌(1976-),男,山东安丘人,硕士,山东英才学院计算机学院讲师,研究方向为计算机应用。 0引言 毕业设计是高等院校应届类毕业生在毕业前接受课题型任务,在教师指导下进行科学研究或工程实践并取得成果的过程,是高校实现人才培养目标的综合性实践教学环节,是一次理论与实践相结合的的锻炼机会。如何在新形势下改革毕业设计, 提高学生软件类毕业设计的质量,进一步规范毕业设计中的软件开发过程,抓好高校毕业设计这一实践环节,加强对毕业设计过程的管理与监控, 切实提高毕业设计的质量,对于软件类学生在毕业设计中实施合适的软件设计具有重的指导意义。 1毕业设计的必要性 高等职业教育应该是以能力为本位、以学生为主体、以实践为导向的教育。毕业设计是高等教育培养学生综合运用所学理论知识和技能解决实际问题能力的重要环节之一,是衡量毕业生是否达到相应学历层次的重要依据。毕业设计将总结专业基础和专业技术的学习成果,锻炼和开发学生的综合运用能力。 高职院校软件相关专业组织毕业设计应该符合新的人才培养标准,对培养学生的职业技能和素质要具有积极的意义。而对于即将毕业离校的应届毕业生来说,毕业设计无疑是计算机软件各相关专业理论教学、实验、实训等有机结合的途径之一。 通过毕业设计能锻炼学生的能力: (1)实践软件工程的相关原理能力。毕业设计的过程,是一个课题小组从接到开发任务到提交产品和文档的过程,其中涉及到需求分析、概要设计、详细设计、编码、测试、程序打包、编写文档等软件工程具体的各个方面。经过锻炼,学生们对软件工程学思想和方法的理解会大大加深。 (2)解决具体问题能力。在毕业设计的进行过程中,学生一定会遇到平时在课堂的理论学习中碰不到的困难和挑战, 而克服这些困难、解决实际问题的过程就是软件技术和心理素质逐步提高的过程。 (3)团结协作的意识、能力。通过毕业设计这一过程,学生就会产生团结协作的意识和能力。 2软件工程学的基本思想 软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护的学科,包括两方面内容:软件开发技术和软件项目管理。其中,软件开发技术包括软件开发方法学、软件工具和软件工程环境,软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划。 3高职类学生毕业设计现状 毕业设计的主要目的是培养学生综合运用所学的基础理论、基本知识和基本技能,用以分析、解决工程、科研、社会实际问题的能力,使学生得到工程设计方法和科研能力的初步训练。毕业设计中存在的问题主要表现在以下几个方面。 3.1选题的盲目性 只是把毕业设计环节作为大学生活的必经环节, 纯粹是为了完成学业而去做毕业设计, 造成选题的盲目性、有的选题则是陈旧。 3.2可行性分析与需求分析重视程度不够 绝大多数毕业生在确定了毕业设计的题目后,几乎不进行调查研究工作就立即投入到整个系统的设计中, 一旦遇到了与实际不符的地方, 又重新返回, 对已经做好的设计进行修改。最终导致设计的系统杂乱无章, 甚至到了最后只能马马虎虎地仓促交工。 3.3系统开发过程中的文档不够正规,不够完备 完整的设计不仅包括所完成的可操作的系统,一般的操作帮助,还包括在开发系统的过程中所产生的各个文档等一些文字的东西,比如解释清晰、内容全面的数据字典和使用手册也是必不可少的,否则用户会感到使用起来不方便,觉得难于操作。 3.4模糊的评价标准 导致毕业设计质量下降的一个非常重要的原因就是没有建立精确细致的评价体系。 这严重影响了项目的进度和质量,并且使学生没有真正得到必要的锻炼。我们通过对这些问题进行详细深入的分析,提出一个软件过程框架,这个框架主要从需求、测试、集成这3个方面给出工作要点和规范。 4利用软件工程学思想指导学生进行毕业设计 毕业设计本身是个工程,要用工程的方法去处理。从软件工程的角度去指导学生进行毕业设计,在毕业设计过程中,要系统地将所学知识应用于实际问题,按软件工程学思想展开工作。 图1软件生命周期与毕业设计各阶段之间的映射 4.1以可行性研究指导选题目 可行性研究,应该从技术可行性、经济可行性、操作可行性三个方面去研究,在毕业设计题目的选择过程中,应立足于解决实际问题,注重发现问题、分析研究问题和开发创新的能力。选题原则上,可以参考以下几点:①毕业设计的课题应该能使计算机专业所学的理论知识进一步理解并深化,也就是说,毕业设计应尽可能包括多门专业基础课和专业课的综合运用,并且要紧密结合工程实际,以有利于学生的全面训练;②选择难度适中的课题, 保证课题的完成质量;③课题要适合于各个模块独立进行,并便于最后统一调试;④课题规模应大小适合,难易程度适中。 4.2需求分析是关键 需求分析的基本任务是准确地回答“系统必须做什么”, 也就是对目标系统提出完整、准确、清晰、具体的要求。系统分析员可以通过多种形式来获取用户需求,对用户提出的需求进行分析,以此来确定其中要实现系统的功能。对需求划分优先等级,找出核心需求和重要需求,以保证系统构建的正确性。 在进行软件类毕业设计时,为了保证需求获取的准确性和全面性,可以让项目组的所有学生都参与到用户需求的获取的工作中来,发挥集体的能力,并由指导教师进行最终的确认。 4.3规范设计过程 需求分析完成后的下一个阶段就是系统设计,包括概要设计和详细设计。 详细设计阶段的任务就是深入每个函数内部,以伪代码或注释的形式实现整个函数,设计出程序的详细规格说明。 从系统设计开始,学生要按照软件工程的要求,画出DFD图,对输入、输出数据流进行详细的说明,建立符合软件工程规范的数据字典,根据DFD 图设计出模块结构图。 4.4重视文档写作 在毕业设计的过程中,要严格遵照软件文档的思想,记载设计过程的每一阶段完成了哪些设计,下一阶段的任务、目标及技术手段,这样,把文档作为整个设计的指挥棒,使设计有条不紊地进行。 4.5重视测试工作、撰写毕业设计说明书 软件测试工作也是软件开发的重要组成部分。通过实际应用效果和测试数据,毕业设计的成效就可一目了然。 毕业设计说明书的撰写是最后一个阶段,要求学生回顾设计过程,总结劳动成果,这时学生就会对软件开发及必须经历的几个步骤都有更深刻的认识。最后,要求学生对毕业设计进行系统的总结,写出毕业论文。 5加强对学生综合能力的培养 通过实践的练习,不仅能加深对理论的理解,同时也能锻炼运用知识分析问题、解决问题的能力。毕业设计这一实践环节是高等学校培养学生实际能力的主要手段,也是高等教育的重要组成部分。充分、有效地设置软、硬件的毕业设计对学生能力的培养至关重要,可以缩短学校教育与社会流行技术、工具的差距,满足学生毕业后的工作需要。通过毕业设计必须达到培养学生以下方面能力的目的。 5.1工程实践能力 学生能够准确把握选题的逻辑重心和学术思路,能够运用丰富的专业知识进行处理,具有严谨的理论思辨过程,以锻炼毕业生的工程实践能力,使毕业论文具有一定的应用和学术探讨价值。 5.2书写和表达能力 毕业设计论文是毕业设计工作的总结和提高,和做科研开发工作一样,要有严谨求实的科学态度。在毕业设计期间,尽可能多地阅读文献资料是很重要的,毕业设计大多数是技术开发型的,其论文的主体部分应包括:总体设计、模块划分、算法描述、编程模型、数据结构、实现技术、实例测试及性能分析。这些内容根据任务所处的阶段不同,可以有所侧重。 5.3创新能力 提出创新要求后,带领学生认真复习或补学过去没学过、没有学好的课程,并在此基础上结合实际工作中出现的问题孕育出一些新的思路,将毕业设计推上一个新台阶的方式,与为每个人专门分配某一特定的作业来锻炼学生基本技能的方式相比,更能扩展学生的视野,培养创新能力。 5.4协作能力和团队精神 通过集体活动和成员沟通培养成员的团体情感,增强团队的凝聚力。毕业设计将一个学生从入学初到毕业前的软件专业课程的学习内容链接成线,实现了课程的真正衔接,也使学生在毕业前对软件方面所学的知识进行了比较完整的概括与总结,达到了良好的理论联系实际的教学效果。毕业设计弥补了课堂教学的不足,加深了对理论的理解,促使学生深入思考,敢于创新,同时使学生的动手能力、分析和解决问题的能力、书写和表达能力、协作能力等各项能力都得到了培养和提高。 6结束语 软件工程作为软件开发工程化、规范化的具体实施方法,在将其应用到毕业设计中之后,学生在软件设计的文档书写规范化等方面均有了很大的改善与提高。将软件工程应用于毕业设计中不仅仅完成了一门课程从理论到实践的过程,而且将一个学生从入学到毕业前软件专业课程的学习内容链接成线,完成了前导后续课程的真正衔接,也使学生在毕业前对软件方面所学的知识进行了比较完整的概括与总结,因此,软件工程学在计算机专业学生毕业设计中的应用具有重要的现实意义。 软件工程毕业论文:管窥软件工程在毕业设计中的应用 1软件工程在毕业设计中的作用 软件工程不仅是计算机科学与技术专业、软件工程专业的一门专业基础核心课程,也是其他相关专业,如信息工程、系统工程、信息与计算机科学、信息管理与信息系统等专业的重要应用技术课程。对于这些专业的学生来说,毕业设计多是以软件开发类项目为主,整个毕业设计就是开发一个软件。为了更好地完成软件开发类毕业设计,提高学生毕业设计的质量,进一步规范毕业设计中的软件开发过程是必需的。软件工程的思想正是用工程化方法构建和维护有效的、实用的和高质量的软件。按照软件工程思想,软件开发的生命周期分为可行性分析、需求分析、总体设计、详细设计、编码实现、软件测试和软件维护几个阶段。在学生的毕业设计中以软件工程的思想为主线,从软件工程的角度去指导学生进行毕业设计,挖掘软件工程在系统开发过程中的价值,解决毕业设计中存在的一些问题,既有助于学生更好地理解软件工程的方法、技术和思想,更有助于提高软件类毕业设计的质量。 2毕业设计中存在的问题 笔者在指导学生软件开发类毕业设计过程中发现,毕业设计存在着选题难、任务重、重视编码、轻过程、项目无法完成等现象。设计过程中没有严格地遵循软件工程的开发方法,没有规范的软件设计过程,项目能否成功主要依赖于个人能力和个人努力,这种不正确的开发方法带来了严重的后果。在项目开发的过程中常常存在以下几个方面问题: 2.1选题的盲目性 选题是毕业设计过程中的一个初始环节,选题恰当是做好毕业设计的前提,但选题不当的情况仍然时有发生。学生没有认识到毕业设计的重要性,纯粹是为了完成学业而做毕业设计,选题没有一个确切的目标,往往是随便选一个题目,造成选题的盲目性,出现了选题陈旧、选题范围狭窄、选题偏大等问题,使学生抄袭、完成不了毕业设计的情况时有发生。 2.2缺少软件的系统分析 软件开发过程的第一个阶段是系统分析,用来确定软件开发要解决的问题是什么?估算完成该项目需要的资源和成本,确定目标系统应该具备哪些功能,主要经历问题的定义、可行性分析和需求分析三个阶段。软件的系统分析确定了用户需求,同时对目标系统提出完整、具体的要求,引导开发者正确地构建系统。因此,对用户需求做出全面、正确的分析,对于最终软件开发类毕业设计的成败起着至关重要的作用。然而在完成毕业设计过程中,学生往往认为代码编写最重要,对软件开发过程中的可行性分析和需求分析阶段不重视,甚至没有系统分析,对整个毕业设计的完成造成了影响。 2.3软件设计过程杂乱无章 软件设计一般都要经历可行性分析、需求分析、总体设计、详细设计、编码和测试阶段。而部分学生在毕业设计开发的过程中,缺乏软件工程设计思想,跨越需求分析、概要设计、详细设计和功能模块设计,直接进行代码的撰写;或者从代码反推出模块设计;甚至在软件开发过程中,一边写程序,一边了解需求,程序完成了需求才确定。这种无序的软件设计过程,导致最终设计的系统杂乱无章、代码的重复率高、潜在?Bug多、系统的可集成性非常差、不能在规定时间内完成设计或者系统无法运行。 2.4开发过程中文档不完备 根据软件工程学的基本原理,软件=程序+文档,可见软件文档是软件开发过程中不可缺少的组成部分。软件文档贯穿于软件开发的各个阶段,是提高软件产品开发效率、规范软件产品开发过程、保证软件产品质量的关键。但在实际毕业设计中,很多同学认为把程序代码编出来了,毕业设计也就完成了,提交的毕业设计论文就是系统代码的复制,即只做出一个可演示可操作的系统,而忽略了软件开发的完整性、系统性。完整的毕业设计不仅包括可操作的系统,还包括在开发系统的过程中所产生的各个文档资料。文档的缺失会降低软件开发的效率、影响整个软件的开发、使用和维护。以上问题的存在,严重影响了毕业设计的进度和质量,没有达到毕业设计的目标要求。针对当前毕业设计的现状和存在不足,笔者认为应用软件工程学的思想指导毕业设计,对促进学生综合素质与工程实践能力培养具有积极意义。 3用软件工程思想指导学生进行毕业设计 3.1以可行性研究指导选题 可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。毕业设计题目的选择,应立足于解决工程实际问题,可由指导教师提供符合相关专业毕业设计要求的题目,也可以鼓励学生自己到社会、生产企业中寻求研究课题,培养他们自主学习的意识。选题过程以可行性研究为指导,从课题规模大小、难易程度、学生自己的研究方向、爱好、学生的知识层面和能力等多个方面进行考虑,对于选择的题目是否能够解决,确定在规定的时间内完成毕业设计的可行性。指导教师可根据学生选报的题目来指导学生对该选题进行调查研究,明确课题要解决的问题是什么,简要地写出关于问题性质、项目目标和项目规模的书面报告。可行性研究来指导毕业设计的选题,实质上是简化了系统分析和设计的过程,也是在较高层次上以较抽象的方式进行的系统分析和设计的过程,使学生对于课题的设计有个清晰的思路,为及时完成毕业设计提供了可能。 3.2重视软件的需求分析 需求分析的基本任务是准确地回答“系统必须做什么”,即确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求,不仅指明了系统设计时必须要实现的目标,也是软件设计、实现、测试和维护阶段的主要参考标准。用户需求的获取是软件开发中最重要、难度最大的工作,它贯穿于整个软件设计过程,不仅要涉及到软件开发方面的知识、应用领域方面的知识,还涉及到与用户沟通的能力。在进行需求获取和分析时,为了及时、准确地获取,可采用软件工程中比较成熟的方法,例如访谈、实际调查、UML的用例技术等。需求分析在软件系统分析与设计阶段起着桥梁的作用,确定了系统的需求,才能制定出软件设计的框架,保证毕业设计循序渐进、有条不紊地进行,避免后期开发过程的频繁返工,进而按时完成最终的任务。 3.3规范毕业设计过程 软件开发类毕业设计一般是开发一个软件系统,实现一定的功能。“麻雀虽小,五脏俱全”,无论软件规模的大小、功能的多少,都应该严格按照软件工程中软件生命周期每个阶段的步骤完成各项任务。要培养学生把软件工程的概念贯穿于整个毕业设计过程,也就是说,让学生把开发软件的过程看成是盖一栋大楼,修一条公路的实际工程,用工程化的思想指导毕业设计,确定完成课题的各项任务的工作步骤,注重软件类毕业设计的过程,而不是学生所认为的毕业设计就是编程序,代码调试通过即可。通过工程的概念规范毕业设计过程,让学生明白开发一个软件系统一般经过系统分析、系统设计、系统实施三个阶段,必须严格遵循软件生命周期的规律,完成各个阶段的任务,才能最终提高毕业设计的质量。 3.4重视文档的写作 软件工程中的瀑布模型严格地规定了在整个软件生命周期的各个阶段,都要提交相应的文档。文档不仅记录软件开发过程中的大量信息,在软件的开发、维护过程中也起着重要的作用。在指导学生毕业设计时,要求学生遵照软件工程的思想,把文档作为整个设计的指挥棒,记载设计过程的每一阶段完成的目标、任务及技术手段,建立健全毕业设计文档制度,确保毕业设计过程中的文献综述、译文、任务书、开题报告、选题审题表、中期检查表、设计(论文)正文、答辩记录等各环节教学资料档案完善、规范,实现对毕业设计的全程监控。 4结束语 软件工程是软件开发工程化、规范化的具体实施方法,将其应用到毕业设计中,不仅有助于学生对软件开发相关知识的巩固和实践,而且对解决目前软件开发类毕业设计中存在的问题,提高学生毕业设计质量,具有极大的促进作用。 作者:王晓 王长波 单位:湖北医药学院 公共管理学院计算机教研室 软件工程毕业论文:软件工程本科毕业设计策略 一、利用多方资源做好毕业设计选题与立题工作 恰当的选题是做好毕业设计的必要条件和前提。近年来,随着信息技术高速发展,国家对高素质软件工程人才需求十分旺盛,并有逐年扩大的趋势。同时各个高校软件工程专业的招生数量也在逐年增加,从目前全国319所设有软件工程专业的学校看,2013年该专业平均招生300人左右。专业招生人数的增多给毕业设计选题带来了带来巨大挑战:一方面软件工程专业的毕业设计选题要求具有一定的应用价值、创新性,同时还要与行业需求相吻合;另一方面要保证选题的唯一性,不仅要避免学生之间的题目重复,还要避免与之前毕业生的题目重复,因为重复的选题会使学生产生投机的心理,导致“打酱油”现象。针对上述问题,黑龙江大学软件学院主要采取了以下几个措施:1.充分利用企业资源,对一部分在企业实习的学生采取“三位一体”的双导师指导模式。即企业项目为载体,学生为主体的模式,校内和校外导师为主导。这部分学生一般是在大三下学期暑假就已经进入企业实习,而我们每年毕业设计选题工作是在十一月末,也就是学生进入企业实习后三到四个月的时间,学生经过企业阶段的培训,对企业的生产过程、企业文化有了一定的了解。此时,学院组织校内外导师和学生共同协商,以企业项目或子项目为学生确定毕业设计选题。2.充分发挥导师的资源优势,学院大部分教师都有自己的科研课题,这些科研课题有些是直接来源于企业的横向课题,还有一些是信息技术领域的应用研究课题,我们鼓励教师从这些课题中提取出一些子项目让学生实践,作为毕业设计的选题。3.充分挖掘学生的专业技术特长和兴趣点并结合学生的择业倾向,确定最能发挥自身优势和潜能的选题。毕业设计的选题不仅要与实际需求相结合,更重要的是应该结合学生自身的技术优势和兴趣。只有学生对选题有兴趣,他们才能尽早地进入状态,发挥自己的创造能力和积极主动意识。所以,选题阶段导师和学生的沟通交流就显得尤为重要,通过沟通导师可以了解学生的能力、兴趣和择业倾向,学生也可以对选题,有进一步的认识,对于不感兴趣的选题学生也可以通过与导师进一步的探讨进行题目的修订。 二、注重环节审查,加强过程监管 虽然“好的开始是成功的一半”,但是如果缺乏中间环节的监管,仍然不能保证好的效果[4]。因此,为保证毕业设计(论文)的质量,我们制定了明确的质量标准、管理条例,并由院长、学术委员会、系主任和教务办主任组成毕业设计(论文)工作委员会,负责毕业设计(论文)工作的组织、评定和监管,同时保证管理条例的严格落实及各个环节工作的正常进行。为健全毕业设计(论文)的监管机制,学院先后规范和完善了《毕业设计(论文)工作管理办法和实施细则》《开题报告》《开题评分标准》《中期报告》《中期检查标准》《毕业设计(论文)撰写规范及模版》《毕业设计(论文)盲审表》《答辩程序和评分标准》等一系列管理办法和文档标准,使毕业设计工作在制度和规范下能顺利有效地进行。每年毕业设计工作之初,我们都要给学生开一个动员会,在会上阐明毕业设计(论文)的重要性,以及毕业设计对他们未来工作的影响,调动他们学习的主动性、积极性和创造性。此外,系主任还要向学生介绍学院毕业设计(论文)管理办法和实施细则,各阶段的工作要求和时间节点,以及各环节检查的内容、需要提交的文档,使学生在毕业设计开始时能做到心中有数。同时,我们也要求指导教师随时解答学生的问题,坚持每周开例会,检查学生的工作完成情况,并提出一些有技术含量和理论深度的问题启发他们思考,激发他们的学习热情,并与学生一起确定后续任务。此外我们组织开题检查、中期检查,对开题检查成绩后30%的学生,不但检查中期报告,还要现场检查程序。对于中期检查不合格的学生,要求限期整改,如果仍然不合格则取消答辩资格。在答辩之前,我们还要对论文进行盲审,盲审不合格的学生不允许答辩,对有异议的论文要提交学术委员会做最后论证。虽然学院对毕业设计(论文)工作在各个环节上的审查都非常严格,但我们鼓励学生之间进行研讨交流,博采众长,相互提高,因为我们的目的不是抓出多少不合格的学生,而是想通过大学阶段最后的综合性实践教学环节训练,培养学生的学习能力、知识的综合运用能力、分析解决问题能力和沟通交流等综合素质。 三、严把答辩关,保证毕业设计质量 答辩是毕业设计(论文)考核阶段的最后环节,这个环节既是学院对学生毕业设计的验收和鉴定,同时也是学生对自己工作的总结和汇报。通过答辩,学生不仅展示了毕业设计工作的效果,更展示了自己的专业知识、技术水平和综合素质。作为教师,每年都要指导多个毕业设计(论文),而学生一生只能经历一次本科毕业设计,而且毕业设计答辩能否顺利通过,直接关系到学生毕业及学位资格的认定。因此对学生来讲,毕业答辩至关重要。这有点像外科医生与患者的关系:医生每年要做很多手术,对他们而言手术已是司空见惯,但对于患者本人,可能一辈子才上一次手术台,而且生命攸关。所以,我们要在毕业设计指导过程中,认真对待每一位学生。同时在毕业答辩中严格把关,保证质量,更要秉承“公开“”公正”“公平”的原则。我们的毕业设计(论文)答辩采用小组面试形式,每组由四位副高职以上教师组成,答辩流程如图1所示。答辩当天向学生公布成绩,毕业设计(论文)总成绩由开题成绩(10%)、中期成绩(10%)、指导教师成绩(10%)、答辩成绩(70%)构成。对于优秀的和不及格的学生,我们还会重新组建答辩组进行二次答辩。这是考虑到答辩组之间认同度的差异而导致评分标准出现偏差,可能有些答辩组打分会偏低,有的组打分会偏高,即各个答辩组评分信度不能达到一致。二次答辩可以有效地消减组间评分差异,从而使申报校优秀论文人选和未通过人选的确定做到公正、公平和有效。针对软件行业特点,我们通过强化实践教学环节,合理利用多方资源拓宽毕业设计(论文)选题途径、健全和完善毕业设计(论文)的监管机制等手段,确保了毕业论文质量的稳步提高。几年来,黑龙江大学软件学院的毕业设计(论文)质量受到校内外专家的一致好评,获校优秀论文比率一直位于学校前列。实践证明,加强毕业设计(论文)质量的监管,不但提高了学生工程实践能力、独立科研能力和创新意识,为学生进入工作岗位打下了良好的基础,进而也提升了学生的就业率。 作者:任美睿 金英 郭龙江 单位:黑龙江大学 软件工程毕业论文:论述软件工程的毕业设计运用 1软件工程在毕业设计中的作用 软件工程不仅是计算机科学与技术专业、软件工程专业的一门专业基础核心课程,也是其他相关专业,如信息工程、系统工程、信息与计算机科学、信息管理与信息系统等专业的重要应用技术课程。对于这些专业的学生来说,毕业设计多是以软件开发类项目为主,整个毕业设计就是开发一个软件。为了更好地完成软件开发类毕业设计,提高学生毕业设计的质量,进一步规范毕业设计中的软件开发过程是必需的。软件工程的思想正是用工程化方法构建和维护有效的、实用的和高质量的软件。按照软件工程思想,软件开发的生命周期分为可行性分析、需求分析、总体设计、详细设计、编码实现、软件测试和软件维护几个阶段。在学生的毕业设计中以软件工程的思想为主线,从软件工程的角度去指导学生进行毕业设计,挖掘软件工程在系统开发过程中的价值,解决毕业设计中存在的一些问题,既有助于学生更好地理解软件工程的方法、技术和思想,更有助于提高软件类毕业设计的质量。 2毕业设计中存在的问题 笔者在指导学生软件开发类毕业设计过程中发现,毕业设计存在着选题难、任务重、重视编码、轻过程、项目无法完成等现象。设计过程中没有严格地遵循软件工程的开发方法,没有规范的软件设计过程,项目能否成功主要依赖于个人能力和个人努力,这种不正确的开发方法带来了严重的后果。在项目开发的过程中常常存在以下几个方面问题: 2.1选题的盲目性 选题是毕业设计过程中的一个初始环节,选题恰当是做好毕业设计的前提,但选题不当的情况仍然时有发生。学生没有认识到毕业设计的重要性,纯粹是为了完成学业而做毕业设计,选题没有一个确切的目标,往往是随便选一个题目,造成选题的盲目性,出现了选题陈旧、选题范围狭窄、选题偏大等问题,使学生抄袭、完成不了毕业设计的情况时有发生。 2.2缺少软件的系统分析 软件开发过程的第一个阶段是系统分析,用来确定软件开发要解决的问题是什么?估算完成该项目需要的资源和成本,确定目标系统应该具备哪些功能,主要经历问题的定义、可行性分析和需求分析三个阶段。软件的系统分析确定了用户需求,同时对目标系统提出完整、具体的要求,引导开发者正确地构建系统。因此,对用户需求做出全面、正确的分析,对于最终软件开发类毕业设计的成败起着至关重要的作用。然而在完成毕业设计过程中,学生往往认为代码编写最重要,对软件开发过程中的可行性分析和需求分析阶段不重视,甚至没有系统分析,对整个毕业设计的完成造成了影响。 2.3软件设计过程杂乱无章 软件设计一般都要经历可行性分析、需求分析、总体设计、详细设计、编码和测试阶段。而部分学生在毕业设计开发的过程中,缺乏软件工程设计思想,跨越需求分析、概要设计、详细设计和功能模块设计,直接进行代码的撰写;或者从代码反推出模块设计;甚至在软件开发过程中,一边写程序,一边了解需求,程序完成了需求才确定。这种无序的软件设计过程,导致最终设计的系统杂乱无章、代码的重复率高、潜在?Bug多、系统的可集成性非常差、不能在规定时间内完成设计或者系统无法运行。 2.4开发过程中文档不完备 根据软件工程学的基本原理,软件=程序+文档,可见软件文档是软件开发过程中不可缺少的组成部分。软件文档贯穿于软件开发的各个阶段,是提高软件产品开发效率、规范软件产品开发过程、保证软件产品质量的关键。但在实际毕业设计中,很多同学认为把程序代码编出来了,毕业设计也就完成了,提交的毕业设计论文就是系统代码的复制,即只做出一个可演示可操作的系统,而忽略了软件开发的完整性、系统性。完整的毕业设计不仅包括可操作的系统,还包括在开发系统的过程中所产生的各个文档资料。文档的缺失会降低软件开发的效率、影响整个软件的开发、使用和维护。以上问题的存在,严重影响了毕业设计的进度和质量,没有达到毕业设计的目标要求。针对当前毕业设计的现状和存在不足,笔者认为应用软件工程学的思想指导毕业设计,对促进学生综合素质与工程实践能力培养具有积极意义。 3用软件工程思想指导学生进行毕业设计 3.1以可行性研究指导选题 可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。毕业设计题目的选择,应立足于解决工程实际问题,可由指导教师提供符合相关专业毕业设计要求的题目,也可以鼓励学生自己到社会、生产企业中寻求研究课题,培养他们自主学习的意识。选题过程以可行性研究为指导,从课题规模大小、难易程度、学生自己的研究方向、爱好、学生的知识层面和能力等多个方面进行考虑,对于选择的题目是否能够解决,确定在规定的时间内完成毕业设计的可行性。指导教师可根据学生选报的题目来指导学生对该选题进行调查研究,明确课题要解决的问题是什么,简要地写出关于问题性质、项目目标和项目规模的书面报告。可行性研究来指导毕业设计的选题,实质上是简化了系统分析和设计的过程,也是在较高层次上以较抽象的方式进行的系统分析和设计的过程,使学生对于课题的设计有个清晰的思路,为及时完成毕业设计提供了可能。 3.2重视软件的需求分析 需求分析的基本任务是准确地回答“系统必须做什么”,即确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求,不仅指明了系统设计时必须要实现的目标,也是软件设计、实现、测试和维护阶段的主要参考标准。用户需求的获取是软件开发中最重要、难度最大的工作,它贯穿于整个软件设计过程,不仅要涉及到软件开发方面的知识、应用领域方面的知识,还涉及到与用户沟通的能力。在进行需求获取和分析时,为了及时、准确地获取,可采用软件工程中比较成熟的方法,例如访谈、实际调查、UML的用例技术等。需求分析在软件系统分析与设计阶段起着桥梁的作用,确定了系统的需求,才能制定出软件设计的框架,保证毕业设计循序渐进、有条不紊地进行,避免后期开发过程的频繁返工,进而按时完成最终的任务。 3.3规范毕业设计过程 软件开发类毕业设计一般是开发一个软件系统,实现一定的功能。“麻雀虽小,五脏俱全”,无论软件规模的大小、功能的多少,都应该严格按照软件工程中软件生命周期每个阶段的步骤完成各项任务。要培养学生把软件工程的概念贯穿于整个毕业设计过程,也就是说,让学生把开发软件的过程看成是盖一栋大楼,修一条公路的实际工程,用工程化的思想指导毕业设计,确定完成课题的各项任务的工作步骤,注重软件类毕业设计的过程,而不是学生所认为的毕业设计就是编程序,代码调试通过即可。通过工程的概念规范毕业设计过程,让学生明白开发一个软件系统一般经过系统分析、系统设计、系统实施三个阶段,必须严格遵循软件生命周期的规律,完成各个阶段的任务,才能最终提高毕业设计的质量。 3.4重视文档的写作 软件工程中的瀑布模型严格地规定了在整个软件生命周期的各个阶段,都要提交相应的文档。文档不仅记录软件开发过程中的大量信息,在软件的开发、维护过程中也起着重要的作用。在指导学生毕业设计时,要求学生遵照软件工程的思想,把文档作为整个设计的指挥棒,记载设计过程的每一阶段完成的目标、任务及技术手段,建立健全毕业设计文档制度,确保毕业设计过程中的文献综述、译文、任务书、开题报告、选题审题表、中期检查表、设计(论文)正文、答辩记录等各环节教学资料档案完善、规范,实现对毕业设计的全程监控。 4结束语 软件工程是软件开发工程化、规范化的具体实施方法,将其应用到毕业设计中,不仅有助于学生对软件开发相关知识的巩固和实践,而且对解决目前软件开发类毕业设计中存在的问题,提高学生毕业设计质量,具有极大的促进作用。 作者:王晓王长波单位:湖北医药学院公共管理学院计算机教研室 软件工程毕业论文:开发编程的软件工程毕业策划研讨 1组织方式 实际上,上述选题机制是将分散的毕业设计引导形成基于团队的角色学习环境,学生在教师的统一带领下,对项目进行设计并划分模块,独立负责不同模块的开发,并且在教师的指导下,充分体验不同模块之间的沟通和集成问题,使学生能够贴近企业项目开发的实际情境,体会到实际项目身临其境的感觉,从而提高毕业设计对于毕业生的锻炼价值和质量。 敏捷宣言认为人和交互胜过过程和工具。以此原则为指导,在毕业设计实施过程中,要求学生组内成员和小组之间加强交流沟通,对于毕业设计过程中产生的文档,要求学生着重记录交流过程,而非交流结果。敏捷宣言认为客户合作胜过合同谈判,意义在于业务人员应该参与到项目开发的整体过程中,达到整个项目开发团队能够把握项目开发方向。对于软件工程毕业设计来说,意味着在选择毕业设计所涉及到的项目原型时,应尽量贴近学生实际,例如选择教务管理系统、教学管理系统、图书管理系统等学生经常接触和使用的应用系统,或是指导教学正在从事的横向或纵向课题。要求选择指导教学或学生自己能够扮演客户的角色,学生对于所开发的系统的需求了然于胸。 2管理方式 敏捷宣言认为可以工作的软件胜过面面俱到的文档,可以工作的软件是进度主要的度量标准。以此原则为指导,对毕业设计过程中要求撰写的文档可适当弱化,而是要求将项目程序代码保存到统一版本库,并保持版本库中的代码是可部署和运行的。极限编程的推荐实践方式认为对于项目开发应该尽早测试、经常测试、自动测试。在毕业设计的实施过程中,要求学生对于测试计划、测试用例及测试驱动开发(TestDrivenDevelopment,TDD)都有所了解,使用由学生指导教学编写的自动测试来监控开发进度,支持系统的演化,并尽早发现缺陷。上述管理方式就现阶段软件工程专业的毕业设计来看,实施比较困难,但应尽力发展,从而弥补现有人才培养方案中对于软件测试不够重视的缺陷。 极限编程推荐增量设计、开发和频繁重构。这也是毕业设计过程中应采纳的做法。对于一个指定的项目,要贯穿整个毕业设计过程,以各个阶段时间点为标志,要求学生以增量的方式来完善项目开发,在毕业设计过程中,要体现项目的渐进式开发,各个时间点都要求学生完成项目的相应部分,并且要求项目代码的主版本随时处于可部署、可运行状态,对于系统架构和代码结构等方面,可通过重构来优化。对于代码重构的的粒度和频率,可由指导老师根据实际情况具体把握,以模块化和符合软件设计模式等特征为参考依据。 3考核方式 鉴于以上组织和管理方式,在进行毕业设计(论文)考核时,应在传统的毕业答辩环节考核基础上,考虑以下因素:一是在毕业答辩考核时,要注重考查学生所写代码的功能,而不是形式上的开发文档。二是极限编程推崇结队编程(PairProgramming),因此,在毕业设计进行过程中要求学生不要局限于自己的毕业设计课题,而应该是两个人一起完成两个课题,双方都参与到对方的项目中去。在毕业答辩考核时,也应采取相应的考核办法,交叉检查学生的编码工作量。三是极限编程提倡短周期。也就是说,毕业设计过程中,应该交付多个可运行的系统版本(功能是递增的,但指定功能的版本是可用的)。因此,在毕业答辩过程中,要求学生就系统的多个可运行版本进行演示。总而言之,软件工程专业的毕业设计(论文)的考核,除了依据传统的毕业答辩考核标准之外,还需结合敏捷开发和极限编程的特点,综合考查编码协作、增量设计、测试驱动开发、持续集成等特征是否体现在学生毕业设计(论文)中。 典型过程及相关支撑工具 在确定指导老师和设计课题后,学生将展开毕业设计的具体过程,根据以AD和XP为指导思想的典型毕业设计过程,具体过程如图1所示。以上典型过程中的具体步骤,都有成熟的支撑工具可选用,使整个毕业设计过程实现信息化管理,其中项目管理工具可使用PivotalTracker,测试管理工具可使用MercuryQualityCenter,自动测试可使用开源集成测试环境,如Jenkins,代码管理工具可使用VisualSVN(服务器端)和TortoiseSVN(独立客户端)及SubclipseSVN(IDE集成客户端)。 软件项目管理工具PivotalTracker是由公认的敏捷软件开发老大PivotalLabs开发的基于故事、简单、有效、敏捷的软件项目管理工具,适用于各类型的项目,并通过敏捷项目管理的理念让项目能够有条不紊的进行,使项目的开发效率大大提高。操作界面如图2所示。 测试管理工具MercuryQualityCenter提供了基于Web的,可在广泛的应用环境下自动执行软件质量测试和管理的功能,使IT团队能够在开发流程完成前就参与应用程序测试。这样将缩短时间表,同时确保最高水平的质量。操作界面如图3所示。版本库管理工具SVN是用于实现对代码、文 件等的修改、删除、增加等操作进行记录,并且可以追溯每个修改细节的通用工具,它基于C/S架构,需要服务器和客户端软件,其中SVN服务器可以使用VisualSVN,独立客户端可使用ToitorseSVN,而IDE集成客户端可使用Subclipse。 结语 软件工程专业毕业设计具有鲜明的实践特征,需要具体的实践原则做为指导来提升毕业设计(论文)的质量。我们引入敏捷开发和极限编程的相关原则,构造软件工程专业毕业设计的具体实施过程,并将其应用于实际教学过程中。下一步工作将对于这一全新的探索和尝试,在实践过程中针对具体出现的问题进行改进和完善,使这一毕业设计模式更加适用于软件工程专业,并在条件成熟时向计算机相关专业推广。 作者:曾志浩肖小克单位:湖南工业大学计算机与通信学院 软件工程毕业论文:软件工程毕业策划的管制方案探新 规模使得精细化指导与管理变得困难 原有毕业设计环节管理由于参与指导的教师人数相对较少,每名教师指导的学生也不多,而且所有教师均为本系教师,大家彼此非常熟悉,在一起教学研讨的时间也很多,所以大家对各环节的要求及约定比较容易统一,对每个学生的指导时间也较多。但随着参与指导毕业设计教师数量的提升,指导学生数的增加,特别是聘请了外系教师的支援,原有会议讨论式、心理记忆式的约定及规则已经不能适应管理要求。这就必然要求规范毕业设计环节的管理,统一考核指标,让大家在一个统一的框架下实施毕业设计的指导与考核。 软件过程及评价主观性强 软件及开发是个主观性强,知识、劳动密集型工作,同一个项目或任务,由于每个人项目经历、经验的不同,不同的人所得出的满足需求的合格产品是肯定有区别的,但在质量、灵活性、可扩充性方面可能存在很大差别。同时,对于软件产品,不同人会有不同的评价,具有强主观性的特点。这种强主观性使得对毕业设计的评价难以用客观的量化的评价指标和体系进行度量,对教师间把握统一的考核尺度制造了困难。 师生面对面交流机会越来越少 由于就业形式的变化,各本科院校的培养模式也作了一定的改变,为了让学生能更方便的外出找工作,更早的接触社会,大部分高校第八学期除了毕业设计,基本上就没有其他的教学任务。重庆理工大学也存在类似情况,在第八学期,大部分学生没有待在学校,有的在外联系工作单位,有的提前到单位实习,甚至有的以在外找工作为借口待在家里,学生的分散性使得教师和学生之间面对面交流的机会少之又少,给毕业设计环节的指导和管理工作带来了难度。 选题类型趋于多样性 为了培养学生层次、方向的多样化,软件工程专业的毕业设计不仅只有传统的系统分析、设计与开发类的题目,还涉及论文类及算法类等类别。根据对前几届毕业设计环节的综合统计,系统分析设计开发类选题所占分量最多,占70以上。由于不同题型的毕业设计需要应用的知识、实施过程、考核重点都存在很大差异,不同题型之间的考核没有对比性,因此需要针对不同的选题类型制定相应的考核指标和评价标准。 现有管理中存在的问题 毕业设计是一次综合锻炼学生应用所学知识解决问题能力的过程,涉及的环节比较多,存在的问题也不少。综合分析,存在以下三个典型问题: 1历史题目重复率高,抄袭现象难以控制 每年都有几个班的学生毕业,毕业设计都要实施。在纸质时代,抄袭成本大,抄袭源也比较难找到,因此抄袭现象相对较少,不同届学生的题目相同并不会影响毕业设计质量。然而,随着互联网技术在给广大民众带来方便的同时,也给学生的偷懒提供了契机。由于大部分学生在外实习,教师很难有效的监督学生,有相当一部分学生考虑到自己毕业后不从事软件开发等相关工作或工作比较忙,不愿意投入时间好好地完成毕业设计,而是从互联网抄袭,甚至通过互联网购买。 2学生对考核的公正性存在质疑 由于参与综合实践环节的学生人数和指导教师规模越来越大,综合实践环节在进行质量考核时必然要进行分组。由于大家没有统一的考核指标体系及标准,同一水平的毕业设计处于不同考核小组,可能得出截然不同的成绩;甚至有指导教师认为较好的论文在答辩时被判为不及格现象。造成的严重后果是学生对论文评审、答辩过程公平性的质疑,对学校的声誉带来不良影响。其原因是由于不同教师间、各不同小组之间缺乏一个统一的评判标准,分组的不均匀分布而导致了评审的不公平性。 3学生难以获取实际需求 由于学生人数众多,只有少部分学生能参与到教师的实际科研项目中,大部分学生只能以虚构的题目为背景,没有具体的企业为依托。因此,很获取项目的具体而详细的需求,学生所完成的也只能是一些通用功能的系统,系统业务逻辑比较简单,甚至基本没有业务逻辑,仅仅是简单增加、删除、修改等功能的拼凑,不能真正体会到系统分析和设计的内涵。 软件专业毕业设计管理对策 软件工程专业毕业设计管理是很多高校都比较棘手的问题,也有不少教师已提出了一些很好的策略。根据对多年毕业设计执行情况的分析与总结,作者认为软件工程专业毕业设计管理和考核中存在众多问题的主要原因有以下三点:重结果轻过程的考核方法;缺乏统一的考核评价体系;管理过程不规范,随意性大。因此,本文主要从建立量化考核指标体系、规范毕业设计过程管理和其他一些辅助策略进行探讨,如图1所示。 1建立量化考核指标体系 建立量化考核指标体系包括细化考核指标和建立考核评价体系两部分。考核指标体系是一把双刃剑,它除了可以对学生的毕业设计过程和结果进行考核外,也给学生提供了完成毕业设计目标的指导。在实际操作中,将对毕业设计的考核从过程检查、评阅、答辩等几个环节进行考虑,各环节又有细分指标,如论文选题、工作量、分析设计,程序运行、系统界面、论文结构、熟悉程度等,用权重表示指标的重要性程度,每个指标有几个不同得分等级,每个等级对应一个可参考的评判标准,从而将以前的主观考核变为根据指标进行量化计算,有效地减少人为因素对评价的影响。 2规范毕业设计过程管理 传统的考评方式重视对结果的考核,缺少对过程的考核,大多数学生在进行实践环节任务时,没有一个良好的系统分析、设计、开发习惯,完全是“灵感触发”式的完成的,因此最终提交的往往是低劣的文档或代码。软件产品是知识密集性产品,实践证明,有效的过程管理是生产出好产品的一个必要条件。因此,必须规范毕业设计的课程管理,借助于3.1节建立的考核体系,对过程中的开题、需求文档、设计文档等关键环节进行考核,使学生在完成毕业设计的每一步时有明确目标的指导,通过过程的管理促使学生完成高质量的毕业设计成果。为了减少人为因素的影响,有必要建立毕业设计过程管理及控制系统,用管理信息系统规范毕业设计的过程管理。 3采用团队培养模式 系统分析与设计的能力是软件工程专业学生需要培养的一项最主要能力,而简单的系统开发或项目由于功能简单、业务单一,对锻炼学生的系统分析和设计能力作用不大。因此,可以采用多名学生组团共同完成一项较复杂系统的方式,每名学生负责其中的一部分,学生之间通过对复杂点的业务逻辑的讨论来提高系统分析和设计的能力,通过团队合作来了解项目管理与软件工程方法的精髓。 4与企业合作指导 由于企业面对的都是实实在在的项目,有自我学习的环境氛围和压力,在培养学生动手实践能力方面有其独特的优势。在企业,每天都有相应的任务,在完成任务过程中,必然会碰到各种类型的问题,会寻求问题的解决方法,在解决问题的过程中很自然地就提升了自己的能力。这种任务驱动的学习方法和实际项目环境下的压力在学校是很难提供的。近些年来,学院也在加强与企业的合作,在有条件的情况下尽量派学生深入到公司、企业进行实习,已签约的学生也可以提前到签约企业工作,以企业的项目来完成其毕业设计环节,实现企业、学校共同指导的方式。 结束语 毕业设计环节由于实践性、综合性强,涉及知识点多,其管理与考核一直是让人头疼的问题。论文描述了重庆理工大学软件工程专业毕业设计环节的背景和现状,指出了软件工程专业毕业设计质量难于管理和考核的特点。通过对近几年毕业设计开展情况的总结与分析,发现了毕业设计质量难于考核和控制的具体原因,并指出当前毕业设计管理和考核所存在的问题,最后提出了解决这些问题的一些具体实施策略。结果表明,策略的实施对毕业设计过程的管理及考核答辩工作有较大的作用,学生毕业设计质量有了显著的提高。 作者:刘智王森闫河单位:重庆理工大学计算机科学与工程学院 软件工程毕业论文:软件工程思想在应用型高校毕业设计中的应用 摘要:针对地方应用型本科高校计算机软件类毕业设计质量不高的问题,对毕业设计中存在的问题进行分析,并结合软件工程的基础理论,提出利用软件工程思想对计算机软件类毕业设计进行指导,以提高地方应用型普通本科高校毕业设计的质量。 关键词:软件工程;毕业设计;应用 一、引言 毕业设计是本科毕业生在校期间的最后实践和综合实训阶段,是实现本科教育培养目标的重要组成部分,是深化、拓展、综合应用所学理论知识的重要过程;也是综合素质与工程实践能力培养效果的全面检验;是学生毕业及学位资格认定的重要依据;是衡量高等教育质量和办学效益的重要评价,是对专业理论知识和专业技术综合应用能力的强化训练和提升[1]。在毕业设计的过程中,学生利用所学专业理论知识,通过了解社会,分析社会需求,深入实践,完成毕业设计的任务和撰写毕业论文(设计)报告等各个环节的工作。对于地方应用型普通本科高校而言,毕业设计就相当于一般高等学校的毕业论文,但是毕业设计不同于毕业论文,它的组成部分不只是一篇学术论文。应用型高校的毕业设计注重的是“应用性”和“实践性”,学生毕业设计要求学生针对某一课题,综合运用本专业有关课程的理论和技术,自己动手动脑做出解决实际问题的设计。目的是总结、检查学生在校期间的学习成果,是评定毕业成绩的重要依据。同时,通过毕业设计,可培养学生开发项目的基本综合能力,为学生就业能力中的专业能力奠定坚实的基础;培养综合运用已有知识独立解决问题的能力,从而加强学生应用能力的培养,使学生能够学以致用。 二、地方应用型普通高校计算机相关专业学生毕业设计的现状 近几年来,由于学校对毕业设计要求不断提高,学生从选题到设计再到写出毕业设计报告的过程中总存在这样那样的问题,最终有个别同学没有顺利通过毕业设计,没有拿到毕业证和学位证的情况时有发生,并且大多数毕业设计的水平不高,达不到培养学生独立解决问题和提高学生应用能力的目的。因此,如何指导学生做好毕业设计,提高学生毕业设计水平和质量,是地方应用型普通高校面临的一个重要问题。 (一)毕业设计选题现状最近几年,我校计算机相关专业毕业生自进入大四秋季学期开始,在进行毕业实习的同时,也进入了毕业设计准备阶段:毕业设计选题,虽然毕业设计选题过程中,各级领导、指导教师和学生在态度是都很重视,但是在选题时也会存在很多的问题,主要有以下三个方面。1.选题不够准确。部分学生选题未经深思熟虑,所选毕业设计题目要实现的功能太多,在规定时间内不能独立完成,而最终只能实现部分功能,或部分模块。 2.题目相似或重复雷同。学生选题存在浑水摸鱼的思想,在毕业设计选题过程中不是根据自己的兴趣爱好、专业知识学习情况等确定研究选题,而是选择与他人类似或雷同的选题,甚至同一批毕业的许多学生选题一致。比如:“XX管理系统”等,除了可能冠以的系统名称不同之外,其余基本相同。 3.应用价值低。部分学生的选题是当前十分成熟的项目,没有研究的必要;有些选题已经被淘汰,在实际生活和工作中没有多大用途。 (二)毕业设计需求分析阶段现状 通过调查,许多学生选题完成后,没有对自己所做毕业设计选题进行仔细了解、分析,他们认为在毕业设计中最重要的就是编程,其他方面一带而过[2],从而造成毕业设计过程中主题经常进行修改,最终使得整个系统杂乱无章,无法继续进行下去。因此学生在毕业设计的需求分析阶段主要有以下三个方面的问题。 1.选题后未进行实际调查研究,甚至未查找相应的参考文献。 2.需求分析进行得不彻底、不准确,即使选题后查找了参考文献和资料的,也未做充分了解和分析。 3.在需求分析阶段没有写出需求规格说明书或系统分析报告就匆忙进入系统设计阶段,导致随着系统设计的逐步深入,原来确定的需求不能满足毕业设计的需要,正在进行的设计与开始的期望和设想又不相符。 (三)毕业设计系统设计阶段现状 在系统设计阶段,普遍存在以下两个方面问题。 1.由于需求的不明确,在进行系统设计时,修改随意,没有严格按照软件开发的步骤进行。好多学生在进行系统设计时并没有建出相应的功能模型,不管是用例图还是DFD图都没有,而且系统设计过程中功能随意变换,并且各功能模块的层次结构不清晰,使得整个系统的功能模块划分凌乱,不符合软件设计中“高内聚,低耦合”的原则。 2.在软件设计过程中,不先进行概要设计、详细设计和模块设计,没有软件的过程性描述,直接进行编码,存在想到哪里就做到哪里,走到哪儿算哪儿的随意思想[3],当前内容没有做完便开始其他内容,使得整个系统设计杂乱无章。在这样的一种研究状态下,即使完成了设计,效率也非常低下,软件结构混乱,功能实现不完全,降低了软件设计的质量。 (四)毕业设计实现阶段现状 通常把编码和测试统称为实现。在进行软件设计后,就可以根据设计结果来实现,将软件的过程性描述编码,得到计算机可以运行的源代码。在实现阶段主要有以下几方面的问题。 1.编码随意。学生在编码的过程中,不注意编程风格的把握,导致程序的可读性、可理解性、可修改性等较差,在答辨的过程中,要求指出某个功能模块的代码时,经常要花费很多时间才找得到。 2.测试和调试可有可无。大部分学生在毕业设计的软件编码完成以后,从没有想过进行完整的系统测试,或者只对个别功能进行测试或是随意测试,没有按照测试步骤逐步进行;基本没有单元测试和集成测试,一般只是最终随便输入几个数据简单检测一下,如果有错,修改了就算完了;也没有进行回归测试,没有测试计划,没有想过用什么测试技术来检测某一类型的错识,没有相应的测试用例,也没有测试结果分析。由于学生毕业设计都是一人一题,基本上是一个人完成所有步骤,就算有测试,在测试阶段也是自己进行测试,从心理学的角度来说,自己对自己开发的软件进行测试是不可取的。由于前面阶段的文档不完善,也不重视测试过程,不清楚是否实现了系统最初设计的功能,是否达到相应的性能要求,总以为程序做出来后毕业设计就完成了,使得毕业设计经常在更换运行环境或答辩时发生错误和问题,从而使得设计得不到好评甚至无法通过。 (五)毕业设计应用现状 最近几年,我校计算机相关专业毕业设计投入使用数量接近于零。究其原因主要是由于设计不完全,未进行测试和调试,存在的错误和缺陷较多,文档和数据不完整,导致所开发的系统或软件不能方便地转让、变更、修正、扩充和使用,也没有为后期培训、维护留下完备的资料;因此,不能投入到真正的使用过程中,也不能实现系统或软件产品的效益。 三、软件工程思想的应用 软件工程(SoftwareEngineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程中的软件生命周期是一个软件从软件定义、开发、运行和维护,直到最终被废弃的整个过程[2]。地方应用型普通高校计算机相关专业学生毕业设计基本都是开发一些中、小型应用系统或软件,因此,学生毕业设计也要经历软件生命周期各个阶段,严格遵守软件工程的各个原则,这样有助于解决毕业设计中存在的问题,提高毕业设计的质量。通过对应用型普通本科高校计算机相关专业的学生在进行毕业设计的过程中存在的问题进行分析,在毕业设计的过程中,必须运用软件工程的观点、技术和方法来指导毕业设计,这样既节约了毕业设计的时间和学生的精力,也能做出最优质的毕业设计。 1.选题过程中的应用。毕业设计选题就是软件生命周期的问题定义中的问题提出阶段,选好题目是进行深入研究的基础,也是写出高质量毕业论文的前提。地方应用型普通本科高校计算机相关专业的毕业设计选题必须做到以下几点:(1)必须在对选题做了充分调查、分析,对检索的参考文献、资料有了整体把握的基础上提出。(2)必须符合本专业培养方案规定的培养目标的要求。(3)以选择工程性较强的课题为主,确保有足够的工程性训练。(4)要有明确的设计成果,对于较大型任务的课题要明确阶段性成果。(5)要达到规定的工作量,难易度适中,确保能在规定的时间内完成整个课题工作。(6)要围绕生产生活实际,所选题目一定具有一定的理论意义和实践意义,具有一定的价值。(7)原则上一人一题,对于较大型任务的课题,每个学生必须有独立子课题。结合以上几点,分别从专业基础、现实意义等方面进行全面分析,进行取舍,最终得出选题。 2.开题过程中的应用。在毕业设计的开题过程中,需要明确所选题目的选题依据(包括选择课题的背景、选题研究的理论及实践意义)、选题研究现状(包括目前国内外对本选题的研究情况和有待解决的问题)、研究内容与方法,而这些就是软件工程中需求分析阶段应该做的事情。需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作[3]。因此开题过程中最重要的是进行需求分析,需求分析具有决策性、方向性、策略性的作用,在软件开发的过程中具有举足轻重的地位。需求分析完成的好坏直接影响后续软件开发的质量。开题过程中需要指导学生大量地阅读相关的研究资料,同时根据资料进行分析研究,对当前毕业设计的研究进度做到心中有数,明确毕业设计的具体方向,写出毕业设计的研究内容与方法,得到相应的设计提纲,解决好设计什么,如何设计的问题。因此,应用好软件工程的思想来指导毕业设计的开题是至关重要的。根据学校对学生毕业论文的要求,在计算机相关专业的毕业设计报告中,要求要有数据流图、数据字典等相应内容,而软件工程中的数据流图(DataFlowDia-gram,简称DFD),它是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。它是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理[3]。因此,在这个阶段,要指导学生按照DFD图的要求,确定设计的功能,然后根据系统分析结果写出分析报告,就得出毕业论文中系统分析阶段的初始文档。 3.在实践研究环节的应用。根据需求分析(开题阶段)的结果进行软件的概要设计和详细设计,注意在设计过程中要严格按照软件工程对于设计阶段的指导原则来进行设计。将概要设计阶段需求分析得到的DFD转换为软件结构和数据结构,即是根据需求确定软件和数据的总体框架,设计出软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。然后再进行详细设计,设计出每个模块的实现算法、所需的局部数据结构,并且对每个模块写出过程性描述;为每个模块设计出一组测试用例,在进行测试时就以此测试用例来进行测试。详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后将根据这个“蓝图”写出实际的程序代码。因此,指导教师要对学生的设计过程进行监督和指导,防止学生盲目的进行编码。 4.在实现阶段的应用。在编码的过程中,要注意编程风格的把握,编程的风格在很大程度上影响程序的可读性、可测试性和可维护性。在测试阶段,可以进行交叉测试,即学生之间可以两两交叉,相互测试,以更好的达到测试效果,同时也培养了学生的团队意识和合作意识。在测试过程中要注意运用软件工程的测试原则和测试思想,严格按照单元测试集成测试确认测试系统测试验收测试的测试步骤进行,利用白盒测试技术进行单元测试,黑盒测试技术进行其他测试,并且在找出错误并修改后要进行相应的回归测试,确认修改了错误并且没有引入新的错误,这样有利于找到软件中的各类错误,提高软件的质量。因此,在软件的测试过程中,一定要严格按照软件工程中的测试原则来进行,不可随意进行测试,并且要注意测试文档资料的收集整理,要有相应的测试计划和测试报告。对学生的创造性的思维和想法,指导教师要给予支持,积极引导,鼓励学生大胆创新,用应用型人才培养目标来要求学生,保证高质量的毕业设计的完成。 5.在毕业论文(设计)报告方面的应用。对于应用型普通本科高校计算机相关专业的毕业设计而言,不单单是完成了一个系统的设计,还要有相应的设计报告,而设计报告的编写过程中,很多学生存在文字表达能力不强的现象,为了完成报告,就有可能会抄袭,特别是在软件开发的各个阶段文档材料不全的情况下更为严重。因此,在学生进行软件开发的各个环节中,指导教师都应该按照软件工程的观点来进行指导,并要求学生在各个阶段都完成相应的文档。这样在毕业设计报告撰写的过程中,只要将各个阶段的文档进行合并、整理就得到相应的设计报告,并且是一篇重复率不高的高质量的设计报告。6.在毕业设计实际应用方面的应用。因为学生在整个系统或软件过程中均按软件设计规范准备了文档和进行了完整的系统测试,从而为系统或软件的专利申请提供了充分必要的资料,并为毕业设计的实际应用打下良好的基础。 四、结语 计算机相关专业学生的毕业设计在学生的整个大学生活中具有极其重要的地位和作用,根据应用型普通本科高校人才培养的定位,主要是培养学生的独立思考能力、动手能力和应用能力。通过对软件工程思想在计算机相关专业学生毕业设计的过程及方法中的应用研究,逐步实现学生毕业设计的实际成果转化,从而为应用型计算机相关专业人才培养提供相应的借鉴。 作者:龙亚 张仕学 余廷忠 单位:贵州工程应用技术学院 软件工程毕业论文:软件工程专业毕业设计论文 1概述 在应用型本科院校中,尤其是软件工程专业,毕业设计作为教学计划的重要组成部分,是实践教学中的最后一个环节,也是对学生在校期间所学知识的一次综合、全面的总结、应用和提高。由于毕业生数量的不断增加和软件行业的迅猛发展,导致就业门槛越来越高,就业压力也越来越大,通过毕业设计过程中的训练,能有效提高学生的工程应用能力,使学生得到一定的实践经验,有利于学生从学校向工作岗位的平稳过度。因此,毕业设计质量的好坏,不仅反映了一所高校的教学质量,也会直接影响到学生的就业竞争力和就业后的职场适应能力。 2存在的问题 1)思想认识上不够重视学生方面:有些学生存在完成任务式的应付心里,避重就轻,能简就简,敷衍了事。有些学生则只重视找工作而轻视毕业设计,不愿在毕业设计上花费太多时间和精力,甚至有些学生还以找工作为由,完全依赖于导师,向导师索要源代码,甚至花钱在网上购买来交差。已经找到工作的学生,更是认为毕业设计做的好与不好对自己没什么影响,对待毕业设计也更加心不在焉。导师方面:大多数指导教师除了要指导学生毕业设计之外,还要承担大量的教学和科研任务,在毕业设计指导工作上能够投入的精力和时间非常有限,致使有些导师对毕业设计的指导工作不太重视,对学生放任自流,不管不问,或者是直接将相关源代码发给学生,以“简化”指导工作。由于思想上的不重视,学生学习态度不认真,导师指导工作不到位,造成毕业设计流于形式,疏于管理,效果较差,使得学生白白浪费了毕业前的一次综合训练机会。因此,如何充分认识毕业设计的重要性,并进行相应的教学改革是软件工程专业毕业设计必须要面对并解决的问题。 2)时间安排上不够科学毕业设计一般安排在第八学期,这期间刚好是学生求职和考研的黄金时间段,由于目前就业形势的日益严峻,学生就业压力越来越大,当求职和考研时间与毕业设计时间发生冲突时,学生都会选择将主要精力投入到求职和考研上,有些还要去外地求职、应聘考试、面试等,毕业设计自然是无暇顾及。而且,学校方面,为了保证就业率,往往对学生毕业设计的质量也是睁一只眼闭一只眼,这又在无形中鼓励了学生消极对待毕业设计的态度,毕业设计质量下降也就成为必然结果。 3)题目设置上不够合理由于毕业设计在高校各类教学活动中是最具综合性和独立性的,相对于常规课程而言,对指导教师要求也就更高,尤其软件工程专业,工程实践性比较强,但每年真正来源于实际工程项目的题目所占的比例较小,很多题目都是虚构出来的,导致有些题目不是理论性太强,就是缺乏具体需求的支撑,使学生很难从毕业设计过程中真正领悟到真实的软件工程方法。而有些指导教师自己都没参与过实际的工程项目,本身就缺乏实践经验,对学生毕业设计的指导只是凭着自己的感觉来进行,缺乏系统性、整体性、科学性和严谨性,学生遇到问题后,难以得到及时的解决,导致抄袭现象时有发生,甚至有些学生直接照搬往届毕业生的设计成果。毕业设计的主要目的在于通过毕业设计的训练来提升学生对所学知识的综合应用能力以及创新能力,从而实现学生从学校到工作岗位的平稳过度。但由于题目设置上的不合理,题量太少,层次不清,导致选题匹配效果差。在选题时,部分能力差的学生所选题目难度太大,造成毕业设计很难完成,而有些能力强的学生所选题目难度过小,达不到能力提升的目的。 4)过程监管上不够到位众所周知,对于软件工程项目而言,过程控制与管理是项目执行的关注点,毕业设计也当如此。虽然学校也会在毕业设计过程中组织对各阶段的工作情况进行检查,但执行检查工作的不一定是专业教师,使得这种检查大多只是对指导老师所填写的各种表格和文档等表面内容进行检查,对毕业设计的过程起不到实际的监督作用,再加之有些学生在校外求职或实习等原因造成指导教师与学生无法定期见面和沟通不畅等问题,使得指导教师难以用软件工程方法对学生进行指导。毕业设计虽然启动较早,但实际上很多学生前期在毕业设计上很少投入时间和精力,只是在答辩前为了完成任务而赶工应付,这样的毕业设计质量自然也就不佳。 5)量化考核上不够严格毕业设计成绩一般由平时成绩+论文成绩+答辩成绩三部分按一定比例构成,平时成绩由指导教师自行把握,论文成绩则由其他有经验的教师进行评阅,答辩成绩由答辩委员会老师按照相关评分标准打分并取平均分,这样虽然基本可以保证成绩的公正性,但成绩构成太简单,未显示地将开题报告、文献翻译、分析和设计过程以及总结等纳入到考核范围,对毕业设计的前期和中期工作没有约束力。在成绩评定时,有些导师要求不严,采取宽容迁就的态度。答辩时,通过门槛较低,造成大部分学生仅以答辩及格为目标,在思想上不重视,答辩准备工作不扎实。同时,学校为了提高学生毕业率,在最终答辩时,对毕业设计的质量要求也有所放松,这也是导致毕业设计质量难以保证的一个重要原因。 3采取的对策 时间安排上,可以提前启动毕业设计工作,将原来的第八学期开始提前到第六学期中后期,此时学生已经学完大部分课程,具有了一定的知识基础,而且学生都在校,可以随时与导师见面,指导教师也有充分的时间对毕业设计项目随时跟进,随时指导。导师资格审查上,对于软件工程专业来说,学生毕业设计的导师,应该由长期从事实际工程实践或者有较好科研成果的“双师型”(双师即“教师”、“工程师”)教师来担任,也可以聘请校外科研单位或企业中水平较高的工程师来担任企业导师,这样不仅可以减轻指导教师短缺的压力,也能促进指导教师队伍多元化模式的形成。题目设置上,要求题量要充分,使得水平层次不同的学生都能选到合适的题目;难度和工作量要适中,且要有一定的创意,使学生通过毕业设计的训练,在综合应用能力和创新能力上都能够得到有效的提高。有课题的指导教师要尽量结合自己的课题来设计题目,没课题的指导教师可以从与学校有合作的企事业单位中获取有实际意义的题目。鼓励学生根据自己的兴趣点和就业取向自拟题目,允许学生到实习企业中根据企业的实际工程需要选题和实施毕业设计,这样既能解决实际问题又可完成毕业设计。过程监管上,首先要在指导教师和学生之间建立有效的沟通联系机制和问题讨论的例会制度,充分发挥指导教师的引导作用,在毕业设计过程中,坚持每周师生沟通一次。学生提出问题,指导教师引导和总结,鼓励学生发挥主观能动性和创造力。同时,学校要成立由领导牵头、具有一定工程实践经验的专业技术人员组成的督导组,对毕业设计过程包括选题、开题、中期检查、答辩和成绩评定等各个环节实施有效的监控和督导,加强管理学生的同时也要加强对指导教师工作质量的检查,确保毕业设计工作能够有序、有效的实施。量化考核上,要对毕业设计从前期的开题、文献查阅,到中期的分析、设计、实现,再到后期的总结等各个阶段的进行量化考核,前一阶段的成绩考核不合格者,不能进行下一阶段工作,必须加以整改,直到整改合格后才能进入下一阶段。对于未能按要求如期完成毕业设计的可以推迟答辩,对于首次答辩不合格的可以进行二次答辩,仍不合格的,可以缓发毕业证。只有建立严格的考核制度,才能对学生有约束力,让学生从思想上重视毕业设计,进而保证毕业设计的质量。 4结束语 软件工程是一个实践性很强的专业,软件工程专业的毕业设计作为大学四年学习的总结,是学生从学校跨入社会前仅有的一次大检验,它不仅检验了学生对所学知识的综合应用能力和学生的综合素质,同时也检验了学校的培养模式和教学质量。毕业设计质量的好坏,不仅关系到软件工程专业的培养目标,也关系到学生的就业率与就业质量。因此,在就业形势日趋严峻的情况下,软件工程专业毕业设计的教学改革也要适应就业市场需求,紧跟行业发展变化,与时俱进。 作者:张华 单位:南阳理工学院 软件工程毕业论文:软件工程毕业设计改革实践 一、软件工程专业毕业设计存在的主要问题 (一)毕业设计题目设置与选题方面 题目设置不合理,类别与层次不清晰,选题匹配效果差[2]。学生的毕业设计课题一般都按照指导老师的研究方向和实际工程项目提供,但每年真正来源于工程实践题目比例较少。部分题目理论性强,学生根据所学知识不能很好理解;部分题目开发工具复杂,占用了毕业设计的大部分时间。在选题时可能导致学生想选的题目选不上,能力差的学生所选题目难度大,影响学生的积极性,导致选题效果差,造成毕业设计很难完成。 (二)毕业设计过程监控方面 毕业设计监控工作实施困难,效果较差。软件工程专业毕业设计一般包含选题、开题、中期检查、程序测试、撰写毕业论文、答辩、成绩评定。但对这些环节的监控有时候会形成空白带,毕业设计不在实验室进行,有的学生在实习单位实习,有的学生在外地找工作,老师不能定时与学生见面,老师无法了解学生的具体情况,且学生提交的各阶段文档流于形式,只有指导教师在进行监控,未形成完善的监控体系,导致监控不到位,监控效果较差[3]。 (三)毕业设计论文答辩方面 答辩考核方法单一,答辩仅由学生的讲解和老师的提问两个环节组成,考核准确度低。答辩通过门槛较低,答辩只对学生的毕业设计进行排名,一般排名在最后的学生才可能不及格,不利于提高学生毕业设计积极性,造成大部分同学仅以答辩及格为目标,思想上不重视,答辩准备工作不扎实。再由于软件工程专业特点,毕业设计软件作品评分标准难于量化,考核具有一定难度,也造成答辩效果不好。同时为了提高学生毕业率和就业率,毕业答辩的质量控制有所放松,直接导致了软件工程专业毕业设计质量难以保障。 二、软件工程专业毕业设计的教学改革 针对上述各项实际问题,主要进行的相关工作具体如下: (一)合理设置毕业设计题目,动态选题 依照软件工程专业的以市场需求为导向,培养应用型软件工程人才的培养目标,在毕业设计题目设置环节,紧紧围绕工程实际型、创新项目型、竞赛题目型、科研项目型等类型进行题目设置,以适应市场动态需求。同时着力避免在毕业设计题目中设置虚拟型题目、理论研究型题目、综述型题目、分析设计型题目等。在选题过程中,通过毕业设计管理系统(如图1所示)进行多轮双向动态选择,动态调整题目各项技术参数以保证学生能选择一个适合自己能力且能有利于自己以后工作的题目[4]。这样,在选题之后,每个指导老师就可以根据学生不同能力进行分别指导,使不同能力的学生都能够运用其所学知识解决工程实际问题,都能够通过毕业设计增强工程实践能力、工程设计能力与创新能力。近四学年软件工程专业毕业设计各类题目汇总。 (二)毕业设计过程实行三级监控管理机制 学校成立以主管副校长为组长的毕业设计工作领导小组以加强毕业设计宏观调控,学院成立以教学副院长为组长的毕业设计工作领导小组以加强毕业设计协调与监控工作,软件工程专业成立以专业负责人为组长的毕业设计工作小组落实并实施毕业设计各环节具体工作[2]。具体参见下图2。在实现毕业设计过程管理的三级管理机制的同时,为保障毕业设计工作质量,软件工程专业要求所有指导教师必须具有中级以上技术职称或硕士以上学位且有一定工程实践经验,具有较高教学、科研水平和创新能力,师德良好,工作态度认真负责。在每年的毕业设计指导工作开始前都对指导教师进行资格审查,择优任用,且每位教师指导的学生不超过6人,以保证指导教师对学生的充分指导[5]。 (三)毕业设计过程量化考核 以往软件工程专业毕业设计成绩通常由三部分组成:一是学生的平时表现由指导老师把握;二是学生的毕业论文成绩。由专业其他指导老师进行评阅;三是现场答辩成绩。由所在组的指导教师按照相关评分标准打分并取平均分。这样基本能够保证毕业设计成绩的公正,但是由于只有毕业答辩环节具有约束力即答辩未通过则总成绩不及格,其他环节不具约束力,因此造成毕业设计前期、中期工作流于形式,前期、中期阶段提交的文档趋于应付、质量不高,最终导致毕业论文质量较低[6,7]。为此,软件工程专业经过几年的探索与实践,实施了毕业设计各阶段的软件工程生命周期量化考核法即各个阶段量化考核,且考核成绩不合格者不能进行下阶段毕业设计工作,必须加以整改,整改通过后才能进入下一阶段毕业设计工作。经过几年的实践证明该考核方法切实可行,能够保证毕业设计各个环节的质量,最终提高毕业设计总体质量。 (四)在毕业设计过程中进一步提高学生工程能力与创新能力 辽宁工业大学于2011年制定并实施了大学生创新团队机制,建立了大学生创新项目申报机制引导大学生开展创新活动;引导学生每年都参加校级、省级、国家级软件设计大赛等各类各级比赛[8]。随着学校和学院创新教育活动多年持续深入开展,软件工程专业学生的创新与创业活动取得了显著成果。超过1/4的软件工程专业学生能够独立主持创新性项目,并以该项目为原型申报毕业设计题目[9],同时参加省级、国家级计算机竞赛并获得奖项。通过主持校级及省级创新项目既毕业设计题目,学生工程能力、创新能力得到极大锻炼与提高,本专业毕业生就业率与就业质量明显提高。软件工程专业学生主持参加创新项目既毕业设计题目情况见表3。 三、结束语 软件工程专业毕业设计是一个极具综合性、实践性的重要环节,是对学生大学四年学习后面向社会与企业前的有且仅有的一次大检验,它不仅检验了学生所学知识、能力与综合素质,还检验了软件工程专业的培养目标、培养模式、课程体系、实践体系、创新体系等相关环节[10]。经过几年的探索与实践证明,软件工程专业所做的系列教学改革工作中的毕业设计教学改革工作有利于进一步增强学生的工程实践能力和创新能力,有利于提高软件工程专业毕业设计质量,有利于提高软件工程专业学生就业率与就业质量。虽然软件工程专业毕业设计教学改革工作取得了一定的成绩,社会认可度逐年稳步提高,但如何动态调整教学计划以跟进市场需求变化;如何深入开展大学生创新创业教育活动以进一步增强更多软件工程专业学生的实践能力及创新能力;如何进一步加强专业教师工程实践能力、工程设计能力与工程创新能力以提高毕业设计指导效力;如何提高毕业设计过程管理效率等问题仍然是软件工程专业所面临的严肃课题[11]。因此,软件工程专业的毕业设计教学改革工作也一定会紧跟时代变化,与时俱进。 作者:佟玉军谢文阁王恩喜刘鸿沈姜悦岭工作单位:辽宁工业大学电子与信息工程学院 软件工程毕业论文:软件工程思想在应用型高校毕业设计中的应用研究 摘要:针对地方应用型本科高校计算机软件类毕业设计质量不高的问题,对毕业设计中存在的问题进行分析,并结合软件工程的基础理论,提出利用软件工程思想对计算机软件类毕业设计进行指导,以提高地方应用型普通本科高校毕业设计的质量。 关键词:软件工程;毕业设计;应用 一、引言 毕业设计是本科毕业生在校期间的最后实践和综合实训阶段,是实现本科教育培养目标的重要组成部分,是深化、拓展、综合应用所学理论知识的重要过程;也是综合素质与工程实践能力培养效果的全面检验;是学生毕业及学位资格认定的重要依据;是衡量高等教育质量和办学效益的重要评价,是对专业理论知识和专业技术综合应用能力的强化训练和提升[1]。在毕业设计的过程中,学生利用所学专业理论知识,通过了解社会,分析社会需求,深入实践,完成毕业设计的任务和撰写毕业论文(设计)报告等各个环节的工作。对于地方应用型普通本科高校而言,毕业设计就相当于一般高等学校的毕业论文,但是毕业设计不同于毕业论文,它的组成部分不只是一篇学术论文。应用型高校的毕业设计注重的是“应用性”和“实践性”,学生毕业设计要求学生针对某一课题,综合运用本专业有关课程的理论和技术,自己动手动脑做出解决实际问题的设计。目的是总结、检查学生在校期间的学习成果,是评定毕业成绩的重要依据。同时,通过毕业设计,可培养学生开发项目的基本综合能力,为学生就业能力中的专业能力奠定坚实的基础;培养综合运用已有知识独立解决问题的能力,从而加强学生应用能力的培养,使学生能够学以致用。 二、地方应用型普通高校计算机相关专业学生毕业设计的现状 近几年来,由于学校对毕业设计要求不断提高,学生从选题到设计再到写出毕业设计报告的过程中总存在这样那样的问题,最终有个别同学没有顺利通过毕业设计,没有拿到毕业证和学位证的情况时有发生,并且大多数毕业设计的水平不高,达不到培养学生独立解决问题和提高学生应用能力的目的。因此,如何指导学生做好毕业设计,提高学生毕业设计水平和质量,是地方应用型普通高校面临的一个重要问题。 (一)毕业设计选题现状 最近几年,我校计算机相关专业毕业生自进入大四秋季学期开始,在进行毕业实习的同时,也进入了毕业设计准备阶段:毕业设计选题,虽然毕业设计选题过程中,各级领导、指导教师和学生在态度是都很重视,但是在选题时也会存在很多的问题,主要有以下三个方面。 1.选题不够准确。部分学生选题未经深思熟虑,所选毕业设计题目要实现的功能太多,在规定时间内不能独立完成,而最终只能实现部分功能,或部分模块。 2.题目相似或重复雷同。学生选题存在浑水摸鱼的思想,在毕业设计选题过程中不是根据自己的兴趣爱好、专业知识学习情况等确定研究选题,而是选择与他人类似或雷同的选题,甚至同一批毕业的许多学生选题一致。比如:“XX管理系统”等,除了可能冠以的系统名称不同之外,其余基本相同。 3.应用价值低。部分学生的选题是当前十分成熟的项目,没有研究的必要;有些选题已经被淘汰,在实际生活和工作中没有多大用途。 (二)毕业设计需求分析阶段现状 通过调查,许多学生选题完成后,没有对自己所做毕业设计选题进行仔细了解、分析,他们认为在毕业设计中最重要的就是编程,其他方面一带而过[2],从而造成毕业设计过程中主题经常进行修改,最终使得整个系统杂乱无章,无法继续进行下去。因此学生在毕业设计的需求分析阶段主要有以下三个方面的问题。 1.选题后未进行实际调查研究,甚至未查找相应的参考文献。 2.需求分析进行得不彻底、不准确,即使选题后查找了参考文献和资料的,也未做充分了解和分析。 3.在需求分析阶段没有写出需求规格说明书或系统分析报告就匆忙进入系统设计阶段,导致随着系统设计的逐步深入,原来确定的需求不能满足毕业设计的需要,正在进行的设计与开始的期望和设想又不相符。 (三)毕业设计系统设计阶段现状 在系统设计阶段,普遍存在以下两个方面问题。 1.由于需求的不明确,在进行系统设计时,修改随意,没有严格按照软件开发的步骤进行。好多学生在进行系统设计时并没有建出相应的功能模型,不管是用例图还是DFD图都没有,而且系统设计过程中功能随意变换,并且各功能模块的层次结构不清晰,使得整个系统的功能模块划分凌乱,不符合软件设计中“高内聚,低耦合”的原则。 2.在软件设计过程中,不先进行概要设计、详细设计和模块设计,没有软件的过程性描述,直接进行编码,存在想到哪里就做到哪里,走到哪儿算哪儿的随意思想[3],当前内容没有做完便开始其他内容,使得整个系统设计杂乱无章。在这样的一种研究状态下,即使完成了设计,效率也非常低下,软件结构混乱,功能实现不完全,降低了软件设计的质量。 (四)毕业设计实现阶段现状 通常把编码和测试统称为实现。在进行软件设计后,就可以根据设计结果来实现,将软件的过程性描述编码,得到计算机可以运行的源代码。在实现阶段主要有以下几方面的问题。 1.编码随意。学生在编码的过程中,不注意编程风格的把握,导致程序的可读性、可理解性、可修改性等较差,在答辨的过程中,要求指出某个功能模块的代码时,经常要花费很多时间才找得到。 2.测试和调试可有可无。大部分学生在毕业设计的软件编码完成以后,从没有想过进行完整的系统测试,或者只对个别功能进行测试或是随意测试,没有按照测试步骤逐步进行;基本没有单元测试和集成测试,一般只是最终随便输入几个数据简单检测一下,如果有错,修改了就算完了;也没有进行回归测试,没有测试计划,没有想过用什么测试技术来检测某一类型的错识,没有相应的测试用例,也没有测试结果分析。由于学生毕业设计都是一人一题,基本上是一个人完成所有步骤,就算有测试,在测试阶段也是自己进行测试,从心理学的角度来说,自己对自己开发的软件进行测试是不可取的。 由于前面阶段的文档不完善,也不重视测试过程,不清楚是否实现了系统最初设计的功能,是否达到相应的性能要求,总以为程序做出来后毕业设计就完成了,使得毕业设计经常在更换运行环境或答辩时发生错误和问题,从而使得设计得不到好评甚至无法通过。 (五)毕业设计应用现状 最近几年,我校计算机相关专业毕业设计投入使用数量接近于零。究其原因主要是由于设计不完全,未进行测试和调试,存在的错误和缺陷较多,文档和数据不完整,导致所开发的系统或软件不能方便地转让、变更、修正、扩充和使用,也没有为后期培训、维护留下完备的资料;因此,不能投入到真正的使用过程中,也不能实现系统或软件产品的效益。 三、软件工程思想的应用 软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程中的软件生命周期是一个软件从软件定义、开发、运行和维护,直到最终被废弃的整个过程[2]。地方应用型普通高校计算机相关专业学生毕业设计基本都是开发一些中、小型应用系统或软件,因此,学生毕业设计也要经历软件生命周期各个阶段,严格遵守软件工程的各个原则,这样有助于解决毕业设计中存在的问题,提高毕业设计的质量。通过对应用型普通本科高校计算机相关专业的学生在进行毕业设计的过程中存在的问题进行分析,在毕业设计的过程中,必须运用软件工程的观点、技术和方法来指导毕业设计,这样既节约了毕业设计的时间和学生的精力,也能做出最优质的毕业设计。 1.选题过程中的应用。毕业设计选题就是软件生命周期的问题定义中的问题提出阶段,选好题目是进行深入研究的基础,也是写出高质量毕业论文的前提。地方应用型普通本科高校计算机相关专业的毕业设计选题必须做到以下几点:(1)必须在对选题做了充分调查、分析,对检索的参考文献、资料有了整体把握的基础上提出。(2)必须符合本专业培养方案规定的培养目标的要求。(3)以选择工程性较强的课题为主,确保有足够的工程性训练。(4)要有明确的设计成果,对于较大型任务的课题要明确阶段性成果。(5)要达到规定的工作量,难易度适中,确保能在规定的时间内完成整个课题工作。(6)要围绕生产生活实际,所选题目一定具有一定的理论意义和实践意义,具有一定的价值。(7)原则上一人一题,对于较大型任务的课题,每个学生必须有独立子课题。结合以上几点,分别从专业基础、现实意义等方面进行全面分析,进行取舍,最终得出选题。 2.开题过程中的应用。在毕业设计的开题过程中,需要明确所选题目的选题依据(包括选择课题的背景、选题研究的理论及实践意义)、选题研究现状(包括目前国内外对本选题的研究情况和有待解决的问题)、研究内容与方法,而这些就是软件工程中需求分析阶段应该做的事情。 需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作[3]。因此开题过程中最重要的是进行需求分析,需求分析具有决策性、方向性、策略性的作用,在软件开发的过程中具有举足轻重的地位。需求分析完成的好坏直接影响后续软件开发的质量。开题过程中需要指导学生大量地阅读相关的研究资料,同时根据资料进行分析研究,对当前毕业设计的研究进度做到心中有数,明确毕业设计的具体方向,写出毕业设计的研究内容与方法,得到相应的设计提纲,解决好设计什么,如何设计的问题。因此,应用好软件工程的思想来指导毕业设计的开题是至关重要的。根据学校对学生毕业论文的要求,在计算机相关专业的毕业设计报告中,要求要有数据流图、数据字典等相应内容,而软件工程中的数据流图(Data Flow Diagram,简称DFD),它是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。它是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理[3]。因此,在这个阶段,要指导学生按照DFD图的要求,确定设计的功能,然后根据系统分析结果写出分析报告,就得出毕业论文中系统分析阶段的初始文档。 3.在实践研究环节的应用。根据需求分析(开题阶段)的结果进行软件的概要设计和详细设计,注意在设计过程中要严格按照软件工程对于设计阶段的指导原则来进行设计。将概要设计阶段需求分析得到的DFD转换为软件结构和数据结构,即是根据需求确定软件和数据的总体框架,设计出软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。然后再进行详细设计,设计出每个模块的实现算法、所需的局部数据结构,并且对每个模块写出过程性描述;为每个模块设计出一组测试用例,在进行测试时就以此测试用例来进行测试。详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后将根据这个“蓝图”写出实际的程序代码。因此,指导教师要对学生的设计过程进行监督和指导,防止学生盲目的进行编码。 4.在实现阶段的应用。在编码的过程中,要注意编程风格的把握,编程的风格在很大程度上影响程序的可读性、可测试性和可维护性。 在测试阶段,可以进行交叉测试,即学生之间可以两两交叉,相互测试,以更好的达到测试效果,同时也培养了学生的团队意识和合作意识。 在测试过程中要注意运用软件工程的测试原则和测试思想,严格按照单元测试集成测试确认测试系统测试验收测试的测试步骤进行,利用白盒测试技术进行单元测试,黑盒测试技术进行其他测试,并且在找出错误并修改后要进行相应的回归测试,确认修改了错误并且没有引入新的错误,这样有利于找到软件中的各类错误,提高软件的质量。因此,在软件的测试过程中,一定要严格按照软件工程中的测试原则来进行,不可随意进行测试,并且要注意测试文档资料的收集整理,要有相应的测试计划和测试报告。对学生的创造性的思维和想法,指导教师要给予支持,积极引导,鼓励学生大胆创新,用应用型人才培养目标来要求学生,保证高质量的毕业设计的完成。 5.在毕业论文(设计)报告方面的应用。对于应用型普通本科高校计算机相关专业的毕业设计而言,不单单是完成了一个系统的设计,还要有相应的设计报告,而设计报告的编写过程中,很多学生存在文字表达能力不强的现象,为了完成报告,就有可能会抄袭,特别是在软件开发的各个阶段文档材料不全的情况下更为严重。因此,在学生进行软件开发的各个环节中,指导教师都应该按照软件工程的观点来进行指导,并要求学生在各个阶段都完成相应的文档。这样在毕业设计报告撰写的过程中,只要将各个阶段的文档进行合并、整理就得到相应的设计报告,并且是一篇重复率不高的高质量的设计报告。 6.在毕业设计实际应用方面的应用。因为学生在整个系统或软件过程中均按软件设计规范准备了文档和进行了完整的系统测试,从而为系统或软件的专利申请提供了充分必要的资料,并为毕业设计的实际应用打下良好的基础。 四、结语 计算机相关专业学生的毕业设计在学生的整个大学生活中具有极其重要的地位和作用,根据应用型普通本科高校人才培养的定位,主要是培养学生的独立思考能力、动手能力和应用能力。通过对软件工程思想在计算机相关专业学生毕业设计的过程及方法中的应用研究,逐步实现学生毕业设计的实际成果转化,从而为应用型计算机相关专业人才培养提供相应的借鉴。 软件工程毕业论文:新形势下软件工程专业毕业生就业举措初探 摘要:就业是民生之本。做好高校毕业生就业工作,是建设人力资源强国和创新型国家的必然要求。党的十八届三中全会明确提出要“健全促进就业创业体制”,“促进以高校毕业生为重点的青年就业”。在对软件工程毕业生市场需求进行分析的基础上,本文主要介绍本科生的就业现状,并对促进毕业生就业的举措做出一些探索。 关键词:软件工程专业;毕业生就业;举措 自高校扩招后,我国毕业生的数量逐年增加,高校毕业生就业问题成为重大的社会问题。2014年,高校毕业生数量达到创纪录的727万人,应届毕业生的就业压力之大可想而知。加之,我国软件工程技术起步比较晚,相较于国外发达国家还有相当大的差距。虽然起步较晚,但我国政府正在大力支持中国软件行业的发展,短短几年,已经开发出属于我国自有知识产权的软件技术,制定出一系列的符合国情的政策和发展计划,取得不小的成功。 一、软件工程专业的就业前景分析 1.毕业生市场需求分析。相关数据研究表明,我国软件出口规模达到215亿元,软件从业人员达到72万人,软件工程专业毕业生的市场需求约计11.1万人,职业需求在“电气信息类”中排名第三。软件工程人才的就业前景十分广阔,毕业生主要在各大软件公司、企事业单位、高等院校、研究所、国防等重要部门从事软件开发、研究、设计与应用等工作。目前,我国对软件人才的需求以每年20%左右的速度增长,而高校计算机毕业生中的软件工程人才还很缺乏,尤其是高素质的软件工程人才极度短缺。就业前景最好的地区集中在北上广等沿海地区。巨大的人才缺口不仅使IT行业“全线告急”,更使得IT企业求贤若渴,重金抢购。未来几年,国内外高层次的软件人才将供不应求。根据学校招生就业处历届本科毕业生校内招聘用人需求统计资料,2012~2013学年由学校主办的双选会、集团专场、日常招聘等各类招聘活动中,共计有1123个岗位需要软件工程类毕业生,2013~2014学年共计有1234个岗位需要软件工程类毕业生,用人需求涨幅接近10%。 2.招聘要求及薪酬待遇分析。目前IT企业对IT人才有四项素质要求,即专业技能、项目经验、权威认证和高等学历。超过80%的IT企业对用人学历有要求,其中要求为大学及以上学历的岗位占到46%,超过70%的用人单位希望求职者有一定的工作经验。如果单纯地讲就业,专业技能与项目经验则是核心要素,是企业最为看重以及个人在企业日后发展的关键因素。软件工程专业相关职位属于高薪岗位,据国家统计局的调查显示,2015年第一季度,在国有经济单位中,信息传输计算机服务和软件业的平均劳动报酬最高,达到6300元人民币。据来校招聘单位所提供的薪资水平,可以看出:软件工程岗位的具体薪资待遇在地域间又有些许差异,一级城市(如北上广等城市)初-高级软件工程师的待遇在4000~9000之间,内地其他省会城市(例如山西省)一般在2000~6000之间。随着毕业生从业年限的增加,劳动报酬也呈线性增长,从业年限在6~7年间的软件工程毕业生,月薪资可达到1万元以上。 二、软件工程专业的就业现状 1.毕业生数量逐年增加,对IT人才的需求标准逐渐提高,应届本科毕业生就业面临着严峻的挑战。首先,IT行业就业情况最好的地区集中在北上广等几个发达地区,从北京、上海、广州等大型城市近几年对IT人才的招聘情况来看,这几所城市对软件工程类毕业生的招聘标准逐年呈现出“水涨船高”的趋势。很多企业钟情于有一定工作经验且学历较高的硕士生、博士生等高端人才,因为他们能够迅速进入工作角色,承担起某一职位的工作任务。正因如此,近两年来,一些虽有高学历但刚毕业尚无就业经验的毕业生则被拒之于求职门外。其次,省内IT行业发展不成熟,企业提供的就职岗位较少,而省内软件工程专业毕业生人数较多,考虑到地域问题、户口迁移问题,部分毕业生更愿意选择省内企业,加大省内软件工程的就业压力。再次,中部地区的软件行业相比其他地区还处于发展阶段,目前我省的软件行业规模不是很大,在软件制作上,有些软件企业只是采用了一些软件工程的思想,距离大规模的工业化大生产还有一定的差距,这其中有管理体制、市场、政策等问题。 2.毕业生继续奋战考研、考公务员、考事业单位率持续上升,大学生在摆脱就业压力和个人追求方面有新的认识。学院2014届未就业的毕业生选择“继续考研”、“继续考公务员”的比例分别占未就业毕业生人数的28%、11%。随着就业压力的增大,越来越多的大学生想通过考研缓解就业压力。一些毕业生认为读研可以提高自己的专业修养,在学术上更上一个台阶。一些毕业生认为考研除了学历上更高一层次外,在单位就职时的工资基准也会相应地高一些,甚至有助于找个更好的就业单位。综合来看,在巨大的就业形势面前,考研是毕业生根据个人的职业规划及自身实际情况做出的取舍。参加国考、公务员考试及事业单位招考的人数率创下新的纪录。这与国人求稳的心态不无关系,更多的人看重的是上述单位的福利待遇好、社会地位高等。总之,毕业后选择暂不就业,继续参加各类招考的学生占未就业毕业生的很大比重。 3.毕业生进行就业选择时多持观望的保守态度。学院领导长期以来高度重视毕业生的就业工作,利用校内、校外实训基地平台,积极联系知名IT企业及实训单位,通过与企业多种模式合作、组织招聘会等方式,拓宽毕业生的就业渠道,大力促进毕业生就业工作。针对毕业生举办“IT人才专场招聘会”等多场招聘活动,大力创造就业环境,积极拓展毕业生就业工作新领域。与此形成鲜明对比的是,多数毕业生在择业就业过程中谨小慎微,在工作过程中也会对所选企业的各个方面提出质疑,多持观望的保守态度。“今天就是先来看看,不着急签约”、“以后招聘会的单位会越来越好”、“还想再看看”,不少毕业生对企业抛来的“橄榄枝”并不上心。 三、主要举措及努力方向 1.以提升创新精神、实践能力和创业意识为重点,创新人才培养模式,提高人才培养质量。深化教育教学改革,提高人才培养质量。学院先后召开专题教育教学工作会议,并从人才培养模式、课程制度改革、教学秩序规范、资源投入保障等各个方面制定并出台一系列的改革举措,进一步完善创新人才培养体系,保障人才培养质量的提升。重视创新创业教育,着力培养学生的创新精神和创业意识。学院长期以来一直重视大学生的创新创业教育,不断促进教学改革和教育质量的提升,推动大学生高质量就业。学院逐步推动创新创业课程体系建设,把创业基础课程、就业指导课程列入必修课,并在校内建立山西省共享式软件人才实训基地,设立多个实践创新项目,增强毕业生的就业意识和就业能力。利用校内、校外实训基地及校企联合研究室,进一步改善学生实践教学,着力培养学生的创新精神和创业意识,更好地实施人才培养模式,不断促进教学改革和教育质量的提升,为提升毕业生的就业能力提供保障。 2.面向行业需求,创新就业服务模式,引导毕业生“顶天立地”地就业。着力扩大就业市场覆盖度,挖掘行业重点单位需求,拓宽毕业生就业渠道。学院坚持毕业生“走出去”的就业方针,将保证毕业生就业需求作为根本出发点,针对提高毕业生的就业能力、层次和质量的任务,充分利用校外实训基地,积极为毕业生搭建就业平台,大力创造就业环境。学院积极联系知名IT企业及实训单位,通过与企业多种模式合作,积极联系用人单位,举办专场招聘活动,拓宽毕业生就业渠道,大力创造就业环境,积极拓展毕业生就业工作新领域,为用人单位招聘提供精细、“一站式”服务,对地处欠发达地区的重点单位实行分类服务。依托学校软件学院硬件设备优势,为不能到场的企业和单位提供远程实时的在线视频招聘,积极开展用人单位满意度调查,统计用人单位和毕业生对本院人才培养和就业工作的满意度,切实使就业工作服务于人才培养全过程。着力加强就业工作保障度,为实施高质量和均衡就业战略“保驾护航”。加大政策引导力度,落实专项经费。利用新媒体推进网络化就业指导教育,使学生多渠道捕捉就业信息,强化择业就业意识,做好择业定位并进行合理的职业规划,实现理想就业。开展“一帮一”活动,对就业有困难的毕业生建立学困生档案,进行重点指导、重点服务。建立“毕业生回访与发展跟踪制度”,了解毕业生所学专业与社会需求的契合度,不断增强就业指导人员的服务意识和责任意识。 3.以保证毕业生充分、高质量就业为目标,完善就业工作机制,构建就业工作常态化。实施“一把手”工程,将就业工作列入年度工作要点。成立由学院院长、书记、副书记、辅导员、学习导师、专业教师和班主任组成的就业工作组,配合学校建立校、院、班三级体系,为就业工作提供组织支撑。落实“三个到位”,为就业工作提供有力保障。认真做到就业中心专职工作人员稳定、专职工作经费稳定,积极争取社会赞助,建立关于毕业生与用人单位的服务中心,有效保证就业工作的开展。健全制度体系,为就业工作夯实基础。积极贯彻落实学校出台的就业规章制度,根据实际需求出台完善学院的就业规章制度,为就业工作夯实基础。 软件工程毕业论文:基于毕业产出导向的软件工程课程教学改革 摘要:分析国内高校在软件工程课程零置上的侧重点以及软件职业技术资格考试内容,提出以SWEBOK V3中知识域的要求为课程内容基础框架,基于毕业生的产出能力导向进行教学大纲、知识内容和考核方式改革,通过监控学生成绩对课程教学效果进行分析和长期持续改进。 关键词:产出导向;软件工程;课程改革 1 背景 作为软件工程专业的主要核心课程,软件工程课程一直很受关注,围绕着课程教学所进行的教学改革也比较多。目前,正在各高校进行的工程教育专业认证是我国为推进工程教育改革、提高工程教育质量、建立工程教育与工程师制度衔接、提高工程教育对产业发展的适应性和提高我国工程技术人才的国际竞争力所做的一项合格性评价,在给高校工程教育带来发展契机的同时也提出了对教育理念、教学过程管理、教学内容更新换代等方面的挑战和调整要求。 2 课程现状 目前,国内高校软件工程课程使用的教材主要有张海藩《软件工程导论》、郑人杰《实用软件工程》和国外翻译版《软件工程》。教学内容主要有软件工程概况、可行性研究、需求工程、传统的软件设计、面向对象设计、编码、软件质量与保证,项目计划与管理、软件开发工具与环境等。软件工程是一门强调实践的综合性工程课程,各高校在具体课程安排上各有侧重。 例如,复旦大学(54学时)的课程重点首先是结构化分析与设计、面向对象的分析与设计,这两部分内容超过了1/4总学时;其次是软件测试和软件项目管理,分别约占总学时的1/6;课程特色在人机界面设计和Web工程上。清华大学(48学时)把面向对象方法UML和RUP作为重点,占总学时的近1/3;其次是结构化分析与设计,占总学时的1/4;软件过程及软件工程管理是另一重点,通过学生合作小组或参与项目组进行软件开发,在实践中理解软件过程的意义和作用,培养软件项目管理的意识和能力。浙江大学(理论32学时、实践32学时)重点讲述软件工程的常用方法,包括分析模型的建立、总体设计、软件测试等,其特色是网络应用软件的开发方法和实践,通过从需求单位抽取出的大型模拟案例进行项目开发,锻炼学生的系统设计、开发、谈判、沟通、写作、团队合作等能力,培养学生的工程职业素养。 通过对国内几所高校课程教学特点的分析,我们发现目前国内高校软件工程课程主要以理论知识教学为主,虽然有的院校做到了实践与理论并重(1:1),但是大多数院校还是以理论知识教学为主。课堂教学以讲述概念性基础知识为主,课程的内容主要有面向对象的分析设计、软件测试和项目管理,对新知识、新技术和新工具介绍较少,目前软件工程课程更像是一门导论课程。 3 面临问题分析 3.1 工程专业毕业要求对课程的影响 工程专业毕业生应具备足够的沟通能力、合作能力、专业知识技能、终身学习能力及人格、国际视野和责任感等能力素质,这些素质要求可以保证学生毕业进入职场前具备基本的职业素养和从业能力。产出导向是工程教育认证中重点关注的部分,课程体系设置、师资队伍建设和外部条件配备均以有利于学生达到培养目标和毕业要求为导向。毕业要求反作用于课程设置,要求课程的内容建设、教学方法改进、过程监督以及成绩考核都应围绕这一要求,细化产出导向的要求和能力指标,设置相应知识点并调整各自的重要性比例,从知识点授课和实践能力两方面落实能力培养,达到毕业产出的要求。 3.2 与软件工程课程相关的专业技术资格考试分析 工程教育认证是将来国家注册工程师制度的基础和重要环节,目前我国已经在土建、环境、核安全等领域开展试点工作,实现了对工程人才的社会评价及国际间人才资格互认。在我国,与软件工程课程相关的全国性考试还有计算机技术与软件专业技术资格(水平)考试,由国家人力资源和社会保障部、工业和信息化部领导,对全国计算机与软件专业技术人员进行职业资格、专业技术资格认定和专业技术水平测试。笔者对与软件工程课程相关的资格考试内容进行解析,以软件设计师为例进行重点分析,见表1。 从表1分析内容可见,软件工程基础考试内容。与课程教学大纲知识点一致,在信息安全知识和标准化知识上给出新增内容,这与SWEBOK2013知识体系一致。考试科目“软件设计”以上述知识为基础,考查工程师的实际工作能力。在最近几次考试中有考题涉及数据流图、UML图的应用分析,与课程授课侧重点也相符,更侧重于实例的应用能力,需要实践积累与运用。 3.3 SWEBOK V3和课程对应关系分析 软件工程专业的课程体系是基于软件工程知识体系SWEBOK(software engineering body ofknowledge)、计算机教程软件工程卷(computingcurriculum-software engineering,CCSE)及其中的软件工程教育知识体(soft engineering educationknowledge,SEEK)而建立起来的。2014年,IEEE计算机协会了软件工程知识体系指南第3版,该版将原来的10个知识域扩展到15个,与现有软件工程课程大纲的比较结果见表2,其中有分布到其他课程中的知识点未加以说明。新增和修改的相关知识点需要在软件工程课程教学和实践环节落实。 4 基于产出导向的软件工程课程改革与建设 4.1 课程教学目标修订 基于上述分析,我们进行基于产出导向的软件工程课程改革和建设。课程教学以使学生掌握软件工程的理论基础知识和基本工作原理,培养学生具有工程问题需求分析的能力以及综合运用计算机科学和工程技术完成系统设计、实施和维护的能力为目标。课程的主要任务是使学生掌握软件开发过程的理论、方法、技术标准以及计算机辅助工程和环境等知识并通过实验灵活应用;掌握软件工程的基本概念、软件开发模型、开发过程的管理和质量控制;掌握需求分析的任务与原则,传统面向对象需求分析方法、设计过程与一般性概念以及文档的编写;掌握程序设计方法,增强编程实践训练,掌握软件测试技术与纠错性软件维护方法;掌握UML建模技术,能在软件工程过程中使用常用建模工具,能运用建模方法解决工程实际问题;了解专业开发活动涉及的标准、方针、政策和法律、法规,能正确认识实施软件工程对客观世界和人类社会的影响。 4.2 教学内容和教学方法改进 根据毕业产出要求及SWEBOK V3新修改版,我们对教学内容作如下调整:①在64学时课时中,将理论与实践课时设定为1:1;②在需求分析和设计部分新增人机界面和系统安全知识;③独立介绍软件复用部分知识,结合软件设计模式讨论软件可复用性;④在软件质量保证和项目管理部分新增软件产品标准和行业标准、国内外法律和法规;⑤在软件维护部分新增软件退役和迁移。 每一章都提供参考资料,教师引导学生有选择地阅读其中的部分内容,根据课程内容的进展情况布置相应的任务、思考题和作业,引导学生通过Intemet或其他途径查阅相关资料以拓宽知识面,了解软件工程领域最新实践研究成果。为了使学生建立起软件开发和维护的工程化意识,较系统地掌握按照工程化思想开发与维护软件的方法和技术,教师需在教学中培养学生从软件企业开发和维护实际大中型软件的角度出发,结合成本、风险、效益、进度、过程、质量等多种因素系统地分析软件开发和维护过程中的问题,突破以往要求完成某一给定知识点作业的单一思考问题局限。此外,构造实验环境用于课内工程项目实践,通过模拟项目的开发,锻炼学生的系统设计和开发能力、软件工具的使用能力、语言交流能力、文档编写能力以及团队合作能力,培养学生的职业素养。项目实践引导需贯穿理论知识学习始终。 4.3 考核方式与持续改进并行 课程强调过程考核,总成绩分为平时和期末两部分,分别占50%。平时成绩主要考核学生的课堂表现、作业、实验能力和实验报告撰写情况等。其中,课堂表现主要从学生上课是否专心听讲、回答教师提问是否正确以及分组讨论是否积极、正确、有独特见解等进行考核,以提高课堂教学效果和运用工程基础知识及本专业基本理论解决实际工程问题的能力;作业方面重点考核学生掌握软件工程理论基础知识和基本工作原理的程度;课内实践教学环节重点考核学生的工程问题需求分析和设计能力,综合运用计算机科学和工程技术完成系统的分析和设计并对设计文档进行审查的能力;期末考试将按照课程教学目标全面考核学生课程学习的效果,选取一定数目的学生成绩为样本,计算该课程对毕业要求贡献的达成度并通过建立阀值定量评估课程教学质量,通过不断提出持续的改进意见并实施,切实加大课程对提高毕业产出能力的贡献。 5 结语 笔者基于毕业生产出能力对课程教学目标进行了修订,完善了软件工程课程的教学内容和知识结构,对教学方法进行了梳理,最后通过改变考核方式对课程进行长期监控和调整,实现课程的持续改进。下一步工作将重点关注课程中学生自主能力导引体系和毕业生能力评价反馈机制的构建。(编辑:宋文婷) 软件工程毕业论文:“卓越计划”软件工程本科毕业生的跟踪分析 摘 要: 为应对毕业生就业难与软件企业人才招聘难的两难局面,对我院按照“卓越工程师培养计划”培养的第一批本科应届生展开了基于电子问卷的跟踪调查。通过分析学生就业情况及其所在单位需求情况,以及毕业生的就业反馈,讨论研究了现有培养方案、教学体系和课程改革存在的问题与不足,以期为后续进一步深入实施“卓越工程师培养计划”提供帮助。 关键词: 毕业生跟踪调查; 卓越工程师培养计划; 软件工程 0 引言 从20世纪90年代开始,我国的高等教育飞速发展,本科毕业生数量也迅速增加,软件类人才培养也逐渐从精英教育走向了大众化阶段。与此同时,毕业生就业难与软件企业人才短缺的矛盾逐渐突显。一方面,毕业生的就业形势相当严峻,2013年更被称为“最难就业年”,就业人数将近700万,其中软件类(含计算机类)毕业生约占了23%[1];另一方面,用人单位难以招到适应不断变化市场需求的高水平人才,毕业生质量与企业、社会期望值之间出现了较大差距。 解决上述矛盾的重要途径之一是跟踪调查学生走向社会的工作表现和持续发展状况,调整、改革高校教学体系及模式。近年来,国内高等院校逐渐重视开展毕业生的跟踪调查与反馈工作。通过了解毕业生的就业情况、工作表现、对学校学习经历评价及招聘企业人才需求情况等信息,反思、完善和改革人才培养体系、培养方案、教学模式以及就业指导工作模式[2]。本文以杭州电子科技大学软件工程学院为例,通过对2013届按照卓越工程师培养计划培养的50余名毕业生进行跟踪调查所获得的数据信息,结合本校实际,反思卓越工程师人才培养的可改进之处,为制定科学、高效的卓越工程师培养策略奠定基础,从而更好地为培养符合市场需要的高层次软件人才提供服务。 1 毕业生跟踪调查对卓越工程师培养的重要性 “卓越工程师教育培养计划”(简称“卓越计划”)2010年由教育部联合相关部门和行业协会提出,要求各高校与行业企业联合培养工程技术人才,强化培养学生的工程实践能力、工程设计能力和工程创新能力。该计划旨在培养造就一大批创新能力强、适应经济社会发展需要的高质量各类型工程技术人才,为国家走新型工业化发展道路、建设创新型国家和人才强国战略服务,对促进高等教育面向社会需求培养人才、全面提高工程教育人才培养质量具有十分重要的示范和引导作用。中国成功加入华盛顿协议组织也有力地证明了这一点。 高校作为落实“卓越计划”的主体,需认真领会和深刻理解卓越计划的指导思想、主要目标、总体思路和基本原则,更重要的是需结合自身实际条件和优势,制定“卓越工程师后备人才”培养的具体要求和措施,细化培养目标和培养标准,积极开展课程体系、教学方法、教学内容改革[3]。目前参与实施“卓越工程师计划”的各大高校基本上都提出了符合本校办学定位的专业培养方案的总体思路,在实现培养目标和培养标准的过程中融合专业培养方案的制定,完善、强化学生工程实践能力的培养,在满足“累计1年时间在企业学习”的硬性要求同时制定灵活的培养模式[4]。譬如,清华大学展开了以能力培养为导向的课程体系和教学内容改革;我校“信息安全”专业对原有的专业基础课程和专业核心课进行了重点整合,将原有课程整合缩减至5门,另增开课程4门,总学时数由384学时调整至192学时;上海工程技术大学的本科采取了“学校培养+校企交叉+校企双指导”的三阶段培养方案。 衡量上述各种具体培养要求、措施、目标、标准以及改革内容是否成功,有效的核心标志之一就是学生就业情况及其后期发展情况。毕业生的就业率、月收入和工作满意度等信息可以从一定程度上揭示大学生的综合能力水平和未来发展潜力。从某种意义来说,学生是高校推向市场的“拳头产品”,用人单位是这些产品的“用户”。“产品”质量是否有保障,“用户”才有最深刻的体会,才最有发言权。只有不断听取用户意见,不断改进,才能确保“产品”在市场上的竞争力。因此,做好学生就业及其后期发展情况的跟踪调查,才能推动高校不断完善卓越计划的落实,纠正试行阶段暴露出来的各种问题。 2 软件工程专业卓越工程师培养计划――以杭州电子科技大学为例 杭州电子科技大学从1980年开始培养软件工程本科人才,2003年正式设立软件工程本科专业。目前,该专业为国家特色专业、浙江省重点专业、浙江省高校人才培养模式创新实验区。为了进一步促进软件工程专业发展,全面提升学生工程素质,即工程实践能力、工程设计能力和工程创新能力,2011年杭州电子科技大学率先在软件工程学院开始试点软件工程专业的“卓越工程师人才培养计划”。要求学生在校内经过软件工程通用工程基础技术知识和核心技术知识的学习并具备相关能力后,进入企业进行高级工程技术知识及技能学习和培训,并参加企业实际软件项目的开发,培养方案示意图如图1所示。具体内容介绍如下。 ⑴ 改革人才培养模式 对进入“卓越工程师培养计划”学习的学生,将遵照贯穿8个级别4种工程应用能力培养要求的工程型人才培养方案(如图1所示)。学生在校内2年完成前2种工程应用能力的培养后,按“卓越工程师培养计划”学习1年完成第3种工程应用能力的培养,最后进入企业完成第4种能力的培养。可以看出,卓越工程师培养计划主要承担“高级工程能力”和“工程实施能力”的培养,主要通过企业宣讲课程和就业规划课程来帮助学生确定今后学习和发展的方向,进而安排学生参与企业实际软件项目完成专业实践和毕业设计。 ⑵ 加强专业师资建设 软件人才是工程实用型,需要教师既有一定的学术造诣,又具有大量的项目实践经验或企业工作经验。因此,我校进一步加强“双师型”专业教师队伍建设,在选派青年教师到国内外IT企业顶岗实践和轮训的同时,积极引进具有丰富实践经验的专业技术人员到校担任兼职教师或传授真实案例和实际工程经验,已逐步建立并完善企业教师的师资库并鼓励相关企业承担学校专业课程及实训工作。 ⑶ 深化改革课程体系 我校软件专业课程改革的总体思路是:扎实专业基础,突出工程实践能力,复合知识领域结构;强化专业核心基础课程和高级工程能力的培养,突出企业实战能力。在当前软件工程专业培养方案的基础之上,着重体现工程教学中的CDIO模式,聘请行业专家及资深工程师讲座;引入“MOOC”等先进教学方式,鼓励开展研究式教学、讨论式教学、以问题为导向的PBL教学、CDIO式教学及团队模式教学等多种教学方式[5]。 ⑷ 采用“校企深度合作、工学结合”运行模式 积极探索校企深度合作的空间,着重于人才培养、科研开发等多方位的共赢合作模式。以培养软件人才为目标,学校优先选择占据行业领导地位的公司作为合作方(如华为、塔塔等),吸收资深工程师参与指导制定专业发展规划、专业培养目标与专业人才培养方案,甚至直接作为教学师资参与专业技能教学;同时将企业待解决实际项目转化为“实验班”的课程设计题目或综合设计题目。企业接收完成专业课程学习以及基本技能培训的学生直接顶岗实习。 3 “卓越计划”毕业生的跟踪分析 3.1 调查对象和方法 为全面、准确、及时地分析了解“卓越工程师培养计划”在高校的落实结果,了解用人单位对软件工程专业改革的满意度以及深化教学改革的意见与建议,为其他同类学校准确定位、深化改革与创新软件类人才培养提供参考,我们对杭州电子科技大学软件工程学院实施“卓越工程师培养计划”的结果进行跟踪调查。调查对象是该学院第一批按照上述计划培养的毕业生,共发出52份问卷,回收有效问卷50份,回收率为96%。本次调查主要以问卷为主,辅之以面谈、Email咨询等方式。 3.2 调查数据分析 我们从学生就业单位信息、就业单位需求、毕业生个人反馈三方面来进行梳理分析现有教学方案、培养方案等卓越计划改革内容的不足。 ⑴ 学生就业单位 此次调查的50名毕业生,44人就职于主营软件开发销售、系统集成的软件类公司,4人就职于在线网络社交平台或电子商务平台的技术部门,2人服务于保险业。也就是说,96%的毕业生在毕业后会继续从事软件开发维护相关的工作。这从一定程度上证明了按照卓越工程师计划拟定的现有培养方案和课程安排在培养学生兴趣、增强学生专业技能方面发挥了较好的作用。此外,在毕业生就职的30家软件类公司中,14家单位的员工少于50人,13家单位的员工数在50~300之间,3家单位的人数超过了300人。可以看出,毕业生所就职的大部分是中小型软件公司。这也符合软件行业特点。除了微软、IBM、华为等极少数的龙头企业,大部分软件公司的规模并不庞大。我们的调查结果反馈的另外一个重要信息是,大部分软件公司对招聘对象的学历和工作经验的要求并不高,求职者具备大学本科学历即可,并不硬性需要相关的职业证书。因此,在未来的教学过程中,应确保学生顺利完成大学基础课程,而并不需要强调或引导学生参加太多的职业证书考试。 ⑵ 就业单位需求 从50份有效问卷返回的结果来看,目前用人单位技术最注重也相对急需的技术(能)排在前三位的分别是:JAVA语言、办公软件应用和ORACLE数据库应用,如图2所示。除此之外,动态网站开发以及企业级网络软件应用与维护也是各单位相对比较看重的毕业生技能,问卷勾选的份数分别达到了16和14。不难看出,若软件工程专业本科生在校期间尽可能地熟练掌握日常的办公软件应用并掌握用Java等开发语言构建、推广、维护动态Web网站的基本技术,他们在就业时将更占优势。 我们在教学过程中经常碰到以下的问题:本科生在大三或大四阶段仍不能熟练使用Excel绘制基本图形或完成基本统计功能,也不会使用Outlook、Foxmail等邮件客户端工具收发Email;他们课程提交的项目作品虽然能够实现系统的基本功能,但往往不够规范、难以维护和二次开发。学生暴露出来的这些问题远离用人单位的需求,也直接影响了学生自身的就业和后续发展。因此,在后期完善“卓越工程师”的培养方案和课程改革时,针对这些问题进一步强化培养学生相关技术(能)就变得极为重要。 ⑶ 现有培养计划及改革反馈 如上所述,“卓越人才计划”强调对学生实践能力的培养,强化学生工程实践能力,注重提升工程教育人才的培养质量。本学院在日常教学过程中着重学生动手实践能力的培养,也通过与华为、塔塔、网新等众多企业合作,安排学生在企业实习,强化学生实际实践能力。如图3所示,根据求职期间及就业之后的“第一手”经验,36%的毕业生认为学校还需加强基础理论的学习,30%的毕业生认为需加强实践动手能力的培养,25%的毕业生认为需加强专业知识的学习,只有个别同学认为需增强人文知识学习和科研能力培养。大部分毕业生在“信息反馈”一栏中明确提出“实际动手能力的培养是学校应该改进的重中之重”。这与国家“卓越人才计划”的培养思路是基本吻合的,也表明,我们还需在未来的教学培养中深化培养方案和课程改革,更突出 “卓越人才计划”的实践能力培养要求。如某位毕业生认为虽然目前学校社团较多,但和专业及就业挂钩的社团很少,建议多组建一些专业性社团,营造一个良好的学习氛围,并积极鼓励学生参加各类比赛,或开展专业知识类的勤工助学项目,让学生在项目实践中提升各方面的素质。 此外,根据50位毕业生的自身体会,软件类公司更为看重的学生素质是其持续学习的能力,其次是独立解决问题的能力,而日常较为注重的学习成绩恰恰反而是排在最后一位,如图4所示。这也是软件工程专业本身所决定的。一方面,软件、计算机技术飞速发展,日益更新,在校期间的课程内容不能完全跟上技术的潮流,需要学生自己学会跟踪学习新技术的能力;另一方面,实际软件问题千奇百怪,层出不穷,没有一劳永逸的解决方案,更需要学生具备一定解决问题的能力。 3.3 启示 此次的跟踪结果表明,我院现有的“卓越人才培养计划”及其具体方案措施在加强学生专业兴趣、增强学生专业能力起到了较好的作用,能为用人单位提供了具备基本职业素养和能力的软件人才。在未来工作中还需进一步强调和注意的有以下几点。 ⑴ 必需确保学生顺利完成大学阶段所有课程并获得学历、学位证书,这是学生入职的必要条件。 ⑵ 必须加强培养学生办公软件的使用技能,才能更好地提高学生专业素质,满足企业规范化人才需要。 ⑶ 争取为学生创造更多参与实际项目的机会,加强培养学生专业实践能力。这也是“卓越工程师培养计划”的重心所在。 ⑷ 进一步加强学生跟踪学习的能力和独立解决问题的能力,使他们适应软件快速更新升级,以及实际开发应用过程中问题不断的特点。 4 结束语 毕业生跟踪调查对做好软件工程人才培养,尤其是“卓越工程师培养计划”在软件工程专业的落实具有重大意义。本文采用实证研究的方法,从学生就职单位性质、单位需求与学生反馈三方面对现有“卓越计划”及其具体方案进行讨论分析,根据毕业生的切身体会挖掘现有软件工程专业“卓越工程师培养计划”存在的问题和不足,以期为更好地落实“卓越工程师培养计划”、培养卓越软件工程师提供科学有效的对策。 软件工程毕业论文:《软件工程》思想在毕业设计(论文)中的应用 【摘要】主要分析了毕业设计(论文)的现状,介绍了软件生命周期的各个阶段与毕业设计(论文)各阶段的对应关系、软件生命周期各阶段应完成的任务以及在毕业设计(论文)中应注意的问题。 【关键词】软件工程 毕业设计(论文) 实践教学 一、引言 毕业设计(论文)(以下简称毕业设计)是计算机及相关专业教学计划中的一个重要环节,是培养学生对所学基本理论及基本操作技能综合运用的训练过程,是提高学生分析和解决问题能力的重要实践环节,是实现理论与实践相结合的重要途径,是对教育教学质量的全面检查。目前,计算机及相关专业的毕业设计质量正在逐年下降:学生急于找工作或考研,毕业设计得不到应有的重视;需求分析不到位,设计成果不符合实际需求;软件开发流程混乱;缺乏文档写作训练,等等。 针对上述问题,笔者认为,除了应当从管理角度严格进行过程监控外,还应当使学生通过《软件工程》课程的学习,提高毕业设计的质量。 二、软件生命周期与毕业设计过程的对应关系 软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生命周期。软件生命周期可以划分成若干个时期与阶段,它与毕业设计各个环节的对应关系如图1所示。 三、软件生存周期各阶段应完成的任务 1.可行性研究与计划阶段、需求分析阶段 可行性研究与计划阶段主要完成问题的定义、可行性论证以及初步计划的制定;需求分析阶段主要完成需求调查,进行功能、性能与环境约束分析;编制软件需求规格说明、制定软件系统的确认测试准则和用户手册概要。这两个阶段对应于毕业设计的课题论证、选题、调研、查资料,通过对设计题目的深刻理解,完成开题报告的撰写工作。 2.概要设计阶段和详细设计阶段 概要设计阶段主要完成软件系统总体结构的建立、定义功能模块的接口、设计全局数据库和数据结构、规定设计约束、编制概要设计文档等工作;详细设计阶段主要完成模块详细设计及编制模块的详细规格说明工作。包括模块的详细功能、算法、数据结构和模块间的接口信息等设计,拟定模块测试方案;把模块详细设计的结果汇总,形成模块详细规格说明书。这两个阶段对应于毕业设计的系统设计阶段。 3.实现阶段与组装测试阶段 实现阶段主要完成编码及单元测试工作。根据模块详细规格说明书,将详细设计转化为程序代码、对模块程序进行测试,验证模块功能及接口与详细设计文档的一致性,并形成单元测试报告;组装测试阶段主要完成模块程序组装与测试及组装测试报告的编写。 4.确认测试阶段 该阶段主要完成软件系统测试、确认测试文档编制及软件评审工作。根据软件需求规格说明定义的全部功能和性能要求及软件确认测试准则对软件系统进行总测试;向用户提供以确认测试报告为主的有关文档,包括系统操作手册、源程序清单和项目开发总结报告等;由专家、用户、软件开发人员组成的软件评审小组对软件确认报告、测试结果和软件进行评审,并将得到确认的软件产品交付用户使用。这个阶段主要对应于毕业设计(论文)中的论文评审、结题验收及毕业设计的答辨准备阶段。 5.软件运行与维护阶段 主要进入软件的使用阶段,并完成软件的维护工作。它主要对应于毕业设计中的答辩阶段。 四、毕业设计应注意的几个问题 1.摘要 摘要是对文章主要内容的摘录,要求精、短、完整。以几十字至三百字左右为宜。摘要应具有独立性和自明性,从摘要中即应获得必要的信息;摘要中只能使用第三人称;要客观如实地反应原文的内容,要着重反映论文的最新内容和作者特别强调的观点;要求结构严谨、语义确切、表述简明,一般不分段落、不进行自我评价。 2.关键词 关键词主要用于论文检索,它是从论文的题名、摘要和正文中选出的,是对表述论文的中心内容有实质意义的词汇,关键词一般以3~5个为宜。 3.结论 结论写作的内容应主要考虑本文研究结果是什么?研究结果说明了什么?对前人有关的看法作了哪些修正、补充、发展、证实或否定?本文研究的不足之处或遗留未予解决的问题以及对解决这些问题的可能的关键点和方向等。结论应该准确、完整、明确、精练。 4.需求分析 在毕业设计中,学生往往不能对所做题目进行充分的调研,需求不明确,随意想象的成分较多。特别是在数据表的建立上,大部分同学随意设置字段的类型,而字段长度基本上采用默认置。而在实际项目开发中,数据项的设置应主要注意以用户的需求和满足系统要求为准,而不应设计冗余的字段;数据的类型要依据实际需求,当某些字段可以是选择某几种类型之一,应考虑哪一种更有利于本系统或哪种更易于用户操作和维护。 5.详细设计 许多同学把详细设计阶段的任务理解为代码实现,因此,在概要设计之后就着手进行代码的编写而忽略了算法的表达及测试用例的编写环节,由此造成的结果是随意编程,大量的时间浪费在程序的修改和调试上。 6.软件测试 测试做得不够全面,大部分同学只选择了有效的测试用例,而没有进行无效的测试用例的设计,因此所做的软件BUG较多。 7.团队合作 在毕业设计中,应有意识地锻炼学生们的团队协作精神,因此,在布置毕业设计题目时,应尽量选择规模大一点的题目,然后由4~5名同学共同协作,每人完成一个子题目。这样,可以使学生们分析问题和解决问题的能力、沟通和表达能力得到充分锻炼,为今后的工作奠定基础。
软件工程专业论文:互联网+背景下地方院校软件工程专业教学 摘要:“互联网+”概念与教育融合,给教学和课程改革带来了新的机遇和挑战。本文以地方本科院校软件工程专业为例,进行了教学改革方面的探讨。分别进行了课堂教学现状分析,教学改革可行性分析,并提出了教学模式创新方案和教学改革建议。 关键词:教学模式;课堂教学;翻转课堂 信息化技术的发展,打破了传统教学模式的束缚,促进教育教学的急剧变革。“互联网+”概念与教育融合,给地方本科院校软件工程专业的教学和课程改革带来了新的机遇和挑战。因此,进行更加深入的教学改革研究,建立多样化的适应不同高校和专业实际情况的教学模式,有利于促进教学质量的提升,提高地方本科院校学生的市场竞争力。 一、课堂教学现状分析 1.学生自主学习能力有待提高。尽管我们不赞同依据成绩片面评价学生的能力,然而,大学阶段和高中阶段教学模式存在一定的相似性,因此,高中阶段的成绩,对学生学习能力的评价依然具有一定的参考性。笔者所在学校是一所地方性本科院校,在全国高校统一高考招生录取时属于本科第二批次录取的院校。受现行招生考试政策约束,相对于重点大学的学生,学生的学习能力存在一定差距。这就需要教师在教学过程中加以考虑,以提升教学效果。2.学生课堂学习积极性不高。当前阶段的大学生,出生并成长在互联网时代,习惯于通过计算机或智能手机等途径获取海量的网络资源,因此接触新事物的机会较多。这一方面扩展了学生的知识面,增强了学生对新事物的接收能力。然而另一面也影响了其学习方式和学习态度。对于系统化、规范化的课堂教学,容易产生一定的排斥心理,课堂环节学习的积极性下降。功利化心态较为严重,对理论性和基础性较强的专业课程,存在一定程度的抵触心理。更倾向于操作性强的实践性课程。3.传统教材难以充分调动学生学习积极性。目前本科院校基础性专业性的课程教材,通常采用国内知名大学和知名出版社的教材。这类教材较为成熟,具有较好的市场认知度。然而这类教材的作者来自于知名大学教授,因此编写教材是并没有考虑地方本科院校学生的特点。通常由于理论性较强、难度较大等因素,难以激发地方院校学生的兴趣。部分实践类教材,以小型的实验性项目为基础进行展开,组织结构较为合理。然而,由于纸质教材主要有静态文字和效果截图组成,并不能足够直观的还原真实项目场景,一定程度上,降低了学生对此类教材的依赖性。4.传统课堂教学模式教学节奏较难控制。传统课堂教学中,通常教师为主导,在规定地点和规定时间内教授规定的内容,学生被动的参与课堂教学。学生的学习能力存在一定的差异,对新知识的接收能力和理解程度并不完全一致。因此,统一的教学方式,存在一部分同学‘消化不了’,另一部分又‘吃不饱’的两难局面。教师较难掌控教学节奏。而前述两类学生的积极性也容易受到打击,难以全面调动学生的学习积极性。5.教学资源现状分析。受制于地方经济发展程度等诸多因素影响,政府在地方性本科院校的投入相对较少。现有地方性本科院校的教学设备较为落后,以简单的多媒体教室为主,硬件资源闲置情况较为明显。多媒体软件资源较为贫乏。教师对多媒体资源的理解能力和操作水平参差不齐,资源利用率不高。互联网技术的发展提供了多渠道的资源获取途径,然而受计算机操作水平限制,互联网资源挖掘技巧不足,使用的频率较低。 二、互联网+背景下教学改革的可行性 1.学生为互联网+的到来做了充分的准备。90年代末期时,大大小小的网吧已经遍布全国各地。2009年初,随着中国电信业改革重组的完成和3G牌照的正式发放,中国全面进入移动互联网时代。现有的普通本科院校的学生大多出生在1995~2005之间,其出生和成长经历正赶上互联网和移动互联网普及的大好时光。因此这一代人对互联网+时代的到来,已经做了充足的思想上和信息技能上的准备。2.人才队伍壮大,为教学改革的提供了新鲜血液。人才队伍建设是教育事业发展的第一要务,是提高高校核心竞争力的重要推动力量。地方本科院校正处于改革和发展的关键时期,深入贯彻科学发展观,必须加强人才队伍建设,全面提升人才队伍的整体素质。我校发展至今,已经取得了一定的成绩。随着各类人才支撑计划的出台,人才队伍不断壮大。高学历教师数量显著增多,这些都为教学改革的开展注入了新鲜的血液。3.政策支持力度加大,有利于保障教学改革的顺利进行。教育部2014年工作要点明确提出,要引导一批本科院校向应用技术类高校转型。2015年10月,教育部联合发改委和财政部出台文件,引导地方普通高校向应用型本科院校转变。2015年11月,国务院出台“双一流建设”方案,鼓励和支持不同类型的大学差别化发展。这些密集出台的各类政策,充分体现了政府在高校改革问题上的决心和力度,这必将为教学改革的顺利发展注入强大的动力。 三、互联网+教育的创新教学模式 1.MOOC。MOOC(MassiveOpenOnlineCourse,中译:慕课),最早于2008年提出,特指加拿大的马尼托巴大学(theUniversityofManitoba)所提供的开放式在线课程资源。随着类似平台资源的涌现,MOOC及其思想被各类媒体广泛讨论,最终被发展成一个专用的教育术语。MOOC将对学习感兴趣的人(或”学生”)和寻求辅助教学平台工具的专家吸引到同一个平台上来。MOOC平台通常不对参与者设置参与门槛。参与者本着完全自愿的原则加入到平台中来,并根据各自的爱好进行选择性活动。MOOC的空间跨度大,通常跨越多种不同的平台和技术。通过社交网络和免费的在线学习资源来提供强有力的平台黏性。这也是其区分与传统在线学习的重要特征之一。2.翻转课堂。翻转课堂(FC,flippedclassroom)是近年来流行的一种教学模式。在翻转课堂教学环境下,学生拥有了学习主动权。教师的身份,从传统的单向知识传授者,转换为学习过程的组织者和引导者。学生在进入面对面的教学课堂之前,可以提前接触到与新课题相关的学习材料(如,视频教程、在线资源等)。课题教学环节内,学生通过协作学习、分组讨论等形式,来获取对材料相关知识的更深入的理解。通过将传统的被动学习转变为学生的主动知识获取过程,可以有效发挥学生的主观能动性,激发学生的学习兴趣和学习积极性。随着技术的进步和以学生为中心教学方法的流行,翻转课堂已经成为一种重构教学模式的新范式。3.微课。微课是近年来引起广泛重视的一种新的教学组织方式,尤其在成人教育和培训领域中广为使用。微课中的微是指微小、短小、轻量等含义。微课通过教学内容进行知识点拆分成,分解成较小的学习单元,并重点关注这种相对较短时间内的学习活动的优化和安排。微课中的“微”,既指待学习内容的少,也指学习时间的小。由于较小的内容模块能够较容易的被获取、存储、处理。学生能够通过一种放松的态度参与学习过程中来,较易实现一种轻松愉悦的学习体验。微课的针对性强、灵活性大、信息含量丰富,可以作为传统课堂教学手段的一个有利补充。 四、结语 在“互联网+教育”的背景下进行教学改革,需要根据地方本科院校学生自身的特点,以及软件工程专业课程的特征进行展开。要加大教育教学资源的投入力度。加强教师队伍的培养和建设,增强教师的课题教学创新意识,全面提高教师的信息化技术的水平。借力互联网技术,整合各类资源,创新方法和手段,实现弯道超车。 作者:张平 单位:湖南科技学院电子与信息工程学院 软件工程专业论文:谈软件工程专业实践教学构建 摘要:文章在分析现有软件工程人才培养实践教学现状的基础上,深入研究软件工程人才培养规律,围绕实验、实训、实习三种不同实践教学类型以及导入、展示、训练、评价、强化、反馈、应用、监管八个实践教学环节,较为深入地讨论“三类型八环节”软件工程教学体系的内涵,论述校企合作实践教学基地及开放式的师资队伍的形成过程,建立量化可控的过程化实践教学保障机制,将软件工程过程管理方法引入实践教学管理,运用自主研发的软件工程实践教学管理平台,为实现教学过程和质量评价的实践教学全生命周期管理提供支撑。 关键词:软件工程;人才培养;实践教学体系;教学质量保障 一、引言 目前,针对我国信息化发展进入互联网时代的要求,高等院校培养软件工程人才的模式也不断地进行改进和调整,特别是在工程实践能力上的加强,已经成为衡量软件工程人才培养的一个重要指标。培养出工程实践能力强、职业素养高、具有国际竞争力的软件工程人才,是软件学院人才培养中需要解决的主要问题。在软件人才培养过程中,加强工程实践教学环节,提高解决实际问题的能力是软件学院培养人才的主要目标。软件学院在工程实践教学改革等方面进行不断地探索和调整,以便满足社会发展对软件工程人才的需求,并在实践教学中取得一定的成效。但仍存在一些问题,如:实践教学体系与软件产业需求、专业培养目标不协调,对实践教学过程内涵理解不够,软件工程实践教学质量保障机制不健全等,表现为实践教学缺乏理论指导,模式各异,产学脱节,教学过程管理不规范,学生创新创业能力欠缺,发展后劲不足等现象。为了更好地适应软件产业的不断发展,为我国培养出更多高水平的软件工程人才,建立新型的软件工程人才培养模式和工程实践教学体系是我们所面临的新挑战。重庆大学软件学院自从成立以来,在办学模式、管理体制、教学目标、培养方法、考核体系、质量保证体系等方面进行了一系列的研究和改革,取得了许多有益的尝试和经验教训[1]。本文结合重庆大学实际情况,深入研究软件工程人才培养的规律,提出了基于“三类型八环节”的软件工程实践教学体系。 二、“三类型八环节”的软件工程实践教学体系内涵 针对新时期实用型软件工程人才培养需求与软件工程实践教学中存在的问题,通过深入研究实践教学内涵,重构软件工程实践教学环节,建立量化可控的过程化实践教学质量保障机制,探索与国内外名校名企深度互动融合模式,我们构建了“三类型八环节”的软件工程实践教学体系(见图1)。同时对学生工程实践能力的培养实施以“课程实验、课程设计、程序设计实训、项目开发实训、系统管理和开发实训以及企业实习”为主的软件工程实践教学体系,并贯穿融合“教授讲座、科研训练、素质拓展、专业竞赛、创新实验与创业计划”等课外实践教学形式。“三类型”是“实验、实训、实习”,三者相互联系、渐进性地进行,从而保证了软件工程人才培养对实践教学要求[2]。实验是为满足理论课程教学要求,根据课程的不同在实验室完成不同任务。它是软件工程人才培养的一个重要的、不可缺少的实践环节;实验是在实验室培养学生对科学原理或者工程原理的发现和验证,即培养学生实际操作能力,论证新原理,开发新技术;实验是对理论教学的进一步补充。实训是模拟实际工作环境,采取来自企业真实工程项目的实际案例,由具有丰富经验的教师或项目经理小组化指导,培养学生在有限时间内,完成软件工程专业的技能、经验、方法、团队合作等方面的训练。软件工程专业实训分为3个过程,第一过程由软件学院有经验的教师指导,以小型软件项目为训练题目,项目小组一般由2~3人组成,主要训练学生软件编程技巧,使学生软件编程能力得到提高。第二过程由经验丰富的学院教师或企业导师指导,以中型软件项目为训练题目,项目小组一般由4~6人组成,主要训练学生系统开发能力,包括:项目计划、需求分析、软件设计和软件测试等,并能够应用常用的软件设计和软件测试工具。第三过程由企业导师指导,以具有一定规模的软件系统为训练题目,项目小组一般由6~10人组成,主要训练学生对大型项目的开发和管理能力,训练学生对软件生命周期各个环节的认识,以规范的过程和标准来有效地开发和管理软件系统。实习就是在实践中学习。软件工程专业实习是让学生去现代的软件工程生产企业开阔眼界,认识现代软件生产过程,在已有的基础上创新改变,把现代的一些理论知识融合到现代软件工程企业里面。根据“实验、实训、实习”三种类型的实践教学要求,采用导入、展示、训练、评价、强化、反馈、应用、监管八个环节,渐进完成软件工程实践教学。教师通过具体的项目导入要解决的问题,根据项目的要求,有目的、有计划地展示开发方法和过程。以一定的形式训练学生完成相关工作,并通过系统地分析,对学生的各种活动、过程和结果进行评价,从而强化学生对软件过程各个环节的认识,并不断完善自我,达到主动学习的目的,把已经学过的理论知识在实训实习中更好地加以展示[3]。总之,根据“实验、实训、实习”三种实践教学的具体内涵,实现对软件工程人才不同阶段的能力培养:实验侧重培养专业技能;实训侧重培养工程实践、团队协作与沟通、创新等能力;实习进一步加强工程能力、社会适应以及产业融入能力。通过“三类型八环节”的软件工程实践教学过程,使学生全面了解和掌握软件系统开发的全过程,能够熟练应用规范的软件工程标准和CASE工具开发软件项目,从而使其软件编程能力、系统开发能力和项目管理能力得到进一步提高,进而适应现代软件企业对软件工程人才的要求。 三、校企合作实践教学基地及开放式的师资队伍 根据“三类型八环节”的软件工程实践教学的目标,要有效地实施“实验、实训、实习”三种类型教学过程,必须有符合要求的实践教学基地及良好的师资队伍。(一)建立校内外的实践教学基地,为软件工程实践教学体系的顺利实施打下良好基础在软件工程人才的培养过程中,不但要有合理的培养方案和课程体系,良好的教学团队和师资队伍等,而且还需要提供培养学生的基础设施,包括理论课程实验需要的各种仪器设备和环境等。对于培养高素质软件工程人才,实践教学基地的建设尤为重要。软件学院非常重视实验室和实践教学基地的建设,制定了实践教学基地建设的具体方案,并逐步实施和完善。除了更新和改建现有的实验室和实验设备,还不断扩展校内外的实训实习基地建设。在校外实践基地的建设方面,与国内外一些著名IT企业建立了广泛联系,如IBM、Mi-crosoft、SUN、HP、NTDATA等公司,一方面共同创建软件工程人才培养实践教学基地;另一方面与企业广泛接触,优先为学生提供良好的校外实习、实训机会。学院也与国内的IT企业进行了合作,如:深圳软酷网络科技有限公司,在学院建立了学生实训、实习基地,并已经应用于软件工程的人才培养过程,经过几年合作运行,达到了软件工程人才在实践教学方面的培养要求。此外,学院还开拓了新的合作领域,特别是重庆市的IT企业(如:重大高科技股份有限公司信息产业分公司、金蝶重庆分公司、重庆宏声新思维集团等)广泛合作,建立校外实践教学基地。由于有良好的校内外合作企业和实践教学基地,在人才实践教学培养方面得到了保障。并在观念上破除传统的由学校包办实习,注重形式而不完全注重效果的现状,提倡企业和学生双向选择。学院非常重视用高科技园区孵化器的形式建立由学院控制的、市场化运作的校外学生实践基地,吸引国内外IT企业,在企业研发软件产品的同时,使学生有真正参与软件产品研发的机会。(二)构建专兼职相结合的开放式师资队伍通过遴选本院具有工程实践经验、教学效果好的教师,聘请合作企业具有较高理论与实践水平的高级工程师担任兼职教师和企业导师,为软件工程人才培养构建起一支高素质的开放式教师队伍,并参与实践教学的指导工作。在“三类型八环节”的实践教学过程中,开放式的师资队伍保障了实践教学的顺利实施和效果,实验由经验丰富的学院教师指导;实训指导由本学院教师或企业导师担任;企业实习指导采用双导师制,由本学院教师和企业导师共同指导,企业导师为学生提供实习环境和实习项目,完成主要指导工作,本学院教师负责实习监管与过程审定工作。 四、成立质量保障机制工作小组,监督实践教学的实施过程 为了加强“三类型八环节”的软件工程实践教学体系的实施,软件学院成立了由教学指导委员会、教学督导、学业导师、企业专家等组成的实践教学质量保障组织机构。教学指导委员定期听课,对青年教师的授课进行试听和特别指导,改进教学质量。教学督导随机抽查教学进度、教案、教学日志、作业布置及批改情况,召开学生座谈会等,全面考察任课教师工作态度、教学能力与水平。学院为学生安排了学业导师,每一位学业导师指导5~8名学生,指导学生的专业学习,鼓励学生参与科研立项、创新训练、学科竞赛等科技活动,提升学生的科研素养,为学生的专业学习做充分的引导和监管。企业专家熟悉软件企业的系统研发过程,加强企业专家的教学参与力度,更好地完成监督实践教学的实施过程和质量. 五、构建软件工程实践教学质量保障机制 软件工程实践教学质量保障机制主要包括组织机构、师资队伍、管理制度和考核评价四个方面。组织机构主要规定教学指导委员会、教学督导、学业导师、企业专家等组成机制和工作机制。师资队伍主要明确本学院教师、企业兼职教师和导师要求机制。管理制度给出教学督导制度、实训过程管理制度、实习基地筛选制度以及实习管理制度等。考核评价包括工具的使用与使用技能评价、过程管理与制度评价、工程设计与实现评价、团队协作与沟通评价等。软件工程实践教学质量保障机制依托于软件工程实践教学管理平台,该管理平台实现了实践教学中知识管理、项目开发的代码管理、错误跟踪管理、项目进度管理和软件测试管理等功能。为实现教学过程和质量评价的实践教学全生命周期管理提供了支撑。 六、结论 重庆大学软件学院是首批教育部批准的国家示范性软件学院之一,自成立以来就积极探索软件人才培养的新模式,不断改进软件人才培养方案和课程体系。按照示范性软件学院人才培养目标,在软件工程专业课程体系总体规划下,制定了基于“三类型八环节”的软件工程实践教学体系,通过“实验、实训、实习”三类型,循序渐进地实现了软件工程人才不同阶段的实践能力培养,通过“导入、展示、训练、评价、强化、反馈、应用、监管”八个环节,保证了软件工程人才的工程实践和专业技能训练,有效地培养了学生团队协作精神和创新创业能力,提高了学生的适应能力和竞争能力,使其在毕业后能更快地适应企业的工作要求。为了保证软件工程实践教学各个环节顺利实施,制定了软件工程实践教学质量保障机制,并研发了软件工程实践教学管理平台,有效确保了“三类型八环节”的软件工程实践教学过程的实施和质量。总之,基于“三类型八环节”的软件工程实践教学体系能够提高软件工程人才的实践能力和综合素质,保证软件工程人才培养质量,具有一定的适用价值和推广意义,可为同类专业的人才培养和教学改革提供借鉴与参考。 作者:张毅 文俊浩 熊庆宇 柳玲 吴映波 单位:重庆大学软件学院 软件工程专业论文: 面向航空领域的软件工程专业人才培养 摘要:基于国内外软件工程人才培养机制的主要不足之处,提出以面向航空领域的软件工程专业人才培养模式,主要以能力培养为核心、以应用和创新为主线,培养遵从软件工程专业人才成长规律和满足经济社会发展需要凸显航空特色的应用型人才。实践证明,面向航空领域的软件工程专业人才培养模式弥补了航空领域软件工程培养模式的不足为培养面向航空领域的应用型软件人才做出了贡献。 关键词:航空领域;软件工程;培养模式 近几年来,软件产业作为信息化建设的核心得以迅速发展,航空工业正是以信息技术为代表的高新技术改造的重点,所以迫切需求面向航空领域的软件工程专业应用人才。现在,国内各工科高等院校基本都开设了软件工程专业,软件工程专业毕业生数目也变得庞大起来。但是,符合社会需要的软件人才不仅数量不足,而且结构失衡[1-2]。高校培养的软件人才与软件企业的实际需求存在明显差距,根本原因在于软件工程人才培养模式不能适应软件市场发展所致。各个高校都在探索应用型软件工程人才培养与实际需求差距的解决办法,有些高校从软件工程课程建设方面来研究[3-4];有些高校从校企合作方面对实践教学体系进行改革[5];还有的从适应国际化软件工程需求方面研究[6]。实践表明,应用型本科院校的软件工程人才培养模式大多数都是追随计算机科学与技术专业培养模式的指挥棒[7],我国高校对面向航空领域的人才培养研究还处于探索阶段,符合航空领域的软件工程人才少之又少,还没有形成一套行之有效、适应软件工程专业领域和凸显航空特色的应用型人才需求的培养体系。因此,如何改革应用型软件工程专业人才培养模式,改新课程教学体系,培养出合格的、适应我国软件产业需要的凸显航空特色的软件工程人才迫在眉睫,改革具有航空特色的应用型软件工程人才培养模式对催促进信息化产业发展具有重要现实意义。 1培养目标与培养模式 充分分析沈阳航空航天大学软件工程专业培养目标,发现存在定位模糊、培养模式单一、专业课程内容缺乏规划、专业特色不突出的现状。遵从《GJB438B-2009军用软件开发文档通用要求》《GJB2786A-2009军用软件开发通用要求》相关标准和创办“依托国防航空、融入地方工业”的特色专业的办学理念。需要构建遵从软件工程专业人才成长规律满足经济社会发展需求的、凸显航空特色的、工程实践应用能力和创新意识并重的应用型人才培养目标。沈阳航空航天大学是航空类所属一般理工科本科院校,根据该校特点建立合理的培养模式。应多方合力加强学生实践动手能力和综合应用能力,探索学分置换与联合培养的培养模式。扩充学生视野,使培养的学生适应软件工程专业领域和凸显航空特色的应用型人才。尝试“基础+专业方向+集中实训”“1.5+2+0.5”的人才培养模式。开始1.5年完成基础课学习,然后2年完成专业和专业方向课程的学习与实践,后0.5学年采取学分置换的方式进入格微软件等实训,实际参与软件工程相关的系统分析、设计、开发、测试和运营管理。 2专业课程体系 构建以工程实践能力、团队合作能力和人际交流能力培养为核心,设计具有专业特色的专业核心课程,依托软件工程专业项目团队模式下实景教学平台建设研究成果,重点研究适合应用型、工程型和凸显航空特色的人才培养的课程体系。该校软件工程专业课程体系建设采用了两种路径:一是参考其他院校软件工程专业的课程体系设置,二是结合行业需求调研、技术交流、专家咨询,以及该校人才培养经验和教学工作积累等方式对已有体系进行不断修订与完善。在教学过程中凸显航空特色,全面引入《GJB438B-2009军用软件开发文档通用要》和《GJB2786A-200军用软件开发通用要求》两个军用软件开发通用标准,严格规范学生在学习过程中各相关文档的书写规范以及加强在软件开发过程中各相关环节的管理,使学生了解并掌握军用软件的整体流程,从而使学生具备航空航天领域方面企业的就业优势。软件工程学科与计算机科学、管理科学、数学、项目管理、质量管理和系统工程等学科相关。这说明该专业需要开设一些相关学科的基础课程,以提高学生对相关专业基础知识的了解,但是要确定软件工程与相关学科之间的知识公共边界,要对相关课程进行内容裁剪。同时,在提供必要的软件工程专业理论知识基础上,为满足学生兴趣、拓宽学生知识面,了解更多的与软件工程专业相关的应用领域,增加院级选修的方向模块课程和跨专业的个性课程。除此之外,组织学生参观航空企业、军工企业和IT企业等,了解专业技术在企业的应用,提高学生的专业学习兴趣,减少学习的盲目性。 3实践教学模式改革 3.1实践教学体系改革 依托课程体系与实践教学体系的有机无缝融合,建立“凸显航空特色的应用和创新能力培养为牵引”的实践教学体系。增加不同环节(四层递进的实践教学体系)不同类型(综合性、设计性、创新性和开放性实验)实验比例,满足不同层次学生实践能力培养需求。充分利用软件工程实验室、数据管理系统(USDM)和校企联合(格微软件)等平台、让学生参与教师科研项目、鼓励学生参加各种大学生大赛、竞赛和创新项目,并在整个过程中,教师进行全程指导、掌控进度和监控实践教学质量。具体实践教学体系见表2。 3.2依托数据管理系统(USDM)建设信息化实景教学平台 USDM是常州伍杰公司开发的一个分布式应用的软件系统,它支持软件开发过程的动态管理。依托USDM平台,建设信息化实景教学平台。对学生实行项目团队式管理,即模拟真实项目团队组织方式。在项目开发过程中对学生强调两个军用软件开发通用标准、将软件工程的知识由浅入深、阶梯状、循序渐进地贯穿到项目各个阶段开发中。负责教师在该平台上实现学生角色划分,各个阶段项目团队划分,指定各个团队项目经理,并给予项目经理较高权限。项目经理根据组员个人能力和今后发展方向对他们进行角色分配,如设计人员、测试人员等。使每个学生都能参与其中,每个人至少担任一项以上角色。学生凭借电脑,互联网、自己的学号,随时随地登陆USDM进行项目开发。项目经理监控整个项目开发过程,从总体上把握项目的总进程和项目完成质量。教师在实践过程中与项目经理沟通并实施指导,学生根据实验要求设计算法,进行数据测试及测试结果分析。将项目实践的项目管理、业务阶段、需求、设计、编程、测试、阶段和建模工具的各种图(动态图、静态图和数据库概念模型)全部形成文档的形式通过该平台并提交。提高学生在项目规划、队伍组织、工作分配、成员交流等多方面能力;培养学生团体合作精神,培养学生团队合作级项目研发的能力和软件工程化方法开发大型软件的能力,为研究和学习软件生产线新技术埋下伏笔。利用USDM的可视化论坛提供聊天、白板、音频、视频、协同浏览等功能。项目团队工作人员在其机器上打开某个文档并进行操作浏览时,其他相关人员也可以在自己的机器上看到操作过程,操作和观看几乎是同步进行的。通过可视化论坛方便项目开发小组内部和小组之间经常交流情况和信息,以便减少误解,删除软件中的个人特征,提高软件的质量。使学生提早接触大型IT企业实际工作环境,学习专业CASE工具的使用,为今后工作打下良好基础。开发团队根据实践项目自己拟定汇报的内容,由教师修改审核后,负责教师和各个小组选择代表作为答辩评委,各个项目小组进行项目答辩,答辩成绩作为开发团队实践成绩一部分。负责教师在数据管理系统平台上审核项目实践过程中提交的文档体系,审核成绩作为团队成绩一部分,优先实践项目运行结果、代码和文档等公开展示。提高了学生研究立项、总结概括、演讲交流和团体竞争意识的能力。 3.3创新团队培养等课外培养模式 团队模式培养,以教育部“卓越工程师”培养方案为创新人才培养模式的建设目标。旨在加强专业创新人才培养,建立以学生为主体、教师为主导的创新型团队培养模式。从大一就开始实行本科生导师制,由专门导师直接对本科生的思想、学习进行指导,对学生管理实行动态准入制度,制定阶段目标,严格考核制度。团队学生可以参加导师的科研项目,在导师指导下撰写论文。参加“大学生创新大赛”“ACM大赛”等学生创新比赛,鼓励学生参加职业资格认证考试。除此之外,还采取了一系列有效措施,如聘请同行领域专家和学者做讲座,第二课堂等。用以培养学生的科研能力,让学生了解专业应用方向和前沿技术,增强学生的专业体验度和兴趣度。 4考核方式改革 采用过程化考核机制,加强对学生的早期学习干预,适当开展个性化教学。教学过程中取消一考定成绩的考核方式,设置阶段性考试,避免出现期末突击学习、背诵典型题目等高分低能情况。根据课程知识点设置多次阶段考试,既可以有效地把握学生的学习过程,又可及时获得相关数据,便于对教学效果定量分析,对学习差的同学早发现早干预,对小群体实施个性化教学。通过USDM系统可获得如下数据:学生编写程序数量分布、学生在线总时间分布、学生和教师登陆次数分析、各次考试的成绩变化和分布、提交时间间隔情况分析、学生成绩的变化情况跟踪等。通过对以上数据的定量分析可以获得学生的学习情况(包括刻苦程度、学习时间分配的合理性、学习质量、是否抄袭等),把这些数据作为评估学生过程成绩的一个指标;不仅如此,通过以上数据分析还可以了解到教师的教学态度(布置作业数量、作业批改及时性、与学生互动的频繁度、对后进学生的关注度等),及时发现教与学双方面存在的问题,及时整改以获得更好的教学效果。面向航空领域软件工程专业人才培养模式研究与实践是一项系统工程。依据国家战略新兴产业创新人才需求,重点研究人才培养模式与现实需求的符合程度,与时俱进多方面优化改革人才培养模式。培养毕业后能胜任航空领域的军工企业以及其它IT行业、科研机构、企事业中从事计算机应用软件系统的开发和研制的软件工程应用型高级专门人才。 作者:刘香芹 张翼飞 丛丽晖 单位:沈阳航空航天大学计算机学院 软件工程专业论文:软件工程本科专业建设的实践 【内容摘要】信息化时代背景下,我国软件产业逐步迈入了健康、持续的快速发展通道。在此过程中,大量工程型、应用型的高素质软件工程师发挥了不可或缺的作用。本科院校作为软件工程师人才培养的主要阵地,其专业建设在某种程度上直接关联着软件产业发展,有关研究备受关注。本文在对软件工程专业建设现状作出简要分析和论述的基础上,重点就软件工程本科专业建设实践进行了研究。 【关键词】软件工程;专业建设;课程设置 目前,我国软件工程本科专业建设的成果有目共睹,但同时也存在人才适应性、实用性差等问题,课程设置与市场需求脱节成为顽疾,不利于学生实践能力的培养。21世纪是一个以知识经济为主的时代,人才作为企业竞争的核心,其战略地位不言而喻。然而,软件工程本科专业建设存在的一系列问题,直接影响了人才培养水平,限制了软件产业发展,其创新与优化工作至关重要。 一、软件工程本科专业建设的现状 近年来,随着我国高等教育的普及化发展,软件工程本科专业建设大肆扩张,并取得了一定成效。但是在实践过程中,软件工程本科专业建设依然存在不少问题,具体体现在以下几个方面。 (一)保障体系缺失。软件工程本科专业建设是一项体系化工程,需要大量的保障基础作铺垫。现阶段而言,大部分本科院校应时展需求,逐步开设了软件工程专业课堂,并按照新课程改革要求,采取了一系列创新改革举措,建立了相对完善的实践机制。然而,我国软件工程本科专业保障体系建设依然不尽如人意,在教学内容设计上缺乏与软件产业及相关技术发展变化的有效弹性配合,体现了多阶段逐级过渡的特性,很难实现理论、实践与工程的循环。在这样的教学模式影响下,软件工程专业人才培养拘泥于书本知识灌输,忽视了对学生个性差异与全面发展的考查,不利于其实践能力的提升。究其根本,造成此类现象主要是因为素质教育建设与渗透不足。在软件工程教学实践中,部分教师固守传统思想,本身专业化水平不高,缺乏应有的创新素质与优化意识,在方法选择上显得过于拘谨,忽视了学生主观能动性的发挥,最终限制了学生的全面发展。因此,保障体系缺失是影响软件工程本科专业建设步伐的重要因素。 (二)产学联盟滞后。软件工程本科专业建设并非高校一方的责任,其社会价值决定了需要政府支持和企业配合。事实上,软件工程人才培育与相关企业人才需求缺乏反复性地对接与持续性地跟踪,使得本科院校教育逐步脱离了经济市场的导向,所培养的毕业生人才必然不能满足企业需求,其基本价值沦丧。新时期,市场经济运行规律决定了,软件工程本科专业建设必须走产学研一体化发展道路。目前,很多本科院校与企业建立的产学联盟还停留于表面,并未深度挖掘软件工程专业建设需求,在人才培养方面尚未真知灼见、长治久远。有些企业过度“计较”对合作育人的成本投入,专业选择具有强烈的“功力”色彩,参与软件工程专业建设的积极性不高。在此过程中,政府如何发挥引导职能,合理介入校企合作,为其提供良好的法律政策及资金支持是当前一个较为突出的问题。没有健全的管理措施,校企双方的权责就不能得到有效拷问与执行,一旦发生纠纷,势必会影响两者之间的长期合作关系,产学研一体化也因此走向尽头,不利于软件工程专业建设的完善与深入。 二、促进软件工程本科专业建设的实践策略 软件工程本科专业建设实践成果,受诸多因素的影响。结合分析,有针对性地提出了以下几种软件工程本科专业建设实践策略,以供参考和借鉴。 (一)优化课程设置。学科是高校生存与发展的基石,同时还是专业建设的前提和基础。一个健全的专业往往需要多个学科的支撑,否则势必沦亡。因此,本科院校在软件工程专业建设之初,就需要综合考查自身现有的学科实力,有针对性地做好铺垫工作。具体而言,本科院校要树立良好的市场意识,并以此为导向,明确软件工程专业人才培养目标及要求,合理配置相关学科,设计完善教学内容,逐步形成科学体系,实现人才的全面发展,最大限度地发挥自身社会价值。为适应软件产业发展对多元人才的需求,本科阶段应放宽口径,不细分专业培养方向,但需要考虑专业课程模块设置,夯实毕业生理论基础的同时,拓展其知识面,使之深入了解某类系统软件及其应用领域。一般而言,软件工程本科专业核心课程包括软件数学类课程、软件基础类课程、软件系统类课程、软件工程类课程等内容,着重突出对学生应用能力与实践能力的培养。基于此,对于软件工程本科专业学生的考评也应关注其软件数学知识、基础知识以及工程知识水平,全面考查其综合素养及能力,并据此决定下一阶段的教学目标及方向。 (二)加强师资建设。素质教育背景下,教师作为主导,既是软件工程本科专业建设的对象,又是软件工程本科专业建设的参与者,其表现出的综合素养和能力直接决定了最终工作成效。在高等教育普及化阶段,本科院校面临着巨大的人才引进压力,需尽量在短时间内优化整个师资团队的学历结构、年龄结构以及职称结构等。在此过程中,本科院校要致力于专业化师资队伍建设,加强教师培训工作,及时更新其理论知识素养及专业技能构成,提高他们的综合业务能力,使之提供良好的教学服务。简单来讲,本科院校应制定完善的教师培训计划,以职业培训为主、脱岗培训为辅,根据软件工程本科专业建设需求,分清轻重缓急,优先发展特色学科,为广大教师搭建互动交流平台,分享有效经验,从而为软件工程本科专业建设提供强力支撑。同时,本科院校还需建立完善的激励制度,保证双师型教师团队建设资源充沛,给予表现优异的教师适度职位晋升、薪酬增长等奖励,鼓舞他们自主创新,树立其良好的职业发展愿景,从而使之投入更多的时间和精力在本职工作上。 (三)推进校企合作。本科院校的核心价值是促进学生全面发展,其根本目标是打造满足市场需求的应用型人才。从某种意义上而言,企业作为市场经济活动的主体,只有其自身才清楚需要什么样的人才,也是软件工程本科专业建设方向的决定者。政府方面应充分发挥引导职能,制定完善的法律制度、政策体系支持校企合作,明确双方承担的责任和义务,帮助两者构建长期战略合作关系。而企业方面也需要深刻认识到校企合作对自身发展的重要意义,可就软件工程本科专业建设提出可行性建议,也可与校方专家共同协商专业课程设置,将行业最新发展动态引入到软件工程专业教学体系当中。在企业的积极参与下,本科院校需树立良好的市场意识,将软件工程专业建设紧密联系市场,结合自身实践,走特色发展道路,以服务于地方产业经济发展。同时,校企双方还应整合可以利用资源,合理配置,积极打造校内实验室和校外实训基地,引入先进技术及设备,最大限度地发挥各方优势,为软件工程实践教学提供良好的环境与氛围。总而言之,软件工程本科专业建设实践十分重要和必要。由于个人能力有限,本文对软件工程本科专业建设作出的探索可能存在不足,未来其实践工作还有很大的改善空间。因此,希望业界更多专家和学者持续关注我国软件工程本科专业建设实况,全面总结其现状及问题,并深度剖析其中存在的问题,有针对性地提出更多促进软件工程本科专业建设对策,从而推动软件工程专业创新优化发展,为我国软件产业持续发展提供强力人才支撑。 作者:林峰 李萍 软件工程专业论文:高职教育软件工程专业综合改革课程建设 摘要:软件工程专业人才培养的定位是在熟练掌握计算机软件编写的基础上,让学生可以利用所学计算机方面的知识,与传统的工程领域相结合,培养可以进行各个层次软件开发的复合型人才。为了更好地实现人才培养目标,必须加强课程与教学资源建设,不断完善培养方案,优化课程体系,建设开放、立体的网络教育资源平台,创新学生课外实践平台和实训教学平台。同时也要不断探寻新的专业管理路径,以科学管理促进教学水平提升。 关键词:高职教育;专业课程改革;软件技术 淮北职业技术学院软件技术专业经过多年建设,形成了独具特色的“多层次、分流式”人才培养模式;在课程建设上,坚持“瞄准岗位设课程”;在教学内容上,将社会职业资格认证与专业教育紧密结合;在教学模式上,坚持“瞄准职业能力搞教学”,形成了独具特色的“项目案例教学法”;在实训基地建设上,着力建设教学、服务、科研“三位一体”的实训基地,有效地构建了计算机应用技术专业综合试点改革的基础。2015年与武汉慧众聚成合作开设ACCP软件工程师班,共同培养软件工程师。同年软件工程专业获得安徽省质量工程的专业综合改革试点项目立项。软件工程专业培养的定位就是在熟练掌握计算机软件编写的基础上,让学生可以利用所学计算机方面的知识,与传统的工程领域相结合,培养可以进行各个层次软件开发的复合工程型人才。 一、课程与教学资源建设 在专业课程体系改革方面,坚持课程体系和教学资源建设以市场为导向、学生为根本、学科知识为基础、专业技能为重点的原则,构筑软件工程专业学生的知识体系,搭建教学平台,完善培养方案,优化课程体系和模块化课程结构,推进精品。 1.完善培养方案。依据我校软件工程专业培养移动互联网软件工程师的人才培养定位,软件工程专业的培养方案将突显课程结构模块化、块内课程群组化,分模块、分群的特色,保证培养目标的实现。专业基础课模块:主要包括面向对象程序设计、数据库原理、软件工程等课程,通过本模块体现基础的“厚”。专业技术课模块:主要包括移动互联网技术、嵌入式系统等课程,另外在每个课程群中增加企业课程模块,通过聘请外教、企业专家承担与市场或工程结合紧密的相关课程的全部或部分内容的主讲工作,并加强国际交流,提高授课质量。增加的企业课程模块包括:Android软件开发、信息工程项目管理、网络系统架构等课程。通过本模块体现出“多方向”。技能拓展模块:主要包括WAP技术及其应用、嵌入式Linux-ARM应用开发、人工智能等课程,通过本模块,体现出应用能力训练。课程模块如图1所示: 2.优化课程体系。在培养方案的基础上,优化课程体系。以工程项目设计为导向、工程能力培养为目标,让学生做中学(Learning by doing)和基于项目学习(Project based on learning)。工程项目为载体,使学生以主动的、联系的方式学习工程,通过项目设计将课程体系有机地结合起来,通过项目将知识、能力和素质有机结合,项目按规模和范围分为三级:一级项目为:课程设计、综合项目设计、创新项目设计;二级项目为:软件算法综合设计、整个培养计划是以一级项目为主线,二级项目为支撑,三级项目以移动互联网技术、智能手机应用软件开发等核心课程为基础,将核心课程教育与对应的专业整体统一起来,强调以软件工程项目复现方式进行实践教学,让学生自己成立小组,从头到尾参与到工程化的软件开发的全过程。在三级课程体系中,一级项目中课程注重以单元知识点为基础,利用实训巩固知识点内容;二级项目在单元实训的基础上实现串联,让学生针对具体工程进行程序设计,三级项目在二级项目基础上,进行项目实训和毕业设计,对实训和程序设计内容进行整合,按照工程项目开发流程进行完整的项目开发。在教学过程中体现了知识(Knowledge———专业知识)、能力(Ability———分析与问题的能力,交流与组织协调的能力,主动获取知识的能力,科学高效管理项目的能力,工程实践的能力和参与国际竞争的能力)和职业素质(Professionalism———创新素质、团队素质和敬业素质)的培养。 3.建设开放、立体的网络教育资源平台。由于课堂学习的时间十分有限,教师不可能在授课时间内将某项专业能力发展的所有知识点完全细致地讲解到,应积极激发学生学习的主观能动性,可以通过多种途径和方法给学生提供课后自主拓展学习的平台。因此,建立开放、立体的网络教育资源平台是十分必要的。对于一级项目,我们建议学生自主拓展学习时间不低于学量的1/3,对于二级、三级项目,则建议学生自主拓展学习时间至少为学量的一半。①以网络课程为核心,在网上开通“软件工程专业在线学习中心”,实现校企专家讲座、校内课堂直播及资源点播;②建立“移动互联网软件工程师网上教学论坛”,QQ群,微信群等平台,为学校教师、学生、企业教师及技术人员等提供一个互动的交流平台,让学生遇到困难时可以随时提问随时进行探讨,获得解答;③与企业合作,围绕专业教学目标、课程体系、教学内容、模拟实验实训、教学指导、学习评价等方面来建设各种资源库,包括精品视频公开课、精品课程、网上案例库、素材库、试题库,并进行资源整合,建设成开放、立体的网络教育资源平台,构建立体化育人环境。 4.软件工程实训教学平台与北大青鸟、武汉慧众聚成合作,加强软件工程专业实验室建设,建立软件工程实训教学平台,模拟企业真实工作环境,根据角色划分将实验室分隔成若干个独立的工作区间,如工作区、项目经理区、技术总监区等;优秀教师组建软件工程咨询和辅导团队;对外开展相关的有偿服务(典型情况如CMMI咨询辅导);按软件企业项目开发摸式,进行软件系统开发实训。结合成熟软件产品的开发过程进行体验式教学,结合软件技术的应用和开发进行实训教学,为学生和教师提供软件开发实战平台。 5.学生课外创新实践平台在北大青鸟、武汉慧众聚成实验室基础上,以学校各种学生课外软件大赛(如蓝桥杯)为牵引,通过“课外科研项目实践”课程、设立科研助理、暑假小学期等渠道建设学生课外创新型实践平台,实现本专业学生早进课题、早进实验室、早进团队、早进社会。 6.积极推动外版教材的选用。采用校企合作的方式,共同建设系列化的实训教材,尤其是智能手机应用开发、移动互联网技术方面的实训教材。 二、专业管理路径 计算机系多年来致力于教学体系建设,并取得显著的成绩。计划在未来四年,继续深化改革、拓展创新,逐步形成科学、完备的专业教学体系。重点做好以下工作: 1.基本教学制度优化与创新改革的重点是提高课堂教学质量和完善监查评价制度,形成规范有效的课堂教学行为监管机制;不断完善教师指导制度,切实做到学生从入校到毕业,指导教师不间断地指导学生的学业和职业规划;建立和完善学科带头人、专业负责人、专业课程(群)负责人制度,教学改革研究制度、实验室开放制度,科学研究、社会实践方面的奖励制度,致力于调动学生的研究兴趣,培养学生的知识运用能力与科研创新能力。 2.采用规范性约束与激励结合的模式充分体现以教师为本、激励为主的理念,注重规范性约束与激励相结合,在教学改革、教学质量评价指标体系和评价办法、教师业务水平考核、教学酬金分配、学生学业测定、教学管理制度等方面建立科学合理的激励机制,为师生营造大胆开拓创新的宽松环境;从制度建设方面强化和激励学生实践能力和创新意识自我提升,使每个学生的人格、个性、兴趣和能力都得到尊重与发展。 3.改传统的行政型管理为新型的学术型,实行新型的学术型体制。由熟悉本学科、专业、行业的理论和发展动态与趋势,熟悉对本专业、行业所需人才的专业知识结构和能力需求的专业教师和企业高级技术人员组成教学指导委员会,制订企业人才培养方案、课堂教学质量和监查评价制度。 4.整合网络信息化教学管理平台,分析现有教学过程中存在问题,通过广泛的调查和需求分析,构建新的教学系统结构,完善其功能,使之更有效地服务于教学。开发学生毕业设计选导师系统、实验室系统等,有效促进教学的科学化、规范化和网络化建设,理顺教学管理流程,提升教学水平。 作者:胡静静 郑吉鸿 单位:淮北职业技术学院计算机科学与技术系 淮北职业技术学院招生办公室 软件工程专业论文:本科院校软件工程专业人才培养模式改革 [摘要]针对新型本科院校软件工程专业人才培养模式存在的问题,围绕软件工程学科领域的“卓越工程师教学培养计划”和IEEE推出的SWEBOKV3知识体系,以强化学生工程实践能力培养为导向,系统重构软件工程专业课程体系和教学内容,以程序设计不断线为目标,形成“基础实践->综合实践->创新实践->专业实践”的渐进式实践教育体系。 [关键词]软件工程;实践教学;人才培养模式;工程能力 1引言 软件产业是信息产业的重要组成部分,是国民经济信息化的基础。2011年,软件工程成为与计算机科学与技术并列的一级学科和目录内本科专业,可见国家对软件人才的培养越来越重视。目前大部分地方新型本科院校都设置了软件工程专业,但由于受到生源层次、师资类型、办学条件等诸多因素的影响和制约,培养的毕业生的应用能力与用人单位的需求存在矛盾。一方面,企业迫切需要具有实践经验,动手能力强的软件人才,另一方面刚毕业的学生却不能找到合适的工作。当前社会上出现大量的软件人才培训机构,从高校的高年级招收学生,为企业培养具有较强工程实践能力的专门人才,这从另外一个角度也反映了高等教育应用型人才的培养脱离了社会需求的实际,教学内容没有跟上社会发展的步伐,教学方法、教学手段和实践环节等需要进行改革。当前,新型本科院校的软件专业人才培养主要存在以下几个方面问题: 1.1专业定位与实际不符 计算机软件专业的教材、教学计划、课程设置、教学方法从985高校到地方新建本科院校,基本相同,培养目标也基本相似,新建本科院校培养的学生没有自己的特色,操作能力和工程实践能力相对于985和211高校软件专业的学生较弱。 1.2培养模式不适应计算机行业的发展 计算机行业的发展速度非常快,几乎每天都有新的技术、新的产品产生,但计算机软件专业的课程设置却没有大的变化,教材落后于IT技术发展的前沿,课程讲授脱离软件工程的实际,课程体系设计不是以职业化为导向,而是以专业学生发展和研究为导向。 1.3重理论、轻实践 由于学校过分地强调学习、掌握理论知识,导致学生把学习的考试成绩看得比较重,却忽视了实践能力的运用。其次,现在的IT行业注重团队合作,而传统的教育模式往往更注重个人能力的考查,忽视了对学生团队合作精神的培养。 1.4缺少有项目实践经历的师资 目前,高校的教师大都是“从学校走向学校”,缺少实际项目开发的经验。另外,学校与行业和企业联系不够紧密,教师难以及时了解和掌握企业的最新技术发展和体系,致使专业实践能力明显不足。本文探索新型本科院校的软件人才培养模式,从实际出发,以着力培养服务地方经济发展的应用型人才为目标,将工程化教学和职业素质培养作为人才培养的核心任务之一,以软件工程方法为指导,系统设置软件工程理论课程体系和验证、设计、实训、实习等实践环节。 2相关工作 “软件工程”概念最早是由北约组织(NATO)在1968年召开的软件工程会议上,为应对“软件危机”而提出的。二十世纪70年代末至80年代,国外很多大学计算机科学系开始开设软件工程课程,例如,卡内基•梅隆大学建立软件工程硕士教育计划。1991年,ACM和IEEE/CS制定的计算教程(CC1991)将软件工程列为计算学科的9个知识领域之一。1993年,IEEE计算机学会和ACM考虑建设软件工程专业,并成立了软件工程协调委员会(SECC,SoftwareEngineeringCoordinationCom-mittee)。2004年,SECC制定软件工程知识体系(SWEBOK),标志着软件工程学科正式确立[1]。我国软件工程教育研究开始于20世纪80年代,当时部分高校开设了软件工程研究生班。2001年经教育部和国家计委批准,全国成立了35所示范性软件学院(后增加到37所),目标是“培养具有国际竞争能力的多层次实用型软件人才”,推动产学研合作办学模式,积极探索教学模式的改革,实现我国软件人才培养的跨越式发展。2006年教育部成立了软件工程专业教学指导分委员会,开展我国软件工程专业战略发展和专业规范的研究工作。2011年,软件工程学科独立出来,成为与计算机科学与技术并列的一级学科。近年来,国内很多高校在软件工程人才培养模式、实践教育体系、校企合作等方面进行了探索和改革。电子科技大学软件学院陆鑫和傅彦结合CDIO工程教育理念,提出以专业实践能力培养为导向的专业评价手段[2]。合肥学院借鉴德国应用科学大学人才培养经验,提出软件工程模块化教学理念,将软件项目管理分为6项一级能力和60项二级能力,确定不同能力的知识点,并对知识点进行优化和重组,从而形成模块[3]。孙红敏等针对教学质量管理问题,提出构建面向能力培养的软件工程专业教学质量保障体系,从而提高软件人才的培养质量[4]。梁宏涛等提出一种专业导师制的人才培养模式,对民办本科高校的软件人才培养具有借鉴作用[5]。林耀进等针对传统教学模式存在实践内容难以有效衔接问题,提出以项目开发为驱动的多课程联动教学模式[6]。 3专业培养目标和课程体系 3.1培养目标和规格 为适应皖江城市带承接产业专业示范区、合芜蚌自主创新综合试验区以及合肥经济圈等重大发展战略对应用型人才培养的需求,以应用型人才为目标,以提高应用型人才培养质量为核心,对接岗位需求,明晰人才培养目标和规格,优化“平台+模块”课程体系。软件工程专业人才培养目标:本专业立足安徽、面向区域软件产业,以软件工程行业标准为导向,以工程化人才培养为目标,兼顾社会、健康、安全、法律、文化以及环境等因素,培养的毕业生应掌握软件工程专业的基础知识及应用知识,具备分析、设计、开发和解决软件工程问题的能力,有创新创业意识,具有扎实的理论基础、较强的工程能力和良好的科学人文素养,能够在软件行业中从事软件设计与开发、测试和管理等工作。软件工程专业学生培养规格主要瞄准两个岗位:软件测试和软件开发。软件测试岗位要求学生掌握软件测试相关技术,熟悉软件开发流程与项目需求分析,了解软件项目开发管理;会按规范编制技术文档。软件开发岗位要求熟悉软件开发和维护流程,能熟练使用IOS或Android进行移动应用软件开发和调试,熟悉Web项目开发及应用。 3.2模块化课程体系设计 根据学校设立“三大平台”+“八个模块”的课程体系框架,我们构建的基于模块化的软件工程专业课程体系。,1、2、3、4代表四个年级,横向的框代表不同的课程群模块。整个课程体系分成:通识课程(必修、选修)、专业基础、专业核心、专业拓展、综合实践课程、校园文化与社会实践、创新创业与科技活动。具有以下3点特色:(1)程序设计不断线。从大学一年级至三年级,每学期均开设程序设计相关课程,涵盖程序设计基础、Web开发、移动开发、嵌入式系统等领域,全程化、多方位锻炼学生的编程能力。(2)实践环节由浅入深,层次渐进。我校软件专业实践环节包括课程实验、课程设计、综合实训、专业见习/实习、毕业设计等多种形式。(3)创新创业与学术科技活动融入培养方案。定期邀请企业人员来我校进行创新创业讲座,学生参加全国大学生创新创业、互联网+、挑战杯等竞赛项目或者获得CCF软件能力认证、PAT计算机程序设计能力考试等证书进行学分认定。 3.3实践能力培养体系 通过整体规划课程实验、课程设计、综合实训、企业见习/实习、毕业设计等实践环节,建立有效的实践能力训练体系,全面提高学生的工程化实践能力。在新修订的软件工程人才培养方案中,将课程实验从理论课中独立出来,进行独立考核,对于高级语言程序设计、数据结构、Java语言程序设计等语言类课程,引入浙江大学PTA平台(ProgrammingTeachingAssistant),系统支持自动考试、评判。课程设计安排在学期结束前1-2周,布置一个大的作业,2-3个学生一组,共同完成。综合实训课是运用多门课程知识的综合实践类课程,比如:在开设数据结构、Java程序设计、Web程序设计之后,安排软件项目实训课,使学生了解一个完整的软件开发过程。设置创新创业与科技活动模块,鼓励学生积极参加学科竞赛和学术科技活动,要求在大学四年中至少参加一次全国大学生创新创业、互联网+、挑战杯等竞赛活动,或者参与教师主持的科研项目,发表一篇学术论文,或者获得CCF软件能力认证、PAT计算机程序设计能力考试等证书。 4结束语 探索与实践新型本科院校软件人才培养模式,注重培养工程能力强的软件应用人才具有重要的理论和现实意义。本文以软件工程方法学为指导,以工程化应用型人才培养为目标,系统构建模块化软件工程专业课程体系和循序渐进的实践教育体系,切实提高软件人才培养质量。 作者:谢飞 范庆春 单位:合肥师范学院计算机学院 软件工程专业论文:远程开放教育软件工程专业创建 摘要:随着我国科学技术的发展,电子信息技术已经被广泛应用。远程开放教育在时代进步的潮流中,将多媒体信息技术开始软件工程专业应用。软件工程专业是远程开放教育开设的新专业,旨在满足社会需求。笔者结合当前我国对软件人才的迫切需要,提出社会发展进程中存在的问题,针对软件工程专业教学模式进行了探讨。 关键词:远程开放教育;软件工程;专业建设 一、国内软件市场人才要求 我国与印度同属为发展中国家,但是我国的软件出口数量却落后于印度。虽然我国的软件市场在不断丰富和增长,可是软件的整体发展还较为缓慢,仍然处于初级阶段,这为我国的软件市场提供了更为广阔的发展空间,软件工程将会得到相关部门的大力扶持。目前我国的软件市场人才处于较为匮乏时期,高端人才更为稀少。所以,针对国内的现状和市场需求的不断增长,应该开放教育来弥补高校教育中的人才培养疏漏,为更多的人才提供较多的学习机会和成长空间。 二、软件工程专业建设的缺陷 我国计算机软件专业教育与其他发达国家相比,其标准化程度、国家化水平都明显落后。第一,我国软件毕业人员的英语教育水平相对较弱。软件高新产业中,英语是进行交流的第一语言;印度能够出口大批软件,与英语软件人才的储备是紧密相连的。我国的高端人才,在英语的各方面能力都阻碍了国际化的交流。因此,英语水平的提高成为了软件人才外流的重要原因之一。第二,我国的高校教材更新频率相对较低,与软件行业的发展相比,具有严重的滞后性,所以,大批毕业生难以面临企业工作的需求。印度的相关教育模式较之我国,更新频率较快,每年都会进行更新,这就为英语人才的储备提供了客观条件与学习环境。 三、依托电大优势,发挥创新精神 1.教学课程内容的更新。在进行软件专业化教育过程中,教育部门应该依据每个学科与学生的特征,结合实际情况,制定操作性较强的教学计划,防止过度注重理论化。教学方案的制定也应该以数据库知识的储备、软件工程知识的更新以及程序设计的变化为基础。软件工程专业与其它专业相比,具有变化速度快的特点,教学更要应该保持实时更新,与实际社会需求情况接轨。 2.教师队伍素质的提升。软件工程专业人才的培养需要专业性强、实践能力丰富的师资队伍。教师对学生的学习有重要的引导作用,也是教学过程的主要实施者。所以,想要完善相关专业建设,可以从师资队伍入手,以及其知识的掌握深度。软件工程的特征决定了基本理论与方法,通常都要经过很长时间的经验积累。因此,中青年教师不仅仅是课程的教授者,也是程序的设计与软件开发工程的负责人,所以,教学课程还是以年轻教师担任较为适宜。 3.教师教学手段的丰富。教学手段是否合理在很大程度上决定了教学效果的好坏,也是教学工作中必不可少的环节。软件工程专业,很多课程都具备较强的实践性,有些课程除理论教学外,上机实习和动手实践是更为有效的教学手段。多媒体技术的发展为课程的教授提供了客观条件,教师可以利用多媒体教学手段,将内容贯穿于课堂当中,必要时进行上机操作。由于软件专业工程专业性较强,学校可以邀请负责人进行讲解,帮助学生理解。 4.实践应用性的增强。实践教学是以理论教学为基础,深度培养学生分析问题与解决问题的能力,强化他们的专业实践,设置必要的教学环节,进行师生之间的互动。实践教学的地位极其重要,加强实践教学,将教学质量的提高作为日常工作的工作内容,进行全面的统筹,加强各方面的协调,确保实践教学能够落实到各个环节。实践教学基地是实践教学环节得到落实的重要条件,应该依据软件工程课程,进行科学、合理的安排,并建设实践教学基地。产学研三者的紧密结合,对于提升学校的教学质量、教师的整体素质以及整个师资队伍的科研水平有极大的便利。教科研相长,产教结合,更加有利于培养学生掌握理论知识,增强应用型人才,减少学生适应社会的时间,提高就业的竞争性,满足社会需求。因此,在专业建设期间,需要加强校企合作,扩大产学研合作范围,力争有更大成果。 四、结语 综上所述,优秀的师资队伍,需要客观条件的搭建来实现,建立好一个基地是为我们开设软件工程专业的重要保障。相关部门与单位要坚持开拓创新,探索新思路,为社会培养出更加优秀的人才,实现我国人才兴国战略。 作者:马宜佟 单位:沈阳市第三十六中学 软件工程专业论文:软件工程专业程序设计课程群创建 摘要:程序设计课程群是软件工程专业系列课程的重要组成部分,建设该课程群有利于提高学生程序设计能力,进而提高就业竞争力。分析了学生在学习程序设计课程中的一些问题,提出了程序设计课程群的主要知识和能力体系要求,通过精讲课程主要内容、大规模开展程序设计训练、课程设计、改革考核与评价方式等方法进行课程群教学改革,取得了较好的教学效果。 关键词:软件工程;程序设计;课程群;建设;实践 软件工程专业的培养目标是面向我国软件产业培养急需的工程应用型人才。软件产业的发展要求学生具备较强的系统分析、设计、开发与维护能力[1]。为培养学生软件系统方面的相关能力,许多高校的软件工程专业都设置了系列课程模块,如程序设计课程模块、网络技术课程模块、计算机体系和操作系统课程模块、软件工程课程模块等,这些模块往往是一些单独课程的组合,有很多学生学了这门课程,又忘记了那门课程,到毕业时专业能力达不到社会所要求的层次。程序设计课程群是软件工程专业系列课程的重要组成部分,其承载的技能培养目标是专业培养的子目标[2],处于非常重要的地位。课程群建设是专业建设的一部分[3],有利于打通课程知识脉络,避免课程内容重复或前后脱节,使前后连贯,内容融合,进而获得整体优势[4]。程序设计课程群主要培养计算思维能力、算法设计与分析能力、程序设计与实现能力和系统分析开发能力[5]。学生通过程序设计课程群的学习,可掌握1~2门程序设计语言,更进一步理解程序设计方法,熟练掌握常用的数据结构和算法,形成良好的程序设计风格,可独立分析、设计和开发中小型软件系统。所以对程序设计课程群进行研究并积极实践对专业培养目标的实现具有重要现实意义。 1问题分析 目前,大多数高校信息类相关专业都开设了程序设计系列课程,一般为C语言程序设计、数据结构与算法、java程序设计等。许多高校都将C程序设计作为第一门程序设计课程[6],一般安排在第一学期或者第二学期,学完C语言之后,再学其他程序设计课程,如数据结构等。由于C语言本身比较灵活且语法内容比较多,对于初学者来说并不太好掌握。一些教师在授课过程中,没有站在软件设计的高度思考教学内容,往往过多地强调语言成分的语法和语义,而忽视了计算思维能力[7]的培养,使学生从开始就扎进程序设计语言的细枝末节中去,忽略了软件工程思想的渗透,到最后学生掌握了一些语法,却不能写出较为优美的程序或没有形成较好的程序设计思维和风格。算法是程序的灵魂,数据结构和算法在课程群中具有基础和核心地位[8]。在实际教学过程中,学生普遍反映数据结构和算法课程抽象难学,在学习和实际应用中出现的问题比较多,很难写出能正确运行的程序,学习过程中成就感不强,学完之后还是不知道如何应用,很难达到预期的效果。由于在前期的学习中,程序设计基础没有打牢,对常用的数据结构和算法没有真正掌握,模块化程序设计思维没有有效建立,良好的程序设计风格没有形成,导致后续的高级面向对象语言程序设计学习很难深入,最终导致软件分析与设计能力得不到有效的提升。 2程序设计课程群建设 我校软件工程专业采取校企合作办学模式,由吉首大学和中软国际共同建设,企业参与人才培养的全过程,在具体实施过程中,学校侧重于理论教学部分,企业侧重于实践教学部分[9]。程序设计课程群是软件工程专业课程体系的重要组成部分,企业参与讨论与建设,确定该课程群以软件设计能力培养为主线,以C语言程序设计、数据结构、面向对象技术、算法设计与分析几门课程为基础组建课程群,C语言程序设计开设在第一、二学期,数据结构、面向对象技术、算法设计与分析分别开设在第三、四、五学期,第六学期可开设JavaWeb程序设计或Web程序设计,使课程群在能力构建和开设形式方面形成一个不间断的体系。 3程序设计课程群实施 3.1精讲课程主要内容,提高程序设计能力 课程组教师首先需要站在软件分析与设计的角度研究各门课程在课程群中的地位和作用,把课程群中的系列课程作为一个有机的整体,研究各门课程的主要教学内容,针对课程重点、难点、疑惑点进行精讲,做到理论与实践课并重,有效提高学生程序设计水平。在课程群系列课程中,由于第一门课程是后续系列课程的基础,所以学生必须掌握它。在C语言的教学中,要渗透软件分析与设计的思想,把握程序的主要框架,不纠缠于一些细枝末节的语法。函数是C语言教学中的重点,需要重点突破,从模块设计的角度来考虑函数设计,对于一个具体的函数,则要掌握函数的返回类型、参数类型以及参数个数。如用函数处理一个数组时,需要传递数组的首地址和数组的规模,首地址用指针表示,数组的规模则有两种表示方法,一是数组的长度,二是数组的起始下标和结束下标,这两种方式可能会分别应用到不同的地方,如果教师一直不提示第二种方法,则将来学生在写数组做参数的递归程序时可能会遇到困难。从多年的教学实践来看,如果学生真正掌握了函数设计方法,再加上必要的算法知识,一般情况下,程序设计就会变得得心应手而且十分有趣;对于数据结构课程,采取以数据存储(内存)为主线的方法,将重点放在数据的存储和相关算法方面,在算法实现时渗透模块化的思想,需注意头文件和实现文件的定义,因为数据结构内容具有很强的连贯性且程序的初始化工作较多,如链表的具体应用则先要建立链表、树的遍历和节点的查找等则先要建立树、图的遍历和最短路径及关键路径等则先要建立图,在实验过程中有意识地把一些基础工作放入头文件,则会极大地提高实验的效率;在面向对象技术教学中,以面向对象程序设计的方法为核心,以语言中的面向对象机制为主要内容,在适当的时候引入《ThinkinginC++》、《EffectiveC++》、《ThinkinginJa-va》等优秀书籍中的一些思想和经验,要注重面向对象程序设计过程中大的程序框架的合理性以及具体处理算法的正确性;在讲授算法设计与分析的时候,应集中精力将主要算法讲透,直到学生学懂为止,在实现算法时,应充分运用面向对象设计的思想,将算法封装在类中;在web程序设计教学中,采用案例驱动的方式,精讲软件项目设计中的主要方法和主要问题,培养学生工程化设计思想。精讲的目的是让学生多练,精讲之后要布置任务并为学生提供练习环境和相关指导,必须充分发挥教师主导和学生主体作用,教师要认真检查学生的作业、实验和练习情况,及时纠正问题,引导学生运用软件工程的思想设计程序,培养学生良好的程序设计思维和程序设计风格,激发学生自觉学习和实现相关算法,最终提高程序设计能力。 3.2大规模开展程序设计训练,培养程序设计能力 为培养学生算法设计与分析能力,学院在晚上和周末开放了实验室,在实验室搭建了ACM在线测评系统(ACMOnlineJudgeSystem),并接入了校园网,结合C程序设计、数据结构与算法等课程部署了大量习题。学院利用课余时间,有计划组织学生进入实验室进行编程训练,并为每次训练配备了指导教师。平时,学生也可以在寝室登录平台进行训练。教师在讲授C程序设计等课程的时候,要求学生利用课余时间在ACM平台上完成至少上百道题的训练,并将完成情况计入课程的平时成绩。通过大规模开展在线程序设计训练,学生的程序设计能力有了明显的提高。 3.3开展课程设计训练,培养工程化设计思想 在课程群中除开设理论课程对应的实验项目之外,还针对整门课程开设了综合性课程设计项目,如C语言课程设计、面向对象技术课程设计、javaweb课程设计,单个课程设计周期为1-4周。学院课程设计项目主要由企业教师指导完成,该类项目采用分组形式,在组内模拟软件企业运行模式设置相关岗位角色,学生在仿真企业环境中,利用仿真的软件开发项目,进行轮岗和角色体验,培养学生的软件工程应用能力、软件项目开发与测试能力、职业素质等,从而使学生熟悉软件项目开发流程和规范,养成良好的软件开发习惯。课程设计结束时,要求学生演示并讲解自己的项目开发情况,由学院教师和企业教师组成评定小组进行评分。 3.4改革考核与评价方式,理论与实践、平时与期末相结合 理论与实践相结合。程序设计课程群内的课程都是实践性很强的课程,其目的是运用所学的知识解决实际问题,决定了课程的期末考核要综合考虑理论和实践两部分内容。理论部分主要考查学生对基本概念的理解和对基本知识的掌握情况,实践部分侧重考查学生的综合应用能力,这两部分成绩都在期末完成,占课程总成绩的60%左右。平时与期末相结合。期末考核重在体现学习的结果,平时成绩则侧重于体现学习过程,在课程总成绩中,平时成绩占40%左右,即一门课程约有40分来自平时的学习过程。平时成绩一般由出勤、作业和平时实验情况、课程设计情况组成。在学期开始第一堂课的时候将课程评分方式告知每一个学生,必须抓紧平时的学习,若平时分小于20分,则取消课程考试资格或直接将课程总成绩记为不及格。 4结语 程序设计课程群对培养学生计算思维能力、算法设计与分析能力、系统分析与设计能力具有重要作用。本文分析了学生在课程群学习中遇到的一些问题,从软件分析与设计的角度对课程群进行建设与改革,提出了以C语言程序设计、数据结构、面向对象技术、算法设计与分析等几门课程为基础组建程序设计课程群,给出了课程群的主要知识与能力体系要求,通过精讲课程主要内容、大规模有组织地开展程序设计训练、企业教师指导课程设计、改革考核与评价方式等方法进行教学改革,学生的程序设计能力得了到较大的提高。 作者:徐洪智 蔡国民 单位:吉首大学软件服务外包学院 软件工程专业论文:软件工程专业实践教学研究 0引言随着现代社会的进步和各种移动终端设备的使用,当前市场对大数据处理和移动技术支持方面的人才提出了新的要求。一些大型软件企业正在实施大数据处理的软件项目及对相应软件产品移动需求的支持,如淘宝、百度等。高校软件工程专业作为与软件行业关系最为密切的专业,为使本专业毕业生具备更好的大数据处理和移动开发能力,更适应软件行业的需求,应该以新的行业需求为导向,开展有针对性的相关软件开发实践。目前,软件工程专业实践教学主要以工程化项目进行驱动。文献[1]提出以项目实践为中心的软件工程课程教学大纲的制定以及项目实践教学方法、教学内容和要求,全面提高计算机专业学生的工程化能力。文献[2]提出理论与项目实践结合的案例教学方法,即通过设计适合学生的项目课题,让学生在项目中应用所学的理论和技术,从而更牢固地掌握知识。文献[3]提出以开发工程项目为主线开展软件工程专业课程设计实践教学的方法。文献[4]提出统一实践课程的课程群建设思路,根据具体案例详细阐述整合实践课程的实施方案。这些项目实施方法在一定程度上增强了学生的动手实践能力,在培养学生的开发能力上取得了一定的效果,但仍然存在一些问题,如项目的设置比较简单、项目要求与企业需求有较大差距、项目开发过程缺乏有效的过程管理等。这些问题的存在使得软件工程专业学生的专业素质和能力不能完全满足软件行业的现实需求。 1教学中的问题 1.1项目的设置不够深入,同质化现象严重 不同教学阶段设置的配套项目要求大致相似,即按照软件工程的7层瀑布模型开发管理信息系统。系统主要的功能是用户将数据插入数据库、简单处理数据、显示数据至界面,这些功能要求具有较强的同质性。 1.2项目的规模和难度较小,与企业项目有较大差距 以往教学用项目一般要求学生开发如注册、登录等简单模块,涉及的功能规模较小,体现不出软件工程化的特征,特别是软件功能几乎不涉及大量数据有效存储和处理的问题,项目难度较小,与现实需求脱节。随着大数据时代的到来,软件系统需要处理的数据量越来越大,如果项目不体现大数据量、数据的有效存储及复杂处理过程,则项目不能反映市场特点;而且,如果软件项目的实施不支持移动技术,那么也无法适应日益增长的移动用户群体需求。 1.3项目的开发以个人为主,缺少团队开发的环节 以往教学过程中的项目开发大多由学生个体独立完成,极少由学生团队完成。当前的工程化软件一般规模较大,必须组建开发团队来完成。团队开发项目会使项目开发的本质发生改变,这不仅指团队有多个成员,更重要的是团队成员的分工以及成员之间的沟通与协同能力,涉及人员配置、共同策划、协作完成、进度控制等项目管理中各个环节,这是进行大型软件项目开发必需的技能和经验。 2企业项目驱动教学改革措施 项目的实践必须本着循序渐进的原则,按照教学大纲的要求进行专业基础知识的教学和实践,而在重要实践环节引入企业项目,引导学生按照企业的要求进行软件项目的开发实践,从而培养出满足企业岗位需求的合格人才。教师通过市场调查及与合作企业的交流,掌握企业项目的需求,可选择具有海量数据存储、处理、移动开发等功能的企业项目作为实践项目。当项目确定后,为每个项目形成需求文档,方便随时启动项目。 2.1项目设置逐步深入,消除同质化 项目实践从本科一年级或二年级开始起步,这个阶段的学生只掌握了基础知识,项目实践更注重于程序逻辑的编写。项目规模相对较小,但强调程序逻辑。本阶段可以设置一些逻辑性、趣味性强的游戏程序开发项目,以激发学生的学习兴趣,促进学生掌握项目开发必需的基础知识,如基于Android系统的手机游戏开发。在本科二年级第2学期到三年级第1学期的项目实践中期,学生已经具备一定的软件开发能力,能够从事数据库的设计和操作、Web项目开发,可以进行相对大型项目的项目开发。本阶段可以设置网络流量分析系统的开发项目,该系统用于监控交换机、路由器、IP网络在指定时间内的Netflow数据流,通过统计分析这些流量数据可以查看不同应用软件的流量信息,如QQ、电子邮件、FTP应用占用网络带宽的情况等。系统运行的过程中需要不停采集设备、网络的流量数据报,因此需要存储和处理海量数据。该项目的实践对锻炼学生的处理海量数据存储、检索等技能有积极作用。在本科三年级第2学期到四年级第1学期的项目实践后期,学生已经具备一定的大数据量问题处理能力并学会企业开发技术,此时配置数据量大、复杂的实际企业项目,可以进一步提高学生的开发能力和积累项目经验,为毕业和就业奠定基础。本阶段设置的实践项目为网络舆情分析系统。该系统通过主动采集主要网络媒体(如新浪、凤凰、搜狐等)信息,获取当前网络舆论情报并将关注的舆论热点通过曲线图、饼图、热点地图等统计图表加以显示,使用户能够直观地掌握所关注的网络舆情。该系统可以应用于政府部门,也可以应用于商业领域,如汽车厂商可以通过本系统了解自己产品的问题(如大众汽车断轴、DSG问题所引发的网络舆情热点)并采取相应的解决方案。上述3个阶段项目侧重点不同,项目难度逐层深入,有利于逐步提升学生的实践能力,缩小学生能力与企业用人需求之间的差距。 2.2以企业项目要求实施项目 1)起步阶段项目。实践项目开发需要软件开发人员具有良好的面向对象分析、编程的能力,能够熟练掌握集合的使用,了解图形界面编程,掌握多线程程序设计和文件操作,特别是具有一定的基于Android的移动开发经验。本阶段项目是基于Android的手机游戏开发,项目所需的知识体系如下:①面向对象编程,对游戏中所有对象进行分析、抽象,形成抽象类、接口、具体类以及类与类之间的关系;②集合与常用算法,对象的存储涉及集合以及相关算法,如遍历、排序、查找等;③图形界面编程,游戏对象需要以图形界面编程来展示;④多线程编程,不同的游戏对象有不同的行为,需要利用多线程处理;⑤文件操作,游戏对象需要加载文件中的信息形成游戏场景等;⑥移动开发,将游戏迁移至Android平台,使游戏软件能够为手机用户所使用。游戏开发能够提升学生开发软件的兴趣,有利于学生系统、深入地掌握软件开发必要的知识,为后续的学习和开发打下良好的基础,特别是通过将游戏移植到Android平台可以初步掌握移动开发的基本知识,为后续的移动开发打下必要的基础。 2)中级阶段项目。实践项目开发需要具备良好的JSP/Servlet、数据库设计与实现、数据处理以及相关行业开发经验。网络流量分析系统是一个网络管理行业的工具软件,需要对行业需求有所了解,重要的是软件开发人员需要学会抓取和解析Netflow协议报文、存储并处理海量数据,因此项目具有较大的难度。该项目的知识点主要包括以下方面:①Web开发技术,掌握JSP/Servlet开发技术,能够进行Web应用编程;②数据库技术,掌握主流的数据库产品如Oracle、MySQL等,熟练进行系统分析和数据库设计,熟练使用编程语言进行数据库的访问;③Netflow协议,理解Netflow协议,掌握协议中每个字段的意义;④数据抓取与解析,学会使用模拟设备发Netflow数据报的方法并通过编程抓取数据报,根据Netflow协议格式解析数据报,将每个字段的内容插入数据库;⑤海量数据处理,系统时刻抓取设备和IP组的数据报,因此需要存储的数据量非常庞大,考虑到系统对查询的要求较高,因而海量的数据需要按时间规则自动建立表格,每条流量数据根据其时间戳确定要插入的表格;⑥数据处理,将信息按设备、IP组进行统计处理并以图形加以显示,使用户能够直观地掌握网络流量情况。项目的实施涉及数据报的抓取、解析以及海量数据存储与处理等问题,项目难度接近企业真实项目,有利于迅速提高学生的实践能力。 3)高级阶段项目。该阶段项目为网络舆情分析系统,以大数据、移动开发为出发点而设计,是真实的企业项目,贴合企业需求。项目的主要技术点有以下方面:①行业项目需求分析,分析项目的功能、运行环境、适用行业等;②数据来源,项目所涉及的数据主要来自网络,如新浪、搜狐、凤凰等主流媒体网站,项目需要从这些网站上抓取舆论数据,进行舆情分析;③数据抓取技术,需要利用网络蜘蛛等工具进行网络数据抓取并使用内存数据库提高数据插入的效率;④数据存储,主流媒体的海量数据用一个数据表难以有效地存储和检索,因此需要按时间段来分表存放,这样才能够为数据表格建立索引,方便用户进行高效查询;⑤数据分析,对海量数据进行检索和分析,形成对用户有用的统计信息;⑥权限管理,通过系统授予/撤销权限等操作限制用户的行为;⑦移动支持,系统能够支持舆情关注人员在任意时刻、任何地点通过Android平台进行访问。 2.3以团队为基础实施项目的开发 随着软件规模的增加,软件的复杂性也随之增加,因此工程化软件开发方式是以团队开发为基础。团队开发涉及项目功能分割、团队成员协作、人员调配、进度控制等具体要求,是一种过程比较复杂、难度较大的开发方式,因此学生需要进行适当的培训和训练才能成功地实施大型项目。团队开发训练包括如下几个部分:①团队的组建,团队成员之间要相互了解、相互信任,能够为完成同一目标而通力协作;②团队协作,多个成员共同完成一个软件项目需要使用合适的源代码管理服务器,团队成员通过客户机共享服务器中的资源进行开发,由于多人同时修改源代码,可能造成不同成员的修改发生冲突,团队开发人员要制订和熟练掌握团队开发规则,如遵循修改的操作顺序、应用多配置文件等,以避免编程过程发生冲突;③任务分割,团队成员在项目负责人的领导下进行充分的交流,将项目划分为多个可同时进行的子任务,团队各成员负责若干部分进行并行开发;④进度控制与人员调配,项目成员每天提交进度报告给项目负责人,项目负责人根据报告掌握项目进度并根据项目进度情况进行适当的人员调配,使项目能够顺利进行。网络流量分析系统和网络舆情分析系统,项目规模较大、难度较高,需要进行团队开发。其中,网络流量分析系统工作量相对稍小,可以组建3人的团队进行开发;而网络舆情分析系统复杂程度较高,需要进行Web版本的开发和Android版本的开发,需要组建至少5人以上的开发团队。通过团队方式开发企业项目可以提高学生的项目领导能力和项目管理能力,进一步提高学生的专业素质。 3结语 为了保证项目的质量,不同阶段的项目侧重点不同,降低了项目的同质性,而且项目的需求规模较大,满足了行业软件的需求,特别是海量数据处理和移动开发的引入缩小了与企业项目之间的差距;同时,通过团队开发训练,学生具备了项目领导、项目管理、团队开发的基本能力,掌握了企业需要的团队开发技能,所具备的专业素质更符合企业的岗位需求,增强了就业能力。 作者:邓泽林 单位:长沙理工大学 软件工程专业论文:软件工程专业建设中服务外包定位 随着全球信息技术的快速发展,全球产业转移正快速地由制造业转向到服务业,服务外包因此得到了极大的发展空间。近些年来,参与服务外包的发展中国家越来越多,服务外包产生的影响也越来越受到人们的重视。近几年中国政府对服务外包的发展极为重视。财政部、国家税务总局等五部委的《关于技术先进型服务企业有关税收政策问题的通知》(财税[2009]63号)文件明确规定了ITO、BPO及KPO范围。信息技术外包ITO(InformationTechnologyOutsourcing)包括软件研发及外包、信息技术研发服务外包和信息系统运营维护外包等;商业流程外包BPO(BusinessProcessOutsourcing)包括企业业务流程设计服务、企业内部管理服务、企业运营服务和企业供应链服务等;以及外包演变过程中出现的新形式——知识流程外包KPO(KnowledgeProcessOutsourcing)包括知识产权研究、工业设计、分析和数据挖掘、工程设计等。其中信息技术外包ITO是最基本的外包方式,技术及数据的处理一般都属于信息技术外包ITO范围,信息技术外包(ITO)仍占主导地位,主要集中在软件研发外包和信息系统运营维护外包。而且2009年教育部、商务部在联合的《关于加强服务外包人才培养促进高校毕业生就业工作的若干意见》中早就指出:高校要根据服务外包产业快速发展的需要,调整服务外包人才培养结构,扩大服务外包人才培养规模,着力提高人才培养质量。因此,软件工程专业建设中,首先要在设计或制定专业人才培养方案时从专业人才培养方案的基本要素来寻找一些切入点,来更好地实现高等教育及职业教育为社会及行业发展的基本服务和基本支撑。 1人才培养目标 人才培养目标就是依据社会需求和自身特点所确定的,在一定时期内的人才培养定位及服务面向。以我校拟申报软件工程本科专业为例,首先,要根据学校的办学定位和专业设置部门的实际情况,设定基本知识和能力要求;其次,是有针对性对具体服务面向提出要求。自2009年,国务院批准武汉成为中国服务外包示范城市以来,武汉已成为中国软件及服务外包业增长最快、集聚度最高的城市之一。仅2014年全市的服务外包产业营业收入就达1020亿元,同比增长41.8%。其中离岸服务外包业务合同金额达5.6亿美元,同比增长10%。全市从事服务外包的企业已达900家,员工数量超过20万人。作为武汉实施光谷和硅谷“双谷合作”战略的核心启动项目——武汉软件新城,也同时获批为服务外包示范基地。该软件新城位于花山生态新城,于2012年5月开工建设,总面积约3.4km2,是中部最大的软件开发、服务外包基地。作为武汉地区的一所高校,加强服务外包在软件工程专业建设中的地位尤其重要。于是,我们的专业人才培养目标可以大致确定为:本专业按照软件行业和现代服务业发展对人才的要求,立足武汉,面向湖北地区,培养适应软件市场发展需要,德、智、体、美全面发展,掌握自然科学和人文社科基础知识,掌握计算机科学基础理论、软件工程专业的基础知识及应用知识,具有软件开发能力以及软件开发实践的初步经验和项目组织的基本能力,能够在软件行业和信息技术外包ITO企事业单位,从事软件设计、开发、管理、服务等工作的应用型高素质人才。 2人才培养规格及特色 人才培养规格是实现人才培养目标的工作细化,主要说明本专业毕业生应具备的专业知识、专业能力和专业核心能力、基本素质等。根据我们与IT企业多年合作的经历,我们认为当今IT行业对毕业生的能力需求有: (1)学生应掌握IT行业中使用的主流软件开发平台与工具,这包括:(1)C语言和VC++; (2)JAVA语言或基于JSP或SSH的WEB开发技术,甚至是基于.NET的WEB开发技术; (3)近年来需求旺盛的手机软件开发技术;同时对掌握嵌入式软件开发和软件测试技术与工具的学生的需求量也很大。同时,IT行业也十分看重学生具有的软件项目开发经历。除此之外也比较看重学生的外语水平和人际交往能力。于是结合服务外包的具体要求,我们可以从以下几个方面来展示特色。 (1)知识结构包括基础理论知识水平、专业知识与技能要求、综合应用知识要求。除专业相关的内容外,可以强调的是:了解软件服务外包的全过程,掌握信息技术外包ITO的JAVA方向基本知识。 (2)能力结构包括社会能力(语言文字表达能力、信息获取与处理能力、组织协调与现场处理能力、沟通交流与社会适应能力等),专业能力(专业基本能力、专项能力、岗位综合能力等)。强调:具备从事软件工程实践所需的实际专业能力;能阅读本专业的英文文献资料,具备一定的外语应用能力;具备团队协作能力、人际交往和沟通能力以及一定的组织管理能力;了解软件工程学科的前沿技术和软件行业的发展动态,具备一定的创新意识和创新能力;具备终身学习的能力。 (3)素质结构包括的基本素质有政治素质、人文素质、科学素质、心理素质、身体素质等;专业素质有法律意识、职业道德、安全质量意识、环境意识、敬业精神、团队精神等。强调:具有健全的人格、强壮的体魄,良好的道德修养、心理素质和行为习惯,具有诚实守信、热爱劳动、遵纪守法、自律谦让、团结协作的品质。使学生具备工作岗位需求的基本素质和特殊素质。 (4)职业资格要求主要要求本专业学生必须积极参加各类综合素质培养及教育活动,并至少获得一定的学分才能毕业。如要求参加全国计算机技术与软件专业技术资格(水平)考试,或者全国服务外包岗位专业考试至少取得以下一项专业相关从业资格证书:软件设计师、软件测试师、信息技术外包ITO软件工程师、信息技术外包ITO软件测试工程师等。 3人才培养模式 人才培养模式主要是结合计算机类专业特色定位,从“校企合作、产学研结合、学工交替、订单培养”等方面提炼出的专业人才培养模式,主要是实现人才培养目标通过的途径。经过我们研究和讨论,要特别加强学校与学生未来就业行业的沟通。我们的人才培养模式可以概括为:通过校企合作,构建“123”人才培养模式,即1个培养目标,以培养从事软件设计、开发、管理、服务等工作的应用型高级专门人才为目标;2个主要就业面向,将信息技术外包ITO企事业与移动互联网软件开发企事业的岗位要求和行业的职业标准融入课程体系,提高学生上岗后的适应能力;3个评价主体,由学生、学校、企事业单位共同参与教学质量管理制度的制定,以及教学过程的监督与评价。 4课程 课程是融入服务外包行业特色的具体体现,其中包含课程的名称,设置相关课程的目的。根据课程的分类我们可以从以下几个方面进行。 (1)通识课。通识教育有两层意义:其一是指一种通才的教育;其二是指一种全人的教育。通识课主要是指高等学校根据各专业培养目标而开设的自然科学和人文社会科学基本理论、基本技能的课程,它具体体现在前面所述的人才培养规格及特色中。 (2)学科基础课。学科基础课由各院系根据专业人才培养目标及主干学科的基本要求来拟定的,由学校教学主管部门如教务处来统筹协调。同一学科类的各个专业,基础课程大体相同。为达到软件工程专业的人才培养目标和基本要求,本专业的基础课都规定为专业必修课。为提高教育质量,使软件工程专业的学生具有适应社会发展的能力,学校都很重视加强学科专业基础课程的教学,往往会选派经验丰富、水平较高的教师担任基础课教学工作,对专业学生发展起到引领作用。在具体设置中,可以考虑服务外包概论,甚至信息技术外包ITO接包操作实务之类的课程。以适应服务外包行业的需要。 (3)专业课专业课(含专业拓展课及综合应用课)一般由院系根据专业人才培养目标和特色定位自主拟定。专业课与通识课、学科基础课只是相对而言的。专业课是指高等学校根据所制定的培养目标而开设的专业知识和专业技能课程,设置专业课的是让学生掌握必需的专业基本理论、专业基本知识和专业基本技能,以达到让学生了解专业的前沿科学技术与发展趋势的目的,通过专业培养,提高学生分析、解决本专业范围内一般问题的能力。因为计算机类学科的发展比较迅速,且专业知识的范围也广泛,在多数情况下,专业课的设置并非一成不变。因为在学校里只能打下一定专业知识基础,而更专业或特殊的知识,需要我们的学生在未来的实际工作岗位上继续学习。因此,软件工程专业的课程设置及主要的课程内容,应在一段时期内具有一定的稳定性。在专业必修课的具体设置中,可考虑如信息技术外包ITO其一方向的相关课程的嵌入,如:面向对象编程、Java程序设计、JavaEE应用开发技术、软件体系结构与设计、软件测试、软件项目管理等。在专业拓展课具体设置中,可考虑如信息技术外包ITO未来面对的形形色色的开发对象的嵌入,如:网页与网站建设、商务信息管理系统设计与实现、移动网络应用开发、嵌入式系统开发等。在专业综合应用课具体设置中,可考虑如信息技术外包ITO其一方向的系统训练课程的嵌入,如:服务外包项目实务、软件项目综合开发实践等。 5结语 根据国家商务部2014年公布的数据:2014年1~8月,我国承接离岸信息技术外包(ITO)、知识流程外包(KPO)和业务流程外包(BPO)执行金额分别为169.3亿美元、108.7亿美元和45.6亿美元,占比分别为52.3%、33.6%和14.1%,同比分别增长23%、32.4%和28.5%。信息技术外包仍占主导地位,知识产权研究、分析学和数据挖掘、动漫及网游设计研发、工业设计等知识流程外包业务增长迅速。正是基于这样的考虑,我们在进行计算机类专业为服务外包行业/软件行业服务的研究同时,不仅仅局限在计算机类专业人才培养方案这个层面上,而是应将软件工程专业建设放入一个更广的社会背景中去思考。根据高等教育的目的,不断研究专业人才培养模式,从课程嵌入、校中厂(在校内用企业标准培养学生)、厂中校(在企业中进一步加强学生能力的提高)三个不同层次上进一步拓展计算机类专业发展为服务外包行业的发展提供支撑,以及学校与服务外包企业的融合。 作者:周天宏 张思卿 戴歆 单位:武汉商学院信息工程系 郑州科技学院信息工程学院 软件工程专业论文:软件工程专业人才培养探究 随着经济、社会和技术的不断发展,骨干高职院校课程建设和人才培养模式必须及时调整,满足企业和学生的双重需求。课程建设和人才培养模式建设不能闭门造车,学习兄弟院校优秀的经验是一条捷径,但是也不能完全照搬,毕竟各个院校所处的区域不同,社会、经济、文化等发展程度上参差不齐,人才培养模式和课程建设必须从区域企业需求、院校实际情况、专业基础等客观情况出发。 一、目前高职院校软件工程专业建设存在的问题 高职院校经过十几年的高速发展,数量上和规模上有了显著提高,为社会和企业提供了大量技能型人才,为中华民族的腾飞做出了巨大贡献。近几年由于信息技术特别是软件外包发展迅速,软件工程专业也得到蓬勃的发展,具有计算机和信息背景的高职院校普遍开设了软件工程专业。近5年通过调查研究,发现在人才培养方面软件工程专业存在一系列以下问题: 1、院校“同质化”严重,职业特色不够突出 高职院校人才培养模式和专业设置关系着高职院校的生存和发展,在高等教育“大众化”的背景下,高职院校的专业设置“同质化”十分严重,完全没有从区域经济发展的需求,盲目投入巨大资金,造成资源上巨大浪费。现在大部分高职院校软件专业学生的理念、知识和技能与社会和企业的期望差距非常大,无法满足需求,造成“结构性失调”。[2]大部分高职院校重理论,轻实践,照搬本科院校的学历教育,没有显著突出职业教育的特点。高职教育培养第一线需要的高级应用型人才,培养的人才具备与高等教育相适应的基本知识、理论和技能,掌握相应的新知识、新技能和新工艺,有较强的实践动手能力和分析、解决生产实际问题的能力。 2、人才培养与社会要求差距大矛盾突出 企业为了适应社会发展和满足消费者的需求,对创新型高素质技能人才需求极大,提高产品的质量,获取最大的回报。但现实是企业招聘到合适人才的机会越来越小,而中国每年近七百万的大学毕生业大部分找不到合适的工作,特别是高职院校学生就业质量不理想。社会对技术人才需求量非常大和大部分学生找不到合适工作的矛盾,主要原因是院校的人才培养模式落后,所传授知识难以满足社会企业的需求,不适应社会需求。 3、“工学结合、校企合作”层次低 高职院校领导都具有“工学结合、校企合作”的思维,但受多个因素影响,大部分高职院校的校企合作仅仅停留在备忘录或纸面协议,即使有,深度也不够,仅仅是高职院校利用寒暑假组织学生到企业定岗实习,学生在流水线从事简单枯燥的机械式工作,与期望相差甚远,未能充分体现工学结合理念,效果不佳。 二、提高高职院校软件工程专业人才培养模式和课程建设的措施 《教育部财政部关于进一步推进“国家示范性高等职业院校建设计划”实施工作的通知》(教高[2010]8号)中,对专业建设与人才培养模式改革提出了具体要求。陕西职业技术学院通过对软件专业人才培养模式和课程体系建设进行深度改革,促进软件专业建设更上一层楼,具体措施如下: 1、吃透政府政策,立足服务区域产业,准确定位专业建设方向 软件外包产业被称为“高科技、高附加值的绿色产业”。根据《西安软件外包发展规划(2010-2015年)》,西安市软件外包发展的总体定位是成为国际软件外包中心之一,总体目标是成为全球知名的软件外包中心城市,服务区域经济发展。学院应抓住这次契机,为西安市软件外包储备人才。软件产业包含软件测试、软件架构、物联网、云计算、虚拟化、智能穿戴、智能家电、APP等新兴产业。在国家政策的鼓励和社会需求的推动下,新兴产业在未来的10年将有较大发展,成为中国由“中国制造”向“中国智造”产业升级的主力军。但是,目前许多高职院校软件工程专业的课程极少涉及上述核心技术,无法满足社会和企业的需求。高职院校为了提高软件专业学生的就业率和就业质量,领导和教师必须密切关注软件产业的发展趋势和热点,深入到软件企业调研,了解企业真正需求,预测未来几年软件发展热度,做好课程建设方面的知识储备。 2、紧抓市场契机,与企业深度合作,力求实现共赢 陕西职业技术学院处在西部大开发的桥头堡——西安,新的形势为西部高职院校和西部企业提供了合作机会,院校改变办学思维,主动要求相关企业合作办学,特别是软件外包的相关企业,使企业参与到软件工程专业的课程建设和人才培养上,学院根据企业反馈的信息,及时调整课程结构,优化教学内容,使学生第一时间学习企业最急需的技术,毕业后及时融入企业工作环境中,合作企业每年优先从毕业学生中选取优秀毕业生充实到企业中,分享合作办学的硕果,由被动转化为主动,解决“院校热、企业冷”的校企合作办学难题。高职院校对学生的培养目标定位在实用性“蓝领”人才,侧重于培养学生的专业技能、动手能力,院校和企业之间可以采取“联合办学”、“订单式”培养模式,使学生实际操作能力显著提高,院校的就业率得到保障。软件工程专业学生可以与西安高新区多家软件外包企业签订联合办学协议,为学生多方面提供带薪顶岗实习,熟悉企业工作流程。顶岗实习学生可以从最简单的软件测试开始,熟悉软件测试中的单元测试、模块测试、系统测试和集成测试等方法,掌握黑盒测试和白盒测试等技术,为自己就业奠定基础。 3、构建“校企合作,工学结合”的专业课程体系 “校企合作,工学结合”模式是目前高职院校相对成熟的人才培养模式,突出了高职院校教育的职业化,是高职院校公认的“金”模式,核心是骨干课程建设,使毕业生第一时间胜任工作岗位,短时间内获得更大发展空间。 三、结束语 高职院校人才培养要按照“企业引入学校、把课堂搬进车间”的思路,把握领会各级政府的政策方针,同时积极寻求与企业的合作,进一步加大校外实训基地的建设。经过几年建设,使陕西职业技术学院软件工程专业的人才培养质量显著提高,课程建设更加丰富,更加多元化,软件工程专业毕业生就业率与就业质量均有所突破,为陕西省区域经济的蓬勃发展添砖加瓦,尽自己应尽的责任。 作者:赵艳妮 郭华磊 单位:陕西职业技术学院计算机科学系 西安通信学院信息服务系 软件工程专业论文:软件工程专业Java语言教学改革 1前言 软件工程专业是一门实用性强、与企业紧密关联的专业,其教学质量决定了所培养学生的专业素养和软件从业能力,因此,大量的教学人员从各个方面对软件工程教学进行改革探讨。文献[1]提出以企业需求为导向的Java课程教学改革,着眼于提高学生实践能力;文献[2-3]提出基于教学团队增强系列课程的教学效果;文献[4]提出软件工程专业实践教学改革,提高学生的实践能力;文献[5]提出软件工程教学改革与学生能力评估的探讨,更客观地反映教学效果。在软件工程专业中,Java相关课程构成一组系列课程。这些课程之间相互关联,前修课程的教学效果直接影响后续课程的教学质量。因此,系列课程的教学计划、教学大纲、教学团队等元素要整体规划、统一安排,将多门课程的教学方案做成一个整体,使得各课程之间能够紧密衔接、阶段项目之间合理进阶,最终改善Java系列课程的整体教学效果。 2教学中的问题 课程之间衔接不够紧密,课程安排不合理传统Java系列课程在安排上存在如下问题。 1)课程安排不够紧密。在这些课程之间还要穿插DoNet课程,如C#语言程序设计、程序设计等,因此,学生在学习一段时间的Java课程后,又需要进行一段时间DoNet课程的学习,使得之前学习的Java知识容易被遗忘,教学效果差。 2)课程安排不合理。如JavaWeb程序设计与XML与Web应用这两门课程的讲解内容都是Web开发,可以合并为一门课程,而Java框架技术则是一门重要的企业级开发课程,没有配置足够的课时来保证课程的教学质量。教师之间缺乏交流,教学内容衔接不够Java系列课程较多,参与教学的教师较多,教师之间没有进行频繁有效的交流,这不仅使得教师之间难以形成良好的团队教学氛围,而且影响了教学效果。 1)教学内容衔接不够顺畅。不同课程的教师往往按照自己的理解进行课程的讲解,没有考虑到该课程的教学如何为后续课程的学习打下坚实基础。 2)教学案例进阶不够。不同教师的教学案例设计只考虑到本课程的教学需要,没有考虑本课程在整个系列课程中的位置,使得不同课程的教学案例之间几乎不存在继承性和延续性,导致整体教学难以有效地进阶,无法将学生的能力提升到一个新的高度。实践环节不够深入,难以提升学生的动手实践能力实践环节是保障学生动手能力的重要环节,安排适合每门课程的阶段项目是非常必要的。目前的教学没有考虑不同课程的实践重点,只注重完成相似功能的项目,难以深入全面地改善学生的实践能力。 3教学改革措施 修订教学计划针对传统Java教学中课程之间衔接不够紧密,课程安排不合理的问题,对教学计划进行修订,主要内容如下。 1)基础知识部分。该部分的课程为Java程序设计,课程主要讲解Java语言的基础,设定课时为64课时,开设时间为第一学年第二学期。 2)高级开发部分。本部分的课程将JavaWeb程序开发与XML与Web应用合并为Java高级编程,教学内容主要是结合Web开发技术讲解抽象的组件开发技术,如表单封装、数据库模板、数据库连接池、分页等常用组件的编写。本环节安排的课时为80课时,开设时间为第二学年第一学期。 3)企业级开发部分。企业开发部分的课程为Java框架技术(40学时)和Java框架技术实践(32学时),开设时间为第二学年的第二学期。通过这一系列的教学计划修订,在没有总体增加课时的基础上达到对Java系列课程教学方案的优化,使得Java系列课程能够尽早、连续地开出,而且每门主要课程的学习课时得到显著增加,有力地保证教学质量的提升。基于教学团队开发教学内容参与Java系列课程教学的教师自动组建教学团队,按照团队制订的教学大纲进行教学是保证Java系列课程深入有效开展的重要因素。因此,制订符合每个阶段课程的教学大纲是非常重要的。具体来说,每个阶段的教学内容和教学案例如下所示。 1)Java程序设计阶段:本阶段的知识点涉及较多,主要是Java基本编程思想以及为后续课程准备的知识点,如多线程、反射、设计模式等,主要内容如下所示。 ①类与对象:掌握必要的抽象思维,学会类的编写和对象的使用;掌握类的继承与多态,学会使用多态进行程序设计。相应的案例是利用多态对不同的形状对象计算面积。 ②集合类:掌握常用的集合类及相关的数据结构,理解集合框架的结构及集合内存动态增长原理,理解迭代模式。案例是编程模拟实现ArrayList类。 ③输入输出:掌握字符、字节的输入输出,理解装饰者模式。案例是编程将学生对象输出到外部文件。 ④多线程:多线程的创建、并发控制等。案例是利用多线程模拟多用户取钱业务。 ⑤反射机制:掌握利用反射创建对象、反射调用对象方法。案例是将文件中的学生信息自动封装为学生对象。 ⑥设计模式:模板模式和动态模式。案例是利用动态模式实现中介卖票程序。 2)Java高级编程阶段。本阶段利用第一阶段的学习内容开展深入的学习,以Web开发为基础讲解重要组件的编程实现,如利用反射、模板模式和动态模式实现表单封装组件、JDBCTemplate组件、分页组件等,主要内容如下所示。 ①DHTML:掌握HTML标签、CSS、Javascript语法,特别是Javascript面向对象的特征。案例是制作网上商城主页。 ②Web服务器:介绍Web服务器Tomcat,并使用网络编程的方法模拟服务器的响应。 ③数据库访问技术:掌握利用JDBCAPI进行数据库操作,结合模板模式来重构数据访问的代码。案例是利用模板模式、反射机制等实现JDBCTemplate组件;结合动态模式实现数据库连接池组件,并利用多线程测试多用户环境下程序的性能。 ④Web开发技术:掌握Servlet的开发方法,掌握客户端参数的传递和获取。案例是结合反射机制实现表单自动封装组件。 ⑤标签技术:掌握JavaBean、EL表达式和标准标签,掌握数据显示的方法。案例是使用反射和JavaBean实现分页组件。 3)Java框架技术阶段。本阶段主要讲解Struts、Spring和Hibernate三个框架的使用,其创新点在于通过利用Java高级编程阶段编写的组件来对框架主要功能进行模拟实现,主要内容如下。 ①Struts框架:掌握Struts的基本使用方法,理解Struts的工作流程,掌握Struts标签、国际化、输入验证等。案例是利用表单封装组件、反射机制、多态、XML等技术实现Struts框架功能。 ②Hibernate框架:掌握Hibernate主要功能,特别是对象—关系映射ORM功能、缓存、HQL查询、数据库锁、继承、关联等。案例是利用JDBCTemplate组件和XML解析实现Hibernate的ORM功能;利用CGLib动态模式模拟实现Hibernate的延迟加载(Lazy)功能。 ③Spring框架:掌握Spring的主要功能,包括控制反转IoC、面向切面编程AOP等。案例是利用AOP实现系统日志管理、数据库事务管理。 ④框架整合:将Struts、Spring、Hibernate框架进行整合,并利用团队开发环境进行项目开发。从这个教学大纲的设计来看,基于团队开发的教学大纲在内容上是无缝衔接的,将Java系列的主要课程整合为一个整体,有利于快速进阶,改善学生的知识结构,提高学生的编程素质,达到企业用人需求。阶段项目的设计对于每门课程,设计合适的、递进的阶段项目,对于深入掌握相关知识点,强化学生的动手能力是至关重要的。 1)Java程序设计阶段。本阶段课程主要涉及Java语言的编程基础,综合掌握相应的知识点对于理解Java编程思想、后续Java课程的学习有重要的作用。这一阶段知识点众多,而且受知识结构的限制,难以实施大规模的项目,为此,考虑将这些零碎的知识点结合起来,形成一个有实际意义的游戏项目——《飞机大战》。通过游戏的开发,学生可以在界面上看到程序中对象的状态,直观地了解程序运行的过程;而且通过游戏开发,可以提高学生的程序设计兴趣;更重要的是,游戏集合了众多知识点,这为学生深入掌握和应用这些知识点提供了一个良好的平台。 2)Java高级编程阶段。本阶段主要进行可复用Java组件的开发,因此,项目的设计与考查侧重于Java组件的实践。这一阶段的项目是《网上商城》,该项目的背景清楚,学生大都具有使用网上商城的经历,这能够直观地帮助学生了解项目的需求背景。将Web组件开发技术应用至《网上商城》的开发,不仅可以使学生深入地掌握Java编程思想,而且可以大大加快软件项目的开发。项目在考查时不仅需要查看项目的外观、功能等因素,还需要了解学生在实践中是否设计、开发并应用了Java组件,这对于提高学生的抽象思维能力以及动手实践能力具有重要的意义。 3)Java框架技术阶段。本阶段主要是框架技术的使用,需要设计大型的企业级开发项目,并利用Java框架技术实践课程来保证项目的实施质量。本阶段的项目为《企业固定资产管理》,通过提供项目需求,使学生掌握软件需求分析的步骤和方法,提高学生的系统分析能力和实践能力。通过第二、三阶段课程的学习,学生能够深入理解框架的原理,而通过第三阶段项目的开发,则能使学生熟练掌握软件开发的步骤与方法、框架技术的使用,从而达到企业的用人需求。 4结束语 本文针对Java语言系列课程在教学过程中出现的问题,提出一系列的优化方案。通过优化已有课程,使Java系列课程能够尽早、连续地开出;通过建设Java教学团队,设计了符合Java系列课程特点的教学大纲,使得Java系列课程的知识点形成一个渐进的整体;通过阶段项目的设计,使得学生能够在不同的阶段开发侧重点不同的项目,显著提高学生的动手实践能力。通过这一系列的改革措施,学生在学完Java系列课程后对Java语言、数据库技术、设计模式、框架技术具有更好的综合应用能力,对于提高学生的综合素质有明显的改善作用。 作者:邓泽林 谢中科 软件工程专业论文:软件工程专业校企合作下的研究 1.校企合作人才培养方法 1.1构建新型人才培养方案 软件行业发展和更新很快,短时间内就有可能发生很大的变化,高校在课程设置等方面常常落后于企业,如何缩小学校培养的软件专业学生和企业对软件开发人员的要求的差距是亟需解决的一个问题。为了解决这一问题,武昌理工学院信息工程学院软件工程系围绕软件工程专业建设目标,联合软件开发企业高级技术人员和高级管理人员,成立校企联合教学指导委员会,共同制定符合企业培养目标的人才培养方案。软件开发公司参与人才培养方案的设计与讨论,根据企业的需求动态调整教学方案,设置符合企业人才需求的课程,打破了高校关起门来,独立设置人才培养方案的习惯,打破了人才培养方案相对稳定的惯例,校企合作联合制定的人才培养方案更符合企业的对人才的需求。除了企业参与人才培养方案的制定外,武昌理工学院信息工程学院经常组织担任企业软件工程师的校友,对人才培养方案提建议,优化和完善人才培养方案。实践证明,使用学校和企业共同设计的人才培养方案后,学生的应用能力更强,更能适应企业的要求。 1.2构建真实的教学平台 为了提高学生的实际动手能力,尽快适应真实的企业开发。武昌理工学院信息工程构建了基于真实的工作环境(RealWorkingEnvironment)、真实的实训项目(RealTrainingProjects)、真实的项目经理(RealPro-jectManagers)、真实的工作压力(RealWorkPressure)和真实的工作机会(RealJobOpportunities)的教学平台。武昌理工学院信息工程学院在项目实训期间,严格按照企业办公环境的设计,每人一个独立机位,严格执行企业的考勤制度和工作汇报制度,真实感受企业的工作环境。实训的项目来源于企业的真实项目,让学生在完整的项目中学习整个项目中的每一个具体环节,充分体验一个团队的工作过程。在实训中,每个项目都由企业项目经理和学校教师共同指导,带队的项目经理都具有丰富的项目经验。在实训项目中有模拟客户代表给项目组施加真实的项目压力,当遇到客户需求变更等问题时,考察其应变能力。在实训项目中,根据学生的表现,企业提供真实的就业机会,企业直接与学生签约。通过构建真实的教学平台,进行企业级真实项目实训,让学生体验真实的软件开发过程,积累实践经验,培养创新能力。通过项目实训,学生普遍感到充满信心,能够很快适应企业的开发环境。 1.3改进教学体系 ACM和IEEE-CS的SWEBOK定义了软件工程学科的内涵。武昌理工学院信息工程学院教学委员会基于SWEBOOK框架,按照软件工程课程群的总体知识结构,重新设计了应用型软件工程专业的教学体系,对课程的学时、权重、结构,以及课程间的衔接进行了改进。将课程分为通过通识类、开发类和工程类三类,分阶段逐步培养学生的应用能力。同时注重基础理论课、课程实验课、课程设计、企业项目实训、毕业综合实践等环节,通过这些环节,将课堂理论学习和企业实训相结合,使学生具有坚实的理论基础的同时,具有一定的实践能力,实现理论与实践的零衔接。基础理论课主要涉及软件工程专业需要的基础和公共性知识。这部分知识主要由学校任课教师讲授。课程实验主要针对具体课程的某些知识点设计的实验。其可分为验证性实验、设计性实验、综合性实验。通过课程实验,学生掌握常用的软件开发语言,了解常用的算法,具备软件开发的基本技能。课程设计采用小组分组,自组团队,模拟企业设置岗位角色,进行角色体验,熟悉软件开发流程,培养软件开发能力。企业项目实训在企业高级开发技术人才的指导下,以真实项目为载体,进行软件设计,提升软件开发能力。在毕业设计和毕业实习阶段,采取企业开发人员和学校教师组成的双导师制,企业导师为其提供综合实践环境,提供技术指导。学校教师负责毕业设计相关文档的指导工作。 1.4编写合适的校企合作教材 目前,市面上校企合作的教材比较少,有的教材并没有企业软件开发人员真正参与,有的教材理论多,实践少,有的教材难以适应企业对软件开发人才的需求。武昌理工学院信息工程学院与企业开发人员紧密合作,编写精品实训教材。实训教材以项目为中心,案例教学,项目驱动。根据真实工作的情景设计课程的学习情景,确定教材的框架和编写模式。根据真实的岗位需求,编写典型的工作任务。根据真实的能力需求,培养学生的应用能力,并根据市场需求变化,分阶段更新教材。 1.5加强师资建设 建立一支结构合理、水平高的师资队伍是校企合作人才培养的重要保证,武昌理工学院信息工程学院构建了由学校教师、企业研发工程师和项目经理、高水平的外聘教师三部分组成的高质量应用型师资队伍。学校十分重视双师型师资队伍的建设,鼓励教师到合作单位进行学习和交流,参与企业项目研发,增强实践经验,鼓励教师到企业挂职锻炼和进行“产、学、研”合作,鼓励企业不定期为教师开设培训班。学校依托甲骨文工程(武昌理工学院)工程实践教育中心等的合作,每年固定派教师参加学习。学校还直接从企业引进实践经验丰富的优秀开发人员担任实训课程教师,充实教师队伍。 1.6加强第二课堂建设 除了课程教学和项目实训外,积极引导学生利用课外时间,自组团队、自拟课题、自主设计、自主管理完成项目设计,对于创新型强、应用水平高的项目学校进行创新学分奖励,并可冲抵相关课程积分。学校积极引导学生参加各种软件设计大赛、信息技术应用水平大赛等比赛,以赛促学,通过竞赛活动,提高学生发现问趧趶题和解决问题的能力,提升其应用能力。 1.7鼓励学生获取职业技能证书 对于应用型人才来说,职业技能证书十分重要。学校积极鼓励学生参加各种技能培训,获得技能证书。为了学生顺利获取接技能证书,学校安排集中时间进行集训,组织经验丰富的教师进行考前辅导。在人才培养方案中,对获得指定证书的学生,允许进行课程置换或学分奖励。不少学生在毕业时获得了思科的CCNP、CCIE和甲骨文的OCP、OCM证书,应用能力有较大提高。 1.8建立质量监控体系 改变以前单纯教学督导对教学质量进行监控的现状,由企业开发、管理人员和教学督导共同组成质量监控小组,负责对教学质量进行监控,根据项目实战的特点,检查教学大纲和教学课件,不定期组织质量监控小组进课堂听课,了解学生反馈,不断完善教学质量。企业随时与学校沟通,反馈教学各个环节中的意见和建议,对教学和实训中的各个环节质量进行监控。 2.结语 武昌理工学院信息工程学院软件工程系建立校企联合指导委员会,构建新型人才培养方案。基于真实的教学平台进行企业真实项目实训。通过改进教学体系,编写合适的校企合作教材,加强师资队伍建设和第二课程建设,鼓励学生获取职业技能证书,并建立质量监控体系,保证校企合作的效果。通过几年的校企合作实践证明,学生的应用能力和创新水平有较大的提高,毕业生的就业率和就业水平进步很大,校企合作的人才培养模式成效显著。 作者:阳小兰 钱程 吴亮 单位:武昌理工学院信息工程学院 软件工程专业论文:高校软件工程专业教育改革论文 1传统软件工程专业教学模式的不足 1.1重理论,轻实践 传统的软件工程专业教学模式体系的基本教学理念是重视“知识型”人才的培养,注重书本知识理论的讲解与掌握,忽视了学生实践能力的培养。从当前高校软件工程专业教学情况来看,课程的授课基本都是沿用理论课——实验课单一模式。其中理论课所占课时比重更大,实验课则相对弱化,而且理论课与实验课的结合程度并不十分密切。所占课时比重较小的实验课教学环节,多数都是进行教师事先安排的实验内容,教师在实验过程中给予指导和评测。实践证明,这种课程教学模式下出来的软件工程技术人员与时展要求严重脱节,难以满足社会对综合软件设计与开发技能人才的需求。 1.2教学目的脱离实际 软件工程专业课程是计算机软件、硬件和网络相结合,注重软件理论和软件开发能力的培养,该课程强调理论与实践的有机整合。然而,现行的高校在开展软件工程专业教学活动的过程中,却难以做到理论教学与实践教学的统一,时有厚此薄彼的现象发生。在强化理论知识的同时忽略了实践的应用,在加强实践教学的同时却又忽略了理论知识的融合。不能很好的体现高校软件工程专业教学围绕职业发展需要开发,职业特点不明确,不利于学生综合能力的发展。 2高校如何进行软件工程专业教学改革的几点做法 2.1以社会需求为导向,革新教学模式 随着社会经济体系结构的进一步调整,软件行业人才标准也在不断发生变化,高校教育的人才培养目标,人才培养方式也应跟随时代变化进行相应的改革。教师在进行授课的过程中,要跳出“教”的禁锢,从总体目标出发,进行学科教育向职业化教育的转型,以满足社会对高级软件工程师的需求。 (1)根据社会需求,合理确定知识结构 知识结构是培养学生专业技能和提高学生素质能力的前提与基础,知识结构的确定,必须满足社会发展需求,以“必需、够用”为度,并要求学生具备足够的发展潜质。因此,教师在分析知识结构时,应首先以社会发展对软件工程专业的能力要求为出发点,通过对能力进行分解,分析满足学生能力发展要求应具备哪方面的知识和技能,对相应的知识点进行组织,合理确定知识结构,努力体现“三个面向”,面向软件工程专业发展最新潮流、面向软件工程专业市场需求、面向软件工程专业社会实践。例如在开展实践教学活动时,教师除了要重视企业级应用开发的服务器端技术,还要注重云计算技术同JavaEE的整合,同时跟随当前应用开发趋重RIA的特点,加强Flex技术的学习,增加JavaEE和Flex的架构集成技术,以培养市场严重紧缺的具有相当经验的RIA、云计算开发人员。通过对知识结构的合理确定,让学生不但能够对专业知识进行巩固,还能紧贴IT行业的用人需求,从而真正达到学以致用的目标。 (2)以能力要求和知识结构为主线,构建动态教学计划 教学计划是各教学环节的整体设计方案,包括有:课程体系、实践教学环节等的时间分配和次序安排。软件工程专业教师在设计教学计划时,应以本专业能力要求和知识结构为主线,进行教学计划的调整,给以学生明确的思维方向,让学生能够参与到教学的全过程并在课堂教学活动中获得最大的收获。一方面,教师可以注重课程体系的国际化,引进10门美国著名高校卡内基梅隆大学(CMU)软件工程专业的课程,通过与传统教学模式的融合,进一步提高教学水平。另一方面,教师可以注重课程体系的先进性与及时性,定期召开合作伙伴峰会,企业参与人才培养方案和教学计划的制定及审阅,保证课程教学体系与专业信息的及时更新,做到因材施教。 2.2采用案例教学法,通过实例开展学习 案例教学法是指在学生掌握了解相关基本知识和分析技术的能力基础上,通过教师的精心策略和指导,根据教学目的和教学内容,运用经典案例,把学生带入特定教学情景进行分析,通过学生的自主探究和小组合作,进一步提高技术技能水平,同时培养学生沟通能力和协作精神的一种教学方式。软件工程专业教学以培养学生实践、动手能力为主要途径。在实践教学环节,通过案例教学,能把知识点与例子相结合,使学生从个案的分析、比较中,更深入地了解软件系统开发与管理过程,最终达到技术和知识点的掌握。如:《JAVA程序设计》课程的教学时,JAVA程序设计以编程为主,如果照搬教材内容,只会让教师讲得枯燥,学生听得乏味。通过融入案例进行教学,可以在向学生灌输编程语言知识点的同时,进一步培养学生分析问题和解决问题的综合能力,进而激发学生的创新能力。2.3强化实践教学环节,提高应用型人才专业技能。据有关数据显示,目前,我国对软件人才的需求已达20万,并且以每年20%左右的速度增长。在未来5年内,合格软件人才的需求将远大于供给。在中国十大IT职场人气职位中,软件工程师位列第一位,软件工程人才的就业前景十分乐观。然而,各大企业在面向各大高校招聘软件工程应用型技术人才时,普遍注重学生的综合实践能力。对于如何把学生培养成为受企业青睐的技术型人才,强化教学活动中的实践教学环节,提高应用型人才专业技能,是促使学生综合实践能力全面发展的必有之路。因此,一方面教师在开展教学活动的过程中引入现代化教学手段和仿真实验教学手段,调整教学重点,发挥软件工程专业实践教学的中心地位。另一方面可以进一步加大实验室对学生的开放力度,尽可能地为学生创设动手实践的氛围、为学生提供更多的动手实践机会。同时,还可以开展大型综合实验、综合实训、企业实习、毕业设计等实践教学内容教学,通过开设大型综合性的实验课程或综合实训课程、组织学生到Ⅱ企业顶岗实习、利用所学知识进行项目开发的能力和就业竞争能力。 2.4加强教学队伍的建设 高校软件工程专业教学水平的高低,取决于教师队伍的素质,他们素质的高低将直接影响到课堂教学活动的开展和学生能力的培养。因此,加强高校教学队伍建设,强化教师业务培训,提高教师的业务水平,是顺应教学改革的重要举措之一。首先,学校要组织鼓励软件工程专业教师加强学习、钻研业务,掌握教学技能,提高他们的教学水平和教学技巧。同时,学校加大对软件工程专业教育的投入,多组织高校软件工程专业教师参加省级培训、校级培训等再培训工作,着手培养基础好、教学技能优秀、有事业心、敬岗爱业的专业教师,增强软件工程专业教学师资力量。 3结束语 随着社会现代化进程的不断加快,社会对软件工程技术人才的要求也越来越严格。高校作为我国高等素质人才的重要培训基地,必须着力于教学模式的革新,提高课程教学质量,培养全面发展的应用型软件开发与管理人才,以适应社会对软件工程专业人才的发展需要。 作者:蓝斌 单位:同济大学 软件工程专业论文:浅析软件工程专业的实践教学建设 1专业教学改革与教学研究 在专业教学内容上,遵循以软件工程学科为主线、以社会需求为导向、与其他学科进行充分交叉的模式,构建科学、合理的课程体系,分别创建软件工程理论课程群、软件工程技术课程群、软件工程实验课程群,按课程群成立研究小组,通过调研、讨论,并结合软件行业的需求,设置软件工程专业的课程群,并制订相应的教学计划和大纲,构建适应行业需求的课程体系,使课程教学更具规范,提高课程教学质量。在专业建设上,继续追踪软件技术的前沿,注重软件技术、嵌入式系统、通信技术的发展。这些教学理念和专业建设思路继续贯穿在本专业的课程体系中,以进一步提高学生的素质和质量。在软件工程学科的基础上,考虑相关学科交叉性,同时注重对本学科人才需求的现状以及未来变化调整的调查分析,主动进行本学科结构和专业结构的调整。 在实际教学过程中,积极推进“以教师为主导、学生为主体”的教学方法改革,重视学生独立思考和创造思维的培养,采用“问题牵引、项目驱动”教学方法、积极采用多媒体课件与教学网站辅助教学方式,教学中加强符合学生特点的个性化教学及指导方式,通过课程大作业、课程设计等方式,使学生根据自己的兴趣和爱好选择题目进行学习,激发学生学习兴趣,提高教师教学效率,全面提升教学水平。 2实践教学建设规划 结合我院办学特色,以软件工程能力培养为核心和切入点,依照国家软件工程人才培养标准和我院软件工程专业人才培养方案,设计软件工程专业实践教学体系,主要如下: (1)明确软件工程人才培养的工程能力要求依照国家软件工程人才培养标准和我院软件工程专业人才培养方案,细化软件工程人才培养的知识与能力结构,特别是工程能力的知识体系。 (2)制定与工程能力培养相配套的课程实践教学大纲紧密结合软件工程专业工程能力培养要求,突出软件工程项目实践,制定与软件工程能力培养相一致的课程实践教学大纲,使专业的理论教学与实践教学形成一个有机的整体,相辅相成。 (3)构建适用于应用型本科,具有软件工程专业特色的“层次化、模块化、渐进式”的实践教学体系制订“层次化、模块化、渐进式”的实践教学体系建设方案,实现学生实践训练不间断,教学内容从“工程认识”到“基础训练”,最后到“综合创新训练”,由低到高、由单一到综合、在不同阶段将理论和实践有机结合,满足“实践—认识—再实践—再认识”的认识论规律。 (4)改革实践教学模式、教学内容和教学方法实施“以工程项目为核心、学生为主体、学用合一”的实践教学模式。推进教学改革,按工程问题、工程案例和工程项目组织实践教学内容,通过项目引出知识点,结合学生科技活动、教师科研项目,让学生参与项目的构思、设计、实施和运行,提升其工程设计能力。 3结语 计算机软件专业的发展,从基础上决定着信息化建设进程;改革人才培养方案,构建经济社会发展需要的课程体系,进行软件工程专业建设,对于我国的信息化建设进程具有十分重要的基础意义。 作者:闫俊伢 单位:山西大学商务学院
软件开发专业论文:高职院校计算机专业软件开发能力培养浅析 【摘 要】本文通过分析高职教育的特点及软件开发对技能的要求,对高职院校计算机专业教学理念、分阶段培养方法进行探索。 【关键词】高职教育;软件开发;能力培养 0 引言 教育部《关于全面提高高等职业教育教学质量的若干意见》明确指出要“加强素质教育、突出实践能力培养,改革人才培养模式”。软件行业是一种技术密集型行业,其技术性主要体现在隐性的思维过程中。从企业角度来看, 软件企业的工作过程是按用户需求进行需求分析、设计、实施和完成项目计划的生产过程;从职业角度来看,技术人员(高职培养目标――程序员)的工作过程是对具体工作任务(如功能模块、算法等)的计划、分析、编写代码的劳动过程。 当前,我国的高等职业教育发展迅猛,为高等教育大众化的实现作出了重要贡献。然而,由于起步晚,加上受到学科型普通高等教育的影响,高等职业教育的质量还不尽如人意。传统的普通高校本科教育以学科体系为核心,而高职教育的定位则要求体现职业性与学科性的结合,以培养高技能应用型人才为主。在教学实践中,没能注意这两者的差别,把高等职业教育办成了缩减版的普通高校本科教育。以电子信息类学科为例,重理论轻实践,课程过于强调学科系统化,学科体系的完整性,忽视“工作过程”,对学生的实践能力重视不足,严重地影响了高等职业教育的质量。 1 高职教育能否培养计算机软件开发所需人才 有人认为高职学生的入学水平低,难以培养出软件专业所需人才,软件专业人才只能由本科培养。这种观点没有认识到软件产业对人才的需求是全方位和多层次的。软件产业既要有需求分析师、项目经理、项目分析师和程序设计师,他们由本科和研究生教育培养;也需要大批写程序代码和用户手册的底层程序员,他们占软件专业人才总数的90%,可以由专科层次的高职教育培养。 本科与高职教育的专科不仅仅是不同层次的高等教育,而且是不同类型的高等教育,其培养目标、学习内容、就业方向等都有不同。本科开设软件专业是培养计算机软件专门人才,其培养目标是培养从事计算机软件设计、开发与系统运行的高级工程技术人才。本科教育按照计算机科学的体系来设置课程,学生主要学习计算机系统软件、应用软件的研究、设计、开发和运行的基本理论与技术。我国高职教育开设计算机专业,培养从事计算机软件程序设计、测试、系统维护的技术应用型人才。计算机软件专业高职教育按照一般程序员的职业岗位要求设置课程,学生主要学习计算机编程技术的知识和方法,理解计算机软件工程思想和软件规范设计要求,熟悉数据库技术、通用软件编程语言和软件开发工具。 如果把高职教育办成压缩型的本科,对于入学水平相对较低,学习时间短的学生,要在知识体系方面达到本科毕业生的水平,这条路自然行不通。应该改变传统的教育教学质量评价观念,不能把本科的学科本位评价观念和标准用于对高职教育的评价,而应该根据软件行业的需求,用能力本位评价观念对待高职教育。只有真正按照高职教育培养技术应用型人才的目标,以技术应用能力培养为主线建立教学体系,改革教学内容、教学思想、教学方法和教学手段,是可以把一些专科学生培养成计算机软件的高职技术人才的。有这样一个成功的例子:香港专业教育学院(IVE)是全港最大的职业教育培训机构,开设的软件工程专业类似内地的高职教育,招收中五学生(相当于内地高中毕业),全日制学习三年。这个专业多年来一直为香港的企业输送大批程序编写员,他们当中不少人后来晋升为系统分析员或初级管理人员。这个例子说明高职教育是可以培养出计算机软件专业人才的。 2 软件开发能力结构分析 对软件开发能力进行分析,要结合软件开发阶段的特点及开发过程的特点,并要结合软件开发的不同形态。下图中列出了不同学习阶段软件专业人才的能力结构,并从不同的角度进行了分析,如根据软件技术的学习阶段进行能力分析,每个后续阶段都在前面的基础上增加了新的能力。另外,要逐步实现从个人能力到团队能力的过渡。 在能力培养时,程序设计阶段仅仅是初级阶段,对应的能力要求仅仅是基本的程序设计能力与算法能力等,这时的程序设计只有几个程序文件的形式。而后两个阶段则在文件数量、程序规模等方面增加了很多,其能力要求与能力培养大不相同。进入软件开发阶段后,则需要重点对专业职业能力进行培养,这时应强调软件的总体设计,以及在此基础上展开的职业活动,并引入团队开发与管理等领域,此阶段的过渡对学生而言是一个飞跃。 在程序设计阶段的学习,重点在程序设计与算法能力培养;在软件设计阶段要进行团队开发则需要设计、管理、交流协同、文档表达等综合能力的应用,应逐步提高学生的综合能力与素质。实践表明培养学生的这些能力需要在实际开发情境下进行才能达到好的教学效果。如何设计、创造这个学习情境,是我们要重点探索的内容,要切实做好软件开发的工学结合,落实一种可持续发展的学习模式,达到培养学生专业能力与素质的目的。另外,系统应用阶段需要将软件系统本身作为一个应用产品进行设计、开发、实施、应用等,此阶段对应的岗位类型较多,在教学过程中,可根据学生的特点进行因材施教。总之,各个阶段的能力与要求不同,培养目标也不同,高职院校应把培养的重点放在程序设计阶段和软件设计阶段上,而不用强求全面。 3 用职业教育的方法培养软件蓝领 高职计算机专业应以市场为导向,对学生进行职业培训,职业认证。按照软件产业国际化、标准化和规范化的要求进行授课,注重知识的横向联系,培养学生综合运用技术的动手能力,使学生到企业后不需再培训就可以上岗操作,从而保证企业的人才需求。突破计算机专业传统的教学模式、教学内容和教学方法。学生在校期间要受到充分的职业教育训练,为此必须改革课程体系,理论教学以够用为度,不用追求全面化、体系化。通过三年的学习,要求学生能掌握计算机编程的知识和方法,深刻理解计算机软件工程思想和软件规范设计要求,熟悉数据库管理技术,精通二三门先进且通用的软件编程语言或软件开发工具,并能熟练应用于软件工程开发过程。 根据就业市场的需要,跟踪国际上先进的技术,保持与企业的联系,保证人才培养的先进性,注重调查和跟踪市场,保证人才培养方案和教学内容与I T 先进技术同步发展。例如印度的AOTECH公司是世界上最大的计算机教育培训机构之一,它由600 多位专家负责制定人才培养方案和编写教材,其中三分之一的人负责市场分析,三分之一的人负责与国际著名的I T 企业保持联系,三分之一的人根据市场分析和企业调查的结果编写教材。这个公司成立16年以来,教材更新了20版,目前教材更新的周期是半年。然而我国目前高校的计算机软件的教材通常由教师自己决定,或者由教研室、教学院系指定。实际上,教师个人、教研室、教学院系、甚至大多数学校都没有大范围跟踪企业、调查市场并根据市场需求调整教学内容的能力。 软件开发专业论文:智能科学与技术专业软件开发综合设计的教学改革与实践 摘要:针对智能科学与技术专业在软件开发教学中存在分散于各个课程/实验中的问题,在分析软件开发综合设计对培养创新型人才的重要作用基础上,文章提出统一集中教授、因材施教、分级答辩的观点,介绍武汉工程大学智能专业实验教学环节的实际情况,说明在软件综合设计实验方面取得的效果。 关键词:创新人才;软件综合设计;改革与实践 0 引言 智能科学与技术专业是面向前沿高新技术领域的本科新专业,覆盖面较广,如机器人、自动化机器、电器、楼宇、社区及物流等领域。由于本专业涉及多个学科领域,使得软件开发综合设计的实验教学与计算机其他专业存在一些不同,并且软件开发综合设计在培养创新型人才过程中也存在一些自身的特点和规律。 经过多年的教学与实践研究,我们发现本专业有关软件开发的课程与实验教学散落在多门课程与综合设计中,而这些课程与综合设计一般由不同教师担任,存在一个明显的问题:各个课程之间的衔接,以及教师之间的沟通不充分,造成学生在实验环节中经常做重复性劳动,并对相应的知识点归纳及总结时间明显不足。该问题使得教学与实践的效果不好,尤其是培养创新型人才的目的不能完全达到。笔者以武汉工程大学2011级智能专业的软件开发综合设计作为改革试点,对如何培养创新型人才提出了可操作的实践方案。 1 软件综合设计对培养创新型人才的作用进入21世纪以来,全球经济竞争进一步加剧,社会对高素质创新人才的需求更为迫切。创新是人类社会发展的强大推动力。自20世纪信息技术革命以来,创新推动人类科技与技术不断发展。特别是近十余年来,包括计算机信息科技在内的高新科技与智能技术的融合,形成了新的概念与思想、新的技术与手段,创造出新的人工智能模式。科学与技术的进步促进了智能科学与技术学科的创新与发展,同时对本专业的高等教育提出了严峻的挑战。 软件开发综合设计在智能科学与技术专业的人才培养中是重要的一个环节。软件开发综合设计实验教学要求学生在掌握软件开发技术的基础上,拥有软件行业知识、与人沟通能力、团队协作能力等,并对各种专业知识点做到融会贯通。学生通过软件开发综合设计实验训练后,熟悉软件开发流程和规范,逐渐适应常规软件开发调试环境和方法,培养出良好的软件开发人员的职业素质,促进学生软件开发能力的形成,最终平滑过渡达到企业各类开发岗位的要求与标准。 总之,在武汉工程大学培养智能专业本科生的过程中,综合设计实验的目标是通过理论指导实践,在实践中培养创新能力、提高创新能力、锻炼创新能力,对培养具有创新意识的本科生具有重要作用。为适应21世纪我国经济建设和社会发展的需要,我们从武汉工程大学2011级智能专业软件开发综合设计人手,进行深化改革,推进素质教育,开展实验教学的改革与实践研究。 2 软件综合设计的改革措施 针对本专业软件开发综合设计教学中存在的问题,我们提出以下改革措施。 2.1 统一集中教授 通过对学生进行意见调查反馈,结合多年软件开发综合设计教学经验,并引入国外先进的教学经验,对传统的软件开发综合设计进行了改革与创新。 首先,在软件开发综合设计开始的时候,先统一教授软件开发设计方法学,目的在于进一步提高学生的综合素质,拓宽学生的知识面,加深理解所学的基础理论,培养学生应用所学过的知识,独立解决工程实际问题的能力。培养学生的创新设计能力,使学生得到一次较完整的设计方法的基本训练。 让学生了解设计过程,掌握设计方法,具有创新意识与思维,在设计过程中能在认真思考的基础上提出自己的见解,而不是简单的抄袭或没有根据的臆造,充分发挥自己的创造性。重点讲解软件开发设计的方法,着重培养学生软件开发设计能力,不仅向学生提供软件开发设计中的创新思维方法,还通过实际软件开发设计示例,提高学生独立提出、分析和解决实际问题的能力。在教学体系与内容上,重视介绍本学科发展的新动态、新方向、新内容,注重激励学生的学习欲望,调动学生的积极性,开阔学生的思路,拓宽学生的知识面和视野,让学生了解更多更新的理论、技术与方法。 其次,引入当前最受学生群体欢迎的视频教学模式,将国外知名大学的视频公开课作为实例进行教学。根据视频公开课的特点,在教学体系和内容上做相应的改革,进一步扩大学生的知识面,激励学生的学习欲望,发挥学生的学习积极性,配以相应的多媒体教学环境,“请”国际一流的大师讲述现代软件开发设计手段,进一步开阔学生的思路,扩展学生的知识面和视野,让学生掌握更多更新的理论、技术与方法。通过视频公开课的辅助教学,生动具体地讲解优化软件开发设计、可靠性软件开发设计在工程中的应用,提高教学效果,培养学生提出、分析和解决问题的能力。 2.2 因材施教 创新人才的培养中,学习是基础,思考是关键,实践是根本,三者必须紧密结合。因材施教就是为了让受教育者习而化之,形成一个既有正确导向、符合实际,而又无拘无束的环境,使学生的个性在得到主动、和谐、健康和全面的发展的同时,具有本身固有的特色。没有各式各样的个性,就没有多姿多彩的世界;没有突出个性的发展,就没有杰出人才的出现。 我们将软件开发的题目公布后,只提出大致的目标,给予学生更多思考的空间,不再拘泥学生必须按照什么方法实现什么功能,而是引导学生采用自己认为最佳的方法完成最终的任务。对于较为优秀的学生,我们对其要求也不再仅仅是完成而已,而是要求其从用户角度出发,将方案设计的更加周全与完善,让用户更加方便与便捷的使用所开发的软件,并对于软件系统的优化也有所期待;对于中等的学生,我们对其要求是在单位时间内,准确无误地开发出满足所提要求的软件,对于软件系统的优化以及用户体验等细节不作要求;对于中等偏下的学生,我们对其要求是与中等或较为优秀的学生组成小组,尽力配合小组成员完成相应的软件开发;对于能力不足的学生,我们将会让其在长时间努力还不能够完成任务的情形下最终给出一个完整的解决方案,让其进行仔细研究,理解并弄清楚整个方案的细节。 2.3 分级答辩 对传统的软件开发综合设计答辩环节进行改革,提出了可进行分级答辩的政策。由于开设软件开发综合设计的目的是既能让学生学习相关学科的技术基础知识,又能训练学生的动手能力和创新设计能力,还能引导学生知道如何运用所学知识去解决软件开发中的实际问题,也就是说综合设计课程非常强调实践性。 我们对于动手能力较强的学生,允许其在完成任务后提前答辩,要求学生在设计软件时由自己独立完成从方案设计到软件开发设计的全过程。答辩时学生先对开发的软件进行动态演示,随后针对答辩老师提出的问题进行解答,最后还需要在规定时间内顺利完成答辩老师临时添加的新任务。而对于动手能力中等的学生,尽量控制其完成的时间,即让其充分利用软件开发综合设计的时间,对日常所学的知识进行细致深入的理解并应用于软件开发过程中,并在规定的软件开发综合设计完成的时间内完成开发任务,进行答辩。答辩时学生先对开发的软件进行动态演示,随后针对答辩老师提出的问题进行解答。然而,对于动手能力一般的学生,进行集中答辩,即采用传统的方式进行。最后,对于动手能力较差的学生,进行单独答辩,目的是除了降低这类学生心理的压力外,还会在答辩过程中进行深入的知识点检查与灌输,强化学生对软件开发的流程和方法的理解。 3 软件综合设计的实践 我们在武汉工程大学2011级智能专业软件开发综合设计中使用所提出的“统一集中教授、因材施教、分级答辩”的方法,要求学生采用c语言完成“学生成绩管理系统”的设计与开发,要求使用到各类数据类型与各种运算、程序控制结构、函数、数组、指针、结构体、文件等内容,实现增添、查询、修改、插入、删除、求平均值以及排序等全部常规功能。对于优秀学生可要求其使用c语言实现结构化开发后再采用C++语言实现面向对象的开发。整个软件综合设计持续2周时间,其中,“统一集中教授”占用了16学时。 随后,学生开始进行软件开发,并针对完成情况的不同,让学生分别进行答辩。根据提出的“统一集中教授、因材施教、分级答辩”的方法,我们设计了成绩评定表,如表1所示。 最后,2011级智能专业共69名学生的综合评定成绩情况为:成绩≥90分的占18%,成绩在89—80分的占42%,成绩在79—70分的占34%,成绩在69-60分的占6%。这样的成绩验证了这类综合设计实验改革的成功。 4 结语 从改革实践过程可看出其效果,确实使学生学习热情变高,尤其是在视频公开课过程中,让学生由传统的被动学习转变为主动学习、主动钻研,并成为了真正的软件设计者,大幅度地提高了学生的设计能力、创新能力、创造能力,最终的考核成绩表明改革后的教学方法对使学生成绩提升较大,改革取得了一定的成效。 软件开发专业论文:教育技术学本科专业软件开发类课程体系研究 摘要:针对目前教育技术学本科专业计算机软件开发类课程存在杂而不精,缺乏系统性等问题,提出了以“C-C#-Java”语言类课程为主线的课程体系,旨在提高教育技术学本科专业学生的计算机应用(开发和实践)能力。分析了该课程体系中的理论教学体系、实践教学体系以及教学重点内容,并对该课程体系的教学方法手段方面提出了一些建议。 关键词:教育技术学专业;软件开发;课程体系 一、教育技术专业概述 教育技术学专业是教育学和技术学相互交叉、相互作用而形成的学科。目前在我国开办教育技术学本科专业的院校已经从师范类院校扩展到综合性大学、理工类院校。开设教育技术学专业的多数高校将教育技术学本科人才培养方向之一定位为教育软件与知识工程方向,该方向着重培养多媒体素材的设计与开发、教育软件设计与开发、网络课程设计与开发以及人力绩效开发与知识管理方面的人才。就专业培养方向来看,各类软件的设计与开发都要求本专业学生有很强的计算机应用(开发和实践)能力,也即计算机应用能力培养在教育技术学专业中占有重要的地位。笔者所在院校为理工类院校,对近几届毕业生的软件开发能力进行调查分析,学生普遍感觉大学四年学了众多计算机类课程,到毕业设计的时候还是不会编程,大四最后一个学期才开始边学编程技术边做毕业设计题目。究其原因,由于教育技术学科是综合性的应用学科,不可避免地在课程设置上存在一些问题:课程开设庞杂,开设多门高级语言程序设计类课程,知识体系有广度没有深度,导致学生学而不精;课程设置缺乏系统性,课程教学内容不连贯或者重复教学;在教学过程中注重理论教学而忽视学生实践动手能力的培养,导致学生编程能力差;核心课程知识陈旧,与现实的教育技术实践应用需求脱节,与现实的计算机发展技术相脱节。课程设置是教学计划的核心,决定着学校的教学内容和学生的知识结构,直接关系到人才的培养质量。为实现应用型人才培养目标,研究并建立适合教育技术学本科专业的计算机软件开发类课程体系,切实提高该专业学生的计算机应用能力是目前重要的课题。 教学技术学专业是一个跨学科的专业,本科生在四年中所能接收的信息量是有限的,不可能将交叉学科的所有系统知识都纳入学习的范围,因此在明确培养目标的前提下,设置计算类课程时不应该“杂而全”,而应该是“专而精”;其次要注意课程与课程之间有效的衔接,避免前后脱节;再次应注意同市场需求以及计算机学科发展结合起来,开设的课程符合社会发展需求;最后突出实践能力,加强动手能力的培养。教育技术学专业本身是一门实践性很强的学科,人才的培养本着学以致用、以学促用理念。 二、课程体系建设 教育技术学本科专业计算机软件开发类课程体系建设目的是让学生熟练掌握一至两门编程语言,熟悉相关开发方法、工具和平台,综合运用所学知识去解决实际问题。鉴于目前主流的编程技术有.NET和Java编程,建立以“C-C#-Java”语言类课程为主线的课程体系,从初级到高级、由简单到复杂,循序渐进逐步提高学生的软件开发能力。 Java语言是面向对象的编程语言,也是目前阶段开发应用程序的首选语言,但是对于大一新生来说,直接接触面向对象编程思想有一定的难度,因此在大学第一学期仍然选择C语言作为程序设计的入门语言,有了C语言的基础,跳跃到C#或Java就十分容易,因为许多语法是通用的。C#是从C/C++派生来的一种简单、现代、面向对象的高级程序设计语言,由Microsoft公司设计运行于.NET框架之上,它具有语法简单、表达力强的特点,对于低年级且又是非计算机专业的学生来说,学习该语言相对比较容易,所以,在第二阶段选择学习C#语言。Java是一种可以编写跨平台应用软件的面向对象的程序设计语言,自1995年由Sun公司推出,就迅速成为全球主流的编程语言,Java基本语法规则和C语言类似,优点之一是去掉了C语言中难学的指针,有助于学习者理解和掌握。但是学习Java语言类开发技术较C#语言有一定的难度,虽然这两种编程语言都为面向对象的程序设计语言。基于上述分析,研究并建立的课程体系为学生第一学期学习C语言之后,在后续的学期过渡到面向对象的程序设计语言。围绕这三门语言类课程,再设计其余计算机软件开发类课程如何衔接。设计的课程体系结构如表1所示。 表1 课程体系结构 开课时间 必修课 大型实验 第1学期 C语言程序设计 无 第2学期 C#可视化程序设计 C#可视化程序课程设计 第3学期 数据结构 数据结构课程设计 第4学期 数据库原理及应用 (面向对象程序程序设计Java) 数据库课程设计 第5学期 Web应用系统开发(JSP) Web应用系统课程设计 第6学期 Java网络编程 Java网络编程课程设计 第7学期 J2EE企业级应用开发 J2EE企业级应用开发课程设计 第8学期 毕业设计 第一学期主修C语言程序设计,掌握面向过程的程序设计思想。第二学期主修C#可视化程序设计,这里注意的是本课程内容包括两部分:一是C#语言基础介绍,二是.NET技术,可视化界面的设计部分。通过Windows界面的设计,学生获得面向对象的感性认识以及认识到编程的实用性,从而提高编程兴趣,有助于后续学期进行软件开发类其他课程的学习。第三学期主修数据结构,目前数据结构课程的教材有C、C++以及Java语言版,由于到此阶段学生未接触Java语言,所以选择C语言版的,学生可用C语言来实现数据结构中的算法,对于Visual C#.NET掌握较好的学生,在数据结构课程设计时可选择用C#语言实现数据结构中描述的算法。第四学期主修数据库原理及应用课程,在讲授数据库编程内容时,由于学生在前面学期已经学习过可视化的程序设计(应用系统前台界面的设计),即已经掌握.NET开发平台的使用,可以重点讲述利用技术如何进行数据库的操作。第四学期同时开设面向对象程序设计(Java语言)课程,为后续课程打基础。第五学期直到第七学期每学期均开设Java语言应用开发类的一门课程,具体包括Web应用系统开发(JSP)、Java网络编程、J2EE企业级应用开发。每学期均安排相应课程的课程设计,有助于消化所学知识,同时锻炼和提高学生分析、设计、编程能力。第八学期学生主要任务是毕业设计,如果是软件开发类题目,那么学生可以利用已经学习过的主流技术.NET或J2EE来完成。 综上所述,将教育技术学专业学生计算机应用(开发和实践)能力的培养分为两个阶段:在大一、大二阶段,掌握C语言结构化编程、面向对象编程(C#)、图形用户界面编程、数据结构及算法、数据库编程,为专业培养目标打下编程基础,该阶段注重.NET技术开发;大三、大四阶段,掌握面向对象编程(Java)、小型Web应用系统的开发(JSP)、Java网络编程、J2EE企业级应用开发,该阶段注重Java程序开发。 以上课程体系安排使学生在大学四年的前两年基本会利用.NET技术进行一些简单小型应用软件项目的开发,如学生对.NET技术感兴趣的话,可以利用大学四年的剩余学期边学习新的课程,边利用业余时间拓展自己的.NET编程技术。学生从第四学期(即大二阶段)开始学习Java相关课程,即Java应用开发阶段,学生利用在校的两年时间主修Java软件类开发课程,学习主流Java开发平台和框架的使用,最后掌握企业级应用系统的开发,逐步提高学生的软件开发能力。这样,大学四年软件开发类课程不断线,且从第二学期开始,每学期都安排课程设计,通过课内实验以及课程设计实践提高学生的软件开发能力,解决学生学习了众多编程语言却不会编程的问题,学生在毕业设计前具备独立开发应用系统的能力,从而提升该专业学生就业竞争力。 三、课程内容解析 以下对课程主要教学内容及教学目标作简要阐述。 1.C语言程序设计基础 掌握C语言的基本结构、各种数据类型、控制流程、函数、数组、指针和结构体的语法及语义,使学生了解结构化程序设计思想,学会用结构化方法编写程序,初步具备解决实际问题的能力。 2.C#可视化程序设计 掌握C#高级语言基础、Visual Studio 2008集成开发环境的使用、Windows界面控件的使用、事件驱动的编程机制,使学生获得面向对象的感性认识,初步拥有Windows应用编程能力。 3.数据结构 掌握数据结构的基本概念和各种基本的数据结构,包括数据的逻辑结构(线性表、堆栈和队列、广义表和字符串、树与二叉树、图、文件等)、存储结构(顺序存储、链式存储)以及在这两种结构基础上对数据实施的基本操作(算法)的设计与分析。 4.数据库原理及应用 掌握数据库系统的一般概念、数据模型、关系模型、SQL语言、数据库安全性、完整性、关系数据库理论、数据库设计、数据库编程、数据库管理系统的使用以及运用开发平台开发数据库应用系统的方法,为从事数据库应用开发打下基础。 5.面向对象程序设计(Java) 掌握Java语言基础、面向对象程序设计思想(抽象、封装、类、继承与多态)、工具类、图形界面编程、异常处理、文件输入输出、数据库编程、Java Applet 编程、开发环境与工具的使用等。着重培养学生对Java 编程思想的体会,为进一步学习Java 语言打好基础。 6.Web应用系统开发(JSP) 掌握JSP软件体系结构、运行环境的安装与配置、JSP基础、JSP常用内置对象、JSP与JavaBean、JSP操作数据库、Java Servlet技术,使学生掌握JSP基本理论知识,能够运用JSP进行Web小型应用系统开发。 7.Java网络编程 掌握网络编程基础知识,基于TCP、UDP以及FTP等应用层协议的Java应用开发,使学生掌握“基于协议”的网络程序开发方式。 8.J2EE企业级应用开发 掌握J2EE的体系结构、Servlet、EJB以及利用开源框架(Struts、Spring和Hibernate)进行J2EE程序开发,使学生掌握基于J2EE的企业级应用系统的开发方法。 四、实践教学体系 与上述课程体系配套的实践教学体系包括每门课程的课内实验和课程设计。课内实验部分主要是基础性实验和验证型实验,重点加深学生对知识的理解,掌握基本技术和方法。从第二学期开始,每学期都安排大型的课程设计,课程设计需要综合一门或多门课程的内容。C#可视化程序课程设计,体验C#的编程思想以及组件开发原理,利用Visual Studio2008集成开发环境来完成应用系统的设计,初步体会面向对象程序开发的思想。数据结构课程设计主要针对具体问题进行数据结构与算法设计,并用C语言或C#语言实现。数据库课程设计主要针对具体问题,按照数据库设计的步骤进行,学生可利用已掌握的.NET技术实现具体数据库应用系统。本课程设计涉及技术和数据库两门课程的知识,是对学生综合分析、设计以及编程能力的检验。Web应用系统开发(JSP) 针对具体问题,运用JSP技术及JDBC数据库访问技术,利用开发平台实现小型的Web应用系统,主要检验学生运用JSP技术解决实际问题的能力。Java网络编程课程设计主要检验学生“基于协议”的网络程序开发能力,即学生运用已掌握的网络编程技术进行基于TCP、UDP、FTP等协议的小型应用软件的设计与开发。J2EE企业级应用开发课程设计主要针对Java企业级架构开发,学生使用Struts、Spring和Hibernate进行整合开发Web程序。在完成课程设计任务过程中,学生需要查阅课外知识,有助于培养学生的自学 能力,同时锻炼和提高学生综合分析、设计和编程能力,完整体验到一个应用系统开发的全过程,巩固了已学的知识,为毕业设计和就业打下良好的编程基础。 五、与课程体系相关的教学改革 1.改革教学手段 采用案例教学法。由于学生缺乏实际开发经验,为了充分调动非计算机专业学生学习软件编程积极性,在上课前期就强调应用,精心准备一些与课程相关的应用软件系统案例,使学生从接触课程开始就认识到学习编程的实用性,从而提高学习的兴趣,有利于整个教学过程的实施。 2.改革实践教学环节 转变“重理论、轻实践”的观念,建议采取课堂教学与实验教学相结合、课内与课外实践相结合的教学方法。教师可将课堂教学中技术性、操作性、应用性比较强的内容直接在实验室中进行教学,采取边讲边练的教学方法,使学生在实际操作中掌握相关的知识、技能和方法;为了更好地培养学生的实践能力,应积极加强课外实践活动,例如参与其他院系的网络精品课程建设、教学网站的设计与开发和教育游戏软件的设计与开发等,这些课题本身就属于教育技术学专业应用研究课题,学生在参与过程中,不仅锻炼了动手编程、解决问题的能力,同时还锻炼了与他人合作解决问题的能力,使人才培养方案与社会需求结合,做到学以致用。 3.改革实践教学考核方式 实验考核不但可以考核学生对知识的掌握程度,还能够激发学生的学习积极性,对学生有很大的引导作用。实验部分分数比例设置过低,会使一些学生轻视实践环节,所以适当提高实验分数比例是必要的,且对于不同类型的实验,应采用不同的考核方式。 六、结束语 教育技术学专业是一个交叉学科,学生计算机应用能力的培养在该专业的培养方案中占有重要的地位,加强学生计算机软件开发动手能力也是当前提升学生就业竞争力采取的必要措施。在本文中,主要探讨了教育技术学软件开发类课程体系的建设,通过研究,建立了以“C-C#-Java”语言类课程为主线的教学体系,突出的是该专业学生实践动手编程能力的培养,希望能够为教学技术学本科专业的计算机类课程教学提供一些帮助和启示。教育技术学专业学生计算机应用能力人才的培养是一个循序渐进的过程,该专业计算机类课程体系的改革研究,仍然需要在实践中不断深入探索和完善。 软件开发专业论文:基于CDIO的高职软件开发类专业课程体系的研究与探索 [摘要]文章从区域人才需求和高职学校的实际情况入手,结合高职学生的特点,以加强学生动手能力的培养为目标,探讨基于CDIO的教学模式,从而制订高职软件开发类人才培养方案,主要内容包括高职学生特点分析、课程体系建设、核心专业课程开发等。 [关键词]CDIO模式 软件开发 课程体系 高职 人才培养 进入21世纪以来,国内外高等职业教育体系发生了重大变化,CDIO工程教育模式是当前国际工程教育改革的最新研究成果。培养满足企业需求的人才,主要还是依靠专业课程体系的设置。本文在对台州周边区域企业充分调研的基础上,在教学中引入CDIO教学理念,设置了基于CDIO的软件开发类专业课程体系,对培养高职学生的职业技能以及岗位能力具有积极的意义。 一、软件开发类专业课程体系的特点与存在的问题 1.软件体系结构的特点。20世纪90年代,随着软件工程的发展,软件体系也随之发展起来,软件体系的基本内容和原理来源于近20年软件研发过程中逐步形成的理论成果和实践经验的总结。软件体系结构发展历史短,形成过程还在逐步完善中,理论强于实践,具有很强的学术特点。软件设计原则、方法、技术是对以前软件开发过程的经验总结,设计软件的目的是为了高效快速地运行具体项目。软件需要考虑项目功能的需求和商业因素,因此软件的设计是一门艺术的设计。 2.传统教学中存在的问题。人才培养计划是人成才的实施过程,在职业人才的形成过程中,职业能力和职业素养起了决定性作用。原有的培养计划由于体制、培养模式等因素,严重影响了毕业生的岗位适应能力。主要表现为学生对未来职业的工作环境、岗位能力目标缺乏了解,对学习课程的知识目标、能力目标不明确;单项技能强于职业技能,强调自身的知识能力,课程之间缺乏联系,学生对所掌握的技能不能融会贯通;课程教学以教师为主,学生缺乏必要的认知与体验,教学过程中缺乏必要的学习情境,忽视了学生的主动性;学生对理论知识的掌握较差,对抽象的理论感到乏味;软件的设计是从整体架构层面考虑复杂的用户需求,缺乏项目开发经验的学生很难理解抽象的理论知识,更谈不上将掌握的知识应用到实际的开发中。 3.高校毕业生与社会需求之间的矛盾。2010年全国高校毕业数量达到了630万人,而计算机相关专业的毕业生占了相当大的比例,就业形势不容乐观。有关统计数据表明,就业率在所有行业中属于最差的级别。软件产业处于高速发展阶段,近年来保持30%的增长速度,即便是2009年受国际金融危机的影响,软件产业的增长速度也达到了25.6%,而软件从业人员的增长速度为每年25%。从表面上看,软件产业的发展和人才需求基本持平,但人才供需的实际矛盾突出,究其原因主要是高校对软件产业的需求缺乏了解,培养的学生对工作岗位的适应能力差,而企业对人才需求也近乎苛刻。 二、CDIO模式在课程教学中的探索与研究 CDIO工程教育模式是21世纪国际工程教育改革的最新成果,集中概括了“做中学”“基于项目教育和学习”的教育理念,以工程项目为载体,从项目的研发到运行,让学生以主动的、实践的、有机联系的方式学习工程开发过程。CDIO模式以构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)为主,指出了工程师必须具备的基础知识、个人能力、职业素养以及和社会环境的融合,并教学生如何掌握这些知识、能力和职业素养,强调了理论与实践的结合。 第二,案例导学,培养学生个人能力素质。个人素质和专业技能是一个优秀工程师的必备素质,包括学生认识问题、分析问题的能力,形成建模,解决问题的能力,以及整体的、系统的思考问题的能力。通常选择一些直观的、常见的、学生感兴趣的例题,由指导教师在课前将问题抛出,学生分析用户需求,构建系统体系结构,设计出满足用户需求的软件体系结构。在课堂上,以学生为主,分析、讨论、识别设计的软件体系中存在的风险和解决方案,锻炼学生分析、解决问题的能力,提高实际软件设计过程中的成本意识和风险分析能力。 第三,分组讨论,培养团队合作和交流沟通能力。团队合作和交流沟通能力是软件开发类专业学生必备的能力之一。在实际教学过程中,将学生以寝室为单位分为若干小组,每组由1名组长负责,在课堂上,组长代表本小组,直接和教师或其他小组联系;在课堂外,组长是本小组的项目领导者。在组长的安排下,各成员分工合作,相互学习,相互帮助,拉近了同学之间、学生与老师之间交流的距离。 第四,项目驱动。系统的开发、设计是在企业和社会环境下的构思、设计、实践、运作,是有一个项目系统化的设计过程,是CDIO工程教学模式的精髓的体现。以一个完整的软件开发项目为驱动,以CDIO教学模式为指导,将CDIO的四个阶段有机地融入项目中。第一步,构思。学生先对项目的研发背景和用户需求进行分析,提出系统开发的可行性、系统开发过程中可能遇到的问题,提炼出系统的功能要求及解决方案,写出必要的文档资料。第二步,设计。对系统进行建模,设计出相应的软件体系结构,进一步分析、评估。第三步,实现。设计软件进行必要的软件测试,使软件能正常运行。第四步,运行。对设计的程序进行修订、完善。将教学过程融入项目制作的具体情境中,学生掌握了每个阶段的成果,完成了具体项目的制作,了解了工程制作过程。 第五,能力考核。在考核方式上,摒弃了传统的理论考试,注重软件开发、设计能力的考核。以学生提交项目的运行情况为主,根据各小组成员分工情况进行答辩。首先由组长介绍项目的总体情况、分工情况等,然后由各成员汇报各自承担的工作,最后教师根据具体情况向学生提问,以学生做答来评定成绩。每个小组需要提供相关的技术资料,提高了学生工程能力。 三、高职软件开发类专业课程体系开发 2.岗位能力分析。一是职业发展过程设计。将学生职业发展过程分四个阶段:第一阶段,职业发展初期。上班初期,从文档等资料整理开始,要求掌握办公自动化软件及设备、局域网建设等技能。第二阶段,职业成长阶段。经过一段时间的熟悉,能根据实际需要进行数据库的设计和维护,进行静态网页的制作和图形用户界面的开发。第三阶段,职业成熟阶段。能在软件开发技能方面有提高,掌握基于B/S模式三层架构的WEB应用系统的开发,掌握基于手机的移动应用系统的开发,掌握软件测试技术。第四阶段,经过在岗位上的锻炼和实践,基本能独当一面,独立研发信息系统、大型网站的建设以及移动应用程序的开发等。 二是职业能力与素质分析。专业技术能力:具有良好的编程能力,掌握GUI、Web、移动应用程序等的开发方法,掌握数据库的开发和应用,了解企业级应用程序的基本架构,会在JAVA和.Net两种平台上编写程序和测试程序。社会交往能力:具有良好的人际关系,较强的语言表达能力,较强的团队合作精神,良好的社会适应能力,能承受挫折,学会与人共处。继续学习能力:具有较强的进取心和求知欲,较强的学习能力,独立的思考能力。 四是课程教学实施过程。高职人才培养的实施过程为:大学一年级开设Office高级应用、数据库管理、网站美工设计、静态网页设计、基于CMS的网站开发技术、Java面向对象编程、C#面向对象编程课程;大学二年级开设局域网建设与安全管理、XML应用、软件工程、企业资源规划实施、Java Web应用系统开发、.Net Web应用系统开发、.Net企业级商业站点开发课程;大学三年级开设顶岗实习、毕业设计、Java移动应用开发、C#移动应用开发课程,然后毕业。 四、总结与展望 台州职业技术学院软件开发类专业强调通过毕业设计检验专业综合能力,以课程项目实战检验模块课程的设计,考虑职业岗位的人才需求情况,以提高学生专业技术开发能力为出发点,贯彻CDIO工程教学的先进理念和教学方法,设计了高职软件开发类专业人才培养方案。在未来将在实际教学过程中不断完善方案,为高职软件开发类专业探索新思路。 软件开发专业论文:浅析电类专业仿真教学软件开发的重要性 摘 要: 随着计算机技术的飞速发展,计算机在电力系统继电保护整定计算和数据库管理等方面的发展已相当成熟和普及,但涉及二次系统的技术资料的计算机管理和仿真则相对滞后。本文介绍的二次配线仿真教学软件,可将每个元件为基本单元进行计算机仿真,模拟设备的具体连锁动作过程,设置每个元件的不同状态和不同故障等,应用于学生模拟现场人员读二次系统图,分析故障原因,从而提高运行人员的事故应变和处理能力。 关键词: 电类专业 计算机仿真教学 二次配线仿真 教学软件 一、 引言 传统的职业教育以使学生掌握经验技术和动作技能为目标,以迅速适应工作岗位的要求。但在知识经济时代,由于生产方式的根本变化,人们的职业能力构成必将有大的改变,社会需要更高层次的人才。这就要求我们培养的高等应用型人才,不只是对现有知识、技术、方法的继承性应用,而是应通过自身努力能够不断学习新知识、新技术、新方法,形成新方案、新产品、新创意,分析新情况,创造新问题。因而课程实践教学的改革应以培养的学生具有一定创新能力和创新精神、有着良好的发展潜力为主旨,以行业科技和社会发展的先进水平为标准,充分体现规范性、先进性和实效性。 在电业专业教学中利用计算机进行仿真教学,主要是借助一些具有强大仿真功能的软件平台进行电路仿真实验。这种仿真实验是在计算机上虚拟出一个元器件种类齐备、先进的电子工作台,一方面可以克服实验室各种条件的限制,另一方面可以针对不同的目的(验证、测试、设计、纠错和创新等)进行训练,培养学生分析、应用和创新的能力。与传统的实验方式相比,仿真实验突出了实验教学以学生为中心的开放模式,有效提高了实验教学的效率。 二、传统实践教学的状况及问题 在传统实践教学中,教师是“带”实训而不是“指导实训”,即实践教师是传授知识和技能的主体,而学生则被动地接受知识和技能。这种教学多采用注入式,教师根据教学计划和教学要求拟定内容,其实践内容的选择、步骤的制定和仪器设备的组织准备等概由教师进行。实践时学生只需按规定的步骤机械地操作即可。且在执行过程中,完全听从教师安排,全班统一进度和要求,不利于因材施教。 教学内容过于偏重于基础训练,所以在方法和手段上很单调,主要以“模仿”为主。通过教师详细讲解、操作示范,学生不需主动思维和创新,只需“依样画葫芦”。学生反复训练硬件接线,熟能生巧,形成一定的基本技能。另外所用设备仍以传统的电机电器为主,没有运用现代化教学设备和手段,先进性也显不足。 三、计算机仿真教学的优点 计算机仿真教学最大的特点是有助于突出教学重点,分散难点,只要点击鼠标,就可以进行大量演示。在课堂中无论一个老师多么善于表达、比划,也难以表现一些抽象的和具有共性的知识内容,而这些知识内容又往往是一节课的重点和难点。与传统的教学软件相比,计算机仿真为电气控制教学提供了新手段,弥补了传统教学中的许多缺憾,为教师、为学生创设了充满活力与生机的工作、学习环境。 与传统的方式相比,仿真教学具有如下优点:(1)为学生提供充分动手的机会。强大的交互性能,使得学生可以自己动手设置各种实验参数,并及时得到结果,这在真实世界中往往是无法实现的。(2)灵活地仿真各种真实情况。在仿真软件中可以灵活地设置各种参数、模拟条件,自如地模拟真实世界中的各种情况。(3)设定各种事故及极限运行状态。我们通过仿真,可以了解真实世界中无法实现的危险性操作,或者临界条件。(4)自动评价功能。在一般情况下,仿真软件具有评价功能,可以给学生的每一次操作实时地评分,使学生可以即时地了解自己的每一次操作的正确性或合理性。(5)安全性。所有的操作均不是现场实施,因此绝对不会带来危险的后果。(6)节省开支。 除了以上这些显而易见的优点外,仿真教学还有一些超出人们预期的效果:(1)调动学生的学习主动性。仿真软件一般都是独立操作、独立完成,学生必须开动脑筋认真分析问题,从而才能准确地解决问题。在传统教学中,学生往往会等待教师给出正确答案。(2)开拓想象空间。仿真软件的操作不存在限制,学生可以海阔天空地想象,进行各种各样的设计,并迅速地通过仿真看到结果。这在传统教学中是不可能实现的。(3)减轻教师的负担。学生们主观能动性提高,就意味着教师可以腾出手来做更多的教学工作,或进行有针对性的指导工作。在传统教学中,一个教师往往要面对几十位学生,无法跟踪每个学生的全过程。(4)增强学生的自信心和成就感。通过仿真训练,学生们能充分了解自己所学知识的应用领域,应用前景等,将理论与实践相结合,增强对专业技术的认识,从而激发敬业精神。而传统教学中,学生们掌握了一大堆知识,却不知道如何应用,往往会对本专业有一种挫败感,丧失从事专业工作的积极性。(5)增强学生的安全意识。通过计算机仿真,在虚拟世界中由于错误的操作而产生的安全事故,可以提高学生的警觉,分析故障原因,掌握排除故障的技巧。 四、结语 二次配线仿真教学软件的开发,有利于二次配线教学,能为学生提供充分动手的机会;交互性能强大,学生可以自己动手设置各种参数,并及时得到结果,可以灵活地仿真真实环境。通过仿真,学生可以了解真实世界中无法实现的危险性操作。所有的操作均不是现场实施,不会带来危险的后果。仿真软件一般都是独立操作,独立完成,学生必须开动脑筋认真分析问题,从而才能准确地解决问题,解决了传统的教学中学生等待教师给出正确答案的缺陷。仿真软件的操作不存在限制,学生可以海阔天空地想象,进行各种各样的设计,并迅速地通过仿真看到结果。通过仿真训练,学生能充分了解自己所学知识的应用领域、应用前景等,将理论与实践相结合,增强对专业技术的认识,从而激发敬业精神。通过计算机仿真,在虚拟世界中由于错误的操作而产生的安全事故,可以提高学生的警觉,分析故障原因,掌握排除故障的技巧。学生们主观能动性的提高,就意味着教师可以腾出手来做更多的教学工作,或进行有针对性的指导工作。 软件开发专业论文:影响师范院校计算机专业学生软件开发能力的原因分析 摘 要: 影响师范院校计算机专业本科毕业生就业问题的因素有很多,而学生软件开发能力薄弱是关键因素之一。本文结合现实情况,系统地分析了影响师范院校计算机专业学生软件开发能力的原因,并给出了相应的改进建议。 关键词: 师范院校 计算机专业 软件开发能力 1.提高师范院校计算机专业学生软件开发能力的必要性 大学生就业问题已经成为广受关注的社会问题,而在高等院校中发展最快、在校人数最多的计算机专业,其毕业生的就业情况显然并不乐观,尤其是师范院校计算机专业的本科生,面临的就业问题尤为突出。形成这种局势的原因是相当复杂的,关键因素可以概括为以下两个。 (1)近几年国内师范类计算机专业毕业生“供大于求”。十多年来,随着高校计算机专业的发展和生源的扩招,使得计算机教育队伍逐年壮大,而计算机老师的需求量却在逐年减少。近些年,城市中小学计算机老师几乎饱和;而在农村,由于中学“信息技术”课程还尚未正式纳入中考、高考等升学考试的范围,社会各界对中学计算机课程不重视,许多学校甚至尚未开设“信息技术”课程,即使开课,也不聘请专门的计算机老师进行授课。 (2)与工科院校相比,师范院校计算机专业毕业生实践能力差,因此降低了就业竞争力。受已有的培养方案的限制,师范院校计算机专业单纯地培养面向中等学校计算机教育师资,所开设的部分课程与社会需求脱节,培养的毕业生动手能力不强、软件开发经验不足,无法胜任软件开发和计算机应用工作[1],这显然加大了师范院校计算机专业毕业生的就业难度。 师范院校计算机专业毕业生就业难的现状很可能会一直持续下去,解决的方法除了加强社会对计算机教育的重视外,师范院校还必须从自身做起,加强对计算机专业学生软件开发能力的培养,让学生能够具有更强的竞争能力,可以到竞争激烈的人才市场去应聘。 2.影响师范院校计算机专业学生软件开发能力的原因 计算机专业培养学生的目标主要是系统掌握计算机的基础理论,学习计算机先进的设计、开发技术,成为具有良好的综合素质、较强的创新与实践能力的专业人才。软件开发能力是计算机专业学生应具备的重要的、基本的技能[2]。而师范院校培养的计算机专业毕业生软件开发能力普遍偏弱,当然产生这种结果是有多种原因的。 (1)培养方案过时。师范院校计算机专业最初的教学目标就是为中等学校培养计算机师资,所以在教学培养方案中安排了很多与计算机教育教学相关的课程,比如中学教材分析、计算机教学法等课程,这些课程占去了学生很多的学习时间,另外,学生在校期间还要去中小学教育实习几个月,可是最后几乎95%的师范院校计算机专业的学生毕业后并不去当老师;培养方案中严重忽略学生实践能力的培养,很多语言类课程没有安排与之配套的课程设计,即使有,也大多流于形式,没能达到教学目标,学生学到最后根本不知道什么是软件开发,又何来软件开发能力呢?近几年来,部分师范院校对培养方案进行了改革,在计算机专业中设置了非师类专业,然而,培养方案改革并不彻底,依然残留师范式教育的影子。 (2)教师的软件开发水平不高。教师的软件开发水平直接关系到学生的学习效果。教师的软件开发水平普遍偏低,尤其在计算机专业,一般热爱软件开发及开发能力强的人毕业后多半去软件公司,很大一部分不热衷于软件开发的人进入高校当计算机老师,所以目前不少高校计算机专业教师缺乏软件开发经验,甚至很多教师从来就没有参与过一个完整的项目研发过程,就连上课都不能现场编程,只能纸上谈兵,照本宣科,在教学过程中自然难以理论联系实际。教师的软件开发能力不高,必然不会重视学生的软件开发能力的培养,也无法培养学生的软件开发能力。 (3)教学方法老套。教学方法有待改进。大部分老师在教学过程中重理论轻实践。一方面,老师将教学重点放在程序语言细节讲解,忽视实际案例分析,无法调动学生的学习积极性。长此以往,学生对软件开发的意义、框架、方法、思想都难以整体把握,大量平淡枯燥的代码迅速削弱学生对软件开发的兴趣。另一方面,大部分老师在教学过程中忽视学生实践能力的培养,不给学生提供自己动手独立思考的机会,语言类课程的教学,实验课一般完成的多是验证性实验,很少或者几乎没有设计性和综合性的实验,学生在学习的过程中体会不到成就感,当然谈不上动手能力的提高,更不可能对软件开发产生浓厚的兴趣。 (4)考核方式教条。计算机专业课的考核方式深受应试教育大环境的影响,很多院校语言类课程的考核方式都是“平时成绩+实验成绩+笔试成绩”,只是所占比例有些区别,而实验成绩无法评价一个学生的实践能力,笔试成绩更是多半考核学生的基础知识,这种考核方式使得学生重视考试,忽视应用,运用知识的意识与能力较弱。 3.培养师范院校计算机专业学生软件开发能力的建议 综上所述,要想提高师范院校计算机专业学生软件开发能力就要从根本上解决现有的问题。第一,要修订培养方案,将提高学生的软件开发能力作为首要考虑的培养目标,不但要增加学生实践的课时安排,还要主动为学生创造实践的机会,比如安排课程设计,与企业联合,建设实训基地等。第二,要加强教师自身对软件开发的重视,同时要提高教师的软件开发能力。让教师在教学过程中带领学生结合实际情况开发实用的软件,激发学生学习的兴趣,让学生体会软件开发的意义和成就。第三,要改进教学方法,开展目标驱动教学,比如每门课程都有教学任务与实际应用结合紧密的软件系统设计和实现的目标,将学生分成多个小组,然后每次课的实验任务就是让学生运用本章所学的知识去完成本系统的一部分,课程结束后,每个小组的学生都可以收获到一个自己亲手设计和实现的软件系统。第四,要改革考核方式。考核方式不只是有笔试一种,可以采用分组进行课程设计和答辩相结合的方式。 总之,要想提高师范院校计算机专业学生的软件开发能力,就要学校、教师和学生同时行动起来,确定明确的目标,加强软件开发意识,调动学生的积极性,让学生了解软件开发的意义,加深软件开发的意识,参与软件开发的过程,从而提高自身的软件开发能力。 软件开发专业论文:计算机专业软件开发能力的培养策略 摘要:软件开发能力已成为计算机专业学生应熟练掌握的一项重要技能,我院针对当前社会对软件人才的实际需求,制定了科学合理的教学方案。本文介绍了我院的培养策略以及实践效果。 关键词:软件开发;能力培养;教学方案 1引言 随着计算机硬件、软件、网络等信息技术的快速发展,计算机已由最初单机计算为主发展为现在以网络化信息处理为主,功能不断增强,性价比不断提高,应用范围不断扩大,推动信息社会快速发展,因此社会需要大量高质量的软件产品,更需要大量高素质的软件人才。据前程无忧网统计,如图1所示,该网站2006、2007年软件开发相关的岗位总数分别是33653、42177个,对各类软件人才的需求量稳步增长,其中,高级软件工程师的岗位数增长最快,增长了1.6倍,说明市场更加欢迎高级的软件人才,以后企业间的竞争是高级人才的竞争。调查显示,2007年中国软件产业存在至少20万软件人才缺口,并且这个缺口还以每年20%左右的速度增长。IT人才的短缺严重阻碍着中国IT产业的发展。教育体系有跟不上市场需求的危机,因此如今许多IT培训机构的业务非常火暴。 图1 2006年、2007年前程无忧网的软件开发岗位数比较图 计算机专业培养学生的目标主要是系统掌握计算机的基础理论,学习计算机先进的设计、开发技术,成为具有良好的综合素质、较强的创新与实践能力的专业人才。软件开发能力是计算机专业学生应具备的重要的、基本的技能。近年来,软件人才已成为当今社会最紧缺的人才之一,一方面说明当今社会对软件人才的刚性需求,另一方面说明当前高校培养的合格的软件人才数量不足,而我国许多高校计算机专业的招生规模不断扩大,但教学质量并没有提高。主要表现在学生基础理论不扎实、应用型知识缺乏、动手能力不够、自学能力不强和软件开发经验不足等方面,因此必须加强计算机专业学生软件开发能力的培养。信息产业部日前公布的一份软件产业发展规划显示,2010年中国软件产业销售收入预计将达到13000亿元人民币。软件行业期望新的从业人员应该具备以下三个重要特征:①扎实的概念基础和技术技能,从而能够适应不断变化的IT行业;②获得行业实际项目开发所需的技术和经验,熟练掌握编程的核心技能、规范和有关工具;③具有沟通与协作技能以及团队合作精神。下面从教师和学生两方面入手,分别探求软件人才的培养方案。 2教师是教学质量的保证 2.1教师要重视软件开发 目前许多教师重视读学位、写文章,轻视软件开发实践,因为后者不但辛苦,且不容易被大家认可,如在高校评职称时,写一篇普通文章强过开发一个优秀软件,显然两者的技术含量与付出的劳动都不成正比,但从长远的角度看,软件开发有益于教师的科研与教学,如笔者在读博期间研究一种综合算法,需要编写许多软件工具,构建算法实验平台,因此软件开发能力是进行算法研究的前题。 2.2教师软件开发水平有待提高 目前不少教师缺乏软件开发经验,难以理论联系实际,只能纸上谈兵,照本宣书。笔者开发过大量高质量的软件系统,授课时经常结合自己开发过的一些软件项目讲解算法与数据结构与软件工程等课程,有许多经验和方法都是在长期实践中领悟而得,学生对此非常感兴趣,从中受益匪浅。学生不仅学到了软件开发知识,还掌握了软件开发的方法,增强了对软件开发的信心。你若没有编写过大量程序,就很理解面向过程(Procedure-Oriented)、面向对象(Object-Oriented)、面向方面(Aspect-Oriented)与面向服务(Service-Oriented)等软件设计方法的思想并在项目中灵活运用,也无法体会设计模式(Design Pattern)的精妙之处。 2.3改进教学方法 如笔者在讲授Visual Basic(VB)与Visual C++(VC)等课程时,教学方法如下。 (1) 改革课程考核指标 为引导和鼓励学生多动手,加强软件开发实践,在学期初就公布成绩计算方案,如:总成绩=笔试成绩×60%+实验成绩×20%+软件项目成绩×20%。软件开发能力很难用一份试卷反映出来,不仅要考查算法理解与运用的能力,还要考核动手实践的水平。实践证明,通过软件项目的开发,能充分反映学生的综合素质,也能准确全面地了解学生对知识和技能的掌握情况。 (2) 教学初期强调对编程细节的指导 学生尚未入门时,要具体指导,最好用多媒体讲解,教师应现场编程。有些教师担心上课时编程出错,就将程序放在幻灯片上,上课时一闪而过,教学效果不理想。教师现场编程对教师提出更高要求。编程水平是软件开发水平的基础,笔者讲授任何一种语言都是边讲边编程,有时还会结合新算法,自由发挥,考查学生的理解能力,当然编写的程序有时也会出错,通过现场代码调试或查看帮助系统,很快就能解决问题。学生不仅要学习编程,更要学习教师分析问题和解决问题的方法,因此教师编程的全过程就显得非常重要。 (3) 教学后期要加强软件项目的开发 教师可先演示编写一个小软件。现在不少学生喜欢玩游戏,为增强学生的兴趣,笔者就用VB、VC编写过俄罗斯方块等游戏软件,学生们觉得很好玩,于是许多学生都编写了游戏程序,寓教于乐。其实一个小小游戏程序几乎包含了软件开发的所有领域,如系统分析与概要设计、可视化界面设计、游戏规则的算法设计、多媒体编程,也可能涉及数据库或组件设计与编程,如果是网络游戏还涉及网络编程、软件调试与测试、制作软件安装程序、编写相关文档。学习过程中提倡学生相互讨论,互相帮助。现在互联网的信息非常丰富,学生遇到的多数问题都可在网上找到答案,可以说软件开发可以离开教师与书本,但决不能离开互联网。 (4) 课程设计或毕业设计的选题要有现实意义 鼓励或要求学生开发一些真正的软件项目,其原因主要有:①学生觉得更有现实意义;②软件需求更为实际,需要学生实际调研后,整理、分析、总结出用户的真正需求,软件要求相对较高;③当用户使用时,更容易发现软件的Bug和设计的缺陷;④有效避免学生抄袭已有代码蒙混过关。总之,这样更能反映并提高学生的软件开发水平。爱尔兰通过发展教育、培养人才、吸引软件人才和大批跨国IT公司,促进软件产业发展,从30年前的一个农业小国,一跃成为世界软件出口第一大国。最近有一位在爱尔兰的中国留学生曾向笔者请教毕业设计的问题,他说本科毕业设计是开发一个购物网站,技术含量不高,但很实用,经过数月努力圆满完成,可硕士毕业设计遇到了技术难题,设计内容是用Java开发可以操纵手机的PC程序。这个课题很新,也很实用,这也是笔者在江苏省自然基金网上项目评审系统中开发过的一个软件,主要用于联系评审专家,只是我是用C++开发的。该软件涉及到系统底层的开发,如串口通信、手机的AT指今、通信数据包与通信议协的分析与处理、通信内容的数据挖掘与智能处理;该软件还要考虑Java操控操作系统的底层和C++系统向Java系统的移植。这说明了爱尔兰的计算机教育中,毕业设计课题来源于社会,有较强实用价值。 3学生是学习的主体 3.1学生应保持良好的学习心态 (1) 学习是一条漫长的道路 软件开发的学习是一个循序渐进的过程,不可急于求成。现在不少学生不太爱学习基础课程和钻研技术,学习不踏实,总想找些速成的学习方法。一部分学生认为大学里学习的算法与数据结构等课程不实用,还不如就学VB和数据库更能直接派上用场;还有一部分同学瞧不起程序设计工作,还不如学习项目管理,可以管理程序员工作,有地位,工作轻松,收入又高,因此把学校的课程弃之不顾,主攻管理学。前一类的人是急功近利,因基本功不扎实,发展后劲不足;后一类的人是好高骛远,本末倒置,不懂软件开发的项目管理,只能是纸上谈兵! (2) 不要害怕走弯路 软件开发中充满智力与耐力的挑战,如何设计更为精巧的算法,就如同智力游戏。书写、整理软件中的大量代码与文档,没有足够的细心与耐心,就会半途而费。在学习软件开发的过程,经常或多或少会走一些弯路,但这不是坏事,因为以后会有意避免或少走这样的弯路。笔者在软件开发初期就经常走弯路,有软件工具选择不当,如将.Net改为Java;有欲速则不达的,如为简化编程使用现成报表系统,结果有些功能无法实现,最后只好编写近万行代码,开发了通用报表系统;还有技术使用不当,在一些专家的鼓动下使用了一些“最新技术”,殊不知这些最新技术隐藏了许多问题,这对软件系统是致命的,因此软件项目开发与科学研究不一样,不要选用最前沿的最新技术,而要采用成熟的主流技术。 (3) 兴趣是最大的学习动力 如果你对软件开发不感兴趣,整天面对电脑,输入代码,不停思考问题,肯定会无聊和痛苦的。据统计,中国35岁以上程序员只占5%,其中一个主要原因就是当程序员长期从事软件开发时,如果没有兴趣导向,就难以坚持,最终只能选择放弃。而国外许多软件大公司,年长的程序员却很多,主要还是他们热爱这个职业。笔者对软件开发很感兴趣,对每个技术细节总想追根求源,因为理解,学习效率倍增,开发软件的数量与质量也在不断提高。在学习新技术或开发有挑战性软件项目的过程中,会有一种满足感与成就感。当然还要消除学生对软件开发的神秘感,当他完成一项软件时,就会了解软件开发的全过程,且觉得很有意思。 3.3实践为主,注重积累 软件开发是高强度的脑力劳动,不仅要加强理论学习,更要重视实践。只有编写过大量程序之后,才能体会出软件开发的精髓。经验来自实践。软件开发中会产生问题和错误,若能解决好,可上升为经验,而这些经验是书本中学不到的。经验与代码的积累在今后的软件开发中尤为重要,时常会产生事半功倍的效果。笔者在开发软件时,构建了许多类库、函数库与通用组件,如通用查询、报表、动态界面、数据库与Office操作等组件,提高了软件开发的质量与效率。很难想象一个没有任何实践经验与代码积累的程序员可以快速开发出高质量的软件系统,这也是现在不少用人单位要求应聘者要有多年软件开发经验的原因。 3.4突出学习重点 针对学生的兴趣、特长和软件人才预期的需求热点,有选择地学习相关内容。软件知识与技术名目繁多,不可能全部学完、学精,对于需求热点可以查看一些IT人才网,多数技术较为相似,万变不离其宗,学习重点相对稳定,主要有: (1) 精通一门编程语言。从目前网络版软件主要分为C/S(客户/服务器)模式与B/S(浏览器/服务器)模式,前者可学习C++、Java、Delphi(Pascal)、C#等编程工具,后者可学习JSP(Java)、.Net(C#)、ASP、PHP等编程工具。随着互联网快速发展,目前B/S模式占据主流地位,其中Java/ J2EE和.Net人才成为热门。但对于计算机专业的学生,C++语言是一定要学好的,它是许多核心系统的唯一语言。当然Java语言是全球最热门的语言,主要原因是Java具有跨平台、开源、安全等方面的强大优势。 (2) 熟练掌握一门数据库。如Oracle、SQL Server、MySQL,能灵活使用SQL语言和编写存储过程、触发器,并能将它与前面的编程语言相结合。多数系统都与大量数据有关,因此必须使用数据库技术,最好能够掌握数据库的维护与优化技术,以提高系统的性能。 (3) 深入研究数据结构与算法。有些软件系统对性能比较敏感,因此可提出更优的数据结构与算法,从而满足系统的性能要求;它还是研究核心技术的关键。 (4) 学好英语。目前大部分第一手的技术资料都是英文的,且随着外资软件企业与软件外包项目的增多,对英语口语与写作能力提出了更高的要求。学生平时应多看一些英文版计算机教材和英文技术资料,这样可以学习到最新知识与技术,更好理解作者的思想,也培养了英文阅读能力,对以后工作也会有帮助。如不少学生进入外资企业或软件外包公司后,相关资料几乎都是英文的,有时还要与国外客户或技术员开视频会议,发送E-mail等。 如果对MIS系统感兴趣,可重点学习数据库的管理、开发与优化技术;如果热爱网络通信,可重点学习网络通信与安全技术;如果有绘画特长,可选择网页、游戏或软件的界面设计;如果有编程天赋,可重点研究算法的设计与优化;如果想成为软件高级人才,可学习系统分析与架构设计;如果觉得编程水平一般,可从事动态网页设计或软件测试等。然而作为计算机专业的学生,应努力从事较高技术含量的软件开发,进一步拓宽知识面,掌握软件开发技术的全貌,优化知识结构,提高综合素质,这将有益于今后的就业与事业的发展。 3.5加强自学能力的培养 有人认为软件技术发展很快,软件人才被淘汰也快。然而解决该问题的最好方法就是学会如何自学,一门有生命力的技术,其发展必定很快,相关人才优胜劣汰,竞争激烈,如何保证永不落伍,唯有不断学习。如果完全依靠教师讲授,显然是不够的,必须强化自学能力的培养。笔者深有体会,本科是学习物理专业,多数计算机相关课程与软件技术全部是自学而成,对于目前软件技术的学习与研发游刃有余。学习一门新的软件开发工具或技术,笔者通常是先买一本由浅入深的书,再从网上或光盘上找到多媒体教学课件,边看、边听、边想和边练,将重点内容学完后,再找一个相关的软件项目,用该软件工具或技术进行开发,这个过程会发现许多意想不到的难题,通过研究官方帮助与网上的相关资料方可解决,当项目完成时,对学习内容的理解与掌握又深入一大步。据IT168统计,软件开发者学习.NET技术的主要渠道中,自学占69.4%。 4结束语 信息时代的许多领域都需要计算机专业人员,他们不是一般的计算机操作员,而是计算机硬件与软件的研发人员。目前计算机硬件已趋于成熟与统一,而软件的个性化需求却日益增强,存在巨大的市场空间,但对软件人才的要求也在不断提高,因此计算机专业的学生应勇于承担起这样的责任与使命,经过教与学的共同努力,提高学生的软件开发能力,为社会培养出更多优秀的软件人才。 软件开发专业论文:从软件开发过程看高职软件专业方向的设置 摘要:高职教育的目的是培养生产活动需要的应用型人才,其专业方向划分要以职业岗位群为依据。本文依据国际公认的软件工程思想,对软件开发过程涉及的29种岗位加以分析,对高职软件专业方向的设置提出了相应的建议。 关键词:软件;高职教育;专业方向 我国的高等专科教育,从发展历史上可以分为本科压缩型、技术应用型和大众型三类[1]。所谓本科压缩型,是特定历史时期为了多快好省地培养急需的专业人才而设立的教育层次。其教学内容和专业设置完全仿照本科教育,但培养规格有所降低,学制也缩短一年。技术应用型专科是按照职业教育思路举办的教育形式,主要培养应用型人才。大众型专科教育主要包括各类成人教育和自学考试,具有宽进严出的特点。其产生的目的是为了在民众中普及高等教育。随着我国高等教育事业的发展,本科压缩型和大众型专科教育已经愈来愈不符合我国人才培养的需要。另一方面,由于经济的发展,应用型人才出现了严重的短缺。技术应用型专科教育呈现出旺盛的发展势头。这种技术应用型专科教育,就是今天我们所说的高等职业教育(简称高职)。 高职教育不是本科的压缩,其实质是要培养区别于本科的不同规格或者种类的人才,也就是应用型人才。因此,高职院校的专业设置思想必须不同于本科教育。普通高校的专业设置是以学科建设为基础,以基础学科专业为依托,以社会需求为导向,以课程建设为核心;高职院校专业设置是以市场需求为导向,以职业岗位(群)为依据,以技术含量为参数,以学科专业的交叉复合来综合研究专业的设置。[2]本文通过对软件开发过程和软件生产职业岗位的分析,对高职院校软件专业方向的设置进行探讨。 1软件生产过程及参与者角色 软件生产是软件产品形成、交付使用、维护和退出使用的全过程(即生命周期)中所有活动的总称。尽管不同的组织或实践者对软件生命周期中的生产活动的执行方式、先后顺序有不同的观点和做法,但对这些活动种类的认识是完全一致的。这是美国Rational公司在20世纪90年代所提出的统一过程(Rational Unified Process, RUP)理论[3]。 RUP将软件生产活动分为:业务建模、需求、分析设计、实现、测试、部署、环境支撑、项目管理、配置及变更管理。上述活动中,业务建模的目的是分析和理解将要使用软件的组织机构的业务活动,进而导出对软件的需求;需求活动是将组织机构或者个人对软件的需求进行发掘、归纳、表达和管理;分析设计活动通过对软件需求的分析,给出对软件的设计;实现活动将软件的设计转化为可以执行的代码、文件等最终形式;部署是将已经实现的软件形式应用到实际的工作环境中;环境支撑的目标是为软件生产过程提供适当、足够的支撑环境,如软件的开发工具和管理工具就是基本的环境。项目管理的目的是在规定的成本、限定的时间内通过验收。配置和变更管理是软件生产特有的保证质量、提高效率的重要活动。RUP同时归纳出完成上述活动需要以下29种角色――即职业岗位。 (1) 分析人员类:业务设计者、业务模型评审者、业务过程分析员、需求评审者、系统分析员、需求说明者、用户界面设计者。 (2) 开发人员类:软件架构师、架构评审者、封装设计者、代码评审者、数据库设计者、设计评审者、设计者、实现者、集成者。 (3) 测试人员类:测试设计者、测试员。 (4) 管理人员类:变更控制经理、配置经理、部署经理、过程工程师、项目经理、项目评审者。 (5) 其他角色:课程开发人员、图像艺术家、系统管理员、技术写作者、工具专员。 RUP对上述职业岗位的职责、候选者的经验和知识背景给出了详细的建议,这里不再引述。上述职业岗位的划分考虑了一般意义上一个完整的软件开发过程客观存在的角色。在一个具体的软件开发组织或者一个具体的软件项目上,这些角色不一定同时存在。另外,在实际的组织机构中,参与人员的职位名称并不总是与此一致,而且一个参与者通常会同时担任多种角色。但无论如何,这些角色种类对人员素质的要求,对我们思考高职软件教育的专业方向设置具有重要的参考意义。 2高职毕业生适合的软件生产角色 软件生产是公认的知识密集型过程。上一节列举的许多职业岗位的担任者需要深厚而综合的知识背景和较长的实践经验,属于软件生产中的高端人才。高职毕业生不适合担任这类角色。另一方面,尽管软件生产是高技术和知识密集型过程,高职毕业生也可以在其中发挥重要的作用,这是我们办高职软件学院解决软件生产人才缺乏问题的前提。那么,哪一些是高职学生可以担任的角色呢?通过对上一节所列各角色的分析和笔者的实践经验,可以得出最有可能使用高职毕业生的角色及其技能要求如下: (1) 分析类人员。需求说明者:参与需求发掘全过程,负责将需求以适当的方式描述出来,并与涉众进行沟通。要求具备软件工程基础知识,有良好的表达和沟通能力,包括写作能力;熟悉需求描述的专业技术和工具。用户界面设计者:根据用户需求建立界面原型,并对实际实现的界面给出评审和反馈意见。要求具备软件系统的操作使用知识,对需求的理解能力以及界面设计美术基础(不需要具备实现界面的能力)。 (2) 开发人员。实现者:按照项目采用的标准和设计文档要求编写软件系统的构成组件以及对这些组件进行测试。要求能够理解设计文档和标准规范,有熟练的编程技巧和软件测试的知识。集成者:对实现者完成的系统组件进行集成,并对集成活动进行计划和管理。要求同实现者。 (3) 测试人员。测试员:按照测试设计者提供的大纲设置和执行测试,评估测试执行情况,从测试错误中恢复过来。对初级测试者要求具备待测试的应用或系统的知识,具备测试和测试自动化方面的知识,具备诊断及解决问题的能力,当然最好也具有编程的技能。 (4) 管理人员。项目经理:负责项目的资源分配,管理项目运作,负责与客户或用户的沟通,确保项目在规定的时间和预算内完成。项目经理要求具有相关应用领域的经验和软件开发的经验;具有项目管理的专业知识,有较强的沟通能力及领导能力。配置经理:配置经理为产品开发组提供总体的配置管理基础架构和环境,负责日常的配置管理工作。配置经理要懂得配置管理原理,并且最好具有使用配置管理工具的经验或者接受过有关培训。配置经理必须注重细节,讲求原则。部署经理:部署经理负责产品移交工作,并在相关文档中作记录。部署经理要求有部署系统的经验,具备沟通及协调能力,计划性和行动力强。 (5) 其他人员。技术写作者:技术写作者产生最终用户支持材料,如用户指南,帮助文本,发行版本说明等。技术协作者应具备技术写作的经验或受过相应的培训。具备帮助系统开发和网站建设的经验或培训经历。最好具备所写作领域的背景知识。同时还要求有较强的沟通能力。图像艺术家:图像艺术家创建作为产品组成部分的艺术作品。图像艺术家必须有创新设计领域的历练。同时也必须具有相关产品生产过程的知识。相关领域的市场及公关经验对图像艺术家也很有帮助。系统管理员:系统管理员角色维护软硬件开发环境,进行系统管理、备份,等等。担任此角色的个人要求对项目所使用的特定硬件和软件组件以及他们之间可能存在的依赖关系有较深的认识。需要对开发平台的操作系统、网络以及如安全、分布等方面的内部机制有深入理解。解决问题及诊断故障也是此角色的关键技能。 上述11种角色在全部角色中只占了约1/3,但在大型的软件生产组织中,这些角色在生产中的人数比例可能超过50%,在小型的开发组织中也不会少于30%。 3高职软件学科专业方向划分 上述11种角色,可以分为6个有内在关联的角色组。第1组:软件开发人员,主要担任实现者角色;第2组:软件测试人员,主要承担软件测试工作;第3组:系统集成与管理人员,主要包括系统集成者、项目经理、配置经理、部署经理等;第4组:文档写作人员。包括需求说明者、技术写作者;第5组:美工。包括用户界面设计者、图像艺术家;第6组:系统管理员。这六个组别,就是六种就业方向。我们在培养时可以有针对性地在这6个方向上组织教学。如果把培养这6个角色组的专业方向分别命名为软件开发、软件测试、软件管理、技术作家、软件美工、系统管理,根据上一节对角色的要求,我们可以对各专业方向的培养重点给出基本的描述。 (1) 软件开发方向:重在培养学生程序设计的技能,并理解软件生产过程,要求掌握几种具体的软件开发工具(或环境)的使用。 (2) 软件测试方向:重点培养学生的软件测试技能,并了解软件生产全过程,要求学生掌握集中具体的软件测试工具(或环境)的使用。 (3) 软件管理方向:使学生具备软件开发的基本知识,重在培养学生的管理能力和通晓软件管理的知识,掌握管理工具的使用。 (4) 技术作家方向:让学生理解软件和软件产品生产过程,同时具备技术写作技能,掌握有关工具的使用。 (5) 软件美工方向:让学生理解软件和软件产品生产过程,同时具备程序界面和美术作品设计技能,掌握有关工具的使用。 (6) 系统管理方向:重点在使学生对计算机系统硬件、操作系统、网络等方面有深入了解,能够熟练操作和管理相应的软硬件系统。 上面列举的是技术方面的培养要求。实际上,在教学中还要将对学生非技术能力和基本素质的培养贯穿于始终。这包括沟通能力、团队精神、纪律、职业道德等。学生的素质实际上是技术和非技术两方面能力的综合。在制订教学计划时,要考虑既能让学生马上承担实际的工作,也要为他们进一步的学习打下基础。我们可以将用人单位的许多岗前技术培训落实在教学中,同时,也为每个专业的学生的职业发展,制定从初级到高级的路线图。 上述6个专业方向的生源,(4)、(5)两个方向既可以招文科生,也可以招理科生。其他方向主要招收理科学生。课程设置时,如果将全部课程分为公共基础课、专业基础课、专业课三个模块,则全部专业方向共享公共基础课,(1)、(2)、(3)方向和(4)、(5)方向可以分别共享两组专业基础课,系统管理方向要单独设置专业基础课。各方向的专业课程则要根据各自目标确定。 由此可见,本文提出的专业方向设置方案既与现有的专业设置思想吻合,也更加有利于高职院校软件人才的培养,同时对学生再学习能力的发展也有帮助。 4结语 通过对软件开发过程和参与者角色(即职业岗位)的分析,高职院校软件专业可以设置软件开发、软件测试、软件管理、技术作家、软件美工和系统管理等6个专业方向。这6个方向的毕业生毕业后可以担任软件生产过程中适合高职毕业生的多种角色。这种专业方向设置方案不仅与现有的专业设置思想吻合,也有利于高职院校软件人才的培养。 软件开发专业论文:软件开发专业“工学结合”的人才培养模式 摘要:为促进软件开发专业的人才培养和专业建设,根据“工学结合”人才培养模式的现状、特色及我院具体情况,探讨软件开发专业“工学结合”人才培养模式,重点阐述培养模式的实践方案和实践内容,并对我院的实践成果进行简单评析。 关键词:人才培养模式;工学结合;软件开发专业 “十五”期间,我国的职业教育迎来了难得的发展机遇。但是,职业院校的人才培养模式和教学质量仍然无法有效满足经济社会发展和用人单位需求的变化,人才培养质量与用人单位的需求存在差距。高等职业教育如何达到“培养高级应用型人才”的目标,还在研究、探索之中。针对我国应用性高校人才培养的现状,国家提出了要在实践教学、“工学结合、校企合作”、“双证”制度、“订单式”培养等各方面创新人才培养模式。其中,“工学结合、校企合作”的人才培养模式就是将学习与工作结合在一起的教育模式。它是以职业为导向,充分利用学校内、外不同的教育环境和资源,把以课堂教学为主的学校教育和直接获取实际经验的企业工作有机结合,贯穿于学生的培养过程之中[1]。 “工学结合、校企合作”的人才培养模式,不仅能增加学生的实践锻炼机会,更重要的是它能使学生感受到真实的工作场景,学到真正的技能。学生在校内以受教育者的身份,根据专业教学要求参与各种以理论知识为主要内容的学习活动,在企业及公司根据市场需求以“职业人”身份参与所学专业相关联的实际工作[2]。这种教育模式的目的是提高学生的综合素质和就业竞争能力,同时提高学校教育对社会需求的适应能力。 目前,国家积极提倡高等职业教育院校进行“工学结合、校企合作”教学模式的实践和探索,各院校都在致力于找出改革中的重点和难点,建设一批高水平的师资队伍,改革教育教学方法。因此基于“工学结合、校企合作”的软件开发专业人才培养模式的研究与探索颇具价值。 1 “工学结合”人才培养模式 1.1现状 “工学结合、校企合作”的人才培养模式是一种被国内外以培养应用型人才为目标定位的、高等学校所广泛采用的、相对成熟的人才培养模式。它是在人才培养全过程中,以培养学生的全面职业化素质、技术应用能力和就业竞争能力为主线,充分利用学校和企业两种不同的教育环境和教育资源,通过企业与学校的长期合作和双向互动,将在学校的理论学习、基本训练与在企业的实际工作经历有机结合起来实现高素质高技能人才培养。较为国人所熟悉的、对我国高等教育发展有着较大借鉴作用的国外的人才培养模式有北美国家的“合作”教育、英国的“三明治”教育、德国的“双元制”教育、日本的“产学合作”模式、新加坡工艺学院的“教学工厂”模式和澳大利亚的“技术和继续教育学院”模式等。而国内在借鉴了国外成功经验的基础上,也有了上海工程技术大学的“薄三明治”教育、江汉石油学院的“工学交替311”合作教育、武汉理工大学“工学交替,预就业”的“611”教育等人才培养模式[3]。但是,我国目前在软件开发专业尚未形成以职业资格标准为依托,按照“工学结合、校企合作”要求建立起来的完备的职业教育课程标准、课程体系。 1.2特色 1) 人才培养模式突出实用型人才教学改革的难点和重点,以凝练软件学院核心竞争力为目标,敢于面对与企业合作难、共同开发课程难的现实,探索软件人才培养模式改革的路子; 2) 人才培养模式主要以提高学生职业能力为目的、以提高就业率为导向,将不同目标的达成按照不同的教学方法和手段进行。 2推进“工学结合”人才培养模式的基础 郑州大学软件技术学院是河南省唯一的一个国家级示范性软件技术学院,有较好的师资条件和先进的软硬件环境,定位于培养实用型的软件人才,在软件开发专业的教学计划的制定与实施、实训环节的制定与实施、培养模式等方面进行了大胆探索与实践。经过几年的教学运行,在课程体系、课程内容、教师队伍建设、实训环节等方面取得了一定的教学成果。 学院从2005年开始招收软件开发专业学生,学院领导十分重视专业建设。在几年的教学实践中,大家积极地进行教学改革,取得了一定的成绩。主要有以下几个方面: 1) 根据行业发展,调整教学计划。从2004年建院开始,学院每个学期都进行教学研讨会,根据计算机行业发展的需求及要求,聚集全院老师及实训机构相关人员进行教学计划、教学内容、教学方法及实训体系的研讨,探索适合于用人单位的人才培养模式。 2) 深化教学改革,更新教材内容。2007年6月,为了能够紧跟计算机行业,特别是软件行业的发展,学院及河南省其他高职院校的老师与河南省科学技术出版社合作,成立了21世纪高职高专软件技术专业规划教材编写委员会,编写了《Web程序开发》、《Java Web开发》、《面向对象的数据结构(Java版)》等教材。这套教材的出版,有效地解决了高职高专相关教材短缺的问题,为专业教学提供了保障。 3) 开展校企合作,建立校内、校外实训基地。学院有专用实验机房,配备有4 000多台计算机,并配备专职实验员20名,能较好完成学生的实训计划。另外,学院在校内实训基地与校外实训基地上投入了大量的人力和物力,建成了多个条件和设施一流的校内外实训基地,较好满足各个专业学生的实践教学要求。学院通过多种途径与实训机构及企业建立合作关系,包括厦门万策、成都华迪、北京中软、上海达内和郑州慧文等,为学生提供专业能力实践及就业方面的帮助。 4) 重视师资队伍建设。学院软件开发专业具有结构合理、教学经验丰富的师资队伍,很多教师有着丰富的教改经历,对教学有着自己的心得。另外,为适应高职教学要求和本专业教学需求,快速提高教师的教学业务水平,我院不断派出教师外出进修培训。几年间,专业教师参加的各类培训、进修、研讨会共计50人次,通过培训、进修,有效地提高了师资队伍的水平,使教师的教学、科研能力得到了提高。 5) 加强学生实践能力培养。学院软件开发专业自开始招生起,生源一直不错,学生的基础也比较好,学习积极性比较高。为强化学生实际动手能力的培养,学院鼓励学生参加各种大赛,多次获得“挑战杯”等多项国家级大赛的一、二、三等奖。 这些条件为我院软件开发专业推进“工学结合”的人才培养模式奠定了基础。 3软件开发专业“工学结合”人才培养模式的实践 3.1实践目标 通过对“工学结合、校企合作”的人才培养模式的探索,进一步明确软件开发专业的培养目标,在课程体系设置、实训基地建设、师资队伍建设、毕业生就业以及教学管理等方面进行研究和探索,建立一套切实可行、效果良好的职业教育的教学计划、课程体系、课程内容、教学模式等解决方案,提高学生综合能力,尤其是实践能力,为提高学生就业率作努力。具体而言,包括以下几个方面:1) 进一步完善和改进软件开发专业课程体系和人才培养方案;2) 充分利用校内外实训基地,工学结合、校企合作,进行项目化教学;3) 研究适合于“工学结合、校企合作”人才培养模式的教师团队;4) 研究如何对不同的教学内容使用不同的教学方法;5) 提高学生的实践能力和就业竞争力。 3.2实践方案 基于“工学结合、校企合作”的软件开发专业人才培养模式改革,就是在教学团队、教学模式、课程体系、课程内容和实训基地等方面进行探索和实践,为提高学生的综合能力及就业率而进行的改革。为此,我院实施了多项有针对性的措施:在全体教师中明确基于“工学结合、校企合作”的课程教学是高等职业院校课程建设与改革的方向;学院领导对“工学结合”教学改革模式高度重视,多次召开教学改革研讨会,支持教学改革的氛围;选择合理的师资结构从事教学工作,包括专任教师和企业高、中级职称技术人员,为校企双方的合作机制创新研究和实践教学机制创新研究提供充分的技术力量保障;进一步加强与实训机构的合作等。 在多方支持和努力下,我院的“工学结合”人才培养方案出台,具体实践方案如图1所示。 该方案主要包括以下几个方面:1) 重点进行理论准备和文献研究,利用文献研究法,调查和查阅各个院校软件开发专业现有的基于“工学结合、校企合作”的人才培养模式的有关文献,了解各个院校在教学团队、教学模式、课程体系、课程内容和实训基地等方面的改革进展;2) 通过与相关企业及实训机构的合作,进行人才培养模式的创新研究,提出软件开发专业的人才培养模式方案;3) 通过实践及重新的调查修正,制定出合理的“工学结合、校企合作”的人才培养的课程体系和实训计划。 3.3实践内容 郑州大学软件技术学院立足软件开发企业的人才需求,建立软件开发专业“工学结合”人才培养的新模式。具体做法如下:1) 引入社会力量参与学科专业人才的培养。主要体现在培养方案的制定、教学活动的组织、实践指导、就业指导等方面与实训机构及就业单位深度合作。2) 灵活的课程设置。对于软件开发专业第三学年的专业必修课程根据软件专业发展的方向及趋势,及时更新。3) 将学生的实训内容职业化,并在时间上给予充分的保证。学生在两年的基础课程学习之后,进行一个月的短训,使其能够了解软件企业开发流程和规范,为专业必修课的学习打下坚实的基础;另外,在最后一年的实训中,实训内容充实且具有职业性。 近几年的实践主要围绕以下几个方面展开: 1) 专业培养模式的改革。采用3+1的校企联合培 养模式。前三学年教授基础课程及专业课程,主要由校方完成;后一学年为专业方向课程及应用的实践,采用以企业为主,由学校与企业共同完成的模式。 2) 专业课程体系的改革。在前三年的基础课程及专业方向课程的教学中,专业必修的基础课程为两年,改革第三年的专业必修课程,根据软件专业发展的方向及趋势,及时更新适合软件技术发展的专业课程。 3) 专业实训环节的改革。改革专业的实习、实践,增加校内、校外的实训环节。每一学期结束后,进行一个为期二周的课程实训;在前两年的专业必修的基础课程结束后,进行为期一个月的短训;在第三年的专业必修课程结束后,进行为期一年的长训、实践及毕业设计。 4) 专业技能内容的改革。加强学生的基础技能和核心技能的培训。基础技能主要包括专业外语能力、专业应用文写作能力、Java或 .Net的编程能力等。核心技能主要指桌面或Web的设计和开发能力、数据库应用开发能力等。 5) 教学团队的改革建设多样性的教学团队。教学团队中既有专职教师,又有外聘教师,还有一定比例的教师来自于企业。来自于企业的讲师有着丰富的软件开发经验,而外聘教师及来自企业的教师的思想、知识与能力素质本身就具备了“工学结合、校企合作”的特点。 3.4实践成果 我院已对软件开发专业2006、2007级学生进行“工学结合”的人才培养模式试点,并推广到我院所有的本科专业。直接受益人近3 000人。经过几年的实践,取得了较好的成效,具体如下:1) 创新了软件开发专业人才培养模式;2) 建立了适应“工学结合”的软件开发专业人才培养课程体系;3) 制定了完善合理的实训方案;4) 培养了学生的综合能力,并提高了本专业学生的就业率,2006级软件开发专业学生就业率高达90%以上。 4结语 软件开发专业人才培养模式的探索与实践是发展我国软件产业的迫切需要,实践经验证明“工学结合”的人才培养模式具有较强的生命力,可较灵活地构建社会IT 业界所需的专业课程体系,我们相信它必将对新形势下高等职业教育的发展产生深刻影响。 软件开发专业论文:基于VF环境的财会专业学生软件开发能力的培养 [摘要]财会专业的学生在学习会计信息系统这T课时,除了要熟练掌握会计软件的操作,还要知道软件开发背后的原理,并能利用软件开发工具解决具体会计问题。本文借助Visual FoxPro这一工具,以银行对账中“删除已达账”为例探讨了其功能的实现。 [关键词]Visual FoxPro;银行对账;删除已达账;企业对账文件;银行对账文件 1前言 会计电算化人才缺乏是制约我国会计电算化事业进一步发展的关键环节。会计电算化人才可分为不同层次,具体可分为系统操作人员、系统维护人员、程序设计人员和系统设计人员四级,且目前多为层次较低的软件操作人员、维护人员,而高层次的程序设计人员、系统设计人员数目寥寥。笔者认为,高等院校会计信息系统课程的教学目标不能等同专科院校,如果仅仅满足于使用会计软件进行记账、算账和报账等一般性会计工作,将失去和专科院校竞争的优势。 “授人以鱼不如授人以渔”,财会专业学生还应培养其软件开发和维护的技能。培养学生软件开发技能,绝不能照搬20世纪80年代的教学模式,让财会专业的学生花费大量的精力去编程序,而应侧重系统分析和系统设计,通过软件开发技能的培养,让学生知道软件的操作步骤,软件开发人员的思想过程是怎样的。如何在实验教学中培养学生的软件开发技能呢?笔者结合教学经验,充分考虑会计信息系统属于会计学与计算机科学交叉学科的特点,设计了Visual FoxPro环境下“删除已达账”功能的实现这一实验项目。 银行对账即银行存款清查,是指将银行存款日记账的账面余额与开户行转来的对账单的余额进行核对,以查明账实是否相符。不相符的原因通常有两个方面:一是双方或一方记账有错误,二是存在未达账项。银行对账是保证企业资金安全的重要手段,也是财会专业学生必须掌握的专业知识。 大多数商品化会计软件都是用数据库管理系统设计开发的,企业的银行存款信息及银行转来的对账单信息分别存放在后台的两个不同的数据库文件中。银行对账功能的执行,其实质就是在这两个数据库文件中找到相同记录的过程;而银行对账后的“删除已达账”就是将这两个数据库文件相同的记录删除的过程。 随着商品化会计软件功能的逐步完善,相应的数据库也是越来越大而复杂,比如国内常用的用友软件就经历了小型数据库Access、中型数据库SQL Server、大型数据库Oracle这一过程。Visual FoxPro数据库管理系统,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便,易于为初学者掌握。因此,笔者在设计实验时考虑用VisualFoxPro这一工具。 2实验设计 2.1实验目的 (1)培养软件开发的技能,使学生知道如何生成会计软件以及软件开发人员的思想形成过程。 (2)深刻体会Visual FoxPro程序设计中的代码编写与调试运行,学会使用系统给出的错误提示进行分析、判断,不断发现问题与解决问题。 (3)充分理解结构化系统开发方法中系统分析、系统设计、系统实施这三个阶段的关系,深刻认识在数据流程图转化为模块结构图的基础上,如何利用Visual FoxPro工具进行系统实施的过程。 2.2实验原理 以图1计算机银行对账数据流程图为基础,在Visual FoxPro中建立企业对账单、银行对账单两个数据库文件并录入相关记录,并通过运行Visual FoxPro中已建立的“删除已达账”程序,实现删除企业对账单与银行对账单两个数据库文件中相同的记录。 2.3相关的课程知识 2.3.1Visual FoxPro数据库管理软件 (1)利用菜单设计器设计菜单,包括创建一级菜单及其子菜单、创建过程并进行编辑。 (2)利用表设计器设计数据库文件,主要包括建立字段及设置字段类型、长度等,并添加数据库文件中的记录。 (3)菜单的预览、菜单文件的生成并运行。 2.3.2银行对账 银行对账的过程如下(如图1所示): (1)当企业收到银行提供的纸质对账单后,手工录入对账单的信息,系统自动保存在后台的银行对账文件中;当企业与银行联网时,企业通过网络获取银行对账单的信息并直接保存在银行对账文件中。 (2)通过“对账”处理,系统自动将银行对账文件和企业对账文件中的记录进行核对。 (3)通过“输出对账结果”,系统自动输出“余额调节表”“已达账项”“未达账项”。 (4)通过“删除已达账”,将银行对账文件和企业对账文件中相同的记录删除。 2.4实验步骤 2.4.1前期准备 (1)建立银行对账文件和企业对账文件两个数据库文件。包括“科目代码”“账号”“对账单日期”“摘要”“借或贷”“金额”“已达标志”等几个字段。 (2)编写两个数据库文件中的记录,且必须有相同的记录。需要注意的是,执行对账操作后有对上账的(已达账)和未对上账的(未达账)的记录,因此,两个数据库文件中各条记录的“已达标志”字段需分别写入“T”(true)或“F”(false)。 软件开发专业论文:虚拟装配及运动仿真软件开发在专业课教学中的应用 摘要:开发专业课教学中主要机器设备虚拟装配及运动仿真软件,使学生在学习专业课机器设备时更加直观的了解其结构原理,为实际操作打好基础,保证学生专业课的学习更加扎实、有效。 关键词:专业课教学;虚拟装配;运动仿真;开发 职业院校的最大特点,就是培养学生既要有一定的理论知识,又要有较强的实际动手能力。毕业生到单位后能很快适应本职工作,成为应用型的高技能人才。学生实际动手能力的提高主要体现在专业课的教学中,多年来由于受各种因素的影响,专业课的教学效果并不能令人满意。究其主要原因是现有专业课教材中许多装配图较为复杂,有些装配图不仅学生看不懂,新走上教学岗位的年轻教师也感到吃力,这些都直接影响了学生学习专业课的积极性。对此,尝试开发专业课主要机器设备虚拟装配及运动仿真软件,能使学生直观的了解机器设备的结构原理,进而进行虚拟装配,在虚拟装配熟练的基础上带动实际操作,从而改善专业课的教学效果。 一、以前专业课教学存中在的两种倾向 (一)专业课偏重于理论讲解,学生缺乏实际动手操作能力 1.近几年,由于招生规模的不断扩大,学校原有的实训条件已远远不能满足学生实训的需要,本该在实训车间完成的课程,由于实训条件有限,机器设备及其他维修课程不得不改为在教室里进行理论讲解; 2.新老教师交替更新,一些实践经验丰富的老教师退休或调离,许多新的、高学历的年轻教师走上讲台,他们理论功底扎实,但大多缺乏实践动手能力,因此,他们更偏重于将专业课教学改为在理论教室讲解; 3.实际操作耗能耗材,操作不当容易造成机器设备损坏,实训成本较高,在学校教学经费比较紧张的情况下,学校只有压缩这部分经费。因此,本应该在实训车间完成的专业课教学只能在理论课堂讲解,使得原本比较简单的机器设备结构、原理变得复杂、抽象不好理解,许多学生觉得专业课教学枯燥无味,有些干脆放弃专业课的学习。 (二)强调学生动手实践,忽视专业课教学质量的提高 为了改变这种单纯理论教学现象,提高学生实际动手能力,学校将专业课教学改到实训车间或到企业去上,这些做法虽然较前面有一定的进步,但通过实践发现还存在一些不足。主要表现有两点: 1.许多实习指导教师多年来养成侧重于实际操作的习惯,理论讲解较少,在简单讲解完机器设备的结构、原理后,让学生去实际拆装,学生只会机械地模仿拆卸装配,拆卸方法不清、操作盲目。加上学生对机器设备的结构、原理了解得并不充分,学生操作时经常不按拆装程序操作、出现野蛮拆卸,造成有些机器设备在很短的时间内精度严重受损,甚至有些干脆报废,后续班级没办法使用,达不到预期的学习目标。 2.有些学校把专业课学习放到企业进行,但企业是以生产为主,学生实习培训为辅,受生产环境影响,许多专业课的学习在企业得不到保证,使得专业课学习达不到预期效果。 二、虚拟装配及运动仿真软件的开发 针对以上专业课教学中存在的两种倾向,通过计算机辅助绘图软件使用,尝试开发专业课主要机器设备三维虚拟装配及运动仿真软件,使得学生的专业课学习更加直观、形象。 (一)确定开发小组成员及开发项目 开发专业课虚拟装配及运动仿真软件,是一项工作量大、涉及多方面知识的工作,除了要有较强的专业知识外,还要具有吃苦耐劳、勇于钻研的精神,由经验丰富的老师带领部分青年教师组成课题小组并吸收个别基础知识比较扎实的高年级同学参与其中。开发的项目本着由易到难的原则进行,从较为简单的化工管路的管件及阀门开始。如弯头、三通、大小头和管阀、球阀、蝶阀、磁力阀等,在积累了一定经验后,开发化工机器设备的各种泵,前后开发了单级离心泵、齿轮油泵、双吸泵、多级泵、磁力泵、屏蔽泵、往复泵等,在此基础上,对风机、列管式换热器等实习车间现有的机器设备进行开发。 (二)开发过程 整个开发过程步骤如下: 1.制定开发计划。为了使开发工作有序、按计划完成,开发前制定了详细的开发计划。计划包括开发各项目的时间段、主要内容、开发所需工具、量具、具体步骤及各分项目的主要负责人。 2.现场实际测绘。进入现场后,对装配体进行逐件拆卸,为了保证工作顺利进行,对每个拆下的零件编号,然后徒手绘出各零件的草图,对标准件测量其主要尺寸并确定型号,研究每个零件的装配方法并徒手画出装配示意图或装配草图,然后将机器设备恢复原位。 3.在工作室核对草图,对表达不清或尺寸不全的草图再重新核对、订正,对标准件核对型号及尺寸,理顺各草图之间的关系,保证各装配体的零部件草图及标准件、常用件型号尺寸齐全。在此基础上用计算机CAD软件画出各装配体的零件图及装配图(或装配示意图)。 4.根据零件图,用Slid Works软件画出各零件三维造型。在工作室进行二维草图绘制以及三维零件造型。为了提高效率,可将装配体的所有零件三维造型都绘制好以后,再考虑下一步装配。 5.用已经建好的三维零件进行机器设备的虚拟装配,在虚拟装配的过程中对装不进去的零件及时调整,将其尺寸及形状进行修改,然后重新装配。 6.完成装配体的拆卸及装配爆炸图,在爆炸图中分步骤将装配体装配及拆卸步骤逐项交代清楚。 7.利用Slid Works软件的制作动画功能,制作出各机器设备的拆卸和装配动画,在动画中强调拆卸和装配中注意事项及重点,以便引起学生学习时的注意。 三、采用虚拟装配及运动仿真软件在专业课教学中传授知识和技能 开发出专业课机器设备的虚拟装配及运动仿真软件后,配合机器设备的实体,指导教师在一体化教室的授课发生了根本性的变化。首先,指导教师对要拆装的机器设备进行介绍,用三维动画展示机器设备的结构原理,机器设备在在马达的带动下旋转起来,形象、直观、工作原理一目了然,增加了学生学习的兴趣和积极性,学生能够直观的掌握机器设备的结构和工作原理。其次,指导教师演示虚拟拆卸,利用Slid Works创建爆炸图,将机器设备上的零件按正确的拆卸顺序进行虚拟拆卸,在虚拟拆卸的过程中指导教师边虚拟装拆边告诉学生要点和注意事项,为了使学生真正消化吸收,对此可反复演示,(有条件的学校可让学生在电脑上反复练习虚拟装配)。第三,在学生掌握上述内容的前提下,指导教师再带学生到机器设备的实体前,实际演示机器设备的装拆过程。第四,分小组让学生实际装拆,指导教师巡回检查指导。第五,装拆结束后,指导教师及时总结,对存在的不足重新演示纠正。最后,指导教师让学生按正确的方法将机器设备装配好,恢复场地原有布局。 四、开发虚拟装配及运动仿真软件在专业课教学中的应用成效 1.通过开发专业课机器设备虚拟装配及运动仿真软件,有效地锻炼了课题组成员的综合能力,参与开发师生的徒手绘图能力、CAD绘图能力、Slid Works三维建模能力及专业知识和能力都有了显著提高。 2.通过开发和使用专业课机器设备虚拟装配及运动仿真软件,减轻了专业课指导教师的教学负担,学生掌握专业课的情况明显好转,教学成效显著。 3.减少了盲目拆卸和装配,耗材、耗能和零部件损坏情况明显改观,机器设备的使用寿命大幅度增加。 软件开发专业论文:高职高专软件开发专业实训教学方法探索 摘 要 随着近年来就业压力逐年增大,高职高专计算机软件开发专业的学生,要提升就业能力,必须提升自己的专业实践技能。目前高职高专软件开发专业的同学,在实训过程中存在哪些问题,又有些什么好的方式可以解决现在实训中存在的问题,如何通过实训切实提高同学们的实践能力。本文根据作者在高职高专实训教学过程中的经验,对如何提高高职高专实训教学效果的教学方法进行了探讨。 关键词 就业 实训 问题 改革 根据互联网资料显示,21世纪以来,高校计算机专业初次就业率连年下滑,成为社会普遍关注的问题。尤其是软件开发专业的高职类的学生,初次就业率一直不高。①首先学历是高职生就业的硬伤,专科学历无法与本科、研究生匹敌。所以,要提高高职高专学生的就业率,就只有通过提升自己的专业技能,来提升自己的就业能力。如何提升高职高专软件开发专业同学的专业技能,是我们从事这个专业教学的专业老师应该深思的一个问题,尤其是负责实训课程教学的老师,更应该思考,采用什么样的教学方法,才能让同学们更好地掌握软件开发的实际能力,增加同学们的就业砝码。笔者根据自己多年从事实训教学工作的实践,对软件开发专业的实训教学改革进行了一些浅薄的探索和总结,提出了一些实训教学改革的措施。 1 软件开发专业实训中存在的问题 当前软件开发专业实训教学存在的问题主要表现在如下几个方面: 1.1 学生真正实训的时间较少 高职高专的学生,学制一般为三年六个学期,在第一第二学期,进行基础课程和公共课的学习,第三学期开始学习专业课,甚至有些班级第四学期还在进行专业课程的理论学习。高职高专的学生一般在第五学期就要求进入岗位实习,留给同学们在学校实训的时间只有几周甚至更少,在这种情况下同学们进入岗位实习,实际的开发技能很差,对以后的就业也留下了很大的隐患。 1.2 实训教学模式仍为传统教学 在很多课程教学中,专业教师虽然在课程设计上加入了实训环节,但仍然采用传统的教学方式,以教师为中心,没有发挥学生的主动思考和创新能力。②大多数学生被要求按照老师的详细设计思路来完成预设的功能,学生照葫芦画瓢,虽然实现了老师要求的功能,但是学生没有独立思考和创新的机会,整个教学过程学生基本处于盲目的被动状态,时间久了,就缺乏参与实践环节的积极性和主动性。教师在教学过程中采用灌输式教育,很少采用启发式教学方法引导学生进行思考,不利于培养学生的创新意识和主动思考的能力。 1.3 实训内容更新较慢,跟不上软件公司技术更新的速度 计算机软件技术的一个突出特点就是技术更新快,技术种类多,相关技术发展迅速,软件开发实训课程的教学内容要随着时代的发展而不断更新。但是,在实际教学过程中,很多老师总是啃老本,抱着自己的一套技术和框架不放手,总是一招制敌、一招打遍天下无敌手的心态,③几年使用同一套实训案例和项目。有些老师拒绝学习新知识或者主动学习新知识的积极性不够。总是在使用几年前的技术指导学生实训,甚至有些技术已经被现有的新技术代替,在这种实训教学方式教下出来的学生,显然很难顺利走进就业岗位实习。 1.4 缺乏明确的考核方式和标准、考核方式陈旧 实训课程不同于传统的理论教学,一般课程的成绩组成为30%的平时成绩和70%的期末成绩。显然这种考核方式并不适用于实训课程,因为实训课程是同学们参与度很高的课程,并且学习和教学过程更能考核一个同学掌握知识的程度。有些老师沿用一般专业课程的考核方式,或者有些单位限制了平时成绩的比例不能高于30%。这样不利于对学生实际掌握情况的考核,也造成了一定的不公平,会打击部分同学的学习积极性。 2 软件开发实训课程教学改革探索 2.1 培养优秀的“双师型”师资队伍 所谓“名师出高徒”,好的教师队伍,对提高同学们的实践技能起到至关重要的作用,所以必须加强教师队伍的实践技能,才能有更好的师资指导同学们实训。④ 争取更多的机会,让我们的实训老师进入软件企业进行实践、交流、学习。目前大部分的软件开发企业都是使用较新的技术,对软件项目也有较好的解决方案,老师们可以了解并学习最新的软件开发技术,有利于老师知识的更新。 让更多的老师在工作之余和寒暑假的时候,更多地参与合作企业的商业项目的开发,在实习商业项目开发过程中,技能学习最新的开发技术,又可以将部分商业项目的模块和代码作为同学们实训的案例,这样既丰富了老师的项目和案例库,有更新了老师的知识结构。在有条件的情况下,让老师暂时脱离教学岗位,挂职到相应的软件开发企业进行软件开发工作,这样能够加快双师型教师的培养。 2.2 建立完善的考核体系 实训考核要建立包括理论和实践层面的多方面的考核,摆脱三七开(30%+70%)的束缚,实训老师可以根据项目和教学的不同阶段,采取平时成绩+期末成绩+过程考核相结合的多元化考核机制,强调过程考核的重要性,让更多的同学积极参与实训过程,对有创新性的同学给予积极的肯定和评价,同时应在考核成绩上予以体现。 实训课程的考核应该是多元化弹性的考核方式,评分标准要根据实训的项目的实际情况,由实训老师或者课程组协商制定,不应该提供模板或者一刀切的标准。 2.3 改革实训课程的教学内容和教学方法 由实训课程负责人,组织课程组成员,建立课程实训资源库。每学期根据学生的个体差异和知识结构,及时更新实训库的项目和案例,调整实训的内容和案例数量及教学方式。 课程负责人应充分重视和精心设计每一个项目或案例的实训内容,多建立一些实际商业项目的案例,提高同学们学习的积极性。在实训初期,让同学们练习相对容易的案例和项目,增强参训学生的自信心。 在第三学期分阶段加入实训课程,有针对性地加入“JQuery实训”、“数据库项目实训”,也可以在这期间增加规模较小的模拟综合项目实训,为后面综合商业项目实训做好准备。 在实训过程中,也应改变传统的教学方式和思路,教学过程老师教、老师辅导,逐步过渡到老师指导,最后实现学生自主创新。逐步使学生发挥实训的主体作用。项目的实训一般要采用分组的方式,或者直接采用项目的名称来命名分组,同学们的身份也从学生到员工第一次转变,项目组成员的角色也可以用软件公司的职位来命名,比如项目经理、开发工程师、测试工程师等。由能力较强的同学担任项目经理,并在老师的引导下,指导小组成员进行项目的启动、需求分析和设计、计划编制、开发、测试等工作。当做完一个项目完成后,可以在小组内根据组员情况进行角色转换,这样可以让同学们体验不同的工作岗位,提高实训参与度和兴趣。同时也培养了同学们的团队合作意识和相应的职业素养,为日后的工作提前做好准备,提高就业率。 2.4 校企合作、产教结合 学生最终的归宿要走出校园,进入企业,引入同行业的知名企业,对学生的培养和就业都有至关重要的作用。在学生的培养方面,可以邀请校企合作单位的优秀开发工程师,定期地给我们的学生做专业讲座和行业发展及前景介绍,条件成熟的可以邀请研发工程师参与我们的实训教学环节,实行公司化的管理,让同学们在学校就提前感受企业的文化和商业软件的开发流程。 引入商业项目,由我们的实训指导老师带领优秀的学生参与进来,这样能在实际的商业项目中锻炼我们的实训老师,同时也让同学们参与了真实的商业项目的开发。在项目条件允许的情况下,可以适当地给参训学生一定报酬补贴,更能激发同学们参与商业项目的积极性,使我们的实训达到较好的效果。在实训的时候也积累了同学们的开发经验,对以后的就业打下了坚实的基础。 我们学院的合作单位有世界500强企业微软、惠普、埃森哲、富士通等以及国内知名IT企业联想、上海宝信、中软国际、民航凯亚等200多家企事业单位,这些企业能够保证我们校企合作和产教结合的有效进行。 3 结束语 当然,培养学生的创新、实践动手能力,不是实训教师一朝一夕就能完成的,这些改革的措施是否得当,是否能有效提高同学们的专业开发技能和实践动手能力,能否有效提升同学们的就业率和专业对口率。这些问题都需要广大实训教师在实践教学过程中验证,并在实训教学中积极修改不当的教学方法,才能达到预期的效果。 软件开发专业论文:移动互联技术应用于本科游戏软件开发专业互动教学的实践研究 自2013年5月起,哈尔滨信息工程学院开始积极构建相关移动互联网站。除了传统的咨询内容以文字版显示外,学院图书馆移动互联平台也增加了很多新的参考咨询方式:资源使用和服务指南的音视频。同时,为了实现基于移动互联平台的教学资源的互动式教学,我们以2014级本科软件工程(游戏软件开发)专业为试点,进行了实验研究。 1、初步实现移动互联平台上的教学互动 据2014年9月至2014年11月为其3个月的三项初步实验及500余份问卷调查结果显示,移动互联平台上的互动教学活动在本科游戏软件开发专业学习中包含以下三方面优势: (1)符合我院学生的游戏软件开发方面的学习需求。 我院游戏软件开发专业学生在日常生活中有一定的计算机应用基础知识,其求知欲望及学习积极性相对较好,具有较强的设计创新能力和制作能力,对新的学习方式适应较快。 (2)移动互联技术的发展为本部分课题内容提供了较大便利。 学生全部拥有笔记本电脑等移动电子设备和苹果、三星等大屏幕智能手机,而且手机均拥有上网业务,已成为学生学习和生活中必不可少的通信工具。在校园内可以利用学校的无线局域网络,借助智能手机随时随地畅游互联网。 (3)游戏软件开发专业的实践性和图书馆资源优势。 游戏软件开发专业是一门需要掌握大量的基础性软件技术的实践性极强的学科,采用移动互联技术不仅可以辅助课堂教学进行理论知识的拓展和延伸,还可让师生和同学之间的针对各种软件技术和技巧的进行交互沟通、切磋,所以在游戏软件开发教学中采用移动互联技术具有先天的实践优势。 2、基于移动互联平台的游戏软件开发专业互动教学实验初步实施 游戏软件开发专业在课程设置上,从基础的二维设计,循序过渡到功能强大的三维动画设计软件的学习。通过系统全面学习3D 道具、场景设计、角色设计、特效制作等各内容模块,让学生熟悉掌握动漫游戏公司项目开发的整体流程和应用技能。本次教学实验利用移动互联技术的优势,请专业教师把涉及到专业教学的内容制作为图片、视频、动画等学生感兴趣的模块方式,并上传至图书馆移动互联学习平台,在学习过程中以任务驱动方式鼓励学生利用移动互联终端到图书馆资源网站查阅相关资料,进行自主化学习和小组合作学习,在图书馆资源网站提供的交流区域讨论交流,在完成任务后进行总结,并进行学习评价,分享学习过程和结果。 为了更好地说明此次课题实验的具体做法,以游戏软件开发的《三维游戏角色制作》课程为例进行说明,在本节课中移动互联平台上的互动教学分成以下几个步骤进行: (1)教师在图书馆游戏软件开发学习平台中引导学生讨论当下主流流行的三维游戏角色的形象特点和三维游戏角色设计的注意事项,然后提出了跟本节课主题相关的学习任务:要求学生找出自己最喜欢的三维游戏角色,并根据这个游戏角色的特点自行总结三维游戏角色设计的注意事项,积极搜索整理相关数据、事例等资料。 (2)教师把这个任务通过游戏软件开发学习平台给学生,让学生明确任务要求后,围绕任务运用手机、ipad等移动设备及时到图书馆提供的资源网站查阅相关任务资料,也可以通过微信群与组员之间进行实时讨论交流,形成更为完整丰富的答案,同时教师对学生讨论交流的过程也可以进行实时监管,给予学生一定的指导纠正。 (3)在接下来的课堂教学环节中,教师首先邀请两组的代表利用教室的多媒体设备展示自己小组从图书馆资源网站中查找出的三维游戏角色的特点及有关三维游戏角色设计的注意事项的资料并进行课堂讨论。最后,教师采用讲授和课件展示相结合的方式示范三维游戏角色制作的技术技巧,总结本节课的主要内容――如何制作三维游戏角色。 (4)本节课的学习之后,教师将学生的优秀成果和自己的教学课件上传至图书馆游戏软件开发学习平台,供本班学生及其他专业感兴趣的同学下载继续学习消化。 (5)课余时间,同学们可就课堂上没有理解的内容通过图书馆游戏软件开发学习平台随时随地给教师留言请教。教师根据自己的时间安排对学生的问题进行答疑解惑。即进行实时互动和教学辅导。 (6)为了加深同学们理解三维游戏角色的特点及有关三维游戏角色设计的注意事项,教师可以鼓励学生在图书馆游戏软件开发学习平台上分享本节课学习后的心得,如不同类别的游戏角色特点捕捉方法、男女角色制作技巧、动物角色动画技巧等等,并根据课堂上学到的软件知识结合自身特长设计一个三维游戏角色上传到平台,即上传课后作业,教师可根据每个人上传的作业情况进行适当点评和批改,同学们也可相互指点、切磋。 (7)教师同步向图书馆资源平台上传一些相关视频资料、文本资料或者链接网站,供本班学生和其他专业感兴趣的学生可以随时随地进行在线拓展阅览,即资源共享功能。 3、对移动互联平台在互动教学应用的总结及反思 图书馆游戏软件开发平台利用移动互联及数字化学习资源为本科游戏软件开发专业的教学提供了一个连通化、情境化、便捷化、个性化、互动化的软件教学环境,两者本身所固有的特点以及所具有的天然联系使之整合优势明显、效果良好。 在移动互联技术应用于游戏软件开发互动教学实践中同时发现的问题有:学生对所获得的广泛性、随意性的海量信息甄选能力有限,需要教师的再次整理、加工和提炼,才有利于消化和吸收。 诸如这些问题需要在以后的实践中深入研究。 软件开发专业论文:热能与动力工程专业本科生实践仿真教学软件开发与应用 摘 要 研发了一款适合于热能与动力工程专业本科生的实习软件。该软件对工业生产现场实际运行的炉窑进行虚拟仿真,将炉窑结构及关键设备再现,实现了炉窑操作工艺及操作步骤模拟、操作考核等功能。热能与动力工程专业本科生在完成认识实习及“工业炉窑热工及构造”课程的基础上进行本软件的学习,理论与实践相结合,既有助于学生理论知识的巩固,又体现了本专业的特色。 关键词 热能与动力工程 本科生 实践仿真 教学软件 0 引言 对于理工科专业大学本科生,实习环节对其实践能力与创新能力的培养至关重要,也是高等教育的必要环节之一。学生在校所学知识以理论为主,比较抽象,通过实习能够使教育回归实践,让学生在实习中掌握理论知识的运用,使知识变活。教育部《全面提高高等教育质量的若干意见》也特别强调要强化实践育人环节,结合专业特点和人才培养要求,分类制订实践教学标准,增加实践教学比重,确保各类专业实践教学必要的学分(学时)。 校外实习基地拥有真正的生产环境和施工现场,本应是学生规范专业技能和素养的理想训练场。然而,“联系实习单位难”却成为高校面临的普遍困境,其主要有两个原因:第一,高校规模扩大,学生数量增加,对实习场地和实习资源的需求增加,导致大多数实习单位无力接待;第二,企业担心大学生实习影响企业生产及其利益获得。企业经营的根本目的是实现利益最大化,接收学生实习所付出的代价要大于收益,在没有政策鼓励和支持的条件下,很少有企业愿意将资金和精力投入到学生实习工作上。当前,高校联系实习企业往往凭借教师与企业的私人关系,还有一些学校因企业经营状况不佳而失去了原来所建的实习基地。这表明,当前环境下企业接收实习生的积极性不高和校企关系松散的现状,严重影响了高校大学生实习工作的顺利开展,且大多达不到应有的实习效果。 鉴于以上原因,大学生实习质量不能保障,使得中国理工科教育普遍存在的突出问题是工程实践能力不足,动手能力较弱,很难适应迅速发展的市场要求和日益激烈的科技竞争需要。以上种种问题要求进一步推进教学改革,尤其是加强学生工程实践能力培养和训练,以满足行业人才的需要。在此指导思想下,我校热能与动力工程专业教师开发了“本科生实践仿真教学软件”,以期能够提高学生的综合素质。 1 软件的设计目的 目前,本专业的实习基地仅有一两家国有大中型企业,而且都是以参观为主,极少动手实践,这样不仅达不到预想的效果,还消耗企业资源。 鉴于以上原因,决定开发虚拟仿真实习场景,通过将本专业典型炉型和设备用三维软件建立实体模型,结合3D漫游、动画演示、模拟控制等方式实现生产现场的虚拟再现。该实习软件可以增强学生对专业炉型的认识、模拟生产操作、理论考试、操作测试等功能。旨在通过学生对本仿真软件系统的学习,在一定程度上与校外参观实习互相弥补,使学生对专业技能掌握得更加牢靠。 另外,该实习软件将燃料燃烧、炉内气体流动、炉内传热传质、工业炉控制系统等过程有机地结合起来,有利于师生针对炉型进行炉内各动力学参数、热力学参数以及控制过程的模拟研究,为炉型结构优化、控制优化及操作优化提供理论依据。 2 软件的主要功能 仿真软件系统主要包括三部分:认识实习部分、模拟操作部分及考核部分。 软件主要仿真内容包括:(1)以冶金和高温陶瓷行业工业炉窑为主,建立典型炉型的三维模型。以实际生产过程为指导,编制各炉型操作系统。主要包括:二级网络任务下达系统、来料工艺设定系统、上料系统、控制系统、卸料系统、炉体操作系统、安全防护系统、质量追踪系统、炉内热过程模型系统,最终达到各系统协同操作、安全连锁,实现工业实际生产的真实再现;(2)冶金行业工业炉窑系统复杂,实际生产过程中容易出现各类故障。通过收集实际生产过程中工业炉窑运行系统相关故障及对应的处理方案,形成专用数据库,编制模拟生产过程随机故障系统;(3)编制考核系统。定期组织学生学习软件,听取学生意见及建议,并做出相应调整,以获得最好的实习效果。考核系统分为三部分:炉型系统认识部分考核、“工业炉窑热工及构造”课程部分内容理论考核、工业炉窑典型炉型模拟操作考核;(4)编制仿真软件模块扩展接口。以便于教师日后对新炉型添加或新功能的开发。 学校在组织学生到企业参观实习时,企业不会因为学生实习而调整生产,因此,学生参观过程中很有可能看不到工业炉设备的动作过程,再加上生产现场噪音较大,即便是有老师讲解,也听不太清。在本仿真软件的认识实习部分,首先以工业炉各系统、各关键设备实体照片展现给学生,并配有文字介绍,可以通过教师讲解或自学的方式了解各系统、各设备的主要功能及操作要求。其次,以3D模型方式将工业炉窑全系统展现给学生,对于关键设备,软件中做了关键剖视图设计,教师可结合炉体及设备三维实体模型向学生讲解各部分的组成及功能,弥补实体照片不能观察系统及设备内部详细构造的缺陷。除此之外,软件中也包含了一些典型炉型实际生产过程的视频,同样,对于现场拍摄不便于直接观察的炉内情形,采用3D模型及动画方式进行展示,学生可将模拟现场与实际现场进行对比,加强对工业炉窑系统的认识。 学生在企业参观实习是绝对不允许动手操作的。首先是因为学生不了解生产工艺过程,很有可能发生误操作,影响企业正常生产;另外,学生大都不了解各设备的操作规程,出于安全考虑,不允许学生对设备动手操作。在认识实习基础上,生产模拟部分实现了对生产操作的实训,人机交互界面由仿真控制界面和虚拟被控场景两部分组成。仿真控制界面中的图形界面、操作手柄图案、操作按钮等的逻辑关系与生产现场保持一致,既有生产总览界面,又有各子系统分界面,便于学生分步骤练习。生产模拟部分主要操作内容包括:开炉前各系统(各气体系统、循环水、冷却水系统等)准备、各安全设施检查、上料系统上料过程、物料在炉内的运动和加热过程、炉内各部分温度控制、压力控制、卸料系统卸料过程以及生产过程中各系统间的安全连锁、相互配合等。教师结合讲解在软件上进行生产过程模拟操作,向学生介绍各系统及设备性能、各系统间相互关系、操作过程注意事项等,并指导学生进行模拟生产操作。实际生产过程中,可能由于气体压力不足或电压波动等突发情况影响企业的正常生产,在本仿真软件中,也将随机产生常见的生产故障,锻炼学生分析问题解决实际问题的能力。通过进行这一系列的模拟生产现场操作,使学生非常直观地学习工业炉的系统组成及生产操作过程。 在仿真软件的考核部分,设计了三种类型的考核内容,包括:认识学习考核、理论考核和操作考核三部分。该软件可对学生的操作即时给出评判结果,计算机详细记录学生在实训平台上的所有操作,后台实时计算。操作完成后,系统在基础知识、操作步骤、资源消耗、产品质量、产量等多方面进行考核,将操作记录和操作结果分类统计,根据指标评价体系,给出量化考核成绩。 3 软件的应用效果 目前,仿真实习技术已成为国际公认的高效现代化教学手段。结合我校热能与动力工程专业特色及学生的培养目标,我校开发的“热能与动力工程专业本科生实践仿真教学软件”很好地解决了学生下厂实习难、效果差等问题。为加强仿真软件实习的教学效果,采用先仿真训练,再下厂实习的模式。实践表明,对于从未见过现场工业炉窑生产的学生而言,到工厂参观实习前进行仿真集训是非常有必要的。通过仿真软件实习,学生已基本了解工业炉系统之间的联动过程以及生产过程中常见的生产故障问题,因此,再到工厂参观实习时,便能更加准确地了解各设备功能,也有助于学生参加工作后更加灵活运用所学专业知识。 软件开发专业论文:基于自主学习的英语专业听写训练软件开发 摘要:基于自主环境的英语听写训练软件的开发遵循传统的CAI系统设计模式,但要基于实际运行环境,在界面设计、内容模块设计、听写策略培养和强化、学习过程监控和评价等方面综合设计开发,实现其对语言自主学习资源的有效补充。 关键词:自主学习;英语专业;听写训练软件 一、引言 听写作为语言教学中常见的一种辅助手段和测试方法,在各级英语教学中一直被广泛应用,而且在英语专业四级、大学英语四、六级考试中也是重要的测试项目之一。这一具有悠久历史的教学传统长久以来得到广泛认同,被看作一种行之有效的教学方法。虽然曾在20世纪40年代受到可分能力假说理论的挑战,但70年代后,以Oller为代表的语言学家提出了整体语言能力假说,基于大量的语言测试试验及考试数据分析重新确立听写作为“一种实用、有效的综合语言能力测试手段的地位”[1]。目前国内学者对听写的相关研究主要集中在听写能力和语言能力水平的相关性及其对教学的反拨作用和影响听写能力的语言或非语言能力的因素上面。 二、英语听写类型及难点 英语听写的分类一般遵循Oller[2]提出的分类标准,即标准听写(听写者根据音频完整写出文本材料)、部分听写(听写者根据音频填写材料中的缺失文字)、干扰听写(录音中加入干扰背景音,以体现真实感,增加难度)、作文听写(通过记忆写下录音的文本内容)和复述听写(口头复述所听到的录音内容并进行录音)。英语专业四级考试(TEM-4)所设置题型中的听写项目“旨在测试学生的听力理解能力、拼写熟练程度及正确运用标点符号的能力”[3]。根据上述分类,TEM-4中的听写部分为标准听写,即短文听写。而大学英语四级(CET-4)中的听写为复合式听写,是部分听写(单词听写)与听写作文(原句或意思相近之新句)两者的结合体[4]。 张春芳[5]对国内英语听力测试及教学的研究结果表明,英语专业学生在听写测试中所暴露的问题主要包括:(1)听辨音能力弱;(2)未能达到基础的词汇和语法知识要求,导致他们在拼写和检查阶段不能还原正确的句子;(3)遭受母语思维的影响;(4)听写学习策略缺失。其中,邓媛[6]所作的关于学生听写策略的问卷调查表明,缺乏明确的学习计划以及注意力容易受干扰是多数学生在元认知策略方面普遍存在的问题。而在认知策略的使用方面,绩优者善于抓住句子意群和关键词帮助记忆,而学困生的听力理解趋向片段化,短时记忆弱,且易受干扰产生混淆,导致信息输出较为破碎化。同时,在情感策略方面,由于听写能力弱造成的紧张情绪会干扰注意力和记忆力。对自主环境下的听写训练软件开发来说,基于上述研究改善和解决听写学习策略问题对保证训练效果极为重要。 三、基于自主环境的英语专业听写训练软件设计 一般而言,教学软件开发程序要求开发者要先了解基于不同教学模式的CAI系统设计基本策略及目标运行环境,在确定选题和开发方向后选择有针对性的教学/训练模式,先行构思系统总体设计和详细的脚本设计,选择合适的开发工具。教学/训练内容的丰富与否是最终学习效果的重要支撑。在系统调试完毕后,要在教学实践应用中完成评价、修改和推广应用的过程。 基于自主环境的英语听写训练软件要遵循上述程序,注意以下几点:(1)自主学习软件应基于以学习者为中心的模式,在运行环境上要从保持学习者的注意力出发。该类软件能安装在可保证网络带宽但又不与因特网相联的校园局域网或自主学习中心的计算机终端上。(2)学习软件的界面设计应注重教学性、交互性、系统性和艺术性的协调统一。作为教学软件,其界面风格应简洁典雅,主题突出,避免主次不分,并根据需要设计明确便捷而有效、合理的导航标志。(3)内容模块设计应能让学习者根据个人的起点水平选择合适的训练层级,逐渐实现从易到难不断进步最终达到考核要求的目标。(4)重视学生听写策略问题的培养和强化,将其体现在框架设计和内容安排上。元认知策略的建立可以通过软件首页的详细介绍了解各个板块的学习目标,要求学习者根据个人水平和学习时间依次形成各个板块的详细的学习计划。通过“听写技巧”、“单句听写”、“段落听写”、“模拟听写”、“真题听写”等实现听写技巧认知和逐步强化提高。“听写技巧”综合介绍TEM-4听写考核要求及听写技巧,但这一技巧的实际掌握有赖于在后续板块中逐级达成。“单句听写”主要培训学生的听力理解和拼写速度,形成个人特有的单词和符号书写习惯。该板块难度安排较低,有利于建立基础较差的学生建立自信心。“段落听写”、“模拟听写”实现从小段落听写到标准长段落的听写,逐步增加学习难度和实践水平。需要指出的是,“模拟听写”的难度设计建议稍高于“真题听写”。这种设计有利于学生在进行历年真题听写的考前实战环节获得极大的成就感,提升其考试前的自信心。(5)融入现时教学计划,实现监控和评估的有效结合。监控可分为自我监控和他人监控。应当鼓励学生反思、总结和评估个人在各个板块的学习过程和结果,通过学习计划有效保障个人学习活动的自我监控。借助同伴,或将其融入某门当前教学计划中,通过教师的检查监督和答疑解惑保证和实现学习计划的完成。这有助于学生逐渐建立起有效的元认知策略,在各循序渐进的板块练习中掌握良好的、有效的认知策略,提高注意力、记忆力和书写技巧。同时,在此过程中,通过学伴或教师的学习交流活动,实现情感上的反哺能动效应。 四、结语 近年来,虽然智能手机、平板电脑等移动终端及网络技术获得飞速发展,但鉴于我国的国情及基础应试教育的影响惯性,可以预料语言自主学习中心在很长的一段时间内会在学习资源提供和自主学习能力培养等方面发挥重大的作用。商业开发的教学软件和课件在系统性和专业性上具有巨大的优势,是语言自主学习资源的主要组成部分。但任课教师对自主学习中心学习资源的补充更具针对性,更容易将其融入课程教学计划和评估中。两者相铺相成,互为促进,而任课教师作为开发者也会在此过程中发挥更大的作用。 软件开发专业论文:双语教学在软件开发专业中的重要性探析 【摘要】目前我国大学的双语教学是指以两种语言作为教学媒介的系统,其中除母语外的另一语言不仅作为教学媒介部分或全部地运用到非语言学科中,而且在教学过程中,要求学生逐渐基本掌握它,同时要在教学中对该学科的不同文化进行比较学习,以获得该学科先进的、系统的知识,来进行学科教育的一种教学方法组合;强调使用外语于学科教有(但并不排斥母语),在学得该学科先进文化科学知识的同时要学得基本专业外语,这便是目前我国大学双语教学的质的规定性。 【关键词】大学双语教学 学科教育 质的规定性 随着我国经济发展逐渐被纳人全球经济发展轨道,特别是在中国加人WTO以后,中国与外部世界的政治、经济、文化交往越来越频繁,各行各业与国际接轨的步伐逐步加快,我国迫切需要掌握专业知识又掌握专业外语的高素质、复合型人才。培养这种人才是现阶段中国高等教育发展的重要目标之一。为此,教育部于2001年9月颁布了《关于加强高等学校本科教学工作提高教学质量的若干意见》的4号文件,要求全国各高等院校积极推广使用英语等外语进行专业课教学,以墙养高素质、复合型人才,实现我国高等教育的可持续发展。至此,全国开始有不少高校都在尝试、探索着双语教学。但仍面临着许多问题,其中关于究竟什么是”双语教学”就争议颇大。然而,目前国内外对双语教学尚无正式统一的定性,实有必要对我国大学双语教学的本质进行认真分析研究,以统一认识,确保我国高校双语教学的顺利进行,完成培养高素质、复合型人才的任务。 一、国外有关的双语教学定义 在国外,大都采用(bilingualeducation)双语教育的提法,很少采用双语教学的提法。其中较权威的定义有:《朗文应用语言学词典》所给的”双语教学”的定义:”Theuseofasecondorforeignlanguageinschoolfortheteachingofcontentsubjects”译成中文,意思是能在学校里使用第二语言或外语进行各门学科的教学。(双语教育概论)中两位著名专家加拿大的M.F.麦凯和西班牙的M.西格恩提出”双语教学是以两种语言作为教学媒介的系统,且其中一种语言常常是但并不一定是学生的第一语言[1]”这两种定义较好地给出了”双语教学”的狭义(前者)和广义(后者)的定义。 二、我国有关的双语教学定义 在我国目前学校、教师、学生以及各类文件、论文、报刊都采用”双语教学”的提法,这已经成为大家共同认可和接受的,因此,我们都用双语教学的提法。只是由于缺乏相对的语言环境和尚未形成完善的双语教学体制,目前国内各学者对我国高校的双语教学理解分歧还较大,具体概括如下: 1.认为双语教学是一种教学方式或形式 沙丽华、韩德复在《”渗透、整合、思维”梯进式双语教学模式的结构》中认为双语教学是指用汉语和一门外语(目前在我国大部分是英语)作为课堂用语进行学科教学的方式[2]。李红兵在《高校双语教学模式的探讨》中认为双语教学是指对高等学校的部分课程采用国外具有代表性和先进性的原版教材,并采用英语授课的一种教学方式[3]。张培在《双语教学:热点间题的冷思考》中认为双语教学是以两种语言作为教学用语,其中第二语言不仅是作为学习对象,而且是作为教学媒介部分或全部地运用到非语言学科的一种教学形式[4] 2.认为双语教学是在学科教学进程或过程中使用双语当作教学手段 何全旭、吴为民在《关于开展双语教学的几个问题》中认为双语教学是指除汉语外,用一门外语作为课堂主要用语进行学科教学,目前绝大部分是用英语;教师还应利用非语言行为,直观、形象地提示和帮助学生理解教学内容,以降低学生在英语理解上的难度[5]。施敏颖在《关于在高校中实施双语教学的几点看法》中认为双语教学是指在教学进程中使用母语及一门外语[6]。任长虹在《高等学校实施双语教学的现状分析与对策》中认为双语教学是指在教材使用、课堂讲授、期末考试等教学环节同时使用外语和汉语两种语言的教学活动[7]。刘钦永在《关于双语教育和双语教学的思考》中认为双语教学是指教学中使用外语或非本民族语言进行教学的进程[8]。 3认为双语教学是一种语言教学 张谦在《关于建立双语教学型大学的论证与思考》中认为双语教学是母语和一门外国语的教学,或称之第一语言和第二语言的教学[9]。冯保才在《关于学校实施双语教学的探索》中认为双语教学是指一种语言学习的方法,指在校内同时使用母语或第二语言进行教学,主要目的是学习和掌握主流语言最终能用主流语言顺利进行各科学习[10]。邱辉忠在《化学教学中实施双语教学的思考》中认为双语教学是指将学生的外语或第二语言,通过教学和环境,经过若干阶段的训练,使之能代替,或接近母语的表达水平[11]。 4.认为双语教学是一种教学方法或教学模式 磨玉峰在《浅谈我院管理专业双语教学的发展》中认为双语教学是指非外语专业学科使用外语和汉语讲授本专业学科的一种教学方法,以用英语为例,包括使用英语教材、用英语版书、用英语布置作业、用英语命题以及使用英语口授等形式[12]。冯妍卉、格欣欣在《传热传质学”课程双语教学计划的研讨》中认为双语教学是指非外语课程利用母语和外语两种语言讲授的一种教学方法[13]。郑定阳在《实行双语教学的初步实践与思考》中认为双语教学是指非外语课程采用外语讲授的一种教学方法[14]。张维佳在《双语教学的性质、条件及相关问题》中认为双语教学是指教师在学科教育中交互使用本族语和外语甚至完全使用外语进行教学活动,以满足学习者的工具型的学习动机(instnunentalmotivation)和融合型的学习动机(integrativemotivation).通俗的讲,所谓的双语教学,就是用两种不同语言进行学科教育的教学活动,一般是指在用母语进行部分学科教学的同时,用非母语进行部分或者全部非语言学科教学的教学模式[15] 三、我国高等学校的双语教学的本质 分析以上十多种双语教学的定义,可以看出,尽管它们是从不同角度出发来解说双语教学,虽各有偏颇,但不难发现它们几乎都有一个大致基本点,那就是都强调使用外语于学科教育(但并不排斥母语),在学习该学科先进文化科学知识的同时要学得与学科发展相关的基本专业外语。这个基本点就是双语教学的质的规定性,是我国高等学校的双语教学区别其他国双语教学的根本特征,这就是我国高等学校的双语教学的本质。 总结归纳出我国高等学校双语教学的质的规定性,再对其下定义就清楚多了。根据我国高等教学的实际情况,笔者认为目前我国高校的各学科双语教学应理解为:是指以两种语言作为教学媒介的系统,其中除母语外的另一语言不仅作为教学媒介部分或全部地运用到非语言学科中,而且还作为学习对象,要求在教学过程中学生逐渐基本掌握它,同时在教学中要对该学科的不同文化进行比较学习,以获得该学科先进的、系统的文化知识,来进行学科教育的一种教学方法组合。这里需要指出的是高等学校双语教学之所以被称之为一种教学方法组合,是因为它的构成离不开常用的教学基本方法〔如讲授法、练习法等),且具有自己独特的方法结构(如必须有语言引导课等)和新的教学功能(学得专业知识技能又学得专业英语)。这种提法函括了目前我国高等学校双语教学的目的与任务,有着当今时代的鲜明特征,是较有现实意义的定义。 总之,只有真正理解目前我国高等学校的双语教学本质,才能保障我国高等学校双语教学实施的顺利进行,完成我国高等学校学科双语教学的目的与任务―培养出高素质、复合型的人才,以应对”人世”的机遇与挑战。
随着现代技术的发展,我们也逐渐进入了信息化时代,计算机也逐渐进入了人们的生活,人们对于计算机的使用也越来越熟练。计算机的使用给人们带来了极大的便利,它解放了人们的双手,使得人们的工作效率从极大程度上得到了提高,目前的生活、工作都离不开计算机的使用。当然任何东西有利就会有弊,由于计算机使用的过于频繁就出现了一系列的问题,这些问题也是急需解决的,如果这些问题得不到解决,使用计算机的意义也就会大大降低。所以,我们需要将一大部分的精力放在计算机的软件开发和应用上,不断地去提高这些软件的使用效率,让计算机的作用得到更大的发挥空间。 1软件中分层技术的阐述 1.1分层技术的简述 实践是检验真理的唯一标准,因此计算机的软件研发是需要不断地进行实践的,这样才能找出最复合大众的软件进行使用。大致可以用两点来概括,一个是字面上的意义,另一个就是在计算机软件开发中的意义。从它的字面上看就是具有多个分层,这些概念层可以用于解决不同的问题,从而形成一个比较完整的系统,让每一层都可以很好的解决自己相对应的问题。而在计算机的软件开发中,分层技术在最开始是单层结构,在单层结构中应用最为广泛也是发展最为迅速的就是小型的数据库。随着小型数据库的使用越来越频繁,出现了计算机和服务器之间需要建立对应的联系,因此就出现了后来的双层结构,它也是现在我们应用的比较多的一种结构。双层结构的出现解决了很多需求,但是在使用过程中也逐渐显现了它的弊端,这让更多的从事软件开发工作的人认识到要想满足当前甚至未来的计算机软件的发展需要,仅仅是双层结构是不够的,因此三层和多层结构就逐渐地被研发出来,也逐步的应用到软件开发的过程中,这也将在未来的软件开发中占据主要地位。 1.2分层技术的特征以及可行性 随着网络技术越来越多的应用,计算机的使用也在明显的增加,所以我们要不断的对于计算机进行开发,让软件的使用效率最大化,要想做到这一点就要充分的借助分层技术。计算机软件结构的依托关系主要就是通过分层技术来体现的,因为在开发一个软件时,有时候需要的不仅仅是一种功能,而是多种功能同时进行的,这时候分层技术就体现了它的优越性,在分层技术的支持下可以让软件同时拥有多项功能,这样就可以同时满足人们的多种需求。分层技术的特征主要是可以对计算机的软件进行拓展,还可以按照软件的多种功能进行针对性的扩张,简化系统,让计算机的升级加速,这样就可以自由的更改上层与下层。分层技术应用在软件开发中可以让软件很稳定的运行,大大提高软件开发的效率。相对于双层来说,多层的好处就在于它能够在计算机的整体性能的提高上面发挥到更大的作用,保证软件质量和性能。 2分层技术在计算机软件开发中的应用 信息时代不断在发展,计算机的应用也越来越广泛,逐渐达到了一定程度上的普及,因此而产生了一些人际需求,这也迫使计算机软件的功能需要不断地拓展以满足大家的需求,其中分层技术在计算机软件发展的同时也得到了一定程度上的发展。分层技术应用于计算机软件开发中是一种大趋势,由于计算机在工作时受到了分层技术极大的支持,正是因为分层技术的应用才使得计算机软件功能越来越强大,也越来越能够为人们的生活以及工作提供便利。计算机软件的系统能够进行分层是基于物理硬件和底层的构件之间的关系上的,对于软件整体而言就是要不断地对自己的软件进行优化处理,从而让上层和下层之间相互依赖,使软件系统可以实现一些功能。想要让这个软件在质量上达到一定的高度就一定要提高分层技术的稳定性。 2.1双层结构技术的应用 在双层技术中,构成流程的两个主要的部分就是服务器于客户端,服务器的主要作用就是接收客户端的信息,在已有的数据库中进行查找、计算,最后把结果反馈给客户端;而客户端的作用就是为用户提供使用的界面,处理一些逻辑关系。这种利用双向数据计算的关系可以在用户少以及服务器具有充足的时间来运算时可以发挥出比较大的作用,但是遇到用户多且没有充足的反应时间给到服务器时,这样的技术就没有多大的作用了,甚至会带来不好的效果,为用户带来不便。 2.2三层结构技术的应用 三层结构是在双层结构的基础上进行的拓展和延伸,它是在服务器和客户端的基础上加上了一个应用服务器端,使得系统的工作效率得到提高。应用服务器端的主要功能就是将原本属于客户端的逻辑关系的处理移至本端口,让客户端只将为用户提供使用界面做好,提高用户的人机交互的使用效率。三层结构主要包括界面层、业务处理层和数据处理层,界面层的功能是收集用户对于软件的功能方面的需求,再将其传达给业务处理层;业务处理层的功能是对收到的用户需求进行分析后向数据处理层提取数据,经过处理之后将结果反馈给界面层;数据处理层的作用就是接受到业务处理层的申请后对数据库中的数据进行查询发送给业务处理层。这样用这三个结构之间的分工合作来达到降低系统的数据分析、传输的工作量。从而提高工作效率的目的。三层结构虽然具有很多的优点,但是在实际的应用中还是要根据实际情况将双层技术和三层技术进行有机地结合,已达到用户的需求。 2.3四层结构技术的应用 计算机运算的应用环境在web技术迅猛发展的情况下也越来越复杂,各种需要处理的数据和逻辑关系也越来越多,并且现在很多客户对于数据处理的速度、准度等要求也越来越高,这时显然三层技术已经不能满足这些需求了,所以就产生了四层技术。四层技术就是在三层技术的数据层和业务层之间添加了一个封装层,从而形成了一个由存储层、业务层、数据层、web层构成的四层结构。web层的主要作用是可以根据用户的需求来选择适合的处理路径,对于各种情况都可以选择最优的处理方式。虽然四层技术在目前还没有得到广泛的应用,但是根据它强大的功能可以预见未来将会有很多的应用面的。 2.4五层结构技术的应用 其实现在在一些比较特殊的领域,有的软件开发人员已经在四层结构的基础上在研发更高配置、更强大的功能的技术了,他们通过将数据层分解呈集成层和资源层的方式来进一步地提高系统的工作效率,它能够满足一些特殊机器的一些特殊要求。这种技术虽然能够解决一些特殊问题,但是毕竟它的应用仅仅局限于特殊领域内,所以没有被人们广泛地使用。 3结束语 总而言之,在这个计算机技术发展如此迅猛的时代,计算机的使用上也出现了一些问题,但是我们会一直坚持寻找解决问题的方法。软件的开发也有被计算机软件技术的发展刺激到,使得分层技术在软件的开发中起到了极其重要的作用,传统的双层结构还是不能满足现在的需求,通过对比之后,多层结构还是具有很强的可扩展性和安全性的。如今不论是何种行业的发展都是离不开计算机的,所以计算机的安全问题也是值得我们关注的,不能让一些不法分子有机可乘。
随着计算机技术的迅速发展,对于计算机软件工程的管理应当提高重视程度,不断的探索和关注软件工程管理的发展。因此,本文通过计算机软件工程管理的应用分析进行研究,阐述了计算机软件工程管理过程中的问题及解决策略,通过对软件工程项目管理进行分析,为目前我国的计算机软件工程管理提供一些建议和指导。 目前我国的计算机技术走在世界的前沿,但对于计算机软件工程的管理仍存在忽视的情况,对于计算机软件工程的管理仍处在探索的阶段,对于如何进行计算机软件工程管理并提高整体的管理水平,最大限度的为计算机软件工程提供帮助者,是当前我国计算机技术发展中应考虑的首要问题。在计算机软件工程发展的过程中,离不开管理的作用,管理可以为计软件工程提供一些技术上的指导,对于计算机软件工程未来也可以提供发展和帮助。在计算机软件工程中,不同的软件有着不同的产品特性,因而对于不同的产品进行的管理也都不相同。所以,在计算机软件工程中,应当利用管理的特殊性和独特性,在当前软件工程管理模式的基础上,针对不同产品的不同特性,采取相应的管理模式,实现计算机软件工程的良好发展,综合提高计算机软件工程的管理水平,为计算机技术在我国中的应用提供坚实的力量。 1计算机软件工程管理的主要内容 1.1组织机构管理 在计算机软件工程管理的过程中,组织机构的管理尤为重要,健全的组织结构能够有效提高管理的水平。在计算机软件工程项目中,对于项目管理的人员的综合素质要求较高,导致管理人才稀缺,工程管理的水平达不到基本的标准。管理中的团队不仅仅是简单的部门,而是管理人才与组织形成完整的结构,保证项目管理整体水平的稳定性和计算机软件工程的明确性。良好的组织机构管理不仅能够对管理人员进行整合作用,同时通过组织机构管理可以实现人力资源最大化,提高整体的管理水平要求,对于计算机软件工程的发展有着重要的意义。 1.2工作人员管理 计算机软件工程管理中的工作人员主要负责收集和整合计算机软件工程项目中的主要信息,软件的编程和完善后续的工作等等。对于计算机软件工程中的管理人员来讲,工作人员的工作具体就是在软件工程项目工作过程中进行细致化的管理。在管理的过程中,工作人员各司其职,每个员工都有不同的责任。因此,在分配工作量的过程中,应当将负责人与负责的岗位相分配,共同进行管理工作。在了解员工管理工作的模式后,应当根据不同的软件工程项目进行不同的安排和分配,利用工作人员不同的专业技能和工作水平,结合实际的软件工程管理工作进行不同的分配。进行软件工程管理的工作人员不仅需要大量的知识储备,同时也需要和其他部门合作,共同协调完成管理工作。 1.3软件用户管理 在计算机软件工程管理的过程中,软件用户管理成为了管理中重要的核心部分。实行有效的软件用户管理可以提高计算机软件工程管理水平的不断增长,为吸引更多的软件用户打下良好的基础。软件工程开发的目的是有用户使用,在软件开发的过程中,应当以用户为核心,通过对不同用户的不同需求进行设计,并且积极推荐给用户使用,在使用的同时对软件不断进行改进。因此,在软件用户管理的过程中,应当先进行市场调查,确定客户群体的基本信息,对于不同软件用户的不同需求进行适当的采集和整体,了解不同用户对于软件的各类个性化和需求和操作方法,以便于在软件工程设计过程中,可以结合多方面因素进行设计,保证用户数量的同时,也降低了软件工程的成本。在软件用户管理的过程中,相关部门还应与研发部门、开发部门等部门进行沟通,深入了解不同用户群体的使用体验,收集相关的意见和建议,以便于更好的完善软件,实现软件的实用性。 1.4档案资料管理 在计算机软件工程建设过程中,档案资料的管理也较为重要。因计算机软件工程涉及的数据量、信息量较为庞大,档案资料既多又复杂,对于软件工程的建设又有着十分重要的参考作用。因此,在档案资料管理的过程中,工作人员应当将重要的档案和资料进行备份,同时整理项目过程中的全部档案和资料,以免有遗漏。一方面能够为软件工程项目建设提供参考资料,保证项目的安全性,另一方面也能保证项目无差异性,提高了软件工程整体的开发效率和使用效率。 2计算机软件工程管理工作问题 2.1无法估计工作量管理计算机软件 在计算机软件工程管理过程中,由于工程项目庞大,计算机技术的迅速发展,有许多外界因素干扰项目的进行和管理的时效性。其中影响较大的因素就是人的因素。在项目建设的过程中,工作人员会影响到计算机软件工程管理水平的发展,例如工作人员的综合素养、技术水平、有无责任感等等。在软件开发的过程中,若不考虑工作人员的因素,计算机软件工程可能会比较容易估算。所以,在软件工程项目按开发的过程中,类似工作人员的因素必须要首先解决,只有最快速的找到解决问题的方法,才能实现软件水平的正常化。 2.2计算机软件工程在实际应用中存在不足 计算机软件工程在实际应用的过程中,会存在许多业务方面的问题。利用计算机软件工程对于业务的处理和分析还不够成熟,为软件工作管理带来了严重的影响。在实际业务应用的过程中,存在需求阶段的项目,工作人员可以通过研发更为便携的应用软件,为软件工程的开发提供其他的开发能力,同时计算机软件工程的企业应当对有潜力的职工进行大力的培养,增强工作人员的工作责任和工作意识。 3计算机软件工程的主要策略 3.1强化管理体系建设,提高管理效率 在计算机软件工程管理的过程中,应当加强计算机软件工程管理建设,同时加强对计算机软件工程管理人才的培养,提高对人才的重视程度,提升人才的综合能力和责任心,充分调动成员的积极性。好的人才才能为企业带来高收益。在企业的建设过程中,加强对人才的培养,对专业人员进行定期培训,不断更新软件工程相关的知识和技术,了解软件工程相关的最新信息,意识到人力资源的重要性,直接决定了软件工程项目的运行效率和质量。在对工作人员进行计算机软件工程培养时,应当注重工作人员的工作素养和工作作风,以确保项目的顺利开展。同时,应当加强对企业的培训工作,若想提高计算机软件工程管理的工作效率和工作质量,就要提高管理人员的知识和水平,提高管理能力。在强化软件工程管理水平的过程中,应当对建立有效的管理模式和机制,提高管理效率,不断学习计算机软件工程项目相关的各类先进技术,提高工作人员的整体水平,采取科学的手段建立健全管理机制,激发员工的工作动力,以确保软件工程的顺利开展。同时,在管理的过程中,应当将理论与实践相结合,促进软件工程管理的发展,提升软件工程的价值,提高工程开发的运行效率,加强对各类管理机制的完善,在结合实际的基础上,对于管理不断更新和发展,使得软件工程管理有更好的发展,为计算机技术的发展提供坚实的动力。 3.2加强软件风险管理,确保工作进度 在计算机软件工程开展的过程中,伴随着一定的软件风险,如何预防风险,切实推进计算机技术的发展成为了当前项目开展首要考虑的问题。因此,在软件开发的过程中,应当加强对软件风险的管理,建立健全风险管理模式,不论是在工作人员方面还是在日常软件运行方面都要进行适当的防范。一方面,加强工作人员的风险意识,可以有助于提高日常工作的安全性,工作人员在掌握风险管理知识的基础上,能够对于日常的风险管理有更好的应用措施。强化工作人员的风险管理意识,便于日常的风险通报。另方一面,应当建立健全风险管理机制,完整的风险管理机制是软件工程运行的前提。定期对计算机软件工程进行风险管理,可以更好的防范风险的发生,提高软件自身的经济效益。 3.3提升团队合作意识,发挥团队潜能 在计算机软件工程管理的过程中,应当加强团队合作意识,发挥团队潜能。好的团队合作会给企业带来巨大的经济效益。加强团队的合作意识是计算机软件项目开发成功的基础。作为软件工程开发中的重要环节和项目,建议团队合作意识刻不容缓。所以,若想建立良好的团队合作精神,首先应建立团队合作的意识,让团队中的每个员工都发挥自身的技术和才能,加强员工与员工,员工与组长间的相互交流,建立良好的团队合作关系,提高团队整体的合作效率。此外,还应适当进行团队管理,好的团队管理也是提高团队合作的关键。在团队合作的过程中,确保每个员工的工作职责,使每个员工充分投入到工作当中去,将团队潜能发挥到最大,提高计算机软件工程管理工作的效率。 3.4软件开发平台进行统一规划 在计算机软件开发的过程中,应当对软件开发平台进行统一的规划,这样可以避免重复开发在多种平台。随着我国计算机软件工程技术的飞速发展,网络建设软件开发平台也随之增多。所以,在规划的过程中,应当建立同统一的规划机制,由各个部门的工作人员共同建立统一平台,进行统一的计算机软件工程的管理。 3.5安全防御的身份验证 在计算机软件工程的运行中,应当构建其相应的网络安全体系。通过对各类信息的整合可以实现对使用计算机软件的人进行安全验证,通过计算机软件技术对用户进行身份的查验,保证信息在传输过程中的安全性。通过构建安全防御的验证系统,可以更好地实现对不同用户进行身份确定,实现对计算机软件工程的安全性,同时对于计算机网络安全提供了加密的作用,提升了计算机软件工程的安全性。 4计算机软件工程的应用 随着我国计算机信息技术的高速发展,计算机软件工程应用广泛,特别是在社会上和日常生产生活中的应用相对较为广泛,在使用过程中发挥出了巨大的作用。随着计算机和网络的日渐普及,计算机软件工程的优势日渐突出,其在社会中的应用范围越来越广泛,发挥的作用也越来越大。利用计算机软件工程对软件进行研发和运用,因此,在研发的过程中要求工作人员具备一定的专业技能,以提高研发的科学性和严谨性。在软件开发的过程中,各类计算机软件层出不穷,常见的软件有办公软件,良好的办公软件可以为各行各业服务,使得办公流程变得更加简单和便捷,随着办公软件的不断更新和优化,未来的办公软件可以向着精细化的方向发展。企业中应用计算机软件较多,办公软件的使用可以使得企业内部工作流程更为简单,传输信息的过程中使得信息确保安全性,传输效率更高,在工作过过程中沟通更为顺畅,大大提高企业整体的运行效率。在教育体系中利用计算机软件也较为常见,由于学校中的学生数量较多,若不利用计算机软件进行系统的录入和编号,很可能会出现问题。所以,在教学体系中,良好的利用计算机软件,不仅能够对学生的各类信息进行保存和分类,还可以进一步提高学生和教师间的良好沟通,提高师生间的关系,同时也提升了知识的传播速率。便携化的教育体系不仅提高了课堂整体的效率,同时对教育的发展也有助力。 5结论 随着我国计算机水平的不断发展,计算机技术对人们日常的生产生活水平有着重要影响,对于国内外应用计算机技术的各行各业来说,都具有十分重要的发展意义和前景。计算机软件工程在我国的发展已经具有一定的规模,同时也在不断完善和创新计算机软件工程。在计算机软件工程发展的过程中,应当优化软件工程管理的整体水平,提高计算机软件工程管理的质量和运行效率。在计算机软件工程发展过程中,强化其软件工程管理大大提高了软件工程的运作和发展,对于计算机技术的变革和创新也有着十分重要的作用。有效提高软件工程管理水平,能够提高计算机软件工程的整体质量和运行效率,提高计算机技术行业的经济效益,也能提高我国的社会效益,促进我国计算机技术的不断发展和提高。
浅谈审计软件开发风险评估:审计软件开发风险评价拓展 【摘 要】 审计软件项目开发风险是影响审计质量的重要因素。文章分析了审计软件开发过程中可能遇到的风险,并对风险评价指标体系进行了有效的拓展,以使关于审计软件项目开发风险的评价更为客观、科学。 【关键词】 审计软件; 开发风险; 评价指标; 拓展 一、审计软件开发过程中可能迂求的风险 (一)审计软件开发的外部风险 1.社会环境及其风险 审计软件作为计算机审计的重要工具,它具有很强的专业性。审计软件的基本功能包含审计全过程,审计计划、符合性测试、数据读取、数据分析、报告输出等都可由审计软件辅助完成。会计师事务所审计软件的设计必须严格按照国家有关会计和审计的法律制度,否则软件产品就不合格,不能在实际工作中应用,导致项目失败,这是审计软件最主要的外部风险;另外如项目延期完工,产品性能低于预期等也会让供应商不满,给项目带来风险。 2.外部资源及其风险 软件供应商或软件项目的实施咨询服务商是软件项目的外部资源条件。我国会计师事务所实施审计软件项目所需的外部资源不佳,为实施审计软件项目,会计师事务所面临着两难选择,一是选择国外较成熟的商业化软件,但这些产品的价格一般都很高,预算上难以承受;二是选择国产软件,国产软件大多不太成熟,性能不稳定。不论做何种选择,都有着极大的风险性,难以作出正确的决定。这种软件选型风险称之为软件供应商选择风险。如果软件选购的经办人员出现贪腐行为,那么这种风险更大。 (二)审计软件项目的内部风险 1.软硬件选择风险 在自身软件开发能力不足的情况下,会计师事务所审计机构可以联合软件公司共同进行审计软件的开发工作。利用这种方式开发审计软件具有以下优点:审计软件开发任务主要由外部技术力量承担,审计机构参与开发的人员主要是在软件需求和系统分析方面进行配合,因此对审计机构的软件开发能力要求低。同时在合作开发机构的技术支持下,能保证开发出来的审计软件具有较高的水平和较强的功能。 2.实施过程风险 (1)项目实施人员方面所带来的风险。审计软件的项目实施人员由软件供应商和会计师事务所两方面组成,项目能否顺利实施、实施时间能否尽量缩短,取决于实施人员的经验和参与程度。一般来说,高效可靠的项目组都有以下特点:软件供应商方面的人员经验丰富、技术扎实;会计师事务所方面参与项目的人员则是涉及面广,特别是业务部门要积极参与。不同的项目参与者在审计软件项目的实施过程中所起的作用不一样,他们有着各自的职责分工,任何一方的参与者出现问题,都会给审计软件项目带来很大风险。 (2)延期风险。是否延期是衡量项目管理水平的一个重要方面,会计师事务所审计软件项目的实施过程都较长,一般需要一到两个季度,有的甚至超过一年。因此,项目进度计划控制的好坏直接影响项目。如果能做好项目进度控制、按预定计划完成各项工作任务,就能削减项目的延期风险。 (3)超预算风险。项目预算的执行状况也是项目管理水平的重要体现。软件项目投资弹性大,成本预算偏软性,成本风险较大。同时由于软件项目实施时间长、期间通货膨胀等外部因素会导致原材料和人工成本的增加,且咨询、维护、调整、升级等预算外的支出会导致项目成本剧增,实际支出往往远超预算。如果支出远超预算,即使项目最终得以完成,客观上这些项目也是不成功的,甚至有些企业在权衡支出和效益后,如果觉得效益不明显,且支出过大,他们会终止项目的实施。 3.管理风险 软件项目不仅仅是业务或管理工作的信息化、数字化,更重要的是一次革新,是对原先工作习惯和管理思想的一次革命,它带来的是先进的管理理念。软件的生命力在于运用,只有企业的管理者和员工都能转变观念,吸收软件项目所蕴含的新的管理思想,才能发挥审计软件项目的效益。任何习惯的转变对人来说都是痛苦的。因此,如何克服这种痛苦带来的负面影响,顺利转变企业全体员工的观念,理解和消化审计软件带来的新思想,是审计软件项目成功的又一关键;否则,就会带来管理风险。 二、风险评价指标体系的拓展 (一)传统的审计软件风险识别指标体系的局限性及扩建原则 运用传统方法建立的软件项目风险识别指标体系可以发现项目中大多数的潜在风险,为进一步对风险进行分类、分析、评价提供了目标,但还存在很多局限性:一是没有考虑项目中不同风险之间的内在联系,对风险的认识不够全面,没有体现出风险数据的组织化和结构化,没有体现出指标间的低耦合性、简单性、灵敏性等特点。二是涉及审计软件开发项目的风险因素很多,这些因素相互作用、相互影响,关系错综复杂,而且风险之间还有多层次性,有些风险具有包含关系,这些都是传统方法下的指标体系所不能反映的。 因此,需要对审计软件项目风险识别指标体系进行扩建,扩建的基本原则如下:一是完全性原则。指标体系应囊括所有的潜在风险因素,兼具综合性、完整性,并通用于同类项目。二是简单性原则。在指标体系满足完全性的前提下,针对具体的项目,选择有针对性的指标,合理减少指标个数,这样便于抓住关键因素,减少不必要的混乱,从而提高效率。三是低耦合性原则。由于指标之间存在弱相关性,具有相互影响、相互作用的特点,因此允许有相关关系的指标独立出现。四是一致性原则。这包括两个层面的一致,首先是各个指标与整个指标体系不矛盾;其次是各指标相互之间没有冲突。五是客观性原则。选择的指标应该在项目中客观存在,如果某项指标与项目实际不符,则应该从体系中剔除。六是灵敏性原则。随着项目的开展,当项目的不确定因素发生变化时,能及时调整指标,改变整个体系的构成。 (二)扩建审计软件项目风险识别体系 风险指标体系的数据来源可分为主观和客观两类,这两类归纳起来共有四个途径:客观方面来源过去试验的成果和过去产品的数据两个途径,主观的数据来自专家经验数据和相似工程的数据两个途径,其中前者是完全主观的,后者是部分主观的。本研究的数据来自两个途径:主观方面的数据来自专家咨询调查表,客观方面的数据来自国内类似软件项目的统计分析。具体的指标风险包含了以下内容: 1.需求风险 产生需求风险的不确定性因素较多,包括需求分析不全面、需求分析方法不恰当、需求的定义不准确和清晰、需求未经用户确认、技术上还不能完成需求要求的功能。这些需求方面的不确定性因素给项目的进度控制和成本预算的执行带来风险。 2.技术风险 因技术难度大,系统复杂程度高,或者开发人员不熟悉开发技术或工具,导致项目开发延期。 3.进度计划风险 这主要是因缺乏应对意外事件的进度控制预案或没有对关键任务实行有效的监督控制而引起的。 4.规模风险 项目规模大小与项目成本控制偏差之间有一定的相关性,项目规模会带来风险,一般是规模越大,带来的风险也越大。 5.项目先例风险 这是因项目组缺乏相同行业或相近系统结构的项目开发经历,导致项目开发投入增加。 6.成本计划风险 与进度计划风险相似,主要是因缺乏应对意外事件的预算预案或没有对关键任务实行有效的监督控制而引起。 7.实施风险 因项目实施过程中配套软、硬件没按进度提供而引起。 8.客户参与风险 因客户没有充分参与项目的实施,导致软件的功能不能满足客户的实际需要。 9.质量风险 因缺乏有效的质量管理,没有建立起相应的质量保障组织、制度标准规范,导致项目质量无保障。 10.测试风险 缺乏有效的系统测试管理,没有建立起系统测试的相关组织,也没有制定测试计划、工作规范;或因测试工具和环境选择不当,导致测试效果不佳。 11.非功能性要求风险 因对非功能性要求缺乏必要的认识、技术难度大,增加项目投入。 12.管理层支持的风险 因软件开发企业或客户的管理层对项目的重视程度不够,导致项目的投入得不到应有的保障。 13.员工积极性风险 员工的主动性与积极性影响项目进程。 14.技术与项目构成风险 技术与项目组成风险是技术水平以及项目构成,将会对项目的风险产生重要影响。 三、风险评价标准体系的构建 风险评价标准包括风险发生的概率、风险损失影响的等级标准。在对项目风险进行识别和评价之前,需要根据具体的项目情况和项目组能力进行客观的估计,制定风险驱动因子的量化标准。按照风险标准,极高对应的概率值是0.85—1.00;很高对应的概率值是0.65—0.85;高对应的概率值是0.45—0.65;一般对应的概率值是0.25—0.45;低对应的概率值是0.05—0.25;很低对应的概率值 软件项目风险识别指标体系的建立是软件项目风险管理的第一个环节,是其他后续管理环节的基础。当风险评价标准确定后,邀请业内的专家进行综合评判,可选择两类专家,一类是研究型的;另一类是实践型的。专家们根据参照标准在专家咨询表上填写评判结果,对这些结果进行统计分析,就可以得出每个风险驱动因子发生的概率和损失影响的级别。 四、结论 合理确定审计软件项目开发风险的评价标准,是审计软件开发的必需程序,也是关键一环。希望本文的研究能够对审计软件开发项目的理论研究以及实践操作有所裨益。 浅谈审计软件开发风险评估:审计软件开发的局限性与方向 摘要:传统的手工审计方法与技术在会计电算化的过程中逐渐不能满足审计人员对于审计的需要,会计信息越来越多,需要审计人员审计的账簿也越来越多。保证审计质量的同时提高审计人员的工作效率已经成为审计行业关注的重点。审计软件的出现可以节约审计资源、提高审计工作的效率。但是目前运用的许多审计软件并不能够满足审计工作的需求,所以开发更具适用性的审计软件是目前审计工作必须关注的一个重点问题。 关键词:审计;计算机;软件开发 一、审计软件的应用情况 在大数据时代的背景下,信息技术不断改进和发展,人们的生活有了翻天覆地的变化,为了适应庞大的数据需要,从繁杂的信息中挖掘出有价值的数据,使得各个行业的工作方式逐渐由手工作业专为计算机作业,这也为审计工作方式提供了新的方法与途径。面对多而复杂的审计数据,审计软件的开发,不仅使审计的效率大大提高,还可以使审计风险大幅降低。审计软件能够进一步拓宽审计覆盖面,实现审计工作的新跨越与新发展。 目前的电子数据软件大多是通用的软件,为了使其在不同的单位适用,很多审计软件都被商品化了,并且都能在计算机环境下使用。近几年国内的许多软件公司和审计部门开发了与国内一些商品化的会计软件有良好接口的通用审计软件,虽然这些软件在功能部分与国外的一些常用审计软件还有一些差距,但这些审计软件是针对我国的市场并结合了国内会计软件的特点而设计的,所以在操作的便利程度上与适用性上相对于国外一些软件来说还是有优势的。国内的审计软件功能操作便捷,对计算机技能要求不高,这使得审计人员不必具有很高的计算机操作水平,使审计人员在审计工作中更容易接受审计软件的辅助。 二、开发审计软件的局限性 (一)资源发展的不均衡 审计信息化是一个系统又复杂的伟大工程。为了加强审计信息化的建设,我国做出了一系列关于审计的重大举措,有力的推进了审计行业的信息化发展。但是,目前国内审计软件的开发并不系统,存在各种各样的审计软件,各个单位采用的审计软件没有一个通用的设计标准,也没有实现资源共享信息共享的途径,这些问题都会使得存在重复开发的审计软件、盲目开发审计软件等问题,导致一系列的资源发展不均衡问题。 在审计信息化建设这个方面,我国起步的比较晚,一直都比较缺乏理论方面的研究与创新,所以使得审计软件方面的开发从一开始起步的时候便出现了理论不足的尴尬场面,所以使得目前我国的审计软件、审计软件的开发案例没有统一的标准,虽然开发的软件很多但没有系统的功能划分,也没有坚实的理论支持。如果没有系统的理论作为开发过程中的指导,开发出来的软件在实际应用中会有很多问题,比如具有较差的兼容性。计算机辅助审计是一个综合性很强的学科,计算机的运用已是审计工作不可分割的一部分,也是审计理论今后研究的重要方向。电子数据审计分析的技术方法、研究深度与广度还没有被审计软件充分地挖掘,目前的审计软件只聚焦于数据处理,没有对先进的信息技术进行运用处理。所以我国应加强对审计人员的培训,对信息技术进行大力的推广运用。 (二)企业信息系统建设水平急需提高 开发审计软件的局限性原因还有一方面是我国各个企业的信息化程度差别大,我国的信息系统建设阶段可以做一些简单的信息处理与管理和对一些一般性事件进行处理,可以说是处于信息系统建的初级发展阶段,企业间的资源共享还没有做到,出现较为严重的“信息孤岛”现象,企业的信息化建设的作用与优势并没有完全体现,与国外的信息化水平相比较,还是有很多差距。 (三)人才不足 从事审计行业的人员大多是对财务知识比较精通,而对计算机技术精通的审计人员是极其少数的,而审计类的软件需求在应用商品市场中是相对较低的。一些关于审计的软件开发商单位的开发人员大多是计算机专业人员,很少接触有关审计的工作,对审计知识的了解并不像专业审计人员那样深入,不能够从专业的审计角度来开发软件,造成软件的功能不合理、功能不全面,所以审计人员在实际工作中对软件运用效率并不高。审计软件的开发要求很高的综合知识,既要求开发人员具有良好的计算机汇编语言的知识,又要求开发人员能够熟悉审计的业务与流程。这样的综合性人才是我国目前审计行业比较缺少的,很多高校无法培养出既精通计算机有精通审计的专业人才。缺乏复合型的审计人才也是制约审计信息化进程的一个比较重要的原因。所以在信息化建设方面,应提高从事审计行业人员的综合素质,顺应时代的要求。 三、把握审计软件的开发方向 (一)实时监控 国内的现行审计软件大多是主要以定期的审计来设计的,通过对基础的财务进行审计,发现疑点,从而进一步明确审计活动。目前所进行的审计活动大多属于事后审计,是对结束了的经营活动进行审查。随着计算机网络技术的不断进步数据量不断加大,信息更新更快速,流动性的需求也不断增加,企业对信息的时效性要求也越来越高,对实时审计的必要性要求也极大的增加。进行实时审计能够弥补事后审计实效性不高、线索不充分的一些缺点,能够为定期审计提供便利。 (二)审计项目多样性 目前审计软件的功能在操作上是比较简单的,有一定深度的企业专用审计软件基本没有,不能够适应灵活多变的审计需要。在审计工作中,计算机技术不能完全取代人工审计,而是作为一种计算机辅助技术,但是目前计算机辅助审计工作的程度还没有完全清楚的被界定,所以审计通用软件在审计工作中的功能定位比较模糊。审计业务流程多样且具有复杂性,每个行业都有每个行业的特殊性,通用的审计软件无法满足各个行业和企业的不同要求。审计软件的功能开发需要有针对性,只有能够针对具体的审计目标与方法且适合具体企业的审计工作要求,审计软件的功能与方法才能被充分利用,审计软件才能发挥最大价值。目前的审计软件以简单的查账程序为主,无法提供灵活变通的技术与方法,各个审计软件之间的数据共享还不能实现,导致软件的效率与成果不尽如人意。 (三)可视化 在大数据的战略方向影响下,可视化分析是目前审计软件需要关注的重点。可视分析已经成为大数据审计的重要的手段与方法途径。可视化分析能够将计算机处理分析后的数据和人的感知能力融合入到一起,具有很大的优势。通过可视化技术能够有成效的改变计算机自动化的分析方法所带来的劣势,能够使得人机交互与融合。当前,国内审计软件对可视化的研究还没有那么完善,所以这也是当前和今后审计软件开发所需要持续关注的地方。目前大部分审计软件都不能很好放入可视化研究部分,这就需要在审计软件开发时结合审计工作的具体需求,开发出合适、符合审计工作内容的审计软件,这不仅能够对传统的审计技术方法做出改变和创新,还可以更好地发挥审计监督作用,提高审计工作的效率水平。 四、总结 随着科学技术的飞速发展、计算机网络技术不断创新,互联网改变着人们的生活方式。会计信息的网络化给了审计工作一个巨大的挑战,也为审计工作提出了更高的要求。从审计数据的采集与查询、处理分析等流程都逐渐采用计算机来代替。能够预见在不久的将来,计算机将会成为审计工作中的核心,网络审计将会成为未来审计事业的发展潮流。审计人员能够基于互联网借助计算机技术对企业的会计信息的合法性、合规性、真实性进行审计,这种网络办公能够极大的节约时间、提高工作效率。 努力开发结合审计工作需求的审计软件,能够使得传统的审计技术和方法进行改进创新。高效的审计软件能够很好地发挥审计监督作用,提升工作效率,全面提高审计工作的整体水平,在信息化的建设上顺应了审计人员综合素质提高的要求,而更具针对性的审计软件能够更有效地发现舞弊与违法乱纪现象与问题。 (作者单位:南京审计大学) 浅谈审计软件开发风险评估:审计软件开发风险评估探索 一般来说,高效可靠的项目组都有以下特点:软件供应商方面的人员经验丰富、技术扎实;会计师事务所方面参与项目的人员则是涉及面广,特别是业务部门要积极参与。不同的项目参与者在审计软件项目的实施过程中所起的作用不一样,他们有着各自的职责分工,任何一方的参与者出现问题,都会给审计软件项目带来很大风险。延期风险。是否延期是衡量项目管理水平的一个重要方面,会计师事务所审计软件项目的实施过程都较长,一般需要一到两个季度,有的甚至超过一年。因此,项目进度计划控制的好坏直接影响项目。如果能做好项目进度控制、按预定计划完成各项工作任务,就能削减项目的延期风险。超预算风险。项目预算的执行状况也是项目管理水平的重要体现。软件项目投资弹性大,成本预算偏软性,成本风险较大。同时由于软件项目实施时间长、期间通货膨胀等外部因素会导致原材料和人工成本的增加,且咨询、维护、调整、升级等预算外的支出会导致项目成本剧增,实际支出往往远超预算。如果支出远超预算,即使项目最终得以完成,客观上这些项目也是不成功的,甚至有些企业在权衡支出和效益后,如果觉得效益不明显,且支出过大,他们会终止项目的实施。管理风险软件项目不仅仅是业务或管理工作的信息化、数字化,更重要的是一次革新,是对原先工作习惯和管理思想的一次革命,它带来的是先进的管理理念。软件的生命力在于运用,只有企业的管理者和员工都能转变观念,吸收软件项目所蕴含的新的管理思想,才能发挥审计软件项目的效益。任何习惯的转变对人来说都是痛苦的。因此,如何克服这种痛苦带来的负面影响,顺利转变企业全体员工的观念,理解和消化审计软件带来的新思想,是审计软件项目成功的又一关键;否则,就会带来管理风险。 风险评价指标体系的拓展 (一)传统的审计软件风险识别指标体系的局限性及扩建原则运用传统方法建立的软件项目风险识别指标体系可以发现项目中大多数的潜在风险,为进一步对风险进行分类、分析、评价提供了目标,但还存在很多局限性:一是没有考虑项目中不同风险之间的内在联系,对风险的认识不够全面,没有体现出风险数据的组织化和结构化,没有体现出指标间的低耦合性、简单性、灵敏性等特点。二是涉及审计软件开发项目的风险因素很多,这些因素相互作用、相互影响,关系错综复杂,而且风险之间还有多层次性,有些风险具有包含关系,这些都是传统方法下的指标体系所不能反映的。因此,需要对审计软件项目风险识别指标体系进行扩建,扩建的基本原则如下:一是完全性原则。指标体系应囊括所有的潜在风险因素,兼具综合性、完整性,并通用于同类项目。二是简单性原则。在指标体系满足完全性的前提下,针对具体的项目,选择有针对性的指标,合理减少指标个数,这样便于抓住关键因素,减少不必要的混乱,从而提高效率。三是低耦合性原则。由于指标之间存在弱相关性,具有相互影响、相互作用的特点,因此允许有相关关系的指标独立出现。四是一致性原则。这包括两个层面的一致,首先是各个指标与整个指标体系不矛盾;其次是各指标相互之间没有冲突。五是客观性原则。选择的指标应该在项目中客观存在,如果某项指标与项目实际不符,则应该从体系中剔除。六是灵敏性原则。随着项目的开展,当项目的不确定因素发生变化时,能及时调整指标,改变整个体系的构成。(二)扩建审计软件项目风险识别体系风险指标体系的数据来源可分为主观和客观两类,这两类归纳起来共有四个途径:客观方面来源过去试验的成果和过去产品的数据两个途径,主观的数据来自专家经验数据和相似工程的数据两个途径,其中前者是完全主观的,后者是部分主观的。本研究的数据来自两个途径:主观方面的数据来自专家咨询调查表,客观方面的数据来自国内类似软件项目的统计分析。具体的指标风险包含了以下内容:1.需求风险产生需求风险的不确定性因素较多,包括需求分析不全面、需求分析方法不恰当、需求的定义不准确和清晰、需求未经用户确认、技术上还不能完成需求要求的功能。这些需求方面的不确定性因素给项目的进度控制和成本预算的执行带来风险。2.技术风险因技术难度大,系统复杂程度高,或者开发人员不熟悉开发技术或工具,导致项目开发延期。3.进度计划风险这主要是因缺乏应对意外事件的进度控制预案或没有对关键任务实行有效的监督控制而引起的。4.规模风险项目规模大小与项目成本控制偏差之间有一定的相关性,项目规模会带来风险,一般是规模越大,带来的风险也越大。5.项目先例风险这是因项目组缺乏相同行业或相近系统结构的项目开发经历,导致项目开发投入增加。6.成本计划风险与进度计划风险相似,主要是因缺乏应对意外事件的预算预案或没有对关键任务实行有效的监督控制而引起。7.实施风险因项目实施过程中配套软、硬件没按进度提供而引起。8.客户参与风险因客户没有充分参与项目的实施,导致软件的功能不能满足客户的实际需要。9.质量风险因缺乏有效的质量管理,没有建立起相应的质量保障组织、制度标准规范,导致项目质量无保障。10.测试风险缺乏有效的系统测试管理,没有建立起系统测试的相关组织,也没有制定测试计划、工作规范;或因测试工具和环境选择不当,导致测试效果不佳。11.非功能性要求风险因对非功能性要求缺乏必要的认识、技术难度大,增加项目投入。12.管理层支持的风险因软件开发企业或客户的管理层对项目的重视程度不够,导致项目的投入得不到应有的保障。13.员工积极性风险员工的主动性与积极性影响项目进程。14.技术与项目构成风险技术与项目组成风险是技术水平以及项目构成,将会对项目的风险产生重要影响。 风险评价标准体系的构建 风险评价标准包括风险发生的概率、风险损失影响的等级标准。在对项目风险进行识别和评价之前,需要根据具体的项目情况和项目组能力进行客观的估计,制定风险驱动因子的量化标准。按照风险标准,极高对应的概率值是0.85—1.00;很高对应的概率值是0.65—0.85;高对应的概率值是0.45—0.65;一般对应的概率值是0.25—0.45;低对应的概率值是0.05—0.25;很低对应的概率值 0.05。软件项目风险识别指标体系的建立是软件项目风险管理的第一个环节,是其他后续管理环节的基础。当风险评价标准确定后,邀请业内的专家进行综合评判,可选择两类专家,一类是研究型的;另一类是实践型的。专家们根据参照标准在专家咨询表上填写评判结果,对这些结果进行统计分析,就可以得出每个风险驱动因子发生的概率和损失影响的级别。合理确定审计软件项目开发风险的评价标准,是审计软件开发的必需程序,也是关键一环。希望本文的研究能够对审计软件开发项目的理论研究以及实践操作有所裨益。 作者:杨扬 余莉 单位:西南财经大学会计学院
随着计算机技术的不断进步和完善,计算机在生活和工作中的应用已经变得十分普遍了。在大数据时代的到来之后又对企业使用计算机技术提出了严格的要求,为了适应于大数据时代,企业不得不做出改变,针对计算机技术进行改进,紧跟其步伐,以便更好地服务于企业自身的工作,推动着企业经济的发展。 1计算机软件应用技术的现状 计算机软件的应用已经在我国覆盖了大面积的范围,但是因为硬件设施和网络线路铺设等问题,再加上一些恶劣的外部环境,就导致了计算机软件应用技术无法在我国实现全面普及,计算机的整体应用情况并不理想。在当下大数据时代的背景之下,需要计算机技术应用和扶持,对于大量的繁琐的数据进行整合,弥补大数据时代因为快速发展而产生的一些问题,使得大数据时代在进步的过程中有所保障,所以大数据时代的到来是改善计算机应用技术现状的一个契机。计算机软件应用技术主要有以下三个方面:(1)沟通交流,进行信息的传递。通过使用计算机技术,进行公司内部的信息传达,外界的商业上的信息交流,突破了时间和空间的限制,能够快速的将所需要的信息进行传达和交流,对于企业的工作和发展来说是十分便利的。(2)进行资源管理,随着社会的进步不和改革,使得企业的生产力模式发生了变化,企业面连着难掌控全局的局面。但是计算机软件中存在着可以进行资源管理的软件,这位企业的资源管理提供了便利和合理性,使得企业更加快速的发展。(3)决策支持。任何决策的背后都需要大量的客观背景作为支撑,这个时候就需要大量的数据为决策提供理论依据,依靠计算机技术,可以快速的进行数据的收集整理,当然还能提供合理的建议和十分详细的市场信息,对于企业的决策是存在着很大的便利的。这三个主要功能在大数据时代起到了重要的作用,改善了计算机技术的现状,使其能更加快速的发展起来。 2大数据时代计算机软件的应用技术 2.1虚拟技术的应用 虚拟化技术应用到企业当中,对企业的资源管理进行虚拟化管理,对大数据内部资源进行优化配置,提升信息的处理效率,同时还能保证用户操作的灵活性。虚拟化技术应用于企业当中,服务于企业的管理,帮助企业进行合理的规划。当然虚拟化技术不仅仅应用于企业当中,他还体现在人们的日常生活当中,使得人们的生活更加的便利。 2.2云储存技术 云储存技术的出现为人们的生活提供了更大的便利,对于以往的传统储存模式进行改革,只要网络终端连上网络,就能随时对云储存里面的内容进行浏览下载,这是传统的储存模式做不到的。云储存在这一点上进行了改进,能够使人们在工作和生活中对于自己所需要的资料进行归纳整理置于云储存中,防止资料的丢失,同时也能随时随地的进行资料的查看下载。在大数据时代,云储存的出现时必然的,它能科学的对大量的数据和资料进行科学的分类整合,适应于大数据时代的发展。 2.3信息安全技术 互联网是一个开放性平台,存在一定的安全问题,容易受到病毒等的攻击,大量的数据依附于互联网,大部分的技术依赖于互联网的进行,再加上数据与数据之间可能存在着关联性,这就加大了危险性,因此需要加强互联网的安全问题,改善安全隐患,从而设计了信息安全技术。虽然我国的信息安全技术至今还有所欠缺,但是在一定程度上保障了互联网和数据资料的安全,为大数据时代的发展提供了保障。 3计算机软件技术字大数据时展时应当注意的问题 3.1信息通信 可以通过计算机软件进行分析问题,有效的解决客源流失的问题,对行业的发展运营中存在的问题制定切实可行的解决方案。要善于利用计算机软件技术,辅助企业进行管理和资源整合,帮助企业解决存在的问题,但是需要注意的是,要合理的进行运用计算机软件技术,而且不能完全依赖于计算机软件技术,企业也要有自己独立的思考,两者结合才能促进企业的发展,实现计算机软件的作用,带动着计算机软件进行完善。通过大数据的分析帮助企业实现经济和社会效益的双丰收。 3.2商业运营 大数据时代的到来对计算机软件技术提出了挑战,使得计算机软件有了用武之地。计算机软件技术的应用,对于国民经济、人们的生活工作带来了很大的影响,尤其是在面对商业运营时,计算机软件技术掌握的大量的数据和技术支撑着商业运营,辅助商业发展更加平稳快速的进行。大数据时代的信息量庞大且繁琐,因此需要良好的技术对这些数据进行科学的整理分类。而且计算机技术存在一定的安全性,存在病毒对计算机网络进行恶意的攻击,最后导致计算机网络里面的数据丢失。这些问题都是计算机技术需要进行改进和完善的,尤其是在当下的大数据时代,更加需要计算机技术更加快速的成长起来,只有相关的技术人员对计算机技术的这些漏洞进行修复弥补,才能从根本上解决问题,推动大数据时代的发展。 4结语 总而言之,计算机软件技术在大数据的到来之下快速的进行改善和提高,已经逐渐的适应于当下人们的工作生活当中,是人们的工作生活更加的便利。对于企业的发展和运营也带来了很大的影响,帮助企业进行资源的整合和管理,减少资源的浪费,促进企业经济的发展和社会效益的提升。当然计算机技术现如今依旧不是很完美无缺的,依旧存在着很多问题,因此需要不断的进行改进和提升,使得计算机技术在大数据时代下能够更好的促进人们工作的发展和生活上的便利。 参考文献: [1]刘长银,侯学艳,侯艳权等.计算机软件技术在大数据时代的应用[J].科技经济导刊,2017,2(12):12-14. [2]郝赛赛.计算机软件技术在大数据时代的应用浅述[J].数字化用户,2017,23(30):14-16. [3]程林.计算机软件技术在大数据时代的应用[J].科技创新与应用,2016,2(25):118-118. 作者:陈鹏 单位:湘西广播电视大学
数据挖掘技术可以从庞杂的数据信息中提取、采集需要的信息,是企业运营中重要的应用技术。尤其随着各类电子产品的日益增多,为了让海量的信息为人们提供更加优质的服务,离不开对相关的数据展开深层次的挖掘与处理,为企业朝着继定的目标发展提供了必要的信息参考。 1数据挖掘的技术 1.1基本含义 数据挖掘就是指充分应用科学、高效率的计算方法,在海量的数据信息中捕获可用的信息的深入筛选过程。现如今,随着人类进入了信息时代,数据挖掘的技术在诸多行业里获得了人们的广泛认可,应用范围非常广阔。 1.2操作方法 总体而言,数据挖掘的技术大体可以分为以下五种操作的方法。第一,神经网络法。这种方法的鲁棒性较好,具有高度容错、并行处理的功能,对数据挖掘十分适用。具体是按照选择的模型,确定适用范围。现阶段,神经网络领域里普遍应用连续、离散、art与koholon等几种模型,主要在联想记忆、聚类的自组织映射、计算优化中进行应用。第二,决策树的方法。这种方法指的是对海量的信息进行分类、整理,并寻找带有一定运用价值的信息。具有迅速分类、获取可用信息的特点。因此,比较适合处理大量的数据。缺陷主要包括抵制噪声能力弱、表达复杂的概念不够具体。第三,统计分析法。通过这种方法可以有效地分析函数关系、相关关系。现阶段,可以具体划分三种方法,即相关、回归、差异等分析方法。第四,遗传算法。指的是依托于遗传激励与生物的自然选择规律的随机性搜索的计算方法,这也是十分常见的数据挖掘法。可以与其他的模型建立一定的联系,具有应用范围广、隐含并行性的优点。第五,挖掘对象。结合信息储存的格式,可以挖掘面向对象的文本数据源、数据库、空间数据库、多媒体数据库、异质数据库、时态数据库、Internet等。 2软件工程中数据挖掘技术的应用 2.1挖掘结构、程序代码 数据挖掘的技术在结构、程序代码方面的应用具体如下:其一,检测克隆代码的方法。所谓的克隆代码是指按照相关的软件工程正常运行的标准,复制或粘贴某个代码段。如果存在特别的需要,还能够酌情更改一些代码,并且对以上的代码加以严格地检测,目的在于以免相关故障的传播,达到简单维护系统的目标。有利于相关的软件系统正常运行。现阶段,克隆代码的检测可分为四种方法。即标识符比较、文本对比、程序结构、度量等。各种方法皆拥有各自的判断标准与检测程序,应用的时候,还需要结合具体的状况合理选择。其二,Aspect挖掘法。这种技术就是人们经常提及的横切关注点的挖掘法,在软件工程里,Asped挖掘法在改造系统中发挥关键性的作用。尤其在处理相关问题时,可以提供很多的方法,其中,形式概念、度量分析法最具有针对性。以上的方法能够通过重建候选集的形式,更好地解决横切点的挖掘问题。而且,这种数据挖掘的技术在其他许多方面也可以发挥良好的性能。 2.2软件项目管理方面 关于软件项目的管理,应用数据挖掘的技术可以表现以下两点。其一,挖掘组织关系与控制版本的信息。因为软件管理属于一项系统化的工程,关于组织关系的挖掘就分为许多层面的内容,其中,以合理地协调、分配人力资源最为重要。例如:在某一活动举办期间,由于涉及诸多的参与人员,这样,在统计有关信息时,极易因信息的交互而影响活动的正常秩序。而数据挖掘技术的有效应用,能够有效地区分各方面的组织关系,极大地提升了项目管理的效率。其二,控制版本的控制信息。版本信息的控制可以为相关的工作者查询版本带来便利。有效地应用数据挖掘的技术,不但可以对系统实际的修复状况展开自动化地检测,同时发出相关的报警信号;而且还能够轻松地规避大量的错误,有利于维护系统的运行秩序,进而提升软件项目的管理质量。 2.3故障检测方面 数据挖掘的技术在软件工程中的另一个重要应用就是检测故障方面。长期以来,软件工程系统中,展开故障检测的时候,通常选择程序切片的方法,程序切片的检测法尽管也可以在某种意义上达到系统正常运行的标准,然而,也会产生一些亟待处理的问题。例如:技术较为复杂、定位比较模糊等。现如今,随着软件工程系统日益升级与优化,一定要相应地优化故障检测的技术。而应用数据挖掘的技术恰好可以符合新的检测标准。这项技术具体应用于故障检测方面可以从交互模式、程序说明进行分析。挖掘程序的说明可以对软件工程系统相关的运行信息展开跟踪式的检测。以便迅速查找系统运行中存在的问题,并及时进行系统的检测与维护。从现阶段常见的挖掘法分析,一般应用规则与自动化的方法。这两种方法,皆充分地按照相关的程序与API的规则进行信息的挖掘。 3结束语 总之,在软件工程系统中有效地应用数据挖掘技术,既能够极大地提升软件研发的工作效率,又能够增强软件的稳定性能。伴随信息技术的不断发展,在未来,数据挖掘的技术在软件工程领域中的应用还会更加广泛。这项技术改变了以往人们获取数据的形式。而且从某种意义上优化了软件工程系统,有利于软件工程获得更好的发展。
对于软件产品,软件开发的方法以及相关技术的提高,可以促进软件产品的质量以及使用效率。在提高软件产品质量以及功能的同时,不断地缩短软件开发的周期,降低软件开发成本,是软件市场的根本。使用现代化的信息技术,对软件开发工作进行项目的管理与创新,对于相关企业具有重要意义。 1软件开发的问题以及信息化的软件开发项目优势 1.1软件开发的现状及问题 大部分企业软件开发的实际情况,是在需求活动完成之前就进行实际的开发工作,大多数团队都未能做到按照规定执行瀑布开发工作。软件的开发与硬件的开发之间最大的区别是,随着开发程度的不断加深,软件开发常常会出现变更,这就要求软件要及时的做好更新与升级。目前大多数的软件开发团队并不具备有效的开发与管理工具,使得相关管理工作效率低下,很难做到及时的对软件进行更新与管理。并且对于相关需求从设计到编码,再到对软件的实际测试,缺乏一体化的管理以及监控机制。 1.2信息化的软件开发项目优势 信息化的软件开发项目优势的第一方面就是,由传统的手工向自动化进行转变。传统软件开发项目当中,对于工时、评审、缺陷等数据的记录,要进行人工书写,并且相关的审批工作都是采取纸质的形式完成。在这一过程需要花费大量的人力和物力。而信息化技术,可以使得数据信息的产生、评估、汇总等工作做到自动化,解放大量工作人员,提高软件开发工作效率;第二方面优势是可以有效的保证信息记录的及时性以及准确性。信息化手段可以做到对相关信息的及时性以及准确性进行保证。并且在实际的项目执行过程当中,信息系统会对操作记录、工时、软件缺陷等信息进行保存,确保在这一过程信息的实时性以及有效性;第三方面优势是使得信息具有可追溯性。传统的人工记录大多使用纸质对相关信息进行保存,纸质的信息会出现模糊丢失现象的发生,而利用信息化进行保存与管理可以为相关信息提供完整的追溯性。 2基于信息化的软件开发项目管理的实施方法 2.1专业工具的部署 实现软件信息化管理,首先要部署各个阶段需要的专业工具,具体如下:(1)需求开发活动,对软件管理信息化。部署专业需求管理工具,将过去计划为主的方式变为以需求为主,驱动任务开展,建议全生命周期全维度管理模式,实现对软件的全过程跟踪管理,以需求作为信息化管理的主线,从需求到设计,再到编码与测试进行跟踪,自动识别变更影响域,收集各阶段需求信息;(2)设计活动,将线下设计工作逐渐转。为线上设计,在设计工具的应用下,人们能够以需求框架作为参考,开展设计工作,按照要素输出情况进行文档设计,满足需求覆盖了与标准符合率;(3)编码活动,以往的电子或纸质配置。流程方式逐渐被信息化手段取代,基于SVN服务器建立起专业的管理工具,开发库、受控库与产品库之间相辅相成,帮助工作人员完成编码工作与测试工作;(4)测试活动,专业的自动化测试工具。可以对单元测试、系统测试起到良好的作用,系统能够自动收集软件质量信息,并对软件质量情况加以研究。 2.2信息监控机制的不断完善 面对已经收集到的信息,工作人员对各工具数据信息完成分析以后,可以得到与产品质量有关的内容,同时获得关于人员能力与工作效率信息,这些真实信息可以作为软件评价研发工作的参数指标,也可以成为项目管理者进行决策时的有效依据。建议人们在进行信息化建设的时候打造质量信息监控系统,整个监控系统可以贯穿于项目生命周期,为人们展示软件从研发开始各个过程的质量信息,完成对信息的自动监控,对风险进行预知与监控,分析出风险趋势后予以告警,引起工作人员的关注,并根据实际风险采取有效措施。 2.3信息共享以及评估机制的建立 传统的信息化软件灵活性不足,人们对细化的信息化要求增加,希望软件可以充分体现个性化,并实现信息之间的沟通与共享,完成专业工具的部署工作后,还要将各个工具之间的信息通道打通,让信息孤岛可以连接成信息平台,实现自动化信息收集、信息分析、信息评估,将质量问题如实展示。要求工作人员明确质量信息内容,对软件产品信息、人员能力情况以及工作效率情况有所掌握,开发出相应的评估模型。进一步识别信息要素,梳理共享信息流向,将信息通道成功打通。ERP系统是一套信息化管理系统,是企业实现信息化、数据化管理的重要手段。ERP是当今世界企业经营与管理技术进步的代表,对企业来说,应用ERP的价值就在于通过系统的计划和控制等功能,结合企业的流程优化,有效地配制各项资源,降低成本的同时提高市场占有率,实现经济效益的增长与市场信息资源的共享,完成企业内外合作伙伴之间、企业各部门之间的信息共享。 2.4结合本地化、完善信息化 所谓的本地化就是集合自身软件制作团队、以及客户的需求、相关文化、相关技术以及相关工具的具体情况等因素,对软件进行信息化的管理与设计,并制定出相关工作流程。对于软件开发项目研发模式的信息化完善,要始终跟随时代的技术而进行变化。信息化手段要做到与时俱进,对于相关的软件信息系统,要做好改进以及完善工作。不断地根据客户的反馈与意见、软件实际的使用率等情况进行进一步的完善,不断地优化信息系统的相关功能,为软件的开发与管理工作提供有效的保障。 3结论 综上所述,在软件开发过程当中,使用信息化技术可以有效地提高软件开发的质量。经过上文分析,基于信息化的软件开发项目管理,可以对软件质量情况不断进行优化、对软件的风险以及生命周期做到有效的监管、不断优化信息系统的相关功能,为软件的开发与管理工作提供有效的保障以及加深软件的使用等优势。因此在以后的软件开发过程当中,要不断地结合信息化技术对软件开发进行进一步的完善与管理。
1引言 中国是人情社会,家谱是不可缺少的宗亲人事通讯录,其潜在作用越来越明显。做一个专业、系统的电子化家谱平台,不仅可以拯救没落的传统文化,拥有巨大的市场潜力,并且有着巨大商机。 2调研用户需求 2.1调查问卷 本次调查自2017年8月始至2017年10月终,共计向南昌市五所省属本科院校、高职专科院校以及三所国营企业发放纸质问卷和电子问卷800余份,回收578份,有效问卷926份,有效率约70%。 2.2调查结果分析 根据调查结果显示,在被调查的五所高校和三所国企中,与亲戚之间称呼熟悉的人群达到94.82%,但却有54.11%的人群只与直系亲属关系密切,这说明即使是身处通信极为便利的互联网时代,许多族系亲人间还是相逢不相识。我们又发现,有85.54%以上的人群希望能够增强亲人之间的联系。可见在中国,宗亲观念根深蒂固,我们的电子家谱项目非常符合人们的精神文明需求。 3电子化家谱平台的可行性分析 3.1行业现状 目前98%以上的家谱未互联网化,这一块市场几乎是一片空白。在互联网时代,家谱互联网化是历史趋势。市场上几乎全是传统旧式的家谱记载,甚至电子家谱都甚少。在市场竞争不激烈的前提下,软件推广上限高。。 3.2产品优势 1.准确、清晰、易查看。新谱资料可实时入谱,保证信息的准确性;随时对错误信息进行更新;还可节省大量旧谱重修与翻录的支出,减少因翻录造成的二次错误,减少对原老谱的编辑、审校过程。 2.安全、私密、易保存。互联网家谱相对于传统家谱来说,它具有更安全、更私密、易保存的特点。 3.便于修改、续谱。结合传统谱的模式与现代人的需求,不受时空限制,让全世界的合作者异地工作,共同管理,可以随时随地进行编修工作。 4.实现家族零距离沟通 互联网家谱不受时间和地域的限制,随时上传、随时编辑、随时修改,真正实现零距离沟通。 4关于电子家谱平台软件功能设计 4.1前端功能 1、族谱入库。一个家族设立一定数量的管理员,只有管理员才有权限添加族谱信息。其他成员可以在小程序首页自行查看家庭成员信息。这样的在线自行补充功能是旧式家谱无法达到的。 2、族谱更新记录。与数据库的日志文件相似,当管理员对族谱进行修改时,日志记录了管理员对族谱的每一笔操作,以便今后的修定。 3、众筹修谱。利用微信小程序提供的微信支付接口,一键生成支付二维码,轻松筹款,让每个人都可以为家谱略尽微薄之力,一点一滴的支持,最终汇合庞大的资金资,让修谱成为家族里人人皆可参与的事情,且让原来工作繁琐的修谱变得更加简易操作。 4、一键拉群。生成群二维码,使族内成员可以随意在微信进行交流,甚至不需要切换app。旧式家谱除了提供查阅,并未有其他特殊之处。互联网家谱将产生巨大的社交作用,氏族内的人可以自建小群体,自由交流,商讨生意等各方面潜在的社会合作,将产生不可估量的影响。 4.2后台功能 1、账户管理。由于使用的是微信用户的账户信息,即需要实现后台与微信平台的信息交互,保存账户信息以及用户所进行的其他操作。 2、权限管理。本平台有一套权限管理系统。它规定了一个家族按比例最多能有几个管理员,管理员相对于普通成员所允许的操作有增、删、改家谱信息,以及一键众筹修谱。 3、家谱管理。对于用户发送给后台的家庭成员信息,后台需要对其数据进行系统的规范化管理。对于家谱的数据结构我们采用三叉链表存储二叉树。(使用三叉链表不仅可以对字节点进行查找,还便于回溯查询父节点以及节点间关系的确定) 5电子家谱平台的应用价值 (1)互联网+电子家谱的团队提供上门录谱,现场服务的业务,使修谱更简单、更高效、更完备、省时省力,是修谱服务的最佳选择。 (2)我们将凝聚力量为客户提供族谱的相关策划设计、编辑印刷、数据库上网等优质服务。尽可能的完善用户体验。 (3)扩大宣传范围之后,我们将推出周边产品,举办各类乡村族系活动,成为各个家族不经常联络的成员联系的纽带,为社会产生正面影响。 6结束语 互联网家谱是传统家谱的延伸,互联网家谱是传统家谱的升华,是传统家谱的新家。其灵活性大大降低了修家谱的门槛,对子孙后代来说具有十分重要的意义,互联网家谱让家族观念继续向文化传承和亲情延续。作为一个高度去中心化的电子化家谱平台,有着较高的可行性和商业价值。
浅谈软件测试工程师的工作:面向软件测试工程师培养的《软件测试与质量保证》实验教学改革 摘要:为了培养创新能力强、适应社会经济发展需要的软件测试人才,本文结合常熟理工学院《软件测试与质量保证》课程建设经验,以中小企业对软件测试人才的需求为导向开展实验教学改革,分别从实验教学改革基本思路、教学内容组织等方面探讨应用技术大学建设背景下软件测试课程实验教学改革措施。 关键词:软件测试;软件质量保证;教学改革;软件测评师;实验教学 一、引言 随着我国软件产业迅速发展,企业面临着开发高质量软件系统的巨大压力,软件测试、软件质量保证受到越来越多的重视。软件企业对承担软件测试、质量保证工作的软件测试人才需要剧增,软件测试工程师的职业价值、发展前景得到前所未有的提升。为此,国内高校开设了软件测试相关课程。但是,由于其重理论、轻实践的教学模式使得培养出的学生软件测试实战能力差,导致大量毕业生应聘软件测试相关职位时受到冷遇。 为培养创新能力强、适应社会经济发展需要的软件测试人才,《软件测试与质量保证》实验教学亟需改变传统的教学理念,改进教学方法,更新教学内容。笔者结合自身教学科研和工程实践经验,分别从改革思路、实验教学内容设计等方面,论述常熟理工学院《软件测试与质量保证》实验教学改革的措施和体会。 二、实验教学面临诸多挑战 笔者调研国内高校软件测试课程的建设情况,发现普遍存在重理论、轻实践的教学倾向,实验教学环节存在诸多问题: 1.企业对软件测试工程师的能力要求是综合性的,要求软件测试人员具有软件项目经验,具备软件测试、软件质量保证知识,能够独立开展软件测试工作。但是,国内高校教学计划制定时片面强调软件测试的作用,对软件测试与软件质量保证之间的天然联系缺乏理解,对软件质量保证相关实验的重视程度,课时安排存在严重不足。 2.目前,《软件测试与质量保证》实验教材选择面临无书可选的尴尬局面。课程实验设计只能全凭任课教师把握,使得实验教学过程中存在较多风险。 3.国内高校在实验设计方面,多以基础性实验为主。这种单一的实验设计方式,难以适应软件测试工程实践能力培养的需要。 三、实验教学改革措施 在应用技术大学建设驱动下,以中小企业对软件测试人才的需求和软件测试工程师认证大纲为导向,我们整合已有的校企合作课程资源,按照Daniel Galan软件质量保证框架组织实验教学内容,采用项目驱动的案例教学法开展实验教学,让学生在实验实践中加深对软件测试与质量保证专业知识的理解,培养学生软件测试实践能力。 (一)教学改革基本思路 软件企业对软件测试人才的需求是软件测试课程改革的源动力和驱动力,软件测试相关的从业资格认证是学生入职的敲门砖。为此,在应用技术大学建设背景下,我们以切合中小企业对软件测试人才的需求为导向,结合全国计算机等级考试软件测试工程师认证、全国计算机技术与软件专业技术资格考试软件评测师认证的考试大纲要求,选择朱少民老师编写的《全程软件测试》[1]和NIIT培训教程《Software Testing and Quality Assurance:Student Guide》[2]作为课程教材,按照Daniel Galin软件质量保证框架组织教学内容。Daniel Galin软件质量保证框架[3]指出软件质量保证是建立企业软件质量文化所需的一些列活动的集合,认为软件测试是一种典型的软件质量保证措施,软件测试的目的是为了发现潜在的软件缺陷,软件测试工作贯穿软件项目的始终。按照Daniel Galin软件质量保证框架组织课程内容有助于保持软件测试与软件质量保证之间的内在联系,符合软件企业软件测试与质量保证的最新经验。 (二)实验设计 如何在有限的实验课时内,最大限度地加深学生对软件测试、软件质量保证的理解,增强其软件测试实践能力,是实验教学的主要任务。我们设计了导入性实验、基础性实验、创新项目实践三种类型的课程实验。导入性实验要求学生应用已修课程(包括程序设计、数据库设计、软件工程等)知识进行软件调试,在软件调试过程中理解软件调试与软件测试、软件质量保证之间的关系,实现到本课程学习的过渡;基础性实验目的在于强化课程基础理论、原理的理解,让学生在实验中理解所学知识,掌握软件测试工具的使用;创新项目实践以课程实训项目为载体,为学生运行所学知识解决软件测试实践过程中涌现的各类问题,锻炼学生的动手实践能力、自主学习能力,从而提高学生的工程实践素养。 1.导入性实验。软件测试的目的是发现软件系统中潜在缺陷,而缺陷的解决则通过软件调试手段实现。为此,设计导入性实验“软件调试”。本次实验以员工工资核算软件Employee作为实验对象,要求学生发现Employee中人为注入的软件缺陷,然后应用Java调试器的断点调试功能,结合回归测试手段修订所发现的缺陷。 通过导入性实验,学生体验了改正软件缺陷的艰辛,在教师引导下思考如何发现软件缺陷、如何提高软件质量。教师适时点拨学生,指出发现软件缺陷是软件测试工程师的职责,软件测试工程师需运行软件测试方法、技术和工具才能发现潜在的软件缺陷。教师进一步启发学生:提高软件质量需要开展包括软件测试在内的各项软件质量保证工作。 2.基础性实验。基础性实验旨在加深学生对课程基本概念、原理的理解,让学生在动手实践中加深对基础概念、原理的理解。课程安排8次基础性实验,实验2、3、4和5属于软件质量保证实验,6、7、8和9是软件测试实验。 (1)实验2:软件度量实践。实验2关注软件度量问题,介绍软件规模、项目工作量和软件成本之间的关系,要求学生掌握软件规模估算、工作量估算和成本估算的方法和过程。通过本次实验,学生可以应用USC CoCoMo II进行软件成本估算。(2)实验3:基于Microsoft Project的软件项目管理。软件项目计划及进度管理,是软件质量保证中重要的管理部件,也是开展软件测试活动的前提。实验3要求学生使用Microsoft Project建立软件项目计划、运用跟踪甘特图追踪项目进度,等等。(3)实验4:版本控制软件CVSNT。CVSNT是当前最流行的版本控制系统,是中小企业进行版本控制的利器。实验4讲解CVSNT的安装和使用,要求学生掌握CVSNT的操作技巧。(4)实验5:BugFree软件缺陷管理。软件缺陷管理贯穿软件测试项目的始终,记录软件缺陷从发现、修复直至关闭软件缺陷的全过程。实验5介绍开源缺陷管理软件BugFree的软件缺陷管理思想,要求学生掌握BugFree安装与配置、软件缺陷管理等技能。(5)实验6:软件静态测试。软件静态测试是软件测试技术中发现软件缺陷效率最高的技术。我们安排“软件静态测试”专题讲座,讲解软件制品阅读、静态分析的技巧,还介绍如何运用CheckStyle、FindBugs等静态测试工具分析程序源代码、目标程序中潜在缺陷。本次实验有学生利用课后时间,自主实践。(6)实验7:JUnit单元测试。实验7介绍单元测试工具JUnit的使用,要求理解JUnit单元测试框架,掌握单元测试脚本的编写技巧。本次实验还推荐学有余力的学生自学JMock,综合应用JUnit和JMock进行对Java应用系统进行集成测试。(7)实验8:软件功能测试。软件功能测试是检验目标软件是否正确实现了客户需求,是软件测试执行的重要内容。实验8要求学生使用QuickTest Professional(简称QTP)对机票预订系统进行功能测试。本次实验要求学生能够独立完成功能测试脚本的录制和编辑,掌握QTP检查点设计的方法及技巧。(8)实验9:软件性能测试。实验9介绍软件性能的概念和原理,讲述如何运用HP Mercury LoadRunner对Web系统进行性能测试,让学生在实验过程中理解虚拟用户技术,掌握基于LoadRunner的性能测试技术的过程及技巧。此外,本次实验要求学生利用课余时间使用开源的性能测试工具JMeter进行软件性能测试。 3.创新项目实践。为了培养学生的工程实践能力,我们从学生课程项目、毕业设计、大学生创新项目、开源软件项目等中筛选出软件规模适中的软件系统作为课程实训项目,让学生对课程实训项目进行系统化的软件测试,要到学生主动动手实践,在软件测试项目实践中培养工程素养。 在课程教学过程中,我们还加强对基础扎实、动手能力强、思维活跃的学生的培养,推荐这些学生参与到教师科研项目中,为学生在科研项目中积累软件评测经验。 四、结束语 《软件测试与质量保证》通过十余年的建设已形成了较完善的课程体系,十多轮的授课实践积累了丰富的教学经验,课程实验教学体系也日趋完善。 当前,我校正转型应用技术大学,这将对本课程的教学内容、教学方法、教学手段等提出更多、更高的要求。鉴于此,本课程教学团队正尝试通过校企合作模式开展课程教学活动,编写校本教材,多措并举提升学生软件测试能力。 浅谈软件测试工程师的工作:软件测试工程师绩效管理体系的构建 摘要:当前软件测试工程师绩效考核存在的问题主要表现在:考核定位模糊并存在偏差,重考核、轻管理,重结果、轻过程,考核主体单一,企业管理者没有承担起绩效管理的责任,绩效考核指标不全、标准不明。测试工程师绩效考核要明确考核的目标,突出测试人员在考核中的主体地位,构建一体化绩效管理体系。 关键词:测试工程师;绩效管理;体系 软件测试工程师绩效考核是IT企业根据发展战略和使命要求,对测试工程师的工作业绩进行考察和评估,包括工作行为和工作效果。随着中国软件业的迅猛发展,软件产品的质量控制与质量管理正逐渐成为企业生存与发展的核心。为了保证软件在出厂时的“健康状态”,几乎所有的IT企业在软件产品前都需要大量的质量检测工作。测试工程师作为软件质量控制中的重要一环,其绩效考核成为企业了解测试人员队伍状况,监控测试人员工作过程的重要手段。 软件测试工程师绩效考核是IT企业人力资源管理的中心环节,是测试人员薪酬、晋升、人事调整、职称评定等决策的基础,并且为企业制定测试人员的培训、开发计划及长期职业生涯发展规划提供依据。测试工程师绩效考核的有效性直接影响到人力资源制度的激励效果和企业管理的公平性,并对测试人员的工作满意度有重要影响。然而,现实的绩效考核工作往往不尽如人愿。许多测试工程师遇到考核时深感不安,产生焦虑,害怕甚至反对考核;很多测试人员认为考核是走过场,抱着无所谓态度。理论上的必要性和重要性与现实中的困惑形成强烈反差。为此,我们有必要对测试工程师绩效考核存在的问题进行反思,从而构建能满足企业和测试工程师共同发展的绩效管理体系。 一、软件测试工程师绩效考核存在的误区及其分析 (一)考核定位模糊并存在偏差 考核定位,就是通过绩效考核解决什么问题。考核定位模糊主要表现在考核缺乏明确的目的,仅仅是为了考核而进行考核,这样做的结果往往导致考核流于形式。考核定位偏差主要体现在片面看待考核的目标上,对考核目的定位过于狭窄。目前许多IT企业绩效考核的目的仅仅是为了期末发奖金或津贴,将考核定位于确定利益分配的依据和工具。 (二)重绩效考核轻绩效管理 绩效考核和绩效管理既有本质上的区别,又有一定联系。传统绩效考核以管理者为中心,强调服从和外部控制,着眼于过去,注重成果,是一种被动反应、事后解决问题的管理方法。现代绩效管理则以测试工程师为中心,强调承诺和自我控制,着眼于过去、现在和将来的有机统一,是一种主动开发型、在过程中解决问题的管理系统。绩效管理是一个完整的系统,绩效考核只是绩效管理中一个不可或缺的组成部分和环节,绝不能将其等同于绩效管理。 (三)重考核结果轻考核过程 绩效是工作成果与工作行为的统一。许多IT企业重视对绩效中的工作结果考核,而忽视了绩效中的行为指标,这表现在许多项目组重视项目完成进度而轻视测试过程,重视项目的数量而轻视其质量,尤其是轻视与测试工程师行为有关的工作动机、热情度、忠诚感等“周边绩效”考核点。这可能与企业受功利主义思想影响、追求短期利益有关,或者可能与工作结果容易量化,而行为不易评估有关。 许多项目组在项目初期给工程师布置测试任务和预期应完成的指标,期末予以检查,而对工程师完成任务和指标的过程不管不问,既不对完成任务过程中出现的问题予以及时纠正,也不对测试人员在工作中遇到困难和阻力时提供帮助和支持。这种秋后算账的做法容易造成管理者与被考核者的对立,不利于测试人员的成长与进步。 (四)考核主体单一 目前,项目经理考核测试工程师已成为一种普遍运用的评价方式甚至是唯一的评价方式。项目经理考核有一定可信性,但也存在一些弊端,如测试人员一味地迎合项目经理的指令,淡化了整个团队的沟通协作,忽视一些测试人员不可控制因素的影响而造成考核不公正等。测试工程师在考核时处于一种被动地位,或者消极被迫接受,或者导致内部冲突升级。项目组也不重视同行专家的评估意见或根本不吸收同事参与考核。 (五)绩效考核指标不全,标准不明 考评项目和指标的选择是否恰当,是否全面、相关,定义是抽象含混还是具体明确,对考核结果影响很大。如果绩效考核标准不明,则不同的考核者可能对优、良、一般、差等绩效标准做出不同的解释,从而造成考评者偏松或偏紧或趋中倾向,造成考核结果的误差。以测试人员业绩考核为例,业绩考核包括整体工作效率、工作结果、过程控制三项一级指标。其中,工作结果可以分为测试用例的数量和质量、bug的数量和质量、测试自动化程度及收效等多项二级指标,若不对这些定性指标给出明确定义,则考评时易出现主观随意现象。因此,界定应具体明确。如bug的数量和质量可定义为:提交bug的数量(根据项目的不同而确定经验值)、提交bug的时间段(具体统计在测试的每个阶段)、发现bug的比例等。 二、软件测试工程师绩效管理体系的构建 (一)明确测试工程师绩效考核目标 Bevan和Thompson(1991)认为绩效管理的主要目的是“促进人力资源管理不同组成部分的整合,并使它们与公司的经营目标紧密联系在一起。”测试工程师绩效考核的目标,一是为企业的发展服务,支撑企业使命和战略的实现;二是服务于工程师个人需要及其职业进步。 (二)构建一体化绩效管理体系 绩效管理就是根据组织的要求,对雇员进行指导和支持,使雇员尽可能地以更高的效率完成自己的工作。从狭义角度理解,绩效管理系统由制定绩效计划,持续的绩效沟通与绩效信息收集,绩效考核,绩效反馈、诊断与辅导等部分组成。从广义上讲,绩效管理系统由绩效管理的影响力量、狭义的绩效管理系统、绩效管理的运用和目标等部分构成。 广义的绩效管理系统包括以下3部分:对影响测试工程师绩效的原因进行分析,尤其是从企业内部的组织结构、领导方式、企业文化、招聘和聘任制度、岗位分析等方面探讨与测试工程师绩效有关的因素;狭义的绩效管理系统;绩效管理的目标,包括绩效管理要达到的组织目标和测试工程师个人发展目标(见图1)。 制定绩效计划和考核目标的目的是为了清楚地说明企业期望测试工程师达到的结果以及为达到该结果所期望测试人员表现出来的行为和技能。管理者通过与被考核者协商,共同制定与企业使命相关的具有挑战性、可实现性、具体明确且有时间限制的绩效计划。持续的、动态的绩效沟通就是管理者和被考核者共同工作,以分享有关信息的过程。这些信息包括工作进展情况,潜在的障碍和问题,可能的解决措施以及管理者如何才能帮助被考核者。这些信息必须是有据可查、准确真实的且与绩效相关的信息。管理者可通过面谈,向其他同事了解意见,查看被考核者的工作记录等方式获取信息。绩效考核包括测评内容、何时测评、哪些人参加测评、测评方式及责任等。绩效诊断与辅导,是管理者和被考核者双方合作,共同寻找导致绩效低的原因,以及帮助被考核者提高未来绩效的方法,涉及处理矛盾、准备反馈面谈、解决问题和重新设定目标等内容。 (三)实现测试工程师绩效考核主体的多元化 在传统的测试工程师绩效考核中,将工程师排斥在外,测试人员作为被考核者处于被动应考的地位,被考核者与考评者的这种对立状态造成测试人员不认同、不支持考核,使其考核失去应有价值。虽然测试工程师可能由于认知或自利性偏差(根据归因理论,测试人员可能将自己的成功归之于自身的能力与努力等内因,而将其失败或绩效不理想归之于工作难度和机遇等外因;而对别人的成功与失败归因与自身归因相反)和自我防御心理的原因,测试工程师有高估自身的业绩,而看不到或有意掩盖自身存在的问题的可能性,但可以通过构建系统化的绩效管理系统,明确绩效考核的目标,管理者与被考核者的平等沟通,以及通过考核主体的多元化(除测试工程师本人外,还有领导、同事、客户等)等方法来避免这些弊端。 (四)构建测试工程师绩效考核合理分工、各司其职的组织管理机构 对测试工程师的绩效管理是企业人力资源部和项目组的共同责任。人力资源部主要从事组织、指导和协调工作,具体职责包括培训考核者、规范考核制度、制定各种考核表格、发放及统计等工作。考核由项目组具体组织实施,包括测试工程师工作任务的安排、考核指标与内容的确定、考核方法与时间的确定、考核主体的组织、考核结果的反馈、绩效改进与提升等工作。项目经理首先应当是一名合格的人力资源管理者,应把人力资源管理工作如激励、员工发展、绩效管理纳入企业的议事日程,并构成企业管理者对项目经理考核的重要内容。当然,这需要改变目前IT企业高度集中的人事管理体制,将部分人事管理权由企业下放至项目组。 (五)根据测试工程师的工作特征,建立考核内容全面、结果与行为(过程)并重的绩效考核机制 测试工程师作为专业人员和知识工作者,在其需求和工作方面存在以下特征:追求工作自主,不愿意受过多的外部控制;个人品性对测试工作及其事业影响很大;需求具有多样性和复杂性,既追求较低层次的需要,如生理、安全需要,又追求较高层次的需要,如受人尊重、自我实现的需要;工作具有分散性、个体性等。这些特征要求在测试工程师绩效考核时注意以下方面:一是绩效考核内容要全面,德、知、能、勤、绩一样都不能少。测试工程师品德潜移默化影响其对测试工作的态度;知识包括测试工程师应掌握的专业技能及业务知识、个人素养;能力包括软件测试能力、沟通与团队协作等方面。二是测试工程师绩效考核坚持结果与行为(过程)考核并重。Brumbrach(1988)认为“绩效指行为和结果。行为由从事工作的人表现出来,将工作任务付诸实施。(行为)不仅仅是结果的工具,行为本身也是结果,是为完成工作任务所付出的脑力和体力的结果,并且能与结果分开进行判断。”Borman和Motowidlo(1993)认为行为绩效包括任务绩效和关系绩效(周边绩效)两个方面。任务绩效指正式工作职责和所规定的行为,关系绩效指自发性行为或超职责行为。由于测试工程师工作的效果难以量化,且具有滞后性和共同属性。因此,在坚持完善目前通过测试工作量和测试用例等结果指标衡量测试工程师绩效的同时,企业还要重视对测试人员行为,包括团队合作行为的考核,尤其要关注关系绩效的考核,这对克服测试人员工作分散化,形成合作的团队以及按质按量地完成项目组的目标有重大意义。 (作者单位:北京化工大学经济管理学院) 浅谈软件测试工程师的工作:面向卓越测试工程师培养的软件测试课程教学改革与实践 摘要:本文针对软件测试课程培养的学生与卓越软件测试工程师要求的差距,分析了目前软件测试教学中存在的不足,提出了“方法―过程―工具―案例”四位一体的教学方法,旨在培养理论扎实、工程能力强的卓越软件测试工程师,以实现与软件测试行业的衔接。 关键词:测试工程师;软件测试;教学改革;工程能力 随着软件产业的迅猛发展,软件的复杂性也日益增加,导致对软件产品的质量提出了更高的要求,这也使得软件测试工程师成为每个软件企业都不可或缺的技术人才。目前许多软件工程专业教育者进行了积极的探索,许多学校也提出了一些方案,做了有益的尝试。 中国石油大学(华东)的软件工程专业入选了山东省卓越工程师培养计划,为了执行国家对软件工程专业卓越工程师培养的精神,融合学校的“三三三”培养体系的顶层设计,为培养卓越的软件测试工程师,我们也在软件测试课程的培养方案、课程结构、教学方法和考评体系等方面进行了一系列的改革和探索。软件测试课程作为软件工程专业的一门核心课,是对理论性和工程性都有很高要求的课程,一方面要求学生必须有扎实的理论基础知识,另一方面要求学生能够熟练地应用理论基础知识转化为实际的工程应用。 虽然已有的教学改革改善了教学效果,但目前的软件测试课程教学依然存在几个比较突出的问题:第一,教学内容抽象,学生学习兴趣不高;第二,教学内容碎片化,学生没有完善的测试知识体系;第三,轻视测试工具应用,培养的学生与企业需求难以衔接;第四,教学案例简单,学生没有完整的测试思路;第五,学生对软件测试存在认识偏差,缺乏从事软件测试职业的意愿。 为了解决上述问题,我们提出了“方法为基、过程引导、工具跟进、案例贯穿”的“方法―过程―工具―案例”四位一体的教学方法,旨在培养理论扎实、功能能力强的卓越软件测试工程师,以实现与软件测试行业的衔接。 一、课程体系与教学内容设计 根据国际标准的SWEBOK软件核心知识体系中软件测试的知识域,充分调研软件行业中对卓越软件测试工程师的需求,建立软件测试能力培养标准,明确各培养标准与软件测试课程内容的对应关系。表1为我们初步建立的软件测试能力培养标准列表。 四位一体的教学方法,就是以讲授软件测试的基本理论与方法与基础,按照软件开发过程与测试过程为主线引导,辅以介绍典型软件测试工程的应用,并在课程教学中选择一个案例贯穿整个教学。具体教学路线如图1所示。 为此,我们重新规划了教学内容,教学内容的组织如图2所示。 二、具体教学内容 四位一体的教学方法围绕着测试方法、测试过程、测试工具以及测试案例进行展开。在具体实施过程中,构建了测试工具箱与测试案例库,并编写了适合该教学方法的教材。 (一)测试工具箱的构建 工具的掌握是工程能力的重要一环,因此在软件测试课程及相应实践课上有必要掌握一些典型测试工具的使用。软件测试方法体系庞大,造成软件测试工具众多,而且一些商业化的测试工具价格不菲,为了适应课堂教学的实际,需要对各种测试工具进行比较筛选,选择合适的测试工具并构造测试工具箱。在多年的软件测试课程教学中我们已经积累了一些适合教学的测试工具,包括测试管理工具TestCenter、功能测试工具AutoRunner、源代码缺陷检测工具在选择测试工具FindBugs与DTS、性能测试工具Jmeter等。我们将继续本着覆盖多个测试方法、开源工具优先等原则完善测试工具箱,并对工具箱的工具进行分层次、分类别的维护更新。 (二)测试案例库的建立 案例教学是促进对理论知识消化、掌握实际问题解决策略的一种有效教学方法。软件测试课程要求所选案例能够体现测试方法与工具的应用。为构建适合教学的测试案例库,我们一方面需要对已有的案例进行刻意的改造,也选择了一些新型示范应用项目,另外选取了一些有代表意义的开源工程,以及教师科研转化项目、学生优秀实习项目与课外设计项目等完善测试案例库。目前的软件测试教学中,我们选择了一个所在学院使用的本科毕业设计管理系统作为案例进行了讲解,起到了较好的教学效果。 (三)融合软件测试的方法、过程、工具、案例的教材的编写 为适应四位一体教学方法,我们自主编写了软件测试教材。教材以RUP的四个阶段为线,将测试方法与工具分化在不同阶段进行介绍,加强了测试管理内容。软件测试理论按照鱼骨图式的组织,例如对于白盒测试技术的介绍,分解为两章,其中在RUP的细化阶段介绍了逻辑覆盖测试、基本路径覆盖测试,在RUP的构造阶段介绍了数据流测试、变异测试,这种组织安排有利于学生根据软件测试过程循序渐进地掌握相关知识。 (四)“方法―过程―工具―案例”四位一体教学方法 该方法基于所修订的软件测试教材与测试工具箱、测试案例库,沿用RUP的四个阶段进行教学的安排,在教学中以测试理论与方法介绍为根本,并辅以案例介绍以加深对实际测试的理解,再选用合适的测试工具,具体实施如图1所示。“方法为基、过程引导、工具跟进、案例贯穿”的教学将培养学生既具备扎实的理论基础,又拥有工程实践能力,符合卓越软件测试工程师的要求。 三、结语 该次软件测试课程教学改革围绕卓越软件测试工程师的培养目标,注重理论素养与工程能力的双重提高。教学实践表明,“方法―过程―工具―案例”四位一体的教学方法,有一个围绕软件测试过程的逻辑性强的理论知识体系,辅以工具的训练,再以实际案例贯穿介绍测试方法与测试工具的应用,学生学习的积极性和主动性都得到了大幅提升,有意识地增加了软件测试的内容,说明学生已经意识到了软件测试的重要性,并能够在软件项目开发中执行软件测试的诸多活动。初步的课程改革取得了一定的效果,笔者今后将对软件测试适合敏捷等流行的软件开发过程进行改造已有的方法,并扩充完善已有的测试工具箱与案例库,以培养卓越的软件测试工程师,满足软件测试行业的需求。 浅谈软件测试工程师的工作:软件测试工程师的工作总结 【摘要】 软件质量越来越受到人们的关注,软件测试作为新兴行业有很多不完善的地方。很多从事软件测试工作的同行处于迷茫之中,如何提高,如何解决测试工作中的实际问题,困惑着每一个人。本文总结了一下个人经验,希望对大家有帮助。 【关键词】 软件测试 软件 测试学习 软件测试工程师 我最初参加测试工作的时候,不知道什么是软件测试,集成测试和系统测试的概念经常混淆, cmm 是什么就更加不知道了。那时候最简单的开关机也是通过直接拔插电源完成,安装系统对我来说简直是有史以来人类的最高技能,对于那些拿着螺丝刀安装机器的人就认为是宇内超级高手,身具杀人于无形之绝世秘技。拿破仑说不想当将军的士兵不是好士兵,我最初的梦想就是想成为软件测试的高手,傲视天下。所以不断偷师,总结经验,自认为掌握了成为高手的几个秘技,这几年混迹 “ 江湖 “ 还算无往而不利。不敢独享,望与吾辈测试人员切磋,早日总结成功密技之大成,助新进人员早日入门,也算不愧对东北活雷锋的称号。 第一招 学会利用网络 刚参加工作面对浩瀚的网络世界,当时如刘姥姥进大观园,什么都新奇,什么都想要,从网上下载很多源程序的代码,软件技术文档之类,恨不得把所有的好东西收集到手中,其实有些在他人看起来就是垃圾一堆。当时觉得有了这些 “ 武林秘籍 “ ,成为高手指日可待。最初参加工作由于自己工作努力有幸转为开发,加入项目组后我的习惯还是没有改,反而变本加厉,手中的资源更加多,上网的时间更加频繁。 一次项目经理分配任务,觉得依靠手中的秘籍加上自己的 “ 聪明才智 “ 很快会完成,不料短短的时间,所有的一切变成了马奇诺防线。解决问题很慢,思路不清晰,项目经理在对我施压的过程中教会了我终身难忘的一招,学会利用网络寻找要解决问题的答案,从此 google 成了我的最爱,关键字成了我变化的招数。在软件测试工作中,他帮我解决了很多疑难问题,解答了很多令我迷惑的地方。也是我帮助测试同行解决问题手段之一,很多软件测试新手,甚至老手都没有意识到自己手上就握有 “ 无敌秘籍 “ ,所以只要你耐心找,答案就在身边。 这里总结一下利用网络搜索引擎的技巧: 组合搜索 每次搜索某个文件,如果只给出一个单词进行搜索,经常会出现成千上百万计的匹配网页。然而如果再加上一个单词,那么搜索结果会更加切题。 选择表述内容的词组 一般我在网页搜索引擎的时候,选择一些可以表达我要查找内容的关键词组,用来缩小搜索范围,从而找到搜索结果是最好的办法。运用词组搜索涉可以先先简单地输入一个问题作为词组搜索,如果仍然找不到合适的,那就用多个可以表达要查询内容的关键字进行查询。 定位信息来源 有的时候用词组搜索不到或者无法准确表达所需信息。可以用另一种方法直接到信息源,就是直接到到提供某种信息的站点去。可以用公式 “www. 公司名 .com” 去猜测某一组织的特点。从而得到所要搜索的信息的主要词组 其实网络上还有很多关于搜索技巧的文章,大家可以自行学习。千万要记住搜索引擎是帮助你成功的有力武器。 第二招 学会动手 参加软件测试工作后,随着工作经验的增长自我感觉越来越好。在公司里也逐渐受到同事领导的重视,一次针对公司的新的软件功能进行测试的时候,像往常一样 “ 随手 “ 测试出了几个 bug ,然后 “ 仔细 “ 的填写了 bug 单(这个 bug 的现象已经出现了很多次了)。这时候测试经理走过来,重新复查了一下填写的 bug 。他在重现我的 bug 的过程中,简化了我的输入变化, bug 神奇的又出现了,同样的现象,他关闭软件重新变化输入,扩展出 10 几个变化后,软件不动了,内存不断上升。终于他找到了产生软件的 bug 的原因,然后对我说 “ 寻找 bug 要准确定位,我们开发团队是一个整体,时间是等量的,时间不在你身上浪费,就是在他身上浪费。如果测试人员每次发现的 bug 描述不清楚,并且多个问题潜在的错误原因是一个,虽然操作可能稍微有些变化。这样开发人员在重现 bug 的时候他要调试跟踪判断,很花费时间,而且效率低。如果测试人员发现 bug 的时候多动手可以更加准确的定位 bug 步骤和原因,给开发人员最精确的步骤和准确的描述,这样整个团队才能高效,所以需要大家协作!。 “ 。 在以后的日子里,每次解决问题的时候我都记得多试验几次,多尝试。网上很多朋友还有同事问我问题的时候,其实他们只是万里长征就差一步,只要再多动手实验一次就可以达到目的了。所以多动手,多尝试。 第三招 思考自己所作的 刚开始入行的时候,总是思考如何做好软件测试。认为公司的测试流程混乱总是很郁闷,认为自己学不到东西,如何才能测试好产品,常说心动不如行动,以前看到古龙小说中经常出现的场景无名小子不断挑战高手,总结积累。我总结了有些经验是实战中得到的,所以不断尝试引入新的测试流程然后评估,这个过程虽然很痛苦,但是从中积累了不少经验。这段时间让我学习到了很多东西,接触了 iso,cmm ,测试管理工具,自动化工具(因为公司不正规给了我很多学习的机会,后来到了比较大的软件公司后,以前的经历给了我更多的发展机会,因为大公司非常正规了,公司内部人员分工明确,所以能力的锻炼反倒少了)。由于工作中经常写报告反倒养成了总结教训的习惯,因为纸面上的东西是永远也忘不掉的。在写的过程中可以不断补充扩展,整个过程是思想升华的过程,当年达摩面壁九年就是融会贯通的典型例子,如果他不是有个思考的过程,他也不能成为一代大家。如果后来不时有人把他的绝技记录下来,也就不能有后来的少林寺七十二绝技。 所以善于思考,总结经验,也是成为高手之路的不二法决。 第四招 学会利用论坛资源 其实测试新兵和测试高手之间的区别,往往是不会利用现有资源。在论坛中我们会看到很多新手不断的提问,但是有很多问题其实都是已经别人提过了,或者已经有解决方案的。所以经常会看到 “测试高手“的身影,并且不提问题,而且还能“锄强扶弱“,是测试新丁的救命稻草。好像是高手们无所不能,其实摘掉这层耀眼的光环,他们并没想像得那么厉害,只不过通过自己的搜索找到的答案,然后帮助其他人。当然也有很多人都是通过自学,然后在论坛中交流得到了很多经验,高手其实也是因为善于思考问题,亲自动手解决问题。所以动手和利用论坛资源的过程中他们也在不断提高。 很多时候看到论坛中有人提问,问题描 述不清,很多人看了很困惑。发贴题目动不动请高手帮忙,救命之类的,好像天下大乱,世界末日。虽然这个题目很招人,但是无法让那些想帮助你的人帮你,因为题目不清晰,而且高手字样吓阻了很多人。其实问问题也是个思路整理的过程,描述清晰,让人理解清楚,才能望文知意知道你的当前发生问题的环境,才能让那些想帮你的人解决问题,否则给人无从下手的感觉,解决问题效率不高。 第五招 学习和你所测试的软件产品相关的知识 要想成为好的测试人员,还要了解你要测试的软件的相关知识。要了解软件产品的架构是什么样的。要了解软件的市场需求,在接触软件之初要可以多看看用户的反馈信息,这些才是用户最关心的,也是你在测试中需要注意的问题,满足客户是最大的需要。但是了解软件需求之后要学会要多读些软件系统的技术文档,软件设计文档,这些文档可以帮助你了解产品如何工作。还有多看看公司 bug 库中的问题,这些存在的问题可以帮助你了解软件产品那些地方存在缺陷,软件系统那些地方会出现错误。软件是运行在一个大环境中,如果对系统不熟悉,那么有些问题你不能从一个更广阔的层面考虑,学习操作系统的知识,有助于你发现缺陷,定位问题更加准确。比如软件运行在 windows 或者 linux ,如果你不懂操作系统,你就无法建立测试环境,有些时候时候软件的组件发生问题,就是你系统配置造成的,对系统不熟悉,你会把外在原因归结为软件本身。所以要学习关于和软件系统相关的知识,比如编程,网络,数据库等。不一定你要学习到多好的程度,只是通过这些扩展的知识面,你可以在发现问题,解决问题上不会局限在狭小的圈子里。 和一切相关的人员交流,不同的交流渠道,获取消息是不同的,角度也不同。和客户交流,你会在测试中从客户的角度发现问题;和开发人员交流,你会了解开发人员怎么实现软件功能的;和项目管理人员交流,你会知道开发进度以及遇到的困难。
本文将通过分析分层技术的基本内容,探索计算机软件中分层技术的应用。在计算机软件开发的过程中,信息技术的发展使得开发效率得到有效提升,也逐渐促进了软件功能的不断扩展。社会的发展对于计算机软件的需求逐渐提升,不仅仅需要实现计算机软件类型的增加,还要不断完善计算机软件的功能。计算机软件开发系统也逐步完善,由单层、双层逐步向三层、四层和更多层发展。分层技术在计算机软件开发中的应用,是当前计算机软件开发的一种常见形式,主要不断完善二层技术及多层技术,才能够保障计算机软件性能的提升,满足人们日以增长的计算机软件需求,促进社会生产生活效率的提升。在计算机软件开发的过程中,通常会对软件系统有复杂性的需求,分层技术的应用,能够帮助软件开发人员在进行软件开发的过程中更加高效便捷。分层技术在计算机软件开发中的应用,能够有效促进计算机行业的发展进步。 一、分层技术的基本内容 在计算机软件开发的过程中,将其进行层次的划分,这就是分层技术的基本概念。工作流程和解决方案会因为概念层的不同而产生差异性,但是各个层次之间又会存在一定联系。分层技术能够对计算机软件内部结构的依赖关系进行阐述。在计算机软件开发架构中,分层技术由单层次结构逐步向双层次结构发展。虽然在计算机软件开发中依旧存在诸多局限性,但是多层技术的逐步应用也在不断对计算机软件开发过程进行优化。分层技术一般具有拓展性、独立性、稳定性和可操作性等特点。 二、计算机软件中分层技术的应用 (一)计算机软件中双层技术的应用 在分层技术中,双层技术是实现分层技术向三层技术、四层技术和多层技术发展的重要基础,能够实现软件开发效率的不断提升,减轻开发人员的工作压力。客户端和服务器是双层技术在计算机软件开发中应用时的两个重要端点。在提高用户使用界面的过程中,客户端能够发挥其重要作用,对于逻辑关系能够起到很好的处理作用,对于客户信息的接收则由服务器来完成,在向客户端进行传输的过程中,数据库进项相关计算和总结是从过程中的重要环节。服务器的用户数和服务器的使用效能,是双层技术影响计算机运行效率中的关键因素,只有保障服务器用户少、服务器使用效能好时,才能够不断提升计算机的工作效率。服务器计算量会随着用户数的增大而增加,导致在使用计算机软件的过程中出现错误,也会延长计算反应时间,甚至会使得用户数据安全受到影响,造成严重的损失。当双层技术不能够满足计算机软件开发的需求时,应该实现分层技术的不断拓展,保障计算机软件开发效率。 (二)计算机软件中三层技术的应用 通过在双层技术之上增加服务器,帮助计算机用户存储数据、提升计算机信息访问效率的技术,就是三层技术。三层技术的应用,还能够增强人与计算机之间的交互性,也是提升计算机软件工作性能的重要保障。界面层次、业务处理层次和数据层次,是组成三层技术结构的主要层次部分。对于用户的软件使用需求能够通过界面层完成;由业务处理层接收需求数据并进行有效分析,数据的提取和处理需要在对数据层进行申请请求;数据层分析申请请求,对数据库信息进行查询并分析,返还业务层和界面层。在此过程中能够减轻数据传输系统的工作压力,实现计算机工作效率的提升。 (三)计算机软件中四层技术的应用 双层技术和三层技术是计算机软件开发中的常用分层技术,但是社会需求的不断提升,使得双层技术和三层技术难以满足计算机软件开发的要求,这就需要对四层技术进行探索和分析,不断提升计算机软件开发的效率,提升计算机软件性能。处理层、数据库层、Web层和存储层,是四层技术结构的主要组成部分,取代了以往的界面层、业务处理层和数据层。处理数据信息的任务是由数据库来完成的,处理结果向Web层传输的过程中业务层能够发挥作用,数据的交换则在Web层进行。存储层和业务处理层之间是数据库层,在反映与计算机对象之间的关系时,主要是通过分析隐藏数据访问代码来实现的,差异匹配问题就会得到有效解决。四个层次结构的功能和职责相互独立。 (四)计算机软件中五层技术的应用 通过科学分支技术结构,并将其应用于四层技术,这就是五层技术。计算机软件开发中,对于五层技术的应用范围比较小,特殊软件的开发会用到相应的五层技术。数据库的操作和访问,能够通过数据访问服务器实现更高效地利用,科学处理应用服务器的数据,也是提升客户端显示软件功能的重要保障。系统负载平衡能够有效应对用户请求的分配问题,实现系统功能的扩充。应用服务器、HTTP服务器和数据访问服务器,也是五层技术中的重要组成部分。不同功能的处理可以由应用服务器提供有效保障,满足用户个性化服务需求。在将Web服务器生成动态化网络页面的过程中,HTTP服务器能够发挥关键作用。 三、结语 在当前计算机软件开发的过程中,分层技术以其较强的拓展性、独立性和稳定性得到了广泛的应用,能够有效提升计算机软件开发的效率,优化计算机软件性能。只有不断加强双层技术、三层技术以及多层技术的研究,才能够保障分层技术在计算机软件开发中的应用效果,不断拓展计算机软件类型和功能,为社会生产生活的高效运转提供保障。
计算机软件工程篇1 0引言 大数据时代是一个数据分析非常集中化、智能化和全面化的时代,而针对数据的有效处理过程肯定需要相关的数据处理技术才能够完成,随着数据量变得越来越庞大,数据处理的过程就需要更加精确和智能的技术才能够完成,这个过程靠一些普通的数据处理软件来进行数据处理是肯定达不到最好的效果,大数据的发展同时也推动着计算机软件技术的不断更新和优化,而计算机软件技术的更新更是对大数据巨大优势的不断呈现,各行各业都需要结合这种发展的趋势才能够得到巨大的发展机会[1]。 1大数据时代背景下计算机软件技术的应用需求 1.1对于能够保障信息安全的技术需求 大数据的发展当然产生了一个时代的红利,各行各业都在大数据的推动下得到了客观的发展机会,但是随着大量数据云端化以及信息数据的可视化,就很容易产生信息泄露、隐私泄密的问题,这是大数据时代下数据处理带来的一种不利影响,这种影响小则会泄露个人的隐私数据,大则有可能泄露企业信息甚至是国家机密,这个时候带来的损失也是不可估量的,所以,在大数据时代背景下,计算机软件技术的信息保密需求就越来越高了,结合互联网的开放环境,应用互联网信息保护技术就显得非常有必要,计算机软件技术也应当注重对网络信息安全的保护,不能仅仅把技术的发展放在数据处理的方面,而要关注对数据的保护过程。不断提升数据处理过后相关数据的安全等级是数据处理软件技术开发人员应当要重点关注的一个方面,这不仅有利于让数据处理能够被有效得到正确的运用,还有利于对互联网环境中大量隐私数据的有效保护[2]。 1.2对于云储存技术的需求 随着互联网的信息数据越来越庞大,传统的存储技术已经不能满足如此大的数据存储需求了,在这样的背景下,云储存的概念和存储方式得到发展,作为计算机软件技术中不可或缺的一部分,云储存的发展顺应了大数据时代发展的趋势,为便利化、智能化存储信息和数据提供了很重要的技术支撑,而云存储技术更是能够摆脱传统存储技术对存储时间和存储空间的限制,让存储的信息直接和大数据平台接轨,在互联网系统中得到永久性的保存。只要互联网存在,储存的数据和信息就不可能消失。计算机软件技术与云储存技术结合,各个存储单元在云储存系统中有序排列成为一个整体系统,在这个系统中各数据和信息都能够有序地储存。而现阶段,云储存技术的发展已经和区块链技术、人工智能紧密结合在了一起,信息和处理的过程更加便利和智能化,这能够给用户带来良好的体验感,可以更加方便地使用存储的信息,这也有助于提升数据处理分析的效率。大数据的合理化、系统化规整过程也能够得到有效保障。在大数据时代背景下,云存储技术也是计算机软件技术应当要研究的一个技术方向[3]。 1.3对于虚拟化技术的具体需求 虚拟化技术是将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。在大数据时代背景下,计算机软件技术的虚拟化技术需求是未来技术发展的一个重点方向。一方面,虚拟化技术能够提升对数据整理和处理的效率,使得服务器的速度能够不被传统的硬件条件限制,比如说云服务器就是结合了虚拟化技术才能够得以实现的,这让云处理、云计算这些大数据处理分析技术能够被充分发挥出来,数据的整理和分析也变得更加系统化;另一方面,虚拟化技术还能够有效提升大数据系统的可用性,使得大数据成本得以降低,从某个角度还能够有效降低能耗。综合来看,对于庞大信息和数据处理的过程需要得到虚拟化技术的支撑才能够高效率完成。在大数据时代中,各行各业在应用计算机软件技术时,更是应当要注重对虚拟化技术的有效利用。 1.4对于人工智能技术的需求 一直以来,对于数据处理的智能化都是大数据处理技术非常注重的一个方面,不依靠人工和复杂的计算机来处理数据是大数据技术发展的一个重要特征,在这样的需求下,将人工智能技术结合在大数据处理当中显得非常有必要。在大数据时代背景下,结合人工智能技术是计算机软件技术应当要注重的一个发展方向。人工智能发展到现在,已经能够实现以下几个方面的功能。首先是智能识别技术,也就是感知智能技术,在数据处理中,结合人工智能将一些外部的数据进行智能识别录入大数据系统可以让数据的录入变得非常方便;其次是数据挖掘工功能,也就是计算智能,这项技术能够从以往已有的数据集合中智能化建立一个数据模型,后期的数据处理分析就可以依靠这个数据模型来实现;再者就是深度学习功能,也就是认知智能,这项技术能够实现人工智能对于数据处理分析的学习,在人工智能的有效配合当中,数据处理的过程越来越科学化,也就是在以往大量的数据被集合在大数据系统当中以后,数据的智能化分析能够变得越来越合理,数据分析的结果也变得更加科学。 2大数据时代背景下计算机软件技术的具体应用方向 2.1产业发展 在国内,有关于大数据的研究可以说是目前互联网科技行业的重点讨论话题,国家相关部门同样耗费了巨资投入大数据技术的研究。2012年批复的“十二五国家政务信息化建设工程规划”相关文件显示,对于大数据的投资总额就达到了几百亿人民币,其目的就是要利用大数据构建一个人口、法人、空间、宏观经济和文化这五大建设工程的信息数据资源库,这也标志着我国开放、智能、共享的大数据时代已经到来。就目前的情况来看,关于大数据平台的构建和对于大数据中关键技术的研究突破,以及实现大数据开放海量信息的共享方面,上海市率先走在了发展的最前沿。在2014年,上海推动各级政府部门将相关数据库进行对外开放,同时也鼓励社会对这些数据进行加工和运用,以实现社会各方面的高效发展,在《上海市政府数据资源向社会开放工作计划》里面,就已经确定了190项数据内容将成为重点开放领域,其中就涉及公共安全、社会服务、教育科技、文化娱乐等各项领域大数据库的开放,这也使得互联网文化达到尤为繁荣的阶段。在海量的数据、过硬的技术支持下,大数据技术开始服务于社会发展的各个领域[4]。 2.2信息化、智能化教学 在大数据技术的服务下,教育科技领域迈向了一个新的发展里程碑,通过大数据技术实现对于教育教学资源的收集整理的高效化、利用大数据技术实现教育的智能化以及运用大数据构建一个高效化的教学模式,成了大数据服务在教育生态环境中的重点建设项目。首先,教育的信息全面化表现在教育大数据,从多样化的海量教育信息数据库当中,能够依据这些教育信息的发展态势判断出教育的发展规律。其次,大数据有着体量巨大、格式多样、生产高效的技术特点,这恰好与学科教学资源丰富多样的特征相互匹配,能够适应学科教育对于教学资源多样化和丰富性的要求。再者大数据技术能够让信息处理变得更加高效,使得学科教育中的各种教学模式框架能够被有效整合利用,完善了学科教育生态环境。计算机软件技术应用在教育领域应当要注重结合大数据技术对教育生态环境加以构建。 2.3商业应用 在网络时代,基于数据的商业智能应用为运营商带来巨大价值。通过大数据挖掘和处理,可以改善用户体验,及时准确地进行业务推荐和客户关怀;优化网络质量,调整资源配置;助力市场决策,快速准确确定公司管理和市场竞争策略。例如,对使用环节如流量日志数据的分析可帮助区分不同兴趣关注的人群,对设置环节如HLR/HSS数据的分析可帮助区分不同活动范围的人群,对购买环节如CRM的分析可帮助区分不同购买力和信用度的人群,这样针对新的商旅套餐或导航服务的营销案就可以更精准地向平时出行范围较大的人士进行投放。以商业投资为例,大数据分析技术把投资环境进行综合性的处理分析,这不仅有利于企业更好地从外部进行融资,更能够让投资环境变得更加透明,投资的数据能够被有效掌握,有助于加强投资监督,通过大数据创建投资信用体系,保障投资者的权益。为投资者增加更大的效益,这是大数据背景下计算机软件技术应用在商业领域的一个巨大优势。 3结语 大数据时代对于数据的整理和利用效率是前所未有的,计算机软件技术的发展应当把控这种趋势,这是对于软件技术的优化,更是让其更好地服务于大数据发展,特别是服务于对于数据的分析,而在未来,计算机软件技术将会在技术服务上为各行各业增优创效,促进各个领域的高质量发展。 作者:郭帆 单位:洛阳科技职业学院 计算机软件工程篇2 0引言 为了适应大数据发展背景之下计算机软件技术的科学运用,需要不断从大数据这一发展背景出发,有目的地开展计算机软件技术的科学运用,进一步完善和优化计算机软件技术,借助于大数据,来提升相关管理人员的决策能力以及洞察能力,为我国计算机软件技术的进一步推广打下坚实的理论基础和实践经验。 1大数据背景下的计算机软件工程 在计算软件当中,主要可以划分为四种不同的类型,其分别为:数据化处理、人工智能化、科学计算以及过程控制。为了能够促使整个计算机软件技术能够更有效地为公众服务,人们则会通过各不相同的一些工作的类型构建形成不同的有针对性的软件模型,并且针对其编写出良好的应用程序,并且针对响应的计算机软件处理获取最佳的计算结果。在这过程当中,还有一部分的计算机软件在现实的运用当中更加注重对程序以及相关数据的探索,并且通过运用各不相同的一些程序来进行表达,研究有关计算机的其他一些技术内容[1]。在大数据这一发展背景之下,计算机软件技术整体水平也得到了有效的提升,这对我国社会的发展到来了非常深远的影响[2]。任务以及管理的相关的资料和数据,进一步分析不同的数据信息,使之变得更加的便捷、简单,并且运用更为丰富的数据信息来进一步提升整体工作的效率以及企业的运行管理机制,为有效地促进企业的发展,带来丰富的经济效益打下坚实的理论基础与实践经验[3]。 2基于大数据的计算机软件技术 信息安全技术。目前大数据的快速发展背景之下,成为今后各行各业对丰富数据信息相互整合、关联起到了非常重要的作用,也只有构建相对完整的一些数据分析或者是针对其所表现出来的框架予以系统的解读,才能够不断提升计算机数据管理的综合性的价值内容[4]。基于这一点,构建极具科学化的一种信息安全技术运行的特殊框架则在此时变得更加的有意义,同时也是进一步维护我国的计算机数据系统管理以及对其进行科学化监督的核心所在,而且也是进一步优化计算机数据运行流动效率的主要内容。网络体系所表现出来的开放性的特点也更加的突出,这也为现当代人们的发展带来了前所未有的便利,而且也针对网络化运行的安全提出了越来越高的新挑战,此时,如何才能够更有效地维护我国信息安全的有效传递,成为非常关键的内容,需要进一步引发人们在技术监督上的重视以及信息统筹控制方面的关注。值得一提的是,网络中的病毒、木马等都会影响数据的存储和数据分享安全性,这就需要建立完整的计算机软件应用技术模型夯实技术管理效率,维护存储工作和分析安全性。云存储技术。随着我国数据存储工作的进一步落实与创新发展,存储的相关数据信息也随之不断提升,这也就导致相关数据的容量需要进一步扩大才能够容纳更多的信息,而由此所产生出来的费用成本支出也就不断增加。与传统的数据信息存储方式相比,云存储这一技术不管是整体的存储容量还是针对所搜集的数据信息处理与分析都会有着很大的提升,使用者也只需要通过运用网络或者是服务器相关设备就可以针对许多数据信息予以查阅和存储,并且在后期的数据传输过程中,通过运用互联网加密这一手段,有效的提升其数据信息运用的安全性,防止一些不法分子运用其中的漏洞做出一些不好的事情,给企业与单位带来不同程度的损失。现如今,云存储技术和大数据技术相辅相成,已经成为大数据时代背景之下用户进行数据信息处理分析工作的主要方法之一[5]。虚拟化技术。这一技术表现主要是计算机技术当中独有的资源管理类型,其工作的原理就是为了能够针对响应的数据库当中所表现出来的一些内部的数据与资源予以处理,并且不断优化整个网络中的资源配置内容[6]。针对虚拟化技术的有效运用,不仅仅能够有效提升使用者对计算机系统操作的一种适应性和便捷性的特点,而且还能够促使相关的计算机数据在后期的分析和处理效率之上变得更加的优越。 3大数据与计算机软件技术的应用 计算机软件技术在通信工程中的应用。为了能够进一步提升消费者的关注度,减少在后期的运行过程当中客户的流逝,则需要更加深入地了解不同客户的需求,进而判断出其有可能存在的一种潜在的行为,制定出科学的应对措施,满足不同客户的不同需求[7],提升使用者的黏度。就目前来看,IBMSPSS预测分析软件可以说是人类生活过程中非常普遍的一种运用内容,这一软件在后期的运行过程当中能够更加科学而且合理的去判断客户所表现出来的不同的行为,而且还能够通过针对企业的分析之后,发现其在运营以及管理过程当中将要出现的一些风险以及相关的问题,制定出相关联的一些防范措施以及应对措施。就通信行业来看,在大数据发展背景之下,企业可以借助于不同的计算机软件对客户的相关信息进行更加准确的分析,进而对客户所表现出来的一些行为进行更加科学、有效的分析,为使用者提供更为良好的服务,促使用户能够更加新来这一产品,提升企业后期的运营效益。借助大数据还可以对客户进行有效监控,掌握客户的相关信息,使服务更加周到,实现个性化服务。计算机软件技术在企业的信息化管理中的应用。如今,在我国的企业发展过程当中,随着信息化技术的运用,企业管理所使用的软件也随着社会的发展而不断转变,这不仅仅能够进一步提升我国管理的整体效率,而且还具有非常良好的预期效率。在企业的发展过程当中,需要依据企业所表现出来的不同特点,有针对性的设定相关的管理软件,并且重点进行突破,而如果想要做到这点,就必须要针对以下两个方面进行运用:(1)在数据的抽样过程当中,所抽取的数据样本要具备一定的代表性。而在此时,相关的企业人员在针对所抽取的一些样本当中进行统计、分析与测量,进而更科学的制定出相应的推广方案以及产品的开发方案,进而不断提升企业的生产效率以及销售效率。在整个数据的抽样过程当中,更加灵活、多变的运用计算机软件技术,将其所采集的样本依据极具代表性的要求进行配备,提升整体工作效率[8]。(2)开发探索工作。数据信息的开发探索工作是指工作人员通过对采集数据的分析异常数据、数据之间的关联指数等方式,以此提高企业以及使用用户对于数据的直观感受和认知程度。在此工作环节实际过程中,有效地运用计算机软件技术,极大地提高数据信息开发探索工作的工作效率和工作质量。 4结语 在大数据的发展背景之下,计算机软件技术也随之有了更加全新的发展,迎来了新的发展给予以及新的发展契机。再这样一种时代的发展背景之下,如何能够更加有效的通过运用计算机软件来提升大数据的发展,促使各行各业能够得到全面的发展,这也是目前众多研究者不断探索的重要话题。由此,在本文当中针对计算机软件进行了更加全面的分析,并且依据其在通信行业、企业管理行业当中的运用,从而表明其具有的重要价值以及发展意义,也为其后期的进一步发展打下了坚实的理论基础和实践经验。 作者:李晓 单位:山东信息职业技术学院 计算机软件工程篇3 0引言 计算机软件技术在各行业应用中,大幅度提升了工作效率,改善了生活质量,而面对快速发展的社会环境,其仍需要不断完善和创新,以便于更好的服务社会发展。计算机软件工程要把握大数据技术的优势,令决策人员通过大量数据的整合、分析做出最合理的判断,从而制定明确的发展方向。同时,记录与存储计算机软件工程数据,形成系统的数据网络,为今后的创新研发提供数据支持,实现相关技术的循序渐进,创造信息科技强国。 1研究背景 计算机软件工程在大数据时代发展状况。为了满足社会群体日常工作和生活需求,要求计算机软件实现多元化发展,在已有的软件模型上编写出丰富多样的应用程序,而从计算机软件的根本来讲,大量的计算机软件可以分为数据化处理类型、人工智能化类型以及科学计算类型、过程控制类型。这几大类型的软件分别负责不同的工作要求,因而构建的软件模型也各不相同,后续的各类软件也是在此基础上进行的完善。对于软件开发而言,程序是表达的根本,数据是开发的依据,所以大多数的计算机软件运用都需要多元化、丰富化的程序和数据支持,这也是开发计算机功能的前提条件。因此,大数据技术的诞生对其带来了积极意义,提升了数据的整合和利用,为计算机软件技术研发奠定了坚实基础,因而在此背景下优化计算机软件技术具有显著成效。在企业信息化管理中,大数据技术提供了大量的信息数据,巩固了信息化管理机制的优势,而且任务以及管理系统在数据分析下,应用效率更加明显。 2基于大数据技术的计算机软件工程 信息安全技术。现代化社会正处于信息爆炸时期,海量的信息数据包围了各行业发展,而随着大数据技术的研发,促进了信息数据的整合,为企业发展决策提供了重要依据。但对庞大数据的整合形成的框架必然需要进行分析解读,以此挖掘数据价值,体现计算机数据管理功能。同时,海量数据信息带来的病毒、木马也成了信息安全的重要考验。因此,在这一背景下建立信息安全技术框架,开发信息安全技术功能就显得尤为重要了,这也符合强化数据管理质量的理念,并且在对数据管理进行监督的过程中势必要具备与之相关的信息安全技术,只有这样才能确保信息数据流动的安全性、便捷性。随着计算机网络技术的不断成熟,其开放性特点愈发明显,但这也为安全问题的滋生提供了便利,因而数据流动的安全性迎来了新高度。技术人员十分有必要加强数据信息监督,杜绝病毒入侵,保证数据存储安全可靠。同时,也要从全局分析控制信息,由此可见,计算机信息安全技术框架的构建有必要进行完善,以确保数据管理的高质高效。云存储技术。在企业信息化管理中每天都会产生大量的数据信息,而且在现阶段数据信息的产生只会迅猛增加,导致一些传统的数据存储方式已经不能满足存储需求。所以为了确保对大量数据的妥善存储,企业往往需要投入高昂的资金,用于扩大信息容量,这对企业的经济效益而言,有着不小的影响。为此,云存储技术得到了迅速普及,其不仅具有庞大的信息容量,还具有突破性的数据处理能力,同时,在数据查询、传输时也更加便利,通过服务器登录即可进行相关操作,对用户的服务性能显著提升。其次,互联网加密手段的更新也为云存储技术提供了一大保障,避免了不法分子恶意入侵造成的数据信息丢失、泄露,从而引发信息危机。总之,在新时期网络环境日益复杂的背景下,大数据技术与云存储技术的结合势在必行,而且企业、用户在数据处理中要想提升效率,就必须采用两者相结合的管理模式[1]。虚拟化技术。针对计算机数据资源的有效管理,需要专门的资源管理技术,而虚拟化技术正是专属于这一类型的现代化技术。通常在计算机数据库响应过程中会滋生出一些数据资源,对这些内部数据资源的分析处理就是虚拟化技术的应用原理。同时,网络运行中,各类资源层出不穷,如何合理配置值得技术人员深思,因而该技术在网络资源配置中可以不断进行优化调整,以维护网络环境。其次,通过该技术的实际应用,一方面用户能够快速掌握计算机系统使用方法,操作起来更加简单,另一方面可以为计算机数据处理能力提供更有力的辅助作用[2]。 3计算机软件技术与大数据技术的融合应用 应用到通信行业发展中。客户是通信行业发展的原动力,只有积累了大量忠实客户,才能不断维持行业发展,所以加强客户与企业的联系,获得客户认同极为重要。而要想获得客户认同,就要在产品研发中始终结合客户需求,这样客户才不会在发展过程中逐步流失,因而在分析客户数据的过程中要发现细节变化,了解客户潜意识的行为,从而以此制定发展规划。现阶段使用最广泛的IBMSPSS预测分析软件就可以对客户的行为进行全面分析,从而掌握不同个体在不同情况下表现的多元化行为,这在当下是非常有用的数据分析软件。同时,还能够对企业运营产生的数据进行综合分析,从而得出运营中存在的风险隐患,进而制定可行的风险防控策略,防患于未然。这一软件就是基于大数据技术研发的,其体现了大数据技术的数据收集优势、分析优势。而在具体的通信行业发展中,需要不断投入大量的资金成本,这些资金就要通过研发产品,客户消费获得,所以企业要做的就是让客户始终信任自家产品,需要自家产品,因而要利用大数据技术支持的计算机软件对客户的数据进行收集以及分析,从而在客户的不同行为中判断每一位客户的喜好,研发个性化的产品,从而满足不同客户的个性化需求。应用到企业信息化管理中。社会信息化建设推动了企业信息化管理,市场竞争越来越激烈,也要求企业开展高效率的内部管理,所以企业管理要应用多样的计算机软件,落实信息化管理理念。不过需要注意的是,计算机软件研发速度较快,各种类型的管理软件投入使用,会给企业管理人员带来一定的误区,可能导致应用的管理软件并不适合企业发展,这样不仅不会提升企业管理效率,反而会起到阻碍作用。因而在软件应用和研发中要结合企业自身特点,选择最合理的管理软件,并对其进行不断优化和创新,最大程度发挥管理软件的优势,带动企业管理效率飞速提升。同时,还要对管理软件的准重点进行分析,设定符合企业要求的管理内容。具体而言,企业要通过计算机软件技术抽取具有代表性的数据样本,并对这些数据样本进行分析、测量,整理出数据样本中有用的信息,将其作为产品开发和推广的主要依据,由此制定系统的开发计划,确保产品生产和销售达到预期效果。其次,计算机软件技术还要应用到数据开发中,针对异常数据与数据的关联指数进行系统分析,确保企业管理人员可以明确数据的潜在意义,形成正确认知,这有助于不断探索全新的数据信息,从中提取对于企业管理有利的数据。 4结语 自计算机信息技术诞生以来,我国各行业发展中对效率和质量的要求更高,人们的日常生活和工作也提出了更高的服务要求,因而我国行业发展进入了计算机软件的开发应用阶段。但在以往的开发应用中能够提供的优势有限,直到大数据技术出现之后,计算机软件技术打破了原有的瓶颈,迎来了全新的开发环境,实现了大数据与软件技术结合的新应用方式。在该方式的应用下,行业企业对数据的处理能力明显提高,数据信息的价值也得以充分挖掘。因此,有关技术人员就要主动探讨大数据背景下,计算机软件的开发应用,以此全面促进计算机软件技术的发展。 参考文献 [1]沙之洲.大数据时代下人工智能在计算机网络技术中的应用[J].电子元器件与信息技术,2022,6(01):87-88. [2]吴佳豪,张娴静.大数据时代下计算机网络技术中人工智能分析[J].九江学院学报(自然科学版),2020,35(03):77-80. [3]李晓.大数据在计算机软件工程中的应用[J].集成电路应用,2022,39(05):106-107. [4]吴慧林.大数据时代下软件工程方法在计算机软件开发中的实践[J].普洱学院学报,2021,37(03):16-18. 作者:刘金良 单位:晋中信息学院
对于工程计算而言,精准的计算结果以及必要的计算过程还原,是提升工程质量的重要手段,因此需要合理的应用相关计算软件,提升工程计算质量以及计算效率。Excel软件作为一种新型计算工具可以在计算中发挥作用,但是目前应用情况并不乐观。因此,对Excel软件在工程计算中的应用研究有着鲜明现实意义。 1Excel软件的应用优势 Excel软件是现阶段人们日常办公所应用到最为常见的软件,对于使用者而言Excel软件具有十分明显的便利性,无论是常见的表格记录还是图表生成都可以让工作更加便利。从使用的基本情况而言,可以将Excel软件的优势概况以下几个方面:(1)Excel软件具有明显的数据透视功能,实际应用过程中可以将数据透视表划分为十几种表格形式,并且可以通过简单操作立刻完成,尤其是在工程计算过程中,因为其内部所具有的工程类型较多,因此数据表格种类也很多,可以应用Excel软件进行合理存储。(2)Excel表格拥有较大的数据容量。在缺省状态下,Excel表格可以分为16个相同类型的“工作簿”,其中每个“工作簿”纵向共有256列,横向共有16384行,在行列交叉位置会形成单元格,数据则可以记录在单元格内部,因此每张“工作簿”中都可以记录数以百万计的数据信息。(3)Excel软件中包含有大量的计算公式以及计算函数,可以通过选择数据区间然后点击应用的函数、公式内容,可以直接输出计算结果,数据计算十分方便。(4)应用Excel表格进行工程数据计算可以降低计算错误发生概率,如果计算结果存在问题,Excel表格还会作为必要提示,发现错误之后,只要修改一个数据其它数据就可以自行改变,进一步保计算稳定性,并且Excel表格当中的图表工具十分全面,可以通过应用直观反应数据信息,这是其它计算软件以及计算方法所不具备的优点。工程量计算表的格式设计可以随心所欲。既可以设计得贴近我们习惯的传统模式,也可以依照自己的想法DIY。(5)Excel表格适用面更广。Excel软件对于复杂性工程数据计算而言十分重要,相关计算人员需要结合实际计算内容进行软件操作学习,即使是普通的工作人员在简单学习之后同样可以进行计算操作,无需学习编程知识。并且Excel的通用性较强,不需要特别的软件。Excel是使用最普遍的软件之一,可以说在有电脑的地方就可以打开它,并可随时随地编辑。 2Excel软件在工程计算中的应用研究 为了可以更加直观的分析Excel软件在工程计算中的应用方法,本文采用举例说明的方法进行论述,具体内容如下所示:首先应用Excel软件建立一个完整的工程量计算内容,工程名称为:1号配电房建筑工工程,并且键入表格第二行,在B3单元格键入地面工程,C3单元格键入墙体工程。第四行空白;A5、6键入“序号”和“1”;B5、6、7出键入项目名称、地面工程、平整场地(计价量);C5、7处键入工程量计算式、“(12.62+2*2)*(8.22+2*2*)+0.11*(0.44*10+0.75*2)”。D5、7处键入单位、m2;E5、7处键入计算结果、203.75。计算过程中,首先假设C7单元格中输入的计算公式并不会带有等号,E7处为计算结果的输出位置,具体操作步骤可以如下所示:将C7单元格选种,然后在Excel表格上方的功能栏中找到“插入”菜单,在“插入”菜单找到“名称”,在“名称”中选择“定义”,点击“定义”之后可以将会出现“定义名称”的对话框。在“定义名称”的对画框中将会出现“引用位置(R):”以及“在当前工作薄中的名称(w):”并且在以上文字的下方将会出现空白条形框,然后在“在当前工作薄中的名称(w):”下方条形框中键入“结果”(此过程中的名称可以随意设置),在“引用位置(R):”下方条形框输入“=EVALUATE(建筑工程!$C7)”在对话框右面功能键中找到“添加”按钮进行单击,然后单击“确认”按钮,退出即可。在进行此过程的操作时候需要注意,“引用位置(R):”下方的空白条形框具有下拉功能,可以在其中直接选择“=EVALUATE(建筑工程!$C7)”名称,但是选择之后公式行前面所具有的“$”标识需要删除,这样才能保证单元格中的行、列位置并非处于固定状态,这样在之后的操作过程中就可以对表格内容进行随意的下拉复制。以上操作完成之后,可以直接返回到单元格界面,然后在E7处键入“=结果”,单击键盘中的“Enter”键,E7单元格可以根据事先设定的计算公式生成结果。在复制粘贴过程中,可以应用各行选中E7,按住右下角的填充柄向下拉动填充的方法进行,也可以直接进行复制粘贴。然后采用Excel求和公式对各行计算结果进行合计。 3结论 综上所述,时代的发展促使各类尖端技术被发明和应用,Excel软件就是为了便捷工作所形成的一种技术,但是很多使用者对于软件的应用仍然停留在初级阶段,就工程计算而言,对于Excel软件的应用十分必要,可以应用软件内部所具有的应用函数以及计算公式,提升计算效率,进而影响工程进度与质量。 参考文献: [1]江雨,姚丽芳,关冰,何浚宏.利用Excel软件预测价值工程——基于3L的工程管理前期策划[J].江西建材,2018(12):57-58. [2]陆锦鹤.Excel软件VBA功能使用案例一则——从PDF文件中提取出的信息中挑选需要的信息并重新排版形成可用的Excel表格文件[J].智库时代,2018(39):133-134. 作者:刘波 单位:中国电力工程顾问集团西南电力设计院有限公司
嵌入式系统软件开发技术研究:嵌入式系统软件开发技术探析 摘 要:嵌入式系统是当前工业生产控制领域的重要计算机应用技术。随着工业现代化水平的不断提升,嵌入式系统变得更加繁琐复杂、功能也更加丰富。文章围绕嵌入式系统软件开发相关问题进行探讨,详细阐述了嵌入式系统软件开发的几个重要阶段,对各个阶段涉及到的重要技术进行了介绍。 关键词:嵌入式系统;软件开发;技术 引言 计算机技术一经问世,就成为加快推动人类社会生产活动高效开展的重要力量。在几十年的发展里程中,计算机相关技术都实现了巨大进步。伴随着工业现代化进程的不断深入,嵌入式系统获得了越来越多的关注。嵌入式系统是一种以软件和硬件相结合为特征的计算机系统。该种系统常用于工业大型机械化生产或者国防工业等领域,通过嵌入到某些专门设备中予以实现,故此得名嵌入式系统。在数十年的实际应用过程中,嵌入式系统屡经发展,不断创新改进,目前已经取得了许多项先进技术成果,为今后的相关领域开发工作指出了重要方向。 1 微处理器技术的选择 微处理器技术是嵌入式系统的重要基本元素。伴随着加工制作技术的升级,微处理器从最初的4位、8位器件开始,发展到后面的集成式单片8位微处理器、16位微处理器。时至今日,16位微处理器已经成为微处理器应用的中间类型,占据着微处理器市场的最大份额,而更高端的领域则由32位架构的器件所占据。最开始的32位器件采用的是CISC架构,而后随着技术的发展,性能更加优异的RISC芯片则成为32位器件架构形式的主要选择。嵌入式系统开发人员可以根据项目实际需要,综合比较设备性能、服务、适用性以及成本等多个指标选择最适合的微处理器。 2 系统架构的选择 架构是系统的基础组成,不仅关系到系统功能的实现,对于系统后续发展、优化也有着举足轻重的作用。微处理器的架构开始时仅仅是中央处理器和部分逻辑器件构成的简单形式。经过多年的发展,微处理器架构变得复杂、繁琐,但调试技术还是原来那些电路仿真、芯片级调试、ROM监控器以及指令集模拟等技术。随着嵌入式系统应用范围不断扩大和技术要求的不断提高,系统架构的重要性也在与日俱增,嵌入式系统开发人员必须要认真评估各类微处理器相关特性,选取合适的系统架构,这样才能保证开发出来的系统的健康水平。 3 设计组成 嵌入式系统的软件开发工作包括硬件开发和软件开发两个部分。最开始的时候,软、硬件的开发工作基本上都由一名技术人员负责。而且在系统开发项目的全部工作中,软件开发所占据的比例较小,最大十分之一。随着技术的不断发展,嵌入式系统开发工作中软件设计所占据的比例越来越大。原有工作模式因而发生丢了改变。专业人员专门负责嵌入式系统软件开发的工作模式出现在上个实际80年代中期,同期软件开发的工作量占据嵌入式系统开发工作业务量的一半以上。 近些年来,嵌入式系统发展得日渐成熟。软件、硬件方面都实现了巨大进步。系统开发业务量持续上涨。其中,软件开发的业务增长更为显著,已经达到嵌入式系统开发业务量的十分之七、八左右。巨大的工作量已经不是仅仅依靠一个开发人员就能完成的,必须依靠团队的力量。特别是随着系统开发工作的深入,一些新的技术措施、手段纷纷涌现,成为系统开发中不可或缺的重要环节。其中一个至关重要的就是用于软件开发后进行测试的硬件平台。由于软件开发业务量的高速增加,用来进行软件测试的硬件平台需求也就变得更加迫切。目前常用的方法有本地代码执行原型环境、指令集软仿真(模拟),或者是使用标准的、低成本的、现成的评估板等。而主机-目标机连接技术因为成本较低,故而推广速度很快,其中最为著名的就是JTAG接口。 4 软件内容 尽管软件开发所耗费的时间越来越多,但市场对于软件的开发周期的要求却越来越短。为了适应市场需求,嵌入式系统软件开发企业不得不在开发策略上下功夫。早期嵌入式系统软件结构简单、功能单一,使用企业自行开发的应用代码即可实现。如今系统功能丰富,功能强大,结构复杂,软件开发企业必须依赖外部的力量。目前,软件开发企业往往根据项目需求,选择对应的多任务的模型,然后使用标准的、商用的实时操作系统辅助开发。这种做法,优点是开发效率高,缺点是不可避免的遇到知识产权的问题。在全社会都越来越重视知识产权的大形势下,嵌入式系统软件开发,必须考虑到知识产权因素的影响,这种影响,不仅仅停留在当前所开发的软件上,更对后续的相关软件开发、应用拓展有着巨大的影响。 5 编程语言 编程语言是进行软件开发设计必不可少的工具。在微处理器刚刚出现,尚停留在4位、8位器件的阶段,开发人员只能选择汇编语言进行开发。当16位微处理器技术出现以后,软件编程语言的选择也变得丰富起来。使用较多的有Pascal、C语言、PL/M语言。而对于一些特别的系统,Forth语言更为适合。当32位微处理器应用日渐广泛以后,又开发出了C和ADA。其中,ADA主要应用于军事领域,在国防事业中大展身手。时至今日,C++已经逐步取代C语言成为嵌入式系统软件开发语言的主流,目前大约四分之一到三分之一的嵌入式系统是使用C++设计的。而本来专为嵌入式系统软件所开发出来的Java则在要求运行时重新配置的领域实现了更大的自身价值,统一建模语言(UML)也成为高级设计方法学的最流行选择。 6 软件队伍的规模和分布 上文提过,最初的嵌入式软、硬件开发工作通常都由一名工程师予以兼任。经过多年的发展演化,软件开发工作变得专业化、系统化、精细化,形成了专门负责软件开发的技术业务人员。而以嵌入式系统软件开发为职责的团队则是今后发展的主要方向。IT行业软件开发项目管理工作责任重大、任务艰巨。嵌入式系统软件开发同样如此。其区别仅在于嵌入式系统软件开发使用过程语言,比如C语言和汇编语言进行编程。嵌入式系统软件开发是一项技术含量和系统化要求很高的工作。开发团队中的所有人都要对目标系统有着全面的清晰的了解,而在当前项目越来越大,工作人员越来越多的情况下,受各人业务能力水平等因素的影响,要保持所有人都同样深入的认知水平显然是不现实的。实际情况是团队中部分高端人才对于某个领域认识非常深入,相关业务能力很强,这些人是开发团队的主干,团队管理者必须科学、协调、高效使用这些人力资源,确保他们的业务成果可以被其它人员正确使用。而面向对象编程技术则是这种应用策略在技术层面的现实体现。 7 结束语 我国正处于产业结构调整的重要时期,大规模的自动化生产成为工业生产的主流。嵌入式系统软件远景广阔,市场空间巨大。软件开发企业要牢牢把握这个机会,深入、扎实地研究嵌入式系统软件开发技术,吸收外部优势资源为我所用,设计出功能强大、适应广泛的优质软件产品,在实现企业自身的健康高速发展的同时,为我国经济建设提供有力支持与保障。 嵌入式系统软件开发技术研究:谈嵌入式系统软件开发技术 摘要: 针对新兴的嵌入式系统发展趋势,提出了对于嵌入式系统软件开发的几个过程,并挑选出它们所驱动的技术,从而做出一个值得注意的技术的时间表。 关键词: 嵌入式系统;软件开发 0 引言 嵌人式系统开发经过30多年的发展,到现在算是一个成熟的技术了。由此可以从总体上确认在嵌入式系统开发展过程中出现的几种明显趋势,这些趋势指出了一系列新兴的关键技术。 1 微处理器技术 最早的微处理器是4位和8位器件。由于制造技术越来越复杂,集成的单片8位微处理器开始出现,16位微处理器也开始使用。随着微电子技术的发展,16位的微处理器已得到广泛的应用。32位架构的器件逐渐占领了高端的应用市场,第一代的32位器件都是CISC架构,但目前,越来越多的RISC芯片正在提供更高的性能。嵌人式系统设计者选择微处理器的范围比以前大了,必须根据性能、需求、支持、可用性和价格来进行选择。 2 系统架构 随着微处理器的发展系统架构也在进步。最早的系统,是由CPU和一些逻辑器件组成的。多年以来,系统变得日益复杂,但都还可以使用同样的调试技术—电路仿真、芯片级调试、ROM监控器以及指令集模拟。嵌入式系统日益强劲,而功能需求的增长则更快很多设计者开始重新审视微处理器和它们的用法。 3 设计组成 嵌入式系统发展的最初阶段。所有的开发包括软件和硬件设计,通常都是一个工程师来承担。软件在整个工作址中的比例很小,大约5%-10%。随着时间的推移软件开发占工程时间的比例持续增长。至20世纪80年代中期,软件开发已经是由专业欢件人员来做,所占比例一般已超过整个开发工作量的50%。 在最近几年,虽然硬件设计变得更加复杂,但软件的份量也急剧增长,目前通常占到开发总量70%-80%。因此,需要有软件团队参与,同时也产生了一些新的挑战。这些挑战中的一个,就是要有可用的硬件平台来进行软件测试。由于要在更短的时间内开发更多的软件,就需要尽快建立测试环境。发出更多的软件,就需要尽快建立测试环境。有多种可行的方法,如本地代码执行原型环境、指令集软仿真(模拟),以及使用标准的、低成本的、现成的评估板。此外,低成本的主机一目标机连接技术,也变得越来越普及,有代表性的就是JTAG接口。 4 软件内容 软件开发所占总时间的比例一直在增加。同时,来自全球贸易和竞争的压力使得产品投放市场的时间也一直在缩短。这极大地影响了设计的策略。最早的设计相当简单,仅仅由自己设计的应用代码组成。随着系统的复杂度增加,多任务的模型被软件开发者广泛采纳,很多开发者选择标准的、商用的实时操作系统产品。随着各个标准的进一步被采纳,买来的软件,或者说有“知识产权”的软件所占的比例正稳步增长。这个趋势给了软件开发者很多启示。集成标准的软件组件—和应用代码及其他—是我们所关心的。在多任务背景下调试是另一个值得关注的问题。与选择知识产权有关的商业决定尤为复杂;除了当前的要求之外,还有将来的(例如移植到别的处理器)也必须加以考虑。 5 编程语言 对于早期的4位和8位微处理器,汇编语言是唯一的选择。随着16位微处理器技术成为现实,出现了几种可供选择的语言。有Pascal和C语言和PL/M语言。对某些类型的系统来说,Forth语言也曾很流行,随着时间推移,32位技术的使用日益增多,出现了C和Ada。后者在国防部的系统中被普遍使用。 在嵌入式软件开发中,C++开始逐步取代C语言。现在,1/4~1/3的嵌入式系统代码是用C++编写的。Java语言当初是专门为嵌人式应用开发的,在要求运行时重新配置的应用场合,它找到了一席之地。统一建模语言(UML)也成为高级设计方法学的最流行选择。 6 软件队伍的规模和分布 正如先前讨论的一样,最初的嵌人式系统设计只要一个人就够了。在适当的时候,因专业化,产生了致力于软件开发的工程师。下一步就是建立嵌人式软件开发团队。管理软件开发在任何情况下都是一个挑战,嵌入式系统开发也不例外,只是有细微差别。使用传统的编程技术———过程语言,如C语言和汇编语言,团队里的大部分成员都需要对整个系统了解比较全面。随着团队变大,这就变得越来越不可行。价况住往是,团队里有一些特殊的人才,他们对某些专门领域很在行。为了有效地管理团队必须使用合适的策略,将他们的专长封装起来。尽可能使一个专家的工作成果能够被非专家以安全、可靠和直观的方式加以使用.在这种情况下,面向对象编程技术找到应用点。 虽然有很多非常大的公司,但软件队伍不是简单的人员扩充他们正在变成分布式的。团队的一些成员在一个地方,而其他的可能在别处。这些地点甚至有可能位于不同的国家。这种安排在欧洲很常见,在那里,真正关心的可能是交流的语言。其他地方,时区可能是个问题(可能也是一个优势,因为分布式的团队可以全天候工作)。随着新兴的技术中心(如印度)广泛崛起,上述情况越来越普遍。在这一背景不,软件组件的可重用性需求就变得很常见了。 7 UML和建模 最近几年,UML己经成为一项关键的设计方法,它和逐渐增七的嵌人式软件团队规模关系密切。广义上说,使用设计工具的方式有2种:或者是作为编写代码的指导,或者就作为直接生成代码的一种手段。对于嵌人式软件来说,代码生成是有争议的,它可能会被争论(而且还很有道理)—每一个系统都是不同的,都有各自的特殊需求。这正是xtUML(可执行和可翻译的UML)吸引人的地方,因为它使得应用与架构清晰地分离了。这里所遵循的,是与面向对象编程同样的原则—使用工具和技术来平衡专家意见。 追踪所有被当前各种嵌人式系统开发趋势所驱动的新技术并非易事。孤立地看待其中任何一项技术也是毫无意义的,因为它们之间有着许多联系。例如,多任务与多处理器调试相关;基于标准的RTOS技术对处理器移植来说真是件幸事;使用设计方法学可以令实现更容易。 嵌入式系统软件开发技术研究:风河WRTM测试工具加速嵌入式系统软件开发 “今天,嵌入式设备生产厂商面临的最大问题就是软件太多,而他们能够用来进行测试的时间太少。过去,嵌入式设备设计制造团队软硬件工程师的比例为2:8,今天这个比例完全倒过来。这是因为,现在,一个设备区别于其他设备的决定性因素是软件,层出不穷的应用,使得嵌入式用软件的数量每2年翻一倍,而制造商却没有足够的能力来满足这一需求。不仅在消费产品领域,而且在工业、医疗器械领域都有time tomarketing的需求,在这种情况下我们开发了WindRiver test management(以下简称WRTM)4.0这款针对嵌入式系统的自动化测试软件。”风河设备测试产品市场营销副总裁IdoSarig说道。 风河的windriver testmanagement,是一个自动化的测试软件,能够帮助嵌入式软件进行更好的系统测试。这次开发的软件,是第一个为嵌入式软件设计的自动化的测试程序,与传统的测试程序不同,有很多新特性能够对系统进行测试。WRTM可应用于、汽车、医疗、网络、军工、航天,风河在诸多领域都展开了广泛的合作,并获得了客户的好评。 “虽然看起来,增加软件工程师的数量,进行软件开发和测试方面的投入会增加很多成本,但是如果不这么做的话,在大量依赖软件实现的创新中,软件故障会给设备制造商带来巨大的经济损失。比如几年以前,大众公司在中国市场销售的奥迪Q7SUV汽车,因为软件故障导致的召回事件,让这家汽车制造商损失数百万美元。而我们的测试软件可以帮助客户发现这类问题,并显著的降低测试的时间和成本,这样的成功案例有很多。我们的研究表明,用我们的软件可以将测试时间降低30%-40%。” WRTM4.0有一个重要的功能就是虚拟实验室管理器,他可以综合全球各个测试实验室整合出的测试信息,来查找系统问题。不仅如此,还可以为客户节约测试方面的投入。例如,一家美国电信公司,在测试管理方面的投入高达每季度100万美元,而每一位测试工程师希望拥有专属的测试设备,这在很大程度上造成了重复投资,虚拟实验室就解决了这样问题,既保证了测试设备的独立性,同时又避免了重复投资。此外,WRTM测试引擎可以测试支持各种版本程序语言的软件(C,C++语言),甚至是二进制代码,并且可以进行优化和给出参考建议。 “WMRT未来的挑战是如何降低测试的时间,现在很多公司的实验室都堆积了过多的测试案件,他们没有时间去处理或者为了不承担责任而干脆不予理会,WRTM能够帮助客户解决这些问题,找出不同版本之间的差别,并判断出最可能出现问题的位置,从而使得软件测试变得更加有针对性,节省测试时间。WRTM软件的未来目标之一就是尽可能快速、尽可能准确地发现问题。”
引言 在信息化时代下,我们的生活、生产模式都发生了巨大的改变,比如在计算机技术的不断进步和发展下,其为人们的生活就带来了巨大的便利。现如今,计算机技术已经被广泛地应用在各行各业中,并且发挥着尤为重要的作用。而计算机的运用就是根据编程语言编写的程序运行的。因为不同的编程语言在思想和方法上存在不小的差别,因此在选择不同编程语言开发软件的时候,相关工作人员就需要及时调整自己的思路,这样就可以保证计算机软件开发的质量。不仅如此,在编程方法的辅助之下,各种现实问题也可以得到解决,通过科学合理的数学模型可以让相关的工作变得更有效率,从而大大地节省了劳动资源。这其中的关键就是需要选取合适的编程语言展开软件开发。 1计算机中常被使用的几种编程语言 1.1计算机中的C/C++编程语言 在计算机当中,C语言这种变成语言是将过程作为中心的,而另一种C++语言则不同,其是以对象作为核心的一种编程语言。在诸多计算机编程语言当中,C语言算是十分有难度的一种,因为C语言拥有高等语言的特点,还拥有低等语言直接操作硬件的能力,正是因为C语言的这些特点,若是编程人员要这种编程语言熟练的掌握和深入的理解,就必须具备十分扎实的基础和熟练的操作[1]。C语言和C++语言两者之间最大的不同之处就是其解决问题的思想和方法是存在差异的。具体来说,C++语言能够把面向对象可以接触的内容扩展,不仅如此,C++语言当中具备十分丰富的设计概念,比如数据包封对于C++语言来说都是十分常见的。C语言与C++语言虽然在解决问题的思想和方法上是不同的,但如果能够将这两种编程语言可以有效地结合在一起,就能够发挥出很大的功能。 1.2计算机中的JAVA编程语言 现阶段的JAVA语言在计算机当中可以说是具备十分广泛的用途,和计算机编译执行语言与解释执行语言两者相比,JAVA语言还是存在一些不同之处的。JAVA语言拥有面向对象以及可跨平台的特点,不仅如此,JAVA语言中还包括简单、分布式性能高等优点,其能够把一个强大语言当中的全部功能都提供给计算机运用[2]。不过JAVA语言对于运行的条件也是相对严苛的,还有就是JAVA语言在桌面程序开发中的运用效率也相对较低。 1.3计算机中的C#编程语言 C#语言作为一种计算机编程语言,其拥有简洁、安全、精确等优点,其面向的对象大多是数据的处理,这也是因为微软将来的发展方向,其将会集中在分布式应用程序。具体来说就是在客户计算机以及服务器上把处理的过程一起,因此C#语言的研发针对的就是使应用程序方面的问题。相比JAVA语言,C#语言存在一定不同之处,其并未把指针以及手动内存管理完全抛开。不仅如此,正是对C#语言的不断研发,相关经验得到了大量积累,最终诞生了.net平台。 2如何对计算机编程语言做出合适的选择 在计算机软件开发当中,编程语言的使用范围其实是不确定的,这些编程语言都可以进行有效的结合,从而形成软件系统,可以说这些编程语言充满了各种可能性。不过,要想达到如此要求,其关键前提就是软件工程师必须对这些编程语言有着十分深入的理解和掌握[3]。不过,这些编程语言却是存在共同之处,这就类似于各种语言之间也有一定的相同之处。因此,软件工程师可以先对一种编程语言进行熟悉和掌握,这样其对于其他编程语言的掌握也会变得更加容易。 2.1选择编程语言时要对整体内外环境进行考虑 在软件开发的过程当中,其前提便是需要具备足够的硬件环境,因此,必须对软件开发的硬件环境加强重视,在编写程序时,选取合适的编程语言也是十分关键的阶段,需要对语言的分布选取进行有效的确定,还需要将编程语言的环境适应力以及整体框架考虑进去。在选择合适编程语言的过程中,应该尽量结合行业以及使用范围的要求[4]。一般而言会发生编程语言现在符合环境,但如果计算机设备进行更新,软件也会发生不适用等情况,如此便会导致计算机无法正常的使用。因此在开发软件程序前,必须选取和软件整体内外环境相匹配的编程语言,如此才可以让最终编写好的程序能够跟上科技发展的步伐。不仅如此,选择好的编程语言还需要具备容易调整等优点。 2.2选择编程语言前要对应用的行业和领域进行考虑 在选取编程语言之前,还需要针对各种影响因素展开深入的分析,在其中第一个要思考的问题就是编程语言应用的行业以及领域,可以从编程语言应用行业与领域的差异,对不同类型的编程语言特点进行相应的结合运用,之后再选取符合软件开发的编程语言编写。比如,若是软件开发其针对的是底层行业,其程序编写就可以选取C语言以及C++语言。由此可见,编程语言应用领域的不同也对软件开发产生很大的影响[5]。 2.3选择属性的编程语言进行使用 计算机是根据相关编程语言编写完成的程序运作的,因此,在计算机软件的开发当中,相关工作人员需要运用自身熟练的编程语言来进行编写。若是工作人员不用自己熟练掌握的编程语言编写,就会导致工作人员编程时间的增加,不仅如此,在编写程序的过程中,编程人员也会因为编程语言的不熟练而十分的吃力。人们在使用计算机的过程中,还需要输入相关的编程语言从而对计算机相应指令,之后就可以在相应的平台上利用编程语言的优势来操控计算机。除此之外,在软件的开发当中运用熟练掌握的编程语言,可以对自身熟悉的编程语言进行一定的创新,这样就能够让编程语言变得更为灵活,从而提升软件开发的效率。 3结语 随着信息化时代的不断深入,计算机在社会各行各业中发挥的作用也越来越大,作为社会中应用极为广泛的电子设备,其已经逐渐成为了人们生活、生产中的重要组成部分。本文对计算机编程语言中的C语言、C++语言、Java语言、C#语言的特点以及应用范围展开分析,除此之外,还掌握了一些编程语言在软件开发当中的使用规则。计算机就是根据编程语言所编写的程序运行的,编程语言的选取对于计算机软件开发有着很大的影响。因此,需要结合计算机软件开发的需要,选取合适的编程语言,不仅如此,还可以采用已经熟练掌握的编程语言。 参考文献: [1]张闻其.探究计算机应用软件开发过程中不同编程语言的影响[J].信息记录材料,2018,19(1):89-90. [2]成孝俊.不同编程语言对计算机应用软件开发产生的影响研究[J].电子技术与软件工程,2017(20):57-58. [3]周公平.不同编程语言对计算机应用软件开发的影响研究[J].无线互联科技,2017(15):44-45. [4]司马大伟,李超玲.分析不同编程语言对计算机应用软件开发的影响[J].电脑编程技巧与维护,2017(15):13-15. [5]周俊威.编程语言对计算机应用软件开发的影响[J].电子技术与软件工程,2017(7):57-58. 作者:戈健 单位:机械工业苏州高级技工学校
0引言 代建制是随着我国市场经济的发展、社会分工的扩大,以及工程建设领域管理模式的不断创新而产生的一种工程项目管理模式。长期以来,政府部门项目建设一直采取单位自建模式,“投资、建设、管理、使用”四位一体,容易造成责权不分、监管失控等问题[1]。而代建制作为一种将政府建设职能与管理职能分离的公私合作模式,可以显著提高公共投资项目运作效率[2],有利于优化资源配置、降低交易成本[3]。2004年7月,国务院发布《国务院关于投资体制改革的决定》(国发〔2004〕20号),明确提出“对非经营性政府投资项目加快推行代建制”,为代建制在国内推广提供了政策指导。2016年,党中央、国务院出台《中共中央国务院关于深化投融资体制改革的意见》(中发〔2016〕18号),明确指出要“进一步完善政府投资项目代理建设制度”。此后,各省市出台了一系列管理条例。2020年,山东省出台了《山东省政府投资管理办法》(鲁政字〔2020〕232号),2022年济南市出台了《济南市政府投资项目代建制管理办法》(济政发〔2022〕5号)。目前,针对代建制的研究取得了一定成果,但是,鲜有学者对代建制的发展历程进行整体梳理,并预测未来发展趋势。基于此,本文采用CiteSpace软件对2002—2021年中国知网(CNKI)数据库核心期刊文献进行可视化分析,探究我国代建制研究现状和发展趋势,以期为代建制理论研究与发展提供参考。 1数据来源与研究工具 1.1数据来源 基于CNKI数据库,以“代建制”为关键词,选择“SCI”“EI”“北大核心”“CSSCI”“CSS-CD”核心期刊论文进行高级检索,共检索到404篇文献。第一篇文献发表于2002年,最新文献发表于2021年,故本研究时间范围为2002—2021年。 1.2研究方法 基于文献检索结果,首先,分析2002—2021年文献发表数量,研究代建制发文趋势;其次,分析关键发文作者和机构以及作者间、机构间的合作关系,总结代建制研究现状和研究热点;最后,绘制时间线图预测代建制未来研究趋势。 2代建制研究可视化分析 2.1发文数量分析 通过梳理代建制研究文献可知,代建制研究发文数量总体呈现先上升后下降的趋势,主要分为三个阶段:起步阶段、发展阶段和回落阶段,(1)2002—2003年为起步阶段。2002年,代建制概念首次被提出,但未引起足够的关注,文献年发表量少于10篇,发展较为缓慢。(2)2004—2012年为发展阶段。由于2004年《关于投资体制改革的决定》发布,代建制有了政策性的指导,从此进入快速发展时期。众多专家学者开始接触并深入研究代建制,相关文献发表数量快速上升,2007年发文量达到59篇。(3)2012年至今为回落阶段。这是由于经过近10年的研究,代建制基本理论体系已趋于完善,该阶段侧重于对代建制项目的实践研究、对理论知识的补充以及与其他领域的融合研究。 2.2发文作者和高被引文献分析 在CiteSpace软件图谱中,作者节点的字号越大,说明其发文数量越多。选取节点类型作者进行可视化图谱分析,如图2所示。由图2可知,代建制领域的核心作者有严玲、尹贻林、周国栋、乌云娜等。代建制领域核心作者(前10名)见表1。其中,发文最多的是严玲,共21篇;其次是尹贻林,共13篇。核心作者与其他学者之间有较多连线,说明学术合作较为紧密。2.3研究机构分析对代建制发文机构进行可视化图谱分析,探究各机构的参与情况以及机构间的合作关系。选取节点类型为机构进行可视化分析,结果如图3所示。由图3可知,研究机构之间没有产生跨机构合作,也没有形成合作网络。代建制领域核心发文机构(前10名)见表2。其中,清华大学建设管理系、河海大学商学院、华北电力大学经济与管理学院发文较多。研究机构主要集中于高校,企业、研究院等机构较少,未能很好地实现“产学研”联合研究。因此,应加强高校与企业和研究院的合作,促使理论知识在实践中的运用和发展,更好地服务于代建制项目。 3研究热点分析 3.1关键词分析 通过对所选文献进行关键词分析,研究当前研究热点。图谱中关键词字号越大,出现频率越高,说明该词是近期研究热点。选取节点类型为关键词进行可视化图谱分析,如图4所示。代建制领域核心关键词(前10名)见表3。其中,出现频次最高的为代建制,达246次;其次为代建单位。说明随着代建制的推广和应用,学者们关心的不仅是制度本身,作为核心参与者的代建单位也成为关注的焦点,包括代建单位的选择机制、激励约束机制、履约能力评价、管理费定价机制等,代建人的适合度也成为代建制项目成功的标准之一[4]。表3所列关键词中,项目管理、代建项目、项目治理均与代建制项目有关,说明代建制在项目实践方面同样受到关注。 3.2聚类分析 通过对关键词进行聚类分析,总结该领域研究热点,聚类结果如图5所示。经计算可知,聚类模块指数Q=0.8266>0.3,聚类轮廓指数S=0.9647>0.7,说明聚类结果具有可信度[5]。聚类是由分析视角相同的关键词聚合而成,聚类数字大小代表该聚类的关键词数量[6]。频次最高的10个聚类见表4。具体分析如下。3.2.1代建制实践应用(#2代建项目、#3项目管理、#7高速公路)随着代建制理论不断应用于实践,在管理过程中出现各种问题,如社会环境不配套、项目管理不规范等。王洪强等针对这些问题提出了相关建议[7]。周国栋在总结北京、上海等地代建制项目管理经验的基础上,提出代建制改革措施[8]。代建制在公路工程中的应用,是我国公路建设管理体制与国际接轨的体现[9]。赵仙茹等通过分析传统管理模式下公路建设项目的不足,阐述公路建设项目推行代建制管理模式的必要性[10]。曾晓文等运用模糊综合评价法,建立了高速公路建设项目代建制管理模式评价指标体系[11]。3.2.2代建制核心利益相关方(#4政府投资、#8代建人、#9业主单位)满足项目利益相关方需求,重视项目利益相关方管理具有重要意义[12];恰当地处理各主要利益相关方之间的激励、监督与风险分配等问题,是代建制改革的关键[13];利益相关方的激励与约束机制是对市场化代建模式影响最为显著的因素[14]。3.2.3代建制管理模式创新(#5委托代理、#6管理模式、#11沟通管理)为解决委托方和代理方信息不对称的问题,邓曦等在代建制的委托-代理模型中引入监理方,以降低道德风险[15];谢颖等将严格监管、有效激励与合谋防范纳入政府代建项目管理框架[16];为了代建制项目多目标的实现,加强各项目主体之间的沟通,王玉芳等提出必须重视沟通管理和合同管理机制,从而充分发挥代建制的优势[17]。 4研究趋势 通过使用CiteSpace中的TimelineView功能,绘制代建制研究关键词时间线图,如图6所示。具体分析如下:(1)国内对于代建制的研究始于对代建制模式的研究,2002—2009年是代建制理论的完善期。在此期间,代建制相关研究发文数量较多,研究主题繁杂,主要集中于代建制度、管理模式等。(2)对代建制基本理论有了整体了解后,研究方向开始细化。2010—2016年,主要探讨代建制实际操作与应用,发文主题集中于代建制在农田水利、高校基建、高速公路等项目中的应用,代建制项目的评价标准、法律制度,代建制项目成本、绩效、风险的影响因素等。(3)2016年至今为拓展研究期。学者们开始重视代建制的完善和创新,隐性风险、冲突机制、矛盾解决将成为今后的研究重点。张蕾通过对参与中小学校代建制项目建设的有关人员进行问卷调查和深度访谈,总结出代建制隐性风险包括信息缺失风险、代建单位不尽责风险以及监督权的行使度[18];吴梦强等在代建制的冲突管理题提供了新思路[19]。 5结语 本文采用CiteSpace软件对CNKI数据库中2002—2021年404篇代建制领域核心期刊文献进行可视化分析,得出以下结论:(1)在时间分布上,近几年代建制相关文章发表数量较少,发展动力不足。依据国家最新的基础设施建设、政府投资项目相关政策,对代建制进行创新和优化研究,是今后研究的重点。(2)在空间分布上,代建制研究机构以高校居多,各机构之间的沟通较少,未形成密切的合作网络。今后,应加强高校、研究院以及企业之间的合作,促进产学研联合,使代建制理论更好地投入实践应用。(3)在研究内容上,代建制的实践应用、核心利益相关方、管理模式创新是目前代建制的研究热点。今后,隐性风险、冲突机制、矛盾解决将成为代建制研究趋势。 作者:桑培东 张宇 单位:山东建筑大学管理工程学院
随着相关技术的不断发展和应用的普及,计算机软件工程管理已经得到了相当大的发展,但是在目前的发展阶段,由于相关经验积累较少,仍然是存在一些固定的问题需要去解决,否则将严重影响工程管理过程的质量。想要解决这个问题,首先需要对产生这些问题的原因进行深入的分析,并从中找出解决的办法。 1计算机软件项目的使用 所谓的软件研发就是根据相关使用目标就数据进行构造,对软件构造进行重新编程,在编辑编写的过程中测试软件是否能够完成设计的工作内容。在研发阶段就软件而言,其主要的工作内容分为前期策划、过程中编码、对软件进行相应功能的测试三个阶段。在软件的设计阶段一般分为概要设计和详细设计两部,概要设计是指对于软件的各模块内容进行分解,并对软件的构成板块之间以及相关接口的合理性进行分析,实现对整体数据组成情况有一个认识,基于此认识再进行后续的详细设计作业,为详细作业过程提供理论指导和方向。而详细设计是指对之前分析的各个模块中的具体数据进行细节处的设计。两种设计的操作者不同,概要设计的工作者一般是具有丰富的工作经验,参与制作过多种软件对软件内部的运行机理较为熟悉,能够根据不同的需求对软件的模块设计进行原创性的设计。而详细设计的参与者一般为普通的程序员,其日常的工作就是根据概要设计的相关指导完成具体的操作工作。在设计阶段出现的文档主要是为后续设计工作编制的说明书形成不同的说明文件。在进行编码的过程中,工作人员主要对某个程序员的版块进行程序编写。参与编写的过程主要是由程序员完成,在数量众多的文档中有一类闻到了内容较为详细这类文档在进行软件测试时作为一种发掘文件,能够对文件中产生的一些错误信息进行及时的改正,以提高程序运行的稳定性。在软件测试阶段存在的工作者主要是从各个部门抽调的高级程序员组成的,其中存在的文档主要为软件测试的策划以及软件测试的报告形式。在软件的日常使用过程中,常常需要对其进行维护更新造成持续更新的原因主要来自三方面,首先是由于软件在使用过程中会出现一些隐藏的错误,这些错误随着外部使用环境的变化而进行变更。另一种情况是由于受到外部因素的影响而造成软件需要进行更改,最后一种情况是由于软件自身的更改和拓展,为了保证其在保护期间能够避免受到外部环境因素的影响并挖掘软件潜在的能力,在软件的保护阶段对其进行维护保证文档的策划和报告工作,从而促进软件能够在各个项目工作中实现有效的运用。 2计算机软件工程管理项目的应用策略 2.1增强团队水准 作为软件设计维护的主力军,管理团队的职业素养和管理水平直接影响着相关工作的进行。为了提高工作质量,保证每一个团队成员都能够将自己的优势发挥出来,就需要在团队人员选择时注意搭配,让不同性格有不同专长的人员组成一个团队,这样就可以在面对工作问题时有多种解决思路产生,并选择其中最优解来解决当前问题。同时应该根据软件工程过程内容制定相应的管理制度,管理制度的建立一方面,可以规范工作人员的职责,让其能够明确自身的工作责任和范围另一方面,当工作团队在日常作业时遇到问题,能够根据制度中的内容来自我调整。同时在制度中有相关的禁止内容,能够在日常工作中让团队成员有自我监督管理的意识,对工作过程中接触的内容有一个正确判断,同时也能够提高工作人员的责任心。在对团队人员进行安排时,要根据研发过程的实际情况对团队中每一个成员的实际工作状态和特点进行分析,在全过程进行合理掌握和调配,对其进行合理的分工,使其能够将自己的专长尽可能发挥出来,提高工作岗位的效率和团队成员的工作积极性。让每一个身处管理团队的人员都能够有相应的发展空间,有助于进行项目管理工作。 2.2改善计算机软件工程管理系统 想要改善计算机软件管理系统,提高整个项目的研发效率,就需要不断根据外部社会环境的变化情况,积极引入新技术,新概念,新思想,促进软件研发项目能够与时俱进,掌握最先进的管理理念和相应的技术,并尽快将这些生产要素落实到实际的软件开发过程和维护管理过程中。同时在原有的管理制度基础上根据实际工作情况和外部环境的变化,及时的更新工程管理制度,完善合理的管理系统,积极引用相关人才提高计算机软件的研发效率同时通过建立奖励机制来激发员工的工作积极性和主动性,使其能够将自己在工作岗位获取的经验融会贯通,然后再通过相关技术的加持在其工作岗位上不断创新,提高工作质量和工作效率,并且在团队中营造出团队间用软件质量进行互相竞争,团队内部各成员之间能够合作共赢的企业氛围。 2.3增强软件风险管理 在过去的软件开发过程中,对于风险管理的着眼点较少,导致软件开发,后期由于风险抵抗能力较差,容易出现软件与变更后的实际需求不匹配的情况。为了保证软件项目的顺利实施,可以构建完善风险管理机制,并且所有参与研发的工作人员,在脑海中要常有一个风险意识。通过定期组织工作人员学习风险管理知识,提高在软件开发过程中对于风险因素的规避。根据过去的开发经验和目前实际情况,制定出一些合理的预防措施,减少风险发生后造成的影响范围同时在条件允许的情况下,应该对计算机软件风险进行持续管理,在管理过程中不断摸索和提炼相关经验并尽快完善到相关管理制度中,指导后续的工作人员完成相关作业。 3结束语 本文的主要内容是对软件的相关使用进行介绍,阐述了软件管理过程的内容,随着目前信息化进程的不断加速,计算机软件工程管理工作的有效性应用不仅可以使人们掌握更充足的资源,并且有助于创新型发展。 参考文献: [1]邵曰攀.加强计算机软件工程管理应用的措施分析[J].电脑知识与技术,2018,14(05):98-99. [2]马飞.加强计算机软件工程管理应用的措施分析[J].通讯世界,2015(14):243-243. [3]孙华,李爱平,金智.加强计算机软件工程管理应用的措施分析[J].电子制作,2015(08):78-78. 作者:张峪齐 单位:吉林司法警官职业学院
计算机软件专业毕业论文:高职计算机软件专业现代学徒制教育模式及校企合作模式的探索与研究时武略 摘 要:随着国家在现代学徒制教育方面的引导与支持,高等职业院校的计算机软件专业为了生存和发展,必须进行相应的教学改革,通过课堂教学中的项目化教学、工作室教学模式、传帮带的学徒模式、拓展提高的自学模式,寻求学校、企业、教师、师傅、学生各方利益的平衡点,奠定校企合作可持续发展的基础。 关键词:现代学徒制;软件专业;教育模式;校企合作 1 引言(Introduction) 2014年8月25日,《教育部关于开展现代学徒制试点工作的意见》提出“各地要选择适合开展现代学徒制培养的专业,引导职业院校与合作企业根据技术技能人才成长规律和工作岗位的实际需要,共同研制人才培养方案、开发课程和教材、设计实施教学、组织考核评价、开展教学研究等”,这就从国家政策层面提出了今后一段时间高等职业教育改革的方向。本文结合教学改革实际探讨计算机软件专业的现代学徒制教育模式,以及随之而来的校企合作模式方面的问题。 2 现代学徒制教育模式是基于建构主义的教育模式 (The modern apprenticeship bases on the educational pattern of constructivism) 建构主义认为,将学习者置身于学习情境、工作情境之中,通过自主的尝试才能真正构建起有效的能力与知识体系。现代学徒制就是要求学生在学校进入教师所建立的学习情境中,通过完成教学任务、教学项目来学习知识和技能,以正确的操作流程实现预期的效果,减少并避免错误的发生;到企业进入到师傅所建立的工作情境中,通过完成工作任务、工作项目来积累经验、提升素质,既能从正面学习实际工作所需要的知识和技能,又能在解决不断出现的真实问题过程中,检验和应用所学,修正错误,深入理解,构建出完整的知识与能力体系。 3 计算机软件专业开展现代学徒制的主要方式(The main ways of carrying out the modern apprenticeship majoring in computer software) 计算机软件专业的人才培养目标就是要让学生成为能够参与实际软件项目的工程师,而这样的工作非常适合开展现代学徒制的教育模式。一般而言,可以通过以下几种方式来实现人才培养过程: (1)课堂教学中的项目化教学。授课教师通过将曾经做过的实际项目引入课堂,以学习知识培养技能为切入点,较为全面地传授学习领域的有关知识。这种项目化教学模式需要有相关的课程体系支撑,合理安排前导课程、后继课程之间的关系,并规划好每门课程中的主要任务,使得学生的学习过程是一个较为连续的知识和能力提升过程,在不同的项目中实现知识的积累和迁移。 (2)工作室教学模式。技能熟练的教师可以组建自己的工作室,承接校内外的实际项目,带领学生在“做中学”,这就要求教师有实际项目经验和娴熟的技能。这种模式要求合理安排好学生的学习时间,既不能影响到正常的课堂教学任务的实施,又要保证有一定的时间用于在工作室中实践。一般有两种解决方式,一种方式是集中几周进行项目实战,在这几周内全部时间用于一个或几个项目的完整实施;另一种方式是每天固定安排一定的时间段进行项目实战,在不影响其他课程教学的同时,从时间上有一定的连续性、稳定性。但受项目的规模所限,教师个人主导的工作室教学模式往往保证不了实施过程的系统性、规范性,与企业的真实情境还有一定距离。 (3)传帮带的学徒模式。在软件企业中,很多时候是可以将较大型的项目分解为多个子项目的,化繁为简,完全可以由学徒来完成,但一定要由企业的师傅全程跟踪指导,避免拖延工期或者与设计思路相背离的情况发生。企业中实施的项目往往具有过程完整、实施规范的特点,学生可以通过承担不同的角色,参与到项目的不同阶段,既要知道要做什么,又要理解为什么这么做,还要知道如何让用户更满意。同时,在较大规模的开发团队中,可以学会如何分工、沟通、协作,培养综合的职业素质,有利于今后的职场发展。 (4)拓展提高的自学模式。经历了实际项目的洗礼之后,如果学生真正学到了扎实的知识和技能,并能够培养出兴趣,将会主动地更深入地学习相关知识,教师只需要进行指导、答疑即可,学生会自主地构建自己的知识和技能结构。这种模式需要学校提供有效的网络教学平台,教师向学生推荐优秀的教学资源,与学生保持交流,也通过帮助学生解决实际问题提高教师的实战水平,教学相长,共同提高。 4 校企合作的几种模式(Several patterns about the cooperation of colleges and enterprises) 在实行现代学徒制的教育模式过程中,最根本的问题是要解决好校企合作、共同育人。一般来说,校企双方有以下几种合作模式: (1)学校为发起人,邀请企业参与,成立职业教育集团、校企合作委员会、专业建设委员会等。这种模式下,学校与企业的联系较松散,并不能对企业有所要求或者制约,企业完全是出于社会责任、用人需求、个人关系等方面而与学校合作。 (2)企业为发起人,邀请学校参与,成立校企合作理事会,设立企业冠名班等。在这种模式下,企业在长期的人才需求基础上,希望学校输送较为稳定的、优秀的人才,并且企业有能力接收大量的学生实习、就业,学校与企业联系较为紧密、稳固,便于开展工作。 (3)学校办企业、企业办学校的多元办学主体模式。学校为了引进企业工作情境、企业工程师,自己成立校办企业,或者规模较大的企业自己出资创办学校,都可以使得校企双主体无缝对接,在真实的工作环境中,实现产教融合、工学结合。 5 学校、企业、教师、师傅、学生五者之间的关 系(The relationships among colleges,enterprises, teachers,master workers and students) 在学徒制的教学过程中,学校、企业、教师、师傅、学生各有其职责与分工: (1)学校是教育的第一主体,对培养学生负有全面责任,需要设置专门机构进行校企合作,通过对企业的考察,选择有一定规模、管理规范、有较强社会责任感的软件公司进行深入接触,最终制订合作方案。学校需要制订学徒制教学过程管理的相关管理办法,从制度上保证教育过程的顺利实施。 (2)企业是教育的另一个主体,从其尽社会责任、本身用需要出发,需要有专人负责与学校合作,共同实施人才培养的全过程。需要提供学徒所需的工作条件、适当的报酬,并要承担学徒工作过程中可能产生的损耗和损失。 (3)学校需要安排与企业师傅对接的专业教师,教师一方面应该深入企业,提高实践能力,另一方面应该指导、督促学生按企业的工作要求学习相关的知识和技能,引导学生将学习情境知识转化为工作情境知识,并按学校相关规定管理、考核学生。 (4)师傅是代表企业实施教育过程的责任人,既要作为企业员工完成工作任务、创造效益,又要作为教师培养学生职业能力,带领学生完成实际项目,发现错误及时纠正,以免造成损失,在学生工作过程中给予必要的示范和指导,帮助学生积累工作经验。另外,师傅通过带徒过程,也是为企业培养人才、发现人才的过程,帮助企业储备优秀员工,从人力资源角度创造具有更深远意义的价值。 (5)学生是受教育的主体,具有双重身份,既是学校的学生,又是企业的员工[1],既要完成学校规定的学习任务取得相应的成绩,又要完成企业提供的实际项目提升职业能力。学生在教师、师傅的双重指导下,从学生转变为员工,从初学者成长为熟练的工程师,是学徒制教育模式的最终受益者。 6 校企、师生、师徒之间的博弈(The game between colleges and enterprises,teachers and students,and masters and apprentices) (1)学校、企业是两个教育主体,既是教育的实施者,也是成果的受益者[2]。学校通过学徒制教育模式可以深化教学改革,培养出质量更高的人才,也促进教师双师素质的提升,从而提高专业的社会影响力,树立学校良好的社会形象;企业通过与学校合作育人,将岗前培训工作融入到学徒培养中,既可以利用学生完成一些较为繁重的工作,节省部分人员开支,又可以在此过程中发现、培养出企业所需的优秀员工,提供源源不断的生力军,有力于企业的发展壮大。但是,在合作过程中,免不了会因各自的利益诉求不一致而有所分歧,学校注重的短期效益是希望让学生真正学到知识, 长期效益是学生将来能在软件企业中稳定发展;企业注重的短期效益是希望学生较快地适应工作岗位,开始创造价值,长期效益是学生将来能够为企业服务[3],而不是“为他人做嫁衣裳”。 (2)教师是知识和技能的传授者、引导者,学生是知识和技能的学习者,也是自身知识和技能体系的构建者。教师希望学生对程序开发工作充满激情,尽快地理解、接受知识和技能,主动地按步骤完成项目中的各个任务,有问题首先自己想办法解决,解决不了的再向教师请教;学生多数很难热爱程序开发工作,对编写代码有一定的畏惧心理,出现问题马上想到的是问老师,不愿自己苦思苦想、独立面对,这就很难锻炼出优秀程序员的品格与毅力。在教育过程中,首先要明确的就是学生的主体地位,教师只作为引导者,想方设法激发学生的兴趣和热情,教会学生正确的学习方法,及时发现学生的不规范、偷懒行为,加以督促和激励,养成踏实、认真的职业素养,并帮助学生规划好未来的职业发展,树立正确的择业观念。 (3)师傅是企业的代表,具有员工、教师的双重身份,而学生具有学生、学徒的双重身份。师傅要按企业的要求带领学徒完成生产任务,又要实施技能和知识的传授,师傅希望学徒以较高的质量和效率完成承担的工作任务,希望学徒自己通过自学来提高能力,而不是事事都依赖师傅的教导和明确的指令;学生要按学校的要求作为学徒参加企业的生产实践,希望能够通过这个过程学习到课堂上学习不到的知识和技能,积累工作经验,完成从学生到员工的身份转换和职业生涯的初步铺垫,希望师傅给予更多的指导和经验技巧的传授。 7 结论(Conclusion) 无论是学校、企业,还是教师、师傅、学生,都希望从较为稳定、长期的校企合作教育模式中获得自己所期望的利益,因此最重要的是要具有可持续发展的基础,其中的关键点在于通过校企深度合作,构建牢固的纽带关系,实现各方利益的最大化,这也是实施现代学徒制教育模式需要长期研究、摸索的课题。相信随着国家的顶层设计、各级教育主管部门的具体规划、职业院校的真抓实干、企业的真正参与,高职院校的计算机软件专业必将迎来又一个改革的春天。 计算机软件专业毕业论文:计算机软件技术专业人才培养的研究与探索 【摘要】针对当前计算机软件技术专业的招生与就业现状,分析了为什么难以培养出足够多高质量的计算机软件技术人才,并给出了一些高等学校进行软件技术专业人才培养的一些思路。 【关键词】软件技术专业;人才培养;高等教育 1.引言 1995-2005是我国计算机行业的第一个快速发展时期,各个高校大力发展计算机专业,几乎每个高校都设有计算机专业。国内知名的IT企业几乎都是在这个时期发展起来的。到今天,十几年的人才积聚让计算机教育行业渐露疲态,进入人才饱和甚至过剩期,计算机专业已经成为高校应届生就业率最低专业之一。但纵观人才市场,“硬过剩”并未出现:各类IT培训机构层出不穷,陆续输送大量计算机人才;招聘网站IT职位的招聘更是持续火爆,供不应求。为什么高校计算机应届毕业生不再受青睐,甚至毕业后需要参加培训机构“重修”?十年光环下的高校计算机教育是否开始走向堕落?是谁一手砸了计算机学生的金饭碗?[1]这就不由得教育工作者来思考一个问题,为什么高等学校培养不出来足够多的高质量的计算机软件技术专业人才? 2.问题的分析 传统机械的高校教育难以承载多元化的企业需求,将计算机人才推到一个怪圈:一方面海量应届毕业生苦于工作无果;另一方面软件工程师,网络工程师等IT相关职位常年处于招聘热门职位前列,招聘网站一天的招聘信息竟达到万余条。企业需求与高校教育间不断被拉伸的真空地带,由日渐兴盛的各式培训机构迅速填充起来。“学以致用”这条传承千年的办学基准,难道当代计算机教育已经不再适用了吗? 那么有没有深层次的思考过为什么我们高校培养不出来合格的计算机人才呢?通过多年的学习经验、工作经验、项目开发经验和深刻地思考我认为有以下几个方面的原因: (1)学习计算机学科的方法。我们会发现这样的一个现象,计算机学的好的往往不是计算机专业的学生。一些学物理的、数学的、法学的、哲学的等等其他专业的学生最后转学计算机都很出色。我们的生活中也不乏类似的人才。还有一些培训班上培训的学生,整体高出学校培养的学生。那么这些现象能否说明一些问题呢?我们的课程设置和企业应用之间是否有矛盾?也就是我们是否进行了按需教学和学习呢? (2)计算机专业是个理论性很强很抽象的专业。尤其是计算机软件技术部分完全是抽象的。全凭个人想象,概念在每个人脑海中的印象是不同的。软件设计是在理解这些抽象概念的基础上进行产品的设计。在产品开发环节也和其他专业有所差异。比如机械加工类,学习集中在几个典型案例的教学上,学习了轴类加工、盘类加工、箱体类加工、齿轮类加工任务后,那么以后做个其他类似的东西基本上不存在障碍的。可是软件就不行,这次做个成绩查询系统没问题,下次你做个图书管理系统,会因为系统环境,设计思路、业务流程、相关技术、编程语言的改变就不一定很顺利。正如行业有句话:“软件的正确性主要依赖于编程人员的技术水平和知识结构”。 (3)课本是硬伤,师资是软肋,实践经验是缺陷。我们选用的教材往往都是一些规划教材、省部级重点建设教材等。这些教材从编写到出版使用的周期至少在1年以上,甚至有些教材需要更长的时间,与IT行业18个月技术更新一次的法则远不适应。还有些教材就是从学校到学校,从老师到老师,没有企业实践人员的参与。大部分的老师是从学校到学校,缺乏项目开发的实践经验,更缺乏从企业一线走出来的工程实践人员。 3.问题的解决 那么介于以上的对问题的思考和分析,应该如何进行计算机专业人才培养的改革呢?我认为应该从以下几个方面着手: (1)以一些入门课程让学生快速了解和掌握计算机硬件设计、软件及计算机工作过程的基础知识。对计算机专业来说要做到理实并重,将理论性抽象性的知识简单化、形象化,更适合高职专业计算机学生的学习,做软件技术的如果没有深刻的理论知识犹如无源之水无本之木。 (2)以应用技术为主、做到按市场需求学习。计算机语言、软件设计思想、数据库技术、流行技术、前沿技术等都要涉及。最主要的要注重实习实训环节。让学生在实习实训环节对所学的知识能有个很好的应用和总结。 (3)整合课程设计和实训。力尽在实训中完成项目驱动的教学思路。我们发现大部分课程设计学生都做了一个简单的MIS系统,三年下来学生用一个MIS系统可以应付好几门课的课设或是实训。应很好地把这些课设实训的时间整合起来,严格要求、精心规划、以标准的软件开发规范和产品去指导学生进行软件开发的学习,从中将课程中学习的东西融会贯通。通过项目来锻炼学生是最好的办法。 (4)以案例引导、项目驱动、团队协作、小组教学为主要方式,不再以个人为教育单位,2-3人为一个项目组。一来模拟实际项目开发的真实环境,二来通过学员间的协作互助,培养团队协作的能力,可以解决一些我们老师难以触及的问题。 (5)校企合作。校企脱节是所有高校 计算机教育问题的根源。目前很多培训机构都与企业签署长期协议,帮助培养定向人才,想一想,为什么协议对象不可以是广大高校呢?企业直接和高校签订用人协议,通过大三一年的实践进行定型培养,毕业后合格即直接招收。这样一来,取代了流于形式的企业实习,同时解决了教育与需求接口的问题,一举两得。[1]和其他专业的校企合作相比,计算机专业校企合作更为灵活,应走出一条体制多样性,机制灵活性的校企合作新思路。学校实验室环境和企业实际环境十分相似 只需有较强的企业实践的老师或是人员和标准开发过程,即可达到校企合作来锻炼学生的目的。 (6)老师要培训。计算机技术发展是很快的。每天出几个新名词是很平常的事情。新旧技术更替很快。专业老师应该不断学习充实自己,最好的办法就是培训。 (7)加强对学生的素质教育个人文素养的培养。介于高职层次学生的质量,应该对学生做足够多的入学教育和平时的素质教育,如:学生对大学应该如何认识,大学生活如何度过,对专业的整体认识,专业如何去学习等等。在平时多些素质教育的内容,以提到学生团队协作的能力,吃苦耐劳的能力,与人相处的能力等等。加强其内在修养。 4.总结 如今正是信息量成指数膨胀的时代,随着嵌入式技术、物联网技术和云计算等技术的发展各个行业对信息化智能化发展的要求越来越强烈,信息处理设备及平台的扩张使得用户也在不断的扩张,IT行业即将迎来第二个高速发展阶段,我们应抓住机遇发展我院计算机教育事业。 计算机软件专业毕业论文:计算机软件外包专业学生的英语学习策略研究 摘 要:本文在分析中国软件外包行业发展态势的基础上,说明了英语学习对该行业人才发展的重要性。针对面向欧美外包的软件专业人才英语能力要求与培养现状,梳理出软件外包欧美方向的学生在英语学习的过程中存在的问题,并提出解决对策,以培养出适合本行业要求的“英语+专业”的优秀合格人才。 关键词:软件外包;英语学习困难;英语学习策略 一、引言 信息产业是关系国民经济和社会发展的基础性、战略性产业。近年来,在国家的高度重视和大力支持下,我国信息产业取得了飞速的发展。但是既懂英语又懂技术的复合型计算机人才的缺乏,严重制约了我国信息产业的国际化发展。本文试图从中国软件外包行业的发展态势分析计算机软件外包专业学生英语学习的重要性。在人类社会进人信息时代的今天,随着科学技术的飞速发展,国际学术交流日益频繁。对于计算机等电子专业而言,85%以上的专业资料都是以英文的形式出现。英语也是目前我国科技工作中的首选外语,作为计算机专业人员,熟悉和掌握计算机专业英语,了解科技英语结构,就能跟上社会前进的步伐,在科学技术领域与世界同步。 计算机领域是科学与技术飞速发展的领域,新的计算机专业词汇、术语不断涌现;计算机操作过程中又会面临大量的提示信息;在信息高速公路、Internet发展如火如茶的今天,计算机网络上大量的英文信息又迫使我们不仅要掌握计算机类专业英语的知识,而且要面临知识更新。 目前,我国大力推进服务外包经济的发展,推动加快由“中国制造”向“中国服务”的经济发展方式的转变。服务外包产业在我国经济中的比重逐年上升,软件外包,尤其是面向欧美市场的软件外包异军突起,开辟了吸纳大学生就业的重要渠道。软件外包的迅速发展除了要求在软件外包专业应用型人才的培养上要注重软件项目开发能力、职业化素质和工程化能力之外,更强调的是注重英语能力的培养,尤其是行业沟通和专业表达能力,这对该专业学生的英语学习提出了更高的要求。“懂技术的外语人才”已成为企业的发展瓶颈。因为英语是软件行业中的国际语言,尤其面对欧美市场,要做好软件外包项目,必须充分了解客户的需要和想法。就目前来看,制约我国软件人才能力发挥的一个很重要方面是学生英语表达能力较弱,缺乏基本的对外交往沟通的能力。 因此,面对通过服务外包可以给我国带来的巨大经济效益,在高层次上快速地培养出大批量的具有较高素质、较高技能和基本精通行业用语的外包人才成为软件外包专业最紧迫的任务。 本文通过对计算机软件外包专业学生英语学习现状的调查、分析,依据相关理论,总结出有利于培养学生英语学习的因素,同时也发现了明显阻碍学生英语学习的因素,并在此研究的基础上,针对计算机软件外包专业学生英语学习策略提出了若干建议,以便更好地促进该类专业学生英语的学习。 二、国内外对计算机软件外包专业学生英语学习策略的研究现状 国外研究现状和趋势: 20世纪70年代代表人物主要有Rubin和Naiman等。Rubin着手研究成功外语学习者的学习策略。在此阶段,人们主要是研究成功外语学习者的共同特征。Rubin指出:外语学习者在心理特征和学习方法上有许多惊人的相似之处。Naiman等把学习策略与认知风格、个性、智力、语言潜能、态度等方面结合起来进行研究。 80年代,研究者们对学习策略的确认和分类作了进一步的探索,他们研究了学习策略与语言学习过程的关系以及语言信息加工、处理的认知过程。Politzer Mcgroarty 指出外语学习策略的使用与文化背景密切相关,O’Malley Chamot在实验研究中,也证明了学习策略训练的可行性,并出版了描述外语学习者策略的著作。 90年代的学习策略研究出现了几个新的趋势:第一,外语学习策略的研究与自主学习的研究结合起来,如Wenden 于1991年出版的Learner Strategies for Learner Autonomy主要探讨了外语学习者策略与自主学习的关系。第二,外语学习策略的培训成为学习策略研究的重点。Rubin 和Thompson于1994年出版的How to Be a More Successful Language Learner以及Chamot等人于1999年出版的The Learning Strategies Handbook都是通俗易懂且十分实用的外语学习策略培训手册。国外对计算机软件外包专业学生的英语学习策略研究甚少。 国内研究现状和趋势: 我国对英语学习策略的研究最早始于20世纪80年代初,但是成果数量不多且研究面不够。最早在国际杂志上发表的外语学习策略研究论文是黄小华的Learning Strategies for Oral Communication,该研究考察了我国英语专业四年级学生口语策略与口语水平的关系。文秋芳对学习策略进行了最系统、最深入、最持久的研究并发表了一系列论文并在1996年出版了专著《英语学习策略论》。 目前我国学者和教师研究最多的是:英语专业学生与非英语专业学生的学习策略差异研究、阅读策略、写作策略、听力策略和词汇学习策略等单项策略与英语成绩的关系以及观念、动机等与英语水平关系的研究。总体说来,对英语专业学生学习策略的研究多于对非英语专业学生学习策略的研究,对单项、具体策略的研究多于对整体系统策略的研究。尤其对计算机软件外包专业学生的英语学习策略研究甚少。 三、软件外包专业学生在英语学习中存在的问题及解决对策 目前,在国际化的背景之下,国家和社会对大学生的外语水平特别是英语水平提出了更高的要求。外语特别是英语学习也便成为人们关注的焦点。齐鲁工业大学信息学院的软件服务外包校企合作平台是一个面向软件服务外包人才培养,由学校、企业、培训机构共同承担,通过人力、知识、技术、设备、信息及政策等资源的互动实现人才培养共建、共享、共赢的一种组织形态。校企合作平台采用了“项目引领”和“订单式培养”相结合的培养模式,在校企合作平台中计算机职业英语能力的培养是一个重要环节。然而,计算机软件外包专业学生的英语学习还存在一定的问题和困难。比如,我们根据学生英语学习观察和深入的调查了解,发现学生在英语学习方面主要存在如下一些问题: 1.学习者情感策略消极,社交策略缺失 语言是交际的工具。我们只有在语言的使用过程中才能真正地理解和掌握语言。在英语语言学习中必然涉及自我情感的控制和与他人的交往,其成功在很大程度上取决于如何处理这些因素。大量事实证明仅靠语言形式的学习和操练是达不到语言学习效果的。此外,该领域的研究普遍认为,语言学习与情感有关,而且如果有利的情感状态占主导地位,学习成功的可能性会更大。可见,针对计算机软件外包专业的学生,要真正掌握所学英语,就必须能主动地驾驭自己的情感状态,克服消极的情感成分,如害羞胆怯和怕出错等。同时,还应把英语作为一种交际工具,寻求在真实语境中使用语言的机会,加强人际交往策略学习和运用。调查显示,在英语课堂上55%的学习者处于被动听讲状态,33%偶尔参与,积极主动参与课堂活动者仅占12%,在课外经常寻找机会开展英语交际活动者仅有5%。导致这些现象的原因主要有:传统教学形成的被动习惯(64%),没有兴趣(16%),怕出错被人嘲笑(11%)和缺乏机会(90%)。 2.认知能力不足,学习策略失当 在英语学习中,尤其针对计算机软件外包专业的学生,大多数的学习者缺乏这方面的理论知识,对英语学习的策略和方法认识不够。在我们的教学中,我们经常对学生的学习情况进行访谈,在访谈中了解到,很多学生认为英语学习就是背单词和记语法,而背单词的方法大多是采用机械式的反复默写,利用上下文的情境和构词法知识灵活地记忆单词的学生却为数不多,多数学生认为学英语就是要多读、多记,若要问他们采用这些方法的原因,很多学生便回答,“多年来一直这样学的”。即便有一些学生认识到这种学习效果不是很理想,但也很少去寻求更好的学习策略和方法。 3、反思意识淡薄,被动思想严重 根据学习策略理论,元认知策略或管理策略在所有的学习策略中占有主导地位。自我管理或监控对学习者语言学习策略的使用具有制约作用,占语言学习策略之首。可以说,学习的成就在一定程度上取决于学生是否具有反思的意识,是否使用管理方法,或管理方法使用的好坏。然而,根据我们的调查,51%的学习者很少有自己明确的学习计划,而更多情况下是被动地按老师的教学计划和要求学习的。在大学英语学习期间,反思自身学习策略有效性,对学习进步情况进行评估者仅占22%左右。经常针对自己学习过程中存英语学习过程中的重要作用,其学习过程属于被动接受型。 针对以上情况,学校应重视和加强英语教学,尤其是在结合专业知识传授和技能训练的同时,有针对性地培养和强化学生的英语应用能力。教育部门为我们的英语教师的教学提出了明确的要求,在教学中,教师的作用和地位不能轻视,这是不争的事实。然而,教师的“教”归根到底还是为了学生的“学”。英语学习归根到底是学生自己的学习。课堂教学是学生语言实践的重要场所,课堂教学不仅要扩大学生的语言知识,加强和提高学生的语言综合应用能力,还要帮助学生养成良好的学习习惯,培养学生自学能力。应努力让学生懂得英语学习是一门实践课,要求学生主动参与,积极实践,不断地积累,并要持之以恒。因此,运用反思性英语学习方式,来培养学生的英语学习能力是十分必要的。 在针对计算机软件外包专业学生的英语课堂教学中,教师应注意积极创设模拟的真实语言交际环境,通过交际活动培养学生的语用能力,学生会意识到学习英语的目的是进行交流,他们会更乐意接受他们将要学习的内容。也可以结合教学内容,选择多样性的教学方法或活动方式去达到教学目的,例如可以采用主题式教学法、分组讨论法,启发式教学法、项目驱动法、案例分析法等多种教学方法,通过教师的主导调控,学生的主体参与,让学生在浓厚愉快的实战环境中将课本的知识转化为自身的语言技能。 兴趣是天然的老师。针对计算机软件外包专业的学生,英语教师还应充分利用多媒体技术,通过音频、视频、图像等资料,丰富课堂教学,加大课堂信息量,让学生在生动形象的语言环境中进行学习,提高其学习兴趣,进而提高教学的效率和质量。学生个人应结合自身的实际情况,不断积累英语基础知识,在英语学习上多下功夫,掌握基本的听说读写译能力,从而提高英语的沟通表达能力和实际应用能力。 四、调查问卷研究 在此基础上,本文对作者所在学校计算机软件外包专业的学生进行了问卷调查和访谈,以了解大学生学习英语的现状。调查问卷涉及“英语学习态度”、“教师角色和师生交流”、“课堂参与”和“英语学习策略”四个部分,将接受调查的学生按期末成绩分为A、B、C三个等级。通过数据分析和结果比较,作者得出以下结论: 首先,大多数学生有学习英语的意识,他们认识到应该为自己的学习负责,但仍需要教师的帮助、指导与监督;其次,他们有强烈的英语学习动机,尽管动机不尽相同;此外,他们也意识到了学习策略的重要性,但在具体的选择和使用上有所欠缺。在对计算机软件外包专业的学生英语学习能力的现状进行分析和总结的基础上,本文就培养计算机软件外包专业的学生英语学习能力的策略作出探讨。 文章指出,要培养计算机软件外包专业的学生英语学习能力,首先应激发学生英语学习的动机,其中包括培养学生学学英语的兴趣、建立明确适当的学习目标、及时检测学习效果和适当参与竞赛等;其次,要加强学生自主学习英语的方法训练;再次,要加强学生在学习过程中的自我监督;另外,需重新定位教师在英语教学中的角色,让老师成为学生学习英语的积极倡导者、培训者,信息提供者;最后,应营造英语学习的良好氛围,借助良好的课堂环境、自主学习中心和英语角为学生英语学习提供立体的支持和帮助。 针对所面临的不同问题,不同类型的学生可根据自身情况,采取不同的措施。 学习动机不足型学生要想办法激发学习动机,而学习策略水平低型学生要通过改善学习策略来提高学习能力。另外,教师要改变教学观念,帮助学生树立英语学习的主体意识;还要改善教学手段,利用网络、多媒体等技术,营造英语学习氛围。 五、结语 了解软件外包在我国的发展前景,理清目前高校教育中软件外包人才培养中大学生英语学习存在的问题,找出解决方案,培养出合格的人才,一方面可以缓解社会上“英语+专业”的综合性软件人才奇缺的现状;另一方面也拓展了高校人才的就业渠道,提升了人才的就业层次,为我国软件外包快速发展打好坚实的基础。计算机技术日新月异,各种硬件和软件更新换代周期越来越短,大量的新思想、新概念、新软件通过互联网和各种渠道源源不断地涌现在每个人面前。学计算机软件外包专业学生学习英语已成为在线阅读和各类应用的迫切需要。本文在分析中国软件外包行业发展态势的基础上,说明了英语学习对该行业人才发展的重要性。计算机软件外包专业学生的英语学习,通过模拟真实lT行业工作流程,可以锻炼学生在实际工作环境中的英语应用能力,巩固其计算机的基本知识和技术能力,最终使学生掌握专业能力和社会能力,为将来的就业打下良好的基础。 计算机软件专业毕业论文:基于就业导向的高职院校计算机软件专业课程探讨 摘 要:近年来,计算机软件学生就业日趋困难,高职计算机专业人才培养与社会需求慢慢开始脱节。本文从就业出发,对计算机软件专业课程建设进行了探讨,以期对相关从业人员有所借鉴意义。 关键词:计算机软件;高职;就业 一、高职院校计算机软件专业就业现状 当前计算机软件专业学生就业中普遍存在以下问题:一是专业技能不足,又无实践经验。很多高职院校盲目利用本科的教学模式,重理论、轻实践,重课堂、轻课外,讲授较多,具体专业技能实践训练较少,学生实际积累的实践经验十分有限。二是人文素质不高。由于部分求职者缺乏沟通交流技巧、语言表达能力差、应变能力不强、协调以及团队合作意识欠缺等因素,严重影响了其就业竞争力。三是随着高职软件专业学生就业期望值不断上升,很多人盲目提高求职目标,过多地追求薪水、待遇和工作环境,很大程度上缩小了就业面。四是软件专业的特点是知识更新速度比较快,但是课程内容往往滞后于时代的发展,相关教材内容也来不及更新,各种编程教材大同小异,导致很多学生在走出校门时,所学知识已经过时,不能满足岗位的需要。鉴于上述问题,需要我们对当前高职计算机软件专业课程进行重新审视。 二、高职 院校计算机软件专业课程改革思路 1.明确高职软件专业的培养目标 很多高职计算机软件专业盲目沿袭本科教育的培养模式,把职业教育等同于一般的学历教育,没有体现出高职教育重技能,突出动手能力的特点,造成很多学生缺乏实践应用能力,而且软件专业人才的培养对数学和英语要求并不是很高,对所学习的专业和年龄也没有限制。唯一需要的就是拥有扎实的技术和丰富的经验。因此,作为高职计算机软件专业教学应以培养生产或服务企业一线的技术应用型人才为宗旨,为社会输送大量具有较强职业技术能力,具备一些软件专业学生所应具有的某一方向的独立或合作开发软件产品的能力,或稍经培训就能胜任某一与软件开发或应用有关的工作的能力,能适应市场经济发展需求,在生产、服务和管理第一线从事计算机软件的应用开发与软件的维护及复杂软件的使用工作,以及相关技术岗位的技能型人才。 2.完善计算机软件专业课程体系的改革 作为高职计算机专业,应该摆脱通才式课程设置模式,可以借鉴一些电脑培训学校的经验,对课程体系进行改革,以必备的基础知识和专业基础知识为起点,重点加强学生实践能力的培养,在技能类课程、与职业资格证书有关的课程设置方面予以倾斜,保证学生获得较高的职业能力和职业素养。在课程内容讲授方面也注意减少记忆性课程内容,缩减理论性知识的讲授,加大实践内容的比重,将本学科的最新知识与学生的在岗实践密切结合,加强对学生从业经验的培养。 3.完善计算机软件专业考核模式的改革 计算机软件专业课程改革离不开考核方式的变化,考核评价方式对学生学习起到引导作用,以前单一的通过笔试的方法对学生进行考核已经不适合高职教育发展的需要。为了保证高职计算机软件专业学生综合素质的培养,应该采取多样化、个性化的考核方式,注重过程考核,增加对学生逻辑分析能力和具体操作能力考核的比例。例如对专业技能和实践实训模块的测试则采取机试+面试的方式,一般在考试前一到两周布置大量的设计模块,由学生自由选择并完成,然后由考评小组对学生的设计或作品进行评级,为防止学生相互拷贝,考评小组要对每个学生提出几个相关问题进行面试,对培养学生的创造能力和操作技能具有重要意义。 总之,随着软件的普及以及应用,中国软件产业逐渐步入成熟期,IT 产业作为知识密集、技术密集的产业,其迅猛发展的关键是具有一大批从事IT 技术创新的人才,高职计算机软件教学应该以就业为导向,从人才培养目标、课程体系改革以及完善考核评价方法等多方面入手,培养出高素质的综合型专业人才,从而满足社会发展的需要。 计算机软件专业毕业论文:“以就业为导向”的高职计算机软件专业人才培养模式探索 [摘要]针对高职院校计算机软件专业的就业现状,文章提出了“以就业为导向”的高职计算机软件专业人才培养模式。该模式采用逆向工程的理念,强调一切以就业为核心的观念,突出职业技能和职业技能的培养;坚持校企合作、多模式教学的方针,旨在全面提升毕业生的就业能力。 [关键词]就业为导向 人才培养模式 逆向工程理念 校企合作 一、“以就业为导向”的人才培养模式的提出 (一)高职教育培养目标的要求 高等职业教育的培养目标是培养具备一定管理能力的高技能应用型人才,重点培养以实践能力为基础的职业能力,以服务社会为宗旨。这就说明,高职教育是“以就业为导向”的教育,其核心就是就业教育。“出口畅,入口才能旺”。高职毕业生就业情况的好坏,直接影响招生情况,是关乎高职院校生存与发展的核心因素。因此,高职院校一定要加强学生职业能力的培养,树立高职教育“以就业为导向”的核心观念。 (二)高职计算机软件专业就业形势的要求 研究表明,目前我国IT市场是非常缺乏技术精良的软件人才的。然而另一个不争的事实是,高职计算机软件专业毕业生就业情况并不理想,能够在软件企业找到合适工作的并不多,整体上就业质量不高。造成这种尴尬局面固然有软件企业人才流动高、软件人才结构失衡等客观因素,究其主观原因还应是高职院校培养的毕业生达不到企业的用人标准,满足不了服务企业的实际需求。校企严重脱节,无法实现高职教育的培养目标和服务社会的宗旨。为了解决这一突出而急迫的问题,就应建立起“以就业为导向”的人才培养模式。 二、“以就业为导向”的人才培养模式的基本理念 (一)借鉴逆向工程理念 逆向工程是对目标产品进行逆向分析及研究,从而得出该产品的生产设计过程,是一种产品设计技术的再现过程。这种逆向工程应用到人才培养模式上,就是学院根据当前软件企业实际的用人标准与需求,提炼出就业技能和职业素质要点,确保学生学到企业所需的知识和技能,最终实现校企的无缝对接,以此制定出相关的人才培养目标和计划。 (二)精准定位学生就业岗位 根据软件企业的岗位需求和学生的专业特长,培养相应的Java高级程序员、.NET高级程序员、网站设计师、数据库开发工程师等高技能专门人才。学生有着明确的学习目标、就业方向,会产生强烈的角色认同感和自信心,这样可以大大提高学习的主动性和积极性,确保可在较短的时间内完成从“学校人”或“社会人”向“职业人”的过渡。 (三)全面提升学生的就业能力 就业能力包括培养学生的职业技能和职业素质两个主要方面。职业技能主要包括:基础理论,客户端,框架原理的理解,编程的熟练度、规范度,项目开发与管理能力等。通过大量的项目实战演练,使学生完全掌握这些技术。职业素质主要包括:能够适应软件行业的工作特点,具有良好的思想品质和职业道德,拥有健康的身体和心理,能够在压力下学习和工作,具备学习和工作方面的主动意识,具备良好的沟通表达能力和团队合作意识及能力,具有强烈的责任感和事业心,等等。通过对职业技能和职业素质的培养,可以全面提升学生的就业能力,达到企业的用人标准,从而实现高质量就业。 三、“以就业为导向”的人才培养模式的建设措施 (一)加强课程体系建设 通过深入企业和市场调研,得知企业要求更加专业化、深入化的知识和技能,于是我们对课程设置进行了改革。在第三学年分为JAVA方向和.NET方向独立学习,使学生在某一技术方向上,不论是技术扎实程度还是实际开发能力都有很大的提升;增加一些就业指导方面的课程,全面提升学生的职业素养;加大项目实战的课时比重,使学生积累项目经验,真正达到企业所需要的开发能力;增设毕业设计项目开发,以团队合作的方式,使学生按真实的软件项目开发流程来完成设计、编码、测试等全过程,全面提升职业能力;确保课程设置包含目前最为流行的新技术内容,并且会根据新技术的发展情况进行更新,以保证绝对与企业的应用状况同步。 (二)深入进行教学方法改革 1.讲练结合。目前许多高职院校讲述计算机课程还是采用讲练分离的方式,即在多媒体教室讲述理论内容,然后在机房进行上机练习,这往往导致学生上课时听得津津有味,课下上机时却一头雾水无所适从。这主要是因为讲练分离(有时竟然会出现周一讲课、周五上机的极端情况),打断了学生的思路,使得学生知识记忆大幅衰减,导致教学效果大打折扣。 计算机软件教学要求应是边讲边练、加强测试环节、及时验证学生的学习效果,以保障教学效果零衰减、零差异。这就要求加强硬件建设,在机房中安装多媒体设备,在多媒体教室中配备学生用计算机。教师通过多媒体投影讲解一个实例后,马上让学生在计算机上调试演练。通过边讲边练的训练模式,通过实践加深印象的训练方法,让学生更好地理解知识点的使用,更快地记忆知识点内容,更容易提高实践动手能力。采用这种模式需要注意的是,要讲练同步,尽量避免学生在教师讲解时进行操作练习,更应杜绝打游戏、聊天等与教学无关的事情发生。 2.项目案例贯穿始终。通过前面的论述,我们知道要想实现高质量就业,就必须具备企业要求的职业技能与素质,而培养职业技能与素质的最佳方法就是进行企业项目案例实战。通过全程的项目案例,培养学生独立分析问题、解决问题、总结问题的能力,积累项目开发的设计经验,大幅提升项目开发与管理的能力,把学生打造成符合企业用人标准的实用型软件人才。具体做法如下:在明确了企业的技术需求之后,从其中提炼总结关键的就业技能点,并用项目驱动、案例贯穿的形式融入课程设计的全过程之中。采用分阶段训练、多维度培养、分层次深入等新型培养方式。比如每周有一个小型的项目案例;每学期进行一到两个课程设计,完成一个中型的项目案例;毕业设计时要完成一个企业真实的较大型项目。通过贯穿始终的项目案例教学与实战,可以大幅提升学生的职业能力,为毕业后早日融入企业打下坚实的基础。 计算机软件专业毕业论文:中职计算机软件及应用专业的改造与探索 摘 要:近年来,各中等职业学校在市场的号召下,在政策的指引下,纷纷开设了软件及应用专业。那么已经开设了十几年的专业该怎么改造来追随市场,保证今后的可持续发展呢?该文作者结合所在珠海一职校的工作经验,立足珠海本地计算机软件应用行业及企业的现状,探析了该专业改造的一些看法。 关键词:专业改造;人才培养模式;评价方法改革 一、现阶段本地计算机软件与应用专业的就业前景 珠海市是中国改革开放的前沿城市,市政府确立了大力发展信息技术产业的战略目标。2011年的政府工作报告指出:第二产业对全市生产总值增长的贡献率达74.8%,电子信息、生物医药等六大优势产业增加值占全市工业增加值的77.2%。为了配合信息化技术发展要求,珠海市建立了国家级软件园区――南方软件园,有力地促进了软件产业发展,为珠海的软件产业发展和创建打下牢固的基础。 随着计算机网络、通讯环境的建立,为各行各业的计算机软件及应用提供了良好的条件。而在“十二五”期间,电子商务也被列入战略性新兴产业的重要组成部分,未来的五年内还将处于一个蓬勃发展的势头,与之关联的电子商务网络服务人才需求量增大。同时,电子政务、企业信息化等应用日趋广泛,对软件的需求日趋提高,根据2010年珠海市人力资源部门统计数据,全市12000多家企业对网站开发测试、网络管理、网络编辑等岗位需求缺口达3万至5万人,其中,适合中职生就业岗位约占10%,岗位数达3000至5000个。 珠海市中职软件技术专业每年毕业生的数量约为200人,由此可见,计算机软件及应用专业毕业生在珠海及珠三角的软件、网络和电子商务网络服务等领域有足够的就业空间。为了更好地适应市场,提供市场所需的人才,保证计算机软件及应用专业今后的可持续发展,急需对本专业进行合理改造。 二、计算机软件与应用专业改造的具体实施建议 (一)人才培养模式改革 专业改造首先要考虑的是人才培养模式的改革。 (1)可依托当地计算机软件应用行业及企业,深化校企合作,与企业进行订单式校企合作培养模式改革。成立专业指导委员会,在专家的指导下,根据市场调研结果,开展订单式人才培养模式改革,再进行与订单式人才培养模式相适应的教学做一体化实训室建设。笔者所在专业已与锐捷网络和神州数码等相关软件技术企业开展深度合作,进行了订单培养项目合作。 (2)与高等职业技术院校合作,高质量展开“3+2” 形式的高技能人才培养工作,以满足当地计算机信息产业对不同层次人才的需求以及学生发展的要求。笔者所在软件技术专业班级已有两届学生通过“3+2” 模式升到大学。这种模式受到了家长和学生的追捧,也是今后职业教育发展的趋势。 (二)课程体系与教学内容改革 1.课程体系改革 通过对软件技术工作岗位职业能力的调研与分析,以就业岗位为基础,完善与岗位对接的课程体系,调整和优化课程结构。对软件行业的创新发展进行分析,每学年由专业建设小组展开企业岗位需求调查,研究在新形势下,软件技术工作岗位的需求变化。借鉴企业人才培养经验,使学校拥有与行业企业相接轨的课程体系。在教学项目的设置上,应尽量采用企业实际案例。 2.校企合作共同开发建设精品课程 依托当地IT行业及企业共同研发精品课程。笔者所在学校已与金山软件公司、同望科技公司、锐捷网络和神州数码公司、唯康通信技术公司、上海新朋程信息科技有限公司深度合作,以企业人才培养目标和要求共同开发精品课程。 (三)教学方法改革 (1)构建与企业工作岗位相一致的教学环境,引入企业实际项目内容,降低课堂教学与企业工作场景的差异。 (2)推进和完善“任务驱动、项目引导”等教学方法改革,将课堂延伸到企业中,直接进行实践性教学活动。将企业元素引入学校,建立企业工作室,真正将生产实践内容融于课堂教学中。 (3)推广以学生为主体的行为导向式教学方法,探索“自主、合作、探究、训练”的以强化学生职业能力的培养为目标的教学方法改革,有效提高学生学习的主观能动性。 (4)积极探索职业教育教学过程的互动性和开放性形式,改革师生之间“我教你学”的知识传授模式,实现“教与学”、“师与生”之间的“零距离”互动,借助方便、快捷的信息化平台,使学生和教师的 “教、学、做”有机结合。 ・专业建设・中职计算机软件及应用专业的改造与探索 (四)学生的评价模式改革 制定融合企业元素的评价模式,学校与企业共同制定学生学习质量评价标准,借鉴企业质量管理原则和方法,对学生的学习过程进行质量监控和评价。具体工作可分为: (1)设立教学(实习)过程质量监控点,展开评价、考核工作;对学生进行以综合能力为依据的全面评价,包括除考核学生的理论成绩外,还包括学生的职业素质、自学能力、创新能力、与他人的协作和沟通能力,以全面衡量学生的综合素质。 (2)以行业资格证书评价学生成绩。如:“网络设备的配置与管理”、“局域网与网络操作系统”之类的课程可实行“以证代考”。通过鼓励学生参加各级职业资格鉴定机构的考证,视学生考取资格证书的相关级别,给予学生一定的学分奖励,并替代对应科目的考试评价。 (3)以技能竞赛的成绩当作学生成绩评价依据。通过组织本专业群学生参加各级技能竞赛,以竞赛成绩作为学生专业成绩的依据。 (五)师资队伍建设 教师是专业建设的灵魂,师资队伍的建设是专业改造的重中之重。根据本专业建设和发展的实际,加强本专业师资队伍的建设工作,构建一支以学科带头人、骨干教师、“老、中、青”教师三结合的专业教师队伍。 1.有效实施专业教师继续教育工程 准确把握本专业发展方向,紧密结合本专业相关企业和产业岗位群所需,以有效培养高素质人才为目的来实施专业教师继续教育工程。 根据实施项目化教学、一体化教学、工作岗位场景式教学所需,进一步加强“双师型”教师培养。 通过参加专业认证考试等模式开展业务学习,鼓励专业教师考取技能等级证书和企业认证证书。 根据本专业发展趋势,每一名专业教师均应进行前沿学科的研究学习,设置一个主攻方向,确定一个以上的前沿学科专攻方向。 2.科学培养专业带头人和骨干教师 在专业教师队伍中,有效构建专业带头人、骨干教师的选拔、培养制度、激励机制。通过加强对专业带头人、骨干教师的培养力度,形成本专业具备特色的人才培养模式,使得优秀教师能脱颖而出,在日常的教育教学工作中发挥更积极的作用。 加强专业课题研究,申报和参与课题研究项目,通过课题研究的形式,在课题的申报、研究、结题等一系列活动中,加强专业带头人和骨干教师的教科研意识和业务领导才能。 3.加强青年教师的培养力度 完善“以老带新”的青年教师培养机制,选派德才兼备的骨干教师,全方位对青年教师进行科学有效培养。全部青年教师均有骨干教师作为指导教师,健全青年教师培养的监督、考核制度。 根据学校教育教学实际,开展青年教师教育教学基本功训练比赛活动。 4.从企业聘请能工巧匠 创新聘请企业专家作为兼职教师的动态管理机制,健全兼职教师激励机制,校内专业教师与企业专家分工与协作,共同参与教学研究、标准制定、培养方案优化、实训项目开发等工作。 计算机软件专业毕业论文:环境艺术设计专业计算机软件3DMAX课程教学探讨 摘要:文章结合环境艺术设计专业计算机软件3DMAX课程教学实践,针对教学过程中存在的实际问题展开分析,结合学生的实际情况,以实效性为原则,合理安排3DMAX课程内容,确定教学目标以及采取有针对性的教学方法,更好地促进专业教学改良,提升课程教学效果。 关键词: 3DMAX;计算机软件;教学;环境艺术设计 0 引言 目前,计算机培训课程作为高校的必修课程被广泛开设,尤其在艺术类院校,计算机绘图软件的应用大大提高了绘图的工作效率。3DMAX作为当今世界上功能强大的三维计算机应用软件,被广泛应用在建筑、室内、景观设计、影视动画、工业产品等领域。环境艺术设计专业的学生如果能够熟练应用该软件,不仅可以提高设计的表现力,也为顺利就业打下了良好的基础。 1 3DMAX教学存在的问题 3DMAX是集建模、材质编辑、灯光设置、渲染、动画制作等功能于一体的三维软件,拥有强大的虚拟模拟功能。[1] 作为环境设计专业计算机软件应用的一门重要课程,主要培养学生对三维室内外空间创意设计的思维方法,通过场景建模、贴图、灯光、渲染器参数设置,从而营造出真实的室内外空间效果图表现。然而在长期的教学过程中发现,由于3DMAX软件庞大繁琐的功能命令以及灵活多变的制作方法,使得该软件在教学上相对比较困难,学生在学习过程中也出现了较多的问题。例如:关于软件中英文版本的选择,初学者对英文版表现出抵触情绪,普遍反映不认识英文单词,对于工具命令的用途容易遗忘;大多数学生在学习过3DMAX课程之后不能在后续设计课程上运用;课堂教学主要针对室内居室空间设计效果图渲染,对于大型公共空间和室外景观场景的渲染相对较少;大多数同学绘制的效果图不能在实际的项目中应用;很多学生利用课余时间在软件培训班进行二次学习等。 2 教学方式探索与解决对策 针对以上问题,结合环境设计专业的学科特点与学生的实际情况,为了更好地改进当前3DMAX课程教学方式,提升授课效果,可以进行以下尝试: (1)版本的选择与教材的更新。首先3DMAX软件版本更新较快,很多工具和命令越来越完善,网上很多新的模型资源低版本无法打开,接下来的学习就会受到影响,这就需要学校能够及时更新软件和教材,任课教师也需要不断提高自身软件的应用能力,及时更新上课教案,选择一些比较前沿的案例进行讲解;其次是关于中英文版本的选择,艺术专业的学生文化课基础相对薄弱,大部分同学英语比较差,很多初学者对于英文版的操作只能死记硬背。因此结合学生的实际情况,可能选择中文版更容易被学生接受,如果选择英文版也需详细介绍工具名称、功能、用途等,防止学生只记住位置而不知道命令的具体使用功能。 (2)做好入门课程设计,培养学生学习兴趣,提高学生积极性。课程刚开始在学生对软件不了解的情况下,不要直接介绍窗口界面的基本操作,可以先让学生看一些3DMAX软件在各个领域的应用和表现案例,如居室空间设计、办公空间设计、景观设计、家具制作等一些应用实例。让学生了解3DMAX能做什么,做的怎么样,满足学生的好奇心。还可以展示一些历届学生的优秀作品,让学生建立一种能够学好的自信心,进一步增强学生的兴趣和积极性,为以后课程的开展铺设一个良好的开端。 (3)适当放慢教学节奏,给与学生充分的练习时间。由于3DMAX软件工具命令繁杂,因此想要灵活运用相对较难,在上课过程中学生看老师示范一遍之后自己操作过程会出现很多问题。可以采取讲――记――练相结合的上课方式,第一遍学生边记笔记边看教师讲解示范,接着学生结合笔记和示范的过程进行练习,然后带着问题听教师示范第二遍的同时补充笔记细节和找到出错原因,最后独立完成整个过程的操作。这样可以解决学生在听课过程中只记没看,或者只看没记的问题。 (4)采用启发式教学,让学生对于工具、命令的使用做到举一反三。在课堂教学中往往是教师针对一个模型或者一个场景进行操作演示,学生跟随老师的讲解用同样的方法完成案例。这一学习过程可能会让学生形成一种固定的思维,对于工具的使用往往死记硬背,而没有深入思考为什么这么做。因此,教师可在演示一种方法之后,引导学生分析物体的制作思路,让学生思考是否还有其他方式和工具可以达到,或者请学生到讲台上现场操作,激发学生灵感的同时活跃课堂气氛。[2] (5)分层次教学,由简单到复杂,循序渐进。目前环境艺术设计专业的3DMAX课程教学,更多集中在室内空间设计表现,而对于公共空间类型的渲染讲述相对较少。因此,教师可以根据课堂进展情况,允许学生根据自己的想象设计作品,或者多提供一些公共场景让学生课下练习,帮助学生在巩固已学知识的基础上进一步提高软件综合运用能力。 (6)对于接受能力较差的学生,充分地鼓励、耐心地讲解。学生接受知识的能力不同,上课过程中教师要保护学生的求知欲。避免出现厌烦情绪,不要把“真笨”、“怎么就忘了”等字眼挂在嘴边,对于接受能力较差的同学,可能会导致学生从此自暴自弃。因此,教师教学过程中应尽量平稳心态,耐心指导,鼓励学生认真记笔记,上课用心听,提高他们的学习兴趣和敢于克服困难的能力。 (7)与其他设计类课程相结合,达到反复训练的目的。3DMAX教学在整个环境艺术设计专业中起到承上启下的衔接作用,如果软件没有掌握好,会直接影响接下来设计课程方案的表现。很多学生在3DMAX课程进行中可以做出很好的方案效果,但是由于课程学习结束之后长期不练习,而导致所学知识遗忘,缺乏应用的连续性。因此如果每门专业课程都要求学生做3DMAX效果图,一直延续到毕业设计,这样不间断地训练可以督促学生加强软件的运用,同时也可以提高毕业设计的质量。 (8)充分利用网络平台,培养学生自主学习能力。由于课堂学习时间较短,教师需要照顾多数同学的学习能力,关于案例的实际操作也要适当调整难易程度,可能学习较好的同学就得不到更好地提高,因此教师可以提供一些专业学习的论坛或者网站让学生课下的时候自主学习,通过观看视频教程更全面地提高绘图能力。同时对于一些进步较快或者学习能力较强的同学也可以通过浏览一些优秀的作品,更好的提高自己的水平。 (9)设计和实践相结合,满足市场需求。在实际项目中甲方对于效果图的要求很高,专门的效果图公司做的商业图更能打动人,但是学生由于实践经验少,素材和模型也不是特别精致,做出的图在构图、比例、色调等方面或多或少会出现一些问题,不能满足实际工作的需要。针对此情况教师可以提供一些工程实例给学生临摹,让学生了解实际工程中图纸的表现应该达到什么程度,提高学生的设计和审美能力。 3 结语 总之,环境艺术设计专业计算机软件3DMAX课程教学确实有不同于其他专业教学的特点。作为艺术设计专业的教师,不仅要紧跟计算机软件发展的速度,同时还需结合艺术类专业学生的特点,对教学方法进行不断地总结与改进,在课程中注入新型的开放式创意教学元素,努力提高教学效果,培养出更适合当今社会需要的艺术类人才。 计算机软件专业毕业论文:视觉设计专业计算机软件特色课程模式探索与实践 摘 要:通过实践教学和深入研究调查,发现在计算机软件的课程教学中存在教学内容缺乏专业针对性和教学效果缺乏有效性的问题,现以视觉设计专业CorelDRAW课程教学为例进行教学新思路和新方法的探索研究,提出渐层效能型课程模式,合理构建视觉设计专业的计算机软件教学体系,规范课程模块,保证课堂教学质量,切实提高教学效果和教学效益。 关键词:计算机软件;课程教学;CorelDRAW 一、计算机软件CorelDRAW的课程教学目标 根据视觉设计专业人才培养方案,计算机软件CorelDRAW的课程教学目标为,熟练掌握软件的操作技巧,能够运用CorelDRAW软件绘制艺术化的矢量图形图标和编排有艺术效果的图文版面。 二、计算机软件CorelDRAW课程教学中的常见问题 CorelDRAW是一款专业的矢量图形绘制软件,有强大的矢量图形绘制功能和便捷的图文编排工具。目前课堂教学中常见的问题主要集中在,一是没有根据所学专业详略得当地安排教学内容,每种工具命令都泛泛而讲,不利于学生对重点知识的熟练掌握和深入探究;二是课堂练习安排没有层次性和趣味性,重复枯燥的练习不仅磨灭学生的学习积极性,也扼杀了学生的创造力;三是学习效果反馈缺乏及时性和针对性,没有因材施教的课堂不能保证教学的质量和效率。 三、视觉设计专业的计算机软件特色课程模式研究——以CorelDRAW课程教学为例 根据教学中存在的问题进行课程模式的思考探索,认为课程教学第一个关键点是要有专业针对性,要根据视觉设计专业重点运用的领域安排教学内容和组织课堂教学,所以提出针对性强、循序渐进和因材施教的渐层型课程模式;第二个关键点是要有教学效率和教学效果,所以提出能激发学生专业热情和培养学生专业能力的效能型课程模式。 (一)渐层型课程模式——关于课程内容学习的探索与实践 “渐层型课程”是指在本专业计算机软件教学中,教师引导学生进行循序渐进不同层次的迁移应用和绘制要求,其理论依据是斯金纳(BurrhusSkinner)程序教学模式,这种教学模式具有极强的操作性,有利于学生系统掌握知识和技能、循序渐进地学习,并能及时反馈强化所学知识,同时培养学生的自学能力。 1.渐层型课程模式专业针对性强 渐层型课程模式的构建思路是针对专业特点来设置教学内容和用80%的时间熟练掌握20%的重点知识。 视觉设计专业学生的核心课程一般为文字设计、版式设计、海报设计、书籍设计、包装设计和品牌推广等,所以CorelDRAW课程教学,应将这些设计类别需要用到的计算机辅助领域作为教学重点,用80%的课程时间来熟练掌握视觉设计专业辅助设计常用到20%的重点知识,并将后续专业学习的实际设计项目作为课堂练习和考核的重点内容。 2.渐层型课程模式遵循渐进规律 在CorelDRAW课程教学中,教师通过知识新授、牵扶帮学和延伸自学来循序渐进安排课程教学,能有效优化课堂教学质量。 知识新授环节要注重培养学生对指定目标的学习能力,首先以温故知新和思维启发为切入点,用三遍不同层次的讲解演示和学生独立操作相配合来达到新授、巩固、强化重点难点的学习效果。 牵扶帮学教学阶段根据具体实际情况,可以通过教师出示图文说明的操作提示帮助学生掌握重点和突破难点,也可以通过放手学生独立操作后的师生共同讨论及解题新思路的探索来深化学生的操作技术。 延伸自学的教学阶段要善于创设自学延伸的学习情境。具体措施有:在自学基础上进行举一反三的延伸学习;也可以先不看教程自学探索,之后再将自己的操作和教程操作进行对比分析来深化对技巧的理解;或者提供高质量的图形案例和更多自学网站自学书籍的信息,让学生在更加深广的学习情境中充满学习热情地自由驰骋。 3.渐层型课程模式注意因材施教 因材施教的课堂实施手段主要包括:一是教师逐个当堂反馈学习效果,这利于调动学生学习积极性、有利于教师掌握学生实际学习能力来与学生开展良性互动、有利于落实学生的当堂学习情况集中讲解容易出现的问题,保证教学质量;二是分层次针对有差异的个体开展学习引导,这能有效避免有的学生觉得练习太容易,完成后无事可做,有的学生则畏难不愿学习,失去学习兴趣的情况;三是根据个体差异来设置具备必选标准性和可选自由性的作品考核形式,能更真实地考核学生实际操作能力,激发学生的学习主动性,还能再一次大幅度提升学生软件操作技巧,为后阶段的专业课程学习和毕业设计积累丰富的计算机造型技术。 4.渐层型课程模式的实践效果 渐层型课程模式首先从课程内容安排上体现出针对性强和重点突出的渐层性,其次在课堂教学中体现出循序渐进符合学生认知规律的渐层性,最后在课堂教学反馈和课程考核差异性设置中体现出渐层性,渐层型课程模式由浅入深,由表及里,让CorelDRAW的课程教学充满学习的乐趣和努力的进阶,学生不仅能学会课程知识,还能提高举一反三的思维水平和开发探索研究的自学潜能。 (二)效能型课程模式——关于专业素质养成的探索与实践 采取效能型课程模式来进行CorelDRAW的课程学习,是关于专业素质养成的探索与实践。根据奥苏贝尔(DavidAusubel)有意义的接受型学习教学理论和先行组织者教学模式,提出视觉设计专业计算机软件的教学特色研究方向“效能型课程”模式,是指高效高能的课程模型,“高效”即课堂效率高,“高能”即学生能力强。 视觉设计专业的学生要具备高素质的专业素养和独特的创意能力,计算机软件教学在培养学生专业能力,掌握数码造型技术的同时,也应该注意激发学生的专业热情。 1.效能型课程模式能激发学生的专业热情——高效 简化创作流程和细化制作任务这两种教学措施能有效提高计算机软件教学的课堂效率,让学生乐学愿学,从而激发学生对本专业的学习热情和学习期待。 简化制作流程是简化学生概念创意的难度,但同时又给予学生根据设计实例自由发挥的空间,不仅能保证作品的视觉美观度,还能有效启发学生的设计创造力和对专业的学习热情。二年一期的学生并没有进入核心设计课程的学习,所以不具备很专业的设计创意能力。在CorelDRAW的课程学习中,如果按照一般的创作流程,让学生先创意再画草图,然后制作电子稿,不仅和其他类型课程的考核内容重复,也没有达到计算机软件以技术考核为主的课程重点,同时学生因为没有很好的创意和设计技巧,即使软件操作能力很强,绘制的作品也往往不具备一定程度的审美水平,视觉效果不美观的软件绘制作品会夸大学生现阶段较薄弱的设计能力,这种挫败感往往伤害到学生对视觉设计专业的热情。所以,通过简化创意过程,强调制作技术和对已有案例进行延续设计的作品考核方式,能在保证作品审美水平的前提下更大程度激发学生探索运用软件设计制作的学习热情。 细化制作任务能保证学生一步一步落实学习目标,最终高质量完成学习任务。以课程考核为例,将制作VI手册这个整体目标,逐个分解细化,每个任务难度合理把握在学生跳一跳能完成的程度,学生通过一次次努力累积最终如期完成体现自己最大制作能力的课程考核作品,这一学习过程能极大鼓舞学生的学习热情和对专业设计课程的期待与向往。 2.效能型课程模式能培养学生的专业能力——高能 在计算机软件的课程学习中培养学生专业能力主要有两种教学措施,一是强化重点知识,二是深化操作技巧。 强化重点知识要求不仅是课程作品考核,包括整个课堂讲授和课堂练习都要围绕这些操作重点合理设置,展开教学。CorelDRAW的工具命令进行初级操作比较简单,但是熟练掌握就需要反复练习和不断强化,而要达到灵活运用的程度则需要通过恰当的教学方法进行引导,才能真正深化学生的操作技巧。 深化操作技巧主要运用对比分析、迁移应用等教学措施来实现。如特效文字的操作技巧就是用对比分析法来深化学生对操作技巧的理解,案例用一段文字和正圆形的融合为切入点,运用不同的工具编辑文字和正圆,能产生多种不同的视觉效果,通过对比分析能有效深化学生的操作技巧。再如用三种软件绘制同一对象的练习,就是采取迁移应用的教学方法来弱化学生对画面变化的关注度,从而增强学生对软件工具深入理解和综合应用的关注度。深化学生对重点工具的探索运用还可以用系列案例剖析、不同案例对比、案例自学和已有案例延续设计等教学手段来实现。 3.效能型课程模式的实践效果 效能型课程模式的具体教学实践环节不仅能使学生熟练基本操作知识,提升重点制作技巧,同时还能协调学生软件制作能力和实际创作水平的差异,提高课堂效率,潜移默化为学生铺垫良好的审美趣味和准确的专业素养,增强专业课程的整体持续性和纵向联系度。 四、视觉设计专业计算机软件特色课程模式探索与实践研究的意义和作用 (一)对本门课程产生的意义和作用 综上所述,计算机软件特色课程模式——渐层效能型课程研究是针对视觉设计专业学生的软件学习现状提出的,在CorelDRAW的课程教学实践中,呈现专业特色突出,课堂操作可行,教学效果明显的实际应用意义。 (二)对横向课程产生的意义和作用 视觉设计专业学生需要掌握的计算机软件包括4门静态图像造型软件和2门动态图像造型软件。视觉设计专业计算机软件特色教学研究项目——渐层效能型课程模式,能规范本专业多门计算机软件课程的整体教学模式,能提高学生的学习效率,缩短学习周期。 (三)对纵向课程产生的意义和作用 渐层效能型课程模式能继续深化纵向的课程延伸,以儿童视觉产业为例,渐层效能型特色课程模式可以纵向应用在儿童产品软件课程的教学中,并进一步发展延伸到儿童产品设计的媒体技术开发中。 五、结束语 视觉设计专业计算机软件特色课程模式——渐层效能型课程模式,构建了视觉设计专业计算机软件教学的有机课程体系,提供了规范的课程模块,同时为视觉设计专业其他课程开拓了更多横向和纵向的教学研究方向。 计算机软件专业毕业论文:计算机软件技术专业“工学结合”实践教学研究 摘 要:本文从我国软件产业发展和人才需求出发,给出了一些软件专业工学结合实践教学的实际做法,希望以此促进我国软件人才的建设。 关键词:软件培养;工学结合;实践运作 软件学院成立这几年,我们在致力于普遍提高教育教学质量,提高人才培养水平,针对地处辽宁省中部这样一个小城的地理区域劣势的同时,也在分析我们的相对优势,思考如何形成自己特色的问题。 我系在经过认真调研并与企业行业专家研讨后,借鉴了东软信息学院“1321”教学计划和SOVO大学生创业中心的实践教学模式、沈阳职业技术学院基于项目式、印度NIIT的榜样教学法、湖南铁道职院专业加项目工学结合等职业院校软件专业人才培养方式的同时,将南洋理工学院“教学工厂”的理念应用到软件技术专业的课程教学实践中,提升了学生的专业计算机应用能力。 1 深层次体现校企深度融合、“教学工厂”、项目导向的实践教学特色 我们在深入分析国内多家高职院软件专业办学模式的同时,将南洋理工学院“教学工厂”的理念应用到软件技术专业的课程教学实践中,建设围绕“教学工厂”为基地的实训基地。我们的实训教学机制采取以下方式进行:基于培养平台三方建的模式: 第一阶段:校内学习实训;第一、二学期:在校内实训室分别进行为期两周,共计60学时的C语言、C#语言实训,由项目组从项目库中抽取实训项目,以典型工作任务为载体由专职老师负责,带领学生共同完成; 第二阶段:校企联合实习;第三学期在学完C#.NET与数据库课程后,在前两学期基础上,加大实训时间,设置4周,共计120学时实训,学生这时可以初步完成一个小型系统的开发,这部分内容也在校内实训室或软件研发中心完成,我们通过与企业深度合作,建成了一批以编码为任务目标,设备齐全、条件较好、符合真实情景要求的软件校内外实训基地,我们称之为软件车间或软件平台。引进各类专业软件,提升软件技术实训水平。通过专业人使用专业软件的方式,提升了理论和实践教学的水平。第五学期,学生下到企业进行顶岗实习回来后,继续学习职业拓展课程JAVA、JSP等,课程结束后设置6周,共计180学时实训时间,在学校老师和企业人员指导下,可以独立开发一个综合项目。 第三阶段:校外顶岗实习。第四学期,我们把学生下到企业进行为期8周的顶岗实习,方案有二:方案一,条件允许的情况下,学生全部进入企业;方案二,一部分学生到企业四周,另一部分学生到“教学工厂”,然后轮换。实现真正意义上的工学交替。 第六学期进行18周的顶岗实习,应该能够实现与企业“零距离”就业。 在整个实训教学环节中,要求做到:一是“请进来”,即聘请外校相关专业教师或企业的领导及业务人员为兼职教师,为学生举办专业学术讲座或承担实践教学任务。二是“走出去”,即加强校外实训基地建设,本专业一直努力加强与企事业单位的合作,拟建立15家经常联系的校外实训基地,为学生提供良好的实训环境。三是积极争取职业界的支持,加强专业实验室建设。四是校企合作、互惠互利。专业教师积极为企业提供知识技术咨询,承担其科研课题,参与技术攻关与项目推广。 2 “项目+案例式”实训教学的全面展开 高职软件专业基于案例的实训模式已经被实践证明具有良好的教学效果。我们在实践教学过程中程序设计类课程基本采用了基于“项目+案例”的实验实训教学,要求实训案例尽可能真实和规范,能够包含代表当前主流思想的技术,从而最大程度保证与就业“零距离”接触。 3 实训案例设计基本原则 实训过程是以学生为主体的实施过程,案例设计的好坏直接影响到是否能够达到教学目的,同时也影响到是否能够充分调动学生积极性来进行实训。案例应该按照案例的特点和学生学习的方式来设计,以下是设计案例的几个基本原则: (1)符合实训目标的原则。(2)真实性或拟真性原则。(3)典型性原则。(4)启发性原则。(5)规范性原则。 4 实训案例设计的基本方法 实训案例属于综合性案例,内容应具有内在联系性,多种知识、方法与技术融为一体,有利于提高学生综合运用知识的能力。 5 实训案例的主要来源 (1)源于工学结合的结果,我院有众多的实训基地为我们提供了一线最新的资料,我们课题组的南丽岚等是软件公司项目经理,有着丰富的实践经验为我们提供了大量详实的资料的同时也为把这些资料转化成可应用于教学的案例做了大量工作,但这种方式往往受到知识产权保护的困惑。 (2)源于和国内外相关培训机构的合作。 (3)源于院校间交流合作,资源共享。我们从大连东软信息学院引进实训平台,进行资源共享。 (4)源于当前优秀的实训书籍及相关网站提供的实训资料。 (5)源于对已有的实训项目进行整合和加工,这也是一种不错的办法,不仅省取了时间和资金的投入,而且实训效果在原有基础上有较大提高。 在程序设计类课程的实施过程中,我们收集了各种大量的实训案例,下面我们进行分门别类的整理后,进行统计结果如(图1) 我们对收集的实训案例的来源渠道进行了详尽的数据统计结果如(图2) 根据对部分软件职业技术学院软件技术专业开设的课程调查见(图3),得出以下结果:程序设计类课程中JAVA程序设计占了很大的比例,其次C++(含C)也占了很大比例,故我们主要整理OOP方向的案例(JAVA、C++为主,其他为辅)。 计算机软件专业毕业论文:计算机软件专业本科生“职业提升型”人才培养模式的探索 摘 要:由于近年来本科生不断扩招以及全球经济危机的影响,本科生的就业难问题日益突出。另一方面,应用型优秀人才也正是中国各行各业的稀缺资源。本文以计算机软件专业的学生为研究对象,首先综合分析了目前软件行业人才的实际需求,针对于本科生高年级的特定阶段,从课程体系、培养方案以及教学方法等方面探索了“职业提升型“高年级本科生培养模式。 关键词:职业提升型 人才需求分析 软件人才 高年级本科生培养模式 1 引言 自1999年我国高校开始扩大招生规模以来,每年毕业生人数不断创出新高。然而,以市场为需求的双向就业模式使毕业生就业率日趋下降,2008年的美国金融危机导致全球性经济大衰退,使目前的就业形势显得更加严峻。《2013年中国大学生就业报告》指出,2013届高校毕业生数量高达700万,本科毕业生签约率仅为35%,低于去年同期12个百分点。大学生就业难的问题愈加突显。一方面是全国上百万大学毕业生捧着简历四处求职,纷纷感叹“就业难”;另一方面是每年几百万个就业岗位“招人难”。麦肯锡的一份《应对中国隐现的人才短缺》报告称,“只有10%的大学生符合跨国公司的人才要求!”毕业生过剩与人才的稀缺矛盾揭示了中国大学生为就业准备不足的高校人才培养问题,而化解当前就业难的关键只有着眼于切实了解用人需求,不断增强毕业生综合能力。 近年来,中国软件产业在我国政府的大力支持下发展迅猛,计算机软件专业也是我国高校招生数量最多的专业之一,本文以计算机软件专业学生为研究对象,首先人才结构、能力以及文化等方面分析了目前软件行业人才的实际需求,提出一种“职业提升型”培养模式(Career Advancement Programs)。该模式将传统单一的“学术型”和“应用型”相结合,注重培养学生的创新能力,既重学术,同时更注重应用。 本科高年级(大三及大四)的学生已掌握了一定的专业基础知识及基本操作,他们临近毕业走上社会,却又缺乏市场所需人才的素养和能力。因此,我们认为本科高年级是作为职业提升人才培养的最佳阶段。本文将从课程体系、培养方案以及教学方法等方面探索“职业提升型”高年级本科生培养模式。 2 软件行业人才需求 中国软件业虽然发展迅速,但是目前还是小作坊作业居多,和发达软件大国相比,在产值与规模上存在很大差距。其最主要的深层原因是我国软件人才结构不完整且人才综合能力及素养不足。 2.1 人才结构 当前中国软件行业中,高层次的项目经理、系统分析员以及低端的从事基础性开发和测试的人员少,而中级的软件工程师又相对过剩。这种中间粗、两头尖的人才结构限制了中国软件行业的发展,不能满足行业国际化的需求。因此,中国急需的软件人才是具有前沿高端软件技术人才以及具有国际眼界的高级管理人才,这部分人员将决定中国软件行业发展的方向、水平以及在国际软件业中的地位。 2.2 知识与能力需求 优秀软件人才的知识结构要求专业化、综合化和国际化。其中,专业化要求软件人员首先掌握计算机专业基础知识,这是从事软件行业的最基本的要素。由于高层次的国际化软件人员常常参与研发国际项目,需要在海外与国内环境中都能胜任工作,因此,在“海外前方”,他们精通需求分析、项目管理、现场实施,具有专业技能,能够准确地捕捉到海外用户的需求;在“国内后方”,熟悉项目管理、分析与设计、编写代码、测试交付、文档编写,具有质量意识,能在海外前方和后方开发之间做好协调工作。 知识结构国际化要求软件人员适应国际人才市场的需求,了解国际应用规则和背景、了解国际软件开发规范也是成功完成国际化项目,扩大市场规模的保证。除此之外,熟悉外国国情、了解外国历史、政治、风土人情也能促进项目国际间合作的顺利进行。 2.3 职业素养需求 优秀应用型软件人才除了知识的学习和积累,还需要具备一定的职业素养,如:较强的沟通能力,特别是在国际间合作中更要注重跨文化沟通能力的培养;团队协作能力,它被视为在软件日益复杂化和大型化形势下,项目开发以及工程管理关键的能力之一;外语能力,这也是国际化高端人才不可欠缺的重要技能。 3 “职业提升型”人才培养模式 考虑到毕业生大多数都期待能够学以致用,在其职业生涯中能够得到更好的发展,本文针对这类学生的特点,提出构建“职业提升型”高年级本科生培养模式。这种培养模式带有浓厚的工具性色彩,通过此类培养模式,学生不但能够扎实地掌握专业基础知识,使自己的专业技能得到充分发展,而且能够迅速进入职业角色,赢得更大的发展空间。 3.1 跨学科混合式课程体系 复合型人才培养一直是研究生培养目标重要特征之一,然而为了适应瞬息万变的市场需求,本科生教育也应朝着同样的高度努力。复合型人才培养的重要方式之一就是跨学科混合式课程体系。软件国际化市场经验显示,软件人才除了专业性知识外,具备一定的跨学科的知识是非常有必要的,也就是知识结构的综合化。例如国际化的软件人才应当横跨“计算机科学与技术”、“管理科学与工程”、“工商管理”等多学科,要懂业务、懂管理、懂企业,能够提出用于解决问题的管理信息化方案,并实施该方案;还要熟练掌握主流管理软件,有效实现该管理软件在企业中的应用。 因此,在高年级的课程体系安排中应增加跨学科课程这一部分,这部分课程可以包括“管理科学与工程”、“工商管理”这样的与项目工程管理相关的学科课程,还可以包括“农业信息化”、“生物信息学”等当前我国热点学科的内容。跨学科混合式课程为提升毕业生的知识眼界以及创新能力提供支持。 3.2 完善的学生职业规划指导制度 在本科生高年级培养方案中完善毕业生职业规划指导,建立较为完备的职业指导制度。在大三学期开始对学生的职业观念加强教育,对每个学生个体职业规划进行指导,建立“一帮一”教师责任体系,帮助学生确立2~3个职业岗位并进行跟踪指导;毕业时对学生进行就业咨询及选择指导。健全完备的就业指导制度帮助学生了解市场需求、确定职业定位、明确选择方向,为学生提供实实在在的帮助和指导。 3.3 强化实践教学,培养科研创新能力 在校内加强大学生科研立项项目基金资助力度,提高学生的积极性。让大三的学生就进入到感兴趣的科研研究室,实际参与各类科研项目,在实践中出成果,在成果中找到自己的职业定位。高年级学生还应重视培养中英文文献以及产品说明书的阅读理解能力,以及提高成果技术报告撰写水平。这些都是科研活动以及高层次人才应具备的重要技能。 3.4 多元化的教学方法 教学方法不能一成不变,需要与时俱进、常教常新。高年级学生已经基本完成了较重的课堂讲授型理论课程,因此应采用多元化的教学方法。例如:参加学术讨论会、积极引导学生参加国内外有学术价值的讨论会,给予一定的经费支持;参与导师的课题组,培养科研实践能力,找到自己的职业定位;加入研究讨论班,督促学习进度,激发研究热情,提高研究能力。 4 总结 “职业提升型“培养模式是化解当前就业难的关键,本文从课程体系设计、培养方案以及教学方法等方面探讨了该模式的基本内容。然而,没有实践就没有发言权,只有通过积极的尝试才能分清到底哪些是更适合中国国情的毕业生培养。因此,我们会在未来5年内以东北农业大学为实验点对“职业提升型”培养模式进行应用与示范。首先针对计算机软件专业学生进行示范研究,将2010级学生划分为两个班,其中一班作为试验班,采用“职业提升型”培养模式开展教学等活动,对比验证新的培养模式的教学质量及效果,不断完善“职业提升型”培养模式,并将该模式推广到学校其他方向毕业生培养过程中。 (东北农业大学电气与信息学院,黑龙江 哈尔滨 150030) 计算机软件专业毕业论文:计算机软件工程专业卓越计划实践教学 摘要:“卓越计划”是我国高等教育的一项重大改革项目,强调培养高质量的各类型工程技术人才,而实践教学是培养工程技术人员的重要环节,也是重要的教学手段。文章在分析“卓越计划”的培养要求和实践教学作用的基础上,围绕“高质量”和“工程型”两大目标,针对软件工程专业,从实践教学的内容、方式上探讨实践教学的开展方式,说明“卓越计划”的实践教学特色。 关键词:卓越计划;实践教学;软件工程 1 背景 “卓越工程师教育培养计划”(简称“卓越计划”)是贯彻落实《国家中长期教育改革和发展规划纲要(201(P—2020年)》和《国家中长期人才发展规划纲要(2010—2020年)》的重大改革项目,也是促进我国由工程教育大国迈向工程教育强国的重大举措,旨在培养造就一大批创新能力强、适应经济社会发展需要的高质量各类型工程技术人才,为国家走新型工业化发展道路、建设创新型国家和人才强国战略服务,对促进高等教育面向社会需求培养人才、全面提高工程教育人才培养质量具有十分重要的示范和引导作用…。 从培养目标上看,国家对“卓越计划”有明确的要求:面向工业界、面向世界、面向未来,培养造就一大批创新能力强、适应经济社会发展需要的高质量各类型工程技术人才。从这里可以看出,“卓越计划”对人才培养有很明确定位——培养高质量各类型工程技术人才。这里主要强调了两个方面:高质量和工程型。 对于软件工程专业,实践教学是加深理论知识认识的有效途径,是培养具有创新意识的高素质工程技术人员的重要环节,是理论联系实际、培养学生掌握科学方法和提高动手能力的重要平台。实践教学是软件工程专业本科教学的一个重要环节,是培养学生工程能力的一个重要手段。在软件工程“卓越计划”中,实践教学得到了更多的重视,但是许多教学工作者却对“卓越计划”中的实践教学和社会上的软件开发培训班混为一谈,把卓越计划班办成了实训班,这显然违背“卓越计划”的宗旨。本文将就软件工程专业如何定位卓越工程师实践教学,如何围绕“卓越计划”培养目标的两个主题开展实践教学,进行一些分析探讨。 2 实践教学特色 从层次上着眼,我们强调“高质量”人才培养。在培养学生工程能力的同时,要区别于社会上的一般性应用培训班和速成班。 目前我国计算机行业从业人员在实践能力培养上,除了实际工作锻炼途径外,主要集中在两个领域,一个是社会办学的短期培训班,一个是本科教学中逐渐加入的少量工程实践课程。但是“卓越计划”学生的工程性、实践性能力培养,不同于一般实用培训班,它需要培养高层次的、有良好发展的应用型人才。针对计算机软件工程专业,就是要培养能参与项目的高水平技术人员、管理人员,要培养能够综合应用技术知识和管理知识的高级人才,要培养程序员,也要培养软件设计人员,更要注重学生学习性、发展性的培养。 从工程型着眼,我们应该注意区别于传统本科生的培养,把教学重点放在应用能力的培养上,注重理论研究和实际应用的结合,加强具体技术、技巧、方法的培养,提高学生的项目意识。 计算机软件工程“卓越计划”班在强调实际项目实践的同时,也注重相关理论内容的讲解,让学生不但知道在实际项目中应该怎么做,还要了解为什么这样做。例如,针对面向对象的需求分析,我们不但要讲明进行需求分析的具体方法和技术,还要讲明该分析方法对需求跟踪、变更控制的重要性。又比如许多程序员由于在学校没有接受过详细设计的教育,在项目中常常不经过设计直接进行代码编写,这在实际项目中是不可行的。因此,在教学中,我们不但要讲明详细设计的方法,还要讲明详细设计对软件测试、项目组织、代码维护的重要性,让学生能够自觉地进行学习。 在实践教学中,教师要以一个实际项目的运作为主线,讲解时贯彻理论与实践相结合的原则,从工具、方法、技巧各个角度,对学生进行实用性培养,同时重点培养管理和设计能力,在理论上有的放矢,强调理论的适用和适度。 3 实践教学内容 实践教学就是要培养学生的技术能力水平和工程素质。技术能力水平是指一个软件工程师对所从事工作专业知识的掌握能力,包括系统规划能力、概要设计能力、详细设计能力、编码能力等;工程素质是指其团队意识、工作量估算能力、工作计划制定能力、协调能力、角色意识、环境适应能力、规范遵守能力等。在现代大规模软件系统环境中,工程素质对一个人的成长更加重要。 3.1 技术能力培养 在技术能力培养上,我们将着重培养学生的系统规划能力、设计能力、代码规范编写能力和文档编写能力,其内容包括: (1)培养学生系统架构规划能力。通过分析一些大型软件项目,让学生了解软件系统架构思路,掌握常用架构的特点,熟悉软件系统架构的基本方法和思路。 (2)培养学生的设计能力。在本科教育已经掌握通用模型语言(UML)基本概念的基础上,加大教学难度和深度,让学生掌握通过面向对象分析(OOA)、USER-CASE和事件流技术进行结构化需求分析,培养学生使用包图、类图、交互图、配置图等进行概要设计和详细设计的能力。 (3)培养学生编写规范代码能力。正确的代码是指没有语法错误、能完成必要功能的程序代码。高质量的代码是在正确代码的基础上,符合编码规范、便于理解和维护的代码。在企业中,编写高质量的代码是对程序员的重要要求,但在学校教学中缺乏必要的培训,使得学生在实际项目中,编码质量难以达到工程的要求,企业需要对毕业生进行二次培训。我们要通过真实的企业编码规范培训,让学生在具体的编码规范下进行编程,对学生的编写代码能力进行再提高,使其养成良好的编程习惯。 (4)培养文档意识和编写能力。能编写程序代码,却无法撰写必要的文档是许多软件从业人员的通病,也是我们教育的缺失。我们拟通过分析软件企业大量真实的文档模版,让学生熟悉这些文档材料的内容,理解文档在企业中的重要性,掌握基本文档的编写方法和技巧。 3.2 工程素质培养 在工程能力培养上,我们将着重让学生了解企业典型的项目管理模式和开发过程,培养学生制定并遵守计划的能力,锻炼学生角色意识,遵守并制定技术和工程接口,其内容包括: (1)了解软件项目管理的先进模式。在学习现代项目管理基本思想的基础上,让学生了解先进的世界软件项目管理模式和案例,主要包括:CMMI、ISOl5504、ISO2001(软件业行业)等,熟悉这些模式的基本思想和应用实例,通过具体案例让学生了解在实施了相关的管理模式后,一个软件企业开发流程规范对每一个员工的要求,以及这些要求的意义和合理性,从而使其将来就业后能够理解所在公司的相关制度并自觉遵守,尽快融入开发团队中去,也为将来进一步发展打好坚实基础。 (2)虚拟企业环境,模拟真实的项目,培养学生的项目意识。要让学生在公司严格真实的规范下,完成任务分解、任务规模估算、工作量估算、制定任务网络图,从而完成项目计划的制订。 (3)按照计划,通过一个项目的完整生命周期培养学生角色意识,规范模块接口,完成设计文档,提高软件设计能力;同时提高学生控制个人时间、制定个人工作计划、正确估算工作量、个人BUG分析能力。 4 实践教学实施方式 “虚拟企业环境,模拟实际项目,创新教学模式,坚持学和练同步走的策略,培养高层次实用人才”是对实践教学实施方式的总结。 实践教学是建立在基础技能教学基本完成的基础上,并不是简单地由一门课来完成,而是应当由多门课组成一个完整的教学体系。从内容上看,该体系应当覆盖一个项目的完整生命周期,而需求获取、概要设计、详细设计、编码、测试等各个环节,着重在各个阶段锻炼学生,提高学生项目整体技术能力。基于“构建主义”教学指导思想,本节我们详细讨论卓越工程实践教学的实施中需要注意的问题。 (1)以学生为中心。实践教学的特点是老师讲的少,学生做的多,因此实践教学要明确“以学生为中心”,这一点对教学设计有至关重要的指导意义。从“以学生为中心”出发就是让学生有多种机会,在虚拟项目中应用他们所学的知识(将知识“外化”),根据自身在项目开发行为中的结果,不断调整自己的策略,应用不同知识,完成整个项目,从而积累项目开发的实际经验和教训。 (2)强调“情境”的重要作用。建构主义认为,学习需要有一定的应用场景,即与“情境”相联系,在实际情境下进行学习,使学生利用自己原有认知结构中的有关经验来同化当前学习到的新知识,进而把它应用到情景中去,在解决问题的同时,获得新的知识。 在传统的课堂教学中,由于老师不能提供生动、丰富的实际情境,使学生难于掌握和应用新的知识,即不能将知识转化为解决实际问题的手段。实践教学中,老师要尽量收集各企业的管理资料作为实践教学的教学资料,根据科学的管理思想,按照企业的实际运作模式,在实践教学的课堂上要尽量再现真实的企业项目运作环境和管理流程。我们要按照一个公司真实的管理方案,形成一个虚拟的项目,以此项目完整生命周期为主线组织内容,按照企业软件项目开发典型过程组织教学。各门实践科目要系统化,每一门实践课可以覆盖一到多个阶段,各课程既有各自任务,集成在一起又是一个完整的项目,教师通过剖析示范项目,引导学生逐步完成项目。在实践教学课堂中,除了纪律上的控制与支配外,在学习和实践的行为上则应给学生更多的主动与自由。 我们强调利用各种信息资源来支持“学”,在学习过程中要为学习者提供各种信息资源(包括各种类型的教学媒体和教学资料),可邀请软件企业的实际项目开发员工,进行现场教学,介绍相关经验,组织学生去软件企业参观学习,体会项目运作的实际环境,提供多种自学资料,给学生提供信息资源。 学生可在教师的组织和引导下一起讨论和交流,共同建立起学习群体并成为其中的一员。在实践教学中,要强调学生之间的交流,提高学生的团体意识、协调意识。 (3)在实践教学设计中,完成项目目标是高于一切的,它既是教学过程的出发点,又是教学过程的归宿。我们强调学生是认知主体和知识的应用者,把学生能应用自己所掌握知识解决规定的问题作为整个学习过程的最终目的。在这样的学习环境中,整个教学设计过程紧紧围绕“完成项目”这个中心展开,不论是学生独立探索、协作学习还是教师辅导,学习过程中的一切活动都要从属这一中心,都要有利于完成和深化对所学知识的意义建构。为了保证学生遵守企业项目运作的过程,可以将总目标分解为各个过程目标,引导学生有序完成从需求分析到集成测试的各个环节的相关工作。教师按照企业项目考核体制,参照任务提交物质量、计划执行情况、文档编写情况等,制定成绩考核体制,激励学生参与项目。 5 结语 实践教学是“卓越计划”强调的教学手段之一,是培养高质量工程技术人才的重要方式。我们针对软件工程专业“卓越计划”高等教育中的实践教学,详细探讨了其教学内容和教学方式,希望能对软件工程专业“卓越计划”的开展提供帮助。 计算机软件专业毕业论文:以专业竞赛促进计算机软件类学生创新能力的研究 摘要: 培养创新型人才是大学教育的重要任务。本文针对软件类专业在传统教学中存在的主要问题,分析专业学科竞赛对计算机软件类学生创新实践能力培养过程中的指导意义和实际效果,结合具体教学实践,提出行之有效的执行方案。 关键词: 软件人才培养;创新能力;专业竞赛 0 引言 中原工学院软件学院于2004年成立,是河南省首批示范性软件职业技术学院之一,近年来办学层次由单一的专科扩展到本专科兼收。学院按照“面向软件领域,突出专业特色,强化实践能力”的人才培养思路,不断进行教育教学改革,形成了一套独具特色、行之有效的教学模式,学院创立的“计算机技能大赛”、“软件知识大赛”、“程序设计大赛”、“软件设计大赛”、“网络应用技术大赛”、“软件测试大赛”等专业赛事为代表的竞赛活动,以及大学生创新创业中心的成立,极大地激发了学生自主学习的能力和信心,为学生提供了专业实践平台,有利地提高了学生的专业能力,这些专业赛事已经形成品牌项目,并推广到全校兄弟院系以及其他学校软件学院开展实施。 1 传统软件类专业教学弊端 从上世纪90年代中期开始,高校连年扩招,生源质量下降确实给毕业生就业产生了一定的影响。部分高校的教学计划、教学模式陈旧,培养的毕业生在知识能力,思维模式等方面与社会的需求有着较大差距,特别是软件人才,大部分用人单位更多的是从实际需要出发来选择不同学历层次的毕业生,重视学生的综合素质和专业素质,需要毕业生有很高的自主学习能力和专业实践能力。 传统软件类专业教学存在的主要问题有:对软件人才培养的目标和能力结构不清晰;对学生如何取得这些能力的教学规律没有认真研究,一般来说都是按照传统学科的教学模式和课程体系安排教学;实践环节安排上没有以软件开发能力的培养和提高为宗旨,仅仅以理论验证为目的;没有重视“工学结合”的作用,毕业生水平距离企业的实际要求有一定差距。大学生实践动手能力低,创新意识不强,综合素质不高。 2 专业学科竞赛活动的意义 创新型人才的培养是大学教育的重要任务。专业学科竞赛活动是整合教育技术课内外实践教育教学的重要环节,是培养学生创新能力的重要载体,对培养和提高学生的创新能力具有极为重要的作用。积极组织和鼓励大学生参与专业学科竞赛是培养大学生创新能力的一个有效手段。实践证明,参加过相关学科竞赛的学生,在综合素质和解决实际问题的能力方面比未经实际锻炼的学生提高很多。 参加一项竞赛的整个过程,相当于经历了一个实际的开发项目,类似于企业项目研发的实际过程。名次是对能力的肯定,而临场实践对参赛选手来说更是一种难得的经历与宝贵的财富,为今后参加实际工作打下了基础。在参赛过程中,选手通过对比找到自身的缺点和不足,有利于今后不断完善自己,加快适应社会需求的步伐。参加竞赛也是培养学生主动思考问题、独立完成工作以及团队协作能力的有效途径。 3 专业学科竞赛活动的措施 3.1 大力宣传“用行动书写简历”活动 宣传和鼓励学生用行动为求职简历书写丰富的一笔。坚持以“建立专业思想、培养专业兴趣、加强专业动手能力”为目标,把学风建设融入到教学活动中,“让学生带着问题去看书,带着任务去学习”。以“三级课题”实战演练,每学期课外上机120个学时的强制措施和“三个一工程”(一种程序设计语言及平台、一个软件作品、一万行代码经验)的要求,强化实践锻炼,配合专业学科竞赛活动的开展。 3.2 创建“学生创新创业中心” 为了给学生提供课外科技活动支持,包括课外实践、开发训练、社会服务活动的基地,成立了大学生创新创业中心。旨在培养学生创新意识、团队合作精神,搭建学生实践交流平台,探索校企合作模式,实现同IT产业所需人才的无缝对接,畅通就业渠道。 目前创业中心分中软信息公司、大学生机器人实验室、校企合作项目工作室、教师项目工作室,共有60余名在校学生参与项目开发。创业中心中软信息模拟公司特色突出,严格按照公司模式进行招聘、管理、培训、考勤、考核,实行签到制度、例会制度和分享会制度。软件学院广泛开展校企合作、实现公司学校双赢。目前入驻企业有中科软Sliverlight、浙大网新、英孚美信、航天金穗。创业中心多名优秀毕业生至杭州淘宝网、北京华科世佳软件开发有限公司、华北计算技术研究所等工作。 3.3 专业学科竞赛设置 从2005年开始在学生中组织专业赛事。经过几年的探索和实践,已经形成了以“计算机技能大赛”、“软件知识大赛”、“软件设计大赛”、“程序设计大赛”、“网络技术大赛”和“软件测试大赛”为代表的有机联系、相互支撑的学科竞赛体系。 3.3.1 计算机技能大赛在学生进校后的第一个学期进行。在这个学期学生的课内教学主要是了解计算机、学习初步编程技术,也就是以熟悉计算机为主要任务。计算机技能大赛,主要是培养学生的计算机基本操作技能,为学生今后的学习打下坚实的基础。 3.3.2 软件知识大赛在第二个学期进行,主要是让学生开展一个学习软件知识,了解软件行业的读书活动,使学生在较短的时间内能够对行业和技术都有更多了解,从而提高学习的兴趣和效率。 3.3.3 程序设计大赛从学生进校的第三学期开始组织,各年级学生均可参加。主要目的是配合学生专业学习,提高学生算法设计与编程实现能力,同时为河南、全国、亚洲和世界的ACM大学生程序设计大赛培养参赛选手,力争我院学生参加校外专业竞赛取得标志性成果。 3.3.4 软件设计大赛在第四个学期进行,这个学期学生基本上已经学完了软件技术的大部分课程,大赛能给学生有一个展现自我学习成就的机会,以便进一步培养自信心,更好地投入到下一阶段实习实训中。 3.3.5 网络技术竞赛第五学期进行,主要目的是为了加强网络技术教育,引导学生树立正确的网络安全意识,提高学生学习网络理论的兴趣,督促学生尽快熟练掌握网络设计的管理技能,锻炼学生实践动手能力,为今后的专业学习打好基础。 3.3.6 软件测试大赛在第六学期进行,其主要目的是为了加强学生的软件质量意识,使学生在就业前就具备基本的软件质量控制能力,切实提高测试动手能力,推动测试职业化发展。 3.4 加强校外专业竞赛活动的组织 随着计算机应用领域的不断扩展,各种形式多样的计算机专业竞赛在社会上也越来越多,为了提升学院的知名度,提高学生专业学习的自信心,学院鼓励学生参加校外的各种专业竞赛,同时动员专业教师参与到本项工作中,一方面加强对学生的指导,使学生能够取得标志性成果,同时也促进了教师的专业技术水平的提高。将更好地利用校内各种专业竞赛活动,选拔优秀学生参加“挑战杯”、“河南青年软件创新大赛”、“ACM程序设计大赛”等重要赛事,充分调动专业教师和学生参与的积极性,力争取得更好的成绩。 4 结论 大学生学科竞赛是创新人才培养的重要载体。以学科竞赛为依托,发挥学科竞赛激发学生学习兴趣和热情,以及在学科建设、专业建设和课程体系新人才的培养的重要性,目前越来越受到国内高校的普遍关注和重视,成为创新人才培养的新路径。通过各种专业赛事,满足了学生自我价值实现的需要,有效激发了学生专业学习的兴趣和热情,从“要我学”转变到“我要学”,学生自主学习能力得到最大的提升,校园学习氛围、学习风气得到根本扭转。 计算机软件专业毕业论文:应用型本科计算机软件专业实践教学体系的研究和构建 摘 要: 针对应用型本科计算机软件专业教学的特点,作者对计算机软件专业实践教学体系进行了研究和设计,提出了构建以行业需求为原则、以实践创新为核心的实践教学体系,阐述了实践模式下具体的教学体系设计原则,旨在构建以实践创新为核心的实践教学体系框架。 关键词: 计算机软件专业 实践模式 教学体系 计算机科学与技术作为培养信息技术领域高科技人才的主要学科,为我国的信息化做出了巨大的贡献。计算机软件专业是一个实践性很强的信息技术专业,实践教学是该专业人才培养方案和教学计划的重要组成部分,也是对学生进行专业技能训练及创新能力培养的重要环节。目前,我国的信息化和经济发展对计算机软件专业人才的需求不断增加,但是在计算机人才供需方面,却出现这样两种相互矛盾的情况:一方面公司、企业招不到需要的计算机人才,另一方面却出现计算机专业的毕业生就业困难的局面。产生的原因在于学校不了解公司、企业相应岗位对计算机人才的知识结构、专业能力、专业素质的要求,对学生的培养脱离实际。在人才培养方案的制定和实施中重理论、轻实践,学生的实践与动手能力普遍不高,不能适应社会需要。因此,对应用型本科计算机软件人才培养模式进行研究,构建一种应用型本科计算机软件专业实践教学体系,制定各实践教学环节的质量和标准,确保应用型、实践型人才的培养,是一个急需研究的课题。 1.计算机软件专业实践课程体系的现状 1.1实践教学体系不完善。 首先是实践教学体系不完整,实践教学环节的组织缺乏连续性、系统性、相互协调性和衔接性,缺乏专门的实践教学规划、管理、研究、评价机制。实验课完全依附于理论课程,在具体的教学实施过程中由理论课教师根据需要安排实验课时和实验内容,实验室和实验教师处于较为被动的位置。其次是实践教学培养模式不科学。目前高校各专业普遍采用的人才培养模式主要还是以课堂传授理论知识为主,生产实习和实验操作、实践调查时间较少,教学评价主要看学生理论知识的掌握程度。这种理论与实践相脱节的模式培养出来的学生的实践创新能力、操作技能都较差,不受用人单位青睐。 1.2实验环境单一,缺乏体现专业特色的创新性。 信息技术企业衡量求职者的一个重要因素,就是其计算机工程的实践能力,但目前许多地方院校实验环境和实习基地建设相对落后,学生实践教学缺乏有效的实习与实验环境,使学生的实习环节流于形式。学生在校期间得不到很好的实习实训,实践能力缺乏,工程技术能力差。这对于刚毕业离校的大学生来说,无疑是就业的一个大障碍。 1.3实践教学体系不能支撑专业定位和培养目标。 实践课程所占课时量少:应用型本科院校的培养目标是培养具有扎实计算机软硬件理论基础和较强的专业能力、操作技能的适能够应区域经济发展需要的计算机应用型人才。但是,在多数应用型本科计算机科学与技术专业教学计划中,实践课的课时只是理论课时的1/3,最多一半,达不到计算机应用型人才的要求。 现行的计算机软件专业实践教学体系已不能满足高等教育,特别是应用型本科教育人才培养的要求,必须对现行的实践教学体系和管理模式进行改革与创新,必须架构具有应用型本科教育特色的实践教学体系。 2.计算机软件专业实践教学体系设计原则 根据我院软件专业特色和专业发展现状,遵循“厚基础、精理论、重实践、强能力”的基本原则,确定“突出特色、强化基础、优化资源、提升能力”的实践教学改革思路,并以应用型人才规格培养模式为指导,以提高学生的创新能力为目标,以实践教学体系构建为重点,全面推进计算机软件专业实践教学改革。 具体设计原则为:更新观念,坚持理论教学与实践教学并重的原则;以人为本,坚持以学生的需要为中心、学生的能力拓展为中心、学生的知识结构为中心的原则;以学生的实践创新能力提高为目标,坚持密切联系学生实际、专业技术发展实际、社会需求实际的原则;依托商科背景和学科优势,坚持实践教学改革与学科建设、课程建设同步的原则;以实践教学改革为基础,坚持教学方法与教学手段、教学过程与教学效果统一的原则;遵循先进的教育理念,围绕教学质量目标,坚持实践教学全过程和质量监控全过程的原则。 3.构建以实践创新为核心的实践教学体系框架 根据社会对软件人才的需求,构建以实践创新为核心的实践教学体系框架:以培养学生的“三种能力”(基本技能、专业技能和综合应用技能)为目标,遵循实践教学全过程的原则,按照课程内容和学生能力分类、建立以课程实验教学为基础,以课程设计、综合实验、项目开发和专业实习为补充,毕业设计为重点,学科竞赛为龙头,职业资格证书认证课程的教学和考试的立体化多层次实践教学内容体系,有效地激发学生的学习兴趣和调动学生学习的主动性,进一步培养学生的创新能力和竞争意识,使学生的专业水平、就业竞争力和发展潜力不断提高。 3.1加强实践教学基本资料建设。 实践教学基本资料包括各课程及综合性开放性实验的实验教学计划、实验大纲、实验指导书,社会实习、专业实纲和实习指导书,以及毕业实习和毕业设计指导书,等等。这些资料是开展实践教学的基础性文件。为了保证教学内容与实践教学的一致性及教学改革的最新成果在实践教学中的应用,学院鼓励专业课程教师自编实验教材,经常适时地对相关资料进行更新、补充和完善,通过教学网站的形式为学生提供各类丰富的教学资源,以保证教师和学生都能及时、方便地获取最新的教学资料。 3.2加强实践教学相关制度建设。 根据实践教学各阶段和各环节的要求,学院先后制定了一系列科学、规范、行之有效的制度,在逐步完善实践教学管理运行机制、强化实践教学规范化建设的基础上,通过对实践教学的严格监控和管理,保证实践教学整个过程各环节的有效实施。结合教学实际,适时地对相关制度进行修订和完善,保证制度的持续和有效执行。 3.3加强实验环境建设。 实验环境主要包括实验的软件环境和硬件环境。软件环境建设主要通过构建数字化实验教学平台满足实践教学的基本要求。硬件环境建设则以实验室、机房建设为基础,保证和加大对实践课程的投入,并通过建立相应的实验室开放机制和运行管理模式,逐步实现实验室的全面开放。实验软硬件环境的同步建设,不仅能够最大限度地发挥实验室资源效率,而且能够满足各类学生的多层次需求,激发学生的创新观念和培养学生的科学作风、创新思维、创业能力和实践动手能力。 3.4加强实验师资队伍建设。 高质量的师资队伍是实现实践教学体系的主体和关键。学院采取引进和培养相结合的方法,加大人才引进力度,不断充实和提高实验师资队伍的数量和质量;建立教师培训、交流和深造的常规机制,对学院青年教师进行方向性培养;计划从企业、公司聘请有丰富实践经验的高级专家和技术骨干担任兼职指导教师,使学院逐步建立起一支能适应新形势下实践教学要求的高水平、高素质、多元化的实践教学师资队伍。 3.5加强实习基地建设。 实习基地是“产学研”结合的桥梁和纽带。近年来,学院积极加强校企合作,建立稳固的校外实习基地,并将实习基地建设与专业特色建设、学生实践能力训练、教师科研结合起来,逐步形成以校内外实习基地为依托、以教学为中心,以科研促教学的创新人才培养模式。 4.结语 构建以实践创新为核心的新型实践教学体系,在实践教学过程中始终坚持以学生为中心、密切联系实际和全过程的原则,有利于培养学生的执业能力和创新精神,有利于进一步落实应用型人才培养目标和提高人才培养质量。必须注意的问题是,无论计算机技术如何不断发展和市场需求如何快速变化,实践教学体系的构建都要符合计算机技术的发展实际,适应计算机专业的教学规律。 计算机软件专业毕业论文:论中职计算机软件专业教师教学能力的构成 摘 要:当今社会,科学技术突飞猛进地发展,在这样一个信息技术占统治地位的时代,搞好软件专业教学建设极为重要。为了适应社会的发展,必须要提高教师素质,加强教师职业队伍建设。本文对计算机软件行业的发展现状以及其未来的发展趋势做出简要分析,对中职计算机软件专业教师的能力构成做了总结。 关键词:中职;计算机软件专业;教师;教学能力构成 伴随着计算机技术的进一步的发展,计算机逐渐成为了联系现代社会的重要纽带。中等职业软件技术学校以填补计算机软件基础技术人才缺口为主要培养目标,致力于培养适应社会化大生产的、拥有专业职业技能的劳动者。肩负教学任务的教师,起着最为关键的作用。但是现在计算机软件专业的学生就业情况并不乐观,这和中职计算机软件专业教师自身的职业素质及其教授的方法和手段存在这弊端是分不开的。为了改善现状,必须加大力度提高教师的专业教学能力和教学质量。 一、职业学校计算机软件专业教师教学能力现状 如今的中职计算机专业教师大部分是本科以上学历,而且基本上都只是和计算机软件开发相关的专业,基本没有系统、规范地参与过软件开发,这就导致了这些负责教授软件开发的教师根本不熟悉软件开发的流程,专业教学能力较差。 首先,教师大部分都缺少企业软件开发的经验,很多都不具备企业软件开发的能力;其次,这些教师对企业软件开发的流程并不清楚或不熟练,这就导致他们对企业的岗位设置没有充分了解;最后,在中职计算机软件学校中,普遍采用/VB作为教学语言,而大部分教师只会这两门语言,并且他们采用的教学方式比较陈旧,教学效率不高。 二、职计算机软件专业教师专业教学能力构成 (一)教师知识要全面 教师应该具备较为全面的知识,不仅要有好的逻辑思维能力,数学基础,能够更好地和学生交流,了解学生的想法,还必须要精通程序设计编程,并用这些知识分析问题,最终解决问题。 1.计算机软件专业的教师应具备对行业、岗位的认识能力和适应实践工作需求的工作技术。较好的岗位认知能力,包括对行业发展和应用的认知以及对软件企业岗位架构的认知。具体来说就是,教师要能准确地表述出某个地方软件行业的现状,以及本地区和省级软件行业现状之间的差异,要了解软件行业的现状和发展趋势,并且能够表述程序员的工作流程和工作的规范。 除此之外,教师还应该具备对岗位关系的理解能力,包括对软件企业岗位职责、技能的分析和对专业培养方案与岗位技能关系的认知。具体表现在:能表述初级程序的技能要求、专业课程设置与岗位技能间的对应关系;可以画出工作流程,表述各环节的工作的任务;能够根据学校的师资、生源情况和学校的教学环境资源,选取和岗位技能相适应的专业培养实施方案。 2.计算机软件专业教师要具备一定的评价能力。评价包括对学生学习和教师教学效果的效果。具体表现为:教师要能够引导学生对他们自己完成的项目、任务进行自我评价,以及根据团队项目的表现、小组测验的表现对学生的团队协作能力给出合理的评价;要能够从学生的案例行动表现和学生的课后交流,对学生的语言表达能力和逻辑思维能力给出适当评价,并提出一些利于学生适应岗位的建议;具备在实习评价基础上指出学生知识和技能缺陷的能力,要能够对学生的学习方向给出合理的建议。 3.计算机软件专业的教师要能够基于自己的专业特征,通过行动导向型教学法进行授课。具体表现在:要能够引导并且激发学生在情境中完成案例;要能够对岗位工作的任务进行分析和整合。 (二)注重调整知识结构,从而提高教学效率 一个优秀的中职计算机软件技术教师应具备的专业素质,包括专业知识和专业技能两个方面。教师的专业知识主要包括普通的文化知识、教育学科知识和所教学科的知识。具备良好的专业知识在教学工作中占据基础性地位,专业技能主要指教师的教学能力和技巧。教师的专业知识和专业技能两者相辅相成,统一于教师的教学过程中。 计算机软件专业很重要,现有的教学模式不能够适应时展的需求,所以有必要通过因材施教、分层教学的方法帮助实现培养目标。标准层次可以分为基础能力、提高层次和骨干三个部分。教师应根据不同层次学生的需要,以及知识的难易程度,采取适当的方法传授知识,促进教学效率的提高。教师专业教学能力的标准要求教师不仅要具备职业道德、基本知识,还应符合中职学校教师职业的特殊要求。 在科学技术飞速发展的今天,认清当前计算机软件教学存在的弊端,研究好计算机软件技术专业教师教学能力构成极为重要。这样有利于解决现有的问题,最终提高教学效率,培育更多优秀的计算机软件人才,为社会的进一步发展做出贡献。
目前,我国计算机信息技术水平正在不断提升,并且,我国多个行业的发展都离不开计算机技术的支持,无论是工业生产还是系统开发,计算机技术的全面普及都起到了非常关键的作用,也使得我国社会经济结构的整体稳定性得到了很大的提升。因此,在展开软件开发工作的时候,应该注重对用户界面进行全面优化,从而使用户整体操作的安全性以及舒适性得到有效提升,这样一来也可以使用户的相关需求得到更好的满足,从而使得软件开发企业的发展空间以及受众群体得到有效扩增。同时,还应该对人视觉观察的状态情况进行精准分析,从而保证用户在体验用户界面的时候,各项因素之间具有较高的协调性,这样一来可以有效降低用户界面的操作难度,这对进一步扩大应用界面的客户群体也是有很大帮助的。 1计算机软件用户界面设计的原则要求 1.1关于最佳视区的设计 在对软件用户界面的最佳视区展开设计的时候,应该注意其核心是要对用户的需求进行满足,因此,在界面的整体布局上应该尽量秉持着简洁、合理的原则,这是非常重要的,这样一来也可以有效提升人机交互的效率。同时,在进行用户界面设计操作的时候,还应该注意要遵循协调性的原则,同时使得界面的最佳视区与有效视区的面积得到提升,注重对其进行等量分割。一般情况下,人头部静止但是眼睛在正常活动的时候,水平方向左25°为最佳视区。可以通过对用户界面的科学合理设计,来界面上的重要内容都集中在最佳视区当中,这样一来可以实现对内容的有效组合,同时也在很大程度上减少了用户漫无目的浏览相关内容所花费的时间。同时,在对屏幕对角线以及交叉线进行设计的时候,应该注意对用户的直视点进行精准选择,通常正上方四分之一的位置是用户注意力的重点,应该将其作为设计要点展开操作。 1.2保持界面的视觉平衡 在对界面视觉平衡进行保持的时候,应该注意保证界面的对称性,人的视觉感觉与整个画面往往会呈现出一定的倾斜度。因此,想要使界面保持平衡感应该注意对这种倾斜度进行补足,当整个界面简洁性得到有效提升之后,界面的整体清晰度以及识别程度也就得到了很大的提升,这样一来也势必可以有效达到应用者的心理要求。此外,还应该注意控制图片与文字之间的距离,无论距离过大还是过小都有可能导致其出现文字偏离用户视线的情况,这也会对用户的整体界面操作舒适感产生一定的影响。同时,在对相关内容进行布局安排的时候,还应该注意尽量要减少一些花哨的强调以及装饰,要将所有重要的内容体现在一个方块形的区域当中,这样一来可以使内容的整体感得到有效提升,同时也可以给用户带来更加理想的操作体验。 2计算机软件用户界面设计的要点分析 2.1软件框架的设计 在进行计算机软件用户界面操作设计之前,首先应该展开对软件框架的设计,这是非常重要的。在展开整个软件系统框架设计的时候,其整体设计过程往往具有一定的复杂性,在实际操作的过程中会设计到多个环节步骤,对相关设计工作人员的自身专业素质有很高的要求。同时,在进行框架设计的过程中应该注意对相关操作步骤以及操作程序进行明确,同时还应该注意做好各个节点的分析工作,从而保证各个系统之间的连接更加顺畅。为了可以有效满足界面设计的简洁要求,应该注意尽量减少对界面中重要内容的无谓装饰,这样一来也可以使界面空间的整体利用率得到有效提升。在对界面分辨率进行确定的时候,应该根据界面中布置内容的实际情况来进行操作,通常情况下,在对内容布置情况进行确定的时候,应该注意要预留出状态栏、滚动条以及菜单等位置。同时,还应该注意对界面做好色彩搭配,尤其应该将商标设置在突出的位置,从而让用户更容易发现。一般情况下,滚动条应该设置在界面的右侧,而状态栏应该设置在界面的底部,这样一来既不会影响到界面的整体整洁性,同时也使得用户的操作更加方便。另外,在进行软件框架设计的时候,还应该注意对界面的色彩进行有效搭配,要保证界面的综合色彩氛围柔和,从而给用户带来更好的操作体验。 2.2图形图像的设计 对于用户界面设计而言,图形图像的设计是非常关键的,人对于界面中各项内容的记忆往往是通过文字、图片以及视频等产生的。并且,人们往往对整篇的、关联性不大的内容记忆效果较差,同时,对图片以及视频内容的记忆往往会超过对单一文字的记忆程度。这主要是由于图片以及视频等等可以在很大程度上起到刺激人们脑神经的作用,从而给人们留下了更加深刻的印象。同时,与文字相比较,图片以及视频的方式往往是将所传递的信息更加具象化的展示了出来,使得人们可以对其进行更加直观的理解。此外,将抽象化的信息以及事物应用更加具象化的方式体现出来往往可以给人们留下更加深刻的印象,这种方式可以使事物本身的内在性质得到更好的凸显。同时,还应该注意对视觉图形的独特造型元素进行确定,这是非常重要的,在界面设计的过程中,还应该通过几何图形、面、点以及线等多方面的结构来构成视觉元素,这样一来可以使视觉元素更加直接简明的展示在用户面前,用户也更加容易对界面中所传达的信息内容进行理解,同时也使得界面上的内容展示更加生动。 2.3界面的色彩设计 在展开界面色彩设计的时候,应该注意抓住设计中的要点,在对色彩进行选择的时候,应该注意对色彩的结构进行精准搭配,通过不同的颜色来展现出相应的功能,这样一来用户在对其功能性进行理解的时候,应该注意对界面中各项功能性进行明确,应该设定有按钮以及图表,这样一来更加方便用户进行操作,同时也使得人机交互工作的展开更加便利,同时,用户在操作的过程中也可以获得更加理想的操作体验。在对颜色进行利用的时候,应该注意对界面各个部分的颜色进行综合调适,从而形成一个具有尝试性的分辨元素,相关设计人员在展开设计工作的时候也就更容易对界面的色彩产生敏锐的感觉,在今后进行设计工作的时候,可以使界面内容以及色彩的安排更加合理。但是,通常情况下,人的感知器官是具有一定局限性的,因此,在进行界面设计的时候,还应该保证所传递的信息在用户可以准确感知并且理解的范围之内,对颜色进行合理安排就显得尤为的重要,人类对于绿色以及黄色最为敏感,而对蓝色字体的综合敏感程度较低,因此,在对用户界面字体颜色进行设计的时候,应该注意尽量避免使用蓝色字体。同时,还应该注意对图表的尺寸大小进行精准控制,保证其在人类的视觉所识别的范围之内,这样一来也更加方便用户对其进行实际操作。 3结束语 现阶段,我国计算机技术水平正在不断提升,并且在我国多个行业都有非常广泛的应用,计算机软件的种类也变得越来越多,因此,要注意对软件的功能性进行重点完善。在展开软件设计工作的时候,用户界面设计是其中的重要组成部分之一,做好界面设计可以为用户提供一个更加舒适的、轻松的操作环境,当用户的操作舒适度得到有效提升之后,必然会对软件的整体认同度有很大的提升。同时,在对计算机用户界面进行设计操作的时候,还应该注意对界面内容布置、颜色选择以及图像设计等等几个方面的内容进行精准明确,从而使得用户界面的空间得到更加科学合理的应用,不要出现浪费界面空间或者使相关内容分布过于拥挤的情况出现,这样势必会对用户界面的实际体验造成一定的影响,也只有对用户界面进行不断完善才能够使用户的整体体验舒适度得到有效提升。 参考文献 [1]冯秀清,司杰,赖晓风.计算机软件用户界面应用设计分析[J].电脑知识与技术,2018,14(15):71-72. [2]廖仲夏.试论计算机软件界面特点和应用设计[J].数码世界,2018,20(5):39-40. [3]薛静.计算机软件用户界面特点及其应用[J].微型电脑应用,2019,35(1):110-112. [4]章玉宛.怎样设计你的“苹果”——浅析iPhone及应用软件的用户界面[J].美术教育研究,2014,11(5):86-88. [5]谭敏,周新,兰红.安卓动态桌面设计与实现[J].计算机科学与应用,2018,8(10):1491-1502. [6]熊杰,陈忠.设计模式在组态软件图形用户界面中的应用[J].长江大学学报自然科学版(理工卷),2015:247-248,258,417. [7]沈卫东,徐志刚,杨得玉,等.基于三维CAD软件SINOVATION的梁设计软件开发[J].现代制造工程,2018,20(11):77-84. 作者:李大虎 单位:杞县人民医院
加强对软件工程项目执行情况的监管,保证项目的开发进度以及达到设计的目标要求,促进软件工程项目管理水平的全面提升。近年来,随着我国互联网技术的稳定发展,给软件行业发展提供了良好的前景,在当前时代快速发展的情况下,国内的软件企业有能力开发各种大型项目,有的项目甚至需要几年完成。鉴于软件开发项目这种特殊化的项目管理主体,特别是对大中型项目采用传统的管理方式是远远不够的。在实际工作中,如果能把内部控制理念运用到软件开发项目管理工作中,通过内部控制的方式,及时发现项目开发过程中出现的问题,发现问题后通过对问题的分析找出应对措施,从而规避软件开发项目开发失败的风险。 一、软件开发的项目管理概述 从项目管理角度来说,其主要指项目管理工作人员在有限资源的环境下,通过采用现代化管理方式和理念,对项目中包含的各项内容进行跟踪管理。也就是从项目设计环节入手,到项目结束整个过程进行统一规划、协调、引导和管理,以此保证项目目标的顺利落实。从软件行业来说,在落实项目管理工作时,涉及的内容主要以项目开发过程控制管理为主。软件工程项目是开发人员根据客户委托或企业为了获得新产品进行的开发活动。软件工程管理主要指对软件工程开发需求论证环节、软件开发环节以及软件支持环节等各项活动进行管理,保证给用户按时提供接受的委托工作,使用户构建高质量、高效率的软件工程项目。软件开发内部控制是对软件开发过程的各个环节做出风险评估,针对有可能出现的风险进行的防范;并在项目开发过程中通过测试分析等措施及时发现风险,并有效的将风险解决在萌芽状态,是企业的内部风险控制。也是在现代市场经济环境中,通过接受专业的控制建议,建立自我纠错的系统,通过系统的改善工作,将软件开发过程中的风险变成可管理的、可操纵的机会。 二、软件开发环节的风险识别 (一)项目设计阶段未经科学论证或论证不充分 在当前的市场经济环境下,随着全球贸易以及电子信息技术的发展,以及产业升级、软件国产化的政策引导,大数据时代已经来临,这些因素都给软件行业提供了更多发展机遇。软件企业在接受客户委托时,一般情况下是业务人员寻找客户、客户提出需求、双方多次商榷、达成委托事项签订委托协议,然后开发人员根据委托内容进行开发。但在这一过程中开发人员未参与到委托事项的论证过程中,因客户对提出的需求不明确,加上业务人员或售前工程师对软件开发知识的欠缺,导致没有从科学角度设计委托项目,造成开发人员边开发、客户边提需求、开发多次修改。最终导致软件的创新不足或加大产品成本、或造成无法按期交付产品的情况发生,情节严重导致项目停止。 (二)软件开发人员配备不合理 软件开发行业是劳动密集型企业、技术密集型企业。对工程师的技术要求较高,又是靠工程师手工完成的工作,没有办法通过智能化设备代替。项目组主要由实施工程师、需求分析师、概要设计师、详细设计师、前端开发工程师、后端开发工程师、测试工程师、部署工程师等人员组成,要根据开发项目的难易程度,配备能力匹配工程师参与开发。如果配备的工程师技能过高,可能造成资源浪费,成本提高;如果专业技能不能胜任项目开发,无法保证项目的质量和按期交付,导致成本提高或项目失败。 (三)开发过程管理不完善 项目经理是项目开发管理的责任人,软件开发中人力资源的投入成本是软件行业成本的主要组成部分。一方面反映了开发工程师经济利益,另一方面是企业经营成果和核心竞争能力的表现。所以,开发过程中人力资源管理是项目管理的重要内容。项目经理需要根据项目实施计划提前与各类别工程师协调好参与项目时间。如有项目变更,需及时调整实施计划,并通知项目组成员,方便工程师做好工作时间的调整。同时项目经理需要根据实施计划,保证各工程师在规定时间内按照设计的目标保质保量的完成工作。避免因项目进度等原因造成工程师进场后不能正常开展工作,造成成本上升的风险。 三、内部控制在软件开发项目管理中的应用 (一)项目设计阶段的内部控制 通常情况下,软件开发项目设计环节主要有两部分组成,一个是概要设计,另一个是详细设计。其中,概要设计也就是把软件需求转变成软件系统框架以及数据框架,通常涉及了系统框架设计以及数据框架设计亮点。系统框架设计往往包含软件系统中各项成分之间的关系,而数据框架设计更注重数据结构含义,该项环节主要强调宏观设计以及框架设计。项目设计阶段内部控制方面涉及的内容主要有四个方面,第一,加强对软件开发部门提供的软件框架设计方案进行核查,并监管设计执行情况。第二,结合实际情况,由软件开发部门提供的软件框架设计执行方案。第三,由监管软件开发部门对规划方案执行情况进行核查,并根据核查结果落实对应的设计工作。第四,检查软件开发部门提供的软件框架设计档案。同时,安排专业人员采用考核、评估和分析等方式对软件框架设计情况进行明确,同时保证软件框架审计和需求内外统一。确保采用的软件设计方案和标准具备合理性,提升设计方案的执行性和可行性[4]。软件开发企业在进行项目设计时由于缺乏可行性研究或者可行性研究流于形式、决策不当、盲目上马。并且因为设计环节缺乏科学的内部控制,无法合理保证项目开发成功,引发难以实现预期效益或项目失败的风险。因此,在进行项目设计时,应该注重设计内容,从实现软件设计目标和考虑软件的应用硬件环境两个方面入手进行设计工作的开展。为了避免上述问题产生,首先结合软件开发设计需求,做好相关人员岗位培训工作,使设计人员具备与岗位匹配的专业知识和胜任能力。并且,企业可以设置组织独立于项目之外的专业人员或机构进行评估论证并出具评估意见。其次,加强需求分析,需求分析作为软件工程的核心主要划分为两项内容,一个是非技术要求,另一个是技术要求。需求分析应该确保软件产品可以更好的迎合项目实际需求。在需求分析环节中,需要对客户的自身要求加以明确和核查。客户在提供软件需求分析执行规划方案时,需要客户的软件使用部门给予对应的配合。并且,客户应该根据规划要求落实对应的软件需求分析工作,客户在提供软件需求方案的过程中,要求对需求档案功能、型号、安全等级、相关数据等内容进行核查和明确。其次,编码阶段,在进行软件开发应用时可以采用流程管理的方式,实现对软件开发环节中各项资源投放情况进行监管和把控,以此让应用软件开发可以更好的满足实际需求。 (二)项目开发阶段的内部控制 项目开发阶段是项目进行投入的主要阶段,需投入大量的人力资源完成系统的整体开发与功能、性能、安全测试,并进行系统部署汇报演示。本阶段的成本在整个项目成本中占比较高,是内部控制的重点和难点,企业可以成立项目管理办公室,负责在项目整个开发过程中对项目进行定期检查和不定期对项目开发过程进行检查,及时发现风险,并做出应对措施,内部控制可以贯穿在下列的开发过程中。1.项目经理需提前将确认后的《需求规格说明书》发送给开发经理,开发经理研读《需求规格说明书》后形成问题清单,并由项目经理召开需求分析会,安排时间对《需求规格说明书》详细导读和问题答疑。开发经理及小组成员必须参与,会后形成《需求分析会会议纪要》。并对项目信息中的版本、难度、亮点三项内容进行补充修订。2.开发经理对已经明确的需求进行开发设计,向“技术评审委员会”提出进行设计评审,会后形成《设计评审会会议纪要》。3.需求导读后由项目经理和开发经理共同制定详细的《项目开发计划》以及确定的预估开发工作量,为以后需求变更时作为基准参考。4.开发经理根据《项目开发计划》安排开发人员和集中配置组对系统进行配置和开发工作。根据模块的难易程度分配开发工作。5.项目经理组织对开发组交付的系统进行功能、性能、安全、集成测试,并形成相应的测试报告。所有的bug(指电脑系统或程序的缺陷问题)项目经理负责登记,如需进行变更,填写《需求变更单》需客户确认。对在这个环节提交的bug需进行统计并计入项目绩效评价中,具体解决方案由开发经理及相关开发配置人员负责。6.项目经理对已经开发完成的系统为客户提供阶段性成果汇报,汇报期间客户提出的相关问题进行记录和汇总,如超出合同部分交由业务部门进行商务洽谈。7.系统功能整体满足客户需求后,由项目经理组织进行系统交付初验。项目经理提交初验报告及其他初验材料,包括但不限于概要设计、详细设计、数据库设计、测试用例、测试报告等,其中部分技术文档由产品中心协助准备。《初验报告》需客户确认盖章或签字。8.需归档的交付物:需求分析会议纪要、项目开发计划、概要设计、详细设计、数据库设计、测试用例、测试报告、初验报告、需求变更单、合同变更补充协议、产品/货物签收、初验材料。 (三)项目验收阶段的内部控制 首先,运行阶段。在系统试运行环节中,内部控制涉及的内容包含对试运行规划方案进行核查,设定试运行环节中业务周期、执行范畴、组织框架以及应急处理对策等;核查软件开发部门对用户培训内容、规模、对系统管理人员以及操作人员进行专业培训;考察试运行规划执行状况;监管软件开发部门试运行记录数据,在此环节中一旦发生问题,应该第一时间进行核查和分析,并做好对应的记录工作,及时进行处理。其次,系统验收移交阶段。系统验收移交作为项目是否可以顺利落实建设目标的检测标准,同时也是最终的检测结果。在此环节中,内部控制涉及的内容主要有:第一,考核竣工环节中各项数据的真实性和完善性,确保和项目实际状况吻合。第二,结合核查结果,对项目数量、质量等内容进行核实,同时给后续工程款项支付提供凭证。第三,核查软件开放项目各项资料,引导建设部门和开发部门交接对应的项目数据。第四,辅助用户对项目数据档案、源代码、产权说明文件、变更数据等内容进行核查,同时考核移交内容的合理性。具体过程如下:1.运行阶段:主要任务是完成项目试运行前期准备和培训工作,以及试运行期间的系统日常保障工作。此项工作主要由项目经理、实施工程师、运维工程师完成。(1)由项目经理编制《培训计划》,并组织项目组成员编写《培训文档》(用户权限设置、《用户操作手册》和操作视频必须准备好),并组织试运行前的用户集中培训(进行培训签到)。培训包括针对普通人员、部门领导和单位领导。(2)项目经理在试运行前和客户确认试运行时间周期和《试运行计划》方案,《试运行计划》方案中必须包括试运行的试用人员清单、业务用例、操作指标、每日的操作安排。(3)试运行分为两个阶段:第一阶段邀请有代表性的最终客户或业务骨干小范围试运行,第二阶段全员培训试运行。(4)试运行期间项目经理和运维人员督促参与试运行人员使用系统,完成试运行方案中规定的操作内容,并每周提交《试运行周报》给客户。(5)试运行期间系统出现的bug及需求变更录入进行记录,其中《需求变更单》需客户确认,所有问题由项目经理带领现场实施/运维人员跟进解决,同时开发团队保证bug不过夜。(6)试运行期间由项目经理负责记录收集系统使用情况,并提交公司需求评审和工作量评估。若产生非合同内需求变更或合同内需求变更累计超过评估总项目工作量需提交业务部门,收到经公司签批的《需求变更单》且经客户签字确认后方可继续实施。(7)完成试运行后,根据试运行期间提出的问题和需求整理成《试运行报告》提交客户确认。针对需求部分核对合同后,提请业务部门确认是否需要由商务进行洽谈,并由客户在需求变更单上签字。(8)本阶段需形成需求变更单、培训计划、培训文档(操作手册)、试运行计划、试运行周报、试运行报告、系统应急方案书面资料并归档。2.交付验收阶段的主要任务是组织召开项目终验验收会,提前准备验收材料,并邀请相关领导参加。此项工作主要由项目经理、实施工程师、业务人员完成。(1)如合同涉及第三方测评,项目验收前1个月必须启动第三方测评,项目经理根据测评要求准备相关文档,其中概要设计、详细设计、数据库设计等开发文档由产品中心协助准备。项目经理安排与第三方测评机构进行现场测评,并由第三方测评公司出具对应的《测评报告》。(2)项目上线试运行完成后,项目组根据情况申请验收,由项目经理提交《项目验收单》给客户签字盖章确认(非自然人客户确认验收必须以盖章为准),验收中必须注明“XXX项目完成验收”,或能够表达确认验收字样的文字;如客户方组织由专家进行验收,以最终《专家验收意见》单为准(需有专家签字的原件)。(3)项目经理准备验收会需要的《项目验收材料》、《项目建设情况汇报材料》以及其他相关文档。本着节能减排原则,如无特殊要求,可以提交电子版验收材料给客户存档。(4)如项目在验收前阶段接到客户书面投诉,项目在验收前阶段出现重大事故的项目整体进度延期50%以上的公司需派出专业团队进行专项处理。(5)本阶段的工作需形成测评报告、验收单、专家验收意见,验收会签到表,项目验收材料、项目建设情况汇报PPT书面资料并整理归档。 (四)质保阶段的内部控制 根据试运行方案推进系统的试运行工作,完成试运行并进入正式运行。本项工作主要由项目经理、运维工程师负责。主要控制措施应从以下几方面做起:1.正式运行期间发生的所有需求变更(非合同范围内),必须告知业务部门,由业务人员出面进行商务洽谈后方可进行,需求必须走《需求变更单》,由客户签字或盖章,如牵涉大范围变更(一般超出原合同工作量的15%),必须重新立项。2.项目经理需明确项目合同的维护服务期限和服务范围,以及是否提供人员驻场服务,并根据合同要求安排人员驻场或远程维护。3.项目运行满免费运维期后,项目经理(现场运维)应主动提醒业务部门,并由业务部门发起续签有偿维护合同事宜。如客户不签订合同实施部门有权利停止为其提供维护服务。4.进入运维期后,运维人员应定期对系统及服务器进行巡检。5.本阶段需形成的文字资料有系统巡检表、系统运维记录表、需求变更确认单。 四、结束语 总而言之,从当前软件行业发展前景来看,国内的软件开发技术越来越成熟,有能力独立承担大型软件项目的开发及研发。如果将内部控制管理有效的应用到软件开发项目中,明确各个环节中内部控制内容,结合实际情况,采取对应的内部控制对策,从源头上防止发生不必要问题,保证软件项目建设和开发安全,给软件项目的稳定发展奠定良好的基础。 参考文献: [1]王欣.房地产项目管理中内部控制的运用分析[J].中小企业管理与科技(上旬刊),2018(05):9-10. [2]贾自芳.内部控制在项目管理公司中的应用[J].财会学习,2018(11):243-244. [3]曾战锋.浅谈施工企业工程项目管理中的内部控制[J].中国国际财经(中英文),2017(24):96-97. [4]呼斯乐.试论工程项目管理中内部控制理论的应用[J].管理观察,2017(33):80-81. [5]邬维国.浅谈行政事业单位内部控制在建设项目管理中的应用[J].行政事业资产与财务,2017(09):43-44. [6]徐福艳,金颂时.核电项目管理中的内部控制审计程序及方法研究——基于三门核电内部控制制度审计案例分析[J].中国内部审计,2016(07):28-33. [7]赵景惠.内部控制理论在工程项目管理中的应用[J].合作经济与科技,2016(13):138-139. [8]卫建泽.内部控制在工程项目管理中的运用[J].山西财经大学学报,2013,35(S2):54. 作者:孔德威 单位:上海梦创双杨数据科技股份有限公司
本文即围绕数据挖掘技术,就其在软件工程中的具体应用,进行了分析和探讨,具体内容如下: 1数据挖掘技术概述 数据挖掘(Datamining),也称为数据采矿,是数据库知识发现的一个基础环节,是在海量数据中自动完成隐藏特殊关系数据搜索的过程,数据挖掘技术就是这一过程应用的相关技术。一般来说,数据挖掘过程可以分为四个环节进行,分别是选择软件库保存的数据、完成选择数据的预处理、对预处理得到的格式化数据进行挖掘、以及最终获得目标数据。软件工程是数据挖掘技术的重要应用领域,具体的数据挖掘工作普遍分为三个层次进行,分别是交互式可视数据探查、自动模式提取和建构模型。三个层次之间存在着直接的关联联系,其中可视数据探查是后两者的基础,而建构模型又是前两者的指导。软件工程领域应用数据挖掘技术的目的,主要是借助聚类、分析、预测、统计等技术手段,在海量数据资源中快速分辨、寻找符合人们应用需求的数据信息,并自动将检索到的信息反馈至软件系统。此外,为保障数据挖掘的科学性和有效性,数据源还应尽可能达到庞大、真实的要求。 2数据挖掘技术的应用分析 2.1开源软件开发中的应用分析 所谓开源软件,就是源代码处于开放状态的软件,一般来说,开源软件普遍对客户免费开放,也正由于开源软件的这一特性,导致对开源软件的管理和控制变得相对困难。在这种环境背景下,在开源软件开发阶段引入数据挖掘技术,可有效提高开源软件的开发质量。以大阪大学设计的分布式数据挖掘系统为例,该系统就可以在实现大规模系统挖掘的同时,完成对不同开源软件的挖掘;再以牛津大学设计的数据挖掘系统为例,该系统实现了系统开发者和使用者的持续跟踪管理,从而大幅度地提高了开源软甲的使用率。 2.2软件项目管理中的应用分析 数据挖掘技术在软件项目管理中的应用,主要表现在以下两个方面:(1)版本控制信息挖掘包含的对组织关系的挖掘;(2)对版本控制信息的挖掘。就软件项目管理而言,其本身具有鲜明的系统性和复杂性特征,对组织关系的挖掘,是实现各类资源科学分配和协调的重要前提。以整个软件项目管理过程中产生的电子邮件、共享文档为例,对此进行数据挖掘就可以有效区分不同工种人员的组织关系,避免秩序混乱问题的发生,从而保障软件项目管理工作的顺利进行。另一方面,版本控制可以实现对文件内容变化的详细记录,并作为用户了解版本修订情况的依据和基础。针对版本控制信息应用数据挖掘技术可进一步降低系统维护成本,同时可起到一定的警示作用,及时反映系统修复记录中存在的纰漏,最终达到提高软件项目管理水平的目的。 2.3程序代码中的应用分析 本文涉及的程序代码,主要是指克隆代码,即通过简单的“复制、粘贴”操作获得并再次进行使用的代码。数据挖掘在克隆代码检测中的应用,是数据挖掘技术应用的早期形式之一,目前应用较为普遍的方法包括基于标识符对比方法、基于文本对比方法等几类。总的来说,数据挖掘在克隆代码检测中的应用还有待进一步的发展和完善,尤其是关于语法信息和语义挖掘的考虑,以提高检测的科学性和准确性。对横切关注点进行挖掘,也是数据挖掘技术的重要应用,主要是由于部分关注点在程序中的代码具有极高的相似度,甚至是使用相同代码导致的。目前,应用于Aspect的挖掘方法众多,根据不同方法的具体特点,可以分为形式概念分析方法、本文和类型分析方法、聚类分析方法、以及自然语言分析方法等等。在对执行模式进行数据挖掘时,应优先选择方法执行关系挖掘和形式概念分析法两种方法。此外,数据挖掘技术还可用于对数据库目标构件或代码的挖掘应用,在数据挖掘技术的支持下,可大幅度提高检索速度、效率和准确度。 2.4故障检测中的应用分析 从故障检测的角度分析,对程序执行记录进行数据挖掘,可提供程序的交互模式和说明,而以上信息均可以作为软件故障定位和检测的依据。对程序说明的数据挖掘过程,就是对信息的跟踪和逆向建模的过程,该过程对于加深对程序的理解,以及优化程序后续的维护管理,具有重要的作用和意义。目前,基于规则的挖掘方法是应用较为普遍的方法,其主要通过对程序行为的挖掘发现对应的规则,进而借助时态逻辑完成表达。 3数据挖掘技术的主要应用方法 3.1分类 数据挖掘技术涉及的相关分类方法,大致等同于某种预测分类标号的执行动作。在实际应用过程中,通常需要建构相应的分析模型,并提前根据相应规则输入概念集或数据类集,以作为分析模型的应用基础。目前,数据挖掘技术应用于软件工程领域的分类方法中,主要的分类方法包括神经网络分类法、判断树法、贝叶斯分类法、以及支持向量机等几类。其中,判断树法在分类计算过程中主要借助贪心算法作为逻辑基础,根据从上而下递归的模式完成判定树的构造,而判定树包含的各个子节点,就分别表示不同的软件类别标号。 3.2聚类 聚类具体是指将研究涉及的大量数据,按照一定标准细分为不同簇或类的过程,从而在保障相同簇的对象之间拥有较好相似度的同时,不同的簇的对象之间有着较明显的差异度。聚类和分类有着本质上的差异,聚类过程划分的类对象具有不可预知性,即无指导的学习方法。聚类分析方法在其他算法的预处理范畴中有着大范围的应用,尤其在数据分布信息独立性分析方面有重要应用,不仅可更好地挖掘孤立点,同时可提高欺诈行为检测的效率和准确性。 4结语 综上所述,信息时代背景下,数据挖掘技术是快速处理海量信息、准确寻找目标信息的关键。就软件工程而言,数据挖掘技术在开源软件开发、软件项目管理、程序代码、以及故障检测等方面,均有着重要的应用,相关人员必须提高对数据挖掘技术的重视和关注,切实加强数据挖掘技术的实际应用,以促进我国软件工程行业的进一步发展。
一、软件实验室面临的问题 (一)实验室软件维护和更新的耗时耗力问题 软件工程实验室的设备往往以计算机为主。维护大规模计算机的软硬件是一项繁琐而艰巨的工作。特别是当实验室资源有限,不同课程所需的软件工具或者相关开发环境不尽相同,在新课程开设前,经常要临时安装或者更新许多软件。另外,个别学生在使用计算机时可能进行误操作,导致计算机配置文件缺失或者其他原因,造成计算机系统崩溃等。所以,软件的维护和更新一直以来成为实验室管理人员感到头疼的问题。传统的解决方式是通过交换机使实验室的主机连接构成局域网,之后使用硬盘网络同传软件进行全局域网内计算机系统环境的拷贝,这个方法一定程度上缓解了问题,但管理人员往往为了一个小软件的安装而同传整个硬盘或者一个分区,仍然缺乏效率。随着云计算等新兴技术的发展,软件维护和更新这一问题拥有了不少新的解决方案。本文介绍了两种不同架构的云桌面系统,并根据在实际中测试情况进行比较,给出了两者的优缺点。 (二)计算机硬件更新换代的问题 根据摩尔定律:当价格不变时,集成电路上可容纳的元器件的数目,每隔18-24个月便会增加一倍,性能也将提升一倍。计算机硬件的发展在过去几十年中一直基本遵循摩尔定律。但是高校实验室的硬件设备的更新换代速度远远比不上硬件设备发展的速度。实验室的计算机一般使用6到10年以上才能报废,在这期间,也较少有高校对计算机采用增加内存、替换CPU的方式来提高其性能的。那么如何灵活升级计算机的性能呢?云桌面的一些技术也给了一些可能的解决方案。 二、基于云桌面的解决方案 云桌面主要基于VDI(Virtual Desktop Infrastructure)或者IDV(Intelligent Desktop Virtualization)等技术实现。VDI即桌面虚拟化架构是指计算机系统的虚拟化。该技术将桌面操作环境与硬件运行环境分离,以实现桌面使用的安全性和灵活性。通过这项技术,用户可随时随地使用任何设备,通过网络访问个人桌面系统[1]。VDI技术下桌面计算资源一般都集中在数据中心上,界面也是由服务器发送到终端设备上的。而IDV技术则采用更多的分布式策略对系统进行精细的管理,同时集中和简化了服务器的管理部署功能,也充分利用了终端设备的资源。两种技术有很大的不同,在实验室建设中也有很多不同的优缺点。 (一)基于VDI技术的云桌面系统 VDI技术采用“集中计算,分布显示”的原则,借助服务器虚拟化技术构造桌面的资源池,将终端所有的计算都放在服务器的数据中心统一管理。终端仅安装客户端用于访问服务器并获取桌面,负责输入输出和界面的显示[2]。我们与国内某著名通信公司合作建立了40台终端的云计算实验室,在实际的测试使用中发现,在百兆带宽的网络环境下,当40台终端同时启动并使用时,服务器访问量明显增大,网络数据量也相应增大。此时对于一些简单编程工具的操作尚能正常使用,但是对于桌面图像变化较大的应用来说则非常卡顿,例如使用视频或者图像生成工具等,严重影响用户的使用体验。为了提高VDI技术的可靠性,实验室必须加大投入,配备足够的带宽与服务器资源,从而支持VDI技术的顺利使用,提高终端的访问体验。VDI技术云桌面系统的优点是软硬件都依靠服务器提供,方便升级和管理。缺点是对网络和服务器的投入较大,特别是终端显示图像的大量传输需要借助高速网络才能实现。 (二)基于IDV技术的云桌面系统 IDV技术由英特尔公司提出,主要目的是提供更加智能的管理用户计算的系统。和VDI技术将计算资源高度集中在数据中心不同,IDV采取更多的是分布式技术实现桌面的虚拟化。IDV不需要进行大量资金投入在网络和服务器的升级和改造上,不对现有桌面管理做大规模改造。一般来说,IDV系统会在服务器保存多份桌面的镜像文件,在实验室终端开启时,终端会与服务器比对,下载镜像文件差异部分,然后成功更新桌面系统,系统计算仍然使用终端资源进行,用户使用该系统时,不会与传统的桌面系统感觉有较大差异。为了测试IDV云桌面的使用体验,我们在一个50台计算机的实验室安装配置了IDV云桌面系统,在百兆带宽的网络环境下,我们首先在服务器端更新了100兆大小的软件,当50台计算机同时启动后,首先花费了2分钟更新了本地系统,并下载服务最新更新的软件工具,之后系统都可以流畅的运行,与在本地使用计算机没有差异。IDV技术云桌面系统的优点是前期资金投入较少,终端在启动后使用起来与传统计算机没有太大差异。缺点是由于终端与服务器的交互,终端系统启动较慢,另外,对终端的硬件配置要求更高,维护相对复杂。 三、总结 总的来说,不管是基于VDI,还是IDV技术的云桌面系统,都提供了比传统方式更好的解决方案,极大的方便了实验室管理人员的维护和更新工作。而对于需要进行实验室云桌面技术升级的高校或者相关单位,可根据自身情况和需求进行不同的方案选择和设计。