Evolusi Perangkat Lunak
Tuesday, December 12, 2023
Tuesday, November 28, 2023
Studi Kasus 1 - EPL Aplikasi PPDB
Deskripsi Studi Kasus:
PPDB Online adalah sebuah sistem yang dirancang untuk melakukan seleksi penerimaan peserta didik baru. Aplikasi pendaftaran PPDB Online mu ini dimaksudkan untuk memberikan kemudahan kepada siswa/orang tua siswa yang hendak melakukan pendaftaran sebagai calon peserta didik baru secara mandiri karena informasi bisa diakses dari rumah dan juga termasuk pendaftaran ppdb cukup dilakukan secara daring online. Aplikasi dengan nama PPDB Onlinemu ini bisa dugunakan untuk semua jenjang mulai dari TK, SD, SMP, SMA/SMK atau sederajat hingga perguruan tinggi.
PPDB Onlinemu memiliki sistem seleksi mulai dari proses pendaftaran, verifikasi berkas, penskoran nilai, dan perangkingan. Hasil seleksi verifikasi berkas dan cek [ hasil seleksi ] perangkingan dapat diakses setiap waktu secara daring online cukup dari rumah saja.
Dengan PPDB Onlinemu ini akan memberikan keuntungan bagi calon peserta didik baru atau wali murid antara lain informasi PPDB akan lebih cepat diakses dan diterima, efisiensi waktu dan biaya karena tidak perlu langsung datang ke sekolah cukup dari rumah. Keuntungan lainnya adalah sekolah akan memiliki basis data yang akurat dan tentunya akan meningkatkan reputasi sekolah.
Namun, pada saat masa pendaftaran, sistem tersebut mengalami beberapa permasalahan :
- Kendala Aksesibilitas: Sistem sering mengalami gangguan aksesibilitas, terutama saat pendaftaran sedang berlangsung, yang menyebabkan kesulitan bagi orang tua siswa untuk mengakses sistem dan melakukan pendaftaran.
- Ketidakakuratan Informasi: Beberapa informasi yang ditampilkan oleh sistem tidak akurat atau tidak lengkap, menyebabkan kebingungan di antara orang tua siswa terkait dengan persyaratan pendaftaran dan jadwal seleksi.
- Kelambatan Proses Verifikasi: Proses verifikasi dokumen pendaftar memakan waktu lama dan seringkali terhambat karena sistem yang lambat dalam memproses data.
Solusi yang Diusulkan:
- Peningkatan Infrastruktur: Dinas Pendidikan meningkatkan infrastruktur perangkat keras dan jaringan untuk menangani lonjakan akses saat pendaftaran PPDB berlangsung. Mereka melakukan peningkatan kapasitas server dan mengadopsi teknologi cloud untuk meningkatkan ketersediaan sistem.
- Optimasi Antarmuka Pengguna: Tim pengembangan melakukan revamp terhadap antarmuka pengguna (UI/UX) untuk memastikan informasi yang ditampilkan lebih jelas dan akurat. Mereka juga memperbaiki proses navigasi agar lebih intuitif dan mudah dipahami bagi orang tua siswa yang melakukan pendaftaran.
- Implementasi Sistem Verifikasi Otomatis: Dengan mengadopsi teknologi pengenalan dokumen otomatis, Dinas Pendidikan mempercepat proses verifikasi dokumen pendaftar. Sistem ini dapat mengenali dan memverifikasi dokumen secara cepat dan akurat, mempercepat proses seleksi.
- Pelatihan dan Dukungan Pengguna: Dinas Pendidikan menyediakan pelatihan kepada pengguna, seperti staf sekolah dan orang tua siswa, untuk menggunakan sistem dengan efektif. Mereka juga menyediakan pusat bantuan (helpdesk) yang responsif untuk menanggapi pertanyaan dan masalah teknis yang mungkin timbul.
Soal
- Tentukan metode pemeliharaan yang baik dari aplikasi PPDB
- Buat analisa dampak / impact analysis
- Tentukan langkah-langkah refactoring dari aplikasi PPDB
Monitoring Kelas
Referensi
Tuesday, November 7, 2023
Refactoring
Refactoring merupakan praktik yang penting dalam pengembangan perangkat lunak karena dapat membantu mengurangi kompleksitas, meningkatkan kualitas kode, dan mempermudah pemeliharaan perangkat lunak seiring berjalannya waktu. Selain itu, refactoring juga membantu mencegah akumulasi teknologi utang (technical debt) yang dapat memperlambat pengembangan perangkat lunak dalam jangka panjang.
Refactoring adalah suatu teknik yang digunakan untuk memperbaiki struktur dan desain perangkat lunak tanpa mengubah fungsionalitas eksternal dari perangkat lunak tersebut. Tujuannya adalah untuk membuat kode menjadi lebih mudah dimengerti, mudah diubah, dan lebih efisien tanpa merusak perilaku yang diinginkan.
Aktivitas yang terkait dengan refactoring meliputi:
- Pengidentifikasian Kode Buruk: Pertama, Anda perlu mengidentifikasi kode yang perlu diperbaiki. Kode buruk dapat mencakup duplikasi kode, metode atau kelas yang terlalu panjang, atau desain yang kurang efisien.
- Pemilihan Refactoring: Setelah kode yang perlu diperbaiki diidentifikasi, Anda perlu memilih jenis refactoring yang sesuai. Beberapa contoh refactoring meliputi ekstraksi metode (extract method), ekstraksi kelas (extract class), penggantian kondisional dengan polimorfisme (replace conditional with polymorphism), dan banyak lagi.
- Implementasi Refactoring: Langkah berikutnya adalah mengimplementasikan perubahan yang diperlukan dalam kode. Ini melibatkan penambahan, penghapusan, atau pemindahan kode sesuai dengan jenis refactoring yang dipilih.
- Pengujian: Setelah refactoring diimplementasikan, penting untuk melakukan pengujian untuk memastikan bahwa perubahan tersebut tidak mengganggu fungsionalitas perangkat lunak. Unit testing dan pengujian integrasi adalah bagian penting dari proses ini.
- Dokumentasi: Pastikan untuk mengupdate dokumentasi perangkat lunak agar mencerminkan perubahan yang telah dilakukan. Ini akan membantu pengembang lain yang mungkin bekerja pada kode yang sama.
- Pretty printing: Align code statements so that code becomes easier to understand as logical units.
- Meaningful names for variables:Variable names are chosen to give an indication of programming plans.
- One statement per line: Write one code statement in one line, as opposed to many statements in one line.
- Identify what to refactor.
- Determine which refactorings should be applied.
- Ensure that refactoring preserves the software’s behavior.
- Apply the refactorings to the chosen entities.
- Evaluate the impacts of the refactorings.
- Maintain consistency.
- Duplicate Code:
- Long Parameter List
- Long Methods
- Large Classes
- Message Chain
Studi Kasus
Refactoring dalam konteks aplikasi transaksi keuangan atau perbankan sangat penting untuk memastikan keamanan, keandalan, dan kualitas kode. Berikut beberapa teknik refactoring yang dapat membantu Anda memperbaiki penulisan kode dalam aplikasi perbankan:
Ekstraksi Metode (Extract Method): Pisahkan logika transaksi keuangan menjadi metode-metode terpisah. Ini membantu memperjelas kode dan memungkinkan penggunaan ulang kode.
Pemisahan Kode Bisnis (Business Logic) dari Kode Antarmuka (UI): Pastikan kode bisnis dan tampilan terpisah. Ini memungkinkan Anda untuk mengganti tampilan tanpa harus mengubah logika bisnis yang mendasarinya, dan sebaliknya.
Penanganan Kesalahan yang Lebih Baik (Better Error Handling): Pastikan aplikasi memiliki penanganan kesalahan yang baik, termasuk pesan kesalahan yang informatif dan prosedur pemulihan yang sesuai. Ini akan meningkatkan kualitas pengalaman pengguna.
Optimasi Kode: Identifikasi area-area yang dapat dioptimasi untuk meningkatkan kinerja aplikasi. Ini mungkin termasuk meminimalkan panggilan database atau memperkecil beban penggunaan sumber daya.
Menggunakan Desain Berorientasi Objek yang Baik (Good Object-Oriented Design): Pastikan aplikasi Anda mengikuti prinsip-prinsip desain berorientasi objek yang baik, seperti prinsip SOLID. Ini akan membuat kode lebih mudah dipahami dan dikelola.
Menggunakan Unit Testing: Tambahkan unit testing untuk menguji fungsionalitas transaksi keuangan dan mengidentifikasi kesalahan sejak dini. Ini membantu memastikan bahwa perubahan di masa depan tidak merusak fungsi yang ada.
Menerapkan Pola Desain (Design Patterns): Gunakan pola desain yang sesuai untuk masalah yang Anda hadapi. Contohnya, pola Singleton untuk mengelola koneksi database atau pola Strategy untuk mengelola berbagai jenis transaksi.
Pemisahan Kode dalam Modul dan Paket yang Terorganisir (Code Separation into Organized Modules and Packages): Organisasi kode dalam modul dan paket yang terstruktur membantu meningkatkan keterbacaan dan skalabilitas kode.
Pembersihan Kode (Code Cleanup): Hapus kode yang tidak digunakan, komentar yang tidak relevan, atau blok kode yang tidak diperlukan. Pastikan bahwa kode yang tersisa mudah dimengerti.
Penamaan yang Jelas (Clear Naming): Pastikan variabel, metode, dan kelas memiliki nama yang jelas dan deskriptif agar kode lebih mudah dipahami.
Tuesday, October 31, 2023
Impact Analysis
Analisis dampak (impact analysis) dalam konteks evolusi perangkat lunak adalah proses untuk mengevaluasi dan memahami dampak dari perubahan yang akan dilakukan pada perangkat lunak. Hal ini bertujuan untuk memahami konsekuensi dari perubahan tersebut terhadap komponen atau sistem perangkat lunak yang ada. Analisis dampak menjadi sangat penting dalam manajemen evolusi perangkat lunak, karena perubahan yang tidak dikelola dengan baik dapat mengakibatkan masalah, ketidakstabilan, atau ketidakcocokan dalam sistem perangkat lunak.
Contoh studi kasus analisis dampak dalam evolusi perangkat lunak bisa seperti berikut:
Kasus: Perubahan Fitur pada Aplikasi Perbankan Online
Misalkan sebuah bank memiliki aplikasi perbankan online yang digunakan oleh nasabahnya. Bank tersebut ingin menambahkan fitur baru yang memungkinkan nasabah untuk mentransfer dana antar rekening dengan metode baru yang lebih aman.
- Identifikasi Perubahan: Langkah pertama dalam analisis dampak adalah mengidentifikasi perubahan yang akan dilakukan. Dalam kasus ini, perubahan adalah penambahan fitur transfer dana baru.
- Analisis Dampak pada Komponen: Selanjutnya, kita perlu memahami bagaimana perubahan ini akan memengaruhi komponen perangkat lunak yang ada. Ini melibatkan peninjauan terhadap komponen yang relevan dalam sistem, seperti modul keamanan, modul transaksi, dan antarmuka pengguna.
- Dampak pada Fungsionalitas yang Ada: Perubahan ini mungkin mempengaruhi fungsionalitas yang sudah ada. Sebagai contoh, apakah perubahan ini akan memengaruhi proses login atau sistem otorisasi nasabah?
- Dampak pada Kinerja: Perubahan juga dapat mempengaruhi kinerja aplikasi. Misalnya, apakah penambahan fitur ini akan memperlambat waktu respon sistem?
- Dampak pada Keamanan: Dalam kasus aplikasi perbankan, keamanan adalah hal yang sangat penting. Perubahan fitur harus dievaluasi dari sudut pandang keamanan. Apakah ada risiko keamanan tambahan yang timbul akibat perubahan ini?
- Dampak pada Pengujian: Perubahan ini juga akan memengaruhi pengujian perangkat lunak. Tes harus disesuaikan dengan perubahan fitur baru, dan pengujian keamanan tambahan mungkin diperlukan.
- Dampak pada Dokumentasi: Dokumentasi perangkat lunak perlu diperbarui untuk mencerminkan perubahan fitur. Ini termasuk dokumentasi pengguna, dokumentasi pengembang, dan dokumentasi keamanan.
- Perencanaan Implementasi: Setelah semua dampak dinilai, langkah selanjutnya adalah merencanakan implementasi perubahan. Ini termasuk menetapkan waktu implementasi, mengoordinasikan dengan tim pengembang, dan memastikan bahwa nasabah dan staf bank diberi tahu tentang perubahan ini.
Dengan melakukan analisis dampak yang cermat, bank dapat memastikan bahwa perubahan fitur baru pada aplikasi perbankan online berjalan lancar tanpa mengganggu fungsionalitas, kinerja, atau keamanan sistem yang ada. Hal ini juga membantu mengelola risiko yang terkait dengan perubahan perangkat lunak dalam lingkungan produksi.
Impact Analysis Process
Starting Impact Set (Kumpulan Dampak Awal) adalah kumpulan item atau elemen perangkat lunak yang mungkin terpengaruh oleh sebuah perubahan yang akan diterapkan pada sistem perangkat lunak. Kumpulan dampak awal ini digunakan dalam analisis dampak perubahan perangkat lunak untuk mengidentifikasi dan memahami potensi dampak perubahan sebelum perubahan tersebut benar-benar diterapkan.
Kumpulan dampak awal mencakup berbagai komponen perangkat lunak, seperti modul, fungsi, komponen, atau item lain yang memiliki ketergantungan terhadap perubahan yang diusulkan. Tujuan dari pembentukan kumpulan dampak awal adalah untuk melakukan prediksi awal tentang bagian-bagian perangkat lunak yang perlu diperhatikan dan diuji dengan lebih cermat ketika perubahan diterapkan.
Proses pembentukan kumpulan dampak awal melibatkan analisis terhadap elemen-elemen yang mungkin terpengaruh oleh perubahan, identifikasi ketergantungan, serta pemahaman tentang bagaimana perubahan tersebut dapat merambat ke berbagai komponen sistem. Dengan memahami kumpulan dampak awal, tim pengembang perangkat lunak dapat mempersiapkan rencana yang lebih baik untuk mengelola perubahan, mengurangi risiko, dan memastikan bahwa semua komponen yang perlu diperbarui atau diuji telah diidentifikasi.
Contoh:
Misalkan Anda bekerja pada proyek pengembangan perangkat lunak yang melibatkan peningkatan fitur pada sebuah aplikasi e-commerce. Anda memulai dengan membentuk kumpulan dampak awal yang mencakup komponen seperti modul keranjang belanja, modul pembayaran, antarmuka pengguna, dan modul pencarian produk. Anda tahu bahwa perubahan pada fitur pembayaran mungkin akan memengaruhi komponen ini dan karenanya harus diperhatikan selama proses pengembangan dan pengujian.
Dengan memiliki kumpulan dampak awal, tim pengembang dapat lebih fokus dalam merencanakan dan mengelola perubahan tersebut, mengurangi risiko kesalahan, dan memastikan bahwa perubahan tersebut tidak mengganggu fungsionalitas atau kinerja keseluruhan dari aplikasi e-commerce yang ada.
Candidate Impact Set (Kumpulan Dampak Calon) adalah sekelompok item atau elemen perangkat lunak yang dipertimbangkan sebagai calon potensial yang mungkin terpengaruh oleh sebuah perubahan yang akan diterapkan pada sistem perangkat lunak. Kumpulan dampak calon digunakan dalam analisis dampak perubahan perangkat lunak sebagai langkah awal untuk mengidentifikasi komponen atau elemen yang kemungkinan terpengaruh oleh perubahan tersebut.
Kumpulan dampak calon membantu tim pengembang perangkat lunak untuk lebih cepat dan efisien mempersempit daftar elemen yang harus diperiksa secara lebih mendalam dalam analisis dampak. Ini membantu dalam perencanaan perubahan, pengujian, dan manajemen risiko, karena elemen-elemen yang termasuk dalam kumpulan dampak calon mungkin memerlukan perhatian lebih lanjut.
Proses pembentukan kumpulan dampak calon melibatkan evaluasi awal terhadap elemen-elemen perangkat lunak yang memiliki potensi ketergantungan terhadap perubahan yang diusulkan. Setelah identifikasi calon dampak, analisis dampak yang lebih mendalam dapat dilakukan untuk memahami dampak aktual perubahan pada elemen-elemen ini.
Contoh:
Misalkan Anda bekerja pada proyek perangkat lunak yang mengembangkan aplikasi manajemen proyek, dan tim pengembang ingin menambahkan fitur "pengingat tenggat waktu" ke dalam aplikasi. Anda mulai dengan membentuk kumpulan dampak calon yang mencakup modul tugas, antarmuka pengguna, modul notifikasi, dan modul penyimpanan data proyek.
Setelah membentuk kumpulan dampak calon, Anda melanjutkan dengan melakukan analisis dampak lebih mendalam untuk memahami secara spesifik bagaimana perubahan ini akan memengaruhi komponen-komponen dalam kumpulan dampak calon. Misalnya, Anda mungkin menemukan bahwa perubahan ini akan memerlukan penyesuaian dalam modul notifikasi untuk mengirimkan pengingat tenggat waktu kepada pengguna.
Dengan demikian, kumpulan dampak calon memungkinkan Anda untuk mengidentifikasi dengan cepat area-area yang perlu diperhatikan dalam perubahan perangkat lunak dan membantu dalam perencanaan dan pengelolaan perubahan tersebut.
Discover Impact Set (Kumpulan Dampak yang Ditemukan) adalah istilah yang digunakan dalam konteks analisis dampak perubahan perangkat lunak. Kumpulan ini merujuk pada kumpulan elemen atau item perangkat lunak yang telah diidentifikasi dan dipahami dengan lebih mendalam dalam analisis dampak setelah perubahan perangkat lunak diterapkan. Dengan kata lain, kumpulan dampak yang ditemukan adalah hasil nyata dari dampak yang muncul setelah perubahan tersebut dijalankan atau diimplementasikan.
Ketika tim pengembang menerapkan perubahan pada perangkat lunak, dampak yang sebenarnya dari perubahan tersebut dapat berbeda dari yang diperkirakan pada tahap awal (kumpulan dampak awal atau kumpulan dampak calon). Discover Impact Set membantu dalam memastikan bahwa semua dampak nyata telah diidentifikasi dan dikelola dengan baik setelah perubahan tersebut menjadi bagian dari sistem.
Proses identifikasi Discover Impact Set melibatkan pemantauan, pengujian, dan evaluasi dampak yang sebenarnya pada komponen-komponen yang terkait dengan perubahan. Hal ini memungkinkan tim pengembang untuk mengidentifikasi perubahan apa yang diperlukan, apa yang bekerja dengan baik, dan apa yang memerlukan perbaikan lebih lanjut.
Contoh:
Misalkan Anda bekerja pada tim pengembangan aplikasi perbankan online, dan tim Anda baru saja mengimplementasikan perubahan yang memungkinkan nasabah untuk mengubah kata sandi mereka secara mandiri melalui antarmuka pengguna. Pada tahap awal, Anda telah membentuk kumpulan dampak awal yang mencakup modul otentikasi dan modul keamanan.
Setelah perubahan tersebut dijalankan, Anda mulai memonitor sistem untuk mengidentifikasi dampak yang sebenarnya. Anda mungkin menemukan bahwa implementasi baru ini telah memengaruhi waktu respons sistem saat banyak nasabah mencoba mengganti kata sandi secara bersamaan. Kemudian, Anda mendokumentasikan temuan ini sebagai bagian dari Discover Impact Set.
Kumpulan dampak sebenarnya merupakan bagian penting dalam analisis dampak perubahan perangkat lunak, karena ini adalah gambaran faktual tentang bagaimana perubahan tersebut memengaruhi sistem secara keseluruhan. Dalam banyak kasus, kumpulan dampak sebenarnya dapat berbeda dari kumpulan dampak awal atau kumpulan dampak calon yang diprediksi pada tahap awal analisis dampak, karena dampak sebenarnya sering kali lebih spesifik dan akurat.
Proses identifikasi Actual Impact Set melibatkan pemantauan dan pengujian dampak yang muncul setelah perubahan dijalankan. Ini memungkinkan tim pengembang untuk memahami secara tepat bagaimana perubahan memengaruhi komponen perangkat lunak, fungsionalitas, kinerja, dan interaksi antara elemen-elemen sistem.
Contoh:
Misalkan Anda bekerja pada proyek pengembangan perangkat lunak untuk toko online, dan tim Anda baru saja mengimplementasikan perubahan yang mengoptimalkan algoritma rekomendasi produk kepada pelanggan. Pada tahap awal, Anda telah membentuk kumpulan dampak awal yang mencakup modul rekomendasi produk, basis data produk, dan antarmuka pengguna.
Setelah perubahan tersebut dijalankan, Anda melakukan pemantauan dan pengujian, dan Anda menemukan bahwa perubahan ini telah mempercepat waktu pemuatan halaman produk dan telah meningkatkan konversi penjualan secara signifikan. Anda juga menemukan bahwa waktu pemrosesan di server basis data produk meningkat. Kumpulan dampak yang ditemukan ini kemudian menjadi bagian dari Actual Impact Set.
False Positive Impact Set (Kumpulan Dampak Positif Salah) adalah istilah yang digunakan dalam analisis dampak perubahan perangkat lunak untuk merujuk pada elemen atau item perangkat lunak yang telah disalahartikan atau diprediksi sebagai terpengaruh oleh perubahan, tetapi pada kenyataannya tidak terpengaruh sama sekali. Dalam konteks analisis dampak, ini adalah dampak yang tidak terjadi atau tidak benar-benar relevan dengan perubahan yang diterapkan.
Kumpulan dampak positif salah biasanya muncul ketika terdapat kesalahan dalam pemahaman atau penilaian terhadap bagaimana perubahan tersebut akan memengaruhi sistem. Hal ini dapat mengakibatkan pengalokasian sumber daya yang tidak perlu untuk mengelola elemen-elemen yang sebenarnya tidak terpengaruh oleh perubahan tersebut.
Penting untuk mengidentifikasi kumpulan dampak positif salah dan mengklarifikasi bahwa elemen-elemen ini sebenarnya tidak memerlukan perhatian atau tindakan lebih lanjut. Dengan demikian, tim pengembang dapat fokus pada elemen-elemen yang benar-benar terpengaruh oleh perubahan dan mengurangi risiko pengalokasian sumber daya yang tidak diperlukan.
Contoh:
Misalkan Anda sedang mengembangkan perangkat lunak untuk sebuah situs web berita dan ingin mengganti desain tampilan beranda. Pada tahap awal, Anda memprediksi bahwa perubahan tersebut akan memengaruhi modul tampilan berita, modul navigasi, dan modul penilaian pengguna.
Namun, setelah perubahan tersebut diimplementasikan dan diuji, Anda menemukan bahwa modul navigasi dan modul penilaian pengguna berfungsi dengan baik tanpa perlu perubahan. Ini berarti bahwa prediksi awal Anda tentang dampak perubahan pada modul ini adalah salah, dan mereka termasuk dalam False Positive Impact Set. Kumpulan dampak ini tidak memerlukan tindakan lebih lanjut, dan sumber daya dapat dialokasikan dengan lebih efisien pada elemen-elemen yang benar-benar terpengaruh oleh perubahan desain tampilan beranda.
Dependency Based Impact Analysis
Dependency-Based Impact Analysis (Analisis Dampak Berdasarkan Ketergantungan) adalah metode analisis dampak yang digunakan dalam pengembangan perangkat lunak untuk mengidentifikasi dan memahami dampak dari perubahan yang akan diterapkan pada sistem perangkat lunak. Pendekatan ini berfokus pada identifikasi ketergantungan antara komponen atau modul perangkat lunak, dan bagaimana perubahan pada satu komponen dapat memengaruhi komponen lain dalam sistem.
Proses analisis dampak berdasarkan ketergantungan melibatkan langkah-langkah berikut:
Identifikasi Ketergantungan: Tim pengembang mengidentifikasi dan mendokumentasikan ketergantungan antara berbagai komponen perangkat lunak dalam sistem. Ini termasuk ketergantungan fungsional, ketergantungan data, ketergantungan antarmuka, dan sebagainya. Informasi ini dapat disimpan dalam bentuk peta ketergantungan (dependency map).
Identifikasi Perubahan: Selanjutnya, tim mengidentifikasi perubahan yang akan diterapkan pada sistem perangkat lunak. Perubahan ini bisa berupa perbaikan bug, peningkatan fitur, atau perubahan lainnya.
Analisis Dampak: Tim melakukan analisis untuk memahami dampak potensial dari perubahan tersebut berdasarkan ketergantungan yang telah diidentifikasi. Ini melibatkan memahami bagaimana perubahan pada satu komponen dapat merambat ke komponen lain yang terkait. Ini membantu dalam menentukan elemen-elemen yang perlu diperbarui, diuji ulang, atau diperbaiki sebagai hasil dari perubahan.
Penentuan Prioritas: Setelah analisis dampak selesai, tim dapat menentukan prioritas tindakan yang perlu diambil. Ini membantu dalam mengalokasikan sumber daya dengan bijak untuk mengatasi dampak perubahan dengan efisien.
Keuntungan dari pendekatan analisis dampak berdasarkan ketergantungan adalah memungkinkan tim pengembang untuk lebih akurat mengidentifikasi elemen-elemen yang perlu diperhatikan dan memahami bagaimana perubahan pada satu komponen dapat memengaruhi komponen lainnya. Hal ini juga membantu mengurangi risiko kesalahan, meminimalkan dampak yang tidak diinginkan, dan meningkatkan manajemen perubahan dalam pengembangan perangkat lunak.
Contoh:
Misalkan Anda bekerja pada proyek pengembangan perangkat lunak untuk aplikasi manajemen inventaris. Anda telah mengidentifikasi ketergantungan antara modul manajemen stok, modul pelaporan, dan modul pemesanan. Kemudian, Anda merencanakan untuk mengimplementasikan perubahan pada modul manajemen stok.
Dengan analisis dampak berdasarkan ketergantungan, Anda dapat memahami bahwa perubahan ini mungkin memengaruhi modul pelaporan, karena data stok akan digunakan dalam laporan. Anda juga dapat memahami bahwa modul pemesanan mungkin tidak terpengaruh.
Ripple Effect
Ripple Effect (Efek Gelombang) adalah istilah yang digunakan dalam pengembangan perangkat lunak untuk menggambarkan dampak perubahan pada satu komponen atau bagian dari perangkat lunak yang merambat atau memengaruhi komponen atau bagian lain dalam sistem. Ketika perubahan diterapkan pada satu bagian dari sistem, efek gelombang menyebabkan perubahan tersebut merambat dan memengaruhi bagian lain yang memiliki ketergantungan atau keterkaitan dengan komponen yang mengalami perubahan.
Contoh:
Misalkan Anda bekerja pada tim pengembangan perangkat lunak untuk aplikasi e-commerce. Aplikasi ini memiliki berbagai modul, termasuk modul keranjang belanja, modul pembayaran, dan modul pelaporan.
Perubahan pada Modul Keranjang Belanja: Anda memutuskan untuk mengoptimalkan dan memperbarui modul keranjang belanja untuk meningkatkan kinerjanya. Namun, perubahan ini tidak hanya memengaruhi modul keranjang belanja itu sendiri. Dalam proses ini, terjadi efek gelombang yang memengaruhi:
Modul Pembayaran: Karena modul keranjang belanja diperbarui, proses komunikasi dengan modul pembayaran mungkin perlu disesuaikan atau dioptimalkan untuk mencocokkan perubahan pada keranjang belanja.
Modul Pelaporan: Perubahan pada keranjang belanja juga dapat memengaruhi modul pelaporan. Sebagai contoh, mungkin diperlukan pembaruan dalam laporan yang mencantumkan detail keranjang belanja nasabah.
Dengan demikian, perubahan pada satu komponen (modul keranjang belanja) menyebabkan efek gelombang yang memengaruhi komponen lain yang terkait dengannya. Efek gelombang ini dapat menyebar ke berbagai bagian dari sistem perangkat lunak dan mempengaruhi cara berbagai komponen saling berinteraksi.
Latihan
Absensi
Final Project EPL 2023
Monitoring Form Monitoring Tugas Hasil Monitoring
-
Evolusi perangkat lunak (EPL) adalah sebuah proses pengembangan versi baru sebuah perangkat lunak secara berulang-ulang. Kebutuhan pemakai...
-
Software evolution mengacu pada proses perubahan dan perkembangan perangkat lunak selama siklus hidupnya. Ini mencakup berbagai aspek, seper...
-
Taxonomy (taksonomi) adalah sistem pengelompokan dan klasifikasi yang digunakan untuk mengorganisasi dan memahami konsep atau objek tertentu...