时间:2022-09-04 19:27:24
序论:在您撰写软件开发项目总结时,参考他人的优秀作品可以开阔视野,小编为您整理的7篇范文,希望这些建议能够激发您的创作热情,引导您走向新的创作高度。
关键词:企业实践 Java软件项目开发岗位 职业能力 教学改革
笔者积极响应学校号召,暑期期间到济南维库软件科技有限公司进行了一个月的企业实践,顺利完成企业的工作任务,现将一个月的实践收获总结如下。
一、转化角色,虚心、耐心、专心做一线有责任心的企业员工
1.遵守企业制度,认真承担并履行责任
在一个月的企业实训中,笔者谨记学校领导的嘱托,严格要求自己,认真遵守企业制度,从未发生迟到、请假、早退现象,进入公司后将自己由受人尊重的老师转变为一名初到公司的企业员工,做到慎独、慎微、慎初,强化工作责任心,主动处理好分内与分外的相关工作,勤奋扎实地工作,不敷衍应付,认真对待工作中的每一个问题,完成企业交给的每一个工作任务。
2.不畏工作困难,耐心解决项目开发中的各种问题
企业实训为真实软件开发项目:山东高速集团采购系统。由于项目庞大复杂,涉及知识点琐碎,项目开发工作困难重重,笔者认真细致学习企业教师讲解的知识点,分析需求说明书,钻研软件算法和代码的实现,面对项目中遇到的各种错误代码和异常,耐心查错排错,认真解决软件开发过程中出现的各种错误,并及时记录解决方案和问题,为下一步软件开发工作和教学实训积累了丰富的经验。
3.放下教师架子,虚心向企业有经验老师请教
学校主要工作是教书育人,企业工作是开发高质量软件产品。工作任务的不同,使笔者慢慢放下了教师的架子,主动地向实践操作能力较强的“小兄弟”请教。虽然他们年龄较小,学历不高,却有丰富的项目开发经验。笔者向他们虚心请教,反复讨教工作中不明白的问题,从他们那里学到了课本上没有的工作技巧和技术,更领略了他们一丝不苟、沉着耐心和认真细致的工作作风。
二、企业实践锻炼内容
企业实训内容主要基于目前软件公司的热点需求――Java软件开发岗位进行设计和选取,包括相关知识内容的培训和山东高速集团采购系统项目的实训两部分内容,具体知识包括:Java知识(JDK的安装配置、Myeclipse开发工具使用、数据类型和运算符、流程控制、面向对象开发)、HTML知识、MYSQL知识和SSM知识(JSP应用、Sevlet应用、Spring-MVC应用、Spring依赖注入、Mybats框架应用及整合)。
三、企业实践锻炼收获与心得
1.课程设置应与岗位需求相匹配
高等职业院校人才培养模式定位于技术技能型人才的培养,为地方区域经济服务,为地方社会经济发展提供人才保障和智力支持,因此专业课程的设置应该以岗位工作任务和岗位能力需求为出发点。以Java软件开发岗位为例,目前学校开设的都是传统的数据库知识和web前端知识课程,但是IT技术发展迅速,真正的软件开发大多通过相关框架实践,如SSM框架、SSH框架等,因此,学校要适应目前社会的需求,与时俱进,及时更新课程标准和授课内容。
2.教师实践操作水平是培养高素质技术技能性人才的重要因素之一
目前企业对参加职业技能大赛获奖学生毕业生比较青睐,所以企业高职院校的评价主要通过高职院校技能大赛进行,而学生技能大赛成绩的结果反映了教师的实践操作水平。俗话说“老师要给学生一杯水,自己首先要有一桶水”,因此教师应首先提高个人实践操作水平,而提高教师实践操作水平的主要方式之一就是通过企业实践锻炼。据悉,山东省在不久的将来将启动高职院校教师职业技能大赛,因此教师要将提高实践操作水平作为自己以后工作的努力方向。
四、未来的努力方向
1.基于企业岗位需求进行教学改革
(1)教学模式和教学方法遵循职业发展规律。高职院校推行“工学结合、知行合一”的人才培养模式,因此要基于企业工作岗位和工作任务进行教学改革。
第一,推行教、学、做一体化教学模式。在教学中,应该以培养学生的职业能力为主,师生双方边教边学边做,理论和实践交替进行,直观和抽象交错出现,理中有实,实中有理,突出学生动手能力和专业技能的培B,充分调动和激发学生学习的兴趣,使学生真正变成学习的主人。要培养学生的终生学习和持续发展能力,推行教、学、做一体化教学模式对加强学生的动手操作能力和解决实际问题的能力有很大好处。
第二,推行翻转课堂教学方法。为提高学生的主动性和创新能力,在教学过程中,推行翻转课堂的教学方法,将学习任务布置给学生课下完成。学生利用信息化技术查阅需要的材料,还可以在网络上与别的同学讨论,完成老师分配的任务,并在课上分享任务完成过程和心得体会。由老师进行评论,师生间还可以进行充分的交流,这样可以满足学生的个性需要,有利于学生创新能力的培养。
(2)教学过程基于软件开发工作过程。将教学过程与企业软件开发过程相结合,教学过程围绕企业真实的软件开发项目展开,将要学习和掌握的知识技能,转化为一项项工作任务,学生分组按照行动导向的六个步骤(资讯-计划-决策-实施-检查-评估)进行,使学习任务既是一个完整的学习过程,又是一个工作过程,教师成为学生学习的引导者和促进者。
2.技能操作的提升与社会岗位前沿技术的了解
(1)技能操作的提升。以后,笔者将会继续积极参加企业实践锻炼,参加省级培训,完成每5年必须累计不少于6个月到企业或生产服务一线实践的目标,通过企业真实工作过程提高自己的实践操作水平和职业能力,并将其应用到教学过程、实验实训过程和学生技能大赛中。
(2)社会岗位前沿技术的了解。为推导社会技术的变化和教学知识的更新,在以后的工作中要经常深入企业,了解企业的生产组织方式、工艺流程、产业发展趋势等基本情况,熟悉企业岗位职责、操作规范、技能要求、用人标准、管理制度、企业文化等,学习所教专业在生产实践应用中的新知识、新技术、新工艺、新材料、新设备、新标准等,及时更新人才培养方案、课程标准,适应社会岗位对教学知识的需求。
在进行水利信息化项目建设中,相关软件的开发项目涉及方面广,影响因素多。在传统的水利信息化管理工作中,只注重项目建设,对项目质量管理重视程度不够,项目开发直接由设计单位进行设计,经过设计评审后实施开发,在开发过程中由于各方面的沟通和协调等原因影响,使得软件开发项目频繁出现需求变更,并最终影响整体项目的实施质量和实施效率。此外,没有一个系统的质量管理体系和规范的质量管理方法使得软件开发过程中管理混乱,极易出现质量事故。因为水利信息化项目主要应用于水库、河道、堤防等关系到社会和广大人民群众安全的水利工程,一旦出现事故,将会威胁到人民群众的生命财产安全,所以必须加强对水利信息化工程尤其是相关软件开发的质量管理。水利行业的软件开发管理措施和方法都不够全面、规范,如何根据现有的知识,对水利行业的软件开发进行研究,最大限度地提升软件的管理水平,是研究重点。
2研究目的和意义
质量,通常指产品的质量,对软件行业来说,软件质量会导致整个软件的成败,一个小小的质量问题可能会导致非常致命的结果。做好软件的质量管理不但能促进项目决策的合理化、科学化,还能在项目实施过程中实现高效化、准确化,保障项目目标的最终实现,切实提高项目成功率。目前,国际上逐渐开始重视软件工程的项目管理,一系列理论和方法的出台提高了软件开发的效率和客户的满意度,为软件开发企业带来了非常客观的经济效益和社会效益。为此,以国际上的先进经验为参考,制定适合我国的软件开发的项目管理是十分必要的。分析水利信息化项目中软件开发质量的影响因素,通过对企业组织结构的优化和软件项目过程的改进,获得项目实施质量的提升,从而减少软件开发中产生的问题对开发部门造成的损失,降低开发成本,提升整体开发水平。
3影响软件开发质量的因素
就软件质量而言,影响软件项目质量包括以下两大方面因素。
3.1人的因素
软件项目的管理要以用户的想法为根本目标。产品生产就是为了满足用户的需求。一个能够满足用户需求的软件,就是一个优质的软件。客户的需求会随着开发的进行而不断调整。只有在开发的各个阶段都能满足用户的需要,达到用户的要求,这个软件的质量才能得到保证,而在软件开发过程中树立质量第一的思想就是体现在更好地为用户服务的行动上。
3.2开发流程
软件开发流程是在软件开发模式框架的指导下实施软件开发的全过程描述和定义,包括软件开发生命周期各阶段的定义、开始前提条件、参与者描述、产出物描述、完成条件等。一个合理定义的软件流程能够将软件开发模型的优点充分发挥出来,同时减少软件开发过程中产生的负面影响。
4应用分析
4.1项目开发质量目标
首先,项目总负责人向项目组成员指出水文测报软件在整体水文监测项目中的重要性,并强调质量是最优先考虑的。其次,各成员从自己的角度提出几个目标,如质量经理的目标是保证合格率、开发人员的目标是保证测试通过率等。再次,团队在一起讨论制定的目标的可行性,是否能够实现以及需要的条件。其中,每百段程序BUG数按照模块统计,本次制定的目标为每百段程序BUG数小于10处;单元测试分模块进行,本次目标为每个模块的单元测试通过率大于90%;集成测试、系统测试、验收测试为模块的集合体测试,按照百分制原则分别制定质量目标为得分80分以上及75分以上;本次软件开发项目计划工期45d,本次制定目标为在计划工期内完工;本项目概算总投资100万元,取利润10%,故目标经费使用为90万元;客户满意度按照优良中差四级评定,本次质量目标为取得客户满意度优。
4.2软件开发质量管理影响关键因素分析
4.2.1质量计划对软件开发项目质量的影响
软件的开发一般分为4个过程,即定义需求过程、预开发过程、开发过程和维护过程,通过资金使用的情况反映质量计划的影响。参考以往软件编制过程中4个阶段开发的使用情况和对开发结果影响力进行统计分析,影响力按照百分制计算,由参与软件开发的各方进行评分取平均数,100分为影响最大,0分为最小。软件开发阶段,资金在早期使用的效率最高,可以对项目结果起到比较大的影响,而软件开发计划的编制能够在软件开发的定义阶段即对软件开发的目标、组织、资金安排进行较详细的定义和计划,能够在早期按照合适的比例安排软件开发的资金,从而对结果产生比较大的影响。
4.2.2质量控制对软件开发项目质量的影响
软件开发中,发生编制错误的次数直接影响软件开发的质量。影响软件开发项目质量的因素很多,这里选取质量控制中的5个关键因素即控制点的选取、组织领导的责任、测试的规范性、环境因素以及质量计划。在此基础上,调查统计由于关键因素的原因导致软件开发发生编制错误的次数,并绘制直方图。,质量控制能够对软件开发质量产生直接的影响,集中体现在编制发生错误次数方面。
4.2.3质量保证对软件开发项目质量的影响
软件开发质量保证主要体现在软件开发的模型选择和应用上。原始的软件开发使用的是传统的瀑布模型,将软件开发项目作为一个整体进行设计,方式如图2所示。采用质量保证措施后开发模型转化为图3的形式,由图3可以看出,使用质量保证措施将每个开发阶段再次细化,可以对各个环节的变化情况加深认识,做到每个开发阶段出现的问题能够在本阶段解决,不拖入下一阶段,这对软件开发质量起到了保证作用。
4.3保证软件开发质量的措施
根据软件开发中曾经发生过的问题和预计会发生的问题,结合项目质量管理理论,使用质量管理工具,在质量计划、质量控制、质量保证3个方面对本次软件开发进行质量管理。
4.3.1软件开发项目的质量计划
(1)制作因果分析图。在进行质量计划时,首先明确质量计划的目标,即开发质量合格、便于使用、用户满意的软件,根据水文自动测报预警软件开发项目的产品说明和水务信息化建设相关规范要求,运用头脑风暴法对软件开发中可能会导致质量不合格的情况进行整理并绘制因果分析。(3)成果输出。①将总结形成的计划管理成果汇总,形成各个阶段的人员、组织、资金、资源、权限等管理计划,指导质量管理的进行;②通过一系列质量计划的管理,最终以质量计划检查表的形式输出质量计划成果。(2)编制软件开发工作流程图。本次项目开发时,分别从质量计划、质量控制、质量保证3个方面进行质量管理,在软件的可靠性、硬件的可靠性以及软件硬件结合后的可靠性方面都做了大量的工作。一方面,在项目前期阶段,通过对规划计划的质量管理,在项目初期树立正确的开发方向,从而在项目前期工作进行质量管理。另一方面,在软件的开发阶段,通过对人员和开发流程等方面的管理,实现对项目开发阶段的质量管理。最后,在项目的实施阶段中,执行项目计划,严格进行项目测试,通过演练、试运行等方式对整体项目进行质量管理。3个阶段中,每个阶段的质量管理都非常重要。软件开发质量管理流程。
4.3.2软件开发项目的质量控制
(1)质量控制点设置与管理。质量控制点是实施质量控制的重要组成部分,软件开发的质量控制点是项目质量控制的重点对象。质量控制点应选择那些技术要求高、开发难度大、对工程质量影响大或是发生质量问题时危害大的对象进行设置。依照质量控制点的要求和特点,选择了本次软件开发中相应的质量控制点。设定了质量控制点,质量控制的目标和工作重点就更加明确。在软件开发中,首先要做好项目质量控制点的事前质量预控工作,包括明确质量控制的目标与控制参数、编制开发指导书和质量控制措施、确定质量检查方法及抽样的数量和方法、明确检查结果的判断标准及质量记录与信息反馈要求等。其次,还要做好软件开发质量控制点的动态设置,随着软件开发条件的变化,随时或定期进行控制点的调整和更新。应用动态控制原理,落实专人负责跟踪和记录控制点质量控制的状态和效果,并及时向项目负责人反馈质量控制信息,保持质量控制点的受控状态。
4.3.3软件开发项目的质量保证
运用PDCA循环法进行软件开发的质量保证,在预开发阶段、开发阶段、维护阶段3个阶段进行。预开发阶段指开发团队针对开发项目招标情况对软件开发项目做出的提前处理,工作体现在下列PDCA循环中:计划,提出软件开发的整体流程;实施,开发自己的技术提案,阐明将使用的技术及所拥有的技术工艺;检查,提出检查软件质量、纠正产品中缺陷的方法;总结,根据检查结果,提出改善质量控制的计划。开发阶段是指从软件产品开发开始,到移交产品且客户对软件性能予以肯定为止。这一阶段的PDCA循环活动有:计划,开发者根据需求和风险,提出详细的开发过程、要求使用的资源以及要得到的产品;实施,由开发组织执行开发计划;检查,开发组织和客户共同检查计划与预期得到的结果的一致性;总结,开发组织根据检查结果,审查并重新认识风险,作为下一个循环的基础。维护阶段是修复软件缺陷、提高软件性能的阶段。这一阶段的PDCA循环活动有:计划,制定处理缺陷的计划;实施,处理缺陷或根据需求变化提高软件性能;检查,判断开发维护目标是否已经达到;总结,根据检查结果审查并总结。
4.4成果数据分析
通过对本次水文自动测报预警软件开发项目的质量管理,大大提升了软件开发的质量,结合软件开发前期中制定的质量目标,与以往软件开发项目进行比对,分析进行软件开发质量管理对结果产生的影响。
4.4.1百段程序BUG数分析
根据质量控制点确定的各个模块统计各模块软件开发中每百段程序的BUG数量,结合以往类似软件开发中的统计数据进行比对。
4.4.2客户满意度比对
各模块软件开发完成后,分别对客户进行满意度调查,按照优良中差进行评价,经过与类似软件开发客户满意度比对。以往软件开发项目没有进行过模块化划分,整体项目一起进行开发,开发完成后统一进行评价,无法对内部存在的不足进行查找和梳理。本次划分了模块,根据各模块的用户满意度调查,可以在以后的软件开发中有针对性地进行改进,保证项目质量的良性发展。
5结语
软件公司开发项目的是软件开发公司的实际经营活动,项目的实际成果直接影响企业的持续健康发展。在实际的软件开发项目进行的过程中,成本是影响项目经济效益的重要因素。与此同时,软件开发行业间的市场竞争日益激烈。这也就使得软件开发企业需要迫切的进行开发项目的成本核算。科学合理的成本核算,有效的成本控制策略,能够有效的降低软件开发项目的成本,从而保障软件开发企业的经营成本。在对软件开发项目的成本核算时,需要合理的对软件开发的全过程成本进行核算,准确的对项目的开展状况进行评估,确保项目的进度和收益,从而增加软件开发企业的竞争力,增加软件开发公司的市场份额,促进软件开发公司的持续健康发展。
一、软件开发项目成本核算内容
现阶段,软件开发项目的成本核算内容主要分为直接成本和间接成本。软件开发项目的直接成本主要包括项目在实际的开发过程中的人工费用和材料费用、各类直接消费。软件开发项目的间接成本是各项非直接费用的综合,主要有管理费用、员工福利、各类保险等。在进行软件开发项目成本核算时,需要对软件开发项目的全过程进行成本核算。其中在进行项目立项和招投标阶段,需要对项目的实际情况:材料、工时、工作量、交货期的相关情况进行实际分析,此外,和需要有效的对相关合同款项进行审核,避免在软件开发项目中,相关合同条款不清晰,给软件开发企业带来成本增加。在项目的执行过程中,先量化项目,项目进度与动态成本控制,成本偏差与进度偏差,项目预算与项目实际执行每月比较,并关注项目的关键点和瓶颈,并合理的进行风险评估。最后进行项目的审核,完成项目收尾。
二、软件开发项目全过程成本核算
(一)项目立项和投标阶段
相关成本核算人员需要实际的清晰软件开发的具体情况,并合理的配合相关预算人员合理的进行成本预算,从而促进软件开发项目的成本核算。在实际的项目立项和投标阶段,成本核算人员需要对软件开发项目的材料、工时、控制点(工作量)、交货期等内容进行科学有效的分析,从而便于成本核算的真实性和有效性。此外,还需要进行严格的合同审核工作。在进行合同审核时,不但需要对公司自身的先关条款进行审核,还需要对对方的条款进行有效的审核。并对合同的相关权利和义务、责任进行有效的分析和明了,避免责任不清的情况发生。同时,还需要对合同中的文字、字面表达、相关条款是否完备。还需要注意合同的签订手续是否完备,并结合《合同法》的相关内容,对合同的风险防范措施进行优化,从而避免合同纠纷的发生,避免软件开发企业的不必要成本。
(二)项目的风险控制
项目的风险控制是确保软件开发项目进行的重要工作,是避免不合理之处发生的重要工作。首先,在实际的风险控制中,需要注意公司的外汇风险控制,合理的对国际市场外汇走势进行分析,合理的进行事前、事中、事后控制,避免经营外汇风险的发生。其次,有效的对技术风险进行规避和控制,制定有效的人才留住措施,避免人才的流失,科学合理的对相关技术人员进行培训,合理的对新的领域进行迈进,客观公正的对新技术和新开发方案进行评价,从而有效的控制技术风险的发生。再者,安全风险是影响软件开发公司的重要因素,一旦开发方案泄漏,避免会造成整个项目处于停滞阶段,影响项目的交货期,并造成大量的成本流失。因此,需要采取科学有效的保密措施,并合理的进行知识产权保护,规避安全风险的发生,从而有效的降低不合理的成本支出。
软件开发企业需要建立有效的风险控制措施,并规范风险控制管理过程中,合理的进行风险识别、风险分析、风险计划,风险控制等等,从而有效的实现风险控制,避免软件开发企业不合理的成本的发生。
(三)项目执行阶段
在项目的执行过程中,需要合理的对项目的料工费进行分析与核算。对直接人工成本和间接人工成本进行核算,并有效的结合材料费。直接人工成本主要是将参与项目执行人员的工时进行整合,并结合项目人员的工资情况,将参与项目人员的总的人工成本进行累加,从而得到项目的直接成本。而间接人工成本的构成较为复杂,也就使得间接成本核算工作较为困难。在进行间接成本核算时,需要将参与项目开发员工的福利、各类保险、培训费用等纳入到成本核算中。材料费用是项目研发过程中的实际消耗的材料费用,是直接成本。对于其他间接成本也需要有效的进行记录与核算,从而有效的完成软件开发项目的成本核算。
项目进度与动态成本控制,在实际的软件开发项目执行过程中,项目的进度与动态成本控制是成本核算中的重要组成部分。现阶段,软件开发行业间的竞争日益激励,这也就使得软件开发企业需要合理的控制项目进度,避免出现交货期到不能实现项目提交的情况,在保证项目质量的基础上,有效的缩短工期,从而提升企业的竞争力。在有效的控制项目进度的基础上,有效的展开动态成本控制,从而降低项目执行阶段的成本,实现企业的持续健康发展。
成本偏差与进度偏差,项目预算与项目实际执行每月比较,合理的对成本偏差与进度偏差的分析。在进行项目预算与项目实际执行进比较,其主要比较内容包括:预算完工与实际完工,预算利润与实际利润,预算材料与实际材料,预算工时与实际工时。
关注项目的关键点和瓶颈,控制不好的差异,针对项目的关键点进行有效的分析,针对项目中的关键点,进行科学的成本核算,有效的控制项目中不好的差异,从而有效的提高软件开发项目的成本核算的效果。
(四)项目收尾阶段
在实际的软件开发项目收尾阶段,需要合理的对整个项目的成本进行系统的整合,并最终与初始的预算进行比较。并针对项目中不合理的成本支出进行有效的分析,并做好相关的预案避免下次项目再次出现。还需要对项目的工期,施工进度、暂停等内容进行总结,并有效的总结项目全过程的成本构成,合理分析期间的成本核算的不足之处,有效的促进整个项目的顺利完成,实现软件开发企业的持续健康发展。
三、结束语
信息技术的不断进步与发展,积极的推动了软件开发企业的发展。发展就意味着竞争,这也使得软件开发行业间的竞争日益加剧。面对激励的市场竞争,软件开发企业需要合理的对软件开发全过程进行成本核算,并采取有效的风险控制措施和成本控制对策,避免不合理的成本发生,降低项目研发过程中的成本,提高项目进度,提高软件开发企业的竞争力,实现软件开发企业的持续健康发展。
有时即使不开展项目管理工作,软件开发项目也能取得成功。但是如果乏项目管理,则难以将成本控制在一定范围内,容易导致软件企业面临着亏损的风险。在开展项目管理工作的过程中,需要借助技术、方法等,管理软件开发活动,如此既有助于实现软件开发目标,又能够控制软件开发的进度以及开发成本。当前,虽然有部分软件企业依据软件工程理论,制定了管理软件开发的制度,但是却没有严格控制软件开发的进度以及成本。这种做法不仅会延长软件开发的时间,还会增加软件公司的经营风险,最终损害到相关用户的利益。而在软件开发过程中,开展项目管理工作,就有助于保证软件开发工作的顺利完成,同时提高软件企业的经营管理效率。
2项目管理在软件开发中的应用现状
在二十世纪六十年代中期,人们发现了在开发软件过程中存在着很多问题,具体的问题表现在以下两个方面:一方面,不规范的生产过程;另一方面,不重视管理工作。为了能够有效解决软件开发过程中存在的问题,人们开始尝试利用过程管理方法。但是到了二十世纪八十年代,还是没有制定管理软件开发过程相关标准。近几年来,在信息技术快速发展的背景下,人们采取项目管理来控制软件开发的质量、软件开发的成本等,以此确保软件开发的质量和成本等因素,符合当时的既定标准。在软件开发过程中,每一个项目组的不同成员都应该承担不同的任务,并且企业管理者应该要求他们要在规定的时间内完成自身的任务,这种明确分工制度,有助于提高员工的工作效率。
3项目管理在软件开发中的应用
每一个软件开发项目都要经过以下几个阶段:提出问题、研究可行性、分析需求、测试等。因此项目管理工作应该贯穿于软件开发的整个过程。
3.1可行性研究
无法开发哪一个项目,都需要进行可行性分析与研究。通过利用项目管理来研究软件开发项目可行性的目的在于:在最短的时间内确定软件开发项目是否具有开发的价值。其中可行性研究的内容包括:
1)、研究技术的可行性。其主要是指:要合理地分析开发项目的功能与性能,分析其中所隐藏的技术风险。
2)、研究经济的可行性。其主要是指:估计所开发的项目给企业带来的经济效益,然后依据所估算的经济效益,确定该项目是否具有投资的价值。
3)、研究社会的可行性。其主要是指:分析此项目的运行方式是否正确,分析当前的人员技术水平以及管理制度是否具有可行性。
3.2软件项目估算
在软件开发过程中,首先要规划软件开发项目,如此便于项目管理人员制定切合实际的估算方案。规划软件开发项目的内容主要包括:明确软件开发的目标、明确软件开发过程中需要用到的各种资源、明确软件开发的进度等。在软件开发过程中,估算起着非常重要的作用。通过估算可以保证软件项目在规定的时间内完成,也可以确保软件项目的成本未超出预算。在估算资源、成本以及进度的时候,要依据自身丰富的经验以及相关的数据。但是当前所使用的估算方法较为单一,此种估算方法容易增加估算风险。对此,研究人员应该努力研究出更多科学、有效的估算方法。
3.3软件项目开发人员的管理
在开展软件项目开发人员管理工作的时候,首先要合理安排人员。通常情况下,是由多个小组成员共同完成软件开发项目。在具体安排人员任务的时候,要依据每位人员的优势进行,并且要明确小组内每一位成员的工作任务以及工作目标。在软件开发过程中,要确定不同的责任人,比如:项目经理、开发经理,并且为每一个小组安排一名组长,如此有助于确保软件开发项目的顺利完成,同时保证所开发出来的软件属于高质量产品。
4结束语
关键词:软件开发;风险分析;风险控制
中图分类号:TP311.5 文献标识码:A 文章编号:1674-7712 (2014) 04-0000-02
随着社会需求的不断增加,国家信息化得到逐步的发展,软件技术作为基础载体被应用到社会活动中,软件的开发项目也越来越受到人们的关注,但由于软件自身特点的限制,在软件开发的过程中容易出现各种各样的问题,因此,应在理性分析出软件开发项目风险要素的同时,及时针对风险采取相应措施进行规避并使其得到有效控制。
一、软件开发过程中的风险要素
风险要素分析作为软件能否开发成功的关键,需要在软件开发前进行确认,并将其归纳进整个开发过程的计划考量中,使其成为软件开发项目的一部分。软件开发的风险要素只要分为:
(一)软件开发的内容及质量风险
软件多是应需而生,社会的需要决定了软件的开发内容,而软件开发是一项长期而复杂的工程,与普通的工程项目相比具有很多潜在的风险,这些风险具有很大的危害性,需要开发人员及时对其定性并分析,使软件项目所受影响和损失降到最低。开发内容作为软件开发项目的基础,是整个开发过程的导向,始终贯穿于软件开发项目中。要想取得开发项目的成功就必须具备一个理性的开发内容及范围,如果在开发前不能将开发项目的内容及范围加以明确,必然会导致开发项目的风险甚至失败。
为了满足社会的进步和发展,软件开发也成为人们工作、生活的重中之重。软件开发项目的成功,不仅要具有明确的开发内容和范围,还要避免开发项目中出现质量问题。相应组织人员应制定质量技术衡量标准,使软件开发具有一定的规范性和可行性,否则,软件出现质量风险就可能导致软件开发项目达不到预定目标或者失败。
(二)软件开发的人员及组织风险
软件开发的过程由诸多因素组成,例如参与人员、组织团队、外界环境等,这就决定了开发过程的不确定性,工程中的控制与管理也就具有一定的难度。软件开发人员作为软件开发项目的主体,期间的人员变动或者人员的技术不达标,都可能使软件开发过程产生风险。
而组织风险是指,在软件开发项目组内部对于开发项目的内容或标准存在分歧,这样就容易因为计划的临时变动而带来软件开发的风险。组织的工作目的就是在决策者的引导下,通过对风险因素的分析将软件开发项目的风险降到最低程度,而工作的重点则是工程的进度、质量和资金,因此,组织风险的出现与否决定着软件开发项目的成败。
(三)软件开发的技术及政策风险
软件开发技术具有不确定性,在许多方面如设计、实施、验收和维护上都存在一些未知的因素,任何技术方案的变动都会引起软件开发的风险。技术主要表现在语言、环境及硬件层面,技术不过关会引起整个软件开发系统的变化,从而引起风险事件的发生。
同时,国家政策具有阶段性,它的制定来源于市场经济的变动,随着社会的不断发展,国家的相关政策也会随之调整,这些都可能成为软件开发中的风险,要阻止这类风险的产生是不可能的,想要赢得与政策风险的博弈,就要对当前的经济发展趋势及软件开发项目的可行性进行科学的比对,平衡在政策与风险之间的控制,这样不仅有利于项目的顺利开展,也大大提高了软件开发项目的成功率。
二、软件开发风险的控制途径
在软件开发的项目中,有些风险是可以根据已有的经验进行防范和控制,属于可预知类风险,有些风险则不以人的意志为转移属于不可预知类风险。风险根据不同的项目情况类别也不尽相同,想要有效的将风险控制住,就要在确定风险类别的基础上进行分析,采取科学有效的方法加以防范。
(一)通过风险监控防范软件开发的内容及质量风险
在软件开发项目中,开发的内容及质量风险属于可预知风险,而风险监控作为对软件开发风险控制的基础,对开发内容及质量风险具有一定的防范性。风险监控,是指对已潜在的风险进行监控并针对不同情况制定相应的措施进行解决,并对解决情况及进度加以实时防范,以防止风险的发生。
风险监控要从遏制风险的源头开始做起,软件开发的内容作为软件开发的基础是风险监控的首要任务,要规避内容风险,就要在软件开发项目开始前对开发的具体内容及范围进行明确定位并取得相关管理团队的一致通过,防止日后因软件开发内容的变动而产生风险,否则,根基不稳,就会导致软件开发进度的延误,前期所做的一切工作便会付诸流水,浪费人力物力。
质量问题,是软件开发项目的重中之重,只有质量过关软件才能造福于社会,反之一切都是空谈,要控制质量上的风险,就要在团队中明确质量技术标准并制定相关的技术文件,将开发过程规范化,防止质量问题的产生,尽量减少软件开发项目中质量风险的出现。质量,是项目工程的灵魂,只有把握住质量大关,产品才具有合格性。因此,要将风险监控的理念贯穿于整个软件开发的质量问题中,防范由于未达到相关技术标准而出现的质量风险。
(二)通过风险调控规避软件开发中的人员及组织风险
风险调控是指在软件开发项目的过程中,在已实施风险监控的基础上通过对软件开发方案进行探讨得出相关可行性并在开发过程中加以控制。在这个过程中,管理者应积极制定相关的可接受风险标准,对超出合理范围的风险及时予以调控,并不断从实践中总结经验形成相关风险数据库,为今后的软件开发项目提供参考资料。
在软件开发项目中,项目组相关人员的变动或者人员的技术不到位都属于可调控类风险,要想规避这类风险,就要在相关项目进行前加强对项目组人员的挑选,在给予员工物质条件的基础上多对员工的精神状态进行了解,避免出现项目进行中的人员离、换职现象。而人员的技术水平则需要相关管理者在招募时要对员工技术进行相应的考核,并且在挑选到合适的人员后,对人员进行系统而全面的业务培训,防止出现因人员对于业务不理解而产生的风险。
组织风险,一般是指在软件开发过程中,高层领导者或者组内人员对当前实施方案意见出现分歧而导致的风险,具有可调控性。俗话说,家和万事兴,用在团队之间也是一样的道理,只有大家共同协作,才能取得项目的最大利益,反之,组织内部意见不一致就会导致资金的缺失和计划的断档,延误工程进度。要想规避软件开发中的组织风险,就要在开发前对技术及方案进行讨论并达成一致意见,并在项目进行中加以适当的调控,对于超出预定风险范围的行为要及时加以制止,这样,才能进一步促进软件开发工程的顺利实施。
(三)通过风险缓解控制软件开发的技术及政策风险
在软件开发的过程中,经过前期的监控及调解方式,一般的可预知性风险就会得到有效的控制,但风险因素中的技术及国家政策因素具有不可预知性,这就导致了后期问题的产生。风险缓解是通过对不可预知类风险的审核和定期跟踪,将具体风险因素进行重点分析,从而对可能出现的风险进行缓解。尤其是在软件开发的过程中,很多风险因素后期会出现叠加的情况,管理者要根据项目的进度对不同的因素进行比对分析,得出相应的指标,对超出范围的部分找到原因并予以纠正,及时缓解因技术问题及国家政策带来的风险。
技术风险主要指开发、实施、维护等各个环节所潜在的问题,这些问题的共同特点是具有不确定性,这就导致了技术方案也随时可能出现临时变动,技术人员需要在整个软件的开发过程中定期对技术方案在合理范围内进行修正,以缓解因技术变动而带来的开发风险。
国家政策是软件开发项目的导向,它的变动所带来的风险不可预知性最强,需要管理者时刻保持警惕的心态。基于社会经济的不断发展,国家的政策也会随之进行相应的调整以满足社会人群的需求,这就需要管理者在熟悉相关政策法规的同时,对政策变动所引起的偏差及时作出调整,尽量予以纠正,以缓解软件开发过程中的此类风险。
三、结束语
随着社会的不断发展,在经济全球化的推动下,人们的消费欲望得到了有效的刺激,这就导致了软件开发项目的势在必行。想要促进软件开发项目的顺利进行,就要对开发过程中的风险因素进行分析,并根据其自身特点制定出相应的措施予以控制,只有这样,才能合理规避风险,达到成功开发软件的目的。
综上所述,软件开发项目不仅是经济发展的需要,也是社会进步的必然产物。在软件开发过程中,相关人员需要在不断吸取经验的基础上通过实践积累一定的经验,切实制定出规避风险的措施,降低风险出现的几率,为软件开发项目的成功作出充分准备,为满足社会需求作出贡献。
参考文献:
[1]万焘.软件开发的需求风险分析综述[J].科技广场,2011(01):15-16.
[2]唐颜M.IT项目风险管理及其控制措施研究[J].商情,2012(02):34-35.
【关键词】 软件开发项目管理 实践
进入21世纪后,伴随着计算机技术和网络技术的飞速发展,各种智能终端设备逐渐兴起,也使得人们对于软件的需求达到了一个前所未有的高度,推动了我国软件产业的发展。而在软件开发过程中,需要切实做好项目管理工作,提升管理水平,才能够促进我国软件产业的进一步发展壮大。
一、软件开发与项目管理
简单来讲,软件开发就是依照客户的需求,构建软件系统或者系统中的软件部分,其是一项包括了需求捕捉、需求分析、设计、实现和测试的系统工程,需要借助某种本程序设计语言实现。软件开发的主要流程包括:需求分析、总体设计、细部设计、编码、单元测试、综合测试、运行以及维护。项目管理则是指在一定的约束条件下,为了实现某个特定的目标,依照项目自身的内在逻辑规律所进行的系统管理活动。相对于软件开发而言,项目管理需要遵循几个基本的原则,一是依照分阶段的生命周期计划,进行严格管理;二是做好相应的阶段性评审;三是重视产品控制;四是应用现代程序设计技术;五是确保开发人员的专业素质较高,同时对人数进行控制;六是必须能够对结构进行清晰地审查;七是必须承认软件工程实践持续改进的必要性[1]。
二、基于软件开发的项目管理实践
以智能手机系统为平台,针对手机软件开发的项目管理实践进行简要分析和讨论。
2.1需求分析
需求分析是软件开发的基础与前提,能够获取和记录系统需求,确保客户与项目团队在系统需求变更上的一致性,避免软件开发过程中不必要的弯路。需求分析法包括了用户问卷调查、研讨会以及原型展示等,需要安排专人做好相应的记录工作,并及时对其进行总结和归纳,做好应对策略。在该项目中,软件需要满足的需求包括:适用于主流手机操作平台,充分考虑不同硬件配置以及操作系统版本的兼容性;可以跨平台运行,同时不需要占用过多的系统资源;确保数据连接的速率以及操作的流畅性等。
2.2设计编码
系统设计包括了总体设计和细部设计两个不同的阶段,其中,总体设计应该大致规划出软件的功能模块,做好相应的功能分区,并对其进行初步的设计分析,细部设计则需要给出每一个功能模块的控制流程、算法以及数据结构等,确保每一个模块都有不同的层次。对于一些难度较大、涉及面较广的模块,可以交给一些经验丰富、心细缜密的技术人员完成,并做好模块的测试与修改,保证其稳定可靠,尽可能降低风险与成本[2]。
设计完成后,需要进行编码工作,采用代码版本管理工具SVN,以确保各个子系统的功能都能够得到最大限度的发挥,实现系统之间的功能互补,从而降低软件开发的风险和难度,提高软件过程的跟踪率。
2.3测试运行
软件测试并非单纯的某个环节,而是贯穿于整个软件开发项目中,制定出详细全面的测试计划,并对测试用例进行用心编写。软件中的每一个子模块都应该由编程人员之外的技术人员进行反复测试,同时对测试过程中出现的问题进行记录,提出相应的修改意见,由相应的编程人员进行修改。在对测试用例进行编写时,需要对测试目标、测试环境、测试步骤、预期结果等进行记录,形成具有代表性的数据信息。在测试完成后,需要首先在小范围内,对软件的子模块进行试运行,确认无误后再对软件整体进行试运行,结合运行反馈结果,评估软件的可靠性,采取相应的完善措施。试运行成功后,需要编写相应的用户手册,制作视频说明,帮助用户了解和使用软件,同时标注联系方式,方便用户进行反馈。
2.4后期管理
在系统安装试用一段时间,具备相应的验收条件后,需要进行验收准备工作,对之前的工作进行总结,列出工作成果和相应的文档,审查相关技术文档中的内容和信息。应该对系统当前的完成状况进行明确,对于尚未完成的部分,应该采取有效策略去完成,或者设置相应的回避措施,确保客户在验收时不会提出这些未实现的需求。在交付使用后,需要做好软件维护工作,结合需求变化或者硬件环境变化对程序进行修改,确保其具备良好的实用性和适用性[3]。
三、结语
综上所述,软件开发项目管理与一般的项目管理存在着很大的差别,需要相关技术人员结合软件开发的具体流程,做好全过程管理,保证管理效果,在完成预定功能目标的基础上,提升软件的可靠性与安全性,确保软件的有效应用。
参 考 文 献
[1]刘宇柯.基于CMMI的软件开发项目管理研究[D].广东工业大学,2015.
与一般项目相比,软件开发项目存在一些独有的特点,而这些特点的存在使得要想真正做好软件开发项目的管理工作是十分困难的,其在管理方法上与传统项目管理存在着一定的差别,一些通用的项目管理理论或者项目管理方法并不适用于软件开发项目的管理。在这种情况下,对软件开发项目管理进行相应的实践探究,就显得非常必要。
关键词:
软件开发项目管理;实践
进入21世纪后,伴随着计算机技术和网络技术的飞速发展,各种智能终端设备逐渐兴起,也使得人们对于软件的需求达到了一个前所未有的高度,推动了我国软件产业的发展。而在软件开发过程中,需要切实做好项目管理工作,提升管理水平,才能够促进我国软件产业的进一步发展壮大。
一、软件开发与项目管理
简单来讲,软件开发就是依照客户的需求,构建软件系统或者系统中的软件部分,其是一项包括了需求捕捉、需求分析、设计、实现和测试的系统工程,需要借助某种本程序设计语言实现。软件开发的主要流程包括:需求分析、总体设计、细部设计、编码、单元测试、综合测试、运行以及维护。项目管理则是指在一定的约束条件下,为了实现某个特定的目标,依照项目自身的内在逻辑规律所进行的系统管理活动。相对于软件开发而言,项目管理需要遵循几个基本的原则,一是依照分阶段的生命周期计划,进行严格管理;二是做好相应的阶段性评审;三是重视产品控制;四是应用现代程序设计技术;五是确保开发人员的专业素质较高,同时对人数进行控制;六是必须能够对结构进行清晰地审查;七是必须承认软件工程实践持续改进的必要性[1]。
二、基于软件开发的项目管理实践
以智能手机系统为平台,针对手机软件开发的项目管理实践进行简要分析和讨论。
2.1需求分析需求分析是软件开发的基础与前提,能够获取和记录系统需求,确保客户与项目团队在系统需求变更上的一致性,避免软件开发过程中不必要的弯路。需求分析法包括了用户问卷调查、研讨会以及原型展示等,需要安排专人做好相应的记录工作,并及时对其进行总结和归纳,做好应对策略。在该项目中,软件需要满足的需求包括:适用于主流手机操作平台,充分考虑不同硬件配置以及操作系统版本的兼容性;可以跨平台运行,同时不需要占用过多的系统资源;确保数据连接的速率以及操作的流畅性等。
2.2设计编码系统设计包括了总体设计和细部设计两个不同的阶段,其中,总体设计应该大致规划出软件的功能模块,做好相应的功能分区,并对其进行初步的设计分析,细部设计则需要给出每一个功能模块的控制流程、算法以及数据结构等,确保每一个模块都有不同的层次。对于一些难度较大、涉及面较广的模块,可以交给一些经验丰富、心细缜密的技术人员完成,并做好模块的测试与修改,保证其稳定可靠,尽可能降低风险与成本[2]。设计完成后,需要进行编码工作,采用代码版本管理工具SVN,以确保各个子系统的功能都能够得到最大限度的发挥,实现系统之间的功能互补,从而降低软件开发的风险和难度,提高软件过程的跟踪率。
2.3测试运行软件测试并非单纯的某个环节,而是贯穿于整个软件开发项目中,制定出详细全面的测试计划,并对测试用例进行用心编写。软件中的每一个子模块都应该由编程人员之外的技术人员进行反复测试,同时对测试过程中出现的问题进行记录,提出相应的修改意见,由相应的编程人员进行修改。在对测试用例进行编写时,需要对测试目标、测试环境、测试步骤、预期结果等进行记录,形成具有代表性的数据信息。在测试完成后,需要首先在小范围内,对软件的子模块进行试运行,确认无误后再对软件整体进行试运行,结合运行反馈结果,评估软件的可靠性,采取相应的完善措施。试运行成功后,需要编写相应的用户手册,制作视频说明,帮助用户了解和使用软件,同时标注联系方式,方便用户进行反馈。
2.4后期管理在系统安装试用一段时间,具备相应的验收条件后,需要进行验收准备工作,对之前的工作进行总结,列出工作成果和相应的文档,审查相关技术文档中的内容和信息。应该对系统当前的完成状况进行明确,对于尚未完成的部分,应该采取有效策略去完成,或者设置相应的回避措施,确保客户在验收时不会提出这些未实现的需求。在交付使用后,需要做好软件维护工作,结合需求变化或者硬件环境变化对程序进行修改,确保其具备良好的实用性和适用性[3]。
三、结语
综上所述,软件开发项目管理与一般的项目管理存在着很大的差别,需要相关技术人员结合软件开发的具体流程,做好全过程管理,保证管理效果,在完成预定功能目标的基础上,提升软件的可靠性与安全性,确保软件的有效应用。
参考文献:
[1]刘宇柯.基于CMMI的软件开发项目管理研究[D].广东工业大学,2015.
[2]鲁成祥,吕培强,庞新莹.基于Android平台软件开发的软件项目管理实践研究[J].软件导刊,2012,11(8):10-13.