Rekayasa Perangkat Lunak vs Ilmu Komputer
Dalam masyarakat modern, komputer telah menjadi bagian yang tidak terpisahkan dan tidak dapat dihindari. Namun, kami kurang fokus pada cara kerja bagian dalam dari hal-hal yang sudah dikenal ini. Ilmu komputer adalah landasan teoritis dari sistem komputer, sedangkan rekayasa perangkat lunak adalah penerapan prinsip-prinsip tersebut ke dalam masalah untuk mengembangkan solusi perangkat lunak.
Ilmu Komputer
Ilmu komputer adalah ilmu dasar komputasi perangkat keras dan perangkat lunak. Ini memberikan wawasan tentang mekanisme komponen perangkat lunak dan perangkat keras dan dasar teoritis komputasi untuk implementasi dan aplikasi dalam sistem komputer.
Ilmu komputer terdiri dari banyak sub disiplin ilmu utama. Teori komputasi, teori informasi dan pengkodean, algoritma dan struktur data, dan teori bahasa pemrograman termasuk dalam ilmu komputer teoritis. Sub-disiplin ilmu komputer terapan adalah kecerdasan buatan, arsitektur dan teknik komputer, grafik dan visualisasi komputer, kriptografi dan keamanan komputer, jaringan komputer, sistem serentak, paralel dan terdistribusi, pengambilan data dan basis data, serta rekayasa perangkat lunak.
Banyak dari sub disiplin ini didasarkan pada teori matematika. Beberapa aspek aplikasi terkait dengan mekatronika dan ilmu terapan lainnya.
Juga, sub disiplin ilmu ini meluas ke bidang studi kecil. Misalnya, Teori Komputasi memuat bidang studi seperti teori Automata, Teori Komputasi, Teori Kompleksitas, Kriptografi, dan Teori Komputasi Kuantum.
Rekayasa Perangkat Lunak
Rekayasa perangkat lunak dapat dianggap sebagai salah satu sub disiplin utama ilmu komputer terapan. Ini berfokus pada membangun sistem perangkat lunak yang efektif menggunakan pendekatan teknik yang ketat. Ini dapat digambarkan sebagai pendekatan sistematis, disiplin, dan dapat diukur untuk desain, pengembangan, operasi, dan pemeliharaan perangkat lunak, dan studi tentang pendekatan ini. Tidak ada definisi yang diterima dari rekayasa perangkat lunak, tetapi interpretasi tujuannya.
Fritz Bauer mendefinisikan rekayasa perangkat lunak sebagai “Pembentukan dan penggunaan prinsip-prinsip rekayasa suara untuk mendapatkan perangkat lunak yang dikembangkan secara ekonomis yang dapat diandalkan dan bekerja secara efisien pada mesin nyata”.
Perangkat lunak tidak bersifat fisik; itu adalah entitas logis yang bekerja dalam sistem komputer. Oleh karena itu, harus dirancang untuk kinerja yang optimal baik dalam aspek perangkat keras maupun operasi. Untuk mencapai tujuan ini, insinyur perangkat lunak menggunakan model pengembangan. Model ini menggabungkan langkah-langkah utama pengembangan perangkat lunak seperti perancangan, pengkodean, pemecahan masalah, dan pemeliharaan ke dalam kerangka kerja kohesif yang memungkinkan kemajuan sistematis perangkat lunak melalui siklus hidupnya.
Apa perbedaan antara Rekayasa Perangkat Lunak dan Ilmu Komputer?
• Ilmu komputer berfokus pada aspek teoritis dari komputasi, baik dalam perangkat lunak maupun perangkat keras.
• Rekayasa perangkat lunak berfokus pada pengembangan perangkat lunak secara sistematis. Pengkodean atau pemrograman adalah komponen kunci dari rekayasa perangkat lunak.
• Rekayasa perangkat lunak dapat dilihat sebagai aplikasi dari teori komputasi (misalnya, efisiensi algoritme dapat diukur menggunakan kompleksitas, yang dijelaskan dalam teori ilmu komputer, tetapi aplikasinya berada dalam domain rekayasa perangkat lunak yang paling sesuai) Algoritma dipilih dengan cara kompleksitas).