تعریف مهندسی معکوس
مهندسی حرفه ای است که به طراحی، ساخت و تولید و تعمیرات و نگهداری محصولات، سامانه ها و سازه ها می پردازد. به طور کلی، دو نوع مهندسی وجود دارد: مهندسی مستقیم (رو به جلو) (forward engineering) و مهندسی معکوس (reverse engineering).
مهندسی مستقیم، فرآیند حرکت سنتی از مفاهیم انتزاعی سطح بالا و طراحی های منطقی به اجرای فیزیکی یک سامانه است. اما در بعضی موارد ممکن است یک قطعه فیزیکی موجود باشد در حالی که هیچ جزئیات فنی مانند مستندات فنی و نقشه ها، صورت لیست مواد و اقلام (BOM) یا داده های مهندسی مثل خواص حرارتی و الکتریکی آن در دسترس باشد. فرایند تکثیر یک قطعه، زیر مجموعه یا محصول موجود، بدون کمک نقشه ها، مستندات یا مدل کامپیوتری به عنوان مهندسی معکوس شناخته می شود. مهندسی معکوس یک فرایند حل مسئله است که به جای آنکه از سوال آغاز شود، از پاسخ موجود آغاز میشود. کاربرد اصلی مهندسی معکوس در یکی از دو مورد زیر است:
- وقتی جواب یک مسئله را میدانیم. اما نمیدانیم این جواب پاسخ به چه سوالی است.
- وقتی سوال و پاسخ را میدانیم. اما نمیدانیم مسیر و فرایند رسیدن به این پاسخ چه بوده است.
معمولاً هدف مهندسی معکوس، استخراج دانش یا طراحی نهفته در یک محصول (کالا یا خدمت) است. این کار عموماً با هدف تولید مجدد آن محصول یا تحلیل آن محصول انجام میشود.
کاربرد مهندسی معکوس
طبیعتاً با توجه به تعریف فوق میتوان کاربردهای بسیار متنوعی برای مهندسی معکوس در نظر گرفت.
در اینجا برخی از این کاربردها را مرور میکنیم:
- زمانی که یک قطعهی صنعتی، مثلاً یک گیربکس یا موتور، به خوبی کار میکند و عملکرد بالایی دارد ممکن است یک شرکت تولیدی تصمیم بگیرد به جای طراحی از نقطهی صفر، آن قطعه را به اجزای کوچکتر تفکیک کرده و هر جزء را تحلیل و مدلسازی کند تا به توانایی بازتولید آن قطعه دست پیدا کند.
- وقتی دندان پزشکان بر اساس شکل یک دندان قالب میسازند و میکوشند مدلی مشابه آن را تولید کنند.
- وقتی یک برنامه نویس، به جای طراحی سیستم و برنامه نویسی از نقطه صفر، یک برنامه یا سیستم موفق را مورد تجزیه و تحلیل قرار میدهد و سعی میکند اجزای آن را بازتولید کند.
- وقتی ارتش یا سازمانهای نظامی یک کشور، محصولات نظامی کشور دیگر را به دست میآورند و میکوشند با مهندسی معکوس به دانش و فن آوری آن کشور دست یابند یا لااقل توان علمی و فنی سازنده را ارزیابی کنند.
- تلاش برای استخراج کدهای سطح بالای یک برنامه نرم افزاری بر اساس کدهای اسمبلی محصول نهایی
*** گروه صنعتی اقدم ***