從流程建模到自動化系統設計(第 1 部分)

“松鼠生命中的一天”或從建模流程到設計物質資產會計自動化系統“Belka-1.0”(第 1 部分)

從流程建模到自動化系統設計(第 1 部分)
A.S. 普希金的《沙皇薩爾坦的故事》中使用了插圖,由兒童文學出版,莫斯科,1949 年,列寧格勒,K. Kuznetsov 繪圖

「松鼠」與它有什麼關係?

我會立即解釋“松鼠”與它有什麼關係。 在網路上遇到一些有趣的項目,用於學習基於童話故事主題領域的 UML(例如, 這裡 [1]),我還決定為我的學生準備一個類似的範例,以便他們一開始就可以只學習三種類型的圖:活動圖、使用案例圖和類別圖。 我故意不將圖表名稱翻譯成俄語,以免引起「翻譯困難」的爭議。 稍後我會解釋它的用途。 在此範例中,我使用澳洲公司的 Enterprise Architect 框架 斯帕克斯系統公司 [2] – 價格合理的好工具。 作為我培訓課程的一部分,我使用 模型 [3],一個很好的免費物件導向設計工具,支援UML2.0和BPMN標準,在視覺功能方面沒有不必要的花里胡哨,但對於學習語言基礎知識來說已經足夠了。

我們將使這些流程中出現的物質資產會計活動自動化。

...
海中有一座島,(E1, E2)
冰雹島看台(E3、E1)
擁有金色圓頂的教堂,(E4)
有塔樓和花園; (E5, E6)
雲杉生長在宮殿前,(E7,E8)
在它下面是一座水晶屋; (E9)
松鼠住在那裡,馴服,(A1)
是的,真是個藝人! (A1)
松鼠唱歌,(P1,A1)
是的,他啃了所有的堅果,(P2)
堅果並不簡單,(C1)
所有的貝殼都是金色的,(C2)
仁純翡翠; (C3)
僕人看守松鼠,(P3,A2)
伺候她做各種僕人(P4)
並分配了一名職員 (A3)
嚴格核算堅果新聞; (P5, C1)
給她的軍隊榮譽; (P6, A4)
從貝殼中倒出一枚硬幣,(P7,C2,C4)
讓他們漂浮在世界各地; (P8)
女孩扔綠寶石(P9、A5、C3)
在儲藏室裡,但在蒲式耳下; (E10, E11)
...
(A.S.普希金《沙皇薩爾坦的故事,關於他光榮而強大的英雄吉頓·薩爾坦諾維奇王子和美麗的天鵝公主的故事》, 有關童話故事的創作大概始於 1822 年;童話故事首次由普希金出版於《普希金詩集》(第三部分,1832 年,第 130-181 頁)中 — 順便說一句,從概念到出版花了 10 年!)

關於寫在行右側的程式碼的一些資訊。 「A」(來自「Actor」)表示該行包含有關流程參與者的資訊。 「C」(來自「Class」)-有關在進程執行期間處理的類別物件的資訊。 「E」(來自「環境」)-有關描述執行進程的環境的類別物件的資訊。 「P」(來自「流程」)-有關流程本身的資訊。

順便說一句,流程的確切定義也被認為是方法論爭議的原因,即使只是因為有不同的流程:業務、生產、技術等。 等等。 (例如,您可以發現, 這裡 [4] 和 這裡 [5])。 為了避免爭議,我們同意 從其隨時間的可重複性和自動化需求的角度來看,我們對該過程感興趣, IE。 將流程操作的任何部分的執行轉移到自動化系統。

使用活動圖的注意事項

讓我們開始對流程進行建模並為此使用活動圖。 首先,讓我解釋一下上述程式碼將如何在模型中使用。 用圖形範例更容易解釋,但同時我們將分析活動圖的一些(幾乎所有我們需要的)元素。
我們來分析一下下面的片段:

...
松鼠唱歌,(P1,A1)
是的,他啃了所有的堅果,(P2)
堅果並不簡單,(C1)
所有的貝殼都是金色的,(C2)
仁純翡翠; (C3)
...

我們有兩個流程步驟 P1 和 P2、參與者 A1 和三個不同類別的物件:類別 C1 的物件被輸入到該步驟,類別 C2 和 C3 的物件作為我們的步驟 P2 的活動的結果輸出。流程。 對於該圖,我們使用以下建模元素。

從流程建模到自動化系統設計(第 1 部分)

我們的流程的一個片段可以用這樣的方式表示(圖 1)。

從流程建模到自動化系統設計(第 1 部分)

圖 1. 活動圖片段

為了組織活動圖的空間和結構,我們將使用非標準方法,從 UML 符號的經典使用的角度來看。 但這有幾個原因。 首先,在開始建模之前,我們將編譯所謂的 模特兒協議,其中我們記錄了使用該符號的所有特徵。 其次,這種方法在實際專案的業務建模階段被多次成功地應用來創建軟體系統;結果被我們的小作者團隊記錄在相應的版權對像中[6],並且也被用於培訓手冊中[ 7]。 對於活動圖,我們定義圖欄位是使用「泳道」建構的。 軌道名稱將與將放置在該軌道上的圖表元素的類型相對應。

“輸入與輸出工件”: 此軌道將包含物件元素 - 使用的物件或執行某些流程步驟的結果。
「流程步驟」: 在這裡,我們將放置「活動」元素 - 流程參與者的操作。
「參與者」: 表示流程中動作執行者角色的元素路徑;對於他們,我們將使用相同的建模元素物件 - 一個對象,但我們將向其添加「Actor」構造型。
下一首曲目名為 “商業規則” 在此軌道上,我們將以文字形式放置用於執行流程步驟的規則,為此,我們將使用建模元素「註釋」 - 註釋。
我們將在這裡停下來,儘管我們也可以使用路徑 “工具” 收集有關流程自動化程度的資訊。 路徑也可能派上用場 “參與者的職位和分工”,它可用於將角色連結到流程參與者的職位和部門。

我剛剛描述的一切都是一個片段 建模約定,協議的這一部分涉及組織圖表的規則,以及相應的書寫和閱讀規則。

“食譜”

現在讓我們考慮專門對系統進行建模的選項 從活動圖中。 這只是一種選擇,我注意到它當然不是唯一的一種。 從流程建模到自動化系統設計的過渡中,活動圖的角色會讓我們感興趣。 為此,我們將遵循方法論建議 - 一種僅包含五個階段並僅提供三種類型圖表的開發的方法。 使用這個秘訣將幫助我們獲得我們想要自動化的流程的正式描述並收集系統設計的資料。 對於剛開始學習 UML 的學生來說,這是一種救生圈,不會讓他們淹沒在 UML 和現代建模工具中的各種視覺化手段和技術中。

事實上,這就是食譜本身,然後按照為我們的“童話”主題區域構建的圖表進行操作。

第 1 階段。我們以活動圖的形式描述該流程。 對於超過 10 個步驟的流程,應用流程步驟分解原則來提高圖表的可讀性是有意義的。

第 2 階段:選擇可以自動化的內容 (例如,可以在圖表上突出顯示這些步驟)。

階段 3. 必須為自動化步驟分配系統的一個或多個功能 (關係可以是多對多),畫出Use-case圖。 這些就是我們系統的功能。

Stage 4. 讓我們用類圖來描述AS的內部組織 - 班級。 活動圖中的「輸入和輸出物件(文件)」泳道是建構物件模型和實體關係模型的基礎。

階段 5. 讓我們分析一下“業務規則”軌道上的註釋,它們提供了各種限制和條件,逐漸轉化為非功能性需求。
由此產生的一組圖表(活動、用例、類別)以相當嚴格的符號為我們提供了形式化的描述,即有明確的讀數。 現在您可以製定技術規格、闡明需求規格等。

讓我們開始建模。

階段1.以活動圖的形式描述流程

讓我提醒您,我們使用「游泳」泳道建立圖表欄位;每個泳道包含相同類型的元素(圖 2)。 除了上面描述的圖表元素之外,我們還將使用其他元素,讓我們來描述它們。

從流程建模到自動化系統設計(第 1 部分)

決策(Decision)在圖中表示我們流程的分支點,而合併執行緒(Merge)-它們的重新統一點。 轉換條件寫在轉換的方括號中。

在兩個同步器(Fork)之間,我們將顯示並行進程分支。
我們的流程只能有一個開始 - 一個入口點(初始)。 但可能有幾種補全(Final),但不是針對我們具體的圖。

箭頭相當多,有大量元素和聯繫,您可以先識別流程的各個階段,然後對這些階段進行分解。 但為了清楚起見,我想完全在一張圖表上展示我們的“童話”過程,同時,當然,我們需要確保箭頭“不會粘在一起”,這樣就可以準確地跟踪連接的內容到什麼。

從流程建模到自動化系統設計(第 1 部分)

圖 2. 活動圖 - 流程的一般視圖

因為在詩行中,一些過程的細節被省略,它們必須被恢復,它們透過白色背景的元素來表現。 這些細節包括儲存和處理步驟的傳輸/接收以及多個輸入和輸出工件。 值得注意的是,這一步驟也並沒有完全揭示過程,因為我們需要分別指定發送步驟和接收步驟,甚至為外殼添加單獨的步驟,並且還認為首先所有這些材料值應該暫時存儲在某個地方等等。 等等。
我們還要注意,堅果的起源問題仍然沒有答案——它們從哪裡來以及如何到達松鼠? 而這個問題(在註釋中以紅色字體突出顯示 - Note 元素)需要單獨研究! 這就是分析師的工作方式——一點一點地收集信息,做出假設,並從主題專家那裡獲得“好”或“不好”的信息——在創建系統時的業務建模階段非常重要且不可取代的人員。

也要注意,處理步驟P5由兩個部分組成。

從流程建模到自動化系統設計(第 1 部分)

我們將分解每個部分並更詳細地考慮它(圖3、圖4),因為在這些特定步驟中執行的活動將被自動化。

從流程建模到自動化系統設計(第 1 部分)

圖 3. 活動圖 - 詳細說明(第 1 部分)

從流程建模到自動化系統設計(第 1 部分)

圖 4. 活動圖 - 詳細說明(第 2 部分)

第 2 階段:選擇可以自動化的內容

要自動化的步驟在圖表上以顏色突出顯示(請參閱圖 3、圖 4)。
從流程建模到自動化系統設計(第 1 部分)

所有這些都由流程中的一名參與者 - 書記官執行:

  • 將有關堅果重量的資訊輸入到報表中;
  • 將有關螺帽轉移的資訊輸入到報表中;
  • 記錄堅果轉變為果殼和果仁的事實;
  • 在語句中輸入有關堅果仁的信息;
  • 將有關堅果殼的資訊輸入到清單中。

分析已完成的工作。 下一步是什麼?

因此,我們做了很多準備工作:我們收集了有關我們要自動化的流程的資訊; 開始就建模達成一致(到目前為止僅在使用活動圖方面); 對流程進行了模擬,甚至分解了其中的幾個步驟; 我們確定了將自動化的流程步驟。 我們現在準備好繼續下一步並開始設計系統的功能和內部組織。

眾所周知,沒有實踐的理論是沒有任何意義的。 您絕對應該嘗試用自己的雙手“建模”,這對於理解所提出的方法也很有用。 例如,您可以在建模環境中工作 模型 [3]。 我們只分解了整個流程圖的部分步驟(見圖2)。 作為一項實際任務,您可能會被要求重複 Modelio 環境中的所有圖表,並執行「傳輸/接收以進行儲存和處理」步驟的分解。
我們尚未考慮在特定的建模環境中工作,但這可能會成為獨立文章和評論的主題。

在本文的第二部分中,我們將分析第 3-5 階段所需的建模和設計技術;我們將使用 UML 用例和類別圖。 待續。

來源清單

  1. 網站“UML2.ru”。 分析師社區論壇。 一般部分。 例子。 UML 圖形式的童話示例。 [電子資源] 獲取方式: 互聯網: http://www.uml2.ru/forum/index.php?topic=486.0
  2. Sparx 系統網站。 [電子資源] 獲取方式: 互聯網: https://sparxsystems.com
  3. 模型網站。 [電子資源] 獲取方式: 互聯網: https://www.modelio.org
  4. 大百科辭典。 過程(解釋)。 [電子資源] 獲取方式: 互聯網: https://dic.academic.ru/dic.nsf/enc3p/246322
  5. 網站“有效管理的組織”。 博客。 標題為“業務流程管理”。 業務流程的定義。 [電子資源] 獲取方式: 互聯網: https://rzbpm.ru/knowledge/pochemu-processy-stali-s-pristavkoj-biznes.html
  6. 第18249號智力活動成果產品登記保藏證書。 Alfimov R.V.、Zolotukhina E.B.、Krasnikova S.A. 題為“使用 Enterprise Architect 對主題領域進行建模”的教具手稿 // 2011。
  7. Zolotukhina E.B.、Vishnya A.S.、Krasnikova S.A. 業務流程建模。 - M .: KURS, NITs INFRA-M, EBS Znanium.com。 — 2017 年。

來源: www.habr.com

添加評論