• Tidak ada hasil yang ditemukan

TIF-151551 REKAYASA DAN MANAJEMEN KEBUTUHAN

N/A
N/A
Protected

Academic year: 2018

Membagikan "TIF-151551 REKAYASA DAN MANAJEMEN KEBUTUHAN"

Copied!
30
0
0

Teks penuh

(1)

Requirements

Modeling – OO

TIF-151551

(2)

Goals

Memahami konsep pemodelan OO pada rekayasa

kebutuhan.

Terampil dalam pembuatan diagram-diagram yang diperlukan

dalam pemodelan OO pada rekayasa kebutuhan.

(3)

Object Oriented Approach

Mulai populer akhir ’80an – ’90an (Booch,

Rumbaugh-OMT, Jacobson-OOSE, Coad+Yourdon, Wirfs-Brock) :

Elisitasi kebutuhan

customer

Identifikasi skenario / use-case (

use-case diagram

)

Identifikasi klas berdasarkan kebutuhan

customer

Identifikasi atribut dan operasi setiap klas

Definisi struktur klas (

class diagram

)

Definisi model relasi antar klas (

collaboration/sequence

diagram

)

Definisi perpindahan status sistem (

statechart diagram

)

(4)

Diagram UML

Use-case diagram

(statis)

scenario-based models

Class diagram

(statis)

class models

Collaboration/sequence diagram

(dinamis)

behavioral models

Statechart diagram

(dinamis)

behavioral models

(5)

Keuntungan

Sangat natural, sesuai dengan cara berpikir manusia

improve analyst and problem domain expert interaction

Meningkatkan konsistensi hasil analisis

abstraksi

atribut-operasi dalam sebuah objek

Konsep penurunan klas memberikan kemudahan dalam

generalisasi objek

Kemudahan dalam perubahan

Terjaganya konsistensi model antara analisis dan

perancangan

Konsep

reusability

(6)

Object, Class

– Apa Itu ?

Objek (

Object

) :

A concept, abstraction, or thing with crisp boundaries and meaning for the problem at hand [Rumbaugh]

Benda (tangible & intangible thing)

Contoh : Andi, Eko, Susi (sistem akademik)

Sebuah objek memiliki karakteristik : identity (identitas-pembeda), state

(sekumpulan atribut) & behavior (sekumpulan operasi, aksi, servis)

Notasi :

Nama Objek

Atribut2

Operasi2

(7)

Object, Class

– Apa Itu ?

Klas (

Class

) :

A description of one or more objects with a uniform set of attributes and services, including a description of how to create new objects in the class [Yourdon]

Gambaran umum (template, blue-print) yang menjelaskan sekumpulan objek yang memiliki kesamaan karakteristik (atribut dan operasi)

Merupakan cetakan dari objek

Digunakan untuk menginstansiasi objek yang memiliki identitas yang berbeda

Contoh : Klas Mahasiswa objek Andi, Eko, Susi

Abstract & concrete class

(8)

Object, Class

– Apa Itu ?

Mahasiswa

- NIM - Nama

- Buat skripsi - Ujian

Mahasiswa

- NIM : 001 - Nama : Andi - Buat skripsi - Ujian

Mahasiswa : Andi

Mahasiswa

- NIM : 002 - Nama : Eko - Buat skripsi - Ujian

Mahasiswa : Eko

Mahasiswa

- NIM : 003 - Nama : Susi - Buat skripsi - Ujian

Mahasiswa : Susi

Instansiasi :

penciptaan objek

(9)

Where to look ?

Investigasi domain masalah

Langkah-langkah:

Observe first-hand observasi langsung ke lap.

Actively listen to problem domain experts what, who, why, when and how

Check previous OOA results

Check other systems comparison

Read, read, read getting some more information

(10)

What to look for ? Nouns

Structures

Relasi antar objek

generalisasi, agregasi

Other systems

Sistem lain yang berinteraksi dg

proposed system

Things or events remembered

Data, status, kejadian yang harus disimpan

Roles played

Identifikasi peran manusia dalam sistem

berinteraksi

langsung, tidak berinteraksi tetapi informasinya disimpan

sistem

Sites

Informasi lokasi/posisi yang harus diingat oleh sistem

(11)

Identifikasi atribut

Some data (state information) for which each object in a class has its

own value [Yourdon]

Langkah-langkah:

Identifikasi atribut umum (adjectives, possessives)

Identifikasi atribut yang relevan dg domain masalah

Identifikasi atribut yang relevan dg peran atau tanggung jawab dalam sistem

Restrukturisasi atribut sehingga atomic kemudahan

Reposisi atribut yang sesuai dengan hirarki klas nya pewarisan klas

Spesifikasi atribut presisi, nilai default, batasan, dll.

(12)

Identifikasi operasi/servis

A specific behavior that an object is responsible for exhibiting

[Yourdon]

Langkah-langkah:

Identifikasi tanggung jawab umum sebuah klas (verbs)

Identifikasi operasi yang spesifik untuk domain masalah

Identifikasi operasi yang relevan dg peran atau tanggung jawab dalam sistem

Spesifikasi operasi argumen, batasan/aturan, logika/algoritma

(13)

Use-case diagram

Menjelaskan perilaku sistem dari tampak luar

Menyediakan fungsi-fungsi yg harus dipenuhi sistem sesuai dengan

aktornya

Elemen:

actor

(orang, sistem lain) dan

use-case

Setiap

use-case

dilengkapi dengan skenario (deskripsi)

Langkah-langkah:

Identifikasi aktor

Identifikasi use-case per aktor

(14)

Use-case diagram

Select product

Get return coins Customer

Ent er object

(15)

Use-case scenario

Flow of events for the Select product use-case

Objective Allow customer to select a certain product to dispense

Actors Customer

Pre-condition Coin detected and valid

Main flow 1. The customer selects a button product.

2. The system displays an entry prompt of number of product to order.

Alternative flows 1. If the selected product is not available, the system will display a message “Your selected product is not available”.

(16)

Use-case association

Include

A use case uses another use case (functional decomposition) reuse

A function in the original problem statement is too complex to be solvable immediately describe the function as the aggregation of a set of

simpler functions (mandatory)

Extend

A use case extends another use case

The functionality in the original problem statement needs to be extended

The extended use-case plays an optional use-case

(17)
(18)

Actor-generalization

Two/more sub-actors generalized into a super-actor

Have both behavior and attributes in common – described under the

super-actor

Super-actor should interact with use cases when ALL of its sub-actors

interact in the same way

Sub-actors should interact with use cases when their individual

interactions differ from that of the super-actor

(19)

Actor-generalization

(20)

Class diagram

Menggambarkan struktur statis dari sistem

Terdiri dari node (klas) dan relasi

Jenis relasi

Generalization (‘is a’ – inheritance)

Association

Aggregation (‘part-of’)

Composition

(21)

Association

For “real-world objects” is there an association between classes?

Classes A and B are associated if:

An object of class A sends a message to an object of B

An object of class A creates an instance of class B

An object of class A has an attribute of type B or collections of objects of type B

An object of class A receives a message with an argument that is an instance of B (maybe…) will it “use” that argument?

Does an object of class A need to know about some object of class

B?

(22)

Aggregation – composition

Aggregation represents a part-whole or part-of relationship

Aggregation can occur when a class is a collection or

container of other classes, but where the contained classes

do not have a strong life cycle dependency on the container

– essentially, if the container is destroyed, its contents are not

Composition is more specific than aggregation

Composition usually has a strong life cycle dependency

between instances of the container class and instances of the

contained class(es)

if the container is destroyed, normally

every instance that it contains is destroyed as well

(23)

Class relationships – examples

(24)

Class stereotypes

Boundary classes

model the interaction and manage communication between the

computer system and its actors, but don’t directly represent the specific interface object in the implementation

used to identify the main logical interfaces with users and other systems (including e.g. other software packages, printers)

main task is to translate information across system boundaries

partition the system so that interface is kept separate from business logic

(25)

Class stereotypes

Entity classes

used to model data and behavior of some real life system

concept or entity e.g. member, bank account, order, employee

these will sometimes require more persistent storage of information

e.g. a student’s details are ultimately stored as a student record

Control classes

represent coordination, sequencing, transactions and control of

other objects

glue between boundary elements and entity elements, describing

the logic required to manage the various elements and their

interactions

(26)

Class stereotypes

Model interaction between the system and its

environment

Actor 1 <<boundary>>

<<control>>

<<boundary>>

<<entity>> <<entity>>

Actor 2

boundary entity control

(27)

Sequence diagram

An interaction diagram that emphasizes the

time ordering of messages

Shows a set of objects and the messages sent

and received by those objects

Elements

Object represented in a box

Dashed line called the object lifeline, and it represents the existence of an object over a period of time

Message rendered as horizontal arrows being passed from object to object as time advances down the object lifelines

(28)

Sequence diagram – example

: Customer : SelectionScreen : SelectionController : Products :

DispenserProduct

selectProduct( )

getValidSelection(String)

isProductAvailable(String)

dispenseProduct(String, int)

(29)

Statechart diagram

A statechart diagram shows the behavior of classes in response to

external stimuli

This diagram models the dynamic flow of control from state to state

within a system

(30)

Statechart diagram – example

30

Waiting for a coin

Waiting for selection accept new coin

payment returned accept new coin coin detected

accept customer request product dispensed

accept new coin

sufficient payment dispense product

product available=FALSE

return payment coin return request

Referensi

Dokumen terkait

tinggi. Pengeluaran rata-rata penduduk Kota Bogor yang tinggi untuk kelompok makanan merupakan peluang bagi “LBS” untuk menghasilkan produk-produk yang berkualitas

Dengan demikian, jika perusahaan pemberi jaminan ,berbentuk perseroan terbatas, maka akan berlaku ketentuan Pasal 102 (1 )b UU UUPT yang pada intinya menyatakan

perbaikan yang telah disusun pada kegiatan refleksi siklus I, yang dapat diketahui dari adanya peningkatan skor hasil observasi guru. 2) Siswa lebih antusias mengikuti

Dapat diambil kesimpulan bahwa pola komunikasi yang dilakukan adalah pola komunikasi ketiga yaitu pola komunikasi massa karena komunikasi yang terjadi bukan

Berdasarkan latar belakang yang telah dijelaskan sebelumnya, maka dapat dirumuskan masalah yaitu, bagaimana membuat sebuah sistem informasi yang mampu mengelola data guru,

Jika Authorized Dealer berhasil melakukan Penjualan untuk Produk Paket sebesar Rp 250 juta maka jumlah Penjualan yang bisa mendapatkan Komisi Prestasi adalah Rp 100 juta (Total

“ Tujuan pendidikan adalah merubah yang diingini yang diusahakan dalam proses pendidikan atau usaha pendidikan untuk mencapainya, baik pada tingkah laku individu dari

Kebutuhan moda laut antar pulau dalam hal ini khususnya kapal feri cepat rute Surabaya - Banjarmasin semakin bersaing dengan moda- moda lain rnisalnya moda udara I