第1章 概述
软件是人类思维创造的杰作,并成为人类现代生活的催化剂。今天,软件遍布整个世界,在生物工程、现代通信、宇宙探索、商务处理、工业控制等方面发挥出巨大的威力,推动了商业、科学和工程领域的跨越式发展,对整个社会的经济和文化产生了深远的影响。
在计算机诞生的初期,软件仅仅是计算机硬件的附属品,其作用和成本微乎其微。如今,软件以各种形式嵌入在越来越多的产品中,不仅成为影响系统功能和性能的关键因素,而且在整个系统的成本中占据着越来越大的比重。因此,如何以经济有效的方法开发高质量的软件是人们长期以来一直努力研究的主要问题。
软件工程是为了解决开发成本效益和软件质量的问题而产生的。从1968年NATO(North Atlantic Treaty Organization,北大西洋公约组织)会议**提出“软件工程”概念至今,虽然人们并没有彻底解决软件危机的问题,然而正是软件工程的发展促使软件取得了如此令人瞩目的成就。三十多年以来,人们更好地认识了软件开发过程,在软件的需求、设计、实现、测试和维护等方面提出了许多有效的方法,新的开发方法和开发工具在大型复杂软件系统的开发过程中起到了事半功倍的作用。如果没有这些复杂的软件,人们就不可能探索宇宙空间,也不可能拥有网络和现代化的通信技术,更不可能揭开人类基因的奥秘。
当前,软件工程仍然是一个正在迅速兴起的年轻学科,尚未形成完整的理论知识体系,需要大量的理论研究和工程实践。我们相信,随着该学科的日益成熟,软件工程必将对未来的软件开发产生更大的推动力。
1.1 软件
在软件的发展过程中,软件从个性化的程序演变为工程化的产品,人们对软件的看法发生了根本性的变化。“软件=程序”显然不能涵盖软件的完整内容,除了程序之外,软件还包括与之相关的文档和配置数据,以保证这些程序的正确运行。
《IEEE Standard Glossary of Software Engineering Terminology}给出了有关软件的如下定义:
……