۱۳۸۹ مهر ۱۵, پنجشنبه

مدلسازی و پیاده سازی قواعد کسب و کار

این ترم یک درسی داریم به نام طراحی سیستمهای مدیریت قواعد کسب و کار که توسط لارش فرنبرو تدریس میشه. راستش برام جالب بود این درس. چون ما توی پروژه های معماری سازمانی این بحث قواعد کسب و کار رو به عنوان یکی از ابعاد معماری سازمانی داریم و معمولا کار زیادی براش انجام نمی دادیم. توی معماری بر اساس چارچوب زکمن که فقط از دیدگاه طراح کسب و کار یه کمی از راهبردها و اهداف راهبردی و این حوزه ها صحبت می گردیم و اگه خیلی می خواستیم کامل کار کنیم از مدل BMM, OMG استفاده می کردیم برای اینکار ولی توی حوزه تعریف قواعد کسب و کار، کار خوبی انجام نمی شد. چون خروجیهاش کاربرد زیادی برای کسب و کار یا پیاده سازی سیستمها نداشت. یادمه حتی ما وقتی مبتنی بر چارچوب DoDAF کار می کردیم و محصولات OV-6a , SV-10a که خاص قواعد کسب و کار و سیستم هستند رو تولید می کردیم محصولات پیشنهادی DoDAF برای OV-6a همون انگلیسی ساختیافته بود و برای SV-10a هم زبان مدلسازی مثل درخت تصمیم و اینها مطرح می شد که ما معمولا به دلیلی که بالا اشاره کردم سراعش نمی رفتیم. جالب هستش برام توی این درس که استادش اتفاقا معماری سازمانی هم درس می ده بر اساس کتاب اخیر فینکل اشتاین، ببینم چه نسخه ای برای حوزه قواعد کسب و کار داده میشه. از اول ترم بحثهای مختلفی مطرح شد از جمله:
1- مدلسازی مفهومی کسب و کار (Conceptual Model) که یه جورایی موجودیتها و روابط بین اونها رو از منظر قواعد کسب و کار توصیف می کنه
2- همینطور مدل Term-Fact که همون انگلیسی ساختیافته خودمون بود توی OV-6a در چارچوب DoDAF اینها بقول خود لارش برای پوشش به دیدگاه های کسب و کار بکار می رند (که به اعتقاد من برای پوشش به دیدگاه برنامه ریز کسب و کار باید استفاده از BMM هم مدنظر قرار بگیره با توجه به اینکه توی BMM جایگاه قواعد کسب و کار که مربوط به دیدگاه مالک کسب و کار هستش )
3- استفاده از ابزارهای پیاده سازی قواعد کسب و کار مثل Prolog که برنامه نویسی Declarative  رو برای مدلسازی قواعد و تعریف روابط تجربه کردیم
4- پیاده سازی قواعد کسب و کار با استفاده از ابزارهای جدید و پیشرفته مثل Visual Rules و برقراری ارتباط اون با سیستمهای مدیریت پایگاه داده مثل SQLServer رو یاد گرفتیم

و در نهایت چیزی که امروز جمع بندی کردیم از مقوله های ارائه شده این بود که اگر رویکرد اجرای پروژه های بعد از معماری سازمانی برای پیاده سازی سیستمها استفاده از این فناوری ها باشه، خوب مدلسازی قواعد کسب و کار در معماری سازمانی می تونه بسیار مفید باشه. حتی اگه رویکرد استفاده از ابزارهای خیلی پیشرفته هم مطرح نباشه استفاده از مدلسازی قواعد کسب و کار تا حد زیادی به افزایش دقت در پیاده سازی قواعد کسب و کار و سهولت در نگهداشت اون منجر میشه. البته استراتژی استفاده از ابزارهای پیاده سازی قواعد کسب و کار بر اساس مسائل مختلفی مثل معماری نرم افزار، پیچیدگی قواعد کسب و کار، نرخ تغییرات اونها، ویژگیهای کیفی سیستمها و ... می تونه متفاوت باشه که میشه توی کتاب مورگان(Morgan) بیشتر راجع بهش مطالعه کرد. همچنین جمع بندی دیگه ای که من داشتم و مورد تأیید لارش هم بود اینه که برای پوشش به مراحل مختلف مدلسازی قواعد از دیدگاه کسب و کار، منطق سیستمی و فناوری های پیاده سازی متدولوژی یکپارچه و مدونی وجود نداره. حتی زبان مدلسازی و ابزارهای استانداردی که همه مراحل رو پوشش بده هنوز وجود نداره گرچه OMG فعالیتهای خوبی داره انجام می ده و این موضوع رو به  پیشرفت هستش. من شخصا استفاده از مدلسازی کسب و کار و ابزارهای پیاده سازی پیشرفته رو برای تولید و نگهداشت سیستمهایی با قواعد پیچیده و متعدد و نرخ تغییرات بالا (مثل سیستم حقوق و دستمزد یا سیستمهای مالی و بانکی) مفید می دونم. گرچه باید در استفاده از روش و استاندارد و ابزارهای پیاده سازی دقت فراوانی کرد و ازتجارب موفق و آزمایش شده استفاده کرد. البته با توسعه معماری سرویس گرا استفاده از موتورهای مدیریت قواعد کسب و کار (Rule Engine) خیلی مفید و کاربردی به نظر می رسه. اینه که توسعه سیستمهای سرویس گرا با رویکرد مدلسازی قواعد کسب و کار الان مورد توجه قرار گرفته که می تونید مطالب خوبی در کتاب مدیریت قواعد کسب و کار و معماری سرویس گرا نوشته آقای یان گراهام (Ian Graham) ببینید.

۲ نظر:

رضا گفت...

سلام برادر.خوشحالم که تونستی دوره تخصصی معماری رو شروع کنی.شما انگشتت رو دقیقا گذاشتی روی یکی از پاشنه های آشیل پروژه های معماری سازمانی. دیدگاهت رو در زمینه عدم تمرکز جدی بر روی rule ها کاملا قبول دارم.بویژه اون بخشی که مرتبط با data rule ها میشه.این بخش از پیچیدگی بیشتری برخورداره و اتفاقا مستند سازی این قواعد یکی از حوزه های نگاشت معماری کسب و کار به معماری سیستمی هست.یک پیشنهاد دارم.میتونیم وبلاگی رو ایجاد کنیم که تجربیات جدیدمون تو حوزه معماری سازمانی روش share کنیم.فکر میکنم بعد از یک مدت به یک الگو و همچنین متد از معماری تجربه گرا می رسیم.موضوعی که یه مدتی هست ذهنمو به خودش مشغول کرده.معماری که سریع،سبک و قابل پیاده سازی باشه.متشکرم.

رشيد گفت...

سلام شهرام جان، من بعد از جدايي از ايزايران يه چندتايي پروژه بازمهندسي كار كردم كه تو اون سعي كردم قواعد كسب و كار رو مستند كنم. باتوجه به تجربه‌اي كه از OV_6a و SV-10a داشتم تا حدودي مي‌تونستيم اين قواعد را مدل كنيم ولي روش مستندسازي آن چون بيشتر ساختيافته بودزمان و انرژي زيادي مي‌گرفت. بعد از اون من رو اين قضيه خيلي فكر كردم ولي به نتيجه‌اي كه راهحل را كوتاه و سيستماتيك كنه بهش نرسيدم. شايد رفتن به‌دنبال فكر سيستماتيك براي اين قضيه به‌قول خودت خيلي ما رو به‌نتيجه نرسونه. اگه راهكار جديدي بهش رسيدي خوشحال مي‌شم اونو برامون بنويسي.درضمن، من به‌دنبال تدوين معماري سيستم‌هاي حمل‌و‌نقل هوشمند(ITS)هستم. مثل هميشه حتماً از تجربيات و دانشت استفاده خواهم كرد.نوشته‌هات علي‌الخصوص چالش‌هايي كه مطرح ميكني خيلي خوبه، ولي پيشنهاد مي‌كنم كه براي اين چالش‌ها و مشكلات حتماً راه‌حل‌هايي هم نوشته بشه، ميدونم كه خودت هم به دنبال اين قضيه هستي.