کد جهانی رشته ۰۹ | گروه فناوری اطلاعات

توسعه نرم‌افزار

Software Applications Development

آخرین بروزرسانی رشته
  • سطح ملی / جهانی
  • استاندارد WorldSkills
  • گروه فناوری اطلاعات
  • تمرکز فناوری اطلاعات
WorldSkills چیه؟

مسابقات مهارت بزرگ‌ترین رویداد مهارت دنیاست که هر دو سال یکبار به اسپانسری غول‌های تکنولوژی صنعت مانند سامسونگ، زیمنس و ... برگزار می‌شود که بیش از ۸۰ کشور در آن شرکت می‌کنند.

اطلاعات بیشتر

معرفی رشته

امروزه تمامی صنایع مختلف، نیازمند راهکارهای نرم‌افزاری برای بهبود کارایی، افزایش بهره‌وری و کاهش هزینه‌ها هستند. رقابت‌کننده در این رشته به توسعه، تغییر و تحلیل این راهکارها می‌پردازد. از پرونده‌های الکترونیکی پزشکی تا نرم‌افزارهای مدیریت مالی و حسابداری تا نرم‌افزارهای انبارداری و مدیریت زنجیره تأمین، نمونه‌هایی از این راهکارها هستند. این برنامه‌های نرم‌افزاری با توجه به خواسته‌های مشتری، تحت دسکتاپ و یا موبایل و با استفاده از تکنولوژی‌های مجاز پیاده‌سازی می‌شوند، به صورتی که توانایی توسعه و پیاده‌سازی تست‌های نرم‌افزاری را دارا باشند. تحلیل و طراحی این نرم‌افزارها نیازمند داشتن توانایی طراحی، باز طراحی، پیاده‌سازی و مهاجرت پایگاه‌داده و تحلیل معماری نرم‌افزاری به صورت مستندات فنی و نمودارهای UML می‌باشد. این رشته از قدیمی‌ترین رشته‌های مسابقات است. نمایندگان ایران با ۱۱ بار حضور پیاپی در مسابقات از سال ۲۰۰۳، موفق به کسب دو مدال برنز و همچنین هفت مدالیون برتری شده‌اند. نمایندگان ایران در مسابقات دوستانه‌ی بین‌المللی نیز خوش درخشیده‌.

این رشته برای چه افرادی مناسب است؟

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

آینده‌ی شغلی این رشته

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

مهارت‌های مورد نیاز در این رشته

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

پایگاه‌های داده

در این رشته با طراحی، پیاده‌سازی و مدیریت پایگاه‌های داده کار می‌کنید. توانایی طراحی ساختار مناسب داده و نوشتن Queryهای مؤثر از مهارت‌های کلیدی این بخش است.

توسعه‌ی REST API

در این بخش با طراحی و توسعه‌ی APIهایی برای ارتباط میان بخش‌های مختلف یک نرم‌افزار آشنا می‌شوید. تمرکز اصلی بر پیاده‌سازی منطق کسب‌وکار و ارائه‌ی امن و ساختاریافته‌ی داده‌هاست.

توسعه‌ی نرم‌افزار دسکتاپ

در این بخش به توسعه‌ی نرم‌افزارهای دسکتاپ با استفاده از WPF و Windows Forms می‌پردازید. هدف، پیاده‌سازی رابط کاربری مناسب و اتصال آن به منطق و داده‌های نرم‌افزار است.

توسعه‌ی نرم‌افزار موبایل

در این بخش با توسعه‌ی اپلیکیشن‌های موبایل و پیاده‌سازی قابلیت‌های مورد نیاز آن‌ها آشنا می‌شوید. علاوه بر ساخت رابط کاربری، ارتباط با API و مدیریت داده‌ها نیز اهمیت دارد.

تست و کنترل کیفیت نرم‌افزار

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

طراحی نرم‌افزار

در این بخش با روش‌های مدل‌سازی و طراحی ساختار نرم‌افزار پیش از پیاده‌سازی آشنا می‌شوید. استفاده از ابزارهایی مانند UML و ERD به شما کمک می‌کند ساختار سیستم و ارتباط میان اجزای آن را بهتر تحلیل و طراحی کنید. شما باید بتوانید بر اساس سناریویی که برای شما تعریف می‌شود، ساختار نرم‌افزار و داده را معماری کنید.

در توسعه‌ی نرم‌افزار، نوشتن کد تنها بخشی از مسئله است؛ مهم‌تر از آن، درک درست Business Logic و تبدیل فرایندها و نیازهای کسب‌وکار به یک راهکار نرم‌افزاری دقیق است. در این رشته، باید بتوانید مسئله را از دید کسب‌وکار تحلیل کنید، روابط میان داده‌ها و فرایندها را بفهمید و این منطق را به درستی در نرم‌افزار پیاده‌سازی کنید.

چگونه در این رشته شرکت کنم؟

مسیر مسابقات

مسیر حضور در مسابقات جهانی مهارت در ایران از ثبت‌نام و مرحله‌ی مقدماتی آغاز می‌شود و پس از مرحله‌ی کشوری و اردوهای انتخابی تیم ملی ادامه پیدا می‌کند. در نهایت، نماینده‌ی ایران در مسابقات جهانی مهارت حضور خواهد داشت.

  1. ۱ ثبت‌نام سامانه رسمی سازمان آموزش فنی و حرفه‌ای
  2. ۲ مرحلهٔ مقدماتی شهرستانی و استانی
  3. ۳ مرحلهٔ کشوری المپیاد ملی مهارت
  4. ۴ اردوهای انتخابی آمادگی تیم ملی
  5. ۵ مسابقات جهانی WorldSkills

آزمون‌های مرحله‌ی کشوری

در مرحله‌ی کشوری این رشته، در ۶ یا ۷ آزمون متفاوت به رقابت خواهید پرداخت و نفرات برتر و دعوت‌شدگان به اردوهای انتخابی بر اساس مجموع امتیازات این آزمون‌ها مشخص می‌شوند. ساختار زیر نهایی نیست و بر اساس شرح فنی سال ۲۰۲۶ تنظیم شده است؛ بنابراین ممکن است با توجه به تغییرات این رشته در سطح جهانی، ساختار آزمون‌های مرحله‌ی کشوری نیز تغییر کند.
مراحل مقدماتی، اعم از شهرستانی یا استانی، لزوماً از این ساختار پیروی نمی‌کنند، اما به‌گونه‌ای طراحی می‌شوند که در راستای مرحله‌ی کشوری و استانداردهای مسابقات جهانی باشند.

ماژول عنوان کار اصلی
آزمون اول توسعه‌ی API کار با پایگاه‌داده، تست‌نویسی، توسعه و استفاده از API
آزمون دوم و چهارم توسعه‌ی نرم‌افزار دسکتاپ توسعه، مستندسازی و استفاده از REST API، توسعه‌ی نرم‌افزار تحت دسکتاپ، توسعه‌ی تست‌های نرم‌افزاری، کار با پایگاه‌داده
آزمون سوم و پنجم توسعه‌ی نرم‌افزار اندروید توسعه، مستندسازی و استفاده از REST API، توسعه‌ی نرم‌افزار اندروید، توسعه‌ی تست‌های نرم‌افزاری، کار با پایگاه‌داده
آزمون ششم طراحی نرم‌افزار طراحی و مستندسازی راهکارهای نرم‌افزاری با استفاده از نمودارهای UML، نمودار ERD و وایرفریم‌ها

شما می‌توانید اطلاعات تکمیلی مربوط به هر آزمون را در بخش ماژول‌ها مطالعه کنید.

حالا وقت ثبث‌نامه!

اگه از این رشته خوشت اومده و می‌خوای مهارت‌هات رو به چالش بکشی، حالا وقت ثبت‌نامه!

ثبت‌نام

مسیر آمادگی برای این رشته

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

۱ یادگیری برنامه‌نویسی سی‌شارپ

سی‌شارپ پایه‌ی اصلی بسیاری از فناوری‌های مورد استفاده در این رشته است و تسلط بر آن، یادگیری بخش‌های بعدی را بسیار ساده‌تر می‌کند. در این مرحله باید مفاهیم پایه‌ی زبان، شی‌گرایی، Collections، Exception Handling و کار با فایل‌ها را یاد بگیرید.

۲ یادگیری برنامه‌نویسی اپلیکیشن برای پلتفرم ویندوز

در این مرحله یاد می‌گیرید چگونه با استفاده از C# نرم‌افزارهای دسکتاپ برای ویندوز بسازید. آشنایی با WPF و Windows Forms و مفاهیمی مانند رابط کاربری، Eventها و اتصال برنامه به داده‌ها برای ادامه‌ی مسیر اهمیت دارد.

۳ یادگیری مقدمات دیتابیس SQL Server

تقریباً هر نرم‌افزار جدی با داده سروکار دارد و به همین دلیل، درک نحوه‌ی ذخیره، بازیابی و سازمان‌دهی داده‌ها ضروری است. در این مرحله باید مفاهیم پایگاه داده رابطه‌ای، طراحی جدول‌ها، روابط و دستورات اصلی SQL را یاد بگیرید.

۴ یادگیری پیشرفته SQL Server و LINQ و Entity Framework

پس از یادگیری SQL، باید بتوانید داده‌ها را در برنامه‌های سی‌شارپ به شکل مؤثر مدیریت و پردازش کنید. در این مرحله LINQ و Entity Framework Core را یاد می‌گیرید تا بتوانید بین کد برنامه و پایگاه داده ارتباط مناسبی ایجاد کنید.

۵ یادگیری توسعه‌ی REST API با ASP .NET

API یکی از اجزای اصلی بسیاری از نرم‌افزارهای امروزی است و امکان ارتباط میان کلاینت‌ها، سرویس‌ها و داده‌ها را فراهم می‌کند. در این مرحله باید با ASP.NET Core، طراحی REST API، Routing، کار با داده و پیاده‌سازی منطق کسب‌وکار آشنا شوید.

۶ یادگیری توسعه‌ی نرم‌افزار موبایل

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

۷ یادگیری مبانی تست و کنترل کیفیت نرم‌افزار

یک نرم‌افزار خوب فقط نرم‌افزاری نیست که اجرا شود؛ باید بتوانید از صحت عملکرد آن در شرایط مختلف اطمینان پیدا کنید. در این مرحله با مفاهیمی مانند Unit Test، Integration Test و روش‌های تست خودکار نرم‌افزار آشنا می‌شوید.

۸ یادگیری مبانی طراحی نرم‌افزار و نمودارهای UML

پیش از پیاده‌سازی یک نرم‌افزار باید بتوانید ساختار آن، اجزای مختلف و ارتباط میان آن‌ها را تحلیل و طراحی کنید. در این مرحله با مفاهیم طراحی نرم‌افزار و نمودارهای پرکاربرد UML مانند Class Diagram و Sequence Diagram آشنا می‌شوید. در ضمن شما باید بتوانید نمودارهای وایرفریم نیز طراحی کنید و برنامه‌های خود (مخصوصا APIها) را مستند کنید.

پرسش‌های پرتکرار

مسیر شرکت در این رشته چیست؟

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

محدودیت سنی این رشته چقدر است؟

طبق شرح فنی جهانی ۲۰۲۶، شرکت‌کننده در سال برگزاری مسابقه نباید بیش از ۲۲ سال داشته باشد. برای مرحله ملی، شرایط سنی همان دوره را در اطلاعیه رسمی دفتر مسابقات بررسی کنید.

مسابقه انفرادی است یا تیمی؟

این رشته تک‌نفره است.

چه زبان‌های برنامه‌نویسی و چه تکنولوژی‌هایی در این رشته مجاز هستند؟

برای اطلاعات بیشتر در مورد تکنولوژی‌های مجاز به بخش ماژول‌ها مراجعه کنید و جزئیات مربوط به هر آزمون را مطالعه کنید.

آیا در مرحله‌ی کشوری، دسترسی به اینترنت آزاد است؟

خیر. در هر آزمون شما یکبار حق استفاده از اینترنت را دارید که محدودیت زمانی ۱۰ دقیقه‌ای دارد. دسترسی شما به اینترنت روی سیستم خودتان نخواهد بود و اجازه‌ی انتقال فایل و یادداشت‌برداری نیز ندارید.

اگه سوالی داشتی که نتونستی جوابش رو پیدا کنی،‌ از ما بپرس!

تلگرام باشگاه مهارت

افتخارات ایران در این رشته

تیم ملی مهارت ایران تاکنون ۱۱ بار در این رشته در رقابت‌های جهانی حضور داشته و کارنامه‌ای قابل‌توجه از خود به جا گذاشته است؛ از جمله مدال برنز کازان ۲۰۱۹، مدال برنز شیزوکا ۲۰۰۷ و هفت مدالیون افتخار دیگر.
در سطح آسیا نیز ایران در مسابقات مهارت آسیایی ۲۰۲۱ موفق به کسب یک مدال نقره در این رشته شد نتیجه‌ای که تداوم حضور و توانمندی ایران در عرصه بین‌المللی را نشان می‌دهد.

۱۱ دوره حضور در مسابقات جهانی
برنز کازان ۲۰۱۹
برنز شیزوکا ۲۰۰۷
۷ مدالیون افتخار
۲ دوره حضور در مسابقات آسیایی
نقره آسیایی ۲۰۲۱

نمایندگان ایران

81
مهرداد شیروانی Medallion توسعه نرم‌افزار
WorldSkills Lyon 2024
7
علی محمدی Medallion توسعه نرم‌افزار
Worldskills Asia 2023
2
پارسا منوچهریان Silver توسعه نرم‌افزار
Worldskills Asia 2021
1
مهرداد شیروانی Gold توسعه نرم‌افزار
مسابقات IFSC 2024
1
امیررضا شمس Gold توسعه نرم‌افزار
مسابقات اوراسیایی مهارت 2022