بررسی مهندسی معکوس بخش سوم

بررسی مهندسی معکوس بخش سوم

توسط z_naderolaslie | گروه الکترونیک | 1394/05/28

نظرات 0

 

 تفاوت مهندسی معکوس با سایر روشهای مهندسی

 

تفاوت مهندسی معمولی با مهندسی معکوس

تفاوت این دو در آن است که ؛ در مهندسي معكوس، محققان سعي در به دست آوردن مدارك و نقشه هاي طراحي محصول مي كنند تا طي مراحل نمونه سازي و نيمه صنعتي در صورت لزوم، ساخت و توليد محصول طبق مشخصات و استانداردهاي فني محصول الگو، انجام پذيرد. از اين جهت، مهندسي معكوس را مشابه سازي، كپي سازي، نسخه برداري و يا تقليدي آگاهانه قلمداد كرده اند. درحالي كه مهندسي مجدد يك برداشت نوين در مديريت در رابطه با تغيير فرايند فعاليت يك سازمان است.
«مهندسي معكوس» Reverse Engineering يكي از روشهاي دسترسي به دانش فني است. لازمه اجراي اين روش وجود نمونه هايي از محصول است كه مبناي كار تحقيقات قرار مي گيرد. در اين روش براي دستيابي به دانش فني به برون فكني اطلاعات فني از طريق تجزيه محصول متوسل مي شويم كه اصطلاحاً كشف كردن (DEFAKTAGE) دانش فني ناميده مي شود. 
 
 

 

 

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

تغییر دادن یک نرم افزار موجود، بدون اخلال در کار آن نرم افزار
علل انجام مهندسی معکوس در نرم افزار:
1.       عدم دسترسی قانونی به resource های یک پروژه انجام شده
2.       کمتر بودن هزینه مهندسی معکوس نسبت به توسعه یک نرم افزار جدید
3.       وجود مشکلات زیاد در توسعه یک نرم افزار جدید از جمله تغییر کادر برنامه نویسی و  bug های جدید
4.       بهبود نرم افزارهای موجود ( مثال: کار افراد بر روی پروژه های open source )
 
 

مهندسی معکوس در سه‌بعدی سازی

مهندسی معکوس سه‌بعدی سازی، هنر تبدیل ابر نقاط (Cloud of Points) به مدل سه‌بعدی CAD میباشد. ابر نقاط مجموعه سه‌بعدی از نقاط است که خصوصیات سطح خارجی یک شیئ را توصیف میکنند. این نقاط از آنالیز محیط پیرامون شیئ و جمعآوری اطلاعات از شکل ظاهری آن به کمک یک اسکنر سهبعدی به دست میآیند. تکنولوژی به کار رفته در جمع آوری اطلاعات از سطح شکل، در دو نوع تماسی و بدون تماس میباشد. در حالت تماسی از دستگاههای CMM و در حالت بدون تماس از لیزر و نور ساخت یافته استفاده میشود.

 CMM (Coordinate Measuring Machine)
عبارت Measuring Coordinate Machine به معني سيستم هاي اندازه گيري سه بعدي مختصات میباشد. با استفاده از اين دستگاه ها امكان اندازه برداري از روي سطوح قطعات پيچيده با دقت بسيار بالا امكان پذير است. از آنجايي كه در سيستم‌هاي مختصات، هر نقطه مشخص فقط يك مختصات دارد و هر مختصات مشخص فقط مربوط به يك نقطه مي‌باشد، مي‌توان از اين هويت مشخص براي هر نقطه، استفاده كرد و با دقت بالا، به آن دسترسي پيدا كرد
 
 

مهندسي معكوس در كامپيوتر 

مهندسي معكوس فرايند اكتشاف فن آوري هاي بكار رفته در يك دستگاه ، شي و يا سيستم از طريق تحليل ساختار ، عملكرد و وظيفه آن مي باشد. معمولا از اين فرايند براي دست يابي به ( براي مثال يك دستگاه مكانيكي ، قطعه الكترونيكي و يا برنامه نرم افزاري ) و تحليل جزييات نحوه عملكرد آن در نگهداري يا ساخت يك دستگاه يا برنامه مشابه استفاده مي شود. حاصل اين فرايند مشابه كپي كردن يك چيز از روي اصل آن مي باشد.
یکی از مهم‌ترین علومی که در برنامه‌نویسی و مهندسی نرم‌افزار از آن استفاده می شود و برای برنامه‌نویسان حرفه‌ای کاربرد فراوان دارد علم مهندسی معکوس[۲] هست. در واقع برنامه نویسان توسط این علم می توانند اشکال‌های (باگ‌های) موجود در برنامه خود را پیدا کنند و به رفع آنها بپردازند.
علم رخنه‌گری رایانه‌ای (کرکینگ) شاخه ای از علم مهندسی معکوس هست. از این رو برای درک معنا و مفهوم علم رخنه‌گری باید با مهندسی معکوس آشنا شویم. اما برای درک مهندسی معکوس هم باید یک پله عقب تر برویم : تا زمانی که با علم مهندسی نرم‌افزار یا همان برنامه نویسی آشنا نشویم ، متوجه مهندسی معکوس هم نخواهیم شد. به همین خاطر تمام کسانی که مایل به یادگیری علم کرک هستند باید تا حدودی با برنامه نویسی و مهندسی نرم افزار آشنایی داشته باشند.
برای اینکه بتوانیم یک رخنه‌گر حرفه ای باشیم باید معنا و مفاهیم خیلی از علوم پایه ای رایانه را بدانیم. در واقع علم کرکینگ چندان علم آسانی نیست و مشکلات زیادی در راه یادگیری این علم خواهیم داشت. به عنوان مثال لازم هست بدانیم زبان ماشین چیست ، واحد پردازش مرکزی چگونه کار می‌کند، تا حدودی با برنامه نویسی آشنا باشیم، زبان اسمبلی را بلد باشیم، ساختار فایل‌های اجرایی (PE)را بشناسیم و... . در واقع پیش‌نیازهای یادگیری علم رخنه‌گری زیاد هستند. مهندسی معکوس چیست؟
 
 

کاربرد مهندسی معکوس در الکترونیک و سخت افزار

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

 

نمونه هایی از کاربرد ها در رشته نرم افزار

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

کشف کدگذاری ها و رمزها

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

 

استفاده در مراجع قانونی

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

 

مبارزه با ویروس ها و کشف نرم افزارهای مخرب

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

تغییر در روند اجرایی و یا ظاهر یک نرم افزار

موارد زیادی ممکن است بوجود بیاید که در آنها نیاز به ایجاد تغییرات و یا اضافه کردن قابلیت های جدید به نرم افزاری داشته باشیم که سورس کد آن را در اختیار نداریم و یا اینکه شرکت پشتیبان دیگر از آن محصول پشتیبانی نمی کند. یکی از این مشکلات که در آغاز هرازه جدید بوجود آمد، مشکل سال 2000((Y2K بود که احتمالا با آن آشنا هستید. در این زمان اکثر شرکت ها و کاربران در حال استفاده از نرم افزارهایی بودند که شاید سالها مشکلات آنها را حل کرده و اطلاعات آنها را ذخیره و بایگانی کرده بودند.و پس از گذشت سال ها، شرکت های تولید کننده این نرم افزارها تغییرات زیادی کرده بودند و معمولا دیگر از نرم افزارهای قدیمی پشتیبانی نمی کردند و یا اینکه کاملا منحل شده بودند. با توجه به اینکه طراحی نرم افزار های جدید مشکلات بیشتری را در برداشت، شرکت ها و کاربران این نرم افزارها بار مالی زیادی را برای تغییر این نرم افزارها بوسیله تکنیک های مهندسی معکوس متحمل شدند. در موارد زیادی هم نیاز به ایجاد تغییرات در ظاهر نرم افزار موجود به خاطر پشتیبانی از یک زبان جدید و یا ایجاد تغیرات در لوگوها و یا سایر موارد داریم که با استفاده از روش های معمول قابل انجام نیستند. در اینگونه موارد نیز تکنیک های مهندسی معکوس به آسانی تغییرات را ایجاد کرده و اعمال می می کنند.

 

طراحی مجدد یک نرم افزار

یکی از زمینه های کاری بسیار مفید مهندسی معکوس طراحی مجدد یک نرم افزار براساس یک نمونه موجود است. معمولا این کار به دلایل زیادی از جمله تغییر سیستم عامل صورت می گیرد و کاری بسیار پیچیده و دقیق است که معمولا به صورت تیمی و توسط شرکت های بزرگ صورت می گیرد. مراحل این کار که به دو قسمت مهندسی معکوس و مهندسی مستقیم (Forwarde…) تقسیم می شود به این صورت است که ابتدا کلیه ایده ها و روش های پیاده سازی نرم افزار مورد نظر تشخیص داده شده و سپس با توجه به اطلاعات بدست آمده نرم افزار جدیدی طراحی و ایجاد می شود.

 

مستند سازی یک نرم افزار موجود

یکی از موارد کاربرد مهندسی معکوس در مستند سازی برنامه ها و یا توابع کتابخانه ای است که بدون سورس کد عرضه می شوند و مستنداتی هم برای آنها موجود نیست. یک نمونه از این موارد توابع محلی ویندوز Native API)NT) است که برای آنها جز چند صفحه اطلاعات ابتدایی چیزی ارائه نشده است و مستنداتی برای هیچ کدام از آنها از سوی شرکت سازنده یعنی مایکروسافت موجود نمی باشد.
مواردی که ذکر شد بخشی از کاربردهای مهندسی معکوس در زمینه نرم افزار بود. بدیهی است که کاربردهای این تکنیک ها تنها به موارد مذکور منحصر تمی شود و در شرایط و زمان های مختلف می توانند کاربردهای متعددی داشته باشند.
طي سالهاي اخير مقوله اي چون توسعه بازار و صادرات ازجمله مواردي بوده كه بزرگترين دغدغه خاطر مديران ارشد سازمانهاي مهندسي و توليدي را به خود اختصاص داده است. سوالي كه هميشه مطرح بوده، اين است كه چگونه مي توان دركوتاهترين زمان فاصله خودرا با كشورهاي پيشرفته كاهش داد و در بازرگاني جهاني سهم مناسبي داشت؟ بررسي كشورهايي كه مانند كشور ما فناوري را به مرور زمان به دست نياورده و در مقطعي از زمان سعي در احاطه يافتن بر آن داشته اند، نشان مي دهد كه در اولين گام، اقدام به استفاده گسترده از روش مهندسي معكوس جهت درك اوليه محصولات و سپس ساخت و ارتقاي آنها باتوجه به نيازهاي خود روش مناسبي است. اشاعه ونظارت برحسن اجراي فرايند سيستماتيك مهندسي معكوس و به كارگيري ابزارها و تكنيك هاي مهندسي در اين فرايند نيز مي تواند تاثير بسزايي در دستيابي به دانش فني محصولات توليدي (كه اكنون به دليل عدم به كارگيري به صورت سيستماتيك، محقق نشده) دركمترين زمان و با حداقل هزينه، داشته باشد.
بي شك شناخت محصول و درك عوامل موثر در مشخصه هاي آن، اولين پيش نياز بهبود كيفيت و نوآوري است كه لازمه آن درك مهندسي از مباني عملكردي قطعه است.
مهندسي معكوس براي بازيابي و تشخيص اجزاي متشكله يك محصول بويژه در صورت عدم دسترسي به طراحي اوليه كاربرد داشته و براي نگهداري، گسترش و توسعه امكانات موجود و مهندسي مجدد (RE-ENGINEERING) مورداستفاده قرار مي گيرد.
اين روش ، روش پذيرفته اي براي كشورهاي درحال توسعه به شمار مي رود. در اين فرايند ابتدا ميزان كمبود اطلاعات فني براي پشتيباني از توليد يك محصول معين مي شود. سپس با انجام يك كار تيمي منسجم، متشكل از متخصصان و محققان رشته هاي مختلف علوم پايه به همراه مديريت و سازماندهي مناسب تشكيلات تحقيقاتي و توسعه اي (R&D) سعي مي شود مدارك و نقشه هاي خاص طراحي محصول به دست آيد. با درنظر گرفتن مشخصات، هدف و شرايط طراحي محصول، استانداردهاي ملي و رايج و همچنين پوشش دادن نقاط مجهول و ناشناخته سعي مي شود مراحل نمونه سازي و نيمه صنعتي و در صورت لزوم ساخت و توليد محصول، انجام گردد.
فعاليتهاي تحقيق و توسعه به مفهوم عام هميشه دو محصول را به همراه داشته است: يكي دانش و معلومات و ديگري فناوري و فن. نقش فعاليتهاي تحقيق و توسعه در ايجاد فناوري تاحدي است كه انديشمندان گفته اند فناوري محصولي است كه دركارخانجات تحقيق و توسعه توليد شده است.
 
فناوري شاه كليد توسعه ونيرومندترين عامل تحول اقتصادي در جوامع است. در اطلس فناوري فناوري تركيب پيچيده اي از چهار عنصر، به شرح زير معرفي گرديده است.
1 - سخت افزار و ماشين آلات؛
2 - دانش فني يا ابزار اطلاعاتي؛
3 - توانائيها شامل مهارتها وابتكارات انساني؛
4 - سازماندهي و مديريت فناوري شامل مكانيسم هايي كه براي تسهيل در
ادغام موثر عناصر بالا موردنياز است. حال كه اهميت فناوري در توسعه ملي و نقش تحقيق و توسعه در دستيابي به فناوري مورد يادآوري قرار گرفت به بيان مراحل عمر فناوري ها مي پردازيم.
سيكل عمر هر فناوري شامل اين مراحل است:
مرحله طراحي؛
مرحله معرفي؛
مرحله رشد؛
مرحله بلوغ و اشباع؛
مرحله افول.
 
 

استراتژي هاي دستيابي به فناوري و محصولات

 
اصولاً براي دستيابي به فناوري به عنوان يك محصول صنعتي راههاي گوناگوني وجود دارد كه هر كشوري در هريك از زمينه هاي صنعتي باتوجه به ساختار علمي و صنعتي خود و ميزان خوداتكايي در زمينه هاي علوم و فنون، ميزان دسترسي به منابع ارزي موردنياز، مواد اوليه داخلي، نوع و كيفيت نيروهاي متخصص، روابط سياسي بين المللي و منطقه اي، آنها را به كار مي بندد. در زير انواع مهم استراتژي هاي دستيابي به محصول جديد و فناوري موردنظر را بيان مي كنيم:
1 - استراتژي نوآوري و طراحي تا توليد محصول از طريق فعاليتهاي تحقيق تا توليد؛
2 - استراتژي توسعه فناوري؛
3 - استراتژي كپي سازي ومهندسي معكوس؛
4 - استراتژي انتخاب، انتقال و بومي كردن فناوري؛
5 - استراتژي استفاده موثر از امكانات و فناوري موجود؛
6 - استراتژي خريد كارخانه و پروسه توليد به صورت تحويل كامل؛
7 - استراتژي خريد كالا و فناوري موردنظر.
ضرورت شناخت رفتار فناوري براي انتخاب استراتژي مناسب: يكي از تصميم گيريهاي استراتژيك در زمينه دستيابي به يك محصول و يا فناوري، انتخاب مناسبترين روش دستيابي به آن است كه اين تصميم گيري به مرحله رشد و توسعه آن محصــــول يا فناوري (در مهد شكل گيري و پيدايش و تكامل آن فناوري) بستگي شديدي دارد. مثلاً اگر يك فناوري در مهد پيدايش خود (كشور اوليه) در مرحله معرفي باشد، اقدام براي دستيابي به آن ازطريق انتقال فناوري كاري نسنجيده است. همچنين اگر محصول در مهد پيدايش خود در مرحله افول بوده و فناوري برتري جايگزين آن شده باشد، اقدام براي دستيابي به محصول اولي ازطريق همين استراتژي، كاري مخاطره آميز است.
اصولاً اقدام براي انتقال فناوري درمورد محصولاتي كه در مهد پيدايش خويش مرحله معرفي را سپري كرده و در مرحله رشد هستند براي كشورهاي درحال توسعه معقول تر است. در اين صورت اقدام يك كشور درحال توسعه براي دستيابي به عين اين محصول يا فناوري ازطريق استراتژي تحقيق تا توليد، امري غيراقتصادي و غيرعاقلانه خواهدبود مگرآنكه اهدافي مانند تقويت پايه هاي علمي و فني كشور مطرح باشد كه بازهم انتخاب اين استراتژي احتمالاً امري مطلوب نخواهدبود. هرچه درجه تكامل يك فناوري بيشتر باشد تا قبل ازمرحله افول و منسوخ شدن، استراتژي خريد محصول و فناوري مقرون به صرفه تر خواهدبود.

استراتژي موردنظر در اين مقاله بنابر نيازهاي تكنولوژيك كشورهاي درحال توسعه مانند ايران وجبران اين خلاء تكنولوژيك با كشورهاي پيشرفته با بيشترين سرعت، استراتژي مهندسي معكوس است كه در ادامه به بيان متدولوژي آن خواهيم پرداخت.
مهندسي معكوس يكي از روشهايي است كه شركتها با به كارگيري آن، فرايند تكوين محصول خود را سرعت مي بخشند. اين روش در كشورهاي درحال توسعه چون ايران كه ازنظر دانش طراحي محصول و فناوري توليد عقب تر از كشورهاي پيشرفته هستند، پاسخي به افزايش توان طراحي و تسريع فرايند تكوين است.
ايجاد يك روش منطقي و سيستماتيك براي تعيين ميزان كمبود اطلاعات فني براي پشتيباني از توليد يك محصول و سپس انجام يك كار تيمي منسجم براي تكميل اين اطلاعات، مجموعه عملياتي است كه در فرايند مهندسي معكوس به وقوع مي پيوندد. سطحي از اطلاعات فني موردنياز كه كليه تلاشها در راستاي تشخيص ميزان كمبود آن و سپس رفع اين كمبود اطلاعاتي است، بسته اطلاعات فني (TECHNICAL DATA PACKAGE=TDP) ناميده مي شود.
 
نکته­اي که پيش از پرداختن به بحث­هاي تخصصي مهندسي معکوس بايد مورد توجه قرار گيرد، اشاره به مباني تفکري علمي است که اين مقاله بر اساس آن شکل گرفته و تکميل شده است. در پژوهش­هاي علمي شيوه­اي به کار گرفته مي­شود که به تفکر استعاري[3] معروف است. تفکر استعاري يعني «کنار هم گذاشتن موضوعات نامرتبط و توانايي به هم ربط­ دادن اين مقولات مجزا از طريق تقويت روابط بين آنها». اساس تفکر استعاري بر انتقال دانش از حرفه­اي به حرفة ديگر استوار است. يعني ايدة اصلي در حرفه­اي کشف شده و در حرفه­اي ديگر به کار گرفته شود. اين شيوه کمک مي­کند تا با بهره­گيري از فعاليت­هاي انجام شده و استفاده از دانش موجود، مانع از اختراع دوبارة چرخ شويم (عابدي 1385؛ Nikolaenko & Vershinina 2004). حري معتقد است، تفکر استعاري در حقيقت، روايت انساني مهندسي معکوس است. يعني آنچه در علوم پايه با عنوان مهندسي معکوس شناخته شده و به کار مي­رود در علوم انساني با عنوان تفکر استعاري شناخته شده و به کار گرفته مي­شود (حاجي‌زين‌العابديني 1385). به‌کارگيري مهندسي معکوس در کتابداري و اطلاع­رساني، که در اين نوشته به آن پرداخته مي­شود نيز بر اساس آموزه­هاي تفکر استعاري صورت مي­گيرد. آموزة مورد استفاده از اين تفکر در اين مقاله، اين است که اگرچه مهندسي معکوس بيشتر در صنايع و توليدات صنعتي کاربرد دارد، اما بسياري از مولفة­هاي آن مي­تواند در علوم ديگري از جمله کتابداري و اطلاع­رساني نيز مورد استفاده قرار گرفته و منافع زيادي توليد نمايد.
کتابخانه­ها و مراکز اطلاع­رساني، هميشه با کمبود سرمايه­ها (اعم از مادي، زمان و نيروي انساني) مواجه‌اند. هم‌چنين فعاليت­ها و فرآيندها بسياري در حوزة کتابداري و اطلاع­رساني وجود دارند که اگر با ديدة مديريت تغيير و بهينه­سازي به آنها نگاه شود، امکان تغيير و تحول و بهره­وري بيشتر در آنها وجود دارد. مسأله­اي که اين پژوهش را شکل مي‌دهد اين است که چگونه مي­توان الگوهايي را از ساير حوزه­ها به کار گرفت و فعاليت­ها و فرآيندهاي کتابداري و اطلاع­رساني را به گونه­اي بهينه­سازي کرد که بيشترين بازدهي را با کمترين سرماية صرف شده داشته باشند؟ مهندسي معکوس، يکي از الگوهاي رايج و آزمايش شده در اين خصوص است که اگر به طور کامل نتواند تمامي مسائل را حل کند، اما قادر است راهکارهايي را آشکار سازد که به رفع مشکلات کمک نمايد.
مطالعة مباني و آشنايي با مفاهيم مهندسي معکوس، کمک مي­کند تا در موارد لازم آموزه­هاي آن را در فعاليت­هاي کتابداري و اطلاع­رساني به کار گرفته و با استفاده از منابع مالي، زماني و انساني کمتر، به نتايج درخور توجهي دست پيدا کنيم. بنابراين موضوع مهندسي معکوس و شيوه­هاي آن از حوزة مهندسي گرفته شده و مصاديق و کاربردهاي مترتب بر آن در حوزة کتابداري و اطلاع­رساني بررسي خواهد شد.
 
 

 پيشينة پژوهش

براي دستيابي به پيشينه­هاي مرتبط با اين پژوهش، جستجوهاي بسياري صورت گرفت. جستجوهاي انجام گرفته در پايگاه‌هاي اطلاعاتي داخلي و خارجي، چه به صورت پيوسته و چه غيرپيوسته نتايج اندکي در پي داشت. اغلب پيشينه­هاي به دست آمده در پايگاه­هاي تخصصي نيز به کاربردهاي مهندسي معکوس در محيط­هاي نرم­افزاري اختصاص داشتند. براي نمونه وضعيت پايگاه اطلاعاتي «چکيده­ مقالات کتابداري و اطلاع­رساني (1969-2005)» تشريح مي­شود. جستجو در اين پايگاه با عبارت «Reverse Engineering» صورت گرفت و در کل تعداد 21 مقاله بازيابي شد. اين مقالات همه به نرم­افزارها و پايگاه‌هاي اطلاعاتي اشاره داشتند و سه موضوع عمده را در بر مي­گرفتند که عبارت بودند از:
1.          دستيابي به کدهاي برنامه­نويسي يک نرم­افزار؛
2.          چگونگي استفاده از پايگاه­هاي اطلاعاتي که در چارچوب قانون حق مؤلف نيستند، بدون داشتن رمز عبور؛
3.          استفاده از مهندسي معکوس در نرم­افزارها و حقوق مؤلفين.
تنها پيشينة­ مرتبط با اين پژوهش که به مطالعة استفاده از مهندسي معکوس در فعاليت­هاي کتابداري و اطلاع­رساني پرداخته، مقاله­اي است با عنوان «توليد منابع مرجع رايانه­اي با بهره­گيري از فنون مهندسي معکوس» (توکلي­زاده راوري 1382). اين مقاله به دو بخش تقسيم شده است. در ابتدا مباحث گسترده­اي در خصوص منابع مرجع مطرح كرده و به مسائلي نظير توسعة نظام­هاي مرجع، بازيابي و مسائل نظام­هاي مرجع جديد اشاره کرده است. در ادامه مهندسي معکوس معرفي شده و در نهايت به موضوع توليد منابع مرجع با استفاده از مهندسي معکوس پرداخته است.
تعاريف مهندسي معکوس به دو دستة اصلي تقسيم مي­شوند که عبارتند از تعاريف عام و تعاريف مهندسي معکوس نرم­افزار. مهندسي معکوس نرم­افزار، اگرچه در دايرة شمول عامِ مهندسي معکوس مي­گنجد اما به دليل نيازهاي فراوان کاربران و کاربردهاي زياد آن در دوران اخير، به عنوان قلمرويي گسترده و به‌نسبت مستقل مطرح شده است. تعاريف تخصصي و توضيح اين نوع از مهندسي معکوس در قسمت مربوطه در ادامة اين نوشته ذکر خواهد شد و در اين قسمت به مباحث عام مهندسي معکوس اشاره مي­شود.
 
«کشف اصول فناورانة يک محصول يا نظام از طريق مطالعة ساختار، کارکرد يا وظايف آن. در اين عمل بيشتر محصولي مانند يک وسيلة مکانيکي، دستگاهي الکترونيکي يا برنامه­اي نرم­افزاري، مورد بررسي قرار گرفته و جزئيات عملکرد آن مورد مطالعه قرار مي‌گيرد. به‌طور معمول اين بررسي با اين هدف صورت مي­گيرد که وسيله­ يا برنامه­اي جديد ساخته شود تا عملکردي مشابه محصول اوليه داشته باشد بدون اينکه کپي صِرف آن محصول باشد.»
سرعت تغيير در دنياي مدرن امروز، به طور مداوم فشار براي ارائة طرح­هاي جديدتر را بيشتر مي­کند. صاحبان صنايع و دست­اندرکاران توليد، از يک سو با تقاضاي رو به افزايش مشتريان براي محصولات جديدتر و متنوع­تر مواجه­اند و از سوي ديگر با محدوديت منابع، امکانات و از همه مهم‌تر زمان و ايده­هاي نو رو به رو هستند. مهندسي معکوس به دليل ايجاد ميانبر، به راحتي برخي از محدوديت­هاي ذکر شده، به خصوص مهم‌ترين آنها يعني دستيابي به طرح­ها و ايده­هاي نو را از پيش رو بر مي­دارد.
مهندسي معكوس با كالا آغاز مي‌شود و به فرآيند طراحي مي‌رسد؛ اين مسير مخالف روش توليد است و به همين علت آن را مهندسي معكوس ناميده‏اند. به وسيلة اين روش بيشترين اطلاعات ممكن و‏ ايده‏هاي مختلف طراحي كه براي توليد يك كالا لازم است به دست مي‏آيد. از اين طريق، هم مي‌توان كالا را دوباره توليد كرد و هم مي‌توان از ايده‏هاي مفيد آن براي توليد كالاهاي جديد بهره برد. اجراي اين روش، متكي به وجود نمونه‌هايي از محصول است كه مبناي كار پژوهش­هاي بعدي قرار مي‌گيرد. در اين روش، براي دستيابي به دانش فني، به برون‌آوري اطلاعات فني از طريق تجزية محصول مي­پردازند كه به‌اصطلاح «اكتشاف دانش فني» ناميده مي‌شود. در اين فرآيند كارشناسان مربوطه، مشخصات، هدف و شرايط طراحي محصول را در نظر گرفته و سعي در ساخت و توليد محصول طبق استانداردهاي ملي و رايج خود دارند. نقاط مجهول و ناشناختة فرآيند را نيز، بدون اينكه از ابتدا درگير جزئيات فني ايجاد و طراحي محصول شده باشند، با بررسي­هاي كارشناسي و مطالعه پوشش مي‌دهند. شايد بتوان از مهندسي معكوس به عنوان نسخه‌برداري آگاهانه از يك محصول نام برد 
دشوارترين بخش در فرآيند توليد، قسمت پژوهش و مطالعه براي دستيابي به دانش نظري و عملي توليد است. بخش اجرايي اگر چه نقش مهمي دارد اما به منزلة روبنايي است که بر روي دانش نظري بنا نهاده مي­شود. براي توليد يک محصول، مدت زمان زيادي طول مي­کشد تا متخصصين علوم مختلف پس از مطالعة فراوان و کنترل همة عوامل مداخله­گر به دانش و تجربة کافي دست يافته و محصولي با کيفيت را به بازار عرضه کنند. اغلب کشورها توانايي لازم براي انجام چنين بررسي­هايي را ندارند. اما با استفاده از مهندسي معکوس، با سرعت بالا و هزينه و زمان کمتر، قادر هستند محصولاتي مشابه توليد کنند. اين روشي است که بسياري از کشورهاي توسعه يافته کنوني نظير ژاپن و چين به کار گرفته و به موفقيت­هاي چشمگير صنعتي نيز دست يافته­اند. اگر سابقة صنعت و چگونگي رشد آن را در كشورهاي جنوب شرقي آسيا مطالعه كنيم، به اين نتيجه خواهيم رسيد كه در كمتر مواردي اين كشورها داراي ابداعات فناورانه بوده‌اند و بيشتر، كشورهاي غربي (امريكا و اروپا) در اين زمينه به عنوان پيشرو شناخته شده‌اند 
 
نکتة جالب اين است كه، مهندسي معكوس حتي توسط سازندگان اصلي نيز ممكن است به كار گرفته شود. زيرا به دلايل متعدد، نقشه‌هاي مهندسي اوليه با ابعاد واقعي قطعات (به ويژه زماني كه قطعات سال‌ها پيش طراحي و ساخته و به دفعات مكرر اصلاح شده باشند) مطابقت ندارد. .
ويژگي اصلي مهندسي معکوس، يعني فرآيند کشف دلايل رخ دادن اتفاقات يا روند توليد محصولات، باعث شده است که اين روش کاربردهاي زيادي در زندگي امروزي انسان پيدا کند (Sokovic & Kopac 2005).
يافته­هاي علمي و دستاوردهاي مبتني بر فناوري که ضرورت امروز زندگي بشر هستند به راحتي قابل حصول نبوده و دستيابي به آنها تابع شرايط و امکانات خاصي است. هر کشوري با توجه به ساختار عمومي و شرايط علمي و صنعتي خود، براي دستيابي به فناوري­هاي نوين شيوه­اي را انتخاب کرده و به كار مي­بندد. اين شيوه­ها انواع متنوعي چون: خط‌مشي تحقيق تا توليد، خط‌مشي انتقال و بومي­سازي فناوري، خط‌مشي خريد كارخانه، خط‌مشي خريد كالا و فناوري مورد نظر و در نهايت خط‌مشي مهندسي معكوس را در بر مي­گيرند. از بين خط‌مشي‌هاي ذکر شده، يکي از راه­حل­هاي اساسي براي رويارويي با چالش توليد محصولات، بهره­گيري از شيوة مهندسي معکوس بوده است. مهندسي معکوس کمک کرده است تا با وجود كمبود شرايط لازم و کافي براي توليد محصولات مورد نياز يک جامعه، امکان توليد آنها فراهم آيد.
انگيزه­ها و دلايلي که باعث اقدام به مهندسي معکوس مي­شود نيز متفاوت است. گومولکيوئيز و ويليامسون بخشي از انگيزه­هاي فردي خود و همکاران را براي اقدام به مهندسي معکوس مواردي چون فراگيري شخصي، شناسايي نقايص توليدات ديگر و يافتن راه­هاي رفع آنها، قابل انطباق ساختن توليدات خود با توليدات ديگر (قابليت کار کردن با توليدات ديگر) و برخي انگيزه­هاي ديگر بيان مي­کنند.
 
 

 موارد کاربرد مهندسی معکوس

 

کاربردهاي مهندسي معکوس در علوم مختلف

مهندسي معکوس و آموزه­هاي آن به اشکال گوناگون در زندگي انسان نقش داشته و مورد استفاده قرار مي­گيرند. هر فرآيندي که به کشف اجزا و ريشة يک موضوع ختم شود، فنون مهندسي معکوس را با خود به همراه دارد. به اين معنا که در عوض حرکت طبيعي به جلو، بر عکس حرکت کرده و از نتايج يا محصولات موجود، به کشف دلايل يا ريشه­هاي مسائل پي مي­بريم. البته ممکن است متخصصي که در کار خود از مهندسي معکوس استفاده مي‌کند، مطلع نباشد که شيوه­اي که به کار مي­برد مهندسي معکوس است اما در عمل اين شيوه را به کار مي­گيرد.
چنان­که ذکر شد، اگر چه بهره­گيري از مهندسي معکوس در فنون مهندسي رواج دارد، اما در علوم مختلف نيز حضور داشته و از آن استفاده­هاي فراواني مي­شود. به منظور روشن‌تر شدن موضوع، در ادامه تلاش خواهد شد به برخي از مصاديق حضور مهندسي معکوس در علوم مختلف از جمله پزشکي، نانوفناوري[9] و روانشناسي، به عنوان نمونه اشاره مختصري بشود.
 


مهندسي معکوس و پزشکي

يکي از کاربردهاي مهندسي معکوس در پزشکي است. معاينة پزشکي و به‌طور کلي فرآيندهاي تشخيصي در اين علم، مبتني بر مهندسي معکوس است. وقتي پزشکي يک بيمار را معاينه مي­کند و اندام­هاي مختلف را مورد بررسي قرار مي­دهد و در خصوص نوع تغذية بيمار، سابقه درد يا بيماري و ساير علائم پرس و جو مي­کند، در حقيقت فنون مهندسي معکوس را به کار مي­گيرد. اگر بيماري را يک محصول فرض کنيم که حاصل مجموعه­اي از عوامل يا شرايط مختلف است، پزشک تلاش مي­کند تا به شيوه­هاي تشخيصي خود آن را تجزيه و تحليل کرده و به عوامل ايجاد آن دست پيدا کند. اين فرآيند درست مطابق فرآيند مهندسي معکوس است که از محصول آماده به اجزا و طرح آن محصول دست مي­يابند.

 

مهندسي معکوس و نانوفناوري

فناوري نانو، واژه‌اي است كلي كه به تمام فناوري­‌هاي پيشرفته در عرصة كار با مقياس نانو اطلاق مي‌­شود. به‌طور معمول منظور از مقياس نانو ابعادي در حدود 1 تا 100 نانومتر است. در نانوفناوري، مواد را تجزيه مي­کنند تا به ذرات تشکيل‌دهندة آنها دست پيدا کنند. پس از شناسايي و دستيابي به عناصر تشکيل دهندة يک ماده، به مهندسي مجدد براي توليد محصول جديد اقدام مي­شود. به اين معنا که مبتني بر نياز موجود براي توليد محصولي جديد با کيفيت متفاوت، ذرات به دست آمده با هم ترکيب شده و از اين طريق محصولاتي توليد مي­شود که ممکن است هيچ ارتباطي با محصول اوليه، که ذرات به دست آمده حاصل از تجزيه آن است، نداشته باشند. براي نمونه از تجزيه مولکول­هاي پنير، شيشه­هاي نشکن توليد مي­شود. در تمامي فعاليت­هاي نانوفناوري، حضور مهندسي معکوس احساس مي­شود. زيرا براي دستيابي به مواد اوليه­اي که در اين فناوري مورد استفاده قرار مي­گيرد، ضروري است که موادي تجزيه شوند و اجزاي سازندة آنها شناسايي و مورد استفاده قرار گيرد.

 

مهندسي معکوس و روانشناسي

يکي ديگر از حوزه­هايي که در آن از مهندسي معکوس استفاده مي­شود، روانشناسي است. در روانشناسي براي رفع بسياري از اختلالات روحي و رواني از شيوه­اي به نام روانکاوي استفاده مي­شود. در روانکاوي تلاش مي­شود فرد را تشويق کنند تا آنچه در ارتباط با مشکل خود از گذشته در خاطر دارد را، به ياد آورد. براي دستيابي به نتايج بهتر، با استفاده از پرسش­ها يا شيوه­هاي تشخيصي تخصصي، بيمار را تشويق مي­کنند تا زواياي پنهان ذهنش را بکاود و آنچه را به ياد مي­آورد، بازگو کند. آنچه را نيز که ممکن است بيمار به ياد نياورد با استفاده از روش­هاي خاص، از ذهن او بيرون مي­کشند. در روانکاوي نيز هدف، بررسي و تجزية رفتارها و عمليات ذهني است تا از اين طريق به ريشة يک مشکل روحي و رواني پي برند. پس از شناسايي تمامي اجزاي رواني يک بيمار، روانشناس مي­کوشد تا رفتار فرد را بدون حضور عامل يا عوامل مخرب، دوباره­سازي کند. در واقع با تجزية عوامل و استفادة مجدد از همان عوامل و حذف عوامل ناسالم، به مهندسي مجدد رفتار يا شخصيت يک فرد پرداخته مي­شود 
 
تفاوت مهندسي معکوس در حوزة مهندسي با ساير حوزه­ها در مراحل بعد از مهندسي معکوس است. در مهندسي، به اين دليل به مهندسي معکوس مي­پردازند که بعد از آشنايي و تسلط بر اجزاي تشکيل دهندة يک محصول، با استفاده از مهندسي مستقيم و مهندسي مجدد، به توليد دوبارة آن محصول بپردازند. اما در علومي مانند پزشکي، روانشناسي، فلسفه و غيره تنها از فرآيند تجزيه و تشخيص آن استفاده مي­شود. به اين معنا که يک پزشک براي ايجاد دوبارة يک بيماري به معاينه اقدام نمي­کند. بلکه براي شناسايي اجزا و عوامل ايجادکننده، از مهندسي معکوس استفاده کرده و پس از رفع آن عامل، در حقيقت اندام را  بازسازي و سالم­سازي مي­نمايد.

 

 روش­ها و فرآيندهاي مهندسي معکوس

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

 

 بيونيک

يعني اينکه براي ايجاد يک فناوري از طبيعت الهام گرفته شود. به عبارت ديگر هنر به کار گرفتن دانش نظام­هاي زنده براي حل مسائل فني است. بيونيک علم ساختارهايي است که شالودة آنها نظام­هاي زنده­اند يا خصوصيات نظام­هاي زنده را دارند، يا به آنها مي­مانند.

 

تکتونيک

اين شيوه معروف­ترين شيوة مهندسي معکوس است و به معناي ايجاد محصولي جديد از روي يک نمونه از محصول موجود است. در اين روش يک محصول کامل و موجود تجزيه مي­شود تا اجزا و شيوة ساخت آن شناسايي شود. پس از شناسايي، نسخة جديد يا کپي‌شده­اي از محصول اولية ارائه مي­شود

 

انتقال فناوري

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

کارخانة توليدي

در مواردي که لازم است محصولي توليد شود و آن محصول توسط روش­هاي مهندسي معکوس شناسايي و آماده توليد است، بايد امکاناتي تدارک ديده شود که توليد انبوه آن محصول امکان­پذير شود. در اين موارد هنگامي كه امکان دستيابي رسمي به کارخانه توليدکنندة محصول وجود نداشته باشد، با استفاده از شيوه­هاي مهندسي معکوس افزون بر محصول مورد نظر، به کار مهندسي معکوس بر روي کارخانة سازنده نيز اقدام کرده و در نهايت کارخانة توليد يک محصول شناسايي و پس از طي فرآيندهاي تجزيه و تحليل، از طريق مهندسي مستقيم و مجدد، بازسازي مي­شود .
افزون بر روش­هاي مهندسي معکوس، بخش مهم ديگري که در خصوص مهندسي معکوس قابل اشاره است، فرآيندها و مراحل آن است. براي اينکه يک محصول بر اساس روش­هاي مهندسي معکوس مورد تجزيه و تحليل و دوباره­سازي قرار گيرد، بايد مراحل و فرآيندهايي را طي کند که، بسته به نوع نمونة موجود و هدف از اعمال مهندسي معکوس بر روي آن، ممکن است متفاوت باشند.
اما عناوين مهم‌ترين آنها عبارتند از:
تجزيه ‌و تحليل عملكردي - اقتصادي
تجزيه و تحليل عملكرد و بازتوليد محصول
تجزيه و تحليل سخت‌افزاري و نرم‌افزاري
بهبود محصول و تجزيه و تحليل ارزش
برنامه‌ريزي فرآيند توليد و تهية ملزومات تضمين كيفيت
تهية مستندات نهايي 


 

مزاياي روش مهندسي معکوس نسبت به روش مهندسي مستقيم

همان­گونه که ذکر شد، شيوة رايج براي ساخت و توليد محصول را مهندسي مستقيم و رسيدن از محصول آماده به شيوه و اجزاي ساخت آن را مهندسي معکوس مي­نامند. بين اين دو شيوه، تفاوت­هايي وجود دارد که به برخي از مهم‌ترين آنها اشاره مي­شود.  در روش مهندسي معکوس، محصولي که قرار است توليد شود، در دسترس است و وجود تنها يک نمونه از محصولي که قرار است توليد شود، کافي است. يعني جواب مسأله معلوم است ولي راه رسيدن به آن جواب معلوم نيست. اما در روش طراحي مستقيم، در ابتدا هيچ ايده و حتي طرح کلي نسبت به محصول نهايي و اجزاء به کار رفته در آن، وجود ندارد و همگي بايد توسط پژوهشگر و طراح، طراحي شوند.
 در روش مهندسي معکوس، اطمينان بيشتري وجود دارد که به يک محصول با کيفيت و مناسب دست پيدا کنيم و اين به دو دليل است:
. مشخصات نهايي محصول در عمل و در زمان استفادة واقعي، توسط طراحان و سازندگان اوليه تثبيت شده است؛
. راه رسيدن به اين محصول با توجه به مشخصات فني بالا به‌طور كامل مشخص و هموار شده است.
 با توجه به اينکه در محصولات توليدي، جهت سهولت و کيفيت توليد، قطعات و مجموعه­هاي استاندارد شده به کار مي­رود، در صورت استفاده از مهندسي معکوس، به جاي بررسي و تعيين استانداردها براي اجزاي مختلف، تنها شناخت و طبقه­بندي کردن اين استانداردها مورد نياز خواهد بود. در نتيجه سرعت عمل زيادي در اجراي طرح حاصل مي­شود .
دسترسي به روش­هاي ساخت و ويژگي­هاي قطعات، کاري زمان­بر و هزينه­بر به شمار مي­آيد. دستيابي به کيفيت قطعات توليد شده، هزينه­ها را بالا مي­برد و براي مقرون به صرفه بودن توليد، تلاش بسياري نياز است. به دليل اينكه در مهندسي معکوس با استفاده از مشخصات واقعي قطعات، نسبت به کشف فرآيندهاي توليد قطعات اقدام مي­شود، نياز به پژوهش­هاي زمان­بر و هزينه­بر فراوان در اين زمينه منتفي مي­شود و توليد محصولات مقرون به صرفه خواهد شد.  هر فناوري نويني، نتيجة سال­ها تکامل و تطبيق با شرايط مختلف است که اکنون در اختيار ما قرار گرفته است. در مهندسي معکوس، ضمن رفع نقايص محصولات موجود، به توليد محصولي مطابق با نياز مشتريان و منطبق با علم روز اقدام مي­شود. بنابراين با سرعت بيشتري مي­تواند در بين مشتريان رواج يافته و دغدغه­هاي بازاريابي کمتري را براي صاحبان محصول در پي داشته باشد.
 
 

مهندسي معکوس رايانه­اي

همان­گونه که پيشتر ذکر شد، با توجه به کاربرد فراوان رايانه در دنياي کنوني، مهندسي معکوس رايانه­اي، به عنوان شاخه‌اي مهم ايجاد شده و کاربردهاي زيادي پيدا کرده است.  دربارة مهندسي معکوس نرم­افزاري چنين آمده است: «منظور از مهندسي معکوس در اين زمينه (نرم­افزار) به زبان ساده چنين است که شما نرم­افزاري داريد که کدهاي منبع آن را براي برخي عملياتي فراتر از آنچه در اختيارتان قرار داده شده، در اختيار نداريد». در تعريف ديگري پرسمن مهندسي معکوس نرم­افزار را چنين تعريف کرده است: «فرآيند تجزية يک برنامة رايانه­اي، و دسترسي به کد منبع آن، به منظور ساخت برنامه­اي سطح بالاتر. به عبارت ديگر، مهندسي معکوس، فرآيند بهبود طراحي يک برنامه است».
استفادة فراوان از رايانه و برنامه­هاي رايانه­اي در تمامي فعاليت­هاي روزمره، طراحي و ايجاد برنامه­هاي مناسب رايانه­اي را به يکي از چالش­هاي مهم طراحان اين برنامه­ها تبديل کرده است. مهندسي معکوس در حوزة نرم­افزارها و برنامه­هاي رايانه­اي، بر اساس هدفي که بر آن مترتب است، دو کاربرد عمده دارد. نخستين کاربرد آن، دستيابي به اصول طراحي و ساخت برنامه‌اي رايانه­اي به منظور بازسازي آن برنامه يا نگارش برنامه­اي جديد، با بهره‌گيري از برنامة نمونه است. کاربرد ديگر مهندسي معکوس نرم­افزاري، کاربردي غيرمستقيم است. به اين معنا که در حال حاضر بيشتر وسايل زندگي بشر، از وسايل خانگي گرفته تا تجهيزات پيشرفتة فضايي و پزشکي، همه بر مبناي فناوري رايانه کار مي­کنند. بنابراين، بسياري اوقات عمل مهندسي معکوس به منظور دستيابي به کدهاي منبع برنامة رايانه­اي يک دستگاه يا محصول خاص اتفاق مي­افتد. در مورد اخير، مهندسي معکوس نرم‌افزاري به عنوان جزئي از فرآيند مهندسي معکوس يک محصول به شمار مي­آيد. اما در مورد نخست، عمل مهندسي معکوس براي دستيابي به شگردها و جزئيات نگارش و ايجاد يک برنامه، يا به‌کارگيري يک زبان برنامه­نويسي براي دستيابي به مقاصد خاص اتفاق مي‌افتد. به عبارت ديگر در کاربرد نخست هدف، برنامه است اما در کاربرد دوم هدف، برنامه رايانه­اي به کار رفته در يک محصول است.
گستردگي فعاليت­هاي مبتني بر رايانه، باعث توسعة مهندسي معکوس برنامه­هاي رايانه‌اي شده است و زيرشاخه­هاي متنوعي را براي آن ايجاد کرده است. اين نوع مهندسي معکوس را مي­توان به دو گروه اصلي به‌نام «روش­هاي جعبه سفيد» و «روش­هاي جعبه سياه» تقسيم كرد. در روش­هاي جعبه سفيد، روال­ها و منطق کاري يا تجاري با استفاده از روش­هاي دقيق تجزيه و تحليل، از داخل کد برنامه­ها استخراج مي­شوند. اين روش­ها نيز خود به دو بخش «مهندسي معکوس پايگاه داده­ها»و «مهندسي معکوس برنامه­ها» قابل تقسيم هستند. در حال حاضر دامنه و امکانات روش­هاي مهندسي معکوس پايگاه داده­ها به‌طور كامل شناخته شده­اند و راه­حل­هاي موجود در اين زمينه كم و بيش به حد بلوغ خود رسيده­اند. در نتيجه هم‌اکنون امکان توليد ابزارهاي خودکار در اين زمينه فراهم شده است. اين موضوع در مورد روش­هاي مهندسي معکوس برنامه­ها صادق نيست­. به عبارت ديگر، با وجود پيشرفت­هايي که در زمينه تجزيه و تحليل برنامه­ها حاصل شده است، هنوز درک مفاهيم نهفته در کد آنها کار ساده­اي نيست و دامنه و امکانات اين روش­ها هنوز به اندازه کافي شناخته شده نيستند و بسياري از مسائل مربوطه، هنوز حل نشده باقي مانده است.

 

مهندسي معکوس در کتابداري و اطلاع­رساني

همان­گونه که در مباحث قبلي ذکر شد و تا حدودي مشخص گرديد، مي­توان گفت که مهندسي معکوس، كم و بيش در تمامي فعاليت­هاي بشر حضور و نقش دارد. حوزة کتابداري و اطلاع­رساني نيز جداي از اين قاعده نيست و مي­توان مصاديقي از مهندسي معکوس را در بخش­هايي از آن مطرح کرد. اگر چه به استناد تارنماي (سايت) انجمن کتابداري آمريکا مهندسي معکوس در مفاهيم کتابداري محور نيست اما نمي­توان گفت که به‌طور كامل بي­ربط و بيگانه است.
در کتابخانه، وقتي ما منبعي را خريداري مي­کنيم، در حقيقت محصولي آماده را خريداري کرده و براي استفاده وارد مجموعه کتابخانه مي­کنيم. اگر بخواهيم موضوع مهندسي معکوس را در محيط کتابخانه جستجو کنيم و مصاديقي براي آن بيابيم، در ابتدا به نوع خاصي از مهندسي معکوس خواهيم رسيد. به اين معنا که در مهندسي معکوس يک محصول آماده را گرفته و بر اساس تجزيه و شناخت اجزاي آن محصول، به ساخت مجدد آن مي­پردازيم. با اين تفاوت که اين بار خودمان و حتي با هزينة کمتر و در مواردي با کيفيت برتر آن را ساخته­ايم. در برخي موارد هم براي ارتقاي کيفيت يا اصلاح اشکالات احتمالي به انجام مهندسي معکوس اقدام مي­شود. در اين صورت، پس از جداسازي محصول آماده و پي بردن به ساختار و روش توليد آن، با دست‌کاري در دستور ساخت يا تغيير مواد اوليه به توليد محصول بهتر يا متناسب با نياز اقدام مي­شود.
اما در حوزة کتابداري و اطلاع­رساني، ممکن است حاصل عمليات مهندسي معکوس، توليد محصولي جديد نباشد؛ بلکه گاه تنها دستيابي به ريشه­ها و علل مدنظر است يا گاهي فقط به تجزيه محصول يا عملياتي پرداخته مي­شود تا تنها يک جز آن شناسايي شده و به عنوان مادة اوليه، براي فعاليت­هاي ديگر به کار گرفته شود.
در ادامه به برخي از کاربردهاي مهندسي معکوس در سازماندهي اطلاعات، بخش مرجع، فعاليت­هاي رايانه­اي کتابداري و مطالعات رفتار اطلاع­يابي اشاره مي­شود. لازم به ذکر است که اين موارد تنها براي آشنايي و روشن شدن اذهان مورد اشاره قرار گرفته­اند و نبايد به معناي تمامي کاربردهاي مهندسي معکوس در کتابداري و اطلاع­رساني تلقي شوند. هر کتابداري در حيطة وظايف خود قادر خواهد بود پس از آشنايي با مباني مهندسي معکوس، کاربردهاي فراوان ديگري از آن را شناسايي کرده و به کار گيرد.

 

مهندسي معکوس در سازماندهي اطلاعات

يکي از کاربردهاي مهم مهندسي معکوس در عالم کتابداري و اطلاع­رساني، در بخش سازماندهي اطلاعات اتفاق مي­افتد. اگر ما يک کتاب، يک لوح فشرده يا حتي يک تارنما را به‌عنوان محصولي آماده در نظر بگيريم، بايد ببينيم که مهندسي معکوس چگونه در مورد آن اتفاق خواهد افتاد. محصول آماده­اي که در اختيار ما قرار مي­گيرد، واجد تمامي خصوصيات يک محصول آماده است که براي هدفي مشخص تهيه شده است. حال مسأله­اي که با آن رو به رو هستيم اين است که در يک کتاب (به همان معني عام که شامل تمامي محمل­هاي اطلاعاتي است) موضوعات و مقوله­هاي متفاوتي مطرح مي‌گردند که هر بخش آن ممکن است متناسب با نياز کاربري خاص باشد. درست است که تمامي يک کتاب، کليتي را تشکيل مي‌دهد که براي هدفي خاص تهيه شده، اما اين کل از اجزايي تشکيل شده است که قادرند به تنهايي پاسخ­گوي نياز کاربران باشند. از سوي ديگر، براي قابل دسترس کردن محتواي اين کتاب ناگزير از بهره­گيري از شيوه­هاي سازماندهي موجود هستيم. شيوة معمول سامان­دادن به منابع در کتابخانه­ها، روش­هاي شناخته شده فهرستنويسي، رده­بندي، نمايه­سازي و چکيده­نويسي است.
 
reverse
 
 

 

براي سازماندهي، ابتدا محصول آماده، يعني کتاب را مورد تجزيه و تحليل قرار مي‌دهند. از آنجايي‌که هر اثر توليدشده به صورت انتزاعي قابل ارزش‌گذاري نيست و در کنار ساير آثار مشابه و در مقايسه با آنها مي­توان موضع آن را تشخيص داد، کتابخانه ناگزير است آن را در مقوله­اي مناسب و در جوار ديگر توليدات مشابه قرار دهد اين تجزيه و تحليل به بررسي تمام ابعاد، جنبه­ها و ويژگي­هاي يک اثر پرداخته مي­شود که دو بخش اصلي دارد. بخش نخست که به توصيف اثر مي­پردازد و در حال حاضر موضوع بحث ما نيست. بخش دوم، که به مراتب مهم‌تر است، به درون اثر و محتويات آن توجه دارد که در اين نوشته بيشتر مد نظر است. کتابخانه بر آن است که محل مناسب دانش بروزيافته را با توجه به نوع مباحث، شيوة ارائه، محمل و مجراي خاصي که برگزيده است و نيز نظامي که از پيش، جهت سامان­دهي دانش براي خود تعريف کرده است، تعيين کند 
در فهرستنويسي تحليلي، محتواي اثر زير ذره­بين قرار مي­گيرد و به ابعاد و اجزاي آن توجه مي­شود. پس از بررسي و به مدد شيوه­هاي استاندارد و دانش حاصل از تجربه، اجزا و ابعاد محتوايي اثر تشخيص داده شده و تفکيک مي­شوند. پس از اينکه اثر به اجزاي مجزا تفكيك شد و مرزي بر اساس ادلة موجود و حدس و گمان براي هر يک از اجزا ترسيم گرديد، بخش بعدي کار آغاز مي­شود. همان­گونه که ذکر شد، در اين نوع از مهندسي معکوس، هدف، توليد محصولي مشابه محصول اوليه نيست، بلکه مقصود اين است که اجزاي تفكيك شده که از تجزية اثر اصلي به دست آمده­اند به قِسمي مورد استفاده قرار گيرند که دستيابي به اثر مورد نظر را تسهيل نمايند. حال بايد با مواد اولية به دست آمده از تجزية اثر مورد اشاره، به توليد محصول مورد نظر پرداخت. در حقيقت در عالم کتابداري و اطلاع­رساني به گونه­اي استعاري تمامي آثار بدون اينکه به ظاهرشان لطمه­اي وارد شود، تکه تکه مي­شوند و هر تکه در کنار تکه­هاي هم‌موضوع خود قرار مي­گيرد.
توليد محصول جديد در اين بخش از کتابداري و اطلاع­رساني بدين­گونه است که اجزاي به دست آمده، با معماري جديد در کنار هم قرار مي­گيرند و اثري جديد را به وجود مي‌آورند. اين اثر جديد با وجود اينکه واجد خصوصيات اثر اصلي است اما شباهت چنداني با آن ندارد. محصول پديد آمده بر اثر اين جرح و تعديل، همان چيزي است که در علم کتابداري و اطلاع­رساني با عنوان «فهرست موضوعي» از آن ياد مي­کنيم. در يک فهرست موضوعي کتابخانه، در واقع بخش­ها و اجزاي جداشده منابع کتابخانه در کنار هم قرار گرفته­اند و هر يک محصولي در موضوع مورد نظر ايجاد کرده­اند. براي نمونه در يک کتابخانة فرضي علوم پايه ممکن است کتاب­هايي وجود داشته باشند که در تمامي آنها به موضوعاتي چون فيزيک، شيمي، زيست­شناسي و رياضيات پرداخته شده باشد. حال بر اساس معيارهاي مهندسي معکوس، هر يک از اين کتاب­ها مورد بررسي قرار گرفته و موضوعات هر يک جدا مي­شوند. سپس هر يک از موضوعات به صورت مستقل، به فهرست موضوعي کتابخانه مي­پيوندند و محصولي که همان رده­هاي موضوعي فيزيک، شيمي يا رياضيات باشند را تشکيل مي­دهند. اين رده­هاي موضوعي ايجاد شده، افزون بر اينکه از خود آثار به‌دست آمدند و خصوصيات اثر اصلي را با خود دارند، دستيابي به اثر مورد نظر را نيز امکان­پذير مي­نمايند.
محصول خلق شده به اين طريق، به ويژه در محيط کتابخانه­هاي موجود، هم به لحاظ مفهومي و هم به لحاظ فيزيکي مصداق دارد. يعني اينکه کتاب­هاي کتابخانه بر اساس اجزاي موضوعي مختلف خود در فهرست موضوعي کتابخانه، در کنار هم قرار گرفته و در قفسه­هاي کتابخانه نيز بر اساس موضوعات تشکيل دهندة خود در کنار هم قرار مي­گيرند.
در ارائة خدمات، کتابخانه تنها به اين بسنده نمي­کند که آثار را به همان صورت که توليدشده و تنها از مجراي توليدکننده به جوينده عرضه نمايد، بلکه کار عمده­اي که صورت مي­گيرد آن است که نشان دهد در باب هر مبحث يا موضوع چه اطلاعاتي را در کتابخانه مي­توان يافت. ممکن است برخي از آنها هماني باشد که جوينده در صدد يافتن آن است و برخي ديگر ربطي به خواسته او نداشته باشد. در چنين حالتي، تمامي پاره­هاي دانش سامان­يافته در کتابخانه نقش «داده­»هايي را پيدا مي­کنند که ارزش­گذاري «اطلاعات» آنها تابع موقعيت، زمان، مکان و مسألة خاص مورد نظر جوينده است. فهرست­ها، نمايه­ها و کلية نمادهايي که خود را معرف محتواي متن مي­دانند و زباني که بر مي­گزينند در جهت ايجاد ارتباط ميان نظام ذهني جوينده و نظام محتوايي کتابخانه است، جزو چنين پيش‌داده‌هايي محسوب مي‌شوند. در اينجا ديگر زبان متن تنها مؤلفة ارتباطي تلقي نمي­شود، بلکه تناسب زبان انتخاب­شدة کتابخانه با زبان جويندگان محتمل نيز نقش پيدا مي­کند .
 
در بسياري از موارد، بر اساس معيارهاي سازماندهي اطلاعات، شماره­اي يا موضوعي به اثري داده مي­شود و مؤلف اثر نيز اطلاع ندارد کاري که انجام داده در اين شاخة موضوعي، يا ساختار قرار مي­گيرد. اما کتابداران با بهره­گيري ناخودآگاه از آموزه­هاي مهندسي معکوس و استفاده از ابزارهاي تخصصي، نظير سرعنوان­هاي موضوعي، اصطلاحنامه­ها و طرح­هاي رده­بندي، قادر هستند که اين کار را انجام دهند.
مهندسي معکوس در رده­بندي، به‌عنوان بخشي از سازماندهي اطلاعات، کاربردهاي اندکي دارد. زيرا عمل مهندسي معکوس در سازماندهي اطلاعات بيشتر در بخش­هاي فهرست‌نويسي و نمايه­سازي که وظيفه تجزيه و تحليل دانش را بر عهده دارند، صورت مي‌گيرد. در واقع، در رده­بندي با يک محصول آماده و بسته­بندي شده که حاصل فهرست‌نويسي يا نمايه­سازي است سروکار داريم که بايد جايي را به آن اختصاص دهيم. اين مکان­يابي، نياز چنداني به آموزه­هاي مهندسي معکوس ندارد .

 

مهندسي معکوس در خدمات مرجع

وقتي در بخش مرجع کتابخانه پرسشي مطرح مي­شود، کتابدار با مصاحبة مرجع، پرسش را تجزيه کرده و بر اساس آن پرسش اوليه سئوالاتي را طرح مي­کند که محصول همان پرسش اوليه هستند. در واقع با اين شيوه يک پرسش کلي که در ابتدا مطرح شده، به اجزا تبديل مي­شود و از اجزاي به دست آمده پرسشي جديد به وجود مي­آيد که به تشخيص موضوع مورد نظر کاربر کمک کرده و روند ارائة خدمات مرجع را تسهيل مي­نمايد. اين شيوة رسيدن به منظور و مقصود مخاطب، از طريق پرسش­هاي مرجع، به گونه­اي تداعي­کننده شيوه­هاي تجزيه و تحليل محصول در مهندسي معکوس است.
يکي ديگر از کاربردهاي مهندسي معکوس در بخش مرجع يک کتابخانه، در زمينة توليد منابع مرجع مناسب و مبتني بر نياز استفاده­کنندگان است. در حالت معمول، منابعي که به تشخيص کتابداران و بر اساس معيارهاي کتابداري براي بهره­گيران يک کتابخانه مناسب تشخيص داده مي­شوند تهيه و براي ارائة خدمات آماده مي­شوند. در اين حالت تمامي کاربران کتابخانه، بايد نيازهاي متفاوت خود را با اتکا به اين منابع که از پيش تهيه شده‌اند، رفع نمايند. اما اگر تفکر مهندسي معکوس حاکم باشد، وضع به گونه­اي ديگر تغيير خواهد کرد. به اين معنا که در اين حالت اعلام نياز اطلاعاتي يک کاربر، خود مبنايي براي سلسله­اي از فعاليت­ها، که در نهايت منجر به پاسخ‌گويي نياز اطلاعاتي آن کاربر خاص مي‌گردد، مي­شود.
بازهم بر اساس شيوة متداول فعاليت مرجع در يک کتابخانه، وقتي کاربري نياز اطلاعاتي خاصي را مطرح مي­کند، کتابداران به کاوش در منابع موجود مي­پردازند تا نياز اطلاعاتي آن کاربر را پاسخ گويند. وضعيت آرماني اين است که منابع موجود پاسخ­گوي نياز کاربر باشند. اگر چنين نشود و نياز اطلاعاتي کاربر برآورده نگردد، به جستجو در منابع خارج از کتابخانه مي‌پردازند تا اطلاعاتي در خصوص چگونگي رفع اين نياز در اختيار کاربر قرار دهند. وضعيت ديگري نيز وجود دارد، بدين صورت که نه تنها براي رفع نياز اطلاعاتي کاربر مورد نظر در کتابخانه چيزي موجود نيست، بلکه کاوش­ها نشان مي­هد که هيچ منبعي که پاسخ­گوي اين کاربر باشد وجود ندارد. پديد آمدن اين وضعيت دو رويکرد را به دنبال خواهد داشت. رويکرد نخست اين است که کتابخانه رسالت خود را تمام شده بپندارد و به دليل نبودن منبعي در زمينة مورد نظر، کار را تمام شده به حساب آورد. رويکرد دوم، رويکرد مبتني بر تفکر مهندسي معکوس است. در اين رويکرد کتابخانه و کتابدار خود را موظف مي­دانند که پاسخ کاربر مورد نظر را به هر طريق ممکن به دست آورند. در اين حالت، کتابخانه پيشنهادي مبني بر تهية منبعي که قادر به رفع نياز اطلاعاتي کاربر مورد نظر باشد را به توليدکنندگان منابع (پژوهشگران و مؤلفين) ارائه مي‌نمايد. با ارائة اين پيشنهاد و تلاش براي تدارک شرايط لازم، در حقيقت منابعي مبتني بر نيازهاي خاص کاربران پديد مي­آيد. به اين طريق هم نياز اطلاعاتي کاربر مورد نظر رفع مي­شود و هم منبعي کاربردي، که پاسخ­گوي نيازهاي کاربران در اين زمينه باشد، به وجود آمده و به مجموعة کتابخانه افزوده مي­شود. البته اين شيوه کمي آرماني به شمار مي­آيد و مستلزم امکانات و ساز و کارهاي تکميلي زيادي است. اما اگر رويکرد کاربرمدار مبتني بر الگوي شناختي، که اکنون حاکم بر فعاليت­هاي کتابداري و اطلاع­رساني جهان است، مدنظر بوده و پياده شود، چنين عملي چندان هم آرماني و دور از واقعيت به شمار نخواهد آمد.
کاربرد ديگر مهندسي معکوس، چنان­که توکلي­زاده راوري بيان مي­دارد، در توليد منابع مرجع است. به اين صورت که منابع مرجع موجود مانند دايرة­المعارف­ها، واژه‌نامه­ها، چکيده­نامه­ها و غيره را با سه عامل کاربران، خدمات و فناوري­هاي اطلاعاتي جديد در کنار هم بررسي و مقايسه کنيم. سپس بر اساس مقايسة انجام گرفته و مبتني بر انگاره­هاي مهندسي معکوس، محصولات مرجع جديدي توليد کنيم که مطابق با نياز کاربران بوده، با استفاده از فناوري­هاي اطلاعاتي نوين تهيه شده باشند و براي ارائه خدمات مرجع، بيشترين امکانات و سهولت را عرضه کنند. در ضمن مشكلات موجود در منابع مرجع فعلي را نيز رفع نمايند.

 

مهندسي معکوس رايانه­اي در کتابداري و اطلاع­رساني

فعاليت­هاي کتابداري و اطلاع­رساني به سبب ماهيتي که دارند، نياز زيادي به استفاده از نرم­افزارها و برنامه­هاي رايانه­اي دارند. به همين دليل روش­هاي مهندسي معکوس نرم‌افزاري، در کتابخانه­ها کاربردهاي فراواني دارند. همان­گونه که در مقدمة اين مقاله نيز ذکر آن رفت، نتايج جستجوها در پايگاه چکيده­هاي کتابداري و اطلاع­رساني، تعداد 21 پيشينه را شامل مي­شد که تمامي آنها به مقوله مهندسي معکوس رايانه­اي اختصاص داشتند. اين نتيجه نشان مي­دهد که در درجة نخست، در حال حاضر، گرايش غالبِ مهندسي معکوس در فعاليت­هاي کتابداري واطلاع­رساني، به اين موضوع است؛ دوم اينکه اين موضوع، در فعاليت­هاي کتابداري و اطلاع­رساني جايگاهي مهم دارد.
کاربردهاي مهندسي معکوس نرم­افزاري در فعاليت­هاي کتابداري و اطلاع­رساني با دو هدف اصلي صورت مي­گيرند. هدف نخست مبتني بر استفاده از يک نرم­افزار يا پايگاه اطلاعاتي است. به اين صورت که روش­هاي نصب، استفاده و به‌کارگيري دقيق نرم­افزار يا پايگاه اطلاعاتي، مورد بررسي و شناسايي قرار مي­گيرد. پس از شناسايي و تسلط بر استفاده از يک نرم­افزار، شيوه­هاي استفاده از آن براي پاسخ­گويي به نيازهاي متفاوت کاربران يا اشتراک آن برنامه با برنامه­ها و نرم­افزارهاي ديگر، براي برآوردن بهتر نيازهاي کاربران ايجاد مي­شود.
هدف دوم، شناسايي ويژگي­هاي نرم­افزار يا پايگاه اطلاعاتي و به‌کارگيري آنها براي پاسخ­گويي به مراجعه­کنندگان مختلف است. در اين شيوه، تمامي داده­هاي به دست آمده از فرآيند پاسخ­گويي به مراجعان ثبت شده و نقاط ضعف موجود شناسايي و مستند مي­شوند. سپس اطلاعات حاصل شده از اين طريق تجزيه و تحليل و ساماندهي مي­شود. اين اطلاعات به همراه انتظارات کاربران نظام، در اختيار گروه طراح نظام قرار گرفته و براي طراحي و ايجاد يک نظام جديد يا رفع اشکالات نظام موجود مورد استفاده قرار مي­گيرد. براي نمونه نرم­افزارهاي کتابخانه­اي موجود در کتابخانه­هاي ايران داراي نقايصي هستند که تنها در هنگام استفاده در کتابخانه­ها قابل شناسايي هستند. کتابداران با شناسايي اين نقايص و انتقال آنها به طراحان نرم­افزارها، امکان رفع آن نقايص و ايجاد نرم­افزارهايي با کارآيي بالاتر را به وجود آورده­اند.

 

مهندسي معکوس در مطالعات رفتارهاي اطلاع­يابي کاربران

از مهم‌ترين فعاليت­هاي جاري کتابخانه­ها و مراکز اطلاع­رساني بازخوردگيري از کاربران است. بازخوردگيري با اين هدف انجام مي­گيرد که ارزيابي مداومي از وضعيت ارائة خدمات وجود داشته باشد. بر اساس بازخوردهاي به دست آمده، نقاط قوت و ضعف خدمات و منابع مجموعه شناسايي شده و براي تقويت نقاط قوت و رفع نقاط ضعف برنامه­ريزي لازم صورت مي­گيرد. فرآيند بازخوردگيري به نوعي مبتني بر اصول مهندسي معکوس است. تمامي روش­هايي که براي آگاهي از بازخوردهاي کاربران به کار گرفته مي­شود چون فرم­هاي نظرسنجي، مشاهدة رفتار اطلاع­يابي، ارزيابي ميزان رضايت­مندي کاربران، تحليل پرونده‌نگاشت­هاي وبي و غيره در روش­هاي مهندسي معکوس موجود هستند. نمونه‌اي در خصوص رفتار اطلاع­يابي کاربران در محيط وب اين موضوع را روشن­تر مي­کند. به اين تعبير که وقتي رفتارهاي بازيابي اطلاعات کاربر در محيط وب از طريق تحليل پرونده­نگاشت­هاي وبي مورد رهگيري و مطالعه قرار مي­گيرد، در واقع فرآيند تجزيه و تحليل مهندسي معکوس به کار گرفته مي­شود. همان­گونه که ذکر شد، در مرحله تحليل نظام مهندسي معکوس، تمامي اجزا و فرآيندهاي يک نظام مورد بررسي دقيق قرار گرفته و ثبت مي­شوند تا بر اساس اطلاعات گردآوري شده، شيوة عمل و ساخت نظام مورد بررسي، شناسايي شده و مهندسي مجدد آن و رفع عيوب احتمالي امکان­پذير شود.

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر