SOFTWARE ENGINEERING
Ilmu yang mempelajari tehnik pembuatan software yang baik dengan
pendekatan tehnik (Engineering approach)
Ada beberapa cara / fase
1. Fase Perencanaan
2. Fase Pengembangan
3. Fase Pemeliharaan
Tantangan ?
à mengembangkan hardware komputer
yang dapat mengurangi biaya pengolahan dan penyimpanan data
à mengurangi biaya dan
memperbaiki kualitas solusi berbasis komputer
Solusi ?
à Soft. merupakan faktor kunci
dlm keberhasilan suatu usaha, soft. dpt membedakan satu perusahaan dari perusahan
saingannya

Tahun-tahun awal :
- Batch orientation
- Limmited distribution
- Custummer software
Era ke-2 : Era ke-3 :
- Multi user -
Distibuted system
- Real time -
Embedded intellegence
- Database - Low cost hardware -
- Consumer infact
Era ke-4 :
- Expert system
- A I Machine
- Parallel architecture
Arti Software ?
Instruksi Atau program komputer yang ketika dieksekusi akan memberi
fungsi dan hasil yang diinginkan.
Struktur data Yang memungkinkan program memanipulasi informasi Dokumen Yang menggambarkan operasi dan penggunaan
program.
Sifat & Karakteristik Software ?
Software merupakan elemen sistem logik dan bukan elemen sistem fisik
seperti hardware
Ø Elemen itu tidak aus, tetapi bisa rusak.
Ø Elemen software itu direkayasa atau dikembangkan dan bukan dibuat di
pabrik seperti hardware
Ø Software itu tidak bisa dirakit.
Komponen Software ?
Ø Bentuk Bahasa
Ø Bentuk Translator
Ø Bentuk Mesin :

Sistem Software
Real Time Software
Perlu dicatat bahwa istilah real time berbeda dari istilah interactive
atau time sharing. Sistem real time harus memberikan respons pada waktu yang
ditentukan, sedangkan pada sistem interactive atau time sharing respons time
biasanya melebihi batas waktu yang ditentukan tanpa merusak hasil.
Business Software
Ø Engineering and Sciencetific Sofware
Ø Emdebed Software
Ø PC Software
Ø Artificial Intelegent Software
Krisis Software ?
Masalah ?
Penyebab ?
Model Software Engineering
Fritz Badar (soft. yg ekonomis), terdiri dari 3 elemen :
1. Metode
2. Peralatan
3. Prosedur
Software engineering paradigma (ada 3) :
1. Classic Life Cycle Paradigma

2. Prototype Paradigma

Fourth Generation Technique Paradigma

Model Kombinasi

Sebuah Analogi
Gas Oksigen dapat dibuat oleh :
- Sebuah
Laboratorium
- Industri Pabrik
Gas
Perangkat lunak dapat dikembangkan oleh :
- Sekelompok
programmer
- Sebuah organisasi
yang mengembangkannya melalui rekayasa
Apa yang membedakan antara keduanya ?
Perbedaan SE & CS

Comp. Science terkait dgn teori-teori & dasar-dasar dari ilmu
komputer, sedangkan software engineering terkait pada pengetahuan &
penyerahan perangkat lunak yg berguna.
Teori-teori ilmu komputer biasanya tidak cukup digunakan sebagai
pendukung yang lengkap dari software engineering.
Mengapa perlu Soft. Engineering
Masalahnya adalah kompleksitas, Banyak dibutuhkan sumber-sumber,
tetapi kuncinya adalah ukuran (size) :
- UNIX berisi 4 juta lines of code
- Windows 2000 berisi 108 lines of code dikerjakan oleh Tim dengan
1400 orang
Soft. Engineering adalah bagaimana mengelola komplesitas tsb. dan
dpt bekerja dalam satu Tim Work
Tahap-tahap Proses Pengembangan Soft
Bagaimana bekerja dalam suatu proyek skala besar, kompleks &
melibatkan banyak orang ?
1. Spesifikasi
Kebutuhan (requirement specification)
2. Analisis
(anlysis)
3. Perancangan
(design)
4. Implementasi
& Pengujian (implementastion & testing)
5. Perawatan &
Up-grade (maintenance & upgrade)
KONSEP MANAJEMEN PROYEK
SPEKTRUM MANAJEMEN
Manajemen proyek Perangkat Lunak (PL) yang efektif berfokus
pada 3 P, dimana
harus berurut yaitu
PEOPLE : Elemen terpenting dari suksesnya proyek
SEI telah mengembangkan suatu model kematangan kemampuan manajemen
manusia (People Management Capability Manurity Model ( PM – CMM ) ) untuk
mempertinggi kesiapan organisasi PL dalam membuat aplikasi yang semakin
kompleks sehingga menarik, menumbuhkan, memotivasi, menyebarkan dan memelihara
bakat yang dibutuhkan untuk mengembangkan kemapuan mengembankan PL mereka.
Model kematangan manajemen manusia membatasi pada
Ø Rekruitmen
Ø Seleksi
Ø Manajemen unjuk kerja
Ø Pelatihan
Ø Kompensasi
Ø Pemgembangan karir
Ø Desain kerja & organisasi
Ø Perkembangan karir tim /
Ø kultur
Manusia dalam pengembangan PL terdiri dari :
a. Player (Pemain)
Manajer Senior menentukan isu
bisnis yang mempengaruhi dalam proyek Manajer Proyek merencanakan, memotivasi,
mengorganisir, mengontrol aplikasi/produk Pelaksana mempunyai ketrampilan teknik untuk
merekayasa aplikasi Pelanggan menentukan
jenis kebutuhan bagi PL yang akan dibuat Pemakai akhir yang berinteraksi dengan PL yang
dibuat
Team Leader (Pimpinan Tim)
Manajemen proyek merupakan
kegiatan manusia intensif sehingga memerlukan praktisi yang cakap. Model
Kepemimpinan (MOI yaitu Motivasi, Organisasi,gagasan & Inovasi) menurut
Jerry Weinberg. Karakteristik yang menentukan manajer proyek efektif yaitu Pemecahan
Masalah – Prestasi, Identitas manajerial
- Pengaruh & pembentukan tim
The Software Team ( Tim PL)
Sumber daya manusia kepada sebuah proyek yang akan membutuhkan n
manusia yang bekerja selama k tahun , ada beberapa alternatif untuk menentukan
sumber daya tersebut :
Ø n orang mengerjakan tugas fungsional berbeda sebanyak m dengan
sedikit kombinasi kerja & koordinasi tanggung jawab manajer proyek
Ø n orang mengerjakan tugas fungsional berbeda sebanyak m (m<n) ,
seorang pemimpin tim ad hoc dapat dipilih, koordinasi bertanggung jawab manajer
PL
Ø n orang diatur di dalam tim , setiap orang mengerjakan >= 1 tugas
fungsional, setiap tim mempunyai sebuah struktur spesifik yang ditentukan untuk
semua tim yang bekerja pada sebuah proyek, koordinasi dikontrol oleh tim itu
sendiri dan oleh manajer proyek PL (sistem ini paling produktif)
Mantei, mengusulkan 3 organisasi tim yaitu:
Ø Demokrasi terdesentralisasi (DD)
Ø Terkontrol terdesentralisasi (CD)
Ø Terkontrol tersentralisasi (CC)
7 faktor proyek yang harus dipertimbangkan dalam rencanakan :
1. Kesulitan pada
masalah
2. Ukuran program
yang dihasilkan (LOC / function)
3. Waktu tim (umur)
4. Tingkat dimana
dapat dimodularitasi
5. Kualitas serta
keandalan
6. Kepastian
tanggal penyampaian
7. Tingkat
sosiabilitas / komunikasi
Constantine, mengusulkan 4 paradigma organisasional bagi tim RPL
1. Paradigma
Tertutup
2. Paradigma Random
3. PAradigma
Terbuka
4. Paradigma
Sinkron
Coordinatian & Communication Issue (masalah koordinasi &
komunikasi)
Proyek PL mengalami kesulitan dikarenakan :
Ø Skala
Ø Ketidakpastiam
Ø Interoperabilitas
Ø Kraul & Streter menguji sekumpulan teknik koordinasi proyek yang
dibagi atas :
·
Pendekatan impersonal
·
Prosedure interpersonal
·
Prosedure interpersonal
·
Komunikasi teknik
·
Jaringan interpersonal
PRODUCT /PROBLEM : Software yang dikembangkan Analisis yang
mendetail mengenai kebutuhan PL akan memberikan informasi untuk menghitung
perkiraan kuantitatif & perencanaan organisasi. Tetapi itu sulit karena
informasi yang diberikan customer tidak lengkap.
Ruang lingkup masalah dibatasi dengan :
Ø Konteks
Ø Tujuan Informasi
Ø Fungsi & Unjuk Kerja
Pernyataan ruang lingkup dibatasi (data jumlah pemakai simultan,
ukuran pengiriman, waktu mak respon ), batasan /& jangka waktu dicatat
(biaya produk membatasi jumlah memori) & factor mitigasi (algoritma yang
dibutuhkan software aplikasi (pemograman))
Dekomposisi Masalah / pembagian masalah diterapkan pada :
Ø Fungsionalitas yang disampaikan
Ø Proses yang dipakai
PROCESS : Suatu kerangka kerja dari suatu aktifitas dan kumpulan
tugas untuk memgembangkan PL
Proses PL memberikan suatu kerangka kerja dimana rencana
komprehensip bagi pengembangan PL yang dapat dibangun dengan
Sejumlah kumpulan tugas yang
berbeda, kemampuan penyampaian & jaminan kualitas
Aktifitas pelindung, jaminan
kualitas PL, manajemen konfigurasi PL & pengukuran
Model Proses :
Ø Sekunsial Linier
Ø Prototipe
Ø Rapid Aplication Development (RAD)
Ø Inkremental (Pertambahan)
Ø Spiral
Ø Rakitan Komponen
Ø Perkembangan Komponen
Ø Metode Formal
Ø Teknik Genersai Keempat
Ø Dekomposisi Proses
Bila batasan waktu yang ketat diberikan dan masalah dapat
dipecah-pecah, model RAD mungkin pilihan yang paling tepat.
Tugas kerja yang actual bervariasi sehingga dekomposi proses dimulai
pada saat bagaimana menyesesaikan kerja proses secara umum.
1,2 3 (konvensional) sisanya evolusioner
Harus ditentukan model paling banyak memawakili pelanggan,
karakteristik produk & lingkungan proyek
Serangkaian aktifitas kerja PL :
1. Komunikasi pelanggan
2. Perencanaan
3. Analisa Resiko
4. Rekayasa
5. Konstruksi dan rilis
6. Evaluasi Pelanggan
PROJECT (tambahan) : Penggabungan semua kerja untuk membuat produk
menjadi kenyataan
Profesional industri sering mengacu pada aturan 90-90 yaitu pada
saat mendiskusikan proyek PL yang sukar maka 90 % dr siste yang pertama
menyerap 90 % dari usaha & waktu yang diberikan. 10 %terakhir mengambil 90
% lain dari usaha & waktu yang diberikan.
Dari penyataan tersebut
proyek mengalami kesulitan yaitu :
1. Kemajuan mengalami kecacatan
2. Tidak ada cara untuk
mengkalibrasi kemajuan karena tidak memperoleh matrik kuantitatif
3. Rencana proyek belum dirancang
untuk menakomodasi sumber daya yang diperlukan pada akhir sebuah proyek
4. Resiko-resiko
belum mempertimbangkan secara eksplisit serta
belum
dibuat rencana untuk mengurangi, mengatur & memonitor
5. Jadual yang ada tidak realistis
& cacat
Untuk mengatasi masalah tersebut maka diperlukan waktu pada awal
proyek untuk membangun rencana yang realistis guna memonitor rencana proyek
selama berjalan & pada keseluruhan proyek serta mengontrol kualitas serta
perubahannya.
Manajer Pengukuran yang Baik

Software Measurement
Tim A menemukan 342 error dalam pengembangan
Tim B menemukan 184 error dalam pengembangan
Tim mana yang memiliki kinerja terbaik ?
Jawabnya:
Kita tidak dapat membandingkan antara buah apel dengan jeruk.
Jika pengukuran tidak dinormalisasi, maka dapat dibuat software
metric yang memungkinkan perbandingan pengoraganisasian yang lebih luas.
Metrics
Ø Berorientasi pada ukuran (Size-oriented)
Ø Mempertimbangkan “ukuran” dari proyek
Ø Berorientasi pada Fungsi (Function-oriented)
Size-Oriented Metrics
Contoh size-oriented metrics
Project
|
LOC
|
FP
|
Effort (P/M)
|
R(000)
|
Pp. doc
|
Errors
|
Defects
|
People
|
alpha
|
12100
|
189
|
24
|
168
|
365
|
134
|
29
|
3
|
beta
|
27200
|
388
|
62
|
440
|
1224
|
321
|
86
|
5
|
gamma
|
![]() |
631
|
43
|
314
|
1050
|
256
|
64
|
6
|

Normalized metrics
Ø Errors per KLOC (000 lines of code)
Ø Defects per KLOC
Ø $ per LOC
Ø Pages of documentation per KLOC
Juga:
Ø Errors/person-month
Ø LOC per person-month
Ø $/page of documentation
Masalah pada Size-Oriented Metrics
Ø Belum diterima secara universal di dunia
Ø LOC tergantung pada bahasa pemrograman
Ø Perancangan yang baik dengan baris program lebih pendek akan
dirugikan.
Ø LOC butuh dikalkulasi sebelum perancangan.
Function-Oriented Metrics
Menggunakan fungsionalitas dari aplikasi sebagai nilai normalisasi
Bagaimana kita mengukur fungsionalitas ?
Function points [Albrecht]
Didasarkan pada pengukuran terukur (langsung) dari domain informasi
perangkat lunak dan pengkajian dari kompleksitas perangkat lunak.

PENGUKURAN PERANGKAT LUNAK SECARA LANGSUNG
Ø Biaya dan Usaha (Cost Effort) .
Ø Ukuran Produk (Product Size).
Ø Keandalan Produk (Product Performance).
Ø Kadar Kesalahan (Defect Rate).
PENGUKURAN PERANGKAT LUNAK SECARA TIDAK LANGSUNG
Ø Fungsinya (Functionality) .
Ø Kualitasnya (Quality).
Ø Kerumitannya (Complexity).
Ø Reliabilitasnya (Reliability).
Ø Perawatannya (Maintainability).
SOFTWARE METRICS
Ø Banyaknya baris program (Lines of Code - LOC).
Tergantung pada
jenis bahasa pemrograman.
Ø Titik-titik Fungsi (Function Points - FP).
Tidak tergantung
pada bahasa pemrograman.
Ø Lamanya Proses Pengujian (Elapsed Time in Hours)
Jumlah “Defects” selama proses pengujian (Counting
Defects).
Jam kerja programmer (Man Hours/Months).
LINES OF CODE (LOC)
Pengukuran langsung metrik perangkat lunak yang paling sederhana
(metric size oriented).
Asumsi:
Line of code berisi kesalahan (error) per LOC dengan peluang konstan
p
Contoh:
Pemeriksa percaya bahwa line of code mengandung peluang kesalahan 2%
(fault/LOC).
Jika modul yang diuji panjangnya adalah 100 baris maka kesalahan
yang terjadi adalah :
Faults = p x LOC = 0,02 x 100 = 2
FUNCTION POINTS (FP)
Metrik perangkat lunak berorientasi pada fungsi (function-oriented)
yang menggunakan pengukuran tidak langsung yaitu fungsionalitas dari aplikasi.
Dihitung dengan menggunakan sebuah hubungan empiris domain informasi
dan perkiraan kompleksitasnya.
Function Points - Notepad
Contoh Soal:
Hitunglah nilai Function Points untuk suatu aplikasi dengan karakteristik
domain informasi sebagai berikut:
Jumlah input pemakai = 3
Jumlah ouput pemakai = 2
Jumlah inquery pemakai =
2
Jumlah file = 1
Jumlah interface eksternal = 4
Jika kita anggap faktor penyesuaian komplesitas adalah 46 (produk
yang agak kompleks), maka tentukan function point dari aplikasi ini .
Jawab
Faktor Pembobotan

Estimasi Rata-rata jumlah baris yang diperlukan untuk membangun satu
FP dalam berbagai Bahasa Pemrograman
Bahasa Pemrograman
|
LOC/FP
Rata-rata
|
Bahasa Assembly
|
320
|
C
|
128
|
Cobol
|
105
|
Fortran
|
105
|
Pascal
|
90
|
Ada
|
70
|
Bahasa Berorietasi Obyek
|
30
|
Bahasa Generasi Ke-empat (4GLs)
|
20
|
Spreadsheets
|
6
|
Bahasa Visual/Grafis (icon)
|
4
|
|
|
Contoh Statistik

Constructive Cost Model (COCOMO)
Model Biaya Konstruktif (COCOMO) adalah menghitung usaha dan waktu
pengembangan perangkat lunak sebagai fungsi dari ukuran program yang
diestimasi.
Usaha (person-month):
E = a (KLOC)b
KLOC = Kilo of Lines of Code
a, b = konstanta.
Development Time (months):
D = c (E)d
E = Effort (person-months)
c, d = konstanta.
Contoh Soal
Jika konstanta a=2,4 , b=1,05 , c=2,5 dan d=0,35 . Berapa Effort dan
Development Time yang dibutuhkan untuk mengembangkan perangkat lunak dengan
ukuran 33,2 KLOC.
Jawab
Usaha yang diperlukan:
E = a (KLOC)b
E = 2,4 (33,2)1,05 = 95
orang-bulan
Development Time (months):
D = c (E)d
D = 2,5 (95)0,35 = 12,3
bulan
Jumlah orang yang disetujui:
P = E/D
P = 95/12,3 = 8 orang
Atau perencanca dapat memutuskan menggunakan 4 orang saja dengan
durasi proyek lebih lama.

PERENCANAAN PROYEK
PERANGKAT LUNAK
Proses manajemen proyek perangkat lunak dimulai dengan kegiatan
project planning (perencanaan proyek). Yang pertama dari aktifitas ini adalah
estimation (perkiraan). Estimasi membawa resiko yang inheren (dari diri
sendiri) dan resiko inilah yang membawa ketidakpastian. Yang mempengaruhi
estimasi :
- Project
complexity (kompleksitas proyek)
- Project size
(ukuran proyek)
- Struktural
uncertainty (ketidakpastian struktural)
Tujuan Perencanaan Proyek Perangkat Lunak :
menyediakan sebuah kerangka kerja yang memungkinkan manajer membuat
estimasi yang dapat dipertanggungjawabkan terhadap sumber daya, biaya dan
jadwal pada awal proyek yang dibatasi oleh waktu.
Aktifitas Perencanaan Proyek PL
1. Menentukan ruang
lingkup PL
2. Mengestimasi
sumber daya yang dibutuhkan
RUANG LINGKUP PL
Ruang lingkup PL menggambarkan : fungsi, kinerja, batasan, interface
dan reliabilitas.
Fungsi yang digambarkan dlm statemen
ruang lingkup dievaluasi untuk memberikan awalan yang lebih detail pada
saat dimulai estimasi. Kinerja melingkupi pemrosesan dan kebutuhan waktu respon. Batasan
mengidentifikasi batas yang ditempatkan pada PL oleh perangkat keras eksternal,
memori atau sistem lain.
Informasi yang dibutuhkan (awal pertemuan antara pelanggan dan
pengembang)
* Pertanyaan berfokus pada pelanggan, tujuan keseluruhan serta
keuntungan.
- Siapa di belakang
permintaan kerja ini?
- Siapa yang akan
memakai solusi ini?
- Apakah keuntungan
ekonomi dari solusi yang sukses?
- Adakah sumber
daya lain bagi solusi ini?
* Pertanyaan yang memungkinkan analis memahami masalah lebih baik
dan pelanggan menyuarakan persepsi tentang sebuah solusi.
Bagaimana Anda (pelanggan) menandai output yg baik yg akan
dihasilkan oleh sebuah solusi yg baik?
Masalah apa yang dituju
solusi ini?
Dapatkah anda menggambarkan lingkungan dimana solusi akan dipakai?
Adakah batasan atau isu kinerja khusus yg akan mempengaruhi ?
PL berinteraksi dengan elemen sistem berbasis komputer. Konsep
sebuah interface diinterpretasi untuk menentukan:
Hardware yg mengeksekusi PL dan device yg dikontrol secara tidak
langsung oleh PL
Software yg sudah ada dan harus dihubungkan dengan PL yg baru
Manusia yg menggunakan PL melalui keyboard atau perangkat I/O lain
Prosedur
SUMBER DAYA
1. Manusia
2. Perangkat Lunak
Kategori yg diusulkan
BEUNATAN
- Komponen Off-the-self
- Komponen
Full-Experience
- Komponen
Partial-Experience
- Komponen Baru
3. Lingkungan (Software
Engineering Environment - SEE), menggabungkan PL dan Perangkat Keras.
Estimasi biaya dan usaha dapat dilakukan dengan cara :
Menunda estimasi sampai akhir proyek.
Berdasarkan estimasi pada proyek yg mirip sebelumnya.
Menggunakan 'teknik dekomposisi' yg relatif sederhana u/ estimasi
biaya dan usaha proyek.
Menggunakan satu atau lebih model empiris bagi estimasi usaha dan
biaya PL.
Akurasi estimasi proyek PL didasarkan pada :
Tingkat dimana perencana telah dengan tepat mengestimasi ukuran
produk yg akan dibuat.
Kemampuan mengestimasi ukuran ke dalam kerja manusia, waktu
kalender, dan dolar.
Tingkat dimana rencana proyek mencerminkan kemampuan tim PL.
Stabilitas syarat produk serta lingkungan yg mendukung usaha
pengembangan PL.
Putnam dan Myers mengusulkan 4 masalah penentuan ukuran :
Fuzzy-logic sizing (logika kabur)
Perencana harus mengidentifikasi tipe aplikasi, membuat besarannya
dalam skala kuantitatif kemudian dibandingkan dengan rentang orisinil.
Function point sizing
Perencana mengembangkan estimasi berdasarkan karakteristik domain
informasi.
Standard component sizing
PL dibangun dari sejumlah
'komponen standar' yg umum (subsistem, modul, laporan, program interaktif).
Change sizing
Digunakan jika PL yang ada harus dimodifikasi dengan banyak cara
sebagai bagian dari proyek.
Data baris kode (LOC) dan titik fungsi (FP) pada estimasi proyek
digunakan sbg :
variabel estimasi yg dipakai untuk mengukur masing-masing elemen PL.
metrik baseline yg dikumpulkan dari proyek yg lalu dan dipakai
dengan variabel estimasi untuk mengembangakan proyeksi kerja dan biaya.
Expected Value untuk variabel estimasi :
EV = (Sopt + 4Sm +
Spess) / 6
EV = Expected value
Sopt = Estimasi optimistik
Sm = Estimasi paling sering
Spess = Estimasi pesimistik
Apakah estimasi ini benar ? ' Kita tidak yakin!'
Bagaimanapun canggih teknik estimasi harus di-cross-check dengan
pendekatan lain.
Contoh estimasi berbasis LOC
PL CAD akan menerima data geometri dua dan tiga demensi dari seorang
perekayasa yang akan berinteraksi dan mengontrol sistem CAD melalui suatu
interface pemakai. Kajian spesifikasi sistem menunjukkan bahwa PL akan
mengeksekusi Workstation dan harus berinteraksi dengan berbagai periperal
grafis komputer spt mouse, digitizer dan printer laser.
Diketahui :
Perhitungan LOC untuk fungsi analisis geometri 3D (3DGA) :
optimis : 4600
most likely : 6900
pesimistik : 8600
EV = (4600 + 4*6900
+ 8600) / 6
= 6800 LOC
Jumlah tersebut dimasukkan ke dalam tabel, begitu juga untuk
perhitungan yang lain. Sehingga diperoleh :
Tabel
perkiraan (estimasi) untuk metode LOC
Fungsi
|
LOC terestimasi
|
interface pemakai & fasilitas kontrol (UICF)
|
2.300
|
analisis geometrik dua demensi (2DGA)
|
5.300
|
analisis geometrik tiga demensi (3DGA)
|
6.800
|
manajemen databse (DBM)
|
3.350
|
fasilitas display grafis komputer (CGDF)
|
4.950
|
kontrol periperal (PC)
|
2.100
|
modul analisis desain (DAM)
|
8.400
|
baris kode terestimasi
|
33.200
|
Jika :
Produktifitas
rata-rata organisasional = 620 LOC/person-month
Upah karyawan
= $8.000 per bulan
Biaya per baris
kode = $13
Maka : Tingkat produktifitas =
jumlah titik fungsi
jumlah orang-bulan
Jumlah karyawan = 33200 LOC = 53,5 » 54 orang
620 LOC/bln
Estimasi biaya proyek berdasar LOC
=
33.200 LOC * $ 13
=
$ 431.600
Estimasi biaya proyek berdasar upah
= 54
orang * $8.000
=
$432.000
Estimasi berbasis FP (Function Point)
Dekomposisi untuk perhitungan berbasis FP berfokus pada harga domain
info daripada fungsi PL. Perencana proyek memperkirakan input, output, inquiry,
file dan interface eksternal. Untuk tujuan perkiraan tersebut faktor pembobotan
kompleksitas diasumsikan menjadi rata-rata.
Setiap faktor pembobotan kompleksitas diestimasi dan faktor
penyesuaian kompleksitas dihitung seperti dibawah ini :
Faktor Harga
Backup and recovery
4
Komunikasi data 2
Pemrosesan
terdistribusi 0
Kinerja kritis 4
Lingkungan operasi
yang ada 3
Entri data on-line 4
Transaksi input
pada layar ganda 5
File master yang
diperbarui on-line secara on-line 3
Nilai kompleks
domain informasi 5
Pemrosesan internal
yang kompleks 5
Kode yg didesain
untuk dapat dipakai lagi 4
Konversi/instalasi
dalam disain 3
Instalasi ganda 5
Aplikasi yg didesain
bagi perubahan 5
Faktor penyesuaian
kompleksitas 1.17
TOTAL 53.17
Perkiraan harga domain informasi :
Tabel perkiraan harga domain
informasi
nilai domain informasi
|
opt
|
likely
|
pess
|
jumlah estimasi
|
bobot
|
jumlah FP
|
jumlah input
|
20
|
24
|
30
|
24
|
4
|
96
|
jumlah output
|
12
|
15
|
22
|
16
|
5
|
80
|
jumlah inquiry
|
16
|
22
|
28
|
22
|
4
|
88
|
jumlah file
|
4
|
4
|
5
|
4
|
10
|
40
|
jumlah interface eksternal
|
2
|
2
|
3
|
2
|
7
|
14
|
jumlah total
|
|
|
|
|
|
318
|
jumlah estimasi (lihat rumus EV)
bobot (lihat kembali bab 4)
jumlah FP = jumlah estimasi * bobot
Total faktor pembobotan = SFi =
53.17
Total FP
= 318
FP terestimasi = jumlah total * ( 0.65 + 0.01 * SFi)
= 318 * ( 0.65 + 0.01 * 53.17 )
=
375
Diketahui :
Produktifitas = 6.5 LOC/pm (dari historis)
Upah = $ 8.000/m
Biaya FP = $ 8.000 = $ 1.230
65 LOC
Estimasi biaya proyek
= Biaya FP * FP
terestimasi
= $ 1.230 * 375
= $ 461.250
Usaha terestimasi
= Total biaya = $ 461.250 =
58 p/m
upah/p $
8.000
MODEL COCOMO
Barry Boehm memperkenalkan hirarki model estimasi PL dengan nama
COCOMO (COnstructive COst MOdel = Model Biaya Konstruktif) yang berbentuk sbb :
1. Model COCOMO Dasar
Menghitung usaha pengembangan PL (dan biaya) sbg fungsi dari ukuran
program yg diekspresikan dalam baris kode yg diestimasi (LOC).
2. Model COCOMO Intermediate
Menghitung usaha pengembangan PL sbg fungsi ukuran program dan
serangkaian 'pengendali biaya' yg menyangkut penilaian yg subyektif thd produk,
perangkat keras, personil dan atribut proyek.
3. Model COCOMO Advance
Menghubungkan semua karakteristik versi intermediate dg penilaian thd pengaruh pengendali biaya pd
setiap langkah (analis, perancangan, dll) dari proses rekayasa PL.
Model COCOMO mendefinisikan 3 kelas proyek PL yi :
1. Model Organik
Ukuran proyek relatif kecil, PL yang dibuat atau dikembangkan lebih
simpel dengan aplikasi kerja yg baik. Misal program analisis termal yang
dikembangkan untuk kelompok transfer panas.
2. Model Semi Detached
Ukuran proyek dan kekompleksan perangkat cukup besar dengan
pengalaman kerja campuran (ada yg telah berpengalaman dan ada yg belum
berpengalaman). Misal sistem pemrosesan transaksi dengan syarat tertentu untuk
perangkat keras terminal dan perangkat lunak database.
3. Model Embedded
Ukuran proyek dan kekompleksan PL yg dikembangkan atau dikerjakan
besar. Misal perangkat lunak kontrol penerbangan untuk pesawat udara.
Pesamaan COCOMO Dasar
bb
E = ab (KLOC)
db
D = cb E
Dimana :
E = Effort (usaha
yang diaplikasikan - pm)
D = waktu
pengembangan (m)
KLOC = jumlah
perkiraan baris kode (dalam ribuan)
ab, bb, cb, db =
koefisien (lihat tabel)
Tabel Model COCOMO
Dasar
Proyek PL
|
ab
|
bb
|
cb
|
db
|
organik
|
2.4
|
1.05
|
2.5
|
0.38
|
semi-detached
|
3.0
|
1.12
|
2.5
|
0.35
|
embedded
|
3.6
|
1.20
|
2.5
|
0.32
|
Model dasar ini dapat diperluas dengan mempertimbangkan kumpulan
'atribut pengendali biaya' yg dikelompokkan dalam 4 kategori utama :
1. Atribut produk
- ukuran keandalan
proyek
- ukuran dari
aplikasi database
- kekompleksan
produk
2. Atribut perangkat keras
- kendala
performansi run-time
- kendala memori
- lingkungan dari
violability dari virtual memori
- waktu perputaran
yg diperlukan
3. Atribut personil
- kemampuan sistem
analis
- kemampuan
software engineering
- pengalaman
aplikasi
- pengalaman
virtual mesin
- pengalaman bahasa
pemrograman
4. Atribut proyek
- pemakaian alat
bantu PL
- metode aplikasi
software engineering
- jadwal
pengembangan
Masing-masing dari 15 atribut di atas dirata-rata dlm sebuah skala 6
titik dg rentang dari 'sangat rendah' ke 'sangat tinggi' (dlm kepentingan atau
harga).
Persamaan COCOMO Intermediate
bi
E = ai (KLOC) * EAF
dimana :
EAF = Effort
Adjusment Factor (faktor penyesuaian usaha)
yg mempunyai range antara
0.9 sampai 1.4
ai, bi =
koefisien (lihat tabel)
Tabel Model COCOMO
Intermediate
Proyek PL
|
ai
|
bi
|
organik
|
3.2
|
1.05
|
semi-detached
|
3.0
|
1.12
|
embedded
|
2.8
|
1.20
|
Contoh estimasi model COCOMO
Kita aplikasikan model dasar pada contoh PL CAD sebelumnya dengan
koefisien seperti pada tabel
bb
E = ab (KLOC)
E = 2.4 (KLOC)1.05
= 2.4 (33.2)1.05
= 95 pm
Harga ini jauh lebih tinggi dibanding estimasi sebelumnya karena
model COCOMO mengasumsikan tingkat LOC/pm yang jauh lebih rendah.
Untuk menghitung durasi proyek :
db
D = cb E
D = 2.5 (E)0.38
= 2.5 (95)0.38
= 12.3 bulan
Harga durasi proyek memungkinkan perencana untuk menentukan jumlah
orang yang disetujui (N)
N = E/D
= 95/12.3
= 7,7 » 8 orang
Kenyataannya, perencana dapat memutuskan hanya menggunakan 4 orang
saja dan pemperpanjang durasi proyek.
Catatan : Hubungan antara usaha dan waktu tidak linier.
KEPUTUSAN MAKE-BUY
Pada aplikasi PL, dari segi biaya sering lebih efektif membeli dari pada
mengembangkan sendiri. Manajer RPL dihadapkan pada keputusan make-buy dengan
pilihan :
PL dapat dibeli (atau lisensi) off-the-self.
Komponen PL full-experience dan partial-experience, dapat diperoleh
dan kemudian dimodifikasi dan integrasi untuk memenuhi kebutuhan sendiri.
PL dapat dibuat custom-built oleh kontraktor luar untuk memenuhi
spesifikasi pembeli.
Untuk produk PL yang mahal, langkah-langkah di bawah ini dapat
dipetimbangkan:
Kembangkan spesifikasi untuk
fungsi dan kinerja PL yg diperlukan.
Perkirakan biaya internal
untuk pengembangan dan tanggal penyampaian.
3a. Pilih tiga atau empat calon aplikasi yang paling cocok dengan
aplikasi anda.
3b. Pilih komponen yang reusable yg dapat membantu konstruksi
aplikasi yg diperlukan.
4. Kembnagkan sebuah matriks
perbandingan untuk membandingkan calon PL.
5. Evaluasi masing-masing
paket PL berdasarkan kualitas produk sebelumnya, dukungan penjual, arah proyek,
reputasi dsb.
6. Hubungi pemakai PL lain
dan mintalah pendapat mereka.
Pada analisis akhir, keputusan make-buy berdasarkan kondisi sbb:
Ø Tanggal penyampaian
Ø Biaya yang diperlukan
Ø Dukungan
MEMBUAT POHON KEPUTUSAN
Rekayasa atau organisasi PL dapat menggunakan teknik statistik
analisis pohon keputusan dengan pilihan :
membangun sistem X dari permulaan
menggunakan lagi komponen partial experience yang ada untuk
membangun sistem
membeli sebuah produk perangkat lunak yang dapat diperoleh dan
dimodifikasi untuk memenuhi kebutuhan lokal
mengkontrakkan pengembangan PL ke vendor luar
Bila sistem dibangun dari permulaan, hanya 70% probabilitasnya
sehingga pekerjaan menjadi sulit. Perencana proyek dapat memproyeksikan usaha
pengembangan yang sulit berbiaya $450.000, usaha yang sederhana diperkirakan
berbiaya $380.000.
Expected value untuk biaya dihitung sepanjang cabang pohon
keputusan, adalah :
Expected Cost = S (jalur probabilitas)i * (biaya jalur terestimasi)i
dimana i adalah garis edar pohon keputusan.
Contoh :
expected costbuild = 0.30
($380 K) + 0.70 ($450 K) = $ 429 K
expected costreuse = 0.40
($275 K) + 0.60 (0.20 ($310 K) + 0.80 ($490 K))
= $ 382 K
expected costbuy = 0.70
($210 K) + 0.30 ($400 K) = $ 267 K
expected costcontract =
0.60 ($350 K) + 0.40 ($500 K) = $
410 K
Berdasar biaya probabilitas dan proyeksi, expected cost yang paling
rendah adalah pilihan buy
Catatan : Banyak kriteria yang harus dipertimbangakan, bukan hanya
biaya, seperti pengalaman pengembang/ vendor/ kontraktor, penyesuaian
kebutuhan,kecenderungan perubahan dapat mempengaruhi keputusan akhir!
MANAJEMEN RISIKO
Defenisi konseptual mengenai risiko : (Robert Charette)
Risiko berhubungan dengan kejadian di masa yg akan datang.
Risiko melibatkan perubahan (spt. perubahan pikiran, pendapat, aksi,
atau tempat)
Risiko melibatkan pilihan & ketidakpastian bahwa pilihan itu
akan dilakukan.
STRATEGI REAKTIF vs PROAKTIF
Strategi reaktif memonitor proyek terhadap kemungkinan resiko.
Sumber2 daya dikesampingkan, padahal seharusnya sumber2 daya menjadi masalah
yang sebenarnya / penting.
Strategi proaktif dimulai sebelum kerja teknis diawali.
Resiko potensial diidentifikasi, probabilitas & pengaruh proyek
diperkirakan, dan diprioritaskan menurut kepentingan, kemudian membangun suatu
rencana untuk manajemen resiko.
Sasaran utama adalah menghindari resiko.
RESIKO PERANGKAT LUNAK
Karakteristik risiko :
Ø Ketidakpastian
Ø Kerugian
Ø Kategori risiko :
Ø Risiko proyek
Ø Risiko teknis
Ø Risiko bisnis
Kategori risiko oleh Robert Charette :
Ø Risiko yang sudah diketahui
Ø Risiko yang dapat diramalkan
Ø Risiko yang tidak diharapkan
RISIKO PROYEK
Risiko proyek mengancam rencana proyek.
Bila risiko proyek menjadi kenyataan maka ada kemungkinan jadwal
proyek akan mengalami slip & biaya menjadi bertambah.
Risiko proyek mengidenifikasi :
- biaya -
sumber daya
- jadwal - pelanggan
- personil (staffing
& organisasi) - masalah
persyaratan
RISIKO TEKNIS
Risiko teknis mengancam kualitas & ketepatan waktu PL yg akan
dihasilkan. Bila resiko teknis menjadi kenyataan maka implementasinya menjadi
sangat sulit atau tidak mungkin.
Risiko teknis mengidentifikasi :
- desain potensial - ambiquitas
- implementasi - spesifikasi
- interfacing - ketidakpastian
teknik
- verivikasi - keusangan
teknik
- masalah
pemeliharaan
- teknologi yg
leading edge
RISIKO BISNIS
Risiko bisnis mengancam viabilitas PL yg akan dibangun.
Risiko bisnis membahayakan proyek atau produk.
5 RISIKO BISNIS UTAMA
Ø Risiko Pasar
Ø Risiko Strategi
Ø Risiko Pemasaran
Ø Risiko Manajemen
Ø Risiko Biaya
RISIKO YG SUDAH DIKETAHUI
adalah risiko yg dpt diungkap setelah dilakukan evaluasi secara hati2
terhadap rencana proyek, bisnis, & lingkungan teknik dimana proyek sedang
dikembangkan, dan sumber informasi reliable lainnya, seperti :
Ø tgl penyampaian yg tdk realitas
Ø kurangnya persyaratan yg terdokumentasi
Ø kurangnya ruag lingkup PL
Ø lingkungan pengembangan yg buruk
RISIKO YG DAPAT DIRAMALKAN
diekstrapolasi dari pengalaman proyek sebelumnya.
Misalnya :
Ø pergantian staf
Ø komunikasi yg buruk dgn para pelanggan
Ø mengurangi usaha staff bila permintaan pemeliharaan sedang berlangsung dilayani
RISIKO YG TIDAK DIHARAPKAN
risiko ini dapat benar-benar terjadi, tetapi sangat sulit untuk
diidentifikasi sebelumnya.
IDENTIFIKASI RISIKO
Identifikasi resiko dalah usaha sistematis untuk menentukan ancaman
terhadap rencana proyek.
Tujuan identifikasi risiko :
untuk menghindari resiko bilamana mungkin, serta menghindarinya
setiap saat diperlukan.
Tipe risiko :
Ø risiko generik
merupakan ancaman potensial pd setiap proyek PL.
Ø risiko produk spesifik
hanya dapat diidentifikasi dgn pemahaman khusus mengenai
teknologi, manusia, serta lingkungan yg spesifik terhadap proyek yg ada.
Metode untuk mengidentifikasi
resiko adalah menciptakan checklist item risiko.
Kategori checklist item risiko :
Ø risiko ukuran produk
Ø risiko yg mempengaruhi bisnis
Ø risiko yg dihubungkan dgn karakteristik pelanggan
risiko definisi proses
Ø risiko teknologi yang akan dibangun
Ø risiko lingkungan pengembangan
Ø risiko yg berhubungan dgn ukuran dan pengalaman staf
KOMPONEN RISIKO dan DRIVER
Pedoman untuk mengidentifikasi risiko PL dan pengurangannya yaitu
menghendaki agar manajer proyek mengidentifikasi risiko driver yg mempengaruhi
komponen risiko PL – kinerja, biaya, dukungan dan jadwal.
Komponen risiko didefinisikan dgn cara sbb :
Risiko kinerja – tingakat ketidakpastian dimana produk akan memenuhi
persyaratannya dan cocok dgn penggunaannya.
Risiko biaya – tingkat ketidakpastian dimana biaya proyek akan
dijaga
Risiko dukungan – tingkat ketidakpastian dimana PL akan mudah
dikoreksi, disesuaikan dan ditingkatkan.
Risiko jadwal – tingkat ketidakpastian dimana jadwal proyek akan
dijaga dan produk akan disampaikan tepat waktu.
PROYEKSI RISIKO/ PERKIRAAN RISIKO
Dua cara melakukan proyeksi risiko :
Ø Probabilitas di mana risiko adalah nyata
Ø Konsekuensi masalah yang berhubungan dengan risiko
Perencanaan proyek bersama dengan manajer & staf teknik
melakukan 4 aktifitas proyeksi risiko :
Ø Membangun suatu skala yang merefleksikan kemungkinan risiko yang
dirasakan
Ø Menggambar konsekuensi risiko
Ø Memperkirakan pengaruh risiko pada proyek dan produk
Ø Memcatat keseluruhan akurasi proyeksi proyek risiko sehingga akan
tidak ada kesalahpahaman
MENILAI PENGARUH RISIKO
Tiga factor yg mempengaruhi konsekuensi jika suatu risiko
benar-benar terjadi :
Sifatnya ; risiko yang menunjukkan masalah yg muncul bila ia terjadi
Ruang lingkupnya; menggabungkan kepelikannya (seberapa seriusnya
masalah ini ? ) dengan keseluruhan distribusi ( berapa banyak proyek yg akan
dipengaruhi atau berapa banyak pelanggan terganggu ? )
Timingnya; mempertimbangkan kapan dan untuk berapa lama pengaruh itu
dirasakan.
Tidak ada komentar:
Posting Komentar