Pemodelan Rekayasa Kebutuhan

dokumen-dokumen yang mirip
Requirements Modeling Structured TIF REKAYASA DAN MANAJEMEN KEBUTUHAN

ANALISIS DAN PERANCANGAN SISTEM (APS) Pemodelan Kebutuhan: Pendekatan Terstruktur

Adam Hendra Brata Teknik Informatika FILKOM UB Semester Genap 2015/2016

ANALISIS DAN PERANCANGAN SISTEM (APS) Pemodelan Kebutuhan: Pendekatan Berorientasi Objek

Teknik Informatika S1

Adam Hendra Brata Teknik Informatika FILKOM UB Semester Genap 2015/2016

Adam Hendra Brata Teknik Informatika FILKOM UB Semester Genap 2015/2016

ANALISIS DAN PERANCANGAN SISTEM (APS) Konsep Pemodelan

DASAR REKAYASA PERANGKAT LUNAK

REKAYASA PERANGKAT LUNAK (RPL) Analisis Kebutuhan Perangkat Lunak

Sistem Informasi OOAD dengan UML (1) Teknik Informatika UNIKOM

Analisis Model Perangkat Lunak

REKAYASA PERANGKAT LUNAK (RPL) ANALISIS KEBUTUHAN PERANGKAT LUNAK

Pemodelan Berorientasi Objek

Teknik Informatika S1

model abstrak grafis teks memahami fungsionalitas sistem media komunikasi

Analysis Modeling 4/10/2018. Focus on What not How. Kenapa Analisis Kebutuhan. Definisi Analisis Kebutuhan. Langkah-Langkah Analisis Kebutuhan

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

CSG3H3 RPL: Teknik Berorientasi Objek Semester Genap 2014/2015. Object-oriented Analysis (OOA)

7. Analisis Kebutuhan - 1 (System Actors & System Use Cases )

Yuli Purwati, M.Kom USE CASE DIAGRAM

Unified Modelling Language UML

OOAD (Object Oriented Analysis and Design) UML part 2 (Activity diagram, Class diagram, Sequence diagram)

Pengenalan UML dan Diagram Use Case. Alif Finandhita. Teknik Informatika UNIKOM

SOAL PRA UTS PSBO. 1.SIMULA di perkenalkan pertama kali pada tahun.. a d b e c. 1970

Tugas Rekayasa Perangkat Lunak

Gambar L.37 Form Print Laporan Absensi Harian Gambar L.38 Form Print Laporan Absensi Periode

Nama : Rendi Setiawan Nim :

Defri Kurniawan, M.Kom USE CASE DIAGRAM

ANALISA DAN PERANCANGAN SISTEM INFORMASI. Pendekatan Terstruktur dan alat-alat pemodelan Sistem

UML. Bahasa pemodelan visual sistem berorientasi objek Yang dibahaas dalam kuliah ini: Use Case Ac>vty Diagram Class Diagram Sequence Diagram

UNIFIED MODELING LANGUAGE

Teknik Informatika Universitas Trunojoyo

1. SIMULA di perkenalkan pertama kali pada tahun.. a d b e c. 1970

Kuliah#3 TSK-612 Sistem Embedded Terdistribusi - TA 2011/2012. Eko Didik Widianto

Pemodelan Berorientasi Objek

Information Systems Analysis and Design

Object Oriented Analysis and Design -Pendahuluan- Nisa ul Hafidhoh

REKAYASA PERANGKAT LUNAK (RPL) Analisis Kebutuhan Perangkat Lunak

UML USE CASE DIAGRAM

Pemodelan Berorientasi Objek

Analisis (Konvensional)

1. SIMULA di perkenalkan pertama kali pada tahun.. a d b e c Hal penting dalampengembangan berorientasi objek

Pemrograman Lanjut Class and Object PTIIK

ABSTRAK. iii. Kata kunci : Toko Nyan, pembelian, penjualan, stok barang

2. Fungsi di dalam kelas yang dikombinasikan bentuk tingkah laku kelas dinamakan dengan. c.operasi

DAFTAR ISI. KATA PENGANTAR... i. DAFTAR ISI... iii. DAFTAR GAMBAR... xi. DAFTAR TABEL... xvii. DAFTAR SIMBOL... xx BAB I PENDAHULUAN...

OOAD (Object Oriented Analysis and Design) UML part 1 (Usecase) Gentisya Tri Mardiani, S.Kom., M.Kom ADSI-2015

Rekayasa Perangkat Lunak (Software Engineering)

Pengembangan Aplikasi Perangkat Lunak

Sistem Basis Data. Pertemuan 3 : Modeling Data in Organization Andronicus Riyono, M.T.

Konsep Perancangan Perangkat Lunak

B A B 4 USE CASE DIAGRAM

LAMPIRAN A. Class. Association. dua class atau lebih. Multiplicity. instances dari class lain. Generalization. lain.

USE CASE DIAGRAM. Analisis dan perancangan berorientasi Obyek

REKAYASA PERANGKAT LUNAK

11/29/2016. Sequence Diagram. Sequence Diagram. Sequence Diagram. Sequence Diagram. Prodi. Informatika FASILKOM UIGM SHINTA P.

Pemrograman Lanjut. Interface

Gambar Use Case Diagram

atau dihasilkan dalam suatu proses rekayasa software. Artifact dapat berupa model, deskripsi atau software. ) dari sistem software,

BAB 2 LANDASAN TEORI. bersama-sama untuk mencapai tujuan tertentu. bersatu untuk mencapai tujuan yang sama.

Analisis Sistem (bag.2)

ANALISIS DAN PERANCANGAN SISTEM (APS) Konsep Perancangan

MAKALAH ANALISIS & PERANCANGAN SISTEM II USE CASE DIAGRAM

Lampiran 1. Notasi yang digunakan dalam Class Diagram. Class. Association. dua class atau lebih. Multiplicity. instances dari class lain.

1. Konsep dan Prinsip Analisa

Pemrograman Berorientasi. Class Diagram

ABSTRACT ABSTRAKSI KATA PENGANTAR

E-R Diagram. Bagian IIb Relationship Terminologi

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

Model Analisis. Afijal, M.Kom

2.1 Definisi Analisis Kebutuhan Analisis kebutuhan adalah proses menemukan permasalahan dan menghasilkan alternatif pemecahan yang relevan.

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. Teori-teori yang menjadi dasar penulisan adalah sebagai berikut :

Rekayasa Perangkat Lunak Rekayasa Kebutuhan. Teknik Informatika UNIKOM

Pemrograman Web. Object Oriented Programming in PHP 5

Teknik Informatika S1

ABSTRAK. Kata Kunci: buku, online, e-commerce, dashboard, laporan. Universitas Kristen Maranatha

Solid circle. dalam activity diagram. Rounded rectangle. diagram. Continuous line. Dotted line. Document. laporan. Diamond

SHINTA P. SARI FASILKOM UIGM

MEMAHAMI PENGGUNAAN UML

INTRODUCTION OBJECT ORIENTED ANALYSIS & DESIGN

2. Dibawah ini yang bukan merupakan bentuk bentuk objek adalah

UJIAN TENGAH SEMESTER PENDEK TAHUN AKADEMIK 2015/2016

UNIFIED MODELLING LANGUAGE. Rekayasa Perangkat Lunak

Metode Coad -Yourdon

BAB II LANDASAN TEORI

ABSTRAK. Kata Kunci : Enterprise architecture, Zachman Framework, blueprint

Teknik Informatika S1

Requirement Elicitation

Apakah Diagram Itu? Diagram mengikuti aturan atau standar. Contoh Diagram sederhana:

ANALISA PROSES BISNIS SISTEM PENGGAJIAN DAN PINJAMAN PEGAWAI STUDI KASUS PERUSAHAAN INDUSTRI KERTAS PT UNIPA DAYA

BAB II LANDASAN TEORI

DAFTAR SIMBOL. Notasi Keterangan Simbol. Actor adalah pengguna sistem. Actor. tidak terbatas hanya manusia saja, jika

Rancangan Aplikasi Customer Service Pada PT. Lancar Makmur Bersama

PEMODELAN ANALISIS. Di Susun Oleh : Linda Liana Dosen Pengampu : Wahyu Hari Haji M.Kom

MAKALAH PEMODELAN SISTEM BERBASIS OBJEK

ABSTRAK. Kata kunci: chatbot, information state, mixture-language model. v Universitas Kristen Maranatha

ANALYSIS MODELING CHAPTER 6

Transkripsi:

REKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA

Tujuan & Agenda Perkuliahan Tujuan Memahami konsep pemodelan dalam rekayasa kebutuhan Memahami konsep pendekatan terstruktur dan berorientasi objek dalam pemodelan kebutuhan Agenda Konsep pemodelan kebutuhan Pemodelan terstruktur Pemodelan berorientasi objek

Konsep Pemodelan Kebutuhan Model kebutuhan menjembatani antara deskripsi sistem secara umum dengan model perancangan Tujuan utama model kebutuhan: Menjelaskan apa yang dibutuhkan oleh customer Menjadi dasar bagi perancangan PL Menjadi referensi dalam melakukan validasi kebutuhan Metode Terstruktur (structured analysis SA) & berorientasi objek (object oriented analysis OOA)

Prinsip Pemodelan Kebutuhan Model yang dibuat harus fokus pada kebutuhan yang relevan dengan domain permasalahan (WHAT) Setiap model kebutuhan harus bisa dilacak ke model perancangan (traceability) Setiap elemen dalam model kebutuhan harus mampu memperjelas pemahaman secara utuh terhadap kebutuhan PL Domain masalah, fungsionalitas dan perilaku sistem Minimalisasi kopling antar klas Memastikan bahwa model kebutuhan memiliki nilai manfaat untuk seluruh stakeholders Model dibuat sesederhana mungkin Notasi yang sederhana, non duplikasi informasi

Tipe Tipe Model Kebutuhan Scenario-based models Berdasarkan sudut pandang aktor Data models Menjelaskan domain informasi dari masalah Class-oriented models Merepresentasikan klas-klas yang relevan dengan kebutuhan PL Flow-oriented models Merepresentasikan proses dan data dari sistem Behavioral models Merepresentasikan perilaku sistem berdasar event

Pemodelan Terstruktur

Konsep Pertama kali dipopulerkan oleh T. DeMarco (1979) Structured Analysis and System Specification Perluasan notasi untuk kebutuhan real-time systems oleh Hatley dan Pirbhai (1987) SA/RT Strategies for Real-Time System Specification Processes Data Behavior

Elemen Elemen Pemodelan Data Object Description ER Diagram Data Flow Diagram (DFD) Process Specification (PSPEC) Data Dictionary State Transition Diagram (STD) Control Specification (CSPEC)

Data Dictionary Representasi Simbol : = : composed of + : and { } : iterations of [. ] : selection / or ( ) : optional : literal * * : comment/description Vend product (partly) : Name Element Type object [coin slug](product) data product [ice cream coffee candy] data coins 0{[quarter nickel dime]}8 data product available [TRUE FALSE] control [ YES NO ] quarter *25 cents US currency* coin return request [TRUE FALSE] control

Data Model : ER Diagram Entitas (atribut dan nilai atribut) Modalitas : tingkat mandatory (minimal) Kardinalitas : tingkat relasi (maksimal) Bentuk relasi Manufacturer Builds Car

Data Model : ER Diagram Data object Represents a composite information Consists of a number of different attributes or properties Encapsulates data only : no operation applied to its data Can be external entity, thing, occurrence/event, role, organizational unit, structure, etc. e.g. dimensions (height, weight, depth), cars (make, model, ID, body type, color, owner) Can be represented in a tabular representation

Process Model : DFD Useful for analyzing existing as well as proposed systems Process decomposition Focus on the movement of data between external entities and processes, and between processes and data stores A relatively simple technique to learn and use Model elements: terminator, process, data flow, control flow, storage, control bar The highest level (0) : Context diagram Single process Terminators Data flows, control flows

Process Model : Elemen Elemen DFD Terminator Representasi entitas eksternal Notasi: persegi panjang Tidak memproses data Data flow Representasi aliran data Notasi: anak panah penuh Umumnya satu arah Customer data Hubungkan terminator, process dan storage Control flow Representasi aliran kontrol proses control Notasi: anak panah putus2 Hubungkan terminator, process dan control bar

Process Model : Elemen Elemen DFD Process Representasi aktifitas sistem Notasi: lingkaran Memproses data Storage Representasi tempat penyimpanan data Notasi: dua garis paralel Data flow in = diubah, data flow out = dibaca Control bar Representasi spesifikasi kontrol Notasi: garis tegak 1 Proses A data X

Process Model : Panduan DFD Jumlah proses dalam satu diagram DFD : 4 ± 2 Maks. 4 level dekomposisi (DFD/CFD) Dekomposisi fungsional (DFD) : fungsi-fungsi yang saling berhubungan dikelompokkan fungsi-fungsi yang tidak berhubungan dipisahkan setiap fungsi dispesifikasi hanya sekali Data flow membawa informasi yg diperlukan oleh sebuah proses untuk transformasi, control flow membawa informasi yang harus diinterpretasikan untuk merubah perilaku sistem dan/ aktifasi proses Proses pemodelan DFD/CFD adalah proses iterasi, tidak sekali jadi Penjenjangan CFD harus sesuai dengan DFD

Data Control Identification Identify data first rather than control To know what you are controlling first Continuous signals, and processes that act on them, are always categorized as data Discrete signals, and processes that act on them, are usually categorized as control Terms like activate, turn on, engage and execute are usually associated with control requirements

Process Model : DFD/CFD Leveling Must be consistent

Data / Control Context Diagram (DCD/CCD) object 0* returned coins Customer customer selection Vend product Customer slug product coin return request product available

Data / Control Flow Diagram (DCD/CCD Level 1) object slug coin detected price table 1* Get customer payment 2p Get product price payment sufficient payment price coins valid selection customer selection 3p Validate payment 4p Get valid selection coin return request change due product available 5* Dispense change valid selection product available 6p Dispense product returned coins products product product dispensed

Data / Control Flow Diagram (DCD/CCD Level 2) DFD/CFD level 2 : Dispense change change due coin return request product available 5.1p Get change coin change coins returned coins coins payment 5.2p Get payment coin payment coins

Process Model : Process Specification PSPEC Validate payment (Process 3) Inputs : payment (data in) price (data in) Outputs : change due (data out) sufficient payment (control out) Body : IF payment >= price THEN change due = payment price sufficient payment = TRUE ELSE change due = 0 sufficient payment = FALSE END IF

Behavior Model State Transition Diagram (STD) initial accept new coin product dispensed accept new coin Waiting for a coin coin detected accept customer request Waiting for selection sufficient payment dispense product Dispensing product coin return request return payment product available=false return payment Returning payment payment returned accept new coin

Behavior Model CSPEC Dispense change : Process Activation Table coin return request product available get change coin get payment coin TRUE TRUE 1 0 D/C FALSE 0 1

Pemodelan Berorientasi Objek

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) 1996 : UML (Unified Modeling Language) Grady Booch+James Rumbaugh+Ivar Jacobson

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

Keuntungan UML 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

Object & Class 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) Nama Objek Atribut2 Operasi2

Object & Class 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

Object & Class Mahasiswa Instansiasi : penciptaan objek - NIM - Nama - Buat skripsi - Ujian Mahasiswa : Andi Mahasiswa - NIM : 001 - Nama : Andi - Buat skripsi - Ujian Mahasiswa : Eko Mahasiswa - NIM : 002 - Nama : Eko - Buat skripsi - Ujian Mahasiswa : Susi Mahasiswa - NIM : 003 - Nama : Susi - Buat skripsi - Ujian

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

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

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.

Identifikasi Operasi / Servis A specific behavior that an object is responsible for exhibiting [Yourdon] Langkah-langkahIdentifikasi 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

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

Use Case Diagram Enter object Customer Select product Get return coins

Use Case Scenario Flow of events for the Select product use-case Objective Actors Pre-condition Allow customer to select a certain product to dispense Customer 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. 2. If the selected product is available but there isn t enough number to order, the system will display a message The number isn t enough, max. x. X is the existing number of the product. Post-condition The selected product dispensed as the number needed

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 usecase

Use Case Association

Actor Generalization Two/more sub-actors generalized into a superactor 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

Actor Generalization

Class Diagram Menggambarkan struktur statis dari sistem Terdiri dari node (klas) dan relasi Jenis relasi Generalization ( is a inheritance) Association Aggregation ( part-of ) Composition

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?

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

Class Relationships

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

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 roughly one per use case

Class Stereotypes <<control>> Actor 1 <<boundary>> <<boundary>> Actor 2 <<entity>> <<entity>> Model interaction between the system and its environment boundary entity control

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

Sequence Diagram

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

Statechart Diagram initial accept new coin product dispensed accept new coin Waiting for a coin coin detected accept customer request Waiting for selection sufficient payment dispense product Dispensing product coin return request return payment product available=false return payment Returning payment payment returned accept new coin

Penutup Pemodelan kebutuhan diperlukan untuk meningkatkan pemahaman terhadap kebutuhan yang sedang dianalisis Pemodelan terstruktur meliputi pemodelan data models, process models dan behavioral models dari sistem yang sedang dikembangkan Pemodelan berorientasi objek mencakup scenario-based models, class models dan behavioral models dari sistem yang sedang dikembangkan Alat bantu yang digunakan dalam pemodelan terstruktur dan berorientasi objek terdapat perbedaan

Terimakasih v^^