دسته : سمینار کامپیوتر
فرمت فایل : word
حجم فایل : 2208 KB
تعداد صفحات : 250
بازدیدها : 452
برچسبها : معماری نرم افزار
مبلغ : 9000 تومان
خرید این فایلپایان نامه روشهای ارزیابی معماری نرم افزار
چکیده
این نوشتار، گزارش سمینار کارشناسی ارشدی است که به بررسی روشهای ارزیابی معماری نرم افزار اختصاص دارد. برای رسیدن به این منظور توضیحاتی در معرفی معماری نرم افزار، اهمیت ارزیابی معماری نرم افزار، معماری قابل اجرا و ابزار مدلسازی معماری به عنوان پیش نیاز در این چکیده آورده شده است .
معماری نرم افزار یعنی بیان ساختار یا ساختارهای سیستم که مولفه های نرم افزاری، ویژگیهای قابل رویت از خارج این مولفه ها و روابط بین آنها را نشان می دهد. تعریف دیگری که برای معماری نرم افزار ارائه شده، عبارت است از ساختار مولفه ها در یک سیستم، رابطه داخلی آنها و اصول و خطوط راهنمایی که طراحی و ارزیابی سیستم را در طی زمان کنترل می کند. این تعریف جنبه های داخلی سیستم را در نظر می گیرد و بنابراین اکثر روشهای تحلیل و ارزیابی بر اساس آن عمل می کنند. تعریف معماری نرم افزار باید شامل دو قسمت ماکرو معماری و میکرو معماری باشد که اولی روی محیِط سیستم متمرکز می شود و دومی ساختار داخلی یک سیستم را پوشش می دهد. البته تعاریف مختلفی برای معماری نرم افزار وجود دارد که ما در اینجا قصد ارائه همه آنها را نداریم و به دو تعریف فوق اکتفا می کنیم.
تجربه های به دست آمده از سایر رشته های فنی و مهندسی نشان داده است که عواملی مانند ابعاد بزرگ، پیچیدگی زیاد، قابلیت گسترش و ایجاد تغییرات در طی زمان، طول عمر زیاد و نیازمندیهای خاص از مهمترین عوامل تصمیم گیری در رابطه با لزوم هر نوع معماری می باشد. به عبارت دیگر تجربه نشان داده است که هر گاه نیاز به طراحی موجودیتی (ساختمان، مدار، سیستم و...) با ابعداد و پیچیدگیهای زیاد یا نیازمندیهای خاص باشد، نگرش خاص و همه جانبه ای مورد نیاز است که در اصطلاح به آن معماری گفته می شود.
معماری نرم افزار یک سیستم را می توان دید مشترک همۀ صاحبان سهام و توسعه دهندگان دخیل در یک سیستم نرم افزاری دانست که همگی روی آن اتفاق نظر دارند یا حداقل آنرا پذیرفته اند.
معماری نرم افزار یک سیستم، اطلاعات زیر را در مورد آن سیستم ارائه می دهد:
* سازماندهی سیستم نرم افزاری
* عناصر ساختاری و واسطهای آنها
* ترکیب عناصر ساختاری و رفتاری درون زیر سیستمها
صفات کیفیتی قابل مشاهده در زمان اجرا: این صفات نشان می دهند که در طول مدت اجرا، یک سیستم چقدر خوب می تواند نیازمندیهای رفتاری خودش را تامین کند. یعنی به لحاظ رفتاری معین می کند که آیا سیستم نتایج را برآورده می کند و آیا این نتایج را در زمان درست برآورده می سازد یا خیر؟
در واقع این صفات کیفیتی مربوط به ویژگیهای قابل مشاهده در حین اجرا هستند. یعنی نرم افزار را باید اجرا کرد تا مشخص شود که در اثر اجرای آن چنین ویژگیهایی فراهم می شوند یا خیر؟
صفات کیفتی قابل مشاهده در زمان اجرا 5 مورد می باشند:
* کارایی (Performance)
* امنیت (Security)
* در دسترس بودن (Availability)
* قابلیت عملکرد یا وظیفه مندی (Functionality)
* قابلیت کاربرد و استفاده (Usability)
صفات کیفیتی غیر قابل مشاهده در زمان اجرا : این صفات به گونه ای هستند که با اجرای آن نمی توان تشخیص داد که به آن دست یافته ایم یا خیر و به عبارت دیگر نمی توان آن را در زمان اجرا دید و باید بعداً ارزیابی شود. این دسته از صفات نشان می دهند که جمع آوری سیستم و آزمایش و طراحی سیستم با چه میزان سهولت و راحتی انجام می شود.
١ مفاهیم بنیادی
١-١ معماری
١-٢ معماری نرم افزار
١-٣ تصمیمات معماری
١-٤ ویژگیهای کیفیتی معماری نرم افزار
١-٤-١ کارایی
١-٤-٢ امنیت
١-٤-٣ در دسترس بودن
١-٤-٤ قابلیت عملکرد یا وظیفه مندی
١-٤-٥ قابلیت استفاده
١-٤-٦ قابلیت اصلاح پذیری
١-٤-٧ قابلیت حمل
١-٤-٨ قابلیت استفاده مجدد
١-٤-٩ قابلیت تجمیع پذیری
١-٤-١٠ قابلیت آزمایش
١-٥ ارزیابی و تحلیل معماری
١-٥- ١ تکنیکهای پرسشی
١-٥-٢ تکنیکهای اندازه گیری
٢ روشهای ارزیابی معماری نرم افزار مبتنی بر سناریو
٢-١ روش تحلیل معماری نرم افزار (SAAM )
٢-١-١ ورودیها و پیش شرطهای SAAM
٢-١-٢ مراحل نشست ارزیابی SAAM
٢-١-٣ نقشهای موجود در روش SAAM
٢-١-٤ محاسن و معایب روش SAAM
٢-١-٥ روش ارزیابی SAAM بنا شده برروی سناریوهای پیچیده (SAAMCS) ٢٦
٢-١-٦ روش توسعه SAAM بوسیله یکپارچگی در دامنه (ESAAMI)
٢-١-٧ روش SAAM برای سیر تکاملی و استفاده مجدد (SAAMER)
٢-٢ روش تحلیل معماری از طریق مصالحه (ATAM )
٢-٢-١ ورودیها و پیش شرطهای ATAM
٢-٢-٢ مراحل نشست ارزیابی ATAM
٢-٢-٣ نقشهای موجود در ATAM
٢-٢-٤ محاسن روش ATAM
٢-٣ روش تحلیل هزینه - سود (CBAM )
٢-٣-١ ورودیها و پیش شرطهای CBAM
٢-٣-٢ مراحل نشست ارزیابی CBAM
٢-٣-٣ نقشهای CBAM
٢-٣-٤ محاسن روش CBAM
٢-٤ روش تحلیل قابلیت اصلاح در سطح معماری ( ALMA)
٢-٤-١ ورودیها وپیش شرطهای ALMA
٢-٤-٢ مراحل نشست ارزیابی ALMA
٢-٤-٣ نقشهای موجود در روش ALMA
٢-٤-٤ محاسن و معایب ALMA
٢-٥ روش تحلیل خانواده معماری (FAAM )
٢-٥-١ ورودی ها و پیش شرطهای FAAM
٢-٥-٢ مراحل نشست ارزیابی FAAM
٢-٥-٣ نقشهای FAAM
٢-٦ روش ارزیابی بازنگری فعالانه برای طراحی میانی (ARID)
٢-٦-١ مراحل نشست ارزیابی ARID
٢-٦-٢ نقشهای ARID
٢-٦-٣ محاسن و معایب ARID
٣ روشهای ارزیابی معماری نرم افزار مبتنی بر شبکۀ پتری رنگی
٣-١ اساس تئوری گراف و شبکه پتری
٣-١-١ تئوری گراف
٣-١-٢ تعریف شبکه پتری
٣-١-٣ تعریف رسمی شبکه پتری
٣-١-٤ توصیف شبکۀ پتری
٣-١-٥ شبکه های پتری رنگی
٣-٢ مدل معماری بر اساس شبکه پتری رنگی
٣-٣ صفات کیفیتی غیر وظیفه مندی و CPN ها
٣-٤ مشخص کردن صفات کیفی روی CPN ها
٣-٤-١ مدل شبکۀ پتری قابلیت اطمنیان
٣-٤-٢ مدل شبکۀ پتری امنیت در شبکه
٣-٤-٣ مدل شبکۀ پتری امنیت روی حافظه ها و فایل ها :
٣-٤-٤ مدل شبکۀ پتری راندمان زمانی
٣-٤-٥ مدل شبکۀ پتری بهره وری منابع
٣-٥ ارزیابی صفات کیفیتی مبتنی بر CPN
٤ روش ارزیابی معماری نرم افزار SAM
٤-١ مفاهیم اولیۀ SAM
٤-١-١ شبکه های پتری زمان
٤-١-٢ منطق درخت محاسباتی بی - درنگ
٤-٢ خصوصیات SAM
٤-٣ مدل کردن رفتار معماریهای نرم افزار
٤-٤ پایه های SAM
٤-٥ مشخص کردن معماری نرم افزار یک سیستم C
٤-٥-١ نیازمندیهای سیستم C
٤-٥-٢ رسمی کردن نیازمندیهای C
٤-٥-٣ تعریف کردن مشخصات مولفه و متصل کننده
٤-٥-٤ ساختن مدلهال رفتاری مولفه و متصل کننده
٤-٥-٥ پشتیبانی از طراحی افزایشی سیستم C
٤-٦ تایید کردن سیستم C
٤-٦-١ تایید قیدهای ماژول (مولفه . متصل کننده )
٤-٦-٢ تایید کردن قیدهای محیطی
٤-٦-٣ تایید کردن قیدهای ترکیبی
٤-٦-٤ تخطی از قیدها
٤-٧ نتیجه گیری
٥ نتیجه گیری
کار آینده
فهرست منابع و مراجع