【架构专栏】第7章 系统架构设计基础知识 3/3

架构设计 相关文档,希望互相学习,********************************************************共同进步

风123456789~-CSDN博客


系统架构设计 相关文章

【架构专栏】架构考试介绍

【架构专栏】架构知识点


知识总览

共19章内容,主要包括:

1)1绪论、2计算机系统、3信息系统、4信息安全技术、5软件工程

2)6数据库设计、7系统架构设计基础知识

3)8系统质量属性与架构评估、9软件可靠性、

10软件架构演化与维护、11未来信息综合技术

4)12信息系统架构设计、13层次式架构设计、14云原生架构设计、

15面向服务架构设计、16嵌入式系统架构设计、17通信系统架构设计、

18安全架构设计、19大数据架构设计

每天进步一点点,加油!小伙伴们!💪


本文学习第7章 系统架构设计基础知识 3/3,以下为个人笔记,希望有所帮助,共同学习。

(本章内容侧重概念知识,来源于教材,涉及单选题约占 8~15 分,和下午案例题25 分,论文也 会有涉及,非常重要!非常重要!非常重要!)

包括:软件架构概念(定义、软件架构设计与生命周期、软件架构的重要性)、

基于架构的软件开发方法(概述、术语、基于体系结构的开发模型、

体系结构 -需求|设计|文档化|复审|实现|演化 )

软件架构风格(概述、数据流、调用/返回、数据为中心、虚拟机、独立构件风格)、

软件架构复用(定义及分类、复用原因、复用的对象及形式、复用的基本过程)、

特定领域软件架构体系(DSSA 定义、基本活动、参与的人员、建立过程)。

第7章 系统架构设计基础知识

7.1 -7.2 软件架构概念、基于架构的软件开发方法

【架构专栏】第7章 系统架构设计基础知识 1/3https://blog.csdn.net/weixin_42081167/article/details/164631943

7.3 软件架构风格

【架构专栏】第7章 系统架构设计基础知识 2/3https://blog.csdn.net/weixin_42081167/article/details/164632204

7.4 软件架构复用

7.4.1 软件架构复用的定义及分类

软件复用:是一种系统化的软件开发过程,通过识别、开发、分类、获取和修改软件实体,以便在不同的软件开发过程中重复的使用它们。

软件复用是系统化的软件开发过程:开发一组基本的软件构件模块,以覆盖不同的需求/体系结构之间的相似性,++提高系统开发的效率、质量和性能++。

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

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

7.4.2 软件架构复用的原因

软件架构复用的原因:减少开发工作、减少开发事件、降低开发成本、提高生产力、提 高产品质量,更好的互操作性。

7.4.3 软件架构复用的对象及形式

可复用的资产包括:需求、架构设计、元素、建模分析、 测试、

项目规划、过程+方法+工具、人员、样本系统、缺陷消除。

一般形式的复用包括:函数的复用、库的复用、

面向对象开发中的类、

接口和包的复用。

7.4.4 软件架构复用的基本过程

首先构建/获取可复用的软件资产(复用前提)→管理可复用 资产→使用可复用资产。

1.复用的前提:获取可复用的软件资产

2.管理可复用资产

3.使用可复用资产

7.5 特定领域软件体系结构

7.5.1 DSSA的定义

特定领域软件架构(Domain Specific Software Architecture,DSSA):是在一个特定应用领域中 为一组应用提供组织结构参考的标准软件体系结构,即用于某一类特定应用领域的标准软件构件集合

DSSA就是一个特定的问题领域中支持一组应用的领域模型、参考需求、参考架构等组成的开发基础,其目标就是支持在一个特定领域中多个应用的生成。
DSSA 通常是一个具有三个层次的系统模型:

领域开发环境、领域特定应用开发环境、应用执行环境

(应用工程师)

(1)领域开发环境:领域架构师决定核心架构,产出参考结构、参考需求、架构、领域模型、开发工具。

(2)领域特定的应用开发环境:应用工程师根据具体环境来将核心架构实例化。

(3)应用执行环境:操作员实现实例化后的架构。
DSSA 的特征:领域性、普遍性、抽象性、可复用性。

(1)一个严格定义的问题域和问题解域。

(2)具有普遍性,使其可以用于领域中某个特定应用的开发。

(3)对整个领域的构件组织模型的恰当抽象。

(4)具备该领域固定的、典型的在开发过程中可重用元素。
有两种理解DSSA领域的含义如下:

(1)垂直域:定义了一个特定的系统族。

在一个特定领域中的通用的软件架构,是一个完整的架构。

(2)水平域:定义了在多个系统和多个系统族中功能区城的共有部分 。

在多个不同的特定领域之间的相同的部分的小工具

(如购物和教育都有收费系统,收费系统即是水平域)

7.5.2 DSSA的基本活动

DSSA 的3个基本活动有领域分析、领域设计、领域实现。

(1)领域分析:通过分析领域中系统的共性需求,建立领域模型。

1)首先准备性的活动,包括 定义领域的边界,从而明确分析的对象。

2)识别信息源,即整个领域工程过程中信息的来源,可能的信息源包括:现存系统、技术文献、问题域、系统开发的专家、用户调查、市场分析、领域演化的历史记录等。

3)在此基础分析领域中系统的需求,确定哪些需求是领域中的系统广泛共享的,从而建立领域模型。

(2)领域设计:设计 DSSA,且 DSSA 需要具备领域需求变化的适应性。

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

(3)领域实现:获取可重用信息。

本阶段目标:依据领域模型 和DSSA 开发和组织可重用信息。

以上过程是一个 反复的、逐渐求精的过程,在每个阶段都可能返回到以前的步骤,对一起的步骤得到的结果进行修改和完善,再回到当前步骤,在新的基础上进行本阶段的活动。

7.5.3 参与 DSSA的人员

参与 DSSA 的人员有:领域专家、领域分析师、领域设计人员、领域实现人员

1.领域专家

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

2.领域分析人员

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

3.领域设计人员

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

4.领域实现人员

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

7.5.4 DSSA的建立过程

DSSA 的建立过程:是并发的、递归的、反复的螺旋模型,每个阶段可以进一步划分为一些步骤或子阶段。每个阶段包括一组需要回答的问题,一组需要的输入,一组将产生的输出和验证标准。完成本过程可能需要对每个阶段经历几遍,每次增加更多的细节,类似螺旋模型。分为五个阶段:

并发的 (Concurrent)、 递 归的 (Recursive)、 反复的 (Iterative)

(1)定义领域范围

定义领域范围:本阶段的重点是确定什么在感兴趣的领域中以及本过程到何时结束。输出是领域中的应用要满足用户一系列的需求。

(2)定义领域特定的元素

定义领域特定的元素:本阶段的目标是编译领域字典和领域术语的同义词词典。归纳领域中的术语,识别出领域中相同和不相同的元素。

(3)定义领域特定的设计和实现需求约束

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

(4)定义领域模型和体系结构

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

(5)产生、搜集可重用的产品单元

产生、搜集可复用的产品单元:为DSSA增加复用构件,使可用于新的系统。
DSSA的建立过程是并发的、递归的和反复进行的。该过程的目的是将用户的需求映射为基于实现限制集合的软件需求,这些需求定义了DSSA。在此之前的领域工程和领域分析过程并没有对系统的功能性需求和实现限制进行区分,而是统称为"需求"。

补充知识点:

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

核心资产库包括软件架构及其可剪裁的元素,更广泛地,它还包括设计方案及其文档、用户手册、项目管理的历史记录(如预算和进度)、软件测试计划和测试用例。

ok, 今天就到这里吧 🤗


相关系列文章,欢迎点赞、收藏,提供意见!​****

计算机系统基础知识 1分:概述、计算机硬件、计算机软件

操作系统 3分:进程管理、存储管理、文件管理、设备管理

数据库技术 3分:数据库设计、关系代数、范式、事务并发、数据库安全、新技术

嵌入式技术 3分:嵌入式硬件、嵌入式操作系统、嵌入式软件开发

计算机网络 3分(超纲较多):OSI七层模型、TCP/IP协议族、网络生命周期、IP地址

其他计算机系统基础知识 1分:计算机语言、多媒体、系统工程

系统性能 1分:性能指标、性能设计

信息系统基础知识 3分:信息系统生命周期、开发方法、五大典型系统

信息安全技术基础 5分:安全属性、信息安全技术、网络安全技术、安全协议

软件工程 12分:概述、需求工程、系统设计、运维、测试、基于构件;

面向对象技术 3分:面向对象基础、分析设计、UML关系、图

项目管理 1分:进度管理、配置管理、质量管理、风险管理

系统架构设计 20分:架构概念、生命周期、ABSD、DSSA、架构风格、

架构复用、质量属性、架构评估

软件可靠性 2分:可靠性建模、软件可靠性设计

软件架构的演化和维护1分:架构演化分类、评估、面向对象架构演化

未来信息综合技术 3分:信息物理系统、人工智能、边缘计算、机器人、数字李生、云计算

数学与经济管理 2分:最小生成树、最短路径、网络与最大流量、线性规划、决策论

知识产权和标准化 2分:知识产权属性、保护期限、产权人确定、侵权判定

专业英语 5分:完形填空,大学英语3级难度,自学

|--------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
| 【架构专栏】架构考试介绍 | 【架构专栏】架构知识点 |
| 【架构专栏】第1章 绪论 | 【架构专栏】第11章 未来信息综合技术 |
| 【架构专栏】第2章 计算机基础知识 | 【架构专栏】第12章 信息系统架构设计理论与实践 |
| 【架构专栏】第3章 信息系统基础知识 | 【架构专栏】第13章 层次式架构设计理论与实践 |
| 【架构专栏】第4章 信息安全技术基础知识 | 【架构专栏】第14章 云原生架构设计理论与实践 |
| 【架构专栏】第5章 软件工程基础知识 | 【架构专栏】第15章 面向服务架构设计理论与实践 |
| 【架构专栏】第6章 数据库设计基础知识 | 【架构专栏】第16章 嵌入式系统架构设计理论与实践 |
| 【架构专栏】第7章 系统架构设计基础知识 | 【架构专栏】第17章 通信系统架构设计理论与实践 |
| 【架构专栏】第8章 系统质量属性与架构评估 | 【架构专栏】第18章 安全架构设计理论与实践 |
| 【架构专栏】第9章 软件可靠性基础知识 | 【架构专栏】第19章 大数据架构设计理论与实践 |
| 【架构专栏】第10章 软件架构的演化和维护 | |
[架构专栏 知识点]




希望有所帮助,互相学习、共同进步,欢迎点赞、收藏!

相关推荐
天空之城--1 小时前
Flutter线程模型完全指南:从架构到实战
flutter·架构
头茬韭菜2 小时前
第 1 篇:「架构鸟瞰与 Memory 初始化」—— 从 pip install 到三个工厂
jvm·架构·pip·mem0
风123456789~2 小时前
【架构专栏】第7章 系统架构设计基础知识 2/3
架构·系统架构
励志不掉头发的内向程序员2 小时前
【LibreCAD 2D架构】RS_Line创建之后发生了什么?从图形容器到屏幕渲染
开发语言·c++·qt·学习·系统架构
vx-Biye_Design9 小时前
SSM伴侣动物伴护星小程序06330-计算机课程设计、毕业设计
spring boot·后端·elasticsearch·小程序·架构·课程设计·idea
X54先生(人文科技)11 小时前
ELR-SELLM Edge 神经元网络架构评估报告
人工智能·深度学习·架构·开源
微三云生态系统架构师-彭丹12 小时前
顶俏积分闭环S2B2C系统设计:以销定产与积分换货的技术实现
系统架构
小陈不好吃13 小时前
从单体到微服务:Spring Cloud Gateway 动态路由实战与踩坑记录
微服务·云原生·架构
混凝土拌意大利面13 小时前
基于MQ(消息队列)的RPC框架
架构