【系统架构师】-案例考点(一)

news2024/11/17 1:59:32

1、软件架构设计

主要考点:

质量属性、软件架构风格、软件架构评估、MVC架构、面向服务的SOA架构、

DSSA、ABSD

1.1、质量属性

1、性能:指系统的响应能力,即要经过多长时间才能对某个事件做出响应,或者在某段时间内系统所能处理的事件的个数。如响应时间、吞吐量。设计策略:优先级队列、增加计算资源、减少计算开销、引入并发机制、采用资源调度等。

2、可靠性:是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统的功
能特性的基本能力。如 MTTF、MTBF。设计策略:心跳、Ping/Echo、冗余、选举。

3、可用性:是系统能够正常运行的时间比例,经常用两次故障之间的时间长度或在出现故障时系统能够恢复正常的速度来表示。如故障间隔时间。设计策略:心跳、Ping/Echo、冗余、选举。

4、安全性:是指系统在向合法用户提供服务的同时能够阻止非授权用户使用的企图或拒绝服务的能力。如保密性、完整性、不可抵赖性、可控性。设计策略:入侵检测、用户认证、用户授权、追踪审计。

5、可修改性:指能够快速的以较高的性能价格比对系统进行变更的能力。通常以某些具体的变更为基准,通过考察这些变更的代价衡量。设计策略: 接口-实现分类、抽象、信息隐藏

6、功能性:是系统所能完成所期望的工作的能力。一项任务的完成需要系统中许多或大多数构件的相互协作。

7、可变性:指体系结构经扩充或变更而成为新体系结构的能力。这种新体系结构应该符合预先定义的规则,在某些具体方面不同于原有的体系结构。当要将某个体系结构作为一系列相关产品的基础时,可变性是很重要的。

8、互操作性:作为系统组成部分的软件不是独立存在的,经常与其他系统或自身环境相互作用。
为了支持互操作性,软件体系结构必须为外部可视的功能特性和数据结构提供精心设计的软件入口。
程序和用其他编程语言编写的软件系统的交互作用就是互操作性的问题,也影响应用的软件体系结构。

软件架构风格是指描述特定软件系统组织方式的惯用模式。组织方式描述了系统的组成构件和这些构件的组织方式,惯用模式则反映众多系统共有的结构和语义。

风险点:是指架构设计中潜在的、存在问题的架构决策所带来的隐患。

敏感点:是指为了实现某种特定的质量属性,一个或多个构件所具有的特性。

权衡点:是影响多个质量属性的特性,是多个质量属性的敏感点。

1.2、架构风格比对

1.3、MVC架构

MVC 强制性地把一个应用的输入、处理、输出流程按照视图、控制、模型的方式进行分离,形成了三个核心模块:控制器、模型、视图。
(1)控制器(Controller):是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

(2)模型(Mode1):是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。模型表示业务数据和业务逻辑。

(3)视图(View):是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。

1.4、J2EE体系

客户层组件:J2EE应用程序可以是基于web 方式的,也可以是基于传统方式的.静态的 HTML(标准通用标记语言下的一个应用)页面和Applets 是客户层组件

web 层组件:J2EEweb层组件可以是JSP页面或Servlet。

业务层组件:业务层代码的逻辑用来满足特定领域的业务逻辑处理。

EJB是JavaEE服务器端组件模型,设计目标与核心应用是部署分布式应用程序。简单来说就是把已经编写好的程序(即:类)打包放在服务器上执行。凭借java跨平台的优势,用EB技术部署的分布式系统可以不限于特定的平台。

会话 bean:表示与客户端程序的临时交互,当客户端程序执行完后,会话 bean 和相关数据就会消失

实体 bean:表示数据库的表中一行永久的记录,当客户端程序中止或服务器关闭时,就会有潜在的服务保证实体bean的数据得以保存.

消息驱动 bean:结合了会话bean 和 JMS的消息监听器的特性,允许一个业务层组件异步接收 JMS 消息.

信息系统层:企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划(ERP),大型机事务处理,数据库系统,和其它的遗留信息系统,例如,J2EE应用组件可能为了数据库连接需要访问企业信息系统。

JSP+Servlet+JavaBean+DAO

JSP:用于显示、收集数据的部分。作为MVC 中的视图 V。

Servlet:作为业务逻辑层,用于处理复杂的业务逻辑,如验证数据、实例化JavaBean、调用 DAO连接数据库等。作为MVC中的控制器C。在其中会调用Service方法处理服务。

JavaBean用于数据的封装,方便将查询结果在servlet与jsp 页面之间进行传递等。

DAO:用于连接数据库及进行数据库的操作如:查询、删除、更改等。

DAO与JavaBean 合在一起为 MVC中的模型 M。

基本流程:

JSP 发一个数据到 servlet,servlet 收到后做下解析再根据数据调用相应的 service 去服务,service 如果有要调用数据库就通过 DAO跟数据库交互,使用JavaBean 完成封装,返回结果给servlet,servlet 再返回给 JSP。

1.5、面向服务的架构SOA

ESB 特点:

1、SOA 的一种实现方式,ESB 在面向服务的架构中起到的是总线作用,将各种服务进行连接与整合;
2、描述服务的元数据和服务注册管理:
3、在服务请求者和提供者之间传递数据,以及对这些数据进行转换的能力,并支持由实践中总结出来的一些模式如同步模式、异步模式等;
4、发现、路由、匹配和选择的能力,以支持服务之间的动态交互,解耦服务请求者和服务提供沓高级一些的能力,包括对安全的支持、服务质量保证、可管理性和负载平衡等。

ESB的主要功能:

服务位置透明性;

传输协议转换;

消息格式转换;

消息路由;

消息增强;

安全性;

监控与管理。

2、系统开发基础

考察:

UML的图、关系的识别、设计模式识别

数据流图、E-R图、信息安全、项目管理-进度管理-关键路径

2.1、结构化

结构化特点:

自顶向下,逐步分解,面向数据。

三大模:

功能模型(数据流图)、行为模型(状态转换图)、数据模型(E-R图)以及数据字典(数据元素、数据结构、数据流、数据存储、加工逻辑、外部实体)。

2.2、用例建模

用例图:静态图,展现了一组用例、参与者以及它们之间的关系。用例图中的参与者是人、硬件或其他系统可以扮演的角色;用例是参与者完成的一系列操作。

用例之间的关系(包含 include、扩展 extend、泛化),

例如:

登记外借信息用例包含用户登录用例,因为每次如果要登记外借信息,必然要先进行用户登录。

而查询书籍信息的扩展是修改书籍信息,是因为每次查询书籍信息后,发现有错误才会修改,否则不修改,不是必要的操作。

因此,区分用例间的关系是包含还是扩展,关键在于是不是必须操作。

数据流图:

E-R图

进度管理:

PERT(项目评估与评审技术)图是一种图形化的网络模型,描述一个项目中任务和任务之间的关系,每个节点表示一个任务,通常包括任务编号、名称、开始和结束时间、持续时间和松弛时间。

Gantt 图是一种简单的水平条形图,它以一个日历为基准描述项目任务,横坐标表示时间,纵坐标表示任务,图中的水平线段表示对一个任务的进度安排,线段的起点和终点对应在横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示完成该任务所需的时间。

PERT 图主要描述不同任务之间的依赖关系:Gantt 图主要描述不同任务之间的重叠关系。

关键路径:

项目中的最短工期

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

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

相关文章

不同版本vue安装vue-router

vue-router 是vue官网发布的一个插件库,单页面路由。vue 和 vue-router 之间版本也需要对应。 vue2.x版本使用vue-router3.x版本,vue3.x使用vue-router4.x版本,根据自己的需要选择合适的版本 1、可以在安装前查看vue-router版本,…

K8S哲学 - probe 探针

探针分类: liveness probe readiness probe startup probe Liveness Probe:用于检查容器是否还在运行。如果 Liveness Probe 失败,Kubernetes 会杀死容器,然后根据你的重启策略来决定是否重新启动容器。常见的做法是使用与 Readin…

深度学习:Pytorch分布式训练

深度学习:Pytorch分布式训练 简介模型并行数据并行参考文献 简介 在深度学习领域,模型越来越庞大、数据量不断增加,训练这些大型模型越来越耗时。通过在多个GPU或多个节点上并行地训练模型,我们可以显著减少训练时间。此外&#…

Python长时间序列遥感数据处理及在全球变化、物候提取、植被变绿与固碳分析、生物量估算与趋势分析等领域中的应用

植被是陆地生态系统中最重要的组分之一,也是对气候变化最敏感的组分,其在全球变化过程中起着重要作用,能够指示自然环境中的大气、水、土壤等成分的变化,其年际和季节性变化可以作为地球气候变化的重要指标。此外,由于…

安装Hexo上传插件时,使用hexo d 报错“Spawn Failed”

问题如下: 解决方案: 找到deploy的配置文件 将配置文件增加 [user]email xxxx你git的邮箱地址name 你git的用户名 然后执行hexo clean清除一下后,执行hexo d,会弹出让你登录git的账号和密码,登录后就上传成功了。 …

Java 判断两个Date类型的时间是否大于6天

判断两个Date类型的时间是否大于6天 new Date().toInstant() 是获取当前时间,并转换成Instant对象 cardDeviceTrajectoryInfo.getGpstime().toInstant() 是表中最后一条数据的时间,并转换成Instant对象 // 计算两个时间的间隔 long daysBetween ChronoU…

【基础IO】谈谈动静态库(怒肝7000字)

文章目录 前言实验代码样例静态库生成一个静态库归档工具ar静态库的链接 动态库创建动态库加载动态库 动静态链接静态链接动态链接动静态链接的优缺点 前言 在软件开发中,库(Library)是一种方式,可以将代码打包成可重用的格式&…

隧道代理的优势与劣势分析

“随着互联网的快速发展,网络安全已经成为一个重要的议题。为了保护个人和组织的数据,隧道代理技术逐渐成为网络安全的重要工具。隧道代理通过在客户端和服务器之间建立安全通道,加密和保护数据的传输,有效地防止黑客入侵和信息泄…

docker安装并跑通QQ机器人实践(4)-bs-cqhttp搭建

go-cqhttp,基于 Mirai 以及 MiraiGo 的 OneBot Golang 原生实现,只需简单的配置, 就可以基于 go-cqhttp 使用框架开发,具有轻量, 原生, 高并发, 低占用, 跨平台等特点。 1 go-cqhttp 官网及可执行文件下载链接 go-cqhttp 官网:ht…

如何通过MSTSC连接Ubuntu的远程桌面?

正文共:666 字 12 图,预估阅读时间:1 分钟 前面我们介绍了如何通过VNC连接Ubuntu 18.04的远程桌面(Ubuntu 18.04开启远程桌面连接),非常简单。但是有小伙伴咨询如何使用微软的远程桌面连接MSTSC&#xff08…

二维码门楼牌管理应用平台建设:取保候审的智能化监管

文章目录 前言一、取保候审的传统监管困境二、二维码门楼牌管理应用平台的优势三、取保候审备案信息的智能化处理四、保障居民合法权益五、展望未来 前言 随着信息技术的飞速发展,二维码门楼牌管理应用平台已成为现代社区治理的重要工具。本文重点探讨如何借助该平…

保姆级教程!QRCNN-BiLSTM一键实现多变量回归区间预测!区间预测全家桶再更新!

​ 声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 今天对我们之前推出的区间预测全家桶进行…

最邻近插值和线性插值

最邻近插值 在图像分割任务中:原图的缩放一般采用双线性插值,用于上采样或下采样;而标注图像的缩放有特定的规则,需使用最临近插值,不用于上采样或下采样。 自定义函数 这个是通过输入原始图像和一个缩放因子来对图像…

JVM类加载基本流程及双亲委派模型

1.JVM内存区域划分 一个运行起来的Java进程就是一个JVM虚拟机,这就需要从操作系统中申请一片内存区域。JVM申请到内存之后,会把这个内存划分为几个区域,每个区域都有各自的作用。 一般会把内存划分为四个区域:方法区(也称 "…

力扣287. 寻找重复数

Problem: 287. 寻找重复数 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 利用二分查找搜索1 ~ n中重复的元素,我们每次取出当前二分查找的区间的中间元素mid并在元始的数组nums中统计小于mid的元素的个数count: 若count > mid则说明重复的…

大数据学习的第三天

文章目录 学习大数据命令的方式查看文件拷贝文件的方式添加数据的方式 出现了问题移动文件 hadoop工作流程和工作机制的方式namenodedatanodesecondarynamenode(主节点) 学习大数据命令的方式 查看文件 hadoop fs -cat /test/2.txt下载文件 hadoop fs -get -f /test/2.txt-f …

通俗说字解词:什么是道理?常说讲道理,李秘书讲写作这节就给你讲“道理”!

通俗说字解词:什么是道理?常说讲道理,李秘书讲写作这节就给你讲“道理”! 说到“道理”,这可真是个有意思的词。它由“道”和“理”两个部分组成,就像一碗好吃的面,有汤有料,缺一不可…

xilinx cpri ip 开发记录

CPRI是无线通信里的一个标准协议,连接REC和RE的通信。 Xilinx有提供CPRI IP核。 区别于其它通信协议,如以太网等,CPRI是一个同步系统。 这就意味着两端的Master和Slave应当是同源时钟的,两边不存在频差,并且内部延时…

ikigai极简3p模型:想、能、有

ikigai模型简化为3p模型: - passion 想要、想做 - professional 能要、能做 - profit 有益、有利 根据三角形不可能定律,三者满足两个就很不容易了。又想做又能做的未必有钱,又能做又有钱的未必想做,又想做又有钱的未必能做。 要实…

(C语言)sscanf 与 sprintf详解

目录 1.sprintf函数详解 2. sscanf函数详解 1.sprintf函数详解 头文件&#xff1a;stdio.h 作用&#xff1a;将格式化的数据写入字符串里&#xff0c;也就是将格式化的数据转变为字符串。 演示&#xff1a; #include <stdio.h> struct S {char name[10];int height;…