0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

activiti通過創(chuàng)建流程實(shí)例引擎實(shí)現(xiàn)不同流程的流轉(zhuǎn)

Android編程精選 ? 來源:CSDN ? 作者:靖節(jié)先生 ? 2022-07-13 09:20 ? 次閱讀

1. 什么是工作流

1.1 工作流介紹

工作流(Workflow),就是通過計(jì)算機(jī)對(duì)業(yè)務(wù)流程自動(dòng)化執(zhí)行管理。它主要解決的是“使在多個(gè)參與者之間按照某種預(yù)定義的規(guī)則自動(dòng)進(jìn)行傳遞文檔、信息或任務(wù)的過程,從而實(shí)現(xiàn)某個(gè)預(yù)期的業(yè)務(wù)目標(biāo),或者促使此目標(biāo)的實(shí)現(xiàn)”。

1.2 工作流系統(tǒng)

什么是工作流系統(tǒng)

具有工作流程功能的軟件系統(tǒng)。用于更好的管理業(yè)務(wù)流程。

適用行業(yè),各行各業(yè)

比如,消費(fèi)品行業(yè),制造業(yè),電信服務(wù)業(yè),銀證險(xiǎn)等金融服務(wù)業(yè),物流服務(wù)業(yè),物業(yè)服務(wù)業(yè),物業(yè)管理,大中型進(jìn)出口貿(mào)易公司,政府事業(yè)機(jī)構(gòu),研究院所及教育服務(wù)業(yè)等,特別是大的跨國企業(yè)和集團(tuán)公司。

具體場(chǎng)景,凡是涉及到業(yè)務(wù)流程的所有場(chǎng)景

關(guān)鍵業(yè)務(wù)流程:訂單、報(bào)價(jià)處理、合同審核、客戶電話處理、供應(yīng)鏈管理等

行政管理類:出差申請(qǐng)、加班申請(qǐng)、請(qǐng)假申請(qǐng)、用車申請(qǐng)、各種辦公用品申請(qǐng)、購買申請(qǐng)、日?qǐng)?bào)周報(bào)等凡是原來手工流轉(zhuǎn)處理的行政表單。

人事管理類:?jiǎn)T工培訓(xùn)安排、績效考評(píng)、職位變動(dòng)處理、員工檔案信息管理等。

財(cái)務(wù)相關(guān)類:付款請(qǐng)求、應(yīng)收款處理、日常報(bào)銷處理、出差報(bào)銷、預(yù)算和計(jì)劃申請(qǐng)等。

客戶服務(wù)類:客戶信息管理、客戶投訴、請(qǐng)求處理、售后服務(wù)管理等。

1.3 工作流實(shí)現(xiàn)方式

目前常見的工作流程有兩種方式:

通過狀態(tài)字段實(shí)現(xiàn)流程控制。原始,適合簡(jiǎn)單流程控制。

工作流引擎實(shí)現(xiàn)流程控制。適用場(chǎng)景更廣泛,擴(kuò)展性更好。

1.4 工作流實(shí)現(xiàn)原理

Activiti牛批之處在于,它在不改變代碼的前提下實(shí)現(xiàn)各種業(yè)務(wù)流程的管理,適用性,擴(kuò)展性很優(yōu)秀。

activiti通過創(chuàng)建流程實(shí)例引擎,可以實(shí)現(xiàn)不同流程的流轉(zhuǎn),通過不斷讀取創(chuàng)建的流程節(jié)點(diǎn)實(shí)現(xiàn)流程流轉(zhuǎn)。

2. Activiti7概述

2.1 Activiti介紹

Activiti 是一個(gè)工作流引擎, activiti 可以將業(yè)務(wù)系統(tǒng)中復(fù)雜的業(yè)務(wù)流程抽取出來,使用專門的建模語言(BPMN2.0)進(jìn)行定義,業(yè)務(wù)系統(tǒng)按照預(yù)先定義的流程進(jìn)行執(zhí)行,實(shí)現(xiàn)了業(yè)務(wù)系統(tǒng)的業(yè)務(wù)流程由 activiti 進(jìn)行管理,減少業(yè)務(wù)系統(tǒng)由于流程變更進(jìn)行系統(tǒng)升級(jí)改造的工作量,從而提高系統(tǒng)的健壯性,同時(shí)也減少了系統(tǒng)開發(fā)維護(hù)成本。

當(dāng)然這里還有一些小故事,Alfresco 軟件在 2010 年 5 月 17 日宣布 Activiti 業(yè)務(wù)流程管理(BPM)開源項(xiàng)目的正式啟動(dòng), 其首席架構(gòu)師由業(yè)務(wù)流程管理 BPM 的專家 Tom Baeyens 擔(dān)任, Tom Baeyens 就是原來 jbpm 的架構(gòu)師,而 jbpm 是一個(gè)非常有名的工作流引擎,當(dāng)然 activiti 也是一個(gè)工作流引擎。

下邊介紹三個(gè)名詞概念,就不長篇大論了,簡(jiǎn)單總結(jié)下。

BPM:BPM(Business Process Management),即業(yè)務(wù)流程管理。

BPM系統(tǒng):那就是業(yè)務(wù)流程管理的系統(tǒng)。

BPMN,這個(gè)比較噢重要,多說兩句,具體往下看。

BPMN(Business Process Model And Notation) - 業(yè)務(wù)流程模型和符號(hào) 是由 BPMI(BusinessProcess Management Initiative)開發(fā)的一套標(biāo)準(zhǔn)的業(yè)務(wù)流程建模符號(hào),使用 BPMN 提供的符號(hào)可以創(chuàng)建業(yè)務(wù)流程。

總結(jié)來說就是用來建模業(yè)務(wù)流程的標(biāo)準(zhǔn)規(guī)則,一個(gè)個(gè)符號(hào)!

1d809b58-01d8-11ed-ba43-dac502259ad0.png

2.2 Activiti使用

一般情況下都是通過創(chuàng)建BPMN進(jìn)行業(yè)務(wù)流程建模,兩種方式,idea插件或者eclipse插件,通過符號(hào)創(chuàng)建流程。

idea安裝bpmn插件

在 IDEA 的 File 菜單中找到子菜單”Settings”,后面我們?cè)龠x擇左側(cè)的“plugins”菜單,如下圖所示

1d93f978-01d8-11ed-ba43-dac502259ad0.png

1db89b34-01d8-11ed-ba43-dac502259ad0.png

3. Activiti環(huán)境配置

3.1 創(chuàng)建數(shù)據(jù)庫

CREATEDATABASEactivitiDEFAULTCHARACTERSETutf8;

3.2 初始化數(shù)據(jù)庫表:

創(chuàng)建Maven工程

pYYBAGLOHwWADI4ZAABXW1-YN60483.jpg

加入依賴



4.0.0

com.activiti.demo
activiti_demo
1.0-SNAPSHOT

 

1.6.6
1.2.12



 

org.activiti
activiti-engine
7.0.0.Beta1



org.activiti
activiti-spring
7.0.0.Beta1



org.activiti
activiti-bpmn-model
7.0.0.Beta1



org.activiti
activiti-bpmn-converter
7.0.0.Beta1



org.activiti
activiti-json-converter
7.0.0.Beta1



org.activiti
activiti-bpmn-layout
7.0.0.Beta1



org.activiti.cloud
activiti-cloud-services-api
7.0.0.Beta1



mysql
mysql-connector-java
5.1.40



junit
junit
4.12


 

log4j
log4j
${log4j.version}


org.slf4j
slf4j-api
${slf4j.version}


org.slf4j
slf4j-log4j12
${slf4j.version}

 


org.mybatis
mybatis
3.4.5



commons-dbcp
commons-dbcp
1.4






alfresco
ActivitiReleases
https://artifacts.alfresco.com/nexus/content/repositories/activiti-releases/

true


配置日志

#SetrootcategoryprioritytoINFOanditsonlyappendertoCONSOLE.
#log4j.rootCategory=INFO,CONSOLEdebuginfowarnerrorfatal
log4j.rootCategory=debug,CONSOLE,LOGFILE

#SettheenterpriseloggercategorytoFATALanditsonlyappendertoCONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL,CONSOLE

#CONSOLEissettobeaConsoleAppenderusingaPatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601}%-6r[%15.15t]%-5p%30.30c%x-%m


#LOGFILEissettobeaFileappenderusingaPatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:/axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601}%-6r[%15.15t]%-5p%30.30c%x-%m

配置activity.cfg.xml


編寫代碼

/**
*Activiti初始化25張表
*執(zhí)行的是activiti-engine-7.0.0.Beta1.jar包下對(duì)應(yīng)不同內(nèi)置好的sql語句
*orgactivitidbdropactiviti.db2.drop.engine.sql
*
*@authorzrj
*@date2020/12/29
*@sinceV1.0
**/
publicclassActivitiInit{

/**
*方式一
*/
@Test
publicvoidGenActivitiTables(){

// 1.創(chuàng)建ProcessEngineConfiguration對(duì)象。第一個(gè)參數(shù):配置文件名稱;第二個(gè)參數(shù):processEngineConfiguration的bean的id
ProcessEngineConfigurationprocessEngineConfiguration=ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("activiti.cfg.xml","processEngineConfiguration");
//2.創(chuàng)建ProcessEngine對(duì)象
ProcessEngineprocessEngine=processEngineConfiguration.buildProcessEngine();
//3.輸出processEngine對(duì)象
System.out.println(processEngine);

}

/**
*方式二
*/
@Test
publicvoidGenActivitiTables2(){
//條件:1.activiti配置文件名稱:activiti.cfg.xml  2.bean的id="processEngineConfiguration"
ProcessEngineprocessEngine=ProcessEngines.getDefaultProcessEngine();
System.out.println(processEngine);
}
}

3.3 創(chuàng)建數(shù)據(jù)庫表

執(zhí)行上邊的代碼。

3.4 數(shù)據(jù)庫表命名規(guī)則

1e0a67f2-01d8-11ed-ba43-dac502259ad0.png

Activiti 的表都以 ACT_開頭。第二部分是表示表的用途的兩個(gè)字母標(biāo)識(shí)。用途也和服務(wù)的 API 對(duì)應(yīng)。

ACT_RE_*: 'RE'表示 repository。這個(gè)前綴的表包含了流程定義和流程靜態(tài)資源 (圖片,規(guī)則,等等)。

ACT_RU_*: 'RU'表示 runtime。這些運(yùn)行時(shí)的表,包含流程實(shí)例,任務(wù),變量,異步任務(wù),等運(yùn)行中的數(shù)據(jù)。Activiti 只在流程實(shí)例執(zhí)行過程中保存這些數(shù)據(jù), 在流程結(jié)束時(shí)就會(huì)刪除這些記錄。這樣運(yùn)行時(shí)表可以一直很小速度很快。

ACT_HI_*: 'HI'表示 history。這些表包含歷史數(shù)據(jù),比如歷史流程實(shí)例, 變量,任務(wù)等等。

ACT_GE_*: 'GE'表示 general。通用數(shù)據(jù), 用于不同場(chǎng)景下

4. Activiti架構(gòu)簡(jiǎn)介

activiti.cfg.xml

activiti 的引擎配置文件,包括:ProcessEngineConfiguration 的定義、數(shù)據(jù)源定義、事務(wù)管理器等,此文件其實(shí)就是一個(gè) spring 配置文件,下面是一個(gè)基本的配置只配置了 ProcessEngineConfiguration和數(shù)據(jù)源。

ProcessEngineConfiguration

流程引擎的配置類,通過 ProcessEngineConfiguration 可以創(chuàng)建工作流引擎 ProceccEngine,常用的兩種方法。

ProcessEngine

工作流引擎,相當(dāng)于一個(gè)門面接口,通過 ProcessEngineConfiguration 創(chuàng)建 processEngine,通過ProcessEngine 創(chuàng)建各個(gè) service 接口。

Service

通過 ProcessEngine 創(chuàng)建 Service, Service 是工作流引擎提供用于進(jìn)行工作流部署、執(zhí)行、管理的服務(wù)接口。

1e1c12e0-01d8-11ed-ba43-dac502259ad0.png

5. Activiti入門案例

5.1 流程定義

什么是流程定義

流程定義是線下按照 bpmn2.0 標(biāo)準(zhǔn)去描述 業(yè)務(wù)流程,通常使用 activiti-explorer(web 控制臺(tái))或 activiti-eclipse-designer 插件對(duì)業(yè)務(wù)流程進(jìn)行建模,這兩種方式都遵循 bpmn2.0 標(biāo)準(zhǔn)。本教程使用activiti-eclipse-designer 插件完成流程建模。使用 designer 設(shè)計(jì)器繪制流程,會(huì)生成兩個(gè)文件:.bpmn和.png

創(chuàng)建bpmn文件

Palette(畫板)

在 eclipse 或 idea 中安裝 activiti-designer 插件即可使用,畫板中包括以下結(jié)點(diǎn):

Connection—連接

Event---事件

Task---任務(wù)

Gateway---網(wǎng)關(guān)

Container—容器

Boundary event—邊界事件

Intermediate event- -中間事件

流程圖設(shè)計(jì)完畢保存生成.bpmn 文件

idea創(chuàng)建bpmn

poYBAGLOHt6ACjdEAACjqsn3kNY798.jpg

pYYBAGLOHrSAEECGAAB6qcUKUAU644.jpg

生成png圖片

第一步:將 holiday.bpmn 文件改為擴(kuò)展名 xml 的文件名稱:holiday.xml

第二步:在 holiday.xml 文件上面,點(diǎn)右鍵并選擇 Diagrams 菜單,再選擇 Show BPMN2.0 Designe

pYYBAGLOHpiAfCrNAACBBTGeg7k237.jpg

第三步:打開后的效果圖如下:

pYYBAGLOHnyAQUzhAABnzxm3NS8897.jpg

打開如下窗口,注意填寫文件名及擴(kuò)展名,選擇好保存圖片的位置:

poYBAGLOHmCANQhlAABvBfMwgTI324.jpg

第五步:中文亂碼的解決

打開 IDEA 安裝路徑,找到如下的安裝目錄

1ed2721a-01d8-11ed-ba43-dac502259ad0.png

根據(jù)自己所安裝的版本來決定,我使用的是 64 位的 idea,所以在 idea64.exe.vmoptions 文件的最后一行追加一條命令:-Dfile.encoding=UTF-8

如下所示

pYYBAGLOHjGAbI5CAACGYDCvMSs945.jpg

一定注意,不要有空格,否則重啟 IDEA 時(shí)會(huì)打不開,然后 重啟 IDEA,把原來的 png 圖片刪掉,再重新生成,即可解決亂碼問題

5.2 部署流程

什么是流程部署

將線下定義的流程部署到 activiti 數(shù)據(jù)庫中,這就是流程定義部署,通過調(diào)用 activiti 的 api 將流程定義的 bpmn 和 png 兩個(gè)文件一個(gè)一個(gè)添加部署到 activiti 中,也可以將兩個(gè)文件打成 zip 包進(jìn)行部署。

單個(gè)文件部署方式

分別將 bpmn 文件和 png 圖片文件部署

壓縮包部署方式

/**
*流程定義的部署
* activiti表有哪些?
*act_re_deployment部署信息
*act_re_procdef流程定義的一些信息
*act_ge_bytearray流程定義的bpmn文件及png文件
*
*@authorzrj
*@date2020/12/29
*@sinceV1.0
**/
publicclassActivitiDeployment{

/**
*方式一
*分別將bpmn文件和png圖片文件部署
*/
@Test
publicvoidactivitiDeploymentTest(){
//1.創(chuàng)建ProcessEngine對(duì)象
ProcessEngineprocessEngine=ProcessEngines.getDefaultProcessEngine();

//2.得到RepositoryService實(shí)例
RepositoryServicerepositoryService=processEngine.getRepositoryService();

//3.進(jìn)行部署
Deploymentdeployment=repositoryService.createDeployment()
.addClasspathResource("diagram/holiday.bpmn")
.addClasspathResource("diagram/holiday.png")
.name("請(qǐng)假申請(qǐng)單流程")
.deploy();

//4.輸出部署的一些信息
System.out.println(deployment.getName());
System.out.println(deployment.getId());
}

/**
*方式二
*將holiday.bpmn和holiday.png壓縮成zip包
*/
@Test
publicvoidactivitiDeploymentTest2(){
//1.創(chuàng)建ProcessEngine對(duì)象
ProcessEngineprocessEngine=ProcessEngines.getDefaultProcessEngine();

//2.得到RepositoryService實(shí)例
RepositoryServicerepositoryService=processEngine.getRepositoryService();

//3.轉(zhuǎn)化出ZipInputStream流對(duì)象
InputStreamis=ActivitiDeployment.class.getClassLoader().getResourceAsStream("diagram/holidayBPMN.zip");

//將inputstream流轉(zhuǎn)化為ZipInputStream流
ZipInputStreamzipInputStream=newZipInputStream(is);

//3.進(jìn)行部署
Deploymentdeployment=repositoryService.createDeployment()
.addZipInputStream(zipInputStream)
.name("請(qǐng)假申請(qǐng)單流程")
.deploy();

//4.輸出部署的一些信息
System.out.println(deployment.getName());
System.out.println(deployment.getId());
}

}

操作數(shù)據(jù)表

-- activiti表有哪些?
--部署信息
select*fromact_re_deployment;

--流程定義的一些信息
select*fromact_re_procdef;

--流程定義的bpmn文件及png文件
select*fromact_ge_bytearray;

5.3 啟動(dòng)流程

/**
*啟動(dòng)流程實(shí)例:
*前提是先已經(jīng)完成流程定義的部署工作
*背后影響的表:
*act_hi_actinst已完成的活動(dòng)信息
*act_hi_identitylink參與者信息
*act_hi_procinst流程實(shí)例
*act_hi_taskinst任務(wù)實(shí)例
*act_ru_execution執(zhí)行表
*act_ru_identitylink參與者信息
*act_ru_task任務(wù)
*
*@authorzrj
*@date2020/12/29
*@sinceV1.0
**/
publicclassActivitiStartInstance{
publicstaticvoidmain(String[]args){
//1.得到ProcessEngine對(duì)象
ProcessEngineprocessEngine=ProcessEngines.getDefaultProcessEngine();

//2.得到RunService對(duì)象
RuntimeServiceruntimeService=processEngine.getRuntimeService();

//3.創(chuàng)建流程實(shí)例流程定義的key需要知道holiday
ProcessInstanceprocessInstance=runtimeService.startProcessInstanceByKey("holiday");

//4.輸出實(shí)例的相關(guān)信息
System.out.println("流程部署ID"+processInstance.getDeploymentId());
System.out.println("流程定義ID"+processInstance.getProcessDefinitionId());
System.out.println("流程實(shí)例ID"+processInstance.getId());
System.out.println("活動(dòng)ID"+processInstance.getActivityId());

}
}

5.4 流程定義查詢

/**
*流程定義查詢
*
*@authorzrj
*@date2020/12/29
*@sinceV1.0
**/
publicclassQueryProceccDefinition{

@Test
publicvoidqueryProceccDefinition(){
//流程定義key
StringprocessDefinitionKey="holiday";
//1.得到ProcessEngine對(duì)象
ProcessEngineprocessEngine=ProcessEngines.getDefaultProcessEngine();

//獲取repositoryService
RepositoryServicerepositoryService=processEngine.getRepositoryService();
//查詢流程定義
ProcessDefinitionQueryprocessDefinitionQuery=repositoryService.createProcessDefinitionQuery();
//遍歷查詢結(jié)果
Listlist=processDefinitionQuery
.processDefinitionKey(processDefinitionKey)
.orderByProcessDefinitionVersion().desc().list();

for(ProcessDefinitionprocessDefinition:list){
System.out.println("------------------------");
System.out.println("流程部署 id :"+processDefinition.getDeploymentId());
System.out.println("流程定義id:"+processDefinition.getId());
System.out.println("流程定義名稱:"+processDefinition.getName());
System.out.println("流程定義key:"+processDefinition.getKey());
System.out.println("流程定義版本:"+processDefinition.getVersion());
}
}
}

5.5 流程定義刪除

/**
*刪除指定流程id的流程
*/
publicvoiddeleteDeployment(){
//流程部署id
StringdeploymentId="8801";
//1.得到ProcessEngine對(duì)象
ProcessEngineprocessEngine=ProcessEngines.getDefaultProcessEngine();

//通過流程引擎獲取repositoryService
RepositoryServicerepositoryService=processEngine.getRepositoryService();
//刪除流程定義,如果該流程定義已有流程實(shí)例啟動(dòng)則刪除時(shí)出錯(cuò)
repositoryService.deleteDeployment(deploymentId);
//設(shè)置true級(jí)聯(lián)刪除流程定義,即使該流程有流程實(shí)例啟動(dòng)也可以刪除,設(shè)
//置為false非級(jí)別刪除方式,如果流程
repositoryService.deleteDeployment(deploymentId,true);
}

5.6 流程定義資源查詢

/**
*獲取資源
*/
@Test
publicvoidgetProcessResources()throwsIOException{
//流程定義id
StringprocessDefinitionId="";
//1.得到ProcessEngine對(duì)象
ProcessEngineprocessEngine=ProcessEngines.getDefaultProcessEngine();
//獲取repositoryService
RepositoryServicerepositoryService=processEngine.getRepositoryService();
//流程定義對(duì)象
ProcessDefinitionprocessDefinition=repositoryService
.createProcessDefinitionQuery()
.processDefinitionId(processDefinitionId).singleResult();
//獲取bpmn
Stringresource_bpmn=processDefinition.getResourceName();
//獲取png
Stringresource_png=processDefinition.getDiagramResourceName();
//資源信息
System.out.println("bpmn:"+resource_bpmn);
System.out.println("png:"+resource_png);
Filefile_png=newFile("d:/purchasingflow01.png");
Filefile_bpmn=newFile("d:/purchasingflow01.bpmn");
//輸出bpmn
InputStreamresourceAsStream=null;
resourceAsStream=repositoryService.getResourceAsStream(processDefinition.getDeploymentId(),resource_bpmn);
FileOutputStreamfileOutputStream=newFileOutputStream(file_bpmn);
byte[]b=newbyte[1024];
intlen=-1;
while((len=resourceAsStream.read(b,0,1024))!=-1){
fileOutputStream.write(b,0,len);
}
//輸出圖片
resourceAsStream=repositoryService.getResourceAsStream(processDefinition.getDeploymentId(),resource_png);
fileOutputStream=newFileOutputStream(file_png);
//byte[]b=newbyte[1024];
//intlen=-1;
while((len=resourceAsStream.read(b,0,1024))!=-1){
fileOutputStream.write(b,0,len);
}
}


審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7289

    瀏覽量

    87516
  • 工作流
    +關(guān)注

    關(guān)注

    0

    文章

    42

    瀏覽量

    12405
  • Activiti
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    2741

原文標(biāo)題:工作流引擎 Activiti 入門詳解

文章出處:【微信號(hào):AndroidPush,微信公眾號(hào):Android編程精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    邏輯組件中的流程塊節(jié)點(diǎn)通常出于什么用途

    邏輯組件中的流程塊節(jié)點(diǎn)是流程圖、狀態(tài)圖、序列圖等圖表中的基本元素,它們用于表示業(yè)務(wù)流程、工作流程、算法步驟、系統(tǒng)狀態(tài)等。這些節(jié)點(diǎn)在軟件開發(fā)、項(xiàng)目管理、自動(dòng)化控制、工程設(shè)計(jì)、科學(xué)研究等領(lǐng)
    的頭像 發(fā)表于 10-15 14:38 ?63次閱讀

    賽福納斯通過ISO 26262 ASIL-D功能安全流程認(rèn)證

    近日,杭州賽福納斯科技有限公司(以下簡(jiǎn)稱“賽福納斯”)順利通過ISO 26262:2018 ASIL-D汽車功能安全流程認(rèn)證,并獲得由全球領(lǐng)先的檢驗(yàn)檢測(cè)認(rèn)證機(jī)構(gòu)DEKRA德凱頒發(fā)的功能安全流程認(rèn)證證書。
    的頭像 發(fā)表于 08-23 10:11 ?493次閱讀

    流程工業(yè)和離散工業(yè)是什么?

    流程工業(yè)和離散工業(yè)是兩種不同類型的工業(yè)生產(chǎn)方式。 流程工業(yè)是指以連續(xù)流程為基礎(chǔ)的生產(chǎn)方式,其生產(chǎn)過程是連續(xù)的、穩(wěn)定的。典型的流程工業(yè)包括石化、化工、制藥和食品加工等行業(yè)。在
    的頭像 發(fā)表于 05-09 14:01 ?631次閱讀

    HarmonyOS開發(fā)實(shí)例:【分布式數(shù)據(jù)管理】

    eTS中分布式數(shù)據(jù)管理的使用,包括KVManager對(duì)象實(shí)例創(chuàng)建和KVStore數(shù)據(jù)流轉(zhuǎn)的使用。
    的頭像 發(fā)表于 04-11 09:57 ?838次閱讀
    HarmonyOS開發(fā)<b class='flag-5'>實(shí)例</b>:【分布式數(shù)據(jù)管理】

    現(xiàn)場(chǎng)可編程門陣列設(shè)計(jì)流程

    現(xiàn)場(chǎng)可編程門陣列(FPGA)設(shè)計(jì)流程是一個(gè)綜合性的過程,它涵蓋了從需求分析到最終實(shí)現(xiàn)的各個(gè)環(huán)節(jié)。下面將詳細(xì)介紹FPGA設(shè)計(jì)流程的主要步驟。
    的頭像 發(fā)表于 03-16 16:38 ?1881次閱讀

    fpga原型驗(yàn)證流程

    FPGA原型驗(yàn)證流程是確保FPGA(現(xiàn)場(chǎng)可編程門陣列)設(shè)計(jì)正確性和功能性的關(guān)鍵步驟。它涵蓋了從設(shè)計(jì)實(shí)現(xiàn)到功能驗(yàn)證的整個(gè)過程,是FPGA開發(fā)流程中不可或缺的一環(huán)。
    的頭像 發(fā)表于 03-15 15:05 ?1276次閱讀

    ANC項(xiàng)目流程

    介紹自動(dòng)降噪ANC的調(diào)試流程。
    發(fā)表于 01-31 09:22 ?3次下載

    PCB設(shè)計(jì)流程詳解

    做任何復(fù)雜的事情,都會(huì)有著規(guī)定的流程,PCB設(shè)計(jì)也不例外,但是設(shè)計(jì)流程不是固定,我們團(tuán)隊(duì)提供的只是一個(gè)參考,不同的項(xiàng)目,不同的情況,以及不同的工程師設(shè)計(jì)習(xí)慣,都有著不一樣的設(shè)計(jì)流程,但是我們的目標(biāo)都一致,就是設(shè)計(jì)好我們的PCB。
    的頭像 發(fā)表于 01-10 16:11 ?3795次閱讀
    PCB設(shè)計(jì)<b class='flag-5'>流程</b>詳解

    SOLIDWORKS 2024通過自動(dòng)化和縮短工作流程實(shí)現(xiàn)智能工作

    隨著科技的快速發(fā)展,工程設(shè)計(jì)和制造業(yè)正在經(jīng)歷變革。在這個(gè)過程中,SOLIDWORKS 2024的發(fā)布為我們提供了一個(gè)全新的視角,以實(shí)現(xiàn)更智能的工作流程。本文將探討SOLIDWORKS 2024如何通過自動(dòng)化和縮短工作
    的頭像 發(fā)表于 01-10 11:37 ?464次閱讀
    SOLIDWORKS 2024<b class='flag-5'>通過</b>自動(dòng)化和縮短工作<b class='flag-5'>流程</b>來<b class='flag-5'>實(shí)現(xiàn)</b>智能工作

    什么是電機(jī)電驅(qū)適配流程?適配流程通常包括哪些步驟?

    電機(jī)電驅(qū)適配流程指的是將電機(jī)與電驅(qū)動(dòng)系統(tǒng)相匹配的過程。
    的頭像 發(fā)表于 12-28 17:07 ?677次閱讀

    EDA全流程的重要意義,以及國內(nèi)EDA全流程進(jìn)展

    電子發(fā)燒友網(wǎng)報(bào)道(文/吳子鵬)EDA是Electronic design automation的縮寫,中文名稱是電子設(shè)計(jì)自動(dòng)化,是指通過設(shè)計(jì)軟件來完成集成電路的功能設(shè)計(jì)、綜合、驗(yàn)證、物理設(shè)計(jì)等流程
    的頭像 發(fā)表于 12-14 00:08 ?2125次閱讀

    SMP多核secondary cpu啟動(dòng)流程

    圖,詳細(xì)分析可以參考上篇博文。其中以下流程執(zhí)行secondary cpu啟動(dòng)相關(guān)的一些初始化工作: 在初始化完成且hotplug線程創(chuàng)建完成后,就可通過以下流程喚醒cpu hotplu
    的頭像 發(fā)表于 12-05 17:41 ?679次閱讀
    SMP多核secondary cpu啟動(dòng)<b class='flag-5'>流程</b>

    3D-IC 設(shè)計(jì)之 Memory-on-Logic 堆疊實(shí)現(xiàn)流程

    3D-IC 設(shè)計(jì)之 Memory-on-Logic 堆疊實(shí)現(xiàn)流程
    的頭像 發(fā)表于 12-01 16:53 ?630次閱讀
    3D-IC 設(shè)計(jì)之 Memory-on-Logic 堆疊<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>流程</b>

    Bamboo-pipeline:Python高效流程編排引擎

    Bamboo-pipeline 是藍(lán)鯨智云旗下SaaS標(biāo)準(zhǔn)運(yùn)維的流程編排引擎。其具備以下特點(diǎn): 多種流程模式 :支持串行、并行,支持子流程,可以根據(jù)全局參數(shù)自動(dòng)選擇分支執(zhí)行,節(jié)點(diǎn)失敗處
    的頭像 發(fā)表于 10-31 16:39 ?912次閱讀
    Bamboo-pipeline:Python高效<b class='flag-5'>流程</b>編排<b class='flag-5'>引擎</b>

    通過RA MCU和微型ROS簡(jiǎn)化機(jī)器人設(shè)計(jì)流程

    通過RA MCU和微型ROS簡(jiǎn)化機(jī)器人設(shè)計(jì)流程
    的頭像 發(fā)表于 10-24 17:55 ?480次閱讀
    <b class='flag-5'>通過</b>RA MCU和微型ROS簡(jiǎn)化機(jī)器人設(shè)計(jì)<b class='flag-5'>流程</b>