Popular Posts

RPL

Tuesday, July 19, 2011

PERACANGAN PERANGKAT LUNAK



MERANCANG ADALAH PROSES KREATIF KUNCINYA HARUS SERING BERLATIH
TIGA TAHAP MENGATASI PROBLEMA DALAM PERANCANGAN
1. BUAT RANCANGAN RINCI
2. TENTUKAN RANCANGAN GLOBAL
3. PELAJARI & PAHAMI PERMASALAHAN

TIGA TAHAP MENGATASI PROBLEMA DALAM PERANCANGAN(Ljt)

PELAJARI & PAHAMI PERMASALAHAN :
1. TANPA PEMAHAMAN TIDAK BERMANFAAT
PEMAHAMAN BISA SALAH
PEMAHAMAN YG SALAH MEMBAWA KEARAH YG SALAH
PEMAHAMAN YANG BENAR MEMUDAHKAN PENERIMAAN OLEH USER
2. LIHAT DARI BERBAGAI SUDUT PANDANG
KEBUTUHAN BISA TERLIHAT BERBEDA
CARA MEMAHAMI KEBUTUHAN (GUNAKAN BERBAGAI PEMODELAN)

TENTUKAN RANCANGAN GLOBAL:
1. BUAT GARIS BESAR PEMECAHAN PERMASALAHAN
2. RANCANG LEBIH DARI SATU ALTERNATIF KEMUDIAN LAKUKAN EVALUASI BERSAMA USER
3. PILIHAN SOLUSI TERGANTUNG :
- PENGALAMAN & PENGETAHUAN PERANCANG (MEMPENGARUHI BENTUK & PILIHAN SOLUSI)
- KETERSEDIAAN REUSABLE COMPONENT (KOMPONEN YANG DIADOPSI DARI SISTEM LAIN)
- KESEDERHANAAN (SIMPLICITY ) (RANCANGAN HARUS DIUPAYAKAN SEDERHANA)

BUAT RANCANGAN RINCI :
1. SOLUSI YANG TERPILIH DIRINCI (DILAKUKAN TAHAP-TAHAP IMPLEMENTASI)
2. TERDIRI DARI-TAHAP-TAHAP
- PERANCANGAN ANTAR MUKA
- PERANCANGAN KOMPONEN
- PERANCANGAN STRUKTUR DATA
- PERANCANGAN ALGORITMA
3. RANCANGAN RINCI BISA MEMPERLIHATKAN :
- KESALAHAN
- KETIDAK LENGKAPAN











TAHAP-TAHAP PERANCANGAN


1. RANCANGAN ARSITEKTUR
a. SISTEM AKAN BERISI APA SAJA (KOMPONEN APA YANG TERDAPAT DI DALAM SISTEM)
b. PENENTUAN SUB-SISTEM YANG MENDUKUNG
- INTERAKSI SISTEM DENGAN LINGKUNGANNYA (SISTEM APA SAJA YANG ADA DISEKITARNYA, APA YANG DIBUTUHKAN DARI SISTEM DISEKITARNYA, APA YANG DAPAT DIBERIKAN UNTUK SISTEM DISEKITARNYA)

2. SPESIFIKASI ABSTRAK
a. SPESIFIKASI TENTANG PERILAKU SISTEM
b. DIBUAT UNTUK TIAP SUB-SISTEM (SATU UNTUK TIAP SUB-SISTEM)
c. MENJELASKAN TENTANG:
- KEMAMPUAN SISTEM
APA YANG DAPAT DILAKUKAN OLEH SISTEM
APA YANG TIDAK DAPAT DILAKUKAN OLEH SISTEM
- BATASAN SISTEM
BAGAIMANA SISTEM MELAKUKAN PROSES

3. RANCANGAN ANTAR-MUKA
a. PENGHUBUNG ANTARA SISTEM DENGAN DUNIA LUAR
- SISTEM DENGAN SISTEM LAINNYA
- SISTEM DENGAN USER
- SUB-SISTEM SATU DENGAN LAINNYA

4. RANCANGAN KOMPONEN
- PROSES DIKELOMPOKKAN (DITEMPATKAN KE DALAM MODUL-MODUL TERPISAH)
- PENENTUAN ANTAR-MUKA ANTAR KOMPONEN

5.RANCANGAN STRUKTUR-DATA
a. RINCIAN STRUKTUR-DATA YANG DIPAKAI OLEH SISTEM
b. PILIHAN STRUKTUR DATA DITENTUKAN

6. RANCANGAN ALGORITMA
a. RINCIAN ALGORITMA PEMECAHAN MASALAH
b. PILIHAN PEMANFAATAN ALGORITMA TERTENTU









STRATEGI PERANCANGAN


1. RANCANGAN FUNGSIONAL
a. SISTEM DIRANCANG DENGAN MELIHAT PROSES APA SAJA YANG ADA DI DALAMNYA
b. BERTAHAP DARI HIGH-LEVEL KE DETAIL DESIGN
c. STRATEGI YANG DIPAKAI STRUCTURE DESIGN
MEMANFAATKAN :
- DATA-FLOW MODEL
- ENTITY-RELATIONSHIP MODEL
- STRUCTURAL MODEL
- STRUCTURE CHART
d. ALTERNATIF STRATEGI
- JACKSON METHOD
- WARNIER-ORR METHOD

2. RANCANGAN BERORIENTASI OBYEK
a. SISTEM DIRANCANG SEBAGAI KOLEKSI DARI OBYEK
b. IDE DASARNYA ADALAH INFORMATION HIDING
- PENYEMBUNYIAN INFORMASI
c. TIAP OBYEK MEMPUNYAI :
- SEJUMLAH ATTRIBUT
- OPERASI BERDASARKAN ATTRIBUT YANG ADA
d. OBYEK BISA MEMPUNYAI ATTRIBUT YANG DITURUNKAN DARI OBYEK LAINNYA
e. OBYEK BERKOMUNIKASI DENGAN OBYEK LAINNYA
- MELALUI MESSAGE







KUALITAS RANCANGAN



1. TIDAK ADA KESEPAKATAN TENTANG RANCANGAN YANG BAIK (YANG PENTING RANCANGAN SESUAI SPESIFIKASI)
2. RANCANGAN YANG BAIK KEMUNGKINAN BERBENTUK :
a. RANCANGAN EFISIEN
- MENGHASILKAN PROGRAM YANG BEKERJA DENGAN EFISIEN
b. RANCANGAN MINIMAL
- MENGHASILKAN PROGRAM SANGAT KOMPAK (UKURANNYA KECIL)
c. RANCANGAN YANG MUDAH DIRAWAT
- MUDAH DIADAPTASI (DISESUAIKAN DENGAN KEBUTUHAN, DIUBAH/ DITAMBAH/DIKURANGI)
d. RANCANGAN TERPADU
- PERUBAHAN BERSIFAT LOKAL (KOHESI TINGGI, KOPLING RENDAH)

KETERKAITAN AKTIFITAS DI DALAM MODUL (SEMAKIN TINGGI KOHESI SEMAKIN BAIK
KOHESI ADA 7 MACAM :
1. FUNCTIONAL COHESION
- HANYA MENGERJAKAN SATU TUGAS
- HANYA MEMPUNYAI SATU TUJUAN
2. INFORMATIONAL (SEQUENTIAL) COHESION
- MODUL MENGERJAKAN URUTAN TUGAS (DENGAN MEMAKAI STRUKTUR DATA YANG SAMA)
3. COMMUNICATIONAL COHESION
- MODUL BERISI SEJUMLAH AKTIFITAS (DENGAN MEMAKAI DATA YG SAMA)
CONTOH:
UPDATE RECORD IN DATABASE AND WRITE IT TO AUDIT_FILE
4. PROCEDURAL COHESION
- MODUL MENGERJAKAN URUTAN PROSES TERTENTU
CONTOH:
READ PART# FROM DATABASE AND UPDATE REPAIR_REC ON MAINT_FILE
5. TEMPORAL COHESION
- MODUL BERISI KELOMPOK KOMPONEN-KOMPONEN MODUL (TERKELOMPOK KARENA KESAMAAN WAKTU EKSEKUSI)
6. LOGICAL COHESION
- MODUL BERISI KOMPONEN YANGMENGERJAKAN TUGAS YANG SAMA
CONTOH:
SEBUAH MODUL YANG BERISI SEMUA KEGIATAN MENCETAK
7. COINCIDENTAL COHESION
- MODUL MENGERJAKAN BERAGAM TUGAS (YANG TIDAK SALING TERKAIT)







KOPLING

KETERKAITAN MODUL SATU DENGAN LAINNYA (SEMAKIN RENDAH KOPLING SEMAKIN BAIK)
KELOMPOK KOPLING ADA 3
1. NORMAL COUPLING
a. DATA COUPLING
b. STAMP COUPLING
c. CONTROL COUPLING
2. COMMON COUPLING
3. CONTENT COUPLING


1. NORMAL COUPLING
a. DATA COUPLING (KOMUNIKASI DENGAN DATA)
b. STAMP COUPLING
- KOMUNIKASI DENGAN STRUKTUR DATA (KESELURUHAN RECORD)
c. CONTROL COUPLING
- KOMUNIKASI DENGAN FLAG/SWITCH
2. COMMON COUPLING
- KOMUNIKASI MENGGUNAKAN GLOBAL VARIABLE
3. CONTENT COUPLING
- MODUL MEMPENGARUHI BENTUK STATEMENT PADA MODUL YANG DIPANGGIL ATAUPUN SEBALIKNYA









PENGUJIAN PERANGKAT LUNAK


1. MEMASTIKAN PERANGKAT LUNAK
- SESUAI SPESIFIKASI
- SESUAI KEBUTUHAN PEMAKAI
2. SISTEM HARUS DI VERIFIKASI & VALIDASI
- PADA TIAP TAHAP PENGEMBANGAN
- DENGAN DOKUMENTASI DARI TAHAP SEBELUMNYA

VERIFIKASI :
ARE WE BUILDING THE PRODUCT RIGHT
VALIDASI :
ARE WE BUILDING THE RIGHT PRODUCT

PENGUJIAN PERANGKAT LUNAK
- FOKUS PENGUJIAN (PENCEGAHAN BUG)
- PALING TIDAK MENUNJUKKAN GEJALA AKIBAT BUG

INGAT !
MENGETAHUI PROGRAM SALAH
BUKAN MENEMUKAN KESALAHAN
MENGAPA ?
KESALAHAN BERBEDA, GEJALA BISA SAMA
SEBUAH KESALAHAN BISA PUNYA BEBERAPA GEJALA

PROSES PENGUJIAN =

1. COMPONENT TESTING ( PENGUJIAN TERHADAP KOMPONEN SISTEM )
a. UNIT TESTING
- PENGUJIAN TAHAP AWAL
- PENGUJIAN KOMPONEN SECARA TERPISAH
- UNIT-UNIT TERKECIL DIUJI (FUNCTION, PROCEDURE, SUBPROGRAM)
b. MODULE TESTING
- MODUL MEMADUKAN BEBERAPA KOMPONEN (MENGUJI INTERAKSI ANTAR UNIT, MENGUJI PERILAKU MODUL)
2. INTEGRATION TESTING ( PENGUJIAN TERHADAP INTEGRASI ANTAR MODUL )
c. SUB-SYSTEM TESTING
- PENGUJIAN TERHADAP ANTAR MUKA
- MODUL-MODUL YANG SUDAH DIINTEGRASIKAN
d. SYSTEM TESTING
- PENGUJIAN TERHADAP PERILAKU SISTEM
- APAKAH SISTEM SESUAI DENGAN SPESIFIKASI
3. USER TESTING ( PENGUJIAN TAHAP AKHIR )
e. PENGUJIAN OLEH USER (ACCEPTANCE TESTING)
f. DIUJI DENGAN DATA SEBENARNYA
- PENGUJIAN TERHADAP FASILITAS YANG TERSEDIA
- MENILAI KINERJA (PERFORMANCE)

STRATEGI PENGUJIAN :
1. TOP DOWN
DARI KOMPONEN YANG PALING ABSTRAK
2. BOTTOM-UP
DARI KOMPONEN FUNDAMENTAL
3. THREAD
UNTUK REAL TIME & OBJECT ORIENTED SYSTEM
4. STRESS TESTING
BEBAN MELAMPAUI BATAS
5. BACK-TO-BACK
BILA TERSEDIA >1 VERSI

1. PENGUJIAN DINAMIS
- DEFECT TESTING
MEMPERLIHATKAN ADANYA KESALAHAN
JENIS:
1. BEHAVIORAL TESTING
- FUNCTIONAL TESTING
- BLACK-BOX TESTING
- MENGUJI MELALUI INPUT-OUTPUT
2. STRUCTURAL TESTING
- WHITE-BOX TESTING
- GLASS-BOX TESTING
- MENGUJI STRUKTUR PROGRAM
3. INTERFACE TESTING
- SAAT INTEGRASI
- MENGUJI ANTAR MUKA









SOFTWARE METRICS


KARAKTERISTIK SEBUAH PROYEK REKAYASA PERANGKAT LUNAK :
1. PRODUK TIDAK TERUKUR
a. TIDAK ADA BAGIAN-BAGIAN PL YANG DAPAT
- DILIHAT
- DIPEGANG
b. HANYA DOKUMENTASI YANG DAPAT DIPAKAI
- SEBAGAI UKURAN KEMAJUAN PROYEK
2. PROSES TIDAK BAKU
a. BANYAK PARADIGMA YANG DAPAT DIPAKAI
b. TIDAK ADA JAMIMAN SEBUAH PARADIGMA LEBIH BAIK
3. TIAP PROYEK BERBEDA
a. KESAMAAN SEBUAH PL SERINGKALI SEMU
- PROYEK YANG SAMA BISA SECARA RINCI BERBEDA

SOFTWARE METRICS :
a. PENGUKURAN PERANGKAT LUNAK (PENGUKURAN TENTANG : )
1. PRODUKTIFITAS
- KECEPATAN KERJA
- KERUMITAN
2. KUALITAS
- EFISIENSI
- MAINTAINABILITY

DUA MACAM PENGUKURAN PERANGKAT LUNAK
1. PENGUKURAN LANGSUNG
- BANYAKNYA BARIS-BARIS PROGRAM (LOC)
- KECEPATAN PROSES
- BESAR MEMORY YANG DIPAKAI
2. PENGUKURAN TIDAK LANGSUNG
- FUNGSIONALITAS
- KUALITAS
- KOMPLEKSITAS
- EFISIENSI
- KEHANDALAN

TUJUAN PENGUKURAN :
1. MENGETAHUI KUALITAS PERANGKAT LUNAK
2. MENILAI PRODUKTIFITAS PEMBUAT PERANGKAT LUNAK
3. MENILAI MANFAAT SEBUAH METODA
4. UNTUK DASAR PERKIRAAN
5. MEMBANTU PENGAMBILAN KEPUTUSAN
- ALAT BARU
- TAMBAHAN PENDIDIKAN

TUJUAN PENGUKURAN :
1. MENGETAHUI KUALITAS PERANGKAT LUNAK
- APA YANG DIMAKSUD DENGAN BAIK ATAU JELEK
2. MENILAI PRODUKTIFITAS PEMBUATAN PERANGKAT LUNAK
- KECEPATAN PEMBUATAN
- UKURAN PERANGKAT LUNAK
3. MENILAI MANFAAT DARI PENERAPAN SEBUAH METODA
- MENCARI PARADIGMA ANDALAN
4. BISA MENJADI DASAR UNTUK MELAKUKAN PERKIRAAN
- PEDOMAN DIMASA MENDATANG
5. MEMBANTU UNTUK MEMASTIKAN APAKAH DIBUTUHKAN
- PERALATAN BARU
- PELATIHAN TAMBAHAN

JENIS METRICS :
1. PRODUCTIVITY METRICS
- MENILAI HASIL REKAYASA PERANGKAT LUNAK
2. QUALITY METRICS
- MENILAI SEJAUH MANA PL TELAH SESUAI DENGAN KEBUTUHAN USER
3. TECHNICAL METRICS
- MENILAI KERUMITAN LOGIKA & TINGKAT MODULARITAS
4. SIZE-ORIENTED METRICS
- BESAR FISIK SEBUAH PERANGKAT LUNAK
5. FUNCTION-ORIENTED METRICS
- MENGUKUR FUNGSIONALITAS & UTILITAS PERANGKAT LUNAK
6. HUMAN-ORIENTED METRICS
- MENILAI EFEKTIFITAS METODA / PARADIGMA YG DIPAKAI

SIZE-ORIENTED METRICS ( PENGUKURAN LANGSUNG, MENGUKUR BESAR-KECILNYA SEBUAH PERANGKAT LUNAK )
DENGAN MENGHITUNG BANYAKNYA BARIS PROGRAM
LINE OF CODE (LOC)
KILO LINE OF CODE (KLOC)
- MENGUKUR PRODUKTIFITAS PENGEMBANG
PRODUKTIFITAS = KLOC / ORANG
- DAPAT DIPAKAI MERANCANG METRICS-METRICS LAIN
KUALITAS = KESALAHAN / KLOC
BIAYA = RUPIAH / LOC
DOKUMENTASI = LEMBAR / KLOC

FUNCTION-ORIENTED METRICS (PENGUKURAN TIDAK LANGSUNG, MENGUKUR FUNGSIONALITAS & UTILITAS PERANGKAT LUNAK )
- MEMAKAI FUNCTION POINT
A. FUNCTION POINT
- MENGHITUNG
JUMLAH USER INPUT (SEMUA USER INPUT YANG DIBUTUHKAN OLEH TIAP APLIKASI)
JUMLAH USER OUTPUT (SEMUA KELUARAN, LAPORAN, TAMPILAN LAYAR, PESAN KESALAHAN)
JUMLAH USER ENQUIRY (MASUKAN ON-LINE YANG MENGAKIBATKAN, KELUARAN ON-LINE)
JUMLAH FILE
JUMLAH ANTAR MUKA EKSTERNAL (HUBUNGAN DENGAN SISTEM LAIN (FILE DI DALAM DISK))

FUNCTION ORIENTED METRICS (FEATURE POINT, JUMLAH USER INPUT)

- JUMLAH USER OUTPUT (LAPORAN, TAMPILAN LAYAR, PESAN KESALAHAN)
- JUMLAH USER ENQUIRIES
- JUMLAH FILE
- JUMLAH ANTAR MUKA EKSTERNAL (DENGAN SISTEM LAIN)
- JUMLAH ALGORITMA (YANG RUMIT) (INVERSE MATRIX, DECODING BIT)


0 caci-maki:

Faizol Yuhri

Followers


ShoutMix chat widget