EVOLUTIONARY SOFTWARE PROCESS MODELS - (Evolusi Software Proses Model)

09.36 0
Rekayasa Perangkat Lunak
Dosen Pengampu : Ratih Nindyasaris.Kom

Nama Anggota Kelompok :
1. Hariyanto (201551022)
2. Ahmad Noor Jamal (201551015)
3. Ahmad Yusriel Setiawan (201551141)
4. Irvan Wahyu Prabowo (201551008)


A. Evolutionary Software Process Models (Evolusi Software Proses Model)
Tanpa disadari kini perangkat lunak mulai berkembang dari level ke level, artinya kini mengalami peningkatan. Untuk memenuhi bisnis dan produk yang sering berubah-ubah suatu aplikasi mustahil dapat berkahir sempurna. Akan tetapi untuk memenuhi pasar seorang progammer / software developer harus terlebih dahulu aplikasi/perngkat lunak guna memenuhi tekanan bisnis.

Dalam hal ini perangkat lunak  membutuhkan model proses yang telah secara eksplisit dirancang untuk menampung produk yang berkembang dari waktu ke waktu.
Model berurutan linear dirancang untuk pengembangan pada garis lurus. Pada dasarnya, pendekatan air terjun ini mengasumsikan bahwa sistem lengkap akan disampaikan setelah urutan linier selesai.

1). The Incremental Model (Model Incremental dalam Rekayasa Perangkat Lunak)
Model Incremental dalam rekayasa perangkat lunak, menerapkan rekayasa perangkat lunak perbagian, hingga menghasilkan perangkat lunak yang lengkap.  Proses membangun berhenti jika produk sudah mencapai seluruh fungsi yang diharapkan.
Pada awal tahapan dilakukan penentuan kebutuhan dan spesifikasi.  Kemudian dilakukan perancangan arsitektur software yang terbuka, agar dapat diterapkan pembangunan per-bagian pada tahapan selanjutnya.
Tahapan Incremental Model adalah :
  • Requirement
  • Specification
  • Architecture Design
Tahapan-tahapan tersebut dilakukan secara berurutan.  Setiap bagian yang sudah selesai dilakukan testing, dikirim ke pemakai untuk langsung dapat digunakan.
Pada incremental model, tiga tahapan awal harus diselesaikan terlebih dahulu sebelum sebelum tahap membangun tiap modal.
Untuk mengantisipasi kondisi yang terjadi pada model incremental, diperkenalkan model More Risky Incremental Model. Model ini menerapkan sistem kerja yang paralel.  Sesudah daftar kebutuhan didapatkan dari pemakai, tim spesifikasi membuat spesifikasi untuk modul pertama.  Sesudah spesifikasi pertama selesai, tim desain menindak lanjuti.  TIm spesifikasi sebelumnya juga langsung membuat spesifikasi untuk model kedua, dan seterusnya.

2). The Spiral Model
Spiral Model adalah suatu model tentang tahapan pembuatan suatu perangkat lunak, spiral model ini adalah salah satu dari model revolusioner, model spiral merangkai sifat interatif yaitu sifat yang ditandai yang memungkinkan untuk mengembangkan versi dari suatu perangkat lunak secara bertahap untuk menghasilkan perangkat lunak yang lebih lengkap atau lebih sempurna dan terkontrol. Perangkat lunak dikembangkan dalam deretan pertambahan. Selama awal iterasi, rilis ikremantal bisa berupa model/prototype kertas, kemudian sedikit demi sedikit dihasilkan versi sistem yang lebih lengkap.

A. Tahapan-Tahapan Model Spiral
Model spiral dibagi menjadi enam wilayah tugas yaitu :
1.Customer communication
Aktivitas yang dibutuhkan untuk membangun komunikasi yang efektif antara developer dengan user / customer terutama mengenai kebutuhan dari customer.

2. Planning
Aktivitas perencanaan ini dibutuhkan untuk menentukan sumberdaya, perkiraan waktu pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan software.

3. Analysis Risk
Aktivitas analisis resiko ini dijalankan untuk menganalisis baik resiko secara teknikal.

4. Engineering
Aktivitas yang dibutuhkan untuk membangun 1 atau lebih representasi dari aplikasi secara teknikal.

5. Construction & Release
Aktivitas yang dibutuhkan untuk develop software, testing, instalasi dan penyediaan user / costumer support seperti training penggunaan software serta dokumentasi seperti buku manual penggunaan software.

6.Customer Evaluation
Aktivitas yang dibutuhkan untuk mendapatkan feedback dari user / customer berdasarkan evaluasi mereka selama representasi software pada tahap construction and release

B. DEKSRIPSI
Model Spiral memiliki beberapa tahapan dalam proses pembuatan perangkat lunak. Prosesnya antara lain yaitu Proses Komunikasi Pelanggan, kemudian Proses Perencanaan, kemudian Proses Analisis Resiko, kemudian Proses Perekayasaan, kemudian Proses Konstruksi dan Peluncuran, kemudian Evaluasi Pelanggan dan akan berulang kembali jika pelanggan menginginkan pengembangan untuk perangkat lunak yang dia inginkan.
Pada proses yang pertama yaitu Proses Komunikasi Pelanggan dimana pada tahap ini kita sebagai penjual perangkat lunak berkomunikasi dengan pelanggan untuk mengetahui apa yang pelanggan inginkan pada perangkat lunaknya. Setelah melewati proses pertama kita akan memasuki tahap kedua atau proses kedua yaitu Proses Perencanaan dimana pada tahapan ini kita akan mendefinisikan tentang perancangan perangkat lunak yang akan kita buat seperti berapa lama waktu yanga akan dibutuhkan, apa saja sumber daya yang kita butuhkan saat membuat perangkat lunak tersebut dan informasi-informasi lainnya yang berhubungan. Setelah melewati proses pertama kita akan memasuki tahap kedua atau proses kedua yaitu Proses Perencanaan dimana pada tahapan ini kita akan mendefinisikan tentang perancangan perangkat lunak yang akan kita buat seperti berapa lama waktu yang akan dibutuhkan, apa saja sumberdaya yang kita butuhkan saat membuat perangkat lunak tersebut dan informasi-informasi lainnya yang berhubungan.

Setelah melewati proses pertama dan kedua maka kita akan memasuki tahapan yang ketiga yaitu proses Analisis Resiko dimana pada tahapan ini kita akan menganalisis resiko-resiko yang akan terjadi pada saat pembuat suatu perangkat lunak apakah itu resiko manajemen maupun resiko teknik pada perangkat lunak tersebut.
Setelah melalui tahap pertama, kedua, dan ketiga setelah itu kita memasuki proses atau tahapan perekayasaan dimana pada proses bagaimana kita membuat satu atau lebih representatife dari aplikasi tersebut.

Setelah melalui tahap pertama, kedua, ketiga, keempat dan sekarang kita memasuki tahap kelima yaitu Proses Konstruksi dan Peluncuran dimana pada proses kelima ini kita akan mengkonstruksi, menguji, memasang dan akan memberikan pelayanan pada konsumen atau pelanggan yang memesan perangkat lunak yang kita buat setelah melalui empat tahapan sebelumnya.

Dan  setelah melalui tahapan pertama, kedua, ketiga, keempat dan kelima kita akan memasuki tahapan keenam dan yang juga merupakan tahapan terakhir dari proses spiral model yaitu proses Evaluasi Pelanggan dimana pada tahapan ini kita akan mendapatkan pendapat dari pelanggan tentang perangkat lunak yang telah kita jual padanya dan pada tahap ini juga pelanggan akan memberitahu apakah perangkat lunak yang kita buat dia ingin kembangkan lagi, jika pelanggan akan mengembangkan lagi perangkat lunak yang dia punyai maka kita akan mulai mengembangkan perangkat lunak tersebut dari tahap awal lagi yaitu proses Evaluasi Pelanggan dan seterusnya hingga perangkat lunak tersebut jadi seperti apa yang pelanggan kita inginkan.

C. GAMBAR/BAGAN


D. KARAKTERISTIK
Spiral model adalah penggabungan antara  prototyping model dan waterfall model , metode iterasi yang ada pada prototyping model dan tahap sistematis yang digunakan dalam waterfall model digabungkan menjadi satu sehingga menciptakan model baru.
Model Spiral ini dapat digunakan sepanjang kehidupan artinya pada model ini tidak akan berakhir jika terus dikembangkan dimana awal bisa menjadi pengembangan lagi pada suatu perangkat lunak dan pada model ini bisa terjadi pemberhentian dimana jika kita tidak menggunakan perangkat lunak tersebut lagi atau tidak ingin mengembangkannya lagi maka bisa saja terjadi pemberhentian seperti ini tapi jika perangkat lunak tersebut kita ingin kembangkan lagi maka prosesnya bisa dimulai lagi. Model spiral ini biasanya digunakan atau dipakai oleh perusahaan - perusahaan besar yang membutuhkan perangkat lunak yang terus di kembangkan.

E. KEUNTUNGAN DAN KEKURANGAN
Adapun beberapa Kelebihan dan Kelemahan Model Spiral yang ada:
A. Kelebihan model Spiral :
1. Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup  perangkat lunak komputer.
2. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
3. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap   tingkat evolusi karena perangkat lunak terus bekerja selama proses.
B.Kelemahan model Spiral:
1. Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.
2.  Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
3. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.

F. PENERAPAN
Model spiral biasanya diterapkan/digunakan pada perusahaan-perusahaan berskala besar.
Contoh penerapan umum metode pengembangan perangkat lunak dengan menggunakan metode spiral adalah sebagai berikut :
1. Concept Development Project (Proyek Pengembangan Konsep)
2. New Product Development Project (Proyek Pengembangan Produk Baru)
3. Product Enhancement Project (Proyek Peningkatan Produk)
4. Product Maintenance Project (Proyek Pemeliharaan Produk).

3. The WINWIN Spiral Model
Dalam win win spiral model yang merupakan ekstensi dari spiral model, tim pengembang dan pelanggan akan melakukan diskusi dan negosiasi terhadap requirement-nya. Disebut win win karena merupakan situasi kemenangan antara tim pengembang dan pelanggan. Yang membedakan antara win win spiral model dan spiral model yaitu setelah selesai mendapatkan feed back dari pelanggan, tim pengembang aplikasi dan pelanggan akan kembali melakukan negosiasi untuk perkembangan aplikasi tersebut.


Kelebihan :
  • Sama sama adanya kesepakatan developer dengan customer
  • Terdapat kepuasan dan keuntungan antara developer dengan customer karena aplikasi yang dijalankan dengan negoisasi sesuai kesepakatan
  • Sangat efektif untuk digunakan karena kesepakatan antara developer dengan customer sama-sama disepakati sehingga tidak akan menimbulkan ketidak puasan customer
Kekurangan :
  • Membutuhkan waktu yang cukup lama
  • Seringkali pada awalnya customer dengan developer mengalami kecekcokkan pada saat negoisasi

4. The Concurrent Development Model
The Concurrent Development Model bisa di sebut  Concurrent Engineering adalah model yang dapat direpresentasikan dengan skema sebagai series dari kerangka aktifitas, aksi software engineering dan juga tugas dari jadwal.


Pada model ini aktifitas kerja dilakukan secara bersamaan, setiap proses kerja memiliki beberapa pemicu kerja dari aktifitas. Pemicu dapat berasal dari awal proses kerja maupun dari pemicu yang lain karena setiap pemicu akan saling berhubungan. Misalnya proses desain akan berubah atau dihentikan sementara karena ada perubahan permintaan kebutuhan dari customer.

Concurrent Process Model dapat digambarkan secara skematik sebagai rangkaian dari kegiatan teknis utama, tugas dan hubungan antar bagian. Jadi, pada intinya Metode CDMini suatu skema model yang mengimplementasikan suatu proses kerja yang dilakukan cepat namun dikerjakan secara bersama-sama dan tetap efektif dalam menyelesaikan berbagai penyelesaian masalah sesuai permintaan customer.

Diagram Modeling Activity menunjukkan skematik dari satu aktivitas denganConcurrent Process Model. Aktivitas analisa pada setiap orang mencatat bagian-bagian di setiap waktu sesuai jadwal. Dengan cara yang sama, aktivitas yang lain seperti komunikasi antara customer dapat digambarkan dengan cara yang sama.

Concurrent Process Model sering digunakan sebagai paradigma untuk pengembangan aplikasi Client/Server. Sistem Client/Server terdiri atas satu set komponen yang fungsional. Ketika diaplikasikan untuk Client/ServerConcurrent Process Model menggambarkan aktivitas di dua dimensi yaitu dimensi sistem dan dimensi komponen.

  1. Dimensi Sistem ditujukan menggunaan tiga aktivitas : DesignPerakitan(Assembly) dan Penggunaan (Use).
  2. Dimensi Komponen ditujukan dengan dua aktivitas : Design dan Realisasi.
Concurrency dicapai dalam jalan dua arah yaitu sebagai berikut :
  1. Sistem dan komponen aktivitas terjadi secara simultan dan dapat diperagakan menggunakan pendekatan yang berorientasi status sebelumnya.
  2. Kekhasan aplikasi Client/Server adalah diterapkan dengan banyak komponen, masing-masing dapat dirancang dan direalisasi secara bersamaan.
Kelebihan dari Model CDM :
  • Hasil yang di dapat akan menghasilkan suatu sistem yang sangat baik karena terdapat perancangan yang terjadi secara besar dan terencana secara matang.
Kekurangan dari Model CDM : 
  • Memungkinkan terjadinya perubahan besar-besaran, maka akan membuat biaya dan waktu yang diperlukan membengkak.
Jadi kesimpulannya, Model The Concurrent Development ini adalah suatu "Cara" / langkah kerja untuk membuat suatu sistem yang dikerjakan secara besar-besaran namun tetap mempertahankan kualitas sesuai dengan permintaan Customer, bila ada permintaan lain dari Customer maka langkah-langkah kerja dihentikan sementara untuk memaksimalkan hasil akhir dari Model CDM.