مقدمه
امروزه یکی از مهمترین ویژگی های هر سیستم نرم افزاری، کیفیت می باشد. با پیشرفت های انجام شده و گسترش ابزار های گوناگون برای توسعه نرم افزار، توسعه نرم افزار هایی که کارکرد های مورد نظر مشتریان را برآورده سازند، امری آسان و سریع گشته است. در حال حاضر، تفاوت بین دو نرم افزار را توانایی نرم افزار ها در برآورده ساختن ویژگی های کیفی مورد انتظار تعیین می کند.
معماری نرم افزارِ یک برنامه یا سیستم کامپیوتری، ساختار یا ساختارهایی از سیستم می باشد، که در برگیرنده اجزاء، صفات قابل مشاهده آن اجزا و ارتباط بین آنها باشد [Bass 03]. معماری نرم افزار شامل اولین تصمیمات طراحی سیستم می باشد و این تصمیمات زیربنای فعالیت های طراحی، پیاده سازی، استقرار و نگهداری سیستم می باشد. همچنین معماری نرم افزار، اولین عنصر قابل ارزیابی در فرایند توسعه نرم افزار می باشد [Bass 03]. بنابراین برای طراحی سیستمی که نیاز های کیفی مورد نظر را برآورده سازد، تولید معماری نرم افزار اولین گام در دستیابی به کیفیت در نرم افزار و همچنین ارزیابی ویژگی های کیفی است.
در مدلهای فرایند توسعه نرم افزار مبتنی بر معماری معمولاً ابتدا نیازهای کیفی سیستم تعیین شده و سپس معماری نرم افزار مربوطه طراحی میگردد. پس از طراحی معماری، میتوان به ارزیابی آن پرداخت و تغییرات لازم را در طراحی مورد نظر ایجاد داد. بنابراین دو بخش اساسی در مدلهای فرایند توسعه نرم افزار مبتنی بر معماری، بخشهای طراحی و ارزیابی معماری نرم افزار میباشند. این دو بخش در ارتباط مستقیم با یکدیگر میباشند و هر یک مکمل دیگری میباشد. بنابراین فرایند طراحی معماری را میتوان شامل ساخت معماری نرم افزار، ارزیابی آن و اصلاح معماری پیشنهادی دانست.
در این گزارش، هدف بررسی روشهای موجود در طراحی معماری نرم افزار بر اساس ویژگیهای کیفی مورد نظر مشتریان و بررسی نحوه خودکار سازی فرایند طراحی معماری با ارائه ابزارهایی برای این منظور میباشد. ادامه مطالب گزارش به این صورت طبقه بندی شده اند. در بخش 2 توضیح مختصری در ارتباط با معماری نرم افزار و مفاهیم مرتبط با آن ارائه میشود. این مفاهیم در ادامه مطالب گزارش به کار گرفته خواهند شد. در بخش 3 طراحی معماری نرم افزار، ویژگیهای یک طراحی خوب و عوامل تاثیرگذار در طراحی معماری مورد بررسی قرار خواهند گرفت. در بخش 4 روشهای طراحی معماری نرم افزار مورد بررسی قرار خواهند گرفت. در بخش 5 خلاصه و نتیجه گیری ارائه خواهد شد. در بخش 6 مراجع مورد استفاده در این گزارش معرفی می گردد.
تصادفی