KONSEP DESAIN SOFTWARE DATABASE
KONSEP DESAIN SOFTWARE DATABASE DALAM SISTEM INFORMASI GEOGRAFIS (SIG)
A. ANALISIS DESAIN
Analisis mengenai hal-hal yang berhubungan terhadap kebutuhan dilakukan dengan menggunakan beberapa alat (tools). Data Dictionary menjadi bekal dasar untuk menganalisis kebutuhan. Data Dictionary berisi gambaran dari semua objek data yang diperlukan dan dihasilkan oleh software nantinya. Diagram-diagram tadi mempunyai karakteristik masing-masing. Beberapa alat yang digunakan dalam analisis diantaranya :
1. Data Flow Diagram (DFD)
DFD memberi gambaran bagaimana data berubah sejalan dengan
alirannya dalam sistem dan menggambarkan fungsi-fungsi yang mengubah data-data.
Gambar 1. Data Flow Diagram
2. ERD (Entity Relationship Diagram)
ERD menggambarkan relasi antara objek data.
.
Gambar 2. Entity Relationship Diagram
3. STD ( State Transition Diagram)
Menggambarkan bagaimana kerja sistem melalui kondisi (state) dan kejadian yang menyebabkan kondisi berubah. STD juga menggambarkan aksi yang dilakukan karena kejadian tertentu.
Gambar 3. State Transition Diagram
Hasil yang diperoleh dari analisis kebutuhan adalah model analisis yang kemudian menjadi bekal untuk melakukan desain. Setiap bagian dari analisis model pada gambar 4 sebelah kanan menjadi bekal pada proses desain pada piramida model desain pada sebelah kiri
Gambar 4. Hubungan antara model analisis dengan model desain |
B. MODEL DESAIN
a. Data design
Mengubah informasi menjadi struktur data untuk mengimplementasikan software. Data design dibuat berdasarkan data dictionary dan ERD.
b. Architectural design
Mendefinisikan relasi antara elemen-elemen struktural utama, pola desain yang digunakan untuk mencapai kebutuhan yang ditentukan untuk sistem dan batasan-batasan yang mempengaruhi bagaimana desain arsitektural ini diterapkan. Desain ini berdasarkan spesifikasi sistem, model analisis (bagian DFD) dan interaksi antara subsistem.
c. Interface design
Menjelaskan bagaimana software berkomunikasi dalam dirinya, dengan sistem yang bertukar informasi dengannya, dan dengan manusia yang menggunakannya. DFD diperlukan untuk desain ini.
d. Component-level design
Menghasilkan deskripsi prosedur software.
1. Abstraction
C. KONSEP DESAIN
1. Abstraction
Abstraction adalah gambaran dari fungsi suatu program. Gambaran ini bisa bertingkat-tingkat. Tingkat yang paling atas adalah gambaran suatu fungsi program dengan menggunakan bahasa alami. Pada tingkat terendah, menghasilkan abstraksi yang bersifat prosedural/ langkah perlangkah dengan menggunakan istilah yang teknis dan bisa diimplementasikan menjadi fungsi program.
Pada saat beralih dari tingkat ke tingkat, kita menggunakan proceduraldan data abstraction. Procedural abstraction adalah urutan instrasi yang mempunyai tujuan khusus,dan data abstraction adalah koleksi data yang digunakan pada fungsi tersebut.
Contoh:
Program : Iklan Part-time Job
Fungsi: Pendaftaran calon part-timer
Abstraction 1 (highest level):
Calon part-timer dalam melakukan upload syarat-syarat yang diperluka untuk melamar: surat lamaran, CV, foto, transkrip, data diri.
Abstraction 2 (lower level):
Abstraction 2 (lower level):
Procedural abstraction :
- tampilkan pilihan part-time job
- tampilkan pilihan part-time job
- input data
- verifikasi format
- kirim data
Data abstraction
- nama is STRING
- nim is STRING
- foto is IMAGE FILE
- surat_lamaran is PDF FILE
2. Refinement
Refinement membantu designer untuk memperlihatkan detil darilowest level dari abstraction.Abstraction dan refinement merupakan konsep yang saling melengkapi. Contoh dari refinement tentang fungsi sebuah pintu ada pada gambar 5.
3. modularity—membagi software menjadi modul \
Software dibagi-bagi menjadi beberapa component yang disebut modul-modul. Modul-modul ini nantinya disatukan/diintegrasikan untuk memenuhi kebutuhan sistem.
4. software architecture—struktur software secara keseluruhan
Struktur hirarki/berjenjang dari modul-modul program. Untuk menggambarkan struktur modul-modul tersebut beberapa model yang ada adalah
2. Refinement
Refinement membantu designer untuk memperlihatkan detil darilowest level dari abstraction.Abstraction dan refinement merupakan konsep yang saling melengkapi. Contoh dari refinement tentang fungsi sebuah pintu ada pada gambar 5.
3. modularity—membagi software menjadi modul \
Software dibagi-bagi menjadi beberapa component yang disebut modul-modul. Modul-modul ini nantinya disatukan/diintegrasikan untuk memenuhi kebutuhan sistem.
4. software architecture—struktur software secara keseluruhan
Struktur hirarki/berjenjang dari modul-modul program. Untuk menggambarkan struktur modul-modul tersebut beberapa model yang ada adalah
- framework model : identifikasi pola yang berulang-ulang
- dynamic model : identifikasi bagaimana konfigurasi sistem berubah karena kejadian-kejadian tertentu
- process model: fokus pada proses teknis yang harus dikerjakan sistem
- functional model : menggambarkan hirarki sistem berdasarkan fungsinya
5. Software procedure
Fokus pada detil proses pada tiap modul. Prosedur menjelaskan proses, urutan kejadian, proses perulangan, penentuan keputusan/arah. Ini bisa digambarkan dengan menggunakan Flow Chart yang bertingkat.
6. Information hiding
Ide dari information hiding (menyembunyikan informasi) adalah modul dirancang sedemikian rupa sehinga inforamsi (prosedur dan data) yang di dalamnya tidak dapat di akses oleh modul lain yang tidak memerlukannya.
D. DESAIN ARSITEKTUR
Repository Model
Pada model ini disimpan secara terpusat untuk semua sub-sistem contoh: CASE, Toolset, sistem informasi perpustakaan.
Client Server Model
Model ini terdiri dari sekumpulan server yang berdiri sendiri dan masing-masing menyediakan layanan untuk subsistem. Ada client-client (sub-sistem) yang menggunakan layanan server dan tersedia network yang mengijinkan client-client untuk akses layanan dari server.
Daftar Pustaka
Pressman, Roger. S.2001.Software Engineering:A Practioners Approech 5th. Mcgrowhill
Sommerville, Ian. 2001. Software Engineering 6th. Addison wesley
Ide dari information hiding (menyembunyikan informasi) adalah modul dirancang sedemikian rupa sehinga inforamsi (prosedur dan data) yang di dalamnya tidak dapat di akses oleh modul lain yang tidak memerlukannya.
D. DESAIN ARSITEKTUR
Repository Model
Pada model ini disimpan secara terpusat untuk semua sub-sistem contoh: CASE, Toolset, sistem informasi perpustakaan.
- Keuntungan
- Efisien untuk share jumlah data ygang besar
- Sub-sistem tidak perlu repit bagaimana data dibuat dan manajemen terpusat contoh backup,keamanan, re-index.
- Kerugian
- Sub-sistem harus mengikuti model yang sudah ditetapkan
- Evolusi data sulit dan mahal
- Sulit untuk distribusi layanan secara efisien, karena melayani hanya satu contoh: sistem informasi perpustakaan, sistem registrasi akademik.
Client Server Model
Model ini terdiri dari sekumpulan server yang berdiri sendiri dan masing-masing menyediakan layanan untuk subsistem. Ada client-client (sub-sistem) yang menggunakan layanan server dan tersedia network yang mengijinkan client-client untuk akses layanan dari server.
- Keuntungan
- Distribusi data secara langsung
- Penggunaan sistem jaringan secara efektif, hardware jadi murah.
- Mudah untuk tambahakan server baru atau upgrade server yanv sudah ada.
- Kekurangan
- Tidak ada data model,jadi organisasi data Macam-macam, sehingga integrasi data sulit.
- Rebundant Management
- Tidak ada pusat register nama dan service, sehingga kalau tidak tahu nama server dan servicenya sulit ditemukan.
Daftar Pustaka
Pressman, Roger. S.2001.Software Engineering:A Practioners Approech 5th. Mcgrowhill
Sommerville, Ian. 2001. Software Engineering 6th. Addison wesley
Komentar
Posting Komentar