设计模式 1. 面向对象的设计原则(SOLID) 1.1 单一职责原则(Single Responsibility Principle, SRP) 简介:一个类只负责一个功能领域中的相应职责(避免混乱) 定义:单一职责原则要求类应该只有一个设计目的 1.2 开闭原则(Open Closed Principle,OCP) 简介:对扩展开放,对修改关闭(提高系统的扩展性、稳定性) 定义:可扩展系统并提供新行为,通过添加抽象层实现,是其他原则的基础。对扩展开放对修改封闭 BraumAce2026/1/2大约 9 分钟软考系统架构设计师系统分析与设计
系统分析与设计 1. 系统设计 1.1 概念 设计工程是指在整个软件开发过程中,通过对需求工程的结果进行分析和设计,制定出系统的整体设计方案,包括概要设计、详细设计、应用设计等多个部分。 主要目的:为系统制定蓝图,在各种技术和实施方法中权衡利弊,精心设计,合理地使用各种资源,最终勾画出新系统的详细设计方法。 1.2 设计方法 结构化设计方法 面向对象设计方法 BraumAce2026/1/2大约 23 分钟软考系统架构设计师系统分析与设计
需求工程 1. 软件需求 1.1 概念 软件需求:指 用户对系统 在功能、行为、性能、设计约束等方面的 期望。 1.2 软件需求的层次 业务需求: 整体全局视角,反映 企业 或 客户 对系统高层次的目标要求 通常来自 项目投资人、客户、市场营销部门 或 产品策划部门 通过业务需求可以确定 项目视图 和 范围。 用户需求: 用户视角,描述用户的具体目标,或用户要求系统必须能完成的任务 通常采取 用户访谈 和 问卷调查 等方式,对用户使用的场景进行整理,从而建立用户需求。 BraumAce2025/12/28大约 12 分钟软考系统架构设计师软件工程
软件系统环境与工具 1. 软件开发环境 软件开发环境(Software Development Environment,SDE),应支持多种集成机制 定义:是支持软件工程化开发和维护的一组软件工具和 环境集成机制 要求:需要支持 平台、数据、界面、控制 和 过程集成,且支持小组工作方式,提供配置管理 主要功能: 维护软件开发的一致性与完整性 实现配置管理及版本控制 支持数据的多种表示形式及自动转换 实现信息的自动检索与更新 提供项目控制和管理功能 支持开发方法学 集成机制组成: 环境信息库:存储 与系统开发相关 的信息,是 SDE 的核心部分,支持多工具间的 信息交流与共享 过程控制与消息服务器:实现 过程集成和控制集成 的基础,通过控制流程、调度工具及传递消息来协调各个开发活动 环境用户界面:包括环境总界面以及各部件各工具的界面。具有一致的用户界面,可以发挥环境的优越性,提高工具的使用效率,减轻用户的学习负担 BraumAce2025/12/27大约 3 分钟软考系统架构设计师软件工程
软件测试 1. 概念 定义:使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 目的: 确保软件的质量 确认软件以正确的方式做了用户所期望的事情 主要工作: 发现软件的错误 有效定义和实现软件成分由底层至高层的组装过程 验证软件是否满足任务书和系统定义文档所规定的技术要求 为软件质量模型的建立提供依据 基本原则: 测试能发现缺陷,但无法证明软件 “无缺陷” 或绝对正确 每个测试用例都必须定义预期的输出或结果 测试用例中不仅要说明合法有效的输入条件,还应该描述那些不期望的、非法的输入条件 缺陷的群集效应:80% 的软件错误都可以在大概 20% 的模块中找到根源(也称为二八原则) BraumAce2025/12/20大约 17 分钟软考系统架构设计师软件工程
基于构件的软件工程(CBSE) 1. 概念 基于构件的软件工程(Component-Based Software Engineering,CBSE)是一种新型的软件开发模式,旨在通过 复用可重用的软件构件 来构造高质量、高效率的应用软件系统。这种模式强调 将软件系统分解为独立的构件,每个构件都 具有明确定义的功能和接口,可以 独立开发、测试和部署。 是一种基于 分布对象技术、强调通过 可复用构件与构造软件系统 的软件复用途径(体现了购买而不是重新构造)。 用于 CBSE 的构件应该具备以下特征: 可组装性:对于可组装的构件,所有外部交互必须通过公开定义的接口进行。同时它还必须提供对自身信息的外部访问。 可部署性:软件必须是 自包含 的,必须能作为一个独立实体在提供其构件模型实现的构件平台上运行。构件总是 二进制形式,无须在部署前编译。如果一个构件实现为一项服务,它不必由用户来部署,而是由服务的提供者来部署。 文档化:构件必须是 完全文档化 的,用户根据文档来判断构件是否满足需求。 独立性:构件应该是 独立 的,应该可以在无其他特殊构件的情况下进行组装和部署,如确实需要其他构件提供服务,则应显示声明。 标准化:构件标准化意味着在CBSE过程中使用的构件必须符合某种标准化的构件模型。此模型会定义构件接口、构件元数据、文档管理、组成以及部署。 可见性:没有(外部的)可见状态。构件本身不直接暴露外部可见状态,但可以通过运行时 容器(如应用服务器、框架等)管理状态并对外提供可见性。 CSBE 过程的主要活动: 面向复用的开发: 开发将被复用在其他应用程序中的构件或服务。它通常是对已存在的构件进行通用化处理。 基于复用的开发 (主要): 复用已存在的构件和服务来开发新的应用程序。 开发过程: 系统需求概览 识别候选构件 根据发现的构件修改需求 体系结构设计 识别候选构件(构件定制与适配) 组装构件创建系统 BraumAce2025/12/20大约 18 分钟软考系统架构设计师软件工程
软件工程 1. 软件工程 1.1 软件生命周期 软件定义时期:包括 可行性研究 和 详细需求分析 过程,任务是确定系统的功能需求与目标,具体可分成问题定义、可行性研究、需求分析等。 软件开发时期:就是软件的设计与实现,将需求转化为可运行的软件系统,可分成 概要设计、详细设计、编码、测试 等。 软件运行和维护:就是把软件产品移交给用户使用,对其进行运行管理、错误修复,功能改进和性能优化等。 BraumAce2025/11/16大约 26 分钟软考系统架构设计师软件工程