简述软件工程存在的问题及发展方向

时间:2022-03-03 18:09:42 论文范文 我要投稿

简述软件工程存在的问题及发展方向

  软件飞速发展,各种软件得到普遍应用,给人们的生活带来极大的便利。在软件的使用中,企业生产以及人们生活水平都得到明显的提升。下面是小编整理的简述软件工程存在的问题及发展方向,希望对你有所帮助。

  摘要:随着信息技术的快速发展,计算机软件开发的规模和其复杂程度不断的增加,软件工程中的一系列问题也应运而生。为了减少在开发过程中不必要的人力和物力浪费,加强软件工程管理势在必行。这样才能提高软件企业的竞争力,进而推进我国信息化建设。

  一、国内外软件工程发展现状

  作为信息时代计算机发展的核心技术,软件工程是目前就业非常热的一门专业,市场需求量在逐年增加。同时,它又是一门非常复杂的技术,其技术的主要目的就是通过抽象方法把现实世界中的复杂问题转化为软件空间中的解题程序,然后通过计算机的分析最终得到解题方案。但外界因素的印象往往差异较大,例如人们对事物的认知理解的过程和方法不一样,会造成软件构造过程中的设计、分析、实现方法不统一,造成生产效率低下。

  软件工程兴起于八十年代,它的兴起带来了计算机的革命,欧美许多国家纷纷投入大量资金、开展研讨会等商讨详细的发展计划,在研究方面投入了巨大的人力和财力。软件工程的核心是研究其支撑技术,并在此基础上将其推向智能化、高集成化。目前国外软件工程的技术发展相对比较成熟,业界一些主流的开发工具和集成开发环境都是有国外的公司设计和定义的。

  我国软件工程技术起步比较晚,相比较国外发达国家还有相当大的差距。但是我们虽然起步晚,发展却很快,短短这么些年, 已经开发出了属于我们自己知识产权的软件技术,例如早期的XYZ系统、B一45系统等等,这些都是我国软件发展的先驱。同时,我们还制定了一系列的符合我们自己国情的政策和发展计划,都取得了不小的成功。

  二、存在的问题

  (1)缺乏比较完善的软件工程管理体制在软件开发中,项目经理是软件项目管理的第一负责人,在整个开发过程中起着极其重要的作用。但是目前在大多数软件企业中,并没有专门的人员来管理负责整个开发团队。被任命的经理要么技术上过硬, 但缺乏较强的管理沟通能力;要么有不错的领导力,但是技术却不过关,很少能做到两头都抓。因此往往不能很好的协调整个研发团队的工作,导致开发效率较慢。

  (2)人员、进度控制不理想人员控制是对开发组织内部人员的控制,要求保证开发人员的积极性和稳定性。人员的频繁更换和流动会导致程序出错的几率加大, 因此,开发团队中的人员不宜做大幅度的调动,至少应该保证软件工程和软件周期中人员的稳定性。但目前很多软件开发公司却没有意识到这点的重要性,从而导致不少产品生产效率很慢甚而不合格。

  另外一个重要的方面,开发过程中的进度控制不理想。进度控制是指在软件开发过程中将各个项目的进度控制在总的计划中去,从而保证整体的研发进程。但是往往由于人员分配不合理、资源不能到位等等原因的影响,在实际的开发工作中,经常会无法按计划进行,延期项目的事件时有发生。在更新速度显得十分重要的软件行业此举无疑给企业造成了巨大的损失。

  (3)开发过程求全求快在开发过程中,团队之中难免会有一些人希望能尽早将软件应用于计算机,这固然是种积极的心态, 但没有认识到的是:软件开发是一个漫长的过程,也不是一个能靠人海战术就可以缩短的工期。此外, 即使计算机具有强大的数据处理能力,一个系统也无法包罗万象,贪大求全。而应该根据现有的硬件条件量力而行。同时,系统的复杂度越高,开发所耗费的时间就越长,出错的几率便会变大也可能导致整个系统的失败。

  三、解决方案

  (1)实行项目组负责体质大型软件开发系统的项目管理可实行两级责任制。第一级负责人是“项目主管”,主要负责项目中与合同有关的事宜,进行企业与开发公司之间的协调。同时负责整个研发团队之间的交流沟通,协调各小组之间的进度。第二级负责人是“项目组长”,主要负责项目开发中的技术管理,监督各小组的进度以及审核产品的质量。这样实行的二级责任制可有效的解决软件开发中分工不明确,领导人不能两头都抓的问题。

  (2)明确的进度和质量管理在软件项目中,进度控制是非常重要的.一个环节,主要有两方面举措可以加强这个环节。一是制定进度计划,二是实施进度控制。在软件开发初期制定初步规划,首先按照各子程序项目的规模,估计各小组工作量;再按照各子系统及应用程序的性质及负责度安排合理的开发顺序,并且能及时合理的调配人员。在实施进度控制时,要根据进度图和人员配置制定好每个人所承担的开发量,规定好程序开发的开始时间、截止时间、程序验收时间,项目组长要及时进行监督,并合理修改进度。

  常规意义上质量和进度往往是相互矛盾的。一方面,软件工程的开发时间一般比较紧,为了赶进度经常会忽视了质量;另一方面,要追求高质量,会延长工期,影响进度。为了将进度和质量都做好,笔者认为可以设置专门的质量监控员进行质量监管,还应实行定期或不定期的质量抽查。整个开发团队的程序员要求统一结构,统一风格,统一命名,以提高程序的可维护性。

  四、发展方向

  实行开发过程的工程化管理。所有软件,不论其规模、用途、语言有多大的差异,都有一个共同的特点,就是要么遵循生命周期规律,要么遵循原型规律。这是软件开发的共同特点,由此衍生出了两种工程化管理模式。即生命周期管理模式和原型管理模式。

  两种管理模式各具优点,也各有自己一定的局限性。生命周期管理模式是按照软件开发的先后顺序为主线,这样可以有效的遏制延期的发生,而原型管理模式是以各个开发模块为主线,有利于项目负责人和项目组长的管理,使开发过程中的分工更明确。人们显然倾向于遵循纯粹的生命周期管理模式来管理整个开发过程,但大型的系统往往具有多变性、复杂性、模糊性等特点,所以简单的只运用生命周期管理模式是不够的,也是不现实的。为了解决复杂的问题,必须借助原型管理模式。因此, 软件工程管理应采用生命周期管理模式和原型管理模式相结合的方式。

  两种方法想结合的模式有宏观和微观两个侧面。宏观上,采用传统的生命周期法,有明显的阶段性;微观上,在设计和编程过程中,如果有必要,则采用原型法,这样两种管理模式有机的结合起来,以生命周期法为主线,有需要时,以原型法为辅助,这样既解决了开发的阶段性,又解决了需求不明确性和责任不明确性的问题。