PENELUSURAN PADA PENGENDALIAN KEBUTUHAN PIRANTI LUNAK I Made Murwantara, S.Si, M.Kom , Sutrisno, SE, M.Kom". Robertus Dimas Prakasa*" Abstract This paper shows how to create a set of programs, which support requirement engineering traceability process based on Rational Unified Process (RUP). Requirement traceability is proven to be an effective technique in some development practices, particularly for those classes of system that failure is not an option Requirement engineering traceability prototype provides traceability process using trace-to and traced-from model among customer's needs, features, and requirements Both models are used to build relationship between two entities The effect of any changes caused from one element can be detected easily through a matrix form The prototype only provides traceability process among system requirements and doesn 't trace requirements to design or test case. 1.PENDAHULUAN Pada era globalisasi saat ini perkembangan industri piranti lunak menjadi salah satu faktor yang paling berpengaruh pada pasar ekonomi dunia, dan hampir semua jenis industri telah menerapkan teknologi untuk meningkatkan produktifitas kinerja mereka. Seiring dengan perkembangan teknologi, pengembangan piranti lunak sebagai salah satu penopang kemajuan teknologi sering kali mengalami permasalahan. Banyak produk yang dihasilkan tidak sesuai dengan apa yang diharapkan oleh penggunanya ataupun melewati batas waktu dan biaya. Dari penelitian yang telah dilakukan salah satu penyebab utama dari permasalahan tersebut karena proses requirement engineering yang kurang baik. Requirement engineering adalah bagian dari software engineering yang bertujuan untuk mendefinisikan masalah yang akan dipecahkan dalam software engineering secara jelas[3]. Requirement management adalah suatu proses yang secara paralel berlangsung dengan proses requirement engineering dimana bertujuan untuk mengelola perubahan yang terdapat dalam requirement sistem [1] Dalam requirement management terdapat informasi penelusuran (traceability), yang bertujuan untuk memberikan informasi mengenai dampak yang akan timbul akibat adanya perubahan pada salah satu elemen requirement sistem. Proses penelusuran pada Rational Unified Process (RUP) terjadi diantara elemen requirement seperti, kebutuhan pengguna, fitur, dan requirement, baik fungsional maupun non-fungsional. Untuk menghubungkan elemen requirement diperlukan traceability relationship, dimana RUP mendefinisikan hubungan tersebut menjadi model trace-to dan traced-from.
' Dosen Tetap Jurusan Teknik Informatika, FIK-UPH " Dosen Tetap Jurusan Sistem Informasi, FIK-UPH "Alumnus Jurusan Teknik Informatika, FIK-UPH Penelusuran pada Pengendalian... (I.M.Murwantara, Sutrisno, R.D.Prakasa)
127
.'Problem Domain "raceability
/needs
Si / I
Features
"raceabilitv i~
\
\ \ ^ \
JZ1] SokJon 3!
Domatl
/ Gambar 1. Piramida Requirement [7J.
2. RATIONAL UNIFIED PROCESS (RUP) Rational Unified Process (RUP) adalah salah satu metodoJogi pada proses pengembangan piranti lunak yang dikembangkan oleh Rational Software Corporation, yang ini mempakan salah satu divisi dalam International Business Machines (IBM). RUP mendefinisikan proses pengembangan piranti lunak menggunakan pendekatan iterative dan dapat mendukung pengembangan piranti lunak yang berorientasi objek. Melalui kedua hal tersebut membuat RUP menjadi salah satu proses yang cocok digunakan di tengah tingginya persaingan dalam pengembangan piranti lunak RUP sendiri merupakan framework proses yang dapat diadopsi secara mudah oleh setiap organisasi, di luar komputer sekalipun 3. ARSITEKTUR RUP Pengembangan secara iterative merupakan bentuk dari model phase development, dimana merupakan salah satu konsep yang tetah lama dikembangkan dalam rekayasa piranti lunak. Proses yang terdapat dalam Rational Unified Process (RUP) terbagi menjadi 2 (dua) struktur atau dimensi Dimensi honsontal merepresentasikan aspek yang dinamis daiam proses pengembangan, seperti fase, cycle, iterasi, dan milestone. Dimensi vertikal merepresentasikan akbfitas yang dilalui dalam proses pengembangan pada setiap fase, cycle, iterasi atau milestone tersebut. Rational Unified Process (RUP) membagi prosesnya menjadi 4 (empat) fase untuk dikembangkan secara iterative sehingga memungkinkan terjadi perubahan requirement pada saat proses pengembangan beriangsung Masing masing fase yang terdapat dalam RUP memiliki tujuan yang terfokus untuk mendukung proses yang berkelanjutan dan pengontrolan terhadap requirement, arsitektur, disain, pengkodean hingga pengujian secara tepat Berikut ini merupakan keempat fase dalam RUP dan tujuan pada masing-masing fase [5]: 1. Inception. Mendefinisikan batasan dan lifecycle suatu proyek piranti lunak. 2. Elaboration. Menghilangkan resiko-resiko yang muncul dan menciptakan arsitektur sistem yang digunakan sebagai dasar dari pengembangan sistem berikutnya. 3. Construction. Proses pengkodean dalam pengembangan piranti lunak sesuai dengan arsitektur disain. 4. Transition. Pengujian sistem pada calon pengguna dan persetujuan dari pelanggan atas sistem yang dihasilkan.
128
Jurnal llmiah llmu Komputer. Vol. 4 No 2 Mei 2006:127-136
Produk piranti lunak yang akan dihasilkan melalui proses model RUP akan melalui beberapa iterasi dan banyaknya iterasi yang harus dilalui untuk suatu pengembangan piranti lunak bergantung pada besarnya proyek yang dikerjakan. Setiap produk yang dihasilkan dari sebuah iterasi merupakan pengembangan dan produk yang dihasilkan pada iterasi sebelumnya. Sebuah iterasi akan melalui berbagai macam aktivitas pengembangan, seperti pengelolaan proyek (project management), requirement, analisis desain, pengkodean, integrasi, dan pengujian. Tujuan dari setiap iterasi adalah menghasilkan suatu sistem dengan versi tertentu yang telah dilakukan pengujian.
Phases Workflows Business
J Inception :
Elaboration
Construction
Transition
Modeling
Requirements ; A n a l y s i s tk D e s i g n j Implementation i Test Deployment
•••^1-fc i • •• — ~
Configuration & Crmnqij Mqmt Project Management | Environment L
£—
^ - j n . •*e^\r"iiiri,#»^n
Initial
LIU-
Elab *l
^Ls^. Elab * 2 ' C ° " «
i{—
Const | Cop^t i , Iran
Tar
j
Iterations G a m b a r 2 : A r s i t e k t u r RUP 2 (dua) D i m e n s i [6].
4. ENAM TAHAP REQUIREMENT MANAGEMENT Berikut ini merupakan 6 (enam) langkah efektif pada proses requirement management yang dikembangkan oleh tim Rational. 1. Analisa Masalah Proses analisa masalah merupakan langkah awal yang paling tepat dalam pengembangan suatu sistem yang bertujuan untuk memahami permasalahan yang dihadapi oleh pelanggan secara tepat. Business modeling merupakan suatu teknik dalam menganalisa permasalahan yang bertujuan untuk memahami struktur dari organisasi dan meyakinkan bahwa pelanggan, pengguna, dan tim pengembang memiliki pemahaman yang sama terhadap organisasi [2]. Selain itu dapat dilakukan pemodelan menggunakan diagram use case untuk mendukung Business modeling. Pemahaman Kebutuhan Pengguna Setelah mendapatkan permasalahan yang dihadapi secara jelas dan tepat. langkah berikutnya adalah berusaha menemukan kebutuhan yang diperlukan oleh pengguna secara tepat. Berbagai macam cara dapat dilakukan untuk mendapatkan kebutuhan akan sistem yang tepat, seperti melakukan interview, membuka requirement workshop, mempresentasikan ide yang didapat Penelusuran pada Pengendalian... (I.M.Murwantara, Sutrisno, R D Prakasa)
129
menggunakan storyboard, pembuatan diagram use case, dan melakukan role play Fitur adatah suatu servis yang hams disediakan oleh sistem untuk mendukung satu atau lebih kebutuhan stakeholder [2]. Fitur akan erat hubungannya dengan apa yang dimaksud dengan kebutuhan pengguna, tetapi fitur lebih mengarah kepada solusi yang sistem berikan untuk mencapai kebutuhan yang ada. 3. Definisi Sistem Definisi sistem dibuat setelah tim mengetahui kebutuhan pengguna secara tepat. Dokumen vision merupakan dokumen yang dapat digunakan untuk mendukung definisi sistem, dimana dokumen vision mendeskripsikan piranti lunak yang akan dibuat dari berbagai aspek, seperti target pasar, pengguna, dan fitur. 4 Pengelolaan Batasan Proyek Batasan dalam proses pengembangan piranti lunak dapat berupa jumlah sumber daya, teknologi, waktu, biaya, dan jumlah fitur yang akan dikembangkan. Pada proses pengembangan berdasarkan Rational Unified Process (RUP) memungkinkan suatu produk untuk dirilis melalui beberapa versi, hal tersebut sangat erat hubungannya dengan pengelolaan pembatasan pada suatu proyek. Dari fitur-fitur yang ada tim pengembang dapat membaginya menjadi beberapa bagian. Melalui cara seperti ini tim pengembang dapat menyesuaikan dan memprediksi apakah proyek yang akan dikembangkan pada setiap versinya dapat terealisasi dengan batasan yang ada. 5. Memperjelas Definisi Sistem Setelah mendapatkan batasan dari proyek yang akan dikembangkan, tim pengembang diharuskan menurunkan fitur-fitur yang ada ke dalam requirement. Requirement tersebut berupa fungsional maupun non-fungsional, dimana fungsional akan dimodelkan menggunakan diagram use case dan diperjelas didalam skenario use case 6 Pembangunan Sistem yang Tepat Setelah tim pengembang mendapatkan sekumpulan requirement, mereka harus mendokumentasikannya secara tepat dan berdasarkan dokumentasi yang ada sistem akan dapat mulai dikembangkan. Verifikasi dan validasi merupakan 2 (dua) hal yang dapat digunakan untuk meningkatkan kualitas dari sistem yang dihasilkan. Teknik penelusuran dapat digunakan untuk meyakinkan bahwa yang dikerjakan sudah sesuai dengan apa yang diharapkan, sehingga dapat mendukung proses verifikasi terhadap sistem. 5. PENELUSURAN {TRACEABILITY) Pada glossary IEEE (1994) terdapat 2 (dua) definisi dari penelusuran (traceability), yaitu : • Suatu tingkatan dimana hubungan antara dua atau lebih produk dalam proses pengembangan dapat terbentuk, khususnya produk-produk yang memiliki predecessor-successor atau master-subordinate yang saling berhubungan [4], • Suatu tingkatan mengenai keberadaan dari suatu elemen dalam software development, yang disebabkan oleh elemen lainnya [4]. Definisi pertama di atas menjelaskan hubungan sebuah elemen dengan elemen penggantinya, sebagai contoh hubungan antara fitur dengan requirement. Melalui definisi pertama ini, teknik penelusuran dapat memberikan informasi bahwa terjadinya perubahan pada salah satu elemen dapat mempengaruhi elemen lainnya Sedangkan definisi kedua dimaksudkan agar dalam proses pengembangan tidak 130 Jurnal llmiah llmu Komputer, Vol. 4 No. 2 Mei 2006: 127-136
terdapat elemen yang seharusnya tidak dikerjakan. Berdasarkan dari kedua penjelasan di atas, diyakini bahwa teknik penelusuran merupakan cara terbaik untuk menghasilkan produk yang berkualitas. 6. PROSES PENELUSURAN Pada proses penelusuran diantara elemen pendukung requirement sistem dibutuhkan suatu elemen tambahan yang digunakan untuk menghubungkan antara sebuah elemen dengan elemen lainnya. Hubungan antar elemen inilah yang dinamakan dengan model penelusuran. Model trace-to dan traced-from merupakan model yang ada pada Rational Unified Process (RUP) Perbedaan kedua model diatas dapat dilihat dan sisi upstream atau downstream proses penelusuran tersebut dilakukan Proses upstream dapat dilihat dari elemen kebutuhan trace-to elemen fitur dan dilanjutkan fitur trace-to elemen requirement atau dapat dikatakan hubungan untuk elemen dari level abstrak trace-to elemen di level detail. Sedangkan proses downstream terjadi apabila elemen yang berhubungan dilihat dari level yang lebih detil traced-from elemen pada level lebih abstrak, sebagai contoh elemen requirement traced-from elemen fitur dan fitur traced-from elemen kebutuhan Melalui dua macam model penelusuran diatas, pengelolaan terhadap elemen requirement menjadi lebih mudah dan membantu setiap anggota dalam proses pengembangan untuk menjalankan tugasnya. 7. TABEL PENELUSURAN Tabel penelusuran 2 (dua) dimensi akan memberikan kemudahan dalam mendeteksi elemen-elemen requirement yang saling berhubungan dan dapat dengan mudah untuk mengetahui dampak yang ditimbulkan oleh perubahan salah satu elemen requirement. Baris dan kolom yang terdapat dalam tabel tersebut akan digunakan untuk menempatkan elemen kebutuhan, fitur ataupun requirement Model penelusuran yang ada diantara baris dan kolom menandakan bahwa kedua elemen requirement tersebut saling berhubungan. Dalam tabel penelusuran model trace-to atau traced-from akan digambarkan dengan tanda panah mengarah pada fitur. Perbedaan yang mendasari kedua model penelusuran yang ada terletak pada arah tanda panah diantara baris dan kolom tersebut. Perubahan pada salah satu elemen yang telah terhubung dengan elemen lain akan mengakibatkan perubahan warna pada model penelusurannya. Perubahan warna tersebut dimaksudkan agar memudahkan pengguna tabel penelusuran untuk mendeteksi dampak dan perubahan yang terjadi secara tepat dan cepat Selain berfungsi untuk mendeteksi elemen yang saling berhubungan, tim pengembang juga dapat memanfaatkan tabel penelusuran untuk mengetahui elemen mana yang belum dihubungkan dengan elemen lainnya. Elemen yang telah didefinisikan tetapi belum dihubungkan dengan elemen yang lain memiliki arti bahwa elemen tersebut salah dalam pendefmisiannya ataupun belum diturunkan menjadi lebih detil. Gambar 3 merupakan contoh dan tabel penelusuran untuk mengidentifikasi hubungan yang terbentuk diantara elemen requirement. Tanda panah yang mengarah pada fitur menandakan bahwa suatu elemen terhubung dengan elemen lain yang tidak berubah. Sedangkan panah lainnya menandakan bahwa suatu elemen terhubung dengan elemen lain yang mengalami perubahan. Informasi yang ada pada tabel penelusuran diharapkan dapat membantu tim pengembang untuk mengambil tindakan mengenai dampak dari perubahan secara cepat dan tepat. Apabila dampak yang ada sudah tidak menimbulkan masalah pada Penelusuran pada Pengendalian... (I.M.Murwantara, Sutrisno, R.D.Prakasa)
131
elemen yang terhubung, maka tim pengembang dapat menghilangkan model penelusuran tersebut menjadi tanda panah berwama yang mengarah pada fitur semuanya. Malrik penelusuran fitur "trace 10" reouiremem UC1 pemba,'ar3iiUC::t3nHunaiUC3 car saldoUC J • transfer
Fit 1 Pemba.aran menggunaran telepon selulei
Ds M
,
u _;
' '
Kr dil
*
4
Fitl Pemba.aran langsungfletiet-fcredltdiBanf .ana bersangkutan
Fit 4: Penarllran tunai di pemegang latin m-.TI.I merchant
Fite.Fitur:.angterdapaldalammesin '.Tl.ldipindahkankeHP
Konfirmasi
4 4 1
I '
[trace to ttodel, terdaoatpenitahan pada recrement 3 |dencan alasap stabto hicn • > lov oleh Pimas Prakasa
Gambar 3 : Matriks Analisa Penelusuran.
8. PEMBANGUNAN PROTOTIP Prototip diciptakan untuk mendukung proses pengendalian kebutuhan piranti lunak, dimana prototip tersebut 4 (empat) level akses. Keempat level tersebut adalah manajer specifier, pelanggan dan anggota pengembang lainnya. Berikut use case dari sistem yang dikembangkan :
132
penelusuran pada akan dibagi menjadi proyek, requirement merupakan diagram
Jurnal llmiah llmu Komputer, Vol. 4 No. 2 Mei 2006: 127-136
Requirement
Net
Gambar 4 : Diagram Use Case Sistem Requirement.Net.
9. PROSES PENELUSURAN DALAM PROTOTIP Perancangan prototip requirement engineering traceability terbagi menjadi 7 (tujuh) tahap penting Ketujuh tahap tersebut adalah registrasi proyek, pendefinisian atribut, kebutuhan, fitur, requirement, menghubungkan elemen requirement, dan analisa penelusuran. Proses penelusuran berlangsung diantara elemen-elemen requirement, yaitu diantara kebutuhan pengguna dengan fitur, fitur dengan use case, dan fitur dengan supplementary requirement. Untuk dapat menghubungkan elemen-elemen requirement tersebut, tim pengembang piranti lunak diharuskan telah mendapatkan dan mendefinisikan kebutuhan pengguna, fitur, dan requirement kedalam prototip. Prototip akan menyediakan matriks 2 (dua) dimensi untuk proses menggabungkan elemen requirement. Barls dan kolom yang terdapat pada matriks tersebut digunakan untuk mendefinisikan elemen-elemen requirement. Sedangkan diantara baris dan kolom tersebut terdapat check box yang berfungsi untuk memudahkan pengguna dalam menghubungkan antar elemen requirement.
Penelusuran pada Pengendalian... (I.M.Murwantara. Sutrisno. R.D Prakasa)
133
I.latnk p e n e l u s u r a n I ehutuh 3t-.
fitui
Fii 1 P e m b a . a r a n menggunakan telepon seluler
F i t ; Pembayaran l a n g s u n g clebetkredit di Bank yang bersangkutan
keb 1 . Proses pembas'aran tunai tanpa , ', Trace To Trace To menggunakan uang tunai Keb 2 : Infestasi m e s i n ATM yang m i l rah dan r ] Trace To Trace To l m u d a h bagi Bank pendukung Keb 3 S o l u s ! pembayaran m e n g g u n a k a n teknologi Trace To Trace To »ang m u d a h d i t e n m a masyarakat Keb S K e a m a n a n ciaiam b e r t r a n s a k s i . . ; T r a c e To menggunakan telepon ' Trace To seluler Silahkan m e m a s u k a n p3sv\ orcl anda untuk pr :ises p e n e l u s u r a n Email
Fit 3 l.lenu STKpada chip telepon seluler i Trace To
Ht -
Penanl an tunai di p e m e g a n g k.artu rn.ATI.I m e r c h a n t ,
Trace To
i J Trace To
I ) Trace To
Trace To
Trace To
L ! Trace To
Trace To
robeitus :limas@hitech t
Passsword | Simpan
|
Gambar 5 : Penggabungan Elemen Requirement.
Setelah pengguna selesai menggabungkan elemen requirement pada matriks penelusuran diatas. maka pengguna dapat melihat elemen-elemen requirement yang saling berhubungan dalam tabel penelusuran. Tabel penelusuran akan menyediakan model trace-to dan traced-from untuk menganalisa elemen requirement yang saling berhubungan Berikut merupakan contoh dari tabel penelusuran model trace-to Mairik nenelusuran kebutuhan 'trace to" litur Fil l Pemba-araii msng Linal an telepon seluler
FH2 F emba-aran
F11
MemiSTfc
Fit- PenanTantunai
13lasting debet*!retfit31 pad i chip telepon di pemeganglartu nt.an< bereanghrtan
seluler
m-TI.I merchant
J
Keb 1 Proses pembayaran tunai tanpa menggunai an uang tunai
J
K9B2 intestasimesin-Ju ang mural) 'Ian mudah bagi Ban! pendUritng Keb 3 Soiust pemba*aran menggunafan tehioiogi .ang mudah ditenma mas,arai:3t
J
Keb 4 Pembayaran larar lauh taro>a bertermi mui 3 dapat dilangsungkan
j
j
J
K e b : Keamanan dalam fcertransat'si menggunakan telepon seluler |
Konfirmasi
Fitc.Ptoses FttS tcteransi pembayaranI urang Iegagaian 113I1 proses dari 2? deW pemb3.3ran 19 menrt
1
j
Gambar 6 : Trace-To Model.
134
Jurnal llmiah llmu Komputer, Vol. 4 No. 2 Mei 2006: 127-136
Berikut merupakan contoh dari tabel penelsuran model traced-from Mairik nenelusurai.
*
I1f;i :
Ml
r,-, (
f.i
'll'
K
Irom
Htui
I'''
jnavs
Fu:
Peniba n-n \-,\.y- < Bart .aiigbetsa
redtl ci
F l U P-o-siii'jii tons t 3itu m - T M in
•rcftar.!
ig H i s FllUi -TL!
-'
- HF
<J
3 eel saitfc
4J
-t-court
<1
-cccun!
^
Konfirmasi
• -i
-III 3 f i
4J
tarii tunsi
••; - itaosiei
|
!,!.,,
J
pemfta a/an
;
'trace
;
Gambar 7 : Traced-From Model.
Tujuan dan teknik penelusuran pada proses pengembangan piranti lunak adalah untuk dapat mengetahui dampak yang terjadi akibat adanya perubahan dari salah satu elemen requirement sehingga dapat memberikan verifikasi terhadap piranti lunak yang dihasilkan, Tabel penelusuran memberikan suatu solusi yang mudah dan praktis dalam mendeteksi elemen requirement yang terpengaruh akibat adanya suatu perubahan pada elemen requirement lainnya yang terhubung Perubahan arah panah yang terdapat dalam model penelusuran akan menandakan bahwa elemen requirement tersebut dihubungkan dengan salah satu elemen yang berubah. Arah panah pada model penelusuran akan secara otomatis berubah apabila ada perubahan pada elemen kebutuhan, fitur atau requirement MiU-iJ* peneltisman katmUihan 'lra
n : ::n.'
•
-•:••.. r
; '
K
I.
••;llr=3|-;.
F.* J^-1-a'HKan • • -~;
-rf
•' "
:
'•'•'-'-•
;; r •
i
:
"
"
•
:iu '
•:-•
- ' "
•
ji—•
A
--•<;;
: : 11 1
J
•
n - n . , n ..*• • ' H\
.
:••'
• -•
tantatj*rt«iiiuiri'. ; "•;-' rtilan$sun§i an
j
J
J
kftb f • *») .v-*ii lalsn
J
L-; ti ans j f v n-.f r,-jg-.inat an I4«l :ns=i '• ;
" . - i n n f i itai i
J
t.cnfifniasi
Gambar 8 : Traced-From Model.
Penelusuran pada Pengendalian.. (I M.Murwantara, Sutrisno, R.D.Prakasa)
135
10. KESIMPULAN Proses pembuatan prototip requirement engineering traceability telah menghasilkan suatu perangkat bantu yang mendukung proses requirement management dalam proses produksi piranti lunak. Berikut merupakan beberapa hal penting yang dapat disimpulkan, yaitu : • Prototip dapat mendukung proses penelusuran pada pengendalian kebutuhan piranti lunak. • Teknik penelusuran dapat digunakan untuk mendukung proses verifikasi dan suatu piranti lunak. • Rational Unified Process (RUP) merupakan salah suatu metode proses yang dapat digunakan untuk mengelola perubahan requirement selama proses pengembangan. DAFTAR PUSTAKA [1] [2] [3] [4] [5] [6] [7] [8]
136
Kotonya, Gerald ; Sommervilee, Ian, Requirement Engineering Processes and Techniques, Jonh Wiley & Sons, 1998. Leffingwell, Dean.; Widng, Don, Managing Software Requirement, AddisonWesley, 1999 Sommerville, Ian, Software Engineering 6th Edition, Addison Wesley, 2001 Leffingwell, Dean ; Widrig, Don. , The Role of Requirement Traceability in System Development, Rational Software Corporation, 2002. Kruchten, Philippe Supporting Iterative Development Through Requirements Management, Rational Software Corporation, 2002 Kruchten, Philippe , What Is The Rational Unified Process ?, Rational Software Corporation, 2001 McEwen, Scott , Requirement: An Introduction, IBM Corporation, 2004 Prakasa, Dimas, Penelusuran pada Pengendalian Kebutuhan Piranti Lunak (Skripsi S1), Tangerang: Universitas Pelita Harapan, 2006.
Jumal llmiah llmu Komputer, Vol. 4 No. 2 Mei 2006: 127-136