Gambar 10.1 proses dengan metode pada project pengembangan software
Gambar 10.2 Iterasi pengembangan software
Proses perangkat lunak terkenal pembangunan dapat dikelompokkan menjadi dua kategori:
- Proses ringan yang dikenal sebagai agile proses
proses ini yang cocok untuk aplikasi yang lebih kecil dan tim pengembangan sesuai yang lebih kecil.
- Proses berat
Yang mengacu pada tingkat formalisasi proses, yaitu, berapa banyak dokumen dan model
diciptakan. Proses ini digunakan terutama ketika tim besar mengembangkan aplikasi dengan tinggi tuntutan pada kualitas.
diciptakan. Proses ini digunakan terutama ketika tim besar mengembangkan aplikasi dengan tinggi tuntutan pada kualitas.
10.1 Persyaratan Proses Pengembangan Aplikasi Web
Enam persyaratan yang paling penting untuk proses pengembangan aplikasi Web :
- Penanganan pengembangan siklus pendek
- Penanganan perubahan kebutuhan
- Melepaskan batas waktu dan isi yang fleksibel
- Pengembangan parallel dari release yang berbeda
- Penggunaan kembali dan integrasi
- Mengadaptasi level kompleksitas web aplikasi
Banyak karakteristik yang khas untuk proses pengembangan aplikasi Web juga dapat ditemukan dalam proses pengembangan perangkat lunak tradisional, hanya kejadian dan intensitas yang berbeda (Ramesh et al 2002.). Sebagai contoh, hampir setiap proyek pengembangan perangkat lunak berada di bawah tekanan waktu, dan perubahan persyaratan yang sangat umum. Intensitas khusus karakteristik ini dalam pengembangan aplikasi Web mengarah pada situasi di mana tipe yang berbeda dari rencana rilis telah terbukti berguna, setidaknya pada tahap awal pembangunan di mana aplikasi Web memiliki tingkat kompleksitas rendah.
Sebuah aplikasi Web harus dipublikasikan sesegera mungkin perspektif jangka panjang mengabaikan. Hal ini menyebabkan aplikasi web dengan tingkat kompleksitas kecil di tahap awal pengembangan. Tingkat kompleksitas yang lebih tinggi akan menghindari publikasi awal. Sebagai perspektif jangka panjang lebih banyak dan lebih terintegrasi ke dalam aplikasi Web meningkatkan tingkat kompleksitas dan aplikasi Web yang ada yang harus diganti dengan rilis baru. Hal ini difasilitasi dengan cara sederhana bahwa rilis baru dapat diterbitkan dan tersedia bagi pengguna-akhir.
10.2 Analisis Rational Unified Process (RUP)
Rational Unified Process (RUP) (Jacobson et al 1999.) sebagai perwakilan dari keluarga proses kelas berat, fase-oriented, incremental, dan iteratif. Tujuan dari proses ini adalah untuk mendukung pengembangan produk berkualitas tinggi dalam jangka waktu tertentu dan pada harga tetap. Produk harus merupakan nilai tambah yang jelas bagi pengguna masa depan.
Gambar 10.3 Empat fase Rational Unified Process
Pendekatan bertahap ini tercermin dalam fase RUP (Kruchten 2003). RUP menetapkan empat tahap yang berbeda untuk proyek pembangunan, dan masing-masing fase ini diatur dalam sejumlah iterasi terpisah. Keempat fase berfokus pada aspek-aspek berbeda dari proses pembangunan. Tiap tahap berakhir dalam tonggak yang digunakan untuk menilai kemajuan proses secara keseluruhan.). Jadi, tahap harus memenuhi kriteria yang didefinisikan dengan baik sebelum fase berikutnya dimulai. Keempat fase itu antara lain:- fase Inception: Pada fase awal, pengembang menetapkan cakupan proyek dan kasus bisnis sistem. Tujuan dari fase ini adalah untuk mengembangkan visi umum dari produk akhir bekerja sama dengan pelanggan dan pengguna sistem yang akan datang. Hal ini mencakup definisi dari persyaratan mendasar, yaitu, membatasi sistem apa yang harus dilakukan terhadap apa yang tidak perlu dilakukan. Ini adalah dasar untuk pendekatan tambahan. Selain itu, juga mencakup penelaahan atas kelayakan yaitu, arsitektur, minimal, tahap pertama harus menemukan dan bereksperimen dengan arsitektur sesuai dengan persyaratan.
- Fase elaboration : Di dalam tahap pengembangan, pengembang meneliti proyek kebutuhan dalam detil lebih besar dan menggambarkan yayasan/pondasi secara ilmu bangunan nya. Gol tahap ini adalah untuk mengeluarkan/meniadakan proyek yang paling tinggi mengambil resiko kepada luas mungkin yang paling luas, sedemikian sehingga suatu harga pasti dapat dirumuskan pada ujung tahap ini. Ini meliputi pemilihan dari suatu arsitektur dapat diperluas dan optimal dan familiarisasi staff dengan teknologi untuk digunakan
- Tahap konstruksi: Pada tahap konstruksi, pengembang berkonsentrasi pada menyelesaikan analisis, melakukan sebagian besar desain dan implementasi sistem. Artinya, tahap konstruksi membangun produk dengan berurusan dengan penerapan semua komponen dan integrasi mereka ke dalam satu produk. Produk ini tidak boleh tanpa cacat, karena beberapa pekerjaan lebih lanjut harus selesai dalam tahap transisi. Hasil lain dari tahap ini adalah tes rinci
- Transisi fase: Pada fase transisi, pengembang memberikan sistem kepada pengguna. Fase ini menyimpulkan proyek ini dengan mengintegrasikan produk ke dalam lingkungan pengguna.
10.3 Kesesuaian Umum untuk Pengembangan Aplikasi Web
Bagian ini membahas bagaimana tahapan RUP dapat digunakan untuk pengembangan aplikasi Web. Untuk tujuan ini, kita harus mengevaluasi apakah atau tidak risiko proyek pada tahap awal dapat dikecualikan atau dikurangi sehingga upaya pengembangan tertinggi dalam jangka waktu tertentu dan pada harga tetap dapat diukur pada fase konstruksi antara lain:
· fase Inception: Definisi dari fase pertama adalah masalah untuk aplikasi Web
pembangunan. Sebuah visi beton produk penuh, seperti yang diharapkan oleh RUP, bentuk-bentuk secara bertahap dalam rangka proyek. Sebagai instrumen pemasaran, aplikasi Web memiliki kelompok sasaran, namun kebutuhan kelompok ini tidak diketahui pada awal proyek, dan mereka berubah terus-menerus karena pengaruh pasar
pembangunan. Sebuah visi beton produk penuh, seperti yang diharapkan oleh RUP, bentuk-bentuk secara bertahap dalam rangka proyek. Sebagai instrumen pemasaran, aplikasi Web memiliki kelompok sasaran, namun kebutuhan kelompok ini tidak diketahui pada awal proyek, dan mereka berubah terus-menerus karena pengaruh pasar
· Tahap Elaborasi: fakta bahwa siklus pengembangan yang sangat singkat untuk membangun sebuah versi produk pertama yang memiliki prioritas terhadap mengukur harga tetap untuk produk akhir yang jelas. Alasannya adalah bahwa risiko terkait dengan penggunaan produk perangkat lunak menimbang berat daripada risiko yang melekat dalam pembangunan yang sebenarnya.
· Tahap konstruksi: Pengembangan aplikasi Web juga memiliki fase di mana pekerjaan konstruksi yang sebenarnya dilakukan. Berdasarkan pembahasan di atas tahap awal, itu hanyalah pertanyaan apakah atau tidak ada bisa menjadi salah satu titik waktu ketika cukup yakin apa yang komponen lainnya masih harus dikembangkan.
· Transisi fase: Fase transisi dapat berarti bagi aplikasi Web, juga. Terutama ketika fungsionalitas baru ditambahkan ke aplikasi Web iteratif, ini bisa memerlukan sebuah migrasi data atau operasi paralel dua versi. Namun, fase transisi bisa sangat mudah jika mungkin untuk hanya mengganti aplikasi yang sudah ada dengan versi yang baru.
10.4 Analisis Program Extreme
Bagian ini membahas kesesuaian Extreme Programming (XP) (Beck 1999, Beck dan Fowler 2000) - software paling populer pengembangan model proses agile - untuk pengembangan Aplikasi web. Agile adalah proses dibangun di atas dasar pembangunan iteratif. Untuk yayasan bahwa mereka menambahkan lebih ringan, lebih manusia-sentris sudut pandang dari pendekatan tradisional. Agile proses umpan balik digunakan, bukan perencanaan, sebagai mekanisme kontrol utama mereka. umpan balik yang digerakkan oleh tes reguler dan rilis software berkembang. sastra umumnya tidak membedakan antara proses dan metode bila memperkenalkan XP. Sebaliknya, menjelaskan empat nilai inti , yang antara lain: komunikasi, kesederhanaan, umpan balik, dan keberanian dan dua belas praktek proyek XP. Keempat nilai inti merupakan dasar untuk proyek XP, dan mereka harus dipahami dengan baik. Dua belas praktek yang berasal dari empat nilai aspek metodologis sesuai dengan definisi kita tentang proses pengembangan perangkat lunak.
Selama beberapa tahun terakhir, namun, proses gesit telah terbukti sukses di banyak proyek pengembangan Web. Jika kita melihat persyaratan yang paling dipenuhi oleh proses ini, kita dapat melihat bahwa proses adaptasi sampai pada tingkat kompleksitas aplikasi Web menonjol. Kesulitan dalam menggunakan proses agile terletak pada skalabilitas mereka untuk aplikasi lebih besar dan lebih kompleks, yang harus dikembangkan oleh tim besar karena melekat tekanan waktu. Masalah dalam menjalankan sebuah proyek dengan sebuah proses agile termasuk tuntutan sangat tinggi pada anggota tim. Tapi mengetahui perubahan yang dibutuhkan tidak cukup untuk menjamin bertindak foresighted.
Persiapan yang tepat diperlukan untuk beralih ke proses kelas berat. Perubahan tersebut harus direncanakan dengan hati-hati, diperkenalkan perlahan, dan dilaksanakan secara bertahap (DeVilliers 2002). Seperti disebutkan di atas, siklus hidup masing-masing proyek sangat pendek yang hanya serangkaian proyek akan mengarah ke aplikasi Web baru dengan tingkat kompleksitas yang lebih tinggi. Ini berarti bahwa kita harus membuat suatu proses tingkat tinggi di seluruh proses pengembangan perangkat lunak proyek berturut-turut.
Tidak ada komentar:
Posting Komentar