مقدمه
معماری نرم افزار چیست؟
تعاریف پایه در معماری نرم افزار
الگوهای معماری یا سبک های معماری
مدل مراجع
معماری مرجع
دیدگاه های معماری
دیدگاه Bass
دیدگاه 4+1
دیدگاههای دیگر
طراحی معماری نرم افزار
کارکردهای سیستم و معماری نرمافزار
ویژگیهای کیفی
ویژگیهای کیفی سیستم
سناریوهای ویژگیکیفی
ویژگیهای کیفی کسب و کار
ویژگیهای کیفی معماری
یک طراحی معماری خوب باید دارای چه ویژگیهایی باشد؟
دستیابی به ویژگیهای کیفی
تاکتیک های معماری
الگوهای معماری
ارتباط تاکتیک ها و الگوهای معماری
روش های طراحی معماری نرم افزار
طراحی مبتنی بر ویژگی
طراحی به کمک سبک های معماری مبتنی بر ویژگی
طراحی با ملاحظات اقتصادی با استفاده از روش آنالیز سود هزینه
ویژگی کیفی قابلیت تغییر
تعریف قابلیت تغییر
مشخص نمودن نیازهای قابلیت تغییر با استفاده از سناریوهای کیفی
مدل سازی قابلیت تغییر در سطح معماری نرم افزار
تاکتیکهای قابلیت تغییر
تاکتیکهایی که تغییرات را محلی میکنند.
تاکتیکهایی که میدان دید وظایف را کاهش می دهند.
تاکتیکهایی که از پخش شدن تغییرات جلوگیری میکنند.
ارزیابی قابلیت تغییر
ارزیابی نحوه اختصاص وظایف
ارزیابی وابستگی بین ماژولها
انواع وابستگی
نحوه بازنمایی وابستگیها
روش Brute-force
استفاده از بستار انتقالی
استفاده از روشهای بهینه سازی
استفاده از جدول وابستگیها
تصمیم گیری نهایی در مورد طراحی ویژگی کیفی قابلیت تغییر
مطالعه موردی
مرحله1- انتخاب یک سناریو حقیقی
مرحله2- بررسی نوع سناریو حقیقی
مرحله3- انتخاب چهارچوب استدلال مناسب
مرحله4- مشخص نمودن پارامترهای محدود و آزاد
مرحله5- مشخص کردن تاکتیکهای وابسته به پارامترهای آزاد
مرحله6- اختصاص مقادیر اولیه به پارامترهای آزاد
مرحله7- انتخاب تاکتیکها و به کاربردن آنها برای دستیابی به پاسخ مناسب
استفاده از کامپایلر به عنوان واسط
استفاده از سیستمعامل به عنوان واسط
مرحله8- اختصاص مسئولیتها به عناصر معماری
خلاصه و نتیجه گیری
مراجع