توضیحات
امروزه با پیچیدگی سیستم های نرم افزاری و بزرگ شدن اندازه نرم افزار، نیازمند معماری به عنوان یک ابزار مهم طراحی نرم افزارخواهیم بود. یک معماری خوب، پایه و اساس یک سیستم نرم افزاری ایده ال و مطلوب است. یک معماری نمایانگر آن است که یک سیستم تا چه اندازه پاسخگوی نیازمندی های غیروظیفه مندی سهامداران (ذینفعان) می باشد. در واقع دستیابی به مدل مطلوب آن ها اهمیت بسزایی دارد.
هدف اصلی انتخاب معماری نرم افزار مناسب برای تحقق این نیازمندی ها است. برای اين منظور ابتدا به معرفی برخی از مقدمات و اصطلاحات پايه در زمينه ی معماری نرم افزار پرداخته و برخی تعاريف مهم در اين زمينه ارائه خواهد شد از جمله روش AHP و روش TOPSIS سپس ويژگي های کيفی معماری نرم افزار بیان می شود و اهميت آن ها بررسی می گردد.
پس از معرفی معماری و آشنایی نسبتا کافی با هر یک از آن ها، و آشنایی با مدل پیشنهادی ارائه ی یک روش جدید در انتخاب معماری هموار کند بکارگیری روش AHP-TOPSIS فازی . در این راستا کوشش بر این است که رفتار هر یک از این معماری هاو نیز مدل مطلوب سهامداران در قالب نمودار یک تابع، قابلیت پیاده سازی داشته باشد تا معماری نرم افزار انتخاب گردد. از روش ترکیبی در مواردی استفاده می شود که اگر با یک روش به تنهایی کار شود وقت زیاد، محاسبات زیاد را در پی داشته باشد که در نتیجه باعث نتیجه نادرست می گردد.
روش ترکیبی Ahp-Topsis Fuzzy تقریبا در تمامی مسائل تصمیم گیری، میزان محاسبات و مقایسات زوجی را حداقل به نصف کاهش می دهد که علاوه بر اینکه باعث دقت در محاسبات و نتایج می شود راه حل قابل قبول و منطقی نیز می باشد.
امروزه روش های مختلفی برای توصیف و ارزیابی معماری ارائه شده است که هدف برخی از آنها این است که برای معمار طراح امکان مقایسه بین معماری های کاندید و انتخاب معماری مناسب از بین آنها را فراهم کند . مشکلی که در ارزیابی ویژگی های کیفی مطرح می باشد، عدم وجود یک روش سیستماتیک و رسمی جهت ارزیابی ویژگی های کیفی می باشد. بنابراین در این تحقیق ما به دنبال ارائه یک روش عددی دقیق جهت ارزیابی معماری بر مبنای ویژگی های کیفی در گامهای اولیه فرایند تولید نرم افزار و انتخاب مناسب ترین معماری بودیم.
با گذشت زمان سیستم های نرم افزاری به صورت روز افزون پیچیده تر می شوند. بزرگ تر شدن و پیچیده تر شدن روز افزون این سیستم ها باعث شده است که مسئله طراحی، ماوراء الگوریتم ها ، ساختمان داده ها ومحاسبات واقع شود. همه این موارد باعث پیچیده شدن فاز طراحی در چرخه حیات نرم افزار شده است.
پیچیدگی های سیستم های نرم افزاری در دو شکل نمایان می گردد:
۱- پیچیدگی های ذاتی نرم افزار ، که این نوع پیچیدگی ناشی از اندازه بزرگ و یا وسعت زیاد دامنه سیستم می باشد و همچنین بکار بردن سطوح مختلف فن آوری بر این پیچیدگی می افزاید. معماری نرم افزار با پنهان کردن جزییات و توصیف ساختار یک مجموعه راه حل برای فضای مساله و در نتیجه تجزیه کردن و شکستن فضای مساله به بخش های کوچک تر سیستم را قابل فهم تر می کند، بعلاوه معماری نرم افزار به تعیین مشخصه های عمومی و کلی هر بخش و یافتن راه حل برای بخش هایی که خصوصیت مشترک دارند و یکسان سازی و ساده نمودن مفاهیم می پردازد و در نتیجه امکان مدیریت سیستم را بهبود می بخشد.
۲- غیر قابل کنترل بودن عوامل تولید کننده نرم افزار ، یکی دیگر از انواع پیچیدگی سیستم های نرم افزاری می باشد. علت این پیچیدگی این است که عوامل تولید کننده نرم افزار عوامل انسانی هستند و کنترل این عوامل دشوار می باشد و می توان گفت به سمت کنترل ناپذیری میل می کند. به دلیل اینکه نیروی انسانی یکی از متغیر ترین عوامل موثر در توسعه نرم افزار است ، حتی اگر آن را درست انتخاب کرده باشید تنها این موضوع کافی نیست.همچنین پراکندگی نیروی انسانی از نظر جغرافیایی و استفاده از منابع خارجی بر این پیچیدگی می افزاید.
بنابراین در تولید سیستم های نرم افزاری عوامل انسانی نقش کلیدی را دارند و این عوامل انسانی هستند که تحت کنترل مدیریت قرار می گیرند و این مسئله باعث پیچیدگی می شود. با کمک معماری نرم افزار می توان از طریق تقسیم بهتر وظایف، کاهش وابستگی ها بین عوامل انسانی و یا اداره این وابستگی ها بر پیچیدگی غلبه نمود.
انتزاعی ترین تعریف ما از نرم افزار، معماری نرم افزار است که مولفه ها و ارتباطات آنها را توضیح می دهد. معماری نرم افزار مشخص می کند که مولفه های اصلی سیستم کدامند و چه ارتباطی بین این مولفه ها وجود دارند و این ارتباطات چگونه انجام می شود ، به بیان دیگر معماری مولفه های قابل رویت از بیرون و رابطه های آنها را نشان می دهد. معماری علاوه بر ساختار به رفتار نیز اهمیت می دهد.
ادامه ………..
narges –
عالی و کاربردی ممنون از سایت خوبتون
leila –
خواهش میکنم
آگاهی دادن به شما وظیفه وب سرویس هست
ali mansori خریدار تایید شده –
دم نویسنده این مقاله گرم واقعا کاربردی و جامع بود
حلالت باشه
leila –
ممنونم از نظرتون