Date post: | 13-Apr-2018 |
Category: |
Documents |
Upload: | yudhaahmad |
View: | 235 times |
Download: | 3 times |
of 75
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
1/75
ANALYSISMODELING
Rekayasa Perangkat Lunak
Teknik Informatika S1
Ramadhan Rakhmat Sani, M.Kom
1
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
2/75
MATERIKULIAH
1. Introduction to Software Engineering
2. Software Process
3. System Engineering4. Requirement Engineering
5. Analysis Modeling
6. Design Enginering7. Interface Design
8. Testing Tactic 2
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
3/75
ANALYSISMODELING
Requirements analysis
Flow-oriented modeling
Scenario-based modelingClass-based modeling
Behavioral modeling
3
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
4/75
TUJUANDARIANALYSISMODELING
Menyediakan representasi teknis pertama dari sebuah
sistem
Mudah dimengerti dan dipelihara
Berkaitan dengan ukuran masalah dengan partisi sistem Menggunakan grafis bila memungkinkan
Membedakan antara informasi penting terhadap
informasi pelaksanaannya
Membantu dalam pelacakan dan evaluasi antarmuka Menyediakan alat-alat selain teks narasi untuk
menggambarkan logika perangkat lunak dan kebijakan
4
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
5/75
A SETOFMODELS
Flow-oriented modeling menyediakan indikasi
tentang bagaimana objek data yang diubah oleh satu set
fungsi pengolahan
Scenario-based modeling merepresentasikan sistem
dari sudut pandang pengguna
Class-based modeling mendefinisikan objects,
attributes, and relationships
Behavioral modeling menggambarkan keadaan kelas
dan dampak dari kegiatan untuk suatu keadaan
5
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
6/75
REQUIREMENTSANALYSIS6
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
7/75
TUJUAN
Menentukan karakteristik operasional perangkat lunak
Mengindikasikan antarmuka perangkat lunak dengan
elemen sistem lainnya
Menetapkan kendala bahwa perangkat lunak harusdipenuhi
Menyediakan desainer perangkat lunak dengan
representasi informasi, fungsi, dan perilaku
Hal ini kemudian diterjemahkan ke dalam arsitektur,antarmuka, kelas / data dan komponen-tingkat desain
Menyediakan pengembang dan customer dengan alat
untuk menilai kualitas setelah perangkat lunak dibangun7
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
8/75
TUJUANKESELURUHAN
Three primary objectives
Untuk mendeskripsikan apa yang dibutuhkan
pelanggan
Untuk membangun dasar bagi pembuatan desainperangkat lunak
Untuk mendefinisikan satu set persyaratan yang dapat
divalidasi begitu perangkat lunak dibangun
Semua elemen dari model analisis yang langsung dapatditelusuri ke bagian dari model desain, dan beberapa
bagian yang saling tumpang tindih
8
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
9/75
A BRIDGE
9
system
description
analysis
model
design
model
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
10/75
ANALYSISOFRULES
Model analisis harus fokus pada kebutuhan yang terlihat dalammasalah atau domain bisnis
Tingkat abstraksi harus relatif tinggi
Setiap elemen dari model analisis harus menambah
pemahaman keseluruhan kebutuhan perangkat lunak dan
memberikan wawasan berikut
Information domain, function, and behavior of the system
Modelnya hendaknya menunda pertimbangan infrastruktur dan
model non fungsional hingga fase desain
Pertama menyelesaikan analisis domain masalah
Model ini harus meminimalkan penggandengan seluruh sistem
Mengurangi tingkat keterkaitan antara fungsi dan kelas
Model ini harus memberikan nilai kepada seluruh stakeholder
Model ini harus disimpan sesederhana mungkin
10
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
11/75
DOMAINANALYSIS
Definition
Identifikasi, analisis, dan spesifikasi umum, kemampuan yang dapat
digunakan kembali dalam domain aplikasi spesifik
Melakukan hal ini dalam hal benda-benda umum, kelas,
subassemblies, dan kerangka kerja
Sources of domain knowledge
literatur teknis
aplikasi yang sudah ada
Survei pelanggan dan saran ahli
Persyaratan saat ini atau masa depan Outcome of domain analysis
pengelomokkan kelas
standar Penggunaan Kembali
Model fungsional dan perilaku
bahasa domain
11
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
12/75
ANALYSISMODELINGAPPROACHES
Structured analysis
Mempertimbangkan data dan proses yang
mentransformasikan data sebagai entitas yang
terpisah
Data dimodelkan dalam hal hanya atribut dan relasi
(tetapi tidak ada operasi)
Proses dimodelkan untuk menunjukkan 1) input data,
2) transformasi yang terjadi pada data, dan 3) Data
output yang dihasilkan
Object-oriented analysis
Fokus pada definisi kelas dan cara di mana mereka
berkolaborasi dengan satu sama lain untuk memenuhi
kebutuhan pelanggan
12
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
13/75
ELEMENTSOFTHEANALYSISMODEL
13
Use case text
Use case diagramsActivity diagrams
Swim lane diagrams
Scenario-based
modeling
Class diagrams
Analysis packages
CRC models
Collaboration diagrams
Class-basedmodeling
Data structure diagrams
Data flow diagramsControl-flow diagrams
Processing narratives
Flow-oriented
modeling
State diagrams
Sequence diagrams
Behavioralmodeling
Structured AnalysisObject-oriented Analysis
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
14/75
FLOW-ORIENTEDMODELING14
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
15/75
DATAMODELING
Identify the following items
Data objects (Entities)
Data attributes
Relationships Cardinality (number of occurrences)
15
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
16/75
DATAFLOWANDCONTROLFLOW
Data Flow Diagram
Menggambarkan bagaimana input diubah menjadi
output sebagai objek data bergerak melalui sistem
Process Specification Menjelaskan proses aliran data pada tingkat terendah
dari perbaikan dalam data flow diagram
Control Flow Diagram
Mengilustrasikan bagaimana peristiwa mempengaruhiaktivitas pengguna sistem melalui penggunaan
diagram proses
16
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
17/75
DIAGRAMLAYERINGANDPROCESS
REFINEMENT
Context-level diagram
Level 1 diagram
Process Specification
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
18/75
ANALISISTERSTRUKTUR
Model yang menggambarkan muatan dan aliran
informasi, pembagian sistem secara fungsional dan
behavioral, esensi dari apa yang akan dibangun
18
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
19/75
ELEMENMODELANALISIS
Model analisis harus mencapai sasaran berikut:
Menggambarkan apa yang dibutuhkan pelanggan
Membangun dasar bagi pembuatan desain perangkat
lunak Membatasi serangkaian persyaratan yang dapat
divalidasi begitu perangkat lunak dibangun.
19
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
20/75
STRUKTURANALISIS(2)
Kamus data (data dictionary)
Penyimpan yang berisi deskripsi objek data yangdikonsumsi atau diproduksi perangkat lunak
ERD adalah notasi untuk melakukan aktivitas
pemodelan data Deskripsi objek data adalah gambaran dari atribut
objek data yang ditulis di ERD
20
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
21/75
STRUKTURANALISIS(3)
DFD, yang digunakan untuk :
Memberi indikasi bagaimana data ditransformasi
pada saat bergerak melalui sistem
Untuk menggambarkan fungsi dan subfungsiyang mentransformasi aliran data
Spesifikasi proses mendeskripsikan setiap fungsi
yang disajikan DFD
21
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
22/75
STRUKTURANALISIS(4)
State Transition Diagram, menunjukkan bagaimana
sistem bertingkah laku sebagai akibat dari kejadian
eksternal. Hal ini merupakan dasar dari pemodelan
tingkah laku
Spesifikasi Kontrol, merupakan informasi aspek
kontrol perangkat lunak
22
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
23/75
PEMODELANDATA
Pemodelan data menjawab serangkaian data
spesifik yang relevan dengan berbagai aplikasi
pemrosesan data
Untuk memodelkan data, digunakan ERD
23
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
24/75
OBJEKDATA,ATRIBUTDANHUBUNGAN
Karyawan Kendaraan
Memiliki
Nama
NIP
Thn Masuk
Model
Plat nomor
No Rangka
Thn beli
24
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
25/75
OBJEKDATA
Representasi semua informasi gabungan yang
harus dipahami perangkat lunak
contoh: Karyawan adalah objek data. Gabungan
informasi yang dipunyai karyawan adalah nama,
nip, golongan, tahun masuk
25
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
26/75
ATRIBUT
Informasi yang dimiliki oleh objek data
Satu atribut atau lebih harus jadi pengidentifikasi
atau kunci yang unix ketika ingin menemukan
sebuah objek data
26
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
27/75
HUBUNGAN
Menggambarkan hubungan suatu objek data ke
objek data lainya
Contoh :
Karyawan memilikikendaraan
Karyawan mempunyaikomputer
Karyawan mengambilpinjaman
Karyawan bekerja padadivisi
27
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
28/75
KARDINALITASDANMODALITAS
Kardinalitas mendefenisikan jumlah maksimum dari
hubungan objek yang ikut serta dalam sebuah
hubungan
contoh : orang tua punya banyakanak, dan anak
hanya punya satunama
28
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
29/75
KARDINALITAS
Satu ke satu (1:1)
Satu ke banyak (1: N)
Banyak ke banyak (M:N)
29
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
30/75
MODALITAS
Bernilai satu jika hubungan merupakan perintah
Bernilai 0 jika hubungan tersebut bersifat opsional
30
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
31/75
ERD (ENTITYRELATIONSHIPDIAGRAM)
PelangganTindakan
Perbaikan
Disediakan dgn
Kardinalitas:
Ada banyak tindakan perbaikan
Modalitas :
Untuk melakukan tindakan perbaikan
harus ada pelanggan
Modalitas
Ada situasi dimana tindakan perbaikan
tidak diperlukan
Kardinalitas:
Pelanggan tunggal menunggu tindakan
perbaikan
31
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
32/75
CONTOHNOTASIERDYANGLAIN
object sobjectRelasi(0,M)
(1,1)
32
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
33/75
TUJUANUTAMA
Tujuan Utama dari ERD adalah mewakili objek
data dan hubungan antara mereka
33
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
34/75
PEMODELANTINGKAHLAKU
Keadaan (state) adalah model tingkah laku
yang dapat diobservasi
Perubahan keadaan (State transistion) adalah
pergerakan dari satu keadaan ke keadaan lain Event adalah kejadian yang membuat sistem
menampilkan suatu bentuk tingkah laku
Action adalah proses yang terjadi sebagai
konsekuensi dari adanya transisi
34
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
35/75
35
Penggambaran DFD
KasirPelanggan
Cash Register
1
1. Menyerahkan barang
2
2. Mencatat data transaksi penjualan
3
3. Memberikan pembayaran
4
4. Mencatat data transaksi pembayaran
5
5. Mencetak struk
6
6. Menerima struk, barang, dan kembalian
abstraksi
perangkat lunak
abstraksi sistem
informasi
lingkup/konteksperangkat lunak
sumber/tujuan
data (entitas
eksternal)
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
36/75
DATA FLOW DIAGRAM (DFD)
36
Adalah suatu gambaran grafis dari suatu sistem
yang menggunakan sejumlah bentuk-bentuk
simbol untuk menggambarkan bagaimana data
mengalir melalui suatu proses yang saling
berkaitan
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
37/75
Elemen-elemen lingkungan yang berhubungan
dengan perangkat lunak (Entitas Luar)
Proses
Arus Data Storage/Penyimpanan
37
SIMBOL DFD
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
38/75
ELEMEN LINGKUNGAN
(ENTITAS / TERMINATOR) Orang
Organisasi
Sistem lain
38
Disimbolkan Dengan
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
39/75
PROSES
Sesuatu yang merubah dari input
menjadi output
39
Disimbolkan dengan
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
40/75
ARUS DATA
Terdiri dari sekelompok elemen data yang
berhubungan secara logis yang bergerak dari satu
titik atau proses ke titik atau proses lain
40
Disimbolkan dengan
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
41/75
STORAGE / PENYIMPANAN
Sesuatu yang digunakan untuk menyimpan data
41
Disimbolkan Dengan
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
42/75
DIAGRAMKONTEKS
Menggunakan hanya satu simbol proses
Simbol proses menggambarkan PL yang dibuat
Terminator yang terkait langsung dengan PLArus data dari terminator ke sistem atau
sebaliknya
Tidak menomori proses
Tidak ada storage
42
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
43/75
DIAGRAMTINGKATN
43
Angka menunjukan tingkat rinci dari DFD
CONTOH :DFD Level 0
1.0
Proses X
2.0
Proses Y
2.2
Proses Y2
2.1
Proses Y13.0
Proses Z
DFD Level 1 Utk Proses 2.0
Proses 1.0
Proses 1.0 Proses 3.0Terminator
Terminator
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
44/75
44
Pembuatan Diagram Konteks (2)
PL AplikasiCash
Register
Kasir
penjualan
pembayara
n
struk
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
45/75
DATADICTIONARY& PROCESSSPECIFICATION
Data Dictionary (Data Store)1. Barang = @kode_brg + nama_brg +
harga + stok
2. Jual = @no_faktur + @kode_brg +
banyak
3. Bayar = @no_faktur + tanggal + total
Data Dictionary (Data Flow)
1. penjualan = kode_brg+ banyak
2. pembayaran = jml_bayar
3. total = no_faktur + {kode_brg +
nama_brg + harga + banyak} +
total_bayar
4. struk = no_faktur + tanggal +{nama_brg + harga + banyak + jumlah}
+ total_bayar + bayar + kembali
Process-Spesification Proses 1.01. Baca kode barang
2. Cari dan tampilkan data barang
3. Baca banyak barang
4. Hitung dan tampilkan jumlah
5. Rekam data penjualan ke basis data;
update stok barang
Process-Spesification Proses 2.0
1. Hitung dan tampilkan total
2. Baca jumlah bayar
3. Hitung dan tampilkan jumlah kembalian4. Rekam data pembayaran ke basis data
5. Cetak struk
45
Workflow Penjualan Barang
Diagram Aliran Data (DAD)
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
46/75
46
KasirPelanggan
Workstation
j g
1. Menyerahkan
barang
1
1. barang yang dibeli
1. Catat data
penjualan
2
2. Penjualan =kode_brg + banyak
Entry Penjualan Barang X
Kode Barang BRG-101
Basis
Data
3
3. Barang = @kode_brg + nama_brg + harga + stok Nama Barang KERTAS A4 80 GR.
Harga (Rp.) 27,500
Banyaknya 2
Jumlah (Rp.) 55,000
Rekam
1. Baca kode
barang
2.Cari dan tampilkan
data barang
4. Hitung dan
tampilkan jumlah
5. Rekam data penjualan
ke basis data; update
stok barang
4
4. Jual = @no_faktur + @kode_brg + banyak
3.Baca banyak barang
Diagram Aliran Data (DAD)
Catat
Data
Penjuala
n
penjualanKasir Barang
Jual
Kamus Data
Spesifikasi
Proses
Sketsa Tampilan Layar
Workflow Pembayaran Diagram Aliran Data (DAD)
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
47/75
47
Entry Penjualan Barang X
Kode Barang BRG-101
Nama Barang KERTAS A4 80 GR.
Harga (Rp.) 27,500
Banyaknya 2
Jumlah (Rp.) 55,000
Rekam
1. Akhiri
penjualan
Pembayaran
1. Hitung dan
tampilkan total
Entry Pembayaran X
Total (Rp.) 55,000
Jumlah Bayar
1. Memberikan
pembayaran
5
5. uang
2. Catat data
pembayaran;
cetak struk
6
6. pembayaran
60,000
= jml_bayar
2. Baca jumlah bayar
3. Hitung dan tampilkan
jumlah kembalian
Kembali 5,000
4. Rekam data pem-
bayaran ke basis data
Cetak Struk
7
7. Bayar = @no_faktur + tanggal + total
5. Cetak struk
8
8. struk = no_faktur + tanggal + {nama_brg + harga + banyak
+ jumlah} + total + bayar + kembali
2. Menerima struk,
barang dan
kembalian
9
9. struk, barang dan kembalian
Catat Data
Pembayaran
& Cetak Struk
total
pembayaran
Bayar
struk
total = no_faktur + {kode_brg + nama_brg + harga + banyak} + total
y
KasirPelanggan
Workstation
Basis
Data
ag a a ata ( )
Catat Data
Penjualan
penjualanKasir Barang
Jual
Kamus Data
3. Barang = @kode_brg + nama_brg + harga + stok
1. barang yang dibeli
2. penjualan = kode_brg + banyak
4. Jual = @no_faktur + @kode_brg + banyak
Spesifikasi
Proses
Sketsa Tampilan Layar
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
48/75
PERBEDAANDFD DENGANFLOWCHART
DFD
Proses DFD dapat
beroperasi secara parallel
DFD lebih menunjukkan
arus dari data
Tidak dapat menunjukkan
proses perulangan dan
proses keputusan
Flowchart
Flowchart menunjukkan
proses yang urut
Flowchart Sistem
menunjukkan arus dariprocedure, Flowchart
program menunjukkan
arus dari algoritma
Dapat menunjukkanproses perulangan dan
proses keputusan48
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
49/75
MODELALIRANKONTROL
Membuat sebuah model aliran kontrol data dapat
dilakukan dengan mengupas semua anak panah
aliran data pada DFD
49
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
50/75
CONTOHCFD
Sensor Sensor
monitorTelepon
AlarmEvent Sensor Sinyal alarm
50
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
51/75
CONTROLSPECIFICATION
spesifikasi kontrol (CSPEC) yang bisa jadi
merupakan sebuah STD, state transistion table,
decision table, activation table
Berisi deskripsi setiap status yang muncul dalam
sistem
51
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
52/75
PROCESSSPECIFICATION
Digunakan untuk menggambarkan semua proses aliran
yang nampak pada tingkat akhir penyaringan.
Spesifikasi bisa berupa teks naratif, bahasa desain
program, persamaan matematika, tabe, diagram atau
bagan
52
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
53/75
KAMUS DATA
Merupakan sebuah daftar yang terorganisasi dari
elemen data yang berhubungan dengan sistem,
dengan definisi yang jelas dan teliti sehingga
pemakai dan analis sistem memahami yang umum
mengenai input, output, komponen penyimpanan.
53
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
54/75
KONTENKAMUSDATA
Nama
nama data, kontrol, penyimpan data atau entitas eksternal
Alias
nama lain yang digunakan
Where used/how usedproses yang menggunakan data dan bagaimana ia digunakan
Content desc
notasi untuk merepresentasikan isi
Supplementary information
informasi lain mengenai tipe data, harga, dll
54
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
55/75
CONTOH
telephone numberintegrated
officephonesystem
Name:
Aliases:
Where/Howused:
Description:
Format:
telephone number
phone number, number
read-phone-number (input)display-phone-number (output)analyze-long-distance-calls (input)
telephone no. = [ local extension | outside no. | 0 ]outside no. = 9 + [ service code | domestic no. ]service code = [ 211 | 411 | 611 | 911 ]
domestic no. = ( ( 0 ) + area code ) + local numberarea code = *three numeral designator*
Bui ld the requi rements d ic t ionary:
alphanumeric data
system output
55
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
56/75
SCENARIO-BASEDMODELING56
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
57/75
EXAMPLEUSECASEDIAGRAM
57
Make automated menu
selections
Order food and drink
Pay for food and drink
Notify customer that
food and drink are readyCustomer
Cook
Payment
System
Expert Menu
System
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
58/75
ACTIVITYDIAGRAMS
Suplemen kasus penggunaan dengan
menyediakan gambaran grafis dari aliran interaksi
dalam skenario tertentu
Menggunakan simbol flowchart seperti
Persegi panjang bulat - mewakili fungsi sistem /
tindakan khusus
Arrow- mewakili aliran kontrol dari satu fungsi /
tindakan yang lain
Diamond- merupakan keputusan percabangan
Solid bar mewakili garpu dan bergabung
kegiatan paralel58
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
59/75
EXAMPLEACTIVITYDIAGRAM
Set counter = positive n
Set accumulator = initial value
n > 1
Set accumulator = accumulator * n
Set n = n - 1
(n mod 5) == 0
Display accumulator value
Return accumulator value
T
F
T
F
59
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
60/75
CLASS-BASEDMODELING60
I A C
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
61/75
IDENTIFYINGANALYSISCLASSES
Lakukan parse gramatikal pernyataan masalah or use cases
Kelas ditentukan dengan menggarisbawahi setiap kata benda atau katabenda klausa
Sebuah kelas yang dibutuhkan untuk mengimplementasikan solusi adalahbagian dari ruang solusi.
Sebuah kelas yang diperlukan hanya untuk menggambarkan solusi adalahbagian dari ruang masalah.
Sebuah Kelas TIDAK harus memiliki nama prosedural penting (misalnya,kata kerja).
Daftar nama-nama kelas potensial dalam sebuah tabel dan"mengklasifikasikan" masing-masing kelas menurut beberapa taksonomi danseleksi kelas karakteristik.
Sebuah kelas potensial harus memenuhi hampir semua (atau semua) darikarakteristik seleksi untuk dianggap sebagai kelas domain masalah yangsah.
61
(More on next slide)
Potential classes General
classification
Selection
Characteristics
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
62/75
IDENTIFYINGANALYSISCLASSES
(CONTINUED)
General classifications for a potential class
External entity (e.g., another system, a device, a
person)
Thing (e.g., report, screen display)
Occurrence or event (e.g., movement, completion) Role (e.g., manager, engineer, salesperson)
Organizational unit (e.g., division, group, team)
Place (e.g., manufacturing floor, loading dock)
Structure (e.g., sensor, vehicle, computer)
62
(More on next slide)
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
63/75
IDENTIFYINGANALYSISCLASSES
(CONTINUED)
Six class selection characteristics Retained information
Information must be remembered about the system overtime
Needed services Set of operations that can change the attributes of a class
Multiple attributes Whereas, a single attribute may denote an atomic variable
rather than a class
Common attributes
A set of attributes apply to all instances of a class
Common operationsA set of operations apply to all instances of a class
Essential requirements Entities that produce or consume information
63
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
64/75
DEFININGATTRIBUTESOFACLASS
Atribut dari sebuah kelas adalah mereka kata bendadari parse tata bahasa yang cukup milik kelas
Atribut memegang nilai-nilai yang menggambarkansifat saat ini atau keadaan kelas
Sebuah atribut juga dapat muncul awalnya sebagaikelas potensial yang kemudian ditolak karenakriteria pemilihan kelas
Dalam mengidentifikasi atribut, pertanyaan berikutharus dijawab
What data items (composite and/or elementary) will fullydefine a specific class in the context of the problem athand?
Biasanya item bukan merupakan atribut jika lebihdari satu dari mereka harus dikaitkan dengan kelas 64
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
65/75
MENDEFINISIKANOPERASIKELAS
Operasi menentukan perilaku obyek
Empat kategori operasi Operasi yang memanipulasi data dalam beberapa cara untuk
mengubah keadaan suatu objek (misalnya, menambah,menghapus, memodifikasi)
Operasi yang melakukan perhitungan
Operasi yang menanyakan tentang keadaan suatu objek
Operasi yang memantau obyek untuk terjadinya peristiwapengendali
Operasi memiliki pengetahuan mengenai kondisi kelasdan sifat asosiasi tersebut
Tindakan yang dilakukan oleh operasi didasarkan padanilai-nilai saat ini dari atribut kelas
Menggunakan parsing gramatikal lagi, melingkari katakerja, kemudian pilih kata kerja yang berhubungandengan kelas domain masalah yang sebelumnyadiidentifikasi 65
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
66/75
EXAMPLECLASSBOX
66
Component
+ componentID
- telephoneNumber
- componentStatus- delayTime
- masterPassword
- numberOfTries
+ program()
+ display()+ reset()
+ query()
- modify()
+ call()
Class Name
Attributes
Operations
A G
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
67/75
ASSOCIATION, GENERALIZATIONAND
DEPENDENCY(REF: FOWLER)
Association Diwakili oleh garis yang solid antara dua kelas diarahkan dari kelas
ke kelas sumber sasaran
Digunakan untuk mewakili (misalnya, menunjuk ke) jenis objek untukatribut
Mungkin juga menjadi bagian-hubungan (yaitu, agregasi), yang
diwakili oleh berlian-panah Generalization
Pewarisan menggambarkan antara kelas super dan subclass
Diwakili oleh garis dengan segitiga di ujung sasaran
Dependency(ketergantungan)
Perubahan definisi satu elemen (yaitu, sumber atau pemasok) dapatmenyebabkan perubahan pada elemen lainnya (yaitu, klien)
Examples Satu kelas memanggil metode kelas lain
Satu kelas menggunakan kelas lain sebagai parameter metode 67
EXAMPLE CLASS DIAGRAM
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
68/75
EXAMPLECLASSDIAGRAM
68
1..n
Production
Manager
Auditor RecordKeeper
Report
Generator
Transaction
Processor
Account
Accounts
Payable
Accounts
Receivable
Input
Verifier
Error Log Input Handler
Local File
Handler
RemoteFile
Handler
Account List
Accountant
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
69/75
BEHAVIORAL
MODELING
69
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
70/75
CREATINGABEHAVIORALMODEL
Mengidentifikasi kejadian yang ditemukan dalamkasus penggunaan dan tersirat oleh atribut dalam
diagram kelas
Membangun state diagram untuk masing-masing
kelas, dan jika berguna, untuk sistem perangkatlunak secara keseluruhan
70
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
71/75
IDENTIFYINGEVENTSINUSECASES
Suatu kejadian terjadi ketika seorang aktor dan sistembertukar informasi
Suatu kejadian BUKAN informasi yang dipertukarkan,
melainkan fakta bahwa informasi telah dipertukarkan.
Beberapa peristiwa memiliki dampak eksplisit padaaliran kontrol, sementara yang lainnya tidak.
Contohnya adalah membaca item data dari pengguna
terhadap pembandingan item data pada beberapa
nilai yang mungkin.
71
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
72/75
BUILDINGASTATEDIAGRAM
Suatu keadaan diwakili oleh persegi panjang bulat Sebuah transisi (yaitu, event) diwakili oleh panah yang
bertuliskan terkemuka dari satu keadaan ke yang lain
Sintaks: trigger-signature [penjaga] / kegiatan
Keadaan aktif obyek menunjukkan status saat ini secarakeseluruhan objek sebagaimana adanya berjalan melalui
transformasi atau pengolahan
Sebuah nama kondisi merupakan salah satu kondisi
yang aktif mungkin dari suatu obyek Keadaan pasif dari sebuah objek adalah nilai saat ini dari
semua atribut obyek
A guard in a transition may contain the checking of the
passive state of an object
72
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
73/75
EXAMPLESTATEDIAGRAM
73Empty
Stack
Partially
Filled Stack
Full Stack
push [n = 0]
pop [n = 1]
push [n - 1 = max]
push [n
2 < max]
pop [n > 1]
pop [n = max]
pop / set n to 0; return error
push / set n to max; return error
SUMMARY
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
74/75
SUMMARY:
ELEMENTSOFTHEANALYSISMODEL
74
Use case text
Use case diagrams
Activity diagrams
Swim lane diagrams
Scenario-based
modeling
Class diagrams
Analysis packages
CRC models
Collaboration diagrams
Class-based
modeling
Data flow diagrams
Control-flow diagramsProcessing narratives
Flow-oriented
modeling
State diagrams
Sequence diagrams
Behavioral
modeling
Structured AnalysisObject-oriented Analysis
7/26/2019 Rekayasa perangkat lunak Analysis Modeling
75/75
ADAPERTANYAAN?
75