架构基础概念

2023-11-11

  • 系统
系统泛指一群有**关联**的个体组成,根据某种**规则**运作,能完成个别元件不能单独完成
的工作群体。
  • 子系统
其实子系统也是由一群有关联的个体所组成的系统,多半是更大系统中的一部分
  • 模块
软件模块是一套一致而互相有紧密关联的软件组织。它分别包含了程序和数据结构两个部分。
现代软件开发往往利用模块作为合成的单位。模块的接口表达了由该模块提供的功能和调用
它时所需的元素。模块是可能分开被编写的单位。这使得它们可再用和允许人员同时协作、
编写及研究不同的模块。
  • 组件
软件组件定义为可包含的、可编程的、可重用的、与语言无关的软件单元,软件组件可以很容易被用于组装应用程序中

从逻辑的角度拆分系统后,得到的单元就是“模块“,划分模块的目的是职责分离
从物理的角度来拆分系统后,得到的单元就是“组件“,划分组件的目的是单元复用

  • 框架
软件框架通常指的是为了实现某个业界标准,或者完成特定基本任务的软件组件规范(MVC、
J2EE),也指为了实现某个软件组件规范时,提供规范所要求的基础功能的软件产品(
Spring MVC是MVC的开放框架,除了满足MVC的规范,Spring提供了很多功能帮助我们
实现功能)
  • 架构
软件架构指软件系统的“基础结构“,创造这些基础结构的准则,以及对这些结构的描述。

框架关注的是“规范“,架构关注的是“结构“
软件架构是指软件系统的顶层结构,这个概念将系统、子系统、模块、组件等概念都串起来了,首先,系统是一群关联个体组成,这些个体可以是子系统,模块,组件等,架构需要明确系统包含哪些个体,其次,系统重的个体需要根据某种规则运作,架构需要明确个体运作和协作的规则。
架构是顶层设计,框架是面向编程或配置的半成品,组件是从技术的维度上的复用,模块是从业务维度上的划分,系统是相互协同可运行的实体

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

架构基础概念 的相关文章

随机推荐

  • 好的博客

    RabbitMQ http www ityouknow com springboot 2016 11 30 spring boot rabbitMQ html https www kancloud cn ichenpeng blog 109
  • Renesas瑞萨电子提供的RcarH3,第一个SOC从第三代R-Car汽车计算平台的自动驾驶领域时代

    e mail 174176320 qq com 瑞萨电子株式会社 东京证交所 6723 一个英超的先进半导体解决方案供应商 今天宣布推出第三代Rcar 汽车计算平台解决方案的安全驾驶辅助系统和车载信息娱乐系统 芯片上的新的RcarH3系统
  • 【Vue2.0源码学习】虚拟DOM篇-Vue中的DOM-优化更新子节点

    1 前言 在上一篇文章中 我们介绍了当新的VNode与旧的oldVNode都是元素节点并且都包含子节点时 Vue对子节点是 先外层循环newChildren数组 再内层循环oldChildren数组 每循环外层newChildren数组里的
  • PaddleDetection算法分析(14)

    2021SC SDUSC 三 SSD训练过程 源码如下 def vgg cfg i batch norm False 该代码参考vgg官网的代码 layers in channels i for v in cfg 正常的 max pooli
  • Spring——面向切面编程(AOP)

    1 AOP概述 AOP 并不是 Spring 框架的专属名称 它的全称是 Aspect Oriented Programming 意为 面向切面编程 在程序运行某个方法的时候 不修改原始执行代码逻辑 由程序动态地执行某些额外的功能 对原有的
  • stata怎么判断是否存在异常值_如何用SPSS探测及检验异常值

    如何用 SPSS 探测及检验异常值 一 采用数据探索过程探测异常值 SPSS 菜单实现程序为 主菜单 gt Analyze gt Descriptive Statistics gt Explore 选项 gt Statistics 按钮 g
  • Learning Efficient Convolutional Networks through Network Slimming

    该文章是ICCV 2017的一篇模型压缩论文 提出了一个针对BN层的剪枝方法 利用BN层的权重 即缩放系数 来评估输入通道的重要程度 score 然后对score对于阈值的通道进行过滤 之后在连接成剪枝后的网络时 已经过滤的通道的神经元就不
  • Android Studio创建无图标应用 Default Activity not fount

    在Android Studio开发 如果你想创建一个没有没有应用图标的应用 你会发现 修改category修改为default 项目中没有一个Activity是Laucnher的话 没法运行 直接报Default Activity not
  • NLP学习(十二)-NLP实战之LSTM进行文本情感分析-tensorflow2+Python3

    情感分析简介 文本情感分析 Sentiment Analysis 是自然语言处理 NLP 方法中常见的应用 也是一个有趣的基本任务 尤其是以提炼文本情绪内容为目的的分类 它是对带有情感色彩的主观性文本进行分析 处理 归纳和推理的过程 本文将
  • JavaWeb——邮件发送原理及实现

    邮件发送原理及实现 一 邮件发送原理图 张三通过smtp协议连接到Smtp服务器 然后发送一封邮件给网易的邮件服务器 网易分析发现需要去QQ的邮件服务器 通过Smtp协议将邮件转投给QQ的Smtp服务器 QQ将接收到的邮件存储在456789
  • 【动手学习pytorch笔记】37.4 BERT微调数据集

    BERT微调数据集 自然语言推断任务 主要研究 假设 hypothesis 是否可以从前提 premise 中推断出来 其中两者都是文本序列 换言之 自然语言推断决定了一对文本序列之间的逻辑关系 这类关系通常分为三种类型 蕴涵 entail
  • 算法中的双指针思想及常见应用

    算法中的双指针思想及常见应用 最近在刷leetcode 碰到了许多双指针类的题目 题目是根据githubCyC大佬 在这里总结下 所谓双指针 指的是在遍历对象的过程中 不是普通的使用单个指针进行访问 而是使用两个相同方向或者相反方向的指针进
  • mybatis执行自定义SQL语句

    在mybatis中执行自定义SQL语句 本次仍使用spring boot 其中关于引入mybatis和数据库配置不再说明 UserInfoMapper xml 映射文件
  • 404 not found是什么意思

    相信很多人都会遇到404 也有很多人遇到404不知道是什么意思 也不知道怎么解决 下面我们php中文网就为大家全面解答一下404 not found是什么意思 打造全网web前端全栈资料库 总目录 看完学的更快 掌握的更加牢固 你值得拥有
  • Qt窗口间信号发送和槽函数返回值

    新建工程 Qt Widgets Application 类名为Widget 在这个基础上新建Qt设计师界面类 类名Dialog widget ui和dialog ui里分别拉入一个QPushbutton widget ui里再拉入一个QLi
  • Java中NIO,BIO,AIO的原理以及区别

    在今天的面试中 遇到一个复旦大学计算机博士 这确实牛逼一直问Java底层 问的我直冒汗 今天把问道我的分享出来 今天问到了NIO BIO AIO之间的原理和关系 我只知道阻塞和非阻塞之类的 具体的区别不是很清楚 所以查询资料好好复习下他们之
  • 用于分析脉冲类信号的二阶瞬态提取变换研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 文献来源 该文提出一种高分辨率时频分析方法
  • 非线性优化-matlab函数库-optimset

    创建或编辑一个最优化参数选项 句法规则 options optimset param1 value1 param2 value2 设置所有参数及其值 未设置的为默认值 options optimset optimfun 设置与最优化函数有关
  • pikvm系统主要软件包解析备忘

    PI KVM让普通家用PC也有能够像数据中心机房里面的IP KVM一样的功能 详细信息参考官网 PiKVM HandbookOpen and cheap DIY IP KVM on Raspberry Pihttps docs pikvm
  • 架构基础概念

    系统 系统泛指一群有 关联 的个体组成 根据某种 规则 运作 能完成个别元件不能单独完成 的工作群体 子系统 其实子系统也是由一群有关联的个体所组成的系统 多半是更大系统中的一部分 模块 软件模块是一套一致而互相有紧密关联的软件组织 它分别