REKAYASA PERANGKAT LUNAK ANALISIS. Defri Kurniawan M.Kom

dokumen-dokumen yang mirip
REKAYASA PERANGKAT LUNAK LANJUT ANALISIS TERSTRUKTUR. Defri Kurniawan M.Kom

Pembahasan. 1. Pemodelan UML. 3. Mekanisme Umum pada UML

Analisa dan Perancangan Sistem. Class dan package Diagrams

UML (Unified Modeling Language)

Pemodelan Berorientasi Objek

REKAYASA PERANGKAT LUNAK LANJUT MODEL ANALISIS. Defri Kurniawan M.Kom

Pemodelan Berorientasi Objek

ANALISIS BERORIENTASI OBJEK

4. Prinsip - Prinsip Pemodelan Visual

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

DASAR REKAYASA PERANGKAT LUNAK

TEKNIK TEKNIK ANALISA DESAIN MENGGUNAKAN UML PADA PERANCANGAN PROGRAM BERBASISKAN OBJECT

PENGANTAR RUP & UML. Pertemuan 2

Yuli Purwati, M.Kom USE CASE DIAGRAM

Notasi Object Oriented System. Chapter II

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

MATERI PEMODELAN PERANGKAT LUNAK KELAS XI RPL

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

BAB III METODOLOGI PENELITIAN

Nama : Rendi Setiawan Nim :

BAB II TINJAUAN PUSTAKA

Modul 9. Memahami dan menerapkan ERD (Entity Relationship Diagram) dan Normalisasi. Memahami Diagram EER (Enhanced Entity Relatioship Diagram)

Tugas Rekayasa Perangkat Lunak

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

SEJARAH UML DAN JENISNYA

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

Konsep Basis Data (Lanjut)

Gambar Use Case Diagram

BAB II LANDASAN TEORI

1. Konsep dan Prinsip Analisa

Romi Satria Wahono

12. KONSEP DAN PRINSIP ANALISIS

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

BAB II LANDASAN TEORI. Unified Modeling Language (UML) merupakan sistem arsitektur yang bekerja dalam

MAKALAH ELEMEN MODEL ANALISIS. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

BAB II TINJAUAN PUSTAKA

MODUL 4 Unified Software Development Process (USDP)

Kebutuhan dan Spesifikasi Perangkat Lunak

PEMODELAN SISTEM INFORMASI BERORIENTASI OBYEK TINJAUAN KEMBALI

Analisis Model Perangkat Lunak

BAB II. LANDASAN TEORI

MODEL ANALISA. Untuk Memenuhi Tugas Mata Kuliah Rekayasa Perangkat Lunak. Dosen Pembimbing : Wachyu Hari Haji, S.Kom, MM.

BAB III METODOLOGI PENELITIAN. Gambar 3.1 merupakan desain penelitian yang akan digunakan dalam

Kegunaan tahap ini adalah untuk memobilisasi dan mengorganisir g SDM yang akan melakukan Reengineering

BAB III OBJEK DAN METODE PENELITIAN. Universitas Padjadjaran yang beralamat di Jl. Ir H. Djuanda No 4 Bandung.

Gambar 4.1 Flowchart

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB II LANDASAN TEORI

Teknik Informatika S1

BAB II DASAR TEORI an dan sekitar awal 1960-an. Pada tahun 1968, NATO menyelenggarakan

Rekayasa Perangkat Lunak

BAB II LANDASAN TEORI

RANCANGAN APLIKASI LATIHAN BELAJAR TENSES DENGAN METODE OBJECT ORIENTED DESIGN

BAB 1 ASUMSI PERANAN PENGANALISIS SISTEM

REKAYASA PERANGKAT LUNAK II

UNIFIED MODELING LANGUAGE

Teknik Informatika S1

Pendahuluan Rekayasa Perangkat Lunak II. Alif Finandhita. Teknik Informatika UNIKOM

DAFTAR ISTILAH. Activity Diagram

BAB II TINJAUAN PUSTAKA

Materi 1. 1 Rekayasa Perangkat Lunak

BAB IV ANALISIS DAN PERANCANGAN SISTEM

BAB II TINJAUAN PUSTAKA

BAB III ANALISA DAN PERANCANGAN SISTEM. permasalahan yang ada sebagai dasar untuk membuat sebuah solusi yang

Teknik Informatika S1

FASE PENGEMBANGAN. MPSI sesi 7 & 8

DAFTAR ISI HALAMAN JUDUL PERTAMA

I.2 Identifikasi Masalah... I-2. I.3 Rumusan Masalah... I-2. I.4 Tujuan... I-3. I.5 Manfaat... I-3. I.6 Batasan Masalah... I-3

Rahmady Liyantanto Blog : liyantanto.wordpress.com

MEMAHAMI PENGGUNAAN UML

BAB IV ANALISIS DAN PERANCANGAN SISTEM. sistem yang telah ada, dimana analisis sistem merupakan proses mempelajari suatu

Disain System Berorientasi Objek (Unified Modeling Language) ( Studi Kasus : Sistem Informasi Manajemen Perpustakaan )

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

RANCANGAN PEMBELAJARAN

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

BAB III OBJEK DAN METODE PENELITIAN. domain & Web Hosting. Untuk lebih jelas mengenai gambaran umum perusahaan,

BAB 3 METODOLOGI PENELITIAN

BAB III METODOLOGI PENELITIAN

BAB II LANDASAN TEORI

Tugas Final Task. Mata Kuliah: Analisis dan Desain Sistem. Dosen : Henderi, M. Kom.

Analisis (Konvensional)

BAB VI PENUTUP Kesimpulan Saran DAFTAR PUSTAKA LAMPIRAN

Rancang Bangun Aplikasi Code Sharing Sebagai Alat Bantu Media Interaktif Perkuliahan Pada Mata Kuliah Pemrograman Web

REQUIREMENT ENGINEERING

LEMBARAN SOAL ULANGAN KENAIKAN KELAS Tahun 2014/ Komunikasi Paket Keahlian

BAB II LANDASAN TEORI

Rekayasa Perangkat Lunak (Software Engineering)

Lampiran 1 - Pengenalan terhadap UML (Unified Model Language)

BAB 2 LANDASAN TEORI 1.1 Sistem Informasi

Sistem Informasi OOAD dengan UML (1) Teknik Informatika UNIKOM

6.4 Siklus Hidup Pengembangan Sistem

MAKALAH ANALISIS & PERANCANGAN SISTEM II USE CASE DIAGRAM

BAB IV ANALISIS DAN PERANCANGAN SISTEM. hasil analisis ini digambarkan dan didokumentasiakan dengan metodologi

Unified Modeling Language

SATIN Sains dan Teknologi Informasi

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

SESI PERTAMA. 1.1 UML sebagai standarisasi. 1.2 UML, asal usul INFORMATION SYSTEM DESIGN USING UML YUDHO

BAB IV ANALISA DAN PERANCANGAN

Transkripsi:

REKAYASA PERANGKAT LUNAK ANALISIS Defri Kurniawan M.Kom

Penyelesaian Masalah by George Poyla George Poyla memberikan esensi praktik rekayasa perangkat lunak dalam menyelesaikan masalah meliputi [Pol45]: 1. Pahami permasalahannya (komunikasi & analisa) 2. Rancang solusinya (pemodelan & rancangan) 3. Laksanakan rancangannya (kegiatan menulis kode) 4. Periksa ketepatan hasilnya (pengujian & penjaminan kualitas)

Komunikasi Spesifikasi-spesifikasi kebutuhan pengguna harus diperoleh melalui aktifitas-aktifitas komunikasi sebelum dilakukannya analisis Sasaran dari spesifikasi kebutuhan adalah untuk memahami berbagai hal yang para stakeholder inginkan dari perangkat lunak yang akan dikembangkan

Software Requirement Requirements engineering adalah fase terdepan dari proses rekayasa perangkat lunak (software engineering), dimana software requirements (kebutuhan) dari user (pengguna) dan customer (pelanggan) dikumpulkan, dipahami dan ditetapkan. Kebanyakan kegagalan pengembangan software disebabkan karena adanya: Ketidakkonsistenan (inconsistent), Ketidaklengkapan (incomplete), maupun Ketidakbenaran (incorrect) dari requirements specification (spesifikasi kebutuhan)

Software Requirement Studi di The Standish Group mencatat bahwa prosentase akumulatif kegagalan sebuah project pengembangan software sebagian besar disebabkan oleh masalah requirements dan spesifikasinya [Standish-94].

Software Requirement - Definisi Requirements engineering adalah cabang dari software engineering yang mengurusi masalah yang berhubungan dengan: tujuan (dunia nyata), fungsi, dan batasan-batasan pada sistem software. Termasuk hubungan faktor-faktor tersebut dalam menetapkan spesifikasi yang tepat dari suatu software, proses evolusinya baik berhubungan dengan masalah waktu maupun dengan software lain [Zave-97]

Software Requirement Requirements engineering dibagi dalam 3 proses besar yaitu: elicitation, specification, validation and verification. Formula ini kemudian juga dikenal dengan nama The Three Dimensions of Requirements Engineering Proses requirements engineering ini dilakukan secara iterasi dengan mengakomodasi adanya feedback dari customer (user).

Software Requirement Software Requirement Process

Requirements Elicitation Adalah proses mengumpulkan dan memahami requirements dari user. Kadang masalah yang muncul berakar dari gap masalah knowledge domain (perbedaan disiplin ilmu yang dimiliki). Customer adalah expert pada domain yang softwarenya ingin dikembangkan (domain specialist), dilain pihak sang pengembang (requirements analyst) adakalanya sama sekali buta terhadap knowledge domain tersebut Gap knowledge domain tersebut yang diharapkan bisa diatasi dengan adanya interaksi terus menerus dan berulang (iterasi) antara pengembang dan customer

Requirements Specification Setelah masalah berhasil dipahami, pengembang mendeskripsikannya dalam bentuk dokumen spesifikasi. Spesifikasi ini berisi tentang fitur dan fungsi yang diinginkan oleh customer, dan sama sekali tidak membahas bagaimana metode pengembangannya. IEEE mengeluarkan standard untuk dokumen spesifikasi requirements yang terkenal dengan nama IEEE Recommended Practice for Software Requirements Specifications [IEEE-830]. Dokumen spesifikasi requirements bisa berisi functional requirements, performance requirements, external interface requirements, design constraints, maupun quality requirements.

Requirements Validation and Verification Setelah spesifikasi requirements berhasil dibuat, perlu dilakukan dua usaha: Validation (validasi), yaitu proses untuk memastikan bahwa requirements yang benar sudah ditulis. Verification (verifikasi), yaitu proses untuk memastikan bahwa requirements sudah ditulis dengan benar. Proses validasi dan verifikasi ini melibatkan customer (user) sebagai pihak yang menilai dan memberi feedback berhubungan dengan requirements.

Requirement (Persyaratan) Requirement adalah pernyataan yang mendefinisikan tujuan atau batasan sistem yang harus terpenuhi Perlu dipahami oleh tim pengembang dan divalidasi oleh para stakeholder dan pengguna (user) Sebagai kriteria penentuan lolos / gagal yang dapat diverifikasi oleh tim penguji Prioritas yang ditetapkan dalam kaitannya dengan persyaratan lain

Requirement (Persyaratan) Requirement dibagi menjadi 2 (dua): 1. Functional Requirement (persyaratan fungsional) Functional requirements define what the system or application will do 2. Non-functional Requirement (persyaratan non fungsional) A software requirement that describes not what the software will do, but how the software will do it, for example software performance requirements, software external interface requirements, design constraints, and software quality attributes IEEE Definition

Non Functional Requirement (NFR) Persyaratan perangkat lunak yang menggambarkan bagaimana perangkat lunak akan melakukannya, misalnya, persyaratan kinerja perangkat lunak, persyaratan antarmuka eksternal perangkat lunak, dan atribut kualitas perangkat lunak. Persyaratan nonfungsional sulit untuk diuji oleh karena itu, mereka biasanya dievaluasi secara subyektif

Contoh Functional & Non Functional Contoh Functional & Non Functional requirements dalam pengembangan Mobile Application: Functional Requirement: Cross platform compatible and works on most mobile browser Integrates a selected number of popular social networking sites in one place Communicates with social networking APIs Uses login and OAuth mechanisms to authorize Records and monitors social networking activity Stores the data locally Displays total statistics for the user

Contoh Functional & Non Functional Non functional requirements Record statistics accurately Fast navigation Flexibility to choose which sites they want to integrate out of 3 and do not always have to use all 3. For example; the user should still be able to use Facebook and Twitter in the App and leave out YouTube (if they are not interested inyoutube). App should be able to function with chosen sites. Should be flexible in terms of being able to integrate other popular social networking sites too Should be available to users to use anytime

Model Analisis Analisis adalah tindakan yang terjadi saat kebutuhan-kebutuhan sudah didapatkan Sasaran model analisis adalah untuk memberikan deskripsi dari ranah informasional, fungsional, dan perilaku yang dibutuhkan untuk sistem-sistem berbasis komputer. Pemodelan analisis berfokus pada Apa, bukan Bagaimana

Letak Model Analisis Deskripsi Sistem Model Analisis Model Perancangan Model Analisis sebagai jembatan Deskripsi Model dan Model Perancangan

Elemen-elemen Model Analisis Secara umum, model-model analisis memiliki elemen-elemen spesifik seperti di bawah ini: Elemen berbasis skenario Elemen berbasis kelas Elemen berbasis aliran Elemen-elemen perilaku Bentuk representasi yang berbeda memberi pertimbangan kebutuhan-kebutuhan sistem/ perangkat lunak dari berbagai sudut pandang yang berbeda

Elemen-elemen Model Analisis

Elemen-elemen Model Analisis Elemen-elemen berbasis skenario Memperlihatkan bagaimana interaksi yang kelak akan terjadi antara pengguna dengan sistem/perangkat lunak Memperlihatkan sejumlah aktifitas berurutan yang terjadi saat perangkat lunak digunakan Elemen model berbasis kelas Memodelkan objek-objek yang akan dimanupulasi oleh sistem Memodelkan operasi-operasi yang akan diterapkan Memodelkan relasi yang terjadi antara objek satu dengan lainnya

Elemen-elemen Model Analisis Elemen-elemen perilaku (behavior) Memperlihatkan bagaimana event-event eksternal melakukan perubahan pada keadaan (state) sistem atau kelas-kelas yang ada di dalamnya Elemen-elemen berorientasi aliran Memperlihatkan sistem/perangkat lunak yang bertindak sebagai pelaku transformasi informasi Memperlihatkan bagaimana objek-objek data ditransformasikan saat mereka mengalir melintasi berbagai fungsi yang dimiliki sistem

Sasaran Model Analisis Model-model analisis harus mencapai 3 sasaran: Untuk mendeskripsikan apa yang pelanggan inginkan Menetapkan dasar bagi perancangan sistem/perangkat lunak Untuk mendefinisikan sejumlah kebutuhan yang dapat divalidasi saat sistem/perangkat lunak dikembangkan

Pendekatan Model Analisis Analisis Terstruktur Objek-objek data dimodelkan dengan cara mendefinisikan atribut-atribut serta relasi-relasinya Memperlihatkan bagaimana caranya mereka melakukan transformasi data saat objek-objek data mengalir di dalam sistem yang akan dikembangkan Analisis Berorientasi Objek Berfokus pada pendefinisian kelas-kelas dan cara bagaimana mereka saling bekerjasama satu dengan yang lainnya

REKAYASA PERANGKAT LUNAK ANALISIS TERSTRUKTUR

Analisis Terstruktur Analisis Terstruktur Objek-objek data dimodelkan dengan cara mendefinisikan atribut-atribut serta relasi-relasinya Memperlihatkan bagaimana caranya mereka melakukan transformasi data saat objek-objek data mengalir di dalam sistem yang akan dikembangkan Mempertimbangkan data dan proses-proses yang melakukan transformasi terhadap data tersebut sebagai entitas-entitas yang saling terpisah satu dengan lainnya

Analisis Terstruktur Bagan Model Analisis Terstruktur email Fasilkom 4/25/2014

Analisis Terstruktur Data dictionary : Deskripsi dari semua obyek data ERD : Menggambarkan hubungan antar obyek data. DFD : Bagaimana data ditransformasikan pada sistem Fungsi yang mentransformasikan aliran data STD (State Transition Diagram): Bagaimana sistem bertingkah laku akibat kejadian eksternal DOD (Data Object Description) : deskripsi atribut untuk tiap obyek data PSpec (Process Spec.): deskripsi tiap proses pada DFD Control Spec. : Deskripsi tiap transisi pada DFD

Data Modeling (Penjelasan) Kapan menggunakan Pemodelan Data? Jika kebutuhan-kebutuhan perangkat lunak mencakup kebutuhan untuk membuat, memperluas atau bersinggungan dengan basis data atau jika struktur data yang kompleks harus dibentuk dan dimanipulasi. Analis sistem akan menggunakan pendekatan analisis terstruktur dengan elemen-elemen berorientasi aliran

Data Modeling - ERD Memungkinkan untuk identifikasi obyek data dan hubungannya dengan menggunakan notasi grafis Menetapkan semua data yang dimasukkan, disimpan, ditransformasikan dan diproduksi pada suatu aplikasi Hanya berfokus pada data

Data Modeling - ERD Komponen-komponen ERD Entitas (entity) Relasi (relationship) Atribut (attribute) Kardinalitas (kardinality) Modalitas (modality)

ERD - Entitas Definisi Sebuah obyek yang dapat dibedakan dari obyek lain Contoh Individu : pegawai, pelanggan, mahasiswa, distributor Tempat : kampus, kantor, lapangan Obyek : buku, motor, paket software Peristiwa : pendaftaran, pemesanan, penagihan Konsep : rekening, kualifikasi

ERD Enititas (Contoh) email Fasilkom 4/25/2014

ERD - Relasi

ERD Atribut

ERD Kardinalitas (Definisi)

ERD - Kardinalitas (Contoh)

ERD Modalitas

ERD Tahapan Pembuatan ERD Tahapan pembuatan E-R Diagram : Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat Menentukan atribut-atribut kunci dari masing-masing himpunan entitas Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas himpunan entitas yang ada beserta foreign key (kunci tamu) Menentukan derajad / kardinalitas relasi untuk setiap himpunan entitas Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif

ERD Langkah #1 1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat Mahasiswa Kuliah Dosen

ERD Langkah #2 2. Menentukan atribut-atribut kunci dari masing-masing himpunan entitas Nim Kd_kul Kd_dos Mahasiswa Kuliah Dosen

ERD Langkah #3 3.Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas himpunan entitas yang ada beserta foreign key (kunci tamu) Nim Kd_kul Nim Kd_kul Kd_kul Kd_dos Kd_dos Mem Mahasiswa pelaja Kuliah Dosen ri Mengaj ar 4 2

ERD Langkah #4 4. Menentukan derajad / kardinalitas relasi untuk setiap himpunan entitas Nim Kd_kul Nim Kd_kul Kd_kul Kd_dos Kd_dos M 1 Mem N N Meng Mahasiswa pelaj Kuliah Dosen ajar ari

ERD Langkah #5 5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif Nim Kd_kul Nim Kd_kul Kd_kul Kd_dos Kd_dos N 1 Mem N N Meng Mahasiswa pelaj Kuliah Dosen ajar ari Nama _mhs nilai waktu ruang Nama _dos

Data Modeling (Kriteria)

Data Modeling (Konsep)

DFD DFD (Data Flow Diagram) Memperlihatkan gambaran tentang masukanproses-keluaran dari suatu sistem/perangkat lunak yaitu objek-objek data mengalir ke dalam perangkat lunak. DFD yang pertama sering sering disebut DFD level 0 atau Context Diagram DFD mengambangkan model-model dari suatu ranah informasional dan fungsional

DFD Entitas eksternal: Penghasil/Penerima informasi/perintah Proses: transfer informasi (fungsi) yang ada dalam bound sistem Aliran data: jembatan penghubung antara Entitas eksternal dan Proses ataupun proses dengan proses, proses dengan penyimpanan Penyimpanan data Or

Contoh Kasus Suatu perusahaan memiliki ide/terobosan tentang produk baru produk-produk pengelola rumah yang disebut dengan SafeHome. Teknologinya menggunakan antarmuka nirkabel protokol 802.11g yang memungkinkan pemilik rumah/pemilik bisnis kecil mengendalikan sistem dengan komputer pribadi untuk memantau keamanan/pengawasan rumah.

Contoh Kasus (lanj) Fungsi keamanan SafeHome memungkinkan pemilik rumah untuk melakukan konfigurasi terhadap sistem keamanan saat diinstal Memungkinkan pemilik rumah memantau semua sensor yang terhubung ke sistem keamanan melalui panel kendali Memungkinkan pemilik rumah berinteraksi atau menerima informasi melalui web browser, komputer pribadi atau penel kendali Masing-masing sensor akan memiliki nomer & jenisnya masing-masing serta memiliki kata sandi utama untuk mengaktifkan/menonaktifkan sistem

Contoh Kasus (lanj) Nomer telepon merupakan masukan (input) untuk pemanggilan telepon saat suatu event pada sensor terjadi Saat event pada sensor terjadi, perangkat lunak yang ada di sistem SafeHome akan mengaktifkan alarm suara Informasi yang ditampilkan melalui web browser, komputer pribadi atau penel kendali disebut antarmuka, dapat menampilkan pesan-pesan masukan tertentu dan informasi pada status penel kendali

Menyusun DFD Analisis Bagaimana DFD-nya? Siapa penghasil informasi pada sistem? Siapa penerima informasi pada sistem? Apa/siapa saja yang terlibat pada sistem? Fungsional apa saja yang dimiliki sistem atau perangkat lunak yang dikembangkan? Perintah apa saja yang diberikan ke sistem? Kemana perintah yang diberikan itu muncul? Kepada siapa penerimanya?

Menyusun DFD Analisis 1. Pisahkan kata benda (Entitas) & kata kerja (aktifitas) 2. Analisis: Aktifitas-aktifitas: Melakukan konfigurasi sistem melalui penel kendali Memantau sensor-sensor melalui panel kendali Berinteraksi melalui panel kendali Mangaktifkan/mnonaktifkan sistem melalui panel kendali Sensor-sensor mengaktifkan alarm Melakukan penggilan telpon saat even terjadi pada sensor Menampilkan pesan-pesan & informasi (status) pada tampilan antarmuka

Menyusun DFD Analisis Perintah/Informasi muncul dari: Panel Kendali, Sensor-sensor Penerima perintah/informasi: Alarm, Tampilan Panel Kendali, Nomer Telpon

DFD Level 0 / Context Diagram (CD) DFD Level 0 / CD Fungsi Keamanan SafeHome

DFD Level 1 DFD Level 1 Fungsi Keamanan SafeHome

DFD Level 2 DFD Level 2 Proses Memantau Sensor-sensor

Latihan DFD Perusaahan ingin membuat sistem penggajian, dengan prosedur pegawai melakukan pendaftaran terlebih dahulu pada biro keuangan dengan memberikan data pribadinya. Standar gaji ditentukan berdasar pada tingkat golongan (eselon). Pegawai menerima gaji bersih & slip dengan menghitung keaktifan kerja (presensi), pinjaman (jika ada) dan pajak. Rancanglah DFD secara bertingkat (sesuai kebutuhan) pada kasus di atas

REKAYASA PERANGKAT LUNAK ANALISIS BERORIENTASI OBJEK

Analisis Berorientasi Objek Analisis Berorientasi Objek Berfokus pada pendefinisian kelas-kelas dan cara bagaimana mereka saling bekerjasama satu dengan yang lainnya untuk memenuhi kebutuhan para pelanggan. Pada Paradigma Analysis Design dan Diagram, Unified Modeling Language (UML) merupakan perkakas (tools) yang digunakan untuk melakukan pemodelan berorientasi objek

Analysis Design Paradigm and Diagrams 1. Data-oriented DFD 2. Process-oriented Flowchart 3. Object-oriented (data + process) UML

What is the UML? UML: Unified Modeling Language UML dapat digunakan untuk memodelkan semua proses dalam siklus hidup pengembangan dan seluruh teknologi implementasi yang berbeda UML adalah bahasa standar untuk memvisualisasikan,menspesifiksi, konstruksi, dan mendokumentasikan artifak dari sistem perangkat lunak UML adalah suatu alat komunikasi untuk team dan para stakeholders

Why Modeling? Modeling menangkap bagian penting dari sistem (James Rumbaugh) Business Process Computer System Visual Modeling adalah pemodelan yang menggunakan notasi grafik standar

The Triangle of Success in Software Dev. Notation: Standard email Process: Tools: CustomerOriented Methodology Support Standard and Process Fasilkom 4/25/2014

Æ Á ¹ ¼ ëçñ º ±â»ç ëàú äã»çñ Ù. È ÀÏ ü ÀÚ Â Àоî  ¹ ¼ ÀÇ Á º ÇØ ç ¹ ¼ ü ¼³Á À» äã»çñ Ù. È é ü  ÀоîµéÀΠüµé ëçø ÀÌ º Î Á ÄÀ» ½ÃÄÑ È é º ÁØ Ù. 1: Doc view request ( ) 9: sortbyname ( ) L 2: fetchdoc( ) 3: create ( ) 6: filldocument ( ) 4: create ( ) 8: fillfile ( ) 5: readdoc ( ) 7: readfile ( ) Window95 ¹ ¼ ü Å óàì¾ðæ.exe Windows NT Windows NT ¹ ¼ ü Áø.EXE Windows95 IBM Mainframe µ ÀÌÅ º À̽º¼ ¹ö Solaris ÀÀ ë¼ ¹ö.EXE Windows95 ¹ ¼ ü ¾ÖÇà Alpha UNIX UML Diagrams Use-Case Diagram Class Diagram Statechart Diagram add f ile DocumentList FileMgr Document Actor A Use Case 1 Use Case 2 Actor B fetchdoc( ) sortbyname( ) add( ) delete( ) FileList flist add( ) delete( ) 1 name : int docid : int numfield : int get( ) open( ) close( ) read( ) sortfilelist( ) create( ) filldocument( ) read() fill the code.. Openning add f ile [ numberof f ile==max ] / f lag OFF close f ile Writing Reading close f ile Closing Use Case 3 Collaboration Diagram 1: Doc view request ( ) 9: sortbyname ( ) mainwnd : MainWnd rep Repository (from Persistence) name : char * = 0 readdoc( ) readfile( ) read( ) File GrpFile read( ) open( ) create( ) fillfile( ) FileManager Repository DocumentList Deployment Diagram 2: fetchdoc( ) 4: create ( ) gfile : GrpFile Document 8: fillfile ( ) user : Clerk filemgr : FileMgr 3: create ( ) 6: filldocument ( ) GraphicFile File FileList 7: readfile ( ) repository : Repository 5: readdoc ( ) document : Document user mainwnd filemgr : FileMgr Sequence Diagram document : Document gfile repository Component Diagram Forward and Reverse Engineering Target System

UML 2.0 UML version 2.0 memiliki 14 diagram yang terbagi pada 2 kelompok besar: 1. Structure Diagrams 2. Behavior Diagrams

UML Structure Diagrams Diagram-diagram yang dikelompokkan ke dalam Structure Diagram meliputi: 1. Class Diagram 2. Object Diagram 3. Package Diagram 4. Deployment Diagram 5. Component Diagram 6. Composite Structure Diagram

Structure Diagrams 1. Class Diagrams Kosakata umum yang digunakan oleh analis dan pengguna Mewakili sesuatu/benda (employee, paycheck, ) Menunjukkan hubungan antar kelas 2. Object Diagrams Mirip dengan Class Diagram Gambaran tentang objek-objek dalam sistem Hubungan antar objek 3. Package Diagrams Kelompok elemen-elemen UML digunakan untuk membentuk tingkat konstruksi yang lebih tinggi

Structure Diagrams 4. Deployment Diagrams Menunjukkan arsitektur fisik dan komponen perangkat lunak sistem For example, network nodes 5. Component Diagrams Hubungan fisik di antara komponen perangkat lunak Example Client/Server (Mesin mana yang berjalan pada software yang mana) 6. Composite Structure Menggambarkan struktur internal dari kelas yang kompleks

UML Behavior Diagrams Diagram-diagram yang dikelompokkan ke dalam Behavior Diagram meliputi 1. Activity Diagram 2. Sequence Diagram 3. Communication Diagram 4. Interaction Diagram 5. Timing Diagram 6. Behavior State Machine 7. Protocol State Machine 8. Use Case Diagrams

Behavior Diagrams 1. Activity Diagrams Model proses pada suatu sistem informasi Example: Business workflows, business logic 2. Interaction Diagrams Menunjukkan interaksi anatar objek 3. Sequence Diagrams Urutan berdasarkan waktu interaksi 4. Communication Diagrams Komunikasi antara sekumpulan objek yang berkolaborasi dari suatu aktivitas

Behavior Diagrams 5. Interaction Diagrams Kilasan aliran control dari suatu proses 6. Timing Diagrams Menunjukkan bagaimana suatu objek berubah dari waktu ke waktu 7. State Machines Memeriksa perilaku dari suatu kelas Menunjukkan model keadaan-keadaan yang berbeda dan transisi keadaan dari suatu objek 8. Use-Case Diagrams Menunjukkan interaksi antara sistem dan lingkungan Menangkap kebutuhan bisnis

Tahapan Analisa dan Design OOAD 1. System Analysis 1. Business Process Identification Use Case Diagram 2. Business Process Modeling Activity Diagram 3. Business Process Realization Sequence Diagram 2. System Design 1. Program Design 1. Class Diagram 2. Package Diagram (Gabungan class yang sesuai) 3. Deployment Diagram (arsitektur software dari sistem yang dibangun) 2. User Interface Design (Buat UI design) 3. Entity-Relationship Model (Buat ER diagram)