Anda di halaman 1dari 32

Sasaran

Agar mahasiswa dapat:


Memahami permasalahan dalam pengembangan perangkat lunak Memahami 6 (enam) praktik terbaik dalam pengembangan perangkat lunak Memahami penggunaan Rational Unified Process (RUP) dalam praktik pengembangan perangkat lunak

Agenda
Permasalahan Pengembangan Software Praktik Terbaik Pengembangan Software Penggunaan Rational Unified Process (RUP)

Permasalahan Pengembangan Software

Permasalahan Pengembangan Software


Kebutuhan pengguna dan atau bisnis tidak terpenuhi. Modul-modul tidak terintegrasi. Sulit untuk dikelola dan dipelihara. Sulit menemukan kesalahan. Kinerja rendah dibawah beban tinggi. Kurangnya koordinasi tim. Isu-isu pengembangan dan release.

Praktik Terbaik Pengembangan Software

Praktik Pengembangan Software


Pengembangan iteratif. Mengelola kebutuhan. Menggunakan arsitektur komponen. Dimodelkan secara visual (UML) Verifikasi kualitas. Mengelola perubahan.

Praktik Pengembangan Software


Pengembangan Iteratif Mengelola Kebutuhan Menggunakan Arsitektur Komponen Model Visual Verifikasi Kualitas

Mengelola Perubahan

Praktik 1: Pengembangan Iteratif


Waktu dan uang yang dihabiskan dalam mengimplementasikan suatu desain yang salah, tidak dapat dikembalikan. Keterlambatan kesalahan desain mengakibatkan biaya membengkak dalam pelaksanaan bahkan kegagalan proyek. Riset membuktikan:

30% dari proyek s/w dibatalkan sebelum selesai. 50% dari proyek memiliki kenaikan dana 180%+.

Karakteristik Model Waterfall


Requirement Analysis Design

Code & unit test Subsystem integration System testing time

Menghambat penanganan resiko Mengukur kemajuan melalui kajian pekerjaan Menghambat proses integration dan testing

Pengembangan Iteratif vs Waterfall

waterfall

risk

Risk reduction iterative

Menerapkan waterfall secara iteratif terhadap pengembangan sistem Iterasi lebih awal akan menghasilkan resiko yang lebih besar di awal Setiap iterasi menghasilkan suatu

executable release
time

Setiap iterasi termasuk integration dan test.


10

Praktik 2: Mengelola Kebutuhan

Kebutuhan adalah dinamis, artinya berubah sepanjang proses development. Mengorganisir dan mendokumentasi fungsionalitas dan batasan yang diperlukan. Mengevaluasi perubahan dan menentukan dampaknya. Memantau dan mendokumentasi keputusan. Mengelola perjanjian antara pelanggan dengan tim proyek. Kebutuhan-kebutuhan untuk memantau elemenelemen proyek seperti Desain, Implementasi, QA, testing, manajemen proyek, dan lain-lain. 11

Langkah Pengelolaan Kebutuhan


Menganalisis permasalahan. Mengetahui kebutuhan pengguna. Mendefinisikan sistem. Menentukan lingkup. Memperbaiki definisi sistem. Membangun sistem yang benar.

12

Praktik 3: Menggunakan arsitektur komponen

Dasar untuk melakukan penggunaan kembali


Penggunaan kembali komponen. Penggunaan kembali arsitektur. Perencanaan

Dasar untuk manajemen proyek


Staffing Delivery
Mengelola kompleksitas Mengelola integritas
13

Kontrol intelektual

Praktik 4: Dimodelkan secara visual (UML)

Mengapa perlu pemodelan visual?


Mengakomodasi struktur dan behavior. Menunjukkan bagaimana elemen-elemen sistem saling bersesuaian. Menjaga desain dan implementasi tetap konsisten. Menyembunyikan atau memunculkan detil bila perlu. Meningkatkan komunikasi.

Jawabannya : UML
14

Pemodelan Visual dengan UML


Sequence diagram
Collaboration diagram StateChart diagram

Use case diagram

Class diagram
Object diagram

Model
Component diagram Activity diagram Deployment diagram

15

Pemodelan Visual dengan UML


Use-case diagram
Use Case 1 Actor A Actor B Use Case 2
FileList fList add( ) delete( ) 1

Class diagram
DocumentList FileMgr add( ) delete( ) Document name : int docid : int numField : int get( ) open( ) close( ) read( ) sortFileList( ) create( ) fillDocument( ) fetchDoc( ) sortByName( )

Statechart diagram
add file add file [ numberOffile==MAX ] / flag OFF
read() fill the code..

Writ ing

Openning

close file

Use Case 3

close file Reading

Closing

rep Repository (from Persistence) name : char * = 0 readDoc( ) readFile( ) read( ) open( ) create( ) fillFile( ) File

read( )

GrpFile

Collaboration diagram
1: Doc view request ( )
L

9: sortByName ( )

Repository

DocumentList

Deployment diagram
Window95 Windows95 Windows95 .EXE Windows NT Solaris

mainWnd : MainWnd

FileManager Document

2: fetchDoc( ) 4: create ( ) 8: fillFile ( )

gFile : GrpFile

user : Clerk fileMgr : FileMgr


3: create ( ) 6: fillDocument ( )
.EXE

GraphicFile
.EXE

Alpha UNIX

File

FileList

Windows NT

7: readFile ( ) 5: readDoc ( )

IBM Mainframe

document : Document

repository : Repository

mainWnd user

fileMgr : FileMgr

document : Document

gFile

repository

1: Doc view request ( )

2: fetchDoc( )

Component diagram Forward and Reverse Engineering

3: create ( )

4: create ( )

5: readDoc ( )

6: fillDocument ( )

7: readFile ( )

Target System

8: fillFile ( )

9: sortByName ( )

Sequence diagram

16

Praktik 5: Verifikasi Kualitas


Permasahan s/w 100 1000 kali lebih mahal untuk ditemukan dan diperbaiki sesudah diimplementasikan

cost

Biaya perbaikan s/w Biaya kehilangan peluang Biaya kehilangan pelanggan

inception elaboration construction transition


17

Bagaimana Melakukan Verifikasi Kualitas?


Uji untuk skenario utama. Uji seluruh dimensi kualitas s/w:

Fungsionalitas Reliabilitas Kinerja

Otomasi mengurangi waktu dan upaya pengujian. Uji tiap iterasi.

18

Praktik 6: Mengelola Perubahan


Change request management (CRM) Configuration status reporting. Configuration management.(CM) Change tracking. Version selection. Software manufacture.

19

Pengenalan Rational Unified Process (RUP)

20

Apakah artinya Proses?


Suatu Proses didefinisikan Siapa melakukan Apa, Kapan dan Bagaimana untuk meraih sasaran tertentu
Memberikan panduan demi pengembangan software yang lebih efisien. Mengurangi resiko dan meningkatkan kepastian. Meningkatkan visi dan budaya bersama. Menerapkan Best Practices.

21

Tahap Siklus RUP


Insepsi (Inception). Elaborasi (Elaboration). Konstruksi (Construction). Transisi (Transition).

Inception

Elaboration

Construction

Transition

time

22

Tahap Siklus RUP


Insepsi (Inception): mendefinisikan lingkup dari proyek. Elaborasi (Elaboration): perencanaan proyek, spesifikasi fitur, arsitektur dasar. Konstruksi (Construction): membangun produk. Transisi (Transition): transisi produk ke komunitas pengguna akhir.

23

Milestones pada Tahap Siklus RUP

Inception

Elaboration

Construction

Transition

time Lifecycle Objective Milestone Lifecycle Architecture Milestone Initial Operational Capability Milestone Product Release

24

Iterasi dan Tahapan

Iterasi adalah suatu urutan aktivitas berdasarkan pada rencana dan kriteria evaluasi yang telah ditetapkan, menghasilkan executable release (internal atau eksternal).
Inception Elaboration Construction Transition

Preliminary Architect. Architect. Devel. Iteration Iteration Iteration Iteration

Devel. Iteration

Devel. Iteration

Transition Transition Iteration Iteration

Minor Milestones: Releases

25

Model Alur Kerja (Workflow)


Core Process Workflows Business Modeling Requirements Analysis & Design Implementation Test

Models Implemented By Verified By

Realized By

Business UseCase Model


B B B B

Use-Case Model

Realized By

OK OK

Business Object Model

Automated By

Fail

Design Model

Implementation Model

Test Model

26

Iterasi dan Tahapan dalam RUP


Dalam iteration, kita berjalan melewati workflows

Workflows aktivitas kelompok lokal

27

Notasi RUP
Peran yang dimainkan oleh individu atau tim dalam organisasi Activity

Satuan pekerjaan yang dilakukan Actor

Actor
Use-Case Specifier
responsible for
Describe a Use Case

Artifact

Potongan informasi yang dihasilkan, dimodifikasi, atau digunakan di proses


28

Use Case

Use-Case Package

Actor Melakukan Aktivitas dan Menghasilkan Artifact


ExampleWorkflow Detail:

Define the System

29

Mencetak Tim Kinerja Tinggi


Performance Engineer Analyst Best Practices

Project Manager Developer Tester Release Engineer

Team-Based Best Practices

Effective Software Process

Team Success
30

Tugas

Rekayasa perangkat lunak Object Oriented (OO) saat ini secara cepat telah menggantikan pendekatan pengembangan yang konvensional. Seperti halnya teknologi lain, OO memiliki sisi buruk. Menggunakan internet maupun sumber lain, tuliskan paper singkat mengenai kritik Anda terhadap OO dan mengapa kita harus berhati-hati dalam menerapkan OO.
31

SELESAI

32

Anda mungkin juga menyukai