4 BAB II KONSEP PEMBANGUNAN SISTEM DARI PERSPEKTIF

advertisement
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
4
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
5
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.
6
Gambar 2.3. Model proses incremental[2].
Gambar 2.3. Model proses RAD[2].
7
(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
8
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 keadaankeadaan 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 timeeffective untuk membentuk suatu pendekatan fabrikasi yang menghindarkan
kerusakan-kerusakan produk. Pendekatan cleanroom membutuhkan disiplin
untuk menghilangkan kesalahan dalam penspesifikasian, perancangan dan
9
fabrikasi produk secara “bersih”. Proses model ini adalah salah satu variasi
dari model proses Formal Methods yang berbasiskan pada persamaanpersamaan matematika. Untuk lebih jelasnya, model proses ini ditampilkan
pada Gambar 2.8.
Gambar 2.7. Model proses concurrent engineering[2].
10
Gambar 2.8. Model proses cleanroom engineering[2].
2.3
Model Proses Implementasi DSS
Untuk mengimplementasikan sistem DSS yang dirancang ditinjau dari perspektif
software engineering, digunakan life-cycle model Waterfall dengan mengadopsi model
proses yang dikeluarkan oleh US Department of Defense standard, DoD2167A –
Military Standard, Defense System Software Development. Model proses ini dapat
dilihat pada Gambar 2.9.
11
Gambar 2.9. Model proses versi DoD-2167A[3],[5].
12
2.4
Kegiatan-kegiatan Software Engineering
Di dalam perancangan dan implementasi software, organisasi software komputer
terdiri dari Computer Software Configuration Item (CSCI) yang terdiri dari
Computer Software Component (CSC) dan Computer Software Unit (CSU)
sebagaimana didokumentasikan di dalam Software Development Plan (SDP).
Pembangunan CSCI, CSC dan CSU didokumentasikan di dalam Software
Development Files (SDF) yang berisi :
(1)
Pertimbangan dan hambatan perancangan.
(2)
Dokumentasi dan data perancangan.
(3)
Informasi jadwal dan status.
(4)
Persyaratan dan pertanggung jawaban uji.
(5)
Prosedur-prosedur, kasus-kasus dan hasil-hasil uji.
Standar di atas digunakan agar proses pembangunan software dapat dikelola
mengikuti jadwal kontrak yang telah ditetapkan di dalam SDP.
Proses
pembangunan software harus melalui aktivitas-aktivitas besar sebagai berikut :
2.4.1
Requirement Phase
Melaksanakan
aktivitas-aktivitas pengumpulan
informasi
dan
data
tentang
requirement system secara fungsional dan non-fungsional.
2.4.2
Analysis (Specification) Phase
Melaksanakan aktivitas-aktivitas System/Software Requirements Analysis.
(1)
System Requirements Analysis/Design. Melaksanakan kegiatan-kegiatan
engineering pendahuluan untuk setiap CSCI.
13
(2)
Software Requirement Analysis.
Melaksanakan kegiatan-kegiatan
engineering lengkap untuk setiap CSCI.
2.4.3
Design Phase
Melaksanakan aktivitas-aktivitas :
(1)
Preliminary Design. Melaksanakan kegiatan perancangan pendahuluan
untuk setiap CSCI agar mengalokasikan kebutuhan-kebutuhan yang
didefinisikan di dalam SRS dan IRS yang berkaitan CSC dari setiap
CSCI.
(2)
Detailed Design. Melaksanakan kegiatan perancangan detil untuk setiap
CSCI agar mengalokasikan kebutuhan-kebutuhan yang didefinisikan di
dalam SRS dan IRS yang berkaitan CSC dari setiap CSCI.
2.4.4
Implementation Phase
2.4.4.1 Coding and CSU Testing
Di sini dilaksanakan kegiatan-kegiatan :
(1)
Pengkodean CSU.
(2)
Pengujian setiap CSU untuk meyakinkan bahwa algoritma dan logika
yang digunakan pada setiap CSU benar dan telah memenuhi spesifikasi
yang telah ditetapkan.
(3)
Pembuatan prosedur yang akan dilaksanakan untuk menguji operasional
setiap CSU.
(4)
Melakukan revisi terhadap dokumentasi perancangan dan kode
sebagaimana mestinya.
(5)
Mendokumentasikan prosedur yang telah dilaksanakan ke dalam SDF.
14
2.4.4.2 CSC Integration and Testing
Di sini dilaksanakan kegiatan-kegiatan dengan:
(1)
Melaksanakan integrasi CSC.
(2)
Pengujian setiap CSC untuk meyakinkan bahwa algoritma dan logika
yang digunakan pada setiap CSC benar dan telah memenuhi spesifikasi
yang telah ditetapkan.
(3)
Melakukan revisi terhadap dokumentasi perancangan dan kode
sebagaimana mestinya.
(4)
Mendokumentasikan prosedur integrasi dan pengujian yang telah
dilaksanakan ke dalam SDF.
2.4.4.3 CSCI Testing
Dilaksanakan kegiatan pengujian fungsional CSCI untuk meyakinkan bahwa
algoritma dan logika yang digunakan benar dan telah memenuhi spesifikasi yang
telah ditetapkan.
2.4.4.4 System Integration and Testing
Dilaksanakan kegiatan integrasi dan pengujian fungsional sistem untuk meyakinkan
bahwa algoritma dan logika yang digunakan benar dan telah memenuhi spesifikasi
yang telah ditetapkan.
2.4.5
Post-delivery Maintenance Phase
Melaksanakan kegiatan dan dukungan pemeliharaan dan dukungan suku cadang
setelah intalasi sistem on-site. Dukungan pemeliharaan di dalam masa jaminan pada
umumnya berupa :
15
2.4.6
(1)
Field service engineer.
(2)
Suku cadang bebas bea.
Retirement Phase
Melaksanakan kegiatan uninstallation sistem dari peralatan yang menggunakannya
untuk kemudian dihapuskan atau dihancurkan.
2.5
2.5.1
Dokumen-dokumen Pembangunan Sistem
Requirement Phase
Pada tahap requirement diterbitkan sebuah dokumen System/Segment Specification
(SSS) yang mendeskripsikan spesifikasi dari sistem dan segmen sisten yang akan
dibangun.
2.5.2
Analysis Phase
Pada
Analysis
Phase
dilakukan
kegiatan-kegiatan
System
Requirement
Analysis/Design dan Software Requirement Analysis yang akan menghasilkan 3
(tiga) dokumen sebagai berikut :
(1)
System/Segment Design Document (SSDD) yang berisi analisa untuk
menentukan alokasi kebutuhan sistem terbaik antara hardware, software
dan personil dalam rangka membagi sistem ke dalam Hardware
Configuration Item (HWCI), CSCI dan operasi manual.
(2)
Software Requirements Specification (SRS) yang mendefinisikan
kebutuhan-kebutuhan engineering pendahuluan untuk setiap CSCI pada
tahap System Requirement Analysis/Design dan kebutuhan-kebutuhan
engineering lengkap pada tahap Software Requirement Analysis.
16
(3)
Interface Requirements Specification (IRS) yang mendokumentasikan
kebutuhan-kebutuhan pendahuluan eksternal interface untuk setiap CSCI
pada tahap System Requirement Analysis/Design dan kebutuhankebutuhan engineering lengkap pada tahap Software Requirement
Analysis.
Untuk pengawasan berjalannya pembangunan software, diterbitkan pula 3 (tiga)
dokumen sebagai sarana kontrol yakni :
(1)
System
Requirements
Review
(SRR)
tahap
System
Requirement
Analysis/Design sebagaimana yang ditetapkan di dalam kontrak pada.
(2)
System Design Review (SDR) pada tahap System Requirement
Analysis/Design sebagaimana yang ditetapkan di dalam kontrak.
(3)
Software Specification Review (SSR) pada tahap Software Requirement
Analysis sebagaimana yang ditetapkan di dalam kontrak.
2.5.3
Design Phase
Pada Design Phase dilakukan kegiatan-kegiatan Preliminary Design dan Detailed
Design yang akan menghasilkan 4 (empat) dokumen sebagai berikut :
(1)
Software Design Document (SDD) yang berisi mengenai perancangan
pendahuluan untuk setiap CSCI agar mengalokasikan kebutuhankebutuhan yang didefinisikan di dalam SRS dan IRS yang berkaitan
dengan CSC dari setiap CSCI pada tahap Preliminary Design dan
perancangan detil pada tahap Detailed Design.
(2)
Interface Design Document (IDD) yang mendefinisikan perancangan
pendahuluan eksternal interface setiap CSCI sebagaimana yang
didokumentasikan di dalam IRS pada tahap Preliminary Design dan
perancangan detil pada tahap Detailed Design.
17
(3)
Software Test Plan (STP) yang berisi uji kualifikasi formal yang harus
dilaksanakan mengikuti persyaratan-persyaratan yang dinyatakan di
dalam SRS.
(4)
Software
Test
Description
(STD)
yang
digunakan
untuk
mendokumentasikan informasi kasus tes dalam STP.
Untuk pengawasan berjalannya pembangunan software, diterbitkan pula 2 (dua)
dokumen sebagai sarana kontrol yakni :
(1)
Preliminary Design Review (PDR) pada tahap Preliminary Design
sebagaimana yang ditetapkan di dalam kontrak
(2)
Critical Design Review (CDR) pada tahap Detailed Design sebagaimana
yang ditetapkan di dalam kontrak.
2.5.4
Implementation Phase
Untuk pengawasan berjalannya kegiatan pada Implementation Phase, diterbitkan
pula 5 (lima) dokumen sebagai sarana kontrol yakni :
(1)
Software Product Specification (SPS) untuk setiap CSCI.
(2)
Software Test Report (STR) untuk setiap CSCI.
(3)
Version
Description
Document
(VDD)
untuk
CSCI
yang
mengidentifikasikan versi CSCI yang akan dikirimkan ke customer.
(4)
Functional Configuration Audit (FCA).
(5)
Physical Configuration Audit (PCA).
18
2.5.5
Post-delivery Maintenance Phase
Pada tahap delivery, harus disertakan dokumen-dokumen sebagai berikut :
(1)
Computer Resource Integrated Support Document (CRISD).
(2)
Computer System Operator's Manual (CSOM).
(3)
Software User's Manual (SUM).
(4)
Software Programmer's Manual (SPM).
(5)
Firmware Support Manual (FSM).
19
Download