PBO 6 – Perancangan Sistem Dengan Analisis Statis
Pemodelan Berorientasi Objek Perancangan Sistem dengan
PERHATIAN
Mulai dari sekarang, diharapkan semua
mahasiswa memperdalam materi PBO secara
lebih mandiri dengan : membaca buku OOAD yang sudah diupload bersama materi pendukung , yang sudah diupload sebelum UTS untuk mendukung pemahaman tentang PBO
membaca materi dan tutorial PBO dan UML
yang bisa didapat dari sumber lainRuang Lingkup Masalah
Analisis
Kebutuhan
Pemodelan
Perangkat
Lunak
Diagram Use Case Diagram Sekuensial Diagram Aktivitas Diagram Kelas Diagram State Materi Pertemuan 6
Perancangan Sistem dengan Analisis Statis
Analisis Berorientasi Objek
Analisis Statis
Kelas
Diagram Kelas
Analisis Berorientasi Objek
#ThrowBack
Object-oriented analysis , design and programming are related but distinct
OOA is concerned with developing an object
model of the application domain OOD is concerned with developing an object- oriented system model to implement requirements
OOP is concerned with realizing an OOD using an OO programming language such as Java or C++ Why We Need OOA ?
Analysis is about discovering what the system is
going to handle, rather than deciding how to
do the handling We need to decompose a complex set of requirements into the essential elements and
relationships on which we will base our solution
Analysis is our first opportunity to get to grips with modeling the real world as objects Analisis Berorientasi Objek
Analisis Berorientasi Objek dapat dikategorikan
menjadi 2 jenis, yaitu : Analisis Statis
Dimodelkan dengan diagram kelas
Diagram kelas akan menggambarkan objek
- –
objek apa saja yang akan di-handle oleh sistem
dan bagaimana objek
- – objek tersebut
berhubungan antara yang satu dengan yang lain
Analisis Dinamis
Dimodelkan dengan diagram komunikasi untuk menunjukkan bahwa model statis kita sudah Analisis Berorientasi Objek
Langkah
- – langkah ABO
Gunakan kebutuhan sistem untuk menemukan kandidat kelas yang dapat mendeskripsikan objek yang relevan dengan sistem dan gambarkan dalam diagram kelas
Temukan hubungan antar kelas (association, aggregation, composition atau inheritance)
Temukan atribut
- – atribut dari setiap kelas
Telusuri kembali use case dari sistem yang sudah dibuat, periksa apakah kelas-kelas yang sudah dibuat dapat mendukung use case tersebut
Catat, perbaharui dan perbaiki jika ada perubahan dalam analisis
Analisis Statis
Analisis Statis
Analisis statis melibatkan bagian logika atau bagian fisik dari sistem dan bagaimana mereka saling terkait satu sama lain
Singkat kata, analisis statis akan mendeskripsikan bagaimana kita akan melakukan konstruksi dan inisialisasi sistem
Konstruksi sistem berorientasi objek Kelas Analisis Statis : Kelas Kelas adalah struktur dasar dari pengembangan sistem berorientasi objek
Kelas adalah adalah ‘cetak biru’ atau ‘blueprint’ dari objek
Kelas digunakan hanya untuk membuat kerangka dasar, yang akan kita pakai
nantinya adalah hasil cetakan dari kelas, yakni
objek Kelas dapat dikatakan adalah definisi abstrak dari objek
Objek adalah hasil cetak dari kelas, atau hasil ‘konkrit’ dari kelas Analisis Statis : Kelas
Struktur kelas secara umum terdiri dari 2 bagian, yaitu : Atribut / Attribute / Field / Property
Berlaku sebagai data, didefinisikan oleh kelas,individu, berbeda satu dengan lainnya
Menggambarkan tampilan, status, kualitas dari objeck
Didefinisikan dalam kelas dengan menggunakan
variabel Analisis Statis : Kelas
Perilaku / Behaviour / Operations / Method
Berlaku sebagai method (operasi)
Menggambarkan bagaimana sebuah instance dari kelas beroperasi misal bagaimana reaksi dari kelas jika diminta untuk melakukan sesuatu hal
Didefinisikan dalam kelas dengan menggunakan
fungsi Analisis Statis : Kelas
Analisis Statis : Kelas Di dalam notasi struktur kelas dikenal istilah hak akses atau visibility
Public ( + )
Atribut atau operasi pada kelas tersebut dapat
diakses oleh semua kelas
Private ( - )
Atribut atau operasi pada kelas tersebut hanya
dapat diakses oleh kelas itu sendiri
Protected ( # )
Atribut atau operasi pada kelas tersebut hanya
dapat diakses oleh kelas itu sendiri atau kelas lain hasil turunannya
Diagram kelas adalah diagram UML yang
menggambarkan kelas-kelas dalam sebuah sistem
dan hubungannya antara satu dengan yang lain, serta dimasukkan pula atribut dan operasi
Diagram kelas adalah diagram yang menunjukan kelas - kelas yang ada dari sebuah sistem dan hubungannya secara logika. Diagram kelas menggambarkan struktur statis dari sebuah sistem. Karena itu diagram kelas merupakan tulang punggung atau kekuatan dasar dari hampir setiap metode berorientasi objek termasuk UML (Henderi, 2008)
Diagram kelas adalah gambar grafis mengenai struktur objek statis dari suatu sistem, menunjukan kelas-kelas objek yang menyusun sebuah sistem dan juga hubungan antara kelas objek tersebut
Langkah – Langkah Analisis Statis
Analisis Statis
- – Analisis statis secara umum memiliki langkah
langkah sebagai berikut : 1.
Menemukan kelas 2. Menentukan hubungan tiap kelas 3. Menggambarkan draf diagram kelas 4. Menggambarkan hubungan tiap kelas di diagram kelas
5. Menentukan atribut dan operasi dari tiap kelas 6.
Menentukan ada atau tidaknya kelas baru hasil hubungan antar kelas
7. Menentukan objek yang Tangible dan Intangible 8.
Evaluasi dan revisi secara iteratif sampai terbentuk diagram kelas yang paling baik mewakili sistem
Langkah pertama yang “sangat sulit”
Menemukan Kelas
Menemukan Kelas
Identifying object classes is often a difficult part of object oriented design
There is no 'magic formula' for object identification, it relies on the skill, experience and domain knowledge of system designers
Object identification is an iterative process, you are unlikely to get it right first time
Use domain analysis as before
Use a grammatical approach based on a natural language description of the system
Base the identification on tangible things in the Menemukan Kelas
Hint :
Derive them from the use cases (descriptions/scenarios)
Candidate classes are often indicated by nouns in the use cases
Look for data which must be stored or analysed
Are there external systems ?
Are there any devices under the control of the system ?
Are there any organizational parts ? Menemukan Kelas
Kandidat Kelas :
Mahasiswa
Mata Kuliah
Jadwal Kelas Relasi / Relation
Inheritance
A subclass inherits all of the attributes and behavior
of its superclass(es)
Association
Objects of one class are associated with objects of
another class.
Aggregation
Strong association
- – an instance of one class is made up of instances of another class
Composition
Strong aggregation
- – the composed object can’t be shared by other objects and dies with its
composer
Multiplikasi / Multiplication
n : Exactly n
m..n : Any number in the range m to n (inclusive)
p..* : Any number in the range p to infinity
- : Shorthand for 0..*
0..1: Optional
Kelas
Kelas
Choosing between relationships can be tricky you need to use intuition, experience and guesswork
As far as design and implementation are concerned, the differences between association, aggregation and composition can be difficult to spot Diagram Kelas
Tiap Kelas di Diagram Kelas Agregasi Komposisi Turunan
Tiap Kelas di Diagram Kelas
- A Car has one Engine • An Engine is part of one Car • A Car has four or five
Wheels
- Each Wheel is part of one Car • A Car is always composed of one Body • A Body is always part of one Car and it dies with that Car • A Car can have any
A tribut dan operasi menentukan “kegunaan” dari kelas
D efinisikan atribut dan operasi dengan “bijak” sehingga benar-benar dapat mewakili kelas itu sendiri
Jika masih belum tahu tipe data apa yang akan digunakan, maka diperbolehkan ditulis namanya saja tanpa memakai tipe data
Jika sudah memutuskan menggunakan tipe data apa, tipe data dapat ditulis di bagian kanan setelah tanda titik dua ( : ) Operasi dari Tiap Kelas
- Definisikan atribut dan operasi dari tiap kelas dengan “bijak”
Sering kali dalam proses pendefinisian kelas ditemukan kelas atau objek baru yang memiliki sifat sebagai “penjelas” hubungan dari tiap kelas, umumnya pada asosiasi
Hindari penggunaan kelas asosiasi (kelas yang terbentuk dengan garis putus
- – putus), karena memerlukan analisa ulang yang rumit
Gunakan kelas konkrit secara langsung
dan Intangible
Tangible : berwujud, nyata
Intangible : tidak berwujud, tidak nyata Informasi mobil yang dimiliki oleh orang dan yang ditunjukkan oleh katalog adalah sama
Iteratif
Lakukan proses analisis statis dan pembentukan diagram kelas secara iteratif, sampai ditemukan formulasi yang paling baik dan paling mewakili sistem secara utuh dan keseluruhan
There is no 'magic formula' for object identification, it relies on the skill, experience and domain knowledge of system designers Latihan
Buat diagram kelas dengan menggunakan
analisis statis dari contoh diagram use case ini !
Kerjakan sebagai latihan dan siap
- –siap pertemuan minggu depan akan ada yang
ditunjuk maju secara acak untuk presentasi ^^
Terimakasih v^^