Minggu, 03 November 2019

MODEL-MODEL SDLC




Model-Model SDLC


Terdapat 12 model System Development Life Cycle (SDLC) :
1. Tradisional SDLC
2. Agile SDLC
3. Waterfall SDLC
4. Scrum SDLC
5. Iterative SDLC
6. Spiral SDLC
7. v SDLC
8. Big Bang SDLC
9. Rational Unified Process (RUP) SDLC
10. Prototype SDLC
11. Rapid Aplication Development (RAD) SDLC
12. Unified Process SDLC

  1. Tradisional SDLC SDLC tradisional adalah metode pengembangan sistem informasi klasik yang mengikuti suatu pola teratur secara bertahap
    yang dikerjakan dari atas ke bawah. SDLC tradisional seringkali disebut pendekatan waterfall. Aktivitas dalam siklus
    ini memiliki aliran satu arah menuju penyelesaian proyek. Tahapan dalam SDLC tradisional adalah sebagai berikut :
    1. Perencanaan
    2. Analisis
    3. Perancangan
    4. Implementasi
    5. Penggunaan

    1. Perencanaan
    Sasaran Tahap perencanaan adalah diperolehnya cakupan dari proyek pengembangan sistem dan dasar-dasar untuk kendali.
    Tahap perencanaan terdiri dari :

    • Menyadari adanya masalah atau pemicu masalah
    • Menetaplan masalah
    • Mengidentifikasi kendala sistem
    • Membuat studi kelayakan

    1. Analisis
    Tujuan dari tahap analisis adalah memahami permasalahan secara menyeluruh dan mendefinisikan kebutuhan pemakai (apa yg harus dilakukan oleh sistem utk memenuhi keinginan pemakai). Tahap analisis terdiri dari :

    • Mengumumkan penelitian sistem
    • Mengorganisasik tim proyek
    • Mendefinisikan kebutuhan informasi
    • Mendefinisikan kriteria kinerja sistem
    • Menyiapkan usulan perancangan
    • Menerima atau menolak perancangan

    1. Perancangan
    Tujuan dari tahap perancangan adalah menentukan solusi yang dapat memenuhi kebutuhan informasi pemakai yang sudah didefinisikan dan membuat suatu model implementasi yang akan dibangun kemudian. Tahap perancangan terdiri dari :
    • Menyiapkan perancangan sistem rinci
    • Mengidentifikasi alternatif konfigurasi sistem
    • Mengevaluasi alternatif konfigurasi sistem
    • Memilih konfigurasi terbaik
    • Menyiapkan usulan penerapan
    • Menyetujui atau menolak penerapan sistem

    1. Implementasi
    Tujuan tahap implementasi adalah mendapatkan sistem informasi sesuai dengan kebutuhan pemakai.
    Tahapan implementasi tesdiri dari :
    • Merencanakan penerapan
    • Mengumumkan penerapan
    • Mendapatkan sumber daya HW
    • Mendapatkan sumber daya SW
    • Menyiapkan basis data
    • Menyiapkan fasilitas fisik
    • Pelatihan pemakai
    • Masuk/peralihan ke sistem baru

    1. Penggunaan
    Tujuan tahap penggunaan adalah menjaga agar sistem tetap beroperasi secara normal, dapat mengantisipasi penyimpangan yang mungkin dialami sistem dan melakukan evaluasi sistem.
  2. Agile SDLC  Agile development adalah sebuah filosofi dan serangkaian panduan untuk mengembangkan sistem informasi di dalam lingkungan yang sering berubah dan dapat digunakan dengan metodologi pengembangan sistem apapun. Metodologi agile adalah sebua filosofi tentang bagaimana membangun model, beberapa diantaranya formal dan detil, namun yang lainnya hanya berupa sketsa dan sangat ringkas.
    Nilai-nilai dari Agile Developement
    Filosofi agile menggunakan pendekatan yang fleksibel terhadap jadwal proyek dan memberikan kesempatan bagi tim proyek
    untuk merencanakan dan menjalankan pekerjaan mereka sesuai dengan perkembangan proyek. Filosofi utama dalam pengembangan agile adalah :
    1. Value responding to change over following a plan
    2. Value individuals and interactions over processes and tools
    3. Value working software over comprehensive documentation
    4. Value customer collaboration over contract negotiation
    Pemodelan agile bukan berarti melakukan pemodelan lebih sedikit namun membuat pemodelan yang tepat untuk tujuan yang tepat pada level tertentu. Pemodelan agile tidak menentukan model mana yang harus dibuat dan bagaimana membuat model tersebut. Sebaliknya, pemodelan agile hanya membantu pengembang untuk tetap pada jalurnya dengan pemodelan yang mereka buat sebagai alat untuk mencapai tujuan namun bukan tujuan akhirnya. Prinsip pemodelan agile berikut mengindikasikan membangan model adalah teknik yang utama dalam pengembangan software namun model adalah sarana bukan tujuan.
    1. Membangun software sebagai tujuan utama
    2. Menjalankan usaha berikutnya sebagai tujuan sekunder
    3. Meminimalkan kegiatan pemodelan – sedikit dan sederhana
    4. Merangkul perubahan dan perubahan bertahap
    5. Membuat model dengan tujuan
    6. Membuat beberapa model
    7. Membuat model dengan kualitas baik dan mendapatkan umpan balik
    8. Fokus pada isi daripada tampilan
    9. Belajar dari yang lain dengan komunikasi terbuka
    10. Mengetahui model yang dibuat dan cara menggunakannya
    11. Beradaptasi pada kebutuhan proyek yang spesifik
  3. Waterfall SDLC                                                                                         Waterfall adalah pendekatan SDLC paling awal yang digunakan untuk pengembangan perangkat lunak.
    Hal ini juga disebut sebagai model SDLC linear-sekuensial. Hal ini sangat sederhana untuk memahami
    dan menggunakanya dalam mengimplementasikan sebuah sistem. adapun langkah-langkah waterfal SDLC model ini yaitu :
  • Requirement Gathering and analysis – Mengumpulkan kebutuhan secara lengkap kemudian kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.
  • System Design – Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap
  • Implementation – Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit.
  • Integration and Testing – Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing)
  • Deployment of system – Mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.
  • Maintenance – Proses pemeliharaan sistem yang sudah dibangun
Kelebihan Waterfall Model
Keuntungan dari Waterfall model adalah Jadwal dapat diatur dengan tenggat waktu untuk setiap tahap pengembangan dan produk dapat dilanjutkan melalui proses pengembangan model fase satu per satu. Pembangunan bergerak dari konsep, melalui desain, implementasi, pengujian, instalasi, pemecahan masalah, dan berakhir di operasi dan pemeliharaan

Berikut Keuntungan lainya dari Waterfall Model :
  • Simple, mudah dimengerti dan di implemetasikan
  • Mudah untuk mengelola karena model yang sederhana. Setiap fase memiliki spesifik requirement dan proses review
  • Fase diproses dan diselesaikan satu per satu
  • Cocok untuk project skala kecil dimana kebutuhan project dapat mudah dimengerti
  • Jelas dalam mendefinisikan setiap tahap
  • Mudah menentukan pencapaian suatu sistem
  • Mudah dalam menentukan tugas setiap individu
  • Proses pendokumentasian lebih mudah.
Kekurangan Waterfall Model :
Kerugian dari Waterfall model adalah tidak memungkinkan banyak refleksi atau revisi. Setelah aplikasi dalam tahap pengujian, sangat sulit untuk kembali dan mengubah sesuatu yang tidak terdokumentasi dengan baik atau pikiran pada dalam tahap konsep.
Berikut Kerugian lainya dari Waterfall Model:
  • Aplikasi yang dihasilkan cenderung lama karena step-step tidak dapat dilongkap
  • Resiko yang tinggi karena proses nya terlalu lama
  • Tidak cocok untuk project yang terlalu complex dan Object Oriented Projects
  • Tidak cocok untuk project jangka lama dan untuk project yang sedang berjalan
  • Tidak cocok untuk project yang mudah berganti-ganti model proses
  • Sulit untuk mengukur kemajuan dalam tahap
  • Integrasi dilakukan sebagai “big-bang. Di akhir, yang tidak memungkinkan mengidentifikasi setiap teknologi atau bisnis hambatan atau tantangan awal.
4. Scrum SDLC Model 
Scrum merupakan suatu kerangka kerja. Jadi, bukannya menyediakan deskripsi rinci tentang bagaimana segala sesuatu yang harus dilakukan pada proyek seperti diserahkan kepada tim pengembangan perangkat lunak pada umumnya. Hal ini dilakukan supaya tim akan tahu bagaimana cara terbaik untuk memecahkan masalah
Element-Element dalam Scrum
Ada 3 elemen organisasi utama pada scrum yaitu product owner, Scrum master, dan the Scrum team.
  • Product Ownermewakili bisnis, pelanggan atau pengguna dan memandu tim ke arah pegembangan produk yang tepat.
  • Scrum Masterdapat dianggap sebagai pemersatu bagi product owner dan scrum team (developer, QA, technical wirter dll), membantu anggota tim menggunakan kerangka Scrum untuk menyelesaikan suatu project berdasarkan timeline yang ditentukan di awal.
  • Scrum Teammerupakan grup pengembang kecil biasanya terdiri dari 5-9 orang. Untuk projek yang sangat besar, pekerjaan biasanya dibagi dan didelegasikan ke grup-grup kecil
Scrum tepat digunakan saat kondisi:
  • Keperluan berubah dengan cepat
  • Tim programmer sedikit, yaitu 5-9 orang
  • Pelanggan tidak terlalu paham dengan apa yang diinginkan
Scrum memiliki prinsip yaitu:
  • Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain
  • Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
  • Proses menghasilkan beberapa software increment
  • Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
  • Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
  • Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
Kelebihan Scrum antara lain:
  • 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 kapanpun diperlukan
Kelemahan Scrum antara lain:
  • Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.

5. Iterative Model
Iterative dan Incremental development adalah kombinasi dari kedua desain iterative dan incremental, untuk sebuah development. Selama development lebih dari satu iterasi dari sebuah software development life cycle.
Kelebihan dari Iterative Model SDLC :
  • Beberapa fungsi dapat di kembangkan dengan cepat di awal pembuatan versi baru.
  • hasil yang di peroleh secara berkala
  • Kemajuan sebuah sistem dapat di ukur
  • Development software mudah di rencanakan
  • Biaya yang dikeluarkan kecil apabila ingin merubah requirement
  • Testing dan debugging selama proses iterasi lebih mudah.
  • Analisis resiko yang lebih baik
  • Mendukung perubahan requirement
  • Waktu operasional yang lebih singkat
  • Cocok untuk project besar
Kekurangan dari Iterative Model SDLC:
  • Membutuhkan resource yang cukup banyak
  • Meski biaya perubahan rendah, tetapi sangat tidak cocok untuk mengubah persayaratan
  • Memerlukan Perhatian manajemen
  • Permasalahan sistem arsitektur dan desain mungkin akan timbul, karena tidak semua persyaratan di tentukan di awal pengambangan sistem.
  • tidak cocok untuk project kecil
  • Kompleksitas manajemen
  • Membutuhkan tenaga ahli untuk analisis resiko yang timbul
6. Spiral Model SDLC
Model Spiral SDLC adalah sebuat metode pengabungan antara Iterative Model dengan Waterfall Model. dengan penekanan yang tinggi pada analisis resiko yang akan di hadapi. Spiral model bertujuan untuk meningkatkan tingkat keberhasilan pada saat pengembangan suatu sistem.

Fase Spriral Model SDLC :

Spiral model memiliki 4 fase utama yaitu : Identification, Design, Construct or Build, Evaluation and Risk Analysis

Identification

Pada fase ini bertujuan untuk mengumpulkan kebutuhan bisnis di dasar spiral, Dalam spiral berikutnya disebut sebagai produk deawsa. Identifikasi persyaratan sistem, persyaratan subsistem, persyaratan unit dilakukan pada fase ini. Fase ini juga mencakup komunikasi antar sistem analis dengan klien.
Design
Pada fase ini dimulai dengan desain konseptual di dasar spiral dan melibatkan
desain arsitektur, desain logis dari modul, desain produk fisik dan desain akhir
dalam spiral berikutnya.
Construct or Build
Pada fase ini  mengacu produksi produk perangkat lunak yang sebenarnya di setiap spiral.
Evaluation and Risk Analysis
Pada fase ini  mengidentifikasi, memperkirakan dan memantau kelayakan teknis dan risiko manajemen, seperti jadwal selip dan biaya lebih. Setelah pengujian sistem, akhir dari iterasi klien akan mengevaluasi produk yang sudah dibangun dan akan memberikan feedback.

7. V Model SDLC
V-Model adalah model SDLC dimana pelaksanaan proses yang terjadi secara berurutan dalam bentuk-V. Dikenal juga sebagai model Verifikasi dan Validasi.
V-Model merupakan perluasan dari waterfall model  dan didasarkan pada asosiasi dari fase pengujian untuk setiap tahap pengembangan yang sesuai. Ini berarti bahwa untuk setiap fase tunggal dalam siklus pengembangan, ada tahap pengujian terkait langsung. Ini adalah model yang sangat disiplin dan tahap berikutnya dimulai setelah selesainya tahap sebelumnya.
Kelebihan dari V-Model SDLC :
  • Ini adalah model yang sangat-disiplin dan Tahapan selesai satu per satu.
  • Bekerja dengan baik untuk proyek-proyek yang lebih kecil dimana persyaratan dipahami dengan baik.
  • Sederhana dan mudah dimengerti dan digunakan.
  • Mudah dikelola karena setiap fase memiliki spesifik kiriman dan proses review.
Kekurangan dari V-Model SDLC :
  • Berisiko tinggi dan ketidakpastian.
  • Tidak cocok untuk proyek-proyek yang kompleks dan berorientasi objek.
  • Tidak cocok untuk proyek-proyek dimana persyaratan beresiko tinggi
  • Tidak cocok untuk proyek-proyek yang lama dan berkelanjutan.
  • Setelah aplikasi dalam tahap pengujian, sulit untuk kembali dan mengubah fungsionalitas.
8. Big Bang SDLC
V-Model adalah model SDLC dimana pelaksanaan proses yang terjadi secara berurutan dalam bentuk-V. Dikenal juga sebagai model Verifikasi dan Validasi.
V-Model merupakan perluasan dari waterfall model  dan didasarkan pada asosiasi dari fase pengujian untuk setiap tahap pengembangan yang sesuai. Ini berarti bahwa untuk setiap fase tunggal dalam siklus pengembangan, ada tahap pengujian terkait langsung. Ini adalah model yang sangat disiplin dan tahap berikutnya dimulai setelah selesainya tahap sebelumnya.
Kelebihan dari V-Model SDLC :
  • Ini adalah model yang sangat-disiplin dan Tahapan selesai satu per satu.
  • Bekerja dengan baik untuk proyek-proyek yang lebih kecil dimana persyaratan dipahami dengan baik.
  • Sederhana dan mudah dimengerti dan digunakan.
  • Mudah dikelola karena setiap fase memiliki spesifik kiriman dan proses review.
Kekurangan dari V-Model SDLC
  • Berisiko tinggi dan ketidakpastian.
  • Tidak cocok untuk proyek-proyek yang kompleks dan berorientasi objek.
  • Tidak cocok untuk proyek-proyek dimana persyaratan beresiko tinggi
  • Tidak cocok untuk proyek-proyek yang lama dan berkelanjutan.
  • Setelah aplikasi dalam tahap pengujian, sulit untuk kembali dan mengubah fungsionalitas.
9. Rational Unified Process (RUP) Model
(RUP) Menurut IBM adalah kerangka proses yang menyediakan simulasi sistem pada industri untuk sistem, software, implementasi, dan manajemen proyek yang efektif. RUP adalah salah satu dari sekian banyak proses yang terdapat di dalam Rational Process Library, yang memberikan simulasi terbaik untuk pengembangan atau kebutuhan proyek. RUP mempunyai beberapa tahapan, yaitu :
  1. Inception
  2. Elaboration
  3. Construction
  4. Transition
  1. Inception – merupakan tahap untuk mengidentifikasi sistem yang akan dikembangkan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup analisis sistem existing, perumusan sistem target, penentuan arsitektur global target, identifikasi kebutuhan, perumusan persyaratan (fungsional, performansi, keamanan, GUI, dll), perumusan kebutuhan pengujian (level unit, integrasi, sistem, performansi, fungsionalitas, keamanan, dll), UML diagram, dan pembuatan dokumentasi.
  2. Elaboration – Elaboration merupakan tahap untuk melakukan desain secara lengkap berdasarkan hasil analisis pada tahap inception. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pembuatan desain arsitektur subsistem (architecture pattern), desain komponen sistem, desain format data (protokol komunikasi), desain database, desain user interface, pemodelan diagram UML (diagram sequenceclasscomponentdeployment, dll.), dan pembuatan dokumentasi
  3. Construction – Construction merupakan tahap untuk mengimplementasikan hasil desain dan melakukan pengujian hasil implementasi. Pada tahap awal construction, ada baiknya dilakukan pemeriksaan ulang hasil analisis dan desain, terutama desain pada sequence diagram, class diagram, component dan deployment. Apabila desain yang dibuat telah sesuai dengan analisis sistem, maka implementasi dengan bahasa pemrogramanan tertentu dapat dilakukan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pengujian hasil analisis dan desain, pendataan kebutuhan implementasi lengkap (berpedoman pada identifikasi kebutuhan di tahap analisis), penentuan coding pattern yang digunakan, pembuatan program, pengujian, optimasi program, pendataan berbagai kemungkinan pengembangan atau perbaikan lebih lanjut, dan pembuatan dokumentasi.
  4. Transition –  Transition merupakan tahap untuk menyerahkan sistem aplikasi kepada user (roll-out), yang umumnya mencakup pelatihan dan beta testing aplikasi
10. Prototype Model SDLC
Prototype digunakan untuk memungkinkan client/user mengevaluasi sistem yang di rancang di awal oleh developer dan mencobanya sebelum di implementasikan. Hal ini dapat membantu memahami persyaratan pembangunan sistem yang spesifik oleh user dan mungkin belum implementasikan oleh developer selama perancangan produk.
Prototype digunakan untuk memungkinkan client/user mengevaluasi sistem yang di rancang di awal oleh developer dan mencobanya sebelum di implementasikan. Hal ini dapat membantu memahami persyaratan pembangunan sistem yang spesifik oleh user dan mungkin belum implementasikan oleh developer selama perancangan produk.
Kelebihan Prototype :
  • Meningkatnya keterlibatan pengguna dalam produk bahkan sebelum diimplementasi
  • Karena model sistem yang di bangun di share ke user, maka user mendapatkan pemahaman  yang lebih baik tentang sistem yang sedang dikembangkan.
  • Mengurangi waktu dan biaya karena cacat dapat dideteksi jauh lebih awal.
  • Feedback user yang cepat di awal dapat memberikan solusi yang lebih baik
  • Fungsi yang tidak ada dapat diidentifikasi dengan mudah dan cepat
  • Fungsi yang membingungkan dapat di hilangkan
Kekurangan Prototype :
  • Risiko analisis kebutuhan yang tidak mencukupi karena terlalu banyak ketergantungan pada Prototipe
  • Pengguna mungkin bingung dalam prototipe dan sistem sebenarnya.
  • Upaya yang diinvestasikan dalam membangun prototip mungkin terlalu banyak jika tidak dipantau tepat.
  • Pengembang dapat mencoba untuk menggunakan kembali prototipe yang ada untuk membangun sistem yang sebenarnya, Bahkan bila hal itu tidak layak secara teknis.
11. Rapid Aplication Development (RAD) Model
RAD (Rapid Application Development) Adalah metodologi pengembangan perangkat lunak (SDLC) yang menggunakan pengabungan antara Prototype Model dengan Iterative Model.
Dalam model RAD (Rapid Application Development), modul fungsional dikembangkan secara paralel sebagai prototip dan terintegrasi untuk membuat produk yang lengkap untuk pengiriman produk yang lebih cepat. Dikarenakan tidak ada rincian planning yang detail, maka memudahkan untuk melakukan perubahan pada saat development berjalan.
Kelebihan RAD (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 RAD (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
12. Unifed Process SDLC
Unified Process (UP) adalah metodologi pengembangan sistem berbasis objek. Metode ini sudah menjadi salah satu metode yang banyak digunakan dalam pengembangan sistem berorientasi objek. UP memperkenalkan pendekatan baru untuk siklus hidup pengembangan sistem yang menggabungkan perulangan (iterations) dan tahapan (phases) yang disebut dengan siklus hidup UP (UP life cycle). UP mendefinisikan empat tahapan siklus hidup yaitu inceptionelaborationconstruction, dan transition.
Langkah-langkah Unified Process :
  1. inception phase
  2. elaboration phase
  3. contruction phase
  4. transistion phase

Tidak ada komentar:

Posting Komentar

13 JENIS-JENIS UML beserta GAMBAR

JENIS JENIS UML Pengertian UML               UML (Unified Modeling Language) adalah sebuah bahasa untuk menetukan, visualisasi, ko...