4 BAB II KONSEP PEMBANGUNAN SISTEM DARI PERSPEKTIF SOFTWARE ENGINEERING 2.1 Pengantar Untuk membangun sistem yang handal (reliable) dihadapkan pada kondisi terkini, setiap software engineer harus memahami dan mengikuti tahapan-tahapan yang telah ditetapkan di dalam software engineering sebagaimana definisi yang dikeluarkan oleh IEEE Standard 610.12. Software engineering is "(1) the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software," and "(2) the study of approaches as in (1)." Oleh karena itu dalam pembangunan sistem, setiap software engineer harus memilih model proses yang paling tepat sehingga dia mendapatkan kemudahan dalam mengelola dan mengendalikan proses pembangunannya tahap demi tahap. Walaupun pada dasarnya pembangunan sistem adalah pekerjaan tim, namun setiap anggota tim juga harus paham bagaimana proses pembangunan sistem tersebut berjalan sehingga ia dapat menempatkan posisinya sesuai dengan tahapan yang sedang berjalan. 2.2 Model Proses Model proses disebut juga dengan aliran kerja (workflow), yakni tata cara bagaimana elemen-elemen proses berhubungan satu dengan lainnya. Aliran kerja ini dapat juga
16
Embed
BAB II KONSEP PEMBANGUNAN SISTEM DARI …arwins2.tripod.com/ec6002_files/publikasi/chp2-concept.pdf · 4 BAB II KONSEP PEMBANGUNAN SISTEM DARI PERSPEKTIF SOFTWARE ENGINEERING 2.1
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
4
BAB II
KONSEP PEMBANGUNAN SISTEM DARI PERSPEKTIF
SOFTWARE ENGINEERING
2.1 Pengantar
Untuk membangun sistem yang handal (reliable) dihadapkan pada kondisi terkini, setiap
software engineer harus memahami dan mengikuti tahapan-tahapan yang telah
ditetapkan di dalam software engineering sebagaimana definisi yang dikeluarkan oleh
IEEE Standard 610.12.
Software engineering is "(1) the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software," and "(2) the study of approaches as in (1)."
Oleh karena itu dalam pembangunan sistem, setiap software engineer harus memilih
model proses yang paling tepat sehingga dia mendapatkan kemudahan dalam mengelola
dan mengendalikan proses pembangunannya tahap demi tahap. Walaupun pada
dasarnya pembangunan sistem adalah pekerjaan tim, namun setiap anggota tim juga
harus paham bagaimana proses pembangunan sistem tersebut berjalan sehingga ia dapat
menempatkan posisinya sesuai dengan tahapan yang sedang berjalan.
2.2 Model Proses
Model proses disebut juga dengan aliran kerja (workflow), yakni tata cara bagaimana
elemen-elemen proses berhubungan satu dengan lainnya. Aliran kerja ini dapat juga
5
disebut dengan siklus hidup (life-cycle) sistem yang dimulai dari sejak sistem diajukan
untuk dibangun hingga saat ia ditarik dari peredaran. Dalam perspektif software
engineering terdapat beberapa model proses yang dapat diadopsi dalam pembangunan
suatu sistem. Model-model tersebut adalah :
(1) Model Waterfall. Ini adalah model proses yang paling umum digunakan
sehingga sering disebut dengan classic life-cycle. Ia menyarankan
pendekatan sekuensial sistematis pembangunan software yang dimulai dari
penspesifikasian persyaratan-persyaratan (requirement) oleh pengguna yang
berlanjut melalui proses perencanaan, pemodelan, konstruksi dan
penggelaran serta dukungan berlanjut setelah software telah lengkap sesuai
dengan yang dipersyaratkan di awal pembangunannya. Nama setiap tahap
dalam model waterfall dapat berbeda pada referensi yang berbeda, namun
pada dasarnya esensinya tetap sama yakni urutan yang sekuensial dan
sistematis dalam proses pembangunan sistem sebagaimana ditunjukkan pada
Gambar 2.1 dan Gambar 2.2.
Gambar 2.1. Model proses waterfall[2].
(2) Model Incremental. Model ini mengkombinasikan elemen-elemen model
proses waterfall yang diaplikasikan secara iteratif. Ia mengaplikasikan
urutan-urutan linier secara bertingkat selaras dengan berjalannya waktu.
Setiap urutan linier menghasilkan penambahan (increment) pada software
6
yang dikirimkan. Proses model ini menfokuskan pada pengiriman produk
operasional pada setiap penambahannya. Produk awal adalah versi rendah
dari produk akhir namun telah mampu mengakomodir kebutuhan pengguna.
Model proses ini ditampilkan pada Gambar 2.3.
Gambar 2.2. Model proses waterfall[4].
(3) Model RAD. Proses model yang ditampilkan pada Gambar 2.4. ini
memberikan penekanan pada siklus pembangunan pendek disebut dengan
Rapid Application Development (RAD). Model RAD adalah adaptasi versi
“kecepatan-tinggi” model waterfall dimana pembangunan cepat dicapai
dengan menggunakan pendekatan konstruksi berbasis komponen. Jika
persyaratan-persyaratan sistem dipahami dengan baik dan lingkup proyek
dibatasi, proses RAD memudahkan tim pembangun sistem untuk membuat
sistem yang berfungsi penuh dalam rentang waktu yang sangat singkat.
7
Gambar 2.3. Model proses incremental[2].
Gambar 2.3. Model proses RAD[2].
8
(4) Model Evolutionary Process. Model proses ini memberikan pendekatan
pembangunan software dari perspektif alami yakni melalui evolusi seiring
dengan berjalannya waktu. Hal ini didasari pada fakta bahwa kadang pada
proses pembangunan software, persyaratan-persyaratan berubah sehingga
batas waktu tidak dapat dicapai. Oleh karena itu, para software engineer
memerlukan suatu life-cycle yang berkembang (evolve) seiring dengan
berjalannya waktu. Proses model evolutionary bersifat iteratif sehingga
software engineer mempunyai kesempatan untuk menghasilkan software
yang lebih lengkap. Pendekatan yang dilakukan adalah dengan
mengaplikasikan paradigma prototyping.
Gambar 2.5. Model proses evolutionary dengan paradigma prototyping[2].
(5) Model Spiral. Model ini diajukan oleh Boehm yang mendeskripsikan suatu
model proses pembangunan software secara evolusi yang menggabungkan
sifat iteratif prototyping dengan aspek-aspek terkendali dan sistematik dari
9
model waterfall. Dengan menggunakan model spiral ini, software dibangun
dalam serangkaian pelepasan evolusi. Pada iterasi awal, software yang
dilepas ke pengguna mungkin berupa prototype. Pada iterasi berikutnya,
versi terekayasa yang lebih lengkap diproduksi.
Gambar 2.6. Model proses spiral[2].
(6) Model Concurrent Development. Model proses ini dapat direpresentasikan
secara skematis sebagai serangkaian aktivitas-aktivitas kerangka kerja,
tindakan-tindakan dan tugas-tugas software engineering, dan keadaan-
keadaan yang berkaitan dengannya. Model ini disebut juga dengan
concurrent engineering dan aplikatif pada semua jenis pembangunan
software dan memberikan gambaran yang akurat dari keadaan yang sedang
berlaku dalam proyek. Model proses ini dipresentasikan pada Gambar 2.7.
(7) Model Cleanroom Process. Filosofi proses model ini adalah cost dan time-
effective untuk membentuk suatu pendekatan fabrikasi yang menghindarkan