بخشی از مقاله


ارزیابی معماری نرم افزار مبتنی بر سناریو : روش ها و مطالعه موردی

چکیده

با توجه به پیچیدگی سیستم های نرم افزاری امروزی، معماری نرم افزار یک موضوعی با اهمیت است .این موضـوع همچنین به عنوان یک عنصر کلیدی در طراحی و توسعه سیستم در نظر گرفته شده و برای ترویج/مجـازات برخـی از ویژگی های با کیفیت تواناست. کیفیت عمدتا به نیازهای غیر کارکردی مورد انتظار از سیستم مـرتبط اسـت. بـا استفاده از روش های مناسب برای ارزیابی معماری می توان به کاهش خطر ابتلا به معماری با کیفیت پـایین کمـک نمود.

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

کلمات کلیدی: ATAM ،SAAM، CBAM ، سیستم نایتینگل، طوفان فکری، سناریو، نقطـه حساسـیت، موازنـه، ریسک و غیر ریسک.


.1 مقدمه

ATAM (روش تجزیه و تحلیل موازنه معماری) به سهامداران برای درک عواقب تصمیم گیری معماری با توجه به ویژگی کیفی مورد نیاز سیستم و اهداف کسب و کار، همچنین برای تعیین خطرات و موازنه های موجود در استراتژی های معماری مشخص با سرمایه گذاری نسبتا ارزان، کمک می کند. با این حال، هیچ راهنمایی برای درک منافع اقتصادی فراهم نمی کند. به همین دلیل برای کامل شدن به برخی از روش های کمی مانند )CBAMروش تجزیه و تحلیل هزینه-مزایا) نیاز دارد.

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

CBAM به معماران نرم افزار برای در نظر گرفتن بازگشت سرمایه گذاری هر گونه تصمیم معماری کمک می کند و راهنمایی در نقش موازنه های اقتصادی فراهم می کند. هدف آن دادن یک چارچوب اقتصادی است که در آن سهامداران می توانند یک تصمیم منطقی معماری، از طریق استنباط و مستندات مربوط به هزینه ها، منافع، و عدم اطمینان برای سرمایه گذاری های معماری خود بگیرند.

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

1. SAAM (روش تجزیه و تحلیل معماری نرم افزار)،

2. ATAM (روش تجزیه و تحلیل موازنه معماری) ،

3. CBAM (روش تجزیه و تحلیل هزینه مزایای).

در این مقاله استفاده از روند ATAM برای سیستم نایتینگل و تجزیه و تحلیل آن را نمایش می دهیم.

محتوای تجزیه و تحلیل به صورت ذیل سازماندهی شده است:

در مرحله اول، شرح هر یک از روش ها نشان داده می شود و در مرحله دوم، یک مطالعه موردی با یک مقایسه بین چند روش داده و در نهایت نتیچه گیری می شود.

-2 کارهای انجام شده

در [1] تجربه ی ترکیب روشهای تجزیه و تحلیل کمی و کیفی برای ارزیابی معماری نرم افزار نشان داده شده است. این مقاله تجربه استفاده از ATAM در یک پروژه استودیو در مقیاس کوچک و تجزیه و تحلیل چگونگی درستی، که به وضعیت پروژه تنظیم شده، را نمایش می دهد. همچنین یک ارزیابی CBAM را برای همان پروژه استودیو که در خروجی از فرایند ATAM انجام شد، ارائه می دهد. تجربه نشان می دهد که استفاده از روش اقتصاد به طور موثر می تواند مکمل روش های کیفی مانند ATAM باشد. در مقاله ابتدا گام به گام هر دو روش را در پروژه اعمال کرده و خروجی آنها را با هم مقایسه می نماید.

در [2] مجموعه ای از ویژگی های معمولا شناخته شده اما غیررسمی توصیف شده از روش ارزیابی، و سازماندهی آنها درون یک چارچوب که باید هدایتی در انتخاب مناسب ترین روش برای ارزیابی ارائه دهد، نشان داده شده و از این چارچوب برای توصیف هشت روش ارزیابی معماری استفاده می کند.

در [3] مقاله یک معماری جدید برای انتخـاب روش مبتنـی بـر تجزیـه و تحلیــل تصــمیم چنـد ضــابطه ای (MCDA) توسعه داده شده و از یک مطالعـه مـوردی ” سیستم مانیتورینگ بلادرنگ سهام“ اعتبارسـنجی مـی شود. و عنوان می دارد که یک روش MCDA مقصود در یکی از چهار هدف زیر است:

· بهترین معماری،

· گروهبندی معماریها به بهتـرین کـلاس هـای تعریف شده،
·
· رتبه بندی معماری به ترتیب از اولویت هـای کل،

· شرح چگونگی ملاقات هر معماری خوب بـا همه ویژگی های کیفی به طور همزمان.

در ایــن مقالـه بعـد از دادن ورودی؛ ارزیـابی، زمــان پاســخ دهــی ، قابلیــت یــادگیری، قابلیــت نگهــداری، پشتیبانی، استفاده مجدد، هزینه و زمان توسعه و انـدازه سیستم که تعیین شده است را نمایش می دهد.

در [4] تجزیه و تحلیل ویژگی برای سه روش معماری اعمال شده به یک مورد واحد را انجام شده که دو نتیجه را میدهد: جنبه: که در یک روش ارزیابی معماری باید ارائه شود که در یک مجموعه 49 متریکی ارائه شده است؛ گروهبندی: در ویژگی ها و زیر ویژگیها که قادر به ارزیابی یک روش خاص است. از روشهای ATAM، DUSA (این روش متمرکز بر روی ارزیابی صریح و طراحی نیازمندی های کیفی در معماری نرم افزار است) و AEM استفاده می کند.

در [5] ده روش ارزیابی را برای دارا بودن ویژگی های ”عملکرد، قابلیت نگهداری ، قابلیت تست و قابل حمل بودن“ مقایسه می کند و به این نتیجه رسید که تنها ATAM می تواند به همه این ویژگیهای کیفی بپردازد و بقیه تنها به یک یا دو ویژگی می پردازند. روشهای مورد بررسی شامل: ALMA ، SAAM ، EBAE ، LQN ، ATAM ، SAM بود.

در [6] هدف طبقه بندی و مقایسه مدل، چک کردن تکنیک های معماری نرم افزار است . برای این منظور، ابتدا مدل چک کردن مشکل معماری نرم افزار تعریف شده و سپس، مجموعه ای از نهادها و ویژگی های مبتنی بر دانش دامنه و روی کار موجود شناسایی می نماید. سپس مقالات ارائه شده در حوزه این کار را انتخاب کرده و آنها را با توجه به شناسایی نهادها طبقه بندی می کند. تفاوت ها و شباهت برجسته می شوند. سهم اصلی این مقاله عبارتند از :به طور رسمی مدل چک کردن مشکل SA ، شناسایی مجموعه ای از طبقه بندی نهادها و ویژگی ها، یک نظرسنجی از حالت هنری مدل چک کردن تکنیک های SA ، و یک مقایسه دقیق از مدل انتخاب شده چک کردن تکنیک های .SA

-3 بررسی روش ها و مطالعه موردی


-1-3روش تحلیل معماری برمبنای سناریو

(SAAM)

SAAM اولین اعلام کننده سناریو مبتنی بر روش تجزیه و تحلیل معماری نرم افزار به طور گسترده است. همچنین ارزیابی قابلیت تغییر معماری را در نامهای مختلفش ایجاد کرد.

سازندگان SAAM به دنبال روشی که قادر به بیان ادعای مختلف کیفی معماری های نرم افزاری با استفاده از سناریوها و ارزیابی آنها در برابر واقعیتها بودند. در عمل SAAM برای ارزیابی بسیاری از ویژگی های کیفی مانند قابلیت تغییر، قابلیت حمل، توسعه، جدائی ناپذیری، مفید است. این روش برای ارزیابی جنبه های کیفی معماری نرم افزار از قبیل عملکرد یا قابلیت اطمینان نیز می تواند مورد استفاده قرار گیرد. ATAM یک نسخه بهبود یافته از SAAM برای این ویژگیهاست.


تعدادی از سناریوها بعنوان توصیف تعامل کاربر با سیستم، ورودی اولیه به یک جلسه ارزیابی SAAM هستند.

-1-1-3 مراحل در جلسه بررسی SAAM

این روش شامل شش مرحله اصلی اسـت، کـه معمـولا توسط یک مرور کوتاه از حوزه کسب و کار و قابلیـت های مورد نیاز سیستم مقدم هستند.

گام - 1 تهیه سناریو

اولین گام در یک جلسه SAAM تمرین طوفان ذهنی با دامنه شناسایی نوعی از فعالیت ها است که سیستم باید از آن پشتیبانی نماید. این فعالیتها همراه با تغییرات احتمالی که سهامداران می توانند پیش بینی کنند، در اصطلاح "سناریوهای سیستم" گروه بندی می شوند.

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

گام - 2 توصیف معماری (ها)

در مرحله دوم از جلسه SAAM معماری (ها) نامزد ارائه می شود. نمادهای معماری استفاده شده باید توسط شرکت کنندگان به خوبی درک شود و باید بازنمایی استاتیک سیستم (اجزاء، روابط متقابل خود و ارتباط با محیط ) و همچنین رفتار دینامیکی سیستم را نشان دهند. این می تواند به شکل خصوصیات طبیعی زبان از یک رفتار کلی و یا برخی دیگر از مشخصات رسمی تر باشد.

گام - 3 طبقه بندی و اولویت بندی سناریوها

در این نقطه از تجزیه و تحلیل، سناریوها به

سناریوهای مستقیم و غیر مستقیم (معادل آنها در نماد UML موارد کاربرد“use case“،به ترتیب تغییر موارد""change case هستند) طبقه بندی شده اند. سناریوی مستقیم توسط معماری نامزد پشتیبانی می شود زیرا پایه نیازمندیهاست که سیستم از آن تکامل یافته است. سناریوهای مستقیم، سناریوهای کاملی هستند که بعنوان یک استاندارد(متریک) برای عملکرد یا قابلیت اطمینان معماری هستند. سناریو غیر مستقیم دنباله ای از رخدادها برای تحقق و یا دستاورد معماری که از تغییرات جزیی و یا عمده رنج می برند، است. اولویت بندی سناریوها مبتنی بر روش رای گیری است.


گام 4 -ارزیابی سناریوهای غیر مستقیم به صورت جداگانه

در مورد یک سناریوی مستقیم، معمار چگونگی اجرای سناریو توسط معماری را نشان می دهد. در مورد یک سناریوی غیر مستقیم، معمار چگونگی نیاز تغییر سناریو برای تطبیق را توضیح می دهد .

گام - 5 ارزیابی تعامل سناریو

هنگامی که دو یا بیش از دو سناریو خواستار تغییر بر مولفه (ها) یکسان معماری هستند، به آنها تعاملی می گویند. در این مورد، اجزای آسیب دیده نیاز به تغییر یا تقسیم به زیر مؤلفه ها به منظور اجتناب از اثر متقابل در سناریوهای مختلف دارند.

گام - 6 ایجاد یک ارزیابی کلی

در نهایت یک وزن به هـر سـناریو در شـرایط اهمیـت نسبیشان برای موفقیت سیستم اختصاص داده می شود. وزن به اهداف کسب و کار پشتیبانی شده توسـط یـک سناریو یا معیارهای دیگری مانند هزینـه هـا، خطـرات، زمان عرضه به بازار، و غیره وابسـتگی دارد. بـر اسـاس این وزن سناریو، می توان یک رتبه بندی کلی پیشـنهاد داد، اگر معماری چندگانه در مقایسه باهم هستند.

-2-1-3 نقش های SAAM

سه کلاس از نقشهای شناسایی شده: • سهامداران خارجی:
سهامداران خارجی بدون داشتن دخالت مستقیم در فرایند توسعه معماری نرم افزار هستند. آنها ذینفعان سیستم هستند و نقشان ارائه اهداف پروژه کسب و کار، ارائه ویژگی های کیفی سیستم و سطح مورد انتظارشان از موفقیت در راه قابل اندازه گیری، و ارائه سناریو های مستقیم و غیر مستقیم همراه با اولویت بندی و طبقه بندی آنها است. نمونه هایی از سهامداران خارجی: مشتریان، کاربران نهایی، متخصصان بازاریابی، مدیران سیستم، نگهدارندگان، و غیره.

• سهامداران داخلی:

سهامداران داخلی دارای دخالت مستقیم در ارائه استراتژی های معماری نرم افزار هستند که می توانند الزامات کیفی را برآورده نمایند. آنها دارای نقش تجزیه و تحلیل، تعریف و ارائه مفاهیم معماری، برآورد هزینه ها و زمانبندی های مرتبط با این استراتژیها هستند. نمونه هایی از ذینفعان داخلی: معماران نرم افزار، تحلیلگران سیستم و یا تیم معماری.

• تیم :SAAM

تیم SAAM دارای سهم مستقیم در معماری نرم افزار سیستم نیست، اما خاصیت هدایت جلسه ارزیابی SAAM را دارد. تیم ارزیابی SAAM متشکل از ارزیاب (رهبر یا سخنگوی تیم)، کارشناسان حوزه نرم افزار، کارشناسان خارجی معماری (اختیاری، برای ارزیابی رسمی تر)، و منشی است.

-3-1-3 نتایج و نقاط قوت SAAM

✓ سهامداران در درک عمیق در مورد معماری در حال تجزیه و تحلیل اند.

✓ در برخی موارد، پس از یک جلسه ارزیابی SAAM مستند سازی معماری نرم افزار بهبود یمی یابد.
✓ ارتباطات پیشرفته میان سهامداران.

✓ فرایند تولید سناریو بر اساس چشم انداز ذینفعان است.

✓ توصیف معماری یک مفهوم فازی است که بدون نماد استاندارد یا روش های توصیف معماری اتخاذ شده است.

✓ تیم ارزیابی تنها بر تجربه معماران در پیشنهاد معماری های مختلف (در صورت وجود) تکیه کرده است.

✓ SAAM یک روش گام به گام برای اجرای تجزیه و تحلیل معماری نرم افزار است.

✓ SAAM تیم معماری را برای آماده سازی قبلی به منظور تسهیل در جلسه ممکن SAAM توانمند سازی نمی کند، بنابراین تلاش زیادی را برای تیم ارزیابی توسط معماران و طراحان سیستم پذیرفته شده است.

-2-3 روش تجزیه و تحلیل موازنه معماری

(ATAM)

ATAM یک روش معماری مبتنی بر سناریو برای ارزیابی ویژگی های کیفی مانند قابلیت تغییر، قابلیت حمل، توسعه پذیری و جدائی ناپذیری است. علاوه بر ارزیابی از ویژگی های کیفی، ATAM به بررسی تعامل ویژگی های کیفی و وابستگی های متقابل برجسته مکانیسم ها موازنه و فرصت های بین کیفیت های مختلف می پردازد.

ATAM چگونگی برآورده شدن اهداف کیفی خاص توسط معماری نرم افزار را تجزیه و تحلیل می کند. این سرویس همچنین دیدی نسبت به وابستگی های متقابل ویژگی کیفی- به این معنی که چگونه آنها در برابر یکدیگر مبادله می کنند، می دهد. ATAM مبتنی بر روش تجزیه و تحلیل معماری نرم افزار (SAAM) است.

برای انجام موفقیت آمیز جلسه ارزیابی ATAM ، کارگزاران این روش و ذینفعان درگیر، باید مجموعه ای از پیش نیاز های اولیه را در نظر بگیرند:

✓ ارزیابها باید معماری سیستم را درک کرده، پارامترهای معماری را تشخیص داده، مفاهیم خود را با توجه به ویژگی های کیفی سیستم تعریف و این مفاهیم را در برابر نیازمندیها مقایسه نمایند.

✓ حوزه های مشکل دار به اصطلاح "نقاط حساسیت"، "نقاط موازنه" و ”خطرات“ بودند.

✓ نقطه حساسیت مجموعه ای از مؤلفه ها در معماری است که برای دستیابی به ویژگی کیفی خاص بسیار مهم است.

✓ نقطه موازنه یک نقطه حساسیت است که برای دستیابی به ویژگی های کیفی چندگانه بسیار مهم است.
✓ خطرات یک زیر مجموعه از نقاط حساسیت

است که ممکن است مانع از دستیابی سیستم به اهداف کیفیش شود.

ATAM یک روش ارزیابی مبتنی بر زمینه است که در آن ویژگیهای کیفی سیستم باید درک شود. این را می توان با کارگیری سناریوهای توصیفی برای ارزیابی ویژگی های کیفی به دست آورد .

-1-2-3 مراحل در جلسه ارزیابی ATAM

روش ATAM شامل چهار فاز است:

✓ ارائه: شامل تبادل اطلاعات از طریق ارائه،

✓ بررسی و تجزیه و تحلیل: ارزیابی از الزامات ویژگی های کیفی کلیدی در مقایسه با روش های معماری،

✓ تست : مقایسه نتایج به دست آمده از فاز قبلی به نیازهای مربوط به ذینفعان و
✓ گزارش: خلاصه نتایج .ATAM


هر فاز ، مجموعه ای از مراحل است. زیر مجموعه های زیر مراحل ATAM را با جزئیات ارائه می دهد:


فاز ارائه ATAM

گام - 1 ارائه ATAM

در ابتدا، رهبر گروه ارزیابی ATAM را برای شرکت کنندگان توصیف می کند. او تلاش می کند تا انتظارات خود را تنظیم و به پرسش هایی که آنها ممکن است داشته باشند، پاسخ دهد.

گام - 2 ارائه درایورهای کسب و کار

یک سخنگوی پروژه اینکه چه اهداف کسب و کاری ، انگیزه تلاش های توسعه هستند و از این رو درایورهای کیفی معماری اولیه را توصیف می کند .

گام - 3 ارائه معماری

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

فاز تجزیه و تحلیل و بررسی

گام - 4 شناسایی رویکردهای معماری

در گام چهارم معمار رویکردهای معماری را شناسایی می کند، اما آنها هنوز تجزیه و تحلیل نشده اند.
گام - 5 ایجاد درخت ابزار ویژگی کیفیت:

ویژگی های کیفی که شامل "ابزار" سیستم مشخص شده هستند، سطحی از سناریوها مشروح است، با محرک و پاسخ، و اولویت بندی مشخص شده است.

گام - 6 تجزیه و تحلیل رویکردهای معماری

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


فاز تست

گام -7 آشفتگی فکری موقتی و اولویت بندی حالات:


در طی یک جلسه آشفتگی فکری موقتی، ذینفعان یک گروه بزرگی از سناریوها را فراهم می کنند. تیم ATAM همراه با ذینفعان، این سناریوها را با رأی دادن الویت بندی می کنند.

گام - 8 تجزی و تحلیل دوباره رویکردهای معماری:

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

فاز گزارش

گام - 9 ارائه نتایج:

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

-2-2-3 نقش های :ATAM

نقش مشارکت ممکن است به صورت زیر طبقه بندی شود:

• سهامداران خارجی:

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

• ذینفعان داخلی:

ذینفعان داخلی به طور مستقیم درگیر فرآیند توسعه معماری نرم افزار هستند. نقش آنها به تجزیه و تحلیل، تعریف و پیاده سازی معماری است. در طی جلسه ارزیابی ATAM آنها همچنین برای توصیف، ارائه و ارزیابی (همراه با تیم (ATAM معماری نرم افزار را بر عهده دارد. نمونه هایی از ذینفعان داخلی: معماران، رهبران تیم طراحی، تست، و .integrators

• تیم :ATAM


باید به تیم توسعه به دلایل بی طرفی خارج شود. بدون سهم مستقیم در معماری نرم افزار سیستم است؛ و به انجام جلسه ارزیابی دعوت می کند. همچنین نقش رهبری در ادامه با ارزیابی، ضبط مصنوعات ارزیابی متوسط، و ارائه نتایج نهایی دارد. در صورت لزوم، باید به ترتیب قادر به حمایت از سهامداران و معماران در ایجاد سناریوها و ارائه معماری نرم افزار باشد. تیم ارزیابی ATAM معمولا شامل: رهبر تیم یا سخنگو، تحلیلگر معماری (ها)، و منشی می باشد.

-3-2-3نتایج و نقاط قوت : ATAM

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید