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

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

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

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

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

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

   درفصل پنجم یک مطالعه کاربردی ارائه شده و روش ارائه شده در این پروژه (فصل چهارم) بر این مطالعه کاربردی اعمال شد و نتیجه آن بررسی وتحلیل شد.

  برای تولید یا توسعه نرم‌افزار در دست داشتن روشی جهت انتخاب معماری نرم‌افزارمناسب که ویژگی‌های کیفی مورد نیاز را تأمین کند و بین آنها که گاه با هم در تضاد هستند مصالحه برقرار کند، لازم و ضروری می‌باشد. برای هر نرم افزار در حال ساخت یا توسعه معماری های نرم افزار متعددی پیشنهاد می شود،که انتخاب مناسب ترین معماری نرم افزار با توجه به نیازهای کیفی سهامداران و محدودیت های زمان و هزینه به عهده معمار می باشد.

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

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

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

فهرست مطالب

چکیده    ۱
فصل اول
معرفی موضوع تحقیق
۱-۱- مقدمه   ۳
۱-۲- طرح مسئله   ۵
۱-۳- تمرکز تحقیق    ۶
۱-۴-  فعالیت های مرتبط    ۷
۱-۵- ساختار تحقیق   ۸
فصل دوم
آشنایی با ادبیات تحقیق
۲-۱- معماری   ۱۱
۲-۱-۱- معماری نرم افزار    ۱۲
۲-۱-۲-مراحل فرآیند معماری نرم افزار   ۱۵
۲-۱-۳- اهمیت معماری نرم افزار   ۱۷
۲-۲- تصمیمات معماری   ۱۸
۲-۳- ویژگیهای کیفی در معماری نرم افزار    ۲۰
۲-۳-۱ -انواع ویژگیهای کیفی در معماری نرم افزار   ۲۲
۲-۳- ۱-۱- صفات کیفیتی سیستمی   ۲۲
۲-۳-۱-۲- صفات کیفیتی تجاری   ۳۰
۲-۳-۱-۳-  صفات کیفیتی وابسته  به معماری   ۳۱
۲-۳-۲- ویژگی های کیفی معماری نرم افزار از نگاهی دیگر   ۳۲
۲-۳-۳- مدل های کیفیت    ۳۳
۲-۳ -۴-وجود مصالحه میان ویژگیهای کیفی   ۳۶
۲-۴- ارزیابی و تحلیل معماری   ۳۷
۲-۵- دلایل ارزیابی معماری نرم افزار   ۴۰
۲-۶- نتیجه گیری      ۴۳
فصل سوم
مروری بر روش¬های تصمیم¬گیری
۳-۱- فرآیند تصمیم گیری    ۴۵
۳-۲- یک معیار در مقابل چند معیار، تعداد پایان¬پذیری گزینه در مقابل تعداد بی¬پایان گزینه    ۴۸
۳-۳-  توابع تصمیم¬گیری بر مبنای چندویژگی   ۴۹
۳-۳-۱- تحلیل سود و هزینه    ۵۰
۳-۳-۲- روش های ابتدایی    ۵۱
۳-۳-۲-۱- تحلیل موافقان و مخالفان    ۵۱
۳-۳-۲-۲- روش¬های بیش¬کم و بیش¬بیش   ۵۱
۳-۳-۲-۳- روش¬های ربطی و گسسته   ۵۱
۳-۳-۲-۴- روش واژه¬نگاری   ۵۲
۳-۳-۳- روش هایMAUT    ۵۲
۳-۳-۳-۱- شیوه ساده رتبه¬بندی بر مبنای چندویژگی   ۵۲
۳-۳-۳-۲- میانگین¬های کلی   ۵۳
۳-۳-۳-۳- فرایند سلسله مراتبی تحلیلی   ۵۴
۳-۳-۴- روش های برتری داشتن   ۵۶
۳-۳-۴-۱- روشELECTERE   ¬۵۶
۳-۳-۴-۲- روشPROMETHE   ¬۵۷
۳-۳-۵- تصمیم گیری گروهی   ۵۹
۳-۴ نتیجه گیری   ۶۱
فصل چهارم
ارائه روشی جهت انتخاب معماری نرم افزار مناسب از میان معماری های کاندید بر اساس مصالحه بین
ویژگی های کیفی
۴-۱- روش پیشنهادی    ۶۶
۴-۲- مراحل روش پیشنهادی   ۶۸
۴-۲-۱- شناسایی تصمیمات طراحی و نیازهای کیفی   ۷۰
۴-۲-۲- شناسایی کاندیدهای مختلف برای هر تصمیم طراحی   ۷۰
۴-۲-۳- مقایسه نسبی کاندیدهای مختلف در تأمین هر یک از ویژگیهای کیفی برای هر تصمیم طراحی    ۷۱
۴-۲-۴- مقایسه نسبی ویژگیهای کیفی از لحاظ تأمین شدن هر یک از کاندیدها برای هر تصمیم طراحی   ۷۳
۴-۲-۵- تعدیل ماتریس QA توسط ماتریس AC برای هر تصیم طراحی   ۷۴
۴-۲-۶- الویت دهی به نیازهای کیفی    ۷۷
۴-۲-۷- اعمال اولویت نیازهای کیفی   ۷۸
۴-۲-۸- محاسبه عدم اطمینان    ۷۸
۴-۲-۹- نرمالسازی   ۷۹
۴-۲-۱۰- انتخاب کاندید مناسب   ۷۹
۴-۳- نتیجه گیری   ۸۰
۱-۳-۴- منافع و محدودیت های بدست آمده   ۸۰
فصل پنجم
مطالعه موردی
۵-۱- پروژه Glass Box    ۸۳
۵-۲-  تحلیل و بررسی مساله موردی   ۸۵
۵-۳- به کار گیری روش پیشنهادی   ۸۷
۵-۳-۱- مرحله ۱و۲    ۸۷
۵-۳-۲- مرحله ۳    ۸۸
۵-۳-۳- مرحله۴    ۸۹
۵-۳-۴- مرحله ۵: تعدیل ماتریس QA توسط ماتریس AC برای هر تصمیم طراحی   ۹۰
۵-۳-۴-۱- تعدیل ماتریس QA مربوط به تصمیم طراحی ARCH   ۹۰
۵-۳-۴-۲- تعدیل ماتریس QA مربوط به تصمیم طراحی EVNT   ۹۳
۵-۳-۴-۳- تعدیل ماتریس QA مربوط به تصمیم طراحی AUHT   ۹۴
۵-۳-۵- مرحله ۶و۷ : الویت دهی به نیازهای کیفی و اعمال اولویت بر QAO   ۹۵
۵-۳-۶- مرحله ۸: تخمین عدم اطمینان   ۹۶
۵-۳-۷- مرحله ۹: نرمالسازی   ۹۸
۵-۳-۸- مرحله ۱۰: انتخاب کاندید مناسب   ۹۸
۵-۴- نتیجه گیری   ۹۹
فصل ششم
نتیجه گیری و کارهای آینده
۶-۱ مروری بر تحقیق   ۱۰۱
۶-۲ دسته بندی روش های متداول در ارزیابی ویژگی های کیفی از لحاظ زمان ارزیابی   ۱۰۲
۶-۳ جایگاه روش ارائه شده در تحقیق   ۱۰۳
۶-۴ کارهای آینده   ۱۰۶
فهرست منابع و مراجع    ۱۰۸

فرمت فایل : word ( قابل ویرایش ) میباشد.