انجام پایان نامه

درخواست همکاری انجام پایان نامه  بانک مقالات رایگان انجام پایان نامه

سفارش پایان نامه

|

انجام پایان نامه ارشد

 پایان نامه 

پایان نامه‏ کامپیوتر

انجام پایان نامه‏ ارشد کامپیوتر

مهندسی معکوس در نرم افزار ( Reverse Engineering soft ware):
بحث در مورد علم مهندسی معکوس از سال 1990 میلادی آغاز شده و در بعضی مجله های علمی مثل IEEE Software به صورت یک طبقه بندی علمی از آن صحبت میشود.
مهندسی معکوس عبارت است از توانایی گرفتن اطلاعات از کد منبع و ایجاد یا ارتقاء مدل Rose .
یکی از موانع موجود بر سر راه پروژه های فناوری اطلاعات سازگار نگاه داشتن مدل آبجکت با کد است . با تغییر نیازها ، تغییر مسقیم کد می تواند وسوسه انگیز باشد ، تا اینکه مدل را تغییر دهید و سپس کد تغییر یافته را از مدل تولید کنید . مهندسی معکوس به ما این امکان را می دهد تا همیشه مدل را با کد همسان نگاه داریم .
در فرایند مهندسی معکوس ، Rose نسبت به خواندن بسته ، Component ها ، کلاسها رابطه ها ، صفات و عملیات از کد اقدام خواهد کرد . هنگامی که این مدل در یک مدل Rose قرار می گیرد ، می توانید هر تغییر لازمی را ایجاد کرده سپس کد را از طریق امکانات مهندسی مستقیم Rose مجدداً تولید کنید .
گزینه هایی که در اختیار شما قرار خواهند گرفت به نسخه مورد استفاده شما بستگی خواهد داشت .
•    Rose Modeler : شامل هیچ گونه عملیات مهندسی معکوس نخواهد بود .
•    Rose Professional : شامل قابلیت های مهندسی معکوس به یک زبان است .
•    Rose Enterprise : شامل مهندسی معکوس C++ ،  Visual C++ ، Visual Basic و جاوا خواهد بود .همانطور مهندسی معکوس شمای Oracle 8 را نیز شامل خواهد بود .
•    Add_ins : متعلق به Rose قابلیتهای مهندسی معکوس در زبانهای دیگر نظیر PowerBuilder یا Forte را به شما خواهند داد .
عناصر مدل ایجاد شده در طول مهندسی معکوس :
در طول مهندسی معکوس ، Rose به جمع آوری اطلاعاتی درباره موارد زیر خواهد پرداخت .
•    کلاسها
•    صفات
•    روابط
•    عملیات
•    بسته ها
•    component ها
با استفاده از این اطلاعات ، Rose اقدام به ایجاد یا ارتقاء یک مدل Object خواهد کرد .
مجموعه ای حساس از تکنیکها و ابزارها برای فهمیدن اینکه محتوای یک نرم افزار شامل چه چیزهایی میباشد.  به عبارت دیگر عمل تجزیه و تحلیل یک سیستم برای مشخص کردن مولفه های سیستم و رابطه متقابل آنها به منظور نمایش سیستم به شکلی دیگر یا در سطحی بالاتر میباشد. این نوع تکنیکها باعث میشود تا ساختار یک نرم افزار را نمایان نموده و راههای عملکرد آن و همچنین ویژگیهایی که طبق آن حرکت میکند را مشخص کنیم. در واقع مهندسی معکوس زمانیکه شخصی کد شخص دیگری را کاوش کند نیز اتفاق می افتد.
آیا شما مهندسی معکوس را نادیده میگیرید؟
فرض کنید شما نرم افزاری را توسعه داده و به فروش رسانده اید! آیا نمیخواهید دیگران به حقوق کپی (Copyright) شما احترام بگذارند؟ این بحث معمولا" از معانی منفی عبارت مهندسی معکوس به خصوص در صنعت نرم افزار سازی شروع میشود.
به هر حال تکنیکهای مهندسی معکوس راه هایی هستند برای تولید کننده ها و مصرف کننده های نرم افزار که با مقوله عرضه اقتصادی در یک زنجیره قرار میگیرند. در نظر داشته باشید که این ابزار (راهکار) به طور ذاتی خوب یا بد نیست، موضوع قابل توجه این است که این ابزار در چه راه هایی مورد استفاده قرار میگیرد. مهندسی معکوس به ویژه در نرم افزارهای پیشرفته برای اهداف خاص مورد استفاده قرار میگیرد :
-         یافتن کدهای مخرب: تعدادی از تکنیکهای ویروس یابی از مهندسی معکوس برای دستیابی به ساختار و عملکرد این کدهای مخرب استفاده میکنند. به وسیله این تکنیکها نرم افزارهایی تولید میشود که برای مبارزه با ویروس های کامپیوتری مورد استفاده قرار میگیرد.
-    کشف خطاهای ذاتی (Bug) و نقص های غیر منتظره: حتی بهترین سیستمهای نرم افزاری میتواند دارای خطا باشد که با استفاده از مهندسی معکوس میتوان آنها را پیدا کرده و رفع نمود (Debug).
 
نرم افزارهای سطح پایین
این نوع نرم افزارها شامل ابزارهای توسعه از قبیل Compiler، Linker، Debugger، سیستم های عامل (Operating System) و زبان های برنامه نویسی سطح پایین مثل Assembly میباشد. در واقع لایه ای است که جداکننده توسعه دهندگان نرم افزار و برنامه های کاربردی از سخت افزار میباشد. اگر شخصی بخواهد در زمینه مهندسی معکوس مهارت به دست آورد باید فهم کاملی نسبت به نرم افزارهای سطح پایین داشته باشد.
 
زبان Assembly
این زبان پایین ترین سطح زبان های برنامه نویسی میباشد که به طور باورنکردنی در مهندسی معکوس مورد استفاده قرار میگیرد. اگر یک نرم افزار عملی را انجام دهد آن عمل باید به زبان Assembly قابل رویت باشد. مبحث مهم دیگر، کد ماشین است که همراه با زبان Assembly دو نوع تعریف مختلف از یک چیز میباشد. کد ماشین چیزی نیست جز رشته ای از بیتها و شامل لیستی از دستورات (در واقع نمایش متنی آن بیتها)، كه توسط CPU باید اجرا شود.
 
Compiler و Machine Code
با توجه به اینکه CPU فقط قادر است کدهای ماشین را اجرا کند با استفاده از Compiler کدهای زبانهای سطح بالا به زبان ماشین تبدیل میشوند.
زبانهایی مثل C++ و Pascal دارای این نوع Compiler هستند.
 
Virtual Machine و Byte Code
زبانهایی مانند Java دارای کامپایلری هستند که به جای Object Code (کدهایی که Compiler آنها را تولید میکند)، Byte Code تولید میکنند. Byte Code ها شبیه به Object Code ها هستند با این تفاوت که توسط یک برنامه (به جای CPU) Decode میشوند. به این برنامه Virtual Machine گفته میشود. یکی از مزایای این نوع برنامه ها مستقل بودن آنها از محیط اجرا میباشد. مبحث مهندسی معکوس در مورد Byte Code ها نسبت به کدهای ماشین کاملاً متفاوت بوده و در مقایسه با آن ساده تر میباشد.
 
شروع عملیات مهندسی معکوس
برای شروع، کار به دو بخش کلی تقسیم میگردد:
1-      System Level: داشتن دیدي کلی از تمام برنامه.
2-      Code Level: به دست آوردن اطلاعات کامل و جزیی روی قسمتی از کد برنامه.
 
ابزارهای System Monitoring
برای بخش System Level ابزارهایی نیاز است که به وسیله آنها اطلاعات کلی در مورد برنامه (فایل اجرایی) را در اختیار قرار میدهد که معمولاً این اطلاعات توسط سیستم عامل ایجاد میگردد براي مثال مشخص ميگردد كه نرم افزار با چه ابزاري توسعه داده شده يا با چه ابزاري Protect شده است.
 
ابزارهای Code Level
Disassembler
ابزاری است که یک فایل اجرایی را دریافت نموده و یک فایل متنی که شامل کدهای زبان Assembly که مربوط به قسمتهای مختلف برنامه است را تولید میکند. Disassembler های پیشرفته یکی از ابزارهای کلیدی مهندسی معکوس به شمار میروند.
 
Debugger
Debugger برنامه ای است که به توسعه دهنده (Developer) اجازه می دهد برنامه را در حال اجرا مشاهده نماید. Debugger یکی از مهمترین ابزارهای مهندسی معکوس بوده که از یک Disassembler برای برگرداندن کدها به زبان اسمبلی استفاده مینماید.
زمانیکه یک فایل اجرایی با استفاده از یک Debugger  باز میشود حالت Register های CPU، محتویات حافظه و Stack های فعال قابل مشاهده هستند.
 
ویژگی های مهم Debugger ها :
Disassembler قدرتمند: یکی از ویژگیهای مهم و لازم برای هر Debugger بوده به طوریکه محتوای فایل اجرایی به وضوح قابل مشاهده میباشد. همچنین متدهای برنامه قابل تجزیه و تحلیل بوده و Trace کردن آنها ساده میشوند.
 
Breakpoint های سخت افزاری و نرم افزاری: یکی دیگر از ویژگیهای مهم Debugger ها بوده و هر Debugger دارای این ویژگی میباشد. Breakpoint های نرم افزاری دستوراتی هستند که در زمان اجرا (Runtime) توسط Debugger به برنامه اضافه میشوند و باعث میشوند اجرای برنامه توسط پردازشگر متوقف شده و کنترل برنامه به Debugger سپرده میشود. Breakpoint های سخت افزاری یکی از قابلیتهای ویژه CPU بوده که به پردازشگر اجازه میدهد اجرای برنامه را متوقف کرده و کنترل آنرا به Debugger منتقل نماید و زمانی اتفاق می افتد که یک آدرس از حافظه مورد دسترسی قرار گیرد.
 
دیدن Register ها و حافظه: یکی از قابلیتهای خوب Debugger ها دیدن Register ها و محتوای حافظه سیستم میباشد.
 
اطلاعات Process : یکی از قابلیتهای بسیار مفید Debugger ها دیدن جزییات Process ها در حال Debug کردن میباشد. دیدن ماجول های قابل اجرا و یا Thread هایی که در حال اجرا هستند را امکان پذیر میسازد.
 
انواع Debugger
   User Mode Debugger
بیشتر Debugger ها از این نوع هستند. این نوع Debugger ها برنامه هایی هستند که به Process های دیگر متصل شده و کنترل آنرا در دست میگیرند. مزیت دیگر آنها نصب و استفاده آسان از آنها میباشد. از طرف دیگر User Mode Debugger ها فقط میتوانند با یک Process کار کنند و کدهای User Mode درون آن Process را ببینند. گاهی اوقات شما با استفاده از این نوع Debugger برنامه ای را باز میکنید که چندین Process را شامل میشود که به نوعی به هم متصل هستند. در اینطور موارد شما ممکن است ندانید کد مورد نظر شما در کدام Process اجرا میشود. User Mode Debugger ها معمولاً مشکل خاصی ایجاد نمیکنند مگر اینکه برنامه ای که در حال Debug شدن میباشد دارای مولفه های Kernel Mode باشد (همانند Device Driver). بعضی از این نوع Debugger ها عبارتند از :
الف-        OllyDbg
این Debugger توسط Oleh Yuschuk ساخته شده که شاید یکی از بهترین ها در نوع خود باشد، این Debugger دارای یک Disassembler بسیار قدرتمند بوده که برای افرادی که در زمینه مهندسی معکوس در سطح مبتدی هستند بسیار مناسب میباشد. وجود Analyzer در این Debugger باعث میشود که حلقه های تکرار و شرطها (for،  switchو ...) و همچنین پارامترهای متدها به راحتی قابل تشخیص باشد. OllyDbg دارای امکان patching نیز میباشد به این ترتیب که میتوان تغییراتی در فایل اجرایی ایجاد نموده و آنرا ذخیزه نمود.
ب-        WinDbg
یک Debugger رایگان بوده که سازنده آن شرکت Microsoft میباشد. در حالیکه تعدادی از ویژگیهای آن از طریق رابط کاربر قابل دسترسی هستند، دارای یک کنترلگر دستوری نیز میباشد. دارا ی یک Disassembler ضعیف بوده و امکانات دیگر آن نیز چندان برای کاربران ساده نیست.  
پ-        IDA Proیک User Mode Debugger است که دارای Assembler بسیار قدرتمند و همچنین امکانات Debug فراوان میباشد و میتوان گفت از قدرتمندترین Debuggerها میباشد. این Debugger رایگان نبوده ولی میتوان از نسخه های Trial آن استفاده نمود.
مهندسی معکوس چیست ؟
اگر سابقه صنعت و چگونگی رشد آن در کشورهای جنوب شرقی آسیا را مورد مطالعه قرار دهیم به این مطلب خواهیم رسید که در کمتر مواردی این کشورها دارای ابداعات فن آوری بوده اند و تقریبا در تمامی موارد کشورهای غربی (آمریکا و اروپا) پیشرو بوده اند. پس چه عاملی باعث این رشد شگفت آور و فنی در کشورهای خاور دور گردیده است ؟
در این نوشتار یه یکی از راهکارهای این کشورها در رسیدن به این سطح از دانش فنی می پردازیم .
در صورتی که به طور خاص کشور ژاپن را زیر نظر بگیریم، خواهیم دید که تقریبا تمامی مردم دنیا از نظر کیفیت محصولات آنها را تحسین می کنند ، ولی به آنها ایراد می گیرند که با کپی برداری از روی محصولات دیگران به این موفقیت دست یافته اند.
این بخش اگر هم که درست باشد و در صورتی که کپی برداری راهی مطمئن برای رسیدن به هدف باشد چه مانعی داردکه این کار انجام شود. این مورد ، به خصوص در باره کشورهای در حال توسعه و یا جهان سوم با توجه به شکاف عمیق فن آوری بین این کشورهای و کشورهای پیشرفته دنیا ، امری حیاتی به شمار می رود و این کشورها باید همان شیوه را پیش بگیرند ( البته در قالب مقتضیات زمان و مکان و سایر محدودیت ها ). به عنوان نمونه ، قسمتی از تاریخچه صنعت خودرو و آغاز تولید آن در ژاپن را مورد بررسی قرار می دهیم :
تولید انبوه خودرو در ژاپن قبل از جنگ جهانی دوم و در سال 1920 بوسیله کارخانه های " ایشی کاواجیما " آغاز شد که مدل ژاپنی فورد آمریکایی را کپی کرده و به شکل انبوه به بازار عرضه نمود .
همچنین شورلت ژاپنی AE جزو اولین خودروهای کپی شده آمریکایی توسط ژاپنی ها بود که به تعداد زیاد تولید می شد. سچس با تلاش فراوانی که انجام شد ( آنهم در شرایط بحرانی ژاپن در آن دوره ) مهم ترین کارخانه خودروسازی ژاپن یعنی "تویوتا" در سال 1932 فعالیت خود را با ساخت خودرویی با موتور " کرایسلر " آغاز نمودو در سال 1934 نوع دیگری از خودرو را با موتور " شورلت " ساخته و وارد بازار نموده و از سال 1936 ، اولین تلاشها برای ساخت خودرویی تمام ژاپنی آغاز شد.البته تا مدت ها ژاپنی ها مشغول کپی برداری از اتومبیل ها ی آمریکایی و اروپایی بودند. آنها خودروی پاکارد و بیوک آمریکایی و رولزرویس ، مرسدس بنز و فیات اروپایی را نیز تولید کردند که همین تولیدها زمینه ساز گسترش فعالیت خودروسازی ژاپن شد و سرانجام در دهه 1960 پس از سعی و کوشش فراوان اولین اتومبیل تمام ژاپنی که دارای استاندارد جهانی هم بود ساخته و به بازار عرضه شد.
در تمامی مطالب فوق رد پای یک شگرد خاص و بسیار مفید به چشم می خورد که " مهندسی معکوس" (Reverse engineering ) نام دارد. مهندسی معکوس روشی آگاهانه برای دستیابی به فن آوری حاضر و محصولات موجود است . در این روش متخصصین رشته ها ی مختلف علوم پایه و کاربردی از قبیل مکانیک ، فیزیک و اپتیک ، مکاترونیک، شیمی پلیمر، متالورژی، الکترونیک و… جهت شناخت کامل نحوه عملکرد یک محصول که الگوی فن آوری مذکور می باشد، گروه های تخصصی را ایجاد می کنند و با تجهیزات پیشرفته و دستگاههای دقیق آزمایشگاهی به همراه سازماندهی مناسب تشکیلات تحقیقاتی و توسعه ( R&D ) سعی در بدست آوردن مدارک و نقشه ها ی طراحی محصول فوق دارند تا پس از مراحل نمونه سازی (Prototyping ) و در صورت لزوم ساخت نیمه صنعتی (Pilot plant ) تولید محصول را طبق استاندارد فنی محصول الگو آغاز کنند. همانگونه که اشاره شد استفاده از روش مهندسی معکوس برای کشورهای در حال توسعه روش بسیار مناسبی جهت دسترسی به فن آوری ، رشد و توسعه آن می باشد. این کشورها که در موارد بسیاری از فن آوری ها در سطح پایینی قرار دارند ، در کنار روشها و سیاست ها ی دریافت دانش فنی، مهندسی معکوس را مناسب ترین روش دسترسی به فن آوری تشخیص داده و سعی می کنند با استفاده از روش مهندسی معکوس ، اطلاعات و دانش فنی محصولات موجود ، مکانیزم عمل کرد و هزاران اطلاعات مهم دیگر را بازیابی کرده و در کنارآن با روشهای مهندسی مستقیم (Forward enineering ) و روشهای ساخت قطعات ،و استفاده از تجهیزات و تسترهای خط مونتاژ و ساخت مانند قالب ها ، گیج و فیکسچرها و دستگاههای کنترل ، نسبت به ایجاد کارخانه ای پیشرفته و مجهز جهت تولید محصولات فوق اقدام نمایند.
مهندسی معکوس ممکن است در رفع معایب و افزایش قابلیت های محصولات موجود نیز مورد استفاده قرار بگیرد. به عنوان مثال در آمریکا ، مهندسی معکوس توسط شرکت " جنرال موتور" بر روی محصولات کمپانی "فورد" و نیز بر عکس ، جهت حفظ وضعیت رقابتی و رفع نواقص محصولات به کار برده می شود.
بسیاری از مدیران کمپانی های آمریکایی ، هر روز قبل از مراجعه به کارخانه ، بازدیدی از جدیدترین محصولات عرضه شده در فروشگاه ها و نمایشگاه های برگزار شده انجام داده و جدیدترین محصولات عرضه شده مربوط به محصولات کمپانی خود را خریداری نموده و به واحد تحقیق و توسعه تحویل می دهند تا نکات فنی مربوط به طراحی و ساخت محصولات مذکور و آخرین تحقیقات ، هر چه سریعتر در محصولات شرکت خود نیز مورد توجه قرار گیرد.
جالب است بدانید که مهندسی معکوس حتی توسط سازندگان اصلی نیز ممکن است به کار گرفته شود، زیرا به دلایل متعدد ، نقشه ها ی مهندسی اولیه با ابعاد واقعی قطعات ( مخصوصا زمانی که قطعات چندین سال پیش طراحی و ساخته و مکرر اصلاح شده است) مطابقت ندارد براین مثال جهت نشان دادن چنین نقشه هایی با ابعاد واقعی قطعات و کشف اصول طراحی و تلرانس گذاری قطعات ، بخش میکرو سویچ شرکت honywell از مهندسی معکوس استفاده نموده و با استفاده از سیستم اندازه گیری CMM ( Coordinate measuring machine ) با دقت و سرعت زیاد ابعاد را تعیین نموده و به نقشه های مهندسی ایجاد شده توسط سیستم CAD منتقل می کنند.متخصصین این شرکت می گویند که روش مهندسی معکوس و استفاده از ابزار مربوطه ، به نحو موثری زمان لازم برای تعمیر و باز سازی ابزار آلات ، قالب ها و فیکسچرها ی فرسوده را کم می کند و لذا اظهار می دارند که : " مهندسی معکوس زمان اصلاح را به نصف کاهش می دهد. "
مهندسین معکوس علاوه بر اینکه باید محصول موجود را جهت کشف طراحی مورد بررسی قرار دهند، باید مراحل بعد از خط تولید یعنی انبارداری و حمل و نقل را از کارخانه تا مشتری و نیز قابلیت اعتماد را در مدت استفاده مفید مورد تجزیه و تحلیل قرار دهند. چرا که مثلا فرایند آنیلینگ مورد نیاز قطعه ، ممکن است برای ایجاد مشخصات مورد نظر در هنگام عملکرد واقعی محصول یا در طول مدت انبار داری و حمل و نقل طراحی شده و لزوم وجود آن تنها در هنگام اجرای مراحل مذکور آشکار خواهد شد.
چه بسا که بررسی یک پیچ برروی سوراخی بر بدنه محصول ( که به قطعات و اجزای دیگر متصل نشده ) ، متخصصان مهندسی معکوس را ماهها جهت کشف راز عملیاتی آن به خود مشغول کند ، غافل از آنکه محل این پیج ، امکانی جهت تخلیه هوا ، تست آببندی یا امکان دتسرسی به داخل محصول جهت تست نهایی می باشد.
از سوی دیگر مهندسین معکوس باید عوامل غیر مستقیمی را که ممکن است در طراحی و تولید محصول مذکور تاثیر بگذارند ، به دقت بررسی نماید.به دلیل اینکه بسیاری از این موارد با توجه به خصوصیات و مقتضیات زمانی و مکانی ساخت محصول مورد نظر ، توسط سازندگان اصلی ، توجیه پذیر است اما ماجرای آن به وسیله مهندسین معکوس فاجعه ساز باشد. مثلا فرایند تولید قطعات تا حدود قابل بستگی به تعداد محصولات مورد نیازو … د ارد. اگر تعداد محصولات مورد نیاز درکشور ثانویه بسیار کمتر از کشور اصلی ، که در حد جهانی و بین المللی فعالیت می کند ، باشد ؛ پس به عنوان مثال تعیین فرایند یک قطعه با باکالیتی ( نوعی پلیمر) از طریق ساخت قالب های چند حفره ای با مکانیزم عملکرد خود کار با توجه به معضلات پخت قطعه در داخل قالب ، می تواند برای مهندسین معکوس فاجعه ساز شود_ اگر که این مهندسان از فرایندهای ساده تر با توجه به تیراژ تولید محصول و نیز خصوصیات تکنولوژیکی کشور خود استفاده نکنند. بنابراین مرحله بعد از کشف طراحی، تطبیق طراحی انجام شده بر مقتضیات زمانی و مکانی کشور ثانویه می باشد که باید به دقت مورد توجه متخصصین مهندسی معکوس واقع شود.
در پایان می توان گفت که : " گرچه ممکن است مهندسی معکوس یک کاربرد غیر معقول و نامناسب از کاربرد هنرو علم مهندسی به نظر برسد اما یک حقیقت از زندگی روزمره ما به شمار می رود.
تعاريف ديگر از مهندسي معكوس:
کایزن
کایزن چیست؟ کایزن یک واژه ژاپنی است که از لغت «KAI» به معنای تغییر و «ZEN» به معنای بهبود تشکیل شده است. این مفهوم دارای دو پایه اساسی که عبارتند از بهبود مستمر و مشارکت کلیه کارکنان.

فلسفه کایزن عبارت است از رشد و توسعه تدریجی و همیشگی از طریق بهتر انجام دادن کارهای کوچک به منظور نیل به استانداردهای بالاتر و بهتر. کایزن به مفهوم بهبود مستمر و تحولی دائمی است و توأم با مشارکت همه افراد در یک شرکت یا سازمان. کایزن مفهومی است که بیشتر شیوه های خاص ژاپنی مثل مشتری گرایی&، کنترل کیفیت جامع و تولیـــد به موقع و نظام پیشنهادات و... را دربرمی گیرد و از همین جهت این واژگان تقریباً مترادف با کایزن شده اند.

از ویژگیهای جالب کایزن عدم نیاز قطعی آن به فناوری پیچیده یا آخرین دستاوردهای فناوری است.

دکتر دمینگ خطاب به ژاپنی ها اظهار داشت «شما می توانید کالای با کیفیت تولید کنید، برای بقا در بازار بــــــاید راجع به مصرف کننده تحقیق کنید، به آینده بنگرید. شما می توانید ازطریق کنترل کیفیت فرایند و نیز مشخصه هایی که درحد ممکن تغییرپذیرند همچنین درباره مصرف کننده و طراحی مجدد تولیدات به مقصود برسید. سعی نکنید تنها سازنده باشید آن هم برای فروش بلکه محصول را طراحی مجدد کنید و سپس دوباره فرایند را تحت کنترل درآورید. این کار دوباره و دوباره ادامـــــه می یابد و کیفیت همچنان افزایش می یابد».

بحث کیفیت و بهبود پیش از آنکه در ژاپن نهادینه شود در غرب پی ریزی شد.

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

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

TQM بهسازی مستمر کلیه مراحل و فعالیتهای تولیدی ازطریق همکاری و مساعدت بخشهای سازمان است اما در مهندسی مجدد ممکن است کلیه مراحل تولید بهسازی گردد و یا کلاً از گردونه فعالیت خارج شود. مهندسی مجدد بیشتر روی حذف لایه های اضافی سازمان تاکید دارد.

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

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

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

نکته مهم دیگری که موجب اشتباه برخی را فراهم کرده است واژه مهندسی معکوس (REVERSE ENGINEERING) است که گاهی به جای مهندسی مجدد درنظر می گیرند. در تعریف مهندسی معکوس آورده اند «ساخت مجدد محصول در یک فرم و شکل جدید با مشخصات عملیاتی مناسب تر را مهندسی مجدد گویند که طی فرایند مهندسی معکوس محصولات و سیستم های موجود برای کشف طراحی های آنها با استفاده از اصول مهندسی مستقیم (FORWARD ENGINEERING) و تجدید ساختار این اجرای باارزش از توسعه فناوری انجام می پذیرد>».

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








انجام پایان نامه

انجام پایان نامه کامپیوتر، انجام پایان نامه ارشد کامپیوتر، انجام پایان نامه، پایان نامه

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

 

انجام پایان نامه | دانلود مقاله

سفارش پایان نامه

نقشه