rangkuman sdlc

9
SDLC (System Development Life Cycle) Adalah sebuah siklus hidup pengembangan software yang terdiri dari beberapa tahapan-tahapan penting dalam membangun suatu software yang dilihat dari segi pengembangannya. Terdapat 4 metodologi SDLC yaitu : A. WATERFALL Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Roger S. Pressman memecah model ini menjadi 6 tahapan, yaitu : 1. System / Information Engineering and Modeling. Mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Tahap ini sering disebut dengan Project Definition. 2. Software Requirements Analysis. Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan. 3. Design Proses mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. 4. Coding Desain yang telah dibuat kemudian diubah ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer. 5. Testing / Verification Proses pengujicobaan pada software yang telah dibuat, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. 6. Maintenance Yaitu Pemeliharaan suatu software , termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.

Upload: robby-firmansyah

Post on 08-Jul-2015

211 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Rangkuman SDLC

SDLC (System Development Life Cycle)

Adalah sebuah siklus hidup pengembangan software yang terdiri dari beberapa

tahapan-tahapan penting dalam membangun suatu software yang dilihat dari segi

pengembangannya. Terdapat 4 metodologi SDLC yaitu :

A. WATERFALL

Model ini melakukan pendekatan secara sistematis dan urut mulai dari level

kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification,

dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus

menunggu selesainya tahap sebelumnya dan berjalan berurutan. Roger S. Pressman memecah model ini menjadi 6 tahapan, yaitu :

1. System / Information Engineering and Modeling. Mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke

dalam bentuk software. Tahap ini sering disebut dengan Project Definition.

2. Software Requirements Analysis. Proses pencarian kebutuhan diintensifkan dan difokuskan pada software.

Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.

3. Design Proses mengubah kebutuhan-kebutuhan diatas menjadi representasi ke

dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat

mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya.

4. Coding Desain yang telah dibuat kemudian diubah ke dalam bahasa

pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.

5. Testing / Verification Proses pengujicobaan pada software yang telah dibuat, agar software

bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah

didefinisikan sebelumnya.

6. Maintenance Yaitu Pemeliharaan suatu software , termasuk di dalamnya adalah

pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti

ketika ada pergantian sistem operasi, atau perangkat lainnya.

Page 2: Rangkuman SDLC

Berikut adalah Konsep SDLC – Waterfall :

Keuntungan menggunakan teknik waterfall:

Proses menjadi teratur Estimasi proses menjadi lebih baik

Jadwal menjadi lebih menentu

Kelemahan menggunakan teknik waterfall:

Sifatnya kaku, sehingga susah melakukan perubahan di tengah proses Membutuhkan daftar kebutuhan yang lengkap di awal, tapi jarang konsumen bisa

memberikan kebutuhan secara lengkap diawal

Page 3: Rangkuman SDLC

B. PROTOTYPE

Adalah pendekatan yang secara langsung mendemonstrasikan bagaimana sebuah

software akan bekerja dalam lingkungannya sebelum tahapan konstruksi aktual

dilakukan (Howard, 1997). Beberapa model prototype adalah sebagai berikut :

Reusable prototype Prototype yang akan ditransformasikan menjadi produk final.

Throwaway prototype

Prototype yang akan dibuang begitu selesai menjalankan maksudnya. Input/output prototype

Prototype yang terbatas pada antar muka pengguna (user interface). Processing prototype

Prototype yang meliputi perawatan file dasar dan proses-proses transaksi

System prototype Prototype yang berupa model lengkap dari perangkat lunak.

Proses pada model prototyping adalah sebagai berikut:

1. Pengumpulan kebutuhan Developer dan klien bertemu dan menentukan bagian-bagian yang akan

dibutuhkan berikutnya.

2. Perancangan Perancangan mewakili semua aspek software yang diketahui, dan rancangan

ini menjadi dasar pembuatan prototype.

3. Evaluasi prototype Klien mengevaluasi prototype yang dibuat dan digunakan untuk memperjelas

kebutuhan software.

Perulangan ketiga proses ini terus berlangsung hingga semua kebutuhan

terpenuhi. Prototype-prototype dibuat untuk memuaskan kebutuhan klien dan

untuk memahami kebutuhan klien lebih baik. Prototype yang dibuat dapat

dimanfaatkan kembali untuk membangun software lebih cepat, namun tidak semua prototype bisa dimanfaatkan.

Page 4: Rangkuman SDLC

Pendekatan prototyping memiliki beberapa keuntungan yaitu:

Pemodelan membutuhkan dukungan aktif dari end-user. Perubahan dan iterasi merupakan konsekuensi alami dari pengembangan system.

End user dapat melihat dan merasakan langsung prototyping. Kesalahan yang terjadi dalam prototyping dapat dideteksi lebih dini

Prototyping dapat meningkatkan kreatifitas karena membolehkan adanya feedback dari end user. Hal ini akan memberikan solusi yang lebih baik.

Prototyping mempercepat beberapa fase hidup dari programmer.

Pendekatan prototyping memiliki beberapa kekurangan yaitu:

Prototyping memungkinkan terjadinya pengembalian terhadap kode, implementasi, dan perbaikan siklus hidup yang digunakan untuk mendominasi sistem informasi.

Prototyping tidak menolak kebutuhan dari fase analisis sistem. Prototype hanya dapat

memecahkan masalah yang salah dan memberi kesempatan sebagai sistem pengembangan konvensional.

Prototyping dapat mengurangi kreatifitas perancangan.

C. RAD (Rapid Application Development)

Adalah model proses pembangunan software yang tergolong dalam teknik

incremental (bertingkat).

Keuntungan dalam model RAD yaitu :

RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat.

Waktu yang singkat adalah batasan yang penting untuk model ini.

RAD menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana

working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan user.

Kelemahan dalam model RAD yaitu:

Model RAD membutuhkan sumber daya yang besar Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi Sistem yang tidak bisa dimodularisasi tidak cocok untuk model RAD

Resiko teknis yang tinggi juga kurang cocok untuk model RAD

Page 5: Rangkuman SDLC

Secara umum fase-fase pada RAD adalah sebagai berikut

Bussines modeling

Data modeling

Proses modeling Application generation : RAD mengasumsikan pemakaian teknik 4G (generasi

keempat). RAD lebih banyak memproses kerja untuk memakai lagi komponen

program atau menciptakan komponen yang bisa dipakai lagi. Testing and Turn Over : karena menekankan pada reusability, banyak komponen

program yang telah diuji sehingga mengurangi keseluruhan waktu pengujian. Tapi komponen baru harus diuji dan semua interface harus dilatih secara penuh.

D. AGILE SOFTWARE DEVELOPMENT

Adalah jenis pengembangan sistem jangka pendek yang memerlukan adaptasi cepat

dari pengembang terhadap perubahan dalam bentuk apapun. Menurut Agile Alliance, ada 12 prinsip yang mendorong keberhasilan dalam penerapan Agile Software Development, yaitu :

Kepuasan klien adalah prioritas utama, dengan menghasilkan produk lebih awal dan terus menerus.

Menerima perubahan atas segala kebutuhan.

Penyerahan software dalam hitungan waktu beberapa minggu sampai beberapa bulan. Pihak bisnis dan pengembang harus bekerja sama selama pengembangan berjalan. Membangun proyek di lingkungan orang-orang yang bermotivasi tinggi yang bekerja

dalam lingkungan yang mendukung dan yang dipercaya untuk dapat menyelesaikan proyek.

Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan efisien Software yang berfungsi adalah ukuran utama dari kemajuan proyek Dukungan yang stabil dari sponsor, pembangun, dan pengguna diperlukan untuk

menjaga perkembangan yang berkesinambungan Perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan sifat agile

Kesederhanaan merupakan hal penting Arsitektur, kebutuhan dan desain yang bagus muncul dari tim yang mengatur dirinya

sendiri

Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera melakukannya.

Kelebihan dari Agile Software Development yaitu:

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 dari segi materi relative kecil.

Berikut beberapa model proses yang terdapat pada model Proses Agile :

Page 6: Rangkuman SDLC

a. Extreme Programming (XP)

Terdiri dari aktivitas perencanaan, aktivitas desain, aktivitas pengkodean dan

aktivitas pengujian.

b. Adaptive Software Development (ASD)

Teknik untuk membangun software dan sistem yang komplek

c. Dinamic System Development Method

Menyajikan kerangka kerja (framework) untuk membangun dan memelihara

sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental

dalam lingkungan yang terkondisikan. Terdiri dari Feasibility Study, Business Study, Functional Model Iteration, Desain & Build iteration, & Implementation

Page 7: Rangkuman SDLC
Page 8: Rangkuman SDLC

d. SCRUM

Diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990-an, Pengembangan berikutnya dilakukan oleh Schwaber dan Beedle, Scrum memiliki prinsip:

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 ini mampu menyatakan bahwa produk selesai kapanpun diperlukan

Pada metode SCRUM terdapat aktivitas yang dijalankan yaitu Backlog, Sprints, Scrum Meetings, Demo. Skema dari SCRUM adalah sebagai berikut:

e. Agile Modelling

Adalah suatu metodologi yang praktis untuk dokumentasi dan pemodelan sistem

software. AM adalah kumpulan nilai-nilai, prinsip dan praktek-praktek untuk memodelkan software agar dapat diaplikasian pada software development proyek secara efektif. Prinsip dalam Agile Modelling adalah sebagai berikut:

Membuat model dengan tujuan

Mengunakan multiple models Travel light

Isi lebih penting dari pada penampilan Memahami model dan alat yang yang digunakan untuk membuat software Adaptasi secara lokal

Page 9: Rangkuman SDLC