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