正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可 用的程度。开销合宜意义自明。
2.软件工程的过程和活动 软件工程过程是“生产一个最终满足需求且达到工程目标的软件产品所需要的步骤”。
主要包括分析过程、开发过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等 活动。 需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求 分析生成功能规约。 设计活动一般包括概要设计和详细设计。

概要设计建立整个软件体系结构,包括子系统、 模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明, 包括每一模块中数据结构说明及加工描述。 实现活动把设计结果转换为可执行的程序代码。 确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的 要求。 维护活动包括使用过程中的扩充、修改和完善。 伴随以上活动,还有管理过程、支持过程、培训过程等。
3.软件工程的基本原则 围绕软件开发的工程设计、工程支持以及工程管理,提出了以下四条基本原则:

软件工程学科的研究内容主要包括:软件开发模型,软件开发 方法,软件过程,软件工具,软件开发环境、计算机辅助软件工程(CASE)以及软件经济学 等。
1.软件开发模型 软件开发模型着重研究软件开发全部过程、活动和任务的结构框架。例如瀑布模型、螺 旋模型及喷泉模型等。作为一个模型,对于不同的应用系统,应允许采用不同的开发手段和 方法,使用不同的程序设计语言以及各种不同技能的人员参与,还应允许采用各种不同的软 件工具或各种不同的软件工程环境。
2.软件开发方法 软件开发方法是指软件开发过程所遵循的办法和步骤。开发过程一般包括需求、设计、 实现、确认等活动。目前,主要针对需求和设计,提出了各种方法,其中典型的有:结构化 方法、面向数据结构方法和面向对象方法。
3.软件过程 软件过程指软件生存周期所涉及的一系列相关过程。软件过程主要针对软件生产和管理 进行研究。为了获得满足工程目标的软件,不仅涉及工程开发,而且还涉及工程支持和工程 管理。软件工程中的过程管理贯穿于软件开发和维护的各个阶段。管理者负责项目计划、人 员组织、成本估算和控制、质量保证、配置管理等,并对软件开发的质量、进度、成本进行 评估、管理和控制。
4.软件工具 软件工具是用来辅助软件开发、维护和管理的软件。使用软件工具能节省开发时间和费 用,提高软件生产率和质量。软件工具是人类在软件开发过程中智力和体力的延伸与扩充, 它自动或半自动地支持软件的开发和管理,支持各种软件文档的生成。软件工具最初是零散 的,不系统、不配套的,后来人们将支持不同开发阶段的软件工具和软件工程数据库集成在 一起,建立了集成化的计算机辅助软件工程(CASE)环境。软件工具种类繁多,从通常可分 为:项目管理工具、配置管理工具、分析和设计工具、程序设计工具、测试工具以及维护工 具等。
5.软件开发环境 软件开发环境是支持软件产品生产的软件系统。该环境由集成机制和工具集组成。集成 机制主要实现工具的集成,使之能够系统有效地支持软件开发。工具集包括支持软件开发模 型和方法的工具。