معماری نرم افزار مجموعه ای از ساختارهای مورد نیاز برای استدلال در مورد یک سیستم نرم افزاری و نظم ایجاد چنین ساختارها و سیستم هایی است. هر ساختار شامل عناصر نرم افزار، روابط بین آنها و ویژگی های هر دو است
یک توسعهدهنده متخصص که راهحلهای نرمافزاری را از پایه طراحی میکند، تصمیمهای سطح بالایی در مورد هر مرحله از فرآیند از جمله استانداردهای فنی، ابزارها، اصول طراحی، پلتفرمهای مورد استفاده و غیره اتخاذ میکند و تیمی از مهندسان را برای ایجاد محصول نهایی هدایت میکند. .
سطوح معماری
معماری را می توان در چندین “سطح” انتزاع انجام داد. سطح بر اهمیت مهارت های لازم تأثیر می گذارد. از آنجایی که دسته بندی های زیادی وجود دارد، تقسیم بندی مورد علاقه من شامل این 3 سطح است:
سطح کاربرد: پایین ترین سطح معماری. روی یک برنامه واحد تمرکز کنید. طراحی بسیار دقیق و سطح پایین. ارتباطات معمولاً در یک تیم توسعه است.
سطح راه حل: سطح میانی معماری. تمرکز بر یک یا چند برنامه کاربردی که نیازهای تجاری را برآورده می کنند (راه حل تجاری). برخی از طراحی های بالا، اما عمدتا سطح پایین. ارتباط بین چندین تیم توسعه است.
سطح سازمانی: بالاترین سطح معماری. روی راه حل های متعدد تمرکز کنید. طراحی انتزاعی سطح بالا، که باید توسط معماران راه حل یا برنامه به تفصیل بیان شود. ارتباط در سراسر سازمان است.
