Perencanaan Proyek Perangkat Lunak
Perancangan Perangkat Lunak Software Engineering Bertalya, 2009
Perencanaan Proyek ¾
¾
Objektivitas perencanaan proyek adalah menyediakan framework yang dapat memungkinkan manager membuat estimasi sumber daya, biaya & jadual proyek software Aktifitas2nya al: 1. menentukan ruang lingkup software 2. 3. 4. 5. 6. 7.
resources estimation (estimasi sumber daya) risk analysis (analisis resiko) scheduling (penjadualan) acquisition decision making reengineering organizational planning Perencanaan Proyek
2
Ruang Lingkup ¾
Ruang lingkup perangkat lunak menggambarkan 1.
2. 3.
4. 5.
Function Fungsi ini terdapat dalam pernyataan ruang lingkup perangkat lunak, yang akan dievaluasi untuk keperluan estimasi Performance Meliputi kebutuhan pemrosesan & waktu respons Constraint Mengindentifikasikan keterbatasan perangkat lunak dilihat dari memori, sistem yg tersedia Interface Interface ini diartikan Reliability Pengukuran untuk reliability jarang dilakukan karena sulit diterjemahkan ke domain perangkat lunak
Perencanaan Proyek
3
Sumber Daya ¾
Sumber daya digambarkan sebagai suatu piramida; di dasar, perangkat keras maupun lunak, sedangkan di atas adalah sumber daya manusia
¾
Sumber daya dispesifikasikan dengan 4 karakteristik : deskripsi sumber daya pernyataan ketersediaan waktu secara kronologis sumber daya digunakan Durasi waktu aplikasi sumber daya Time window
Perencanaan Proyek
4
Sumber Daya (lanj.) 1.
Sumber daya manusia Perancang mulai dg mengevaluasi ruang lingkup perangkat lunak & menyeleksi kemampuan untuk - posisi organisasi (manager,senior, dll) - speciality (telekomunikasi, database, dll)
2.
Sumber daya perangkat keras. Kategori yg harus diperhatikan : a. sistem pembuatan Komputer & peripheral yg akan digunakan b. mesin target Mesin dimana perangkat keras akan dieksekusi c. elemen perangkat keras lainnya Element perangkat keras lainnya dapat dispesifikasikan sebagai sumber daya perangkat lunak Perencanaan Proyek
5
Sumber Daya (lanj.) 3.
Sumber daya perangkat lunak Perangkat lunak untuk membantu pembuatan perangkat lunak baru, contohnya perangkat CASE. Kategori perangkat : - business systems planning tools - project management tools - support tools - analysis & design tools - programming tools - integration & testing tools - prototyping & simulation tools - maintenance tools - framework tools Perencanaan Proyek
6
Estimasi Dengan memahami ruang lingkup perangkat lunak, seorang perancang proyek perangkat lunak dapat membuat estimasi untuk effort & biaya dalam pembuatan perangkat lunak yang baru ¾
3 Tehnik estimasi yang digunakan al: 1. decomposition techniques 2. empirical estimation models 3. automated tools
Perencanaan Proyek
7
Tehnik Estimasi 1.
Decomposition techniques Untuk setiap subfungsi hasil dari dekomposisi, diestimasi LOC & FP kemudian dikombinasikan untuk mendapat estimasi global. LOC & FP digunakan sebagai - variabel estimasi yg digunakan untuk ukuran masing2 element pada perangkat lunak - pengukuran baseline dari proyek lama yang dikonjugasi dengan variabel estimasi untuk membuat proyeksi biaya & effort
Perencanaan Proyek
8
Tehnik Estimasi (lanj.) 2.
Empirical Estimation Models Model estimasi (estimation model) menggunakan formula yang diturunkan secara empiris untuk memprediksi data yang digunakan pada tahap perencanaan. Model sumber daya terdiri atas satu atau lebih persamaan2 yang diturunkan secara empiris dimana dapat memprediksi effort, durasi proyek & data proyek lainnya.
Perencanaan Proyek
9
Tehnik Estimasi (lanj.) 4 klas pada model sumber daya al: - static single-variable models, contoh COCOMO (Construction Cost Model) - static multivariables models - dynamic multivariables models, contoh Putnam Estimation Model - theoretical models 3.
Automated Estimation Tools Mengimplementasikan model empiris yang spesifik. Perencanaan Proyek
10
Contoh Ruang lingkup software untuk aplikasi Computer-Aided Design (CAD) The CAD software will accept 2 or 3 dimensional geometric data from an engineer. The engineer will interact & control the CAD system through a user interface that will exhibit characteristic of good human-machine interface design. All geometric data & other supporting information will be maintained in a CAD database. Design analysis modules will be developed to produce required output which will be displayed on a variety of graphics devices. The software will be designed to control & interact with peripheral devices that include a mouse, digitizer, laser printer, & plotter. Fungsi2 : - user interface & control facilities (UICF) - 2 dimensional geometric analysis (2DGA) - 3 dimensional geometric analysis (3DGA) - Database Management (DDM) - Computer graphics display facilities (CGDF) - Peripheral Control (PC) - Design analysis modules (DAM) Perencanaan Proyek
11
Functional Decomposition
Statement of Scope
perform a "grammatical parse"
Perencanaan Proyek
functional decomposition
12
Contoh: Pendekatan LOC Functions
estimated LOC
LOC/pm
$/LOC
Cost
Effort (months)
UICF
2340
315
14
32,000
7.4
2DGA
5380
220
20
107,000
24.4
3DGA
6800
220
20
136,000
30.9
DSM
3350
240
18
60,000
13.9
CGDF
4950
200
22
109,000
24.7
PCF
2140
140
28
60,000
15.2
300
18
151,000
28.0
655,000
145.0
DAM Totals
8400 33,360
Perencanaan Proyek
13
Contoh: Pendekatan FP weight
measurement parameter count number of user inputs
40
x
4
=
160
number of user outputs
25
x
5
=
125
number of user inquiries
12
x
4
=
48
number of files
4
x
7
=
28
number of ext.interfaces
4
x
7
=
28
algorithms
60
x
3
=
180
count-total
569
complexity multiplier
.84
feature points
478
Perencanaan Proyek
0.25 p-m / FP = 120 p-
14
Keputusan Membuat atau Membeli simple (0.30)
difficult (0.70)
build
minor changes (0.40)
reuse
$380,000 $450,000 $275,000
$310,000
system X
simple (0.20)
buy
contract
major changes (0.60)
complex (0.80) minor changes (0.70)
$490,000 $210,000
$400,000 major changes (0.30)
without changes (0.60)
$350,000
$500,000 with changes (0.40)
Perencanaan Proyek
15
Nilai Biaya yang Diharapkan biaya yg diharapkan = (probabilitas)i x (biaya yang diestimasi)i i = jalur pada pohon -
Biaya buat = 0.30($380K) + 0.70($450K) = $429K Biaya reuse = 0.40($275K) + 0.60($310K) + 0.80($490K) = $382K Biaya beli = 0.70($210K) + 0.30($400K) = $267K Biaya kontrak = 0.60($350K) + 0.40($500K) = $410K
Ternyata beli lebih kecil biayanya.
Perencanaan Proyek
16