首页 > 文章中心 > 软件开发培训总结

软件开发培训总结

前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇软件开发培训总结范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。

软件开发培训总结

软件开发培训总结范文第1篇

关键词:敏捷转型;反模式;软件开发

1敏捷开发方法的出现

软件工程是20世纪70年代提出来的概念。传统的软件开发方法有瀑布模型、螺旋模型、喷泉模型、RUP4类,它们注重文档的完整、程序的易读性、结构的完整性,属于重型软件开发方法。在过去的一段时间,传统软件工程的方法很好地适应了软件开发的需求,其不仅关注软件构造方式的完美型,同时也注重总体的可预测性,以文档为驱动,按照需求分析、概要设计、详细设计、编码、测试、软件交付的流程来进行开发。在软件产业不是很发达、软件开发人员稀少的过去,这样严格的开发流程无疑是很适用的[1]。随着市场环境的变化,传统软件开发方法面临着严重的挑战。一方面是用户需求的多样性、个性化和快速变化,另一方面则是来自激烈的市场竞争对软件的质量和价值提出了更高的要求[2-3]。这就要求软件开发需要以更灵活的手段来应对不断变化的需求,用更短的时间和更低廉的代价将产品推向市场满足用户需要,由此人们开始对软件开发过程的本质重新进行思考和探索,在20世纪90年代,一系列轻量级开发方法相继被很多软件大师提出。2001年2月在美国犹他州的雪鸟滑雪场召开了软件开发大会,本次会议了“敏捷宣言”,包括4个核心价值观和12条基本原则,这标志着敏捷开发的诞生。相对于传统软件工程,敏捷开发主要有3个重要特点:(1)敏捷开发是“适应性”而非“预设性”的,传统软件工程试图对一个软件开发项目在很长的时间跨度内做出详细的计划,然后依据计划进行开发,这类方法在计划制定完成后拒绝变化,而敏捷开发欢迎变化,甚至允许改变自身过程来适应变化;(2)敏捷开发是“面向人”的而非“面向过程”的,它们试图使软件开发工作能够利用人的特点,充分发挥人的创造力和主动性;(3)敏捷开发是“产品驱动”而非“文档驱动”,开发过程只需要较少的过程文档,在软件的迭代开发过程中,一直保持软件产品的可用状态,以产品的增量来衡量进度的实际状态。敏捷开发的诸多优点吸引了越来越多的软件企业研究敏捷开发,积极实施敏捷转型。

2敏捷转型的反模式

尽管敏捷开发方法已经提出多年,但实施过程中还是出现大量的疑问和难点,在传统型软件企业里面还大量存在敏捷转型的失败案例。这些失败案例可以总结为6条失败教训,即敏捷转型的反模式。

2.1缺少管理层支持

敏捷宣言告诉我们,“围绕被激励起来的个人来构建项目,给他们提供所需要的环境和支持,并且信任他们能够完成工作。”在转型过程中,同样要求管理层需要关注团队成员的状态,为转型工作提供足够的资源保障。

2.2转型目的缺失或不明确

管理层必须明确希望从敏捷得到什么,如果对要解决的问题都不清楚,那么努力的效果就会大打折扣或无功而返。“别的公司或别的项目那样做”并不足以成为自己采用的理由。所以敏捷转型必须紧盯自己的问题,弄清楚为什么希望做出改变,进而再启动敏捷转型。

2.3组织结构与角色和敏捷不相容

敏捷宣言提到“最好的架构、需求和设计出自于自组织的团队”。在传统软件企业中需求分析、编码开发和测试常常分属不同的行政部门,这样的组织架构容易阻碍自组织团队建立,让敏捷团队的成员感觉仅仅能够做局部优化。

2.4指导不足

敏捷转型过程中,需要向团队成员讲述敏捷的思想和方法,过少的培训甚至没有培训,将让团队感到迷茫。在实践过程中,还会存在很多疑问或误区,还需要有经验的敏捷教练现场一对一指导。

2.5将敏捷等价为Scrum

敏捷的范畴比Scrum要大得多。Scrum本身并不涉及工程卓越、业务目标、大型团队扩展或者技术发展等。在转型过程中,需要从改善工程实践入手。否则,团队初期的Scrum的活动显得很热闹,但因为代码问题迟迟无法解决,质量和效率没有得到根本的改善,过程依然痛苦。

2.6对工程实践缺乏足够认识

工程实践对于解决代码问题具有直接的帮助,但每一种工程实践都有其门槛,需要付出学习成本才能掌握。不加选择的实施,将会带给团队难以承受的压力,而导致成员的抵制。这些问题都会导致敏捷转型的失败。而失败又会带来连锁反应,一方面让转型的软件开发团队大大降低对敏捷的热情和信心;另一方面,也会给其他周边的团队带来负面影响,使其充满疑虑、裹足不前。

3敏捷转型策略

针对敏捷转型的反模式,就可以有针对性地制定转型策略。

3.1宽松环境

敏捷转型是在项目交付过程中实施的,团队成员需要付出额外的工作和努力。改进活动需要时间、资金、办公环境的支持,甚至改进过程中会遇到挫折和失败。团队的管理层对此有清晰的认识,保持关注、积极支持、容忍失败,建立一种宽松的转型氛围。

3.2转型小组

敏捷教练通常对于敏捷价值观有深刻的理解,对敏捷管理实践或技术实践有非常好的掌握,并且具备一定的沟通和引导技能。这种角色对于传统团队的转型是非常关键的,起到引导实践、转变思想的作用。在传统团队内部通常难以独立培养敏捷教练,需要从外部引入,帮助团队转型。以教练为核心加上团队内部骨干建立转型小组,可以帮助转型工作顺利开展。

3.3痛点驱动

传统团队在研发过程中通常受制于自身的能力和外部的压力,遇到各种问题。常见的问题包括:(1)维护代码规模大,遗留故障多,团队陷于质量的焦油坑;(2)用户需求多、变化快,驱使团队过于追求进度,却无法充分理解用户需求;(3)分工壁垒严重,开发人员和测试人员之间对抗造成大量浪费活动;(4)团队成员技能提升缓慢,加班过多,士气低落。转型小组一起分析团队现有问题,再与团队成员开诚布公地探讨,通常会得到强烈的共鸣。不以引入新概念、新模式为目的,而以痛点驱动的态度面对问题,敏捷开发的起步就容易得到支持。

3.4实践选择

经过多年的业界探讨和尝试,敏捷方法论层面Scrum,XP和精益看板得到了广泛认同。但即使这样,从这几个方法论里面挑选合适的敏捷实践仍然不是件容易的事情,先做什么后做什么同样也是难以抉择的事情。盲目的实施实践只会加重团队的负担,而难以获得期望的效果,并将开发团队陷于交付和改进的双重压力中。而转型的初衷是在短期内付出可以接受的学习成本,提升过程能力从而获得长期的交付能力提升,因此,短期内的改进必须要获得可见的成果。通过多个项目的探索和实践,总结出敏捷转型初期的3个关键实践:Scrum、用户故事、持续集成。从管理、价值、交付3个关键方面可以帮助团队在短期内以较小的成本奠定敏捷开发的模式的基础,并可以在此基础上持续自我提升。Scrum是一种轻量化的敏捷软件开发管理框架,每隔1~4周,每个人都能看到能实际工作的软件,并且据此决定是这个版本还是继续开发以加强其功能,这样将原先的长周期的开发过程切割成若干个小段,用户反馈速度大大提升。有了轻量化的管理框架,团队的基本的工作模式、协作方式就会发生明显变化。用户故事(UserStory,US)是从用户的角度来描述用户渴望得到的功能,能把一个功能像讲故事一样叙述出来,不仅描述了产品需求、业务价值,同时还包含了一系列验收标准。一个好的用户故事包括3个要素:(1)角色,谁要使用这个功能;(2)活动,需要完成什么样的功能;(3)商业价值,为什么需要这个功能,这个功能带来什么样的价值。通过使用用户故事,可以增进开发人员与业务人员的沟通,帮助开发人员充分理解需求含义,并确保每个迭代都能关注用户期望的高优先级需求。没有用户故事就难以有真正意义上的迭代,也无法做到敏捷开发所倡导的快速反馈、快速学习和快速价值交付。持续集成是极限编程里面的重要实践。采用完全的自动化构建过程,使得一个开发团队在一天中多次构建并测试软件。持续集成鼓励软件开发项目团队在一天内多次提交代码,同时保证每次签入操作都不会损害已经通过的构建。这样做的目的就是为了快速反馈,使得缺陷及早被发现,并能以可视化手段快速反馈。有了持续集成作为质量安全网,团队的缺陷可以快速反馈和解决,作为工作产品的软件版本就可以一直保持在可工作状态。

3.5敏捷培训

要让团队正确实施敏捷实践,转型小组需要实施多层次多类型的培训。给团队的敏捷培训可以分为3个类型:(1)敏捷价值观的导入培训,向所有团队成员解释敏捷从哪里来的,它是什么、不是什么,与传统软件开发的异同点及其背后的原理,这样可以让团队成员能够在理论层面理解敏捷;(2)敏捷实践方法的培训,有针对性地向各角色介绍敏捷实践方法的要领;(3)本地化敏捷管理要求的培训,即为了使敏捷方法在团队落地而制定的各种管理要求,需要宣贯给团队成员,例如Scrum的活动计划和执行要求、用户故事书写规范、持续集成纪律等。通过一系列培训及时准确地传递敏捷的思路与各种要求,促进团队建立共识,提升实践能力。

3.6迭代改进

敏捷转型不是一蹴而就的,转型小组的改进工作需要按照敏捷开发的模式迭代前行。每个阶段制定切实可行的目标、范围和计划,定期组织回顾总结。通过透明化的成果展示获得管理层支持,及时发现风险改进工作安排,保证转型工作始终在平稳和可控的轨道上。

4结语

敏捷开发是一系列轻量级方法论的集合,具有共同的价值观。敏捷转型行为是由策划的敏捷方法引入到传统开发团队中,合理应用可以显著提升团队交付的效率、质量及个人能力。敏捷多种方法论及其实践都有其特点和学习成本,这就给敏捷转型带来了诸多风险和难点。本文在大量实践的基础上,针对转型中的反模式,提出了系统化的敏捷转型策略以帮助传统团队成功转型。需要注意的是,短期的敏捷转型任务完后,转型小组中应该能培养出内部教练,以便有能力引入更多的方法实践,帮助团队向更卓越的目标前行,而团队需要保持敏捷的意识和习惯,形成持续改进的良性循环。

参考文献

[1]科恩.用户故事与敏捷方法[M].李国彪,滕振宇,译.北京:清华大学出版社,2010.

[2]保罗•杜瓦尔,史蒂夫•迈耶斯,安德鲁•格洛弗.持续集成:软件质量改进和风险降低之道[M].王海鹏,译.北京:机械工业出版社,2008.

软件开发培训总结范文第2篇

【关键词】教学软件;教学系统设计;软件工程;开发模式

【中图分类号】G40-057 【文献标识码】A 【论文编号】1009―8097(2009)07―0049―03

当前国内的论著和教材中提出的教学软件设计与开发模式大体可以归为两类。一类是对教学系统设计模式修改而来的,如对ADDE模式的修改;另一类是在软件工程的线性开发模型中插入教学设计环节的,例如“项目定义教学设计系统设计脚本编写素材准备软件编辑试用评价产品出版”。这两类模式都忽略了教学设计与软件工程的内在联系,不能很好地指导教学软件开发。

教学软件既是一种教学材料,又是一类应用软件。作为教学材料,属于教学系统设计的对象,作为应用软件,是软件工程的产品。 因此教学软件开发过程中有两条并行交叉的过程。本文在分析开发过程的基础上,提出两者结合的开发模式。

一 教学软件开发过程分析

1 教学材料的系统设计

在教学系统设计中,教学材料的开发是放在整个系统中考虑的,是一系列的相关分析和决策的结果。

教学系统设计有多种模式。图1所示的是美国学者迪克(Walter Dick)和凯里(Lou Carey,James O. Carey)提出的模式,这个模式有广泛的应用。

对于整个设计过程,可以分为两个阶段,即分析阶段和决策阶段。分析阶段的结果是编写出绩效目标。以绩效目标为依据,设计者开始做出的决策,形成如下的设计文件:

评价学习的试题和量表;

教学内容和活动的顺序与组织方案;

教学材料和教师手册的初稿;

对教学和教学材料的形成性评价方案;

对教学和教学材料的总结性评价方案。

2 教学软件产品的开发

教学软件产品的开发要遵循软件工程的规律。软件工程是“采用工程化的原理与方法对软件进行计划、开发和维护。” 目的是提高软件开发的效率和可靠性。软件开发的基本模型如图2。

这样的线性过程不适合于教学软件开发。首先这种模型是以编写程序代码为中心的,而教学软件除了程序代码,还有大量的媒体元素,如图像、动画、音频、视频等。这些元素的制作是与程序编写并行或交叉进行的,该模型反映不出媒体制作的工作过程。其次是在教学软件设计的初期,由于教学本身的复杂性,设计者不可能完全确定设计的细节,不可能在分析阶段解决所有的分析问题,经常需要在开发过程中修改他们的设计,该模型没有考虑到开发过程中的不确定性。

在对软件开发模型改进的过程中,人们提出了快速原形法、增量模型、螺旋模型等,这些模型的共同特点是把软件开发看作多次循环改进的过程,在多个循环过程中有多次的评估和修改,或是从软件的核心逐步丰富。图3示意了原型法与螺旋模型结合。无论是哪种模型,都有软件开发的基本步骤:分析、设计、开发、测试。

3 教学系统设计与软件开发模型的结合

教学软件与管理软件、工具软件等功能性商用软件最显著的不同,是不能用“功能”来衡量。例如一个文字处理软件,如果测试者能够用软件录入文字,实现任何格式的排版就表明该软件的功能实现了,而教学软件无论运行多么流畅,严格地讲都不能说它具有了功能,因为教学软件的作用效果,不是自身表现出来的,这是具有不确定性的。因此对教学软件,开发是否成功要看教学性,而不是“功能”,而教学性要靠教学系统设计来保证。

无论是从教学系统设计的角度,还是从软件工程的角度,教学软件开发过程都可以分为两个阶段,一个是设计阶段,一个是开发阶段。两个阶段之间有反复调整修改的环节。教学系统设计的理论和方法,主要应用在设计阶段,以实现软件的教学性,为开发提供蓝图。软件工程的思想和方法,贯穿整个设计和开发过程,但重点是开发阶段的组织与管理,以实现软件的技术性能。一个好的教学软件开发模式,应该以教学系统设计为基础,结合软件工程的思想和方法。对这种结合可以用图4示意。该图的内圈表示教学设计过程,外圈表示软件开发过程,两个过程是同时启动同步进行的,交织成一个软件开发循环周期,但是在各个阶段两者的重要程度和工作任务的分量不同。

二 教学软件开发模式描述

1 模式的构成

该模式是借鉴美国学者Stephen M. Alessi和Stanley R. Trollip提出的模式,结合国内实际情况和我们的工作经验提出来的,见图5。

这个模式在整体上是软件开发的螺旋模型中的一个周期,也可以看作增量模型的一个构件的实现过程,这取决与软件开发的任务和条件。这个模式具有一定的普遍性,适合教学软件专业开发,也可供学校的教育技术人员和各科教师制作课件参考。

设计与开发模式有三个要素和三个阶段。三个要素是标准、评价和管理,三个阶段是计划、设计与开发。三个要素始终与三个阶段相互作用,是指在制作的全过程中都要注意,是全过程的活动原则,保证项目的成功。计划和设计两个阶段用环形表示阶段内部有反复的修改,开发阶段用竖的框架表示多项工作可能会并行或交叉开展。

这个模式涉及到开发者和用户两个方面,开发者包括教学设计人员、教学与培训专业人员、媒体素材制作人员和美工人员、程序编写和测试人员、项目管理人员等。在专业开发中,用户是指接收产品的客户,如学校、培训机构或出版商。在学校或培训机构内部开发时,用户是指使用软件的教学者,通常是教师。

2 模式的特点

(1) 基于标准的过程

从项目一开始,开发者与用户等共同明确软件最终产品所有方面的一致的标准,每个开发人员都知道应该怎么做,始终坚持确定了的标准。

(2) 实证的方式

全过程是初步设想、评价、修改的反复循环,直到最后完善。在计划和设计阶段需要完成两个原型,体现了原型法的思想。软件开发虽然有理论指导,但是最保险的还是不断地试验修改,直到合适为止。在全过程中坚持按标准评价,既不拔高也不降低。

(3) 全过程管理

软件开发中有一种现象是偏离原定方案,到了最后又耗费时间、人力和财物进行修改。好的项目管理能保证方案实施,坚持既定标准。

(4) 重视决策阶段

该模式中把计划与设计分为两个阶段,在全过程中花费较多的时间,意图是制作人员多花一些时间讨论,提出初步设想,做出正确决策,然后进行技术实现。这样不仅能少走弯路,提高工作效率,更重要的是能开发出体现教学设计魅力的软件,而不是炫耀技术水平和艺术效果的展品。

(5)倡导集体协作

全过程贯穿了集体协作的工作方式。首先是因为设计与开发所需要的技能与知识不是一个人能全部具备的,决策需要集思广益,需要有各方面专长的人合作;其次是协作方式能够在参与者共同监督下,保证原定的标准与方案。

3 模式的要素

(1) 标准

标准是一个好的项目的起点和基础,规定了开发人员持续努力所要达到的质量。在典型的情况下,一套标准来自两个方面。第一,是由开发人员提出来的,开发人员都应知道质量标准,并且在全过程中遵守;第二,是由客户或教学人员提出来的,往往比较具体,例如规定了总体印象、内容详细的程度、字体、颜色等等。来自两方面的标准一般是不会冲突的,能够协调为一套标准。

(2) 评价

标准只有在软件开发中坚持才有用,这就要求对所做的每一件事进行评价,每个人员也必须执行标准,以标准来衡量自己所做的工作。如果等到项目接近完成时,才来看是否应用了标准,既不现实,也没有用处。

进行全程评价关系着项目的质量,通过设计与开发过程中反复的设想、试验、评价、修改,使每一步工作都符合质量,则最终的产品才能具有高质量。

(3) 管理

成功与不成功的项目的差别很大程度上在于管理。对整个软件开发项目的资源、经费、时间等要从始到终严格控制,进行的良好管理,否则项目容易偏离预定计划和标准。加强项目管理,首先是要制定好计划,其次是要做好监控工作,最后是要保持项目组成员之间以及与用户之间的交流和沟通。

4 模式的阶段

(1) 计划阶段

计划阶段奠定多媒体教学软件开发项目的基础,形成总体设想,以保证项目各方面顺利进行。

计划阶段应确定项目的目的,也就是学习者完成软件学习后应掌握的知识、技能及应形成的能力、态度等。目的的确定涉及到教学内容范围,学习者的起点知识技能,以及一般特点。明确工作的限制条件也是必要的,例如运行软件的计算机环境,用户对信息呈现的特殊要求、软件内容的指定范围等。

计划还包括收集资料,明确所需要的资料是否都能得到,能否改编或自制,如果有些资料不可能解决,决定是否需要改变软件的内容。计划阶段应开展头脑风暴活动,项目组成员共同讨论,形成对软件的内容、结构、外观、风格等方面的初步设想,用原型或文字描述出来。在这一阶段需要频繁地与用户沟通,应编制一些文件,包括项目说明、计划书、项目标准等,使项目管理有章可循,并得到用户认可。

(2) 设计阶段

设计阶段进行软件的教学内容的组织,明确软件的教学目标,形成对软件的具体描述,为技术实现提供指南。

设计是软件开发的核心阶段,时间用得最多。在这一阶段,要综合应用教学理论,使用控制与交互的各种方法,体现信息呈现的要求。在设计过程中,制作人员之间,以及制作人员与用户之间,要继续交流,对软件最终的样式达成共识,完成原型和设计文件。

(3) 开发阶段

开发阶段使设计的结果最终转化为实际的产品。

这一阶段要运用各种技术手段,包括硬件设备和工具软件,利用和改编现有资料,制作文本、图像等多媒体素材,用编程或创作软件集成软件,经过多种不同水平的测试和试用后,最终完成软件。并且安排软件的总结性评价。

在开发阶段,素材制作、软件编程、手册编写等多项工作往往是并行或交叉开展的,素材创作和程序编写人员是工作的主体,但设计人员和用户仍以不同的角色参与制作过程,同时又在动用所有的技术资源,因此组织管理和质量控制十分重要。

参考文献

[1] 张军征.多媒体教学软件设计原理与方法[M].北京:科学出版社, 2007.

软件开发培训总结范文第3篇

企业招聘应届毕业生的入门要求就是能够编程,包括企业内部覆盖销各职能部门的信息系统软件,也包括企业各层次网站系统开发。而政府机关、事业单位则以网站系统开发和工作流管理为主[2]。对信息管理专业人才来说,软件开发技能是未来就业的敲门砖,而管理理论思想和方法的掌握则是其未来成为企业CIO的奠基石。笔者将探讨如何进行信管专业计算机课程教育改革,提高学生的软件开发能力,增加就业机会。

2信管专业的计算机教育总体规划

2.1课程体系设置

课程体系是帮助学生建立完整知识结构的前提条件,如何理顺本专业的课程体系是提高计算机教育水平的关键问题[3]。根据信管专业的培养目标,相应的计算机教育理论体系应分为计算机基础课程模块、信息管理课程模块、计算机软件开发核心课程模块和信息系统应用模块4个层次。(1)计算机基础课程模块,包括计算机专业的基础课程:C/C++语言程序设计、数据结构与算法、操作系统、计算机组成原理和计算机网络技术等。(2)信息管理课程模块,包括信息加工、管理、使用方面的课程,如信息化概论、信息资源开发与管理、信息组织、信息检索等,或根据院校特点开设有领域特色的信息化概论课程,如医院信息学等。(3)计算机软件开发核心课程模块,主要学习各种常用的系统开发技术,包括C#应用编程、Java网络编程技术、Web数据库应用系统开发等。(4)信息系统应用模块,包括管理信息系统、信息系统分析与设计、信息系统安全、信息系统项目管理。

2.2专业方向的设置

本专业的社会岗位需求多层次。在企事业单位信息化建设实施中,既需要信息系统开发人才,也需要信息化工程管理人才,信息化系统实施后还需要网络管理和维护人才。因此在培养模式上设置3个专业方向,分别为:系统开发方向、网络管理方向、信息管理方向。3个方向的知识结构有所不同:系统开发方向培养技术型人才,主要掌握各种系统开发技术;网络管理方向培养工程型人才,主要掌握网络工程管理和信息安全维护;信息管理方向培养复合型人才,主要学习如何用信息系统支撑先进的管理思想。3个方向都必须将信息系统应用模块的课程作为必修课程,将管理思想和计算机技术知识有机地协调配合起来。与前两类人才相比,复合型人才更具有竞争力。他们具有信息分析能力与企业管理创新的知识,是具有驾驭信息资源知识与能力的新型管理人才。学生可以根据自己的兴趣来选择发展方向,无论哪种类型人才,掌握一种系统开发技术都是进入企业就业的敲门砖。根据以上两点,我们设计了信息管理与信息系统专业的计算机教育的课程体系,每一层开设具有代表性的课程。

3建立提高软件开发能力培养体系的改革实践

3.1创新基础课程教学,注重程序设计逻辑思维训练基础课程是一个专业的基石,基础是否学好直接影响学生对后续课程的学习兴趣和未来的职业定位。因此要强化基础教学,鼓励教师进行创新教学,引入先进可行的教学方法,并在教学中注意培养学生的职业关键能力。所谓学生的职业关键能力是指学生从事软件开发职业所具有的职业素养,包括逻辑思维能力、举一反三能力、自学和独立解决问题能力、对软件开发工作的兴趣等。在基础课程中,程序设计课程是软件开发人才培养课程体系中不可或缺的组成部分,它的教学效果直接影响着软件开发人才培养的成败,其最终目的是培养软件工具应用者的程序设计能力和程序设计思维。在授课过程中,教师往往陷入一个误区:过于注重语句、语法等程序设计语言所涉及基本概念的讲解,忽视在构建程序过程中应用于分析、解决问题的一种逻辑思维的训练,忽视对整体知识综合应用能力的训练。这种“只见树木,不见森林”的教学就是造成学生动手解决实际问题能力差的直接原因。因此程序设计课程教学中应注重把握两个方面的平衡:(1)专业技能培养目标要清晰。教学不仅要注重单项知识的讲解练习,更要加大对应用整体知识的能力训练及解决问题的思维训练。(2)专业技能教学要与职业关键能力培养有机结合。在教学组织形式上,吸纳软件企业的工作模式应用于教学;在教学设计上,应把持知识的整体与局部关系,灵活应用各种教学方法和手段来优化课堂教学。学生在学习、实践的双环节中,也要完善自身知识结构,构建自主工作行为。

3.2以项目驱动教学法来设计应用类专业课程

项目驱动式教学法是一种行为引导式的教学形式,是以项目为主体的职业行为引导的教学方式,是一种通过组织学生真实地参加项目设计、履行和管理,完全在项目实施过程中完成教学任务的过程[4]。项目教学法通过项目对学生进行工程设计和综合能力的全面培养,是实现高校毕业生和企业无缝衔接的最好的教学方法之一。在面向应用的专业课程中,网络编程技术、Web数据库应用等课程比较适合项目教学法,这些课程直接面向应用,与日常生活和工作息息相关,偏重于实践,学生比较感兴趣。首先选择合适的项目。教师所选的项目要贴近实际,可以从科研课题、技术开发项目或社会实际需要中选择,项目规模适中,太大或太复杂都不利于教学。所选项目最好是教师熟悉或亲自开发过的,这样对项目的开发流程和可能遇到的问题有充分的认识和准备,能在学生学习过程中给予指导和帮助,有利于项目教学法的顺利开展。其次制订教学计划。教师要制订教学计划,案例项目中要包含该课程的主要知识点,同时准备相关的学习资料,以供学生在项目开发中查阅,拓展其知识面,培养学生独立解决问题的能力和自学能力。然后实施项目教学法。在开展一门全新课程时,学生一定是感到抽象和困难的。教师先将项目分成几个模块,每个模块的功能应该类似,选取其中一个模块逐步进行分析、演示其开发过程;学生进行项目模仿开发。模仿是一个很好的学习过程,学生从中既可以掌握各个环节的知识点,又可在项目的成功中增强自信,激发创作兴趣,从而主动学习并拓展知识面。在一个完整的模块演示教学完以后,大部分的课程知识点也已经完成教学,学生将参照模仿或自我创新来完成其他模块的编写,然后把各个模块整合起来,形成一个完整的项目。在这一过程中,学生不但快速完整地学习到一个系统的开发过程,还可以举一反三,运用到其他案例项目上。最后进行项目总结和评价。项目完成后,组织教师对学生项目进行评价,给出指导和建议,并进行项目总结和知识的归纳,鼓励学生对项目进行完善和扩展,扩充知识点,增加分析问题、解决问题和自我学习的能力。项目教学法将一个应用课程的教学建立在一个工程项目的完整开发过程上,充分体现了“做中学”和“学中做”的特点,有力地调动了学生的兴趣,激发了学生潜力,使枯燥无味的理论学习变成了一次有实际意义的工程实践。学生不但获得了宝贵的工程实践经验,还锻炼了独立分析、解决问题的能力和自学能力,也通过项目的成功开发增加了软件开发的兴趣,利于日后选择从事软件开发或相关行业的工作,从而达到培养学生职业素养的目的。

3.3建立与企业无缝衔接的实践教学平台

实践教学环节在这里指毕业生在最后一年或两年所进行的生产实习或顶岗实习。这是本科教育的最后一个重要环节,它将决定毕业生能否获得真正的实践经验,胜任工作岗位,赢得就业。正如前文所述,目前大多数信息管理专业的毕业生存在种种缺陷,以致就业比较困难。那么症结就在于将毕业生推向社会前的最后一个实践环节没有做好。为了改变现状,建立一个与企业无缝衔接的实践教学平台将是一个很好的解决方案。与企业无缝衔接是指学校按照企业对人才的要求进行培养,如订单式培养或岗位性培养,用真实的项目或工作环境打造、锻炼人才,使其既有理论又有管理实践经验,同时具有本专业的职业关键能力和发展潜力。建立与企业无缝衔接的实践教学平台的途径有:1)校企合作办学,共同培养学生,缩短与企业的“最后一公里”路程。目前社会上有许多培训机构可以对学生进行就业前的技术培训,价格不菲,但还是很受欢迎。因为培训机构能提升他们的能力,带给他们实际的实践经验,从而增加就业机会,甚至可以推荐就业。尽管学校在教学和体制上做了许多改革和努力以使我们的毕业生尽量找到工作,但社会的需求是多变的,技术的进步是变化的,学校的脚步总是落后的,当然也包含个人对自我要求,因此技术培训机构才会盛行。与社会培训相比,有些软件培训机构则和学校进行合作办学,帮助培养学生。由于培训机构的项目实践环境比较真实,甚至是培训机构所接项目的一部分,而且师资是来自一线的开发人员,所营造的实践教学环境自然比学校教师所营造的要好,使学生将来更能适应工作环境。与培训机构联合办学是“双赢”的,首先,培训机构获得了长期稳定的生源,可以降低同行业的培训费用,这对学生是有益的。其次,学校通过培训机构合作,首先促使本校教师学习先进的技术提高教学水平,第二,使本校学生更好地就业或发展,树立荣誉,发展更多生源,促进本专业的发展,第三,可以监督培训机构使其保持高质量的教学培训水平,否则不继续合作。此外,校企合作办学机制应该是灵活的,学生可以依据所选的专业方向自由地选择参加或不参加。校企合作办学是一个趋势,例如青岛大学计算机学院就与印度IT公司合作,订单式培养软件开发人才,学费每年高达9000元,招生人数多达350人。所以作为学校一方可能要更多地考虑自身在职业教育上的缺陷,为本校学生提供多方位的选择,特别在教育费用上,社会机构培训比校企合作办学的培训费用肯定更昂贵。2)培养“双师型”教师,丰富实践教学内容,与前沿技术发展接轨。实践教学平台不仅要有接近实际的教学内容和成熟有效的教学模式,还要有教学经验丰富和技术过硬的“双师型”教师,才能保证实践教学效果。与培训机构合作固然好,但专业的发展不能依靠外力,还要提高自身的软硬件实力。长久来看,建立一支技术过硬、教学水平高的“双师型”实践教学队伍是必需的,这是提高学校的软实力。

3.4促进科技创新体系建设

鼓励学生参加各种科技创新活动,例如管理类竞赛、计算机软件应用大赛等。对于参赛获奖的学生给予一定的学分和奖励,也鼓励教师积极参与学生的科技创新辅导,无论获奖与否都给予教师一定的工作量奖励,从而形成一个积极进取的科技创新环境。鼓励学生考取相关的职业证书。信息管理专业学生可以考取的职业资格证书有:工业与信息化部组织的“全国计算机软件开发专业人才(高级/中级)”证书、全国信息化工程师岗位技能证书(软件管理)(中级)、信息系统项目管理师、网络工程师、信息系统监理师、人力资源与社会保障部组织的“助理企业信息管理师(三级)”证书、企业人力资源管理师(四级)。职业证书表明了一个行业的职业标准,通过考取职业证书的学习,使学生了解市场对就业者的劳动技能要求、促使自己提高职业修养,建立全面系统的职业知识体系。

4结语

软件开发培训总结范文第4篇

关键词:信息管理与信息系统;计算机教育;软件开发能力培养

1 现状分析

当前信息化建设浪潮席卷全球,中国也制定了“加速发展信息产业,大力推进信息化,以信息化带动工业化”的发展战略。随着信息技术的发展,信息化给企业生产和管理带来了根本性变革,信息技术将企业组织的各种经营管理职能和机制有机结合起来。对企业来说,一个重要的挑战就是如何改造企业使其有效地运用信息技术,适用信息社会,在全球竞争中立于不败之地。信息化建设不仅存在技术问题,更需要管理的协调配合,管理的科学化对信息系统有着至关重要的影响。信息管理与信息系统专业是一个管理科学与计算机信息技术相结合的专业,所培养出来的学生应该是既懂管理又懂计算机技术的应用型人才,在当前企事业单位的信息化建设中应最能发挥本专业人才所具有的专业技能和职业素养。

然而,信息管理与信息系统专业毕业生在应聘工作岗位时却常常遇到尴尬情况:管理技能不如管理专业的学生,计算机技能不如计算机专业的学生,人才市场上很少有专门为信息管理与信息系统专业量身定制的就业岗位。当前我国进入信息化建设的期,需要大量的信息化建设人才,但从我国信息化建设现状来看,企业内部在信息化建设方面的岗位需求没有进行专业细分,它将管理信息系统软件的分析、设计、开发、引进、实施、维护和信息管理等工作需求统归为做软件。因此,企业招聘应届毕业生的入门要求就是能够编程,包括企业内部覆盖销各职能部门的信息系统软件,也包括企业各层次网站系统开发。而政府机关、事业单位则以网站系统开发和工作流管理为主。

对信息管理专业人才来说,软件开发技能是未来就业的敲门砖,而管理理论思想和方法的掌握则是其未来成为企业CIO的奠基石。笔者将探讨如何进行信管专业计算机课程教育改革,提高学生的软件开发能力,增加就业机会。

2 信管专业的计算机教育总体规划

2.1 课程体系设置

课程体系是帮助学生建立完整知识结构的前提条件,如何理顺本专业的课程体系是提高计算机教育水平的关键问题。根据信管专业的培养目标,相应的计算机教育理论体系应分为计算机基础课程模块、信息管理课程模块、计算机软件开发核心课程模块和信息系统应用模块4个层次。

(1)计算机基础课程模块,包括计算机专业的基础课程:C/C++语言程序设计、数据结构与算法、操作系统、计算机组成原理和计算机网络技术等。

(2)信息管理课程模块,包括信息加工、管理、使用方面的课程,如信息化概论、信息资源开发与管理、信息组织、信息检索等,或根据院校特点开设有领域特色的信息化概论课程,如医院信息学等。

(3)计算机软件开发核心课程模块,主要学习各种常用的系统开发技术,包括C#应用编程、Java网络编程技术、Web数据库应用系统开发等。

(4)信息系统应用模块,包括管理信息系统、信息系统分析与设计、信息系统安全、信息系统项目管理。

2.2 专业方向的设置

本专业的社会岗位需求多层次。在企事业单位信息化建设实施中,既需要信息系统开发人才,也需要信息化工程管理人才,信息化系统实施后还需要网络管理和维护人才。因此在培养模式上设置3个专业方向,分别为:系统开发力’向、网络管理方向、信息管理方向。3个方向的知识结构有所不同:系统开发方向培养技术型人才,主要掌握各种系统开发技术;网络管理方向培养工程型人才,主要掌握网络工程管理和信息安全维护;信息管理方向培养复合型人才,主要学习如何用信息系统支撑先进的管理思想。3个方向都必须将信息系统应用模块的课程作为必修课程,将管理思想和计算机技术知识有机地协调配合起来。

与前两类人才相比,复合型人才更具有竞争力。他们具有信息分析能力与企业管理创新的知识,是具有驾驭信息资源知识与能力的新型管理人才。学生可以根据自己的兴趣来选择发展方向,无论哪种类型人才,掌握一种系统开发技术都是进入企业就业的敲门砖。

根据以上两点,我们设计了信息管理与信息系统专业的计算机教育的课程体系,每一层开设具有代表性的课程,如图1所示。

3 建立提高软件开发能力培养体系的改革实践

3.1 创新基础课程教学,注重程序设计逻辑思维训练

基础课程是一个专业的基石,基础是否学好直接影响学生对后续课程的学习兴趣和未来的职业定位。因此要强化基础教学,鼓励教师进行创新教学,引入先进可行的教学方法,并在教学中注意培养学生的职业关键能力。所谓学生的职业关键能力是指学生从事软件开发职业所具有的职业素养,包括逻辑思维能力、举一反三能力、自学和独立解决问题能力、对软件开发工作的兴趣等。

在基础课程中,程序设计课程是软件开发人才培养课程体系中不可或缺的组成部分,它的教学效果直接影响着软件开发人才培养的成败,其最终目的是培养软件工具应用者的程序设计能力和程序设计思维。在授课过程中,教师往往陷入一个误区:过于注重语句、语法等程序设计语言所涉及基本概念的讲解,忽视在构建程序过程中应用于分析、解决问题的一种逻辑思维的训练,忽视对整体知识综合应用能力的训练。这种“只见树木,不见森林”的教学就是造成学生动手解决实际问题能力差的直接原因。因此程序设计课程教学中应注重把握两个方面的平衡:

(1)专业技能培养目标要清晰。教学不仅要注重单项知识的讲解练习,更要加大对应用整体知识的能力训练及解决问题的思维训练。

(2)专业技能教学要与职业关键能力培养有机结合。在教学组织形式上,吸纳软件企业的工作模式应用于教学;在教学设计上,应把持知识的整体与局部关系,灵活应用各种教学方法和手段来优化课堂教学。学生在学习、实践的双环节中,也要完善自身知识结构,构建自主工作行为。

3.2 以项目驱动教学法来设计应用类专业课程

项目驱动式教学法是一种行为引导式的教学形式,是以项目为主体的职业行为引导的教学方式,是一种通过组织学生真实地参加项目设计、履行和管理,完全在项目实施过程中完成教学任务的过程。项目教学法通过项目对学生进行工程设计和综合能力的全面培养,是实现高校毕业生和企业无缝衔接的最好的教学方法之一。在面向应用的专业课程中,网络编程技术、web数据库应用等课程比较适合项目教学法,这些课程直接面向应用,与日常生活和工作息息相关,偏重于实践,学生比较感兴趣。

首先选择合适的项目。教师所选的项目要贴近实际,可以从科研课题、技术开发项目或社会实际需要中选择,项目规模适中,太大或太复杂都不利于教学。所选项目最好是教师熟悉或亲自开发过的,这样对项目的开发流程和可能遇到的问题有充分的认识和准备,能在学生学习过程中给予指导和帮助,有利于项目教学法的顺利开展。

其次制订教学计划。教师要制订教学计划,案例项目中要包含该课程的主要知识点,同时准备相关的学习资料,以供学生在项目开发中查阅,拓展其知识面,培养学生独立解决问题的能力和自学能力。

然后实施项目教学法。在开展一门全新课程时,学生一定是感到抽象和困难的。教师先将项目分成几个模块,每个模块的功能应该类似,选取其中一个模块逐步进行分析、演示其开发过程;学生进行项目模仿开发。模仿是一个很好的学习过程,学生从中既可以掌握各个环节的知识点,又可在项目的成功中增强自信,激发创作兴趣,从而主动学习并拓展知识面。在一个完整的模块演示教学完以后,大部分的课程知识点也已经完成教学,学生将参照模仿或自我创新来完成其他模块的编写,然后把各个模块整合起来,形成一个完整的项目。在这一过程中,学生不但快速完整地学习到一个系统的开发过程,还可以举一反三,运用到其他案例项目上。

最后进行项目总结和评价。项目完成后,组织教师对学生项目进行评价,给出指导和建议,并进行项目总结和知识的归纳,鼓励学生对项目进行完善和扩展,扩充知识点,增加分析问题、解决问题和自我学习的能力。

项目教学法将一个应用课程的教学建立在一个工程项目的完整开发过程上,充分体现了“做中学”和“学中做”的特点,有力地调动了学生的兴趣,激发了学生潜力,使枯燥无味的理论学习变成了一次有实际意义的工程实践。学生不但获得了宝贵的工程实践经验,还锻炼了独立分析、解决问题的能力和自学能力,也通过项目的成功开发增加了软件开发的兴趣,利于日后选择从事软件开发或相关行业的工作,从而达到培养学生职业素养的目的。

3.3 建立与企业无缝衔接的实践教学平台

实践教学环节在这里指毕业生在最后一年或两年所进行的生产实习或顶岗实习。这是本科教育的最后一个重要环节,它将决定毕业生能否获得真正的实践经验,胜任工作岗位,赢得就业。正如前文所述,目前大多数信息管理专业的毕业生存在种种缺陷,以致就业比较困难。那么症结就在于将毕业生推向社会前的最后一个实践环节没有做好。为了改变现状,建立一个与企业无缝衔接的实践教学平台将是一个很好的解决方案。与企业无缝衔接是指学校按照企业对人才的要求进行培养,如订单式培养或岗位性培养,用真实的项目或工作环境打造、锻炼人才,使其既有理论又有管理实践经验,同时具有本专业的职业关键能力和发展潜力。

建立与企业无缝衔接的实践教学平台的途径有:

1)校企合作办学,共同培养学生,缩短与企业的“最后一公里”路程。

日前社会上有许多培训机构可以对学生进行就业前的技术培训,价格不菲,但还是很受欢迎。因为培训机构能提升他们的能力,带给他们实际的实践经验,从而增加就业机会,甚至可以推荐就业。尽管学校在教学和体制上做了许多改革和努力以使我们的毕业生尽量找到工作,但社会的需求是多变的,技术的进步是变化的,学校的脚步总是落后的,当然也包含个人对自我要求,因此技术培训机构才会盛行。与社会培训相比,有些软件培训机构则和学校进行合作办学,帮助培养学生。由于培训机构的项目实践环境比较真实,甚至是培训机构所接项目的一部分,而且师资是来自一线的开发人员,所营造的实践教学环境自然比学校教师所营造的要好,使学生将来更能适应工作环境。与培训机构联合办学是“双赢”的,首先,培训机构获得了长期稳定的生源,可以降低同行业的培训费用,这对学生是有益的。其次,学校通过培训机构合作,首先促使本校教师学习先进的技术提高教学水平,第二,使本校学生更好地就业或发展,树立荣誉,发展更多生源,促进本专业的发展,第三,可以监督培训机构使其保持高质量的教学培训水平,否则不继续合作。此外,校企合作办学机制应该是灵活的,学生可以依据所选的专业方向自由地选择参加或不参加。

校企合作办学是一个趋势,例如青岛大学汁算机学院就与印度IT公司合作,订单式培养软件开发人才,学费每年高达9000元,招生人数多达350人。所以作为学校一方可能要更多地考虑自身在职业教育上的缺陷,为本校学生提供多方位的选择,特别在教育费用上,社会机构培训比校企合作办学的培训费用肯定更昂贵。

2)培养“双师型”教师,丰富实践教学内容,与前沿技术发展接轨。

实践教学平台不仅要有接近实际的教学内容和成熟有效的教学模式,还要有教学经验丰富和技术过硬的“双师型”教师,才能保证实践教学效果。与培训机构合作固然好,但专业的发展不能依靠外力,还要提高自身的软硬件实力。长久来看,建立一支技术过硬、教学水平高的“双师型”实践教学队伍是必需的,这是提高学校的软实力。

软件开发培训总结范文第5篇

在专业软件公司,提高客户满意度、提高企业软件的开发与管理水平是企业层领导关心的问题。

在非软件企业中,软件开发过程的改进是由软件经理倡导和推进的,软件经理才更关心软件开发的质量与效率。

什么是软件开发与业务需求的平衡点?如何在企业中发挥出软件部门的作用?都会面临挑战。

因此,在软件水平提高的过程中会遇到较多的困难。采取适度的改进步骤,使企业逐步提高认识、改进开发过程,是一条可行的方式。

定软件开发规范

一切沟通与交流,首先都要有可见的依据,这可以从制定软件开发规范入手。软件开发规范,实际上包括软件开发各个环节相关的工作规则。可以从以下四个方面制订:软件开发工作流程规范、产品文档规范、软件开发文档规范、开发管理文档规范。

编写规范,可以参考国家标准的计算机软件工程规范,也可以结合开发经验制定出适合本企业使用的开发规范。

详细制定这些文档使用方法和规则,要保证可以使文档便于书写、形式一致,这不仅要有文字描述,还应制定相关文档模板,形式上要保证简洁明了、实用、符合使用习惯。

根据项目规模的不同,还可以制定不同的文档模板,很小型的项目就可以写一个相对简化的小型项目文档,复杂的项目使用较全面的文档模板。

提高开发人员的认识

软件开发中人的因素占有很大的比重,因此对软件人员的培训是非常重要的。一个团体的软件水平并不是个别程序员的程序水平,而是整体的认识和系统建设的水平。可以先在内部对软件开发人员进行培训,内容包括软件工程、已经制订的各种规范、项目管理知识。通过共同分析软件工程对软件开发和开发者的益处,可以得到开发人员的认同,以便共同遵守和执行初期规范。

值得注意的一点是,认识的提高是一个循序渐进的过程。在刚开始推进软件规范化的阶段,达到初步的认识即可――让软件相关人员认识到软件开发是项目,应该具有完成项目的方式方法;项目应该有明确的项目开始、项目结束、明确的需求、分析设计和期望的结果。

加强生产过程的规范性

软件开发是一个知识密集型领域,对人才的依赖很强。加强生产过程的规范性并规范管理,可以加强人的执行能力。

首先,要提高人的积极性,在小范围内调整项目组织结构,执行项目经理制。可以由有经验的开发人员作为软件开发部分的项目负责人或称为项目经理,不再由任意的需求人员做开发小组负责人。

项目经理负责进行项目前期的需求分析和组织开发工作及项目交付工作,有参与项目业务需求确认与否定的权利,有监督项目小组成员执行规范的权利和义务,承担对项目成功或失败的责任。

在软件项目中,对于采纳的技术、编程规范、配置管理、项目变更等可能遇到的各种问题及风险,都要有明确的人员分工,职责要明确。

小系统的这些工作可能由一个人(比如项目经理)承担,大系统可能要有多个人承担。但无论项目大小,职责不应削减,因为即使小项目失败也是损失,只是损失的多少而已。

严格执行管理过程

在非软件企业中,由于是完成内部工作,很少有成本核算、严格的进度控制。影响项目的因素也比较多:需求的提出比较随便,甚至业务需求还不明确的时候就要求程序员开始编程序,没有合理的措施控制透彻的分析业务需求;时间进度由领导规定,而不是根据需求客观确定,这样使软件质量根本无法保障。因此要通过加强管理使软件开发过程可视化,使软件开发工作协调、有效。

在规则已经明确、组织机构确定、有一定的理论认识之后,可以通过一些管理要求,强制执行软件工程的一些基本过程,要求的提出最好要简单初级。

例如:项目要有正式立项启动、项目结项,有时间控制要求、计划要求。要求项目有开发计划,计划中确定开发工作的人员保障、开发周期、开发进度计划,并允许项目进行中在一定范围内调整计划与进度。上级领导也应当出面协调解决相应问题。

如果培训不足,许多程序员对做项目的认识水平就会停留在“就是做编程、完成需求”这种初级水平。此时如果就要求项目经理按照项目管理的方法全面展开,从认识到执行都达不到要求。

与所有项目人员关系最直接的环节,是保证项目的完成时间和执行进度,所以在初期先从加强管理项目时间进度开始。

为了保证项目实施进度,项目经理在项目过程中必然会遇到许多问题,这时再对项目经理加以引导,完成其他管理工作,比如控制需求变更、控制功能膨胀、团队沟通协调管理、风险管理等项目管理内容。

初期最好采取这种问题堆积的方法,使问题暴露出来,再集中处理,达到提高整个管理水平和软件质量的目的。

建立配置管理模式

软件是需要定期升级才能满足企业要求的,这使得软件开发不是一个短期行为。但是,由于许多开发工作因缺少管理而成为个人行为,对于软件成果没有保护意识,更不能达到软件的共享与重用。通过“统一配置管理”这一具体的做法,能够强化软件完成后的总结工作。

建立基本的软件配置管理机制,在开发中和开发后都要求程序员及时备份源文件。进行这项工作要首先选择一套适合的配置管理软件。项目主管应该要求程序员在开发的全过程中使用软件来管理源文件,在全过程的配置管理的基础上,整个项目组更加容易完成统一测试、组装产品等工作。

业务需求与承担开发双方是一个项目的两个方面,没有完整业务模型、系统目标而盲目开发的软件绝不可能是理想的结果,或者说从项目的开始就已经注定了失败的结局。

所以,软件开发方以较为完善的需求为前提条件进入开发阶段,是符合工程化的,是项目成功的初步保障。

以上五个步骤,可以保障将内部开发工作达到初级的项目可视化,在软件开发部门内部建立起对满足业务需求完成的信心,对满足业务需求的承诺。在开发部门内部完成上述工作后,可以在企业范围内再进行软件相关工作状况的适度改进。

通过这些工作,可以在企业内获得对软件规范性的一定认识以及对执行方式的认同,这对软件开发工作会有不同程度的帮助。