COMPUTER-AIDED SOFTWARE
ENGINEERING
DISUSUN OLEH:
JURUSAN MATEMATIKA
UNIVERSITAS PADJADJARAN
COMPUTER-AIDED SOFTWARE
ENGINEERING
Dalam bab ini, kita berfokus kepada alat dan lingkungan yang akan membantu
untuk mengotomatisasi proses software.
Sebuah workshop yang bagus untuk beberapa bidang keahlian memiliki tiga
karakteristik utama: (1) Kumpulan alat yang berguna yang akan membantu dalam
setiap langkah pembangunan produk, (2) Tata letak yang terorganisir sehingga dapat
ditemukan dengan cepat dan digunakan secara efisien, dan (3) Pengguna yang mengerti
bagaimana menggunakan alat-alat secara efektif.
Para insinyur perangkat lunak telah menyadari bahwa mereka membutuhkan
yang lebih bervariasi serta efisien dimana untuk menempatkan tools-nya.
Workshop untuk rekayasa perangkat lunak yang biasa disebut integrated
project support environment (akan dibahas dalam bab ini) dan tools yang mengisi
workshop secara kolektif disebut Computer-Aided Software Engineering (CASE).
CASE menyediakan software engineer dengan kemampuan untuk meng-
otomatisasi kegiatan manual dan untuk meningkatkan wawasan dalam merekayasa.
Seperti computer-aided engineering dan desain alat-alat yang digunakan oleh insinyur
dalam disiplin lain, CASE membantu untuk memastikan kualitas produk yang
dirancang, sebelum produk itu dibangun.
1. Blok Bangunan untuk CASE
CASE dapat menjadi tools sederhana serta tunggal yang mendukung kegiatan
rekayasa perangkat lunak tertentu atau sebagai tools "pelengkap" yang mencakup
database, user, hardware, jaringan, sistem operasi, standard, dan komponen lainnya.
Blok bangunan CASE seperti pada Gambar 1. Setiap blok menjadi fondasi untuk blok
selanjutnya dan membentuk sebuah tumpukan. Sangat menarik untuk dicatat bahwa
fondasi yang efektif dari lingkungan (environment) CASE secara relatif tidak ada
hubungannya dengan alat rekayasa perangkat lunak sendiri. Sebaliknya, lingkungan
sendiri yang berhasil merekayasa perangkat lunak yang dibangun diatas environment
architecture yang meliputi hardware dan system software yang tepat. Selain itu,
environment architecture harus memperhatikan pola kerja manusia yang diterapkan
selama proses rekayasa perangkat lunak berlangsung.
Environment architecture, terdiri dari hardware platform dan system support
(termasuk software jaringan, manajemen database, serta manajemen object service),
meletakkannya dibawah kerja CASE. Tetapi lingkungan CASE sendiri ditentukan oleh
bangunan blok yang lainnya.
Gambar 1
CASE building blocks
Satu set portability services menyediakan jembatan antara CASE tools dan
integration framework serta environment architecture. Integration framework adalah
sekumpulan program khusus yang memungkinkan CASE tools untuk berkomunikasi
satu sama lain, untuk membuat proyek database, dan untuk menunjukkan tampilan
yang sama sebagai kepuasan pengguna akhir (end-user). Portability services
memungkinkan CASE tools dan integration framework untuk bermigrasi ditempat yang
berbeda pada hardware platform dan operating system tanpa maintenence yang
signifikan.
Blok bangunan yang digambarkan pada Gambar 1 merupakan landasan yang
komprehensif untuk integrasi CASE tools. Namun, kebanyakan CASE tools yang
digunakan sekarang ini belum dibangun dengan menggunakan semua blok bangunan.
Bahkan, ada beberapa CASE tools tetap pada "point solution." Artinya, alat yang
digunakan untuk membantu dalam kegiatan merekayasa perangkat lunak tertentu
(misalnya, pemodelan analisis (analysis modeling)) tetapi tidak secara langsung
berkomunikasi dengan tools yang lain, tidak terikat dalam proyek database, dan bukan
merupakan bagian dari integrated CASE environment (ICASE). Meskipun situasi ini
tidak ideal, CASE tools cukup efektif, bahkan jika merupakan sebuah point solution.
Tingkat relatif integrasi CASE diperlihatkan pada Gambar 2. Pada awal
spektrum integrasi yaitu sebuah tools (point solution) tunggal. Ketika beberapa tools
menyediakan fasilitas untuk pertukaran data (kebanyakan), tingkat integrasi sedikit
meningkat. Tools tersebut menghasilkan output dalam format standar yang harus
kompatibel, supaya tools lain dapat membaca format tersebut . Dalam beberapa CASE,
pembangun melengkapi CASE tools bekerja sama untuk membentuk suatu jembatan
antar tools (misalnya, analisis dan tools desain yang digabungkan dengan sebuah
generator code). Dengan menggunakan pendekatan ini, kesinergisan antara tools dapat
menghasilkan produk akhir yang akan sulit untuk membuat tools lain secara terpisah.
Single-source integration terjadi ketika sebuah single CASE tools vendors
mengintegrasikan beberapa tools yang berbeda dan menjualnya dalam satu paket.
Meskipun pendekatan ini cukup efektif, arsitektur yang tertutup dari single-source
environment dapat menghalangi dari mudah penambahan tools dari vendor lainnya.
Gambar 2
Integration option
Gambar 3
Architectural model for
the integration framework
User interface layer (Gambar 3) menggabungkan interface tool kit yang standar
dengan presentation protocol yang umum. Interface tool kit berisi software untuk
human/computer interface management dan sebuah library untuk tampilan objek.
Keduanya menyediakan mekanisme yang konsisten untuk komunikasi antara interface
dan individu CASE tools. Presentation protocol adalah seperangkat pedoman yang
memberikan CASE tools semua tampilan dan nuansa yang sama. Screen layout
conventions, nama-nama menu dan organization, icons, nama-nama object, penggunaan
keyboard dan mouse, serta mekanisme untuk mengakses tools semuanya didefinisikan
sebagai bagian dari presentation protocol.
Tools layer menggabungkan satu set Tools management services (TMS) dengan
CASE tools sendiri. TMS mengontrol perilaku tools dalam lingkungan. Jika
multitasking digunakan selama pelaksanaan satu atau lebih tools, TMS akan melakukan
sinkronisasi multitasking dan komunikasi, mengkoordinasikan arus informasi dari
objek sistem manajemen dan repositori ke dalam tools, mengerjakan tugas sebagai
keamanan dan fungsi audit, serta mengumpulkan metrik pada penggunaan tools.
Object management layer (OML) melakukan fungsi manajemen konfigurasi
yang dijelaskan dalam Bab 9. Pada dasarnya, software dalam layer framework
architecture menyediakan mekanisme untuk tools integrasi. Setiap CASE tools
dicolokkan ke OML. Bersama CASE repositori maka, OML menyediakan jasa
integrasi yaitu satu set modul standar yang berpasangan dengan repositori. Selain itu,
OML menyediakan configuration management services dengan mengaktifkan
identifikasi semua obyek konfigurasi, melakukan kontrol versi (version control) dan
memberikan dukungan untuk kontrol perubahan, audit, dan status accounting.
shared repository layer adalah database CASE dan fungsi kontrol akses yang
memungkinkan OML untuk berinteraksi dengan database. Integrasi data dicapai oleh
manajemen objek dan shared repository layer.
5. THE CASE REPOSITORY
Webster's Dictionary mendefinisikan kata repositori sebagai "suatu hal atau
seseorang yang dianggap sebagai pusat akumulasi atau penyimpanan." Selama sejarah
awal pengembangan software, repositori memang programmer yang harus mengingat
lokasi semua informasi yang relevan untuk sebuah proyek software, yang harus
mengingat informasi yang tidak pernah ditulis dan merekonstruksi informasi yang telah
hilang. Sayangnya, menggunakan manusia sebagai "pusat untuk akumulasi dan
penyimpanan" (meskipun itu sesuai dengan definisi Webster's), itu tidak bekerja
dengan baik. Sekarang, repositori adalah "suatu" database yang bertindak sebagai pusat
untuk kedua akumulasi dan penyimpanan informasi rekayasa perangkat lunak. Peran
seorang (insinyur perangkat lunak / software engineer) adalah untuk berinteraksi
dengan CASE tools menggunakan repositori yang telah terintegrasi.
Dalam buku ini, banyak istilah yang berbeda telah digunakan untuk merujuk
pada tempat penyimpanan untuk informasi rekayasa perangkat lunak: CASE database,
project database, integrated project support environment (IPSE) database,
requirements dictionary (sebuah database yang terbatas), dan repository. Meskipun ada
perbedaan yang halus antara beberapa istilah tersebut, semua merujuk ke pusat untuk
akumulasi dan penyimpanan.