乐于分享
好东西不私藏

软考高项技术总结|第5章信息系统工程-软件工程,让你一文轻松吃透高频考点

软考高项技术总结|第5章信息系统工程-软件工程,让你一文轻松吃透高频考点

5章软件工程是软考高项技术部分的核心章节,是上午选择题分值占比最高的章节之一。本章覆盖软件全生命周期的核心技术与管理方法,知识点多但逻辑清晰,本文严格贴合考试考点,用通俗语言拆解难点、标注易混点和默写重点,零基础也能快速掌握核心内容。

一、软件工程基础【核心定位】

软件工程是应用计算机科学、数学及管理科学原理,以工程化原则和方法解决软件问题的工程,核心目标是提高软件生产率、提升软件质量、降低软件成本

1.1软件工程三大组成

1.方法:完成软件工程项目的技术手段,支持整个软件生命周期。

2.工具:智力和体力的延伸,自动/半自动支持开发、管理和文档生成。

3.过程:贯穿开发全环节,管理人员对质量、进度、成本进行评估、管理和控制,包括人员组织、计划跟踪、配置管理等。

二、软件架构【高频选择题考点】

软件架构研究的根本目的是解决软件的复用、质量和维护问题,核心内容包括架构描述、风格、评估和形式化方法。

2.1五大通用软件架构风格(Garlan&Shaw分类)

架构风格

核心子类型

核心特点

数据流风格

批处理序列、管道/过滤器

按顺序处理数据流,输入输出连续

调用/返回风格

主程序/子程序、数据抽象和面向对象、层次结构

自上而下调用,模块化强

独立构件风格

进程通信、事件驱动

构件独立,通过消息或事件交互

虚拟机风格

解释器、基于规则的系统

模拟特定环境执行代码

仓库风格

数据库系统、黑板系统、超文本系统

以中央共享数据源为核心

2.2架构评估核心概念

敏感点:一个或多个构件(或关系)的特性,影响单个质量属性。

权衡点:影响多个质量属性的特性,是多个质量属性的敏感点。

三类评估方式:基于调查问卷/检查表、基于场景(最常用)、基于度量。

基于场景的评估:用刺激、环境、响应三方面描述场景,代表方法有架构权衡分析法、软件架构分析法。

三、软件需求【选择题核心】

软件需求是用户对系统在功能、行为、性能、设计约束等方面的期望,是软件开发的基础。

3.1需求的三个层次【必考】

1.业务需求:组织或用户高层次的目标要求,描述“为什么要做”。

2.用户需求:用户的具体目标和要完成的任务,是用户原始需求的核心。

3.系统需求:从系统角度的需求,包括:

功能需求:软件必须具备的功能;

非功能需求:可靠性、性能、响应时间、容错性、扩展性等属性;

设计约束:对解决方案的限制条件。

3.2质量功能部署(QFD)三类需求

1.常规需求:用户认为系统应该做到的,实现越多越满意。

2.期望需求:用户想当然认为应具备的,没实现会严重不满意

3.意外需求(兴奋需求):用户要求范围外的,实现了会惊喜,不实现也不影响购买决策。

3.3需求过程与获取方法

需求过程:需求获取→需求分析→需求规格说明书编制→需求验证与确认。

常用需求获取方法:用户访谈、问卷调查、采样、情节串联板、联合需求计划。

3.4好需求的特性

无二义性、完整性、一致性、可测试性、确定性、可跟踪性、正确性、必要性。

四、需求分析方法【高频考点】

4.1结构化分析(SA)方法

核心:数据字典,围绕核心有三个层次的模型:

a.数据模型:用E-R图表示,描述实体、属性和关系;

b.功能模型:用数据流图(DFD)表示,描述数据传递和加工;

c.行为模型:用状态转换图(STD)表示,描述系统状态和转换事件。

数据字典:对数据流图中所有元素的详细说明,是分析阶段最重要的工具。

4.2面向对象分析(OOA)方法

基本任务:找出问题域的类和对象,定义其属性、职责和关系。

OOA模型包括:

a.用例模型:描述系统外部需求,核心是用例;

b.分析模型:展示系统静态结构和动态行为,包括领域模型(概念类)。

五、统一建模语言(UML)【选择题必考核心】

UML是通用的建模语言,结构包括构造块、规则、公共机制三部分。

5.1UML构造块

1.事物(建模元素)

结构事物(静态):类、接口、用例、构件、节点等7种;

行为事物(动态):交互、状态机;

分组事物:包(仅存在于开发阶段);

注释事物:解释部分。

2.四大关系

依赖:一个事物变化影响另一个;

关联:对象之间的连接关系;

泛化:一般与特殊的继承关系;

实现:类实现接口的契约。

5.2UML14种图(核心分类)

图类型

核心用途

静态图

类图、对象图、构件图、组合结构图、部署图、制品图、包图

动态图

用例图、顺序图、通信图、定时图、状态图、活动图、交互概览图

高频考点:顺序图强调消息时间次序;通信图强调对象结构组织;状态图描述对象基于事件的动态行为;活动图本质是流程图,描述控制流和数据流。

5.3UML五大视图

1.用例视图:最基本的需求分析模型,外部视角;

2.逻辑视图(设计视图):展示系统内部功能实现;

3.进程视图:描述并发与同步结构;

4.实现视图:建模物理代码文件和构件;

5.部署视图:描述软件到硬件的映射和分布。

5.4用例模型核心关系

1.包含关系:提取公共行为,缺少包含用例,基用例不完整

2.扩展关系:分离可选分支,缺少扩展用例,不影响基用例完整性

3.泛化关系:多个用例的共性抽象为父用例,子用例继承父用例特性。

六、软件设计

6.1结构化设计(SD)

核心思想:自顶向下、逐层分解、模块化,目标是确定软件结构。

阶段划分:

a.概要设计(总体结构设计):分配功能到模块,形成模块结构图;

b.详细设计:输入输出、处理流程、数据存储、界面设计等。

核心原则:高内聚,低耦合

6.2面向对象设计(OOD)七大原则【选择高频】

1.单职原则:一个类只有一个变化原因(对应高内聚);

2.开闭原则:对扩展开放,对修改封闭;

3.里氏替换原则:子类可以替换父类,不改变父类原有功能;

4.依赖倒置原则:依赖抽象,不依赖具体实现;针对接口编程;

5.接口隔离原则:多个专门接口优于单一总接口;

6.组合重用原则:优先使用组合,而非继承实现重用;

7.迪米特原则(最少知识法则):一个对象对其他对象了解越少越好(对应低耦合)。

6.3设计模式分类

按目的和用途分为三类,记住分类即可:

1.创建型模式:用于创建对象,如工厂方法、抽象工厂、单例、原型、建造者;

2.结构型模式:处理类或对象的组合,如适配器、桥接、装饰、外观、代理;

3.行为型模式:描述对象交互和职责分配,如职责链、命令、观察者、策略、模板方法。

七、软件配置管理【选择题考点】

软件配置管理的核心是版本控制和变更控制,核心活动包括:

1.软件配置管理计划;

2.软件配置标识:识别配置项,建立基线;

3.软件配置控制:管理生命周期中的变更;

4.软件配置状态记录;

5.软件配置审计;

6.软件发布管理与交付。

八、软件编码【基础考点】

程序质量主要取决于软件设计质量

程序设计风格:源程序文档化、数据说明、语句结构、输入输出方法。

程序复杂性度量:功能点估算法(FP=35ILF+15EIF)。

编码效率:程序效率、算法效率、存储效率、I/O效率。

九、软件测试【选择+案例】

软件测试的核心目的是发现软件错误,成功的测试是发现了至今未发现的错误的测试。

9.1测试方法分类

1.静态测试:不运行程序,包括文档检查、桌前检查、代码走查、代码审查;

2.动态测试:运行程序,对比实际结果与预期结果。

9.2动态测试两大方法

方法

别名

核心

适用阶段

常用技术

白盒测试

结构测试

检查程序内部逻辑和路径

单元测试

逻辑覆盖、循环覆盖、基本路径测试

黑盒测试

功能测试

不看内部,只检查功能是否符合需求

集成、确认、系统测试

等价类划分、边界值分析、判定表、因果图

9.3软件测试六大阶段

测试阶段

测试对象

技术依据

核心目标

单元测试

单个模块/类

详细设计说明书

检查模块内部功能和逻辑

集成测试

组装后的模块

概要设计文档

发现接口相关问题

确认测试

软件功能和性能

需求规格说明书

验证是否符合用户需求

系统测试

完整的集成系统

软件开发合同、系统设计文档

真实环境下验证系统整体功能和性能

配置项测试

软件配置项

SRS(含接口需求)

检验配置项与需求的一致性

回归测试

变更后的软件

原需求和设计

验证变更正确性,不影响原有功能

十、软件部署交付【选择题高频考点】

10.1三大部署模式

1.单机软件部署:适用于单机类型软件;

2.集中式服务器部署:适用于用户量小(500人以下)的中小组织;

3.基于微服务的分布式部署:适用于高并发云原生应用,借助容器和DevOps技术。

10.2核心部署策略

1.蓝绿部署:准备新旧两个版本,通过域名切换用户环境,出问题快速回滚;

2.金丝雀部署:先让少量用户使用新版本,验证无误后逐步全量推广。

10.3持续交付优势

缩短提交到上线时间,降低部署风险;

快速反馈,及时修复缺陷;

软件全生命周期处于可部署状态;

简化部署步骤,版本清晰可控。

十一、软件过程能力成熟度模型(CSMM)【易混考点】

CSMM是我国自主的软件过程能力成熟度模型,核心包括4个能力域和5个成熟度等级。

11.1四大能力域

1.治理:战略与治理、目标管理;

2.开发与交付:需求、设计、开发、测试、部署、服务、开源应用;

3.管理与支持:项目策划、监控、结项、质量保证、风险管理、配置管理、供应商管理;

4.组织管理:过程管理、人员能力、组织资源、过程能力管理。

11.2五大成熟度等级(口诀:一不二计三稳四量五创)

等级

名称

核心特征

1级

初始级

过程不确定,依赖个人能力

2级

项目规范级

项目基本按计划实现,有基础管理规范

3级

组织改进级

组织级标准化过程,稳定实现项目目标

4级

量化提升级

量化管理过程,建立绩效基线和模型

5级

创新引领级

持续优化革新,引领行业发展

十二、本章最简记忆总结(考前必背)

1.软件工程三要素:方法、工具、过程;架构五大风格:数据流、调用返回、独立构件、虚拟机、仓库。

2.需求三层:业务、用户、系统;QFD三类:常规、期望、意外。

3.结构化分析核心:数据字典+E-R图+DFD+STD;OOA核心:用例模型+分析模型。

4.UML四大关系:依赖、关联、泛化、实现;用例三关系:包含、扩展、泛化。

5.OOD七大原则:单职、开闭、里氏替换、依赖倒置、接口隔离、组合重用、迪米特。

6.设计模式三类:创建型、结构型、行为型;测试方法:静态+动态,白盒看逻辑,黑盒看功能。

7.测试六阶段:单元→集成→确认→系统→配置项→回归;部署策略:蓝绿全量切换,金丝雀灰度发布。

8.CSMM四域:治理、开发交付、管理支持、组织管理;五级:初始、规范、改进、量化、创新。

往期文章推荐:

软考高项技术总结|第1章 信息化发展,让你一文轻松吃透高频考点

软考高项技术总结|第2章 信息技术发展,让你一文轻松吃透高频考点

软考高项技术总结|第3章信息系统治理,让你一文轻松吃透高频考点

软考高项技术总结|第4章信息系统管理,让你一文轻松吃透高频考点

解读!软考高项论文,带你逐句编写自己的论文正文【示例:项目范围管理】

解读!软考高项论文,带你逐句编写自己的论文正文内容【示例:项目整合管理】

高项软考论文这样写,让你快速入门掌握【项目范围管理】论文写作技巧,以“收集需求”、“定义范围”两个子过程为例

高项软考论文这样写,让你快速入门掌握【项目整合管理】论文写作技巧,以 “管理项目知识”、“指导和管理项目工作” 两个子过程为例

高项软考论文这样写,让你快速入门掌握【项目整合管理】论文写作技巧,以“制定项目章程”、“制定项目管理计划”两个子过程为例

软考高项论文备考指南:高频子题目对应图表汇总【项目干系人管理篇】,内附详细示例图表

软考高项论文备考指南:高频子题目对应图表汇总【项目沟通管理篇】,内附详细示例图表

软考高项论文备考指南:高频子题目对应图表汇总【项目采购管理篇】,内附详细示例图表

软考高项论文备考指南:高频子题目对应图表汇总【项目风险管理篇】,内附详细示例图表

软考高项论文备考指南:高频子题目对应图表汇总【项目资源管理篇】,内附详细示例图表

软考高项论文备考指南:高频子题目对应图表汇总【项目质量管理篇】,内附详细示例图表

软考高项论文备考指南:高频子题目对应图表汇总【项目范围管理篇】,内附详细示例图表

软考高项论文备考指南:高频子题目对应图表汇总【项目整合管理篇】,内附详细示例图表

软考高项论文备考指南:历年考情全复盘 + 高频子题目考点梳理【项目绩效域篇】

软考高项论文备考指南:历年考情全复盘 + 高频子题目考点梳理【成本管理篇】

软考高项论文备考指南:历年考情全复盘 + 高频子题目考点梳理【进度管理篇】

软考高项论文备考指南:历年考情全复盘 + 高频子题目考点梳理【干系人管理篇】

软考高项论文备考指南:历年考情全复盘 + 高频子题目考点梳理【沟通管理篇】

软考高项论文备考指南:历年考情全复盘 + 高频子题目考点梳理【采购管理/合同管理篇】

软考高项论文备考指南:历年考情全复盘 + 高频子题目考点梳理【资源管理篇】

软考高项论文备考指南:历年考情全复盘 + 高频子题目考点梳理【风险管理篇】

软考高项论文备考指南:历年考情全复盘 + 高频子题目考点梳理【质量管理篇】

软考高项论文备考指南:历年考情全复盘 + 高频子题目考点梳理【范围管理篇】

软考高项论文备考指南:历年考情全复盘 + 高频子题目考点梳理【整合管理篇】

解读!软考高项论文,带你逐句编写自己的论文结尾段

解读!软考高项论文,带你逐句编写自己的论文背景总结段、过渡段

解读!软考高项论文,陪你逐句准备自己的论文背景段

干货!软考高项论文写作经验总结,助你通关论文框架

——未完待续,期望你的关注——

版权声明:本公众号注明原创的内容版权,属于本公众号作者所有。未经本公众号作者许可,禁止转载! 

本公众号标注为转载的内容,版权归原作者所有,仅供学习参考和交流之用。如有侵犯原作者权益,请及时联系我们删除。