91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

activiti通過創建流程實例引擎實現不同流程的流轉

Android編程精選 ? 來源:CSDN ? 作者:靖節先生 ? 2022-07-13 09:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 什么是工作流

1.1 工作流介紹

工作流(Workflow),就是通過計算機對業務流程自動化執行管理。它主要解決的是“使在多個參與者之間按照某種預定義的規則自動進行傳遞文檔、信息或任務的過程,從而實現某個預期的業務目標,或者促使此目標的實現”。

1.2 工作流系統

什么是工作流系統

具有工作流程功能的軟件系統。用于更好的管理業務流程。

適用行業,各行各業

比如,消費品行業,制造業,電信服務業,銀證險等金融服務業,物流服務業,物業服務業,物業管理,大中型進出口貿易公司,政府事業機構,研究院所及教育服務業等,特別是大的跨國企業和集團公司。

具體場景,凡是涉及到業務流程的所有場景

關鍵業務流程:訂單、報價處理、合同審核、客戶電話處理、供應鏈管理等

行政管理類:出差申請、加班申請、請假申請、用車申請、各種辦公用品申請、購買申請、日報周報等凡是原來手工流轉處理的行政表單。

人事管理類:員工培訓安排、績效考評、職位變動處理、員工檔案信息管理等。

財務相關類:付款請求、應收款處理、日常報銷處理、出差報銷、預算和計劃申請等。

客戶服務類:客戶信息管理、客戶投訴、請求處理、售后服務管理等。

1.3 工作流實現方式

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

通過狀態字段實現流程控制。原始,適合簡單流程控制。

工作流引擎實現流程控制。適用場景更廣泛,擴展性更好。

1.4 工作流實現原理

Activiti牛批之處在于,它在不改變代碼的前提下實現各種業務流程的管理,適用性,擴展性很優秀。

activiti通過創建流程實例引擎,可以實現不同流程的流轉,通過不斷讀取創建的流程節點實現流程流轉。

2. Activiti7概述

2.1 Activiti介紹

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

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

下邊介紹三個名詞概念,就不長篇大論了,簡單總結下。

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

BPM系統:那就是業務流程管理的系統。

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

BPMN(Business Process Model And Notation) - 業務流程模型和符號 是由 BPMI(BusinessProcess Management Initiative)開發的一套標準的業務流程建模符號,使用 BPMN 提供的符號可以創建業務流程。

總結來說就是用來建模業務流程的標準規則,一個個符號!

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

2.2 Activiti使用

一般情況下都是通過創建BPMN進行業務流程建模,兩種方式,idea插件或者eclipse插件,通過符號創建流程。

idea安裝bpmn插件

在 IDEA 的 File 菜單中找到子菜單”Settings”,后面我們再選擇左側的“plugins”菜單,如下圖所示

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

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

3. Activiti環境配置

3.1 創建數據庫

CREATEDATABASEactivitiDEFAULTCHARACTERSETutf8;

3.2 初始化數據庫表:

創建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張表
*執行的是activiti-engine-7.0.0.Beta1.jar包下對應不同內置好的sql語句
*orgactivitidbdropactiviti.db2.drop.engine.sql
*
*@authorzrj
*@date2020/12/29
*@sinceV1.0
**/
publicclassActivitiInit{

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

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

}

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

3.3 創建數據庫表

執行上邊的代碼。

3.4 數據庫表命名規則

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

Activiti 的表都以 ACT_開頭。第二部分是表示表的用途的兩個字母標識。用途也和服務的 API 對應。

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

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

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

ACT_GE_*: 'GE'表示 general。通用數據, 用于不同場景下

4. Activiti架構簡介

activiti.cfg.xml

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

ProcessEngineConfiguration

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

ProcessEngine

工作流引擎,相當于一個門面接口,通過 ProcessEngineConfiguration 創建 processEngine,通過ProcessEngine 創建各個 service 接口。

Service

通過 ProcessEngine 創建 Service, Service 是工作流引擎提供用于進行工作流部署、執行、管理的服務接口。

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

5. Activiti入門案例

5.1 流程定義

什么是流程定義

流程定義是線下按照 bpmn2.0 標準去描述 業務流程,通常使用 activiti-explorer(web 控制臺)或 activiti-eclipse-designer 插件對業務流程進行建模,這兩種方式都遵循 bpmn2.0 標準。本教程使用activiti-eclipse-designer 插件完成流程建模。使用 designer 設計器繪制流程,會生成兩個文件:.bpmn和.png

創建bpmn文件

Palette(畫板)

在 eclipse 或 idea 中安裝 activiti-designer 插件即可使用,畫板中包括以下結點:

Connection—連接

Event---事件

Task---任務

Gateway---網關

Container—容器

Boundary event—邊界事件

Intermediate event- -中間事件

流程圖設計完畢保存生成.bpmn 文件

idea創建bpmn

poYBAGLOHt6ACjdEAACjqsn3kNY798.jpg

pYYBAGLOHrSAEECGAAB6qcUKUAU644.jpg

生成png圖片

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

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

pYYBAGLOHpiAfCrNAACBBTGeg7k237.jpg

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

pYYBAGLOHnyAQUzhAABnzxm3NS8897.jpg

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

poYBAGLOHmCANQhlAABvBfMwgTI324.jpg

第五步:中文亂碼的解決

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

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

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

如下所示

pYYBAGLOHjGAbI5CAACGYDCvMSs945.jpg

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

5.2 部署流程

什么是流程部署

將線下定義的流程部署到 activiti 數據庫中,這就是流程定義部署,通過調用 activiti 的 api 將流程定義的 bpmn 和 png 兩個文件一個一個添加部署到 activiti 中,也可以將兩個文件打成 zip 包進行部署。

單個文件部署方式

分別將 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.創建ProcessEngine對象
ProcessEngineprocessEngine=ProcessEngines.getDefaultProcessEngine();

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

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

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

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

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

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

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

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

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

}

操作數據表

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

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

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

5.3 啟動流程

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

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

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

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

}
}

5.4 流程定義查詢

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

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

//獲取repositoryService
RepositoryServicerepositoryService=processEngine.getRepositoryService();
//查詢流程定義
ProcessDefinitionQueryprocessDefinitionQuery=repositoryService.createProcessDefinitionQuery();
//遍歷查詢結果
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對象
ProcessEngineprocessEngine=ProcessEngines.getDefaultProcessEngine();

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

5.6 流程定義資源查詢

/**
*獲取資源
*/
@Test
publicvoidgetProcessResources()throwsIOException{
//流程定義id
StringprocessDefinitionId="";
//1.得到ProcessEngine對象
ProcessEngineprocessEngine=ProcessEngines.getDefaultProcessEngine();
//獲取repositoryService
RepositoryServicerepositoryService=processEngine.getRepositoryService();
//流程定義對象
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);
}
}


審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 計算機
    +關注

    關注

    19

    文章

    7663

    瀏覽量

    90836
  • 工作流
    +關注

    關注

    0

    文章

    45

    瀏覽量

    12732
  • Activiti
    +關注

    關注

    0

    文章

    4

    瀏覽量

    2848

原文標題:工作流引擎 Activiti 入門詳解

文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    PanDao:通過可生產性調控實現光學設計流程的動態優化

    的另一優勢在于:通過真實數據驅動的決策鏈,可以實現對全流程的精準控制,并評估每項決策的實際影響。 光學設計到制造可行性的整個過程是一個高度復雜的課題,其難點在于需統籌考量眾多因素,并且光學設計師往往難以
    發表于 05-09 08:49

    Simcenter STAR-CCM+幾何體處理,簡化設計流程,輕松創建、修改和準備幾何體

    優勢通過一系列領先CAD和PLM軟件工具導入幾何體,與現有設計流程輕松集成使用集成的CAD建模器創建、修改和修復幾何體將各種來源的CAD合并到單一仿真利用自動幾何模型清理、搜索工具、曲面修復和曲
    的頭像 發表于 04-01 11:31 ?385次閱讀
    Simcenter STAR-CCM+幾何體處理,簡化設計<b class='flag-5'>流程</b>,輕松<b class='flag-5'>創建</b>、修改和準備幾何體

    在HMI上如何顯示PLC代碼流程呢?

    在HMI(人機界面)上顯示PLC(可編程邏輯控制器)代碼流程,通常涉及以下幾個步驟: 一、創建Graph流程的FB塊 1. 利用FB塊編程:首先,需要創建一個Graph
    的頭像 發表于 03-03 12:09 ?974次閱讀
    在HMI上如何顯示PLC代碼<b class='flag-5'>流程</b>呢?

    NX CAD軟件:數字化工作流程解決方案(CAD工作流程)

    NXCAD——數字化工作流程解決方案(CAD工作流程)使用西門子領先的產品設計軟件NXCAD加速執行基于工作流程的解決方案。我們在了解行業需求方面累積了多年的經驗,并據此針對各個行業的具體需求提供
    的頭像 發表于 02-06 18:15 ?449次閱讀
    NX CAD軟件:數字化工作<b class='flag-5'>流程</b>解決方案(CAD工作<b class='flag-5'>流程</b>)

    PLD設計流程的詳細步驟

    PLD(Programmable Logic Device,可編程邏輯器件)設計流程是指從設計概念到最終實現的一系列步驟,用于創建和驗證可編程邏輯器件的功能。 1. 需求分析(Requirement
    的頭像 發表于 01-20 09:46 ?1096次閱讀

    使用HLS流程設計和驗證圖像信號處理設備

    STMicroelectronics成像部門負責向消費者、工業、安全和汽車市場提供創新的成像技術和產品。該團隊精心制定了一套通過模板實現的High-Level Synthesis(HLS)高層次綜合流程,使得上述產品能夠迅速上市
    的頭像 發表于 01-08 14:39 ?688次閱讀
    使用HLS<b class='flag-5'>流程</b>設計和驗證圖像信號處理設備

    優化企業運營流程,華為云 Flexusx 實例下 Odoo ERP 系統的完整解決方案

    開源的 企業全業務鏈管理平臺 ,Flexus X 實例能夠完美承載并優化 ERP 系統的運行,實現業務流程的高度自動化與智能化。而 Odoo ERP 系統的全面集成,則讓 企業在采購、庫存、財務、營銷、CRM 等多個環節
    的頭像 發表于 12-30 14:55 ?445次閱讀
    優化企業運營<b class='flag-5'>流程</b>,華為云 Flexusx <b class='flag-5'>實例</b>下 Odoo ERP 系統的完整解決方案

    Vivado之實現布局布線流程介紹

    一、前言 本文將介紹Vivado進行綜合,以及布局布線的內部流程,熟悉該流程后結合Settings中對應的配置選項,對于時序收斂調試將更具有針對性。 二、Implementation(實現
    的頭像 發表于 12-06 09:08 ?1783次閱讀
    Vivado之<b class='flag-5'>實現</b>布局布線<b class='flag-5'>流程</b>介紹

    MOSFET晶體管的工藝制造流程

    本文通過圖文并茂的方式生動展示了MOSFET晶體管的工藝制造流程,并闡述了芯片的制造原理。 ? MOSFET的工藝流程 芯片制造工藝流程包括光刻、刻蝕、擴散、薄膜、離子注入、化學機械研
    的頭像 發表于 11-24 09:13 ?4302次閱讀
    MOSFET晶體管的工藝制造<b class='flag-5'>流程</b>

    易控智駕正式通過汽車功能安全流程認證

    近日,易控智駕正式通過「ISO26262:2018 ASIL-D」汽車功能安全流程認證,并獲得由國際知名認證機構SGS頒發的功能安全流程認證證書。這不僅標志著易控智駕在功能安全研發流程
    的頭像 發表于 11-21 09:46 ?1306次閱讀
    易控智駕正式<b class='flag-5'>通過</b>汽車功能安全<b class='flag-5'>流程</b>認證

    數字設計ic芯片流程

    主要介紹芯片的設計流程 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? ? ? ? &
    發表于 11-20 15:57 ?0次下載

    接單流程設計探索

    劃分。而這個標準并不是在接口定義的初期就規劃好的,通常會經歷業務不斷增長而帶來的需求迭代、業務融合、組織架構調整或升級引起的流程優化與拆分。這樣一些系列事件下來,可能一個接單應用會流轉到多個部門,接單流程就會越
    的頭像 發表于 10-31 10:56 ?612次閱讀
    接單<b class='flag-5'>流程</b>設計探索

    邏輯組件中的流程塊節點通常出于什么用途

    邏輯組件中的流程塊節點是流程圖、狀態圖、序列圖等圖表中的基本元素,它們用于表示業務流程、工作流程、算法步驟、系統狀態等。這些節點在軟件開發、項目管理、自動化控制、工程設計、科學研究等領
    的頭像 發表于 10-15 14:38 ?605次閱讀

    萬界星空科技電線電纜MES系統實現線纜全流程追溯

    萬界星空科技電線電纜行業的MES系統通過高度集成的數據平臺和強大的追溯功能,實現了線纜從原材料入庫到成品出庫的全流程追溯。
    的頭像 發表于 09-19 15:14 ?592次閱讀

    賽福納斯通過ISO 26262 ASIL-D功能安全流程認證

    近日,杭州賽福納斯科技有限公司(以下簡稱“賽福納斯”)順利通過ISO 26262:2018 ASIL-D汽車功能安全流程認證,并獲得由全球領先的檢驗檢測認證機構DEKRA德凱頒發的功能安全流程認證證書。
    的頭像 發表于 08-23 10:11 ?961次閱讀
    主站蜘蛛池模板: 奇米小说 | 亚洲欧美综合一区二区三区四区 | 午夜视频www | 4480yy私人午夜a级国产 | 色老头在线官方网站 | 色婷婷色 | 清冷双性被cao的合不拢腿 | 免费观看美女被cao视频 | 狠狠的日视频 | 亚洲综合第一区 | 免费在线不卡视频 | 色综合婷婷 | 婷婷久久综合网 | 午夜视频在线免费 | 日本免费一级 | 国产老头和美女在线观看 | 久久精品国产99久久72 | 日韩福利网站 | 一二三区乱码一区二区三区码 | 亚洲一本视频 | 拍真实国产伦偷精品 | 在线免费亚洲 | 天天夜夜啦啦啦 | 久久国产精品岛国搬运工 | 天天干天天色综合网 | 99久久精品久久久久久婷婷 | 综合色久七七综合七七蜜芽 | 国产色产综合色产在线观看视频 | 国产男靠女免费视频网站 | h视频免费在线 | 49vv婷婷网| 久色网| 视频黄色在线 | 我不卡午夜 | 97久久天天综合色天天综合色hd | 五月天亚洲综合 | 91精品国产色综合久久不卡蜜 | 免费观看三级毛片 | 日韩欧美在线第一页 | 高清激情小视频在线观看 | 四虎综合九九色九九综合色 |