软件开发培训总结范文
时间:2023-03-16 02:04:30
导语:如何才能写好一篇软件开发培训总结,这就需要搜集整理更多的资料和文献,欢迎阅读由公文云整理的十篇范文,供你借鉴。

篇1
关键词:核电工程软件;软件开发;过程控制
中图分类号:TP311
文献标识码:A
文章编号:1009-2374(2012)24-0118-03
1 概述
随着我国核电事业的蓬勃发展,在核电行业尤其是核电厂,无论是从设计、制造、运行到退役等各个阶段,还是从控制、测量、检查等各个环节,无不涉及到计算机软件的应用。作为我国核电行业生产管理和安全保证的重要手段和工具之一,核电工程应用软件正扮演着越来越重要的角色。
本文主要以软件工程化开发和软件工程化管理的思想和方法为依据,以我们研制的核电工程应用软件——核电厂系统化培训管理系统为例,介绍了核电工程应用软件的研制过程控制管理以及在此过程中要遵循的主要原则和规范,并对过程管理和研制特点做了简要分析总结。
2 项目概况
2.1 背景
核电厂各类人员的整体、综合素质和业务能力对达到电厂“安全、可靠、稳定、经济运行”的目标至关重要。为了保持人员的资格和工作能力、保证人员的培训质量和工作绩效,核电厂将在培训管理活动中,采用IAEA推荐的国际上普遍应用的SAT(Systematic Approach to Training)系统化培训方法对培训活动进行管理控制。
针对系统化培训活动中控制过程复杂、数据信息量大、用户接口繁多等特点,相关核电厂决定借助目前流行的计算机技术,遵循核电厂人员系统化培训方法的控制流程,开发一套“核电厂系统化培训管理系统(以下简称TMS-SAT系统)”来辅助核电厂的被培训人员、培训管理人员和电厂管理人员,系统地规范核电厂现有的培训活动,提高培训效果和效率,使核电厂各类人员能获得并保持完成所承担工作的资格和能力。
2.2 项目目标和范围
核电厂系统化培训管理系统属于核电工程软件类项目,目标是在将来核电厂内的培训工作中以TMS-SAT系统为载体推广SAT培训方法,全面推行系统化培训的理念和管理,不断完善核电厂的培训管理工作,该项目主要完成软件系统平台的开发,主要内容包括:岗位任务分析子系统开发,培训大纲管理子系统开发,培训教材管理子系统开发,培训记录管理子系统开发,评价反馈管理子系统开发以及考试题库管理子系统开发。
3 项目实施和过程管理实践
TMS-SAT项目的控制管理是按需求确定范围、按目标制定质量计划和开发计划、按计划执行管理的过程,对该项目软件系统开发各阶段加强控制管理的根本目的在于增强对软件开发的控制能力,提升软件开发的质量。TMS-SAT按以下6个阶段
进行:
3.1 项目的定义与分析
该项目的立项由用户单位根据自身业务的工作需要,对立项目的、业务需求范围、技术经济指标、开发周期要求等方面做简要概述,进行项目立项的可行性论证。单位在该阶段协助用户完成系统的定义与分析,协助用户编制《技术规格书》并交付用户审查,使用户能了解我们的研发能力和对此软件开发所需投入的人力、物力以及此项目最终达到的目标。
3.2 需求分析阶段
当第一阶段工作完成后,我们将制定适合本项目开发活动中的《质量计划》来控制软件开发周期内所有活动的工作条件、工作结果、评审要求等节点和各工作阶段的质量控制点要求;为了向用户描述有关此项目文档要求、人力资源、开发进度、审查要求、最终交付的产品等内容,编制此项目的《开发计划》和《测试计划》。
然后根据《技术规格书》的要求,进一步了解此项目的数据输入、输出、系统性能、环境以及最终将达到的目标等详细内容,形成本项目的《软件需求分析说明书》和《数据要求说明书》。
3.3 系统设计阶段
当软件需求分析阶段的审查通过后,根据《软件需求分析说明书》和《数据要求说明书》的要求,完成“应该如何解决这个问题”和“具体解决此问题应该采取的办法”这两项工作。根据此系统的总体概要设计,通过数据流图和数据字典的形势来表示系统的逻辑模型,形成《概要设计说明书》和《数据库设计说明书》。
3.4 系统开发
开发人员按照《详细设计说明书》和《软件开发规范》的要求,编写出正确的、容易理解和便于维护的程序模块。在每个子模块形成后,程序开发人员和软件测试人员对此子模块进行单元测试,形成《单元测试报告或记录》。在此阶段,还将根据《测试计划》和《详细设计说明书》的要求,编制此软件系统的《测试程序》,将所需测试的内容、步骤、结果、案例等描述出来供测试阶段使用。
3.5 系统测试阶段
该项目软件系统在开发人员完成所有软件模块编码后,测试人员及用户将根据《测试程序》进行软件系统测试。对测试中产生的软件不符合项,形成“软件问题报告单”,并最终形成《系统测试报告》。当软件交付给用户使用时,还将同时向用户提交《软件系统现场安装实施手册》、《用户手册》和《维护手册》等相关文档。
3.6 运行和维护阶段
项目正式交付给用户使用后,关键任务是通过各种必要的维护活动使软件系统能长久地满足用户的需要。为完成此任务,我们从改正性、适应性、完善性、预防性等几方面来进行维护活动中的工作。
4 项目控制管理的分析总结
4.1 项目开发管理质量化
该项目组通过编制《项目质量计划》、《项目开发计划》和《项目测试计划》等质量文件,对该项目进行全过程监督、控制,使各质量相关活动在受控状态下完成,确保项目中的各项质量要求得到了满足。
4.2 项目开发过程规范化
该项目的软件系统在依据软件工程化开发和软件工程化管理的理念和方法的基础上,通过严格执行有关软件开发管理和工作程序,规范软件研发过程,同时也更好地指导了培训大纲和基础理论教材的开发工作;项目所有过程文档资料及软件编码均采用统一的编码和编写格式。
4.3 项目开发控制进度化
依据软件工程化开发和软件工程化管理的理念和方法,科学地划分和制定核电工程应用软件的研制过程,同时各阶段也兼顾了培训大纲和基础理论教材的开发工作;采用三级进度管理体系,分级落实进度责任制。
4.4 项目开发监督岗位化
由于该项目软件系统的《需求分析说明书》往往是采用软件设计的术语编写,业务需求方难以理解,也就很难发现需求报告中与实际需求不符之处,更难提出建设性的意见。因此在该项目软件系统的研制开发过程中引入了软件监督岗位,由核电厂信息技术管理部门担任,协调业务需求部门和软件开发方的关系,监控软件开发任务的执行情况,给开发人员和管理层提供反映软件过程质量的信息和数据,提高项目透明度。
4.5 人员配备专业化
项目编制了各类人员的配置计划,如系统分析人员、系统设计人员、软件开发人员、测试和验证人员等,明确了具体的工作方式、内容和要求,并根据岗位要求进行必要的培训和再培训,以便使他们获得并保持必要的能力。
5 结语
实践证明由于该项目在软件系统方面依照软件工程化开发和软件工程化管理的理念和方法,严格按照我们单位提出的核电工程软件研制方法进行研制、设计和开发,加强软件研发的规范化管理,同时也更好地指导了培训大纲和基础理论教材的开发工作,从而保证了软件研发乃至整个项目的进度和质量,使得我们开发的产品可维护性好,特别是在出厂验收后大大减少了在现场测试和维护的人员投入,最终也得到了用户的认可。
参考文献
[1] 国际原子能机构.核电厂人员培训及其评价(技术报告丛书第380号2005版)[S].
[2] 中国标准出版社.软件工程术语(GB/T11457-2006版)[S].
篇2
假如用两个字概括当前社会的特征,那就是“变化”,而这种变化在信息产业中体现得尤为突出,技术创新速度越来越快,用户需求和市场不断变化,人员流动也大大加快。在这种环境下,企业需要应对的变化以及由此带来的挑战大大增加,也给管理带来了很多新问题和挑战。软件行业是一个极具挑战性和创造性的新行业,管理上没有成熟的经验可供借鉴。而项目管理应该说对于软件企业,尤其是那些以应用开发为主的软件企业,是行之有效的管理方法。因此,项目管理在软件开发中的应用日益受到重视。
项目管理的两个新问题
1、什么是项目管理?
项目管理是在一定的约束条件下,以高效率地实现项目业主的目标为目
的,以项目经理个人负责制为基础和以项目为独立实体进行经济核算,并按照项目内在的逻辑规律进行有效的计划、组织、协调、控制的系统管理活动。
2、为什么要有项目管理?
没有项目管理,项目也有可能成功。但没有管理的项目,很难保证项目
的利润空间,对公司来说,亏损的风险就大。所以我们要有项目管理,以保证公司在总体上是盈利的,注重不是每一个项目都要盈利。
另外,有了项目管理,就有了管理改进的基础,无论刚开始的项目管理多么糟糕,只要有管理,就有了改进的可能性,至于能不能得到改进,以及改进的快慢,则取决于两个因素摘要:一个是人,非凡是各级管理者;另一个是利益。关键是“利益”,准确的说是“利益的分配”,在权责利明确的前提下,人才能充分的发挥功能。还需要指出的是“利益”是多元的,这里的多元不仅指利益的具体形式,而且指利益的受众是多元的,包括客户方相关人员个人的利益。
3、项目管理的发展和目前状况。
今天,项目管理作为一种现代化管理方式在国际上已获得了广泛的应用,从最初的国防、航天、建设工程领域,迅速发展到电子、通信、计算机、软件开发、金融等行业以及政府机关的项目管理工作。随着计算机、网络系统的迅速发展,项目管理技术的不断进步,项目管理软件产品层出不穷,其功能、特征、应用对象也各不相同。当前,越来越多的企业和组织在内部推广项目管理的理论方法及管理模式,假如都采用项目管理软件进行管理,效果就更加明显,可以节省大量的资源和财富。国外90%26#37;以上的项目管理都采用软件进行,但我国在这方面的应用还不到10%26#37;。新世纪项目管理在中国的迅速兴起,给软件企业的发展带来了前所未有的发展机遇。
项目管理在软件开发中的应用的成因
随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。同时,随着软件开发规模及开发队伍的逐渐增大,软件开发不再是向过去那样一二个开发人员即可解决的事情。迫切需要一种开发规范来规范每个开发人员、测试人员和支持人员的工作,每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化管理,专业分工也可以降低对开发人员的要求,从而降低产品研发成本。
软件开发是一项复杂的系统工程,牵涉到各方面的因素,实际工作中,经常会出现各种各样的新问题,甚至面临失败。如何总结、分析失败的原因,得出有益的教训,对一个公司来说,是在今后的项目中取得成功的关键。
早在20世纪60年代中期,人们就发现软件的生产出现了“新问题”,主要表现在生产过程不规范,缺乏管理。后来,人们在软件工程方法学中引入了工程的概念、原理、技术和方法,这种思想在一定程度上解决了软件生产过程中碰到的新问题。但是直至80年代还是没有提出一套管理软件开发的通用原则,软件管理不善的新问题依旧在大范围内存在。
目前的软件开发正逐步趋向于复杂化、多元化,大多数开发团队中都会出现同时开发多个版本、开发/维护工作并存、多地点同时开发等情况,给软件开发管理带来了前所未有的困难。假如管理不善,必将造成版本混乱,各个开发人员的工作相互交叉、干扰,整个开发团队的工作在一种无秩序的不良状况下运行,严重影响软件产品开发的进度和质量。
因此,随着软件开发的深入、各种技术的不断创新以及软件产业的形成,人们越来越意识到软件过程管理的重要性,管理学的思想逐渐融入软件开发过程中,应用开发的项目管理日益受到重视。而项目管理技术的发展和计算机技术的发展是密不可分的,随着计算机性能的迅速提高,大量的项目管理软件涌现出来。它们可以用于各种商业活动,提供便于操作的图形界面,帮助用户制定任务、管理资源、进行成本预算、跟踪项目进度等。
软件项目管理常见新问题及解决方案
对于软件开发项目中,经常出现两种极端情况,一种是创造了新的生产率和质量的纪录;一种则完全是一场灾难,不是被取消就是拖延很长时间。前者如在很短的时间内,为了赶进度,在几乎不可能的时间内开发出一套软件产品,创造了软件开发的记录,满足了上级所要求的上机日期,由于开发时间太短,过于仓促,上机时,新问题百出,试运行时间长达几个月或一年半载的,而且程序一改再改,维护工作量大。
后者,如某套系统未弄清楚需求,或因设计新问题,开发失败。通过提炼这些成功和失败的例子,软件项目成功或失败的根本原因可能会更清楚一些。
目前我国大部分软件公司,无论是产品型公司还是项目型公司,都没有形成适合自己公司特征的软件开发管理模式,虽然有些公司根据软件工程理论建立了一些软件开发管理规范,但并没有从根本上解决软件开发的质量控制新问题。这样导致软件产品质量不稳定,软件后期的维护、升级出现麻烦,同时最终也会损害用户的利益。
分析目前项目管理需要改进的新问题可以从几种相关角色的角度去考虑摘要:项目经理、项目组成员、公司管理人员、市场人员、客户等。
新问题一摘要:缺乏项目管理系统培训(相关对象摘要:项目经理、管理人员)
项目经理在项目管理方面的培训较少或不够系统。项目经理或管理人员不了解项目管理的知识体系和一些常用工具和方法,所以在实际工作中没有项目管理知识的指导,完全依靠个人现有的知识技能,管理工作的随意性、盲目性比较大。在软件企业中,以前几乎没有专门招收项目管理专业的人员来担任项目经理(甚至很少是管理专业的),被任命的项目经理主要是因为他们能够在技术上独当一面,而管理方面非凡是项目管理方面的知识比较缺乏。
解决方案摘要:项目经理接受系统的项目管理知识培训是非常必要的,有了专业领域的知识和实践,再加上项目管理知识和实践和一般管理的知识和经验的有机结合,必能大大提高项目经理的项目管理水平。应实行项目经理知识技能资格考核制度,让项目经理自觉补充学习项目管理的知识和一些常用工具和方法。
新问题二摘要:项目计划意识新问题(相关对象摘要:项目经理)
项目经理对总体计划、阶段计划的功能熟悉不足。项目经理认为计划不如变化快,项目中也有很多不确定的因素,做计划是走过场,因此制定总体计划时比较随意,不少事情没有仔细考虑;阶段计划因工作忙等理由经常拖延,造成计划和控制管理脱节,无法进行有效的进度控制管理。没有计划或者是随意的不负责任的计划的项目是一种无法控制的项目。
解决方案摘要:在高技术行业,日新月异是主要特征,因此计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式进行不断完善。提高项目经理的计划意识,采用项目计划制定相关各种知识、技术、工具,加强对开发计划、阶段计划的有效性进行事前事后的评估。
新问题
三、管理意识新问题(相关对象摘要:项目经理)
部分项目经理没有意识到自己项目经理的角色,从总体上去把握管理整个项目,而是埋头于具体的技术工作,造成项目组成员之间忙的忙、闲的闲,计划不周、任务不均、资源浪费。在软件企业中,项目经理大多是技术骨干,技术方面的知识比较深厚,但无论是项目管理知识,还是项目管理必备的技能、项目管理必备的素质都有待补充和提高,项目管理经验也有待丰富。有些项目经理对于一些不服管理的技术人员,没有较好的管理方法,工作不好布置的工作只好自己做。另外由于工作分解结构设计的合理性,项目任务无法有效、合理地分配给相关成员,以达到“负载均衡”。
解决方案摘要:加强项目管理方面的培训,并通过对考核指标的合理设定和宣传引导项目经理更好地做好项目管理工作。技术骨干在担任项目经理之前,最好能经过系统的项目管理知识,非凡是其中的人力资源管理、沟通管理的学习,并且在实际工作中不断提高自己的管理素质,丰富项目管理经验,提高项目管理意识。
新问题四摘要:沟通意识新问题(相关人员摘要:项目经理、项目组成员)
在项目中一些重要信息没有进行充分和有效的沟通。在制定计划、意见反馈、情况通报、技术新问题或成果等方面和相关人员的沟通不足,造成各做各事、重复劳动,甚至造成不必要的损失;有些人没有天天定时收邮件的习惯,以至于无法及时接收最新的信息。
解决方案摘要:制定有效的沟通制度和沟通机制,对由于缺乏沟通而造成的事件进行通报作为教训提醒,以提高沟通意识;沟通方式应根据内容而多样化,讲究有效率的沟通;通过制度规定对由于未及时收取邮件而造成损失的责任归属;对于非凡重要的内容要采用多种方式进行有效沟通以确保传达到位,例如除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达。
新问题五摘要:风险管理意识新问题(相关人员摘要:项目经理)
项目经理没有充分分析可能的风险,对付风险的策略考虑比较简单。项目经理在做项目规划时经常没有做专门的风险管理计划文档,而是合并在项目计划书中。有些项目经理没有充分意识到风险管理的重要性,对计划书中风险管理的章节简单应付了事,随便列出几个风险,随便地写一些简单的策略,对于后面的风险防范起不到什么指导功能。
解决方案摘要:通过学习项目管理知识把握风险识别、量化、策略探究、反应控制的工具和方法把握项目风险管理所必备的知识。通过加强对项目规划中风险管理计划的审核提高项目组的风险管理意识。总结本行业项目中常见的风险及其策略作为风险管理计划中必要的风险内容,并切实评估相应策略的有效性和可行性。
新问题六摘要:不重视项目经验的总结(相关人员摘要:项目经理、管理人员)
项目经理在项目结束时有些是因为自身对写文档工作的喜好或意识,或
者是因为紧接着要参加下一个项目,总体对项目总结的重视程度不够。有些是项目总结报告一再拖延,有些是交上来的报告质量较低,敷衍了事。
解决方案摘要:在制度上鼓励和加强项目经验总结工作,使得项目总结及时并且具有指导意义而不是走过场。
新问题七摘要:项目干系人相关新问题(相关人员摘要:项目经理、项目成员、客户)
在范围识别阶段,项目组对客户的整体组织结构、有关人员及其关系、
工作职责等没有足够了解以致于无法得到完整需求或最终经权威用户代表确认的需求。由于项目经理的工作新问题,客户参和程度部不高,客户方相关责任人不明确或对范围和要求责任心不强,提出的要求具有随意性,项目前期对需求的确认不够积极;或者是多个用户代表各说各话、昨是今非但同时又要求项目尽早交付;项目后期需求变化随意,造成项目范围的蔓延,进度的拖延,成本的扩大。
解决方案摘要:项目的目的就是实现项目干系人的需求和愿望。项目干系人管理应当从项目的启动开始,项目经理及其项目成员就要分清项目干系人包含哪些人和组织,通过沟通协调对他们施加影响,驱动他们对项目的支持,调查并明确他们的需求和愿望,减小其对项目的阻力,以确保项目获得成功。
新问题八摘要:项目团队内分工协作新问题(相关人员摘要:项目经理、项目成员)
项目团队内部有时由于各阶段不同角色或同阶段不同角色之间的责任
分工不够清楚而造成工作互相推诿、责任互相推卸的现象,有时各阶段不同角色或同阶段不同角色之间的责任分工比较清楚但是各项目成员只顾完成自己那部分任务、不愿意和他人协作。这些现象或多或少地造成了项目团队内部资源的损耗,从而影响了项目的进展。
解决方案摘要:项目经理应当对项目成员的责任进行合理的分配并清楚地说明,同时应强调不同分工、不同环节的成员应当相互协作,共同完善。
篇3
关键词:计算机;软件开发;问题;管理
中图分类号:TP311 文献标识码:A 文章编号:2095-1302(2016)01-00-03
0 引 言
当前社会处于一个信息化的时代,社会能够高效运作依赖于计算机软件产品,因此软件行业在目前现有的众多行业里是一个具有极大创造性和挑战性的行业,充分体现了软件开发者的智慧和汗水。在软件项目开发的过程中,经常会遇到各种各样的问题,因此,要想加速软件开发的整体进程,就必须对软件开发进行规范化管理。
1 软件开发中存在的问题
1.1 缺乏设计能力或忽视设计过程
当前一些软件设计公司存在的最大问题是缺乏设计能力。一些项目经理和开发人员对设计没有足够的重视,有时为了赶工期,大部分的设计过程过于简单,有的甚至根本没有设计过程。软件开发是一项技术性工作,是需要有一个详细、科学的开发设计方案的。但是,一些软件公司却没有一个合理、科学的设计方案,使得软件开发工作难以进展。与此同时,创新能力弱也是软件行业中存在的一大问题。创新是一个国家进步的灵魂,同时也是一个行业发展的推动力。我国的医药行业之所以发展滞后,主要原因就是因为创新能力弱。
在新形势下,软件开发公司人员只有结合企业自身的实际,自觉创新公关思路,才能推动软件开发工作的不断创新
1.2 缺乏深入了解客户需求
在软件开发过程中,一些业务专家和技术人员若沟通不充分就会使技术人员对需求的理解产生歪曲,从而导致软件完成后不符合用户提出的真实需求等问题出现。在软件开发设计的过程中,如果不对客户的需求有一个全面的了解,就会使软件的开发没有一个明确的定位。软件的开发没有了明确定位,就会使软件产品面临一定的风险。一种定义说明风险是具有不确定性的;而另一种定义说明风险是具有损失的不确定性的。这两种表现说明了风险总体上是具有不确定性的。如果风险表现为不确定性,这说明风险产生的结果可能带来一定的损失、获得利益或者没有损失,也没有获得利益,这属于广义的风险,而我们最熟悉的金融风险就属于这种广义的风险。和广义的风险相对的风险便是狭义的风险。狭义的风险主要表现为损失的不确定性,说明风险只能表现为损失,没有从风险中获利的可能性。在现代意义上的风险,已经大大超越了"遇到危险"的狭义含义,而是"遇到破坏或损失的机会或风险",可以说,经过时间的推移,风险一词越来越被概念化。并且随着人类活动的复杂性和深刻性在不断深化,被赋予了从哲学、经济学、社会学、统计学甚至文化艺术领域的更广泛更深层次的含义,并且与人类的决策和行为后果联系越来越密切,风险一词也成为人们生活中出现频率很高的词汇。
1.3 没有做好版权控制,造成代码库和开发环境混乱
随着软件项目开发过程的不断深入,软件项目开发小组中每个成员所编模块数量会不断增加,因而各种模块的版本也会随之增加,最后可能会出现连编程者都不知道某一模块的最后版本在哪里的情况。这样容易使版本发生混乱。软件的版本在发生混乱后,就会使软件的开发质量受到影响,从而影响软件公司的发展。
2 计算机应用技术的概述
计算机应用技术是对各种软件的各种功能、设置、属性等有足够的了解和应用能力,从而在各种情况下操控计算机,并且能够高效的为不同人群提供各种所需要的服务的总称。计算机工具的功能是比较大的,例如SQL(Structured Query Language)是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。
将数据插入SQL的基本表有一种是多元组的插入。多元组的插入是一种把SELECT语句查询结果插入到某个已知的基本表中的方法。例如:需要在表score中求出每个学生的平均成绩,并保留在某个表中。此时可以先创建一个新的基本表stu_avggrade,再用INSERT语句把表score中求得的每一个学生的平均成绩(用SELECT求得)插入至stu_avggrade中。其代码如下所示:
CREATE TABLE stu_avggrade
(stenos CHAR(10) NOT NULL,//定义列steno学号,类型为10位定长字符串,非空
age grade SMALLINT NOT NULL )// 定义列age grade平均分,类型为短整形,非空
INSERT INTO stu_avggrade(stenos,age grade)
SELECT stenos,AVG(score)
FROM score
GROUP BY stenos //
因为要求每一个学生所有课程的平均成绩,必须按学号分组进行计算。
信息化的时代、科学技术不断更新的时代注定了是世界各国企业的新生战场,企业应该不断提高自己的国际竞争力。计算机技术的使用能够使企业的工作流程变得比较简单,这样对员工的能力提升是很有益处的。计算机技术的应用还能提高员工的工作意识,强化员工的素质以及企业的发展能力。
计算机应用技术的发展对世界经济有着重要的影响,为企业对于自身信息化的整合以及发展提出了新的概念,计算机应用技术是科技时展过程中重要成果的体现,其实际的应用价值一直在被人们不断开发。有效利用计算机技术能够强化企业的处理能力,提高企业在社会中的生存能力。随着我国经济的迅速发展,我国的信息技术水平也在不断提高。信息技术的应用越来越广泛,并已经渗入到我们的工作、生活中。信息技术改变了我们的生活方式,给我们的生活带来了极大的便利,也改变了我们的工作方式,提高了工作效率。信息技术成为人类社会不可或缺的角色。信息技术对我国的政治、经济、文化生活都产生着深远的影响,成为当今社会的基石。信息技术也代表着当今先进生产力的发展方向,能不断推动传统产业的升级,提高社会劳动生产率和社会的运行效率。随着信息技术的不断发展,人们对信息技术的应用也越来越广泛。工作上已经实现了办公自动化,生活上的很多娱乐活动也有很多是和信息技术有关的。信息化发展不仅给人们的生活带来了极大的乐趣,也给人们的工作带来了极大的便利。合理的使用计算机应用技术能有效提高企业对基础信息数据的录取与分析,提高企业信息管理的准确性和科学性。企业在进行信息管理的过程中,通过利用计算机技术,能够帮助企业制定科学、合理、符合企业发展的理性战略。
信息技术的使用,极大地改变了人们的劳动方式。以前是传统的体力劳动,现在成为以信息处理为依托的脑力劳动。这些不仅提高了劳动者的劳动素质,也解放了生产力提高了劳动效率。而劳动者素质的提高,又为信息产业的发展准备了人力资源条件,促使信息产业不断发展。这些都间接的将国家经济推向世界经济,不断适应全球一体化经济发展。数字化信息技术革命加快了现代社会生产生活的速度,这对企业的办公效率也有了新的要求。政府通过网络可以建立企业与企业之间的网络机制,形成一个大的管理网络,从而打破时间、空间的制约,及时倾听社会中的民众需求,虚心接受民众的意见并不断改善自身的失误。在这种体制下,企业的办公效率会越来越高。计算机技术的使用能够使企业的办公自动化程度得到有效提高,能够使企业的问题处理得到优化,这样就能提高工作的准确性,从而提高企业的信息化管理水平。
3 规范化在计算机软件开发应用中的措施
3.1 了解客户需求
软件设计人员只有对客户的需求有一个全面的了解,才能使软件的开发有价值,有意义。软件开发人员在设计中,应该注重客户的需求,对其有一个明确的定位。可以说,需求分析是软件开发的一个重要工作,可以为开发提供方向,为开发指明策略。因此,软件公司应该重视需求分析。对软件开发的工作人员进行一些技术方面的指导培训,通过这种专业的培训项目来提高工作人员的专业水平,能不断提高工作效率,使其具备较强的专业素质。首先给工作人员进行企业文化的宣传,让工作人员有一个文化认同感。然后对工作人员进行产品特点的介绍,让经他们对产品有个全面的把握。最后和工作人员进行开发设计的交流。这样,软件公司的管理也会更加规范,就会在消费者中建立一个比较好的企业形象。
3.2 专注软件产品研发
中国的软件公司最大的不足就是创新能力差,研发能力差。外国的软件公司之所以能够在软件市场中拥有自己的独特地位,主要是因为自己有较强的研发创新能力。因为只有创新才能不断满足大众的消费需求,只有创新才能对消费者形成独特的竞争优势,只有创新才能实现企业的长足发展。这就是创新的重要作用,这就是中国软件行业必须创新的必要性。
3.3 重视规范化管理模式
规范化管理模式才能提高生产效率,才能保证产品质量。外国软件公司的规范化管理使软件开发质量成为其独特的竞争优势。我国软件行业的现状是管理不规范,导致生产效率低下,这样严重阻碍了中国软件行业的发展。中国的软件行业要想提高自己的竞争能力,应该不断规范自己的管理模式,这样才能在激烈的竞争中脱颖而出。由于我国软件行业起步较晚,技术能力差,因此现在还处于一个低级发展阶段。软件行业只有实现自己技术上的突破,资本上的整合,才能使我国软件开发技术的发展进入一个新的发展阶段。
3.4 精心策划
软件开发工作要想做好,就要有一个详细和具有特色的设计方案。只有这样,才能使工作进展的更加顺利。软件公司在做好这些工作的同时,还应该考虑到各方面的细节,使自己的设计方案具有一定的创新性。设计方案不仅仅是软件开发公司工作的一个前提准备,更是企业的发展方向。因此,企业的设计方案应该是有创意的,只有这样才能使企业体现出自己的独特之处。相信企业只有具备一定的创新能力才会吸引更多的合作伙伴,才能促进企业的发展。
3.5 不断总结
整个软件开发设计工作结束后,工作人员要对设计工作进行认真的总结,看看哪些方面是让客户满意的,哪些工作还有不足之处。只有这样,工作人员才能够通过总结不断提高工作质量和效率,才能使以后的工作更加出色。软件开发公司能否给客户留下良好的印象,除了企业的典型工作之外,还需要企业能够有一个较强的总结能力。只有这样,才能使工作质量慢慢提高,进而减少工作中的失误。在企业的软件开发工作中,每次总结都是企业软件开发工作的基础,是企业积累经验的前提。
3.6 软件产品的规范化维持与保护
软件产品的核心使命是应用软件产品的系统,将处于研发阶段出现的错误和在检测时产生的不足及缺陷进行修改,增强软件的功能。在实际应用中,客户或维修人员需要以软件产品系统中产生的不足为依据填写“软件问题报告”,然后把该报告交给软件维护管理的专业人员。这样就会使工作人员对软件的维护管理问题有一个明确的把握,更容易解决问题。维护人员对维护需求进行实际评析,然后对其不断进行修改,再把修改的消息告知客户,最后把版本交付于客户。这样,才能保证产品质量。
4 结 语
软件开发的规范化对企业发展有着重要的影响。在科技文化高度发达的时代,计算机技术对企业的信息化管理有着极大地促进作用。企业通过计算机技术使企业的管理更加规范,更加科学,也能更好地优化产业结构。因此,软件开发的规范化管理势在必行。
参考文献
篇4
关键词:GJB5000A;过程域;军用软件开发;软件项目管理
0引言
随着国防现代化的发展,武器装备中的计算机应用越来越广泛而且深入,而软件系统正在成为提升武器装备战斗力的新的驱动力.当前,军用软件的质量同硬件以及装备质量相比,还有一定差距,软件质量问题已成为制约武器装备质量发展的瓶颈.为规范军用软件开发过程,总装备部下发了«GJB5000A军用软件研制能力成熟度模型»,明确了软件研制和维护活动中的主要软件管理过程和工程过程的实践,不仅适用于对组织的软件研制能力进行评价,也适用于组织本身对软件过程进行评估和改进.
1GJB5000A三级简介
军用软件研制能力成熟度模型采用分级表示的方法,主要分为5个等级[2]:1级(或M1)为初始级,2级(或M2)为已管理级,3级(或ML3)为已定义级,4级(或ML4)为已定量管理级,5级(或ML5)为优化级.从软件开发过程看,成熟度1级的过程通常是随意、无序的;成熟度2级的项目已确保其过程按照方针进行策划并执行;在成熟度等级3,过程已经得到了很好的定义和理解,并采用标准、规程、工具和方法进行了描述.标准包含22个过程域,按不同成熟度等级进行了分类,每个能力成熟度等级包含若干过程域.组织在提升成熟度等级的过程中,应使用相应成熟度等级中的过程域以及较低成熟度等级中的全部过程域,增量地实现几个过程域相关的专用目标和共用目标.其中成熟度等级2包括配置管理、测量与分析、项目监控、项目策划、过程和产品质量保证、需求管理、供方协议管理7个过程域,成熟度等级3则是在成熟度等级2的基础上增加了决策分析与决定、集成项目管理、组织过程定义、组织过程焦点、组织培训、产品集成、需求开发、风险管理、技术解决方案、确认、验证11个过程域.
2GJB5000A三级实施中的关键过程
2.1需求开发与管理
需求开发的目的是挖掘并分析顾客、产品和产品部件的需求.需求管理的目的是管理项目需求,并标识这些需求与项目的计划和工作产品之间的不一致性.具体实施步骤如下:①将用户需求转换为软件系统需求,制定软件系统规范,并通过仿真或编码实现的方式确定软件的关键技术;②将软件系统需求分解给各个配置项,开展软件需求分析工作,并确定最终解决方案;③对软件需求实现方案进行详细设计;④依据软件设计进行代码的编写;⑤每个开发阶段都形成相应的文档,文档之间采用正逆向追溯表进行需求之间的追溯.
2.2软件项目管理
软件项目管理的目的是在项目的全生命周期内制定和维护项目活动计划并监控计划的执行,确保项目的有效运作.具体实施步骤如下:①建立项目已定义过程,完成项目的工作量和进度估计,完成软件项目计划,并保证各个计划之间的一致性;②依据阶段计划,在定期监控、月分析和里程碑阶段进行任务分配和监控,针对出现的问题和偏差采取纠正措施;③软件开发工作完成后,对软件开发的各项工作进行总结分析,并编写软件开发总结报告。
2.3软件分包管理
软件分包管理的目的是保证项目按计划让分包方提交满足要求的产品.具体实施步骤如下:①拟制软件技术协议并签订合同,并明确与分包软件研制工作有关的实施要求;②按照分包合同及技术协议、分包管理计划的要求参与并管控分包合同及技术协议,以及分包管理计划的执行;③对分包方提交的产品进行验收,证明该产品能够满足软件技术协议的要求.2.4软件质量保证软件质量保证的目的是使员工和管理者对过程和相关的工作产品能有客观深入的了解.具体步骤如下:①开展软件质量保证策划工作,如制定«软件质量保证计划»;②在规定的过程评价时间点到达时,或相关事件发生时对过程活动进行评价,记录与计划、标准、过程、规程不符合之处;③在规定的工作产品评价时间点到达时对软件工作产品进行评价;④记录过程评价和工作产品评价中发现的问题,跟踪不符合项的关闭;⑤在项目规定的报告期内总结软件质量保证工作的开展情况.
2.5软件配置管理
软件配置管理的目的是利用配置标识、配置控制、配置状态纪实和配置审核,建立和维护工作产品的完整性.具体实施步骤如下:①开展配置管理策划工作,如建立配置管理系统和制定«软件配置管理计划»;②控制工作产品的入库、出库和变更活动,变更应采取分级管理;③在各个阶段结束点开展基线审核,并建立基线;④在项目规定的报告期内总结软件配置管理工作的开展情况.
2.6软件过程改进
软件过程改进主要是站在组织层面,提高整个组织的软件过程改进能力.主要内容包括:①制定并维护年度软件过程改进工作计划;②制定并维护软件过程体系文件;③定期召开例会和按计划定期跟踪相关过程和产品,监督过程改进工作及项目组部署的过程资产的实施,并在出现偏差时采取适当的纠正措施;④定期在组织内开展内部评估,为下一轮过程改进工作作准备;⑤更新组织级测量数据与软件工作环境标准,对软件过程资产进行系统维护,对全年的软件过程改进工作进行分析和总结;⑥根据软件过程改进工作的活动、状态和结果组织管理评审,以便评价和掌握过程改进工作绩效,并形成相关决策事项,作为下轮过程改进工作的基础.
2.7重大决策过程
重大决策过程的目的是采用正式的评价过程分析重大问题或事项可能的决策,依据定义的评价准则和评价方法,选择一个尽可能满足多个利益相关方要求的解法,从而规避决策结果可能带来的重大风险.其中,主要要素包括评价准则、评价方法、参与评价人员和评价时间.组织人员确定重大决策问题的备选方案,或在需要时进一步明确重大决策事项;对评价结果做出决定,在必要时进行风险分析;对活动的结果作记录,记录形式可采用会议纪要、评审报告或独立的文档.
3GIB5000A三级实施过程中的常见问题与建议
(1)同行评审流于形式.同行评审被定义为“由软件工作产品生产者的同行遵循已定义的规程对产品进行的技术评审”,在目前的软件开发过程中,存在“重代码、轻文档”的现象,从而导致软件开发文档的质量普遍不高,因此需要相关领域的专家对文档质量进行把关.然而,目前大多数评审只是流于形式,而未能发现实质性问题,评审有效性不足.建议文档评审之前先交由同行专家进行文档审查;管理层需要给予同行评审提供支持,如资源、时间、培训和激励等;评审结果生成评审缺陷分析表,用于检测评审的有效性.
(2)对软件测试过程不够重视.目前软件开发过程中由于时间紧、前期项目计划未得到有效策划和跟踪,导致后续测试时间严重不足.软件测试是为了尽快、尽早地不断发现各种软件缺陷而开展的对软件及过程产品的验证和确认活动.建议在项目初期安排好项目计划,项目除进行配置项测试和系统测试外,针对关键重要模块要开展单元和集成测试,测试文档要与开发文档形成追溯关系,保证功能与性能的一致性.
(3)变更控制不到位.与硬件相比,软件的变更更为频繁和难以控制.在软件开发过程中变更主要来自计划和需求,分为文档变更和代码变更.在目前的项目运行过程中,变更影响域分析很薄弱,过程中比较常见的现象是项目分派和计划、设计文档和代码之间对应不上.建议除了对变更进行分级控制外,应细化软件文档模板(增加正逆向追溯表),并加强对变更后文档的同行评审和联合评审.
4结语
GJB5000A作为软件开发的一个通用标准,其中的过程域既独立又相互融会贯通,而在推广实施过程中,要将标准中的要求转化成自身的体系要求,并结合实际情况不断进行改进与提升,最后达到规范开发过程、提高软件开发能力和保证软件产品质量的目标.
参考文献:
[1]GJB5000AG2008军用软件研制能力成熟度模型[S].2008.
[2]冯听雷.GJB5000A从二级到三级的升级策略[J].价值工程,2012(5):74G75.
[3]张万军,储善忠.基于CMMI的软件工程教程[M].北京:清华大学出版社,2008.
[4]倪亭.在软件研发与测试中推广GJB5000A[J].软件,2013(2):31G35.
[5]董越.未雨绸缪:理解软件配置管理[M].北京:电子工业出版社,2012.
篇5
关键词:软件工程;网络课程;教学实践;Jazz
中图分类号:G642 文献标识码:B 文章编号:1673-8454(2012)07-0061-04
一、引言
随着远程教育需求的日益增长和网络教育支撑技术的飞速发展,设计适用于网络上教学的高质量课程已经成为网络教育发展的一项重要课题。
“软件工程”课程的目的是使学生能够系统地掌握软件工程的基本概念和原理,以及实用的开发方法和技术,了解软件工程各领域的发展方向,学习用工程化的思想和方法开发和管理软件项目,了解软件开发过程中应遵循的流程、准则和规范,为从事软件工程研究或应用开发工作打下坚实的基础。[1-3]考虑到软件工程是一门注重工程实践能力的课程,课程的学习既要求要掌握软件工程基本理论,又要求锻炼运用这些理论知识解决实际问题的能力,做到理论与实践相结合。
当前“软件工程”网络课程的设计日益受到重视,但在实际教学中还存在着一些问题,包括:在理论课程中贯穿整个软件工程过程的系统化案例不多,以及实践课程中项目开发实践平台不完善等。[4-6]这些缺陷都影响了学生对于软件工程整体思想的理解与实践。
解决上述问题已成为当前“软件工程”网络课程设计的迫切需求。因此,本文以理论结合实践的方式将IBM公司的下一代软件开发协作平台Jazz整合到课程的设计中:使用基于Jazz平台的工具集(尤其是其中的RTC、RRC、RQM,以及ClearCase和ClearQuest),提供对软件工程生命周期各阶段任务的支持,并将Jazz平台跨地域的团队协作能力和适用于敏捷软件开发的特点充分利用到学生的工程实践中,具有一定的创新性,取得了良好的效果。
二、“软件工程”网络课程的总体教学设计
本文在“软件工程”网络课程的教学设计中注重理论知识的掌握,同时以培养工程实践能力为导向, 强调学生能力的培养。通过对该课程的学习,让学生理解工程化方法在软件开发中的应用,以理论结合实践的方式进行同步教学:理论讲授部分采用网络多媒体教学模式,辅之以课后测验和课后作业,课程实践部分采用学生分组完成一个中小规模软件项目开发的教学模式。
在课程开展的可行性方面,苏州大学计算机科学与技术学院在与IBM公司的合作框架下,能够获取学生课程培训与实践所需要的工具和相关电子资源。此外,通过校、院或系一级的教学管理系统和FTP服务器建立教师与学生的互动平台。教师可以通过网络教学课件和案例分析等电子资源,还可以布置课后测验、课后作业以及实践项目;学生则可以通过网络下载教学资源进行课程学习,也可以通过网络进行课后测验、提交课后作业以及参与实践项目的开发。
该课程的教学设计分为两个部分:授课部分和学生工程实践部分,其中授课部分又可进一步分为理论知识授课部分和工具培训授课部分。这两部分的结合能达到配合理论教学,进行工具使用能力训练,并提高学生工程实践能力的目的。
1.授课部分
(1)理论知识授课:本部分由主讲教师完成,提供网络多媒体教学课件。理论知识授课部分主要介绍软件工程的历史、现状,以及发展趋势,以软件工程发展历史上的两个主流方法学(结构化软件工程和面向对象软件工程)为基础,深入讲解软件工程的基本原理、方法和技术,并涉及软件工程的管理话题,如软件质量管理、配置管理、过程管理、项目管理等。该课程的理论知识授课内容可以划分为结构化软件工程,面向对象软件工程,软件过程管理与质量这三个主要部分。在课程教学中,注重提供贯穿整个软件工程过程的系统化案例,使得学生能够对于软件工程的理论知识有一个全面、直观、感性的认识。
(2)工具培训授课:本部分由辅讲教师和工具提供商工程师完成授课和辅导,与理论授课部分同步进行,采用专题讲座方式进行相关工具的使用培训。工具培训授课部分主要针对IBM公司新一代的软件开发协作平台Jazz,采用IBM公司Jazz平台系列集成工具的培训教材和教学资源,对学生进行Jazz平台及相关工具体系的使用方面的培训,并对工具使用的实验进行指导,该实验也可通过网络完成。
2.学生工程实践部分
本部分由辅讲教师和助教完成,指导学生分组完成软件项目的开发。学生工程实践部分主要参考IBM公司的Jazz平台实验方案,选用一组典型的中小规模软件项目,由学生分组并选择适当的项目进行开发。在软件开发过程的不同阶段中,学生项目组需要展示对理论课程内容的掌握程度和工具使用的熟练程度,每周就项目进行进展报告,并提交各阶段相应的成果。教师需要对学生项目组进行过程管理和技术辅导,并对集中的问题进一步进行辅导。
三、IBM-Jazz平台简介
Jazz平台是IBM推出的面向跨地域团队的下一代团队协作平台,也是一个整合软件工程生命周期各阶段任务的软件开发平台。[7]
1.Jazz平台的特点
Jazz平台的主要特点包括下述三项,这些特点使得Jazz平台能够提供对于“软件工程”网络课程工程实践的支持:
(1)跨地域的开发团队实时协作能力。Jazz平台支持Web2.0技术,能帮助分散的软件开发团队克服地域障碍,搭建实时协作的平台。Web2.0技术支持实时的信息和信息反馈,通过网络,分布在各地的开发团队成员都可以在Jazz上了解最新的开发进度,提交最新的开发和测试结果,找到应遵循的工作流,在该工作流的指引下循序渐进地工作,而不必担心偏离了开发目标。项目的管理者也能够在Jazz上找到需要了解的信息,包括团队的进度、每位开发者的现状,以及资源的配置等,从而帮助其配置资源,确保开发按时按目标完成。这种通过网络提供的协作能力很适合网络课程中工程实践部分的团队协作工作,包括了学生的参与和教师的管理。
(2)支持整个软件生命周期各阶段任务的无缝集成。Jazz平台提供了对于软件开发和管理流程的定义和执行能力,在这些自定义流程的基础上,能够跨越包括需求、设计、编码、测试、配置与交付等软件生命周期的各个阶段,对各阶段的任务进行无缝集成。Jazz平台对软件工程生命周期各阶段任务的支持,符合“软件工程”课程的工程实践要求,使得学生能够对于软件工程过程有一个全面和系统的理解和实践。
(3)支持敏捷软件开发。Jazz平台还预定义了一些适用于敏捷软件开发的流程,对RUP的支持使得最新的需求能及时交付给软件开发项目的提出者,并且能很快得到最新的反馈意见。Jazz平台对于敏捷软件开发提供了支持,符合“软件工程”网络课程的工程实践部分中“开发中小规模软件项目”的要求。
2.Jazz平台工具集
从2008年开始,IBM陆续推出了基于Jazz平台的工具集,这些工具都是以与Jazz平台集成的插件或连接器的形式的。主要的工具包括:
(1)Rational Team Concert(简称RTC):RTC是IBM推出的第一个基于Jazz平台的产品。作为一个协作软件交付平台,RTC通过提供整合的项目计划、工作管理、配置管理、团队构建、版本构建、报告能力等,为整个开发团队提供了协作的基础。RTC还能够帮助开发团队简化、自动化和监管整个软件交付过程。
(2)Rational Requirements Composer(简称RRC):RRC是基于Jazz平台的需求开发管理平台。辅以Rational DOORS Requirements Professional,RRC将各种需求定义手段和需求相关人员有机地结合在统一的集成协作平台上,实现协作化的需求定义与需求管理。RRC采用多种需求开发方法和协作技能,使需求相关人员能更好地进行需求的获取、分析、精化、管理、评审以及验证。使用RRC能够尽量确保在开发之前将需求定义清楚,减少因为需求定义不良为后续开发带来的问题。
(3)Rational Quality Manager(简称RQM):RQM是基于Jazz平台的全生命周期质量管理协作平台。RQM在整个软件工程生命周期中提供了从测试需求管理、测试计划、测试用例设计、测试执行、测试评价和缺陷管理等完整的测试生命周期管理方法,能够简化和自动化繁杂的测试任务,支持手工测试以及自动测试。通过与其扩展组件Rational Test Lab Manager的集成,RQM还能提供自动化的测试环境和测试资源的管理,从而提高测试的效率。
(4)Rational Project Conductor(简称RPC):RPC是基于Jazz平台的项目及资源管理平台。RPC可以帮助项目经理进行项目计划、制定项目进度,为项目和任务安排合适的资源。RPC还提供了对项目状态和进度进行管理监控和可视化的功能,可以作为项目开发的核心数据库。
(5)Rational Insight:Insight可以帮助获取关于开发团队的度量数据,客观地度量开发的状态和进度。Insight能够提供关于系统和软件交付准确的深入信息,确认高优先级的业务目标,并给出软件交付的最佳实践,从而更好地定位开发团队的目标、度量最佳实践和业务成果。
(6)Rational Build Forger(简称RBF):RBF是基于Jazz平台的过程执行框架,可以对软件工程生命周期中重复的开发任务和构建过程进行自动化的安排、管理和追踪。RBF支持主流的开发语言、工具及平台,能够在沿用现有开发资源的同时,增加有价值的自动化、加速、通知和日程安排等功能。
(7)Rational Asset Manager(简称RAM):RAM可以帮助组织了解所拥有资产的状况,资产之间的关系,以及资产所交付的业务价值,从而使组织能够基于一致的可重用资产更快地向市场交付高品质的软件解决方案,并减少解决方案实现和维护的成本。
除了上述工具外,IBM还将陆续基于Jazz平台推出相关工具,并进行众多上一代Rational工具的Jazz化过程,已完成的包括ClearCase和ClearQuest等。
在“软件工程”网络课程中,主要涉及的基于Jazz平台的工具是:Rational Team Concert、Rational Requirements Composer、Rational Quality Manager,以及ClearCase和ClearQuest。
四、“软件工程”网络课程的工程实践部分设计
“软件工程”课程具有实践性强的特点,其工程实践环节既重要又困难,需要深入研究该课程整个工程实践环节的教学内容和方法,确保相关实践平台,设计完整的实践体系,包括:实验大纲、计划、教材等。本章中对于“软件工程”网络课程,即所述“学生工程实践部分”做进一步研究。
1.工程实践部分的目的
(1)让学生在实践环节中加深对软件工程课程理论知识的理解,通过让学生参与一个中小规模软件开发的完整过程,建立对软件开发过程各阶段活动的全面、直观、感性的认识。
(2)要求参与的学生在实践环节中分成若干个项目组,并以项目组为单位完成软件系统从需求分析到测试交付的完整过程,在该过程中学习有效的沟通方法,培养团队合作精神,为将来进入软件工程行业做好准备。
(3)让学生通过实践环节掌握Jazz平台系列工具的使用方法,培养学生灵活运用所学理论知识分析和解决问题的能力。
“软件工程”网络课程的工程实践部分的总体要求包括:遵循敏捷软件开发的定义,各个学生项目组独立完成从需求获取与分析、设计与建模、编码、测试、配置与交付、过程管理等软件工程关键活动,熟练使用各种工具完成上述活动,养成规范化软件开发的习惯,并根据国标版软件开发文档模板最终提交相应的软件制品与规范化文档。
2.工程实践部分的具体要求
(1)项目管理与计划。根据实验课程的安排,各学生项目组首先进行的是基于项目管理知识使用Jazz-Rational Team Concert进行所选项目的开发过程管理,使用Jazz-ClearCase实施配置管理,基于Jazz-ClearQuest进行缺陷与变更管理。需要学生项目组制定项目计划,包括过程计划、开发计划、测试计划、配置管理计划等,在网上提交相关文档和进展报告。
(2)需求获取与分析。在该阶段中要求各学生项目组获取并分析目标软件项目的需求,采用用例模型描述系统的需求规约,使用Jazz-Rational Requirements Composer管理需求分析阶段的结果并进行需求评审。需要学生项目组给出需求规约文档,在网上提交相关文档和进展报告。
(3)设计与建模。在该阶段中要求各学生项目组以需求阶段的结果为基础,使用工具Rational Software Architect为目标软件项目进行设计和建模(注:IBM尚未为该阶段提供基于Jazz平台的工具),基于模型描述系统的设计规约。需要学生项目组给出设计规约文档,在网上提交相关文档和进展报告。
(4)软件编码。在该阶段中要求各学生项目组以设计阶段的结果为基础,完成目标软件项目的最终编码过程,并对软件产品进行评审。需要学生项目组给出源代码和可执行的系统,在网上提交相关软件制品和进展报告。
(5)软件测试。在该阶段中要求各学生项目组使用Jazz-Rational Quality Manager及其他测试工具完成测试:设计测试用例,完成测试脚本的编制,实现自动化测试执行,进行测试结果的收集和分析,进行测试评估,将确认的缺陷提交到缺陷追踪系统中。需要学生项目组给出测试文档,在网上提交相关文档和进展报告。
(6)软件部署与项目总结。在该阶段中要求各学生项目组结合实际运行环境,完成目标软件项目的部署,并对各个阶段的执行情况进行总结,必要时可录制系统演示。需要学生项目组在网上提交报告和相关资料。
五、结束语
针对当前“软件工程”网络课程的现状,本文在对该课程的设计中整合了IBM公司的下一代软件开发协作平台Jazz,利用该平台对软件工程生命周期各阶段任务的支持,及其跨地域的团队协作能力和适用于敏捷软件开发的特点,以理论结合实践的方式设计了该课程的总体教学计划:着眼于培养学生的工程实践能力,从授课部分(包括理论知识和工具培训)以及学生工程实践部分两个方面展开,在实践中取得了良好的教学效果。
参考文献:
[1]Roger S. Pressman. Software Engineering: A Practitioner's Approach, 7th edition[M]. McGraw-Hill,2009:928.
[2]Ian Sommerville. Software Engineering, 9th edition[M]. Addison Wesley,2010:792.
[3]Shari L. Pfleeger, Joanne M. Atlee. Software Engineering: Theory and Practice, 4th Edition[M]. Prentice Hall,2009:792.
[4]许家,白忠建,吴磊.软件工程――理论与实践, 第2版[M].北京:高等教育出版社,2009:399.
[5]黄河笑,杨焕宇, 陈海建等.“软件工程”网络课程的设计与开发[J].计算机教育,2009(22):93-96.
篇6
关键词:技能型软件人才;教学理念;职业技能;教学方法
软件蓝领一词来源于印度,泛指技能型软件专门人才。目前全球软件与服务外包市场规模依然巨大,并以膨胀方式持续增长,外包市场需要大量技能型软件专门人才。上世纪末,“千年虫”解决方案成就了印度,使之成为软件与服务外包产业强国,令世人瞩目。在印度的软件企业中,软件开发如同传统产业的流水线作业,每个基础编程人员按照规定的工序加工某个标准件,从而实现工业化生产,正如印度卡纳塔卡邦首席行政长官Krishna在解读为什么班加罗尔会成为印度乃至亚洲的硅谷时回答,除了教育,还是教育。
目前,在我国软件企业中,人才缺乏是制约软件企业发展的主要瓶颈之一。我国各级各类教育机构依然存在着教学内容与市场实际需求脱节,面临最大的教学问题是企业求贤若渴、却英才难觅,其根源在于传统的“本科压缩型”人才培养模式问题。笔者针对技能型软件人才培养过程中实践教学环节的教学问题,从教学理念、教学内容和教学方法3个方面进行实践和总结,其目的是为了探索软件工程专业本科生教育的人才培养模式。
1 若干教学问题
2001年12月教育部和国家计委联合发出通知,批准清华大学等35所高校试办示范性软件学院,旨在通过软件学院的建立,实现软件人才的跨越式发展。在示范性软件学院计划中,明确提出面向软件产业培养高素质的工程型软件实用人才的专业定位。2003年教育部批准建立了36个示范性软件职业技术学院。2004年IEEE-CS组织了软件工程知识体系指南SWEBOK2004,在指南中划分了软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量等lO个关键知识域,规定了每个知识域中的具体教学内容,如“软件需求”知识域有需求基础、需求过程、需求获取、需求分析、需求规格说明、需求确认、需求实践等教学主题。
回顾多年的软件工程专业发展,我国各高校中已有近200多所院校开设了软件工程专业,各级各类培训机构相继出现。为了支持软件与服务外包人才的培养,自2006年起,商务部开始实施服务外包“千百十工程”人才培训计划,2007年教育部在“质量工程”中加大了对信息类专业的支持力度,软件工程专业列入第2类特色专业建设项目,2011年国务院学位委员会正式公布了修订的学科目录,把软件工程新增为一级学科。这充分说明软件工程专业和学科在国家战略层面上已经提升到一个新的高度。
政府层面安排的各级各类专项培训资金,主要用于支持大学生增加软件与服务外包专业知识和技能,鼓励外包企业新增大学生就业岗位的各类人才培训项目,重点培训大学应届毕业生和尚未就业的大学毕业生,以及服务外包企业新入职员工。培训内容包括软件与服务外包企业人才定制培训、从业人员资质培训、国际认证培训、行业标准及相关知识产权培训、大学生实习项目及勤工俭学培训、企业新人职人员岗前业务技能培训等。政府层面出台的政策目标,主要是为了建立软件与服务外包人才的培养培训体系,调整专业结构以适应软件产业需要,加强高校学生实习实训工作,深化高校与软件与服务外包企业的合作等。
综上所述,市场对人才需求仍有较大缺口,适应产业市场不断发展的软件工程专业教育任重道远。培养技能型软件人才已经到了应该采用全方位、多渠道、企业广泛参与的多种培养模式,才能从根本上解决目前企业人才短缺、现有人才结构不合理等问题。高校的根本任务是人才培养,要实现人才培养与企业需求之间的无缝衔接,本文主要讨论3方面教学问题:
(1)实践教学理念。在教师组织教学过程中,其教学理念必须符合产业标准和项目规范,软件项目的成功取决于项目团队,项目团队必须遵循软件工程规范,规范是指项目规程和实施项目的相关技术标准,与之相关的专业知识只求其核心的基础知识,不求知识全面。
(2)职业技能结构。通常职业能力贯穿整个职业生涯,其职业技能可以划分为,特定技能、通用技能、核心技能3个层次,其中的核心技能具有普遍适用性,在职业生涯中受益终生,此外个人的职业素养也是一种职业能力,主要有交流能力、沟通和表达能力、文档的规范写作、分工合作、团队协作、敬业奉献等。
(3)实践教学方法。在项目实施过程中,必须遵循软件工程原则,根据“项目经理系统分析员软件工程师具体程序员”的人才结构组建项目团队,按照项目管理流程和技术规范实施项目,其教学内容必须紧跟产业技术、及时更新教材内容,注重实用性和针对性,项目实训从最简单的项目做起,在强调掌握具体专业技能的同时,要求学生善于交流、勤于沟通,逐步提高职业能力。
2 实践教学理念
印度软件企业快速进步的重要原因之一就是能够按照软件产业发展的需要,通过多层次、多渠道方式培养人才,形成多层次的人才结构。分析软件产业特点,任何大型软件项目的实施,团队是项目成功实施的重要基础,如图1所示;把大项目分解成无数小模块任务,要求按照具体的技术规范和标准施工,遵守项目流程,如图2所示;不同层次上的人员有着具体而明确的分工,在合作或协同的过程中,需要具备相应的沟通技巧和职业素养,团队角色职责如表1所示。
在项目实施的过程框架中,工作指南规定了要完成的任务步骤、方法、进度等,各“角色”执行任务时必须参照工作指南,工作模板是指“角色”按照计划进度完成具体任务以及必须完成的各种文档结构,QC根据指南,逐一核对任务列表,通过检查表监督各角色是否按进度执行。在项目实施过程中,项目团队为了一个共同的目标(某个项目)一起学习和工作,团队必须具有良好的沟通机制。例如项目专用的公告牌(公告、通知、状态报告),项目邮件列表;项目网站(文档、团队成员主页、相关的技术论文和笔记以及自学培训材料),项目会议(关于简报和问题解决方案),关于团队成员工作的最佳实践会议和讨论,面对面交谈等。
在教与学的过程中,教师必须思考如何让学生尽可能块地掌握实际动手开发能力,尽快与产业技能接轨,要求学生给自己制造一个理由来组织学习型工作团队,通过发放团队工作规范和模板,签订团队工作责任书、内部承诺等方式来提高团队学习效率。通过教学实践,明确人才培养目标,总结并提出团队、规范、交流的教学理念,团队是项目基础,规范是项目规程和技术标准,交流是团队成员的基本素养,其教学理念符合产业需求和企业实际。
3 职业技能结构
全球软件产业市场呈现两大特点,国际化分工合作步伐加快、产业化技术更新加速。前者使得软件服务外包成为全球性软件市场中的追逐热点,涌现了象印度、爱尔兰、以色列等一些软件外包强国,后者说明软件产业中的技术从业人员必须时刻保持适应产业发展的技术能力和技能,尤其是直接面对软件开发环节中的技能型软件人才。
印度软件人才培养模式的独到之处就在于软件企业的人才结构合理,其软件教育的核心理念是紧跟国际软件领衔企业的技术发展,快速更新教材,注重实用性和针对性,使毕业生能迅速适应企业的需要,可承担任何大型软件项目中具体某个环节的规范且熟练工作。对于软件产业来说,教育部门提供大量技能型软件人才是软件工业化生产的基础,同时这种专门化知识结构的人才模式也将推进软件流水线生产的标准化。因此,必须分析研究技能型软件人才需要什么样的知识、能力和素质结构,应该寻找培养这种能力结构的方式方法。
职业能力包括贯穿技术人员整个职业生涯的就业和创业能力、工作能力、职业转换能力。现行教育部门或软件企业中的技能型软件人才的职业能力之内涵必须得以重新构造;已经不仅仅是动手能力、操作能力和理论知识的代名词,职业态度、敬业精神、团队合作交流和职业行为评价等因素都应纳入到职业能力的培养中去。以职业活动为导向,以职业能力为核心的原则正在改变学科导向的职业教育培养体系,产业现场的实际需要和认同正在主导专业教育的内容和形式。接受任务、解决问题、执行规范、完成任务,这是最基本的标准。例如对于低档软件人员不懂操作系统、计算机原理、关系数据库原理等常识,并不妨碍他编写代码、使用工具开发用户层界面等专门工作。所谓技能训练,就是掌握最基本、最必要的专业基础知识的前提下,在较浅的程度内掌握几种计算机程序设计语言,然后学习目前流行且高效率的软件开发工具(如果企业需要,还可以学习一些更加专用的软件开发工具),学习实用的软件编程、数据管理、硬件维护等技术。
在教学实践中,我们提出“围绕编程规范,研究技能知识结构”的课程建设思想,把技能型软件人才的职业能力分为特定技能、通用技能、核心技能3个层次,其中核心技能是范围最窄、通用性最强的技能,体现了职业活动中的最基本技能,具有普遍适用性,在职业生涯中受益终生。特定技能可以理解为按照国家职业分类来划分范围,例如各种职业资格证书的认证考核。通用技能通常比特定技能的口径要宽,可以理解为在一组特征和属性相同或者相近的职业群中体现出来的共性技能和知识要求。我们提出软件工程专业的“职业技能”边界,按照软件阶段划分,制定不同阶段所要求的职业技能,例如编码阶段,要求有规范代码书写、单元测试能力,专业教师(或项目经理)要善于观察、发掘、培养新人,根据学生的各自特点,固化训练或交叉培养设计、编码、测试、文档书写或管理能力。按照职业成长过程区分,哪些人是技术型,哪些是项目管理型。哪些技能操作型人才。高校不是企业,企业也不该承担高校职能;在校企合作过程中,围绕职能能力训练,企业和高校之间有职责分工的边界,例如外包委托、实习见习活动等等。在职业素养和能力方面,着重在交流表达、规范写作、分工合作、团队协作、敬业奉献等方面对学生加以训练。我们提出的软件工程专业的“职业素养”边界,坚持任何人都有“用”的原则,关键“用”到实处。刁钻苛刻的人“用”到测试上去,勤奋好胜的人“用”到技术攻关上,豁达人缘好的人“用”到项目协调上去,条理规矩的人“用”到设计上去。
在软件工程专业的人才培养方案中,专业知识只求核心基础知识,不求全面知识,知识教学内容必须与技术发展同步更新。软件工程专业“职业技能”方面的教材较少,这类课程建设有一定难度,需要大量的人力、物力投入。一方面,通过校企合作、校际协作来组织开发此类课程,另一方面,借鉴真实项目的仿真实训来开发此类课程,此类项目的文档比较规范齐全,可实施规范训练。在校企合作的真实项目软件开发过程中,应该根据学生年级高低,使课程教学和训练仅局限于某个开发阶段,例如编码阶段,着重让学生看懂详细设计文档、规范编码书写、模块单元测试。另外,在课程教学和项目训练过程中,必须强调学生的说(交流)、写、做,特别是说和写。“说”可以通过组织定期或不定期、正式或非正式的会议讨论,“写”可以写个人小结或技术分析等。这些内容和要求都应该作为课程建设的必须内容,并用恰当规范的格式或流程编写起来。
4 实训教学方法
根据培养目标和技能要求,通过校企合作形式,开发出一系列实训项目,构建了以实训项目为主题的实训环境,明确提出以项目实训为主的教学方式。通过教学实践,提出以“职业技能为根本、工作体验为主题、知识点恰到好处”的教学方法,如图3所示。
以实训项目为主题的工作模式,是仿照软件企业规范的运作模式,由教师(或项目经理)演示需求分析、总体设计文档,安排学生编写详细需求、详细设计文档,将学生分成项目小组,分片包干,个人承包,每人都有机会承担项目的某个具体内容(如编制模块,编写测试计划和测试报告等)。旨在提高学生的规范化开发能力和团队分工协作,强化程序设计基础,使学生掌握软件开发所必需的知识与技能,熟练运用开发环境和工具。
以项目实训为主题的实训模式,通过实训平台让学生依照软件开发的规范流程进行训练,做到、学到、用到,加深理论、技术和实践的结合,通过平台让学生对自己的工作做出总结,阐明个人成果的理论依据、技术规范及采用的技术手段等。在项目实施过程中,必须遵循软件工程原则,必须按照项目管理流程和技术规范实施项目,注重实用性和针对性,项目实训从最简单的项目做起,在掌握专业技能的同时,注重学生实践操作能力和分工协作能力的培养,锻炼交接工作能力,培养责任心与完成任务的决心。
篇7
Abstract: Documents are useful in software development procedure. Not only can they help programmer to know about his job processing and to read and improve his code easily, but also they can help manager to control and improve software development procedure and to enhance software development productivity.
关键词: 软件工程;文档
Key words: software engineering;documents
中图分类号:TP31文献标识码:A文章编号:1006-4311(2010)26-0151-01
0引言
软件产品是包括程序、数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。由软件产品的定义可见,文档是软件产品不可或缺的组成部分。在计算机系统中,软件是与硬件相互依存的部分,它与硬件合为一体完成系统功能。
1软件生存周期中的文档
一个软件从定义到开发、使用和维护,直到最终被放弃所经历的漫长时期,被称为生存周期。软件开发模型是跨越整个软件生存周期的系统开发、运作、维护所实施的全部工作和任务的结构框架,能够反映软件生存周期内各种工作应如何组织及软件生存周期各个阶段如何衔接。常用的软件开发模型有:瀑布模型、螺旋模型、原型模型、第四代技术模型等。
通常,在制定软件开发计划时,就要选定软件开发的模型来描述软件的生存周期,将生存周期进行阶段划分,各阶段依次进行。前一个阶段任务的完成是后一个阶段任务开始的前提和基础,后一个阶段的工作通常是前一个阶段提出方案的具体化。表1描述了软件开发的不同阶段及各阶段需要提交的文档资料。
2文档的重要作用
2.1 软件产品的组成部分从软件的定义可以看出,文档和代码、数据一起构成了软件产品。文档记录了软件产品定义、分析、设计、实现、安装维护等各个阶段的信息处理过程。描述清楚、完备的文档便于客户了解软件的功能、性能等各项指标,为客户选购符合自己需要的软件提供依据,是用户选择和使用产品的有效工具。
2.2 交流的工具文档是一种无声的语言,它记录了软件项目开发过程中有关软件开发、运行、维护和培训等方面的信息,这些信息有利于管理人员、开发人员、操作人员、用户之间的交流和合作,便于软件项目能在规定的时间、费用内完成开发和投产应用。例如,“需求定义和分析”的阶段总是被软件开发人员视为整个软件生命周期中最困难的环节。
2.3 里程碑的构件之一为了保证软件项目如期保质的顺利完成,通常,项目经理会在开发过程中设置一些里程碑。通过监督每一个里程碑是否顺利完成,来确知软件开发的进度。在里程碑处,开发人员不仅要提供相关模块的代码,还要提供相关的文档以供评审。只有通过评审的代码和文档才能作为基线,存入配置库中。也只有按照软件开发计划,提交了该里程碑处需要提供的所有相关资料,才能够说这个里程碑顺利完成。故文档是里程碑的构件之一。
2.4 开发与管理的依据文档在软件项目的开发过程中起到了关键的作用,文档作为一种日常交流的重要依据和工作成果的总结显得尤为重要,从某种意义上来说,文档是软件项目开发规范的体现和指南。按照规范要求编制一整套文档的过程,就是按照开发规范完成一个软件项目开发的过程。
2.5 评审的内容软件项目开发各阶段完成后,各单位组织人员对软件产品进行阶段评审。本阶段的产品包括文档、程序、数据以及调试记录。文档参与到软件开发过程中评审的各个阶段。在软件需求评审中,需评审的文档有:软件需求规格说明、接口需求规格说明、软件质量保证计划、软件配置管理计划;评审依据的文档有:系统分析和软件定义、软件项目任务书、软件项目开发计划。在概要设计评审的阶段,需评审的文档有:软件概要设计说明、接口概要设计说明;评审依据是:软件需求规格说明书、接口需求规格说明书。在详细设计阶段,需评审的文档有:详细设计说明书、接口详细设计说明书;评审的依据是:软件概要设计说明、软件需求规格说明。在软件验证与确认评审的阶段,需评审的内容有:软件验证和确认计划、功能、软件文档及程序文本;评审的依据有:软件设计说明、需求说明、测试报告和各阶段的文档。故,文档是评审的重要内容。
3结论
软件开发人员在各个阶段中以文档作为前阶段工作成果的体现和后阶段工作的依据,这些文档(计划和报告)提供给管理人员,以获得到必要的支持。管理人员可通过这些文档了解软件开发项目安排、进度、资源使用和成果等。软件开发人员需为用户了解软件的使用、操作和维护提供详细的资料。文档的重要性体现在软件生命周期的各个阶段,在软件开发过程中占有很大的工作量。高效率、高质量地开发、分发、管理和维护文档是搞笑保质完成软件项目的必要条件。
参考文献:
[1]陈明.软件工程学教程[M].北京:科学出版社,2002,(7).
篇8
关键词:项目管理;软件开发;应用
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 12-0000-02
第二次世界大战后期,项目管理作为一项新的管理技术在世界各地逐渐发展壮大起来。尽管在此之前项目管理已经被广泛应用于很多行业及领域,但直到第二次世界大战后期,它才被完全认可,并得到快速发展和日趋完善。如今,项目管理已经被普遍认为是对软件企业特别是以应用开发为主的软件企业的一种有效的管理方法,因而其在软件开发项目中的应用越来越受到重视。随着计算机网络系统的不断发展,项目管理经过多年的实践,已由原来的简单设想逐步转变为一种新型的施工管理模式,形成了系统的理论和方法。
一、项目管理的内涵
项目管理(project management,PM)是指将一些技术及知识技能工具应用于项目活动中,以达到甚至超过相关项目关系人对该项目的期望。项目管理并不是一蹴而就的,而是经过长期的探索与实践总结得到的理论和方法,它是公认的一种管理模式或管理理念,具有探索性、复杂性、整体性、需要更多的协调与沟通等特点。
随着市场经济的迅猛发展,各企业间的竞争日趋激烈。企业要想赢得生存必须克服所面临的各种战,如尽力缩短产品的生产周期、把握好产品投放市场的最佳时机、产品的技术性要求越来越高、提高生产效率等。而实施项目管理是企业从容应对这些挑战,实现其长期发展的重要手段。企业常常为了达到项目的总体目标,有取舍地牺牲或降低一些与之相悖的单向目标,以此来实现利益的最大化。由此可见,项目管理对保证项目的顺利进行,实现项目利润的最大化起了巨大的作用。
二、项目管理在软件开发项目中应用的原因
随着信息技术日新月异的发展,相关软件产品的开发规模也随之越来越大,此时,有效地管理变得尤为重要。为适应发展的需要,各软件企业都竞相将项目管理纳入软件开发项目中来,对其实施科学有效的管理。从概念上来讲,在软件开发项目中实施项目管理是通过对人员、成本、质量、进度、风险等进行系统分析及管理,使软件开发项目朝着预定目标保质保量地发展。事实上,实施软件项目管理还能实现开发人员的个人能力与企业开发能力之间的转换。一般来说,企业的软件开发能力与软件生产的成熟度是成正比的,开发能力越强,说明软件产品生产越成熟,所面临的开发风险越小。同时,随着软件开发队伍的逐步壮大,对开发项目相关人员如开发人员、支持人员等的行为进行规范管理,以此降低软件产品的研发成本显得极为迫切。
三、项目管理在软件开发项目中面临的问题
软件开发项目常常会碰到两种截然不同的极端结果,一种是软件开发方创造了新的高生产效率、高质量的记录;另一种是以取消开发任务或延长开发时间而告终。在第一种情况中,创造了软件开发新纪录的原因一般是软件开发人员为了赶进度,在很短的时间内研发出相关的软件产品,以此满足上级所规定的上机日期要求,但是由于开发时间过于紧张,各方面并不完善,上机时会出现各种各样的问题,造成试运行时间的延长,有时长达数月甚至是一年半载。此外,由于程序不断改动,维护工作量大,造成经济损失。至于第二种情况,涉及到的原因很多,如某软件产品不能满需求或存在设计问题,都会造成开发失败。
目前,国内绝大多数软件公司都没有形成自己的软件管理模式,虽然部分公司已经建立起了软件管理规范,但质量控制问题并没有从根本上得到解决。这样带来的后果是软件产品的质量无法得到保证,软件的后期维护及升级困难,最终给使用者的利益造成损失。
基于以上项目管理在软件开发项目中面临的问题,企业必须俯瞰全局,以整体利益为重,协调好项目的各方面的要素,在相互作用中实现企业利益的最大化。
四、实施项目管理的重点
项目管理流程包括项目的启动、计划及制度的制定、项目的执行三个环节。过程控制贯穿于这三个环节,在项目管理中起重要作用,是项目管理的重点。主要包括项目的成本控制、质量控制、进度控制三大块。有效的过程控制可以降低软件开发风险,提高项目的效率,增大项目的成功率。此外,风险管理也是不容忽视的一个重要方面。因为项目面临风险时,各团队人员通过集体对其进行分析,可以使组员对所面临的困难及可能发生的意外有一定的心理准备,从而大大提高其克服困难,避免风险的信心。
过程控制及风险管理是软件开发中项目管理的重点。加强对过程及风险管理的控制,主要可以从以下几个方面入手。
(一)加强对项目组成人员的管理
软件开发项目会涉及到很多方面的人员,比如设计人员、测试人员、业务人员、编码人员等。只有对这些成员进行合理分工,科学有效的管理,项目才能有计划有秩序地完成。第一:项目经理应该将责任进行合理划分并具体落实到人,避免因责任不明确造成人员之间互相推卸责任现象的出现,影响工作进度,同时应该强调不同环节、不同分工的项目成员之间的互相协作,共同成项目任务。企业应对所选项目经理进行系统的项目管理知识培训,提高其专业素质及项目管理意识,丰富其项目管理经验。此外,项目经理应有计划意识,对开发及阶段计划的效性进及可行性进行事前事后的评估。第二:应定时召开例会。各个小组在例会上汇报其工作进度,并与其他小组进行有效沟通,使各小组之间相互了解,需要时给予帮助与支持,增强团队之间的战斗力和凝聚力。第三:建立表扬奖励制度,提高员工积极性。可以对工作绩效高的员工进行表扬并给予适当奖励,激发使项目成员工作的积极性,实现个人期望和项目要求的一致。
篇9
(1)调研现状在系统开发前,需要协同软件开发公司本单位的管理现状、现有信息系统的应用情况及水平等进行充分的调查研究,并进行多个管理层次调研,包括执行层、主责层、管控层、指导层。如某公司财务信息系统已在公司应用多年,较为成熟,基本满足其业务与核算需求,因此新建信息平台在开发的时,只需要建立与原财务系统的接口,并补充完善原财务系统中对客户的支付控制功能,这样即避免了重复开发,充分利用原有资源,又补充完善了原财务系统所缺失的部分功能。(2)总结在其他软件开发过程中的经验教训许多单位早意识到信息建设的重要性与必要性,早就着手了项目管理软件的开发,但由于软件开发的工程量和技术难度都较大,虽然仍没有十分成熟的软件,但仍积累了许多经验与教训。因此在开发之初,需要对本系统、本行业的信息系统总体开发、运用情况进行一定程度的调查与分析,总结其他单位软件系统开发的经验教训。如某单位某子公司与某软件公司协同开发的项目综合管理软件,针对需求调研时的管理水平与要求设计,业务范围涵盖公司业务管理的所有模块,历经数年,经过数个项目的现场验证,终于从功能角度、技术角度满足了该公司几年前研时的需求,然而在正式推广时,遇到以下问题:①系统开发时,求大求全,正式应用时,项目部业务部门水差参差不齐,难以同时齐头并进,推广人员精力有限,难以顾及全部的专业;②系统对设计了对业务流程的审批,但涉及人员太多,如验工结算流程,从架子队至执行层至主责层多达十几个人需要进行审批,加上工地网络不畅等原因,经实际测算一份验工结算工作流程,从发起到全部审批完成,需要四个工作日,将影响项目的进度款支付,同时这些基础流程对系统中设计的统计分析功能影响巨大,因此流程过长、限制过死成了系统无法顺利推广的最重要的原因。③系统设计的流程、表格较为固化,系统从需求调研到开发完成具体推广应用的条件,历时四年,但是公司的管理水平与要求跟四年前已不在一个水平线上,也就是软件开发的灵活性不足,适应性不强,使开发出来的系统不符合日新月异的管理需求。④系统开发时基于的平台落后,界面不友好,升级困难。(3)需求准确定位在充分调研的基础上,管理者提出当前状态下急需依靠系统解决的关键问题,即不能及时准确的取得项目成本管理的核心数据,基础数据多次采用,时点不同造成数据间相互冲突。在总结其他单位经验教训的基础上,确定本公司信息系统开发“核心模块先行,基础表单固化,流程由使用单位自行设计,平台先进升级方便”等原则,决定以成本管理为核心,基础数据“一次录入、多次利用”,各个管理层级所需统计分析报表自动生成,通过业务流程的设置加强后台对项目的管控力度,由项目经理管项目转变为法人和项目经理共管项目的模式。
二、确定核心模块及开发的分阶段目标
项目管理包括财务管理、合同管理、物资管理、设备管理、进度管理、安全质量和环境保护管理等,信息系统的首要任务为解决对项目各成本要素的管控,因此核心模块确定为财务管理、工程数量管理、合同管理、物资管理、设备管理等,即对人工费、材料费、机械费、间接费的管控。系统开发的第一阶段以财务倒逼机制为手段,以项目的收入清单为依据,以工程、物资、设备总控数量为基础,签订承包合同,按时结算,按时支付,实现执行层与主责层对项目的共管,以及管控层对项目的监管。系统开发的第二阶段为依据企业各个管理层级对信息的不同需要,实现核心模块数据从的数据库中自动生成各管理层级需要的各类数据。减少重复工作量,提高统计报表的准确性。加强各类成本要素数据的管控、纵横向比较与分析、预警等。系统开发的第三阶段为将项目管理的其它模块陆续加入,包括安全与质量管理、进度管理、试验管理、党群工作等等。使项目管理系统成为全员、全过程、全方位的系统工程。
三、建筑施工企业的信息系统推广及应用
目前,经过上述定位的信息系统已经在某单位得以全面应用,成为了该单位实现“法人和项目经理共管项目”和落实精细化管理最佳工具。综合该单位在短期内得以全面推广该项目信息系统的经验如下:1.领导团队的高度重视和必用不可的决心可操作性强、可以解决实际问题的信息平台开发完成后,能得以顺利的推行一个关键因素就是领导团队对系统的高度认可、高度重视。某企业采用了由总经理亲自带队,各单位第一行政领导及技术负责人、部门负责人参加的片区现场推进会,宣传信息系统推行的重要性、必要性,传达了领导团队全面推广使用系统的决心与信心。必须使用信息系统的理念与领导层决心的传达与展示是系统得以顺利推行的基础与前提。2.培养强有力的推广与应用核心团队为顺利推广应用本系统,应成立由软件公司系统开发人员与公司负责协作开发人员、系统管理员等共同组建的核心团队,负责系统的操作培训、技术问题的解决、后台硬件的维护、数据安全等工作,作为系统有效运行提供有效的技术支持与技术保障。由系统开发人员对各级子公司的关键业务人员(包括核心模块相关人员与系统管理员)进行现场培训与实战演习演练,掌握了系统的使用与流程的设计等技能,并对系统使用时存在的常规问题有一定的解决能力,再由各级关键业务人员对本公司的项目人员进行培训与数据录入的现场指导。事实证明,分层级的培训与推广应用在实践中取得了良好的成效,一般项目提交的在各公司关键业务人员能力范围内无法解决再提交核心团队,大大提高了系统运行的效率。3.切实可行的阶段性目标系统推行时,应制定阶段性目标,分阶段确定各项目数据录入的要求。4.奖罚分明的考核兑现制度为提高各级公司、各项目推行信息系统的积极性,建立奖罚分明、可量化的考核标准,对信息系统数据录入的准确性、及时性等建立奖罚标准,并及时考核兑现,对相关人员进行适度的奖罚,将对提高系统数据录入的质量、进度有一定程度的帮助。
四、结束语
篇10
协同办公来规范办公流程,实现标准化管理,规范各种审批流程,提高组织管理的规范性和可控性,实现内部信息的有效授权和沟通。协同办公系统强化项目管理,实现面向团队的信息共享、集成和优化。项目负责人可以对项目情况实时跟踪,成员间可通过多种方式进行沟通,对关键数据进行有效掌控,形成一个有机整体,提高项目管理水平。另外,协同办公系统还可以对业务过程进行跟踪和追溯。系统可以及时、准确提供任务执行全程各状态、变动、结果等信息,强化过程监控,增强管理层对组织的控制力,及时发现并解决问题。
2实现对移动终端的支持,提高业务处理效率
随着无线互联技术得到进一步发展,带宽不断扩充,智能终端的各种软件应用和无线互联网络的高效、紧密结合使得移动办公系统的技术逐渐发展和成熟起来,为公司办公信息化软件多维度、深层次应用提供了可能,在已有办公软件开发的基础上,进一步思考和探索将此类软件应用到更大的业务范围和更多业务流程,逐步引入移动办公应用,将办公信息化软件作为载体,在提升公司管理水平方面发挥更大的作用。建设移动协同办公系统,使其可以支持通过移动便携智能终端,可以随时浏览、管理企业内部的工作事务,改变传统的办公方式,提高业务执行效率。
3提高办公软件易用性,由浅入深逐步应用推广
办公自动化软件的使用,可以很大程度上改变员工的工作方式,由简单的Excel、Word文字处理统计过渡到由计算机来收集、统计、传递、分析和查阅信息。因此,对于软件的开发和推广工作要循序渐进,以使员工有一个逐步适应的过程。办公平台首先要满足用户的工作需要,并在此基础上有所创新,使员工感受到工作上的便利。软件开发人员要不断搜集用户提出的意见和建议,总结整理软件使用中遇到的问题,并积极寻求解决办法,提高软件的易用性,使之成为一个快捷方便、稳定可靠、性能优良的软件平台。网络办公软件平台的应用范围可由少及多,由浅到深,逐步进行拓展。从最初比较简单的公文办理和开始,逐步增加人力资源管理、生产经营管理和日常事务管理等方面的内容,使之成为一个功能丰富的日常办公平台。企业可以根据自己的特点和实际情况,深入调研探讨,不断对软件平台进行补充,实现更多业务领域的事务在此平台上实现,全面提高企业信息化水平和办公效率。
4注重培训工作,提高员工计算机操作水平
由于办公软件平台涉及面较广,几乎可以涉及到企业管理的方方面面,对于这样一个软件平台的推广,需要企业员工具备一定的计算机技能。因此,加强员工培训工作,在企业中普及计算机常识就显得尤为重要。软件开发人员对一些基本操作方法给出通俗易懂的图解或文字说明,这样员工可以随时随地进行学习,很快掌握一些基本技能,从而减少培训的总体工作量。对于办公软件平台的常用人员和关键用户,可以采用集中学习的方式,使他们的技能水平得到快速提高。对于软件平台的重点应用部门,可以挑选计算机基础较好的员工作为兼职信息员,这样员工遇到问题时,可以首先找到信息员解决部分问题,信息员解决不了再找软件开发和服务人员解决,采用此种方式既可以减少软件负责人的工作量,还可以起到接力培训的效果。
5确保数据安全,保障系统稳定无故障运行
数据安全及稳定无故障运行是软件应用最基本也是非常重要的问题。如果系统安全得不到保障,不仅会耽误工作,给使用者带来麻烦,而且会使他们产生厌烦情绪,失去信心,从而逐渐放弃使用,导致整个推进工作以失败告终。因此,软件系统管理员要建立完善的数据备份制度并严格执行,制定故障应急处理预案,设置必要的强制性安全管理措施,确保数据信息免遭非授权人员的泄露和破坏,确保系统稳定无故障运转。同时,加强抵御黑客、病毒、恶意代码等对信息系统攻击的能力,防止服务中断和由此造成的系统运行事故,确保系统安全无故障运行。
6紧密跟踪企业发展,持续改进系统功能