回顾要点
软件金三角是重点。金三角有哪些组成部分,它们是如何相互影响的?软件危机的原因也在期末答案中测试。
软件的定义
软件是计算机系统中与硬件相互依存的另一部分,它由程序、相关数据及其文档组成。
软件工程的金三角
软件工程的内容是一个金三角,人、技术、管理各占一角,过程将三者紧密联系在一起。人、技术、管理和过程构成了软件工程的核心内容,它们相互作用,相互依存,缺一不可。其中,人的因素最为重要。
人类
人是软件开发和维护的主体。他们将在整个软件生命周期中提供资金、计划、开发、管理、测试、使用、维护或从中受益。软件工程中的所有技术、管理和过程都需要由人来执行,人是软件组织中最重要的资产。
技术从技术上提供了开发和维护软件的“如何做”的方法。软件工程的核心技术:
系统工程
软件需求
软件设计
编码
软件测试
软件维护
管理软件开发是一个组织管理程度很高的项目。软件工程管理包括软件工程管理、软件质量管理和软件配置管理。过程
过程是结合人、技术和管理的凝聚力,是产品成本、进度和质量的主要决定因素。软件过程的核心知识,包括过程的实现、变更、定义、评估、度量和支持工具。
软件危机的定义
尽管软件技术和行业发展的速度大大超过了大多数其他行业,但软件开发仍然面临着许多问题,如开发的软件不符合应用的需要,充满错误,可靠性极差,使用不方便,开发项目经常不能按时交付,成本大大超出最初的预算。这种现象被称为“软件危机”。
软件危机的特征
软件危机主要表现在以下几个方面:
(1)对软件开发成本和进度的估计往往不准确。开发成本超出预算,实际进度比预定计划一再拖延的情况屡见不鲜。
(2)用户对“已完成”的系统不满意的现象经常发生。
(3)软件产品质量无法保证,缺陷多。补丁是一个个做出来的。
(4)软件的可维护性很低。
(5)软件通常没有适当的文档。
(6)软件成本不断增加。
(7)软件开发生产力的提高跟不上硬件的发展和人们需求的增长。
软件危机的原因
从软件测试的特点出发,分析了软件危机产生的原因。
软件是一个逻辑实体,是抽象的,无法看到软件本身的形态,其功能和性能只能通过观察、分析、思考和判断来理解。软件在不同程度上依赖于硬件和环境,这就导致了软件升级和移植的问题。计算机的硬件和支持环境不断升级。为了适应运行环境的变化,软件也需要不断维护,维护成本通常远高于开发成本。时至今日,软件生产仍未摆脱手工模式,软件开发的手工行为产生了一个致命的问题,那就是为应用“量身定制”软件。长期以来,软件给人的印象是修改几条指令就很简单,客户也总是强调软件要适应自己的业务需求。因此,大多数软件产品都是为客户“定制”的,通用性较差。软件涉及人类社会的各行各业,经常涉及一些行业知识,这对软件工程师的要求很高。软件是类似于文艺作品的精神作品。与体力劳动相比,精神活动的过程具有“无形性”的特点,这大大增加了组织和管理的难度。
控制软件开发的复杂性
控制软件开发复杂性的基本方法有三种:抽象、分解和迭代。
摘要
抽象就是从许多事物中提取出共同的、本质的特征,而抛弃其非本质的特征。
解决
分解是指将一个复杂的问题分解成几个简单的问题,然后逐一解决。
重复
迭代是指反复、循环的意思。在正式解决问题前,先做试验,以取得经验。如果问题很复杂,则再做试验,取得更多经验,直到获得足够的经验能够进行正确的处理。
本文来自牛奶煮萝莉投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/529085.html