rekayasa perangkat lunak analysis modeling

Upload: yudhaahmad

Post on 13-Apr-2018

235 views

Category:

Documents


3 download

TRANSCRIPT

  • 7/26/2019 Rekayasa perangkat lunak Analysis Modeling

    1/75

    ANALYSISMODELING

    Rekayasa Perangkat Lunak

    Teknik Informatika S1

    Ramadhan Rakhmat Sani, M.Kom

    [email protected]

    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