Pemodelan Perangkat Lunak UML
-
Upload
bambang-siswoyo -
Category
Technology
-
view
2.087 -
download
12
Transcript of Pemodelan Perangkat Lunak UML
![Page 1: Pemodelan Perangkat Lunak UML](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/1.jpg)
Pemodelan Perangkat Lunak
![Page 2: Pemodelan Perangkat Lunak UML](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/2.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/3.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/4.jpg)
● 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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/5.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/6.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/7.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/8.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/9.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/10.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/11.jpg)
report ()
BurglarAlarm
isTripped: Boolean = false
PoliceStation
1 station
*
{ if isTrippedthen station.alert(self)}
alert (Alarm)
![Page 12: Pemodelan Perangkat Lunak UML](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/12.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/13.jpg)
Person Car*Plates
User PID Process HostIP-addr* *
Item ofclothing
Maleperson
0..*
Femaleperson
0..*{or}
1
1
![Page 14: Pemodelan Perangkat Lunak UML](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/14.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/15.jpg)
PlayerTeam
Year
Record
goals forgoals againstwinslosses
goalkeeper
season
team
ties
![Page 16: Pemodelan Perangkat Lunak UML](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/16.jpg)
Host
Printer1..*
Network
Network adapter
1
*
1
QueueAdapterPrint spooler
Notary
Client Contract
Purchaser Real-estate
Computer
![Page 17: Pemodelan Perangkat Lunak UML](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/17.jpg)
![Page 18: Pemodelan Perangkat Lunak UML](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/18.jpg)
Car
Wheels
Body
Engine
Wiring
*
*
*
* Note that association multiplicity is shown within the classes
![Page 19: Pemodelan Perangkat Lunak UML](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/19.jpg)
![Page 20: Pemodelan Perangkat Lunak UML](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/20.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/21.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/22.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/23.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/24.jpg)
![Page 25: Pemodelan Perangkat Lunak UML](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/25.jpg)
«friend»ClassA ClassB
ClassC
«instantiate»
«call»
ClassD
operationZ()«friend»
ClassD ClassE
«refine»ClassC combines
two logical classes
![Page 26: Pemodelan Perangkat Lunak UML](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/26.jpg)
Element
Carbon Hydrogen
<<covalent>>
<<covalent>>C
C
C H
![Page 27: Pemodelan Perangkat Lunak UML](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/27.jpg)
:C arbon :C arbon
:H ydrogen
:H ydrogen
:H ydrogen
:H ydrogen
:H ydrogen:H ydrogen
![Page 28: Pemodelan Perangkat Lunak UML](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/28.jpg)
+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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/29.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/30.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/31.jpg)
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](https://reader033.fdokumen.com/reader033/viewer/2022061412/558b02e6d8b42a97688b4604/html5/thumbnails/32.jpg)