Perbedaan antara Software Restructuring, Software Refactoring, dan Software Slicing

by DEWA


Dari sisi penggunaan, yaitu dimana ketiga aspek ini digunakan, jelas ada perbedaan dan kesamaan.  Seperti :

  • Software Slicing dapat memilah bagian-bagian tertentu dari sebuah modul menjadi excutable yang indenpenden yang bertujuan mengecek kebenaran dari sebuah code tersebut pada level debugging. Dimana fungsi ini tidak digunakan baik pada software restructuring maupun software refactoring.
  • Software Refactoring memiliki beberapa kesamaan dengan software restructuring karena, ide awal dari software refactoring sendiri adalah berasal dari strukturisasi ulang dari sistem pemrograman berorientasi objek (OOP). Pengubahan struktur inilah yang memiliki kesamaan dengan software refactoring, akan tetapi software refactoring dilakukan pada bahasa pemrograman yang sama, tidak merubah bahasa pemrograman.
  • Software Restructuring memiliki perbedaan yang signifikan dari pada sofware refactoring dan software slicing karena, sofware restructuring itu sendiri dapat merubah bahasa pemrograman yang digunakan demi membuat software yang mengalami restrukturing memiliki daur hidup yang lebih panjang (dapat beradaptasi dengan platform dan hardware yang baru)

Meskipun beberapa memiliki persamaan akan tetapi ketiga hal tersebut memiliki kontekstual yang berbeda antara yang satu dengan yang lainnya dimana tidak menutup kemungkinan ketika melakukan software restructuring dibutuhkannya dukungan dari sofware refactoring untuk membuat jadi OOP dan ketika proses debugging juga dibutuhkannya slicing untuk memisahkan bagian-bagian code yang sudah benar dengan yang masih salah.

Jadi ketiganya bisa saling mendukung untuk melakukan sebuah evolusi perangkat lunak demi mendapatkan sofware yang universal, powerfull, code yang readeble, reuse dan terdokumentasi secara lengkap dan terperinci untuk pengembangan selanjutnya.