本资料详尽总结了北京邮电大学软件工程专业的期末考试核心知识点与复习要点,涵盖课程主要理论框架及实践应用案例,旨在帮助学生高效备考。
### 北京邮电大学软件工程期末考点解析
#### 第一章:计算机科学与软件产业发展史
##### 图灵与计算机科学奠基
- **艾伦·图灵**:英国著名数学家与逻辑学家,被誉为计算机科学之父及人工智能之父。他提出的**图灵机**概念奠定了现代计算机理论基础,而**图灵测试**则为判断机器是否具备人类智能提供了标准。
- **ENIAC**:1945年诞生的世界首台电子通用计算机,标志着现代计算机时代的开端。
- **冯·诺依曼体系结构**:1946年,**冯·诺依曼**提出并完成了关于电子计算装置逻辑结构设计的研究报告。该报告描述了一种由控制器、运算器、存储器和输入输出设备构成的存储程序式计算机架构,成为现代计算机设计的核心思想。
##### 软件产业的三次浪潮
- **第一次浪潮(1968-1985年)**:主要特征为满足日益增长的软件需求和复杂性。这一时期确立了瀑布模型为核心的软件开发过程,并广泛采用了结构化的软件分析与设计方法。1985年美国国防部发布的DoD-2167(后修订为2167A)标志着这一阶段的结束。虽然结构化方法取得一定成效,但并未充分解决软件项目管理中的关键问题,如需求管理和配置管理等。
- **第二次浪潮(1987-1997年)**:关注点转向软件过程改进。随着软件项目失败率的不断上升,业界意识到问题根源在于软件开发过程管理上的不足。美国国防部对软件工程研究所(SEI)的支持标志着这一趋势的开始。Watts Humphrey将传统工业的质量控制概念引入软件开发领域,推动了软件过程成熟度的发展。1997年ISO/IEC 15504的发布进一步巩固了该趋势。
- **第三次浪潮**:随着面向对象技术和重用技术的进步,软件工业化成为可能。标准化的工程方法确保了项目的质量、进度和功能可控。这一阶段的目标是实现像制造业那样的标准化和自动化生产流程。
##### CASE(计算机辅助软件工程)
- **定义**:CASE指的是支持软件生命周期各个阶段的一系列工具和技术。这些工具覆盖需求分析、系统建模、调试及测试等多个环节,并通过自动化的手段提高了开发效率和质量。
- **功能**:CASE不仅包括编辑器、模型验证器以及文档生成器等,还可能包含从系统模型自动生成源代码的代码生成器。此外,它提供指导软件工程师进行下一步操作的过程指南。
#### 第二章:系统分解与特性
##### 系统分解术语
- **固件**(Firmware):一种嵌入在硬件中的软件,通常不可通过程序控制修改。
- **硬件配置项**(HWCI):一组为独立功能而设计的硬件。
- **计算机软件配置项**(CSCI):一组为独立配置管理而设计的软件,满足最终用户的特定需求。
- **计算机软件部件**(CSC):在CSCI中具有不同功能和性质的部分,可以进一步分解成其他CSC或计算机软件单元。
- **计算机软件单元**(CSU):设计中确定且可单独测试的软件部分。
##### 系统特性
- **功能特性**:当系统各组成部分协同工作时表现出的能力,如自行车作为交通工具的功能。
- **非功能特性**:包括可靠性、性能、安全性和信息安全性等。这些特性决定了系统在特定操作环境下的表现,对于基于计算机的系统尤为重要。如果某些关键非功能性特征未达到最低要求,则可能导致系统无法正常使用。
北京邮电大学软件工程课程涵盖了计算机科学的历史背景、软件产业发展的重要节点以及系统设计与分解等方面的知识点。这些内容对于理解软件工程的基本原理和发展趋势至关重要,有助于学生掌握核心技术和管理理念。