Rekayasa Perangkat Lunak vs Ilmu Komputer
Dalam masyarakat modern, komputer telah menjadi bagian yang tak terpisahkan dan tak terhindarkan. Namun, kita kurang fokus pada pekerjaan batin dari hal-hal yang sudah dikenal ini. Ilmu komputer adalah fondasi teoritis dari sistem komputer, sedangkan rekayasa perangkat lunak adalah aplikasi dari 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 teori perhitungan 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 teoretis. Sub-disiplin ilmu komputer terapan adalah kecerdasan buatan, arsitektur dan teknik komputer, grafik dan visualisasi komputer, kriptografi dan keamanan komputer, jaringan komputer, sistem bersamaan, paralel dan terdistribusi, Database dan pencarian informasi, dan rekayasa perangkat lunak.
Banyak dari sub disiplin ilmu ini didasarkan pada teori matematika. Beberapa aspek aplikasi terhubung ke mekatronik dan ilmu terapan lainnya.
Juga, sub disiplin ilmu ini meluas ke bidang studi kecil. Misalnya, teori Komputasi berisi bidang studi seperti teori Automata, teori Komputasi, teori Kompleksitas, Kriptografi, dan teori komputasi Quantum.
Rekayasa Perangkat Lunak
Rekayasa perangkat lunak dapat dianggap sebagai salah satu sub disiplin ilmu ilmu komputer terapan. Ini berfokus pada membangun sistem perangkat lunak yang efektif menggunakan pendekatan teknik yang ketat. Ini dapat digambarkan sebagai pendekatan yang sistematis, disiplin, terukur untuk desain, pengembangan, operasi, dan pemeliharaan perangkat lunak, dan studi tentang pendekatan ini. Tidak ada definisi rekayasa perangkat lunak yang diterima, 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 bukan fisik; itu adalah entitas logis yang bekerja di dalam sistem komputer. Oleh karena itu, ia harus dirancang untuk kinerja optimal di kedua perangkat keras dan aspek operasi. Untuk mendapatkan tujuan ini, insinyur perangkat lunak menggunakan model pengembangan. Model-model ini menggabungkan langkah-langkah utama pengembangan perangkat lunak seperti perancangan, pengkodean, pemecahan masalah, dan pemeliharaan ke dalam kerangka kerja yang 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 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 teori komputasi (misalnya, efisiensi algoritma dapat diukur menggunakan kompleksitas, yang dijelaskan dalam teori ilmu komputer, tetapi aplikasinya berada dalam domain rekayasa perangkat lunak di mana algoritma yang paling cocok adalah dipilih dengan menggunakan kompleksitas).