【笔记-软考】软件架构概念

Author:赵志乾
Date:2024-07-18
Declaration:All Right Reserved!!!

1. 架构定义

        架构是指系统的一个或多个结构,结构中包括构件、构件的外部可见属性以及构件之间的相互关系。

        故架构是一种表达,其作用如下:

  • 分析所做设计的有效性;(即能否满足需求)
  • 在变更相对容易的阶段,考虑架构的可选方案;
  • 降低与软件构造相关联的风险;

2. 架构的重要性

        架构设计是降低成本、改进质量、按时按需交付产品的关键因素。其重要性体现在以下8个方面:

  • 有助于各利益相关方达成一致的目标;
  • 有助于在早期评估设计能否满足系统的品质;
  • 有效管理复杂性;
  • 对系统开发具有指导性;
  • 能够支持计划编制过程;
  • 为复用奠定基础
  • 降低维护费用
  • 支持冲突分析

3. 架构设计的生命周期

        架构设计过程可分为6个阶段:需求分析阶段、设计阶段、实现阶段、构件组装阶段、部署阶段、后开发阶段;

4. 架构的五大模型与4+1视图

4.1 五大模型
  • 结构模型:以架构的构件、连接件和其他概念来刻画结构,并试图以结构模型来反映整个系统的配置、内在逻辑等;
  • 框架模型:不太侧重描述结构细节而更侧重于整体的结构;主要是针对具体问题为目标,来设计适应该问题的模型;
  • 动态模型:系统的大颗粒行为性质,是对结构模型和框架模型的补充,描述系统的演化;
  • 过程模型:构建系统的步骤和过程;
  • 功能模型:由一组功能构件按层次组成,下层向上层提供服务;
4.2 4+1视图
  • 逻辑视图:支持系统的功能需求,用类图来描述;
  • 开发视图:也称模块视图或实现视图,主要侧重软件模块的组织和管理,通过系统IO关系的模型图和子系统图来描述;
  • 进程视图:侧重系统的运行特性,主要关注非功能性需求,如性能、可用性等,强调并发性、分布性、集成性和容错能力,定义了逻辑视图中的各个类的操作具体是在哪个线程中被执行的;
  • 物理视图:也称为部署视图,主要考虑如何把软件映射到硬件上,通常要考虑到系统拓扑、系统安装、通信等问题;
  • 场景:可看作重要系统活动的抽象,其使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象,对应于UML中的用例视图;

5. 额外知识点

        架构设计的根本目的是要解决好软件的复用、质量以及维护问题;其本质是需求分配,即将满足需求的职责分配到组件上。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我叫白小猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值