Sunday, 17 December 2017

RUP (Rational Unified Process)


RUP (Rational Unified Process)

Rational Unified Process (RUP) merupakan suatu metode rekayasa perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practises yang terdapat dalam industri pengembangan perangkat lunak. Ciri utama metode ini adalah menggunakan use-case driven dan pendekatan iteratif untuk siklus pengembangan perankat lunak. Gambar dibawah menunjukkan secara keseluruhan arsitektur yang dimiliki RUP.

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, Requirement, Analysis and Design, Implementation, Test, Deployment, Configuration dan Change Manegement, Project Management, Environtment. 

Gambar  Arsitektur Rational Unified Process

Pada penggunaan kedua standard tersebut diatas yang berorientasi obyek (object orinted) memiliki manfaat yakni:

Improve productivity

Standard ini dapat memanfaatkan kembali komponen-komponen yang telah tersedia/dibuat sehingga dapat meningkatkan produktifitas 

Deliver high quality system

Kualitas sistem informasi dapat ditingkatkan sebagai sistem yang dibuat pada komponen­komponen yang telah teruji (well-tested dan well-proven) sehingga dapat mempercepat delivery sistem informasi yang dibuat dengan kualitas yang tinggi.

Lower maintenance cost

Standard ini dapat membantu untuk menyakinkan dampak perubahan yang terlokalisasi dan masalah dapat dengan mudah terdeteksi sehingga hasilnya biaya pemeliharaan dapat dioptimalkan atau lebih rendah dengan pengembangan informasi tanpa standard yang jelas.

Facilitate reuse

Standard ini memiliki kemampuan yang mengembangkan komponen-komponen yang dapat digunakan kembali untuk pengembangan aplikasi yang lainnya.

Manage complexity

Standard ini mudah untuk mengatur dan memonitor semua proses dari semua tahapan yang ada sehingga suatu pengembangan sistem informasi yang amat kompleks dapat dilakukan dengan aman dan sesuai dengan harapan semua manajer proyek IT/IS yakni deliver good quality software within cost and schedule time and the users accepted.

Fase RUP

§  Inception/insepsi

§  Elaboration/elaborasi

§  Construction/konstruksi

§  Transition/transisi



         Inception

        Menentukan Ruang lingkup proyek

        Membuat ‘Business Case’

        Menjawab pertanyaan “apakah yang dikerjakan dapat menciptakan ‘good business sense’ sehingga proyek dapat dilanjutkan

         Elaboration

        Menganalisa berbagai persyaratan dan resiko

        Menetapkan ‘base line’

        Merencanakan fase berikutnya yaitu construction



         Construction

        Melakukan sederetan iterasi

        Pada setiap iterasi akan melibatkan proses berikut: analisa desain, implementasi dan testing

         Transistion

        Membuat apa yang sudah dimodelkan menjadi suatu produk jadi

        Dalam fase ini dilakukan:

         Beta dan performance testing

         Membuat dokumentasi tambahan seperti; training, user guides dan sales kit

         Membuat rencana peluncuran produk ke komunitas pengguna



Peran Use Case Pada Setiap Fase

         Inception

        Menolong mengembangkan scope proyek

        Menolong menetapkan penjadwalan dan anggaran

         Elaboration

        Menolong dalam melakukan analisa resiko

        Menolong mempersiapkan fase berikutnya yaitu konstruksi

         Construction

        Melakukan sederetan iterasi

        Pada setiap iterasi akan akan melibatkan proses berikut: analisa desain, implementasi dan testing

         Transistion

        Membuat apa yang sudah dimodelkan menjadi suatu produk jadi

        Dalam fase ini dilakukan:

         Beta dan performance testing

         Membuat dokumentasi tambahan seperti; training, user guides dan sales kit

         Membuat rencana peluncuran produk ke komunitas pengguna







Penerapan Tahapan Metodologi Pengembagan Perangkat Lunak dengan Menggunakan RUP (Contoh Kasus)

     Metodologi Rational Unified Process (RUP). Metode RUP merupakan metode pengembangan kegiatan yang berorientasi pada proses. Dalam metode ini, terdapat empat tahap pengembangan perangkat lunak yaitu:

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

Windows Navigation Diagram

Windows Navigation Diagram adalah sebuah diagram yang menggambarkan perpindahan atau transisi dari sebuah window ke window yang lainnya, berserta interface dasarnya dan tombol apa atau event apa yang menyebabkan perpindahan dari satu window ke window yang lain.
Menurut  Mathiassen  (2000,  p344),  a  navigation  diagram  is  a special kind of statechart diagram that focuses on the overall dynamic of the user interfaces. Navigation diagram adalah sejenis statechart diagram yang fokus pada keseluruhan user interface yang dinamis, diagram ini menunjukan windows yang ada dan transisi yang antara windows- windows tersebut. yang dimaksud dengan navigation diagram adalah : “A navigation diagram is a low-level architecture diagram work product that documents how to navigate around the presentation components of an application”.
Navigation diagram adalah sebuah produk kerja low-level architecture diagram yang mendokumentasikan bagaimana navigasi dari komponen yang ada pada sebuah aplikasi. Jadi dapat disimpulkan bahwa navigation diagram adalah suatu diagram yang menunjukan bagaimana interaksi dari keseluruhan interface yang ada pada sebuah aplikasi.

Sequence Diagram


Sequence Diagram


Sequence diagram mendeskripsikan bagaimana entitas dalam system berinteraksi, termasuk pesan yang digunakan saat interaksi. Semua pesan dideskripsikan dalam urutan dari eksekusi. Sequence diagram berhubungan erat dengan Use Case diagram, dimana 1 Use Case akan menjadi 1 Sequence Diagram.

Berikut komponen - komponen yang ada pada sequence diagram :

1.     Object - adalah komponen berbentuk kotak yang mewakili sebuah class atau object. Mereka mendemonstrasikan bagaimana sebuah object berperilaku pada sebuah system.

2.     Activation boxes - adalah komponen yang berbentuk persegi panjang yang menggambarkan waktu yang diperlukan sebuah object untuk menyelesaikan tugas. Lebih lama waktu yang diperlukan, maka activation boxes akan lebih panjang.

3.     Actors - adalah komponen yang berbentuk stick figure. Komponen yang mewakili seorang pengguna yang berinteraksi dengan system.

4.     Lifeline - adalah komponen yang berbentuk garis putus - putus. Lifeline biasanya memuat kotak yang berisi nama dari sebuah object. Berfungsi menggambarkan aktifitas dari object.


Contoh Sequence Diagram Perpustakaan (Menambah buku Baru)


Ada 2 macam sequence diagram yaitu :

1.     High Level Sequence Diagram

Disini kita memfokuskan pada usecase, dimana sebuah diagram hanya terdiri dari actor dan object yang mewakili system. Diagram ini hanya menampilkan 2 atau 3 object yang secara graphics memperjelas use case.

2.     Application Level Sequence Diagram

Untuk level ini, kita mengganti actor dengan controller atau manager semacam device yang terpasang pada system.



Statechart Diagram


Statechart Diagram


Diagram status atau statechart diagram atau statechart diagram menunjukkan kondisi yang dapat dialami atau terjadi pada sebuah objek sehingga setiap objek memiliki sebuah diagram status. Diagram status diadopsi dari penggambaran kondisi mesin status (state machine) yang menggambarkan status apa saja yang dialami oleh mesin, misalnya mesin pembelian kopi dengan uang koin.

Diagram Status mengambarkan seluruh state/status yang memungkinkan obyek-obyek dalam class dapat dimiliki dan kejadian-kejadian yang menyebabkan satus berubah. Perubahan dalam suatu state disebut juga transisi (transition). Suatu transisi juga dapat memiliki sebuah aksi yang dihubungkan pada status, lebih spesifik apa yang harus dilakukan dalam hubungannya dengan transisi status. Pada diagram ini, perilaku sistem ditunjukkan. Sebuah status adalah kondisi selama hidup objek atau interaksi selama memenuhi suatu kondisi, melaksanakan suatu aksi, atau menunggu suatu kejadian.

Simbol-simbol yang ada pada diagram status adalah sebagai berikut:




Status, Event, dan Transisi:

Objek pada sistem mengubah statusnya untuk merespon event/kejadian dan waktu. Secara umum, pendeteksian sebuah kejadian dapat menyebabkan sebuah objek bergerak dari satu status ke status yang lain. Keadaaan ini disebut transisi.

Di bawah ini contoh diagram status untuk peminjaman. Seorang peminjam yang akan meminjam akan mengisi form peminjaman. Sistem akan megecek keadaan barang. Barang tersebut tersedia apa tidak, atau barang tersebut dapat di pinjam atau tidak. Setelah barang tersedia, sistem akan memvalidasi persetujuan peminjaman barang dan menyerahkan barang kepada peminjam. Sistem juga akan mencari informasi tentang barang yang akan dipinjam, maka akan dilakukan permintaan akan informasi barang. Jika informasi yang diterima masih kurang, akan dilakukan permintaan ulang sampai seluruh informasi yang dibutuhkan didapatkan. Saat informasi sudah cukup, informasi tersebut akan diserahkan kepada peminjam barang tersebut.



Class Diagram


Definisi Class Diagram
Class Diagram adalah diagram yang menunjukan class-class yang ada dari sebuah sistem dan hubungannya secara logika. Class diagram menggambarkan struktur statis dari sebuah sistem. Karena itu class diagram merupakan tulang punggung atau kekuatan dasar dari hampir setiap metode berorientasi objek termasuk UML (Henderi, 2008). Sementara menurut (Whitten L. Jeffery et al 2004:432) class diagram adalah gambar grafis mengenai struktur objek statis dari suatu sistem, menunjukan class-class objek yang menyusun sebuah sistem dan juga hubungan antara class objek tersebut.

Elemen - elemen Class Diagram

Elemen-eleman class diagram dalam pemodelan UML terdiri dari: Class-class, struktur class, sifat class (class behavior), perkumpulan/gabungan (association), pengumpulan/kesatuan (agregation), ketergantungan (dependency), relasi-relasi turunannya, keberagaman dan indikator navigasi, dan role name (peranan/tugas nama).

Simbol - simbol class diagram

1.  Class: Class adalah blok - blok pembangun pada pemrograman berorientasi obyek.Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan property/atribut class. Bagian akhir mendefinisikan methodmethod dari sebuah clas.

2.  Association : Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship.(Contoh: One-to-one, one-to-many,many-to-many).

3.  Composition: Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut. Sebuah relationship composition digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid.

4. Dependency : Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik.




5. Aggregation: Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi.

6.  Generalisasi / inheritence digunakan dalam hubungan antara kelas induk dengan kelas turunan (inherited). Relasi antar kelas dengan makna generalisasi spesialisasi (umum - khusus).

7. Multiplicity atau multiplisitas memnunjukkan jumlah suatu objek yang bias berhubungan dengan objek lain.




Communication Diagram

Definisi Communication Diagram
Communication Diagram Merupakan penyederhanaan dari Diagram Kolaborasi. Menggambarkan interaksi antar objek/bagian dalam bentuk urutan pengiriman pesan. Diagram ini merepresentasikan informasi yang diperoleh dari diagram kelas. Dalam Diagram ini yang dituliskan adalah operasi/metode yang dijalankan antar objek.

Tujuan Communication Diagram:
1.  Model pesan melewati antara objek atau peran yang mengantarkan fungsionalitas kasus dan operasi penggunaan.
2.     Mekanisme model dalam desain arsitektur system.
3. Tangkap interaksi yang menunjukkan pesan yang dilewatkan antara objek dan peran dalam skenario kolaborasi.
4.   Model skenario alternatif dalam kasus penggunaan atau operasi yang melibatkan kolaborasi dari berbagai objek dan interaksi.
5.   Dukung identifikasi objek (karenanya kelas), dan atributnya (parameter pesan) dan operasi (pesan) yang ikut serta dalam use case.

Contoh Communication Diagram:

Penjelasan: 
Komunikasi dimulai dengan 1 *: find_books () - pesan berulang yang dapat diulang beberapa jumlah waktu yang tidak ditentukan. Klien mencari inventaris buku, dan jika dia tertarik dengan beberapa buku, dia dapat melihat deskripsi buku ini (1.2 [interested]: view_book ()). Jika klien memutuskan untuk membeli, dia dapat menambahkan buku ke keranjang belanja - 1.3 [memutuskan untuk membeli]: add_to_cart (). Checkout termasuk mendapatkan daftar buku dari keranjang belanja, membuat pesanan, dan memperbarui inventaris, jika pesanan selesai.

Elemen utama Communication Diagram UML.

a.   Frame Diagram, Communication Diagram dapat ditunjukkan dalam bingkai persegi panjang dengan nama di sudut kiri atas.
b.   Lifeline adalah spesialisasi elemen bernama yang mewakili peserta individual dalam interaksi. Sementara bagian dan fitur struktural mungkin memiliki multiplisitas lebih besar dari 1, garis hidup hanya mewakili satu entitas yang berinteraksi.
c.      Message di Communication Diagram ditampilkan sebagai garis dengan urutan ekspresi dan panah di atas garis. Panah menunjukkan arah komunikasi.
d.     Sequence Expression adalah urutan - urutan dipisahkan urutan - urutan diikuti oleh titik dua (":") dan nama pesan setelah itu: 
Sebagai contoh,  3b.2.2: m5  
berisi urutan ekspresi 3b.2.2 dan nama pesan m5



Use Case Diagram and Activity Diagram


Use Case Diagram and Activity Diagram

Definisi Use Case Diagram

Use Case diagram adalah gambar dari beberapa atau seluruh aktor dan use case dengan tujuan mengenali interaksi mereka dalam suatu sistem. Gambaran fungsionalitas yang diharapkan dari sebuah sistem menekankan pada “apa” bukan “bagaimana” yg dibuat system. Menyatakan suatu job/pekerjaan tertentu misal : login ke sistem, create data penjualan.

Use Case Diagram digunakkan untuk mengilustrasikan hubungan antara sistem dan user ada beberapa keuntungannya meliputi:

a.    Use Case ringkas, sederhana, dan dipahami oleh beberapa pihak.

b. Use Case mengatur sejumlah aktifitas dalam proses perencanaan iterasi, sistem deployment, pembuatan dan validasi model desain, pembuatan dokumentasi bagi para pengguna.

c.  Use Case membantu sinkronisasi isi model yang berbeda.


Konsep Dasar Flow of Event

Flow of Event bertujuan untuk mendokumentasikan alur logika dalam usecase yang menjelaskan secara rinci apa yang pemakai  akan lakukan  dan apa yang system itu sendiri lakukan.

Sistematika flow of events terdiri dari beberapa elemen berikut :

1.     Deskripsi  singkat yang menjelaskan apa yang akan system lakukan.

2.     Prasyarat  kondisi yang harus dipenuhi sebelum usecase dijalankan.

3.     Alur utama   sebuah jalur utama dalam usecase yang membawa tercapainya tujuan utama sebuah usecase.

4.     Alur alternative merupakan penyimpangan dari alur utama atau alur alternative yang menyatakan kondisi eror dari sistem

5.     alur salah  penyimpangan dari alur utama dan bukan sebagai kondisi salah.



6.     Kondisi akhir  kondisi yang selalu benar setelah usecase dijalankan.



Simbol Use Case Diagram:


 

Contoh Use Case Diagram




Penjelasan Use Case Diagram:

Tugas Admin toko baju yaitu update informasi tentang baju yang akan di pasarkan atau di jual, mengelola data baju, mengelola data transaksi, dan mengelola data hasil penjualan. Costumer memilih baju, dan melakukan transaksi. Pemilik Toko baju yaitu menerima data baju dari admin dan menerima hasil laporan penjualan dari admin.

Definisi Activity Diagram

Diagram aktivitas adalah bentuk visual dari alir kerja yang berisi aktivitas dan tindakan, yang juga dapat berisi pilihan, pengulangan, dan concurrency. Dalam Unified Modeling Language, diagram aktivitas dibuat untuk menjelaskan aktivitas komputer. Diagram aktivitas menggambarkan alur kontrol secara garis besar. Diagram aktivitas memiliki komponen dengan bentuk tertentu, dihubungan dengan tanda panah. Panah mengarahkan urutan aktivitas terjadi, dari awal sampai akhir. Diagram aktivitas dapat dianggap sebagai jenis alir kerja. Umumnya alir kerja tidak memiliki cara untuk menampilkan Concurrency simbol penggabungan dan pemecahan pada diagram aktivitas dapat menjadi solusi untuk pemakaian yang sederhana.

Pada dasarnya diagram Activity Diagram versi UML (Unified Modeling Language) sering digunakan oleh flowchart. Activity diagram sendiri digunakan untuk menganalisa proses. Diagram ini berhubungan dengan diagram statechart. Diagram statechart berfokus pada obyek yang dalam suatu proses atau proses menjadi suatu obyek, diagram Activity berfokus pada aktifitas - aktifitas yang terjadi yang terkait dalam suatu proses tunggal, jadi dengan kata lain, diagram ini menunjukkan bagaimana aktifitas - aktifitas tersebut bergantung satu sama lain. yang perlu diperhatikan adalah diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yangdapat dilakukan oleh sistem. Activity diagram bukanlah sebuah tool yang sempurna untuk menganalisis masalah dari sistem.

Fungsi Activity Diagram:

a.      Menggambarkan  proses bisnis dan urutan aktivitas dalam sebuah proses

b.     Memperlihatkan urutan aktifitas proses pada system.

c.      Dipakai pada business modeling untuk memperlihatkan urutan aktifitas proses bisnis

d.     Struktur diagram ini mirip flowchart atau Data Flow Diagram pada perancangan terstruktur.

e.  Sangat bermanfaat apabila kita membuat diagram ini terlebih dahulu dalam memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan.

f.      Activity diagram dibuat berdasarkan sebuah atau beberapa use case pada use case diagram.


Element - element pada activity diagram:


Contoh Activity Diagram dibawah menggambarkan alir aktivitas admin, costumer dan pemilik toko baju.