架构设计笔记-20-补充知识

知识产权

我国没有专门针对知识产权制定统一的法律(知识产权法),而是在民法通则规定的原则下,根据知识产权的不同类型制定了不同的单项法律及法规,如著作权法、商标法、专利法、计算机软件保护条例等,这些法律、法规共同构成了我国保护知识产权的法律体系。

根据《中华人民共和国著作权法》第十二条规定,改编、翻译、注释、整理已有作品而产生的作品,其著作权由改编、翻译、注释、整理人享有,但行使著作权时不得侵犯原作品的著作权。 

著作权包括人身权财产权。其中,人身权包括发表权、署名权、修改权和保护作品完整权。复制权、出租权和发行权均属于财产权。 

根据《著作权法》第十八条,报社、期刊社、通讯社、广播电台、电视台的工作人员创作的职务作品,除特定情况外,著作权的其他权利由法人或组织享有,作者仅享有署名权。 

根据《中华人民共和国商标法》第五十七条,有下列行为之一的,均属侵犯注册商标专用权

(一)未经商标注册人的许可,在同一种商品上使用与其注册商标相同的商标的

(二)未经商标注册人的许可,在同一种商品上使用与其注册商标近似的商标,或者在类似商品上使用与其注册商标相同或者近似的商标,容易导致混淆的;

(三)销售侵犯注册商标专用权的商品的;

(四)伪造、擅自制造他人注册商标标识或者销售伪造、擅自制造的注册商标标识的;

(五)未经商标注册人同意,更换其注册商标并将该更换商标的商品又投入市场的;

(六)故意为侵犯他人商标专用权行为提供便利条件,帮助他人实施侵犯商标专用权行为的;

(七)给他人的注册商标专用权造成其他损害的。 

根据《软件产品管理办法》第四条,软件产品的开发、生产、销售、进出口等活动应遵守我国有关法律、法规和标准规范。任何单位和个人不得开发、生产、销售、进出口含有以下内容的软件产品:

(一)侵犯他人知识产权的;

(二)含有计算机病毒的;

(三)可能危害计算机系统安全的;

(四)含有国家规定禁止传播的内容的;

(五)不符合我国软件标准规范的。 

法律法规

我国标准根据适用范围分类,分为国家标准、行业标准、地方标准和企业标准等四类;根据标准的法律约束性可分为强制性标准和推荐性标准:标准的编号由标准代号、标准发布顺序号和标准发布年号构成。

(1) 国家标准的代号由大写汉语拼音字母构成,强制性国家标准代号为GB,推荐性国家标准的代号为GB/T。

(2) 行业标准代号由汉字拼音大写字母组成,再加上斜杠T组成推荐性行业标准(如××/T)。行业标准代号由国务院各有关行政主管部门提出其所管理的行业标准范围的申请报告,国务院标准化行政主管部门审查确定并正式公布该行业标准代号。已正式公布的行业代号有QJ(航天)、SI(电子)、JB(机械)和JR(金融)等。

(3) 地方标准代号由大写汉字拼音DB加上省、自治区、直辖市行政区划代码的前两位数字(如北京市11、天津市12、上海市31等),再加上斜杠T组成推荐性地方标准DB××/T不加斜杠T为强制性地方标准,如DB××

(4) 企业标准的代号由汉字大写拼音字母Q加斜杠再加企业代号组成(如Q/×××),企业代号可用大写拼音字母或阿拉伯数字,或者两者兼用所组成。 

 

新技术

数字孪生体的三项核心技术:建模、仿真、基于数据融合的数字线程。 

RMS(Rate Monotonic Scheduling)调度算法根据任务周期确定优先级,周期越短,优先级越高。 详见架构设计笔记-16-嵌入式系统架构设计理论与实践

与传统数据库相比,嵌入式数据库系统有以下几个主要特点:

  1. - 嵌入式:嵌入式是嵌入式数据库的基本特性。嵌入式数据库不仅可以嵌入到其他的软件当中,也可以嵌入到硬件设备当中。
  2. - 实时性:实时性和嵌入式是分不开的。只有具有了实时性的数据库才能够第一时间得到系统的资源,对系统的请求在第一时间内做出响应。但是,并不是具有嵌入式就一定具有实时性。要想嵌入式数据库具有很好的实时性,必须做很多额外的工作。
  3. - 移动性:移动性是目前在国内提得比较多的一个说法,这和目前国内移动设备的大规模应用有关。可以这么说,具有嵌入式的数据库一定具有比较好的移动性,但是具有比较好的移动性的数据库,不一定具有嵌入式。
  4. - 伸缩性:伸缩性在嵌入式场合显得尤为重要。首先嵌入式场合硬件和软件的平台都是千差万别,基本都是客户根据需要自己选择的结果。

嵌入式数据库中,SQLite和Berkeley DB是文件型数据库Firebird是网络型数据库,eXtremeDB则是内存型数据库。Oracle是大型数据库,不是嵌入式数据库。(官方教材第二版P565) 

宏内核和微内核的主要区别在于它们的架构和设计哲学。宏内核将所有系统服务(包括设备驱动程序、内存管理、进程管理等)都集成在单一的内核空间中,这通常能提供较高的性能,但降低了模块化和可维护性。相反,微内核只包含最基本的操作系统服务(如进程调度和通信),将其他服务(如设备驱动程序)放在用户空间或作为服务器进程运行,这提供了更高的模块化和安全性,但可能牺牲一些性能。 在微内核架构中,由于大部分系统服务都运行在用户空间,进程间通信(IPC)通常通过消息传递机制来实现。这种机制允许进程通过发送和接收消息来进行通信,而不需要直接访问对方的内存空间,从而提高了系统的安全性和模块化。 

边缘计算的特点包括联接性、数据第一入口、约束性和分布性。实时性虽然是边缘计算的一个重要优势,但不是其特点的定义之一。(官方教材第二版P386)

边缘计算与云计算的协同包括资源协同、数据协同、智能协同、应用管理协同、业务管理协同和服务协同。网络安全协同不是直接列举的协同方面。(官方教材第二版P386)

信息物理系统(CPS)通过集成先进的感知、计算、通信、控制等信息技术和自动控制技术,构建了物理空间与信息空间中人、机、物、环境、信息等要素相互映射、适时交互、高效协同的复杂系统,实现系统内资源配置和运行的按需响应、快速迭代、动态优化。(官方教材第二版P369) 

人工智能的关键技术包括自然语言处理、计算机视觉、知识图谱、人机交互和机器学习等,不包括区块链。(官方教材第二版P376)         

专业英语

A system's architecture is a representation of a system in which there is a mapping of functionality onto hardware and software components, a mapping of the (请作答此空) onto the hardware architecture, and a concern for the human interaction with these components. That is, system architecture is concerned with a total system, including hardware, software, and humans. Software architectural structures can be divided into three major categories, depending on the broad nature of the elements they show. 1) (请作答此空) embody decisions as a set of code or data units that have to be constructed or procured. 2) (请作答此空) embody decisions as to how the system is to be structured as a set of elements that have runtime behavior and interactions. 3) (请作答此空) embody decisions as to how the system will relate to nonsoftware structures in its environment (such as CPUs, file systems, networks, development teams, etc.). 

系统架构是一个系统的一种表示,包含了功能到软硬件构件的映射、软件架构到硬件架构的映射以及对于这些组件人机交互的关注。也就是说,系统架构关注于整个系统,包括硬件、软件和使用者。软件架构结构根据其所展示元素的广义性质,可以被分为三个主要类别。①模块结构将决策体现为一组需要被构建或采购的代码或数据单元。②构件连接器结构将决策体现为系统如何被结构化成为一组具有运行时行为和交互的元素。③分配结构将决策体现为系统如何在其环境中关联到非软件结构,如CPU、文件系统、网络、开发团队等。

During the systems analysis phase, you must decide how data will be organized, stored, and managed. A data structure is a framework for organizing, storing, and managing data. Each file or table contains data about people, places, things, or events. One of the potential problems existing in a file processing environment is data redundency, which means that data common to two or more information systems is stored in several places. In a DBMS, the linked tables form a unified data structure that greatly improves data quality and access. A(n) entity-relationship diagram is a model that shows the logical relationships and interaction among system entities. It provides an overall view of the system and a blueprint for creating the physical data structures. Normalization is the process of creating table designs by assigning specific fields or attributes to each table in the database. A table design specifies the fields and identifies the primary key in a particular table or file. The three normal forms constitute a progression in which third nomal form represents the best design. Most business - related data bases must be designed in that form.

在系统分析阶段,必须决定如何组织、存储和管理数据。数据结构是组织、存储和管理数据的一个框架。每个文件或表都包含有关人物、地点、事物或事件的数据。文件处理环境中存在的潜在问题之一是数据冗余,这意味着两个或多个信息系统共用的数据存储在多个不同位置。 在数据库管理系统(DBMS)中,相互连接的表形成了一个统一的数据结构,极大地提高了数据质量和访问能力。实体关系图是显示系统实体之间的逻辑关系和交互的模型。它提供了系统的总体视图和用于创建物理数据结构的蓝图。规范化是通过为数据库中的每个表分配特定字段或属性来创建表设计的过程。表设计指定字段并标识特定表或文件中的主键。三种范式构成了一个渐进过程,其中第三范式代表了好的设计。大部分与业务相关的数据库都必须以这种形式设计。

System analysis is traditionally done top - down using structured analysis based on functional decomposition. Object - oriented analysis focuses on creation of models. The three types of the analysis model are class model / interaction model / state model. There are two substages of object - oriented analysis. Domain analysis focuses on real - world things whose semantics the application captures. The object constructedin the requirement analysis shows the static structure of the real - world system and organizes it intoworkable pieces. Application analysis addresses the computer aspects of the applicati on that are visible tousers. The objects are those which can be expected to vary from time to time quite rapidly.

传统的系统分析以功能分解为基础,利用结构化分析自顶向下完成。面向对象分析关注于模型的创建。该分析模型有三种类型:类模型、交互模型和状态模型。面向对象分析有两个子阶段。领域分析侧重于现实世界中那些语义被应用程序获取的事物。在需求分析中所构造的对象说明了现实世界系统的静态结构并将其组织为可用的片段。应用分析处理应用系统中用户可见的计算机问题。所分析的对象可能会被预计时不时地发生较快的变化。

A simple but essential architectural style used in high - quality architecture involves the separation of the domain and technical building blocks, according to the tenets of Quasar (Quality - Driven Software Architecture). Business building blocks are those that contain source code for the application domain, such as business rules, calculations, validations, and so on. Technical building blocks s olve purely technical problems, such as database connections, user interfaces, and so on. The basic principle of this architec tural style is that each building block contained in an architecture may only be responsible for either of these two aspects. This s eparation is postulated by Quasar because the domain and technical aspects of software systems usually have very different change cycles. If this separation can be maintained, the result will be a well modularized system. This Quasar - based idea became manageable with the introduction of “blood types” for software components. I think this mode l has not really become established because the blood - type analogy for software is pretty far-fetched. Nevertheless, this style pro vides some very important hints that should be obvious to every software architect.

根据Quasar(质量驱动软件架构)的原则,高质量架构中使用的一种简单但必不可少的架构风格涉及领域和技术构建块的分离。业务构建块是包含应用程序域源代码的构建块,如业务规则、计算、验证等。技术构建块解决纯粹的技术问题,如数据库连接、用户界面等。这种架构风格的基本原则是,架构中包含的每个构建块可能只负责这两个方面中的任何一个。这种分离是由Quasar提出的,因为软件系统的领域和技术方面通常具有非常不同的变更周期。如果能够保持这种分离,结果将是一个模块化良好的系统。 随着软件组件“血型”的引入,这种基于Quasar的想法变得易于管理。我认为这个模型还没有真正建立起来,因为软件的血型类比是相当牵强的。然而,这种风格提供了一些对每个软件架构师来说都应该显而易见的非常重要的提示。

The core purpose of architecture design is to ascertain the allocation of application software segments to respective hardware platforms. T his necessitates the identification of the key software components under development, followed by their assignment to the div erse hardware elements upon which the system will reside. All software systems can be categorized into four fundamental rol es. The initial role pertains to data storage. The majority of information systems necessitate the storage and retrieval of data, be it a miniscule file, akin to a word processor's memo, or an extensive database housing an organization's financial records. The su bsequent function is the data access logic, encompassing the procedures necessary for data access, often executed through Structured Query Language database queries. The third function revolves around the application logic, which encapsulates the logic articulated in DFDs, use cases, and functional specifications. Lastly, the presentation logic oversees the display of information to the user a nd the reception of user commands. The three fundamental hardware constituents of a system encompass clientsservers and network.

系统架构的核心目的是架构设计,以确定应用软件的哪些部分将被分配给哪些硬件。这需要对正在开发的系统的主要软件组件进行识别,然后将它们分配给系统将在其上运行的各种硬件。所有软件系统都可以分为四个基本角色。第一个角色涉及数据存储。大多数信息系统都需要存储和检索数据,无论是小到如文字处理器产生的备忘录文件,还是大到如存储组织会计记录的大型数据库。接下来的功能是数据访问逻辑,包括访问数据所需的过程,这通常通过结构化查询语言(SQL)的数据库查询来执行。第三个功能围绕应用逻辑展开,它封装了在数据流图(DFD)、用例和功能需求中阐述的逻辑。最后,表示逻辑负责向用户显示信息并接收用户的命令。系统的三个基本硬件组成部分包括客户端、服务器和网络

 

In the context of designing robust and adaptable software systems, one of the key principles is the separation of concerns bet ween the domain and infrastructure aspects of the system. According to the principles of Domain - Driven Design (DDD), the core domain logic, wh ich includes business rules, processes, and data manipulation, should be separated from the technical? functionalities, such as data persistence, user interface, and external services integration. This separation ensures that the core domain logic remains f ocused and free from the complexities of infrastructure concerns. By adhering to this principle, developers can achieve a syst em that is more loosely coupled?, allowing for easier maintenance, scalability, and adaptability to changing requirements. However, impl ementing this separation effectively requires a clear understanding of the domain and technical boundaries, as well as the abil ity to define these boundaries in a way that minimizes coupling and maximizes cohesion. Despite the challenges, this approac h has been proven in many successful software projects.

在设计稳健且适应性强的软件系统时,一个关键原则是系统领域和技术方面之间的分离。根据领域驱动设计(DDD)的原则,核心领域逻辑(包括业务规则、流程和数据操作)应与基础设施功能(如数据持久化、用户界面和外部服务集成)分离。这种分离确保了核心领域逻辑保持专注,不受基础设施复杂性的影响。通过遵循这一原则,开发人员可以实现一个更加模块化的系统,从而更容易维护、扩展,并适应需求的变化。然而,有效实施这种分离需要对领域和技术边界有清晰的理解,以及在减少耦合和最大化内聚的同时明确定义这些边界的技能。尽管存在挑战,这种方法已在许多成功的软件项目中得到了验证。

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

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

相关文章

STM32_实验5_中断实验

通过外部中断来检测四个按键按下的状态: WK_UP 控制蜂鸣器响和停 KEY0 控制 LED_R 互斥点亮 KEY1 控制 LED_G 互斥点亮 KEY2 控制 LED_B 互斥点亮。 中断的基本概念: 中断请求(IRQ): 当发生某个特定事件(例…

【问题解决】——当出现0xc000007b和缺少mfc140.dll时,该怎么做才能让软件可以打开

目录 事情起因 问题处理 明确定义 填坑之路 最后我是怎么解决的(不想看故事直接到这里) 事情起因 最近想要重新安装西门子博途来做西门子的一些算法的时候,发现自己软件装的是V15.1的版本,而买的plc1200固件版本要求至少16以…

(AtCoder Beginner Contest 375)D - ABA

(AtCoder Beginner Contest 375)D - ABA 题目大意 给定一个只包含大写字母的字符串S,求解其长度为3的回文字序列个数 思路 首先暴力枚举区间计算答案 O ( ∣ S ∣ 2 ) O(|S|^2) O(∣S∣2) 一定是会超时的 我们考虑使用前缀和思想 我们对于…

推荐IDE中实用AI编程插件,目前无限次使用

插件介绍 一款字节跳动推出的“基于豆包大模型的智能开发工具” 以vscode介绍【pycharm等都可以啊】,这个插件提供智能补全、智能预测、智能问答等能力,节省开发时间 直接在IDE中使用,就不用在网页中来回切换了 感觉还可以,响应速…

【SQL实验】 设计主码、check约束 、外码(SSMS 菜单操作)

设计主码 PK——主码 右键点击所需的表,选择“设计”。 选择需要作为主键的列,右键点击并选择“设为主键”。 保存更改,确保主键设置生效。 如果出现下图: 解决方式: 把√取消掉,修改后: 确定…

告别ELK,APO提供基于ClickHouse开箱即用的高效日志方案——APO 0.6.0发布

ELK一直是日志领域的主流产品,但是ElasticSearch的成本很高,查询效果随着数据量的增加越来越慢。业界已经有很多公司,比如滴滴、B站、Uber、Cloudflare都已经使用ClickHose作为ElasticSearch的替代品,都取得了不错的效果&#xff…

【Echarts 实战指南】解锁动态历史曲线之谜

在工作中,大家是否曾遇到过这样一种需求呢?需获取设备最近 10 分钟的历史数据。设备实时数据每 2 秒推送一次,且要把历史数据曲线变成动态变化的状态。倘若设备最近 10 分钟的历史数据为 20 个点,那么现在每 2 秒就要将最前面的点…

计算机毕业设计Python深度学习房价预测 房源可视化 房源爬虫 二手房可视化 二手房爬虫 递归决策树模型 机器学习 深度学习 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 房地产是促进我国经济持续增…

车辆管理新篇章:SpringBoot技术解析

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

电感的学习

电感是表示电路中电流变化对电压影响的物理量,常用符号 LLL 表示。电感的基本公式可以从其定义和基本特性中得出,主要包括以下几个方面: 1. 电感的定义 2. 电感能量存储 3. 自感与互感 自感:电感器自身的电感,表示电…

stata基本操作

文章目录 数据导入及存储变量的标签、审视数据变量的标签审视数据数据删除数据排序 画图直方图使用帮助文件散点图 统计分析描述性分析频数分析相关分析 生成新变量、计算器、终止命令生成新变量设置哑变量修改变量名更改变量内容调用命令和终止命令 日志命令库更新、学习资源 …

从零开始学PHP之helloworld

前言 每一门编程语言的第一个程序就是输出hell world(别杠,杠就是你对) 开始 上一篇讲完了开发环境的安装,这次讲编辑器的安装,顺带完成上一篇的作业(输出hello world) 安装PHPstorm 我用的…

基于SpringBoot+Vue的旅游服务平台【提供源码+答辩PPT+参考文档+项目部署】

💥 ① 前言:这两年毕业设计和毕业答辩的要求和难度不断提升,传统的JavaWeb项目缺少创新和亮点,往往达不到毕业答辩的要求! ❗② 如何解决这类问题? 让我们能够顺利通过毕业,我也一直在不断思考、…

用自己的数据集复现YOLOv5

yolov5已经出了很多版本了,这里我以目前最新的版本为例,先在官网下载源码:GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite 然后下载预训练模型,需要哪个就点击哪个模型就行&am…

机器视觉入门基础相关概念一 ——单目相机模型

机器视觉入门基础相关概念 相机模型 引言介绍:如果只是希望获取图像上的一些信息(例如特征提取、拟合等),那么我们不会对三维空间中相机的位置有所要求。但如果希望通过二维的图像去理解三维空间中摄像机的信息,或者是…

【Qt】控件——Qt按钮类控件、常用的按钮类控件、按钮类控件的使用、Push Button、Radio Button、Check Box

文章目录 Qt3. Qt按钮类控件Push ButtonRadio ButtonCheck Box Qt 3. Qt按钮类控件 Push Button 使用 QPushButton 表示一个按钮。当点击按钮时可以触发各种事件。QPushButton 继承自 QAbstractButton。这个类是一个抽象类。是其他按钮的父类。 PushButton和QAbstractButton的…

阿里云linux系统扩容分区

系统扩容需要进行三步操作:①服务器扩容云盘 ② 扩容分区 ③ 扩容文件系统 参考:https://help.aliyun.com/zh/ecs/user-guide/extend-the-partitions-and-file-systems-of-disks-on-a-linux-instance?spma2c4g.11186623.0.0.6a094862DCMnnM#de3365e1d4l…

国内如何下载谷歌浏览器(chrome浏览器)历史版本和chromedriver驱动,长期更新,建议收藏

众所周知,google是一直被国内屏蔽的,有时候想要下载个chrome浏览器都要去外网,或者到处去搜索才能下载到。因为下载chrome浏览器的这个网址:google.com/chrome/ 在国内是一直被屏蔽掉的。 今天主要讲解的是国内ChromeDriver 的下…

mac安装brew时踩坑解决方案

安装包 mac上如果按照git等工具可能会使用brew,例如使用:$ brew install git命令,如果电脑没有按照brew,则会提示:zsh: command not found: brew 解决方案 需要我们打开brew的官网https://brew.sh/,复制…

spring |Spring Security安全框架 —— 认证流程实现

文章目录 开头简介环境搭建入门使用1、认证1、实体类2、Controller层3、Service层3.1、接口3.2、实现类3.3、实现类:UserDetailsServiceImpl 4、Mapper层3、自定义token认证filter 注意事项小结 开头 Spring Security 官方网址:Spring Security官网 开…