Materi Software Process Lanjut

  Software Process Software Process

  Terdapat 2 type software process:

  

1. Plan-driven processes merupakan proses di

  mana semua kegiatan proses yang direncanakan terlebih dahulu dan kemajuan diukur terhadap rencana ini

  

2. In agile processes merupakan perencanaan

  tambahan dan lebih mudah untuk mengubah proses yang mencerminkan perubahan

  Aliran Proses Parallel, Evolutionary Linier, Iterative, Proses secara aliran: Waterfall Model / Classic life cycle  Dengan metodologi pengembangan berbasis waterfall: Proses berjalan berurutan dari satu tahap ke tahap berikutnya .

  

Dua kunci kunggulan metodologi pengembangan

berbasis waterfall adalah:

  • Persyaratan sistem diidentifikasi lama sebelum pemrograman dimulai
  • - Perubahan kebutuhan diminimalkan sebagai hasil

    project

  Waterfall Model / Classic life cycle Kunggulan metodologi pengembangan berbasis waterfall:  Mudah untuk dipahami, mudah untuk digunakan  Tahapan dipahami dengan baik  Kontrol management baik  Bekerja baik ketika kualitas lebih penting dari biaya atau jadwal 

  Pengidentifikasian system request yang lama sebelum memulai menuliskan kode (programming),

  Waterfall Model / Classic life cycle

  Kelemahan dari metodologi pengembangan waterfall:

  • Semua kebutuhan harus diketahui di awal
  • Waktu yang lama antara system proposal (produk dari planning) dan peyerahan sistem baru
  • Design harus spesifik sebelum melakukan programming
  • Kemungkinannya kecil bagi customer untuk dapat melihat preview sistem yang sedang dikerjakan

  Waterfall Development-based Methodology

  Varian Waterfall – V Model

  Masalah Model Waterfall Sulit untuk merespon perubahan perubahan

  • kebutuhan customer. Oleh sebab itu, model ini

  

hanya sesuai bila kebutuhan dimengerti dengan

baik dan perubahan akan menjadi mudah selama proses perancangan

  Increment Model

  Incremental Model merupakan gabungan antara

  • model linier sekuensial dan pararel Setiap linier sekuen menghasilkan produk yang
  • deliverables (dapat dikirim) Increment pertama merupakan produk inti
  • ( core), yang mengandung persyaratan / kebutuhan dasar Penambahan dilakukan pada increment-
  • increment berikutnya

  Increment Process Model

  Prototyping

Prototyping

  Metodologi berbasis prototipe melakukan fase

  • analisis, desain dan implementasi bersamaan.

    Semua tiga fase dilakukan berulang dalam siklus

  • sampai sistem selesai. Sebuah prototipe adalah versi lebih kecil dari
  • sistem dengan jumlah minimal fitur

  

Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition Prototyping-based Methodology Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition

  Prototyping: Advantage Sangat cepat memberikan sistem bagi pengguna

  • untuk berinteraksi (bahkan jika organisasi itu tidak siap/tidak memiliki gambaran) Prototyping meyakinkan klien bahwa tim proyek
  • bekerja dengan baik (tidak ada penundaan yang lama dimana pengguna melihat kemajuan), Prototyping membantu lebih cepat memperbaiki
  • persyaratan nyata (pengguna dapat berinteraksi dengan prototipe untuk lebih memahami apa yang bisa dan tidak bisa lakukan).

Prototyping: Disadvantage

  Sistem rilis yang cepat memiliki tantangan untuk

  • mencoba melakukan dengan hati-hati pada fase analisis. Seringkali prototipe mengalami perubahan yang
  • signifikan sehingga banyak keputusan desain awal terbukti menjadi desain yg lemah

  Throwaway Prototyping (1) Throw-Away prototyping menggunakan

  • prototyping untuk tujuan yang berbeda dari prototyping sebelumnya Melakukan analisis secara menyeluruh, untuk
  • mengumpulkan informasi & mengembangkan ide-ide untuk sebuah konsep sistem.

  Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition Throwaway Prototyping (2) Masalah yang muncul diujicobakan atau

  • diselesaikan dengan menganalisa, mendesign,

    & membangun sebuah prototype (yang dinamakan design prototype) Design prototype yang dibangun merupakan
  • fitur yang belum dipahami dengan jelas

  Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition Throwaway Prototyping-based Methodology Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition

Model

  Evolutionary process (pengembangan

  • bertingkat) Menggabungkan keunggulan prototyping yang
  • bersifat iteratif dan waterfall yang terkendali Memungkinkan dikembangkannya perangkat
  • lunak secara bertahap ( incremental) dan cepat yang bergerak dari versi perangkat lunak yang kurang lengkap menjadi versi yang semakin lengkap

  Model Keuntungan

  Model Spiral merupakan pendekatan yang

  • cukup realistis untuk diterapkan pada pengembangan system/perangkat lunak berskala besar

  Perangkat Lunak bergerak semakin baik saat

  • – proses bergerak maju, pengembang perangkat lunak dan pelanggan menjadi lebih memahami spesifikasi produk dan beraksi

  Model Kerugian

  Mengandalkan para expert untuk menilai

  • resiko. Jika resiko tidak tersingkap dan tidak bisa dikelola dengan baik, permasalahan-permasalahan yang buruk sangat akan mungkin terjadi

  Model

  Dua fitur pembeda model Spiral

  • dibandingkan dengan model lainnya:

  Pertama: Pendekatan siklis untuk secara

  • sedikit demi sedikit (inkremental) mengembangkan system/perangkat lunak yang semakin bertumbuh derajat definisi dan implementasinya dan bersamaan dengan itu mengurangi derajat resikonya.

  Model

  Dua fitur pembeda model Spiral

  • dibandingkan dengan model lainnya:

  Kedua: sejumlah titik dalam waktu

  • pengembangan perangkat lunak

  milestone

  ( ) yang digunakan untuk memastikan para stakeholder secara bersamaan menemukan solusi system/ perangkat lunak yang memuaskan semua

  Model

An Agile View of Process

  Dapat memberikan sistem yang sukses dengan

  • cepat dengan menekankan komunikasi yang terus menerus dan kolaborasi diantara para pengembang dan pelanggan

  Agile Development

  Menggunakan sedikit aturan yang mudah untuk

  • dipelajari dan diikuti Mengurangi banyak pemodelan dan
  • dokumentasi Menekankan kesederhanaan (simple) dan
  • pengembangan aplikasi yang iteratif (berulang) Contoh pengembangan ini:
  • Extreme Programming (XP)
    • – Scrum –

  

Extreme Programming (XP)

“Core Values” of XP

  1. Communication

  2. Simplicity

  3. Feedback

  4. Courage ( Quality First, test and efficient

  coding)

Extreme Programming (XP)

  1. User Stories about system do

  

2. Code small program using defined

standards

  3. User Feedback

  4. Repeat

  Extreme Programming (XP)

  Methodology

  1. Clarity of User Requirements (Kejelasan

  Kebutuhan Pengguna)

  

2. Familiarity with Technology (Kefamiliaran

  dengan teknologi)

  

3. System Complexity (Kompleksitas Sistem)

  4. System Reliability (Keandalan Sistem)

  5. Short Time Schedules (Jadwal Pendek)

  6. Schedule Visibility

  Methodology Kejelasan Kebutuhan Pengguna

  • RAD methodologies of prototyping

  and throwaway prototyping biasanya lebih tepat bila kebutuhan pengguna tidak jelas karena mereka memberikan prototipe bagi pengguna untuk berinteraksi di awal SDLC

  

Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition Kefamiliaran Dengan Teknologi Jika sistem ini dirancang tanpa beberapa

  • keakraban dengan basis teknologi, risiko meningkat karena alat mungkin tidak mampu melakukan apa yang dibutuhkan

  Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition

  Kompleksitas Sistem Sistem komplek membutuhkan kehati-hatian

  • dan analisa desain yang detail

  

Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition

Copyright2006©John Wiley & Sons.Inc

  Keandalan Sistem Keandalan sistem biasanya merupakan faktor

  • penting dalam pengembangan sistem. Metodologi berbasis prototipe umumnya bukan
  • pilihan yang baik karena mereka tidak memiliki fase analisis dan desain yang cermat

  Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition

Copyright2006©John Wiley & Sons.Inc

  Jadwal Waktu Pendek metodologi berbasis RAD sangat cocok untuk

  • proyek-proyek dengan jadwal waktu yang

    singkat karena mereka meningkatkan kecepatan.

    metodologi berbasis waterfall adalah pilihan
  • terburuk ketika waktu adalah penting karena mereka tidak memungkinkan untuk perubahan jadwal dengan mudah

  Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition Copyright2006©John Wiley & Sons.Inc

  Schedule Visibility Metodologi berbasis RAD bergerak banyak

  • keputusan desain kritis di awal proyek;

    akibatnya, ini membantu manajer proyek

    mengenali dan faktor risiko dan menjaga

    harapan yang tinggi.

  

Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition

Copyright2006©John Wiley & Sons.Inc Project Team Skills and Rules

  • Proyek harus terdiri dari berbagai individu terampil dalam rangka untuk sistem untuk menjadi sukses.
  • Enam keterampilan utama menetapkan seorang analis harus memiliki mencakup:
    • – Technical – Business – Analytical – Interpersonal – Management
    • – Ethical

  Project Team Roles

  Kasus - 1 PT. IndoSoftware (pihak-1) diminta membantu membuat

  • website untuk Departemen Pariwisata (pihak-2). Secara umum, pihak-2 mengetahui informasi apa saja

  yang harus ditampilkan pada website. Akan tetapi, bagaimana informasi tersebut ditampilkan, pihak-2 memerlukan bantuan dari pihak-1, termasuk didalamnya alur penyajian informasi dan bentuk serta media penyajian informasinya. Model proses apa yang paling tepat dipilih PT IndoSoftware ? Jelaskan alasan anda.

  Kasus - 1

  Pemilihan model yang tepat adalah

  • Throwaway Prototyping karena klien

  hanya tidak mengetahui bagaimana alur informasi ditampilkan, bentuk serta medianya jadi harus dibuatkan prototype- nya terlebih dahulu. Dan prototype tsb hanya sebagai desain untuk memuat apa yang belum dipahami klien.

  Kasus 2 PT Sukses Makmur sudah lama menggunakan perangkat

  • lunak yang membantu operasional perusahaan. Akan tetapi, karena perusahaan ingin berpindah dari

  platform X ke platform Y, maka perangkat lunak versi baru perlu dibangun. PT Sukses Makmur meminta bantuan PT Software Solution untuk membuat perangkat lunak yang baru. Model proses apa yang paling tepat dipilih PT. Software Solution ? Jelaskan alasan anda.

  Kasus 2

  Pemilihan model yang tepat adalah

  • Waterfall, karena perpindahan platform

  tidak mensyaratkan analisa kebutuhan baru (kebutuhan jelas sudah dipahami dengan baik) kualitas lebih diutamakan daripada jadwal

  Kasus 3 Sebuah proyek pembangunan perangkat lunak berskala

  • besar akan segera dijalankan PT SysSoftware. PT SysSoftware adalah sebuah software company skala besar, sehingga memiliki cukup banyak tenaga ahli. Perangkat lunak yang akan dibangun terdiri dari

  sembilan modul utama yang nantinya harus diintegrasikan. Sayangnya, meski perangkat lunak yang akan dibangun cukup besar, waktu yang tersedia terbatas. Model proses apa yang paling tepat dipilih PT SysSoftware ? Jelaskan alasan anda.

Kasus 3

  Pemilihan model yang tepat adalah Spiral,

  • karena projek memiliki skala besar dengan waktu terbatas namun perusahaan didukung oleh banyak tenaga ahli. Modul- modul yang sudah dipetakan dapat digunakan sebagai fokus pekerjaan yang iterative dalam mengembangkan perangkat lunak

  Kasus 4 PT WebSolution adalah perusahaan pengembang software

  • yang relatif baru berdiri. Anggota timnya pun masih

  terbatas. Meskipun terbatas, setiap anggota adalah individu yang dapat diandalkan. PT ini mempunyai fokus pada pengembangan aplikasi berbasis web. Sebagian besar proyek yang ditangani harus selesai dalam waktu singkat. Karakteristik konten aplikasi yang sering sering berubah menuntut developer ini untuk terus menerus me-maintain aplikasi yang telah dibuatnya.

  

Menurut anda, model proses apa yang paling tepat dipilih?

  Kasus 4

  Pemilihan model yang tepat adalah

  • Extreme Programming (XP) karena

  kebutuhan yang sering berubah-ubah namun waktu yang diberikan sangat terbatas. Pekerjaan tidak melibatkan banyak orang namun masing-masing memiliki skil yang baik memungkinkan pekerjaan dapat dilakukan dengan cepat ( speed-up )