形式化说明技术有穷状态机

一、概述

1.1 软件工程方法分类

按照形式化的程度进行划分。

1.2 非形式化方法的缺点

1.3 形式化方法的优点

1.4 应用形式化方法的准则

二、有穷状态机

2.1 保险箱状态转换图

#mermaid-svg-aL2VrfEb0PopXUpc .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-aL2VrfEb0PopXUpc .label text{fill:#333}#mermaid-svg-aL2VrfEb0PopXUpc .node rect,#mermaid-svg-aL2VrfEb0PopXUpc .node circle,#mermaid-svg-aL2VrfEb0PopXUpc .node ellipse,#mermaid-svg-aL2VrfEb0PopXUpc .node polygon,#mermaid-svg-aL2VrfEb0PopXUpc .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-aL2VrfEb0PopXUpc .node .label{text-align:center;fill:#333}#mermaid-svg-aL2VrfEb0PopXUpc .node.clickable{cursor:pointer}#mermaid-svg-aL2VrfEb0PopXUpc .arrowheadPath{fill:#333}#mermaid-svg-aL2VrfEb0PopXUpc .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-aL2VrfEb0PopXUpc .flowchart-link{stroke:#333;fill:none}#mermaid-svg-aL2VrfEb0PopXUpc .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-aL2VrfEb0PopXUpc .edgeLabel rect{opacity:0.9}#mermaid-svg-aL2VrfEb0PopXUpc .edgeLabel span{color:#333}#mermaid-svg-aL2VrfEb0PopXUpc .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-aL2VrfEb0PopXUpc .cluster text{fill:#333}#mermaid-svg-aL2VrfEb0PopXUpc div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-aL2VrfEb0PopXUpc .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-aL2VrfEb0PopXUpc text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-aL2VrfEb0PopXUpc .actor-line{stroke:grey}#mermaid-svg-aL2VrfEb0PopXUpc .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-aL2VrfEb0PopXUpc .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-aL2VrfEb0PopXUpc #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-aL2VrfEb0PopXUpc .sequenceNumber{fill:#fff}#mermaid-svg-aL2VrfEb0PopXUpc #sequencenumber{fill:#333}#mermaid-svg-aL2VrfEb0PopXUpc #crosshead path{fill:#333;stroke:#333}#mermaid-svg-aL2VrfEb0PopXUpc .messageText{fill:#333;stroke:#333}#mermaid-svg-aL2VrfEb0PopXUpc .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-aL2VrfEb0PopXUpc .labelText,#mermaid-svg-aL2VrfEb0PopXUpc .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-aL2VrfEb0PopXUpc .loopText,#mermaid-svg-aL2VrfEb0PopXUpc .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-aL2VrfEb0PopXUpc .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-aL2VrfEb0PopXUpc .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-aL2VrfEb0PopXUpc .noteText,#mermaid-svg-aL2VrfEb0PopXUpc .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-aL2VrfEb0PopXUpc .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-aL2VrfEb0PopXUpc .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-aL2VrfEb0PopXUpc .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-aL2VrfEb0PopXUpc .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-aL2VrfEb0PopXUpc .section{stroke:none;opacity:0.2}#mermaid-svg-aL2VrfEb0PopXUpc .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-aL2VrfEb0PopXUpc .section2{fill:#fff400}#mermaid-svg-aL2VrfEb0PopXUpc .section1,#mermaid-svg-aL2VrfEb0PopXUpc .section3{fill:#fff;opacity:0.2}#mermaid-svg-aL2VrfEb0PopXUpc .sectionTitle0{fill:#333}#mermaid-svg-aL2VrfEb0PopXUpc .sectionTitle1{fill:#333}#mermaid-svg-aL2VrfEb0PopXUpc .sectionTitle2{fill:#333}#mermaid-svg-aL2VrfEb0PopXUpc .sectionTitle3{fill:#333}#mermaid-svg-aL2VrfEb0PopXUpc .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-aL2VrfEb0PopXUpc .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-aL2VrfEb0PopXUpc .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-aL2VrfEb0PopXUpc .grid path{stroke-width:0}#mermaid-svg-aL2VrfEb0PopXUpc .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-aL2VrfEb0PopXUpc .task{stroke-width:2}#mermaid-svg-aL2VrfEb0PopXUpc .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-aL2VrfEb0PopXUpc .taskText:not([font-size]){font-size:11px}#mermaid-svg-aL2VrfEb0PopXUpc .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-aL2VrfEb0PopXUpc .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-aL2VrfEb0PopXUpc .task.clickable{cursor:pointer}#mermaid-svg-aL2VrfEb0PopXUpc .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-aL2VrfEb0PopXUpc .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-aL2VrfEb0PopXUpc .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-aL2VrfEb0PopXUpc .taskText0,#mermaid-svg-aL2VrfEb0PopXUpc .taskText1,#mermaid-svg-aL2VrfEb0PopXUpc .taskText2,#mermaid-svg-aL2VrfEb0PopXUpc .taskText3{fill:#fff}#mermaid-svg-aL2VrfEb0PopXUpc .task0,#mermaid-svg-aL2VrfEb0PopXUpc .task1,#mermaid-svg-aL2VrfEb0PopXUpc .task2,#mermaid-svg-aL2VrfEb0PopXUpc .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-aL2VrfEb0PopXUpc .taskTextOutside0,#mermaid-svg-aL2VrfEb0PopXUpc .taskTextOutside2{fill:#000}#mermaid-svg-aL2VrfEb0PopXUpc .taskTextOutside1,#mermaid-svg-aL2VrfEb0PopXUpc .taskTextOutside3{fill:#000}#mermaid-svg-aL2VrfEb0PopXUpc .active0,#mermaid-svg-aL2VrfEb0PopXUpc .active1,#mermaid-svg-aL2VrfEb0PopXUpc .active2,#mermaid-svg-aL2VrfEb0PopXUpc .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-aL2VrfEb0PopXUpc .activeText0,#mermaid-svg-aL2VrfEb0PopXUpc .activeText1,#mermaid-svg-aL2VrfEb0PopXUpc .activeText2,#mermaid-svg-aL2VrfEb0PopXUpc .activeText3{fill:#000 !important}#mermaid-svg-aL2VrfEb0PopXUpc .done0,#mermaid-svg-aL2VrfEb0PopXUpc .done1,#mermaid-svg-aL2VrfEb0PopXUpc .done2,#mermaid-svg-aL2VrfEb0PopXUpc .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-aL2VrfEb0PopXUpc .doneText0,#mermaid-svg-aL2VrfEb0PopXUpc .doneText1,#mermaid-svg-aL2VrfEb0PopXUpc .doneText2,#mermaid-svg-aL2VrfEb0PopXUpc .doneText3{fill:#000 !important}#mermaid-svg-aL2VrfEb0PopXUpc .crit0,#mermaid-svg-aL2VrfEb0PopXUpc .crit1,#mermaid-svg-aL2VrfEb0PopXUpc .crit2,#mermaid-svg-aL2VrfEb0PopXUpc .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-aL2VrfEb0PopXUpc .activeCrit0,#mermaid-svg-aL2VrfEb0PopXUpc .activeCrit1,#mermaid-svg-aL2VrfEb0PopXUpc .activeCrit2,#mermaid-svg-aL2VrfEb0PopXUpc .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-aL2VrfEb0PopXUpc .doneCrit0,#mermaid-svg-aL2VrfEb0PopXUpc .doneCrit1,#mermaid-svg-aL2VrfEb0PopXUpc .doneCrit2,#mermaid-svg-aL2VrfEb0PopXUpc .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-aL2VrfEb0PopXUpc .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-aL2VrfEb0PopXUpc .milestoneText{font-style:italic}#mermaid-svg-aL2VrfEb0PopXUpc .doneCritText0,#mermaid-svg-aL2VrfEb0PopXUpc .doneCritText1,#mermaid-svg-aL2VrfEb0PopXUpc .doneCritText2,#mermaid-svg-aL2VrfEb0PopXUpc .doneCritText3{fill:#000 !important}#mermaid-svg-aL2VrfEb0PopXUpc .activeCritText0,#mermaid-svg-aL2VrfEb0PopXUpc .activeCritText1,#mermaid-svg-aL2VrfEb0PopXUpc .activeCritText2,#mermaid-svg-aL2VrfEb0PopXUpc .activeCritText3{fill:#000 !important}#mermaid-svg-aL2VrfEb0PopXUpc .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-aL2VrfEb0PopXUpc g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-aL2VrfEb0PopXUpc g.classGroup text .title{font-weight:bolder}#mermaid-svg-aL2VrfEb0PopXUpc g.clickable{cursor:pointer}#mermaid-svg-aL2VrfEb0PopXUpc g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-aL2VrfEb0PopXUpc g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-aL2VrfEb0PopXUpc .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-aL2VrfEb0PopXUpc .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-aL2VrfEb0PopXUpc .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-aL2VrfEb0PopXUpc .dashed-line{stroke-dasharray:3}#mermaid-svg-aL2VrfEb0PopXUpc #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-aL2VrfEb0PopXUpc #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-aL2VrfEb0PopXUpc #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-aL2VrfEb0PopXUpc #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-aL2VrfEb0PopXUpc #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-aL2VrfEb0PopXUpc #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-aL2VrfEb0PopXUpc #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-aL2VrfEb0PopXUpc #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-aL2VrfEb0PopXUpc .commit-id,#mermaid-svg-aL2VrfEb0PopXUpc .commit-msg,#mermaid-svg-aL2VrfEb0PopXUpc .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-aL2VrfEb0PopXUpc .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-aL2VrfEb0PopXUpc .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-aL2VrfEb0PopXUpc g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-aL2VrfEb0PopXUpc g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-aL2VrfEb0PopXUpc g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-aL2VrfEb0PopXUpc g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-aL2VrfEb0PopXUpc g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-aL2VrfEb0PopXUpc g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-aL2VrfEb0PopXUpc .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-aL2VrfEb0PopXUpc .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-aL2VrfEb0PopXUpc .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-aL2VrfEb0PopXUpc .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-aL2VrfEb0PopXUpc .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-aL2VrfEb0PopXUpc .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-aL2VrfEb0PopXUpc .edgeLabel text{fill:#333}#mermaid-svg-aL2VrfEb0PopXUpc .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-aL2VrfEb0PopXUpc .node circle.state-start{fill:black;stroke:black}#mermaid-svg-aL2VrfEb0PopXUpc .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-aL2VrfEb0PopXUpc #statediagram-barbEnd{fill:#9370db}#mermaid-svg-aL2VrfEb0PopXUpc .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-aL2VrfEb0PopXUpc .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-aL2VrfEb0PopXUpc .statediagram-state .divider{stroke:#9370db}#mermaid-svg-aL2VrfEb0PopXUpc .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-aL2VrfEb0PopXUpc .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-aL2VrfEb0PopXUpc .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-aL2VrfEb0PopXUpc .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-aL2VrfEb0PopXUpc .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-aL2VrfEb0PopXUpc .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-aL2VrfEb0PopXUpc .note-edge{stroke-dasharray:5}#mermaid-svg-aL2VrfEb0PopXUpc .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-aL2VrfEb0PopXUpc .error-icon{fill:#522}#mermaid-svg-aL2VrfEb0PopXUpc .error-text{fill:#522;stroke:#522}#mermaid-svg-aL2VrfEb0PopXUpc .edge-thickness-normal{stroke-width:2px}#mermaid-svg-aL2VrfEb0PopXUpc .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-aL2VrfEb0PopXUpc .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-aL2VrfEb0PopXUpc .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-aL2VrfEb0PopXUpc .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-aL2VrfEb0PopXUpc .marker{fill:#333}#mermaid-svg-aL2VrfEb0PopXUpc .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-aL2VrfEb0PopXUpc {color: rgba(0, 0, 0, 0.75);font: ;}

1L
3R
2L
转盘其他移动
转盘其他移动
转盘其他移动
保险箱锁定
A
B
保险箱解锁
报警

状态集J: {保险箱锁定,A,B,保险箱解锁,报警}。

输入集K: {1L,1R,2L,2R,3L,3R}。

转换函数T。

初始态S: 保险箱锁定。

终态集F: {保险箱解锁,报警}。

2.2 转换规则

对一个系统进行规格说明,通常都需要对有穷状态机进行一个扩展,因此需要在前述5个元组中加入第6个部件——谓词集P,其中每个谓词都是系统全局状态Y的函数。则转换规则形式如下:
当前状态[菜单]+事件[所选择的项]+谓词=>下个状态当前状态[菜单]+事件[所选择的项]+谓词=>下个状态 当前状态[菜单]+事件[所选择的项]+谓词=>下个状态

Reference

《软件工程导论》

形式化说明技术有穷状态机相关推荐

  1. [软件工程导论(第六版)]第4章 形式化说明技术(课后习题详解)

    文章目录 1. 举例对比形式化方法和欠形式化方法的优缺点. 2. 在什么情况下应该使用形式化说明技术?使用形式化说明技术时应遵守哪些准则? 3. 一个浮点二进制数的构成是:一个可选的符号(+或-),后 ...

  2. 统计单词个数———有穷状态机编程

    有穷状态机的形式定义 有穷状态机是一个五元组 (Q,Σ,δ,q0,F),其中: Q是一个有穷集合,称为状态集. Σ是一个有穷集合,称为字母表. δ: Q xΣQ称为状态转移函数. q0 是初始状态. ...

  3. 在什么情况下应该使用形式化说明技术?使用形式化说明技术时应遵守哪些准则?...

    在开发大型软件系统的过程中应该使用形式化说明技术. 应用形式化方法的准则:(1)应该选用适当的表示方法.(2)应该形式化,但不要过分形式化.(3)应该估算成本.(4)应该有形式化方法顾问随时提供咨询. ...

  4. 鉴源论坛 · 观模丨µC/OS内核的形式化验证技术

    作者 | 郭建 上海控安可信软件创新研究院特聘专家          丁继政 上海控安研发中心研究员 版块 | 鉴源论坛 · 观模 操作系统作为软件系统的核心,其安全性与可靠性是构造高可信软件最为关键 ...

  5. 软件工程导论期末复习整理

    软件工程导论 第1章 软件工程学概述 复习小结 1.识记概念:软件,程序.数据,文档.软件危机.软件工程,软件过程, 软件生命周期 2.理解软件工程的本质特性6个和基本原理7条 3.掌握软件工程的三个 ...

  6. 2. 软件工程概论——结构化分析

    软工导论(二)结构化分析 传统的软件工程方法学采用结构化分析技术完成系统分析(问题定义.可行性研究.需求分析)的任务. 结构化分析方法实质上是面向数据流自顶向下逐步求精进行需求分析的方法 结构化分析技 ...

  7. 软件工程---第四章---形式化分析

    文章目录 非形式化 形式化 应用形式化的准则 有穷状态机 Perl网 加入禁止线 按形式化程度,可以将软件工程使用的方法分为: 非形式化 用自然语言书写的缺点:矛盾,二义性,含糊性,不完整性 矛盾-一 ...

  8. 软件工程形式化技术简介

    形式化技术在软件工程中有效的提高了开发的效率.改进了软件开发的质量.减少了开发费用.形式化的技术容易在软件的规约上取得一致性,它属于一种非常有效的交流方式. (一)非形式化的缺点 用自然语言书写的系统 ...

  9. 智能汽车预期功能安全保障关键技术

    本文作者邵文博.李骏.张玉新 由于性能局限.规范不足或可合理预见误用导致的预期功能安全问题层出不穷,严重阻碍了智能汽车的快速发展.本综述聚焦智能汽车预期功能安全保障关键技术,分别从系统开发.功能改进和 ...

最新文章

  1. 几种经典的居中技巧(垂直和水平居中)
  2. 《管理转型》——读书随笔
  3. 第五十节,面向对象基本介绍
  4. Python+django建站入门篇(2):素数判断
  5. 电压比较器,电压比较器原理
  6. android 资源id 闪退,【报Bug】android闪退,勾选Push消息推送自定义基座后 获取oaid,vaid,aaid, app闪退...
  7. 简单多边形的三角剖分相关技术
  8. 鸿蒙5G的营业执照,华为鸿蒙系统疑似被曝光 工信部向三大运营商颁发5G牌照​...
  9. 服务器自检后显示scsi,“服务器百问百答”服务器怎样格式化SCSI硬盘?
  10. C语言第一个程序——一个简单的Hello world!程序
  11. 计算机无法关闭密码保护共享,xp系统怎么关闭密码保护共享
  12. 怎么把html表格转化为excel,导出html到excel表格数据格式-如何将html转换成excel
  13. 开发一款APP需要准备哪些资料
  14. iphone开发中的手势操作:Multiple Taps
  15. 【Flutter实战】六大布局组件及半圆菜单案例
  16. 羊了个羊是怎么赚钱的
  17. 一文了解边缘计算和边缘AI
  18. 华为暂缓校招,解散校招群,冲上热搜,引发应届生强烈不满!
  19. 古城南京,加“数”前进——CDEC2021中国数字智能生态大会走进南京
  20. 【PHP】PHP基本语法

热门文章

  1. T5L串口屏的ICL文件生成过程中有哪些注意事项?
  2. 使用达索Delmia创建新的机器人,可以仿真、与运动
  3. 三招快速提高孩子交际能力
  4. ChatGPT来了,英语不能丢,但我不想上班
  5. mysql查询语文比数学成绩高的学号_MySQL数据库入门(九)多表复杂查询练习及讲解-中...
  6. solr常用查询参数意义及其简单用法
  7. SDN趋势回顾:2016年是软件定义WAN元年
  8. 可视化大屏项目适配 vue
  9. 计算机java毕业设计 JavaWeb大学实验室设备资产管理系统
  10. 聚合支付到底有没有前景?