چکیده
معماری نتیجه مجموعه ای از تصمیمات فنی و حرفه می باشد.معماری نرم افزار با ایجاد تجریـدهای سـطح بـالا بـا پیچیدگی و گستردگی سیستمهای نرم افزاری بـزرگ مقابلـه مـی کنـد. اغلـب سیـستمهای نـرم افـزاری دارای سازماندهی معماری مشابهی می باشند . سبکهای معمـاری روشـی بـرای اسـتفاده از تـشابهات بـین معمـاری هـای گوناگون می باشد.در این قسمت مروری کوتاه بر سبک و معماری نرم افزار در فرایندهای طراحی نرم افـزار خـواهیم داشت .
۱-۱ روشهای استفاده ا ز تجریدهای سطح بالا
روشهای مختلفی برای استفاده از تجریدهای سطح بالا وجود دارد , اما به منظور ایجاد سیستمهای بزرگ و پیچیده , ترکیب سیستماتیک این روشها تحت یک دیسیپلین کامل ضروری است . سه روش عمده برای طراحی سیـستمهای نرم افزاری بزرگ وجود دارد:
۱. مهندسی نرم افزار مبتنی بر مولفه با استفاده از مولفه های از قبل تست شده و از قبل بسته بندی شـده قابلیت استفاده مجدد را افزایش می دهد . میان افـزار یـک واسـط اسـتاندارد بـرای سیـستمهای عامـلناهمگن و سرویسهای شبکه ارائه می دهد .
Middleware .۲ که یک واسط استاندارد برای سیستمهای عامل ناهمگن و سرویـسهای شـبکه ارائـه مـی دهد .
۳. معماری نرم افزار که سازمان درشت ساختار سیستم و رفتار آن را تشریح می کنـد . معمـاری نـرم افـزار پشتیبانی تحلیلی بهتری برای تعیین ویژگیهای بزرگ سیستم نـسبت بـه دو روش اول ارائـه مـی دهـد و اغلب با استفاده از پلتفرمهای middleware و مولفه های off-the-shelf پیاده سازی می شود.
اگر از جنبه فرایند طراحی به مساله توجه شود , این موضوع بوضوح قابل تشخیص می باشد که برای طراحی مولفه های نرم افزاری و تعاملات آنها و نیز سازماندهی صحیح سیستمهای توزیع شده , به معمـاری نـرم افـزار نیـاز است .
۲-۱ سبک در طراحی معماری نرم افزار
سبک در طراحی معماری به منظور تضمین خصوصیات مطلوب وابسته به سبک معماری های مبتنی بـر آن سـبک مورد استفاده قرار می گیرد. با وجود اینکه تکنیکهای سیستماتیک برای تشریح و انتخـاب سـبک وجـود دارد , ولـی برروی طراحی سیستماتیک و ایجاد معماری های مبتنی بر سبک کار زیادی انجام نگرفته است .لذا نیازمندی به یک متدولوژی برای طراحی معماری نرم افزار با استفاده از سبکهای معماری نرم افزار کـاملا احـساس مـی شـود. ایـن متدولوژی تحت یک چارچوب باید شامل تکنیکهای گوناگونی باشد تا با درنظرگرفتن قواعد و محدودیتهای سبک ها , این طراحی را انجام دهد. داده ها , ساختار , توپولوژی ها , تعاملات و رفتار سـبکها در ایـن تکنیکهـا بایـد در نظـر گرفته شود. نکته مهم در این طراحی چگونگی تطابق سبکهای انتخاب شده برای تشکیل معماری می باشد تا ویژگی های وابسته به سبک در معماری حاصل حفظ شود .
ساختار این گزارش
این گزارش در قالب ۵ فصل ارائه خواهد شد که در این قسمت هر فصل به صورت کلی معرفی می شود :
فصل اول : مقدمه (همین فصل) در این فصل کلیات موضوع مورد بحث قرار می گیرد تا خواننـده جهـت گیری کلی موضوع را درک نماید و با فضایی که مساله در آن مطرح خواهد شد آشنا شود .
فصل دوم : مفاهیم معماری نرم افزار هدف از تدوین این فصل مروری بر مفاهیم بنیـادی و مـرتبط بـا موضوع در حوزه معماری نرم افزار می باشد .
فصل سوم : توسعه مبتنی بر مولفه این فصل دو موضوع را پوشش مـی دهـد. ابتـدا مفهمـوم مولفـه و تعاریف مختلف ارائه شده برای مولفه و توسعه مبتنی بر مولفه مطرح شده است . در قـسمت دوم معمـاری نرم افزار مبتنی بر مولفه تشریح و جایگاه مولفه در سبکهای معماری نرم افزار مورد بحث قرار می گیرد.
فصل چهار : سبکها و الگوهای معماری نرم افزار تشریح مفاهیم سبک و الگو در حوزه معماری , ارائـه تقسیم بندی های مختلف ارائه شده برای سبکها و بررسی ساختار و رفتار برخی از سبکهای مهم از اهداف این فصل می باشد
فصل پنجم : معماری نرم افزار مبتنی بر سبک این فصل شامل بحث اصلی سمینار خواهد بود. بررسی حوزه مساله , جهت گیری ها , مسائل مطرح در آن , ماهیت موضوع , نیازها و ضروریات از مـواردی اسـت که در قالب این فصل ارائه خواهد شد.
فصل ششم : نتیجه گیری و طرح مساله خلاصه ای از گزارش در این فصل ارائه مـی شـود . همچنـین موضوعات و مسائلی که باید حل شود مطرح خواهد شد.
نویسنده : ابراهیم خلیل عباسی
منبع :دبیرخانه شورای عالی اطلاع رسانی کمیته فنی معماری اطلاعات