pemodelan perangkat lunak uml

32
Pemodelan Perangkat Lunak

Upload: bambang-siswoyo

Post on 25-Jun-2015

2.087 views

Category:

Technology


12 download

TRANSCRIPT

Page 1: Pemodelan Perangkat Lunak UML

Pemodelan Perangkat Lunak

Page 2: Pemodelan Perangkat Lunak UML

Merupakan diagram statis (yang menggambarkan struktur dari sistem)

Berupa kombinasi dari beberapa elemen, yaitu : Kelas Attribut Operasi (method) Asosiasi (Association) Agregasi (aggregation) Komposisi (composition) Generalisasi (generalisation)

Page 3: Pemodelan Perangkat Lunak UML

Nama

Attribut

Operasi

Properti dari diagram kelas yaitu- Model statis :- Memodelkan struktur dan perilaku- Digunakan sebagai dasar dari diagram

lainnya- Mudah untuk diubah ke dalam diagram obyek

Page 4: Pemodelan Perangkat Lunak UML

● Apakah terdapat data yang membutuhkan penyimpanan, transformasi atau analisa?

● Apakah terdapat sistem luar yang berinteraksi dengan data pada pertanyaan sebelumnya?

● Apakah ada pustaka kelas atau komponen lain yang digunakan (misal dari pustaka project sebelumnya)?

● Apakah sistem tersebut menangani suatu perangkat?

● Analisa keseluruhan dari tugas/peran aktor pada use case

Page 5: Pemodelan Perangkat Lunak UML

Analisa Tekstual (based on Dennis, 2002)

Kata benda umum (common noun) menunjukkan sebuah kelas.

Kata benda yang mengacu langsung (direct reference noun) menunjukkan sebuah obyek (instan dari sebuah kelas)

Kumpulan kata benda (collective noun) menunjukkan sebuah kelas yg tercipta dari grup obyek kelas lain.

Kata sifat (adjective) menunjukkan sebuah atribut Kata kerja “doing” (melakukan) menunjukkan operasi Kata kerja “being” (menjadi) menunjukkan klasifikasi

hubungan (relasi) antara objek dan kelasnya Kata kerja “having” (memiliki) menunjukkan relasi

agregasi dan asosiasi. Kata kerja transitive menunjukkan operasi Kata kerja intransitive menunjukkan pengecualian

(exception) Kata keterangan menunjukkan atribut dari relasi atau

operasi

Page 6: Pemodelan Perangkat Lunak UML

Sangat bergantung pada sistem Menggambarkan karakteristik dari obyek yang

dimiliki kelas tersebut. Dapat menjadi informatif atau mungkin

membingunkan Memiliki tipe tertentu, yaitu :

Primitif (boolean, integer, real, dll) Bahasa tertentu Kelas lain Tipe data yang didefinisikan sendiri

Memiliki visibility yang berbeda, yaitu public private

Page 7: Pemodelan Perangkat Lunak UML

Sintak atribut :

Visibility name:type=init_value{property_string}

Dapat diberikan suatu nilai defaultDapat diberikan nilai dalam range tertentu

(enumerasi)Dapat langsung diimplementasikan pada

bahasa pemrograman yang mendukung object-oriented (java, c++)

Page 8: Pemodelan Perangkat Lunak UML

UNIXaccount+ username : string+ groupname : string+ filesystem_size : integer+ creation_date : date- password : string

UNIXaccount+ username : string+ groupname : string = “staff"+ filesystem_size : integer+ creation_date : date- password : string

Invoice+ amount : real+ date : date = current date+ customer : string+ specification : string- administrator : string = "unspecified"- number_of_invoices : integer

Invoice+ amount : real+ date : date = current date+ customer : string+ specification : string- administrator : string = "unspecified"- number_of_invoices : integer+ status : status = unpaid { unpaid, paid }

Page 9: Pemodelan Perangkat Lunak UML

Public class UNIXaccount{ public string username; public string groupname = "csai"; public int filesystem_size; public date creation_date; private string password; static private integer no_of_accounts = 0 public UNIXaccount() { //Other initialisation no_of_accounts++; } //Methods go here};

UNIXaccount+ username : string

+ groupname : string = “staff"+ filesystem_size : integer+ creation_date : date- password : string

- no_of_accounts : integer = 0

Page 10: Pemodelan Perangkat Lunak UML

Figure

- x : integer = 0- y : integer = 0

+ draw()

Public class Figure{ private int x = 0; private int y = 0; public void draw() { //Java code for drawing figure }};Figure fig1 = new Figure();Figure fig2 = new Figure();fig1.draw();fig2.draw();

Page 11: Pemodelan Perangkat Lunak UML

report ()

BurglarAlarm

isTripped: Boolean = false

PoliceStation

1 station

*

{ if isTrippedthen station.alert(self)}

alert (Alarm)

Page 12: Pemodelan Perangkat Lunak UML

Person CarDrives **

Driver Companycar

Person Car**Adult Company

car

EmployeeDrives 1 1

DriverDriver

Person PersonMarried to

Husband Wife

Domesticappliance

Familymember

· Turns onHeater

· Cleans

Toaster Dad · Tunes

ChildRadio

Mum

Page 13: Pemodelan Perangkat Lunak UML

Person Car*Plates

User PID Process HostIP-addr* *

Item ofclothing

Maleperson

0..*

Femaleperson

0..*{or}

1

1

Page 14: Pemodelan Perangkat Lunak UML

Library Books*1..*{ordered by date}

Member

{ordered by surname}*

1..*

Person EstablishmentBank card

Client0..*

No qualified or aggregation associations allowed in ternary.

1..*Credit card Shop1..*

Page 15: Pemodelan Perangkat Lunak UML

PlayerTeam

Year

Record

goals forgoals againstwinslosses

goalkeeper

season

team

ties

Page 16: Pemodelan Perangkat Lunak UML

Host

Printer1..*

Network

Network adapter

1

*

1

QueueAdapterPrint spooler

Notary

Client Contract

Purchaser Real-estate

Computer

Page 17: Pemodelan Perangkat Lunak UML
Page 18: Pemodelan Perangkat Lunak UML

Car

Wheels

Body

Engine

Wiring

*

*

*

* Note that association multiplicity is shown within the classes

Page 19: Pemodelan Perangkat Lunak UML
Page 20: Pemodelan Perangkat Lunak UML

Zoo

Mammal Bird

Falcon

Monkey

Gira

ffe0..* 0..* 0..*

ZooMonkey[0..*]: MammalGiraffe[0..*]: MammalHuman[1..*]: MammalFalcon[0..*]: BirdCage[1..*]: Equipment

Equipment

Hum

an 1..* Cage 1..*

My family

Familymember

Ern

est

Fio

na

My familyErnest: Family memberFiona: Family member

Page 21: Pemodelan Perangkat Lunak UML

Aircraft{abstract}

MakeSeatsEngine type

Start() {abstract}land() {abstract}

Jet plane

MakeSeatsEngine type

Start()land()

Helicopter

MakeSeatsEngine type

Start()land()

Start jet engines

Lower flaps& landing gear

Start blades

Decreaseprop speed

Page 22: Pemodelan Perangkat Lunak UML

Figure{abstract}

Position: Pos

Draw() {abstract}

Group

Draw()

Polygon

Draw()

CanvasConsists of*Electronic

*Consists of

Line

Draw()

Circle

Draw()

Consists of *

Page 23: Pemodelan Perangkat Lunak UML

abstract public class Figure{ abstract public void Draw(); Pos position;}public class Group extends Figure{ private FigureVector consist_of; public void Draw() { for (int i = 0; i < consist_of.size(), i++) { consist_of[i].draw(); } }}public class Polygon extends Figure{ public void Draw() { /* something similar to group only using lines instead */ }}

public class Line extends Figure{ public void Draw() { /* code to draw line */ }}public class circle extends Figure{ public void Draw() { /* code to draw circle */ }}

Page 24: Pemodelan Perangkat Lunak UML
Page 25: Pemodelan Perangkat Lunak UML

«friend»ClassA ClassB

ClassC

«instantiate»

«call»

ClassD

operationZ()«friend»

ClassD ClassE

«refine»ClassC combines

two logical classes

Page 26: Pemodelan Perangkat Lunak UML

Element

Carbon Hydrogen

<<covalent>>

<<covalent>>C

C

C H

Page 27: Pemodelan Perangkat Lunak UML

:C arbon :C arbon

:H ydrogen

:H ydrogen

:H ydrogen

:H ydrogen

:H ydrogen:H ydrogen

Page 28: Pemodelan Perangkat Lunak UML

+getOrderStatus+setOrderStatus+getLineItems+setLineItems+getCreditApproved+setCreditApproved

...

OrderBean{abstract}

LineItem{abstract}

Product

1

*

1

*

<<interface>>EntityBean

CreditCard{abstract}

Customer

MyOrder

MyLineItem

MyCreditCard

*

1

*

buyer

order

order

item

item

commodity

Page 29: Pemodelan Perangkat Lunak UML

Buat kelas diagram untuk menggambarkan interkoneksi sebenarnya dalam jaringan

Buat kelas diagram untuk menggambarkan sistem hirarki direktori dari OS

Page 30: Pemodelan Perangkat Lunak UML

Menggambarkan penggunaan aplikasi pengolah kata :

Seorang user dapat membuka (open) dokumen baru atau yang sudah ada. Teks dapat dimasukkan (entered) melalui keyboard. Dokumen dibentuk dari beberapa halaman(pages) dan setiap halaman dibentuk dari header, body dan footer.

Tanggal, waktu dan no halaman dapat ditambahkan (be added) ke header atau footer. Body dokumen dibentuk dari kalimat(sentences), dimana kalimat tersebut terdiri dari kata(word) dan karakter tanda baca (punctuation character). Kata dibentuk dari huruf, digit dan/atau karakter khusus. Gambar dan tabel bisa disisipkan (insert) ke dalam body dokumen.

Tabel dibentuk dari baris dan kolom dan setiap sel nya dapat berisi teks dan gambar. User dapat menyimpan (save) atau mencetak (print) dokumen.

Page 31: Pemodelan Perangkat Lunak UML

Kata benda (bergaris bawah) bisa berupa kelas atau atributnya. Kata kerja (huruf miring) merupakan operasi dari kelas. Entitas utama yang ditangani :dokumen

Page 32: Pemodelan Perangkat Lunak UML