2 Pengantar UML

30
Pengantar UML … I Dewa Md. Adi Baskara Joni S.Ko Metode Pengembangan s/w Object Oriented Analysis Object oriented Design Rational Unified Process

Transcript of 2 Pengantar UML

Page 1: 2 Pengantar UML

Pengantar UML …

I Dewa Md. Adi Baskara Joni S.Kom., M.Kom

Metode Pengembangan s/w Object Oriented Analysis Object oriented Design Rational Unified Process

Page 2: 2 Pengantar UML

Sistem Yang Tepat?

Cerita tentang pria & wanita tuna netra Opini yg kuat Masing-masing benar Masing-masing salah Tidak satupun dari

mereka pernah melihat gajah

Page 3: 2 Pengantar UML

Bagaimana Sistem Dibangun?

Page 4: 2 Pengantar UML

Spesifikasi -> Solusi

Requirements

Requirements

Object Oriented Software Product

Object Oriented Software Product

Analisis, desain, implementasi, pengujian & perbaikan

USER Needs Solution

Page 5: 2 Pengantar UML

Pendekatan Berorientasi Objek Proses yang lebih teliti Banyak waktu yg disediakan utk mendapatkan

requirement, membangun model requirement dan model analisis, selanjutnya diubah menjadi model desain

Tidak perlu melihat code sampai waktu pembangunan 25%

Page 6: 2 Pengantar UML

Proses Pengembangan S/W

“Proses untuk mengubah, memperbaiki, transformasi dan menambah produk yg ada”

Transformasi I (Analisis)Menerjemahkan kebutuhan user ke dalam

requirements & tanggung jawab (resposibilities) sistem Bagaimana sistem akan digunakan dapat

menambahkan informasi requirement

Page 7: 2 Pengantar UML

Proses Pengembangan S/W

“Proses untuk mengubah, memperbaiki, transformasi dan menambah produk yg ada”

Transformasi II (Desain)Dimulai dengan pernyataan permasalahaan,

berakhir dengan detil desain yg dapat diwujudkan menjadi sistem operasional Kegiatan pembangunan, termasuk definisi tentang

bagaimana membangun perangkat lunak, pengembangan, pengujian, deskripsi desain dan program

Page 8: 2 Pengantar UML

Proses Pengembangan S/W

“Proses untuk mengubah, memperbaiki, transformasi dan menambah produk yg ada”

Transformasi III (Implementasi)Menyempurnakan detil desain ke deployment

sistem yang akan memenuhi kebutuhan user Memperhitungkan peralatan, prosedur, SDM, dll Bagaimana perwujudan produk (s/w) dalam

lingkungan operasionalnya

Page 9: 2 Pengantar UML

Konsep ObyekObyek dalam “Software Analysis & Design”

adalah sesuatu berupa konsep, benda, dan sesuatu yg membedakannya dari lingkungannya

• Tinggi• Berat badan• Bentuk wajah• (Bernafas)• (Makan)• (Bertumbuh)

Page 10: 2 Pengantar UML

Dasar OOA & OOD

Kaidah-kaidah standar Subyektifitas software analyst

Suatu permasalahan pasti memiliki lebih dari satu solusi

Page 11: 2 Pengantar UML

Dasar OOA & OOD

Terdapat 3 konsep dasar OOA & OOD:1. Pemodulan (Encapsulation)2. Penurunan (Inheritance)3. Polymorphism

Page 12: 2 Pengantar UML

EncapsulationInformation hidingPembungkusan,

menjaga proses agar tidak dapat diakses sembarangan atau diintervensi

Dilakukan utk menjaga keutuhan program agar dapat diakses sewaktu-waktu

Page 13: 2 Pengantar UML

Inheritance

Hubungan dua kelas atau lebih

Kelas parent mewariskan atribut dan metodenya kepada kelas child

Terdapat atribut dan metode tambahan dari kelas child yg menjadi sifat khusus yg membedakannya

BIKE

Page 14: 2 Pengantar UML

PolymorphismDapat menimpa

(override) suatu method dari parent yg diturunkan, sehingga memiliki kelakuan yg berbeda

Obyek child melakukan metode yg sama dengan algoritma yg berbeda dengan parent

Page 15: 2 Pengantar UML

Gejala Permasalahan S/W Development

Kebutuhan bisnis dan user tidak sesuaiPergolakan RequirementsModules tidak terintegrasiSusah untuk dikelolaKelemahan yang terlambat diketahuiKualitas buruk Kinerja buruk Tidak ada upaya terkoordinasi dari tim

Kebutuhan bisnis dan user tidak sesuaiPergolakan RequirementsModules tidak terintegrasiSusah untuk dikelolaKelemahan yang terlambat diketahuiKualitas buruk Kinerja buruk Tidak ada upaya terkoordinasi dari tim

Yang umumnya terjadi, in fact !Yang umumnya terjadi, in fact !

Page 16: 2 Pengantar UML

Gejala -> Penyebab -> Solusi

Symptoms Root Causes

Tidak sesuai

Requirements kacau

Modules tdk sesuai

Susah dikelola

Penemuan yg lambat

Kualitas rendah

Kinerja rendah

Masalah pengembang

Kurangnya requirements

Komunikasi yg ambigu

Arsitektur rapuh

Terlalu kompleks

Tidak konsisten

Kurangnya testing

Penilaian subyektif

Metode waterfall

Perubahan tak terkontrol

Kurangnya otomatisasi

Best Practices

Bangun secara iteratif

Kelola requirements

Gunakan arsitektur komponen

Pemodelan Visual (UML)

Verfifikasi kualitas berkerlanjutan

Mengontrol perubahan (UCM)

Page 17: 2 Pengantar UML

Software Development Best Practices

Best PracticesBest Practices

Develop IterativelyManage Requirements

Develop IterativelyManage Requirements

Page 18: 2 Pengantar UML

Waterfall

Penemuan Masalah yang Terlambat Subyektif dan Kesalahan Pengukuran

Progress Integrasi dan Testing yang Terlambat Menghalangi deployment awal

TimeTime

Subsystem integration

Requirements analysisDesign

Code and unit test

System test

Page 19: 2 Pengantar UML

Pengembangan Iteratif

TimeTime

Requirements analysis

Design

Code and unit test

Subsystem integration

System test

Iteration 1 Iteration 2 Iteration 3

Requirements analysis

Design

Code and unit test

Subsystem integration

System test

Requirements analysis

Design

Code and unit test

Subsystem integration

System test

Resiko dikendalikan perencanaan iterasi

Setiap iterasi menghasilkan rilis executable Penilaian melalui tes obyektif

Integrasi dan Testing berkelanjutan

Page 20: 2 Pengantar UML

Waterfall VS Iterative

Risk Reduction

TimeTime

Iterative Risk

Waterfall Risk

Ris

kR

isk

Page 21: 2 Pengantar UML

PrototypingVersi dari pembangunan produk s/w pada

tahap awal life cycle produkDibuat prototype dari key component

sistem yang akan dibangunDengan prototype menjadi dasar yang

lebih konsisten dengan requirements yg telah ditetapkan

Prototype disempurnakan menjadi produk akhir

Page 22: 2 Pengantar UML

Rapid Application Development

Teknik untuk membangun aplikasi lebih cepat

Seringkali digunakan dengan software protoptyping

Pengembangan secara iterasiDimulai ketika desain selesai

Apakah problem sudah jelas? (Analisis)

Apakah sistem dapat melakukan apa yg seharusnya? (Desain)

Dilakukan perbaikan dalam setiap iterasi

Page 23: 2 Pengantar UML

Menghasilkan Rilis Executable

Initial Planning

Planning

RequirementsAnalysis & Design

Implementation

Test

DeploymentEvaluation

ManagementEnvironment

Setiap iterasi menghasilkan rilis executable

Page 24: 2 Pengantar UML

Pendekatan Pengembangan Sistem Object-Oriented

Page 25: 2 Pengantar UML

Rational Unified Process

Proses pengembangan perangkat lunak dibuat praktis untuk semua anggota tim

Terbukti sebagai software development (out-of-the-box)

Mudah diadopsi

Terotomatisasi dengan Rational tools

Rational Unified ProcessRational Unified Process

Page 26: 2 Pengantar UML

Software Development Best Practices

Best PracticesBest Practices

Develop IterativelyManage RequirementsDevelop IterativelyManage Requirements

Page 27: 2 Pengantar UML

Pengelolaan Requirements

Berfokus pada requirements kunci Tangkap dan dokumentasikan Kelola dan prioritaskan

Requirements akan berubah Evaluasi dampak dari perubahan dan tentukan perubahan

apa yg akan diimplementasikan Sosialisasikan perubahan ke seluruh anggota tim

Buat requirements accessible

Requirements management leverages your ability to deliver products

that meet users current needs

Page 28: 2 Pengantar UML

Menangkap dan Mengelola Requirements

Page 29: 2 Pengantar UML

Our UML …

Page 30: 2 Pengantar UML