Bu yazımızda Tersine Mühendislik Nedir? Hangi Amaçlarla Yapılır? Süreç Nasıl İşler? konu başlıklarını detaylarıyla inceleyeceğiz.
Tersine mühendislik, mevcut bir sistem, cihaz veya nesnenin üretim aşamalarını ve nasıl çalıştığını anlamak için ürünü parça parça veya katman katman incelemektir. Bu işlemin tersine mühendislik olarak adlandırılmasının sebebi tasarım sürecini tersten çalıştırma üzerine kurulu olmasıdır. Tersine mühendislik süreci yazılım, makinalar, askeri teknolojiler, mimari yapılar ve hatta biyolojik hareketler dahil olmak üzere çoğu şeye uygulanabilir.
İçerik Haritası
Tersine mühendislik çalışmaları hangi amaçla yapılır?
Tersine mühendislik çalışmalarının amacı bir nesne ya da sistemin nasıl çalıştığını ve tasarımının aşamalarını anlamaktır. Öncelikli amacı bir şeyin çalışma prensibini analiz ederek hakkında bilgi edinmek olsa da sıklıkla bunları kopyalamak veya bazı özelliklerini geliştirerek benzer bir ürün ortaya koymak amacıyla yapılır.
Genelde yazılım veya donanımlara uygulanan tersine mühendislik çalışmalarının amacı benzer bir ürünü daha az maliyetle üretmek veya artık üretilmeyen bir ürünü tekrar üretime başlamak için bir yol bulmaktır. Yazılım veya donanımı uyumlu olmadığı başka bir yazılım, donanım ya da işletim sistemiyle uyumlu hale getirmek için de kullanılır.
Tersine mühendislik çalışmalarıyla elde edilen bilgiler; kullanılmayan nesneleri farklı bir amaca hizmet edecek şekilde geri kazandırmak, güvenlik analizi yapmak, eski elektronik cihaz kullanıcılarının modern cihazlara bağlanmasını sağlayan köprü görevinde parçaları üretmek ve klasik araçların dış görünüşünü değiştirmeden tamamen kullanılır hale getirmek için kullanılabilir.
Genelde 20 yıl veya daha fazla süredir üretilmeyen eski ürünlerin orijinal iki boyutlu çizimlerine ulaşmak, bu ürünlerin üretici firması çoğunlukla piyasadan çekildiği için zordur. Firma hâlâ çalışıyor olsa bile istenilen parçayı üretmeyebilir ve orijinal blueprints (tasarım taslağının kopyaları) kayıp ya da zarar görmüş olabilir. Bu gibi durumlarda tasarımın anlaşılmasının tek yolu tersine mühendislik çalışmalarıdır.
Bilgisayar destekli tasarım ve dijital dosya depolama kullanılmadan önce üretime başlayan bir firmanın eski ürünlerinin tasarım dokümanları uzun zaman önce kaybolmuştur. Tersine mühendislik sayesinde firmalar, kayıp tasarımlarını tekrar elde edebilir ve ürün geçmişi arşivi yapabilir. Firma kağıt üzerindeki taslakları korumuş olsa bile daha kolay ulaşmak ve kullanmak için dijital kopyasını oluşturmak isteyebilir.
Tersine mühendislik süreci nasıl işler?
Tersine mühendislik süreci uygulandığı ürüne göre değişiklik göstermekle beraber bütün süreçler üç genel adım çerçevesinde yapılır.
Bilgi toplama: Bir yazılım tersine mühendislik sürecinden geçirilecekse, ilk adımda kaynak kodu elde etmek gerekir. Bunun yanında yazılım, disassembler (ayırıcı) gibi araçlar kullanılarak yapıtaşlarına ayrılır. Mekanik bir ürün söz konusuysa, öncelikli olarak ürünün performans kapasitesiyle ilişkili olabilecek ölçüleri analiz edilir. Bu analiz, ürünün temel parçalarının genişlik, uzunluk ve yükseklik ölçümlerini içerir. Günümüzde bu ölçümleri yapmak için üç boyutlu tarama teknolojilerinden yararlanılıyor. Üç boyutlu tarayıcılar sayesinde hata payı düşük teknik ölçümler elde edilir ve otomatik olarak veri tabanına kaydedilir.
Modelleme: Bu aşamada elde edilen bilgiler yeni nesne veya sistemlerin tasarımında örnek olarak kullanılabilecek genel bir modele indirgenir. Yazılımlarda ise veri akış diyagramı oluşturulur.
Değerlendirme: Oluşturulan model değerlendirilir ve orijinal nesne veya sistemin gerçekçi bir kopyası olduğundan emin olmak için çeşitli senaryolar içinde test edilir. Testi geçen modeller, orijinal ürünü tekrar üretmek için kullanılmaya hazırdır.
Bilgisayar destekli tasarım (CAD) tasarım örnekleri bulunmayan mevcut bir ürünü yeniden üretmek için kullanılan bir tersine mühendislik tekniğidir. CAD çizimleri ürünün iki ve üç boyutlu dijital görselleridir. Bu görseller tasarımın inceliklerini ortaya çıkarmaya yardım eder.
Tersine mühendisliğin yaygın kulanım alanları
Yazılım
Tersine mühendisliğin yazılım alanında kullanıldığı örneklerden biri, bir mikroişlemci ile çalışması için yazılan bir programı başka bir mikroişlemciye adapte etmektir. Bir programın nasıl belirli işlemleri gerçekleştirdiğini anlamak, performansı artırmak, güvenlik açığını tespit etmek, hataları düzeltmek ve güncellemek diğer örneklerdendir. Virüs bulaşmış yazılım veya sistemin sahibi hangi zararlı yazılımın bulaştığını tespit etmek için de tersine mühendislik araçlarını kullanabilir.
Yedek Parça
Genelde üretimde kullanılan eski ve büyük makinelerin çalışmaya devam etmesi için bozulan parçanın belirlenip yenisinin yapılmasını içerir. Üç boyutlu tarayıcılarla bozuk parça dijital olarak kopyalanır, bu ölçümlere göre yedek parça üretilir ve makineye monte edilir.
İncelenen parçanın ebadına ve kompleksliğine bağlı olarak, parçayı tersine mühendislik araçlarıyla kopyalamanın maliyeti, daha yeni veya farklı bir modelin fiyatını aşabilir. Ancak dijital kopya bir kere oluşturulduktan sonra parçayı tekrar tekrar üretmek için kullanılabilir.
Parçaların Tamir Ve Bakımı
Bir cihazın ya da cihaz parçasının tamir ve bakım işlemlerini üretici artık yapmıyorsa ürünün nasıl çalıştığını anlamak faydalı olur. Bu sayede hangi parçanın değişmesi gerektiğini ve bu parçanın nasıl takıp çıkarıldığını da anlayarak doğru bir şekilde tamir edip, ürünü bozmadan bakımının yapabilirsiniz.
Hata Analizi
Bir makine test sürüşünü geçemediğinde nedenini anlamak için tasarım dosyalarını incelemek veya parçalarına ayırmak gerekebilir. Tersine mühendislik uygulamaları tasarımdaki hataları bulmayı kolaylaştırır ve onarmak için yapılacak işlemler için bilgi verir.
Parça Geliştirme
Bazı parçalar hata analizi düzenledikten sonra değiştirilmek istenebilir ya da güncellemeye ihtiyaç duyabilir. Bu parçanın tersine mühendislik yardımıyla bir kopyası oluşturulur ve hangi ölçülerin sabit kalacağına, hangi özelliklerin değişeceğine karar verilir. Oluşturulan kopya üzerinden düzenlemeler yapılır.
Problemi Tespit Etme Ve Çözme
Tersine mühendislik endüstri alanındaki problemleri bulma ve çözmede de kullanılabilir. Fabrika gibi imalat yerlerinde işlemler hatalı ya da işlevini tam yerine getiremeyen bir parça sebebiyle yavaş ilerlemeye başlar. İmalat sisteminde çok sayıda makine ve bileşen içeriyorsa problemin kaynağını tespit etmek zor olabilir. Parçaların birlikte bir bütün olarak nasıl çalıştığını anlamada ve bu şekilde neyin ters gittiğini tespit etmede tersine mühendislikten yararlanılır.