Selasa, 19 Juni 2012

Function Point

Function Point (FP) merupakan suatu ukuruan yang digunakan untuk menentukan berapa jumlah fungsi yang ada pada code. Kegunaan lainnya adalah untuk mengestimasi biaya proyek dan mengetahui ukuran dari business functionality.

FP relevan digunakan ketika history sudah ada dan ketika estimasi komleksitas sudah ada

Tantangan dari FP adalah bagaimana mencari sistem yang sudah dibuat, menganalisa masalah, dan FP ini berhubungan dengan design dan requirement, sehingga jika tidak ada dokumentasinya, developer akan susah menghitung FP.

Untuk menghitung FP, maka caranya adalah :

  • Pertama, kita hitung Crude Function Point (CFP), caranya dengan menganalisis software system yang tertera dalam diagaram DFD (Data Flow Diagram). Tentukan 
    • number of user inputs
    • number of user outputs
    • number of user online queries
    • number of logical files
    • number of external interface
    • kemudian tentukan masing-masing derajat kompleksitas dari setiap komponen pada kelima number    tersebut, apakah termasuk simple, average, atau kompleks.Setelah itu, masukkan dalam tabel perhitungan CFP seperti di bawah ini:




  • Selanjutnya, setelah didapatkan CFP, maka hitunglah Relative Comlplexity Adjustment Factor (RCAF).  Untuk menentukan RCAF, dilakukan pembobotan setiap komponen, berikut ini komponen-komponen yang dinilai dalam RCAF.

  • Selanjutnya, kita dapat menentukan FP dengan formula sebagai berikut :
            FP = CFP x [0,65 + 0,01 x RCAF)



Project Progress Control

Dalam membangun sebuah software, terkadang terdapat kegagalan yang disebabkan oleh beberapa hal, diantaranya :

  • terlalu optimis dalam menentukan schedule dan budgeting
  • adanya ketidakprofesionalan dalam menggunakan software manajemen proyek
  • tertundanya identifikasi dari kesulitan budget dan schedule
Hal-hal tersebut dapat dihindari dengan memaksimalkan contract review, dan project planning tool untuk penyebab pertama, dan untuk penyebab kedua dan ketiga dapat dihindari dengan project progress control.

Manfaat Project Progress Control adalah untuk mendeteksi secara dini kejadian-kejadian yang tak terduga

Komponen dari Project Progress Control adalah
  • Mengontrol aktifitas manajemen resiko
  • mengontrol jadwal / schedule proyek
  • mengontrol sumberdaya proyek
  • mengontrol budget dari proyek

Staff Training and Certification

Staff training and certification bertujuan untuk :

  • membangun dan meningkatkan kemampuan dan pengetahuan staff yang baru yang diperlukan untuk melakukan pembangunan dan maintainanc software
  • memastikan bahwa staff baru dapat membuat desain dan code software sesuai dengan standart yang ditetapkan perusahaan
  • memperbarui pengetahuan dan keterampilan dari staff lama
  • menyalurkan pengetahuan mengenai prosedur SQA
  • memastikan bahwa calon pemangku posisi penting terkualifikasi dengan baik
Untuk melakukan training dan sertifikasi, maka terdapat proses yang harus dilalui, yaitu :
  1. menentukan requirements pengetahuan profesional yang dibutuhkan untuk setiap posisi
  2. menentukan kebutuhan untuk proses training dan update profesional
  3. merencanakan program training profesional
  4. merencanakan program updating profesional
  5. menentukan posisi yang membutuhkan sertifikasi
  6. merencanakan proses sertifikasi
  7. menyampaikan dan melaksanakan program training, updating, dan sertifikasi
  8. menampilkan hasil follow up dari staff yang telah ditraining dan disertifikasi

Documentation Control

Documentation Control merupakan proses mengendalikan segala dokumen yang terdapat pada pembangunan perangkat lunak.

  • dokumen yang terkontrol dan catatan kualitas
    • bagaimana caranaya, dokumen harus sesuai dengan requirement dengan customer, sehingga kualitasnya terpenuhi
  • list dokumen yang terkontrol
    • dokumen-dokumen yang dikontrol adalah seluruh dokumen yang terdapat pada komponen SQA. 
  • persiapan kontrol dokumen
    • menentukan terlebih dahulu dokumen yang akan dikontrol
    • menentukan level dan bobot
  • masalah dalam kontrol dokumen
    • memutuskan dokumen mana yang sesuai dengan kualitas
    • memutuskan level kontrol
    • menganalisa penemuan-peneuman dan updating dari dokumen


Supporting Quality Device

Terdapat tempalate dan checklist untuk mendukung kualitas perangkat lunak.

Template merupakan suatu format yang dibuat oleh units atau organisasi untuk digunakan dalam menyusun dokumentasi atau report.

Adanya template memberikan keuntungan bagi development team dan review team.

Keuntungan bagi development team adalah :

  • hemat waktu dan energi, karena dalam membuat laporan sudah ada formatnya
  • format yang didapatkan dari template ini lebih lengkap
  • lebih mudah untuk diintegrasikan
  • dapat direview dengan lebih simple
Sedangkan keuntungan bagi review tean adalah lebih mudah untuk menemukan lokasi informasi untuk perawatan.

Kelemahan dari template adalah :
  • tidak semua orang di dalam organisasi aware terhadap template ini
  • penambahan dan peningkatan dari format suatu template harus diselesaikan dengan review dari tim profesional


Checklist
Merupakan list dari item-item yang dibuat untuk setiap dokumen yang harus diselesaikan

Tujuan checklist:
  1. menyediakan list item secara lengkap untuk diverifikasi
  2. mendokumentasikan penemuan dari performa yang dicek 

Configuraton Management


Manajemen Konfigurasi merupakan suatu pengelolaan konfigurasi dokumentasi dari proyek perangkat lunak. Konfigurasi ini dilakukan untuk menghindari kebungungan yang dapat merugikan.

Sebagai contoh, ketika kita menyimpan dokumen plan, kemudian terdapat revisi, maka dokumen tersebut disimpan kembali dengan nama yang berbeda. Nama-nama penyimpanan ini harus diatur sedemikian rupa sehingga tidak membingungkan. Hal ini merupakan salah satu contoh dari manajemen konfigurasi.

Tujuan-tujuan dari Manajemen Konfigurasi adalah :

  1. Untuk mengidentifikasikan perubahan
  2. Untuk mengontrol perubahan
  3. Untuk memastikan bahwa perubahan diimplementasikan dengan benar
  4. Untuk melaporkan perubahan kepada orang-orang yang berkaitan
Perubahan apa yang diatur ??
  1. Software code
  2. Data, yang terdiri dari test data dan database file
  3. Dokumen, yang terdiri dari dokumen SRS, Design, Project Schedule, test plan, test result
Faktor-faktor yang mempengaruhi persetujuan dari perubahan yang diajukan adalah
  1. kontribusi yang diharapkan
  2. urgency
  3. perubahan dari project timetable
  4. perubahan operational
  5. assurance effort
Baseline merupakan:
  • Kontrol pusat dari proyek
  • Ciptaan dari baseline biasanya berupa milestone
  • setiap orang menggunakan baseline awal yang sama
  • untuk mengganti baseline, butuh proses formal



Requirement Traceability Matrix

Requirement Traceability Matrix


Untuk membuat perangkat lunak, pembuat harus menentukan apa saja kebutuhan dari user yang melatarbelakangi pembuatan perangkat lunak tersebut. Setelah merinci kebutuhan yang didapat dari user, maka pembuat harus menentukan functional requirement yang merupakan hasil dari pengumpulan kebutuhan user. Selanjutnya, dari functional requirement tersebut, pembuat perangkat lunak harus mendokumentasikan desain yang meliputi use case, desain modul, dan sequence. Setelah desain dibuat, perangkat lunak dibangun. Untuk melakukan validasi, maka perangkat lunak yang sudah jadi tersebut harus dites. Setelah hasil tes benar-benar sesuai dengan yang diharapkan, maka perangkat lunak siap diluncurkan.


Agar menghasilkan dokumentasi yang sesuai, maka pembuat perangkat lunak harus dapat menggambarkan requirement traceability matrix yang benar-benar sesuai dengan proses pembuatan perangkat lunak yang disebutkan pada paragraf pertama. RTM berfungsi memastikan apakah perangkat lunak dapat memenuhi kebutuhan yang ditentukan di awal dengan menyelaraskan kebutuhan dengan hasil testing perangkat lunak. Jika ada kebutuhan yang tidak dapat dipenuhi, maka perangkat lunak tersebut tidak mampu menjawab kebutuhan dan perlu diperbaiki. Begitu juga, jika ada kebutuhan yang tidak selaras dengan hasil desain dan testing dari perangkat lunak, maka RTM dari perangkat lunak tersebut kurang baik, sehingga pembuat perangkat lunak tersebut harus memperbaiki dokumentasi perangkat lunaknya.


Berikut ini contoh dari RTM