Langsung ke konten utama

Rekayasa Perangkat Lunak (Software Engineering)



Kata “Rekayasa Perangkat Lunak” atau Software Engineering dalam Bahasa Inggris terdiri dari kata “Rekayasa” dan “Perangkat Lunak”. Kata rekayasa menurut kamus Bahasa Indonesia adalah penerapan kaidah-kaidah ilmu dalam pelaksanaan (seperti perancangan, pembuatan kontstruksi, serta pengoperasian kerangka, peralatan, dan system yang ekonomis dan efisien). (kamusbahasaindonesia.org).
Sedangkan perangkat lunak menurut definisi yang ditulis Pressman [12] mengutip Fritz Bauer adalah pembuatan dan penggunaan prinsip-prinsip penting rekayasa supaya pengguna bisa memperoleh perangkat lunak secara murah yang dapat diandalkan dan bekerja secara efisien pada mesin-mesin yang sesungguhnya.
Definisi Rekayasa Perangkat Lunak dari berbagai literatur adalah: Suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal requirement capturing (analisa kebutuhan pengguna), specification (menentukan spesifikasi dari kebutuhan pengguna), desain, coding, testing sampai pemeliharaan sistem setelah digunakan.”
Pressman [12] mengatakan bahwa: 
IEEE telah mengembangkan suatu definisi yang lebih komprehensif yaitu: Rekayasa perangkat lunak pada dasarnya merupakan: (1) aplikasi dari suatu pendekatan yang sistematik, disiplin, dan dapat diukur pada pengembangannya, operasi, dan perawatan perangkat lunak; yaitu, penerapan rekayasa pada perangkat lunak. (2) Studi pendekatan-pendekatan seperti pada (1).

Namun untuk membangun suatu perangkat lunak, dibutuhkan suatu “pendekatan, disiplin, dan dapat diukur” yang diterapkan oleh tim pengembang perangkat lunak.

Model Air Terjun


Model rekayasa perangkat lunak yang klasik dan tertua digunakan adalah Model Air Terjun (The Waterfall Model), dimana dalam merekayasa suatu perangkat lunak melalui pendekatan yang sistematis dan berurutan. (Pressman [12])
Tahapan-tahapan pengembangan perangkat lunak dengan permodelan air terjun adalah:
1.        Komunikasi
Meliputi langkah-langkah: inisialisasi proyek dan pengumpulan spesifikasi kebutuhan dari user. Tujuannya untuk menentukan spesifikasi  kebutuhan dan bagaimana sistem dapat membantu menyelesaikan permasalahan.
2.        Perencanaan
Meliputi langkah-langkah: estimasi, penjadwalan, dan pelacakan. Tujuannya untuk membuat rencana untuk penjadwalan pengembangan aplikasi, mulai dari pembagian tugas teknis, resiko, sumber daya yang dibutuhkan, dan jadwal rencana kerja. 
3.        Permodelan
Meliputi langkah-langkah: Analisa dan Desain. Tujuannya untuk mendapatkan dan menstrukturkan kebutuhan sistem secara keseluruhan. Mengembangkan permodelan yang dapat dipahami baik oleh pengembang (developer) maupun pengguna (user).
4.        Konstruksi
Meliputi langkah-langkah: penulisan kode-kode  program dan pengujian (testing).
5.        Penyerahan sistem / perangkat lunak  ke pelanggan / pengguna
Meliputi langkah-langkah: instalasi dan percobaan (testing) unjuk kerja aplikasi untuk dievaluasi dan diberikan umpan balik dari pengguna.


Komentar

Postingan populer dari blog ini

Arsitektur Aplikasi Web

  Arsitektur aplikasi web pada dasarnya mendekripsikan suatu infrastruktur yang memungkinkan sistem atau aplikasi berbasis web untuk mencapai sasaran-sasaran bisnisnya. Aplikasi web seharusnya dikembangkan dengan lapisan-lapisan (layer) yang masing-masing memberikan perhatian-perhatian yang berbeda-beda. (Pressman [12]) Menurut Gamma et.al [4] bahwa arsitektur Model / View / Controller (MVC) tiga serangkai kelas  digunakan untuk membangun user interface di Smalltalk-80. Melihat pola desain dalam MVC akan membantu Anda melihat apa yang kita maksud dengan istilah "pola." MVC terdiri dari tiga macam objek. Model ini adalah objek aplikasi, View adalah layar presentasi, dan Controller mendefinisikan cara user interface bereaksi terhadap input pengguna. Sebelum MVC, pengguna desain antarmuka cenderung menggumpalkan obyek-objek secara bersamaan. MVC memisahkan mereka untuk meningkatkan fleksibilitas dan reuse. Arsitektur MVC merupakan satu dari sejumlah model infrast

Java2 Enterprise Edition (J2EE)

Menurut tutorial Java EE oleh Oracle Inc [8],  Java Platform  Enterprise Edition (Java EE) adalah standar industri untuk komputasi enterprise Java. Memanfaatkan Profil Web  Java EE 6 yang ringan untuk menciptakan generasi aplikasi Web, dan kekuatan penuh dari platform Java EE 6 untuk aplikasi enterprise. Keuntungan bagi pengembang dengan peningkatan produktivitas dengan penjelasan lebih, lebih banyak POJO’s ( Plain Old Java Object ) , kemasan disederhanakan, dan konfigurasi XML yang lebih sedikit. Platform Java EE menggunakan model aplikasi multitier terdistribusi  untuk aplikasi enterprise. Logika aplikasi dibagi menjadi komponen-komponen sesuai dengan fungsinya, dan komponen aplikasi yang membentuk sebuah aplikasi Java EE yang diinstal pada berbagai mesin, tergantung pada tier di lingkungan multitier Java EE yang menjadi milik komponen aplikasi tersebut. Tingkatan-tingkatan dari arsitektur Java EE yaitu: ·                 Klien-tier, komponen dijalankan pada mesin klien. ·

Perancangan Berbasis Pola

2.1          PERANCANGAN BERBASIS POLA Gamma et.al [4] mengutip perkataan Christopher Alexander mengatakan bahwa: "Setiap pola menggambarkan masalah yang terjadi berulang-ulang di lingkungan kita, dan kemudian menggambarkan inti dari solusi untuk masalah itu, sedemikian rupa sehingga Anda dapat menggunakan solusi ini satu juta kali lebih, tanpa pernah melakukan dengan cara yang sama dua kali " Perancangan berbasis pola menurut Pressman [12] adalah suatu teknik untuk membuat aplikasi yang baru dengan menemukan sejumlah solusi-solusi permasalahan yang telah terbukti berhasil untuk kemudian menggunakannya secara berhasil menyelesaikan permasalahan-permasalahan yang ada saat ini. Penciptaan desain pola mengabstraki proses Instansiasi. Mereka membantu membuat sistem independen dari bagaimana objek yang diciptakan, terdiri, dan mewakili. Pola penciptaan kelas menggunakan warisan untuk beragam kelas yang terinstansiasi, sedangkan pola penciptaan objek akan mendelegas