|
معماری نرم افزار
معماری نرم افزار همیشه درگیر مفهوم
معماری بودم هرچه می خواندم نهایتا به تکنولوژی و پلت فرمهای توسعه و راه حل های
تکنیکی بر می گشت ،این روزها درگیر خواندن کتابی هستم با عنوان تعریف معماری در واقع ساختار
سیستم های نرم افزاری بزرگ است.دید معماری یک سسیستم یک دید انتزاعی بدور از جزئیات پیاده سازی و آلگوریتمها،
ساختار دادهها و دیدی از روابط بین اجزا سیستم به صورت Black Box
است. معماری اولین گام برای
طراحی یک سیستم نرم افزاری با خصوصیات مطلوب از پیش تعریف شده است.می توان گفت: معماری نرم
افزاری یک برنامه ساختار یا ساختارهای سیستم است که اجزائ نرم افزار همراه با خصوصیات خارجی و قابل مشاهده و روابط بین این
اجزا را در بر می گیرد. معماری از کجا می آید؟ معماری حاصل مجموعه ای
از تصمیمات کسب و کار(Business) و تصمیمات فنی (Technical)
است. در عمل عوامل تاثیر گذار زیادی هنگام کار طراحی یک معماری وجود دارند، این
عوامل متاثر از محیطی هستند که معماری باید درآن و برای آن پیاده شود.برای مثال
مجموعه تصمیمات طراحی یک معمار برای یک نرم فزار بلادرنگ(Real-Time)
که Deadline های آن بسیار سخت گیرانه هستند متفاوت
از مجموعه تصمیمات معماری برای همان سیستم خواهد بود زمانی که آن سخت گیری برای Deadline
های آن وجود ندارد یا
اینکه معماری ایجادشده در حال حاضر برای سیستمی با مجموعه نیازمندی های خاص،سخت
افزارهای خاص،و تیم پشتیبانی مشخص و منابع نیروی انسانی مشخص متفاوت از معماری
طراحی شده برای همین سیستم در 5 سال پیش خواهد بود. از مهم ترین پارامترهای تاثیر گذار بر معماری می توان به عوامل زیر اشاره کرد: معماری متاثر از Stakeholder های سیستم است معماری متاثر از
سازمان توسعه دهنده (DEVELOPING
ORGANIZATION)
است معماری متاثر از محیط
های فنی (Technical Environment) است پر واضح است که خود معمار و تجربیات او یا حتی آخرین
کتابی که در باره معماری خوانده است به شدت برروی معماری سیستم تاثیر گذار است.گاها
پروژهها محلی برای به چاالش کشیدن آموخته های جدید معمار و کسب تجربه است (در این
جور مواقع باید خدا به داد پروژه و صاحب آن برسد که نقش آن موجود آزمایشگاهی
بیچاره را بازی میکنند) |+| نوشته شده توسط پویا در یکشنبه پانزدهم اردیبهشت 1387 و ساعت 11:33 |
