Materi 2
Kuliah IF164504
PSBO
Dr. Ayi Purbasari, S.T., M.T.
IF-Unpas – 2017/2018
Tujuan Instruksional Umum
• Memahami maksud dari kerangka kerja
dengan RUP
• Memahami User Requirement
1/5/2020 -ap- 2
Kerangka Kerja dan
Proses Pemodelan
dengan RUP
Unified Process
• Unified Process adalah proses pembangunan
perangkat lunak. Proses pembangunan perangkat
lunak, secara umum dapat dinyatakan sebagai proses
untuk mengubah kebutuhan pengguna menjadi
sebuah sistem perangkat lunak.
• Proses pembangunan perangkat lunak harus
mendefinisikan Siapa harus mengerjakan Apa,
Kapan dan Bagaimana dalam membangun produk
perangkat lunak.
• Proses yang baik haruslah dapat menjamin
dihasilkannya perangkat lunak yang berkualitas baik,
yaitu perangkat lunak yang memenuhi kebutuhan
penggunanya, yang dihasilkan pada jadwal yang telah
ditetapkan, dan dengan biaya yang telah
direncanakan.
1/5/2020 -ap- 4
Unified Process
• Unified Process menerapkan enam prinsip
pembangunan perangkat lunak yang didefinisikan
berdasarkan pendekatan pembangunan perangkat
lunak yang terbukti secara komersial, yang apabila
diterapkan dapat memecahkan masalah yang umum
muncul dalam pembangunanperangkat lunak (best
practices), yaitu: • diformalkan ke
• Membangun secara iteratif dalam
• Mengelola kebutuhan (requirements) sekumpulan
prosedur detil
• Menggunakan component architectures
yang lengkap
• Memodelkan perangkat lunak secara visual
• Melakukan verifikasi kualitas
• Mengendalikan perubahan.
1/5/2020 -ap- 5
Gambaran RUP
Phases
Workflows Inception Elaboration Construction Transition
Business Modeling
Requirements
Analysis & Design
Implementation
Content
Test
Deployment
Configuration &
Change Management
Project Management
Environment
Initial E#1 E#2 C#1 C#2 C#n T #1 T #2
Iterations
1/5/2020 -ap- 6
RUP vs Waterfall
Inception
Waterfall
Elaboration
Risk Construction
Transition
Preliminary Architect. Architect. Devel. Devel. Devel. Transition Transition Post-
Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration deployment
Time
1/5/2020 -ap- 7
Gambaran RUP
• Proses pengembangan pada RUP dinyatakan
dalam dua dimensi, atau dua sumbu
• sumbu horizontal (sumbu x) merepresentasi waktu
dan menunjukkan aspek dinamis dari proses, yaitu
siklus, tahap, iterasi, dan milestone.
• sumbu vertikal (sumbu y) merepresentasikan aspek
statis dari proses, yaitu aktivitas, artifak, pelaksana
kerja (worker) dan aliran kerja (workflow).
1/5/2020 -ap- 8
Aliran Kerja RUP
• Ada dua jenis aliran kerja (workflow) pada
RUP, yaitu aliran kerja utama dan aliran kerja
pendukung.
• Aliran Kerja Utama:
• Pemodelan bisnis (business modeling)
• Mendeskripsikan struktur dan proses-proses bisnis
organisasi.
• Kebutuhan (requirements)
• Mendefinisikan kebutuhan perangkat lunak dengan
menggunakan diagram use case.
1/5/2020 -ap- 9
Aliran Kerja RUP
• Analisis dan perancangan (analysis and design)
• Mendeskripsikan berbagai arsitektur perangkat lunak
dari berbagai sudut pandang.
• Implementasi (implementation)
• Menulis kode-kode program, menguji, dan
mengintegrasikan unit-unit programnya.
• Pengujian (testing)
• Mendeskripsikan kasus uji, prosedur, dan alat ukur
pengujian.
• Deployment
• Menangani konfigurasi sistem yang akan diserahkan.
1/5/2020 -ap- 10
Aliran Kerja RUP
• Aliran Kerja Pendukung:
• Manajemen konfigurasi dan perubahan
(configuration and change management)
• Mengendalikan perubahan dan memelihara artifak-
artifak proyek.
• Manajemen proyek (project management)
• Mendeskripsikan berbagai strategi pekerjaan dengan
proses yang berulang.
• Lingkungan (environment)
• Menangani infrastruktur yang dibutuhkan untuk
mengembangkan sistem.
1/5/2020 -ap- 11
Fase pada R(UP)
• Unified Process terdiri dari empat fase, yaitu:
• Fase Inception
• Fase Elaboration
• Fase Construction
• Fase Transition
• Setiap fase dapat dilaksanakan dalam satu atau lebih
iterasi yang jumlahnya mungkin berbeda untuk setiap
fasenya.
• Setiap iterasi menghasilkan suatu release yang
semakin lama akan semakin mendekati aplikasi final.
• Release internal digunakan untuk kepentingan
internal, sedangkat release eksternal diberikan kepada
pihak pemesan (pengguna).
1/5/2020 -ap- 12
Fase pada (R)UP
• Permulaan (inception)
• Tahap inception fokus pada penentuan manfaat
perangkat lunak yang harus dihasilkan, penetapan
proses-proses bisnis (business case), dan
perencanaan proyek.
• Pemerincian (elaboration)
• Tahap untuk menentukan use case (set of activities)
dari perangkat lunak berikut rancangan
arsitekturnya.
1/5/2020 -ap- 13
Fase pada (R)UP
• Konstruksi (construction)
• Membangun produk perangkat lunak secara
lengkap yang siap diserahkan kepada pemakai.
• Transisi (transition)
• Menyerahkan perangkat lunak kepada pemakai,
mengujinya di tempat pemakai, dan memperbaiki
masalah-masalah yang muncul saat dan setelah
pengujian.
1/5/2020 -ap- 14
Inception – Fase untuk
mendefinisikan lingkup proyek
• Pada fase ini dilakukan penjajakan apakah proyek
perangkat lunak dapat dilangsungkan atau tidak.
• Pertimbangan dapat didasarkan pada faktor ekonomi.
• Pada fase ini dihasilkan gambaran perangkat lunak
yang akan dibangun, yang didefinisikan sebagai
lingkup proyek, dengan melakukan identifikasi actor
dan use case yang paling esensial (biasanya mencapai
20% dari model yang lengkap).
• Selain itu, dibuat perencanaan bisnis yang menentukan
sumberdaya yang dibutuhkan untuk proyek ini.
1/5/2020 -ap- 15
Inception – Fase untuk
mendefinisikan lingkup proyek
• Artifak yang dihasilkan pada fase ini adalah:
• Business model.
• Business case.
• Daftar fitur
• Use case diagram dan use case scenario tahap awal
yang telah diberi prioritas.
• Deskripsi arsitektur dokumen.
• Prototipe user interface.
• Risk list.
1/5/2020 -ap- 16
Inception – Fase untuk
mendefinisikan lingkup proyek
• Prototipe yang dihasilkan pada umumnya berupa
throw-away prototype, sementara deskripsi arsitektur
merupakan dasar untuk aktivitas selanjutnya.
• Beberapa kesalahan yang biasa timbul pada fase
inception adalah:
• Memakan waktu berminggu-minggu
• Adanya usaha untuk mendefinisikan seluruh kebutuhan
perangkat lunak
• Estimasi dan rencana yang ada diharapkan tidak akan
berubah hingga akhir proyek
• Deskripsi arsitektur perangkat lunak yang lengkap
• Tidak adanya business case.
• Semua use case dituliskan secara detail.
• Tidak ada use case yang dituliskan secara detail.
1/5/2020 -ap- 17
Inception – Fase untuk
mendefinisikan lingkup proyek
• Kriteria evaluasi pada fase ini meliputi:
kesepakatan stakeholder atas lingkup proyek
dan perkiraan biaya dan jadwal, kemudahan
pemahaman spesifikasi kebutuhan dengan
munculnya use case urtama pada model,
perkiraan biaya/jadwal, prioritas, resiko, dan
proses pembangunan perangkat lunak yang
akan digunakan, kedalaman prototipe
arsitektur yang dibuat, pengeluaran nyata vs
rencana pengeluaran.
1/5/2020 -ap- 18
Elaboration
• Fase untuk merencanakan proyek, membuat
spesifikasi kemampuan utama, dan membuat baseline
architecture
• Fokus dari fase ini adalah menentukan apakah
pembangunan perangkat lunak sanggup dilakukan
oleh pengembang.
• Hal ini didasarkan pada gambaran arsitektur
perangkat lunak yang sudah lebih detail.
• Pada tahap ini dapat dilakukan tawar menawar
mengenai jadwal, jumlah pegawai, dan biaya yang
akan dikeluarkan.
• Tujuan akhir yang ingin dicapai pada fase ini adalah
terciptanya suatu arsitektur perangkat lunak yang
telah stabil.
1/5/2020 -ap- 19
Elaboration
• Artifak yang dihasilkan pada fase ini adalah:
• Business model yang telah direvisi.
• Use case diagram dan use case scenario yang
lengkap.
• Sequence diagram.
• Class diagram.
• Conding standard dan naming convention.
• Detailed user interface.
• Skeleton code.
• Preliminary user manual.
• Updated risk list.
1/5/2020 -ap- 20
Elaboration
• Pada tahap ini deskripsi arsitektur
dititikberatkan pada paket analisis, yang
belum spesifik terhadap bahasa pemrograman.
• Tetapi di sisi lain, paket desain (sudah spesifik
terhadap bahasa pemrograman) juga sudah
didefinisikan untuk keperluan pembangunan
skeleton code awal.
1/5/2020 -ap- 21
Elaboration
• Beberapa kesalahan yang mungkin timbul
pada fase elaboration adalah:
1. Memakan waktu lebih dari beberapa bulan.
2. Hanya terdapat satu kali iterasi
3. Hampir seluruh spesifikasi kebutuhan didefinisikan
sebelum elaboration.
4. Elemen dengan resiko tinggi tidak ditangani.
5. Tidak ada kode program yang dihasilkan.
1/5/2020 -ap- 22
Elaboration
6. Adanya usaha untuk melakukan seluruh desain
sebelum programming. Seharusnya dilakukan
secara iteratif.
7. Tidak adanya keterlibatan user.
8. Deskripsi arsitektur telah dianggap selesai
sebelum programming.
9. Programming dilakukan hanya untuk
membuktikan bahwa hasil perancangan dapat
diimplementasikan. Seharusnya kode program
yang dihasilkan berupa kode program yang
secara terus menerus dikembangkan hingga
dihasilkan produk jadi.
1/5/2020 -ap- 23
Elaboration
• Kriteria evaluasi pada fase ini
meliputi:stabilitas model produk dan
arsitektur, resolusi untuk resiko utama,
keberterimaan (acceptance) stakeholder
terhadap model produk dan rencana proyek,
level pengeluaran.
1/5/2020 -ap- 24
Construction
• Fase untuk membangun produk
• Pada fase ini dilakukan implementasi kode
program sesuai hasil perancangan sebelumnya.
• Milestones yang terdapat pada fase ini berupa
kode program yang sudah dapat menjalankan
fungsi-fungsi tertentu.
• Produk perangkat lunak dibangun secara
incremental dalam beberapa iterasi hingga
dihasilkan beta release.
1/5/2020 -ap- 25
Construction
• Artifak yang dihasilkan pada fase ini adalah:
• Kode program.
• Updated use case diagram and use case scenario.
• Updated class diagram.
• Updated sequence diagram.
• User manual untuk versi beta.
• Kriteria evaluasi pada fase ini meliputi:
stabilitas dan kematangan release produk,
kesiapan stakeholders untuk fase keempat, dan
level pengeluaran.
1/5/2020 -ap- 26
Transition
• Fase untuk masa transisi pada saat penerapan
produk di lingkungan pengguna
• Pada fase ini, secara keseluruhan
pembangunan perangkat lunak telah selesai.
• Fase ini diawali dengan beta release.
• Pada fase ini, produk perangkat lunak akan
diserahkan kepada pengguna untuk mulai
digunakan.
• Untuk mendukung operasional perangkat
lunak, dapat dilakukan pelatihan untuk
pengguna.
1/5/2020 -ap- 27
Transition
• Artifak yang dihasilkan pada fase ini adalah:
• Kode program yang telah dapat diimplementasikan
pada lingkungan pengguna.
• Use case diagram, use case scenario, sequence
diagram, dan class diagram yang sesuai dengan
kode program versi akhir.
• Installation wizard.
• User manual.
• Training material.
1/5/2020 -ap- 28
Transition
• Di akhir fase ini, dibuat keputusan apakah
produk akan di-release atau tidak berdasarkan
level kepuasan pengguna pada fase keempat
ini.
• Apabila ada kekurangan, dapat diinisiasi
siklus berikutnya untuk meningkatkan
kemampuan produk.
1/5/2020 -ap- 29
Pelaksanaan Aktivitas Unified
Process
• Bobot pekerjaan di setiap fase berbeda-beda.
Berikut adalah perkiraan kasar mengenai
bobot pekerjaan di setiap fase:
• Fase insepsi(15%)
• Fase elaborasi(35%)
• Fase konstruksi(35%)
• Fase Transisi(15%)
1/5/2020 -ap- 30
User Requirement pada
RUP
1/5/2020 -ap- 31
Kerangka Kerja (Framework)
• Merupakan himpunan elemen-elemen model
yang telah didefinisikan terlebih dahulu yang
diperlukan untuk memodelkan suatu jenis
sistem tertentu.
• Tujuan suatu framework adalah untuk
mendefinisikan arsitektur dari suatu jenis
sistem atau untuk mengumpulkan komponen-
komponen yang dapat dipakai berulang-ulang.
• Framework digunakan sebagai template ketika
kita membuat sebuah model baru.
• Framework dapat ditambahkan dan atau
dibuat sendiri.
1/5/2020 -ap- 32
Framework RUP .. (1)
• Merupakan framework yang dibuat
berdasarkan model proses RUP, terdiri dari:
• Use-case view
• Business use-case model
• Use-case model
• Logical view
• Analysis model
• Business object model
• Design model
• Component view
• Implementation model
• Deployment view
1/5/2020 -ap- 33
Framework RUP .. (2)
• Kerangka kerja RUP terdiri dari aktivitas-aktivitas
sebagai berikut:
• Membuat Business use-case model untuk menggambarkan
proses bisnis. Menggunakan Business Use-case Diagram dan
diperjelas dengan Activity Diagram.
• Membuat Business Object model untuk menggambarkan
proses internal bisnis.
• Membuat Use-case model untuk menggambarkan requirement
sesuai proses bisnis, menggunakan Use-case Diagram.
• Membuat model analisis dengan Class Diagram dan Use-case
Realization
• Membuat model desain dengan Class Diagram dan
Interaction Diagram
• Membuat model implementasi dengan Component Diagram
dan Deployment Diagram
1/5/2020 -ap- 34
Business Modeling .. (1)
• Secara formal, didefinisikan sebagai segala teknik
pemodelan yang digunakan untuk mengambarkan model
sebuah bisnis.
• Business modeling dapat digunakan untuk meninjau,
meningkatkan, dan membuat sebuah bisnis.
• Dengan dilakukanya Business modeling diharapkan kita:
• Memahami struktur dan dinamika organisasi
• Memahami masalah-masalah dalam mencapai target organisasi
dan menemukan potensi untuk kemajuan organisasi.
• Yakin bahwa para customer, end user, dan developer mempunyai
sebuah pemahaman yang benar mengenai organisasi.
• Dapat menurunkan/mendapatkan requirements software aplikasi
yang akan kita buat yang diperlukan untuk mendukung
pencapaian target organisasi.
1/5/2020 -ap- 35
Business Modeling .. (2)
• Kapan membutuhkan Pemodelan Bisnis?
• Jika kelompok kerja merupakan kelompok baru
dalam organisasi
• Jika organisasi mengalami re-engineering proses
bisnis/ bermaksud menjalankan proses bisnis re-
engineering
• Jika kita akan membangun perangkat lunak yang
akan dipergunakan oleh porsi yang significant dari
organisasi
• Jika terdapat aliran kerja yang kompleks dan besar
yang tidak didokumentasikan
• Jika kita merupakan konsultan organisasi yang
belum pernah bekerja sama.
1/5/2020 -ap- 36
Business Modeling .. (3)
• Kapan tidak memerlukan Pemodelan Bisnis?
• Jika kita telah memahami struktur, tujuan, visi dan
stakeholder dari organisasi
• Jika kita membangun perangkat lunak yang akan
dipergunakan hanya oleh bagian kecil dari
organisasi dan tidak akan menimbulkan efek pada
keseluruhan bisnis
• Jika aliran kerja organisasi telah jelas dan
didokumentasikan dengan baik
• Jika tidak terdapat banyak waktu (tapi tidak boleh
dijadikan alasan).
1/5/2020 -ap- 37
Proses Bisnis
• Sekumpulan aktivitas yang dirancang untuk
menghasilkan keluaran tertentu bagi customer
tertentu.
• Menekankan pada bagaimana sebuah
pekerjaan dikerjakan dalam sebuah organisasi
berfokus pada produk yang dihasilkan proses
tersebut.
• Merupakan urutan aktivitas tertentu
terhadap waktu dan tempat dengan sebuah
titik awal, sebuah titik akhir dan berbagai
input dan output yang didefinisikan dengan
baik.
1/5/2020 -ap- 38
Activity Diagram
• Activity diagrams menggambarkan berbagai alir
aktivitas dalam sistem yang sedang dirancang: awal
proses, decision , akhir proses, proses paralel
yang mungkin terjadi pada beberapa eksekusi.
• Activity diagram tidak menggambarkan behaviour
internal sebuah sistem (dan interaksi antar subsistem)
secara eksak, tetapi lebih menggambarkan proses-
proses dan jalur-jalur aktivitas
• Activity diagram dapat dibagi menjadi beberapa object
swimlane untuk menggambarkan objek mana yang
bertanggung jawab untuk aktivitas tertentu.
1/5/2020 -ap- 39