Model UML pada Rational Unified Process

Slides:



Advertisements
Presentasi serupa
Pengembangan Sistem Informasi
Advertisements

Rekayasa Perangkat Lunak dan Proses Software
Software Engineering Chapter 4
UNIFIED MODELLING LANGUAGE
PEMODELAN ANALISIS Kuliah - 5
Object Oriented Analysis and Design
BPR – Tahap 1 (Persiapan)
Oleh : Maria Tantri Agus Setiawan Ahmad Budi S
ANALISIS DAN PERANCANGAN SISTEM
Unified Modelling Language (UML)
BAB 2 METODE REKAYASA PERANGKAT LUNAK
METODE REKAYASA PERANGKAT LUNAK
13 KOMPONEN DIAGRAM UML & PROSES MODEL WATERFALL
ARSITEKTUR SISTEM INFORMASI PENJUALAN & PEMBELIAN Handicraft shop
Architecture dan design
TUGAS PERSENTASI RATIONAL UNIFIED PROCESS (R.U.P)
Konsep & Prinsip Analisis
Yang akan dipelajari Pengenalan UML Sejarah Singkat UML
SE3414 RPL: Teknik Berorientasi Objek
Pertemuan 1 Konsep Dasar OOAD
MANAJEMEN KONFIGURASI SOFTWARE
Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak Proses Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak (Lanjut)
Rekayasa Perangkat Lunak
Pengantar UML.
Rekayasa Perangkat Lunak UML (Unified Modelling Language)
Visual Modelling Teguh Sutanto, S.Kom.,M.Kom.
Review Rekayasa Perangkat Lunak
System Development Life Cycle (SDLC)
Rekayasa perangkat lunak (rpl)
REKAYASA PERANGKAT LUNAK
Object-Oriented Analysis (OOA)
ANALISA DAN PERANCANGAN SISTEM INFORMASI
Pemodelan objek.
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
Object oriented analyst and design
MANPRO-M13: MUTU PROYEK SISTEM
KEBUTUHAN & SPESIFIKASI SOFTWARE
Pendahuluan Analisis & Desain Berorientasi Obyek (ADBO)
PEMODELAN SYSTEM BERORIENTASI OBYEK (UML)
Citra N., S.Si, MT ProDi Sistem Informasi - UNIKOM
PEMODELAN PROYEK (UML)
SIKLUS HIDUP PEMBANGUNAN SOFTWARE
Rekayasa Perangkat Lunak Dosen : Citra Noviyasari, S.Si, MT
PROSES REKAYASA PERANGKAT LUNAK
Metode Perancangan Program
Metode Perancangan Program
Analisa dan Perancangan Sistem
Software Development Life Cycle (SDLC) Concept
PENGANTAR UML Citra N., S.Si, MT UNIKOM.
ANALISA DAN PERANCANGAN SISTEM INFORMASI
SDLC (System Development Life Cycle)
Review Rekayasa Perangkat Lunak
Pemodelan bisnis dan use case binis
KEBUTUHAN & SPESIFIKASI SOFTWARE
Perancangan Perangkat Lunak – Part 1
Rekayasa Kebutuhan.
Pertemuan 8 Rekayasa Kebutuhan
Review Rekayasa Perangkat Lunak
Review Rekayasa Perangkat Lunak
Perancangan Sistem Berorientasi Objek Dengan UML
Pengembangan Sistem Informasi
Business Modeling By: U. Abd. Rohim, MT
Pengembangan Sistem Informasi
Pertemuan 8 RPL Oleh : Syukriya al-Asyik S.Kom
Pertemuan 6 Unified Modeling Language (UML)
KEBUTUHAN & SPESIFIKASI SOFTWARE
TIM RPL Program Studi Teknik Informatika
PERANCANGAN SISTEM BERORIENTASI OBJEK DENGAN UML
Transcript presentasi:

Model UML pada Rational Unified Process

Pendahuluan Rational Unified Process merupakan hasil kerja awal : Ivar Jacobson, Grady Booch, James Rumbaugh “Three Amigos” Konsep utama Model Workflows dan workers Phasa dan iterasi

Software Engineering Process

Iterative and Incremental Bertahap Iterative pada setiap tahap Rencanakan secara bertahap Spesifikasi, desain dan implementasi bertahap Integrasi, test dan running setiap iterasi bertahap Evaluasi dan ulangi (iterasi), sesuai keperluan Transformasikan bag. kecil kebutuhan pengguna menjadi bag. kecil software Proyek-mini: satu langkah pada setiap waktu Pada setiap tahap terdapat perencanaan, aturan dsb Perbaikan awal dengan membangun pengetahuan(mengurangi resiko) fungsionalitas yang dibutuhkan dan kelangsungan teknis. Perbaikan selanjutnya membangun fungsionalitas produk. Risk-Driven Setiap iterasi menambah perbaikan dan mengurangi resiko

Feature-feature RUP Use-Case Driven Berbasis kebutuhan dan berfokus pada pengembangan Architecture-Centric Struktur over-arching; dasar dari desain Iterative and Incremental Bertahap, pertumbuhan dikontrol melalui “mini-projects” Setiap langka mencerminkan kebutuhan dan resiko saat ini

Feature-feature RUP Rational Unified Process terdiri dari : Workflow yang menghasilkan model: requirements, analysis, design/deployment, implementation, test Workers yang mengimplementasikan workflow : user, manager, analis, architect, designer, tester, dsb. Phasa development dan iterasi: inception, elaboration, construction, transition Aktivitas dalam iterasi: perencanaan, eksekusi workflow , evaluasi

Rational Unified Process

Phasa-phasa RUP Empat Phasa Inception Membuat proses bisnis, umur sistem Mendefinisikan tujuan daur hidup Elaboration Membuat kelayakan dan batasan : keuangan, jadual, teknis dsb. Mendefinisikan arsitektur daur hidup Construction Membangun sistem Mendefinisikan kemampuan operasional awal Transition Menyerahkan fungsionalitas sistem lengkap ke pengguna Menyerahkan rilis produk

Waktu dan Unified Process Pada Unifies Process, waktu mengalir melalui phasa-phasa, increment dan iterasi, tidak melalui workflow tradisional : requirementsdesignimplementation  test Phasa Waktu diantara dua milestones utama – titik-titik dimana manajemen memutuskan apakah untuk memproses pengembangan dan menyetujui jangkauan, anggaran dan jadual untuk phasa selanjutnya Iterasi Sebuah “proyek-mini” that typically crosses all five workflows (disciplines) Output adalah rilis (internal atau external) Mungkin terdapat beberapa peningkatan Increment Bagian kecil dan dapat diatur oleh sistem – sebuah bangunan Biasanya perbedaan fungsionalitas ditambahkan pada hasil increment sebelumnya

Phases and Iterations Phasa-phasa ( dalam waktu ) Inception Elaboration Construction Transition Banyak iterasi per phasa Manajemen resiko Selesaikan masalah sulit lebih dahulu Setiap workflow (requirement, analisa, desain, implementasi, test) dilakukan pada setiap iterasi

Phasa Inception Inception: membuat proses bisnis Jangkauan, batasan Kandidat arsitektur ( meyakinkan, layak) Resiko kritis Prototype proof-of-concept ( sistem dapat memuaskan kebutuhan pengguna ) Antar muka Algoritma kunci throw-away Perkiraan pengembangan kebutuhan sumber ( bukan RUP )

Phasa Elaboration Elaboration: “do-ability” Berbasis arsitektural Meliputi fungsionalitas utama Use case untuk 80%an fungsionalitas Menentukan level kualitas (misalnya reliability, performansi) Resiko utama ditransformasikan ke aktivitas yang dapat dihargai dan dijadualkan Penawaran kebutuhan sumber Jadual, staff, harga

Phasa Construction Construction: membangun kemampuan operasional awal Semua use case ditemukan, digambarkan dan direalisasikan ( dipetakan ke model desain ) Menyelesaikan analisa ( menyisakan 50%an ) Menyelesaikan desain, implementasi dan test ( menyisakan 90%an ) Mempertahankan integritas arsitektural Memonitor dan mengurangi resiko

Phasa Transition Transition: berpindah ke lingkungan pengguna Persiapan situs (secara fisik) Perubahan lingkungan operasional (hardware, sistem operasi, protokol komunikasi, shared components, dsb.) Lengkapi manual dan rilis dokumen lainnya Configure software to specific user environment Konfigurasi software untuk lingkungan pengguna tertentu Perbaikan kekurangan dari feedback test beta Modifikasi software sesuai keperluan

Kesimpulan Workflow Requirements Analysis Design Implementation Test Feature lists Domain models Use cases Customer language External view Unambiguous models Consistent use cases Developer language Internal view Sets solution architecture Conceptual Informal models Few abstractions, subsystems, interfaces Physical Technologies and “-ilities” Many abstractions, subsystems, interfaces Detailed Formal Implement details (source, scripts, binaries, executables, etc.) Distribute executable components across computing nodes Unit test Test cases, procedures, components Integration and system tests Feed results back into process

Kebutuhan Resource needs Resources Waktu 5% 20% 65% 10% Inception Elaboration 30% Construction 50% Transition Lebih banyak usaha up-front untuk proyek yang sulit

Setiap tahap menghasilkan kumpulan model tertentu

Multiple, sudut pandang konsisten pada model dasar Model-model UML Multiple, sudut pandang konsisten pada model dasar Use Case Diagram Class Diagram Behavior Diagrams Statechart Diagram Activity Diagram Interaction Diagrams Collaboration Diagram Sequence Diagram Implementation Diagrams Component Diagram Deployment Diagram Diagrams Model

4+1 View Arsitektur Software System Assembly Configuration Management Vocabulary Functionality Design View Implementation View Use Case View Behavior Process View Deployment View System Topology Distribution Delivery Installation Performance Scalability Throughput logical physical

Artifacts Dokumen produk Dokumen proses Dokumen proyek ( organisasi )

Essential Software Process Transformasi model aplikasi konseptual menjadi model solusi detail Domain Aplikasi Model Konseptual Transformasi Domain Implementasi Model Formal

Output Proses adalah Model Produk Analisa Application Objects Rekayasa Framework Solusi Model Desain Middleware Model Implementasi Distributed Platform Ekseskusi solusi

Aktivitas RUP dan Workers (Roles) Analisa

Aktivitas RUP dan Workers (Roles) (2) Desain

Aktivitas RUP dan Workers (Roles) (3) Implementasi

Aktivitas RUP dan Workers (Roles) (4) Test

Requirements

Requirements Activitas Artifact Daftar kandidat requirements Daftar feature Memahami konteks sistem Model bisnis/domain Memahami requirements fungsionalitas Use-case model Memahami requirements kualitas dan bisnis Supplementary requirements

Tujuan aktivitas requirements Mengarahkan development agar sesuai dengan sistem Tugas lainnya agar fokus dalam pembangunan sistem yang benar Membatasi apa yang boleh dan tidak dilakukan sistem Persetujuan diantara customer ( termasuk user ) dan organisasi pengembangan Dalam bahasa customer/user Tugas-tugas Daftar kandidat requirements Memahami konteks sistem Memahami requirements fungsionalitas Memahami requirements non fungsionalitas Validasi requirements

Dokumen requirements customer detail Starting points Samar Sangat detail Pernyataan Visi Dokumen requirements customer detail System Requirements Domain object model Similar systems Business model

Analysis

Requirements dan analysis Use Case Model Analysis Model Bahasa customer External view sistem Functionalitas sistem Terstruktur oleh use cases Kontrak diantara customer dan developer Redundansi, inkonsistensi Bahasa developer Internal view sistem Bagaimana merealisasikan functionalitas sistem Terstruktur oleh class-class dan package- package Sketsa realisasi fungsi; first-cut design Tidak boleh terdapat redundansi atau inkonsistensi

Model Analysis Analisa class-class dan/atau subsystems Fokus pada fungsional (vs. non-fungsional) requirement Konseptual, granularity yang besar Model desain akan mempunyai ~5 kali lebih elemen model Minimal interface operasi Definisi responsibilities (textual) instead Atribute pada high level Relasi konseptual boundary (interaksi dengan actor), control (koordinasi, sequencing, transaksi) atau entity (long-lived real-life object atau event) class-class Boundary Entity Control

Model Analysis (2) Use case realizations Kolaborasi yang menggambarkan bagaimana sebuah use case direalisasikan dan digambarkan dalam interaksi object-object Deskripsi tekstual flow events, class diagram, interaction diagram, special requirements Analysis Package mengorganisasikan analysis classes, use-case realizations dan analysis packages lainnya Pemisahan urusan analisis Berdasar masalah requirement domain fungsional, bukan domain solusi Model Arsitektur View “significant” dari model analysis

Model Analysis Berpengaruh pada Desain Mempertahankan struktur ketika membahas requirements non-fungsional dan batasaan implementasi Packages  Subsystems Class-class analysis adalah spesifikasi dari class-class desain Entity classes  databases Boundary classes  User Interface or communications Use-case realizations Spesifikasi lebih detail dari use cases Mengidentifikasikan flow proses di desain View arsitektur akan menemukan multiple view dari model desain

Desain

Aktivitas Desain Menentukan bentuk sistem arsitektur yang memenuhi semua requirements Memahami isu pada requirements non-fungsional dan batasan teknologi Mengidentitaskan subsystem ( semua struktur, requirement, interface, class-class) yang membolehkan implementasi konkuren Membuat abstraksi yang tak terlihat pada implementasi sistem Implementasi menambah isi ke arsitektur yang stabil Menyediakan visualisasi implementasi

4+1 View Arsitektur dan model-model yang mendefinsikan view yang ada Analysis Implementasi Logical View Functionality Implementation View Software management Use Case View Understandability Usability Requirements Process View Performance, scalability, throughput Deployment View System topology, delivery, installation, communication Desain Desain

Artifacts Model Desain Desain Class-class Desain Subsystems Desain Use-Case Realization Class Diagrams Interaction Diagrams Desain Flow of Events Implementasi Requirements Interface Model Deployment Model Process Architecture Views Model Desain

Aktivitas Desain Workflow dan Worker Arsitektural Architect Desain sebuah Use Case Use-Case Engineer Desain sebuah Class Desain sebuah Subsystem Component Engineer

Implementasi

Tugas-tugas Implementasi Implementasi desain dalam komponen-komponen source code, script, binary, executable, dsb. Sempurnakan arsitektur Rencanakan integrasi sistem pada setiap iterasi incremental : kecil dan langkah yang teratur Distribusi sistem : petakan komponen ke node-node Implementasi class-class desain dan subsystem Komponen-komponen unit testing Integrasi komponen-komponen ( kompile dan link ke dalam satu atau lebih executable ) untuk integrasi dan testing sistem

Artifact Model Implementasi Descripsi Arsitektur Komponen Implementasi Subsystem Interface Descripsi Arsitektur View Implementasi dari arsitektur Rencana pembangunan Integrasi Urutan pembangunan dalam sebuah iterasi Fungsionalitas dalam setiap pembangunan Catatan : jaga model saat ini melalui round-trip engineering Model desain menjamin visualisasi model implementasi

Implementasi Aktivitas Workflow dan Workers Arsitektural Architect Integrasi Sistem System Integrator Implementasi sebuah Class Component Engineer Lakukan sebuah Unit Test Implementasi sebuah Subsystem

4+1 View Arsitektur dan model-model yang mendefinsikan view yang ada Analysis Implementation Logical View Functionality Implementation View Software management Use Case View Understandability Usability Requirements Process View Performance, scalability, throughput Deployment View System topology, delivery, installation, communication Design Design

Testing

Aktivitas Testing Verifikasi hasil dari implementasi dengan testing setiap pembangunan Rencanakan test pada setiap iterasi Test integrasi untuk setiap pembangunan dalam iterasi Test sistem untuk akhir iterasi Test desain dan implementasi dengan membuat Kasus-kasus test untuk menentukan apa yang akan ditest Prosedur-prosedur test yang menentukan bagaimana melakukan test Komponen test executable untuk mengotomasi test Lakukan test dam secara sistematis menangani hasil test Pembangunan yang cacat dikirim ke workflow yang lain (misalnya desain dan implementasi) untuk perbaikan kecacatan

Testing pada daur hidup software Pada umumnya, dimanapun ada hasil implementasi , terdapat sebuah test Test pada setiap pembangunan Phasa Inception : perencanaan test awal, test prototype Phasa Elaboration : test dasar arsitektural Phasa Construction : testing pada setiap pembangunan Phasa Transition : re-test perbaikan dan test regresi Test Regresi tests: dalam pembagunan baru, lakukan test ulang dari pembangunan lama untuk meyakinakan tidak ada kesalahan dalam pembangunan baru Menyusun model test Membuat kasus-kasu test yang baru untuk setiap pembangunan Perbaiki kasus-kasus test lama menjadi test regresi Pindahkan testing, prosedur dan komponen test kuno yang berhubungan

Artifact Artifacts model testing Artifact lainnya Kasus-kasus testing Prosedur testing Komponen-kompenen testing Testing subsystem packages untuk model test yang kompleks Testing package subs Artifact lainnya Rencana Test Cacat Evaluasi Test