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