طراحی سیستم System Design

[rank_math_breadcrumb]
توضیحات کوتاه

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

در طی این دوره با ابزارها و الگوهای معماری آشنا میشویم و سناریوهای دنیای واقعی را میشونیم.

همچنین یادمیگیریم که چطور باید تصمیمات طراحی را مستند کرده و همچنین بررسی بر روی این مستندات را انجام دهیم.

ثبت نام و برنامه کلاسی

استاد پرهام درویشی | سماتک

پرهام درویشی

از 1,300,000 تومان

تومان

سرفصل‌های دوره طراحی سیستم design system

  • مبانی و مقدمه و آشنایی با مفاهیم معماری و اصول توسعه نرم افزار
  • اصول مقیاس پذیری و تعادل بار
  • انواع معماری ها
  • مدیریت داده
  • ارتباط بین سرویس ها
  • پایداری سرویس ها/سیستم
  • بهینه سازی عملکرد
  • مانیتورینگ

پیرامون چالش های دنیای واقعی شبیه به افزایش درخواست ها و نحوه پاسخگوئی ما با نگاه System Design:

  • مقیاس‌پذیری (Scalability): چگونه می‌توان سیستمی طراحی کرد که با افزایش کاربران یا داده‌ها بدون افت عملکرد رشد کند؟ (افقی در برابر عمودی)
  • دسترس‌پذیری بالا (High Availability): چگونه سیستم را طوری طراحی کنیم که حتی در صورت بروز خطا، سرویس‌دهی قطع نشود؟
  • توزیع‌شدگی سیستم‌ها (Distributed Systems): چگونه بین چندین سرور یا دیتاسنتر سیستم را تقسیم کنیم، بدون از دست رفتن هماهنگی یا سازگاری داده‌ها؟
  • طراحی دیتابیس برای مقیاس‌پذیری: چه زمانی باید از SQL استفاده کنیم و چه زمانی از NoSQL؟ Sharding و Replication را چطور پیاده کنیم؟
  • مدیریت بار ترافیکی بالا (Load Balancing):  چگونه ترافیک کاربران را بین چند سرور به‌درستی توزیع کنیم تا هیچ سروری بیش از حد بار نگیرد؟
  • طراحی برای Fault Tolerance: چگونه سیستم را طوری طراحی کنیم که در صورت خرابی بخشی از سیستم، بقیه بخش‌ها به کار ادامه دهند؟
  • سازگاری داده‌ها (Data Consistency): در یک سیستم توزیع‌شده، چگونه تضمین کنیم که داده‌ها بین نودها سازگار بمانند؟ (CAP Theorem)

  • طراحی API های قابل نگهداری و توسعه: چگونه API هایی طراحی کنیم که با رشد سیستم، همچنان ساده، امن و قابل توسعه باقی بمانند؟

  • تأخیر و کارایی (Latency vs Throughput): چگونه تصمیماتی بگیریم که بین پاسخ‌گویی سریع و پردازش حجم زیاد، تعادل ایجاد کنیم؟
  • سیستم‌های صف و پردازش آسنکرون (Asynchronous Processing): چه زمانی استفاده از Message Queue مثل Kafka یا RabbitMQ ضروری است؟ چگونه سیستم را Event-Driven طراحی کنیم؟
  • نحوه عیب یابی: بررسی راهکارها مناسب لاگ زدن.

 

مخاطب این دوره:

  • توسعه‌دهندگان نرم‌افزار (Frontend / Backend / Full-stack).
  • مهندسان DevOps یا Cloud.
  • دانشجویان علاقه‌مند به ورود به دنیای مهندسی نرم‌افزار سطح بالا.
  • افرادی که می‌خواهند برای مصاحبه‌های فنی شرکت‌های بزرگ آماده شوند.
  • مدیران محصول که می خواهند دید فنی به دست آورند.
  • مالکان محصول که می خواهند دید فنی به دست آورند.

محل برگزاری

دوره‌های مرتبط

دوره آنلاین SOA and Microservice Design Patterns and Domain-Driven Design
دوره آنلاین SOA and Microservice Design Patterns and Domain-Driven Design

دوره SOA and Microservice Design Patterns and Domain-Driven Design

This course provides an easy to understand, end-to-end overview of contemporary service concepts and technologies pertaining to modern-day microservices and service-oriented computing, as well as business and technology-related topics pertaining to service-oriented architecture (SOA). Providing an in-depth exploration of the overarching models and underlying mechanics of service-oriented technology architecture also will be covered. A wide range of topic areas is covered to provide techniques, insights and perspectives of the inner workings of service and composition architectures, including messaging, microservice deployments, service contracts, API gateways, containerization and many more.

Domain-Driven Design has attracted quite a lot of attention in recent years. This course explains the concepts of DDD, and explores how it can help us model complex software systems. We’ll lift the lid on key concepts such as Bounded Contexts, Aggregates and Ubiquitous Language, and take a pragmatic look at how to apply these concepts to address real challenges.The principles of BDD during this course also will be covered.

The course also covers the Command-Query Responsibility Segregation (CQRS) pattern, and describes how it fits in with DDD.

قیمت :

از 6,900,000 تومان

دوره آنلاین روش کاربردی تحلیل نیازمندی های نرم افزار Software Requirements Analysis
دوره آنلاین روش کاربردی تحلیل نیازمندی های نرم افزار Software Requirements Analysis

دوره روش کاربردی تحلیل نیازمندی های نرم افزار Software Requirements Analysis

«اگر نیازمندی ها را به درستی شناسایی نکنید، خوب انجام دادن بقیه پروژه، دیگر اهمیتی نخواهد داشت» کارل ای ویِگرز
حوزه نیازمندی های نرم افزاری یکی از مهم ترین حوزه ها در توسعه نرم افزار است و با وجود پیشرفت های چشم گیر، مهندسی نیازمندی ها جزء ضعیف ترین حلقه ها در زنجیره مهندسی نرم افزار است. هدف این دوره، ارائه چارچوبی برای تحلیل نیازمندی های نرم افزار است و به تحلیل گران می آموزد که چگونه نقش خود را در پروژه های تولید نرم افزار ایفا کنند.

قیمت :

از 4,900,000 تومان

دوره آنلاین Fundamentals Level of Software Testing - ISTQB تست نرم افزار
دوره آنلاین Fundamentals Level of Software Testing - ISTQB تست نرم افزار

دوره Fundamentals Level of Software Testing – ISTQB تست نرم افزار

in foundation level, the tester learns the basic terminology related to testing, the reasons why testing is required, what objectives are and the principles of successful testing. Moreover, the tester understands the test process, the major activities and artefacts, test process itself and how it interacts with software development and maintenance life cycles. Furthermore, the tester learns about test levels, test types and impact analysis, various static techniques of testing without executing the software, use systematic and heuristic techniques to derive test cases from other software artefacts and the software itself. In addition, test management is covered from a skills perspective, focusing on test execution and defect reporting and handling and learns hoe testing can benefit from tools in various fields such as requirement management, configuration management, test management as well as dynamic coverage, test execution and performance testing

قیمت :

از 5,900,000 تومان

توضیحات کوتاه

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

در طی این دوره با ابزارها و الگوهای معماری آشنا میشویم و سناریوهای دنیای واقعی را میشونیم.

همچنین یادمیگیریم که چطور باید تصمیمات طراحی را مستند کرده و همچنین بررسی بر روی این مستندات را انجام دهیم.

قیمت :

از 1,300,000 تومان

امتیاز
0 از 0 رأی
بدون امتیاز 0 رای
از 1,300,000 تومان
نوع دوره : حضوری و آنلاین
پیش نیاز : ندارد
30 ساعت
پرهام درویشی
پرهام درویشی
حوزه برنامه نویسی

اشتراک در
اطلاع از
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها