Friday, November 13, 2015

Prinsip analisis dan desain RPL

PEMAHAMAN

Pemahaman lengkap mengenai persyaratan perangkat lunak sangat penting bagi keberhasilan usaha pengembangan perangkat lunak. Tidak peduli bagaimana perangkat lunak dirancang atau dikodekan, program yang dianalisis dan ditentukan secara tidak baik akan mengecewakan pemakainya dan akan membawa kegagalan bagi pengembangnya.



Dalam konteks perangkat lunak, analisis merupakan sebuah :

  • Penemuan
  • Perbaikan
  • Pemodelan
  • Spesifikasi (baru)

SIAPA YANG BERPERAN DALAM ANALISIS ?

  • Pengembang maupun pelanggan harus berperan aktif
  • Pelanggan berusaha memformulasikan kembali konsep yang tidak jelas dari fungsi perangkat lunak dan kinerja kedalam detail yang konkret.
  • Pengembang bertindak sebagai integrator, konsultan dan pemecah masalah

Ruang lingkup perangkat lunak secara mendasar dikembangkan oleh perekayasa system dan diperbaiki selama perencanaan proyek perangkat lunak dan diperbaiki secara detail (rinci).



APA YANG MENJADI MASALAH SEBENARNYA ?

  • Pelanggan hanya memiliki ide yang samar-samar apa yang dibutuhkan
  • Pengembang akan menghasilkan sesuatu dengan mengacu kepada “ide yang samar-samar”, dengan asumsi bahwa “kita akan mengerjakan rincian pekerjaan sesuai tahapan (langkah)”
  • Pelanggan akan terus mengikuti perubahan
  • Pengembang akan “dirugikan” oleh perubahan-perubahan ini, membuat kesalahan-kesalahan dalam spesifikasi dan pengembangan 

ANALISIS PERSYARATAN

Analisis persyaratan adalah sebuah tugas rekayasa perangkat lunak yang menjembatani jurang antara alokasi perangkat lunak tingkat system dan perancangan perangkat lunak seperti terlihat pada gambar 11.1





















Gambar 11.1 Analisis dan kesenjangan antara rekayasa system dan desain perangkat lunak



Analisis persyaratan perangkat lunak dapat dibagi menjadi 5 (lima) area kerja yaitu :

  1. Pengenalan masalah
    Mempelajari spesifikasi system (bila ada) dan rencana proyek perangkat lunak dalam suatu konteks system dan mengkaji ruang lingkup perangkat lunak dalam suatu konteks system dan mengkaji ruang lingkup perangkat lunak yang telah digunakan untuk memunculkan estimasi perencanaan
  2. Evaluasi dan sintesis
    • Membatasi semua objek data yang dapat diobservasi secara eksternal
    • Mengevaluasi aliran dan muatan informasi
    • Mendefinisikan dan menguraikan semua fungsi perangkat lunak
    • Memahami tingkah laku perangkat lunak dalam konteks kejadian yang mempengaruhi system
    • Membangun karakteristik interface system
    • Menemukan batasan desain tambahan
  3. Pemodelan
    Menyiapkan system dalam ukuran yang kecil-kecil sebelum penerapan dengan system yang sebenarnya
  4. Spesifikasi
    Menetapkan system dalam kondisi yang sebenarnya
  5. Kajian
    Melakukan evaluasi dan pengujian formal terhadap penerapan yang telah dilakukan apakah sasaran yang yang ditetapkan tercapai atau tidak.



TEKNIK KOMUNIKASI

  • Merupakan permulaan yang (selalu) perlu dilakukan agar seorang pelanggan memiliki masalah yang dapat dipertanggung jawabkan melalui pemecahan berbasis komputer
  • Agar pengembang dapat merespon permintaan bantuan (help) dari pelanggan
  • Biasanya jalan komunikasi ke pemahaman penuh dengan “lobang-lobang”



MENGAWALI PROSES

  • Untuk menjembatani jurang / lobang-lobang komunikasi antara pelanggan dan pengembang, sekaligus untuk memulai proses komunikasi, perlu dilakukan pertemuan pendahuluan atau wawancara
  •  Harus dimulai dengan pertanyaan-pertanyaan yang bebas konteks :
    • Siapa dibalik permintaan untuk pekerjaan ini ?
    • Siapa yang akan menggunakan pemecahan ini ?
    • Apa keuntungan ekonomi dari pemecahan yang berhasil ?
    • Apakah ada sumber lain untuk pemecahan yang anda inginkan ?
  • Dilanjutkan dengan pertanyaan agar seorang analis mendapat pemahaman yang lebih baik akan mengenai masalah dari pelanggan
    • Bagaimana anda akan menandai output yang baik ?
    • Masalah apa yang akan diselesaikan oleh pemecahan ini ?
    • Dapatkah anda memperlihatkan kepada saya (atau menjelaskan) lingku ngan dimana pemecahan tersebut akan digunakan ?
    • Apakah masalah atau batasan kinerja yang khusus yang akan mempenga ruhi cara pemecahan tersebut didekati ?
  •  Diakhiri dengan pertanyaan yang berfokus pada efektivitas pertemuan
    • Apakah anda adalah orang yang tepat untuk menjawab pertanyaan-pertanyaan ini ? dan apakah jawaban anda bersifat resmi ?
    • Apakah pertanyaan saya ini relevan dengan masalah yang anda hadapi ?
    • Apakah anda mengajukan terlalu banyak pertanyaan ?
    • Apakah ada orang lain yang dapat memberikan informasi tambahan ?
    • Apakah ada hal lain yang harus saya tanyakan kepada anda ?
       

FAST (Facilitated Application Specification Techniques)

TENTANG FAST

Memacu kreasi kerjasama dari tim (pelanggan dan pengembang) yang bekerja sama untuk :

  •  Mengidentifikasi masalah
  •  Menyiapkan elemen-elemen solusi
  • Menegosiasikan pendekatan yang berbeda
  •  Menetapkan sebelumnya kebutuhan solusi yang diperlukan



Banyak pendekatan yang digunakan dan masing-masing pendekatan menggunakan scenario yang berbeda, namun semuanya menerapkan variasi tuntunan dasar berikut ini:

  •  Pertemuan dilakukan di sisi netral dan dihadiri baik oleh pengembang maupun pelanggan
  •  Aturan main untuk persiapan dan partisipasi dibuat
  •  Perlunya agenda
  •  Perlunya seorang fasilitator
  •  Harus adanya mekanisme definisi

PANDUAN FAST

J. Wood dan D. Silver menyarankan beberapa panduan umum FAST yang dapat digunakan yaitu :

  • Peserta harus menghadiri semua rapat
  • Semua peserta adalah sama
  • Persiapan harus sama pentingnya dengan rapat yang sebenarnya
  • Semua dokumen sebelum rapat harus dikaji ulang
  • Lokasi rapat diluar ruangan terkadang diperlukan
  • Tentukan agenda dan jangan sampai mengalami perubahan
  • Jangan sampai terbawa dalam hal-hal teknis yang terlalu rinci



PENYEBARAN FUNGSI KUALITAS (QUALITY FUNCTION DEPLOYMENT = QFD)

QFD sebagai perkenalan :

  • Teknik manajemen kualitas yang menterjemahkan kebutuhan pelanggan kedalam kebutuhan teknis untuk perangkat lunak
  • Pertama kali diperkenalkan di Jepang untuk memaksimalkan kepuasan pelanggan
  • Menekankan pemahaman tentang apa yang berguna kepada pelanggan dan kemudian menyebarkan nilai-nilai tersebut melalui proses rekayasa



QFD mengidentifikasi tiga tipe persyaratan yaitu :

  1. Persyaratan  normal : Sasaran dan tujuan bagi sebuah produk atau system selama pertemuan dengan pelanggan. Bila persyaratan ini ada, maka pelanggan akan menjadi puas, misalnya tampilan grafis yang sempurna.
  2. Persyaratan yang diharapkan : Persyaratan ini implicit terhadap produk atau system yang sangat fundamental sehingga pelanggan tidak menyatakannya secara eksplisit. Ketidakhadirannya akan menyebabkan ketidakpuasan yang sangat mendalam. Contohnya adalah mudahnya operasional interaksi manusia dan mesin, reliabilitas dan kebenaran operasional keseluruhan dan mudahnya instalasi perangkat lunak
  3. Exciting requirement : Persyaratan ini sangat diharapkan oleh pelanggan dan terbukti sangat memuaskan bila ada, misal kemampuan perangkat pengolah kata yang memiliki kemampuan layout halaman, dsb.



GAMBARAN KONSEP QFD :

  • Penyebaran fungsi, menentukan nilai (seperti yang diharapkan pelanggan) dari setiap fungsi yang dibutuhkan oleh system.
  • Penyebaran informasi, mengidentifikasi objek data dan kejadian
  • Penyebaran tugas, yang melatih kebiasaan dari system
  • Analisa nilai, menetapkan prioritas relative kebutuhan



ANALISA PROSES SECARA UMUM





 












PRINSIP ANALISA 1

Data Domain Model :

  • Menetapkan objek data
  • Menggambarkan atribut data
  • Menetapkan hubungan data



PRINSIP ANALISA 2

Fungsi Model :

  •   Mengidentifikasi fungsi yang (dapat) merubah objek data
  •   Mengindikasikan berapa data yang melalui system
  •  Mewakili data produsen dan konsumen



PRINSIP ANALISA 3

Model Kebiasaan :

  •  Mengindikasikan states yang berbeda dari system
  •    Menetapkan kejadian yang mungkin menyebabkan perubahan pada state

PRINSIP ANALISA 4

Partisi Model :

  • Menyaring setiap model untuk mewakili level yang lebih rendah dari abstraksi
  • Menyaring objek data
  • Membuat hirarki fungsi|
  • Mewakili kebiasaan pada tingkatan yang berbeda tiap detilMembuat partisi horizontal dan vertikal
PRINSIP ANALISA 5 :

Intisari :

  • Memulai focus intisari masalah tanpa memperhatikan rincian implementasi



BEBERAPA PRINSIP YANG DIKEMUKAKAN DAVIS :

  • Mengerti masalah sebelum kita memulai menciptakan model analisa
  • Membangun protipe yang memungkinkan pelanggan untuk mengerti bagaimana pelanggan mengerti interaksi manusia dan mesin dapat terjadi
  • Mencatat hal-hal yang baru dan alasan untuk setiap kebutuhan
  • Menggunakan gambaran bertingkat setiap kebutuhan
  •  Memprioritaskan kebutuhan
  • Bekerja untuk menghilangkan keragu-raguan



MODEL ANALISA :


BEHAVIORAL MODEL
























KAJIAN SPESIFIKASI : 
Kajian dari suatu spesifikasi persyaratan perangkat lunak dilakukan baik oleh pelanggan maupun pengembang perangkat lunak dan harus dilakukan dengan sangat hati-hati.

Kajian ini akan memastikan bahwa spesifikasi sudah lengkap, konsisten dan akurat. Untuk itu, pertanyaan-pertanyaan di bawah ini dapat diajukan :

  •  Apakah tujuan dan sasaran yang dinyatakan bagi perangkat lunak tetap konsisten dengan tujuan dan sasaran system ?
  • Apakah interface penting ke semua elemen system sudah digambarkan ?
  •  Apakan aliran informasi dan struktur didefinisikan dengan tepat bagi domain masalah ?
  • Apakah diagram jelas ? dapatkah masing-masing berdiri sendiri tanpa teks pendamping ?
  •   Apakah fungsi mayor tetap ada dalam ruang lingkup, dan sudahkan digambarkan dengan tepat ?
  • Apaka tingkah laku perangkat lunak konsisten dengan informasi yang harus diprosesnya dengan fungsi yang harus dilakukannya /
  • Apakah batasan desain realistis ?
  •  Apakah resiko teknologis pengembangan sudah dipertimbangkan ?
  •  Apakah criteria validasi dinyatakan secara detail ? Apakah criteria itu tepat untuk menggambarkan sebuah system yang berhasil ?
  •   Apakah ada inkonsistensi, penghilangan atau redundancy ?
  • Apakah kontak dengan pelanggan sudah lengkap ?
  • Apakah pemakai sudah mengkaji manual pemakai permulaan atau prototype ?
  • Bagaimana estimasi perencanaan mempengaruhi ?


RANGKUMAN
  •  Analisis persyaratan adalah langkah teknis pertama pada proses rekayasa perangkat lunak
  • Analisis harus berfokus pada domain informasi, fungsional dan tingkah laku dari masalah
  •  Dalam beberapa kasus tidaklah mungkin untuk secara lengkap memspesifikasi suatu masalah pada tahap awal
  •  Spesifikasi persyaratan perangkat lunak dikembangkan sebagai akibat dari analisis

0 comments: