系统架构设计师教程 第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.mzph.cn/pingmian/57920.shtml

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

相关文章

基于JSP的高校食堂食材选购管理系统【附源码】

基于JSP的高校食堂食材选购管理系统 效果如下&#xff1a; 系统首页界面 用户登录页面 食材信息页面 论坛交流界面 管理员登录界面 管理员功能主界面 食材信息管理界面 订单配送管理界面 用户功能主界面 商家功能主界面 司机功能主界面 研究背景 近年来互联网技术的发展使得…

新王Claude 3.5的6大应用场景

Anthropic AI深夜发布了备受期待的Claude 3.5系列更新&#xff0c;包括了全新升级的Claude 3.5 Sonnet和首发的Claude 3.5 Haiku。 Claude 3.5 Sonnet能够理解细微的指令和上下文&#xff0c;识别并纠正自身错误&#xff0c;还能从复杂数据中生成深入的分析和洞察。 结合最先进…

java项目之在线考试系统设计与实现(springboot)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的在线考试系统设计与实现。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 基于JavaWeb技术…

PostgreSQL C++客户端API libpqxx的使用

PostgreSQL是一个先进的、开源的、免费的、功能强大的关系型数据库&#xff0c;缩写版是postgres。它使用一种客户端/服务器(C/S)的模型。一次PostgreSQL会话由下列相关的进程(程序)组成&#xff1a; (1).一个服务器进程&#xff0c;它管理数据库文件、接受来自客户端应用与数据…

C++研发笔记8——C语言程序设计初阶学习笔记6

在第一部分——课前准备的学习中&#xff0c;我就提到了学习C语言的过程中&#xff0c;练习是必不可少的环节&#xff0c;所以本篇笔记我们来进行记录我们学习《C语言程序设计初阶》阶段的第一篇练习文章。 题目一 下面哪个不是C语言内置的数据类型&#xff1a; A.char B.d…

mysql5.7.44 arm 源码编译安装

一、&#xff1a;下载源码&#xff1a;mysql官网&#xff1a;MySQL :: MySQL Downloads #####下载mysql安装包 &#xff1a; 网址&#xff1a;https://www.mysql.com/ 可在页面下载后上传或直接下载。 官网地址首页&#xff0c;拉到最底部&#xff0c;找到社区版本下载&#xf…

财务域——财务信息化

摘要 博文探讨了企业财务信息化相关内容。首先阐述了企业以创造价值为目标&#xff0c;涉及业务、管理和信息三大循环。业务循环涵盖获取 / 支付、转换、销售 / 收款等环节&#xff1b;管理循环包含计划、执行、控制与决策&#xff1b;信息循环强调数据的收集、处理、存储与输…

【Linux | IO多路复用】epoll的底层原理详解

epoll 是一种高效的 I/O 多路复用机制&#xff0c;广泛用于 Linux 系统中&#xff0c;用于处理大量并发的文件描述符。它比传统的 select 和 poll 方法具有更好的性能&#xff0c;特别是在处理大量并发连接时。 1.epoll的设计思路 epoll是在select 出现 N 多年后才被发明的&a…

week08 zookeeper多种安装与pandas数据变换操作-new

课程1-hadoop-Zookeeper安装 Ububtu18.04安装Zookeeper3.7.1 环境与版本 这里采用的ubuntu18.04环境的基本配置为&#xff1a; hostname 为master 用户名为hadoop 静态IP为 192.168.100.3 网关为 192.168.100.2 防火墙已经关闭 /etc/hosts已经配置全版本下载地址&#xff1…

软考(网工)——网络安全

文章目录 &#x1f550;网络安全基础1️⃣网络安全威胁类型2️⃣网络攻击类型 &#x1f551;现代加密技术1️⃣私钥密码/对称密码体制2️⃣对称加密算法总结3️⃣公钥密码/非对称密码4️⃣混合密码5️⃣国产加密算法 - SM 系列6️⃣认证7️⃣基于公钥的认证 &#x1f552;Hash …

MYSQL全局锁、标级锁、行级锁

一、全局锁 全局锁就是对整个数据库实例加锁。 MySQL 提供了一个加全局读锁的方法&#xff0c;命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候&#xff0c;可以使用这个命令&#xff0c;之后其他线程的以下语句会被阻塞&#xff1a;数据更新…

好/坏代码实例解读:图文并茂说明

我曾经在某处读到过一句话&#xff0c;基本上有以下内容&#xff1a; “现代世界许多人的生活都依赖于软件&#xff0c;例如控制大型商用客机飞行系统的软件&#xff0c;但软件开发领域大多不受监管。任何人都可以成为自学成才的软件开发人员&#xff0c;并且没有像其他高风险…

python爬虫——Selenium的基本使用

目录 一、Selenium的介绍 二、环境准备 1.安装Selenium 2.安装WebDriver 三、元素定位 1.常用定位元素的方法 2. 通过指定方式定位元素 四、窗口操作 1.最大化浏览器窗口 2.设置浏览器窗口大小 3.切换窗口或标签页 切换回主窗口 4. 关闭窗口 关闭当前窗口 关闭所…

Mkdm的51单片机学习日记:实时时钟DS1302

15.2 SPI时序初步认识 单片机常用的通信协议有三种&#xff1a;SPI&#xff0c;UART&#xff0c;I2C SPI&#xff1a;Serial Peripheral Interface 串行外围设备接口&#xff0c;是一种全双工&#xff0c;同步的通信总线 常用于单片机与EEPROM&#xff0c;FLASH&#xff0c;…

如何使用JMeter进行性能测试的保姆级教程

性能测试是确保网站在用户访问高峰时保持稳定和快速响应的关键环节。作为初学者&#xff0c;选择合适的工具尤为重要。JMeter 是一个强大的开源性能测试工具&#xff0c;可以帮助我们轻松模拟多用户场景&#xff0c;测试网站的稳定性与性能。本教程将引导你通过一个简单的登录场…

w~自动驾驶合集6

我自己的原文哦~ https://blog.51cto.com/whaosoft/12286744 #自动驾驶的技术发展路线 端到端自动驾驶 Recent Advancements in End-to-End Autonomous Driving using Deep Learning: A SurveyEnd-to-end Autonomous Driving: Challenges and Frontiers 在线高精地图 HDMa…

数据结构 - 散列表,初探

今天我们继续学习新的数据结构-散列表。 01定义 我们先来了解一些常见概念名词解释。 散列&#xff1a;散列表的实现叫做散列&#xff0c;是一种实现以常数级时间复杂度执行查找、插入和删除的技术&#xff1b; 散列值&#xff1a;通过散列函数对输入值&#xff08;key&…

前端零基础入门到上班:【Day2】开发环境VSCode安装

VSCode 安装教程&#xff1a;图文保姆教程 引言 在前端开发中&#xff0c;选择合适的代码编辑器是提高工作效率的重要一步。Visual Studio Code&#xff08;简称 VSCode&#xff09;作为一款强大的开源编辑器&#xff0c;因其简洁易用、功能强大、扩展性好而广受开发者喜爱。…

Python 协程详解----高性能爬虫

目录 1.基本概念 asyncio和async的关系 asyncio async & await关键字 协程基本语法 多任务协程返回值 案例1 协程在爬虫中的使用 aiohttp模块基本使用 协程案例-扒光一部小说需要多久? 操作数据库 异步redis 异步MySQL 案例2&#xff1a; 知识星球 | 深度连接…

Java篇图书管理系统

目录 前言 一. 图书管理系统的核心 二. 图书管理系统基本框架 2.1 book包 2.1.1 Book&#xff08;书籍类&#xff09; 2.1.2 Booklist (书架类&#xff09; 2.2 user包 2.2.1 User类 2.2.2 Administrator(管理员类) 2.2.3 Visitor&#xff08;用户类&#xff09; 2.…