第1章 绪论
1.1 软件工程概念的提出与发展
- ⭐️软件危机:软件的开发速度、软件的质量和软件的开发成本无法满足社会发展的需要,成为限制社会、经常发民的制约因素,这一现象称为“软件危机”。
- ⭐️软件工程概念提出的目的:倡导以工程的原理、原则和方法进行软件开发,以期望解决出现的“软件危机”。
- ⭐️软件工程定义:软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。
- 软件工程的两个时期:
- 20 世纪 60 年代末到 80 年代初:开发模型、开发方法、支持工具。
- 20 世纪 80 年代以来:软件复用技术、软件生产管理。
1.2 软件开发的本质
- ⭐️计算机软件:程序和文档。
- 程序:计算机任务的处理对象和处理规则的描述。
- 文档:为了理解程序所需的阐述性资料。
- 软件:对一个特定问题域的抽象,是初开发出的一种逻辑实体,而不是一种“有形”的物理部件。
- ⭐️软件开发的目标:将问题域中概念映射为运行平台层面的概念。
- 运行平台:可直接支持软件执行的系统软件(操作系统、编译系统、数据库管理系统等),支撑软件(通信中间件、安全中间件)以及硬件(计算机、网络)等的集合体。
- ⭐️软件开发的本质:不同抽象层术语之间的“映射”,以及不同抽象层处理逻辑之间的“映射”。
- 模型的概念:模型是一个抽象。模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述。通常包含对该系统边界的描述、对系统内各模型示素以及它们之间关系的语义描述。
- 软件系统模型的分类:概念模型和软件模型,分层的目的:控制开发的复杂性。
1.3 本章小结
- ⭐️软件开发的本质,即实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。
- ⭐️映射的基本途径:系统建模。
- ⭐️软件开发的本质是映射,实现映射的途径是建模。
- 系统建模:运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。
- ⭐️系统模型2大类:
a. 概念模型:描述了系统是什么。
b. 软件模型:描述了实现概念模型的软件解决方案。软件模型进一步可分为设计模型、实现模型和部署模型。