• Tidak ada hasil yang ditemukan

6. Perenc. Proyek Perangkat Lunak (Software Project Planning)

N/A
N/A
Protected

Academic year: 2021

Membagikan "6. Perenc. Proyek Perangkat Lunak (Software Project Planning)"

Copied!
39
0
0

Teks penuh

(1)

1 1

6.1 Observasi pada Estimasi 6.2 Tujuan Perencanaan Proyek

6.3. Ruang Lingkup Perangkat Lunak

6.3.1. Rangkaian Pertanyaan SW Scope

6.3.1.1 Contoh Rangkaian Pertanyaan Pertama 6.3.1.2 Contoh Rangkaian Pertanyaan Kedua 6.3.1.3 Contoh Rangkaian Pertanyaan Ketiga 6.3.2. Contoh Scoping

6.3.2.1 Penjelasan Gambar 6.3.2.2 Dekomposisi Pernyataan 6.3.2.3 Kesimpulan Contoh Scoping

6.4 Sumber Daya

6.4.1 Sumber Daya Manusia

6.4.2 Reusable Software Resources 6.4.3 Environmental Resources

6.5. Estimasi Proyek Perangkat Lunak

6.5.1. Teknik Dekomposisi 6.5.1.1 Software Sizing

6.5.1.2 Problem-based Estimation 6.5.1.3 Contoh Estimasi Berbasis-LOC 6.5.1.4 Contoh Estimasi Berbasis FP 6.5.1.5 Contoh Estimasi Berbasis Proses 6.5.2 Empirical Estimation Models

6.5.2.1 Beberapa Model Estimasi

6.5.2.2 COnstructive COst MOdel (COCOMO)

6. Perenc. Proyek Perangkat Lunak

6. Perenc. Proyek Perangkat Lunak

(Software Project Planning)

(2)

2 2

Project planning adalah serangkaian

Project planning adalah serangkaian

aktivitas-aktivitas kolektif

aktivitas-aktivitas kolektif

dalam proses

dalam proses

manajemen proyek perangkat lunak.

manajemen proyek perangkat lunak.

Estimation adalah aktivitas pertama

Estimation adalah aktivitas pertama

dalam project planning

dalam project planning

Estimation menjadi

Estimation menjadi

dasar

dasar

bagi aktivitas

bagi aktivitas

perencanaan proyek yang lain.

perencanaan proyek yang lain.

Project planning menjadi

Project planning menjadi

peta jalan

peta jalan

bagi

bagi

kesuksesan rekayasa perangkat lunak

kesuksesan rekayasa perangkat lunak

Perenc. Proyek Perangkat Lunak

(3)

3

6.1 Observasi pada Estimasi

6.1 Observasi pada Estimasi

Estimasi pada project planning meliputi estimasi

Estimasi pada project planning meliputi estimasi

sumber daya, biaya, dan jadwal

sumber daya, biaya, dan jadwal

pengembangan

pengembangan

perangkat lunak.

perangkat lunak.

Hal-hal yang mempengaruhi estimasi:

Hal-hal yang mempengaruhi estimasi:

 Project complexityProject complexity (kompleksitas proyek); berpengaruh (kompleksitas proyek); berpengaruh

terhadap ketidakpastian yang inheren dalam perencanaan

terhadap ketidakpastian yang inheren dalam perencanaan

 Project sizeProject size (ukuran project); berpengaruh terhadap (ukuran project); berpengaruh terhadap

akurasi estimasi

akurasi estimasi

 Structural uncertaintyStructural uncertainty (ketidakpastian struktural); (ketidakpastian struktural);

berpengaruh terhadap resiko estimasi

(4)

4 4

6.2 Tujuan Perencanaan Proyek

6.2 Tujuan Perencanaan Proyek

menyediakan sebuah

menyediakan sebuah

kerangka kerja

kerangka kerja

yang

yang

memungkinkan manajer membuat

memungkinkan manajer membuat

estimasi

estimasi

yang dapat dipertanggungjawabkan

yang dapat dipertanggungjawabkan

mengenai sumber daya, biaya, dan jadwal.

mengenai sumber daya, biaya, dan jadwal.

Tujuan project planning dapat tercapai

Tujuan project planning dapat tercapai

melalui proses

melalui proses

penemuan informasi

penemuan informasi

yang

yang

menunjuk ke estimasi yang dapat

menunjuk ke estimasi yang dapat

dipertanggungjawabkan.

(5)

5

6.3. Ruang Lingkup Perangkat Lunak

6.3. Ruang Lingkup Perangkat Lunak

(Software Scope)

(Software Scope)

Fungsi (functions)

Fungsi (functions)

Kinerja (perfomance)

Kinerja (perfomance)

Batasan(constraints)

Batasan(constraints)

Antarmuka (interface)

Antarmuka (interface)

Keandalan (reliability)

Keandalan (reliability)

(6)

6 6

6.3.1. Rangkaian Pertanyaan SW Scope

6.3.1. Rangkaian Pertanyaan SW Scope

 Lingkup PL yang akan dibuat ditentukan melalui

pertemuan-pertemuan antara customer dengan developer

 Untuk menjembatani jurang komunikasi antara customer

dengan developer, Gause & Weinberg mengusulkan 3 rangkaian pertanyaan berikut:

Rangkaian pertanyaan pertama adalah sekumpulan pertanyaan

bebas konteks yang memusatkan pada customer, sasaran keseluruhan PL yang dibuat, dan keuntungan yang akan diperoleh.

Rangkaian pertanyaan kedua adalah sekumpulan pertanyaan

yang memungkinkan analis mendapatkan pemahaman yang lebih baik atas problem, dan customer dapat menyuarakan persepsinya atas suatu solusi.

Rangkaian pertanyaan ketiga adalah pertanyaan-pertanyaan

yang memusatkan pada efektivitas dari pertemuan itu sendiri (disebut meta-questions).

(7)

7

6.3.1.1 Contoh Rangkaian Pertanyaan Pertama

6.3.1.1 Contoh Rangkaian Pertanyaan Pertama

Siapa di belakang permintaan pekerjaan ini?

Siapa di belakang permintaan pekerjaan ini?

Siapa yang akan menggunakan solusi ini?

Siapa yang akan menggunakan solusi ini?

Keuntungan ekonomis apa yang diperoleh

Keuntungan ekonomis apa yang diperoleh

dari solusi ini?

dari solusi ini?

(8)

8 8

6.3.1.2 Contoh Rangkaian Pertanyaan Kedua

6.3.1.2 Contoh Rangkaian Pertanyaan Kedua

Bagaimana anda mengkarakterisir keluaran “yang

Bagaimana anda mengkarakterisir keluaran “yang

baik” yang akan dimunculkan oleh solusi ini?

baik” yang akan dimunculkan oleh solusi ini?

Problem apa saja yang akan dihadapi oleh solusi

Problem apa saja yang akan dihadapi oleh solusi

ini?

ini?

Dapatkan anda menunjukkan kepada kami (atau

Dapatkan anda menunjukkan kepada kami (atau

menjelaskan) lingkungan di mana solusi ini akan

menjelaskan) lingkungan di mana solusi ini akan

dipakai?

dipakai?

Adakah batasan atau isu kinerja khusus yang akan

Adakah batasan atau isu kinerja khusus yang akan

mempengaruhi cara pendekatan terhadap solusi?

(9)

9

6.3.1.3 Contoh Rangkaian Pertanyaan Ketiga

6.3.1.3 Contoh Rangkaian Pertanyaan Ketiga

Apakah anda orang yang tepat untuk

Apakah anda orang yang tepat untuk

menjawab pertanyaan-pertanyaan ini?

menjawab pertanyaan-pertanyaan ini?

Apakah jawaban anda “resmi”?

Apakah jawaban anda “resmi”?

Apakah pertanyaan-pertanyaan kami relevan

Apakah pertanyaan-pertanyaan kami relevan

untuk problem yang anda punya?

untuk problem yang anda punya?

Apakah saya terlalu banyak pertanyaan?

Apakah saya terlalu banyak pertanyaan?

Apakah ada orang lain yang dapat

Apakah ada orang lain yang dapat

memberikan informasi-informasi tambahan?

memberikan informasi-informasi tambahan?

Apakah ada hal-hal lain yang harus kami

Apakah ada hal-hal lain yang harus kami

tanyakan kepada anda?

(10)

10 10

6.3.2. Contoh Scoping

6.3.2. Contoh Scoping

1 2 3 4 5 6 ID No. ID No. ID No. ID No. SORTING STATION control connection conveyor line motion shunt bar code

(11)

11

6.3.2.1 Penjelasan Gambar

6.3.2.1 Penjelasan Gambar

 Conveyor Line Sorting System (CLSS) menyortir box-box Conveyor Line Sorting System (CLSS) menyortir box-box

yang bergerak pada ban berjalan.

yang bergerak pada ban berjalan.

 Setiap Setiap box diidentifikasi dengan bar codebox diidentifikasi dengan bar code yang menyatakan yang menyatakan

nomor part.

nomor part.

 Box-box tersebut akan disortir ke dalam Box-box tersebut akan disortir ke dalam 6 wadah6 wadah berdasarkan berdasarkan

nomor part.

nomor part.

 Box-box tersebut melewati stasiun sortir yang berisi pembaca Box-box tersebut melewati stasiun sortir yang berisi pembaca

bar code dan sebuah PC (Personal Computer).

bar code dan sebuah PC (Personal Computer).

 PC di stasiun sortir dihubungkan dengan PC di stasiun sortir dihubungkan dengan mekanisme langsiran mekanisme langsiran

(shunt) yang akan menyortir box-box

(shunt) yang akan menyortir box-box tersebut ke dalam tersebut ke dalam wadah-wadah yang sesuai.

wadah-wadah yang sesuai.

 Box-box tersebut lewat dengan urutan yang acak dan berjarak Box-box tersebut lewat dengan urutan yang acak dan berjarak

sama.

sama.

 PL CLSS menerima informasi masukan dari pembaca bar code PL CLSS menerima informasi masukan dari pembaca bar code

dengan interval waktu sesuai dengan kecepatan ban berjalan.

(12)

12 12

6.3.2.1 Penjelasan Gambar(lanj)

6.3.2.1 Penjelasan Gambar(lanj)

 Data bar code tersebut akan didekodekan ke dalam format Data bar code tersebut akan didekodekan ke dalam format

identifikasi box.

identifikasi box.

 PL akan melakukan look-up pada basis data part number yang PL akan melakukan look-up pada basis data part number yang

berisi maksimum 1000 entry untuk

berisi maksimum 1000 entry untuk menentukan lokasimenentukan lokasi wadah wadah yang sesuai bagi box yang saat itu di stasiun sortir.

yang sesuai bagi box yang saat itu di stasiun sortir.

 Lokasi wadah yang sesuai diberikan pada sorting shunt yang Lokasi wadah yang sesuai diberikan pada sorting shunt yang

akan menempatkan box tersebut pada wadah yang sesuai. akan menempatkan box tersebut pada wadah yang sesuai.

 Sebuah catatan (record) yang berisi wadah tujuan dari setiap Sebuah catatan (record) yang berisi wadah tujuan dari setiap

box dibangkitkan untuk recovery nantinya dan pelaporan.

box dibangkitkan untuk recovery nantinya dan pelaporan.

 PL CLSS juga menerima masukan dari sebuah tachometer PL CLSS juga menerima masukan dari sebuah tachometer

pulsa yang akan dipakai untuk sinkronisasi sinyal kontrol ke

pulsa yang akan dipakai untuk sinkronisasi sinyal kontrol ke

mekanisme shunting.

mekanisme shunting.

 Berdasarkan pada jumlah pulsa yang akan dibangkitkan Berdasarkan pada jumlah pulsa yang akan dibangkitkan

antara stasiun sortir dan shunt, PL akan menghasilkan sebuah

antara stasiun sortir dan shunt, PL akan menghasilkan sebuah

sinyal kontrol ke shunt untuk menenpatkan box tersebut

sinyal kontrol ke shunt untuk menenpatkan box tersebut

dengan benar.

(13)

13

6.3.2.2 Dekomposisi Pernyataan

6.3.2.2 Dekomposisi Pernyataan

 Dekomposisi dari pernyataan di atas, dapat diekstrak menjadi Dekomposisi dari pernyataan di atas, dapat diekstrak menjadi

fungsi-fungsi penting dari PL yang akan dibuat; yaitu:

fungsi-fungsi penting dari PL yang akan dibuat; yaitu:

 read bar code input (membaca input bar code)read bar code input (membaca input bar code)

 read pulse tachometer (membaca pulsa tachometer)read pulse tachometer (membaca pulsa tachometer)

 decode part code data (mengkodekan bagian data kode)decode part code data (mengkodekan bagian data kode)  do database look-up (mengerjakan look-up database)do database look-up (mengerjakan look-up database)  determine bin location (menentukan lokasi kotak determine bin location (menentukan lokasi kotak

penyimpanan

penyimpanan

 produce control signal for shunt (memproduksi sinyal produce control signal for shunt (memproduksi sinyal

kontrol untuk shunt)

kontrol untuk shunt)

 maintain record of box destinations (memelihara rekaman maintain record of box destinations (memelihara rekaman

tujuan kotak)

(14)

14 14

6.3.2.3 Kesimpulan Contoh Scoping

6.3.2.3 Kesimpulan Contoh Scoping

Kinerja sistem ini ditentukan oleh kecepatan ban

Kinerja sistem ini ditentukan oleh kecepatan ban

berjalan.

berjalan.

Pemrosesan setiap box harus selesai

Pemrosesan setiap box harus selesai

sebelum box berikutnya tiba di pembaca bar code

sebelum box berikutnya tiba di pembaca bar code

.

.

Kendala-kendala yang membatasi PL CLSS adalah

Kendala-kendala yang membatasi PL CLSS adalah

meliputi

meliputi

perangkat keras

perangkat keras

yang harus diakses

yang harus diakses

(pembaca bar code, shunt, PC), memori yang

(pembaca bar code, shunt, PC), memori yang

tersedia, dan konfigurasi keseluruhan dari lini ban

tersedia, dan konfigurasi keseluruhan dari lini ban

berjalan tersebut.

(15)

15

6.3.2.3 Kesimpulan Contoh Scoping (lanj)

6.3.2.3 Kesimpulan Contoh Scoping (lanj)

Interface

Interface

: PL yang dibuat berinteraksi dengan

: PL yang dibuat berinteraksi dengan

elemen-elemen lain dari sistem berbasis komputer

elemen-elemen lain dari sistem berbasis komputer

ini. Konsep interface mempunyai arti;

ini. Konsep interface mempunyai arti;

(1) hardware yang mengeksekusi PL dan perangkat lain

(1) hardware yang mengeksekusi PL dan perangkat lain

yang secara tidak langsung dikontrol oleh PL tersebut.

yang secara tidak langsung dikontrol oleh PL tersebut.

(2) software yang telah ada dan harus dilink dengan

(2) software yang telah ada dan harus dilink dengan

software yang baru (dibuat) tersebut.

software yang baru (dibuat) tersebut.

(3) orang yang menggunakan PL tersebut via keyboard atau

(3) orang yang menggunakan PL tersebut via keyboard atau

I/O devices lainnya.

I/O devices lainnya.

(4) prosedur-prosedur yang mengawali atau mengakhiri

(4) prosedur-prosedur yang mengawali atau mengakhiri

(mengikuti) PL tersebut sebagai urutan operasi yang

(mengikuti) PL tersebut sebagai urutan operasi yang

sekuensial.

(16)

16 16

6.4 Sumber Daya

6.4 Sumber Daya

Hardware/Software Tools Reusable Software Components People

(17)

17

6.4.1 Sumber Daya Manusia

6.4.1 Sumber Daya Manusia

Diperlukan keahlian untuk menyelesaikan

Diperlukan keahlian untuk menyelesaikan

pengembangan PL; baik dari segi posisi

pengembangan PL; baik dari segi posisi

organisasional (misal: manager, senior

organisasional (misal: manager, senior

software engineer, dsb) maupun spesialisasi

software engineer, dsb) maupun spesialisasi

(misal: telekomunikasi, basis data, dsb).

(misal: telekomunikasi, basis data, dsb).

Sedangkan jumlah banyaknya personil yang

Sedangkan jumlah banyaknya personil yang

dibutuhkan ditentukan setelah estimasi beban

dibutuhkan ditentukan setelah estimasi beban

kerja (development effort).

(18)

18 18

6.4.2 Reusable Software Resources

6.4.2 Reusable Software Resources

Off-the-shelf components;

Off-the-shelf components;

memanfaatkan

memanfaatkan

yang

yang

telah dibuat pada proyek internal sebelumnya.

telah dibuat pada proyek internal sebelumnya.

Full-experience components;

Full-experience components;

mereview

mereview

spesifikasi,

spesifikasi,

kode, desain atau pengujian data dari proyek

kode, desain atau pengujian data dari proyek

sebelumnya

sebelumnya

Partial-experience components; aplikasi, kode,

Partial-experience components; aplikasi, kode,

desain atau data dari proyek sebelumnya

desain atau data dari proyek sebelumnya

dihubungkan

dihubungkan

dengan proyek sekarang

dengan proyek sekarang

(19)

19

6.4.3 Environmental Resources

6.4.3 Environmental Resources

Lingkungan yang mendukung proyek PL,

Lingkungan yang mendukung proyek PL,

disebut juga software engineering

disebut juga software engineering

environment (SEE); meliputi

environment (SEE); meliputi

hardware

hardware

software

software

(20)

20 20

6.5. Estimasi Proyek Perangkat Lunak

6.5. Estimasi Proyek Perangkat Lunak

(

(

Software project estimation

)

)

Ada 2 teknik dalam melakukan estimasi

Ada 2 teknik dalam melakukan estimasi

proyek perangkat lunak, yaitu:

proyek perangkat lunak, yaitu:

Decomposition Techniques

Decomposition Techniques

Empirical Estimation Models

Empirical Estimation Models

(21)

21

6.5.1. Teknik Dekomposisi

6.5.1. Teknik Dekomposisi

(

(

Decomposition techniques

Decomposition techniques

)

)

 Dekomposisi masalah : Dekomposisi masalah : memecah-mecah masalahmemecah-mecah masalah yang yang

kompleks menjadi serangkaian masalah yang lebih kecil.

kompleks menjadi serangkaian masalah yang lebih kecil.

 Ketelitian estimasi proyek PL diprediksi pada sejumlah hal:Ketelitian estimasi proyek PL diprediksi pada sejumlah hal:

(1) derajat ketepatan estimasi ukuran produk yang akan

(1) derajat ketepatan estimasi ukuran produk yang akan

dibuat,

dibuat,

(2) kemampuan menterjemahkan ukuran terestimasi

(2) kemampuan menterjemahkan ukuran terestimasi

tersebut ke dalam beban kerja, waktu kalender, dan

tersebut ke dalam beban kerja, waktu kalender, dan

rupiah,

rupiah,

(3) derajat rencana proyek yang mencerminkan

(3) derajat rencana proyek yang mencerminkan

kemampuan tim software, dan

kemampuan tim software, dan

(4) kestabilan persyaratan-persyaratan produk dan

(4) kestabilan persyaratan-persyaratan produk dan

lingkungan yang mendukung upaya software

lingkungan yang mendukung upaya software

engineering.

(22)

22 22

6.5.1.1 Software Sizing

Dalam kontek project planning, size mengacu pada

Dalam kontek project planning, size mengacu pada

hasil-hasil proyek PL yang dapat dikuantifikasi.

hasil-hasil proyek PL yang dapat dikuantifikasi.

Putnam & Myers mengusulkan 4 cara untuk

Putnam & Myers mengusulkan 4 cara untuk

pengukuran problem;

pengukuran problem;

 Fuzzy-logic sizingFuzzy-logic sizing; menggunakan teknik reasoning ; menggunakan teknik reasoning

aproksimasi

aproksimasi

 Function point sizingFunction point sizing; mengembangkan estimasi ; mengembangkan estimasi

karakteristik domain informasi

karakteristik domain informasi

 Standard component sizingStandard component sizing; menggunakan komponen-; menggunakan

komponen-komponen standar yang ada.

komponen standar yang ada.

 Change sizingChange sizing; memodifikasi PL dengan banyak cara, ; memodifikasi PL dengan banyak cara,

menggunakan suatu rasio kerja setiap perubahan,

menggunakan suatu rasio kerja setiap perubahan,

sehingga ukuran perubahan dapat diperkirakan

(23)

23

6.5.1.2 Problem-based Estimation

6.5.1.2 Problem-based Estimation

Data LOC dan FP dipakai dalam dua hal

Data LOC dan FP dipakai dalam dua hal

selama estimasi proyek PL:

selama estimasi proyek PL:

(1) sebagai suatu estimation variable yang dipakai

(1) sebagai suatu estimation variable yang dipakai

untuk “

untuk “

memberi ukuran

memberi ukuran

” pada setiap elemen PL

” pada setiap elemen PL

yang akan dibuat, dan

yang akan dibuat, dan

(2) sebagai

(2) sebagai

baseline metrics

baseline metrics

yang dikumpulkan dari

yang dikumpulkan dari

proyek terdahulu dan dipakai bersama-sama

proyek terdahulu dan dipakai bersama-sama

dengan estimation variable untuk

dengan estimation variable untuk

menghitung

menghitung

proyeksi biaya dan beban kerja.

(24)

24 24

Tanpa memandang variabel estimasi yang

Tanpa memandang variabel estimasi yang

dipakai, project planner mulai dengan

dipakai, project planner mulai dengan

mengestimasi rentang nilai

mengestimasi rentang nilai

untuk setiap

untuk setiap

fungsi atau nilai domain informasi.

fungsi atau nilai domain informasi.

Dengan menggunakan

Dengan menggunakan

data historis atau

data historis atau

intuisi

intuisi

, ditentukan ukuran nilai yang

, ditentukan ukuran nilai yang

optimistik (sopt), rata-rata (sm),

optimistik (sopt), rata-rata (sm),

dan yang

dan yang

pesimistik (spess).

pesimistik (spess).

Kemudian dihitung nilai yang diharapkan

Kemudian dihitung nilai yang diharapkan

(three-point atau expected value) sbb.

(three-point atau expected value) sbb.

EV = (sopt + 4 sm + spess)/6

EV = (sopt + 4 sm + spess)/6

6.5.1.2 Problem-based Estimation (lanj)

(25)

25 25

6.5.1.3 Contoh Estimasi Berbasis-LOC

6.5.1.3 Contoh Estimasi Berbasis-LOC

Rekayasa :

Rekayasa :

Software CAD

Software CAD

yang dapat menerima

yang dapat menerima

data geometrik 2-D dan 3-D dari seorang engineer.

data geometrik 2-D dan 3-D dari seorang engineer.

Engineer akan berinteraksi dan mengkontrol sistem

Engineer akan berinteraksi dan mengkontrol sistem

CAD tersebut melalui

CAD tersebut melalui

user interface

user interface

yang akan

yang akan

mencerminkan karakteristik perancangan interface

mencerminkan karakteristik perancangan interface

human-machine yang baik.

human-machine yang baik.

Semua data geometrik dan informasi pendukung

Semua data geometrik dan informasi pendukung

lainnya akan disimpan dalam suatu

lainnya akan disimpan dalam suatu

basis data CAD

basis data CAD

.

.

Modul-modul analisis - design akan dibuat untuk

Modul-modul analisis - design akan dibuat untuk

menghasilkan keluaran

menghasilkan keluaran

yang akan memperagakan

yang akan memperagakan

(display) pada berbagai graphics devices.

(display) pada berbagai graphics devices.

Software akan dirancang guna

Software akan dirancang guna

mengontrol dan

mengontrol dan

berinteraksi

berinteraksi

dengan devices periferal yang meliputi

dengan devices periferal yang meliputi

mouse, digitizer, dan laser printer.

(26)

26 26

Kita asumsikan fungsi-fungsi utama PL

Kita asumsikan fungsi-fungsi utama PL

tersebut adalah:

tersebut adalah:

user interface and control facilities (UICF)

user interface and control facilities (UICF)

two-dimensional geometric analysis (2DGA)

two-dimensional geometric analysis (2DGA)

three-dimensional geometric analisys (3DGA)

three-dimensional geometric analisys (3DGA)

database management (DBM)

database management (DBM)

computer graphics display facilities (CGDF)

computer graphics display facilities (CGDF)

peripheral control (PC)

peripheral control (PC)

design analysis modules (DAM)

design analysis modules (DAM)

6.5.1.3 Contoh Estimasi Berbasis-LOC (lanj)

(27)

27

user interface and control facilities (UICF) two-dimensional geometric analysis (2DGA) three-dimensional geometric analysis (3DGA) database management (DBM)

computer graphics display facilities (CGDF) peripheral control (PC)

design analysis modules (DAM)

Estimated LOC Function 2.300 5.300 6.800 3.350 4.950 2.100 8.400 33.200

estimated lines of code

6.5.1.3 Contoh Estimasi Berbasis-LOC (lanj)

(28)

28 28

6.5.1.4 Contoh Estimasi Berbasis FP

6.5.1.4 Contoh Estimasi Berbasis FP

number of inputs number of outputs number of inquiries number of files

number of external interfaces

Information Domain Value opt. likely pess.

20 24 30 12 15 22 16 22 28 4 4 5 2 2 3 est.

count weight FP-count

24 16 22 4 2 4 5 4 10 7 96 80 88 40 14 count-total 318

(29)

29

Backup and recovery Data communication Distributed processing Performance critical

Existing operation environment On-line data entry

Input transaction over multiple screens Master files updated on-line

Information domain values complex internal processing complex

Code designed for reuse

Conversion/installation in design Multiple installations

Application designed for change Complexity adjustment factor

4 2 0 4 3 4 5 3 5 5 4 3 5 5 1.17 Factor Value FPestimated = count-total x [0,65 + 0,01 x ΣFi] FPestimated = 372

6.5.1.4 Contoh Estimasi Berbasis FP(lanj)

(30)

30 30

6.5.1.5 Contoh Estimasi Berbasis Proses

6.5.1.5 Contoh Estimasi Berbasis Proses

Sederetan kegiatan proses software harus

Sederetan kegiatan proses software harus

dikerjakan untuk masing-masing fungsi.

dikerjakan untuk masing-masing fungsi.

Fungsi-fungsi

Fungsi-fungsi

dan

dan

kegiatan-kegiatan

kegiatan-kegiatan

proses

proses

PL yang terkait dapat dinyatakan dalam tabel

PL yang terkait dapat dinyatakan dalam tabel

berikut.

(31)

31

Software Engineering Tasks

Product Functions Text input

Editing & formatting Automatic copy edit Page layout capability Automatic indexing & TOC File management Document production COMMON PROCESS FRAMEWORK ACTIVITIES cu st ome r co m mu ni ca tio n pl an ni ng ris k an al ys is en gi ne eri ng

(32)

32 32

6.5.2 Empirical Estimation Models

6.5.2 Empirical Estimation Models

 Model estimasi untuk software komputer dengan Model estimasi untuk software komputer dengan

menggunakan

menggunakan formula-formula yang diturunkan secara formula-formula yang diturunkan secara empirik

empirik untuk memprediksi beban kerja sebagai fungsi untuk memprediksi beban kerja sebagai fungsi dari LOC atau FP.

dari LOC atau FP.

 Data empirik yang mendukung model-model estimasi Data empirik yang mendukung model-model estimasi

tersebut diturunkan dari sample proyek yang terbatas.

tersebut diturunkan dari sample proyek yang terbatas.

 Model-model estimasi mempunyai struktur sbb.Model-model estimasi mempunyai struktur sbb. C

ev

B

A

E

=

+

×

(

)

dengan A, B, dan C adalah konstanta yang diturunkan

secara empirik

E adalah effort dalam orang bulan

(33)

33

6.5.2.1 Beberapa Model Estimasi

6.5.2.1 Beberapa Model Estimasi

91 , 0 ) ( 2 , 5 KLOC E = × 16 , 1 ) ( 73 , 0 5 , 5 KLOC E = + × 05 , 1 ) ( 2 , 3 KLOC E = × 047 , 1 ) ( 288 , 5 KLOC E = × Walston-Felix model Bailey-Basili model Boehm simple model

Doty model untuk KLOC > 9

) ( 0545 , 0 39 , 13 FP E = − + × 3 8( ) 10 728 , 7 62 , 60 FP E= × × − ) ( 12 . 15 7 , 585 FP E = + ×

Albrecht and Gaffney model Kemerer model

Matson, Barnett, and Mellichamp model

LOC-Oriented LOC-Oriented

FP-Oriented FP-Oriented

(34)

34 34

6.5.2.2 COnstructive COst MOdel

6.5.2.2 COnstructive COst MOdel

(COCOMO)

(COCOMO)

Model mempunyai bentuk hirarki (berdasarkan Boehm) sbb:

Model 1. Basic COCOMO Model

Model 1. Basic COCOMO Model

Menghitung development effort (dan cost) sebagai fungsi dari ukuran program yang dinyatakan dalam estimasi LOC.

E

E = = aabbKLOCKLOCbbbb

D

D = = ccbbEEddbb

dengan E adalah effort (usaha) dalam orang-bulan dan D adalah waktu pengembangan dalam bulan kronologis.

(35)

35 Software Project organic semi-detached embedded ab 2,4 3,0 3,6 bb 1,05 1,12 1,20 cb 2,5 2,5 2,5 db 0,38 0,35 0,32

BASIC COCOMO MODEL

Dengan mengambil nilai pada contoh CAD, maka biaya per-person:

E = 2,4 (KLOC)1,05

E = 2,4 (33,2)1,05

E = 95 person-month

Untuk menghitung durasi proyek: D = 2,5 E0,35

E = 2,5 (95)0,35

E = 12,3 month

Jumlah orang yang disetujui: E = E/D = 95/12,3 = ~8 person

• Organic – proyek perangkat lunak yang sederhana dan relatif kecil

• Semi-detached – proyek perangkat lunak menengah

(36)

36 36

Menghitung usaha pengembangan PL sebagai fungsi

ukuran program dan serangkaian pengendali biaya

yang menyangkut penilaian yang subyektif terhadap

produk, hardware, personil, dan atribut proyek.

E

=

a

i

KLOC

bi

x

EAF

dengan E adalah effort dalam orang-bulan dan EAF

adalah faktor penyesuaian usaha dengan harga

berkisar antara 0,9 sampai 1,4.

(37)

37

Software Project

organic

semi-detached

embedded

a

i

3,2

3,0

2,8

b

i

1,05

1,12

1,20

Model 2. Intermediate COCOMO Model (lanj)

• Organic – proyek perangkat lunak yang sederhana dan relatif kecil

• Semi-detached – proyek perangkat lunak menengah

• Embedded – proyek perangkat lunak yang kompleks seperti PL penerbangan

(38)

38 38

Menghubungkan semua karakteristik model

intermediate dengan penilaian terhadap pengaruh

pengendali biaya pada setiap langkah (analisis,

perancangan, pemrograman, dll) dari proses rekayasa

perangkat lunak.

Model 3. Advanced COCOMO Model

(39)

39 39

6.5.2.3 Persamaan Perangkat Lunak

6.5.2.3 Persamaan Perangkat Lunak

 Persamaa PL : Persamaa PL : model multivariasi yang mengasumsikan model multivariasi yang mengasumsikan

distribusi khusus effort sepanjang hidup proyek

distribusi khusus effort sepanjang hidup proyek

pengembangan perangkat lunak

pengembangan perangkat lunak..

 Dihasilkan (estimasi) dari data produktivitas 4000 proyek Dihasilkan (estimasi) dari data produktivitas 4000 proyek

perangkat lunak yang sejaman.

perangkat lunak yang sejaman.

 Didefinisikan sbb:Didefinisikan sbb:

E = [LOC x B

E = [LOC x B0,3330,333/P]/P]33 x (1/t x (1/t44))

keterangan :

keterangan :

E= effort dalam person-month atau person-year

E= effort dalam person-month atau person-year

t = durasi proyek dalam bulan atau tahun

t = durasi proyek dalam bulan atau tahun

B = faktor skill khusus (pertumbuhan skill). Untuk program kecil

B = faktor skill khusus (pertumbuhan skill). Untuk program kecil

(KLOC=5 sampai 15) B=0,16; untuk program lebih besar dari 70 (KLOC=5 sampai 15) B=0,16; untuk program lebih besar dari 70 KLOC, B=0,39

KLOC, B=0,39

P = parameter produktivitas

P = parameter produktivitas

 Waktu pengembangan minimum didefinisikan:Waktu pengembangan minimum didefinisikan:

t

tminmin=8,14(LOC/P)=8,14(LOC/P)0,430,43

Referensi

Dokumen terkait

Momentum inilah yang menjadi dasar untuk diselenggarakannya Kongres Ikatan Alumni UPN “Veteran” Jakarta disertai dengan Reuni Akbar Alumni UPN “Veteran” Jakarta

analisis situasi yang ada di mitra, ada beberapa masalah yang bisa diselesaikan yaitu mesin disk mill sebagai solusi permasalahan pada proses produksi pada saat

Hal ini juga selaras dengan hasil penelitian yang dilakukan oleh Mazayah (2018) yang menyebutkan bahwa semakin tinggi motivasi maka akan semakin tinggi pula pendidikan yang

Menurut (Harahap, 2009) rasio keuangan adalah “ angka yang diperoleh dari hasil perbandingan dari satu pos laporan keuangan dengan pos lainnya yang mempunyai hubungan

Hasil penelitian ini bahwa pola perubahan bentuk dalam karakter Sun Goku adalah perubahan dari anak-anak ke dewasa memiliki perbandingan postur tubuh, anak-anak

Data teknis yang dipersiapkan berupa daya termal, siklus operasi, data massa unsur penyusun material dalam teras, seperti massa dari unsur penyusun elemen bahan bakar nuklir,

Hal ini dilakukan agar zat-zat yang terkandung dalam biji pala dapat dengan mudah terlarut dalam pelarut, sebab dengan semakin halusnya serbuk maka semakin luas

benar menurut EYD, sehingga banyak sekali kalimat aktif dan pasif dalam sumber data tersebut yang menggunakan ciri khas kalimat aktif dan pasif yang dapat