28
Software Development Life Cycle

Software)Development)Life)Cycle) · Materi)! PengerOanSDLC! RelevansiSDLC! Tahapan!UmumSDLC! Model!SDLC!! “CodenFix”! Waterfall!! Spiral!! EvoluOonary!Prototyping!

Embed Size (px)

Citation preview

ì  Software  Development  Life  Cycle  

Seberapa  Kompleks-­‐kah  Software  

ì  Ukuran  kompleksitas  so0ware:  ì  Line  of  Code  (LoC)  ì  Jumlah  klas  ì  Jumlah  modul  ì  Interkoneksi  dan  ketergantungan  antar  modul  ì  Waktu  untuk  memahami  program  dsb  

Contoh  LoC  ì  Windows  Server  2003:  50  MSLoC  

ì  Debian  5.0:  324  MSLoC  

ì  MSLoC:  total  lines  of  source  code  in  millions  

ì  Seberapa  besar  324  MSLoC?  ì  Misal  5  words  per  LoC  ì  Misal  50  words  per  minute  ì  32  millions  of  minutes  ì  61  years  

Materi  

ì  PengerOan  SDLC  

ì  Relevansi  SDLC  

ì  Tahapan  Umum  SDLC  

ì  Model  SDLC  ì  “Code  n  Fix”  ì  Waterfall  ì  Spiral  ì  EvoluOonary  Prototyping  ì  Staged  Delivery  

ì  Memilih  Model  

2.1  Pengertian  SDLC  

ì  Sekumpulan  langkah  atau  fase  yang  dilewaO  dalam  rangka  mengembangkan  atau  memproduksi  suatu  produk  perangkat  lunak  

ì  Tujuan  kenapa  dibuat  step  /  fase  ì  Menghasilkan  item  yang  terukur  untuk  dievaluasi  ì  Berdasarkan  hasil  evaluasi,  bisa  ditentukan  langkah  

selanjutnya  

2.2  Relevansi  SDLC  

ì  Ad-­‐Hoc  Development:  membuat  so0ware  tanpa  mengunakan  standar  yang  baku  dan  formal  

ì  Keuntungan:  mudah    untuk  dilakukan  

ì  Kerugian:  ì  Kemungkinan  malah  meninggalkan  berbagai  proses  penOng  

seperO  DESIGN  dan  TESTING  ì  Tidak  jelas  kapan  TITIK  AWAL  dan  AKHIRNYA  ì  Sulit  untuk  dilakukan  review  ì  Code  mungkin  saja  Odak  sesuai  dengan  yang  diinginkan  user  

(tanpa  melalui  tahap  requirement  analysis)  ì  Code  Odak  direncanakan  untuk  dimodifikasi,s  sehingga  

TIDAK  FLEKSIBEL  

SEHINGGA  DIPERLUKAN  SDLC,  KARENA  BIAYA  UTK  FIXING  SOFTWARE    BIASANYA  LEBIH  MAHAL  

2.2  Relevansi  SDLC  

ì  Keuntungan  menggunakan  SDLC:  ì  SDLC  menyediakan  tahapan  tersetruktur  untuk  

dilakukan  ì  SDLC  mengarahkan  kita  utk  memiliki  “GAMBARAN  

BESAR/GLOBAL”,  dan  memandu  kita  untuk  mengikuO  tahapan2  dalam  rangka  mencapainya  

ì  Bisa  digunakan  sebagai  alat  manajemen  

2.3  Tahap  Software  Life  Cycle  

ì  Secara  global  terdiri  dari  beberapa  tahap:  ì  Requirement  ì  Design  ì  ImplementaOon  ì  TesOng  ì  Maintenance  

ì  Key  QuesOon:  “Bagaimana  kita  mengkombinasikan  stpe2  tersebut  dan  dalam  urutan  yang  seperO  apa??”  

2.4  Model  SDLC  

ì  Code  an  Fix:  buat  code  program,  kemudian  debug,  betulkan  dan  proses  ini  dilakukan  berulang  (contoh:  Ad-­‐Hoc  Development)  

ì  Waterfall:  proses  standar/paling  umum  (req,  design,  code,  test)  dilakukan  secara  berurutan  

ì  Spiral:  melakukan  penilaian  resiko  pada  seOap  tahap/langkah;  melakukan  Ondakan  yang  paling  penOng  pertama  

2.4  Model  SDLC  

ì  EvoluOonary  Prototyping:  dimulai  dengan  membuat  prototype  atau  model  dengan  spesifikasi  kebutuhan  minimal.  Kemudian  jika  prototype  sudah  sesuai,  ‘evolve’  atau  kembangkan  hingga  menjadi  bentuk  riil-­‐nya  

ì         

2.4.1  Code  and  Fix  Model  

2.4.1  Code  and  Fix  

ì  Keuntungan:  ì  Simple  dan  Odak  kompleks  untuk  diterapkan  ì  EfekOf  untuk  Ope  so0ware  yang  kecil  

ì  Kerugian:  ì  Berbahaya  untuk  diterapkan  pada  so0ware  skala  

besar,  yang  melibatkan  Om  besar  ì  Tahapan  Odak  jelas,  jadi  utk  mengevaluasi  per  tahap  

pun  juga  Odak  jelas  ì  Tidak  jelas  AWAL  dan  AKHIR  

2.4.2  Waterfall  Model  

2.4.2  Waterfall  Model  

ì  Kekurangan:  ì  Jarang  mengikuO  urutan  sekuensial  seperO  di  teori,  

karena  seringkali  proses  iterasi  akan  menghasilkan  masalah  yang  baru  lagi  

ì  Sulit  untuk  idenOfikasi  kebutuhan/requirement  secara  lengkap  

ì  Cukup  banyak  memakan  waktu  ì  Kesalahan  di  awal  bisa  berakibat  fatal  pada  tahap  

berikutnya  

2.4.2  Waterfall  Model  

ì  Kelebihan:  ì  Masih  sering  digunakan,  terutama  untuk  skala  besar  

dengan  batasa  waktu  yang  Odak  terlalu  mepet  ì  Jika  sistem  yang  hendak  dibangun,  requirement/

kebutuhan  dapat  teridenOfikasi  secara  jelas  dan  eksplisit,  maka  model  ini  sangat  efekOf  

2.4.3  Prototype  Model  

ì  Menggunakan  prototype/model/contoh  dengan  spesifikasi  kebutuhan  yang  minimal,  untuk  dievaluasi  dengan  segera  oleh  pemakai.  Jika  sudah  sesuai,  dilanjutkan  dengan  membangunnya  dalam  sebuah  sistem  riil  

2.4.3  Prototype  Model  

2.4.3  Prototype  Model  

ì  Kelebihan:  ì  Cocok  untuk  sistem  dimana  kebutuhan  dari  user  SULIT  

DIIDENTIFIKASI,  atau  user  sulit  mengungkapkan  kebutuhannya  

ì  Melibatkan  user  secara  lebih  intensif,  shg:  ì  Pendefinisian  kebutuhan  memiliki  kemungkinan  lebih  

besar  untuk  sesuai  dengan  yang  diinginkan  oleh  user  ì  Meningkatkan  kepuasan  user  ì  Mengurangi  resiko  Odak  terpakainya  sistem  setelah  jadi  

ì  Hemat  biaya  ì  Kesalahan  bisa  terdeteksi  keOka  prototype  

2.4.3  Prototype  Model  

ì  Kekurangan:  ì  Sangat  bergantung  pada  kesungguhan  user  untuk  

emngevaluasi  prototype  ì  Apabila  Odak  terkelola  dengan  baik,  protoOpe  

menjadi  Odak  pernah  berakhir,  dikarenakan  permintaan  terhadap  perubahan  sangat  mudah  untuk  terjadi  

ì  Kemungkinan  dokumentasi  akan  terabaikan,  karena  developer  lebih  konsen  pada  pembuatan  prototype  dan  perbaikan  prototype  

2.4.4  Spiral  Model  

ì  Tahapan  dalam  Spiral:  ì  Pembuatan  tujuan  dan  batasan  ì  Analisis  Resiko  (temukan  resiko  dan  opsi  cara  

mengatasinya)  ì  Pengembangan  dan  validasi  ì  Perencanaan  tahap  berikutnya  (Next  Spiral)  

2.4.4  Spiral  Model  

2.4.4  Spiral  Model  

ì  Tahapan  dalam  Spiral:  ì  Pembuatan  tujuan  dan  batasan  ì  Analisis  Resiko  (temukan  resiko  dan  opsi  cara  

mengatasinya)  ì  Pengembangan  dan  validasi  ì  Perencanaan  tahap  berikutnya  (Next  Spiral)  

2.4.5  Staged  Delivery  Model  

2.4.5  Staged  Delivery  Model  

ì  Awalnya  seperO  waterfall  

ì  Kemudian,  dilakukan  “short  release  cycle”  ì  Design,  code,  debug,  test,  release  and  delivery  ì  Kemudian  proses  ini  dilakukan  secara  berulang,  dan  

menghasilkan  versi  untuk  delivery  selanjutnya  

2.5  Memilih  Model  yang  Tepat  

ì  Tergantung  pada  jenis,  lingkungan  dan  kebutuhan  project  

2.5  Memilih  Model  yang  Tepat  

ì  PerOmbangan:  ì  Manaj.  Resiko  ì  Quality/Cost  Control  ì  Predictability  ì  Visibility  of  Progress  ì  Customer  Involvement  and  feedback  

2.5  Memilih  Model  yang  Tepat  

ì  Model  Category  Matrix