第一章 绪论 l考试方式:单选、 填空、 简答 l知识点如下: 1. 1软件工程概念的提出与发展 1、软件危机: 20世纪60年代以来, 随着计算机的广泛应用, 软件生产率、 软件质量满足不了社会发展的需求, 成为社会、 经济发展的制约因素, 人们通常把这些现象称为软件危机。 2、软件工程概念的提出: 软件工程概念的提出, 其目的是倡导以工程的原理、 原则和方法进行软件开发,以期解决出现的“软件危机” 。 软件工程这一术语首次出现在1968年的NATO(北大西洋公约组织) 会议上! 3、软件工程的定义: 软件工程是应用计算机科学理论和技术以及工程管理原则和方法, 按预算和进度实现满足用户要求的软件产品的工程, 或以此为研究对象的学科。 4、软件工程的发展: l 20世纪60年代末到80年代初 主要成果: 提出瀑布模型、 开发了诸多过程式语言(如C语言、 Pascal语言) 和开发方法(如Jackson方法、 结构化方法) 、 开发了一些支持工具(调试工具、 测试工具) 等。 特征: 前期主要研究系统实现技术, 后期开始关注软件质量和软件工程管理。 l 20世纪80年代以来 主要成果: 提出《软件生存周期过程》 、 开展计算机辅助工程(CASE) 、 面向对象语言(如Smalltalk、 C++) 、 提出面向对象软件开发方法等。 特征: 开展了一系列有关软件生产技术, 特别是软件复用技术和软件生产管理的研究和 实践。 1. 2 软件开发的本质 1、计算机软件 计算机软件一般是指计算机系统中的程序及其文档。 程序是对计算机任务的处理对 象和处理规则的描述; 文档是为了理解程序所需的阐述性资料。 2、软件开发的本质 u 软件开发的目标是将问题域中的概念映射为运行平台层面上的概念, 把问题域 中的处理逻辑映射为运行平台层面上的处理逻辑; u 软件开发就是要弥补问题域与运行平台之间的距离, 从而在二者之间直接进行映射。 概 念 : 不同抽象层术语之间的“映射” , 以及不同抽象层处理逻辑之间的“映 射” , 实现这一映射的基本途径: 系统建模。 内容: 一是如何实现这样的映射, 这是技术层面的问题。 二是如何管理这样的映射, 以保障映射的有效性和正确性, 这是管理层面的问题。 3、模型 模型, 简单地说, 是待建系统的任意抽象, 其中包括所有的基本能力、 特性或其他 一些方面, 而没有任何冗余的细节。 进一步说, 模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述, 通常 包含对该系统边界的描述、 对系统内各模型元素以及它们之间关系的语义描述。 在软件开发中, 软件系统模型大体上可分为两类: 概念模型和软件模型。 (在软件开发领域, 分层的基本动机是为了控制开发的复杂性。 ) 1)概念模型:在需求层上创建的系统概念模型是对客观事物系统的抽象, 即标识要解决的问题, 或称问题定义。 2)软件模型:设计模型、 部署模型、 实现模型 l测试题: 1)1604 提出软件工程概念的目的是倡导以工程的原理、 原则和方法进行软件开发,以期解决出现的(B) A. 软件矛盾 B. 软件危机 C. 软件制约 D. 软件滞留 2)1710 软件工程在20世纪80年代以来获得的主要成果有( B ) A. 瀑布模型 B. CASE产品 C. 过程式语言 D. 结构化方法 3)1710 提出软件工程概念的目的是倡导以工程的原理、 原则和___方法____进行软件开发。 4)简述软件工程与软件危机的概念以及提出软件工程概念的目的。 l 软件工程是应用计算机科学理论和技术以及工程管理原则和方法, 按预算和进度实 现满足用户要求的软件产品的工程, 或以此为研究对象的学科; (2分) l 软件生产率、 软件质量远远满足不了社会发展的需求, 成为社会、 经济发展的制约 因素, 把这一现象称为软件危机; (2分) l 软件工程概念的提出, 其目的是倡导以工程的原理、 原则和方法进行软件开发, 以 期解决出现的“软件危机” 。 (1分) 5)可以把软件开发的本质概括为:不同抽象层术语之间以及不同抽象层处理逻辑之间的( D ) A. 模型 B. 调用 C. 开发 D. 映射 6)在软件开发中, 软件系统模型大体上可分为两类: 软件模型和( A ) A. 概念模型 B. 行为模型 C. 逻辑模型 D. 实现模型 7)软件开发的本质概括为不同抽象层术语之间以及不同抽象层处理逻辑之间的_映射_____。 8)计算机软件一般是指计算机系统中的程序及其__文档____。 9)简述软件开发的本质及其涉及到的问题。 软件开发的本质概括为:不同抽象层术语之间的“映射”,以及不同抽象层处理逻辑之间的“映射”。(2分) 它涉及到两方面的问题: 一是如何实现这样的映射, 这是技术层面上的问题; (1分) 二是如何管理这样的映射, 以保障映射的有效性和正确性。 这是管理层面上的问题。(2分) 10)简述何谓系统模型以及软件开发中所涉及的系统模型分类。 模型是待建系统的任意抽象; (1分) 该抽象是在特定意图下所确定的角度和抽象层次对物理系统的一个描述。 (1分) 描述其中的成分和成分之间所具有的特定语义的关系, 还包括对该系统边界的描述; (1分) 两类:概念模型和软件模型。软件模型又可进一步分为设计模型、实现模型和部署模型等。(2分)
|