Perancangan Sistem
Perancangan Sistem
Berorientasi Objek
Berorientasi Objek
Dengan UML
Dengan UML
(Unified Modelling
(Unified Modelling
Yang akan dipelajari
Yang akan dipelajari
1.
1. Pengenalan UMLPengenalan UML
2.
2. Sejarah Singkat UMLSejarah Singkat UML
3.
3. Bagian-bagian UML.Bagian-bagian UML.
 View.View.  DiagramDiagram
4.
1. Pengenalan UML
1. Pengenalan UML
a.
a. Apa yang dimaksud dengan UMLApa yang dimaksud dengan UML
b.
b. Tujuan UMLTujuan UML
c.
c. Mengapa melakukan ModellingMengapa melakukan Modelling
d.
d. Apa yang dimaksud dengan Visual Apa yang dimaksud dengan Visual Modelling
4
4
A. Apa itu UML?
A. Apa itu UML?
 It is a notation; that is a set of diagrams and diagram elements that may be It is a notation; that is a set of diagrams and diagram elements that may be
arranged to describe the design of a software system. arranged to describe the design of a software system.
 UML is not a process, nor is it a method comprising a notation and a process. UML is not a process, nor is it a method comprising a notation and a process.
 The The OMGOMG specification states: specification states:
The Unified Modeling Language (UML) is a graphical language for The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a visualizing, specifying, constructing, and documenting the artifacts of a
software-intensive system. The UML offers a standard way to write a system's software-intensive system. The UML offers a standard way to write a system's blueprints, including conceptual things such as business processes and
blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language system functions as well as concrete things such as programming language statements, database schemas, and reusable software components."
B. Tujuan UML
B. Tujuan UML
 Provide users with a ready-to-use, expressive visual Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange
modeling language so they can develop and exchange
meaningful models.
meaningful models.
 Provide extensibility and specialization mechanisms to Provide extensibility and specialization mechanisms to extend the core concepts.
extend the core concepts.
 Be independent of particular programming languages Be independent of particular programming languages and development processes.
and development processes.
 Provide a formal basis for understanding the modeling Provide a formal basis for understanding the modeling language.
language.
 Encourage the growth of the OO tools market. Encourage the growth of the OO tools market.
 Support higher-level development concepts such as Support higher-level development concepts such as collaborations, frameworks, patterns and components.
collaborations, frameworks, patterns and components.
18年 11月 29日
18年 11月 29日 Software Process Improvement Software Process Improvement CenterCenter
C. Mengapa melakukan
C. Mengapa melakukan
Modelling
Modelling
 To easily communicate information between different To easily communicate information between different stakeholders in an unambiguous way
stakeholders in an unambiguous way
 To specify target-language-independent designsTo specify target-language-independent designs  To provide structure for problem solvingTo provide structure for problem solving
 To provide mechanisms(abstractions, views, filtering, To provide mechanisms(abstractions, views, filtering, structure) to manage complexity
structure) to manage complexity
 To be able to easily experiment to explore multiple To be able to easily experiment to explore multiple solutions
solutions
6
Copyright © 1997 by Rational Software Corporation
Computer System Business Process
Order
Item
Ship via
“Modeling captures essential
parts of the system.” Dr. James Rumbaugh
Visual Modeling is modeling
using standard graphical notations
D. Apa yang dimaksud dengan Visual Modeling?
Copyright © 1997 by Rational Software Corporation
Use Case Analysis is a technique to capture business process from user’s perspective
Visual Modeling Captures
Visual Modeling Captures
Business Process
Copyright © 1997 by Rational Software Corporation
Visual Modeling is a
Visual Modeling is a
Communication Tool
Communication Tool
Use visual modeling to capture business objects and logic
Copyright © 1997 by Rational Software Corporation
Visual Modeling
Visual Modeling
Copyright © 1997 by Rational Software Corporation Multiple Systems
Visual Modeling
Visual Modeling
Promotes Reuse
Promotes Reuse
2. SEJARAH UML
2. SEJARAH UML
 In 1965 the first object-oriented (OO) In 1965 the first object-oriented (OO)
programming language, Simula I, was
programming language, Simula I, was
introduced.
introduced.
 Almost immediately interest in OO design Almost immediately interest in OO design
began to rapidly grow.
began to rapidly grow.
 This led to the emergence of numerous This led to the emergence of numerous
competing OO design methods.
From the primordial ooze…
From the primordial ooze…
 With all these design methods came With all these design methods came
numerous modeling languages.
numerous modeling languages.
 By the early 90’s there were 50+ distinct By the early 90’s there were 50+ distinct
OO modeling languages.
OO modeling languages.
 Darwinian forces in the marketplace led to Darwinian forces in the marketplace led to
three dominate methods, each having its
three dominate methods, each having its
own modeling language.
The Big Three
The Big Three
 Object-oriented Analysis & Design (OOAD) Object-oriented Analysis & Design (OOAD)
– Grady Booch
– Grady Booch
 The Object Modeling Technique (OMT) – The Object Modeling Technique (OMT) –
Jim Rumbaugh
Jim Rumbaugh
 The Object-oriented Software Engineering The Object-oriented Software Engineering
method (OOSE) – Ivar Jacobson
method (OOSE) – Ivar Jacobson
 Each one had its strengths and Each one had its strengths and
weaknesses.
Booch (OOAD)
Booch (OOAD)
 Very complexVery complex
 The modeling language contained a The modeling language contained a
formidable number of diagrams and
formidable number of diagrams and
resulting symbols
resulting symbols
 Allowed for effective low-level design and Allowed for effective low-level design and
its fine grain detail was even useful for
its fine grain detail was even useful for
documenting code.
documenting code.
Rumbaugh (OMT)
Rumbaugh (OMT)
 OMT had a simpler modeling languageOMT had a simpler modeling language
 It was better at higher-level designs than It was better at higher-level designs than
Booch Method.
Booch Method.
OO Analysis vs. OO Design
OO Analysis vs. OO Design
 Analysis refers to understanding the Analysis refers to understanding the
problem.
problem.
 Design refers to coming up with the Design refers to coming up with the
solution.
solution.
 Don’t confuse with broader use of word Don’t confuse with broader use of word
“design”
“design”
Jacobson (OOSE)
Jacobson (OOSE)
 Major feature was “use classes”Major feature was “use classes”
 Use classes model how a system interacts Use classes model how a system interacts
with users (which might be other systems
with users (which might be other systems
or end users)
or end users)
 Viewing things from the user’s perspective Viewing things from the user’s perspective
drove the design process
drove the design process
 This made it good at very high-level This made it good at very high-level
design.
In Summary
In Summary
 Booch (OOAD) good at low-level designBooch (OOAD) good at low-level design
 Jacobson (OOSE) good at high-level Jacobson (OOSE) good at high-level
design
design
 Rumbaugh (OMT) good at the middle Rumbaugh (OMT) good at the middle
ground
Coming Together
Coming Together
 Booch’s and Rumbaugh’s methods seemed Booch’s and Rumbaugh’s methods seemed
to be evolving in a similar direction
to be evolving in a similar direction
 In 1994 they joined forces in effort to In 1994 they joined forces in effort to
merge their two methods
merge their two methods
 They both wanted to include use cases, so They both wanted to include use cases, so
soon Jacobson joined them
The ‘U’ in UML
The ‘U’ in UML
 It became too difficult to successfully It became too difficult to successfully
merge all three methods.
merge all three methods.
 At same time, the software engineering At same time, the software engineering
community wanted an effective and
community wanted an effective and
standardized modeling language
standardized modeling language
 The three then focused their efforts on The three then focused their efforts on
unifying
UML Was Born
UML Was Born
 In 1996 the Unified Modeling Language In 1996 the Unified Modeling Language
was introduced as UML 0.9 and then 0.91
was introduced as UML 0.9 and then 0.91
 Input was obtained from many, including Input was obtained from many, including
TI, IBM, Microsoft, Oracle, and HP.
TI, IBM, Microsoft, Oracle, and HP.
 This led to UML 1.0 in 1997This led to UML 1.0 in 1997
 Eventually, the semantics and flexibility Eventually, the semantics and flexibility
was improved resulting in UML 2.0 in 2003
Copyright © 1997 by Rational Software Corporation
Sejarah Singkat UML
Sejarah Singkat UML
Bangunan Dasar UML
Bangunan Dasar UML
1.
1. Sesuatu (Things)Sesuatu (Things)
2.
2. Relasi (Relationship)Relasi (Relationship)
3.
Things
Things
Ada 4 Macam Things dalam UML :
Ada 4 Macam Things dalam UML :
a.
a. Structural ThingsStructural Things
b.
b. Behavioral ThingsBehavioral Things
c.
c. Grouping ThingsGrouping Things
d.
A. Structural Things
A. Structural Things
 Merupakan Bagian yang bersifat statis Merupakan Bagian yang bersifat statis
dalam model UML
dalam model UML
 Dapat berupa elemen-elemen yang Dapat berupa elemen-elemen yang
bersifat fisik maupun konseptual
bersifat fisik maupun konseptual
 Ada 7 macam structural things, yaitu Ada 7 macam structural things, yaitu
Kelas, Antarmuka, Kolaborasi, Use Case,
Kelas, Antarmuka, Kolaborasi, Use Case,
Kelas Aktif, Komponen dan Simpul
7 macam structural things (1)
7 macam structural things (1)
Kelas
Kelas
- Himpunan dari objek-objek yang berbagi
- Himpunan dari objek-objek yang berbagi
atribut serta operasi yang sama
atribut serta operasi yang sama
- Digambarkan dengan
- Digambarkan dengan empat-persegi-
empat-persegi-panjang yang memuat nama, atribut, serta
panjang yang memuat nama, atribut, serta
operasi yang dimilikinya
7 macam structural things (2)
7 macam structural things (2)
Antarmuka (Interfaces)
Antarmuka (Interfaces)
- Kumpulan dari operasi-operasi yang menspesifikasi layanan (service) suatu
- Kumpulan dari operasi-operasi yang menspesifikasi layanan (service) suatu
kelas atau komponen/objek
kelas atau komponen/objek
- Mendeskripsikan perilaku yang tampak dari luar dari suatu elemen
- Mendeskripsikan perilaku yang tampak dari luar dari suatu elemen
- Jarang berdiri sendiri.
- Jarang berdiri sendiri.
- Biasanya dilampirkan pada kelas atau komponen yang merealisasikan
- Biasanya dilampirkan pada kelas atau komponen yang merealisasikan
antarmuka
antarmuka
- secara grafis digambarkan dengan lingkaran kecil dengan namanya didahului
- secara grafis digambarkan dengan lingkaran kecil dengan namanya didahului
dengan garis tegak (|)
7 macam structural things (3)
7 macam structural things (3)
Kolaborasi (Collaboration)
Kolaborasi (Collaboration)
- Mendefinisikan interaksi aturan-aturan dan elemen lain yang
- Mendefinisikan interaksi aturan-aturan dan elemen lain yang
bekerjasama untuk menyediakan perilaku yang lebih besar dari
bekerjasama untuk menyediakan perilaku yang lebih besar dari
jumlah dari elemen-elemennya (sinergi)
jumlah dari elemen-elemennya (sinergi)
- Merepresentasikan pola implementasi yang memperbaiki sistem
- Merepresentasikan pola implementasi yang memperbaiki sistem
- secara grafis digambarkan dengan elipsi bergaris putus-putus
- secara grafis digambarkan dengan elipsi bergaris putus-putus
yang memuat nama kolaborasi itu.
7 macam structural things (4)
7 macam structural things (4)
Use Case
Use Case
- Deskripsi dari urutan aksi-aksi yang ditampilkan sistem
- Deskripsi dari urutan aksi-aksi yang ditampilkan sistem
yang menghasilkan suatu hasil yang terukur bagi suatu
yang menghasilkan suatu hasil yang terukur bagi suatu
actor
actor
- Digunakan untuk menstrukturkan perilaku pada suatu
- Digunakan untuk menstrukturkan perilaku pada suatu
model
model
- Digambarkan dengan elips tegas yang berisi namanya
7 macam structural things (5)
7 macam structural things (5)
Kelas Aktif (Active Class)
Kelas Aktif (Active Class)
- Kelas dimana Objek-objek yang dimilikinya memiliki satu atau lebih - Kelas dimana Objek-objek yang dimilikinya memiliki satu atau lebih proses dan lebih jauh menginisialisasi suatu objek kendali.
proses dan lebih jauh menginisialisasi suatu objek kendali. - Merupakan kelas biasa namun objek-objek yang dimilikinya - Merupakan kelas biasa namun objek-objek yang dimilikinya menampilkan elemen-elemen yang memiliki perilaku konkuren. menampilkan elemen-elemen yang memiliki perilaku konkuren.
- secara grafis digambarkan seperti kelas biasa tetapi dengan batas yang - secara grafis digambarkan seperti kelas biasa tetapi dengan batas yang
lebih tebal
7 macam structural things (6)
7 macam structural things (6)
Komponen (Component)
Komponen (Component)
-Bagian fisik dan bagian yang dapat digantikan pada
-Bagian fisik dan bagian yang dapat digantikan pada
suatu sistem.
suatu sistem.
- Secara grafis digambarkan dengan
- Secara grafis digambarkan dengan empat-persegi-
empat-persegi-panjang seperti kelas tetapi ditambahi tab.
7 macam structural things (7)
7 macam structural things (7)
Simpul (Node) Simpul (Node)
- Elemen fisik yang eksis saat aplikasi dijalankan dan - Elemen fisik yang eksis saat aplikasi dijalankan dan
mencerminkan suatu sumber daya komputasi. mencerminkan suatu sumber daya komputasi.
- Kumpulan komponen mungkin hadir dalam simpul dan mungkin - Kumpulan komponen mungkin hadir dalam simpul dan mungkin
juga berpindah-pindah dari suatu simpul ke simpul yang lain. juga berpindah-pindah dari suatu simpul ke simpul yang lain.
B. Behavioral Things
B. Behavioral Things
- Merupakan bagian yang dinamis pada Merupakan bagian yang dinamis pada model UML
model UML
- Mencerminkan perilaku sepanjang ruang Mencerminkan perilaku sepanjang ruang dan waktu.
dan waktu.
- Ada 2 macam behavioral things :Ada 2 macam behavioral things :
1. Interaksi
1. Interaksi
2. State
Behavioral Things
Behavioral Things
Interaksi Interaksi
- Suatu perilaku yang mencakup himpunan pesan-Suatu perilaku yang mencakup himpunan
pesan-pesan yang diperlukan untuk menyelesaikan suatu pesan yang diperlukan untuk menyelesaikan suatu
fungsi tertentu fungsi tertentu
- Terdiri dari pesan-pesan, urutan aksi (perilaku Terdiri dari pesan-pesan, urutan aksi (perilaku
yang dihasilkan oleh sebuah pesan), link yang dihasilkan oleh sebuah pesan), link
(hubungan antar objek-objek) (hubungan antar objek-objek)
- Secara grafis, pesan digambarkan dengan tanda Secara grafis, pesan digambarkan dengan tanda
Behavioral Things
Behavioral Things
State
State
-- Perilaku yang menspesifikasi unsur kedudukan suatu Perilaku yang menspesifikasi unsur kedudukan suatu objek atau interaksi-interaksi sepanjang waktu dalam
objek atau interaksi-interaksi sepanjang waktu dalam
menanggapi event-event yang terjadi.
menanggapi event-event yang terjadi.
- Penggambaran suatu state memuat beberapa unsur yaitu Penggambaran suatu state memuat beberapa unsur yaitu
state itu sendiri, transisi (perubahan dari suatu state ke
state itu sendiri, transisi (perubahan dari suatu state ke
state lainnya), event (suatu keadaan yang memicu
state lainnya), event (suatu keadaan yang memicu
sebuah transisi, serta aktivitas (tanggapan terhadap
sebuah transisi, serta aktivitas (tanggapan terhadap
transisi)
transisi)
- Digambarkan sebagai empat-persegi-panjang yang sudut-Digambarkan sebagai empat-persegi-panjang yang
sudut-sudutnya melengkung, yang memuat namanya (serta
sudutnya melengkung, yang memuat namanya (serta
substate didalamnya, jika ada)
C. Grouping Things
C. Grouping Things
- Bagian pengorganisasi dalam UMLBagian pengorganisasi dalam UML
- Dalam penggambaran model UML yang Dalam penggambaran model UML yang rumit kadang diperlukan penggambaran
rumit kadang diperlukan penggambaran
paket yang menyederhanakan model
paket yang menyederhanakan model
- Paket berguna bagi pengelompokkan Paket berguna bagi pengelompokkan sesuatu, misalnya model-model serta
sesuatu, misalnya model-model serta
subsistem-subsistem.
D. Annotational Things
D. Annotational Things
- Bagian yang memperjelas model UMLBagian yang memperjelas model UML
- Dapat berupa komentar yang memperjelas Dapat berupa komentar yang memperjelas fungsi serta ciri-ciri tiap elemen dalam
fungsi serta ciri-ciri tiap elemen dalam
model UML
RELATIONSHIP
RELATIONSHIP
- Hubungan-hubungan yang terjadi Hubungan-hubungan yang terjadi antarelemen dalam UML
antarelemen dalam UML
- Ada 4 macam relationship dalam UML, Ada 4 macam relationship dalam UML,
yaitu Dependency, Asosiasi, Generalisasi,
yaitu Dependency, Asosiasi, Generalisasi,
Realisasi
Dependency (Kebergantungan)
Dependency (Kebergantungan)
- Hubungan dimana perubahan yang terjadi Hubungan dimana perubahan yang terjadi pada suatu elemen independen (mandiri)
pada suatu elemen independen (mandiri)
akan mempengaruhi elemen yang
akan mempengaruhi elemen yang
bergantung padanya (elemen yang tidak
bergantung padanya (elemen yang tidak
mandiri – independen).
mandiri – independen).
- Secara grafis digambarkan dengan tanda Secara grafis digambarkan dengan tanda panah putus-putus.
Asosiasi
Asosiasi
- Menghubungkan antara objek satu dengan Menghubungkan antara objek satu dengan objek yang lainnya; bagaimana hubungan
objek yang lainnya; bagaimana hubungan
suatu objek dengan objek lainnya.
suatu objek dengan objek lainnya.
- Suatu bentuk asosiasi adalah agregasi yang Suatu bentuk asosiasi adalah agregasi yang menampilkan hubungan suatu objek
menampilkan hubungan suatu objek
dengan bagian-bagiannya.
dengan bagian-bagiannya.
- Secara grafis digambarkan dengan garis Secara grafis digambarkan dengan garis tegas tanpa tanda panah.
Generalisasi
Generalisasi
- Hubungan dimana objek anak (descendent) Hubungan dimana objek anak (descendent)
berbagi perilaku dan struktur data dari objek yang berbagi perilaku dan struktur data dari objek yang
ada diatasnya (objek induk – ancestor). ada diatasnya (objek induk – ancestor).
- Arah dari atas ke bawah (dari objek induk ke Arah dari atas ke bawah (dari objek induk ke
objek anak disebut spesialisasi) objek anak disebut spesialisasi)
- Arah dari bawah ke atas disebut generalisasiArah dari bawah ke atas disebut generalisasi
- Secara grafis digambarkan sebagai garis yang Secara grafis digambarkan sebagai garis yang
ujungnya berkepala panah (atau bentuk segitiga) ujungnya berkepala panah (atau bentuk segitiga)
Realisasi
Realisasi
- Operasi yang benar-benar dilakukan oleh Operasi yang benar-benar dilakukan oleh suatu objek
suatu objek
- Secara grafis digambarkan dengan tanda Secara grafis digambarkan dengan tanda panah bergaris putus-putus dengan kepala
panah bergaris putus-putus dengan kepala
panah kosong.
Diagram
Diagram
Ada 9 jenis diagram, yaitu :
Ada 9 jenis diagram, yaitu :
1.
1. Diagram KelasDiagram Kelas
2.
2. Diagram ObjekDiagram Objek
3.
3. Use Case Diagram Use Case Diagram
4.
4. Sequence DiagramSequence Diagram
5.
5. Collaboration DiagramCollaboration Diagram
6.
6. Statechart DiagramStatechart Diagram
7.
7. Activity DiagramActivity Diagram
8.
8. Component DiagramComponent Diagram
9.
Diagram Kelas
Diagram Kelas
- Bersifat StatisBersifat Statis
- Memperlihatkan himpunan kelas-kelas, Memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka,
antarmuka-antarmuka,
kolaborasi-kolaborasi, serta relasi-relasi
Diagram Objek
Diagram Objek
- Bersifat statisBersifat statis
- Memperlihatkan objek-objek serta relasi-Memperlihatkan objek-objek serta relasi-relasi antarobjek.
relasi antarobjek.
- Memperlihatkan instantiasi statis dari Memperlihatkan instantiasi statis dari segala sesuatu yang dijumpai pada
segala sesuatu yang dijumpai pada
diagram kelas
Use-Case Diagram
Use-Case Diagram
- Bersifat statisBersifat statis
- Memperlihatkan himpunan use case dan Memperlihatkan himpunan use case dan aktor-aktor (suatu jenis khusus dari kelas).
aktor-aktor (suatu jenis khusus dari kelas).
- Berfungsi mengorganisasi dan Berfungsi mengorganisasi dan
memodelkan perilaku dari suatu sistem
memodelkan perilaku dari suatu sistem
yang dibutuhkan dan diharapkan
yang dibutuhkan dan diharapkan
pengguna.
Sequence Diagram
Sequence Diagram
- Bersifat dinamisBersifat dinamis
- Diagram yang menekankan pada Diagram yang menekankan pada
pengiriman pesan dalam suatu waktu
pengiriman pesan dalam suatu waktu
tertentu
Collaboration Diagram
Collaboration Diagram
- Bersifat dinamisBersifat dinamis
- Diagram interaksi yang menekankan Diagram interaksi yang menekankan
organisasi struktural dari objek-objek yang
organisasi struktural dari objek-objek yang
menerima serta mengirim pesan
Statechart Diagram
Statechart Diagram
- Bersifat dinamisBersifat dinamis
- Memperlihatkan state-state pada sistem; Memperlihatkan state-state pada sistem;
memuat state, transisi, event, serta
memuat state, transisi, event, serta
aktivitas.
aktivitas.
- Memperlihatkan sifat dinamis dari Memperlihatkan sifat dinamis dari
antarmuka, kelas, kolaborasi dan terutama
antarmuka, kelas, kolaborasi dan terutama
penting pada pemodelan sistem-sistem
penting pada pemodelan sistem-sistem
yang reaktif
Activity Diagram
Activity Diagram
- Bersifat dinamisBersifat dinamis
- Memperlihatkan aliran dari suatu aktivitas Memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya dalam suatu sistem.
ke aktivitas lainnya dalam suatu sistem.
- Memodelkan fungsi-fungsi dalam suatu Memodelkan fungsi-fungsi dalam suatu sistem dan memberi tekanan pada aliran
sistem dan memberi tekanan pada aliran
kendali antarobjek.
Component Diagram
Component Diagram
- Bersifat statisBersifat statis
- Memperlihatkan organisasi serta Memperlihatkan organisasi serta kebergantungan pada
kebergantungan pada
komponen-komponen yang telah ada sebelumnya
komponen yang telah ada sebelumnya
Deployment Diagram
Deployment Diagram
- Bersifat statisBersifat statis
- Memperlihatkan konfigurasi saat aplikasi Memperlihatkan konfigurasi saat aplikasi dijalankan (saat runtime).
dijalankan (saat runtime).
- Memuat node beserta komponen-komponen Memuat node beserta komponen-komponen yang ada didalamnya
yang ada didalamnya
- Berhubungan dengan diagram komponen Berhubungan dengan diagram komponen dimana deployment diagram memuat satu
dimana deployment diagram memuat satu
atau lebih komponen-komponen
55
55/31/31
View Pada UML
View Pada UML
 The system architecture is “the organizational structure of the system, including its decomposition into parts, their connectivity, interaction,
mechanisms and the guiding principles that inform the design of a system.” [Rumbaugh 1998]
 There is a typical “4+1 views” architecture of a system defined by UML:
 Logical view, captures the vocabulary of the problem domain using classes and
objects
 Process view, depicts the threads and processes of the system as active classes  Implementation view, shows the physical code base of the system in terms of
components
 Deployment view, models the physical deployment of components onto
computational nodes
 Use case view, captures the requirements of the system using a set of use
Langkah-langkah
Langkah-langkah
Penggunaan UML (1)
Penggunaan UML (1)
 Buatlah daftar business process dari level tertinggi untuk Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul. mendefinisikan aktivitas dan proses yang mungkin muncul.
 Petakan use case untuk tiap business process untuk mendefinisikan Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem.
dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi dengan
Kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.
requirement, constraints dan catatan-catatan lain.
 Buatlah deployment diagram secara kasar untuk mendefinisikan Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
arsitektur fisik sistem.
 Definisikan requirement lain (non-fungsional, security dan Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.
sebagainya) yang juga harus disediakan oleh sistem.
Langkah-langkah
Langkah-langkah
Penggunaan UML (2)
Penggunaan UML (2)
 Definisikan objek-objek level atas (package atau domain) dan buatlah Definisikan objek-objek level atas (package atau domain) dan buatlah
sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika
sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu
diagram untuk masing-masing alir. diagram untuk masing-masing alir.
 Buarlah rancangan user interface model yang menyediakan antarmuka bagi Buarlah rancangan user interface model yang menyediakan antarmuka bagi
pengguna untuk menjalankan skenario use case. pengguna untuk menjalankan skenario use case.
 Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap
package atau domain dipecah menjadi hirarki class lengkap dengan atribut package atau domain dipecah menjadi hirarki class lengkap dengan atribut
dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test
untuk menguji fungsionalitas class dan interaksi dengan class lain. untuk menguji fungsionalitas class dan interaksi dengan class lain.
 Setelah class diagram dibuat, kita dapat melihat kemungkinan Setelah class diagram dibuat, kita dapat melihat kemungkinan
pengelompokan class menjadi komponen-komponen. Karena itu buatlah pengelompokan class menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga, definisikan tes integrasi untuk component diagram pada tahap ini. Juga, definisikan tes integrasi untuk
Langkah-langkah
Langkah-langkah
Penggunaan UML (3)
Penggunaan UML (3)
 Perhalus deployment diagram yang sudah dibuat. Detilkan Perhalus deployment diagram yang sudah dibuat. Detilkan
kemampuan dan requirement piranti lunak, sistem operasi, jaringan, kemampuan dan requirement piranti lunak, sistem operasi, jaringan,
dan sebagainya. Petakan komponen ke dalam node. dan sebagainya. Petakan komponen ke dalam node.
 Mulailah membangun sistem. Ada dua pendekatan yang dapat Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan
digunakan
- Pendekatan use case, dengan meng-assign setiap use case - Pendekatan use case, dengan meng-assign setiap use case
kepada tim pengembang tertentu untuk mengembangkan unit code kepada tim pengembang tertentu untuk mengembangkan unit code
yang lengkap dengan tes. yang lengkap dengan tes.
- Pendekatan komponen, yaitu meng-assign setiap komponen - Pendekatan komponen, yaitu meng-assign setiap komponen
kepada tim pengembang tertentu. kepada tim pengembang tertentu.
 Lakukan uji modul dan uji integrasi serta perbaiki model berserta Lakukan uji modul dan uji integrasi serta perbaiki model berserta codenya. Model harus selalu sesuai dengan code yang aktual