系统架构师考点--系统架构设计(中)

news2024/11/14 13:23:27

大家好。今天继续总结一下系统架构设计的一些考点。

一、软件架构复用

软件产品线是指一组软件密集型系统,它们共享一个公共的、可管理的特性集,满足某个特定市场或任务的具体需要,是以规定的方式用公共的核心资产集成开发出来的。即围绕核心资产库进行管理复用、集成新的系统。

软件架构复用的类型包括机会复用系统复用。机会复用是指开发过程中,只要发现有可复用的资产,就对其进行复用。系统复用是指在开发之前,就要进行规划,以决定哪些需要复用。

可复用的资产包括:需求、架构设计、元素、建模与分析、测试、项目规划、过程方法和工具、人员、样本系统、缺陷消除。

复用的基本过程主要包括3个阶段:首先构造/获取可复用的软件资产,其次管理这些资产(构件库),最后针对特定的需求,从这些资产中选择可复用的部分,以开发满足需求的应用系统。

二、特定领域软件架构

DSSA就是专用于一类特定类型的任务(领域)的、在整个领域中能有效地使用的、为成功构造应用系统限定了标准的组合结构的软件构件的集合。​

DSSA的三个基本活动

领域分析:这个阶段的主要目标是获得领域模型(领域需求)。识别信息源即整个领域工程过程中信息的来源,可能的信息源包括现存系统、技术文献、问题域和系统开发的专家、用户调查和市场分析、领域演化的历史记录等,在此基础上就可以分析领域中系统的需求,确定哪些需求是领域中的系统广泛共享的,从而建立领域模型。

领域设计:这个阶段的目标是获得DSSA。DSSA描述在领域模型中表示的需求的解决方案,它不是单个系统的表示,而是能够适应领域中多个系统的需求的个高层次的设计。建立了领域模型之后,就可以派生出满足这些被建模的领域需求DSSA。

领域实现:这个阶段的主要目标是依据领域模型和DSSA开发和组织可重用信息这些可重用信息可能是从现有系统中提取得到,也可能需要通过新的开发得到。

DSSA的四种角色人员

领域专家:包括该领域中系统的有经验的用户、从事该领域中系统的需求分析设计、实现以及项目管理的有经验的软件工程师等。提供关于领域中系统的需求规约和实现的知识,帮助组织规范的、一致的领域字典,帮助选择样本系统作为领域工程的依据,复审领域模型、DSSA等领域工程产品等等。

领域分析人员:由具有知识工程背景的有经验的系统分析员来担任。控制整个领域分析过程,,进行知识获取,将获取的知识组织到领域模型中。

领域设计人员:由有经验的软件设计人员来担任。根据领域模型和现有系统开发出DSSA,并对DSSA的准确性和一致性进行验证。

领域实现人员:由有经验的程序设计人员来担任。根据领域模型和DSSA,开发构件。

建立DSSA的过程

定义领域范围:领域中的应用要满足用户一系列的需求。

定义领域特定的元素:建立领域的字典,归纳领域中的术语,识别出领域中相司和不相同的元素。

定义领域特定的设计和实现需求的约束:识别领域中的所有约束,这些约束对领域的设计和实现会造成什么后果。

定义领域模型和架构:产生一般的架构,并描述其构件说明。

产生、搜集可复用的产品单元:为DSSA增加复用构件,使可用于新的系统。

以上过程是并发的、递归的、反复的、螺旋型的。

三层次模型

领域开发环境:领域架构师决定核心架构,产出参考结构、参考需求、架构领域模型、开发工具。
领域特定的应用开发环境:应用工程师根据具体环境来将核心架构实例化。

应用执行环境:操作员实现实例化后的架构。

在这里插入图片描述

例题:
在这里插入图片描述

答案:C、C、C、D、B

三、基于架构的软件开发

ABSD方法是架构驱动,强调由业务质量和功能需求的组合驱动架构设计。它强调采用视角和视图来描述软件架构,采用用例和质量属性场景来描述需求进一步来说,用例描述的是功能需求,质量属性场景描述的是质量需求(或侧重于非功能需求)。

使用ABSD方法,设计活动可以从项目总体功能框架明确就开始,这意味着需求获取和分析还没有完成,就开始了软件设计。

ABSD方法有三个基础:第一个基础是功能的分解,使用已有的基于模块的内聚和耦合技术。第二个基础是通过选择架构风格来实现质量和业务需求。第三个基础是软件模板的使用,软件模板利用了一些软件系统的结构。

ABSD方法是递归的,且迭代的每一个步骤都是清晰定义的。因此,不管设计是否完成,架构总是清晰的,有助于降低架构设计的随意性。

基于架构的软件开发过程可分为以下六步:
在这里插入图片描述
(1)架构需求:重在掌握标识构件的三步,如下左图.

(2)架构设计:将需求阶段的标识构件映射成构件,进行分析,如下右图。

(3)架构(体系结构)文档化:主要产出两种文档,即架构(体系结构)规格说明,测试架构(体系结构)需求的质量设计说明书。文档是至关重要的,是所有人员通信的手段,关系开发的成败。
在这里插入图片描述
(4)架构复审:由外部人员(独立于开发组织之外的人,如用户代表和领域专家等)参加的复审,复审架构是否满足需求,质量问题,构件划分合理性等。若复审不过,则返回架构设计阶段进行重新设计、文档化,再复审。

(5)架构实现:用实体来显示出架构。实现构件,构件组装成系统如下左图。

(6)架构演化:对架构进行改变,按需求增删构件,使架构可复用,,如下右图。
在这里插入图片描述

例题:
在这里插入图片描述
答案:B、C、C、A
好了,今天就总结到这里了。大家一定要多准备准备这块内容。
不畏山高路远,不惧风高浪急。加油!

最后依旧是请希望大家能给作者点个关注,谢谢大家!各位老板有钱的捧个人场,没钱的也捧个人场,谢谢各位老板!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1957243.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CVPR 2024 最佳论文分享┆物体用体积表示:一种不透明固体图形的随机几何表示方法

本文详细介绍了一篇获得CVPR 2024最佳论文提名的论文《Objects as volumes: A stochastic geometry view of opaque solids》。该论文的作者为Bailey Miller等人。论文提出了一种新的理论框架,从随机几何学的角度解释和改进当前体积表示方法,即将不透明固…

OZON大健康热卖产品,OZON大健康产品有哪些

在俄罗斯,随着全球健康意识的提升,特别是在新冠疫情之后,人们对于增强免疫力和保持健康的关注度显著增加。这种趋势在俄罗斯尤为明显,其中天然食品补剂、家居清洁用品以及个人护理产品等大健康领域的产品需求激增。以下是根据当前…

线上红酒品鉴会:与专业人士面对面交流

在繁忙的现代生活中,我们时常渴望寻找一个安静的角落,与志同道合的朋友共同品味生活的美好。当红酒的醇香与线上交流的便捷相结合,一场别开生面的线上红酒品鉴会便应运而生。今天,让我们一同走进这场与专业人士面对面交流的线上红…

WSL for Windows

1、安装 超详细Windows10/Windows11 子系统(WSL2)安装Ubuntu20.04(带桌面环境)_wsl安装ubuntu20.04-CSDN博客https://blog.csdn.net/weixin_44301630/article/details/122390018 注意,安装之后首次启动 Ubuntu 时&…

当我们谈论前端性能时,我们在谈论什么

前端岗位内推来了 本文结合Google官方工具 Lighthouse 分析最新的前端页面性能评分标准,帮助大家更好地理解各种性能指标,以改进和优化相关前端项目。 前端页面性能一直是大家持续关注的话题,因为用户留存率与页面加载性能密切相关。根据Goog…

全球模块化机器人市场展望与未来增长机遇预测:未来六年CAGR为14.9%

在全球自动化和智能化水平提升的背景下,模块化机器人正成为市场的焦点。本文详细分析了全球模块化机器人市场的现状、增长趋势及未来前景,旨在为投资者和业内人士提供深入的市场洞察和指导。 市场概览 据恒州诚思团队研究分析显示,2023年&am…

zeal 开发者离线文档工具

zeal是一款程序开发者不可或缺的离线文档查看器 下载地址 官网地址: windows版csdn下载(开箱即用含):https://download.csdn.net/download/xzzteach/89588765 已离线 Android.docset Apache_HTTP_Server.docset Bash.docset Bootstrap_4.docset Bootst…

QT6安装

我是直接使用 qt-online-installer-windows-x64-4.8.0.exe 安装包一键安装的 需要安装包的可以在此路径下载: qt-online-installer-windows-x64-4.8.0.exe,qt6一键安装包资源-CSDN文库

C#编写软件发布公告2——服务端

简单说明 框架:.NET 6.0 MVC 数据库:sqlLite3(当然这是为考虑本地数据简单,可以考虑使用大型数据库) 一、界面效果展示 1、启动主页面 2、记录摘要界面 3、对应版本详细 二、实现代码逻辑 1、启动主页面 //关联日志文件写 builder.Loggi…

音频处理过程

1、音频 (1)打开设备 (2)从音频设备中读取数据 (3)将音频设备中读取的数据写入文件夹中 (4) 通过界面控制开始录制和结束录制(使用多线程和状态码控制) &…

Spring监听器不同的注册方式下带来的监听范围的变化

事件监听注册的几种方式 ApplicationContext下面简称AC 1.构建SpringApplication时注册(可以监听AC启动阶段事件) // 方式一: //写法1 SpringApplication application new SpringApplicationBuilder().listeners(new ApplicationPidFileWriter()).bu…

网课录制新技能,声画同步,三款录屏软件助力教师高效授课

在数字化教育的浪潮中,教师和培训讲师们越来越依赖于录制网课来提升教学效果。无论是PPT课件的深入讲解,Word文档的详细演示,还是操作手册的直观展示,一款出色的录屏软件都能使这一过程更加生动和高效。今天,我将为大家…

【C++/STL】:哈希 -- 线性探测哈希桶

目录 💡前言一,unordered系列容器二,哈希2.1 哈希的概念2.2 哈希函数2.3 哈希冲突 三,哈希冲突解决(重点)3.1 开放定址法3.2 哈希桶(重点) 四,线性探测的实现4.1 线性探测的基本框架4.2 插入操作4.3 查找操作4.4 删除操…

【C++】类和对象——Lesson1

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C 🚀本系列文章为个人学习笔记…

【Golang 面试 - 基础题】每日 5 题(十)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…

关联映射和缓存机制学习笔记

学习视频:4001 关联映射概述_哔哩哔哩_bilibili~4007 案例:商品的类别_哔哩哔哩_bilibili 目录 1.关联映射概述 1.1关联映射关系 一对一关系 一对多关系 多对多关系 Java对象如何描述事物之间的关系 1.2一对一查询 元素 a.嵌套查询方式 b.嵌套结果方…

Spring Cache常用注解

依赖代码如下&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency> 常用注解详解 1. Cacheable 作用&#xff1a;主要用于配置方法&#xff0c;使其…

第九届全球渲染大赛来了!CG爱好者准备好了吗!

在CG界的日历上&#xff0c;二月和八月总是特别繁忙的月份。这两个月&#xff0c;全球CG艺术界最盛大的赛事——全球渲染大赛&#xff0c;都会开放报名&#xff0c;吸引着世界各地的CG艺术家和爱好者参与。备受期待的第九届全球渲染大赛&#xff0c;已经定于2024年8月3日在美国…

微信私域运营工具分享

解决微信多管理难的问题&#xff0c;多微信工作重复做&#xff0c;效率低的问题&#xff0c;防止飞单、删除客户&#xff0c;解决私域运营的难题

在双碳目标下,如何实现工厂的数字化改造升级

在"双碳"目标下&#xff0c;如何实现工厂的数字化改造升级 在“双碳”目标&#xff0c;即2030年前实现碳达峰、2060年前实现碳中和的宏伟蓝图下&#xff0c;企业作为经济社会活动的主体&#xff0c;其改造升级不仅是响应国家战略的必然要求&#xff0c;也是实现可持…