SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
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.




                                                                                     1
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



                                                                                 2
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.

                                   Piranti CASE

                                  Kerangka Kerja
                                     Integrasi
                                Layanan Portabilitas

                                   Sistem Operasi

                              Platform Perangkat Keras

                               Arsitektur Lingkungan

                         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




                                                                                    3
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




                                                                                    4
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



                                                                                   5
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.




                                                                              6
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



                                                                            7
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



                                                                              8
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



                                                                             9
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



                                                                             10
   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



                                                                                   11
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




                                                                                  12
   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.




                                                                                    13
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;



                                                                                14
   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.




                    Layanan
                    Portabilitas

   Tiang fondasi
   - arsitektur                             Kerangka kerja
   - platform h/w                           integrasi
   - O. S.                                                    Piranti CASE


                        Gambar 2. Elemen-elemen I-CASE



                                                                               15
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.


              Lapisam shared repository
              database CASE
              Fungsi-fungsi kontrol akses

              Layanan manajemen piranti
              piranti                lapisam piranti
              Case

              Lapisan menejemen objek
                layanan integrasi
                layanan menajemen konfigurasi

              Lapisam shared repository
                database CASE
                fungsi-fungsi kontrol akses


           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.



                                                                                         16
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.



                                                                                  17
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 :




                                                                                18
   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



                                                                                19
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.




                                                                                20
Tabel 1. Isi Repositori CASE

      Informasi Enterprise                             Konstruksi
 Struktur organisasi                Kode sumber; kode objek
 Analisis area bisnis               Instruksi pembentukan sistem
 Aturan bisnis                      Citra biner
 Model proses (skenario)            Dependensi konfigurasi
 Arsitektur informasi               Perubahan informasi
                                    Validasi dan Verifikasi
                                    Rencana pengujian; Uji kasus data
                                    Skrip uji regresi
 Desain Aplikasi                    Hasil tes
 Aturan metodologi                  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.




                                                                             21
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



                                                                         22
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



                                                                               23
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



                                                                         24
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



                                                                                      25
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



                                                                                 26
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




                                                                                     27
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.




                                                                                   28

Mais conteúdo relacionado

Mais procurados

SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4  SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4 Mohammad Faizan
 
modelo vista controlador
modelo vista controladormodelo vista controlador
modelo vista controladorcom2merwil
 
04 Analisis Sistem
04 Analisis Sistem04 Analisis Sistem
04 Analisis SistemArif Rahman
 
Langkah - Langkah Perencanaan Sistem
Langkah - Langkah Perencanaan SistemLangkah - Langkah Perencanaan Sistem
Langkah - Langkah Perencanaan SistemRetrina Deskara
 
Proposal Proyek Aplikasi Web Percetakan
Proposal Proyek Aplikasi Web PercetakanProposal Proyek Aplikasi Web Percetakan
Proposal Proyek Aplikasi Web Percetakansubhan
 
Software Requirement Specification SRS
Software Requirement Specification SRSSoftware Requirement Specification SRS
Software Requirement Specification SRSSeptian Rico Hernawan
 
Testing&implementasi 3
Testing&implementasi 3Testing&implementasi 3
Testing&implementasi 3aiiniR
 
Analisis Pieces Terhadap Sistem Informasi Lukman Hermanto 55518110066
Analisis Pieces Terhadap Sistem Informasi Lukman Hermanto 55518110066Analisis Pieces Terhadap Sistem Informasi Lukman Hermanto 55518110066
Analisis Pieces Terhadap Sistem Informasi Lukman Hermanto 55518110066LukmanHermanto
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Debby Ummul
 
If2036 scenario based-model
If2036 scenario based-modelIf2036 scenario based-model
If2036 scenario based-modelmetciankcemuah
 
Laporan Makalah Pembuatan Website E-Commerce-Basis Data
Laporan Makalah Pembuatan Website E-Commerce-Basis DataLaporan Makalah Pembuatan Website E-Commerce-Basis Data
Laporan Makalah Pembuatan Website E-Commerce-Basis DataShofura Kamal
 
Team Software Process (TSP)
Team Software Process (TSP)Team Software Process (TSP)
Team Software Process (TSP)Juan Garcia
 
Contoh Proposal Portofolio Penawaran Aplikasi e-PublicInfo by Edi Ismanto
Contoh Proposal Portofolio Penawaran Aplikasi e-PublicInfo by Edi IsmantoContoh Proposal Portofolio Penawaran Aplikasi e-PublicInfo by Edi Ismanto
Contoh Proposal Portofolio Penawaran Aplikasi e-PublicInfo by Edi Ismantoeddie Ismantoe
 

Mais procurados (20)

SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4  SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4
 
modelo vista controlador
modelo vista controladormodelo vista controlador
modelo vista controlador
 
04 Analisis Sistem
04 Analisis Sistem04 Analisis Sistem
04 Analisis Sistem
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
Langkah - Langkah Perencanaan Sistem
Langkah - Langkah Perencanaan SistemLangkah - Langkah Perencanaan Sistem
Langkah - Langkah Perencanaan Sistem
 
Erp pertemuan-4
Erp pertemuan-4Erp pertemuan-4
Erp pertemuan-4
 
Proposal Proyek Aplikasi Web Percetakan
Proposal Proyek Aplikasi Web PercetakanProposal Proyek Aplikasi Web Percetakan
Proposal Proyek Aplikasi Web Percetakan
 
Software Requirement Specification SRS
Software Requirement Specification SRSSoftware Requirement Specification SRS
Software Requirement Specification SRS
 
Pertemuan 3 Desain Test Case
Pertemuan 3 Desain Test CasePertemuan 3 Desain Test Case
Pertemuan 3 Desain Test Case
 
Rekayasa Perangkat Lunak - Model Pengembangan Sistem
Rekayasa Perangkat Lunak - Model Pengembangan SistemRekayasa Perangkat Lunak - Model Pengembangan Sistem
Rekayasa Perangkat Lunak - Model Pengembangan Sistem
 
Testing&implementasi 3
Testing&implementasi 3Testing&implementasi 3
Testing&implementasi 3
 
Erp pertemuan-7
Erp pertemuan-7Erp pertemuan-7
Erp pertemuan-7
 
Analisis Pieces Terhadap Sistem Informasi Lukman Hermanto 55518110066
Analisis Pieces Terhadap Sistem Informasi Lukman Hermanto 55518110066Analisis Pieces Terhadap Sistem Informasi Lukman Hermanto 55518110066
Analisis Pieces Terhadap Sistem Informasi Lukman Hermanto 55518110066
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
If2036 scenario based-model
If2036 scenario based-modelIf2036 scenario based-model
If2036 scenario based-model
 
Laporan Makalah Pembuatan Website E-Commerce-Basis Data
Laporan Makalah Pembuatan Website E-Commerce-Basis DataLaporan Makalah Pembuatan Website E-Commerce-Basis Data
Laporan Makalah Pembuatan Website E-Commerce-Basis Data
 
Team Software Process (TSP)
Team Software Process (TSP)Team Software Process (TSP)
Team Software Process (TSP)
 
Pertemuan 5 Perencanaan Testing
Pertemuan 5 Perencanaan TestingPertemuan 5 Perencanaan Testing
Pertemuan 5 Perencanaan Testing
 
Erp pertemuan-2
Erp pertemuan-2Erp pertemuan-2
Erp pertemuan-2
 
Contoh Proposal Portofolio Penawaran Aplikasi e-PublicInfo by Edi Ismanto
Contoh Proposal Portofolio Penawaran Aplikasi e-PublicInfo by Edi IsmantoContoh Proposal Portofolio Penawaran Aplikasi e-PublicInfo by Edi Ismanto
Contoh Proposal Portofolio Penawaran Aplikasi e-PublicInfo by Edi Ismanto
 

Semelhante a KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA PERANGKAT LUNAK

Materi rsi 3 koordinasi
Materi rsi 3 koordinasiMateri rsi 3 koordinasi
Materi rsi 3 koordinasidonasiilmu
 
Materi Permodelan Perangkat Lunak 1.pptx
Materi Permodelan Perangkat Lunak 1.pptxMateri Permodelan Perangkat Lunak 1.pptx
Materi Permodelan Perangkat Lunak 1.pptxardanaadam1
 
Materi kuliah rsi 2 case dan model data
Materi kuliah rsi 2 case dan model dataMateri kuliah rsi 2 case dan model data
Materi kuliah rsi 2 case dan model datadonasiilmu
 
Materi kuliah rsi 2 case dan model data
Materi kuliah rsi 2 case dan model dataMateri kuliah rsi 2 case dan model data
Materi kuliah rsi 2 case dan model datadonasiilmu
 
Sim, Aswi Ruhana, Hapzi ali, s1 akuntansi, sumber daya komputasi dan komunika...
Sim, Aswi Ruhana, Hapzi ali, s1 akuntansi, sumber daya komputasi dan komunika...Sim, Aswi Ruhana, Hapzi ali, s1 akuntansi, sumber daya komputasi dan komunika...
Sim, Aswi Ruhana, Hapzi ali, s1 akuntansi, sumber daya komputasi dan komunika...aswi ruhana
 
Design Concept
Design ConceptDesign Concept
Design ConceptAdyaSari1
 
Iterasi, inkremen dan validasi proses
Iterasi, inkremen dan validasi prosesIterasi, inkremen dan validasi proses
Iterasi, inkremen dan validasi prosesarfianti
 
Pengantar rpl
Pengantar rplPengantar rpl
Pengantar rplarfianti
 
Pengantar rpl
Pengantar rplPengantar rpl
Pengantar rplarfianti
 
SI-PI, Ririh Sayekti, Hapzi Ali, Infrastruktur TI dan Teknologi Baru , Univer...
SI-PI, Ririh Sayekti, Hapzi Ali, Infrastruktur TI dan Teknologi Baru , Univer...SI-PI, Ririh Sayekti, Hapzi Ali, Infrastruktur TI dan Teknologi Baru , Univer...
SI-PI, Ririh Sayekti, Hapzi Ali, Infrastruktur TI dan Teknologi Baru , Univer...RIRIHSAYEKTI
 
Dtbs_14_Aplikasi_Basis_Data.pdf
Dtbs_14_Aplikasi_Basis_Data.pdfDtbs_14_Aplikasi_Basis_Data.pdf
Dtbs_14_Aplikasi_Basis_Data.pdfAlifiahNurAlyssah
 
Database For Software Development Trend
Database For Software Development TrendDatabase For Software Development Trend
Database For Software Development TrendLogistyo Yulistianto
 
Software Aplikasi Dasar dan Software Khusus
Software Aplikasi Dasar dan Software KhususSoftware Aplikasi Dasar dan Software Khusus
Software Aplikasi Dasar dan Software KhususSinath Sabado
 
Sistem Informasi Penjualan Berbasis Web
Sistem Informasi Penjualan Berbasis WebSistem Informasi Penjualan Berbasis Web
Sistem Informasi Penjualan Berbasis Webdiansyahputri
 
LANDASAN TEORI
LANDASAN TEORILANDASAN TEORI
LANDASAN TEORIBruce Lee
 
Contoh Project Metode Penelitian
Contoh Project Metode PenelitianContoh Project Metode Penelitian
Contoh Project Metode PenelitianNataniel Papalangi
 
Pertemuan 1 pendahuluan
Pertemuan 1 pendahuluanPertemuan 1 pendahuluan
Pertemuan 1 pendahuluanAhmadFauzi531
 

Semelhante a KONSEP DAN PENERAPAN CASE UNTUK PEREKAYASA PERANGKAT LUNAK (20)

Materi rsi 3 koordinasi
Materi rsi 3 koordinasiMateri rsi 3 koordinasi
Materi rsi 3 koordinasi
 
Materi Permodelan Perangkat Lunak 1.pptx
Materi Permodelan Perangkat Lunak 1.pptxMateri Permodelan Perangkat Lunak 1.pptx
Materi Permodelan Perangkat Lunak 1.pptx
 
Materi kuliah rsi 2 case dan model data
Materi kuliah rsi 2 case dan model dataMateri kuliah rsi 2 case dan model data
Materi kuliah rsi 2 case dan model data
 
Materi kuliah rsi 2 case dan model data
Materi kuliah rsi 2 case dan model dataMateri kuliah rsi 2 case dan model data
Materi kuliah rsi 2 case dan model data
 
Sim, Aswi Ruhana, Hapzi ali, s1 akuntansi, sumber daya komputasi dan komunika...
Sim, Aswi Ruhana, Hapzi ali, s1 akuntansi, sumber daya komputasi dan komunika...Sim, Aswi Ruhana, Hapzi ali, s1 akuntansi, sumber daya komputasi dan komunika...
Sim, Aswi Ruhana, Hapzi ali, s1 akuntansi, sumber daya komputasi dan komunika...
 
Sistem penggerak teknologi informasi
Sistem penggerak teknologi informasiSistem penggerak teknologi informasi
Sistem penggerak teknologi informasi
 
Design Concept
Design ConceptDesign Concept
Design Concept
 
tugas APS
tugas APStugas APS
tugas APS
 
Iterasi, inkremen dan validasi proses
Iterasi, inkremen dan validasi prosesIterasi, inkremen dan validasi proses
Iterasi, inkremen dan validasi proses
 
Pengantar rpl
Pengantar rplPengantar rpl
Pengantar rpl
 
Pengantar rpl
Pengantar rplPengantar rpl
Pengantar rpl
 
SI-PI, Ririh Sayekti, Hapzi Ali, Infrastruktur TI dan Teknologi Baru , Univer...
SI-PI, Ririh Sayekti, Hapzi Ali, Infrastruktur TI dan Teknologi Baru , Univer...SI-PI, Ririh Sayekti, Hapzi Ali, Infrastruktur TI dan Teknologi Baru , Univer...
SI-PI, Ririh Sayekti, Hapzi Ali, Infrastruktur TI dan Teknologi Baru , Univer...
 
Dtbs_14_Aplikasi_Basis_Data.pdf
Dtbs_14_Aplikasi_Basis_Data.pdfDtbs_14_Aplikasi_Basis_Data.pdf
Dtbs_14_Aplikasi_Basis_Data.pdf
 
Database For Software Development Trend
Database For Software Development TrendDatabase For Software Development Trend
Database For Software Development Trend
 
Software Aplikasi Dasar dan Software Khusus
Software Aplikasi Dasar dan Software KhususSoftware Aplikasi Dasar dan Software Khusus
Software Aplikasi Dasar dan Software Khusus
 
Macam software
Macam softwareMacam software
Macam software
 
Sistem Informasi Penjualan Berbasis Web
Sistem Informasi Penjualan Berbasis WebSistem Informasi Penjualan Berbasis Web
Sistem Informasi Penjualan Berbasis Web
 
LANDASAN TEORI
LANDASAN TEORILANDASAN TEORI
LANDASAN TEORI
 
Contoh Project Metode Penelitian
Contoh Project Metode PenelitianContoh Project Metode Penelitian
Contoh Project Metode Penelitian
 
Pertemuan 1 pendahuluan
Pertemuan 1 pendahuluanPertemuan 1 pendahuluan
Pertemuan 1 pendahuluan
 

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. 1
  • 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 2
  • 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. Piranti CASE Kerangka Kerja Integrasi Layanan Portabilitas Sistem Operasi Platform Perangkat Keras Arsitektur Lingkungan 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 3
  • 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 4
  • 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 5
  • 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. 6
  • 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 7
  • 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 8
  • 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 9
  • 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 10
  • 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 11
  • 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 12
  • 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. 13
  • 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; 14
  • 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. Layanan Portabilitas Tiang fondasi - arsitektur Kerangka kerja - platform h/w integrasi - O. S. Piranti CASE Gambar 2. Elemen-elemen I-CASE 15
  • 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. Lapisam shared repository database CASE Fungsi-fungsi kontrol akses Layanan manajemen piranti piranti lapisam piranti Case Lapisan menejemen objek layanan integrasi layanan menajemen konfigurasi Lapisam shared repository database CASE fungsi-fungsi kontrol akses 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. 16
  • 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. 17
  • 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 : 18
  • 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 19
  • 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. 20
  • 21. Tabel 1. Isi Repositori CASE Informasi Enterprise Konstruksi Struktur organisasi Kode sumber; kode objek Analisis area bisnis Instruksi pembentukan sistem Aturan bisnis Citra biner Model proses (skenario) Dependensi konfigurasi Arsitektur informasi Perubahan informasi Validasi dan Verifikasi Rencana pengujian; Uji kasus data Skrip uji regresi Desain Aplikasi Hasil tes Aturan metodologi 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. 21
  • 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 22
  • 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 23
  • 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 24
  • 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 25
  • 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 26
  • 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 27
  • 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. 28