تحلیل کسب و کار
بررسی تفاوتهای بین مدل (Model) و نمودار (Diagram)
این مقاله به تفاوت بین مدلها و نمودارها میپردازد و به سوالاتی از جمله موارد زیر پاسخ میدهد:
- تفاوت بین مدل و نمودار چیست؟
- چه زمانی از مدل و چه زمانی از نمودار استفاده کنیم؟
- مزایای مدل و نمودار چیست؟
- نمونههایی از نمادها و ابزارهای نموداری
- نمونههایی از زبانها و ابزارهای مدلسازی
بررسی اجمالی
مدتها پیش اصطلاحات مدل و نمودار به جای یکدیگر استفاده میشدند. این امر باعث سردرگمی قابل توجهی در بین معلمان شده و البته بر توانایی آنها برای آموزش دانشآموزان به طور واضح تأثیر میگذاشت. در نتیجه پی بردن به علت اصلی مشکل، سعی بر آن شد که تعاریفی واضح از هر دو مورد ارائه گردد.
به نقل قول از گوگل: «مدل یک انتزاع است که شامل تمام عناصر مورد نیاز برای توصیف هدف مورد مدلسازی میشود. این میتواند تمام جنبههای مربوط به کسب و کار، سیستمها، روابط و موارد دیگر را شامل شود. نمودار یک نمای خاص از آنچه شما سعی در درک آن در یک زمینه خاص دارید، میباشد.”
بیایید فرض کنیم «چیزی» که مدلسازی میشود از قبل وجود دارد. مدلی از این چیز حاوی اطلاعات شناختهشده تا سطح مشخصی از انتزاع است. (یعنی مدل همه چیزهایی را که در مورد آن “چیز” شناخته شده است را در بر نمیگیرد، بلکه فقط اطلاعاتی را تا سطح جزئیاتی که ما به آنها علاقهمند هستیم، نشان میدهد.) نمودار این اطلاعات مدل را از دیدگاه ذینفعان خاص نشان میدهد.
برای مثال: فرض کنیم «چیز» خانه باشد. مدل ممکن است تمام اطلاعات مربوط به خانهای که اندازه آن بزرگتر از ۱ متر است را ثبت کند. یک ذینفع لولهکش، فقط به لولههای آب و اتصالات آنها علاقه دارد. نمایی از مدل برای لولهکش، نموداری است که لولههای آب خانه را نشان میدهد (با دقت ۱ متر در اندازه).
مزایای ایجاد مدل
مدل یک دید انتزاعی از محصول ارائه میدهد که ساخت آن سریعتر و ارزانتر از خود محصول واقعی است. مدلها زمانی سود میآورند که بازده سرمایهگذاری حفظ مدل بیشتر از هزینه ایجاد آن باشد. (ارزش حفظ مدل اغلب کاهش مییابد، زیرا توسعه محصول افزایش پیدا میکند.) مدل یک نمایش سه بعدی از محصول است که میتواند توسط همه استفاده شود:
- کاربران: میتوان آن را قبل از ساخت بر روی محصول فروخت.
- مدیران پروژه: میتوانند پیشرفت محصول را نسبت به مدل پیگیری کنند.
- معماران: یک نمایش بصری از پایههای محصول به دست میآورند.
- حسابرسان: میتوانند تأیید اولیه را قبل از ساخت محصول بدهند.
- تسترها: میتوانند موارد آزمایشی را در مقابل مدل، قبل از ساخت محصول بنویسند.
- توسعهدهندگان: در حین ایجاد جزئیات محصول، یک نمایش بصری از محصول فعلی و آینده دریافت میکنند.
زمان استفاده از مدل
زمانی که چندین نوع ذینفع باید قادر به درک اطلاعات در مورد وضعیت موارد قابل تحویل باشند، از مدل استفاده میشود. مدل به طور مداوم به روز میگردد، به طوری که این اطلاعات ممکن است در طول پروژه ارائه شود.
- قبل از ساخت: زمانی که شما نیاز دارید بتوانید آنچه را که قرار است ساخته شود، بدون نیاز به دانستن دقیق تمام جزئیات، توصیف کنید.
- در طول ساخت: زمانی که شما نیاز دارید بتوانید آنچه را که تاکنون ساخته شده است، بدون نیاز به دانستن دقیق تمام جزئیات توصیف کنید.
- پس از ساخت: زمانی که شما نیاز دارید بتوانید آنچه را که ساخته شده است، بدون نیاز به دانستن دقیق تمام جزئیات توصیف کنید.
مدل به طور مداوم در حال تغییر است تا موارد زیر را منعکس کند:
- آنچه پیشبینی میشود ساخته شود.
- آنچه در حال حاضر در حال ساخت است.
- آنچه در واقع ساخته شده است.
تصویر زیر یک نمایش سه بعدی از “چیز” مورد بررسی را نشان میدهد.
زمان استفاده از نمودار
از نمودار برای ارائه اطلاعات در مورد موارد قابل تحویل به یک نوع ذینفع استفاده میشود. اطلاعات موجود در نمودار یک عکس فوری را در زمان نشان میدهد. هنگامی که نمودار نیاز به بروز رسانی مداوم دارد، ممکن است تولید نمودار از یک مدل کارآمدتر باشد.
اگر مدل یک انتزاع سه بعدی از یک چیز باشد، نمودار ممکن است به عنوان یک نمای دو بعدی از مدل آن چیز در نظر گرفته شود.
نمودار تصویری انتزاعی از چیز را در یک نقطه خاص از زمان برای یک مخاطب خاص ارائه میدهد.
اگر یک نمودار از مدل ایجاد شود، پس از تغییر مدل، نمودار به طور خودکار بازسازی میگردد.
تصویر زیر یک نمایش دو بعدی از “چیز” مورد بررسی را نشان میدهد.
نمادهای نموداری
نماد (Notation)، قوانین ترسیم نوع خاصی از نمودار را توصیف میکند. تحلیلگر کسب و کار ممکن است انواع نمودارهای زیر را مفید بداند:
- نمودار فعالیت: برای ثبت یک جریان فرآیند پیچیده استفاده میشود.
- نمودار فرآیند کسب و کار: برای توصیف تعاملات بین افراد در یک فرآیند کسب و کار استفاده میشود.
- نمودار کلاس: برای ثبت ساختار اطلاعات به عنوان کلاسها، عملیات و روابط آنها استفاده میشود.
- نمودار ارتباطی: برای نشان دادن پیامهایی که بین اشیا ارسال میشوند استفاده میگردد.
- نمودار جریان داده: برای نشان دادن سلسله مراتبی از فرآیندها و دادههای جریان یافته بین آن فرآیندها استفاده میشود.
- فلوچارت: برای تجسم جریان فرآیند نرمافزار استفاده میشود.
- نمودار توالی: برای نشان دادن ارتباط بین کاربران، سیستمها و اشیاء استفاده میشود.
- نمودار انتقال حالت: برای توصیف حالات و شیء و انتقال بین حالتها استفاده میشود.
- نمودار مورد استفاده: برای ثبت عملکرد از دیدگاه کاربر استفاده میشود.
زبانهای مدلسازی
زبان مدلسازی مجموعهای از انواع اجزا، قوانین استفاده از آنها و روابط بین آنها را توصیف میکند. نمودار شامل زیرمجموعهای از قوانین زبان مدلسازی است. نمودارهای مورد استفاده توسط یک تحلیلگر کسب و کار ممکن است بخشی از زبانهای مدلسازی زیر باشد:
- BPMN: مدل فرآیند کسب و کار و نمادگذاری زبانی برای توصیف جریانهای فرآیند کسب و کار از دیدگاه افراد درگیر در فرآیند است.
- SA/SD: تکنیک تحلیل و طراحی ساختاریافته زبانی است که برای مدلسازی سیستمهای نرمافزاری با استفاده از ساختار سلسله مراتبی از بالا به پایین استفاده میشود.
- Shlaer/Mellor: یک زبان تحلیل و طراحی شیءگرا که میتواند برای شبیهسازی نرمافزارهای اجرایی استفاده شود.
- SDL (Specification and Description Language): یک زبان تحلیل و طراحی ساختاریافته است که میتوان از آن برای شبیهسازی نرمافزارهای اجرایی استفاده کرد.
- UML (Unified Modeling Language): یک زبان شیءگرا برای توصیف تحلیل و طراحی سیستمهای نرمافزاری است.
زبان مدلسازی واحد
UML ادغام چندین نماد شیءگرا میباشد که با موارد استفاده ترکیب شده است. در حال حاضر این زبان محبوبترین زبان مدلسازی برای مهندسی نرمافزار است. UML فقط یک نماد نمودار نیست و شامل موارد زیر نیز میشود:
- نمودارها: روبنا که نماد و معنای نمودارها و عناصر مدل آنها را تعریف میکند.
- فراداده: زیرساختی که متا-مدل اصلی را تعریف میکند که روبنا بر آن استوار است.
- عملکرد: زبان محدودیت شیء (OCL) جهت تعریف قوانین برای عناصر مدل
- رابط ها: تبادل نمودار UML که نحوه تبادل طرحهای نمودار UML را مشخص میکند.
تصویر زیر انواع نمودارهای موجود در UML را نشان میدهد.
توجه داشته باشید که یک زبان مدلسازی ممکن است قوانین بیشتری را نسبت به مجموعهای از انواع نمودارهای آن ارائه کند.
ابزارهای نموداری
ابزارهای نموداری به تحلیلگر کسب و کار اجازه میدهد تا تصویری از ویژگی مورد بحث، بدون نیاز به ساختن یک ساختار مدل یا ایجاد اجزا ایجاد نماید. ابزارهای رایج نموداری که ممکن است توسط تحلیلگر کسب و کار استفاده شوند عبارتند از:
- Creatly: یک ابزار ترسیم آنلاین که از نمادهای بسیاری از جمله UML و فلوچارتها پشتیبانی میکند.
- Lucidchart: یک ابزار ترسیم آنلاین برای نمودارهای UML
- Paint: یک ابزار طراحی دستی که برای علامتگذاری تصاویر موجود مفید است.
- Visio: ابزار ترسیم مایکروسافت که اجازه میدهد نمودارها از قالبهایی که حاوی اجزای از پیش تعریفشده برای نوع نمودار هستند ایجاد شوند.
توجه داشته باشید که ابزارهای نمودار به طور کامل از UML پشتیبانی نمیکنند. UML شامل قوانین اضافی به قوانین موجود در نماد انواع نمودار آن است.
توجه داشته باشید که Visio Professional نسخه ۲۰۰۷ از مسیریابی مدل UML پشتیبانی میکند. این امر از نسخه ۲۰۱۰ به بعد حذف شد.
ابزارهای مدلسازی
ابزارهای مدلسازی شامل ابزارهای نمودارسازی و مسیریابی مدل هستند. اجزای قرار دادهشده بر روی یک نمودار شامل اطلاعاتی در مورد مؤلفه است که میتواند از طریق مسیریاب مدل مشاهده و ویرایش شود. آنها اغلب شامل توانایی ایجاد گزارشها و اسناد هستند. نمونه ابزارهای مدلسازی عبارتند از:
- ARIS: ابزار مدلسازی BPMN
- Enterprise Architect: از UML، BPMN و چندین زبان مدلسازی دیگر پشتیبانی میکند.
- Erwin: برای مدلسازی پایگاه داده استفاده میشود.
- Rational Software Architect: از UML، BPMN و چندین زبان مدلسازی دیگر پشتیبانی میکند.
- Visual Paradigm: از UML، BPMN و چندین زبان مدلسازی دیگر پشتیبانی میکند.
تصویر زیر برخی از ویژگیهای یک ابزار مدلسازی معمولی را نشان میدهد. پنجرههای مختلف نشاندهنده موارد زیر هستند:
- مسیریاب مدل: اجزای مدل سازماندهیشده در بستهها (پوشهها) را فهرست میکند.
- ابزار نموداری: شامل یک بوم و الگو برای اجزای نوع نمودار نمایش دادهشده
- ویژگیهای مؤلفه: ویژگیهای مؤلفه (یا نمودار) انتخابشده را نشان میدهد.
مزایای مدلسازی
مدلها به بهترین وجه برای جمعآوری طولانیمدت اطلاعات در مورد یک محصول قابل تحویل استفاده میشوند، جایی که بسیاری از ذینفعان از آن اطلاعات استفاده میکنند. مدل به ویژه در طول چرخه عمر توسعه نرمافزار و فراتر از آن مفید است.
- اطلاعاتی را جمعآوری میکند که میتواند توسط همه ذینفعان در یک مخزن استفاده شود.
- روابط بین نماهای مختلف (با استفاده از نمودارها) را در مدل فراهم میکند.
- تا زمانی که نماد نمودار پشتیبانی شود، میتوان نمودارها را به طور خودکار از مدل تولید کرد.
- ممکن است شامل گزارشهای قابل تنظیم باشد که برای درخواستهای ذینفعان خاص سفارشی شده است.
- ابزارهای مدلسازی به شبیهسازی مدل کمک میکنند.
- ابزارهای مدلسازی، اعتبار را در برابر زبانهای نمودار و نماد مدل ارائه میکنند و ممکن است از انطباق در طول ویرایش نمودار اطمینان حاصل کنند.
مزایای نمودارها
نمودارها به بهترین وجه برای جمعآوری کوتاهمدت اطلاعات قابل تحویل استفاده میشوند، جایی که مخاطبان کمی به اطلاعات موجود در نمودار نیاز دارند.
- ابزارهای نمودار در مقایسه با ابزارهای مدلسازی، یادگیری راحتتری دارند.
- نمودارها در مقایسه با ابزارهای مدلسازی به تنظیمات کمی نیاز دارند (چون نیازی به معماری مدل نیست).
- زمانی که نمیخواهید به هیچ نماد خاصی محدود شوید، اما میخواهید با استفاده از نمادهای خود یک تصویر آزاد ایجاد کنید.
- نموداری که برای مدت کوتاهی مورد نیاز است، میتواند به سرعت تولید شود.
- اگر اطلاعات مورد نیاز یک ذینفع واحد باشد، ممکن است یک نمودار کافی باشد.
- برخی از الگوهای نمودار شامل دستورالعملهایی برای ایجاد نمودار با توجه به نماد آن هستند.
جمعبندی
نمودار، یک نمایش دو بعدی از یک داستان است که عناصر و روابط آنها را بر روی یک بوم نشان میدهد. یک عنصر در یک نمودار نشان داده میشود. (برای نشان دادن همان اطلاعات عنصر در دو نمودار، عنصر کپی میشود.) هنگامی که ویژگیهای یک عنصر نمودار تغییر میکند، تغییر فقط در آن نمودار منعکس میگردد.
مدل، یک نمایش سه بعدی از مجموعهای از داستانهای مرتبط است که عناصر نمودار را به عنوان اجزای مدل به تصویر میکشد. یک جزء شامل تمام خصوصیات عنصر و روابط بین عناصر مختلف در تمام نمودارها است. یک جزء مدل واحد را میتوان به عنوان عناصر در چندین نمودار نشان داد. تغییر در ویژگیهای یک عنصر نمودار یا جزء مدل در هر نموداری که آن جزء نمایش داده میشود، منعکس میگردد.
مدل لزوماً نیازی به در بر گرفتن نمودار ندارد. نمودارسازی رایجترین روش برای ایجاد و نگهداری اجزای مدل است، اما نمودارها را میتوان بدون تغییر مدل حذف کرد.
اگر یک عکس ارزش هزار کلمه را داشته باشد، نمودار آن کلمات را به یک داستان تبدیل میکند. مدل آن داستانها را در یک کتاب سازماندهی میکند.