自考02333软件工程 全套视频资料

第一章 结论
章节内容
1 软件工程概念的提出与发展
软件危机
软件工程概念的提出
软件工程的定义
软件工程的发展
2 软件开发的本质
计算机软件
软件开发的本质
模型
1.1 软件工程概念的提出与发展
从事软件开发实践和软件工程项目管理的思想基础:正确误认软件开发
软件危机
20世纪60年代以来,随着计算机的广泛应用,软件生产率、软件质量满足不了社会发展的需求,成为社会、经济发展的制约因素,人们通常把这些现象称为软件危机。
软件工程概念的提出
软件工程概念的提出,其目的是倡导以工程的原理、原则和方法进行软件开发,以期解决出现的“软件危机”。
软件工程这一术语首次出现在1968年的NATO(北大西洋公约组织)会议上!
软件工程的定义
软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。
20世纪60年代末到80年代初
主要成果:提出瀑布模型、开发了诸多过程式语言(如C语言、Pascal语言)和开发方法(如Jackson方法、结构化方法)、开发了一些支持工具(调试工具、测试工具)。
特征:前半段技术,后半段管理
20世纪80年代以来
主要成果:提出《软件生存周期过程》、开展计算机辅助工程(CASE)、面向对象语言(如Smalltalk、C++)、提出面向对象软件开发方法等。
特征:开展了一系列有关软件生产技术,特别是软件复用技术和软件生产管理的研究和实践。
简述软件工程与软件危机的概念以及提出软件工程概念的目的。
- 软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科;
- 软件生产率、软件质量远远满足不了社会发展的需求,成为社会、经济发展的制约因素,把这一现象称为软件危机;
- 软件工程概念的提出,其目的是倡导以工程的原理、原则和方法进行软件开发,以期解决出现的“软件危机”。
1.2 软件开发的本质
计算机软件
计算机软件一般是指计算机系统中的程序及其文档。程序是对计算机任务的处理对象和处理规则的描述;文档是为了解程序所需的阐述性资料。
软件开发的本质
- 软件开发的目标是将问题域中的概念映射为运行平台层面上的概念,把问题域中的处理逻辑映射为运行平台层面上的处理逻辑;
- 软件开发就是要弥补问题域与运行平台之间的距离,从而在二者之间直接进行映射。
概念:不同抽象层术语之间的“映射”,以及不同抽象层处理逻辑之间的“映射”,实现这一映射的基本途径:系统建模。
内容:
一是如何实现这样的映射,这是技术层的问题。
二是如何管理这样的映射,以保障映射的有效性和正确性,这是管理层面的问题。
不同抽象层的映射
如何实现映射(技术层面)
过程方向(求解软件的开发逻辑)
过程途径(求解软件 的开发手段)->基本手段是问题建模
如果管理映射(管理层面)
包括软件项目的规划、组织、人员安排、控制和领导等

模型
模型,简单地说,是待建系统的任意抽象,其中包括所有的基本能力、特性或其他一些方面,而没有任何冗余的细节。
进一步说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述、对系统内各模型元素以及他们之间关系的语义描述。
在软件开发中,软件系统模型大体上可分为两类:概念模型和软件模型。
(在软件开发领域,分层的基本动机是为了控制开发的复杂性。)

概念模型
在需求层上创建的系统概念模型是对客观事物系统的抽象,即标识要解决的问题,或称问题定义。
软件模型
设计模型、实现模型、部署模型
简述软件开发的本质及其涉及到的问题。
- 软件开发的本质概括为:不同抽象层术语之间的“映射”,以及不同抽象层处理逻辑之间的“映射"。
- 它涉及到两方面的问题:一是如何实现这样的映射,这是技术层面上的问题;二是如何管理这样的映射,以保障映射的有效性和正确性。这是管理层面上的问题。
简述何谓系统模型以及软件开发中所涉及的系统模型分类。
- 模型就待建系统 的任意抽象;
- 该抽象是特定意图下所确定的角度和抽象层次对物理系统的一个描述。
- 描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述;
- 系统模型分为两类:概念模型和软件模型。软件模型又可进一步分为设计模型、实现模型和部署模型。