تفاوت UMLوBPMN چیست؟

UML مخفف واژه‌های Unified Modeling Language و BPMN مخفف واژه‌های Business Process Modeling Notation می‌باشد. UML برای مدلسازی نرم‌افزارها و BPMN برای مدلسازی فرآیندها کاربرد دارد. در این مقاله می‌خواهیم به بررسی این دو زبان پرداخته و کاربرد آنها را درخصوص مدلسازی فرایندها و روالهای کاری سازمان مورد بررسی قرار دهیم

در این مقاله به سوالات زیر پاسخ داده خواهد شد.

۱- برای مدلسازی فرآیندهای سازمان از UML استفاده کنیم یا BPMN؟
۲- توانایی کدام زبان در مدلسازی فرآیندها و روالهای کاری سازمان بیشتر است؟
۳- چرا BPMN را بهترین و ساده‌ترین زبان مدلسازی در حوزه فرآیند می‌دانند؟

تفاوت‌های UML و BPMN

• UML یک زبان قدرتمند مدلسازی است که توسط مهندسی نرم‌افزار برای مدلسازی و ساخت نرم‌افزار کاربرد فراوانی دارد.
• UML نمودارهای متنوعی را برای مدلسازی بکار می‌گیرد.
• نمودارهای UML در دو گروه «نمودارهای رفتاری» و «نمودارهای ساختاری» طبقه‌بندی می‌شوند.
• UML برای ایجاد درک صحیح از مدل، بکارگیری چند نمودار را برای توصیف پیشنهاد می‌نماید.
• UML برای بکارگیری عمومی در مدلسازی هرگونه نرم‌افزاری، طراحی شده است و دامنه گسترده‌ای را شامل می‌شود.
• UML برای مدلسازی نرم‌افزار طراحی شده است و نه مدلسازی فرایند. ساخت نرم‌افزار حوزه وسیعی را شامل می‌شود که بکارگیری آن در حوزه فرآیند علاوه برای ایجاد پیچیدگی، باعث انحراف از تمرکز برروی فرآیند و کارایی فرآیند می‌گردد.
اما:

• BPMN زبانی تخصصی برای مدلسازی فرایند می‌باشد.
• BPMN توانایی دارد در یک نمودار بجای چند نمودار، فرایند و حالات مختلف آنرا ترسیم نماید.
• BPMN تصویر کامل و جامعی از فرایندها را با نمادهای تعبیه شده در آن ارائه می‌کند.
• فرایندهای مدل شده با BPMN برای مخاطبان سازمانی قابل درک است اما UML را فقط مهندسین نرم‌افزار می‌توانند درک نمایند.
• تفاوت بزرگ بعدی این دو زبان، در Patternهاست. هر Pattern مفهوم خاصی را معرفی می‌نماید. بعنوان مثال برای اینکه نشان دهیم برای انجام یک فعالیت در فرآیند می‌بایست ۲ ساعت منتظر بمانیم با یک نماد ساده در BPMN قابل توصیف است اما در UML این مفهوم با بکارگیری چند نمودار مربوطه قابل توصیف می‌باشد. BPMN تمام الگوها و حالات فرآیندی در سازمان را پشتیبانی می‌نماید.
• یک تفاوت بزرگ دیگر، قابلیت پشتیبانی نرم‌افزارهای گردش کار و نرم‌افزارهای مدیریت فرآیند از زبان BPMN است. زبانهای برنامه نویسی قابلیت استفاده از UML را دارند درصورتیکه موتورهای جریان کار با زبان BPMNN کار می‌کنند.

BPMN چیست؟ استاندارد مدل سازی فرایندهای کسب وکار

BPMN استانداردی برای مدل‌سازی و نمایش فرایند‌های کسب‌و‌کار است و ابزار اصلی در تکنولوژیمدیریت فرآیندهای کسب‌و‌کار (BPM) محسوب می‌شود. در واقع می‌توان گفت مزیت اصلی استفاده از تکنولوژی BPM، وجود زبان استانداردی به نام BPMN است. هدف اصلی در شکل‌گیری BPMN ، طراحی نمادهایی است که قابل‌درک برای تمامی کابران فرایند (از تحلیلگران فرایند کاری (Business Analysts) تا کاربران فنی (Technical Developers) و حتی کاربرانی که پایش و کنترل فرایند را بر عهده‌دارند) باشد.  در حقیقت BPMN مانند پلی، فاصله بین طراحی فرایند و عملیاتی (اجرایی شدن) فرایند را از میان برمی‌دارد.  

مدیریت فرایندهای کسب‌وکار مستلزم توصیف دقیق فرایندها و مستندسازی آن‌ها است. روش‌های  متفاوتی برای انجام این کار وجود دارد که راحت‌ترین آن‌ها استفاده از متن و جدول برای توصیف فرایندها و بیان ویژگی‌های آن‌ها است. از نمودارهای گرافیکی نیز برای نمایش یک فرایند استفاده می‌شود . این نمودارها غالباً از اشکال هندسی و پیکان برای ترسیم جریان فرایند استفاده می‌کنند ولی توصیف مشخص و دقیقی از جزئیات فرایند ارائه نمی‌دهند. برای همین نمادهای مشخصی برای فرایندها تعریف شد، نمادهایی که قادر به توصیف وجوه مختلف فرایند هستند. این نمادها (Notation) زبان استاندارد توصیف فرایندها هستند و هر کسی با این زبان استاندارد آشنایی داشته باشد می‌تواند به راحتی مدل طراحی‌شده توسط هر فرد دیگری را درک و تفسیر نماید، ممکن است فرایندها بر مبنای این مدل‌ها، مکانیزه (سیستماتیک) شوند و یا رفتار هر بخش از فرایند بر روی این مدل‌ها شبیه‌سازی شود. برخی از این مدل‌ها بستری را برای متخصصان سیستم فراهم می‌کنند تا بر آن اساس فرایندها را اجرایی و پشتیبانی نمایند. این مدل ها می‌بایست حاوی ساختار استاندارد، دقیق و ارائه‌دهنده اطلاعات اساسی فرایند برای توسعه‌دهندگان سیستم باشد. امروزه سیستم های مدیریت فرایندهای کسب‌وکار(BPMSمتداول‌ترین سیستم ها برای مکانیزه کردن فرایندها هستند. این سیستم ها در درون خود موتوری (Process Engine) دارند که مستقیماً جریان کاری را کنترل و مدیریت می‌کند. این موتور بر اساس مدل های جریان کار استاندارد طراحی‌شده، عمل می‌کند. برای همین چارچوب این مدل‌ها دقیق و ساختار یافته است زیرا توسط خود ماشین مستقیماً اجرا می‌شود (بر خلاف بقیه مدل‌ها که برنامه‌نویس (رابط انسانی) آن را به زبان ماشین ترجمه می‌کند).

تا کنون نمادهای متفاوتی برای توصیف فرایندها ابداع شده است که هر کدام مورد استفاده‌ی ابزارهای طراحی فرایند یا سیستم های جریان کار خاصی قرارگرفته‌اند از آن جمله می‌توان به موارد زیر اشاره نمود:

  • استاندارد (XPDL (XML Process Definition Language ارائه‌شده توسطWorkflow Management Coalition در سال  ۲۰۰۸
  • استاندارد (BPEL (Business Process Execution Language ارائه‌شده توسط OASIS در سال  ۲۰۰۷

این استانداردها در برنامه‌های زیادی در جهت اجرایی کردن فرایندها بکار می‌روند ولی فاقد اِلِمان‌های گرافیکی هستند.

یکی از نمادهای معروف دیگر EPC یا Event-driven Process Chain است که برای مدل‌سازی فرایندهای کسب‌وکار در پروژه‌های پیاده‌سازی شده‌ی SAP و ARIS مورد استفاده قرار می‌گیرد. با این حال EPC یک زبان مدل‌سازی استاندارد نیست و تعداد محدودی از ابزارهای مدل‌سازی مبتنی بر آن عمل می‌کنند.

مابقی استانداردهای معروف نظیرUML یا Unified Modeling Language با استفاده از نمودارهای فعالیت‌ (UML Activity Diagrams - ADs) قادر به مدل‌سازی فرایندهای کاری می‌باشند، با این حال توفیق چندانی در عملیاتی کردن این زبان در ابزارهای مدل‌سازی فرایندی (در مقایسه با BPMN) به دست نمی‌آید. از مزیت‌های BPMN در برابر UMLL می توان به موارد زیر اشاره کرد:

  • دقیقاً مشخص است که چه کسی و در کجا ، چه کاری را انجام می‌دهد (نماد های Lane و Pool)
  • قابلیت نمایش انواع رخدادها، تأخیرها، اعلان‌ها و ... وجود دارد (که قبل و یا  بعد از فعالیت‌ها رخ می‌دهند)
  • نفوذ به عمق فرایند (Drill down of sub process) و مشخص کردن ریز‌ترین جزییات وظایف.
  • امکان اضافه کردن ساختارهای اضافی به فرایند و امکان ثبت مستندات برای هر جزء از فرایند
  • ارائه خروجی قابل‌اجرا (Executable Output)

به نظر می‌رسد استاندارد BPMN  یا Business Process Modeling Notation مشهورترین و پذیرفته ترین استاندارد در راستای مدل‌سازی فرایندها است. در وب‌سایت www.BPMN.org  به بیش از ۶۰ ابزار و برنامه کاربردی اشاره‌شده که از این استاندارد برای مدل‌سازی فرایندها استفاده می‌کنند.

تاریخچه:

BPMN برای اولین بار توسط BPMIBusiness Process Management Initiative) توسعه داده شد.در ابتدا هدف معرفی نمادهای گرافیکی بود که به عنوان زبان مدل‌سازی فرایندهای کسب‌وکارBPML ارائه شود و در مقایسه با BPEL، قابلیت اجرایی شدن توسط BPMSها را داشته باشد. (هرچند با توجه به محبوبیت زیاد BPEL، BPML فرصت چندانی برای توسعه پیدا نکرد و بخش اجرایی آن را بهBPEL واگذار نمود).

 

اولین نگارش BPMN توسط یک تیم به رهبری استیفن وایت در شرکت IBM توسعه داده شد و در سال ۲۰۰۴ ارائه گردید. در ضمن...

ادامه نوشته