首页 » 软件开发 » 《软件工程原理》(沈备军编著)学习笔记之第1章 绪论(软件开发软件工程过程危机)

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

神尊大人 2024-07-25 03:43:09 0

扫一扫用手机浏览

文章目录 [+]

软件需求

软件设计

编码

《软件工程原理》(沈备军编著)学习笔记之第1章 绪论(软件开发软件工程过程危机) 软件开发
(图片来自网络侵删)

软件测试

软件维护

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

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

软件危机的定义

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

软件危机的特点

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

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

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

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

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

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

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

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

软件危机的原因

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

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

控制软件开发的复杂性

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

抽象

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

分解

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

迭代

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

相关文章

C语言表白代码,编程之美,爱意绵绵

在这个科技飞速发展的时代,编程已经成为了我们生活中不可或缺的一部分。而C语言作为一门经典的编程语言,更是备受青睐。今天,就让我们用...

软件开发 2024-12-04 阅读9 评论0

16倍速生活方式,高效工作与生活的完美融合

随着科技的飞速发展,我们的生活节奏也在不断加快。在这个快节奏的时代,如何高效地平衡工作与生活,成为了许多人关注的焦点。本文将探讨1...

软件开发 2024-12-04 阅读8 评论0

C语言编程猜数游戏,编程与娱乐的完美融合

在科技日新月异的今天,编程已经成为一项重要的技能。作为计算机科学的基础,编程不仅可以锻炼我们的逻辑思维,还能提高我们的动手能力。而...

软件开发 2024-12-04 阅读8 评论0

C语言病毒代码介绍,技术与道德的双重挑战

随着信息技术的飞速发展,网络安全问题日益凸显。病毒作为一种恶意软件,严重威胁着计算机系统的稳定运行。C语言作为一种功能强大的编程语...

软件开发 2024-12-04 阅读6 评论0