系统架构设计师教程 第2章 2.6 计算机语言 笔记

在这里插入图片描述

2.6计算机语言 ★★★★☆

2.6.1计算机语言的组成

计算机语言 (Computer Language) 是指用于人与计算机之间交流的一种语言,是人与计算机之间传递信息的媒介。

计算机语言主要由一套指令组成,指令一般包括表达式、流程控制和集合三大部分内容。

表达式又包含变量、常量、字面量和运算符。

流程控制有分支、循环、函数和异常。

集合包括字符串、数组、散列表等数据结构。

2.6.2计算机语言的分类

计算机语言的种类繁多,计算机语言主要分成机器语言、汇编语言、高级语言、建模语言和形式化语言五大类

1.机器语言

机器语言是计算机能够直接接收并能识别和执行操作的语言,其优点是可以被计算机直接理解和执行,执行速度快、占用内存少。

1)机器语言的指令格式

机器语言指令是一种二进制代码,由操作码操作数两部分组成。

常见的指令格式:

三地址指令、二地址指令、单地址指令、零地址指令、可变地址指令

2.汇编语言

汇编语言是机器语言的符号化描述,是面向机器的程序设计语言。依赖于机器硬件,可移植性不好,效率高

1)汇编语言的语句格式

语句 (Statements) 是汇编语言程序的基本组成单位。在汇编语言源程序中有3种语句:指令语句伪指令语句宏指令语句(或宏调用语句)。

2)指令语句和伪指令语句格式

指令语句和伪指令语句有相同的语句格式,每条语句均由4个字段 (Fields) 组成:名字、操作符、操作数和注释。

3.高级语言

更贴近于人类使用的语言,易于理解、记忆和使用

高级语言和计算机的架构、指令集无关,具有良好的可移植性。

常见的高级语言包括C、C++、Java、VB、C#、Python、Ruby 等

4.建模语言 【★★★★★】

Unified Modeling Language (UML) 是一种定义良好、易于表达、功能强大且普遍适用的建模语言。

1 ) UML 组成要素

UML 由3个要素构成:UML 的基本构造块、支配基本构造块如何放置 在一起的规则和运用于整个语言的公用机制

3种基本构造块: 事物关系

规则:命名规则、范围、可见性、完整性、执行

公共机制:规则说明、修饰、通用划分、扩展机制

(1)事物

UML 中有4种事物:结构事物、行为事物、分组事物和注释事物。

**① 结构事物。**UML模型中的名词,通常是模型的静态部分,描述概念或物理元素。

② 行为事物。 UML 模型的动态部分,是模型中的动词,描述了跨越时间和空间的行为。

**③ 分组事物。**UML 模型的组织部分,是一些由模型分解成的“盒子”。最主要的分组事物是包 (Package)。

**④ 注释事物。**UML模型的解释部分。

(2)关系。

UML 中有4种关系:依赖、关联、泛化和实现

①依赖是两个事物间的语义关系,其中一个事物(独立事物)变化会影响另一个事物 (依赖事物)的语义。

②关联是一种结构关系,它描述了一组链,链是对象之间的连接。聚集是一种特殊类型的关联,它描述了整体和部分间的结构关系。

③泛化是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的 对象。

④ 实现是类元之间的语义关系,其中一个类元指定了由另一个类元保证执行的契约。

(3)UML 中的图

UML 2.0 提供了13种图,分别是类图、对象图、用例图、序列图、通信图、状态图、活动 图、构件图、部署图、组合结构图、包图、交互概览图和计时图。

序列图、通信图、交互概览图和计时图均被称为交互图

用例图 (Use Case Diagram) 展现了一组用例、参与者 (Actor) 以及它们之间的关系。

用例之间有扩展关系(<<extend>>) 和包含关系 (<<include>>), 参与者和用例之间有关联关系,用例与用例、参与者与参与者之间有泛化关系。

用例图用于对系统的静态用例视图进行建模。

两种方式来使用用例图:

对系统的语境建模、对系统的需求建模

(4)UML 5种视图

按照图本身具有的特点,划分为5类视图:用例视图、逻辑视图、进程视图、实现视图和部署视图,其中的用例视图居于中心地位。

(1)用例视图:描述系统的功能需求,方便找出用例和执行者;它展示了一个外部用户能够观察到的系统功能模型,主要包括用例图。

成员主要包括客户、分析者、 设计者、开发者和测试者。

(2)逻辑视图:描述如何实现系统内部的功能;系统的静态结构和因发送消息而出现的动态协作关系。包含类图和对象图、状态图、顺序图、合作图和活动图。

(3)进程视图:描述系统的并发性,并处理这些线程间的通信和同步;将系统分割成并发执行的控制线程及处理这些线程的通信和同步。主要包括状态图、顺序图、合作图、 活动图、构件图和配置图;

成员主要包括开发者和系统集成者。

(4)实现视图:描述系统代码构件组织和实现模块及它们之间的依赖关系;主要包括构件图

成员主要有设计者、开发者和测试者。

(5)部署视图:定义系统中软硬件的物理体系结构及连接、哪个程序或对象驻留在哪台 计算机上执行;主要包括配置图;

成员主要包括开发者、系统集成者和测试者。

5.形式化语言

形式化方法就是用符号化的数学变换把需求分析准确地表述出来,可以确保和需求的一致性,并能用于分析和验证应用程序。

1)形式化规格说明语言

主要流派:

(1)公理方法

(2)基于集合论和一阶谓词演算的meta-IV 语言和 Z 语言

(3)代数规格说明

(4)进程描述语言

2)形式化方法的分类

一是面向对象的形式化方法,通过定义状态和操作进行建模,如 Z 语言、 VDM、B、Object-Z 等方法;

二是面向属性的形式化方法,如 OBJ3、Larch等方法;

三是基于并发性的形式化方法,如CCS 、ACP 、CSP 、LOTOS 等;

四是基于实时性的形式化方法,如TRIO 、RTOZ 等方法。

(1)根据描述方式,归为:模型描述的形式化方法、性质描述的形式化方法两类。

(2)根据表达能力,分为:模型方法、代数方法、进程代数方法、逻辑方法和网络模型方法5类。

3)形式化方法的开发过程

按照软件工程自顶向下、逐步求精的原则,软件生命周期可分为可行性分析、需求分析、体系结构设计、详细设计、编码和测试发布6个阶段,形式化方法贯穿软件工程整个生命周期。

4)形式化规格语言——Z 语言

Z 语言是一种形式化语言,具有“状态一操作”风格的形式化规格说明语言

Z 语言最主要的结构是模式,一个模式由变量说明谓词约束两部分组成,可用来描述系统状态和操作

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

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

相关文章

Selenium爬虫技术:如何模拟鼠标悬停抓取动态内容

介绍 在当今数据驱动的世界中&#xff0c;抓取动态网页内容变得越来越重要&#xff0c;尤其是像抖音这样的社交平台&#xff0c;动态加载的评论等内容需要通过特定的方式来获取。传统的静态爬虫方法难以处理这些由JavaScript生成的动态内容&#xff0c;Selenium爬虫技术则是一…

测试造数,excel转insert语句

目录 excel转sql的insert语句一、背景二、直接上代码 excel转sql的insert语句 一、背景 在实际测试工作中&#xff0c;需要频繁地进行测试造数并插入数据库验证&#xff0c;常规的手写sql语句过于浪费时间&#xff0c;为此简单写个脚本&#xff0c;通过excel来造数&#xff0…

Flink CDC系列之:调研应用Flink CDC将 ELT 从 MySQL 流式传输到 StarRocks方案

Flink CDC系列之&#xff1a;调研应用Flink CDC将 ELT 从 MySQL 流式传输到 StarRocks方案 准备准备 Flink Standalone 集群准备 docker compose为 MySQL 准备记录使用 Flink CDC CLI 提交作业 同步架构和数据更改路由变更清理 本教程将展示如何使用 Flink CDC 快速构建从 MySQ…

Rust 力扣 - 1. 两数相加

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们使用一个全局的备忘录&#xff0c;然后我们遍历数组&#xff0c;如果当前元素在备忘录里面找到了&#xff0c;就返回备忘录里面记录的下标和当前下标记录&#xff0c;没找到就把当前元素匹配的元素和当前元素…

DEVOPS: 容器与虚拟化与云原生

概述 传统虚拟机&#xff0c;利用 hypervisor&#xff0c;模拟出独立的硬件和系统&#xff0c;在此之上创建应用虚拟机是一个主机模拟出多个主机虚拟机需要先拥有独立的系统docker 是把应用及配套环境独立打包成一个单位docker 是在主机系统中建立多个应用及配套环境docker 是…

【WiFi7】 支持wifi7的手机

数据来源 Smartphones with WiFi 7 - list of all latest phones 2024 Motorola Moto X50 Ultra 6.7" 1220x2712 Snapdragon 8s Gen 3 16GB RAM 1024 GB 4500 mAh a/b/g/n/ac/6e/7 Sony Xperia 1 VI 6.5" 1080x2340 Snapdragon 8 Gen 3 12GB RAM 512 G…

基于JAVASE的题

字符集合 描述&#xff1a; 每组数据输入一个字符串&#xff0c;字符串最大长度为100&#xff0c;且只包含字母&#xff0c;不可能为空串&#xff0c;区分大小写。 每组数据一行&#xff0c;按字符串原有的字符顺序&#xff0c;输出字符集合&#xff0c;记重复出现并靠后的字…

【数学二】多元函数积分学-重积分-二重积分定义、性质、计算

考试要求 1、了解多元函数的概念&#xff0c;了解二元函数的几何意义. 2、了解二元函数的极限与连续的概念&#xff0c;了解有界闭区域上二元连续函数的性质. 3、了解多元函数偏导数与全微分的概念&#xff0c;会求多元复合函数一阶、二阶偏导数&#xff0c;会求全微分&#x…

以 6502 为例讲讲怎么阅读 CPU 电路图

开篇 你是否曾对 CPU 的工作原理充满好奇&#xff0c;以及简单的晶体管又是如何组成逻辑门&#xff0c;进而构建出复杂的逻辑电路实现&#xff1f;本文将以知名的 6502 CPU 的电路图为例&#xff0c;介绍如何阅读 CPU 电路图&#xff0c;并向你演示如何从晶体管电路还原出逻辑…

RISC-V笔记——显式同步

1. 前言 RISC-V的RVWMO模型主要包含了preserved program order、load value axiom、atomicity axiom、progress axiom和I/O Ordering。今天主要记录下preserved program order(保留程序顺序)中的Explicit Synchronization(显示同步)。 2. 显示同步 显示同步指的是&#xff1a…

ArcGIS计算落入面图层中的线的长度或面的面积

本文介绍在ArcMap软件中&#xff0c;计算落入某个指定矢量面图层中的另一个线图层的长度、面图层的面积等指标的方法。 如下图所示&#xff0c;现在有2个矢量要素集&#xff0c;其中一个为面要素&#xff0c;表示某些区域&#xff1b;另一个为线要素&#xff0c;表示道路路网。…

软考系统分析师知识点二四:错题集11-20

前言 今年报考了11月份的软考高级&#xff1a;系统分析师。 考试时间&#xff1a;11月9日。 倒计时&#xff1a;13天。 目标&#xff1a;优先应试&#xff0c;其次学习&#xff0c;再次实践。 复习计划第二阶段&#xff1a;刷选择题&#xff0c;搜集错题集反复查看&#x…

Pr 视频效果:波形变形

视频效果/扭曲/波形变形 Distort/Wave Warp 波形变形 Wave Warp效果用于在剪辑上创建类似波浪的动态变形效果。 此效果会自动动画化&#xff0c;波形以恒定速度移动。要改变速度或停止波动&#xff0c;需要设置关键帧。 ◆ ◆ ◆ 效果选项说明 通过调整波形的类型、高度、宽度…

《分布式机器学习模式》:解锁分布式ML的实战宝典

在大数据和人工智能时代&#xff0c;机器学习已经成为推动技术进步的重要引擎。然而&#xff0c;随着数据量的爆炸性增长和模型复杂度的提升&#xff0c;单机环境下的机器学习已经难以满足实际需求。因此&#xff0c;将机器学习应用迁移到分布式系统上&#xff0c;成为了一个不…

Flutter鸿蒙next 中如何实现 WebView【跳、显、适、反】等一些基础问题

✅近期推荐&#xff1a;求职神器 https://bbs.csdn.net/topics/619384540 &#x1f525;欢迎大家订阅系列专栏&#xff1a;flutter_鸿蒙next &#x1f4ac;淼学派语录&#xff1a;只有不断的否认自己和肯定自己&#xff0c;才能走出弯曲不平的泥泞路&#xff0c;因为平坦的大路…

【计算机操作系统】课程 作业二 进程与线程 408考研

作业二 进程与线程 1.根据下图&#xff0c;回答问题。&#xff08;共65分&#xff09; &#xff08;1&#xff09; 请简述进程发生状态变迁1、3、4、6、7的原因。&#xff08;每条5分.共25分&#xff09; 1表示操作系统把处于创建状态的进程移入就绪队列&#xff1b;3表示进程…

.Net 8 Web API CRUD 操作

本次介绍分为3篇文章&#xff1a; 1&#xff1a;.Net 8 Web API CRUD 操作https://blog.csdn.net/hefeng_aspnet/article/details/143228383 2&#xff1a;在 .Net 8 API 中实现 Entity Framework 的 Code First 方法https://blog.csdn.net/hefeng_aspnet/article/details/1…

【LeetCode:264. 丑数 II + 小根堆】

在这里插入代码片 &#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕…

stm32 使用J-Link RTT Viewer打印日志

文章目录 stm32 使用J-Link RTT Viewer一、RTT功能简介二、准备工作安装J-Link软件驱动&#xff1a;获取RTT驱动文件&#xff1a;配置工程&#xff1a; 三、使用RTT打印日志初始化RTT&#xff1a;打印日志&#xff1a;查看日志&#xff1a; 四、高级功能封装print_log函数&…

021、深入解析前端请求拦截器

目录 深入解析前端请求拦截器&#xff1a; 1. 引言 2. 核心实现与基础概念 2.1 基础拦截器实现 2.2 响应拦截器配置 3. 实际应用场景 3.1 完整的用户认证系统 3.2 文件上传系统 3.3 API请求缓存系统 3.4 请求重试机制 3.5 国际化处理 4. 性能优化实践 4.1 请求合并…