论企业运营管理的现代化 - 范文中心

论企业运营管理的现代化

07/23

从软件危机到软件工程

——论软件工程的发展

软件工程在我们日常的生产、生活中发挥着至关重要的作用,它有序地组织着生产活动的高效运行,给生活带来了极大的便利,是软件技术与管理智慧的结晶,为了更加全面的了解这门科学,对软件工程的诞生及发展进行系统梳理是极其必要的。

60年代中期,大容量、高速度计算机的出现,使计算机的应用范围迅速扩大,软件开发急剧增长。高级语言开始出现;操作系统的发展引起了计算机应用方式的变化;大量数据处理导致第一代数据库管理系统的诞生。软件系统的规模越来越大,复杂程度越来越高,软件可靠性问题也越来越突出。原来的个人设计、个人使用的方式不再能满足要求,迫切需要改变软件生产方式,提高软件生产率,软件危机开始爆发,为了解决软件危机,既要有技术措施(包括方法和工具),又要有必要的组织管理措施。软件工程正是从管理和技术两方面研究如何更好的开发和维护计算机软件的一门新兴学科。

第一阶段——软件危机。

20世纪中期,计算机刚被从军用领域转向民用领域使用,那时编写程序的工作被视同为艺术家的创作。当时的计算机硬件非常昂贵,编程人员追求的是如何在有限的处理器能力和存储器空间约束下,编写出执行速度快、体积小的程序。程序中充满了各种各样让人迷惑的技巧。这时的软件生产非常依赖于开发人员的聪明才智。

到了20世纪60年代,计算机的应用范围得到较大扩展,对软件系统的需求和软件自身的复杂度急剧上升,传统的开发方法无法适应用户在质量、效率等方面对软件的需求。这就是所谓的“软件危机”。

早期出现的软件危机主要表现在:

1.软件开发费用和进度失控。费用超支、进度拖延的情况屡屡发生。有时为了赶进度或压成本不得不采取一些权宜之计,这样又往往严重损害了软件产品的质量。

2.软件的可靠性差。尽管耗费了大量的人力物力,而系统的正确性却越来越难以保证,出错率大大增加,由于软件错误而造成的损失十分惊人。

3.生产出来的软件难以维护。很多程序缺乏相应的文档资料,程序中的错误难以定位,难以改正,有时改正了已有的错误又引入新的错误。随着软件的社会拥有量越来越大,维护占用了大量人力、物力和财力。进入80年代以来,尽管软件工程研究与实践取得了可喜的

成就,软件技术水平有了长足的进展,但是软件生产水平依然远远落后于硬件生产水平的发展速度。

软件危机不仅没有消失,还有加剧之势。主要表现在:

1.软件成本在计算机系统总成本中所占的比例居高不下,且逐年上升。由于微电子学技术的进步和硬件生产自动化程度不断提高,硬件成本逐年下降,性能和产量迅速提高。然而软件开发需要大量人力,软件成本随着软件规模和数量的剧增而持续上升。从美、日两国的统计数字表明,1985年度软件成本大约占总成本的90%。

2.软件开发生产率提高的速度远远跟不上计算机应用迅速普及深入的需要,软件产品供不应求的状况使得人类不能充分利用现代计算机硬件所能提供的巨大潜力。

从60年代中期到70 年代中期是计算机系统发展的第二个时期,在这一时期软件开始作为一种产品被广泛使用,出现了“软件作坊”专职应别人的需求写软件。这一软件开发的方法基本 上仍然沿用早期的个体化软件开发方式,但软件的数量急剧膨胀,软件需求日趋复杂,维护的难度越来越大,开发成本令人吃惊地高,而失败的软件开发项目却屡见 不鲜。“软件危机”就这样开始了!

“软件危机”使得人们开始对软件及其特性进行更深一步的研究,人们改变了早期对软件的不正确看法。早 期那些被认为是优秀的程序常常很难被别人看懂,通篇充满了程序技巧。现在人们普遍认为优秀的程序除了功能正确,性能优良之外,还应该容易看懂、容易使用、 容易修改和扩充。

1968年北大西洋公约组织的计算机科学家在联邦德国召开的国际学术会议上第一次提出了“软件危机”这个名词。 概括来说,软件危机包含两方面问题:

一、如何开发软件,以满足不断增长,日趋复杂的需求;

二、如何维护数量不断膨胀的软件产品。

软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件;软件样品即是产品,试制过程也就是生产过程;软件不会因使用时间过长而“老化”或“用坏”;软件具有可运行的行为特性,在写出程序代码并在计算机上试运行之前,软件开发过程的进展情况较难衡量,软件质量也较难评价,因此管理和控制软件开发过程十分困难;软件质量不是根据大量制造的相同实体的质量来度量,而是与每一个组成部分的不同实体的质量紧密相关,因此,在运行时所出现的软件错误几乎都是在开发时期就存在而一直未被发现的,改正这类错误通常意味着改正或修改原来的设计,这就在客观上使得软件维护远比硬件维护困难;软件是一种信息产品,具有可延展性,属于柔性生产,与通用性强的硬件相比,软件更具有多样化的

特点,更加接近人们的应用问题。

随着计算机应用领域的扩大,99%的软件应用需求已不再是定义良好的数值计算问题,而是难以精确描述且富于变化的非数值型应用问题。因此,当人们的应用需求变化发展的时候,往往要求通过改变软件来使计算机系统满足新的需求,维护用户业务的延续性。

为解决这个问题,1968年NATO 会议上首次提出“软件工程”的概念,提出把软件开发从“艺术”和“个体行为”向“工程”和“群体协同工作”转化。其基本思想是应用计算机科学理论和技术以及工程管理原则和方法,按照预算和进度,实现满用户要求的软件产品的定义、开发、发布和维护的工程。从此也诞生了一门新的学科——软件工程。

第二阶段——传统软件工程

为迎接软件危机的挑战,人们进行了不懈的努力。这些努力大致上是沿着两个方向同时进行的。

一是从管理的角度,希望实现软件开发过程的工程化。这方面最为著名的成果就是提出了大家都很熟悉的“瀑布式”生命周期模型。它是在60年代末“软件危机”后出现的第一个生命周期模型。如下所示:

分析 → 设计 → 编码 → 测试 → 维护

后来,又有人针对该模型的不足,提出了快速原型法、螺旋模型、喷泉模型等对“瀑布式”生命周期模型进行补充。现在,它们在软件开发的实践中被广泛采用。

这方面的努力,还使人们认识到了文档的标准以及开发者之间、开发者与用户之间的交流方式的重要性。一些重要文档格式的标准被确定下来,包括变量、符号的命名规则以及原代码的规范式。

软件工程发展的第二个方向,侧重与对软件开发过程中分析、设计的方法的研究。这方面的重要成果就是在70年代风靡一时的结构化开发方法,即PO (面向过程的开发或结构化方法)以及结构化的分析、设计和相应的测试方法。

传统软件工程原理如下:

1. 把质量放在第一位:必须对软件质量进行量化,并采取措施促进质量的保障常用的量化指标有缺陷泄露率,缺陷密度,可测试性,健壮性,性能,易用性和友好性,可维护性等多项内容应该制定不同的量化指标。

2. 高质量的软件是可能的:评审,原型,客户参与,测试,迭代开发,雇用优秀人员已经证明可以很好提高软件质量

3. 尽早的向客户交付产品:无论在需求阶段理解客户的需求有多难,确定用户真正需求

的最有效的方式就是尽可能早的交给他们一个产品让他们使用。

4. 在编写需求前确定问题:当面对一个被认为是问题的问题时候,多数工程师都急于给出一个解决方案。当试图解决一个问题的时候,要保证已经试验过了其它的选择,不要被轻而易举的解决方案所迷惑。

5. 评价设计可选方案:当需求达成一致后,你必须验证多种架构和算法。你肯定不想在需求说明书中使用了一个" 构架" 就真的使用这个构架。

6. 使用合适的过程模型:项目必须要根据自己的项目特征来选择项目的过程模型,这些特征包括项目规模,周期,人员情况,需求可变性,文化,风险,应用领域等。

7. 在不同的阶段使用不同的语言

8. 尽可能缩小理解上的差距:尽可能缩小理解上的差距,软件结构必须与现实世界的结构尽可能的接近。这个原则一直是面向对象技术,基于构件开发以及可视化建模的动力。

9. 技术比工具重要:没有受过训练的软件工程师使用工具会成为一个危险的,仍未经训练的工程师。

10. 在快之前首先保证运行正确:要使一个可用的程序运行得更快些,远比让一个运行的快的程序可用容易的多。在开始阶段的编码不要考虑优化的问题。

由于我们在前期很难发现系统隐藏的性能问题,我们要作的是尽快让程序可用,以去理解复杂的性能。

11. 评审代码:评审详细设计和代码来查错,是一个比测试好得多的方法。

人们过分夸大了这种方法的价值。当正确的使用并集中在一个已知的问题上时候,评审对于解决问题是十分有效的。毫无方向的评审极少能够发现架构和全局的问题。

12. 好的管理比好的技术更重要:最好的技术并不能够弥补差的管理,而一个好的经理人可以用贫乏的资源取的伟大的成就。好的管理推动人们发挥自己最好的一面,但没有一种普遍正确的管理风格。

13. 人员是成功的关键:具有适当经验,才能和培训的高技能的人员是关键。即使没有足够的工具,语言和过程,人员配备正确也可以成功。而错误的配备了人员,即使有合适的工具,语言和过程,项目也可能失败。

传统软件工程也这么强调人的因素,足见人对整个软件项目的重要性。

14. 勇于承担责任:成功仅仅依靠好的方法,工具和构件是远远不够的。成功需要好的人员,好的管理和有战斗力的团队。在这种团队中,项目成员即使遇到不可避免的困难或挫折,也会专注于推动项目前进。

软件工程的目标是研制开发与生产出具有良好的软件质量和费用合算的产品。费用合算是指软件开发运行的整个开销能满足用户要求的程度,软件质量是指该软件 能满足明确的和隐含的需求能力有关特征和特性的总和。软件质量可用六个特性来作评价,即功能性、可靠性、易使用性、效率、维护性、易移植性

第三阶段——现代软件工程

软件不是纯物化的东西,其中包含着人的因素,于是就有很多变动的东西,不可能像理想的物质生产过程,基于物理学等的原理来做。早期的软件开发仅考虑人的 因素,传统的软件工程强调物性的规律,现代软件工程最根本的就是人跟物的关系,就是人和机器(工具、自动化)在不同层次的不断循环发展的关系。

面向对象的分析、设计方法的出现使传统的开发方法发生了翻天覆地的变化。随之而来的是面向对象建模语言、软件复用、基于组件的软件开发等新的方法和领域。

与之相应的是从企业管理的角度提出的软件过程管理。即关注于软件生存周期中所实施的一系列活动并通过过程度量、过程评价和过程改进等涉及对所建立的软件 过程及其实例进行不断优化的活动使得软件过程循环往复、螺旋上升式地发展。其中最著名的软件过程成熟度模型是美国卡内基梅隆大学软件工程研究所建立的CMM ,即能力成熟度模型。此模型在建立和发展之初,主要目的是为大型软件项目的招投标活动提供一种全面而客观的评审依据,而发展到后来,又同时被 应用于许多软件机构内部的过程改进活动中。

在软件开发过程中人们开始研制和使用软件工具,用以辅助进行软件项目管理与技术生产,人们还将软件生命周期各阶段使用的软件工具有机地集合成为一个整体,形成能够连续支持软件开发与维护全过程的集成化软件支援环境,以期从管理和技术两方面解决软件危机问题。

此外,人工智能与软件工程的结合成为80年代末期活跃的研究领域。基于程序变换、自动生成和可重用软件等软件新技术研究也已取得一定的进展,把程序设计自动化的进程向前推进一步。在软件工程理论的指导下,发达国家已经建立起较为完备的软件工业化生产体系,形成了强大的软件生产能力 。软件标准化与可重用性得到了工业界的高度重视,在避免重用劳动,缓解软件危机方面起到了重要作用。

迄今为之,为了达到最初设定的目标,软件工程界已经提出了一系列的理论、方法、语言和工具,解决了软件开发过程中的若干问题,而软件工程正式从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。

作为现代企业的管理人员,我们对软件工程的重要性、必要性有着非常直观的了解,软

件工程的发展与工业的进步、管理方法的完善是相辅相成、相互促进的,它是工业自动化生产的指挥棒,是科学、高效、规范管理的有力工具。未来,软件工程必将更加深入、和谐地融入到我们日常的生产、生活。


相关内容

  • 现代人力资源管理对国有企业的影响
    现代人力资源管理对国有企业的影响 目录 摘要·······································································2 关键词······················ ...
  • 现代物流管理的系统观念以及发展趋势
    Logistics 物流商论 <中国商贸> CHINA BUSINESS&TRADE 现代物流管理的系统观念以及发展趋势 云南能源职业技术学院 刘咏梅 物流活动古已有之,应该说自人类出现有组织的大规模生产活动后,初期的物 ...
  • 人力资源管理对企业发展的重要意义
    人力资源管理对企业发展的重要意义 企业是国民经济体系中的最基本.最具活力的创造性经济组织,市场经济竞争的加剧,使得人才开始成为一种重要的资源参与到整个社会的经济运行中.对人才价值的开发利用成为企业实现自身价值目标的一个重要途径,人力资源成为 ...
  • 技术质量管理
    企业.技术.质量管理及程序 一. 管理理念: 1. 什么叫做企业管理现代化? 企业管理现代化,就是在企业管理中应用现代化自然科学和社会 科学的新成果.使之适应生产力和生产关系发展变化的要求,推 动社会生产的再发展. 2. 企业管理现代化的内 ...
  • 谈现代企业人力资源管理方式的创新
    谈现代企业人力资源管理方式的创新 摘要:人力资源管理是我国改革开放后引进的管理学科,进入21世纪原来越多的企业重视人力资本的作用,他们认为人才是企业最重要的资本,如何选好人.用好人是企业面临的重大挑战. 关键词:现代企业:人力资源管理:创新 ...
  • 企业财务管理论文:现代企业财务管理理念
    企业财务管理论文: 现代企业财务管理理念 摘要:现代企业财务管理应遵循五大理念:目标导向和聚焦管理的理念.与时俱进持续创新思维的理念.以人为本的理念.创造价值的理念.思辩而不盲从理论的理念,本文重在论述如何有效实现现代企业财务管理目标. 关 ...
  • 浅谈现代企业资源计划管理系统
    2003年第5期 山东煤炭科技 59 浅谈现代企业资源计划管理系统 肥城矿业集团杨庄煤矿 郭铭礼 摘 要 本文介绍了企业资源计划这一当今国际先进的企业管理模式,并阐述了现代企业资源计划管理系统(ERP)在企业生 产.经营管理中的应用及其重大 ...
  • 现代企业所有权与经营权分离的优缺点分析
    摘 要 现代企业的管理和经营正在一步步向着科学与成熟迈进,在这个过程中,一个问题一直在困扰着企业,那就是经营权和所有权的分合问题.企业究竟是应该由所有者自己经营,还是应该单独聘请职业经理人进行经营,这就是问题探讨的核心.在本文中,笔者将详细 ...
  • 如何构建企业文化
    如何构建企业文化 第1章:企业文化的精神层又叫企业精神文化,相对于企业物质文化和行为文化来说,企业精神文化是一种更深层次的文化 ◇第1节:跨文化管理 ◇第2节:企业精神 ◇第3节:企业价值观 ◇第4节:企业经营哲学 第1节:跨文化管理 跨文 ...
  • 农业标准化作业
    农业标准化 课 程 报 告 做好农企财务管理 促进农业标准化 [摘要]:经济效果的评价是农业标准化效果评价中最主要的部分,它是根据农业标准化活动的财务与建设的基础数据,对项目在整个寿命期内的财务与收益情况进行评价,从而论证项目是否具有经济上 ...