源代碼下載:http://www.shareidea.net/opensource.htm
在線演示:http://www.shareidea.net/workflow.htm
視頻教程: http://www.shareidea.net/video/sharedesigner/sharedesigner.htm
本文源地址:http://www.cnblogs.com/chegan/archive/2009/05/10/1453457.htm
六 增強的用戶體驗功能
6.5 約束性檢查
在用戶保存流程時,系統需要對用戶當前配置的流程進行一般性的約束檢查。這些約束性檢查包括以下部分:
每個流程都必須有一個開始活動以及一個結束活動。
開始活動不能有前驅活動,必須有至少一個後續活動。
結束活動不能有後繼活動,必須至少有一個前驅活動。
分支活動有且只有一個前驅活動,並且必須至少有一個後續活動。
匯聚活動有且只有一個後繼活動,並且必須至少有一個前驅活動。
常規交互活動必須至少有一個前驅活動和後繼活動(常規交互活動默認擁有或分支以及或匯聚活動的特性)。
每個規則都必須有起始活動和終結活動。
任何兩個規則的起始活動和終結活動不能都相同。
通過以上程序檢查的流程符合一般性約束條件,但並不表明這是一個完全正確的流程。這些檢查只是一種編譯性檢查,不包含運行時的檢查。運行時檢查是指流程在運行過程中的一些約束性檢查。這些包括但不限於:
規則條件的編寫運行時檢查。
流程死循環檢查。
等等。
本程序只涉及到一般性的約束檢查。
在保存流程時,根據上面的約束條件檢查每一個活動和規則,對於不滿足條件的,則給出相應提示,如下圖所示: