در این قسمت از وبسایت پرووید، یک دوره آموزشی متنی رایگان دیگر را به تمامی علاقه مندان به توسعه و برنامه نویسی تقدیم میکنیم. این دوره آموزشی در رابطه با معماری نرم افزار و یا همان software architecture و طراحی نرم افزار و یا همان software design می باشند که دو مقوله بسیار بسیار مهم و اساسی می باشند.
معماری نرم افزار چیست؟
منظور از معماری نرم افزار و یا Software Architecture سازماندهی کردن سازه های مختلف نرم افزاری بر اساس اصول و قواعدی است که به رشد و طول عمر یک سیستم نرمافزاری کمک کند. هر سازه نرمافزاری از عناصر مختلفی تشکیل شده است که اغلب با یکدیگر رابطه دارند و در روند این ارتباط رسالت کامل یک سیستم نرمافزاری رقم می خورد. منظور از معماری نرم افزار همان معماری ای هست که برای ساختن یک ساختمان نیز به آن نیاز داریم. به عبارت دیگر، معماری نرم افزار شبیه به یک نقشه عمل میکند که متخصصین نرمافزار برای پیاده سازی کردن نیازمندی های مربوط به پروژه از آن استفاده کرده و نرمافزار را بر اساس آن پیاده سازی می کنند. انتخاب های مربوط به تکنولوژی های مختلف نرم افزاری و نحوه پیاده سازی کردن آنها با حداقل هزینه بخشی از اتفاقی است که در روند معماری نرمافزار رخ می دهد. استفاده کردن از سیستم های مختلف به منظور پیادهسازی کردن هرچه بهتر نیازمندیها جزء وظایفی است که می بایست در روند معماری نرم افزار پیاده سازی بشود.
منظور از معماری نرم افزار؛ اغلب بررسی ساختار کلان تر و اساسی تر یک سیستم نرمافزاری و کار کردن با فرآیندهایی می باشد که با همکاری یکدیگر، وظایف یک نرم افزار را انجام می دهند. و منظور از طراحی نرم افزار و یا همان software design بررسی ساختارهای کوچکتر و ریزتر و همچنین بررسی طراحی داخلی یک فرآیند نرم افزاری تک می باشد. در همین قسمت توصیه میکنیم که برای درک هرچه بهتر معماری نرم افزار از آموزش معماری تمیز Clean Architecture در ASP.NET Core 3 و آموزش معماری نرم افزار در Entity Framework Core استفاده کنید.
در پایان این دوره آموزشی، خواهید توانست که یک درک بسیار مناسب از مفاهیم معماری نرم افزار و طراحی آن به دست بیاورید تا بتوانید برای هر پروژه نرم افزاری مطرح شده، بهترین راهکار و روش را در نظر بگیرید و از آن استفاده کنید.
مخاطبین این دوره آموزشی
این دوره آموزشی برای تمامی متخصصین نرمافزار، معمارها و طراحان ارشد سیستمهای نرمافزاری تنظیم شده است. مدیران سیستم های نرم افزاری و تیمهای معماری نرم افزار نیز می توانند از مطالب مطرح شده در این آموزش نهایت استفاده را ببرند.
پیش نیازها
برای این دوره آموزشی، بر روی وب سایت پرووید، هیچ پیش نیاز خاصی در نظر نگرفتیم. به عبارت دیگر؛ برای درک هرچه بهتر مطالب این مجموعه آموزشی نیازی ندارید که در حوزه نرم افزار تجربه قبلی داشته باشید. طبیعتاً برای بهتر استفاده کردن از مطالب مطرح شده، می بایست که دید توسعه نرم افزار و برنامه نویسی مناسبی را داشته باشید و بدانید که نرم افزارهای باکیفیت چگونه طراحی می شوند. در پایان این قسمت از شما دعوت میکنیم که از آموزش معماری مدرن نرم افزارها CQRS و Domain Model و Event Sourcing از وب سایت پرووید نیز دیدن کنید.
2 Comments