مهمترین اصول معماری صحیح نرم افزار

مهمترین اصول معماری صحیح نرم افزار

در این قسمت از این سری آموزشی که از وب سایت پرووید به صورت رایگان در اختیار شما قرار می گیرد، در رابطه با مهمترین اصول طراحی معماری موفق محصولات نرم افزاری صحبت خواهیم کرد. مواردی که در قسمت زیر بررسی خواهند شد، جزء مهمترین اصولی هستند که در پیاده سازی یک طراحی موفق باید به آنها دقت کرد.

ساختن برای تغییر کردن به جای ساختن برای باقی ماندن

همه ما می‌دانیم که سیستم‌های نرم‌افزاری در طول عمر خود دچار تغییراتی در نیازمندی‌ها و البته بروز چالش‌های جدید می شوند. به همین دلیل؛ می بایست سیستم های نرم افزاری از انعطاف پذیری بالایی برخوردار باشند تا بتوانند به این تغییر در نیازمندی ها به خوبی پاسخ بدهند.

کاهش ریسک ها و مدلسازی برای تجزیه و تحلیل

با استفاده از ابزارهای طراحی و سیستم های مدلسازی از قبیل UML می‌توانیم تصمیمات طراحی و نیازمندی ها را هرچه بهتر درک کنید. در رابطه با این موضوع می توانید از بسته ی آموزش ویدئویی UML استفاده کنید. تاثیرِ تصمیم گیری ها می توانند با استفاده از این ابزار ها، اندازه گیری و تجزیه و تحلیل بشود. نکته مهم در استفاده کردن از این ابزار ها این است که می‌بایست نگاه کاملاً کاربردی داشته باشید. به عبارت دیگر؛ همواره به این نکته فکر کنید که هدف این ابزارها کاهش دادن پیچیدگی است و نه اینکه خود آنها به عنوان یک پیچیدگی به سیستم اضافه گردند.

استفاده کردن از مدل ها و ابزارهای بصری به عنوان روشی برای ارتباط و همکاری

یکی از موضوعات مهم در ایجاد یک معماری خوب، ارتباط و انتقال موثر طراحی، تصمیمات و تغییراتی است که مرتباً بر روی نیازمندی ها رخ می دهند. با استفاده از مدل ها و view ها و دیگر ابزارهای بصری، می توان معماری را و طراحی آن را به ذینفعان پروژه منتقل کرد. این موضوع باعث می شود که ارتباط موثر و پایداری بین تیم توسعه نرم افزار و ذینفعان پروژه اتفاق بیافتد.

می بایست که تصمیمات کلیدی مهندسی نرم افزار را شناخته و آنها را تشخیص بدهیم. علاوه بر این؛ تصمیماتی که احتمال اشتباه و خطا در آنها هستند را مشخص کنیم. در ابتدای کار همواره تمرکز باید بر این باشد که تصمیمات طراحی و معماری، صحیح اتخاذ و پیاده سازی گردند. این موضوع باعث می شود که طراحی پیاده سازی شده از انعطاف پذیری بالاتری برخوردار باشد و تغییرات باعث شکستن برنامه نشود.

استفاده از روش‌های تکراری (iterative) و افزایشی (incremental)

در آموزش متنی فرآیندهای توسعه نرم افزار (SDLC) در رابطه با روش های iterative و incremental صحبت کردیم. با استفاده از این روش ها در ابتدا یک شالوده اصلی و کلی را برای معماری در نظر گرفته و سپس، به مرور با استفاده از تکنیک های مختلفی، این معماری بهبود و تکامل خواهد یافت. در این روند، تست کردن طراحی و معماری نرم افزار بسیار ضروری و مهم می باشد. اگر به صورت تکراری و افزایشی جزئیات مورد نظر، در فازهای متعدد، به طراحی مورد نظر اضافه گردند، تصویر نهایی جذاب تر و البته از انعطاف پذیری بالاتری برخوردار خواهد بود.

علاوه بر این اصول که در رابطه با مهم ترین قضایای مربوط به معماری نرم افزار صحبت می کنند، مهم ترین اصول طراحی نرم افزارهای موفق را نیز باید در نظر گرفت. این موضوع را در قسمت بعدی از همین آموزش بررسی خواهیم کرد.



پرووید: مرکز آموزش تخصصی برنامه نویسی و توسعه نرم افزار