نام پژوهشگر: رضا پژند
رضا پژند سعید عربان
یکی از فعالیت های کلیدی در فرآیند توسعه سیستم های نرم افزاری مبتنی بر معماری سرویس گرا، طراحی سرویس ها می باشد. طراحی سرویس ها خود شامل مراحل درک نیازمندی ها، شناسایی سرویس های مورد نیاز سازمان برای برآوردن آن نیازمندی ها و طراحی سرویس های شناسایی شده می باشد. در این مرحله عملیات، محدوده، پیام ها، نحوه ارتباط و توصیف واسط های سرویس ها مشخص می گردد. اهمیت مرحله طراحی سرویس ها در فرآیند توسعه از آنجا ناشی می شود که نتایج تصمیمات اتخاذ شده در آن به مراحل بعدی به خصوص مرحله پیاده سازی سرویس ها انتشار می یابد. بنابراین هر نوع کاستی در طراحی، باید پیش از ادامه فرآیند، شناسایی و برطرف گردد. در غیر این صورت اصلاح این کاستی ها پس از انتشار به مرحله پیاده سازی زمان و هزینه های زیادی را به سازمان تحمیل می کند. لذا در معماری سرویس گرا ارزیابی طراحی های انجام شده در مرحله مدلسازی سرویس ها از اهمیت بالایی برخوردار می باشد. ارزیابی طراحی های انجام شده در مرحله مدلسازی نیازمند مجموعه ای از سنجه های قابل محاسبه در سطح طراحی می باشد. این سنجه ها بایستی بر روی طراحی های بیان شده توسط یک زبان مدلسازی قابل سنجش باشند. همچنین مطلوبست امکان اندازه گیری این سنجه ها توسط ابزار به صورت خودکار فراهم شود. در معماری سرویس گرا ویژگی های کیفی گوناگونی تاکنون معرفی شده است. از جمله می توان به ویژگی های کیفی وابستگی ، خودمختاری ، همبستگی ، پیچیدگی ، دانه بندی ، امنیت اشاره نمود. برخی از این ویژگی های کیفی همانند وابستگی و دانه بندی را می توان در زمان طراحی در سطح طراحی مورد سنجش قرار داد، اما ارزیابی دقیق برخی دیگر مانند امنیت نیازمند اطلاعاتی فراتر از آنچه در زمان طراحی مهیاست می باشد. در سال های اخیر تحقیقات متعددی به منظور ارزیابی کیفی سیستم های مبتنی بر معماری سرویس گرا انجام گرفته است، اما اغلب آن ها برای ارزیابی های خود نیاز به سیستم هایی کاملاً پیاده سازی شده دارند و نمی توان از آن ها برای ارزیابی در سطح طراحی های معماری سرویس گرا بهره برد. تحقیقات در زمینه ارزیابی طراحی های معماری سرویس گرا نیز به یکی از دو صورت زیر انجام گرفته است: • توصیف نوشتاری ویژگی های کیفی ای که باید در سطح طراحی رعایت شوند. • معرفی و رسمی سازی سنجه هایی که جنبه های کیفی معینی را در سطح طراحی اندازه می گیرند. هدف از این تحقیق کمک به طراح مدل های معماری سرویس گرا در ارائه ارزیابی واقع گرایانه ای از طراحی انجام شده پیش از پیاده سازی می باشد. بدین ترتیب طراح با شناسایی کاستی ها و امکان بهبود طراحی پیشنهادی خود پیش از پیاده سازی، می تواند بهره وری و کیفیت را افزایش داده و در هزینه و زمان صرفه جویی نماید. علاوه بر آن طراح به کمک سنجه های پیشنهادی در این تحقیق می تواند بهترین مدل را از میان تمامی مدل های طراحی شده، برای پیاده سازی انتخاب نماید. این تحقیق به ارزیابی ویژگی های کیفی وابستگی و دانه بندی در سطح طراحی های معماری سرویس گرا در لایه های 3 و 4 استاندارد iso-25010 می پردازد. به منظور ارزیابی ویژگی های کیفی مذکور، سنجه هایی بر اساس چارچوب هدف پرسش پاسخ تعریف شده اند. هر کدام از این سنجه ها برای ارزیابی یک ویژگی کیفی، جنبه ای از طراحی را ارزیابی می نمایند. در تعریف این سنجه ها به تأثیر سایر ویژگی های کیفی در ارزیابی ها همانند تأثیر پیچیدگی پیام ها و سرویس ها در ارزیابی ویژگی کیفی وابستگی توجه شده است. همچنین از موجودیت پیام ها و فرآیندهای کسب وکار که از عناصر مهم در معماری سرویس گرا در محاسبه سنجه ها استفاده گردیده است. در عین حال از ایده های مطرح شده در سایر رویکردها همانند شی گرایی در تعریف سنجه های جدید برای معماری سرویس گرا بهره برده شده است. ارزیابی هر یک از ویژگی های کیفی انتخاب شده با توجه به اطلاعات موجود در مرحله طراحی می باشد. سنجه ها بر اساس اطلاعات موجود در انواع مختلف دیاگرام های فاز مدلسازی تعریف شده اند. برای بدست آوردن اطلاعات لازم برای یک سنجه ممکن است اطلاعات دیاگرام های مختلف کنار هم قرار بگیرند. به عنوان نمونه برای ارزیابی میزان وابستگی سرویس ها به یکدیگر باید تمام ارتباطات میان سرویس ها و اجزای آن ها یافته شوند. برای تحقق این امر ممکن است اطلاعات چندین دیاگرام مورد استفاده قرار گیرد. در ادامه سنجه های ارائه شده علاوه بر توصیف نوشتاری، به منظور رفع ابهام و مستقل نمودن سنجه های تعریف شده از یک زبان مدلسازی خاص، به صورت رسمی تعریف می گردند. در تعریف سنجه ها توانایی خودکارسازی فرآیند ارزیابی، عدم نیاز به تحلیل انسانی و آشنایی با دامنه مسئله در نظر گرفته شده است. برای ارزیابی سنجه های ارائه شده به صورت نظری، علاوه بر آنکه انطباق هر یک از سنجه ها با تعاریف پایه ای سنجه ها نشان داده شده است، از چارچوب اندازه گیری briand که کارهای بسیاری به آن ارجاع داده اند،استفاده می گردد. در این چارچوب مفاهیم اندازه گیری ویژگی های کیفی همچون وابستگی، همبستگی، دانه بندی و پیچیدگی فارغ از یک رویکرد توسعه خاص به دقت تعریف و خصوصیات آن ها اثبات شده است. به این ترتیب خواص معین شده در این چارچوب برای هر یک از ویژگی های کیفی این تحقیق به عنوان بستری برای ارزیابی سنجه های آن در نظر گرفته خواهد شد. در نتیجه سنجه هایی که خواص تعیین شده را نقض نمی کنند به صورت نظری صحیح در نظر گرفته خواهند شد. برای آنکه سنجه های ارائه شده بتوانند مدل های دنیای واقعی را ارزیابی نمایند، تعاریف رسمی سنجه ها باید مطابق بر تعاریف یکی از زبان های مدلسازی مورد استفاده در طراحی سرویس ها گردد. سنجه های تعریف شده منطبق بر اجزای زبان مدلسازی soaml که یک پروفایل برای زبان مدلسازی uml می باشد می گردند و قابلیت ارزیابی مدل هایی که به این زبان طراحی شده اند را پیدا می نمایند. این انطباق در کنار تعریف نوشتاری و رسمی سنجه ها هرگونه ابهام در استفاده عملی از سنجه ها را منتفی خواهد نمود. در ادامه بر اساس سنجه های پیشنهادی ابزار مناسبی برای ارزیابی مدل های طراحی پیاده سازی شده است. به کمک این ابزار، طراح می تواند به راحتی مدل های خود را ارزیابی کند. در پایان به منظور ارزیابی تجربی سنجه های پیشنهادی، از طراحی های سرویس گرای دو کسب وکار در دنیای واقعی به عنوان مدل های مطالعاتی استفاده شده است و سنجه ها توسط سناریوهای مختلف مورد بررسی و ارزیابی قرار گرفته اند.