Bab 11 : Software Engineering Models and Methods
Nama : Mutia Ardelia Rokhima
NIM : 240605110075
Bab 11 : Software Engineering Models and Methods
Bagian 1 : Dasar-Dasar Software Engineering Models
and Methods
A.
Konsep Model dan Metode dalam
Rekayasa Perangkat Lunak
1.
Definisi Model Rekayasa Perangkat
Lunak dan Metode Rekayasa Perangkat Lunak
Model rekayasa
perangkat lunak adalah kerangka atau pendekatan yang digunakan untuk mengatur
tahapan pengembangan perangkat lunak secara sistematis mulai dari perencanaan
hingga pemeliharaan sistem. Model ini membantu tim pengembang menentukan alur
kerja dan proses pengembangan agar proyek berjalan lebih terstruktur.
Sementara itu,
metode rekayasa perangkat lunak merupakan teknik atau cara yang digunakan dalam
pelaksanaan pengembangan perangkat lunak untuk menyelesaikan tugas tertentu,
seperti analisis kebutuhan, desain sistem, pengujian, dan pengelolaan proyek.
Metode membantu pengembang menerapkan proses kerja secara lebih efektif dan
efisien.
2.
Tiga Perbedaan Utama antara Model
dan Metode dalam Rekayasa Perangkat Lunak
1.
Model rekayasa perangkat lunak
berfokus pada tahapan dan alur proses pengembangan, sedangkan metode rekayasa
perangkat lunak berfokus pada teknik atau cara pelaksanaan dalam setiap tahap
pengembangan.
2.
Model digunakan sebagai kerangka
kerja umum dalam proyek perangkat lunak, sedangkan metode digunakan untuk
membantu menyelesaikan aktivitas tertentu seperti desain, coding, atau testing.
3.
Model biasanya mencakup keseluruhan
siklus pengembangan perangkat lunak, sedangkan metode lebih spesifik pada
penerapan teknik dalam proses pengembangan.
3.
Analisis Studi Kasus
Pengembangan Sistem Informasi Akademik Universitas dengan Waktu dan
Anggaran Terbatas
|
Aspek |
Model/Metode yang Cocok |
Alasan Pemilihan |
|
Waktu Terbatas |
Agile Model |
Agile memungkinkan pengembangan dilakukan secara bertahap dan
cepat melalui iterasi singkat |
|
Anggaran Terbatas |
Waterfall Model |
Proses pengembangan lebih terstruktur sehingga biaya proyek lebih
mudah dikontrol |
|
Kebutuhan Berubah |
Agile Method |
Memudahkan penyesuaian kebutuhan pengguna selama proses
pengembangan berlangsung |
Bagian 2 : Model Rekayasa Perangkat Lunak
A.
Klasifikasi Model Rekayasa Perangkat
Lunak
1.
Empat Model Utama Rekayasa Perangkat
Lunak
1)
Waterfall Model
Waterfall adalah model pengembangan perangkat lunak yang dilakukan
secara berurutan mulai dari analisis, desain, implementasi, pengujian, hingga
pemeliharaan. Setiap tahap harus diselesaikan sebelum melanjutkan ke tahap
berikutnya.
2)
V-Model
V-Model merupakan pengembangan dari Waterfall yang menekankan
hubungan antara tahap pengembangan dan tahap pengujian. Setiap proses
pengembangan memiliki proses testing yang sesuai untuk memastikan kualitas
sistem.
3)
Incremental Model
Incremental model adalah model pengembangan yang dilakukan secara
bertahap dengan membagi sistem menjadi beberapa bagian kecil atau increment.
Setiap increment akan dikembangkan dan ditambahkan secara bertahap hingga
sistem lengkap.
4)
Spiral Model
Spiral model adalah model pengembangan perangkat lunak yang
menggabungkan pendekatan iteratif dengan analisis risiko pada setiap tahap
pengembangan. Model ini cocok digunakan pada proyek besar dan kompleks.
2.
Tabel Perbandingan Model Rekayasa
Perangkat Lunak
|
Model Rekayasa |
Kelebihan |
Kekurangan |
Contoh Penerapan |
|
Waterfall |
Proses terstruktur dan mudah dipahami |
Sulit menyesuaikan perubahan kebutuhan |
Sistem administrasi dengan kebutuhan tetap |
|
V-Model |
Pengujian dilakukan secara lebih terencana |
Membutuhkan waktu dan biaya lebih besar |
Sistem perbankan dan sistem keamanan |
|
Incremental |
Pengembangan lebih fleksibel dan bertahap |
Membutuhkan perencanaan integrasi yang baik |
Pengembangan aplikasi mobile |
|
Spiral |
Fokus pada analisis risiko dan evaluasi berkala |
Kompleks dan membutuhkan biaya tinggi |
Sistem besar berbasis cloud dan kesehatan |
3.
Studi Kasus: Sistem E-Commerce
Berbasis Cloud
Pada studi
kasus sistem e-commerce berbasis cloud, model yang paling sesuai adalah
Incremental Model. Hal ini karena sistem e-commerce biasanya membutuhkan
pengembangan fitur secara bertahap, seperti fitur login, pembayaran, manajemen
produk, dan layanan pengiriman.
Selain itu, incremental model
memungkinkan pengembang melakukan pembaruan dan penambahan fitur tanpa harus
menunggu seluruh sistem selesai dikembangkan. Model ini juga lebih fleksibel
terhadap perubahan kebutuhan pengguna sehingga cocok digunakan pada sistem
e-commerce yang terus berkembang dan membutuhkan pembaruan secara berkala.
Bagian 3: Metode dalam Rekayasa Perangkat Lunak
A.
Metode Berbasis Prototype dan Formal
1.
Konsep Prototyping Method dalam
Pengembangan Perangkat Lunak
Prototyping
Method adalah metode pengembangan perangkat lunak yang dilakukan dengan membuat
model atau versi awal sistem sebelum perangkat lunak dikembangkan secara penuh.
Prototype digunakan untuk membantu pengguna memahami gambaran sistem serta
memberikan masukan terhadap fitur dan tampilan aplikasi.
Metode ini
memungkinkan pengembang dan pengguna melakukan evaluasi sejak awal sehingga
kebutuhan sistem dapat diketahui dengan lebih jelas. Dengan adanya prototype,
risiko kesalahan pengembangan dapat dikurangi karena pengguna dapat memberikan
umpan balik sebelum sistem final dibuat.
2.
Tiga Jenis Prototyping dan Contoh
Penerapannya
1.
Throwaway Prototype
Prototype dibuat hanya untuk memahami kebutuhan pengguna dan akan
dibuang setelah sistem utama dikembangkan. Contoh penerapan: pembuatan desain
awal aplikasi mobile untuk mengetahui kebutuhan tampilan pengguna.
2.
Evolutionary Prototype
Prototype dikembangkan secara bertahap hingga menjadi sistem akhir
yang digunakan pengguna. Contoh penerapan: pengembangan aplikasi e-commerce
yang terus diperbarui berdasarkan masukan pengguna.
3.
Incremental Prototype
Sistem dikembangkan dalam beberapa prototype kecil yang nantinya
digabungkan menjadi sistem lengkap. Contoh penerapan: pengembangan sistem
akademik dengan modul terpisah seperti KRS, jadwal, dan pembayaran.
3.
Metode Formal dalam Rekayasa
Perangkat Lunak dan Keunggulannya
Metode Formal
adalah metode pengembangan perangkat lunak yang menggunakan pendekatan
matematika dan logika formal untuk merancang serta memverifikasi sistem
perangkat lunak. Metode ini bertujuan memastikan sistem bekerja secara benar
dan sesuai spesifikasi yang telah ditentukan.
Keunggulan
metode formal terletak pada kemampuannya dalam mengurangi kesalahan sistem dan
meningkatkan keandalan perangkat lunak, terutama pada sistem yang memiliki
tingkat risiko tinggi terhadap keselamatan dan keamanan. Oleh karena itu,
metode formal sering digunakan pada sistem kritis seperti perangkat lunak
penerbangan, sistem medis, dan sistem perbankan.
Tabel Metode Rekayasa Perangkat Lunak
|
Metode |
Deskripsi |
Contoh Penerapan |
|
Prototyping |
Pengembangan sistem melalui pembuatan
model awal untuk mendapatkan umpan balik pengguna |
Pengembangan aplikasi mobile dan website |
|
Formal Methods |
Pengembangan perangkat lunak menggunakan
pendekatan matematika dan logika formal |
Sistem pesawat terbang, sistem medis,
dan sistem keamanan |
4.
Studi Kasus: Pengembangan Sistem
Kendali Otomatis untuk Pesawat Terbang
Pada studi
kasus pengembangan sistem kendali otomatis untuk pesawat terbang, metode yang
paling sesuai adalah Formal Methods. Hal ini karena sistem penerbangan
merupakan sistem kritis yang membutuhkan tingkat keamanan, keakuratan, dan
keandalan yang sangat tinggi.
Dengan metode
formal, pengembang dapat melakukan verifikasi sistem secara matematis sehingga
kemungkinan terjadinya kesalahan perangkat lunak dapat diminimalkan. Selain
itu, metode ini membantu memastikan bahwa seluruh fungsi sistem berjalan sesuai
spesifikasi dan aman digunakan dalam kondisi operasional yang kompleks.
B.
Metode Agile dan Hybrid
1.
Prinsip Utama Agile Software
Development dan Perbedaannya dengan Metode Tradisional
Agile Software
Development adalah metode pengembangan perangkat lunak yang menekankan
fleksibilitas, kolaborasi tim, pengembangan bertahap, serta kemampuan
beradaptasi terhadap perubahan kebutuhan pengguna. Dalam Agile, proses
pengembangan dilakukan dalam iterasi singkat sehingga perubahan dapat
diterapkan dengan cepat dan hasil pengembangan dapat dievaluasi secara berkala.
Perbedaan utama
Agile dengan metode tradisional terletak pada cara pengelolaan proyek. Metode
tradisional seperti Waterfall menggunakan tahapan yang berurutan dan sulit
menerima perubahan setelah proyek berjalan, sedangkan Agile lebih fleksibel dan
memungkinkan perubahan dilakukan selama proses pengembangan berlangsung.
2.
Tiga Metode Agile yang Populer
1.
Scrum
Scrum adalah metode Agile yang menggunakan pembagian pekerjaan
dalam sprint atau iterasi singkat dengan fokus pada kolaborasi tim dan evaluasi
berkala.
2.
Kanban
Kanban merupakan metode Agile yang menggunakan papan visual untuk
memantau alur pekerjaan sehingga proses pengembangan menjadi lebih
terorganisasi dan transparan.
3.
Extreme Programming (XP)
Extreme Programming adalah metode Agile yang menekankan kualitas
kode melalui praktik seperti pair programming, continuous testing, dan feedback
cepat dari pengguna.
3.
Tabel Kelebihan dan Kekurangan
Metode Agile
|
Metode Agile |
Kelebihan |
Kekurangan |
|
Scrum |
Pengembangan lebih terstruktur dan mudah dipantau melalui
sprint |
Membutuhkan koordinasi tim yang intensif |
|
Kanban |
Mempermudah visualisasi alur kerja dan fleksibel terhadap
perubahan |
Sulit mengukur batas waktu jika pekerjaan terlalu banyak |
|
Extreme Programming (XP) |
Meningkatkan kualitas kode dan mengurangi bug |
Membutuhkan keterlibatan tim dan pengguna secara aktif |
4.
Studi Kasus: Startup Teknologi yang
Mengembangkan Aplikasi Mobile dalam Lingkungan Dinamis
Pada studi
kasus startup teknologi yang mengembangkan aplikasi mobile dalam lingkungan
dinamis, metode yang paling sesuai adalah Scrum. Hal ini karena Scrum
memungkinkan pengembangan dilakukan dalam sprint singkat sehingga tim dapat
menyesuaikan fitur aplikasi dengan cepat sesuai perubahan kebutuhan pengguna
dan pasar.
Selain itu, Scrum mendukung
komunikasi dan kolaborasi tim secara intensif melalui pertemuan rutin seperti
daily stand-up meeting. Dengan pendekatan tersebut, proses pengembangan
aplikasi mobile menjadi lebih fleksibel, cepat, dan responsif terhadap perubahan
kebutuhan pengguna.
Bagian 4 : Evaluasi dan Alat Bantu dalam Penerapan
Model dan Metode
A.
Evaluasi Pemilihan Model
dan Metode
1.
Faktor-Faktor yang Perlu
Dipertimbangkan
Dalam memilih model dan metode
rekayasa perangkat lunak, beberapa faktor utama yang perlu dipertimbangkan
adalah tingkat kompleksitas sistem, perubahan kebutuhan pengguna, skala proyek,
risiko teknis, waktu pengembangan, anggaran, serta kemampuan tim pengembang.
Pemilihan model yang tepat akan membantu proses pengembangan berjalan lebih
terarah, efisien, dan sesuai kebutuhan sistem.
Selain itu, karakteristik pengguna
dan lingkungan operasional juga perlu diperhatikan. Sistem yang bersifat
kritis, seperti rumah sakit, perbankan, atau penerbangan, membutuhkan model dan
metode yang mampu menjamin keamanan, keandalan, serta kemudahan pengujian.
Dengan mempertimbangkan faktor tersebut, risiko kegagalan proyek dapat
dikurangi dan kualitas perangkat lunak dapat lebih terjaga.
2.
Analisis Studi Kasus:
Sistem Manajemen Rumah Sakit Berbasis Web dengan Integrasi IoT
|
Faktor Evaluasi |
Model/Metode yang Cocok |
Alasan Pemilihan |
|
Kompleksitas Tinggi |
Spiral Model |
Cocok untuk sistem kompleks karena
menekankan analisis risiko dan evaluasi bertahap |
|
Kebutuhan Berubah Cepat |
Agile Method |
Memudahkan penyesuaian fitur sesuai
kebutuhan rumah sakit dan pengguna |
|
Skalabilitas |
Incremental Model |
Sistem dapat dikembangkan secara
bertahap, misalnya modul pasien, dokter, rekam medis, dan perangkat IoT |
B. Alat Bantu dalam Penerapan Model dan Metode
1.
Tiga Alat Bantu dalam
Penerapan Model dan Metode Rekayasa Perangkat Lunak
1)
JIRA
JIRA adalah alat bantu manajemen proyek yang digunakan
untuk mengatur tugas, memantau progres pengembangan, serta mendukung penerapan
metodologi Agile dalam proyek perangkat lunak.
2)
Trello
Trello merupakan alat manajemen proyek berbasis papan
visual yang digunakan untuk mengelola tugas dan mempermudah kolaborasi tim
dalam proses pengembangan perangkat lunak.
3)
Enterprise Architect
Enterprise Architect adalah alat bantu pemodelan
perangkat lunak yang digunakan untuk merancang arsitektur sistem, diagram UML,
dan dokumentasi pengembangan perangkat lunak.
2.
Tabel Fitur Utama dan
Kegunaan Alat Bantu
|
Alat Bantu |
Fitur Utama |
Kegunaan |
|
JIRA |
Issue tracking dan Agile project
management |
Mengelola sprint, tugas, dan pelacakan
bug dalam proyek perangkat lunak |
|
Trello |
Board management dan task
collaboration |
Mengatur tugas proyek secara visual
dan meningkatkan kolaborasi tim |
|
Enterprise Architect |
UML modeling dan system design |
Membantu perancangan arsitektur dan
dokumentasi sistem perangkat lunak |
3.
Alat Bantu yang Dipilih
untuk Tim dengan Metodologi Agile
Jika bekerja dalam tim yang
menerapkan metodologi Agile, alat bantu yang paling sesuai adalah JIRA. Hal ini
karena JIRA memiliki fitur yang mendukung pengelolaan sprint, backlog,
pelacakan tugas, dan monitoring progres proyek secara real-time.
Selain itu, JIRA membantu meningkatkan
koordinasi dan komunikasi antar anggota tim sehingga proses pengembangan
perangkat lunak menjadi lebih terstruktur dan efisien. Dengan dukungan fitur
Agile yang lengkap, tim dapat bekerja lebih fleksibel dan responsif terhadap
perubahan kebutuhan pengguna.
Kesimpulan dan Refleksi
1.
Kesimpulan
Software
Engineering Models and Methods merupakan pendekatan yang digunakan untuk
membantu proses pengembangan perangkat lunak agar lebih terstruktur, efisien,
dan sesuai kebutuhan pengguna. Berbagai model seperti Waterfall, V-Model,
Incremental, Spiral, serta metode seperti Agile, Scrum, Kanban, dan Prototyping
memiliki karakteristik dan fungsi yang berbeda sesuai kebutuhan proyek. Selain
itu, penggunaan alat bantu seperti JIRA, Trello, dan Enterprise Architect
membantu pengelolaan proyek, dokumentasi sistem, serta koordinasi tim
pengembang. Dengan memahami model dan metode rekayasa perangkat lunak,
pengembang dapat memilih pendekatan yang paling efektif untuk meningkatkan
kualitas perangkat lunak, mempercepat proses pengembangan, dan mengurangi
risiko kegagalan proyek.
2.
Refleksi Pribadi
Tantangan
terbesar dalam memahami dan menerapkan model serta metode rekayasa perangkat
lunak adalah menentukan pendekatan yang paling sesuai dengan kondisi proyek,
terutama ketika kebutuhan pengguna sering berubah dan proyek memiliki
keterbatasan waktu maupun biaya. Selain itu, penerapan metode tertentu
membutuhkan koordinasi tim, pemahaman proses, dan penggunaan tools yang tepat
agar pengembangan berjalan efektif. Konsep yang dipelajari sangat bermanfaat
dalam proyek nyata karena membantu pengembang memilih strategi pengembangan
yang sesuai dengan karakteristik sistem sehingga proses pembangunan perangkat
lunak menjadi lebih terarah, fleksibel, dan mampu menghasilkan produk yang
berkualitas tinggi.
Komentar
Posting Komentar