Rekayasa perangkat lunak (RPL) umumnya disepakati sebagai terjemahan dari istilah rekayasa perangkat lunak. Istilah rekayasa perangkat lunak menjadi populer di konferensi rekayasa perangkat lunak NATO pada tahun 1968.
Beberapa menginterpretasikan RPL sebagai terbatas pada pembuatan program komputer. Namun, ada perbedaan mendasar antara perangkat lunak (software) dan program komputer.
Perangkat lunak adalah semua perintah yang digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur. Program adalah kumpulan perintah yang dipahami oleh komputer, sedangkan prosedur adalah perintah yang pengguna perlu proses informasi.
Pengertian Rekayasa Perangkat Lunak (RPL) adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, desain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan.
Secara umum tujuan RPL tidak berbeda dengan bidang rekayasa yang lain. Perhatikan Gambar berikut ini :
bidang teknologi akan selalu berusaha untuk mencapai hasil kinerja tinggi, biaya rendah dan waktu pemrosesan yang tepat. Secara khusus, kita dapat menyatakan tujuan RPL:
Sesuai pengertian yang telah disampaikan sebelumnya, maka ruang lingkup dari RPL dapat digambarkan sebagai berikut :
Ketika kita bekerja dengan komputer, kita membutuhkan serangkaian langkah dan cara-cara tertentu untuk menghasilkan sesuatu yang merupakan harapan kita. Ini juga membutuhkan langkah-langkah kerja dalam pengembangan perangkat lunak yang harus dilalui.
Rekayasa perangkat lunak yang berhasil tidak hanya membutuhkan keterampilan komputasi seperti algoritma, pemrograman, dan database yang kuat, tetapi juga harus menetapkan tujuan yang baik, mengidentifikasi cara untuk menyelesaikan metode pengembangan, urutan kegiatan, identifikasi kebutuhan sumber daya, dan faktor lainnya.
Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk membantu proses pengembangan perangkat lunak. Model-model ini pada umumnya mengacu pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC).
Setiap model yang dikembangkan mempunyai karakteristik sendiri-sendiri. Namun secara umum ada persamaan dari model-model ini, yaitu:
Ada banyak model pengembangan perangkat lunak, antara lain The Waterfall Model, Joint Application Development (JAD), Information Engineering (IE), Rapid Application Development (RAD) termasuk di dalamnya Prototyping, Unified Process (UP), Structural Analysis and Design (SAD) dan Framework for the Application of System thinking (FAST).
Model siklus hidup (life cycle model) adalah model utama dan dasar dari banyak model. Salah satu model yang cukup dikenal dalam dunia rekayasa perangkat lunak adalah The Waterfall Model. Ada 5 tahapan utama dalam The Waterfall Model seperti terlihat pada Gambar. Disebut waterfall (berarti air terjun) karena memang diagram tahapan prosesnya mirip dengan air terjun yang bertingkat.
Tahapan-tahapan dalam The Waterfall Model secara ringkas adalah sebagai berikut :
Prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen-komponen perangkat lunak akan bekerja dalam lingkungannya sebelum tahapan konstruksi aktual dilakukan.
Prototyping model dapat diklasifikasikan menjadi beberapa tipe :
Tahap-tahap dalam prototyping boleh dikata merupakan tahap-tahap yang dipercepat. Strategi utama dalam prototyping adalah kerjakan yang mudah terlebih dahulu dan sampaikan hasil kepada pengguna sesegera mungkin. Harris (2003) membagi prototyping dalam enam tahapan seperti terlihat pada gambar.
Tahapan-tahapan secara ringkas dapat dijelaskan sebagai berikut:
Unified Process (UP) atau kadang disebut sebagai Unified Software Development Process (USDP) adalah kerangka proses pengembangan yang bersifat use-case-driven, berpusat pada arsitektur perangkat lunak, interatif dan tumbuh-kembang. Kerangka pengembangan ini termasuk baru dalam metodologi pengembangan perangkat lunak. UP dapat diaplikasikan pada berbagai skala proyek, mulai dari skala kecil sampai dengan skala besar.
Daur hidup UP secara umum akan tampak seperti pada bagan di Gambar Bagan ini biasa disebut sebagai “hump chart”. Pada bagan ini terlihat ada empat tahap pengembangan yaitu inception, elaboration, construction dan transition. Selain itu tampak pula sejumlah aktivitas (disciplines) yang harus dilakukan sepanjang pengembangan perangkat lunak, yaitu, business modeling, requirements, analysis and design, implementation, test. Tahap dan aktivitas tersebut akan dilakukan secara iteratif.
Penjelasan singkat untuk empat tahapan dalam UP adalah sebagai berikut:
Dalam pengembangan perangkat lunak dengan menggunakan UP, maka tidak lepas dari penggunaan notasi-notasi yang biasa disebut sebagai UML (Unified Modeling Language). Meskipun UP mensyaratkan penggunaan UML, namun UML sendiri dapat digunakan pada berbagai metodologi yang lain bahkan dapat digunakan pada bidang selain sistem informasi.
UML adalah bahasa pemodelan standar atau kumpulan teknik-teknik pemodelan untuk men- spesifikasi, mem-visualisasi, meng-konstruksi dan mendokumentasi hasil kerja dalam pengembangan perangkat lunak. UML lahir dari penggabungan banyak bahasa pemodelan grafis berorientasi obyek yang berkembang pesat pada akhir tahun 1980an dan awal 1990an.
Secara sederhana UML digunakan untuk menggambar sketsa sistem. Pengembang menggunakan UML untuk menyampaikan beberapa aspek dari sebuah perangkat lunak melalui notasi grafis. UML mendefinisikan notasi dan semantik. Notasi merupakan sekumpulan bentuk khusus yang memiliki makna tertentu untuk menggambarkan berbagai diagram piranti lunak dan semantik mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Ada beberapa jenis diagram yang disediakan dalam UML, antara lain adalah:
Seperti telah disebutkan, meskipun dalam pendekatan berbeda-beda, namun model-model di atas memiliki kesamaan, yaitu menggunakan pola tahapan analysis => design => coding(construction) => testing => maintenance.
Analisis sistem adalah teknik pemecahan masalah di mana sistem dipecah menjadi komponen-komponennya untuk memeriksa seberapa baik komponen bekerja dan berinteraksi untuk mencapai tujuan mereka.
Analisis mungkin merupakan bagian terpenting dari proses rekayasa perangkat lunak. Seluruh proses tindak lanjut tergantung pada apakah hasil analisis tersedia atau tidak. Ada bagian penting yang biasanya dilakukan dalam fase analisis, yaitu pemodelan proses bisnis. Model proses adalah model yang memfokuskan pada seluruh proses di dalam sistem yang mentransformasikan data menjadi informasi.
Model proses juga menunjukkan aliran data yang masuk dan keluar pada suatu proses. Biasanya model ini digambarkan dalam bentu Diagram Arus Data (Data Flow Diagram / DFD). DFD meyajikan gambaran apa yang manusia, proses dan prosedur lakukan untuk mentransformasi data menjadi informasi.
Desain perangkat lunak adalah tugas, fase atau aktivitas yang berfokus pada spesifikasi terperinci dari solusi terkomputerisasi. Desain perangkat lunak sering disebut sebagai desain fisik. Ketika masalah bisnis (business rule) disorot dalam fase analisis sistem, desain perangkat lunak terbalik berfokus pada sisi teknis dan implementasi perangkat lunak.
Masalah utama dari fase desain perangkat lunak adalah spesifikasi desain. Spesifikasi ini mencakup spesifikasi desain umum yang dikomunikasikan kepada peserta sistem, serta spesifikasi desain terperinci yang digunakan dalam fase implementasi. Spesifikasi desain umum hanya berisi deskripsi umum sehingga mereka yang terlibat dalam sistem memahami bagaimana perangkat lunak dibuat.
Biasanya, grafik USD perangkat lunak baru adalah poin penting di bagian ini. Spesifikasi desain terperinci, atau kadang-kadang disebut sebagai desain arsitektur perangkat lunak terperinci, diperlukan untuk merancang sistem agar pemrosesan data dilakukan dengan baik, akurat, dan akurat, berharga, mudah digunakan, dan fondasi untuk pengembangan lebih lanjut.
Desain arsitektur ini terdiri dari desain database, desain proses dan desain antarmuka pengguna, termasuk input, bentuk output dan desain laporan, perangkat keras, perangkat lunak, dan desain jaringan. Desain proses merupakan kelanjutan dari pemodelan proses yang dilakukan dalam fase analisis.
Konstruksi adalah fase menerjemahkan hasil desain logis dan fisik ke dalam kode program komputer.
Tes sistem mencakup semua kelompok pengguna yang direncanakan pada fase sebelumnya. Pengujian tingkat penerimaan perangkat lunak berakhir ketika kesan muncul bahwa semua kelompok pengguna mengklaim dapat menerima perangkat lunak berdasarkan kriteria yang ditentukan.
Ketika eksekusi perangkat lunak dianggap layak, fase baru muncul, yaitu pemeliharaan perangkat lunak. Berbagai jenis perawatan sudah dikenal di dunia perangkat lunak.
Itulah tadi ulasan tentang
Rekayasa Perangkat Lunak | Pengertian, Tujuan, Ruang Lingkup, Metode, Tahapan