Sunday, September 24, 2017

Rational Unified Prosess & Unified Modeling Language

Rational Unified Process 

Atau yang lebih kita kenal dengan RUP adalah suatu kerangka kerja proses pengembangan perangkat lunak (Proses pengembangan perangkat lunak). Proses ini memiliki beberapa model yang masing-masing menjelaskan pendekatan terhadap berbagai tugas atau aktivitas yang terjadi selama proses. Contoh model proses pengembangan perangkat lunak antara lain adalah proses iteratif, Extreme Programming, serta proses waterfall yang akan memilih elemen proses sesuai dengan kebutuhan mereka.

Ada pendapat yang menyebutkan bahwa cara kerja RUP itu didasarkan pada 6 kunci prinsip bagi perkembangan bisnis yang terkendali yaitu :
  1. Mengadaptasi proses
  2. Menyeimbangkan prioritas dari para stakeholders
  3. Melakukan kolaborasi antar tim
  4. Mendemonstrasikan hasil-hasil yang ada secara berulang-ulang
  5. Menaikkan level abtraksi dari sebuah software
  6. Memfokuskan pada kualitas secara terus-menerus
RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan Unified Model Language (UML). Melalui gambar dibawah dapat dilihat bahwa RUP memiliki, yaitu:
  • Dimensi pertama digambarkan secara horizontal. Dimensi ini mewakili aspek-aspek dinamis dari pengembangan perangkat lunak. Aspek ini dijabarkan dalam tahapan pengembangan atau fase. Setiap fase akan memiliki suatu major milestone yang menandakan akhir dari awal dari phase selanjutnya. Setiap phase dapat berdiri dari satu beberapa iterasi. Dimensi ini terdiri atas Inception, Elaboration, Construction, dan Transition.
  • Dimensi kedua digambarkan secara vertikal. Dimensi ini mewakili aspek-aspek statis dari proses pengembangan perangkat lunak yang dikelompokkan ke dalam beberapa disiplin. Proses pengembangan perangkat lunak yang dijelaskan kedalam beberapa disiplin terdiri dari empat elemen penting, yakni who is doing, what, how dan when. Dimensi ini terdiri atas

    • Business Modeling
      Mengidentifikasi kemampuan sistem yang akan dibuat dan keinginan user.
    • Requirment
      Narasi tujuan bersama tentang kebutuhan fungsional dan kebutuhan dan fungsional.
    • Analysis dan Design
      Gambaran tentang bagaimana sistem akan dibuat pada tahap implementasi.
    • Implementation
      Proses coding dengan hasil berupa exe.
    • Test
      Verifikasi sistem secara menyeluruh.
    • Deployment
      Pemasangan sistem dan training user.
Berikut contoh gambar proses pembangunan suatu software :














Unified Modeling Language 

Atau yang lebih dikenal dengan UML memiliki fungsi untuk memodelkan suatu sistem (tidak hanya perangkat lunak) yang menggunakan konsep berorientasi object. Dan juga untuk menciptakan suatu bahasa pemodelan yang dapat digunakan baik oleh manusia maupun mesin.

UML adalah bahasa untuk menspesifikasi,memvisualisasi, membangun dan mendokumentasikan artifacts (bagian dari informasi yang digunakan untuk dihasilkan oleh proses pembuatan perangkat lunak, artifact tersebut dapat berupa model, deskripsi atau perangkat lunak)dari sistem perangkat lunak,seperti pada pemodelan bisnis dan sistem non perangkat lunak lainnya. 

Selain itu UML adalah bahasa pemodelan yang menggunakan konsep orientasi object.UML dibuat oleh Grady Booch, James Rumbaugh, dan Ivar Jacobson di bawah bendera Rational Software Corps. UML menyediakan notasi-notasi yang membantu memodelkan sistem dari berbagai prespetktif. UML tidak hanya digunakan dalam pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan pemodelan.


Bagian-bagian UML

Bagian-bagian utama dari UML adalah view, diagram, model element, dan general mechanism. View digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek yang berbeda. Beberapa Jenis view dalam UML antara lain : use case view,logical view,component view,concurrency view, dan deployment view.
  • Use case View
    Mendeskripsikan fungsionalitas sistem yang seharusnya dilakukan sesuai yang diinginkan external actors. Actor yang berinteraksi dengan sistem dapat berupa user atau sistem lainnya. View ini digambarkan dalam use case diagrams dan kadang-kadang dengan activity diagrams. View ini digunakan terutama untuk pelanggan,perancang (designer), pengembang(developer), dan penguji sistem(tester).
  • Logical View
    Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class, object, dan relationship ) dan kolaborasi dinamis yang terjadi ketika object mengirim pesan ke object lain dalam suatu fungsi tertentu. View ini digambarkan dalam class diagrams untuk struktur statis dan dalam state, sequence, collaboration, dan activity diagram untuk model dinamisnya.  View ini digunakan untuk perancang (designer) dan pengembang (developer).
  • Component View
    Mendeskripsikan implementasi dan ketergantungan modul. Komponen yang merupakan tipe lainnya dari code module diperlihatkan dengan struktur dan ketergantungannya juga alokasi sumber daya komponen dan informasi administrative lainnya. View ini digambarkan dalam component view dan digunakan untuk pengembang (developer).
  • Concurrency View
    Membagi sistem ke dalam proses dan prosesor. View ini digambarkan dalam diagram dinamis (state, sequence, collaboration, dan activity diagrams) dan diagram implementasi (component dan deployment diagrams) serta digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester).
  • Deployment View
    Mendeskripsikan fisik dari sistem seperti komputer dan perangkat (nodes) dan bagaimana hubungannya dengan lainnya. View ini digambarkan dalam deployment diagrams dan digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester).
     
 Sekian dari saya untuk RUP dan UML kali ini terimakasih.