欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 【笔记-软考】软件架构概念

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

2024/11/30 6:39:39 来源:https://blog.csdn.net/zhaoyaxuan001/article/details/140515552  浏览:    关键词:【笔记-软考】软件架构概念
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. 额外知识点

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com