1. 关注常识网首页
  2. 科普知识

软件危机表现在哪些方面(《软件工程原理》(沈备军编著)学习笔记之第1章 绪论)

软件危机表现的方面有:1、软件需求增长得不到满足;2、软件生产高成本、价格昂贵;3、软件生产进度无法控制;4、软件需求定义不准确;5、软件质量不易保证;6、软件...

软件危机表现的方面有:1、软件需求增长得不到满足;2、软件生产高成本、价格昂贵;3、软件生产进度无法控制;4、软件需求定...更多软件危机表现在哪些方面的这个问题,以及大家所关心的《软件工程原理》(沈备军编著)学习笔记之第1章 绪论的内容,欢迎大家继续分享关注常识网。

国信安软件测试培训——软件测试基础-10-软件测试危机-1

软件危机表现在哪些方面

软件危机表现的方面有:1、软件需求增长得不到满足;2、软件生产高成本、价格昂贵;3、软件生产进度无法控制;4、软件需求定义不准确;5、软件质量不易保证;6、软件可维护性差。软件(software)是一系列按照特定顺序组织的电脑数据和指令,是电脑中的非有形部分。软件一般被划分为系统软件、应用软件和介于这两者之间的中间件。软件包括所有在电脑运行的程序,其不分架构,有共通的特性,在运行后可以让硬件运行依设计时要求的机能。简单地说,软件就是程序加文档的集合体。软件被应用于世界的各个领域,对人们的生活和工作都产生了深远的影响。系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。

软件危机表现在哪些方面拓展阅读

软件危机表现在哪些方面(《软件工程原理》(沈备军编著)学习笔记之第1章 绪论)

《软件工程原理》(沈备军编著)学习笔记之第1章 绪论

软件的金三角是重点,金三角有什么构成,它们之间是如何影响的?软件危机的原因也是期末考试考过的。

软件的定义

软件是计算机系统中与硬件相互依存的另一部分,由程序、相关数据及其说明文档组成。

软件工程的金三角

软件工程的内容就是一个金三角,其中人、技术、管理各占一角,过程将三者紧密联系起来,人、技术、管理和过程组成了软件工程的核心内容,它们相互作用和相互依赖,缺一不可。其中,人的因素是最重要的。

人是完成软件开发和维护的主体,他们将贯穿整个软件生命周期,提供资金,进行规划、开发、管理、测试、使用、维护,或从中受益。所有软件工程中的技术、管理和过程都需要通过人来执行,人是软件组织中最重要的资产。

  • 技术技术提供了开发和维护软件在技术上需要“如何做”的方法。软件工程的核心技术:

系统工程

软件需求

软件设计

编码

软件测试

软件维护

  • 管理软件开发是一项工程,具有高度的组织管理性。软件工程管理分为软件工程管理、软件质量管理、软件配置管理。
  • 过程

过程是将人、技术、管理结合在一起的凝聚力,是产品成本、进度和质量的主要决定因素。软件过程的核心知识,包括过程的实施、变更、定义、评估、度量和支撑工具。

软件危机的定义

虽然软件技术和产业发展的速度大大超过了大多数其他行业,但软件开发仍面临许多问题,如开发的软件不符合应用的需要,错误百出,可靠性极差,使用不方便,开发项目常不能按时交货,成本大大超过原来的预算等,这种现象被人们称为“软件危机”。

软件危机的特点

软件危机主要表现在以下方面:

(1)对软件开发成本和进度的估计常常不准确。开发成本超出预算,实际进度比预定计划一再拖延的现象并不罕见。

(2)用户对“已完成”的系统不满意的现象经常发生。

(3)软件产品的质量往往无法保证,缺陷很多,补丁一个接一个地打。

(4)软件的可维护程度非常低。

(5)软件通常没有适当的文档资料。

(6)软件的成本不断提高。

(7)软件开发生产率的提高赶不上硬件的发展和人们需求的增长。

软件危机的原因

试从软件的特点出发分析软件危机产生的原因。

  • 软件是一种逻辑实体,具有抽象性,无法看到软件本身的形态,必须通过观察、分析、思考和判断才能了解它的功能和性能。
  • 软件对硬件和环境有着不同程度的依赖性,这导致了软件升级和移植的问题。计算机硬件和支撑环境不断升级,为了适应运行环境的变化,软件也需要不断维护,并且维护的成本通常比开发成本高许多。
  • 软件生产至今尚未摆脱手工方式,软件开发的手工行为造就了一个致命的问题,就是为应用“量身订做”软件。长期以来,软件给人的感觉是修改几条指令很简单,客户总是强调软件要适应自己的业务需求。因此,软件产品大多是为客户“订做”的,通用性差。
  • 软件涉及人类社会的各行各业,常常涉及一些行业知识,这对软件工程师提出了很高的要求。
  • 软件是与文学艺术作品相似的精神作品,与体力劳动相比,精神活动过程的特点是“不可见性”,这大大增加了组织管理上的困难。

控制软件开发的复杂性

控制软件开发的复杂性有3个基本方法:抽象、分解和迭代。

  • 抽象

抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。

  • 分解

分解是指把一个复杂的问题分解成若干个简单的问题,然后逐个解决。

  • 迭代

迭代是指反复、循环的意思。在正式解决问题前,先做试验,以取得经验。如果问题很复杂,则再做试验,取得更多经验,直到获得足够的经验能够进行正确的处理。


以上就是关于软件危机表现在哪些方面(《软件工程原理》(沈备军编著)学习笔记之第1章 绪论)的所有内容,希望对你有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人,并不代表关注常识网立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容(包括不限于图片和视频等),请邮件至379184938@qq.com 举报,一经查实,本站将立刻删除。

联系我们

在线咨询:点击这里给我发消息

微信号:CHWK6868

工作日:9:30-18:30,节假日休息