I. CASE TOOL Apa itu CASE? Secara umum seorang software engineer maupun engineer dari disiplin ilmu yang lain dalam membangun/mengembangkan suatu produk, memiliki karakteristik sebagai berikut: 1. Mengetahui
manfaat
tools
yang
dapat
membantu
dalam
membangun/mengembangkan suatu produk. 2. Mampu mengorganisasikan tools yang memungkinkan untuk bekerja cepat dan efisien. 3. Memiliki
pengetahuan
teknik
membangun/mengembangkan
produk serta handal dalam menggunakan tools untuk membantu pekerjaannya. Dalam software engineering telah dikenal banyak tools (computer-base system) yang dikenal dengan Computer-Aided Software Engineering (CASE).
CASE
membantu
merupakan
satu
atau
suatu
beberapa
teknik fase
yang
dalam
digunakan life-cycle
untuk
software,
termasuk fase analisis, desain, implementasi dan maintenance dari software tersebut. Manfaat CASE tools untuk software engineer dijabarkan sebagai berikut: 1. CASE tools memperbesar kemungkinan otomatisasi pada setiap fase life-cycle software. 2. CASE tools sangat membantu dalam meningkatkan kualitas design
model
suatu
software
sebelum
software
itu
dibangun/dikembangkan, baik itu untuk software yang dibangun dalam simple maupun complex environment. Ada banyak tools yang mendukung pembangunan/pengembangan suatu software. Agar tidak membingungkan, CASE tools dibagi menjadi beberapa kategori:
1. Information
engineering-supporting
products.
Ada
beberapa
proses dari life-cycle, yang dihasilkan dari rencana strategis dari perusahaan dan yang menyediakan suatu repository untuk membuat dan memelihara enterprise models, data models dan process models. 2. Structured diagramming-supporting products. Produk ini sangat mendukung dalam memodelkan data flow, control flow dan entity flow. 3. Structured development aids-providing products. Merupakan produk yang cocok digunakan oleh sistem analis, karena didukung oleh suatu proses terstruktur sehingga penganalisaan lebih cepat dan akurat. 4. Application-code-generating
products.
Produk
ini
mampu
menghasilkan application-code untuk tujuan tertentu yang telah ditetapkan oleh designer. CASE tools diklasifikasikan sebagai berikut: 1. Upper CASE. CASE tools yang didesain untuk mendukung perencanaan, identifikasi, dan seleksi proyek (permulaan dari perencanaan proyek), tepatnya pada fase analisis dan desain dari
suatu
system
development
life
cycle
(SDLC).
Tools yang termasuk kelas ini adalah jenis Diagramming tools, Form and report generators, dan Analysis tools. Contoh CASE tools: Cradle, PRO-IV Workbench, ProKit*WORKBENCH. 2. Lower CASE. CASE tools yang didesain untuk mendukung tahap implementasi dan maintenance dari SDLC. Tools yang termasuk kelas Contoh
ini CASE
adalah tools:
jenis
Code
Level/l-User
Sensitive
application Development.
generators. CASE,
PRO-IV
3. Cross life-cycle CASE/Integrated CASE (I-CASE). CASE tools yang dirancang untuk mendukung aktifikas-aktifitas yang terjadi pada beberapa fase dari SDLC. Mengkombinasikan Upper dan Lower CASE menjadi satu. Tools yang termasuk kelas ini adalah jenis Project management tools. Contoh CASE tools: Rational Rose, Poseidon, ArgoUML, Catalyze, in-Step, Juggler, PRINCE. Mengapa harus menggunakan CASE? Hal yang melatarbelakangi munculnya CASE tools adalah: karena selama ini para software engineer
hanya
melakukan
pembuatan
perangkat
lunak
untuk
mengoptimalkan pekerjaan orang lain. Sedangkan software engineer itu sendiri dalam aktifitasnya belum sepenuhnya terotomatisasi. Sehingga muncullah CASE tools untuk membantu para software engineer tersebut. Kapan harus menggunakan CASE? CASE tools ini ada, ketika: 1. Meningkatnya
permintaan
pasar
akan
software,
sehingga
dibutuhkan tools untuk mempercepat pembuatan software, agar mengimbangi permintaan pasar tersebut. 2. Perkembangan teknologi yang semakin cepat menyebabkan client
menuntut
software
engineer
untuk
memperbaharui
software yang sudah ada atau membangun software baru yang memiliki spesifikasi lebih kompleks. Dimana CASE dapat digunakan? CASE tools digunakan dalam semua aktifitas software engineer, termasuk dalam proses analisis, desain, implementasi, instalasi bahkan maintenance, baik pada lingkungan yang sederhana sampai yang kompleks yang mencakup: database, people, hardware, network, operating system.
Bagaimana cara menggunakan CASE? Dalam menggunakan suatu CASE tools, ada beberapa tahapan yang harus dilakukan terlebih dahulu. Diantaranya: 1. Lakukan studi terhadap teknologi yang ada agar kita bisa mempersiapkan dampak perubahan teknologi yang akan terjadi nantinya, sehingga model yang dibangun nantinya bisa fleksibel terhadap perubahan. 2. Evaluasi bagaimana jika organisasi yang sudah ada harus dibangun ulang agar bisa mengambil keuntungan dari teknologi baru. 3. Tetapkan suatu ketentuan untuk mengganti sistem yang lama dengan teknologi baru yang paling efektif. 4. Tentukan suatu metodologi pembangunan sistem. Setelah melakukan tahapan-tahapan tersebut, barulah kita bisa menentukan CASE tools yang akan dipakai, misalnya : Poseidon for UML atau ArgoUML. ArgoUML ArgoUML merupakan suatu tools interaktif yang digunakan untuk mendesain, membangun dan mendokumentasikan perangkat lunak berbasis objek. ArgoUML dibangun oleh Jason Robbins bersama rekanrekannya di Universitas California. ArgoUML digunakan oleh para desainer, developer, analis, dan yang lainnya yang terlibat dalam analisa, desain dan pembangunan suatu perangkat lunak. Salah satu keunggulannya adalah 100% platform independent dan open source. Sebenarnya ArgoUML sendiri tidak untuk diproduksi/dipasarkan secara resmi. Ada beberapa masalah yang mungkin timbul ketika digunakan. Dibandingkan dengan tools serupa yang komersil, ArgoUML bisa dikatakan kurang stabil. Namun
karena itulah ArgoUML bersifat open source, tujuannya agar kita bisa memperluas dan mengcustomize sendiri fitur-fitur yang diinginkan serta memperbaiki kesalahan-kesalahan yang ditemukan. Untuk tujuan pendidikan dan komersil, ArgoUML bisa dikatakan menarik banyak peminat. Ini terbukti sampai pada pertengahan tahun 2001 sudah tercatat 100.000 orang yang men-download ArgoUML sejak pertama kali dirilis pada tahun 1998. Poseidon for UML Poseidon merupakan versi komersil dari ArgoUML yang dibuat oleh Marko Boger yang merupakan salah satu peneliti di Universitas Hamburg. Dia juga salah satu dari tim yang dipimpin oleh Jason Robbins ketika membangun ArgoUML. Poseidon dibuat ketika Jason Robbins keluar dari tim untuk melakukan pekerjaan lain. Poseidon dibangun dan dikembangkan dengan cara bekerja sama dengan para ahli dan perusahaan-perusahaan terkemuka. Tujuannya untuk membangun suatu tools yang lengkap berdasarkan kebutuhan dari berbagai pemakai.
II. Fase Pengembangan dan Fase Pemeliharaan Kedua fase ini tidak berada dalam satu fase, karena kedua fase ini memiliki
fase/tahapan-tahapan
pemeliharaan
didalam
masing-masing.
pengembangan
secara
Namun
cyclic
ini,
fase berada
didalam fase pengembangan atau menjadi salah satu kegiatan fase pengembangan
perangkat
lunak.
Namun
walaupun
begitu
fase
pemeliharaan memiliki fase kegiatan tersendiri setelah system diinstall dan dipakai. Pemeliharaan mencakup koreksi dan perbaikan berabagai error yang ada.
Pengembangan
pernagakat
lunak
yang
bersifat
cyclic
meliputi
kegiatan-kegiatan antara lain : 1. Studi dan Analisa 2. Desain global 3. Desain detail 4. Implementasi 5. Operasi dan Pemeliharaan Jadi kedua fase ini tidak berada dalam satu fase tertentu, namun secara syclyc fase pemeliharaan menjadi bagian dari kegiatan fase pengembangan perangkat lunak.