Metode Pengembangan Perangkat Lunak
Metode Pengembangan Perangkat Lunak - Selamat Datang Sahabat di Teknik Seo Blogging, Pada Artikel kali ini dengan judul Metode Pengembangan Perangkat Lunak, kami telah mempersiapkan artikel ini dengan baik untuk anda baca dan ambil informasi didalamnya. Mudah-mudahan isi postingan dengan Tema Software, yang kami tulis ini ada manfaatnya. Cekidot, selamat menikmati.
Judul : Metode Pengembangan Perangkat LunakLink : Metode Pengembangan Perangkat Lunak
Salah satu kunci utama kesuksesan sebuah startup teknologi adalah kualitas produk atau solusi yang dikembangkan. Kualitas produk perangkat lunak dapat tercipta melalui proses pengembangan perangkat lunak yang benar, yaitu dengan mengikuti kaidah rekayasa perangkat lunak yang ada. Saat bekerja dalam tim untuk mengerjakan suatu proyek sangatlah penting menentukan Metodologi pengembangan perangkat lunak dan Proses pengembangan perangkat lunak yang akan digunakan. Metodologi pengembangan perangkat lunak sendiri adalah sebuah metodologi yang digunakan untuk membuat struktur, rencana, dan kontrol pengerjaan suatu proyek, contoh : agile, dynamic, extreme , scrum, rapid, waterfall, fountain, spiral, prototyping, incremental, build & fix, dan synchronize & stabilize.
Metode Pengembangan Perangkat Lunak:
- Agile Software Development Methodology:
- Rapid Application Development
- Dynamic System Development Model Methodology
- Extreme Programing Methodology
- Scrum Development Methodology
Agile Software Development adalah sebuah grup metodologi-metodologi pengembangan software yang berbasis pada pengembangan iteratif dimana keperluan dan solusi pengembangan software berubah terus menerus. Agile Software Development terdiri dari beberapa model pengembangan seperti scrum dan Extreme Programming (XP) yang cukup terkenal di kalangan para pengembang berbasis Agile.
Fitur-fitur yang diberikan oleh Agile Software Development adalah sebagai berikut:
- Iterasi yang cepat dan pengiriman software yang berfungsi secara reguler memastikan kepuasan pelanggan
- Perubahan yang telat dapat ditangani dengan mudah dan juga diterima secara terbuka
- Perkembangan dinilai berdasarkan implementasi software
- Komunikasi pelanggan dan pengguna ditekankan secara bertatap muka
- Setiap pertemuan dengan anggota tim dilakukan secara bertatap muka
- Setiap anggota tim pengembang adalah orang yang berkomitmen dan bermotivasi tinggi serta kompeten dan dapat dipercaya
Metodologi
- Analisis Proyek : Menganalisis proyek sistem yang ingin dikembangakan
- Pengembangan Proyek : Proses pengembangan sistem dilakukan
- Testing Proyek : Mencoba sistem yang sudah selesai sebelum diberikan kepada client Apabila sistem lulus test dan tidak ada perubahan-perubahan, maka sistem tersebut sudah bisa digunakan oleh client. Sementara apabila masih terjadi perubahan-perubahan maka kembali lagi ke proses awal.
Kelebihan dari Agile Modeling:
- Meningkatkan kepuasan kepada klien
- Pembangunan system dibuat lebih cepat
- Mengurangi resiko kegagalan implementasi software dari segi non-teknis
- Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.
- Bisa melakukan review pelanggan mengenai software yang dibuat lebih awal
Kelemahan dari Agile Modeling:
- Total lama pengembangan menjadi lebih lama
- Meningkatkan resiko kesalahan teknis
- Proses pengembangan menjadi agak kurang terorganisir
- Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
Rapid Application Development
Pengertian
Rapid application development (rad) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). Rad menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan. Working model digunakan kadang-kadang saja sebagai basis desain dan implementasi sistem final.
Fase-fase Rapid Application Development:
Business Modeling (Bisnis Model)
fase ini untuk perancangan dasar dari pengembangan produk berdasarkan informasi dan distribusi informasi antar saluran bisnis. Analisis bisnis yang lengkap dilakukan untuk menemukan informasi penting untuk bisnis, bagaimana hal itu dapat diperoleh, bagaimana dan kapan informasi diproses dan faktor apa yang mendorong arus informasi yang berhasil
Data Modeling (Data Model)
Fase ini untuk menganalisa informasi yang sudah dikumpulan dari fase Business Modeling. semua kumpulan data diidentifikasi dan didefinisikan secara rinci untuk mencari model bisnis yang tepat.
Process Modeling (Proses Pemodelan)
Fase ini untuk untuk menetapkan arus informasi bisnis yang diperlukan untuk mencapai tujuan bisnis yang spesifik sesuai model bisnis. perubahan atau penyempurnaan pada kumpulan objek data didefinisikan dalam fase ini. Deskripsi proses untuk menambahkan, menghapus, mengambil atau memodifikasi objek data diberikan.
Application Generation (Generasi Aplikasi)
Fase ini untuk Sistem yang sebenarnya dibangun dan pengkodean dilakukan dengan menggunakan automatic tools i untuk mengubah model proses dan data menjadi prototype yang aktual
Testing and Turnover
fase ini untuk pengujian keseluruhan sistem yang dibangun semua komponen perlu diuji secara menyeluruh dengan cakupan uji yang lengkap. Dengan pengujian yang lengkap dapat mengurangi risiko cacat sistem.
Kelebihan Rapid Application Development
- Mudah mengakomodasi peruabahan sistem
- Progress development bisa di ukur
- Waktu iterasi bisa di perpendek menggunakan RAD Tools
- Mengurangi waktu development
- Mudah dalam menentukan dasar sistem
- Mempermudah feedback customer
- Cocok untuk proyek yang membutuhkan waktu pengembangan yang lebih pendek.
- Cocok untuk sistem yang berbasis komponen dan terukur.
Kekurangan Rapid Application Development
- Ketergantungan pada anggota bisnis tim untuk mengidentifikasi persyaratan bisnis
- Hanya sistem yang bisa di modularized yang bisa dibangun menggunakan RAD
- Membutuhkan developer / designer yang berpengalaman
- Ketergantungan pada keterampilan model
- Kompleksitas manajemen
- Tidak dapat diterapkan pada proyek yang kecil / murah
Dynamic System Development Model Methodology
Pengertian
Dynamic System Development Method (DSDM) adalah suatu kerangka dalam pengembangan suatu project terutama digunakan sebagai metode pengembangan perangkat lunak, DSDM ini merupakan iteratif dan incremental pendekatan yang mencakup prinsip-prinsip pembangunan Agile, termasuk keterlibatan pengguna/pelanggan terus-menerus, jadi intinya DSDM ini termasuk dalam metodologi DSDM ini mendekati dari metode Incremental dan Agile Alliance.
Tahapan Dynamic Software Development Method (DSDM)
- Feasibility study
- Business study – prioritized requirements
- Functional model iteration
- Risk analysis
- Time-box plan
- Design and build iteration
- Implementation
Kelebihan Dynamic Software Development Method (DSDM)
- Menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan
- Membangun software dengan cepat
- DSDM dapat dikombinasikan dengan XP menghasilkan kombinasi model proses yang mengikuti DSDM dan praktek yang sejalan dengan XP
Kelemahan Dynamic Software Development Method (DSDM)
- Setiap iterasi bergantung pada prototype sebelumya
- Menentukan scope dari suatu prototype proyek tidak pernah selesai
- Dokumentasi sering kali tidak lengkap fokus pada pembuatan prototype
- Isu-isu mengenai system backup and recovery, system performance dan system security kurang/tidak diperhatikan dan sering terlupakan
Extreme Programing Methodology
Pengertian
Extreme Programming (berikutnya akan disingkat sebagai XP) adalah sebuah pendekatan atau model pengembangan perangkat lunak yang mencoba menyederhanakan berbagai tahapan dalam proses pengembangan tersebut sehingga menjadi lebih adaptif dan fleksibel. XP bukan hanya berfokus pada coding tetapi meliputi seluruh area pengembangan perangkat lunak. XP mengambil pendekatan ‘ekstrim’ dalam iterative development.
Extreme Programming tepat untuk dipergunakan untuk pembuatan program yang:
- Membutuhkan perubahan yang cepat (misalnya: Game Mobile)
- Proyek beresiko tinggi dengan tantangan yang berat
- Tim programmer sedikit, yaitu sekitar 2–10 orang
- Adanya permintaan dari pelanggan secara langsung
Kelebihan Extreme Programming, yaitu:
- Meningkatkan kepuasan kepada klien
- Pembangunan system dibuat lebih cepat
- Menjalin komunikasi yang baik dengan client.
- Meningkatkan komunikasi dan sifat saling menghargai antar developer.
Kelemahan Extreme Programming, yaitu:
- Cerita-cerita yang menunjukkan requirements dari pelanggan kemungkinan besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
- Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
- XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
Scrum Development Methodology
Pengertian
Scrum Development Methodology adalah salah satu metode rekayasa perangkat lunak dengan menggunakan prinsip-prinsip pendekatan AGILE, yang bertumpu pada kekuatan kolaborasi tim, incremental product dan proses iterasi untuk mewujudkan hasil akhir.
Scrum sendiri bukan satu-satunya metode yang menggunakan pendekatan AGILE. Mungkin kita juga pernah mendengar metode Extreme Programming (XP) yang juga menggunakan pendekatan AGILE dalam rekayasa perangkat lunak. Masing-masing metode memiliki fokus atau penekanan yang berbeda yang tentu saja dapat dikombinasika untuk menghasilkan proses yang optimal.
Kelebihan dari Scrum Development Methodology
- Keperluan berubah dengan cepat.
- Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain.
- Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat.
- Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun.
- Proses Scrum mampu menyatakan bahwa produk selesai kapan pun diperlukan.
Kekurangan dari Scrum Development Methodology
- Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
- Lemah dalam perencanaan arsitektur
Metodologi Scrum Tepat Digunakan Saat Kondisi
- Keperluan berubah dengan cepat
- Tim programmer sedikit, yaitu 5-9 orang
- Pelanggan tidak terlalu paham dengan apa yang diinginkan
Metode Pengembangan Perangkat Lunak
Demikianlah Artikel Metode Pengembangan Perangkat Lunak
Sekian artikel Metode Pengembangan Perangkat Lunak kali ini, mudah-mudahan bisa memberi manfaat untuk Sahabat semua. Sampai jumpa di postingan lainnya.
Anda sekarang membaca artikel Metode Pengembangan Perangkat Lunak
Link : https://autotrafficblogging.blogspot.com/2018/03/metode-pengembangan-perangkat-lunak.html
0 Response to "Metode Pengembangan Perangkat Lunak"
Post a Comment