Model - Model Software Development Life Cycle ( SDLC)

 Software Development Life Cycle (SDLC) meruakan siklus yang menggambarkan perangkat lunak yang dibangun.

Contoh Model SDLC adalah:
1. Waterfall
2. Linear Squential
3. Prototyping
4. RAD (Rapid Application Development)
5. Incremental
6. Win-win spiral
Salah satu contoh SDLC yang paling awal adalah Waterfall.Jadi pada model ini pengujian menjadi tahapan yang harus dilakukan setelah sebuah perangkat lunak dibangun.

1. Model  Waterfall
Ciri – ciri model waterfall seperti aliran air terjun:

Tahapan nya adalah/ Daur hidup PL:
1. Analisis kebutuhan
Maksudnya : untuk mengumpulkan kebutuhan user yang berkaitan dengan perangkat lunak yang dibangun peran analisis sebagai penjembatan antara keinginan user dengan programmer, mampu melihat konsekuensi dari kebutuhan user, kemudian kebutuhan tersebut di dokumentasikan.
2. Desain
Maksudnya : Tahapan ini untuk menerjemahkan keinginan urser menjadi desain.


3. Coding
Maksudnya : pada tahapan ini programmer menerjemahkan desain ke dalam bahasa pemrograman
4. Pengujian
Maksudnya: setelah program aplikasi selesai dibuat , maka dilakukan tahap pengujian.
5. Implementasi
Maksudnya : Perangkat lunak yang telah lolos uji di Implementasi.
6. Perawatan
Maksudnya : perangkat lunak yang telah di implementasi di harapkan bisa di pakai terus menerus.PL harus dirawat dengan memperhatikan hal-hal :
a. Mampu menangani perkembangan dat , seiring berjalannya waktu
b. Mampu menangani ancaman kerusakan oleh virus atau program penyusup lainnya.
c.Mampu menangani perbaikan jiika suatu saat terjadi error.
d. Bisa menambah fitur baru, dll.

Masalah pada waterfall :
- Partisi projek ke stages yang berbeda tidak flexible menyebabkan sulitnya untuk merespon perubahan kebutuhan pengguna. Oleh sebab itu model ini hanya cocok digunakan apabila pengguna sudah dimengerti dengan baik.
Kekurangan model air terjun adalah kesulitan mengakomodasi perubahan setelah proses sedang berlangsung.
Masalah dengan waterfall :
1. Perubahannya sulit karena sifatnya kaku
2. Karena sifatnya kaku , cocok ketika kebutuan dikumpulakan secara lengkap
3. Waterfall digunakan untuk rekayasa sistem yang benar dan proyek dikerjakan di beberapa tempat berbeda dan dibagi menjadi beberapa subbagian.

2. Prototype

Prototype adalah sebuah Javascript Framework yang dibuat untuk lebih memudahkan proses dalam membangun aplikasi berbasis web.
Metode protyping sebagai suatu paradigma baru dalam pengembangan sistem informasi, tidak hanya sekedar suatu evolusi dari metode pengembangan sistem informasi yang sudah ada, tetapi sekaligus merupakan revolusi dalam pengembangan sistem informasi manajemen
Ada 2 Jenis Prototype :
Jenis I : Suatu Sistem yang akan menjadi sistem operasional
Jenis II : Suatu model yang dapat dibuang yang berfungsi sebagai cetak biru bagi sistem operasional.
Karakteristik metode prototyping meliputi langkah-langkah :
1. Pemilahan fungsi
2. Penyusunan Sistem Informasi

3. Evaluasi
4. Penggunaan Selanjutnya
Jenis-jenis prototyping meliputi
1. Feasibility prototyping
2. Requirement prototyping
3. Desain Prototyping
4. Implementation prototyping
Teknik-teknik prototyping meliputi
1. Perancangan Model
2. Perancangan Dialog
3. Simulasi


SISTEM YANG BERMANFAAT DARI PROTOTIPE (SYSTEMS THAT BENEFIT FROM PROTOTYPING)

Sejak kebutuhan (baca Spesifikasi Fungsi) pada umumnya berhubungan dengan pandangan user terhadap sistem, hanya dengan prototipe tampilan bagi user sudah cukup untuk memeriksa yang dibutuhkan. Menu-menu, bentuk tampilan input, tampilan keluaran, atau laporan yang dicetak, pertanyaan-pertanyaan, pesan-pesan merupakan calon yang ideal untuk prototipe.
Di lain pihak, perhitungan yang rumit, kumpulan update data dan realtime, dan sistem yang bersifat scientific sangat sulit untuk dijadikan model.
Sistem yang paling sesuai untuk prototipe adalah satu dari banyak hal yang bergantung pada sistem input/output dari user. Sistem dengan transaksi on-line dikendalikan melalui menu, layar, formulir, laporan, daftar dan perintah.

Keuntungan dari prototipe
  1. Menghasilkan syarat yang lebih baik dari produksi yang dihasilkan oleh metode ‘spesifikasi tulisan’.
  2. User dapat mempertimbangkan sedikit perubahan selama masih bentuk prototipe.
  3. Memberikan hasil yang lebih akurat dari pada perkiraan sebelumnya, karena fungsi yang diinginkan dan kerumitannya sudah dapat diketahui dengan baik.
  4. User merasa puas. Pertama, user dapat mengenal melalui komputer. Dengan melakukan prototipe (dengan analisis yang sudah ada), user belajar mengenai komputer dan aplikasi yang akan dibuatkan untuknya. Kedua, user terlibat langsung dari awal dan memotivasi semangat untuk mendukung analisis selama proyek berlangsung.

Hal yang diabaikan dalam membuat prototype :

- Efisiensi
- Kualitas
- Kemudahan di kembang
- Kcocokan dwngan lingkungan sebenarnya 



3. RAD (Rapid Application Development)


Rapid Application Development adalah seperangkat strategi yang terintegrasi yang ada dalam suatu kerangka kerja meneyeluruh yang disebut Information Engineering (IE).
RAD (Rapid Application Development) adalah sistem pemrograman yang memungkinkan programmer membuat program dengan cepat. Secara umum, Sistem RAD menyediakan sejumlah alat-bantu untuk membuat antarmuka pengguna grafis (graphical user interfaces) yang biasanya membutuhkan usaha dan waktu yang lama untuk membuatnya. Dua sistem RAD yang paling populer untuk Windows adalah Visual Basic dan Delphi. RAD Mempunyai 4 Unsur Penting : Manajemen, Manusia, Metodologi, dan Peralatan. RAD adalah penggabungan beberapa metode atau teknik terstruktur. RAD menggunakan metode prototyping dan teknik terstruktur lainnya untuk menentukan kebutuhan user dan perancangan sistem informasi.
Proses pengembangan, meliputi
1. Mempelajari apakah proyek pengembangan sistem memenuhi kriteria
2. Mempelajari aktivitas bisnis perusahaan, menentukan area bisnis serta fungsi yang menjadi prioritas
3. Membuat model dari fungsi-fungsi yang menjadi prioritas
4. Memilih protype mana yang direview
5. Implementasi Sistem Informasi
Pengembangan skuensial linear , adaptasi kecepatan tinggi dari skuensial linear.
Pendekatan RAD:
1. Pemodelan bisnis
2. Pemodelan data
3. Pemodelan proses
4. Pemodelan aplikasi
Kelemahan RAD
1. Untuk proyek dengan skala besar, RAD sumber daya manusia cukup untuk membentuk sejumlah tim RAD
2. RAD membutuhkan pengembang dan pemakai yang mempunyai komitmen
3. Akan menimbulkan masalah jika sistem tidak dibuat secara modular
4. RAD tidak cocok utnuk sistem yang mempunyai resiko tinggi

4. Incremental model

Model incremental menggabungkan elemen-elemen model sekuensial linier (diimplementasikan secara berulang) dengan filosofi prototype interatif. Model ini memakai urutan-urutan linier di dalam model yang membingungkan, seiring dengan laju waktu kalender. Setiap urutan linier menghasilkan pertambahan perangkat lunak yang kemudian dapat disampaikan kepada pengguna.

Pada saat model incremental (pertambahan) ini digunakan, pertambahan pertama sering merupakan produk inti (core product), yaitu sebuah model pertambahan yang dipergunakan, tetapi beberapa muka tambahan (beberapa diketahui dan beberapa tidak) tetap tidak disampaikan. Produk inti tersebut dipergunakan oleh pelanggan (atau mengalami pengkajian detail). Sebagai hasil dari pemakaian dan/atau evaluasi maka dikembangkan rencana bagi pertambahan selanjutnya. Rencana tersebut menekankan modifikasi produk inti untuk secara lebih baik memenuhi kebutuhan para pelanggan dan penyampaian fitur serta fungsional tambahan. Proses ini mengikuti penyampaian setiap pertambahan sampai bisa menghasilkan produk yang lengkap.

Model proses incremental tersebut, seperti model prototype dan pendekatan-pendekatan evolusioner yang lain, bersifat iterative. Tetapi tidak seperti model prototype, model pertambahan berfokus pada penyampaian produk operasional dalam setiap pertambahannya. Pertambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai.

Perkembangan pertambahan, khususnya berguna pada saat staffing, tidak bisa dilakukan dengan menggunakan implementasi lengkap oleh batasan waktu bisnis yang sudah disepakati untuk proyek tersebut. Jika produk inti diterima dengan baik, maka staf tambahan (bila dibutuhkan) bisa ditambahkan untuk mengimplementasi pertambahan selanjutnya. Sebagai tambahan, system mayor yang sedang pada masa perkembangan serta waktu penyampaiannya belum pasti, mungkin membutuhkan keberadaan perangkat keras yang baru. Bisa juga rencana tertentu dibuat untuk menghindari pemakaian perangkat lunak ini, sehingga memungkinkan fungsionalitas partial disampaikan kepada pemakai tanpa harus banyak tertunda.

Contoh Penggunaan Incremental Model

Misalnya, perangkat lunak pengolah kata yang dikembangkan dengan menggunakan paradigma penambahan akan menyampaikan manajemen file dasar, editing serta fungsi penghasilan dokumen pada penambahan pertama; kemudian editing dan kemampuan penghasilan dokumen yang lebih canggih pada pertambahan kedua; pengecekan spelling dan tata bahasa pada pertambahan ketiga; serta kemampuan pengaturan halaman tingkat lanjut pada tahap pertambahan keempat. Harus dicatat bahwa aliran proses untuk berbagai pertambahan tersebut dapat menggabungkan paradigma prototype.

Kelebihan Penggunaan Incremental Model

·   Merupakan model dengan manajemen yang sederhana
·   Pelanggan tidak perlu menunggu sampai seluruh system dikirim untuk mengambil keuntungan dari system tersebut. Inkremen yang pertama sudah memenuhi persyaratan mereka yang paling kritis, sehingga perangkat lunak dapat segera digunakan.
·   Pelanggan dapat memakai inkremen yang pertama sebagai bentuk prototype dan mendapatkan pengalaman yang dapat menginformasikan persyaratan untuk inkremen system berikutnya
·   Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah dapat ditemukan pada beberapa inkremen, bias saja beberapa inkremen diserahkan dengan sukses kepada pelanggan.
·   Karena layanan dengan prioritas tertinggi diserahkan pertama dan inkremen berikutnya diintegrasikan dengannya, sangatlah penting bahwa layanan system yang paling penting mengalami pengujian yang paling ketat. Ini berarti bahwa pelanggan akan memiliki kemungkinan kecil untuk memenuhi kegagalan perangkat lunak pada inkremen system yang paling kecil.



Kekurangan Penggunaan Incremental Model

·   Inkremen harus relative lebih kecil (tidak lebih dari 20.000 baris kode) dan setiap inkremen harus menyediakan sebagian dari fungsional system
·   Adanya kesulitan untuk memetakan persyaratan pelanggan pada inkremen dengan ukuran yang benar


5. Spiral model
Model ini juga cukup baru ditemukan, yaitu pada sekitar tahun 1988 oleh Barry Boehm pada artikel A Spiral Model of Software Development and Enhancement. Spiral model adalah salah satu bentuk evolusi yang menggunakan metode iterasi natural yang dimiliki oleh model prototyping dan digabungkan dengan aspek sistimatis yang dikembangkan dengan model waterfall. Tahap desain umumnya digunakan pada model Waterfall, sedangkan tahap prototyping adalah suatu model dimana software dibuat prototype (incomplete model), “blue-print”-nya, atau contohnya dan ditunjukkan ke user / customer untuk mendapatkan feedback-nya. Jika prototype-nya sudah sesuai dengan keinginan user / customer, maka proses SE dilanjutkan dengan membuat produk sesungguhnya dengan menambah dan memperbaiki kekurangan dari prototype tadi.

Model ini juga mengkombinasikan top-down design dengan bottom-up design, dimana top-down design menetapkan sistem global terlebih dahulu, baru diteruskan dengan detail sistemnya, sedangkan bottom-up design berlaku sebaliknya. Top-down design biasanya diaplikasikan pada model waterfall dengan sequential-nya, sedangkan bottom-up design biasanya diaplikasikan pada model prototyping dengan feedback yang diperoleh. Dari 2 kombinasi tersebut, yaitu kombinasi antara desain dan prototyping, serta top-down dan bottom-up, yang juga diaplikasikan pada model waterfall dan prototype, maka spiral model ini dapat dikatakan sebagai model proses hasil kombinasi dari kedua model tersebut. Oleh karena itu, model ini biasanya dipakai untuk pembuatan software dengan skala besar dan kompleks.

Spiral model dibagi menjadi beberapa framework aktivitas, yang disebut dengan task regions. Kebanyakan aktivitas2 tersebut dibagi antara 3 sampai 6 aktivitas. Berikut adalah aktivitas-aktivitas yang dilakukan dalam spiral model:

Customer communication. Aktivitas yang dibutuhkan untuk membangun komunikasi yang efektif antara developer dengan user / customer terutama mengenai kebutuhan dari customer.

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

Analysis risk. Aktivitas analisis resiko ini dijalankan untuk menganalisis baik resiko secara teknikal maupun secara manajerial. Tahap inilah yang mungkin tidak ada pada model proses yang juga menggunakan metode iterasi, tetapi hanya dilakukan pada spiral model.

Engineering. Aktivitas yang dibutuhkan untuk membangun 1 atau lebih representasi dari aplikasi secara teknikal.
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.

Customer evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari user / customer berdasarkan evaluasi mereka selama representasi software pada tahap engineering maupun pada implementasi selama instalasi software pada tahap construction and release.

Satu lingkaran dari bentuk spiral pada spiral model dibagi menjadi beberapa daerah yang disebut dengan region. Region tersebut dibagi sesuai dengan jumlah aktivitas yang dilakukan dalam spiral model. Tentunya lingkup tugas untuk project yang kecil dan besar berbeda. Untuk project yang besar, setiap region berisi sejumlah tugas-tugas yang tentunya lebih banyak dan kompleks daripada untuk project yang kecil. SE berjalan dari inti spiral berjalan mengitari sirkuit per sirkuit. Sebagai contoh untuk sirkuit pertama dilakukan untuk pembangunan dari spesifikasi dari software dengan mencari kebutuhan dari customer. Untuk sirkuit pertama harus menjalani semua aktivitas yang didefinisikan. Setelah 1 sirkuit terlewati lanjut ke tugas selanjutnya misalnya membangun prototype. Tugas ini juga harus mengitari 1 sirkuit dan begitu terus selanjutnya sampai project selesai.

Tidak seperti model-model konvesional dimana setelah SE selesai, maka model tersebut juga dianggap selesai. Akan tetapi hal ini tidak berlaku untuk spiral model, dimana model ini dapat digunakan kembali sepanjang umur dari software tersebut. Pada umumnya, spiral model digunakan untuk beberapa project seperti Concept Development Project (proyek pengembangan konsep), New Product Development Project (proyek pengembangan produk baru), Product Enhancement Project (proyek peningkatan produk), dan Product Maintenance Project (proyek pemeliharaan proyek). Keempat project tersebut berjalan berurutan mengitari sirkuit dari spiral. Sebagai contoh setelah suatu konsep dikembangkan dengan melalui aktivitas2 dari spiral model, maka dilanjutkan dengan proyek selanjutnya yaitu pengembangan produk baru, peningkatan produk, sampai pemeliharaan proyek. Semuanya melalui sirkuit2 dari spiral model.


Kekurangannya ada pada masalah pemikiran user / customer dimana mereka pada umumnya tidak yakin bahwa pendekatan evolusioner ini dapat terus dalam ambang kontrol yang bagus. Dibutuhkan kombinasi kemampuan manajerial dan teknis tersendiri untuk mengontrol model ini sehingga dengan sendirinya dapat meyakinkan user / customer tersebut. Mengenai analisis resiko yang terdapat pada model ini dibutuhkan kemampuan expert tersendiri agar tahap ini dapat berjalan dengan baik. Dibutuhkan kemampuan manajemen yang tinggi untuk melakukan perkiraan resiko, karena jika ada resiko yang luput untuk dievaluasi, dikhawatirkan dapat muncul di kemudian hari yang dapat menghambat proses SE. Kesimpulannya, model ini sebetulnya cukup populer, tetapi masih kalah populer dibandingkan model2 yang lama yaitu waterfall atau prototype akibat belum banyak penggunaan model ini yang dapat meyakinkan pemikiran user / customer.


Aktifitasnya:
1. Komunikasi dengan pemakai
2. Perencanaan
3. Analisis resiko
4. Rekayasa
5. Konstruksi dan pelepasan
6. Evaluasi
Kelemahannnya
1. Sulit untuk meyakinkan pemakai
2. Memerlukan tanaga ahli
3. Belum terbukti apakh metode ini cukup efisien
Proses bentuk spiral:
1. Tiap loop mewakili 1 proses
2. Loop paling dalam focus pada kelayakan dari sistem
3. Loop selanjutnya definisi kebutuhan berkaitan dengan desain sistem , dst.
Spiral model menentukan tujuan
- Penanganan and penanggulangan resiko
- Pembangunan dan pengujian
Planning
Risk analisis
Engineering
Construction and release
Customer evaluation
Win-win Spiral
- Perluasan spiral model
- Fase tertentu dapat diulang oleh pembuat project
- tanpa harus mengulang dari awal
Kesimpulan:
1. Pada model spiral, resiko sangat di pertimbangkan
2. Resiko adalah yang mungkin menyebabkan kesalahan
3. Pendekatan yang realistis untuk PL berskala besar.

Comments

Popular Posts