• Tidak ada hasil yang ditemukan

Proses-proses Perangkat Lunak. Software Processes

N/A
N/A
Protected

Academic year: 2021

Membagikan "Proses-proses Perangkat Lunak. Software Processes"

Copied!
54
0
0

Teks penuh

(1)

Software Processes

Proses-proses Perangkat Lunak

(2)

Topik

Proses Perangkat Lunak

Aktivitas Fundamental di dalam RPL

Deskripsi Proses Perangkat Lunak

(3)

Proses Perangkat Lunak

Proses perangkat lunak (software process) adalah sekumpulan aktivitas yang saling berkaitan di dalam sebuah produksi perangkat lunak.

Aktivitas-aktivitas bisa berbentuk pengembangan perangkat lunak, memodifikasi sistem yang ada, atau menggabungkan beberapa komponen-

komponen.

(4)

Aktivitas Fundamental dalam RPL

Terdapat empat aktivitas fundamental dalam RPL

Spesifikasi Perangkat Lunak

Perancangan dan Implementasi Perangkat Lunak

Validasi Perangkat Lunak

Evolusi Perangkat Lunak

Setiap aktivitas bisa terdiri dari sub-aktivitas

lainnya.

(5)

Spesifikasi Perangkat Lunak

Mendefinisikan fungsi-fungsi dan batasan-batasan perangkat lunak yang akan dibangun.

Fungsionalitas dan batasan dibuat berdasarkan

kebutuhan pengguna PL.

(6)

Perancangan dan Implementasi PL

Pembangunan perangkat lunak sesuai dengan

spesifikasi yang telah didefinisikan.

(7)

Validasi Perangkat Lunak

Melakukan validasi perangkat lunak yang telah terbangun berdasarkan spesifikasi.

Memastikan perangkat lunak sesuai dengan

kebutuhan pengguna.

(8)

Evolusi Perangkat Lunak

Mengakomodasi perubahan-perubahan sesuai

dengan kebutuhan pengguna PL.

(9)

Deskripsi Proses Perangkat Lunak

Setiap proses dapat memiliki deskripsi yang terdiri dari:

Produk (products): keluaran dari sebuah proses, sebagai contoh: model arsitektur PL merupakan keluaran dari aktivitas perancangan PL.

Peranan (roles): Setiap orang yang terlibat didalam proses memiliki peranan yang spesifik, sebagai

contoh: manajer proyek, programmer, tester, dll.

Pre-conditions dan post-conditions: merupakan

kondisi-kondisi yang harus terpenuhi sebelum dan

(10)

Plan-driven dan Agile Processes

Plan-driven: Aktivitas-aktivitas proses

direncanakan diawal dan kemajuan dihitung berdasarkan perencanaan tersebut.

Agile: Perencanaan dilakukan secara bertahap

(incremental) dan proses berubah sesuai dengan

kebutuhan pengguna PL yang selalu berubah.

(11)

Software Process Models

Model-model Proses PL

(12)

Topik

Model-model Proses Perangkat Lunak

Model Waterfall

Incremental development

Reuse-oriented software engineering

(13)

Model Proses Perangkat Lunak

Model proses PL adalah representasi dari sebuah proses perangkat lunak.

Setiap model proses merepresentasikan sebuah proses PL dari sudut pandang tertentu.

Setiap model proses hanya merepresentasikan

sebagian informasi dari keadaan sebenarnya

(parsial).

(14)

Model-model Proses PL

Model Waterfall

Termasuk proses plan-driven. Setiap aktivitas dilakukan secara berurutan.

Incremental development

Spesifikasi, pengembangan, dan validasi dilakukan secara berselang-seling. Proses bisa termasuk plan- driven atau agile.

Reuse-oriented software engineering

Menggabungkan komponen-komponen reusable yang

sudah ada ketika membangun PL.

(15)

Model Proses PL dalam Dunia Nyata

Model-model proses tidak digunakan secara terpisah dan eksklusif.

Model-model proses dapat saling dikombinasikan sesuai dengan kebutuhan PL.

Dalam satu pembangunan sistem, berbagai model

proses dapat dikombinasikan.

(16)

Model Waterfall

Model Waterfall terdiri dari beberapa fase, yaitu:

Analisa dan definisi kebutuhan (Requirement analysis and definition)

Desain sistem dan perangkat lunak (System and software design)

Implementasi dan unit testing (Implementation and unit testing)

Uji coba sistem dan uji coba terintegrasi (Integration and system testing)

Pengoperasian dan perawatan (Operation and

maintenance)

(17)

Ilustrasi Model Waterfall

Requirements Definition

System and Software Design

Implementation and Unit Testing

Integration and System Testing

(18)

Kelemahan Model Waterfall

Setiap fase dilakukan jika fase sebelumnya sudah selesai.

Sehingga model ini sulit mengakomodasi perubahan kebutuhan pengguna PL.

Spesifikasi kebutuhan PL harus sudah lengkap dan terdefinisi di fase awal.

Sangat sedikit sistem-sistem yang spesifikasi kebutuhannya sudah jelas di fase awal.

Terkadang di fase implementasi, programmer

menemukan desain yang tidak sesuai akan tetapi

tidak bisa kembali ke fase desain.

(19)

Penggunaan Model Waterfall

Model ini cocok untuk sistem yang spesifikasi kebutuhannya sudah jelas dan tidak memiliki banyak perubahan.

Model ini juga banyak digunakan pada sistem-

sistem besar yang dikerjakan secara terpisah di

banyak tempat.

(20)

Incremental Development

Pada model ini PL dibangun dalam versi-versi kecil.

Setiap versi terdiri dari aktivitas spesifikasi, pengembangan, dan validasi.

Model ini diawali dengan implementasi versi awal yang berisi implementasi kebutuhan minimum.

Pengguna melihat versi awal dan memberikan umpan balik.

Umpan balik tersebut digunakan untuk implementasi versi selanjutnya.

Aktivitas-aktivitas ini dilakukan sampai mencapai

versi final.

(21)

Ilustrasi Incremental Development

Specification

Development Outline

Description

Initial Version

Initial Version Intermediate

Versions Concurrent Activities

(22)

Keuntungan dari Incremental Dev.

Biaya untuk mengakomodasi perubahan kebutuhan dari pengguna PL bisa ditekan.

Lebih mudah untuk mendapatkan umpan balik dari hasil implementasi.

Pengguna PL dapat memberikan komentar dan umpan balik berdasarkan hasil implementasi.

Pengguna lebih sering menerima dan melihat PL

yang sedang dikembangkan.

(23)

Kelemahan Incremental Dev.

Kemajuan tidak tampak dari proses.

Karena tidak ada dokumentasi yang merepresentasikan setiap versi.

Membuat dokumentasi untuk setiap versi tidak efisien dalam biaya.

Kualitas struktur sistem menurun seiring dengan peningkatan versi.

Perubahan-perubahan membuat kualitas struktur

sistem menurun. Oleh karena itu perlu investasi

(24)

Reuse-oriented Software Engineering

Sistem dibangun memanfaatkan komponen-

komponen yang sudah ada (COTS: Commercial-off- the shelf systems).

Terdiri dari beberapa tahapan:

Analisa komponen (Component analysis)

Modifikasi kebutuhan (Requirement modification)

Desain sistem dengan penggunaan kembali (System design with reuse)

Pengembangan dan integrasi (Development and

integration)

(25)

Ilustrasi Reuse-oriented SE

Requirements

specification Component

Analysis Requirement

modification System design with reuse

Development

and integration System

validation

(26)

Tipe Komponen Perangkat Lunak

Tipe-tipe komponen yang dapat digunakan, yaitu:

Web services.

Sekumpulan obyek-obyek (Collections of objects) yang terintegrasi dalam sebuah component

framework sebagai contoh: .NET atau J2EE.

Perangkat lunak yang didesain untuk kondisi khusus

(stand-alone software systems).

(27)

Keuntungan Reuse-oriented SE

Meminimalisir besar PL yang harus dibangun.

Meminimalisir biaya dan resiko.

Waktu pengembangan yang lebih cepat.

Waktu delivery PL yang lebih singkat.

(28)

Kelemahan Reuse-oriented SE

Spesifikasi kebutuhan pengguna terkadang harus dikorbankan untuk dapat menyesuaikan dengan spesifikasi komponen PL yang ada.

Akibatnya, sistem yang dibangun mungkin tidak

sesuai dengan keinginan pengguna PL.

(29)

Process Activities

Aktivitas Proses

(30)

Topik

Aktivitas di dalam Proses PL

Spesifikasi

Pengembangan

Validasi

Evolusi

(31)

Aktivitas di dalam Proses PL

Terdapat empat aktivitas fundamental didalam proses PL, yaitu:

Spesifikasi (specification)

Pengembangan (development)

Validasi (validation)

Evolusi (evolution)

Aktivitas-aktivitas tersebut dilakukan dalam urutan yang berbeda sesuai dengan model proses yang

diadaptasi.

Pada model waterfall, aktivitas-aktivitas dilakukan secara berurutan.

(32)

Spesifikasi PL

Spesifikasi PL adalah proses memahami dan

mendefinisikan layanan yang harus disediakan oleh sistem dan batasan yang dimiliki oleh sistem.

Proses dalam rekayasa kebutuhan

Feasibility study

Apakah sistem ini memungkinkan untuk dibangun baik secara teknis maupun finansial?

Requirements elicitation and analysis

Apa yang dibutuhkan oleh pengguna dari sistem?

Requirements specification

Mendefinisikan kebutuhan secara detil

Requirements validation

Memeriksa keabsahan dari definisi kebutuhan

(33)

Proses dalam Rekayasa Kebutuhan

Feasibility study

Requirement elicitation and

analysis

Requirement specification

Requirement validation Feasibility

report System

models

User and system requirements

(34)

Perancangan dan Implementasi PL

Sebuah proses yang mewujudkan spesifikasi PL menjadi sistem yang berjalan.

Perancangan PL

Merancang struktur PL yang merupakan realisasi dari spesifikasi PL.

Implementasi PL

Menerjemahkan struktur PL menjadi sistem yang

berjalan.

(35)

Proses Perancangan

Platform information

Requirement specification

Data description

Architectural design

Interface design

Component design Database design

Design inputs

Design activities

Design outputs

(36)

Aktivitas Perancangan

Desain arsitektur (architectural design),

mengidentifikasi struktur sistem secara keseluruhan, komponen-komponen utama, dan relasi antar

komponen.

Desain antarmuka (interface design), mendefinisikan antarmuka komponen-komponen dalam sistem.

Desain komponen (component design), merancang bagaimana tiap komponen bekerja.

Desain basisdata (database design), merancang struktur

basisdata yang sesuai dengan kebutuhan sistem.

(37)

Validasi PL

Verifikasi dan validasi ditujukan untuk memeriksa bahwa sistem telah sesuai dengan spesifikasi dan memenuhi kebutuhan dari pengguna PL.

Uji coba termasuk bagian dari verifikasi dan

validasi PL.

(38)

Tahapan Uji Coba (2)

Component

testing System testing Acceptance

Testing

(39)

Tahapan Uji Coba (2)

Uji coba komponen (component testing)

Tiap komponen diuji coba secara independen (terisolasi).

Komponen ini dapat berupa fungsi, obyek, atau sekumpulan fungsi-fungsi dan obyek.

Uji coba sistem (system testing)

Melakukan uji coba sistem secara keseluruhan (integrasi antar komponen-komponen).

Uji coba penerimaan (acceptance testing)

Melakukan uji coba dengan menggunakan data dari

(40)

Tahapan Uji Coba dalam proses Plan- driven

Acceptance test plan

System integration test

plan

Sub-system integration test

plan Requirement

specification

System specification

System design

Module and unit code

and test Detailed

design

Service Acceptance

test

System integration

test

Sub-system integration

test

(41)

Evolusi PL

Perangkat lunak bisa berubah dan fleksibel.

Perangkat lunak harus dapat berubah sesuai

dengan perubahan kebutuhan yang disesuaikan

dengan perubahan situasi bisnis.

(42)

Evolusi Sistem

Existing

systems New system

Define system requirements

Assess existing systems

Propose system changes

Modify systems

(43)

Penanganan Perubahan

(44)

Topik

Perubahan di dalam Perangkat Lunak

Prototipe Perangkat Lunak

Incremental Delivery

(45)

Perubahan di dalam PL

Perubahan tidak bisa dihindari pada proyek PL besar.

Perubahan tuntutan bisnis memicu perubahan kebutuhan sistem.

Teknologi baru yang memberikan peluang untuk meningkatkan sistem yang sudah ada.

Perubahan platform yang menyebabkan perubahan pada aplikasi.

Perubahan menimbulkan biaya lebih, termasuk

(46)

Mengurangi Biaya

Menghindari perubahan, terdapat aktivitas didalam model proses yang dapat mengantisipasi

perubahan.

Sebuah prototipe sistem dapat menunjukan fitur-fitur utama kepada pengguna PL.

Tolerasi terhadap perubahan, model proses

dirancang sehingga perubahan dapat diakomodasi dengan biaya yang relatif rendah.

Model proses incremental dapat mengakomodasi

perubahan di versi selanjutnya.

(47)

Prototipe Perangkat Lunak

Prototipe adalah versi awal dari sebuah sistem yang digunakan untuk menunjukkan konsep dan

mencoba beberapa opsi desain.

Prototipe dapat digunakan di:

Proses rekayasa kebutuhan

Proses perancangan

Proses uji coba

(48)

Keuntungan Prototipe

Peningkatan kegunaan sistem

Hasil mendekati dengan kebutuhan nyata dari pengguna PL

Peningkatan kualitas desain

Peningkatan keterawatan

Meminimalisir upaya pengembangan.

(49)

Proses Pengembangan Prototipe

Establish prototype objectives

Prototyping plan

Define prototype functionality

Outline definition

Develop prototype

Executable prototype

Evaluate prototype

Evaluation report

(50)

Incremental Delivery

Memecah fungsi-fungsi yang dibutuhkan kedalam beberapa tahap daripada menyelesaikan sistem besar sekaligus dalam satu tahap.

Memberi skala prioritas terhadap kebutuhan

pengguna. Kebutuhan dengan prioritas tinggi

diutamakan di tahap-tahap awal.

(51)

Incremental Delivery

(52)

Keuntungan Incremental Delivery

Fungsionalitas PL dapat disampaikan kepada pengguna PL lebih awal.

Prototipe pada tahap awal berguna untuk

menjaring kebutuhan untuk tahap selanjutnya.

Resiko yang lebih rendah terhadap kegagalan

proyek.

(53)

Kelemahan Incremental Delivery

Kebanyakan sistem membutuhkan infrastruktur dasar yang digunakan oleh bagian-bagian dari sistem.

Sulit untuk mengidentifikasi infrastruktur tsb ketika kebutuhan tidak terdefinisi dengan detil ditahap awal.

Pada proses iteratif, spesifikasi dikerjakan berbarengan dengan pembangunan PL.

Di banyak organisasi, spesifikasi sistem yang lengkap

merupakan bagian dari kontrak. Sehingga proses ini

(54)

Referensi

Sommerville, I., Software Engineering 8th edition,

Addison-Wesley, 2007

Gambar

Ilustrasi Model Waterfall Requirements  Definition System and  Software Design Implementation  and Unit Testing
Ilustrasi Incremental Development Specification DevelopmentOutline  Description Initial VersionInitial VersionIntermediate VersionsConcurrent Activities
Ilustrasi Reuse-oriented SE

Referensi

Dokumen terkait

Jika reaksi yang terjadi sangat eksotermis pada konversi yang masih kecil suhu gas sudah naik sampai lebih tinggi dari suhu maksimum yang diperbolehkan untuk katalisator, maka gas

Hasil penelitian Wendy (2012) dalam Asri (2013) menemukan bahwa perilaku overconfidende juga dikenal dengan sebutan overcofidence bias, prediction overconfidence

Pengelola Standar Nasional Satuan Ukuran (SNSU) atau National Metrology Institute (NMI), berkewajiban menyediakan sumber ketertelusuran setiap besaran ukur ukuran)

Permasalahan yang akan diteliti: “Apakah Layanan Konseling Kelompok dengan Teknik Asertif dapat Mereduksi Intensi Tawuran pada siswa Kelas XI Multimedia SMK Taman Siswa Kudus Tahun

Bagaimana kode yang tersusun dalam sebuah untaian molekul DNA yang terdiri dari asam phosphat, gula deoksiribosa dan basa nitrogen. Asam fosfat dan gula deoksiribosa selalu

Ada beberapa manfaat lagu yang bisa diketahui, antara lain: (dikutip dari http://www.psikologizo- ne.com/lagu-anak-download-lagu- anak-mp). Dengan me- lakukan kegiatan

Yang menjadi permasalahan pokok dalam skripsi ini adalah bagaimana proses terjadinya deviasi seks dapat menjadi suatu kejahatan, bagaimana bentuk-bentuk deviasi seks dalam

Tujuan penelitian ini adalah untuk mengetahui apakah tingkat bagi hasil pembiayaan mudharabah dan pendapatan margin murabahah berpengaruh terhadap return on