Metodologi Berbasis Proses Metodologi Berbasis Object OOA ObjectOriented

Metodologi Berbasis Proses

Metodologi Berbasis Object OOA (Object-Oriented Analysis) RUP (Rational Unified Process) 2

Perbandingan Metode Waterfall • Analisa Kebutuhan • analisis Spesifikasi • Desain • Coding dari Desain Spesifikasi • Pengujian Unit • Pengujian sistem • Pengujian UAT • Implementasi (? ? ) • Tolok ukur adalah dalam bentuk dokumen formal (spesifikasi).

Perbandingan Metode Waterfall • Persyaratan di depan sebelum desain • Persyaratan jarang berubah • Pengguna tahu apa yang mereka inginkan, dan jarang membutuhkan visualisasi • Desain dapat dilakukan dalam ruang abstrak murni, atau trial jarang menyebabkan kesalahan • Teknologi ini semua akan cocok dengan baik ke tempat ketika saatnya tiba. • Sistem ini tidak begitu rumit.

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. 5

RUP • RUP adalah metode mengelola Pengembangan Object Oriented Software • Hal ini dapat dilihat sebagai Kerangka Pengembangan Software yang extensible dengan fitur: • Pembangunan berulang • Manajemen Persyaratan • Komponen Berbasis Visi Arsitektur • Visual Modeling Sistem • Manajemen mutu • Kendali Manajemen perubahan 6

RUP • Jika UML adalah bahasa pemodelan standar, maka RUP merupakan proses atau metodologi pengembangan sistem yang akan menjelaskan bagaimana memanfaatkan UML • RUP merupakan proses “proprietary” dari Rational Rose Software. • RUP merupakan proses yang bersifat “use-case driven , architecture-centric, iterative and incremental” 7

Use-case driven: Use-case driven • Use-case digunakan untuk menangkap persyaratan pemakai, dengan menjelaskan fungsionalitas sistem yang diperlukan. • Desain akan berbasis kepada use-case, pengujian berbasis pada kandungan use-case, dan implementasi akan mendukung use -case Architecture-centric: • Bandingkan dengan arsitektur bangunan, yang memungkinkan kita “melihat” bangunan sebelum dibangun • Arsitektur sistem berisi detil perangkat keras, sistem operasi, basis data, jaringan, dll (platform sistem) dan juga persyaratan nonfungsional • Arsitektur sistem didefinisikan di awal dan dikembangkan sesuai dengan perkembangan kebutuhan perangkat lunak

Iterative dan incremental: • Perumus RUP percaya bahwa persyaratan yang diinginkan pemakai tidak akan didefinisikan secara penuh dan akurat dalam sekali jalan • Persyaratan akan berubah seiring meningkatnya pemahaman dan perubahan waktu • Proyek seharusnya dipandang sebagai suatu deretan perulangan incremental yang terkendali dan akan membantu meminimalkan risiko serta mengurangi kegagalan sistem dalam mencapai sasarannya.

Proses Iteratif • Mengakui realitas perubahan kebutuhan • Penelitian caspers Jones pada 8000 proyek yg diteliti. • 40% dari persyaratan akhir dipahami setelah tahap analisis dan pembangunan sudah dimulai • Mempromosikan mitigasi risiko awal, dengan memecah sistem menjadi mini-proyek dan berfokus pada elemen yang paling berisiko • Memungkinkan untuk "merencanakan sedikit, desain sedikit, dan sedikit coding" • Mendorong semua peserta, termasuk penguji, integrator, dan penulis teknis untuk terlibat. • Memungkinkan proses itu sendiri untuk memodulasi dengan setiap iterasi, yang memungkinkan Anda untuk memperbaiki kesalahan cepat dan dimasukkan ke dalam proses pada iterasi sebelumnya • Berfokus pada arsitektur komponen.

Proses Iterasi • Tujuan utama dari setiap iterasi adalah untuk perlahan-lahan jauh dari resiko yang dihadapi proyek, yaitu: • risiko kinerja • risiko integrasi (vendor yang berbeda, alat, dll) • risiko konseptual • Setiap iterasi adalah mengendalikan resiko • Hasil dari iterasi meningkat - perbaikan inkremental dari sistem, menghasilkan pendekatan evolusioner

Sturuktur RUP • RUP memiliki sejumlah siklus yang membentuk proyek • Tiap siklus terdiri dari fase: 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. Inception time 12 Elaboration Construction Transition

Tahap Inception • Tujuan utama adalah mendapatkan pemahaman dari semua pihak yang berkepentingan • Memahami persyaratan awal • Analisis Benefit Cost • Analisis Risiko awal • definisi ruang lingkup proyek • Mendefinisikan calon arsitektur • Pengembangan prototipe sekali pakai • Model awal Use Case (10% - 20% selesai)

Tahap Elaboration • Analisis Kebutuhan • Analisis Use Case • Use Case (80% ditulis dan dikaji oleh akhir fase) • Use Case Model (80% selesai) • skenario • Urutan dan Kolaborasi Diagram • Class, Activity, Component, State Diagrams • Glosarium (sehingga pengguna dan pengembang dapat saling memahami) • Domain Model • untuk memahami masalah persyaratan sistem • Rencana Penilaian Risiko direvisi • Dokumen arsitektur

Tahap Construction • Fokus pada pelaksanaan desain: • Peningkatan fungsi • Peningkatan lebih mendalam implementasi • stabilitas yang lebih besar mulai muncul • menerapkan semua rincian, tidak hanya orang-orang dari nilai arsitektur pusat • analisis terus, tapi desain dan coding lebih mendominasi

Tahap Transition • Fase transisi terdiri dari transfer sistem untuk komunitas pengguna • Hal ini termasuk manufaktur, pengiriman, instalasi, pelatihan, dukungan teknis dan pemeliharaan • Tim pengembang mulai berkurang • Kendali dipindahkan ke tim pemeliharaan • Alpha, Beta, dan final release • Software Update • Integrasi dengan sistem yang ada (versi sebelum, versi yang ada, dll)

Masing masing punya iterasi yang mempunyai fungsi untuk menghasilkan produk demo. Lamanya iterasi berkisar dua minggu atau kurang dari enam bulan Iterations Inception Iterations Elaboration Iterations Construction Iterations Transition

Sturuktur RUP • Workflow adalah deretan aktifitas yang menghasilkan nilai yang dapat diperiksa 18

Workflows aktivitas kelompok lokal Dalam iteration, kita berjalan melewati 19 workflows Ilustrasi Struktur RUP

Workflow dalam RUP

Workflow dalam RUP Business Modeling Workflow – Mengembangkan model bisnis dengan menetapkan konteks sistem dan jangkauan organisasi yang menerapkan sistem – Mengidentifikasikan masalah yang ada, area desain dan rekayasa ulang, aturan bisnis, dll. – Workflow ini tidak wajib terutama jika pengembangan hanya bertujuan menambahkan fitur baru untuk sistem – Artefak kunci: dokumen visi bisnis (tujuan pengembangan), model use-case bisnis (fungsi-fungsi dari pengembangan yang diusulkan), dan model objek bisnis (realisasi use-case bisnis) 21

Business Modeling

Workflow dalam RUP Requirement Workflow – Menetapkan bersama stakeholder, apa yang seharusnya dilakukan sistem dan mengapa; mendefinisikan batasan sistem, dan memperkirakan biaya dan jangka waktu – Mengumpulkan dan menganalisis kebutuhan fungsional dan nonfungsional – Artefak kunci: model use case dengan spesifikasi persyaratan 23

Requirements

Workflow dalam RUP cont. • Analysis and Design Workflow – Tujuannya adalah mengubah persyaratan user menjadi spesifikasi implementasi – Analis memastikan bahwa persyaratan fungsional dipenuhi dengan mengabaikan persyaratan nonfungsional dan lingkungan yang sedang berjalan – Desainer mengambil hasil analisis dan mengadaptasikannya terhadap batasan arsitektur dan persyaratan nonfungsional 25

Analysis and Design

Workflow dalam RUP cont. • Implementation Workflow – Mengubah rancangan menjadi implementasi – Mencakup: – perencanaan proses, – mengubah kelas dan objek menjadi komponen, – menguji tiap komponen, dan – membangun versi operasional dari sistem per bagian – Tiap komponen perangkat lunak yang terpisah ini akan diintegrasikan meningkat menjadi sistem lengkap 27

Implementation

Workflow dalam RUP cont. • Test Workflow – Menguji dan memverifikasi interaksi komponen, bahwa semua persyaratan telah diimplementasikan, dan produk berkualitas dalam arti tidak ditemukan cacat dan memenuhi tujuan – Sistem akan diuji dalam hal kehandalan, fungsionalitas, dan kinerja 29

Proses Pengujian • • • Pre-Alpha • Masih dalam taraf pengujian Alpha • Tahap awal pengujian • Bisa tidak stabil crash • Belum sampai pada publik Beta • Mengurangi dampak negatif bagi user • Mendapatkan bug Release Candidate (RC) • Produk akhir • Siap untuk di release • Tidak ada bug Release to Manufacture (RTM) • Siap digunakan user Release Availability / General Acceptance (GA) • Produk telah tersedia

Test

Workflow dalam RUP cont. • Deployment Workflow – Menyerahkan perangkat lunak kepada pemakai dan mencakup: pengujian dalam lingkungan operasi (beta-testing), pelatihan pemakai, migrasi dari sistem berjalan, pemaketan perangkat lunak, dan instalasi – Deployment sangat bergantung pada sifat dari pengembangan perangkat lunak • Configuration and Change Management Workflow – Menelusuri dan memelihara keutuhan proyek dengan mengawasi dan mengelola permintaan perubahan, biaya perubahan, dan berbagai versi yang ada atas produk dan artefak; termasuk konfigurasi perangkat keras dan lunak – Produk dan artefak harus diidentifikasikan, disimpan, dikontrol sejarah dan versinya • Project Management Workflow – Menyediakan kerangka untuk mengelola proyek dan resiko – Menyediakan arahan untuk perencanaan, perekrutan SDM, pengawasan, dan manajemen proyek • Environment Workflow – Mengenai dukungan proses, metode, dan tool yang relevan dalam proyek 32

Deployment Workflow

Configuration and change management

Project Management

Environment Workflow

Penerapan Tahapan Metodologi dengan Menggunakan RUP (Contoh Kasus) Inception Inception • Pada tahap ini pengembang mendefinisikan batasan kegiatan, melakukan analisis kebutuhan user, dan melakukan perancangan awal perangkat lunak (perancangan arsitektural dan use case). Pada akhir fase ini, prototipe perangkat lunak versi Alpha harus sudah dirilis Elaboration • Pada tahap ini dilakukan perancangan perangkat lunak mulai dari menspesifikasikan fitur perangkat lunak hingga perilisan prototipe versi Betha dari perangkat lunak. Construction • Pengimplementasian rancangan perangkat lunak yang telah dibuat dilakukan pada tahap ini. Pada akhir tahap ini, perangkat lunak versi akhir yang sudah disetujui administrator dirilis beserta dokumentasi perangkat lunak. Transition • Instalasi , deployment dan sosialisasi perangkat lunak dilakukan pada tahap ini.
- Slides: 37