داده و جریان داده در فرآیندهای کسب و کار

جریان داده، مدل فرآیند، BPMN، نرم افزار BPMS

داده و جریان داده در فرآیندهای کسب و کار


تاکنون در زبان مدلسازی BPMN، تعدادی از دسته بندی های نمادها را مورد بررسی قرار دادیم. حال در این مقاله قصد داریم به بررسی اشیاء داده ها و همچنین در مورد رابطه های اشیاء داده ها با فعالیت ها بپردازیم. در ابتدا قصد داریم به دلایل استفاده از داده ها در فرآیندهای کسب و کار اشاره کنیم. تمام فرآیندهای کسب و کار در نقطه ای از زمان داده را تغییر می دهند، به آن دسترسی پیدا می کنند و یا Data جدیدی را ایجاد می کنند. همان طور که در مقاله چگونگی سازماندهی مدل های فرآیند اشاره شد فرآیندها از ورودی ها استفاده می کنند و برای فرآیندهای مشتری، خروجی و نتایجی را فراهم می کنند. پس تمام فرآیندهای کسب و کار با داده سروکار دارند اما از نظر سنتی تمرکز مدلسازی فرآیندهای کسب و کار روی فعالیت ها، جریان داده و جریان اجرای فعالیت ها می باشد و زیاد به Data توجه نمی کنند.

جریان داده، مدل فرآیند، BPMN، نرم افزار BPMS

داده و جریان داده در فرآیندهای کسب و کار

با توجه به شکل فوق، مشاهده می کنید که فرآیندهای کسب و کار معمولا از فعالیت ها و درگاه ها تشکیل شده اند و در آنها اشیا داده ای وجود ندارد اما اگر به برچسب های سفارش (Order) و بسته یا محموله (Parcel) دقت کنید، متوجه خواهید شد که به صورت پنهان در مورد Data Objects صحبت می شود، حتی اگر آنها به صورت آشکار قابل نشان دادن نباشند. اگر به مدل فرآیندی نگاه کنید، می بینید که به صورت آشکار داده ایی وجود ندارد اما در برچسب ها مشاهده می کنید همیشه ارجاعی به Data ها وجود دارد.
در حین اجرای فرآیندهای کسب و کار، داده ایی ایجاد می شود، تغییر می کند و مورد استفاده قرار می گیرد که به صورت یک ورودی استفاده می شود و سپس به عنوان خروجی ایجاد می شود و به تصمیم گیری جهت می دهد. پس می توان گفت که بسیاری از تصمیم ها مبتنی بر داده صورت می گیرند. همان طور که مشاهده می کنید درگاه XOR تصمیم را جدا می کند و یکی از فلش های خروجی انتخاب می شود که از طریق Data هدایت می گردد که آن در فرآیند نیز قابل نشان دادن است. نمایش Data Objects در مدل فرآیند کمک می کند تا فاصله بین IT و کسب و کار را از بین برد که می تواند بسیار مفید باشد زیرا با وجود یک پایگاه داده (Database) می توان مدل فرآیند را براساس یک یا چندین Database دیگر طراحی نمود و می توان انبار را به Database وصل کرد. حال در ادامه قصد داریم به موضوعات مدلسازی اشیاء داده، وابستگی های بین آنها، حالات ممکن آنها در حین اجرای فرآیند و همچنین رابطه بین Data و فعالیت ها در فرآیند بپردازیم.

مدلسازی داده در BPMN :
در مدلسازی فرآیند با زبان BPMN با مفاهیم ترکیب، انتزاع و مفهوم آشنا شدید که منظور از مفهوم، همان اشیاء داده می باشد و در شکل زیر به صورت متن آورده شده است.

جریان داده، مدل فرآیند، BPMN، نرم افزار BPMS

داده و جریان داده در فرآیندهای کسب و کار

لازم به ذکر است که Data Objects می تواند به صورت ترکیب و انتزاع باشد. اشیاء داده به صورت آیتم هایی تعریف شده اند که می توانند به صورت آیتم های فیزیکی و یا اطلاعاتی باشند. با استفاده از آنها می توان آیتم های اطلاعاتی را نمایش داد. به عنوان مثال Data هایی که در داخل یک فرآیند پردازش می شوند اما Data Objects می توانند به صورت آیتم های فیزیکی باشند مانند سفارشات یا بسته های ارسالی و غیره. اجرای داده یا Data Execution Semantics

حالات ممکن اشیاء داده :
اشیاء داده می توانند دارای حالات مختلف باشند مانند اشیاء در دنیای شیء محور (Object Oriented). اگر مقدار اشیا داده تغییر کند خود آنها نیز تغییر پیدا می کنند. لازم به ذکر است که آنها را می توان به صورت حروف کوچک (مثلا [created] در شکل بالا) نمایش داد. لازم است بدانید که زبان BPMN در نشان دادن ساختار Data به خوبی عمل نمی کند. تنها ساختار داده ای که در زبان BPMN، لیست (List) می باشد و به صورت ||| قابل نشان دادن است که از آن برای فعالیت های چند نمونه ای استفاده می شود پس وقتی در اشیاء داده ای از این علامت استفاده می شود، در واقع لیستی از سفارشات در فرآیند وجود دارد یعنی لیستی از Data Objects که نوع آنها توسط برچسب اشیاء داده مشخص می شوند.
علاوه بر این می توان منبع ذخیره داده (ERP System) را نشان داد. از شکل زیر معمولا برای نشان دادن Database استفاده می شد اما از آن نیز می توان برای نشان دادن سیستم های اطلاعاتی دیگر نیز استفاده کرد که Data را ذخیره می نمایند و با آن ارتباط برقرار می کنند. فرآیندها با داده هایی سروکار دارند که توسط منابع خارجی یا فرآیندهای دیگر تهیه شده اند که در مقاله چگونگی سازماندهی مدل های فرآیند با جزئیات کامل بررسی شد. این داده ها در آینده به صورت Data در فرآیند استفاده می شوند. داده ورودی (input data) در فرآیند، به داده ای گفته می شود که توسط فرآیند دیگر تولید شده است و توسط یک فرآیند کسب و کار دیگر استفاده می شوند. Data خروجی، داده ایی است که توسط یک فرآیند تولید شده است و پس از تمام شدن فرآیند در دسترس قرار می گیرد تا توسط متقاضی که به آن نیاز دارد، مصرف می شود. نماد داده ورودی و خروجی به صورت شکل زیر است:

جریان داده، مدل فرآیند، BPMN، نرم افزار BPMS

داده و جریان داده در فرآیندهای کسب و کار

داده ورودی/ خروجی (Input/output Data) :
در این قسمت قصد داریم به صورت مفصل به داده ورودی/خروجی بپردازیم. داده ورودی/خروجی نشان دهنده ورودی و خروجی برای تمام فرآیندها و همچنین زیر فرآیندها هستند، یعنی می توان از نمادهای شکل فوق برای نشان دادن Data ورودی یا خروجی برای زیرفرآیندها استفاده کرد. اگر این نماد برای یک فرآیند کسب و کار استفاده شود، بدین معناست که Data Objects قبل از شروع فرآیند وجود داشته و توسط فرآیند دیگر ایجاد شده است و همچنین به این معناست که آنها پس از پایان یافتن فرآیند وجود دارد که این موضوع مربوط به پیوستگی می باشد که در مقاله مربوطه به صورت مفصل به آن خواهیم پرداخت.

جریان داده، مدل فرآیند، BPMN، نرم افزار BPMS

داده و جریان داده در فرآیندهای کسب و کار

شکل فوق یک مثال ساده از فرآیند کسب و کار را نشان می دهد که Task، داده ورودی را دریافت می کند و آن قبل از این که فرآیند شروع شده باشد، وجود داشته است و سپس Data خروجی را ایجاد می کند که آن بعد از فرآیند باقی می ماند.

نمایش اشیاء داده :
می توانیم در زمان نمایش اشیاء داده از ارتباط دهنده ها استفاده کنیم. در این قسمت قصد داریم بیشتر درباره ارتباط دهنده های Data Objects با فعالیت ها صحبت کنیم که برای داده های ورودی و خروجی و سایر Data ها صادق است و به این صورت می باشد، جهتی که توسط یک فلش، جریان اطلاعات را نشان می دهد و به دو صورت خواندن و نوشتن می باشد.

داده و جریان داده در فرآیندهای کسب و کار

شکل فوق، یک فرآیند دنباله دار را نشان می دهد که با فعالیت بررسی کردن سفارش (Check order) شروع می شود و یک داده به نام سفارش (Order) را ایجاد می کند. در واقع با ارتباط دهنده نشان می دهد که هر زمان بررسی سفارش کامل شد، یک Data ایجاد می کند که نام آن سفارش (Order) است. سپس آن توسط فعالیت قبول سفارش (Approve Order) خوانده و ثبت می شود که در اینجا یک فلش ارتباطی دو طرفه وجود دارد. سپس فعالیت آماده کردن بسته (Prepare parcel) اجرا می شود که سفارش را می خواند و یک بسته تولید می کند. بنابراین از اطلاعاتی که توسط سفارش تهیه می شود برای تولید بسته استفاده می شود. در نهایت فعالیت ارسال بسته (Send parcel)، داده مربوط به بسته (parcel) را می خواند و آن را بر می گرداند که به صورت یک فعالیت فیزیکی مرتبط شده، می باشد و در نهایت بسته فرستاده می شود که به صورت رویداد پایانی فرآیند قابل نمایش است. فلش های خط چین در شکل فوق نشان دهنده خواندن و ثبت اشیاء داده ها توسط فعالیت ها هستند.

قابل توجه است که واژه اشیاء داده (Data Object) از نظر شیء گرایی زمانی استفاده می شود که دسته یا کلاسی از Data Objects از یک نوع Data هایی را در خود نگهداری می کنند اما در این جا منظور از اشیاء داده، یک شیء خاص نیست بلکه در فرآیندهای کسب و کار در سطح انواعی از آنها، ساختار بسیاری از نمونه های فرآیند را مشخص می کند. از این رو آنها در زبان BPMN نشان دهنده ساختار وقوع نمونه های بسیاری از اشیاء داده هستند اما لازم به ذکر است که منظور نوع Data می باشد.

جریان داده :
جریان داده بین فعالیت های مرتبط با جریان توالی را می توان به صورت متمرکزتر نشان داد.

جریان داده، مدل فرآیند، BPMN، نرم افزار BPMS

داده و جریان داده در فرآیندهای کسب و کار

در شکل فوق فعالیت آماده سازی بسته یا محموله، یک Data مربوط به بسته را ایجاد می کند و سپس Data بسته توسط فعالیت ارسال بسته خوانده می شود. در اینجا می توان داده بسته را به جریان توالی وصل کرد و می توان نشان داد که آن توسط فعالیت آماده سازی بسته ایجاد و توسط فعالیت ارسال خوانده می شود. بنابراین این ساده سازی مدل فرآیندی بدون از دست دادن هیچ اطلاعاتی صورت می گیرد.

لازم است به این نکته اشاره شود که ساختار اشیاء داده در زبان BPMN قابل نشان دادن است، پس ساختار Data Objects را می توان به صورت نمادهایی که بیشتر مورد استفاده قرار می گیرند، مدلسازی کرد که نمودارهای UML یا دیاگرام های ماهیت رابطه ای (Entity-relationship diagrams) نام دارند. در پروژه های معمولی Data Objects را در مدل فرآیند مشاهده می کنید در آینده به صورت دیاگرام UML با جزئیات بیشتر تصحیح شده اند. در این مثال می توان برای سفارش یا بسته یک نمودار UML یا نمودار ماهیت رابطه ای داشته باشیم.

دسترسی همزمانی به داده ها :
در مدل فرآیند مشاهده کردید که می توان همزمانی را مدلسازی کرد که همزمانی از درگاه موازی یا AND استفاده می شد.

جریان داده، مدل فرآیند، BPMN، نرم افزار BPMS

داده و جریان داده در فرآیندهای کسب و کار

در شکل فوق فعالیت A داده D را ایجاد می کند و سپس دو فعالیت B و C به صورت همزمان اجرا می شوند. D توسط B و C خوانده و ثبت می شود و خواندن و ثبت کردن آن هر دو به صورت همزمان رخ می دهند. با توجه به حوزه پایگاه داده می توان وضعیتی مانند از دست دادن به روزرسانی را ثبت کرد که دو فعالیت B و C داده اصلی را می خوانند و سپس نسخه تنظیم شده را ثبت می کنند که یکی از تنظیمات از دست می رود که منجر به مشکل به روزرسانی از دست رفتن می شود. برای درک بیشتر فرض می شود که فعالیت B، 10 واحد و C، 20 واحد به D اضافه می کند. همچنین مقدار اولیه D، 100 می باشد که در این جا به علت همزمانی B و C هر دو عدد 100 را می خوانند سپس C مقدار جدید ثبت می کند که 120 می باشد و B مقدار تغییر یافته را ثبت می کند که 110 است. حال پس از اجرای دو فعالیت B و C، D مقدار 110 را ثبت می کند که واضح است غلط می باشد چون پس از اجرای B و C انتظار می رود که C واحد به مقدار D اضافه می شود. بنابراین در اینجا وضعیت مشکل به روزرسانی از دست رفتن رخ می دهد که این مشکل با الگوریتم های قفل کننده یا ویژگی های تراکنش در Database قابل حل است.
پس می توان گفت که در زبان مدلسازی BPMN ابزاری را برای نشان دادن ویژگی های تراکنش مربوط به وضعیت از دست دادن به روزرسانی را تدارک ندیده است. ولی لازم به ذکر است که ابزاری وجود دارد که این ویژگی های تراکنش را با استفاده از آن بتوان نشان داد. مدیریت دسترسی همزمان به Data نیازمند استفاده از سیستم های IT مانند Database ها می باشد و اگر B و C در یک پایگاه داده نسبی وجود داشتند که با ویژگی های تراکنش مقداری به D اضافه شد، دیگر مشکل از دست دادن به روزرسانی رخ نمی داد اما Database این مشکل را حل می کنند. در سطح مدلسازی هیچ فرضی در مورد دسترسی همزمانی داده در نظر گرفته نمی شود پس مشکل به روزرسانی از دست رفته رخ می دهد که در پیاده سازی باید اطمینان حاصل کرد که مشکلاتی پیش نمی آید.

حالت های داده :
همان طور که قبلا گفته شد Data ها می توانند حالات مختلفی را داشته باشند، یعنی داده ها می توانند حالتی را داشته باشند که نشان دهنده مقدار فعلی آنها هستند و انتقال حالات توسط فعالیت ها که آنها را ثبت می کنند، فعال و شروع می شوند. پس یک فعالیت می تواند Data را در یک حالت بخواند و تنظیماتی را انجام دهد و همان را در حالت جدیدی را ثبت می کند.

جریان داده، مدل فرآیند، BPMN، نرم افزار BPMS

داده و جریان داده در فرآیندهای کسب و کار

فعالیت بررسی سفارش که Data سفارش در حالت بررسی شده ایجاد می کند و سپس فعالیت قبول سفارش، Data سفارش را در حالت بررسی شده می خواند و آن Data را در حالت قبول شده ثبت می کند پس قطعا یک تغییر حالت در Data سفارش از حالت بررسی شده به حالت قبول شده وجود دارد و همان روند تغییر حالت برای Data بسته نیز وجود دارد. همچنین می توان از ثبت خلاصه شده استفاده کرد که به صورت شکل زیر می باشد:

جریان داده، مدل فرآیند، BPMN، نرم افزار BPMS

داده و جریان داده در فرآیندهای کسب و کار

همان طور که در مثال های قبل مشاهده کردید می توان از چندین نوع داده استفاده کرد که به طور واضح تر در شکل زیر آورده شده است. چندین نوع Data می تواند توسط فعالیت خوانده شوند و تنظیماتی در آنها انجام شود.

جریان داده، مدل فرآیند، BPMN، نرم افزار BPMS

داده و جریان داده در فرآیندهای کسب و کار

در شکل فوق سفارش دریافت و بررسی می شود که ممکن است رد یا قبول شود. در صورتی که سفارش قبول شود، ابتدا بسته آماده می شود و سپس بسته در حالت آماده قرار می گیرد و می توان آن را ارسال کرد که ارسال بسته به Data تایید شده مشتری نیاز دارد که Data ورودی برای این فرآیند به شمار می آید. همچنین فعالیت Send parcel داده های جدیدی را ایجاد می کند، مانند سند حمل و نقل، رسید ارسال و ارسال بسته. بنابراین این شکل یک مثال از فرآیند کسب و کار می باشد که در آن چندین نوع Data وجود دارد.

اجرای داده یا Data Execution Semantics

فهرست کلی مقالات دوره

دوره آموزشیمدیریت فرایند ها

BPMNجریان دادهدادهمدل سازی فرآیندمدل سازی فرآیند BPMN2مدل سازی فرایندمدل فرآیند

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *