当前位置: 首页 > article >正文

架构设计笔记-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.kler.cn/news/360676.html

相关文章:

  • 苍穹外卖--开发记录day07
  • 64-基于TMS320C6455、XC5VSX95T 的6U CPCI无线通信处理平台
  • 数据脱敏方案总结
  • 下载Vue脚手架
  • LeetCode两数之和
  • 【acwing】算法基础课-搜索与图论
  • 拥抱云开发的未来:腾讯云数据库、云模板与AI智能化的应用场景探索
  • 13.1 Linux_网络编程_TCP/UDP
  • C++|sort函数
  • 【C++】C++多态世界:从基础到前沿
  • SpringCloud-负载均衡-ribbon
  • 【学习笔记】网络流
  • YOLOv11改进-卷积-引入小波卷积WTConv 解决多尺度小目标问题
  • 技术总结(十)
  • LeetCode 203 - 移除链表元素
  • JDBC——(1)
  • 1166 设计文件系统
  • Nuxt.js 应用中的 app:templatesGenerated 事件钩子详解
  • 京东详情 API 接口有什么应用与价值?
  • 【牛客刷题】笔记2