Rekayasa Persyaratan (Requirement Engineering)
Rekayasa persyaratan (RE) merujuk pada proses mendefinisikan, mendokumentasikan, dan memelihara persyaratan dalam proses desain rekayasa. Rekayasa persyaratan menyediakan mekanisme yang sesuai untuk memahami apa yang diinginkan oleh pelanggan, menganalisis kebutuhan, menilai kelayakan, bernegosiasi solusi yang masuk akal, menyatakan solusi dengan jelas, memvalidasi spesifikasi, dan mengelola persyaratan saat mereka diubah menjadi sistem yang berfungsi. Dengan demikian, rekayasa persyaratan adalah penerapan disiplin dari prinsip-prinsip, metode, alat, dan notasi terbukti untuk menggambarkan perilaku yang diinginkan dari sistem yang diusulkan dan batasan yang terkait dengannya. Proses Rekayasa Persyaratan Manajemen Persyaratan Perangkat Lunak: Manajemen persyaratan adalah proses mengelola perubahan persyaratan selama proses rekayasa persyaratan dan pengembangan sistem. Persyaratan Prasyarat: Pengumpulan persyaratan perangkat lunak adalah dasar dari seluruh proyek pengembangan perangkat lunak. Oleh karena itu, mereka harus jelas, benar, dan terdefinisi dengan baik. Sebuah Dokumen Spesifikasi Persyaratan Perangkat Lunak yang lengkap harus: Persyaratan Perangkat Lunak: Persyaratan perangkat lunak sebagian besar harus dikategorikan menjadi dua kategori: Persyaratan non-fungsional dibagi menjadi dua kategori utama: //TC ref : [1][2]
Model Siklus Hidup Pengembangan Perangkat Lunak (SDLC)
Model SDLC: Pengantar Model siklus hidup pengembangan perangkat lunak (SDLC) adalah model spiritual yang digunakan dalam manajemen proyek yang mendefinisikan tahapan-tahapan yang terlibat dalam proyek pengembangan sistem informasi, mulai dari studi kelayakan awal hingga pemeliharaan aplikasi yang selesai. Ada berbagai model siklus hidup pengembangan perangkat lunak yang menentukan dan merancang tahapan-tahapan yang diikuti selama fase pengembangan perangkat lunak. Model-model ini juga disebut “Model Proses Pengembangan Perangkat Lunak.” Setiap model proses mengikuti serangkaian fase yang unik untuk jenisnya untuk memastikan kesuksesan dalam langkah-langkah pengembangan perangkat lunak. Berikut adalah beberapa fase penting dalam siklus hidup SDLC: Model Siklus Hidup Perangkat Lunak Model Air Terjun (Waterfall Model) Model air terjun adalah model SDLC yang secara universal diterima. Dalam metode ini, seluruh proses pengembangan perangkat lunak dibagi menjadi berbagai fase. Model air terjun adalah model pengembangan perangkat lunak yang kontinu di mana pengembangan dilihat sebagai mengalir secara stabil ke bawah (seperti air terjun) melalui langkah-langkah analisis persyaratan, desain, implementasi, pengujian (validasi), integrasi, dan pemeliharaan. Model RAD (Rapid Application Development) Proses RAD atau Pengembangan Aplikasi Cepat adalah penerapan dari model air terjun; itu bertujuan untuk mengembangkan perangkat lunak dalam waktu singkat. Model RAD didasarkan pada konsep bahwa sistem yang lebih baik dapat dikembangkan dalam waktu yang lebih singkat dengan menggunakan kelompok fokus untuk mengumpulkan persyaratan sistem. Model Spiral Model spiral adalah model proses yang didorong oleh risiko. Model SDLC ini membantu grup untuk mengadopsi elemen-elemen dari satu atau lebih model proses seperti air terjun, bertahap, air terjun bertahap, dll. Teknik spiral adalah kombinasi prototyping cepat dan konkurensi dalam aktivitas desain dan pengembangan. Model V Dalam jenis model SDLC ini, pengujian dan pengembangan direncanakan secara paralel. Jadi, ada fase verifikasi di satu sisi dan fase validasi di sisi lain. Model V menyatukan dengan fase Koding. Model Bertahap Model bertahap bukanlah model terpisah. Ini pada dasarnya adalah serangkaian siklus air terjun. Persyaratan dibagi menjadi kelompok-kelompok di awal proyek. Untuk setiap kelompok, model SDLC diikuti untuk mengembangkan perangkat lunak. Proses SDLC diulang, dengan setiap rilis menambahkan lebih banyak fungsionalitas hingga semua persyaratan terpenuhi. Dalam metode ini, setiap siklus bertindak sebagai fase pemeliharaan untuk rilis perangkat lunak sebelumnya. Modifikasi pada model bertahap memungkinkan siklus pengembangan tumpang tindih. Setelah itu, siklus berikutnya dapat dimulai sebelum siklus sebelumnya selesai. Model Agile Metodologi Agile adalah praktik yang mempromosikan interaksi terus-menerus antara pengembangan dan pengujian selama proses SDLC dari suatu proyek. Dalam metode Agile, seluruh proyek dibagi menjadi pembangunan inkremental kecil. Semua pembangunan ini disediakan dalam iterasi, dan setiap iterasi berlangsung dari satu hingga tiga minggu. Model Iteratif Ini adalah implementasi khusus dari siklus hidup pengembangan perangkat lunak yang berfokus pada implementasi awal yang disederhanakan, yang kemudian secara progresif mendapatkan kompleksitas lebih lanjut dan rangkaian fitur yang lebih luas hingga sistem akhir selesai. Singkatnya, pengembangan iteratif adalah cara memecah pengembangan perangkat lunak dari aplikasi besar menjadi bagian-bagian kecil. Model Big Bang Model big bang berfokus pada semua jenis sumber daya dalam pengembangan dan pengkodean perangkat lunak, tanpa atau dengan perencanaan yang sangat sedikit. Persyaratan dipahami dan diimplementasikan saat mereka datang. Model Prototyping Model prototyping dimulai dengan pengumpulan persyaratan. Pengembang dan pengguna bertemu dan mendefinisikan tujuan perangkat lunak, mengidentifikasi kebutuhan, dll. Desain ‘cepat’ kemudian dibuat. Desain ini berfokus pada aspek-aspek perangkat lunak yang akan terlihat oleh pengguna. Ini kemudian mengarah pada pengembangan prototipe. Pelanggan kemudian memeriksa prototipe, dan setiap modifikasi atau perubahan yang diperlukan dibuat pada prototipe. Proses looping terjadi pada langkah ini, dan versi yang lebih baik dari prototipe dibuat. Ini terus-menerus ditunjukkan kepada pengguna sehingga perubahan baru dapat diperbarui dalam prototipe. Proses ini berlanjut hingga pelanggan puas dengan sistemnya. Setelah pengguna puas, prototipe diubah menjadi sistem aktual dengan semua pertimbangan untuk kualitas dan keamanan. //TC ref : [1][2]
Software Development Life Cycle (SDLC)
Model Siklus Hidup Perangkat Lunak Model siklus hidup perangkat lunak (juga disebut model proses) adalah representasi gambaran dan diagramatis dari siklus hidup perangkat lunak. Sebuah model siklus hidup mewakili semua metode yang diperlukan untuk membuat produk perangkat lunak melewati tahapan siklus hidupnya. Ini juga menangkap struktur di mana metode-metode ini akan dilakukan. Dengan kata lain, model siklus hidup memetakan berbagai aktivitas yang dilakukan pada produk perangkat lunak dari awal hingga pensiun. Model siklus hidup yang berbeda mungkin merencanakan aktivitas pengembangan yang diperlukan ke dalam fase-fase dengan cara yang berbeda. Dengan demikian, tidak peduli model siklus hidup mana yang diikuti, aktivitas inti terdapat dalam semua model siklus hidup meskipun tindakan tersebut mungkin dilakukan dalam urutan yang berbeda dalam model siklus hidup yang berbeda. Selama tahapan siklus hidup apa pun, lebih dari satu aktivitas juga dapat dilakukan. Keperluan SDLC Tim pengembangan harus menentukan model siklus hidup yang sesuai untuk suatu rencana tertentu dan kemudian mengikutinya. Tanpa menggunakan model siklus hidup yang tepat, pengembangan produk perangkat lunak tidak akan dilakukan secara sistematis dan terdisiplin. Ketika sebuah tim mengembangkan produk perangkat lunak, harus ada pemahaman yang jelas di antara perwakilan tim tentang kapan dan apa yang harus dilakukan. Jika tidak, hal itu akan menimbulkan kekacauan dan kegagalan proyek. Masalah ini dapat diilustrasikan dengan contoh. Misalkan suatu isu pengembangan perangkat lunak dibagi menjadi berbagai bagian dan bagian-bagian tersebut diberikan kepada anggota tim. Selanjutnya, misalkan perwakilan tim diberi kebebasan untuk mengembangkan peran yang diberikan kepada mereka dengan cara apa pun yang mereka inginkan. Mungkin saja seorang perwakilan memulai menulis kode untuk bagian yang diberikan kepadanya, yang lain mungkin memilih untuk mempersiapkan dokumen-dokumen pengujian terlebih dahulu, dan insinyur lainnya mungkin memulai dengan fase desain dari peran yang diberikan kepadanya. Ini akan menjadi salah satu metode yang sempurna untuk kegagalan proyek. Siklus SDLC Siklus SDLC menggambarkan proses pengembangan perangkat lunak. Kerangka SDLC meliputi langkah-langkah berikut: Tahapan SDLC Tahap 1: Perencanaan dan Analisis Persyaratan Analisis Persyaratan adalah tahap paling penting dan diperlukan dalam SDLC. Anggota senior tim melaksanakannya dengan masukan dari semua pemangku kepentingan dan ahli domain atau SME di industri. Perencanaan untuk kebutuhan jaminan kualitas dan identifikasi risiko yang terkait dengan proyek juga dilakukan pada tahap ini. Tahap 2: Mendefinisikan Persyaratan Setelah analisis persyaratan selesai, tahap berikutnya adalah untuk secara pasti mewakili dan mendokumentasikan persyaratan perangkat lunak dan mendapatkannya disetujui oleh pemangku kepentingan proyek. Ini dilakukan melalui “SRS” – dokumen Spesifikasi Persyaratan Perangkat Lunak yang berisi semua persyaratan produk yang akan dibangun dan dikembangkan selama siklus hidup proyek. Tahap 3: Desain Perangkat Lunak Tahap berikutnya adalah tentang menggabungkan semua pengetahuan tentang persyaratan, analisis, dan desain proyek perangkat lunak. Tahap ini adalah hasil dari dua tahap sebelumnya, yaitu masukan dari pelanggan dan pengumpulan kebutuhan. Tahap 4: Pengembangan Proyek Dalam fase SDLC ini, pengembangan sebenarnya dimulai, dan pemrograman dibangun. Implementasi desain dimulai dalam hal menulis kode. Pengembang harus mengikuti pedoman penulisan kode yang dijelaskan oleh manajemennya dan alat-alat pemrograman seperti kompiler, interpreter, debugger, dll. digunakan untuk mengembangkan dan menerapkan kode. Tahap 5: Pengujian Setelah kode dibuat, kode diuji terhadap persyaratan untuk memastikan bahwa produk memenuhi kebutuhan yang diidentifikasi dan dikumpulkan selama tahap persyaratan. Selama tahap ini, pengujian unit, pengujian integrasi, pengujian sistem, pengujian penerimaan dilakukan. Tahap 6: Implementasi Setelah perangkat lunak disertifikasi, dan tidak ada bug atau kesalahan yang dilaporkan, maka perangkat lunak diimplementasikan. Kemudian berdasarkan penilaian, perangkat lunak dapat dirilis apa adanya atau dengan perbaikan yang disarankan pada segmen objek. Setelah perangkat lunak diimplementasikan, maka perawatan mulai dilakukan. Tahap 7: Perawatan Saat klien mulai menggunakan sistem yang dikembangkan, maka masalah-masalah nyata muncul dan persyaratan harus diselesaikan dari waktu ke waktu. Prosedur ini di mana perawatan diambil untuk produk yang dikembangkan dikenal sebagai perawatan. //TC ref : [1][2]
Proses Perangkat Lunak
Istilah perangkat lunak mengacu pada sekumpulan program komputer, prosedur, dan dokumen terkait (Diagram Alir, manual, dll.) yang menjelaskan program dan cara menggunakannya. Proses perangkat lunak adalah serangkaian aktivitas dan hasil terkait yang menghasilkan produk perangkat lunak. Aktivitas ini biasanya dilakukan oleh para insinyur perangkat lunak. Ada empat aktivitas utama dalam proses perangkat lunak, yang umum untuk semua proses perangkat lunak. Aktivitas-aktivitas ini adalah: Model Proses Perangkat Lunak Model proses perangkat lunak adalah definisi tertentu dari proses perangkat lunak, yang disajikan dari perspektif tertentu. Model, pada dasarnya, adalah penyederhanaan, sehingga model proses perangkat lunak adalah abstraksi dari proses aktual yang sedang dijelaskan. Model proses dapat mencakup aktivitas yang merupakan bagian dari proses perangkat lunak, produk perangkat lunak, dan peran orang-orang yang terlibat dalam rekayasa perangkat lunak. Beberapa contoh jenis model proses perangkat lunak yang dapat dihasilkan adalah: Beberapa Model Umum atau Paradigma Pengembangan Perangkat Lunak Krisis Perangkat Lunak Program vs. Perangkat Lunak Perangkat lunak lebih dari sekadar program. Setiap program adalah bagian dari perangkat lunak, dan menjadi perangkat lunak hanya jika dokumentasi & manual prosedur operasional disiapkan. Ada tiga komponen perangkat lunak seperti yang ditunjukkan dalam gambar: //TC ref : [1][2]
Tutorial Rekayasa Perangkat Lunak
Tutorial Rekayasa Perangkat Lunak menyajikan konsep dasar dan lanjutan tentang Rekayasa Perangkat Lunak. Tutorial ini dirancang untuk membantu pemula dan profesional. Rekayasa Perangkat Lunak menyediakan prosedur standar untuk merancang dan mengembangkan perangkat lunak. Tutorial ini mencakup semua topik dalam Rekayasa Perangkat Lunak seperti Model Rekayasa Perangkat Lunak, Siklus Hidup Pengembangan Perangkat Lunak, Requirement Engineering, alat Desain Perangkat Lunak, Strategi Desain Perangkat Lunak, tingkat Desain Perangkat Lunak, Manajemen Proyek Perangkat Lunak, kegiatan Manajemen Perangkat Lunak, Alat Manajemen Perangkat Lunak, tingkat Pengujian Perangkat Lunak, pendekatan Pengujian Perangkat Lunak, Jaminan Kualitas vs Kontrol Kualitas, Pengujian Manual, Pemeliharaan Perangkat Lunak, Rekayasa Ulang Perangkat Lunak dan Alat Pengembangan Perangkat Lunak seperti Alat CASE. Apa itu Rekayasa Perangkat Lunak? Istilah rekayasa perangkat lunak adalah gabungan dari dua kata, perangkat lunak, dan rekayasa. Pengantar Rekayasa Perangkat Lunak Rekayasa Perangkat Lunak adalah cabang rekayasa yang terkait dengan pengembangan produk perangkat lunak menggunakan prinsip, teknik, dan prosedur ilmiah yang terdefinisi dengan baik. Hasil dari rekayasa perangkat lunak adalah produk perangkat lunak yang efektif dan andal. Mengapa Rekayasa Perangkat Lunak Diperlukan? Rekayasa Perangkat Lunak diperlukan karena alasan berikut: Karakteristik Insinyur Perangkat Lunak yang Baik Fitur-fitur yang harus dimiliki oleh seorang insinyur perangkat lunak yang baik antara lain: Pentingnya Rekayasa Perangkat Lunak Pentingnya Rekayasa Perangkat Lunak adalah sebagai berikut: Indeks Tutorial Rekayasa Perangkat Lunak Berikut adalah indeks topik yang dibahas dalam tutorial Rekayasa Perangkat Lunak: TC// ref : [1][2]