• Tidak ada hasil yang ditemukan

Siklus Pengembangan Perangkat Lunak

N/A
N/A
Protected

Academic year: 2021

Membagikan "Siklus Pengembangan Perangkat Lunak"

Copied!
49
0
0

Teks penuh

(1)

   

Siklus Pengembangan

Siklus Pengembangan

Perangkat Lunak

Perangkat Lunak

(Software Development Life Cycle) (Software Development Life Cycle) Endy Muhardin <

Endy Muhardin <[email protected]@artivisi.com>> http://endy.artivisi.com

http://endy.artivisi.com

last updated : 2007-08-01

(2)

Who am I

Who am I

Endy Muhardin

Endy Muhardin

[email protected]@artivisi.com – Y! endymuhardinY! endymuhardin

Kegiatan

Kegiatan

– Software Developer Software Developer – Project ManagerProject Manager

(3)

Kompetensi Teknis

Kompetensi Teknis

Java Enterprise Edition (JEE)

Java Enterprise Edition (JEE)

Spring Framework

Spring Framework

Hibernate O/R Mapping

Hibernate O/R Mapping

Java Server Faces (JSF)

Java Server Faces (JSF)

PHP

PHP

(4)

Projects

Projects

PlaySMS

PlaySMS

PlayBilling

PlayBilling

CMMI

CMMI

(5)

Buku Subversion

(6)

Materi

Materi

Siklus Pengembangan Perangkat Lunak

Siklus Pengembangan Perangkat Lunak

– Fase PerencanaanFase Perencanaan – Fase AnalisaFase Analisa

– Fase DesainFase Desain – Fase CodingFase Coding – Fase TestingFase Testing

– Fase ImplementasiFase Implementasi – Fase PemeliharaanFase Pemeliharaan

(7)

Metodologi

Metodologi

Heavyweight

Heavyweight

– WaterfallWaterfall – RUPRUP ●

Lightweight

Lightweight

– AgileAgile – XPXP

Apapun metodologinya, kegiatannya mirip

Apapun metodologinya, kegiatannya mirip

(8)

Fase Perencanaan [1]

Fase Perencanaan [1]

Estimasi ukuran software

Estimasi ukuran software

– Function point calculationFunction point calculation – Metode PutnamMetode Putnam

– Metode COCOMOMetode COCOMO

Estimasi effort dan durasi

Estimasi effort dan durasi

– Berapa orang?Berapa orang? – Berapa bulan?Berapa bulan?

(9)

Fase Perencanaan [2]

Fase Perencanaan [2]

Memilih metodologi

Memilih metodologi

Menentukan milestone

Menentukan milestone

Mendefinisikan aturan manajemen

Mendefinisikan aturan manajemen

– komunikasikomunikasi

– penyimpanan dokumenpenyimpanan dokumen – aturan rilisaturan rilis

– prosedur change managementprosedur change management

(10)

Fase Perencanaan [3]

Fase Perencanaan [3]

Menyusun anggota tim

Menyusun anggota tim

– Steering Committee / Project SponsorSteering Committee / Project Sponsor – Project ManagerProject Manager

– Subject Matter ExpertSubject Matter Expert – Business AnalystBusiness Analyst

– Software ArchitectSoftware Architect – ProgrammerProgrammer

– TesterTester

(11)

Produk Fase Perencanaan

Produk Fase Perencanaan

Project Schedule

Project Schedule

– Estimasi ukuranEstimasi ukuran

– Estimasi effort dan durasiEstimasi effort dan durasi

– Tanggal selesai masing-masing milestoneTanggal selesai masing-masing milestone

Project Plan

Project Plan

– Stakeholder planStakeholder plan

– Configuration management planConfiguration management plan – Training planTraining plan

(12)

Tools Fase Perencanaan

Tools Fase Perencanaan

DotProject

DotProject

ActiveCollab

ActiveCollab

(13)

   

???

???

Pertanyaan dan Diskusi

(14)

Project Monitoring [1]

Project Monitoring [1]

Rencana yang telah dibuat harus

Rencana yang telah dibuat harus

dimonitor secara berkala agar proyek

dimonitor secara berkala agar proyek

berjalan baik

berjalan baik

Tujuan Project Monitoring

Tujuan Project Monitoring

– Memastikan rencana dijalankanMemastikan rencana dijalankan

– Identifikasi masalah sedini mungkinIdentifikasi masalah sedini mungkin – Memecahkan masalah sedini mungkinMemecahkan masalah sedini mungkin – Memantau kinerja anggota timMemantau kinerja anggota tim

(15)

Project Tracking [2]

Project Tracking [2]

Hal yang harus dimonitor

Hal yang harus dimonitor

– Kemajuan proyek dibandingkan rencana awalKemajuan proyek dibandingkan rencana awal – Keterlibatan stakeholderKeterlibatan stakeholder

– Pemenuhan komitmenPemenuhan komitmen – Resiko proyekResiko proyek

(16)

Tools Project Monitoring

Tools Project Monitoring

DotProject

DotProject

ActiveCollab

ActiveCollab

Open Workbench

Open Workbench

Timesheet

Timesheet

(17)

   

???

???

Pertanyaan dan Diskusi

(18)

Fase Analisa [1]

Fase Analisa [1]

Memahami software yang akan dibuat

Memahami software yang akan dibuat

(requirement)

(requirement)

– Diskusi dengan SMEDiskusi dengan SME – Diskusi dengan UserDiskusi dengan User

Verifikasi requirement

Verifikasi requirement

– Review hasil analisaReview hasil analisa – Prototyping Prototyping

(19)

Fase Analisa [2]

Fase Analisa [2]

Mendapatkan komitmen

Mendapatkan komitmen

– Sign offSign off

– Email ApprovalEmail Approval

Mengelola perubahan

Mengelola perubahan

(20)

Fase Analisa [3]

Fase Analisa [3]

Requirement yang baik

Requirement yang baik

– Sahih (tidak berdasarkan asumsi)Sahih (tidak berdasarkan asumsi) – Dapat diimplementasikanDapat diimplementasikan

– Benar-benar diperlukanBenar-benar diperlukan – Memiliki skala prioritasMemiliki skala prioritas – Tidak ambiguTidak ambigu

(21)

Fase Analisa [4]

Fase Analisa [4]

Spesifikasi yang baik

Spesifikasi yang baik

– LengkapLengkap – KonsistenKonsisten – Bisa diubahBisa diubah – Bisa dilacakBisa dilacak

(22)

Produk Fase Analisa

Produk Fase Analisa

Functional Spec / SRS / URS / CRS

Functional Spec / SRS / URS / CRS

Test Scenario

Test Scenario

Requirement Traceability Matrix

Requirement Traceability Matrix

Prototype

Prototype

UML Diagram

UML Diagram

– Use Case DiagramUse Case Diagram – Activity DiagramActivity Diagram

(23)

Tools Fase Analisa

Tools Fase Analisa

DokuWiki

DokuWiki

OSRMT

OSRMT

Jude Community

Jude Community

Poseidon CE

Poseidon CE

(24)

Kegunaan Spesifikasi

Kegunaan Spesifikasi

Marketing

Marketing

– membuat brosurmembuat brosur

– merencanakan kegiatan pemasaranmerencanakan kegiatan pemasaran

Developer

Developer

– mendesain softwaremendesain software – membuat softwaremembuat software

Technical Writer

Technical Writer

(25)

   

???

???

Pertanyaan dan Diskusi

(26)

Change Management

Change Management

Kebutuhan user

Kebutuhan user

– PASTI BERUBAH !!!PASTI BERUBAH !!!

Ini adalah hal yang alami

Ini adalah hal yang alami

Perlu ada prosedur khusus sehingga tidak

Perlu ada prosedur khusus sehingga tidak

mengacaukan proyek

mengacaukan proyek

Perubahan requirement akan berbuntut:

Perubahan requirement akan berbuntut:

– PPerubahan efforterubahan effort

– Perubahan durasiPerubahan durasi – Perubahan biayaPerubahan biaya

(27)

Prosedur Change Management

Prosedur Change Management

Change Requester harus jelas

Change Requester harus jelas

Impact Analysis harus dihitung dengan

Impact Analysis harus dihitung dengan

cepat

cepat

– gunakan Requirement Traceability Matrixgunakan Requirement Traceability Matrix

Berdasarkan hasil Impact Analysis,

Berdasarkan hasil Impact Analysis,

Steering Committee bisa memutuskan:

Steering Committee bisa memutuskan:

– approve and proceed immediatelyapprove and proceed immediately

– pending to next phasepending to next phase – discard completelydiscard completely

(28)

   

???

???

Pertanyaan dan Diskusi

(29)

Fase Desain [1]

Fase Desain [1]

Desain tampilan akhir

Desain tampilan akhir

– warnawarna – hurufhuruf

– efek khususefek khusus

Memilih teknologi dan framework

Memilih teknologi dan framework

– kemudahankemudahan – kecepatankecepatan – fiturfitur

(30)

Fase Desain [2]

Fase Desain [2]

Menentukan partisi sistem

Menentukan partisi sistem

– komponenkomponen – pluginplugin

(31)

Produk Fase Desain

Produk Fase Desain

Technical Specification

Technical Specification

Proof of Concepts

Proof of Concepts

Arsitektur Sistem

Arsitektur Sistem

Dokumentasi pemilihan teknologi

Dokumentasi pemilihan teknologi

– Alternatif yang dipertimbangkanAlternatif yang dipertimbangkan – Kriteria yang digunakanKriteria yang digunakan

– Bobot masing-masing kriteriaBobot masing-masing kriteria

– Penilaian masing-masing alternatifPenilaian masing-masing alternatif

(32)

Tools Fase Desain

Tools Fase Desain

Jude Community

Jude Community

Poseidon CE

Poseidon CE

Aqua Studio

Aqua Studio

DBDesigner

DBDesigner

(33)

   

???

???

Pertanyaan dan Diskusi

(34)

Fase Coding [1]

Fase Coding [1]

Persiapan Development

Persiapan Development

– Version ControlVersion Control

– Mailing List / Forum DiskusiMailing List / Forum Diskusi – Bug TrackerBug Tracker

– Continuous IntegrationContinuous Integration

Kebijakan Coding

Kebijakan Coding

– coding standardcoding standard – quality standardquality standard

(35)

Fase Coding [2]

Fase Coding [2]

Pengukuran kualitas kode

Pengukuran kualitas kode

– keterikatan (coupling)keterikatan (coupling) – kompleksitaskompleksitas

– kemudahan pengembangan (extensibility)kemudahan pengembangan (extensibility) – kesesuaian dengan best-practiceskesesuaian dengan best-practices

– kecukupan jumlah test vs jumlah kodekecukupan jumlah test vs jumlah kode –

(36)

Fase Coding [3]

Fase Coding [3]

Jenis test yang dilakukan programmer

Jenis test yang dilakukan programmer

– Unit Test : method/functionUnit Test : method/function

– Coverage Test : kecukupan unit testCoverage Test : kecukupan unit test – Code Review : praktek codingCode Review : praktek coding

– Integration Test : interaksi dengan sistem lain Integration Test : interaksi dengan sistem lain

(database, mail, aplikasi lain)

(database, mail, aplikasi lain)

– Performance Test : waktu yang dibutuhkan Performance Test : waktu yang dibutuhkan

untuk menjalankan fitur tertentu

untuk menjalankan fitur tertentu

– Stress Test : perilaku fitur bila dihadapkan Stress Test : perilaku fitur bila dihadapkan

dengan request yang banyak

(37)

Produk Fase Coding

Produk Fase Coding

Coding convention

Coding convention

Kode program

Kode program

Unit test

Unit test

Code review report

Code review report

Unit test report

Unit test report

Coverage test report

Coverage test report

User Manual

User Manual

(38)

Tools Fase Coding (Java)

Tools Fase Coding (Java)

● AntAnt

● PMD / FindbugsPMD / Findbugs ● JUnit / TestNG JUnit / TestNG

● Cobertura / EmmaCobertura / Emma ● DBUnit DBUnit

● CruiseControl / LuntbuildCruiseControl / Luntbuild ● JDepend JDepend

● JUnitPerf JUnitPerf ● JMeter JMeter

(39)

Tools Fase Coding (Umum)

Tools Fase Coding (Umum)

Subversion

Subversion

Mantis

Mantis

phpBB

phpBB

Redmine

Redmine

GForge

GForge

(40)

   

???

???

Pertanyaan dan Diskusi

(41)

Fase Testing

Fase Testing

Terdiri dari

Terdiri dari

– Internal Testing: dilakukan oleh project teamInternal Testing: dilakukan oleh project team – User Testing: dilakukan oleh customerUser Testing: dilakukan oleh customer

Tujuan (Internal Testing)

Tujuan (Internal Testing)

– mengurangi jumlah bug yang ditemukan oleh mengurangi jumlah bug yang ditemukan oleh

customer / end-user

customer / end-user

Tujuan (User Testing)

Tujuan (User Testing)

– memastikan software yang diterima sesuai memastikan software yang diterima sesuai

dengan spesifikasi yang diminta

(42)

Produk Fase Testing

Produk Fase Testing

Bug Report

Bug Report

Bug Fix

Bug Fix

(43)

Tools Fase Testing

Tools Fase Testing

Functional Specification

Functional Specification

Test Scenario

Test Scenario

Mantis

Mantis

Selenium

Selenium

HttpUnit

HttpUnit

Canoo WebTesting

Canoo WebTesting

Abbot & Costello

Abbot & Costello

(44)

   

???

???

Pertanyaan dan Diskusi

(45)

Fase Implementasi

Fase Implementasi

Tujuan

Tujuan

– menyiapkan aplikasi untuk penggunaan yang menyiapkan aplikasi untuk penggunaan yang

sebenarnya (go-live)

sebenarnya (go-live)

Kegiatan

Kegiatan

– User TrainingUser Training

– Administrator TrainingAdministrator Training – Migrasi Data (kalau ada)Migrasi Data (kalau ada) – Cut off sistem/proses lamaCut off sistem/proses lama

(46)

Produk Fase Implementasi

Produk Fase Implementasi

Training Material

Training Material

Cut-off Data

Cut-off Data

(47)

Fase Pemeliharaan

Fase Pemeliharaan

Kegiatan

Kegiatan

– perbaikan bug yang tersisaperbaikan bug yang tersisa – penambahan fiturpenambahan fitur

– perubahan fiturperubahan fitur

Bisa dilakukan dalam kesepakatan

Bisa dilakukan dalam kesepakatan

terpisah atau sebagai bagian dari masa

terpisah atau sebagai bagian dari masa

garansi

(48)

   

Terima Kasih

Terima Kasih

[email protected]@artivisi.com ● http://endy.artivisi.comhttp://endy.artivisi.com

(49)

Referensi

Dokumen terkait

Dilakukan secara paralel dengan Volume dan Stress testing untuk mengetahui unjuk kerja sistem (waktu respon,. throughput rate) pada beberapa kondisi proses dan

Pada proses pemilihan desain rumah, proses pemilihan ini dilakukan dengan memilih kriteria data-data mengenai desain rumah yang diinginkan oleh user, kemudian dari data

Orang yang melakukan tugas akan menunjukkan (menjalankan) fitur n) fitur perangka perangkat lunak t lunak yang telah yang telah dilakukan, dilakukan, demo dilakukan oleh seluruh

Dilarang untuk me-reproduksi dokumen ini tanpa diketahui oleh Jurusan Teknik Informatika 2.5.2.7 Pengolahan Tampil Data Ruangan. Proses ini dapat dilakukan leh user pada form

testing) merupakan suatu investigasi yang dilakukan untuk mendapatkan informasi mengenai kualitas dari produk atau layanan yang sedang diuji (under test).. ● Pengujian perangkat

Dilakukan secara paralel dengan Volume dan Stress testing untuk mengetahui unjuk kerja sistem (waktu respon, throughput rate) pada beberapa kondisi proses dan konfigurasi.

Apabila seorang pengguna menggunakan login sebagai user saja akses sebagai user maka menu-menu yang dapat diakses didalam tampilan utama adalah : Pengenalan Angka, Pengenalan Huruf,

Lanjutannya fase inni akan dilakukan dan pemeriksaan terhadap bagian yang telah dibuat, apakah sudah memenuhi kategori yang diinginkan atau tidak Testing and integration semua