KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA PERANGKAT LUNAK

28
1 KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA PERANGKAT LUNAK Oleh : Fajrillah Dosen STT Harapan Medan ABSTRAK Setiap orang pernah mendengar pernyataan mengenai anak-anak seorang pembuat sepatu: begitu sibuk membuat sepatu untuk orang lain, sehingga anak- anaknya tidak memiliki sepatu sendiri. Selama 30 tahun terakhir, banyak perekayasa perangkat lunak menjadi anak-anak seorang pembuat sepatu. Meskipun profesional teknis ini telah membangun sistem yang kompleks yang mengotomatisasi kerja orang lain, namun mereka menggunakan sangat sedikit otomatisasi mereka sendiri. Kenyataan, sampai rekayasa perangkat lunak terakhir yang secara mendasar merupakan aktivitas manual, piranti satu-satunya bagi perekayasa perangkat lunak adalah compiler dan editor teks digunakan hanya pada tahap akhir proses. Saat ini perekayasa perangkat lunak pada akhirnya diberi sepasang sepatu baru yang pertama computer aided software engineering (CASE). Sepatu itu tidak datang sebanyak yang mereka inginkan, sering agak sedikit keras dan kadang-kadang tidak mengenakkan, tidak memberikan cukup kecanggihan bagi mereka yang bergaya, dan tidak selalu sesuai dengan garmen lain yang digunakan oleh para pengembang perangkat lunak. Tetapi sepatu itu memberikan bagian absolute dari pakaian untuk lemari pakaian pengembang perangkat lunak, dan akan, dari waktu ke waktu, menjadi lebih enak, lebih berguna, dan lebih dapat beradaptasi dengan kebutuhan praktisi individual. Kata kunci : perekayasa perangkat lunak, piranti, building block, aktivitas, case.

description

Setiap orang pernah mendengar pernyataan mengenai anak-anak seorang pembuat sepatu: begitu sibuk membuat sepatu untuk orang lain, sehingga anak-anaknya tidak memiliki sepatu sendiri. Selama 30 tahun terakhir, banyak perekayasa perangkat lunak menjadi anak-anak seorang pembuat sepatu. Meskipun profesional teknis ini telah membangun sistem yang kompleks yang mengotomatisasi kerja orang lain, namun mereka menggunakan sangat sedikit otomatisasi mereka sendiri. Kenyataan, sampai rekayasa perangkat lunak terakhir yang secara mendasar merupakan aktivitas manual, piranti satu-satunya bagi perekayasa perangkat lunak adalah compiler dan editor teks digunakan hanya pada tahap akhir proses. Saat ini perekayasa perangkat lunak pada akhirnya diberi sepasang sepatu baru yang pertama – computer aided software engineering (CASE). Sepatu itu tidak datang sebanyak yang mereka inginkan, sering agak sedikit keras dan kadang-kadang tidak mengenakkan, tidak memberikan cukup kecanggihan bagi mereka yang bergaya, dan tidak selalu sesuai dengan garmen lain yang digunakan oleh para pengembang perangkat lunak. Tetapi sepatu itu memberikan bagian absolute dari pakaian untuk lemari pakaian pengembang perangkat lunak, dan akan, dari waktu ke waktu, menjadi lebih enak, lebih berguna, dan lebih dapat beradaptasi dengan kebutuhan praktisi individual.

Transcript of KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA PERANGKAT LUNAK

Page 1: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

1

KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA

PERANGKAT LUNAK

Oleh : Fajrillah

Dosen STT Harapan Medan

ABSTRAK

Setiap orang pernah mendengar pernyataan mengenai anak-anak seorang

pembuat sepatu: begitu sibuk membuat sepatu untuk orang lain, sehingga anak-

anaknya tidak memiliki sepatu sendiri. Selama 30 tahun terakhir, banyak perekayasa

perangkat lunak menjadi anak-anak seorang pembuat sepatu. Meskipun profesional

teknis ini telah membangun sistem yang kompleks yang mengotomatisasi kerja orang

lain, namun mereka menggunakan sangat sedikit otomatisasi mereka sendiri.

Kenyataan, sampai rekayasa perangkat lunak terakhir yang secara mendasar

merupakan aktivitas manual, piranti satu-satunya bagi perekayasa perangkat lunak

adalah compiler dan editor teks digunakan hanya pada tahap akhir proses. Saat ini

perekayasa perangkat lunak pada akhirnya diberi sepasang sepatu baru yang

pertama – computer aided software engineering (CASE). Sepatu itu tidak datang

sebanyak yang mereka inginkan, sering agak sedikit keras dan kadang-kadang tidak

mengenakkan, tidak memberikan cukup kecanggihan bagi mereka yang bergaya, dan

tidak selalu sesuai dengan garmen lain yang digunakan oleh para pengembang

perangkat lunak. Tetapi sepatu itu memberikan bagian absolute dari pakaian untuk

lemari pakaian pengembang perangkat lunak, dan akan, dari waktu ke waktu,

menjadi lebih enak, lebih berguna, dan lebih dapat beradaptasi dengan kebutuhan

praktisi individual.

Kata kunci : perekayasa perangkat lunak, piranti, building block, aktivitas, case.

Page 2: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

2

PENDAHULUAN

Lokakarya terbaik untuk setiap tukang – seorang mekanik, tukang kayu,

perekayasa perangkat lunak memiliki tiga karakteristik utama :

1. Koleksi piranti yang berguna yang akan membantu setiap langkah pembangunan

suatu produk.

2. Layout yang terorganisir yang memungkinkan piranti ditemukan dan digunakan

secara efisien.

3. Tukang yang terampil yang memahami bagaimana menggunakan piranti dengan

cara yang efektif.

Perekayasa perangkat lunak sekarang mengetahui bahwa mereka memerlukan piranti

lebih banyak dan lebih bervariasi (piranti tangan saja tidak memenuhi kebutuhan

sistem berbasis komputer modern), dan mereka membutuhkan suatu lokakarya yang

terorganisir dan efisien untuk menempatkan piranti tersebut.

Lokakarya bagi perekayasa perangkat lunak disebut lingkungan pendukung

proyek yang terintegrasi, dan tool set yang memenuhi lokakarya disebut computer

aided software engineering (CASE).

Piranti CASE menambahkan ke kotak piranti perangkat lunak. CASE memberi

perekayasa kemampuan untuk mengotomatisasi aktivitas manual dan

mengembangkan wawasan rekayasa. Seperti computer aided software engineering dan

piranti desain yang digunakan oleh perekayasa pada disiplin lain, CASE membantu

memastikan bahwa kualitas didesain sebelum produk dibangun.

PERMASALAHAN DAN PEMBAHASAN

CASE dapat menjadi sesederhana piranti tunggal yang mendukung aktivitas

rekayasa perangkat lunak spesifik atau serumit lingkungan lengkap yang meliputi

Page 3: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

3

piranti, database, manusia, perangkat keras, jaringan, sistem operasi, standar, dan

banyak lagi komponen lain. Building block untuk CASE ditunjukkan pada gambar 1.

Masing-masing membentuk fondasi untuk balok selanjutnya, dengan piranti yang

duduk di puncak tumpukan. Penting untuk dicatat bahwa fondasi untuk linkungan

CASE yang efektif berhubungan sangat sedikit dengan piranti rekayasa perangkat

lunak itu sendiri. Selain itu, lingkungan yang berhasil untuk rekayasa perangkat lunak

dibangun pada sebuah arsitektur lingkungan yang meliputi perangkat keras dan

perangkat lunak system yang sesuai. Arsitektur lingkungan juga harus memperhatikan

pola kerja manusia yang diaplikasikan selama proses rekayasa perangkat lunak.

Gambar 1. Building block CASE

Arsitektur lingkungan, yang terdiri atas platform perangkat keras dan

dukungan sistem operasi (termasuk jaringan dan perangkat lunak manajemen

database), merupakan kerja pertama untuk CASE. Tetapi lingkungan CASE itu

sendiri memerlukan blok bangunan lain. Serangkaian layanan portabilitas menjadi

jembatan antara piranti CASE dan kerangkat kerja integrasi mereka dan arsitektur

lingkungan. Kerangka kerja intergrasi adalah sekumpulan program khususnya, untuk

menciptakan database proyek dan memperlihatkan pemandangan dan perasaan (look

and feel) yang sama pada pemakai akhir (perekayasa perangkat lunak). Layanan

portabilitas memungkinkan piranti CASE dan kerangka kerja integrasinya untuk

Piranti CASE

Kerangka Kerja

Integrasi Layanan Portabilitas

Sistem Operasi

Platform Perangkat Keras

Arsitektur Lingkungan

Page 4: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

4

berpindah menyeberangi platform perangkat keras dan sistem operasi tanpa

pemeliharaan adaptif yang berarti.

Blok bangunan yang digambarkan pada gambar 1. menyajikan fondasi

komprehensif bagi integrasi piranti CASE. Tetapi sebagian besar piranti CASE yang

digunakan saat ini belum dikontruksikan dengan menggunakan semua blok bangunan

yang dibahas di atas. Kenyataannya banyak piranti CASE tetap menjadi “solusi

pokok”, yaitu piranti digunakan untuk membantu aktivitas rekayasa perangkat lunak

tertentu (misalnya, pemodelan analisis), tetapi tidak secara langsung berkomunikasi

dengan piranti lain, tidak diikat ke dalam suatu database proyek, dan bukan

merupakan bagian dari lingkungan CASE terintegrasi (I-CASE). Meskipun situasi ini

tidak ideal, piranti CASE dapat digunakan secara efektif, bahkan bila piranti itu

merupakan solusi pokok.

Pada ujung bawah spektrum integrasi adalah piranti individual (solusi pokok).

Bila piranti individual memberikan fasilitas bagi pertukaran data (sebagian besar

melakukannya), tingkat integrasi agak ditingkatkan. Piranti semacam itu

menghasilkan ouput dalam suatu format standar yang harus kompatibel dengan piranti

lain yang dapat membaca format tersebut. Dalam banyak kasus, para pembangun

piranti CASE komplementer bekerja bersama-sama untuk membentuk sebuah

jembatan di antara piranti (misalnya piranti analisis dan desain yang dirangkai dengan

suatu generator kode). Dengan menggunakan pendekatan tersebut, sinergi di antara

piranti dapat menghasilkan produk akhir yang sulit dibuat dengan menggunakan salah

satu piranti secara terpisah. Integrasi sumber tunggal terjadi pada saat suatu vendor

piranti CASE tunggal mengintegrasikan sejumlah piranti yang berbeda dan

menjualnya sebagai paket. Meskipun pendekatan ini sangat efektif, arsitektur yang

Page 5: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

5

paling dekat dengan lingkungan sumber tunggal menyulitkan penambahan dari vendor

lain.

Pada ujung atas spektrum integrasi adalah lingkungan pendukung proyek

terintegrasi (IPSE). Standar untuk masing-masing blok bangunan yang digambarkan

di atas kemungkinan diciptakan. Vendor-vendor piranti CASE menggunakan standar

IPSE untuk membangun piranti yang kompatibel dengan IPSE sehingga kompatibel

satu sama lain.

Piranti CASE dapat diklasifikasikan menurut fungsi, perannya sebagai

instrumen bagi manajer atau orang-orang teknik, kegunaannya di dalam berbagai

langkah proses rekayasa perangkat lunak, arsitektur lingkungan (perangkat keras, dan

perangkat lunak) yang mendukungnya, atau bahkan menurut asal piranti atau biaya.

Taksonomi yang disajikan di bawah ini menggunakan fungsi-fungsi sebagai kriteria

utama.

Piranti Rekayasa Informasi. Dengan memodelkan persyaratan informasi

strategis suatu organisasi, piranti rekayasa informasi memberikan “meta-

model’ dari mana sistem informasi spesifik diperoleh. Daripada berfokus pada

persyaratan aplikasi spesifik, piranti CASE ini lebih suka memodel informasi

bisnis pada saat informasi bergerak di antara berbagai entitas organisasi di

dalam suatu perusahaan. Sasaran utama untuk piranti di dalam kategori ini

adalah menyajikan objek data ini mengalir di antara area bisnis yang berbeda

di dalam suatu perusahaan.

Piranti Manajemen dan Pemodelan Proses. Bila suatu organisasi bekerja

untuk mengembangkan sebuah proses bisnis (atau perangkat lunak), pertama-

tama organisasi harus memahaminya. Piranti pemodelan proses (disebut juga

piranti “teknologi proses”) digunakan untuk menyajikan elemen-elemen kunci

Page 6: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

6

dari suatu proses sehingga proses dapat dipahami dengan lebih baik. Piranti

semacam itu dapat juga memberikan link ke deskripsi proses yang membantu

mereka yang terlibat di dalam proses tersebut untuk memahami tugas-tugas

yang diperlukan untuk melakukan proses tersebut. Piranti manajemen proses

dapat memberikan link bagi piranti yang memberikan dukungan untuk

menentukan aktivitas proses.

Piranti Perencanaan Proyek. Piranti di dalam kategori ini berfokus pada

usaha proyek perangkat lunak dan estimasi biaya, serta penjadwalan proyek.

Piranti estimasi menghitung usaha yang diperkirakan, durasi proyek, dan

jumlah manusia yang direkomendasi dengan menggunakan suatu teknik.

Penjadwalan proyek memungkinkan manajer menentukan semua tugas proyek

(struktur pembagian kerja), menciptakan suatu jaringan tugas (biasanya

dengan menggunakan input grafis), menyajikan interdependensi tugas-tugas,

dan memodel jumlah paralelisme yang mungkin untuk proyek tersebut.

Piranti Analisis Risiko. Mengidentifikasi resiko potensial dan

mengembangkan suatu rencana untuk mengurangi, memonitor, dan mengatur

risiko merupakan hal berharga pada proyek yang besar. Piranti analisis risiko

memungkinkan seorang manajer proyek untuk membangun suatu tabel risiko

dengan memberikan pedoman detail di dalam identifikasi dan analisis risiko.

Piranti Manajemen Proyek. Jadwal proyek dan rencana proyek harus

ditelusuri dan dimonitor terus-menerus. Sebagai tambahan, manajer harus

menggunakan piranti untuk mengumpulkan metrik yang akan memberikan

indikasi mengenai kualitas produk perangkat lunak. Piranti di dalam kategori

itu sering merupakan ekstensi dari perencanaan proyek.

Page 7: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

7

Piranti Penelusuran Proyek. Bila sistem yang besar dikembangkan, sistem

yang disampaikan sering gagal memenuhi persyaratan khusus pelanggan.

Sasaran dari penelusuran persyaratan adalah memberikan pendekatan

sistematis ke isolasi persyaratan, mulai dari permintaan proposal pelanggan

(RFP) atau spesifikasi. Persyaratan tipikal yang menelusuri piranti yang

menggabungkan evaluasi teks human-interactive dengan sistem manajemen

database yang menyimpan dan mengkategorikan setiap persyaratan sistem

yang “diuraikan” dari RFP orisinil atau spesifikasi.

Piranti Manajemen dan Metrik. Metrik perangkat lunak meningkatkan

kemampuan manajer untuk mengontrol dan mengkoordinasi proses perangkat

lunak dan kemampuan praktisi untuk mengembangkan kualitas perangkat

lunak yang diproduksi. Piranti metrik dan pengukuran saat ini berfokus pada

proses, proyek, dan karakteristik produk. Piranti yang berorientasi pada

manajmen menangkap metrik spesifik proyek. (misalnya, LOC/person-month,

cacat per function point) yang memberikan indikasi menyeluruh mengenai

produktivitas dan kualitas. Piranti yang diorientasikan secara teknis

menentukan metrik teknis yang memberikan wawasan yang lebih besar ke

dalam kualitas desain atau kode. Banyak dari piranti metrik yang lebih maju

menyimpan database yang mengukur “rata-rata industri”. Berdasarkan proyek

dan karakteristik produk yang diberikan oleh pemakai, piranti semacam itu

“mempercepat” jumlah lokal terhadap rata-rata industri (dan kinerja lokal yang

lalu) dan mengusulkan strategi pengembangan.

Piranti Dokumentasi. Piranti produksi dokumen dan desktop publishing

mendukung hampir setiap aspek rekayasa perangkat lunak dan menyajikan

kesempatan “pengungkit” substansial untuk semua pengembang perangkat

Page 8: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

8

lunak. Sebagian besar organisasi pengembangan perangkat lunak

menghabiskan banyak waktu untuk mengembangkan dokumen, dan dalam

banyak kasus proses dokumentasi itu sendiri sangat tidaklah efisien. Tidak

biasa bagi organisasi pengembangan perangkat lunak untuk menggunakan 20

sampai 30 persen dari semua usaha pengembangan perangkat lunak pada

dokumentasi. Karena itulah piranti dokumentasi memberikan kesempatan

penting untuk meningkatkan produktivitas.

Piranti Perangkat Lunak Sistem. CASE merupakan teknologi workstation.

Dengan demikian, lingkungan CASE harus mengakomodasi sistem jaringan

kualitas tinggi, e-mail, papan buletin, dan kemampuan komunikasi lainnya.

Piranti jaminan Kualitas. Mayoritas piranti CASE yang mengklaim bahwa ia

berfokus pada jaminan kualitas, sebenarnya merupakan piranti metrik yang

mengaudit kode sumber untuk menentukan kesesuaian dengan bahasa standar.

Piranti lainnya mengekstrak metrik teknologi dalam usaha memproyeksikan

kualitas perangkat lunak yang sedang dibangun.

Piranti Manajemen Database. Piranti lunak manajemen database berfungsi

sebagai suatu fondasi bagi pembangunan database CASE (tempat

penyimpanan), yang kita sebut juga database proyek. Dengan menekankan

objek konfigurasi, piranti manajemen database untuk CASE dapat berkembang

dari sistem manajemen database relasional (RDMS) ke sistem manajemen

database OO (OODMS).

Piranti Manajemen Konfigurasi Perangkat Lunak. Manajemen konfigurasi

perangkat lunak (SCM) ada pada inti setiap lingkungan CASE. Piranti dapat

membantu kelima tugas SCM mayor – identifikasi, kontrol versi, kontrol

perubahan, auditing, dan akunting status. Database CASE memberikan

Page 9: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

9

mekanisme untuk mengidentifikasi masing-masing item konfigurasi dan

menghubungkannya dengan item lainnya; proses kontrol yang perlu

didiskusikan dapat diimplementasikan dengan bantuan piranti khusus; akses

yang mudah ke item konfigurasi individual memfasilitasi proses auditing; dan

piranti komunikasi CASE dapat sangat meningkatkan accounting status

(pelaporan informasi mengenai perubahan bagi semua yang ingin tahu).

Piranti Analisis dan Desain. Piranti analisis dan desain memungkinkan

perekayasa perangkat lunak untuk menciptakan model sistem yang akan

dibangun. Model tersebut berisi representasi data, fungsi, dan tingkah laku

(pada tingkat analisis), dan karakterisasi data, arsitektur, prosedural, dan

desain interface.

Dengan memeriksa konsistensi dan validitas model tersebut, piranti analisis

dan desain memberi perekayasa perangkat lunak beberapa tingkat wawasan ke

dalam representasi analisis dan membantu mengeliminasi kesalahan sebelum

menyebar ke dalam bentuk desain, atau lebih buruk lagi, ke dalam

implementasi itu sendiri.

Piranti PROYEK/SIM. Piranti PRO/SIM (prototyping dan simulasi)

memberi perekayasa perangkat lunak kemampuan untuk meramalkan tingkah

laku sistem real-time sebelum sistem dibangun. Piranti itu juga

memungkinkan perekayasa perangkat lunak mengembangkan mock-up sistem

real-time yang mengijinkan pelanggan mendapatkan wawasan ke dalam

fungsi, operasi, dan responnya sebelum implementasi sesungguhnya.

Piranti pengembangan dan Desain Interface. Desain interface da piranti

pengembangan sebenarnya merupakan suatu tool kit dari komponen program

seperti tombol menu, struktur window, ikon, mekanisme scrolling, devise

Page 10: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

10

driver dan sebagainya. Tetapi tool kit ini sedang diganti oleh piranti prototype

interface yang memungkinkan pembuatan on-screen yang cepat dari interface

pemakai yang canggih yang sesuai dengan standar interfacing yang telah

diadopsi untuk perangkat lunak tersebut.

Piranti Prototyping. Berbgai piranti prototyping yang berbeda dapat

digunakan. Screen painters memungkinkan perekayasa perangkat lunak

menentukan layout layar dengan cepat untuk aplikasi interaktif. Piranti

prototyping CASE yang lebih canggih memungkinkan pembuatan desain data

untuk dirangkai dengan layar maupun layout laporan. Banyak analisis dan

piranti desain memiliki ekstensi yang memberikan pilihan prototyping. Piranti

PRO/SIM memunculkan kerangka Ada dan kode sumber C untuk aplikasi

rekayasa (real-time). Akhirnya, berbagai piranti generasi keempat memiliki

fitur-fitur prototyping.

Piranti Pemrograman. Kategori piranti pemograman meliputi kompiler,

editor, dan debugger yang dapat diperoleh untuk mendukung sebagian besar

bahasa pemrograman konvensional. Lingkungan pemrograman OO, bahasa

generasi keempat, lingkungan pemrograman grafis, generator aplikasi, dan

bahasa query database juga berada dalam kategori ini.

Piranti Integrasi dan Pengujian. Dalam direktori mereka mengenai piranti

pengujian perangkat lunak, Software Quality Engineering menetapkan

kategori piranti berikut ini:

Akuisisi data – piranti yang mendapatkan data untuk digunakan selama

pengujian

Pengukuran statis – piranti yang menganalisis kode sumber selama

eksekusi

Page 11: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

11

Simulasi – piranti yang mensimulasi fungsi-fungsi perangkat keras atau

fungsi eksternal lainnya

Manajemen pengujian – piranti yang membantu dalam perencanaan,

pengembangan, dan kontrol pengujian

Piranti cross-functional – piranti yang melintasi batas-batas kategori di

atas.

Harus dicatat bahwa banyak piranti pengujian memiliki fitur yang mencakup

dua atau lebih kategori tersebut.

Piranti Analisis Statis. Piranti pengujian statis membantu perekayasa perangkat

dalam melakukan test case. Ada tiga tipe piranti pengujian statis yang berbeda yang

digunakan dalam industri : piranti pengujian berbasis kode, bahasa pengujian

terspesialisasi, dan piranti pengujian berdasarkan persyaratan. Piranti pengujian

berbasis kode menerima kode sumber (atau PDL) sebagai input dan melakukan

sejumlah analisis yang menghasilkan pemunculan test case. Bahasa pengujian

terspesialisasi (misalnya, ATLAS) memungkinkan perangkat lunak menulis

spesifikasi pengujian yang menggambarkan masing-masing test case dan logistik

untuk eksekusinya. Piranti pengujian berbasis persyaratan mengisolasi persyaratan

pemakai spesifik dan mengusulkan test case (atau kelas pengujian) yang akan

menggunakan persyaratan tersebut.

Piranti Analisis Dinamis. Piranti pengujian dinamis ber-interaksi dengan program

pengeksekusian, memeriksa cakupan jalur, menguji pernyataan yang tegas mengenai

nilai variabel spesifik, dan sebaliknya menginstrumentasi aliran eksekusi dari program

tersebut. Piranti dinamis dapat intrusif atau nonintrusif. Piranti intrusif mengubah

perangkat lunak yang akan diuji dengan pemeriksaan yang diselipkan(instruksi ekstra)

yang melakukan aktivitas yang dicantumkan di atas. Piranti pengujian non-intrusif

Page 12: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

12

menggunakan prosesor perangkat keras yang terpisah yang berisi program yang

sedang diuji.

Piranti Manajemen Pengujian. Piranti manajemen pengujian digunakan untuk

mengontrol dan mengkoordinasi pengujian perangkat lunak bagi masing-masing

langkah pengujian mayor. Piranti di dalam kategori ini mengatur dan mengkoordinasi

pengujian regresi, melakukan perbandingan yang menegaskan perbedaan di antara

loutput yang diharapkan, dan melakukan pengujian batch dari program dengan

interface manusia-komputer yang interaktif. Sebagai tambahan untuk fungsi-fungsi

tersebut, banyak piranti manajemen pengujian yang juga berfungsi sebagai pengendali

pengujian generik. Pengendali pengujian membaca satu atau lebih test case dari suatu

file ujian, memformat data pengujian untuk disesuaikan dengan kebutuhan perangkat

lunak di bawah pengujian, dan kemudian memanggil perangkat lunak yang akan diuji.

Piranti Pengujian Client/Server. Lingkungan Client/Server memerlukan piranti

pengujian terspesialisasi yang menggunakan interface pemakai grafis dan persyaratan

komunikasi jaringan untuk client/server.

Piranti Rekayasa Ulang. Kategori piranti rekayasa ulang dapat dibagi-bagi lagi ke

dalam fungsi-fungsi berikut ini:

Reverse engineering ke piranti spesifikasi – ambil kode sumber sebagai

input dan memunculkan analisis terstruktur grafis dan model desain, daftar

where-used, dan informasi desain lainnya;

Code restructuring dan piranti analisis – analisis sintak program,

menghasilkan grafik aliran kontrol, dan secara otomatis memunculkan

program terstruktur; dan

Page 13: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

13

Piranti rekayasa ulang on-line – digunakan untuk memodifikasi sistem

database on-line (misalnya, konversi file-file IDM atau DB2 ke dalam

format hubungan entitas).

Banyak dari piranti tersebut dibatasi sampai bahasa pemograman spesifik

(meskipun sebagian besar bahasa mayor disinggung) dan membutuhkan beberapa

tingkat interaksi dengan perekayasa perangkat lunak.

Piranti reverse engineering dan forward engineering untuk generasi selanjutnya akan

banyak menggunakan teknik kecerdasan buatan, dengan mengaplikasikan dasar

pengetahuan yaitu spesifik domain aplikasi (yaitu, serangkaian aturan dekomposisi

yang akan berlaku bagi semua program di dalam suatu area aplikasi khusus seperti

kontrol pemanufakturan atau sistem penerbangan pesawat). Komponen AI akan

membantu rekonstruksi dan dekomposisi sistem, tetapi akan tetap membutuhkan

interaksi dengan perekayasa perangkat lunak pada seluruh siklus rekayasa ulangnya.

Meskipun ada keuntungan yang dapat diambil dari piranti CASE individual

yang menekankan aktivitas rekayasa perangkat lunak yang terpisah, kekuatan CASE

real hanya dapat dicapai melalui integrasi. Keuntungan CASE terintegrasi (I-CASE)

meliputi (1) transfer ke piranti lain dan dari satu langkah rekayasa perangkat lunak ke

langkah rekayasa perangkat lunak selanjutnya; (2) reduksi di dalam usaha yang

diperlukan untuk melakukan aktivitas pelindung (umbrella activity) seperti

manajemen konfigurasi, jaminan kualitas, dan produksi dokumen; (3) pertambahan di

dalam kontrol proyek yang dicapai melalui perencanaan, monitoring, dan komunikasi

yang lebih baik; dan (4) koordinasi yang dikembangkan di antara anggota staf yang

sedang bekerja pada proyek perangkat lunak yang besar.

Page 14: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

14

Tetapi I-CASE juga merupakan tantangan yang berat. Integrasi memerlukan

representasi yang konsisten dari informasi rekayasa perangkat lunak, standarisasi

interface di antara piranti, mekanisme yang homogen untuk berkomunikasi di antara

perekayasa perangkat lunak dan masing-masing piranti, serta pendekatan yang efektif

yang akan memungkinkan I-CASE bergerak di antara berbagai platform perangkat

keras dan sistem operasi. Meskipun solusi bagi masalah yang diimplikasikan oleh

tantangan-tantangan itu telah diusulkan, lingkungan I-CASE yang komprehensif baru

dalam tahap awal kemunculannya.

Istilah “integrasi” mengimplikasikan “kombinasi” maupun “klosur”. I-CASE

menggabungkan sebagai interface yang berbeda dan informasi yang berbeda dengan

cara yang memungkinkan pengakhiran komunikasi di antara piranti, di antara

manusia, dan pada proses perangkat lunak. Piranti diintegrasikan sehingga informasi

rekayasa perangkat lunak tersedia bagi setiap piranti yang membutuhkannya;

penggunaannya diintegrasikan sehingga look and feel untuk semua piranti; dan

filosofi pengembangan diintegrasikan, dengan mengimplikasikan suatu pendekatan

rekayasa perangkat lunak standar yang menerapkan praktek modern dan metode yang

dibuktikan.

Untuk menentukan integrasi di dalam konteks proses perangkat lunak,

diperlukan pembangunan serangkaian persyaratan untuk I-CASE: Lingkungan I-

CASE harus :

Memberikan mekanisme untuk memakai bersama informasi rekayasa

perangkat lunak di antara semua piranti yang diisikan di dalam lingkungan

tersebut;

Memungkinkan perubahan pada satu item informasi yang akan ditelusuri ke

item informasi yang berhubungan;

Page 15: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

15

Memberikan kontrol versi dan manajemen konfigurasi keseluruhan bagi

semua informasi rekayasa perangkat lunak;

Mengijinkan akses langsung dan tidak berurutan ke setiap piranti yang

diisikan di dalam lingkungan;

Membangun dukungan yang diotomatisasi untuk konteks prosedural bagi kerja

rekayasa perangkat lunak yang mengintegrasikan piranti dan data ke dalam

suatu struktur pembagian kerja standar;

Memungkinkan pemakai masing-masing piranti untuk mendapatkan look and

feel yang konsisten pada interface manusia-komputer;

Mengumpulkan baik metrik manajemen dan teknik yang dapat digunakan

untuk mengembangkan proses dan produksi.

Untuk memenuhi persyaratan-persyaratan tersebut, masing-masing blok

bangunan arsitektur CASE (Gambar 1.) harus cocok dengan gaya yang tidak

berkelim. Seperti diperlihatkan pada Gambar 2., blok bangunan fondasi – arsitektur

lingkungan, platform perangkat keras, dan sistem operasi – harus “digabungkan”

melalui serangkaian layanan portabilitas untuk kerangka kerja integrasi yang

memenuhi persyaratan tersebut.

Gambar 2. Elemen-elemen I-CASE

Tiang fondasi

- arsitektur

- platform h/w

- O. S.

Kerangka kerja

integrasi

Layanan

Portabilitas

Piranti CASE

Page 16: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

16

Tim rekayasa perangkat lunak menggunakan piranti CASE, metode yang

berhubungan, dan kerangka kerja proses untuk menciptakan kolam informasi rekayasa

perangkat lunak. Kerangka kerja integrasi memfasilitasi pemindahan informasi ke

dalam dan keluar dari kolam tersebut. Untuk melakukannya, komponen arsitektur

berikut ini harus ada: database untuk menyimpan informasi, sistem manajemen objek

untuk mengatur perubahan informasi, mekanisme kontrol piranti lunak

mengkoordinasi penggunaan piranti CASE, dan interface pemakai untuk memberikan

jalur yang konsisten di antara aksi yang dilakukan oleh pemakai dan piranti yang

diisikan di dalam lingkungan itu. Sebagian besar model kerangka kerja integrasi

menyajikan komponen-komponen tersebut sebagai lapisan. Model kerangka kerja

yang sederhana yang hanya menggambarkan komponen-komponen tersebut

diperlihatkan pada gambar 3.

Gambar 3. Model arsitektur untuk kerangka kerja integrasi

Lapisan interface pemakai (Gambar 3.) menggabungkan tool kit interface standar

dengan suatu protokol representsi biasa. Tool kit interface berisi perangkat lunak

untuk manajemen interface manusia-komputer dan pustaka untuk objek-objek display.

Lapisam shared repository

database CASE

fungsi-fungsi kontrol akses

Lapisan menejemen objek

layanan integrasi

layanan menajemen konfigurasi

Lapisam shared repository

database CASE

Fungsi-fungsi kontrol akses

Layanan manajemen piranti

piranti

Case lapisam piranti

Page 17: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

17

Keduanya memberikan mekanisme yang konsisten untuk komunikasi di antara

interface dan piranti CASE individual. Protokol representasi adalah himpunan

pedoman yang membuat semua piranti CASE memiliki look and feel yang sama.

Konvensi layout layar, nama-nama menu dan organisasi, ikon, nama-nma objek,

kegunaan keyboard dan mouse, dan mekanisme bagi akses piranti, semuanya

ditetapkan sebagai bagian dari protokol representasi.

Lapisan piranti menggabungkan serangkaian layanan manajemen piranti

dengan piranti CASE itu sendiri. Layanan manajemen piranti (TMS) mengontrol

tingkah laku piranti di dalam lingkungan tersebut. Bila multitasking digunakan selama

eksekusi terhadap satu piranti atau lebih, maka TMS melakukan sinkronisasi

multitasking dan berkomunikasi dan mengkoordinasi aliran informasi dari tempat

penyimpanan dan sistem manajemen objek ke dalam piranti, melakukan pengamanan

dan fungsi auditing, dan mengumpulkan metrik pada pemakaian piranti.

Lapisan manajemen objek (OML) melakukan fungsi manajemen konfigurasi.

Pada intinya, perangkat lunak di dalam lapisan arsitektur kerangka kerja ini

memberikan mekanisme bagi integrasi piranti. Setiap piranti CASE “diisikan ke

dalam” lapisan manajemen objek. Dalam hubungannya dengan tempat penyimpanan

CASE, OML memberikan layanan integrasi – serangkaian modul standar yang

merangkai piranti dengan tempat penyimpanan. OML juga memberikan layanan

manajemen konfigurasi dengan memungkinkan identifikasi terhadap semua objek

konfigurasi, dengan melakukan kontrol versi, dan memberikan dukungan untuk

kontrol perubahan, audit, dan status accounting.

Lapisan shared repository adalah database CASE dan fungsi kontrol akses

yang memungkinkan lapisan manajemen objek berintegrasi dengan database. Integrasi

data dicapai melalui manajemen objek dan lapisan shared repository.

Page 18: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

18

Webster’s Dictionary mendefenisikan kata “repository” sebagai “setiap hal

atau person yang dianggap sebagai pusat dari akumulasi atau penyimpanan.” Selama

sejarah awal pengembangan perangkat lunak, tempat penyimpanan benar-benar

merupakan person – pemrograman yang harus mengingat lokasi semua informasi

yang relevan dengan suatu proyek perangkat lunak, yang harus melihat kembali

informasi yang tidak pernah ditulis dan merekonstruksi informasi yang telah hilang.

Sayangnya, dengan menggunakan person sebagai “pusat akumulasi dan

penyimpanan” (meskipun sesuai dengan definisi kamus), tidak bekerja dengan baik.

Saat ini tempat penyimpanan berupa suatu “hal” – database yang bertindak sebagai

pusat bagi akumulasi dan penyimpanan informasi rekayasa perangkat lunak. Peran

person (perekayasa perangkat lunak) adalah untuk berinteraksi dengan tempat

penyimpanan dengan menggunakan piranti CASE yang diintegrasikan dengannya.

Dalam tulisan ini, digunakan sejumlah bentuk yang berbeda untuk mengacu

tempat penyimpanan bagi informasi rekayasa perangkat lunak: database CASE,

database proyek, database lingkungan pendukung proyek terintegrasi (IPSE), kamus

data (database terbatas), dan tempat penyimpanan. Meskipun ada perbedaan yang

tidak kentara di antara beberapa bentuk tersebut, semua mengacu pada benda – pusat

untuk akumulasi dan penyimpanan.

Tempat penyimpanan untuk lingkungan I-CASE merupakan rangkaian

mekanisme dan struktur data yang mencapai data – piranti dan data – integrasi data.

Tempat penyimpanan memberikan fungsi yang jelas dari sistem manajemen database,

tetapi sebagai tambahan, tempat penyimpanan melakukan atau memunculkan fungsi-

fungsi berikut :

Page 19: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

19

Integritas data – mencakup fungsi-fungsi untuk memvalidasi masukan ke

tempat penyimpanan, memastikan konsistensi di antara objek yang

berhubungan, dan secara

otomatis melakukan modifikasi yang “berpencar ke bawah” pada saat

perubahan ke satu objek memerlukan banyak perubahan pada objek yang

dihubungkan dengannya;

Berbagai pakai informasi – memberikan mekanisme untuk memakai bersama-

sama informasi di antara para pengembang dan di antara piranti, mengatur dan

mengontrol akses yang multiuser ke data dan mengunci/membuka objek

sehingga perubahan dengan hati-hati akan melapisi satu sama lain;

Integrasi piranti-data – membangun suatu model data yang dapat diakses oleh

semua piranti di dalam lingkungan I-CASE, mengontrol akses ke data, dan

melakukan fungsi manajemen konfigurasi yang sesuai;

Integrasi data-data – sistem manajemen database menghubungkan objek data

sehingga fungsi-fungsi lain dapat dicapai;

Pelaksanaan metodologi – model data E-R yang disimpan di dalam tempat

penyimpanan dapat menyatakan secara langsung suatu paradigma spesifik

bagi rekayasa perangkat lunak – pada tingkat minimum, hubungan dan objek

mendefenisikan serangkaian langkah yang harus dilakukan untuk membangun

sisi dari tempat penyimpanan; dan

Standarisasi dokumen – defenisi objek di dalam database secara langsung

mengarah kepada pendekatan standar untuk membuat dokumen rekayasa

perangkat lunak.

Untuk mencapai fungsi tersebut, tempat penyimpanan ditentukan dalam

bentuk metamodel. Metamodel itu menentukan bagaimana informasi disimpan di

Page 20: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

20

dalam tempat penyimpanan, bagaimana data dapat diakses oleh piranti dan dikaji oleh

para perekayasa perangkat lunak, seberapa baik sekuritas dan integritas data dapat

dijaga, dan seberapa mudah model yang ada dapat diperluas untuk mengakomodasi

kebutuhan-kebutuhan baru.

Metamodel adalah template tempat menaruh informasi rekayasa perangkat

lunak. Metamodel entity-relationship dapat dibuat, tetapi lainnya, yaitu model yang

lebih canggih, juga ada dalam pertimbangan. Diskusi detail mengenai model-model

tersebut tidak ada dalam tulisan ini.

Fitur dan isi tempat penyimpanan paling baik dipahami dengan melihatnya

dari dua perspektif: Apa yang akan disimpan di dalam tempat penyimpanan dan

layanan spesifik apa yang diberikan oleh tempat penyimpanan dan layanan spesifik

apa yang diberikan oleh tempat penyimpanan itu? Secara umum, tipe hal-hal yang

akan disimpan dalam tempat penyimpanan meliputi:

Masalah yang akan dipecahkan

Informasi mengenai domain masalah

Aturan dan instruksi mengenai proses perangkat lunak (metodologi) yang

sedang diikuti

Rencana proyek, sumber daya, dan sejarah

Informasi mengenai konteks organisasi

Daftar lengkap mengenai tipe representasi, dokumen, dan kemampuan

penyampaian yang disimpan dalam tempat penyimpanan CASE ada pada Tabel 1.

Tempat penyimpanan CASE yang kokoh memberikan dua kelas layanan yang

berbeda: (1) tipe layanan yang akan diharapkan dari setiap sistem manajemen

database yang sesuai, dan (2) layanan spesifik terhadap lingkungan CASE.

Page 21: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

21

Tabel 1. Isi Repositori CASE

Informasi Enterprise Konstruksi

Struktur organisasi

Analisis area bisnis

Aturan bisnis

Model proses (skenario)

Arsitektur informasi

Desain Aplikasi Aturan metodologi

Kode sumber; kode objek

Instruksi pembentukan sistem

Citra biner

Dependensi konfigurasi

Perubahan informasi

Validasi dan Verifikasi

Rencana pengujian; Uji kasus data

Skrip uji regresi

Hasil tes

Analisis statistik

Metrik kualitas perangkat lunak

Informasi manajemen proyek

Rencana proyek

Struktur pembagian kerja

Estimasi; Jadwal

Pengisian sumber daya; Laporan masalah

Permintaan perubahan; Laporan status

Pemeriksaan informasi

Dokumentasi sistem

Dokumen persyaratan

Desain eksternal/internal

Manual pemakai

Banyak persyaratan tempat penyimpanan sama dengan persyaratan aplikasi

tipikal yang dibangun pada suatu sistem manajemen database komersial (DBMS).

Pada dasarnya, sebagian besar tempat penyimpanan CASE sekarang ini menggunakan

DBMS (biasanya relasional atau Orientasi Objek) sebagai teknologi manajemen data

dasar. Fitur standar DBMS dari suatu tempat penyimpanan CASE yang mendukung

manajemen informasi rekayasa perangkat lunak meliputi:

Penyimpanan data nonredundan. Tempat penyimpanan CASE memberikan

tempat tunggal untuk penyimpanan semua informasi yang berhubungan

dengan pengembangan sistem perangkat lunak, mengeliminasi pemborosan

dan secara potensial duplikasi error-prone.

Page 22: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

22

Akses kelas tinggi. Tempat penyimpanan memberikan mekanisme akses data

umum sehingga fasilitas penanganan data tidak harus ditiru pada masing-

masing piranti CASE.

Independensi data. Piranti CASE dan aplikasi target diisolasi dari penyim-

panan fisik sehingga tidak dipengaruhi pada saat konfigurasi diubah.

Kontrol transaksi. Tempat penyimpanan mengatur interaksi multibagian

dengan cara yang menjaga integritas data bila ada pemakai yang konkuren dan

di dalam kejadian kegagalan sistem. Hal ini mengimplikasikan penguncian

record, pelaksanaan dua tahap, transaksi logging, dan prosedur penyembuhan.

Keamanan. Tempat penyimpanan memberikan mekanisme untuk mengontrol

siapa yang dapat melihat dan memodifikasi informasi yang diisikan di dalam-

nya. Tempat penyimpanan minimal harus menjalankan password multilevel

dan tingkat pembolehan yang diberikan oleh para pemakai individual.

Query dan laporan data ad hoc. Tempat penyimpanan mengijinkan akses

langsung ke isinya melalui interface pemakai yang baik seperti SQL atau

"browser" yang berorientasi pada bentuk, memungkinkan analisis user-defined

di luar laporan standar Yang diberikan dengan tool set CASE.

Keterbukaan. Tempat penyimpanan biasanya memberikan mekanisme

impor/ekspor untuk memungkinkan loading atau transfer yang sangat besar.

Interface biasanya berupa transfer file ASCII mentah atau interface SQL

standar. Banyak tempat penyimpanan memiliki interface tingkat yang lebih

tinggi yang merefleksikan struktur metamodel mereka.

Dukungan multiuser. Tempat penyimpanan yang baik harus mengijinkan

para pengembang bekerja pada suatu aplikasi pada saat yang sama. Tempat

penyimpanan harus mengatur akses konkuren ke database oleh banyak piranti

Page 23: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

23

dan pemakai dengan arbritrase akses dan penguncian pada tingkat file atau

record. Untuk lingkungan yang berdasarkan jaringan, dukungan multiuser juga

menyatakan secara langsung bahwa tempat penyimpanan berinteraksi dengan

protokol dan fasilitas jaringan biasa.

Lingkungan CASE secara khusus juga memerlukan tempat penyimpanan

lebih dari yang tersedia pada DBMS komersial. Fitur khusus tempat penyimpanan

CASE meliputi:

Penyimpanan struktur data yang canggih. Tempat penyimpanan harus

mengakomodasi tipe data kompleks seperti diagram, dokumen, dan file, serta

elemen, data sederhana. Tempat penyimpanan juga meliputi model informasi

(atau metamodel) yang menggambarkan struktur, hubungan, dan semantik dari

data yang disimpan di dalamnya. Metamodel harus dapat diperluas sehingga

representasi dan informasi organisasional yang unik, dapat diakomodasi.

Tempat penyimpanan tidak hanya menyimpan model dan deskripsi sistem

yang sedang dikembangkan, tetapi juga metadata yang berhubungan (yaitu,

informasi tambahan yang menggambarkan informasi rekayasa perangkat lunak

itu sendiri, misal pada saat suatu komponen desain tertentu diciptakan, apa

statusnya sekarang dan komponen lain yang menjadi tempat komponen

bergantung).

Penyelenggaraan Integritas. Model informasi tempat, penyimpanan juga

berisi aturan, atau kebijakan, yang menggambarkan aturan bisnis yang berlaku

serta batasan dan persyaratan lain pada informasi yang sedang dimasukkan ke

dalam tempat penyimpanan (secara langsung atau melalui suatu piranti

CASE). Fasilitas yang disebut trigger dapat digunakan untuk mengaktivasi

aturan yang sesuai dengan suatu objek setiap saat objek dimodifikasi, yang

Page 24: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

24

membuatnya mungkin untuk memeriksa validitas model desain, dalam

real-time.

Interface piranti semantic-rich. Model informasi tempat penyimpanan

(metamodel) berisi semantik yang memungkinkan berbagai piranti meng-

interpretasikan arti dari data yang disimpan di dalam tempat penyimpanan.

Misalnya, diagram aliran data yang diciptakan oleh suatu piranti CASE

disimpan di dalam tempat penyimpanan dalam bentuk yang berdasarkan

model informasi dan tidak tergantung pada setiap representasi internal yang

digunakan oleh piranti itu sendiri. Piranti CASE yang lain kemudian meng-

interpretasikan isi tempat penyimpanan dan menggunakan informasi yang

dibutuhkan untak tugasnya. Demikianlah, semantik yang disimpan di dalam

tempat penyimpanan mengijinkan pemakaian bersama data di antara berbagai

macam piranti, pada saat diperhadapkan pada konversi piranti-ke-piranti atau

“jembatan”.

Manajemen, proses/proyek. Tempat penyimpanan berisi informasi yang

tidak hanya tentang aplikasi perangkat lunak itu sendiri, tetapi juga

karakteristik dari masing-masing proyek khusus dan proses umum organisasi

bagi rekayasa perangkat lunak (fase, tugas-tugas, dan kemampuan

penyampaian). Hal ini membuka kemungkinan untak mengotomasi koordinasi

aktivitas pengembangan teknik dengan aktivitas manajemen proyek.

Contohnya, pembaruan status tugas-tugas proyek dapat dilakukan secara

otomatis atau sebagai by-produk dengan menggunakan piranti CASE.

Pembaruan status dapat dilakukan dengan sangat mudah bagi para

pengembang tanpa harus meninggalkan lingkungan pengembangan normal.

Pemberian tugas dan query juga dapat ditangani oleh e-mail. Laporan

Page 25: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

25

masalah, tugas-tugas pemeliharaan, autorisasi perubahan, dan status perbaikan

dapat dikoordinasikan dan dimonitor melalui piranti yang mengakses tempat

penyimpanan.

Fitur tempat penyimpanan berikut ini semua dicakup oleh manajemen

konfigurasi perangkat lunak. Fitur itu diuji lagi di sini untuk menekankan interrelasi di

antara mereka terhadap lingkungan I-CASE.

Versioning. Pada, saat proses berjalan, banyak versi dari produk kerja individual akan

diciptakan. Tempat penyimpanan harus dapat menyimpan semua versi ini untuk

memungkinkan manajemen efektif dari rilis produksi dan untuk mengijinkan

pengembang berbalik ke versi sebelumnya selama pengujian dan debugging.

Versioning dilakukan dengan algoritma kompresi untuk meminimalkan alokasi

penyimpanan, dan mengijinkan regenerasi dari setiap versi terakhir dengan beberapa

overhead pemrosesan.

Penelusuran Ketergantungan dan Manajemen Perubahan. Tempat penyimpanan

mengatur berbagai hubungan di antara elemen data yang disimpan di dalamnya;

mencakup hubungan di antara entitas perusahaan dan proses, di antara bagian-bagian

dari suatu desain aplikasi, di antara komponen desain dan arsitektur informasi

perusahaan, di antara elemen desain dan kemampuan penyampaian, dan seterusnya.

Beberapa dari hubungan itu hanya merupakan asosiasi, dan beberapa merupakan

ketergantungan atau hubungan sebagai keharusan. Pemeliharaan hubungan di antara

objek pengembangan ini disebut manajemen link.

Kemampuan untuk melacak semua hubungan ini merupakan hal krusial bagi

integritas informasi yang disimpan dalam repositori dan untuk membangkitkan

kemampuan penyampaian, dan ini merupakan kontribusi yang paling penting dari

Page 26: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

26

konsep repositori untuk peningkatan proses pengembangan perangkat lunak. Di antara

banyak fungsi yang didukung oleh manajemen link adalah kemampuan untuk

mengidentifikasi dan memperkirakan pengaruh perubahan. Pada saat desain

berkembang untuk memenuhi persyaratan yang baru, kemampuan pengidentifikasian

semua objek yang dapat dipengaruhi memungkinkan perkiraan biaya yang lebih

akurat, downtime, dan tingkat kesulitan. Kemampuan pengidentifikasian juga

membantu mencegah efek samping yang tidak diharapkan yang sebaliknya akan

membawa kepada cacat dan kegagalan sistem.

Penelusuran Persyaratan. Fungsi khusus yang bergantung pada manajemen link

adalah penelusuran persyaratan. Penelusuran persyaratan merupakan kemampuan

untuk menelusuri semua komponen desain dan kemampuan penyampaian yang

dihasilkan dari suatu spesifikasi persyaratan spesifik (forward tracking), serta

kemampuan untuk mengidentifikasi persyaratan yang mana yang dimunculkan oleh

kemampuan penyampaian yang diberikan (backward tracking).

Manajemen Konfigurasi. Fungsi lain yang bergantung pada manajemen link adalah

manajemen konfigurasi. Fasilitas manajemen konfigurasi bekerja dengan manajemen

link dan fasilitas versioning untuk melacak serangkaian konfigurasi yang

merepresentasikan kejadian penting dari proyek spesifik atau rilis produk. Manajemen

versioning menyediakan versi-versi yang diperlukan, dan manajemen link menjaga

jalur dari saling ketergantungan. Misalnya, manajemen konfigurasi sering

memberikan suatu fasilitas build untuk mengotomatisasi proses transformasi

komponen desain ke dalam kemampuan penyampaian yang dapat dieksekusi.

Audit Trail. Dihubungkan dengan manajemen perubahan adalah kebutuhan akan

audit trail yang membangun informasi tambahan tentang kapan, mengapa, dan oleh

siapa perubahan dibuat. Sebenarnya hal ini bukan merupakan persyaratan yang sulit

Page 27: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

27

bagi suatu tempat penyimpanan yang memiliki model informasi yang kokoh.

Informasi mengenai sumber perubahan dapat dimasukkan sebagai atribut objek

spesifik di dalam tempat penyimpanan. Mekanisme pemicu tempat penyimpanan

sangat membantu dalam memberikan peringatan kepada pengembang atau piranti

yang sedang dia pergunakan untuk mengawali entry informasi audit (misal alasan

untuk suatu perubahan) kapan saja suatu elemen desain dimodifikasi.

KESIMPULAN

Piranti CASE menjangkau setiap langkah di dalam proses perangkat lunak dan

aktivitas-aktivitas pelindung yang diterapkan pada keseluruhan proses. CASE

mengkombinasikan serangkaian building block yang dimulai pada perangkat keras

dan tingkat perangkat keras sistem operasi dan berakhir dengan piranti individual.

Pada tulisan ini kita telah membahas taksonomi piranti CASE. Kategori

tersebut meliputi baik aktivitas manajemen maupun teknis dan mencakup sebagian

besar area aplikasi perangkat lunak. Masing-masing kategori piranti dilihat sebagai

suatu "solusi pokok".

Lingkungan I-CASE mengkombinasikan mekanisme integrasi untuk data,

piranti, dan interaksi manusia komputer. Integrasi data dapat dicapai melalui

pertukaran informasi secara langsung, melalui struktur file yang biasa, dengan berbagi

pakai data atau interoperabilitas, atau melalui pemakaian tempat penyimpanan I-

CASE penuh. Integrasi piranti dapat dibuat custom-designed oleh vendor yang bekerja

bersama atau dapat dicapai melalui perangkat lunak manajemen yang diberikan

sebagai bagian dari tempat penyimpanan. Integrasi manusia komputer dicapai melalui

standar interface yang sedang menjadi semakin umum pada industri. Arsitektur

Page 28: KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA  PERANGKAT LUNAK

28

industri didesain untuk memfasilitasi integrasi para pemakai dengan piranti, piranti

dengan piranti, piranti dengan data, dan data dengan data.

Tempat penyimpanan CASE dapat diacu sebagai “software bus” Informasi

bergerak melaluinya, berjalan dari piranti ke piranti sekali perangkat lunak berjalan.

Tetapi tempat penyimpanan sangat lebih daripada “bus.” Repositori juga merupakan

tempat penyimpanan yang menggabungkan mekanisme yang canggih untuk

mengintegrasikan piranti CASE sehingga meningkatkan proses melalui mana

perangkat lunak dikembangkan. Tempat penyimpanan merupakan database relasional

atau OO yang merupakan “pusat dari akumulasi dan penyimpanan” bagi informasi

rekayasa perangkat lunak.

DAFTAR PUSTAKA

Forte, G., In Serach of the Integrated Environment, CASE Outlook, Maret/April

1989, Hal. 5-12.

Forte, G., Rally Round the Repository, CASE Outlook, Desember 1989, Hal. 5-27.

L. Bass, P. Clements, R. Kazman., 1998, Software Architecture in Practice, UK:

Addison Wesley.

Pressman, R. S., 2002, Software Engineering, New York: Mc Graw Hill.

Sommerville, I., 2003, Software Engineering, UK: Addison Wesley.

Welke, R.J., Meta Systems on Meta Models, CASE Outlook, Desember 1989,

Hal. 3545.