Rekayasa perangkat lunak vs ilmu komputer
Dalam masyarakat modern, komputer telah menjadi bagian integral dan tidak dapat dihindari. Namun, kami kurang fokus pada cara kerja batin dari hal -hal yang akrab ini. Ilmu Komputer adalah fondasi teoritis dari sistem komputer, sedangkan rekayasa perangkat lunak adalah penerapan prinsip -prinsip tersebut menjadi 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 yayasan teoritis perhitungan untuk implementasi dan aplikasi dalam sistem komputer.
Ilmu komputer terdiri dari banyak sub disiplin ilmu. Teori Komputasi, Teori Informasi dan Pengkodean, Algoritma dan Struktur Data, dan Teori Bahasa Pemrograman milik 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 bersamaan, paralel dan terdistribusi, database dan pengambilan informasi, dan rekayasa perangkat lunak.
Banyak dari sub disiplin ini didasarkan pada teori matematika. Beberapa aspek aplikasi terhubung ke mekatronik dan ilmu terapan lainnya.
Juga, sub disiplin ini meluas ke daerah studi kecil. Sebagai contoh, teori komputasi berisi 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 rekayasa yang ketat. Ini dapat digambarkan sebagai pendekatan yang sistematis, disiplin, dan dapat diukur untuk desain, pengembangan, operasi, dan pemeliharaan perangkat lunak, dan studi tentang pendekatan ini. Tidak ada definisi rekayasa perangkat lunak yang menerima siapa pun, tetapi interpretasi tujuannya.
Fritz Bauer mendefinisikan rekayasa perangkat lunak sebagai "pembentukan dan penggunaan prinsip -prinsip rekayasa suara untuk mendapatkan perangkat lunak yang dikembangkan secara ekonomi yang dapat diandalkan dan bekerja secara efisien pada mesin nyata".
Perangkat lunak bukan fisik; itu adalah entitas logis yang bekerja dalam sistem komputer. Oleh karena itu, harus dirancang untuk kinerja optimal dalam aspek perangkat keras dan operasi. Untuk mendapatkan tujuan ini, insinyur perangkat lunak menggunakan model pengembangan. Model -model ini menggabungkan langkah -langkah utama pengembangan perangkat lunak seperti merancang, 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 komputasi, baik dalam perangkat lunak maupun perangkat keras.
• Rekayasa perangkat lunak berfokus pada pengembangan perangkat lunak secara sistematis. Pengkodean atau pemrograman adalah komponen utama 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 aplikasi itu berada dalam domain rekayasa perangkat lunak di mana algoritma yang paling cocok berada dipilih melalui kompleksitas).