25-专业英语

25-专业英语(第25小时)

软考-系统架构设计师 | 第5篇 架构设计补充知识 出题形式:上午单选题(5 道英文题) 分值占比:5 分


0. 考点分析

  • 架构风格 Architectural Style
  • 非功能需求 Nonfunctional Requirements
  • 应用架构 Application Architecture
  • 软件架构重用 Software Architecture Reconstruction
  • 三大软件架构结构(Module / Component-and-Connector / Allocation)

1. 核心知识点

1.1 架构风格(Architectural Style)

An architectural style defines as a family of such systems in terms of a pattern of structural organization. More specifically, an architectural style defines a vocabulary of components and connector types, and a set of constraints on how they can be combined. For many styles there may also exist one or more semantic models that specify how to determine a system’s overall properties from the properties of its parts. Many of architectural styles have been developed over the years.

译文

  • 架构风格以一种结构化组织模式定义一组这样的系统
  • 具体定义:
    • 构件及连接器类型的词汇表(vocabulary of components and connector types)
    • 关于如何组合的约束集(set of constraints on how they can be combined)
  • 对于许多风格,还存在一个或多个语义模型,从部件特性确定系统整体特性
  • 经典例子:管道-过滤器(pipe-and-filter)架构 → UNIX shell 程序

1.2 非功能需求(Nonfunctional Requirements)

The architecture design specifies the overall architecture and the placement of software and hardware. Architecture design is a very complex process that is often left to experienced architecture designers and consultants. The first step is to refine the nonfunctional requirements into more detailed requirements that are then employed to help select the architecture to be used and the software components to be placed on each device. In a client-based architecture, one also has to decide whether to use a two-tier, three-tier, or n-tier architecture. Then the requirements and the architecture design are used to develop the hardware and software specification.

4 种主要非功能需求

类型关注点关键词
Operational Requirements系统必须执行的操作环境,及随时间变化运行环境
Performance Requirements响应时间、容量、可靠性response time, capacity, reliability
Security Requirements保护信息系统免受破坏和数据丢失故意行为防护
Cultural and Political Requirements系统使用国家/地区跨文化、跨地区

1.3 应用架构(Application Architecture)

An application architecture specifies the technologies to be used to implement one or more information systems. It serves as an outline for detailed design, construction, and implementation.

关键步骤

  1. 给定模型和详细资料(逻辑 DFD + ERD
  2. 分配数据和过程 → 创建应用架构的概要设计
  3. 概要设计的约束因素
    • 架构标准(architecture standards)
    • 项目目标(project objectives)
    • 所使用技术的可行性(feasibility of techniques)

绘制顺序

  • 第 1 个物理 DFD:网络架构 DFD(network architecture DFD)
  • 下一步:分配数据存储到不同处理器
  • 数据分布的两种方式
    • 数据分区(Data Partitioning)
    • 数据复制(Data Replication)
  • 不同服务器上存储特定表时 → 将每个表记为物理 DFD 中的数据存储,并连接到相应服务器

1.4 软件架构重用(Software Architecture Reconstruction)

Software architecture reconstruction is an interpretive, interactive, and iterative process including many activities.

主要活动

活动说明
Information extraction(信息提取)分析系统现有设计和实现工件,构造模型
Database construction(数据库构建)将视图中元素和关系转换为标准存储格式
View fusion(视图融合)定义和操作数据库中存储的信息,理顺、加强并建立元素之间连接
Visualization and interaction(可视化与交互)让用户操作架构元素的机制
Pattern definition and recognition(模式定义与识别)用于架构重构的设施

1.5 软件架构三大结构(必考)

Software architectural structures can be divided into three major categories, depending on the broad nature of the elements they show.

类别体现的决策关键特征
Module structures(模块结构)体现为需要被构建或采购的代码或数据单元编译时/静态视角
Component-and-connector structures(构件连接器结构)系统如何被结构化为一组具有运行时行为和交互的元素运行时/动态视角
Allocation structures(分配结构)系统如何关联到非软件结构(CPU、文件系统、网络、开发团队等)部署/环境视角

2. 关键概念速查

英文术语中文关键定义
Architectural style架构风格构件/连接器词汇表 + 组合约束集
Pipe-and-filter管道-过滤器经典架构风格,UNIX shell
Nonfunctional requirements非功能需求操作/性能/安全/文化政治 4 类
Application architecture应用架构实现 IS 的技术集合,详细设计大纲
Logical DFD逻辑数据流图应用架构设计的输入
ERD实体联系图应用架构设计的输入
Network architecture DFD网络架构数据流图第一个物理 DFD
Data partitioning数据分区分布式数据形式之一
Data replication数据复制分布式数据形式之一
Architecture reconstruction架构重构解释性、交互式、反复迭代过程
Information extraction信息提取重构活动的第一步
Module structures模块结构代码/数据单元(构建时)
Component-and-connector structures构件连接器结构运行时行为和交互
Allocation structures分配结构关联到非软件结构(CPU/网络/团队)

3. 典型例题

题目:A system’s architecture is a representation of a system in which there is a mapping of (1) onto hardware and software components, a mapping of the (2) onto the hardware architecture, and a concern for the human interaction with these components. That is, system architecture is concerned with a total system, including hardware, software, and humans.

Software architectural structures can be divided into three major categories, depending on the broad nature of the elements they show. (3) embody decisions as a set of code or data units that have to be constructed or procured. (4) embody decisions as to how the system is to be structured as set of elements that have run-time behavior and interactions. (5) embody decisions as to how the system will relate to non-software structures in its environment (such as CPUs, file systems, networks, development teams, etc.).

(1)A. attributes B. constraint C. functionality D. requirements (2)A. physical components B. network architecture C. software architecture D. interface architecture (3)A. Service structures B. Module structures C. Deployment structures D. Work assignment structures (4)A. Decomposition structures B. Layer structures C. Implementation structures D. Component and connector structures (5)A. Allocation structures B. Class structures C. Concurrency structures D. Uses structures

答案

  • (1) C functionality
  • (2) C software architecture
  • (3) B Module structures
  • (4) D Component and connector structures
  • (5) A Allocation structures

解析

  • (1) 系统架构 = 功能(functionality)到软硬件构件的映射
  • (2) 软件架构(software architecture)到硬件架构的映射
  • (3) 模块结构 = 代码或数据单元(构建/采购)
  • (4) 构件连接器结构 = 运行时行为和交互
  • (5) 分配结构 = 关联到 CPU/文件系统/网络/开发团队等非软件结构

4. 高频考点

  1. 架构风格定义:构件/连接器词汇表 + 组合约束集 + 语义模型
  2. 非功能需求 4 类:Operational / Performance / Security / Cultural and Political
  3. 应用架构概要设计 3 约束:架构标准 / 项目目标 / 技术可行性
  4. 第一个物理 DFD:网络架构 DFD(不是逻辑 DFD)
  5. 数据分布两方式:数据分区(partitioning)+ 数据复制(replication)
  6. 架构重构 5 活动:信息提取 → 数据库构建 → 视图融合 → 可视化交互 → 模式定义识别
  7. 三大架构结构(必考)
    • Module structures = 代码/数据单元
    • Component-and-connector structures = 运行时行为和交互
    • Allocation structures = 关联到非软件结构
使用 Hugo 构建
主题 StackJimmy 设计