تور لحظه آخری
امروز : شنبه ، 10 آذر 1403    احادیث و روایات:  پیامبر اکرم (ص):نيّت مؤمن بهتر از عمل او و نيت منافق بدتر از عمل اوست.
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

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

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

بهترین وکیل کرج

بهترین وکیل تهران

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

قرص گلوریا

نمایندگی دوو در کرج

خرید نهال سیب

وکیل ایرانی در استانبول

وکیل ایرانی در استانبول

وکیل ایرانی در استانبول

رفع تاری و تشخیص پلاک

پرگابالین

 






آمار وبسایت

 تعداد کل بازدیدها : 1835840683




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

مهندسي معكوس چيست؟


واضح آرشیو وب فارسی:پی سی سیتی: كشورهاي ضعيف وقتي‏ مي ‏خواهند تكنولوژي ساخت يك محصول پيشرفته را به دست آورند ، از مجموعه روش هايي استفاده‏ مي ‏كنند كه تحت نام دانش مهندسي معكوس دسته بندي‏ مي ‏شوند. مثلا اگر بخواهند دانش ساخت و توليد يك مدل تلويزيون ديجيتالي جديد را پيدا كنند ، ابتدا با حسابگري و دقت بي نظير از تك تك اجزاي تلويزيون اطلاعات برداري ‏مي ‏كنند و به تدريج شروع به دمونتاژ يا باز كردن تك تك واحدها و نهايتا تك تك عناصر سازنده واحدها‏ مي ‏كنند و از اين مسير و با كمك آزمايشات متعدد سعي ‏مي ‏كنند مسير طي شده توسط سازنده اصلي براي رسيدن به اين محصول پيشرفته ( در مثال ما تلويزيون ديجيتالي) را كشف كنند.

http://cdtakcd.com/pic/konkoor/17965-2008-5-3-12-3-.jpg

http://up.iranblog.com/images/ihv16hljn756y81alf2t.gif


Reverse Engineering

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

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

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

تغییرات با استفاده از فنونی چون مهندسی پیشرو، بازسازی، و مهندسی مجدد پیاده‌سازی می‌شوند.

هدف از مهندسی معکوس تسهیل در اِعمال تغییر از طریق فهمیدن سیستم نرم‌افزاری با توجه به ماهیت کار، چگونگی کار و نمایش معماری آن است. به‌عنوان اهداف پیگیریِ این مقصود می‌توان به ترمیم اطلاعات از دست رفته، تسهیل جابه‌جایی بین بسترها، بهبود و (یا) تهیهٔ مستندات جدید، استخراج عناصر قابل استفادهٔ مجدد، کاهش تلاش برای نگهداری، مقابله با پیچیدگی، کشف عوارض جانبی، کمک به انتقال به محیط CASE و ایجاد محصولات مشابه یا رقابتی اشاره کرد. از دیگر مزایای مهندسی معکوس کاهش هزینه‌ها و سریع آماده شدن نرم افزار است.

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

در این نوشتار یه یکی از راهکارهای این کشورها در رسیدن به این سطح از دانش فنی می پردازیم .


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

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

تولید انبوه خودرو در ژاپن قبل از جنگ جهانی دوم و در سال 1920 بوسیله کارخانه های " ایشی کاواجیما " آغاز شد که مدل ژاپنی فورد آمریکایی را کپی کرده و به شکل انبوه به بازار عرضه نمود .

همچنین شورلت ژاپنی AE جزو اولین خودروهای کپی شده آمریکایی توسط ژاپنی ها بود که به تعداد زیاد تولید می شد. سپس با تلاش فراوانی که انجام شد ( آنهم در شرایط بحرانی ژاپن در آن دوره ) مهم ترین کارخانه خودروسازی ژاپن یعنی "تویوتا" در سال 1932 فعالیت خود را با ساخت خودرویی با موتور " کرایسلر " آغاز نمودو در سال 1934 نوع دیگری از خودرو را با موتور " شورلت " ساخته و وارد بازار نموده و از سال 1936 ، اولین تلاشها برای ساخت خودرویی تمام ژاپنی آغاز شد.البته تا مدت ها ژاپنی ها مشغول کپی برداری از اتومبیل ها ی آمریکایی و اروپایی بودند.

آنها خودروی پاکارد و بیوک آمریکایی و رولزرویس ، مرسدس بنز و فیات اروپایی را نیز تولید کردند که همین تولیدها زمینه ساز گسترش فعالیت خودروسازی ژاپن شد و سرانجام در دهه 1960 پس از سعی و کوشش فراوان اولین اتومبیل تمام ژاپنی که دارای استاندارد جهانی هم بود ساخته و به بازار عرضه شد.

در تمامی مطالب فوق رد پای یک شگرد خاص و بسیار مفید به چشم می خورد که " مهندسی معکوس" ( Reverse engineering ) نام دارد. مهندسی معکوس روشی آگاهانه برای دستیابی به فن آوری حاضر و محصولات موجود است . در این روش متخصصین رشته های مختلف علوم پایه و کاربردی از قبیل مکانیک ، فیزیک و اپتیک ، مکاترونیک ، شیمی پلیمر، متالورژی، الکترونیک ، کامپیوتر و … جهت شناخت کامل نحوه عملکرد یک محصول که الگوی فن آوری مذکور می باشد، گروه های تخصصی را ایجاد می کنند و با تجهیزات پیشرفته و دستگاههای دقیق آزمایشگاهی به همراه سازماندهی مناسب تشکیلات تحقیقاتی و توسعه ( R&D ) سعی در بدست آوردن مدارک و نقشه ها ی طراحی محصول فوق دارند تا پس از مراحل نمونه سازی (Prototyping ) و در صورت لزوم ساخت نیمه صنعتی (Pilot plant ) تولید محصول را طبق استاندارد فنی محصول الگو آغاز کنند.

C0de enginnering

مهندسي معكوس به معني بدست آوردن سطح بالايي از نمايش برنامه‌ها و سيستمهاي نرم‌افزاري است. معمولاً مهندسي نرم‌افزار بوسيلة يك نمايش سطح پايين از يك سيستم (مثل مقادير باينري، كدهاي ساده، و يا اجراهاي قدم به قدم ) شروع مي‌شود و سعي در بدست آوردن نمايش بهتر از موارد مطروحه را دارد. بعنوان مثال بدست آوردن سورس برنامه، نماهايي از معماري، يا use caseها و ترتيب اجراي آنها در يك سيستم نمونه‌اي از اين موارد است.

روشهاي مهندسي معكوس و تكنولوژي نقشي مهمي در بسياري از وظايف مهندسي نرم‌افزار ايفا مي‌كنند. مي‌توان اداراك بهتر نرم‌افزاري، مهاجرت سيستمها رو به نسلهاي جديد و تكامل نرم‌افزار را نمونه‌هايي از كاربردهاي مفيد مهندسي معكوس ناميد . در تعريفي ديگر مهندسي معكوس تفهيم يك سيستم از شناسايي اجزاء يا مصنوعات سيستم كه موجب يافتن روابط ميان آنها و ايجاد اجزاء انتزاعي از اطلاعات يك سيستم مي‌شود را گويند. البته بايد بخاطر داشته باشيم كه هدف مهندسي معكوس تغيير اهداف سيستم به سمتي ديگر نمي‌باشد .

تعريفي ديگر از مهندسي معكوس داريم كه مهندسي معكوس عبارت است از توانايي گرفتن اطلاعات از كد منبع و ايجاد يا ارتقاء مدل سيستم در زبان برنامه‌نويسي مورد نظر تيم مهندسي معكوس؛ يكي از موانع موجود بر سر راه پروژه‌هاي علم فناوري اطلاعات سازگار نگاه داشتن مدل آبجت با كد است. با تغيير نيازها، تغيير مستقيم كد مي‌تواند وسوسه‌انگيز باشد، تا اينكه مدل را تغيير داده شود و سپس كد تغيير يافته را از مدل سيستم توليد نمائيم. مهندسي معكوس به ما امكان مي‌دهد تا هميشه مدل سيستم را با كد، همسان نگاه داريم

البته تعاريفي كه در اينجا مطرح گرديد تعاريف مثبتي از مسئلة مهندسي معكوس نرم‌افزار را مطرح كرده‌اند. در اينجا ما نيز يكي ديگر از كاربردهاي مهندسي معكوس كه بوسيلة سارقان نرم‌افزار بكار برده مي‌شود را ارائه مي‌دهيم. سارقان نرم‌افزار با در دست داشتن سيستم نرم‌افزاري توليد شده و اجراي فرآيندهاي مهندسي معكوس بر روي آنها به كدهاي سيستم و تمامي اجزاء آن خواهند رسيد و به تغيير آنها مي‌پردازند.

از جملة اين تغييرات مي‌توان به حذف قفلهاي نرم‌افزاري، تغيير عناوين و نشانهاي مالكين سيستم به عناوين سارقان نرم‌افزار، تغيير روند اجراي سيستم طبق خواستة سارقان و مواردي از اين قبيل اشاره نمود.

مهندسي معكوس سيستمهاي نرم‌افزاري بزرگ به علت حجم بزرگ و پيچيدگي‌هاي آنها مشكل است. هرچند كه اين امر پيش‌نيازي براي نگهداري، مهندسي مجدد، و تكامل نرم‌افزار مي‌باشد. چيكوفسكي مهندسي معكوس را چنين تعريف مي‌كند:« فرآيند تجزية يك سيستم براي شناسايي اجزاء سيستم و روابط ميان آنها و ايجاد نمايشهايي از سيستم در شكلي ديگر يا در يك سطح بالاتر از اجزاء انتزاعي آن است». نگهداري و توسعه دادن سيستمهاي نرم‌افزاري امروزي به چند دليل مشكل مي‌باشد. از جمله اين موارد بالا بردن سرعت تغيير و تحول كار توليدكنندگان� � افزايش اندازه و پيچيدگي سيستمهاي نرم‌افزاري، و تغيير احتياجات ثابت سيستمهاي نرم‌افزاري مي‌باشد.
بعنوان مثال سيستمهاي قديمي بزرگ، كامل و متشكل از سيستمهاي نرم‌افزاري پيچيده‌اي هستند كه نتيجة يك سرمايه‌گذاري بلند مدت توسط يك شركت و بيشتر به همين دليل نگهداري و پشتيباني شده‌اند پس ملزومات جديد مي‌بايست اتمام گشته و سرمايه‌گذاري شركت بايد بازگردد.

پارنِس تخمين زده است كه بيشتر سيستمهاي قديمي از مشكلات متنوعي مانند اينكه توليدكنندگان اصلي ممكن است تا مدت زيادي در دسترس نباشند، روشهاي پيشبرد منسوخ و يا زبانهاي قديمي، و يا مستندسازي‌ها ي گمشده و يا غيركافي و منسوخ مي‌باشند است

دلايل جدا بودن از دشواري‌هاي تكنيكي و گران بودن نگهداري و تكامل بعضي از سيستمها بدين ترتيب است: سامرويل و دويس تخمين زده است كه هزينة حسابهاي نگهداري نرم‌افزار 50 تا 75 درصد از كل هزينة يك سيستم نرم‌افزاري است. بازنويسي اين سيستمها از روي چكنويس هميشه مسئله‌دار بوده است زيرا اين قضيه حجم بزرگي از زمان، پول و منابع انساني را نياز دارد
از زماني كه سيستمهاي قديمي به سمت حجيم شدن توسط هزاران خط كد نويسي بدليل وجود مستندسازي‌ها ي ناقص رفته است، نياز به راهنمايي‌هاي خاصي كه در فهميدن و رفع نقص نرم‌افزار كمك كند احساس مي‌شود.

تمركز ما بر روي سيستمهاي شئ‌گرا قديمي بوده كه اساساً بدليل وجود بسياري سيستم متفاوت كه با اين روش نوشته شده‌اند و بدليل اينكه عمر مسبب تغيير قسمتي از يك سيستم نرم‌افزاري در سيستمهاي قديمي نمي‌شود، اما سرعت در هر كدام توسعه و تغيير يافته است


Sourc: IsoMet.Org , knowClub.net , w3school.com






این صفحه را در گوگل محبوب کنید

[ارسال شده از: پی سی سیتی]
[مشاهده در: www.p30city.net]
[تعداد بازديد از اين مطلب: 770]

bt

اضافه شدن مطلب/حذف مطلب




-


گوناگون

پربازدیدترینها
طراحی وب>


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