• Tidak ada hasil yang ditemukan

Models of Software Evolution: Life Cycle Model. Aktivitas dalam daur hidup perangkat lunak. Aktivitas dalam daur hidup perangkat lunak

N/A
N/A
Protected

Academic year: 2022

Membagikan "Models of Software Evolution: Life Cycle Model. Aktivitas dalam daur hidup perangkat lunak. Aktivitas dalam daur hidup perangkat lunak"

Copied!
7
0
0

Teks penuh

(1)

Models of Software

Evolution: Life Cycle Model

Magister Teknologi Informasi Fakultas Ilmu Komputer

Universitas Indonesia

2

Pengantar Pengantar

n

Software Evolution: rangkaian aktivitas yang terjadi selama pengembangan, pemakaian dan pemeliharaan sistem perangkat lunak.

3

Aktivitas dalam

daur hidup perangkat lunak Aktivitas dalam

daur hidup perangkat lunak

n

System Initiation/Adoption

npengembangan sistem baru ataukah melengkapi sistem yang sudah ada.

n

Requirement Analysis and Specification

nidentifikasi masalah-masalah yang diharapkan dapat diselesaikan oleh sistem yang baru.

4

Aktivitas dalam

daur hidup perangkat lunak Aktivitas dalam

daur hidup perangkat lunak

n Functional Specification or Protoyping

n identifikasi dan formalisasi objek-objek, atributnya dan operasi-operasinya beserta batasan- batasannya.

n Partition and Selection (Build/Buy/Reuse)

n dengan hasil aktivitas sebelumnya, sistem dibagi- bagi ke dalam subsistem-subsistem. Kemudian diidentifikasi apakah harus membangun baru, membeli atau me-reuse.

5

Aktivitas dalam

daur hidup perangkat lunak Aktivitas dalam

daur hidup perangkat lunak

n

Architectural Configuration Specification

npendefinisian inter-koneksi antara modul- modul dari sistem.

n

Detailed Component Design Specification

npendefinisian layanan-layanan tingkat prosedural serta data-data yang ditransformasikan.

6

Aktivitas dalam

daur hidup perangkat lunak Aktivitas dalam

daur hidup perangkat lunak

n Component Implementation and Debugging

n implementasi spesifikasi yang telah dibuat ke program sumber yang dapat dioperasikan dan divalidasi.

n Software Integration and Testing

n pengecekan keseluruhan integritas konfigurasi arsitektur sistem perangkat lunak: verifikasi konsistensi dan kelengkapan modul, verifikasi hubungan antar sumber daya

(2)

7

Aktivitas dalam

daur hidup perangkat lunak Aktivitas dalam

daur hidup perangkat lunak

n Documentation Revision and System Delivery

n penyusunan dokumentasi dari perangkat lunak yang dibangun untuk keperluan system support.

n Training and Use

n penyusunan bantuan instruksional dan petunjuk dari kemampuan sistem dan batasan sistem untuk penggunaan sistem yang efektif.

8

Aktivitas dalam

daur hidup perangkat lunak Aktivitas dalam

daur hidup perangkat lunak

n

Software Maintenance

ndukungan terhadap pengoperasian sistem, meliputi: peningkatan fungsi, perbaikan, peningkatan unjuk kerja dan konversi.

9

Software Life Cycle Models Software Life Cycle Models

n

Build and Fix Model

n

Waterfall Model

n

Prototyping

n

Incremental Model

n

Spiral Model

10

Build and Fix Model

n

Product is constructed without

specifications or any attempt at design.

n

Developers simply build a product that is reworked as many times as necessary to satisfy the client.

n

This models may work well on short programming (100-200 LOC).

Build and Fix Model

Build first version

Modify until client is satisfied

Operations mode

Development Maintenance

Build and Fix Model

1 2 3 4 10 30

200

0 20 40 60 80 100 120 140 160 180 200

1

Planning Requirements Analysis Design Implementation Integration Maintenance Approximate relative cost to detect and correct a fault

Source: Barry Boehm, Software Engineering Economics, 1981, p.40

(3)

13

Build and Fix Model

n

Cost of this approach is far greater than the cost of a properly specified and carefully designed product.

n

Maintenance can be difficult without specification or design documents, and the chances of a regression fault occuring are considerably greater.

14

Waterfall Model Waterfall Model

System Engineering

Analysis Design

Code

Testing

Maintenance

15

Waterfall Model Waterfall Model

n

Titik awal dan titik akhir yang eksplisit.

n

Setiap tahapan didefinisikan dengan jelas.

n

System Engineering

nPengumpulan kebutuhan seluruh elemen sistem.

16

Waterfall Model Waterfall Model

Software Software Hardware Hardware

People People Database

Database Documents Documents

Procedures Procedures

System System

17

Waterfall Model Waterfall Model

n

Sofware Requirements Analysis

npengumpulan kebutuhan dengan berfokus pada perangkat lunak.

nmeliputi:

ndomain informasi

nfungsi

nunjuk kerja

nantar muka

18

Waterfall Model Waterfall Model

n

Design

nperancangan stuktur data

narsitektur perangkat lunak

nrincian prosedural

nkarakteristik antar muka

n

Coding

npenerjemahan perancangan ke bentuk yang dapat dimengerti oleh mesin.

(4)

19

Waterfall Model Waterfall Model

n

Testing

npengujian lojikal

npengujian fungsional

nmenemukan kesalahan dan memastikan suatu masukan akan diproses menjadi keluaran yang sesuai dengan yang diinginkan.

20

Waterfall Model Waterfall Model

n

Maintenance

nbagian terujung dari siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan.

nKegiatan:

nCorrective Maintenance

nmengkoreksi kesalahan pada perangkat lunak, yang baru terdeteksi pada saat perangkat lunak dipergunakan.

21

Waterfall Model Waterfall Model

n Adaptive Maintenance

npenyesuaian dengan lingkungan baru, misalnya sistem operasi.

nsebagai tuntutan atas perkembangan teknologi sis-tem komputer, misalnya penambahan printer driver.

n Perfective Maintenance

nbila perangkat lunak sukses dipergunakan serta memuaskan pemakai. Pemeliharaan ditujukan untuk menambah kemampuannya seperti memberikan fungsi- fungsi tambahan, peningkatan kinerja dsb.

22

Waterfall Model Waterfall Model

nPreventive Maintenance

nditurunkan dari konsep pemeliharaan perangkat keras. Perubahan perangkat lunak dilakukan dengan tujuan:

nPerangkat lunak lebih mudah dipelihara

nkehandalan perangkat lunak meningkat

n

Kelebihan

nLebih disiplin

nDorongan bahwa dokumentasi selalu tersedia untuk tiap tahapan (documentation driven).

nDorongan bahwa setiap produk yang dihasilkan selalu dicek

Waterfall Model Waterfall Model

n

Kekurangan

nPengguna hanya mendapatkan deskripsi yang panjang, rinci, dan

‘agak membosankan’

untuk dibaca.

nPengguna baru melihat produk setelah selesai diprogram.

Saya tahu ini yang saya minta, tapi bukan ini yang sebenarnya saya inginkan.

Waterfall Model

Waterfall Model

(5)

25

Prototyping Prototyping

Pengembang Pengembang

Pemakai Pemakai

26

Prototyping Prototyping

n

Teknik untuk membangun versi sistem yang dikurangi fungsionalitasnya sebelum

pengembangan yang sebenarnya.

27 n

Bisa saja hanya data capture dan cetak

report, tanpa file updating, error handling, validasi.

n

Mempercepat tahap perancangan.

Prototyping Prototyping

28 n Pengembang bekerja sama dengan calon

pemakai dalam mengevaluasi prototype.

n Sebutan lain: Rapid Prototyping

n Prototyping dimungkinkan karena terse- dianya teknologi pengembangan perangkat lunak baru. Contoh: software prototyping languages dan environment-nya, reusable software dan application generator.

Prototyping Prototyping

29

Prototyping Prototyping

Requirements Requirements gathering gathering and refinement and refinement

Quick Quick Design Design

Building Building Prototype Prototype Customer

Customer Evaluation of Evaluation of prorotype prorotype Refining

Refining Prototype Prototype Engineer Engineer Product Product

30

Prototyping Prototyping

nPrototype bukan produk akhir, prototype hanyalah model.

nSistem yang lengkap dapat dibangun dengan teknik:

nevaluasi/pengembangan

nbuang dan buat baru, hanya demo

nreuse sebagian/semuanya dari sistem perangkat lunak yang sudah ada.

(6)

31 n

Kekurangan

nPengguna sering menganggap prototype adalah produk akhir.

nAnggapan di sisi user bahwa perubahan dapat dilakukan dengan mudah dan secepat prototype.

nUser minta lebih banyak setelah melihat prototype.

Prototyping Prototyping

32

Joint Application Design (JAD)

n Dalam penerapan model prototyping, peran user sangat diharapkan dalam memberikan feedback.

n Oleh karenanya, penerapan JAD dimana pengembang dan user

bekerja bersama dalam satu tim akan sangat mendukung penerapan prototyping.

33

Prototyping: Teknik Reusability Prototyping: Teknik Reusability

n mengkonfigurasikan dan mengkhususkan komponen perangkat lunak yang sudah ada ke sistem aplikasi yang akan dibangun.

n cocok untuk pendekatan object-oriented.

n Contoh populer: sistem pengaturan interaksi, penggunaan kepustakaan yang sudah ada.

34 define

define objects objects

browse browse library library

build build custom custom classes classes assemble assemble prototype prototype review

review result result refine

refine requirements requirements refine refine objects objects requirements requirements

class class library library

Prototyping: Teknik Reusability Prototyping: Teknik Reusability

Prototyping:

Application Generation Prototyping:

Application Generation

n Sangat berguna dalam rangka mempercepat pembuatan prototype.

n Sangat populer untuk aplikasi basis data.

n Contoh:

n sistem interaksi untuk aplikasi basis data

n report generator

n menu generator

n screen generator

Incremental Model

n Produk dirancang, diprogram, diintegrasikan, dan diuji sebagai serangkaian serial produk yang incremental.

n Setiap produk terdiri dari program dari berbagai modul yang saling berinteraksi untuk menyediakan sebuah kemampuan fungsional yang spesifik.

n Satu atau beberapa fungsi khusus ditambahkan pada setiap release.

(7)

37 n Sistem dikembangkan dengan memberikan

fungsi-fungsi dasar terlebih dahulu dan memberikan sistem yang lebih dikembangkan dalam jadwal yang teratur.

n Model ini cukup populer karena termasuk dapat mengakomodir pemeliharaan sistem.

Setiap release dapat merupakan periodisasi pemeliharaan sistem.

n Sebutan lain: Incremental Release.

Incremental Model

38 n

Jika produk dibuat dalam release yang

hanya sedikit maka tidak ada bedanya dengan build and fix model.

n

Namun jika terlalu sering, akan terlalu banyak waktu dihabiskan untuk melakukan integration testing.

Incremental Model

39

Incremental Model

n Incremental selalu menghasilkan produk operasional pada setiap release namun hanya memenuhi sebagian kebutuhan pengguna.

Model ini dapat memberikan produk operasional hanya dalam beberapa minggu dibandingkan model waterfall atau prototyping.

n Perkenalan kepada produk baru yang

berlangsung secara bertahap dapat mengurangi

‘dampak trauma’ dari implementasi produk baru secara keseluruhan.

40

Incremental Model

n

Release yang bertahap tidak

membutuhkan biaya yang sangat besar pada satu saat. Cash flow dapat lebih diatur dan klien dapat menghentikan pengembangan setiap saat.

n

Setiap release yang dibuat harus dapat bekerja sama dan tidak merusak release sebelumnya.

41

Spiral Model Spiral Model

n

Membagi proses menjadi 4 kuadran

nplanning

nrisk analysis

nengineering

ncustomer evaluation

n

Memperhatikan formal risk analysis

n

Hanya cocok untuk software berskala besar.

42

Spiral Model Spiral Model

Risk analysis Risk analysis Planning

Planning

Customer Customer Evaluation

Evaluation EngineeringEngineering

risk analysis based on risk analysis based on initial requirements initial requirements

risk analysis based on risk analysis based on customer reaction customer reaction

go, no go decision go, no go decision

toward a completed toward a completed system system initial software prototype initial software prototype next level prototype next level prototype engineered system engineered system customer

customer evaluates evaluates initial requirements initial requirements gathering and gathering and project planning project planning

Referensi

Dokumen terkait

Dalam pengembangan perangkat lunak terdapat beberapa metode yang banyak digunakan Paper ini akan menjelaskan tentang penjaminan kualitas pengembangan perangkat

Dalam menyelesaikan Tugas Akhir ini penulis banyak mengalami kesulitan namun berkat bimbingan, dorongan, dan bantuan dari rekan-rekan mahasiswa-mahasiswi Program Studi D3

Berdasarkan pada penelitian yang telah dilakukan, dapat disimpulkan bahwa: (1) Latihan jalan tandem dapat meningkatkan keseimbangan pada lansia, (2) Latihan balance

Terkait dengan pengelolaan air limbah tersebut di wilayah Kabupaten Kaur, diperlukan beberapa bentuk pengelolaan yang dimanivestasikan dalam bentuk kegiatan

bait ke-1 dan bait ke-2 serta dapat memimpin lagu Indonesia Raya didepan pasukannya dengan benar dan dapat menyanyikan 3 lagu wajib serta 2 macam lagu daerah tempat

Memberikan pengetahuan dan pemahaman kepada mahasiswa tentang konsep-konsep rekayasa perangkat lunak (PL) yang dapat diaplikasikan dalam daur hidup pengembangan perangkat

Melakukan revisi terhadap produk akhir (revisi produk menyenangkan. Tujuan yang ingin dicapai melalui penelitian pengembangan ini adalah untuk menghasilkan

kunjungan); diagnosis utama (DM Tipe 2 atau hipertensi); terapi penggunaan obat yang sedang digunakan (golongan dan jenis obat, serta harga obat); data laboratorium yang