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 lain

  Ruang 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
Operasi dari Tiap Kelas 

  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^^