روش ارزیابی معماری SAAM - دانشکده مهندسی کامپیوتر و فناوری اطلاعات

Download Report

Transcript روش ارزیابی معماری SAAM - دانشکده مهندسی کامپیوتر و فناوری اطلاعات

Intelligent Systems Laboratory
SAAM‫روش ارزیابی معماری‬
Software Architecture Analysis Method
‫منابع‬
1.
R. Kazman, G. Abowd, L. Bass, P. Clements, “Scenario
Based Analysis of Software Architecture”, IEEE Software,
IEEE Cmputer Society Publ., 257-266 (1996).
2.
R. Kazman, L. Bass, G. Abowd, and M. Webb. “SAAM: A
method for analyzingthe properties of software
architectures”. In Proceedings of the 16th International
Conference on Software Engineering, Sorrento, Italy, May
1994, pp. 81–90.
،‫ تحلیل و طراحی فرایند ارزیابی معماری سیستم های داده کاوی‬،‫ دل پیشه‬.‫ا‬
‫ دانشکده مهندس ی کامپیوتر و‬،‫پایان نامه کارشناس ی ارشد مهندس ی کامپیوتر‬
.1388 ،‫ دانشگاه صنعتی امیر کبیر‬،‫فناوری اطالعات‬
2
.3
‫‪‬‬
‫انواع تکنیک های ارزیابی نرم افزار‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تجربه ای‬
‫شبیه سازی (آزمایش نمونه اولیه‪)Prototyping‬‬
‫اندازه گیری‬
‫پرسش ی‬
‫‪‬‬
‫‪‬‬
‫پرسشهایی در قالب ‪ check-list‬و سناریو ها مطرح می گردد‬
‫جنبه کیفی دارند و پاسخ را به طور دقیق نداریم‬
‫‪‬‬
‫بیشتر برای مقایسه چندین گزینه استفاده می کنیم‬
‫‪3‬‬
‫تفاوت آنالیز و ارزیابی‬
‫‪‬‬
‫آنالیز‪ :‬تجزیه یک کل به اجزای آن‬
‫‪‬‬
‫یک کار انتزاعی می باشد‬
‫‪cause‬‬
‫‪impact‬‬
‫‪consequence‬‬
‫‪‬‬
‫‪1.‬‬
‫‪2.‬‬
‫‪3.‬‬
‫ارزیابی‪ :‬آزمایش بر روی یک سیستم پیچیده‪ ،‬املان های آن و رابطه بین آن ها‬
‫‪‬‬
‫احتیاج به نتیجه گیری و خروجی می باشیم‬
‫‪‬‬
‫نیاز به یک مقیاس خاص ی برای ارزیابی می باشد‪ .‬همیشه کار آسانی نمی باشد‪.‬‬
‫‪‬‬
‫راه حل‪ :‬نوشتن سناریو‬
‫‪cause‬‬
‫‪impact‬‬
‫‪consequence‬‬
‫‪evaluate‬‬
‫‪1.‬‬
‫‪2.‬‬
‫‪3.‬‬
‫‪4.‬‬
‫‪4‬‬
‫سناریو‬
‫‪‬‬
‫‪‬‬
‫سناریو تکنیکی برای مشخص کردن کیفیت مورد درخواست از معماری می باشد‪.‬‬
‫‪ 6‬معیار برای تطبیق و نرمال سازی سناریوهای مختلف به سناریو استاندارد وجود دارد که‬
‫کاربرد را آسان تر میکند‪:‬‬
‫‪ .1‬منبع محرک‬
‫‪ .2‬محرک‬
‫‪ .3‬محیط‬
‫‪ .4‬محصول‬
‫‪ .5‬پاسخ‬
‫‪ .6‬اندازه گیری پاسخ‬
‫‪5‬‬
‫روشهای ارزیابی معماری‬
‫)‪SAAM(Software Architecture Analysis Method‬‬
‫‪‬‬
‫اولین روش – مبتنی بر سناریو – ارزیابی معماری از منظر نیازمندی های غیر کارکردی‬
‫‪‬‬
‫اهداف ‪:SAAM‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ارزیابی ویژگی های کیفی معماری در مقابل مستندات موجود از نیاز های سیستم‬
‫اگر برای یک معماری به کار رفته باشد‪ ،‬نقاط ضعف و قوت آن معماری برایمان آشکار میگردد‬
‫اگر برای چند معماری به کار رفته باشد‪ ،‬دو معماری را از لحاظ قابلیت تغییر بررس ی خواهد کرد‬
‫در ارزیابی فاکتورهای کیفی مانند تغییر پذیری‪ ،‬قابلیت جابجایی‪ ،‬مقیاس پذیری و یکپارچه پذیری مفید است‬
‫تیم ارزیاب ‪:SAAM‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫ذینفعان خارجی‬
‫ذینفعان داخلی‬
‫تیم ‪SAAM‬‬
‫‪6‬‬
‫‪‬‬
‫ورودی های ‪:SAAM‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫سناریوهای غیر کارکردی که قصد پردازش بر رویشان را داریم‬
‫معماری به طور خالصه معین شده‬
‫گسترش معماری در صورت احتیاج به جزییات بیشتر‬
‫خروجی های ‪:SAAM‬‬
‫‪‬‬
‫‪‬‬
‫نگاشتی بین سناریو و معماری به منظور شناخت قسمت های حساس و هزینه بر‬
‫مقایسه ای از معماری و میزان پشتیبانی آن ها از کارکرد سیستم‬
‫‪7‬‬
‫مراحل ‪SAAM‬‬
‫‪‬‬
‫مرحله ‪ -1‬توسعه سناریوها‬
‫‪‬‬
‫از ‪ brainstorm‬بین اعضای تیم و ذینفعان موارد زیر به دست می آید‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫نیازمندی های غیر کارکردی سیستم‬
‫مهمترین کارکردها و کاربران سیستم‬
‫تمام تغییرات ممکن برای آینده (فاز استفاده و تغییر)‬
‫تاثیر اعمال آن تغییرات بر روی کارایی و یکپارچگی سیستم‬
‫سناریو بیشتر‬
‫مطرح شدن ویژگی های بیشتر‬
‫توسعه معماری‬
‫‪8‬‬
‫‪‬‬
‫مرحله ‪ -2‬توصیف معماری‬
‫‪‬‬
‫‪‬‬
‫از زبان طبیعی‪ /‬نمودار ‪ /UML‬زبان های توصیفی معماری ‪ ADL‬استفاده می شود‬
‫نوع ارایه متناسب با حضار بایست باشد‪.‬‬
‫‪9‬‬
‫‪‬‬
‫مرحله ‪ -3‬طبقه بندی و اولویت بندی سناریوها‬
‫‪‬‬
‫مستقیم‬
‫‪‬‬
‫‪‬‬
‫سناریوهایی که معماریهای کاندید بدون اعمال تغییرات میتوانند اجرا نمایند‬
‫غیر مستقیم‬
‫‪‬‬
‫سناریوهایی که به طور مستقیم پشتیبانی نمی شوند‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫تغییر در عملکرد مولفه‬
‫افزودن مولفه‬
‫اقزودن ارتباطات بین مولفه ها‬
‫ترکیبی از این تغییرات‬
‫‪10‬‬
‫‪‬‬
‫مرحله ‪ - 4‬ارزیابی سناریوها‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫شناسایی تغییرات الزم در هر سناریو‬
‫وزن دهی به میزان سختی این تغییرات‬
‫ارایه جدول نتایج ارزیابی‬
‫‪11‬‬
‫‪‬‬
‫مرحله ‪ -5‬بدست آوردن ارتباطات بین سناریوها‬
‫‪‬‬
‫دو سناریوی مرتبط‪ :‬سناریو هایی که منجر به تغییر بر روی اجزای واحدی از معماری‬
‫باشند‬
‫‪‬‬
‫اگر سناریوهای غیر مرتبط یک مولفه را تحت تاثیر قرار دهند‪low cohesion :‬‬
‫‪‬‬
‫شاید نتوان با تغییر در ریزدانگی مولفه ها را با هم ترکیب یا از هم جدا نماییم‬
‫‪12‬‬
‫‪‬‬
‫مرحله ‪ -6‬تهیه ارزیابی کلی‬
‫‪‬‬
‫مقایسه معماری ها با اختصاص وزن به هر کدام‬
‫‪‬‬
‫ارزیابی بایست بر اساس نظر تمامی ذینفعان انجام گیرد‬
‫‪13‬‬
14
‫‪SAAM‬‬
‫‪‬‬
‫نقاط قوت ‪:SAAM‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فرآیند تولید سناریو آسان می باشد‬
‫بهبود ارزیابی نرم افزار‬
‫درگیر شدن با ذینفعان و ادراک بهتر نسبت به سیستم‬
‫به دست آوردن سناریوهای تغییر‪ ،‬هزینه و اثرگذاری هر یک‬
‫‪ ‬نقاط ضعف ‪:SAAM‬‬
‫‪ ‬معیار دقیقی به غیر از قابلیت تغییر نداریم‬
‫‪ ‬ارزیابی نیازمندیها‪ ،‬احتیاج به تجربه زیاد دارد‪+‬دانش دقیق تیم ارزیابی‬
‫‪ SAAM ‬معیار مناسبی را برای ارزیابی ویژگی های کیفی ارایه نمی کند‬
‫توصیف معماری‬
‫‪Overall‬‬
‫‪Evaluation‬‬
‫‪SAAM‬‬
‫‪Quality‬‬
‫‪Requirements‬‬
‫‪15‬‬