فیلم آموزش استاندارد MISRA C++ – جلسۀ 4 زبان C++

در فیلم آموزش استاندارد MISRA C++ به تشریح کامل مقدمه و فصل های ابتدایی استاندارد MISRA C++ و فصل ششم آن یعنی قوانین و دستور العمل های MISRA C++ می پردازیم.

۴۵۹,۰۰۰ تومان

فروش ویژه
آموزش-stm32

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

فیلم آموزش استاندارد MISRA C++ در ادامۀ فیلم آموزش زبان C++ میکروکنترلرهای یوبرد است و جلسۀ چهارم آموزش زبان C++ میکروکنترلرها محسوب می شود. در این آموزش به تشریح کامل استاندارد MISRA C++ می پردازیم. در فیلم آموزش زبان C++ میکروکنترلرها به ساختارها و ابزارهای زبان C++ میکروکنترلرها پرداخته ایم. اما استاندارد MISRA C++، استفاده از برخی ساختارها و ابزارها را ممنوع و برخی را هم محدود می کند. چرا که استفاده از همۀ آنها ممکن است موجب شود که نرم افزار، غیر قابل اطمینان شود. بنابراین ارائۀ آموزش MISRA C++ را با هدف برنامه نویسی استاندارد برای میکروکنترلرها، لازم می دانیم. رسالت MISRA کمک به صنعت خودرو در زمینۀ ایجاد نرم افزار ایمن و قابل اعتماد برای سیستم های خودرویی است. استانداردهای MISRA C و MISRA C++ با این که با هدف کمک به صنعت خودرو تهیه شده اند، در صنایع دیگر هم به کار می روند. این استانداردها مناسب هر سیستم دیجیتال برنامه پذیر هستند که برنامۀ آن با زبان C یا C++ نوشته می شود. مطابق مطالب MISRA C، «از سال 1998 که نسخۀ اول MISRA C ارائه شد، موفقیت ها و استفاده های جهانی از آن در صنایع خودرو، هوافضا، پزشکی و صنایع دیگر سرسام آور بوده است». در استاندارد MISRA C++ به این موضوع اشاره شده که با توجه به این موفقیت و همچنین عدم وجود یک مجموعه دستورالعمل پذیرفته شدۀ جهانی برای استفاده از زبان C++ در سیستم های دیجیتال برنامه پذیر، MISRA خودش را متعهد کرده که به توسعۀ مجموعه ای از دستورالعمل های مشابه برای C++ بپردازد. بنابراین در سال 2005 کارگروه MISRA C++ تأسیس و در سال 2008، استاندارد MISRA C++ منتشر شد. این استاندارد برای سیستم های حیاتی برنامه پذیر با زبان ++C، اهمیت ویژه ای دارد. و اگر نرم افزار سیستم های دیجیتال برنامه پذیر با C++، مطابق با این استاندارد باشد، قابلیت اطمینان بسیار بالایی خواهد داشت. رعایت اصول و مقرراتی مثل الزامات و قوانین MISRA C++ در برنامه های نوشته شده به زبان C++ برای سیستم های دیجیتال برنامه پذیر که در صنعت به کار می روند، اهمیت فراوانی دارد. بنابراین تصمیم گرفتیم برای تکمیل مباحث آموزش برنامه نویسی C++ میکروکنترلرها، فیلم آموزش استاندارد MISRA C++ را ارائه کنیم.

فیلم آموزش ARM STM32 مقدماتی

فیلم آموزش میکروکنترلرهای AVR مقدماتی

فیلم آموزش آردوینو مقدماتی

زمان آموزش: 8 ساعت و 6 دقیقه

  • این فیلم آموزشی تنها در سیستم عامل ویندوز و فقط در یک سیستم قابل پخش است.
  • بلافاصله پس از پرداخت، از طریق حساب کاربری قابل دانلود است.
  • به همۀ موضوعات مرتبط پرداخته است و در آن نکته ای از قلم نیفتاده و در سرفصل های ارائه شده، جامع است.
  • آموزش های یوبرد هم به صورت جلسه های مجزا و هم برخی از آنها به صورت پک هایی شامل چند جلسه، قابل تهیه هستند. برخی از آموزش ها، علاوه بر جلسات پک، جلسات دیگر و اغلب، آموزش خصوصی نیز دارند. برای مشاهدۀ جلسات زبان C++ میکروکنترلرها و آموزش خصوصی آن، می توانید به آموزش زبان C++ میکروکنترلرها مراجعه کنید.

misra-صنایع

تصویر 1 – MISRA و صنعت

MISRA C++ چیست؟

MISRA مخفف Motor Industry Software Reliability Association است و انجمنی است که دستور العمل های MISRA C و MISRA C++ را تهیه و منتشر می کند. MISRA یک همکاری بین تولید کنندگان خودرو، تأمین کنندگان قطعات و مشاوران مهندسی است که به دنبال ترویج بهترین روش در توسعه سیستم های الکترونیکی مرتبط با ایمنی در وسایل نقلیه جاده‌ای و سایر سیستم های نهفته هستند. MISRA C++ مجموعه دستور العمل هایی است که توسط کنسرسیوم میسرا برای استفاده از زبان C++ در سیستم های مرتبط با ایمنی منتشر شده است. هدف این استاندارد کمک به صنعت خودرو برای ایجاد نرم افزار قابل اطمینان است. این استاندارد علاوه بر صنعت خودرو، در صنایع دیگر نیز مورد استفاده قرار می گیرد. MISRA C++ در سال 2008 منتشر شده است و تاکنون (نوامبر 2021) نسخۀ دیگری از آن منتشر نشده است. MISRA C++ مانند MISRA C شامل شش فصل است. مطالب پنج فصل اول، مربوط به خود MISRA C++، زبان C++، آشنایی با قوانین و … و فصل ششم هم شامل قوانین MISRA C++ است. قوانینی که استفاده از برخی ابزارها و ساختارهای زبان C++ را ممنوع و استفاده از برخی دیگر را محدود می کند. رعایت این قوانین در برنامه ای که نوشته می شود، موجب قابل اطمینان شدن آن می شود. در فیلم آموزش استاندارد MISRA C++ یوبرد، به تشریح کامل فصل های 1 تا 5 و همچنین قوانین فصل 6 می پردازیم.

استاندارد-میسرا-سی-پلاس

تصویر 2 – استانداردهای MISRA C و MISRA C++

چرا آموزش MISRA C++ یوبرد؟

در زمان تهیۀ فیلم آموزش استاندارد MISRA C++، یعنی تابستان 1400، آموزش MISRA C++ کامل دیگری که به زبان فارسی باشد، در سطح اینترنت موجود نبود. آموزش MISRA C++ یوبرد، اولین آموزش کامل MISRA C++ به زبان فارسی است. این آموزش از بالاترین کیفیت محتوایی برخوردار است و هر آنچه را که در سند MISRA C++ نسخۀ 2008 وجود دارد، تشریح کرده ایم. ابتدا تصمیم داشتیم آموزش MISRA C++، جلسه ای از آموزش زبان C++ میکروکنترلرها باشد. اما در نهایت با توجه به این که زمان آموزش MISRA C++ از یک جلسه فراتر رفت، آن را در آموزش دیگری ارائه کردیم. برخی ویژگی های آموزش استاندارد MISRA C++ به صورت زیر است:

  • تشریح مقدمات و فصل های نخست سند MISRA C++؛
  • آموزش قوانین استاندارد MISRA C++ به طور کامل و تشریح استثناها، متن و توضیحات قوانین و مثال های آنها در نرم افزار ویژوال استودیو؛
  • تشریح و بررسی مباحثی که در میان قوانین فصل ششم استاندارد آمده است؛
  • عدم پرداختن به موضوعات خارج از استاندارد، مگر در موارد ضروری و برای تفهیم بیشتر؛
  • کیفیت بالای صوت و تصویر.

قانون-اشاره-گر

تصویر 3 – یکی از قوانین MISRA C++ مربوط به مبحث اشاره گرها

سرفصل های فیلم آموزش استاندارد MISRA C++

موضوعات مورد بحث در فیلم آموزش استاندارد MISRA C++ به صورت زیر است:

  • مقدمه و پیشگفتار MISRA C++: که به سلب مسئولیت MISRA C++، پیشگفتار و سپاسگزاری های آن می پردازیم.
  • فصل 1 – پیشینه: که شامل مباحث «استفاده از C++ در سیستم های حیاتی»، «ناامنی های زبان و زبان C++»، «استفاده از C برای سیستم های مرتبط با ایمنی» و «استانداردسازی C++» است.
  • فصل 2 – چشم انداز: که شامل دو قسمت «دلیل منطقی برای تولید MISRA C++» و «اهداف MISRA C++» است.
  • فصل 3 – محدوده: که مباحث این بخش عبارتند از «مسائل مربوط به زبان های پایه»، «موضوعاتی که به آنها پرداخته نشده»، «قابل اعمال بودن»، «دانش پیش نیاز»، «موضوع کتابخانه» و «کدهایی که به صورت خودکار ساخته می شوند».
  • فصل 4 – استفاده از MISRA C++: که شامل بخش های «زمینۀ مهندسی نرم افزار»، «زبان برنامه نویسی»، «تصویب زیرمجموعه»، «ادعای انطباق» و «بهبود مستمر» است.
  • فصل 5 – آشنایی با قوانین: که مباحث این بخش «دسته بندی قوانین»، «سازماندهی قوانین»، «استثناها»، «افزونگی در قوانین»، «ارائۀ قوانین»، «Issue reference» و «محدودۀ قوانین» هستند.
  • فصل 6 – قوانین MISRA C++: که به آموزش قوانین MISRA C++ می پردازیم. آموزش دستورالعمل های MISRA C++ شامل تشریح و بررسی قوانین بخش 6.0 تا بخش 6.27 است. قوانین بخش های Language independent issues و General و Lexical conventions و Basic concepts و Standard conversions و Expressions و Statements و Declarations و Declarators و Classes و Derived classes و Member access control و Special member functions و Templates و Exception handling و Preprocessing directives و Library introduction و Language support library و Diagnostics library و Input/output library.

مباحث-آموزش-میسرا-سی-پلاس

تصویر 4 – فصل های استاندارد MISRA C++

مخاطبان و پیش نیازهای آموزش MISRA C++ یوبرد

استاندارد MISRA C++ مجموعه قوانین و دستور العمل هایی برای استفاده از زبان C++ در سیستم های دیجیتال برنامه پذیر با زبان C++ است. بنابراین هر فرد یا مرکز یا شرکتی که به توسعۀ نرم افزار سیستم های دیجیتال برنامه پذیر با زبان C++ می پردازد، می تواند مخاطب این آموزش باشد. اگر قرار باشد نرم افزار یک سیستم دیجیتال برنامه پذیر با زبان C++، منطبق بر استاندارد MISRA C++ باشد، توسعه دهندۀ آن می تواند مخاطب جدی فیلم آموزش استاندارد MISRA C++ باشد. استانداردسازی کدهای نوشته شده برای میکروکنترلرها و دیگر سیستم های دیجیتال برنامه پذیر، اهمیت ویژه ای دارد. نرم افزارهای سیستم های دیجیتال برای رسیدن به خاصیتی مثل قابل اطمینان بودن، باید استاندارد باشند. MISRA C++ با توجه به حداکثر الزامات و محدودیت ها، استاندارد مناسبی برای افزایش ایمنی و به حداقل رساندن خطای سیستم هاست. چرا که خودروسازی، جزء صنایع حساس و حیاتی است و استانداردهایی هم که برای آن وجود دارد، چنین ویژگی هایی را موجب می شوند. MISRA C++ علاوه بر خودرو سازی، در صنایع دیگر هم کاربرد دارد. بنابراین MISRA C++ را می توان برای هر سیستم دیجیتال برنامه پذیر موجود در صنعت که نرم افزار آن با زبان C++ است، اعمال کرد. در فیلم آموزش استاندارد MISRA C++، تنها دربارۀ مباحث این استاندارد صحبت کرده ایم. مباحث مربوط به ساختارها و ابزارهای زبان C++، در این آموزش مورد بحث نیست. بنابراین پیش نیاز این آموزش، آشنایی با زبان C++ است. در صورت عدم آشنایی با زبان C++، فیلم آموزش زبان C++ میکروکنترلرها که در یوبرد ارائه کرده ایم، می تواند مفید باشد. هر آنچه که مورد نیاز آموزش استاندارد MISRA C++ باشد، در آموزش زبان C++ میکروکنترلرها بررسی کرده ایم. بنابراین:

  • مخاطبان این آموزش افراد، مراکز و شرکت هایی هستند که برای سیستم های دیجیتال برنامه پذیر مثل میکروکنترلرها، به زبان C++ برنامه می نویسند؛
  • پیش نیاز این آموزش هم آشنایی با زبان برنامه نویسی C++ است.

مخاطبان-آموزش-میسرا-سی-پلاس

تصویر 5 – مخاطبان آموزش MISRA C++

اهداف یوبرد از آموزش استاندارد MISRA C++

با توجه به این که پیش از تهیۀ آموزش MISRA C++ یوبرد، آموزش MISRA C++ دیگری که هم فارسی باشد و هم کامل در سطح اینترنت وجود نداشت، یکی از اهداف ما ارائۀ تشریح کاملی از MISRA C++ بود. از مهمترین اهداف یوبرد، برطرف کردن نیازهای افراد، شرکت ها و مراکز، افزایش کیفیت محصولات الکترونیکی دیجیتال و همچنین بالا بردن سطح دانش در حوزۀ سیستم های دیجیتال است. که ارائۀ فیلم آموزش استاندارد MISRA C++ را در راستای رسیدن به اهداف مذکور می دانیم. از اهداف دیگر ما تکمیل مباحث آموزش برنامه نویسی میکروکنترلرها به زبان C++ است. برای برنامه نویسی استاندارد میکروکنترلرها، توانایی نوشتن کد C++ و به کار گرفتن ابزارها و ساختارهای C++ کافی نیست. تمامی کدهای برنامۀ نوشته شده باید استاندارد باشد. در این صورت برنامه می تواند قابل اطمینان، قابل حمل، ایمن، انعطاف پذیر و با حداقل خطا باشد. آموزش استاندارد MISRA C++ می تواند از این جهت تکمیل کنندۀ مباحث آموزش زبان C++ میکروکنترلرها باشد.

پیش نمایش – چند قانون مربوط به تعریف توابع

ضبط پیام صوتی

زمان هر پیام صوتی 4 دقیقه است