REKAYASA KEBUTUHAN & MODEL ANALISIS

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

Romi Satria Wahono

Teknik Informatika S1

DASAR REKAYASA PERANGKAT LUNAK

REQUIREMENT ENGINEERING

REKAYASA PERANGKAT LUNAK ANALISIS. Defri Kurniawan M.Kom

SOFTWARE ENGINEERING ANALYSIS & DESIGN. Project Method (Analysis Phase)

REKAYASA PERANGKAT LUNAK LANJUT WEB ENGINEERING. Defri Kurniawan M.Kom

Requirements Engineering. Materi 5

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

ANALISA & PERANCANGAN SISTEM

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

PENGANTAR RUP & UML. Pertemuan 2

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

Pemodelan Berorientasi Objek

Tugas Rekayasa Perangkat Lunak

Pemahaman (cont.) Analisis merupakan sebuah : Penemuan Perbaikan Pemodelan Spesifikasi (baru) Tim RPL 1

MANAJEMEN PROYEK FRAMEWORK

BAB I PENDAHULUAN. dalam memperkenalkan identitas suatu bangsa. Provinsi Jawa Barat adalah salah

Rekayasa Perangkat Lunak

BAB III LANDASAN TEORI

PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK

Requirement? Teknik Informatika S1. Definisi. Rekayasa Perangkat Lunak. Pengertian Requirement. Pengertian Requirement Engineering

1. PENDAHULUAN 1.1. Latar Belakang

Analisis Model Perangkat Lunak

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

Teknik Informatika S1

Teknik Informatika S1

Review & Summarize REKAYASA KEBUTUHAN PERANGKAT LUNAK ABOERYZAL AHMED KOESYAIRY / IMAM AFANDI AHMAD /

BAB 3 METODOLOGI PENELITIAN

Produk perangkat lunak tersebut:

Jenis Metode Pengembangan Perangkat Lunak

RE PROCESS. Rekayasa dan Manajemen Kebutuhan

Rational Unified Process (RUP)

PEMBANGUNAN WEB SERVICE UNTUK MENDUKUNG DASHBOARD SYSTEM BERBASIS LOKASI

Rekayasa Perangkat Lunak (Software Engineering)

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

KAJIAN KEBUTUHAN PERANGKAT LUNAK UNTUK PENGEMBANGAN SISTEM INFORMASI DAN APLIKASI PERANGKAT LUNAK BUATAN LAPAN BANDUNG

REKAYASA PERANGKAT LUNAK LANJUT DESIGN ENGINEERING. Defri Kurniawan M.Kom

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

BAB 3 METODE PENELITIAN

Bab 1 PENDAHULUAN UKDW

BAB I PENDAHULUAN. perkembangan teknologi yang ada. Semakin banyak fitur yang dibenamkan ke

BAB 4 METODOLOGI PEMECAHAN MASALAH

PROSES DESAIN FAKULTAS ILMU KOMPUTER - UNIVERSITAS BRAWIJAYA 3/14/2017

PERANAN TEAM SOFTWARE PROCESS PADA REKAYASA PERANGKAT LUNAK

BAB 2 LANDASAN TEORI

Arsitektur Sistem Informasi. Tantri Hidayati Sinaga, M.Kom.

Rekayasa Perangkat Lunak

Requirements Engineering. TIM RPL Program Studi Teknik Informatika

pada masalah pengumpulan kebutuhan pengguna pada tingkatan sistem (system requirements) dengan mendefinisikan konsep sistem beserta interface yang

Mia Fitriawati, M.Kom

Kebutuhan Perangkat Lunak Dalam Pengembangan Sistem Informasi. Muhamad Alif, FT UTM 2012

Pendahuluan Rekayasa Perangkat Lunak

UML USE CASE DIAGRAM

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

BAB I PENDAHULUAN. 1.1 Latar Belakang

WEB DEVELOPMENT by Hestiasari Rante-Pasila. Week 1 Requirements Engineering

1 BAB III ANALISIS DAN PERANCANGAN SISTEM. permasalahan, solusi permasalahan dan perancangan sistem dalam rancang

Testing dan Implementasi Sistem

Pemrograman Web Berbasis Framework. Pertemuan 13 : Pengembangan Project (Bag. 1) Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

BAB I PENDAHULUAN. terjadi pada media yang digunakan,tetapi pada isi dari komunikasi yang dibuat.

BAB I PENDAHULUAN. bagaimana membuat mesin (komputer) dapat melakukan pekerjaan seperti dan

Nama : Rendi Setiawan Nim :

REKAYASA PERANGKAT LUNAK INTERFACE DESIGN. Defri Kurniawan M.Kom

MANAJEMEN KEBUTUHAN PERANGKAT LUNAK

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

Praktik Rekayasa Perangkat Lunak

REKAYASA PERANGKAT LUNAK LANJUT ANALYSIS WEB E. Defri Kurniawan M.Kom

Modul Praktikum Analisis dan Perancangan Sistem Halaman 1 dari 58

BAB 3. METODOLOGI PENELITIAN

Teknik Informatika S1

Pengembangan Sistem Informasi

LANGKAH-LANGKAH MEMBUAT SOFTWARE MENURUT RUP

BAB 3 METODOLOGI PENELITIAN

METODE DAN TEKNIK PENGEMBANGAN SISTEM INFORMASI

IF2261 Software Analysis Part I

RENCANA PEMBELAJARAN SEMESTER (RPS)

2.4.4 Activity Diagram... II Sequence Diagram... II Collaboration Diagram... II Implementasi... II PHP...

(Source: Pressman, R. Software Engineering: A Practitioner s Approach. McGraw-Hill, 2010)

BAB I PENDAHULUAN. khasanah budaya bangsa, serta memberikan berbagai layanan jasa lainnya.

BAB I PENDAHULUAN. teknologi tepat guna dengan fasilitas seperti sumber informasi dan data yang dapat diakses

Catatan Kuliah Rekayasa Perangkat Lunak (Software Engineering) Bagian 2

PERENCANAAN PROYEK PERANGKAT LUNAK

A. Spesifikasi Perangkat Lunak

Web Engineering Mengenal Rekayasa Web. Husni Husni.trunojoyo.ac.id

SPESIFIKASI PERANGKAT LUNAK

SOFTWARE QUALITY ASSURANCE

BAB I PENDAHULUAN I-1

BAB III METODOLOGI PENELITIAN

SDLC Concepts. Muhammad Yusuf D3 Manajemen Informatika Universitas Trunojoyo

REKAYASA PERANGKAT LUNAK 1

PENGEMBANGAN APLIKASI PENJUALAN SPAREPART DI BENGKEL ANUGRAH JAYA MOTOR BERBASIS DESKTOP

BAB 4 METODOLOGI PENELITIAN

Analisa Desain Berorientasi Objek. Model dan Pemodelan. Oleh : Rahmady Liyantanto. Teknik Informatika Fakultas Teknik Universitas Trunojoyo 2011

LAMPIRAN A KERANGKA DOKUMEN ANALISIS

Rekayasa Perangkat Lunak Rekayasa Kebutuhan. Teknik Informatika UNIKOM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pengenalan Obyek. Arna Fariza. Materi

Transkripsi:

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

Content Requirement Engineering Requirement Engineering Tasks Functional Requirement & Non Functional Requirement Keluaran Pemodelan Kebutuhan Web Model Analisis & Elemen-elemen Model Analisis Sasaran Model Analisis Pendekatan Model Analisis

Requirement Engineering 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.

Requirement Engineering (cont) Kebanyakan kegagalan pengembangan software disebabkan karena adanya: Ketidakkonsistenan (inconsistent), Ketidaklengkapan (incomplete), maupun Ketidakbenaran (incorrect) dari requirements specification (spesifikasi kebutuhan)

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

Requirement Engineering (cont) 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].

Requirement Engineering (cont) 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

Requirements Engineering Task Proses requirements engineering ini dilakukan secara iterasi dengan mengakomodasi adanya feedback dari customer (user). Tugas-tugas yang dilakukan pada requirements engineering meluputi: Inception Elicitation Elaboration Negotiation Spesification and Validation

Requirements Engineering Task (cont) Requirements engineering dimulai dengan: Inception yang mendefinisikan lingkup / scope dan sifat masalah yang akan dipecahkan. Elicitation yang membantu para pemangku kepentingan menentukan apa yang dibutuhkan. Elaboration dimana persyaratan dasar disempurnakan dan dimodifikasi. Negotiation dengan stakeholder dalam mendefinisikan masalah, apa yang menjadi prioritas, apa yang penting, kapan itu diperlukan?

Requirements Engineering Task (lanj) Akhirnya, masalah ditentukan (spesification) dalam beberapa cara dan kemudian ditinjau dan dievaluasi untuk memastikan (validation) bahwa pemahaman Anda tentang masalah dan pemahaman para pemangku kepentingan dari masalah sama

Requirements Engineering Task (lanj) 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

Keluaran Pemodelan Kebutuhan Web Ada 5 jenis kelas model yang utama untuk aplikasi web: Model Isi Model Interaksi Model Fungsional Model Navigasi Model Konfigurasi

Keluaran Pemodelan Kebutuhan Web Model Isi Mengidentifikasi sejumlah besar isi yang akan ada dalam aplikasi web, termasuk di dalamnya adalah teks, grafik & gambar, video, dan data suara Model Interaksi Mendefinisikan bagaimana caranya para pengguna akan berinteraksi dengan aplikasi web Model Fungsional Mendefinisikan operasi-operasi yang akan diterapkan

Keluaran Pemodelan Kebutuhan Web Model Navigasi Mendefinisikan strategi navigasi keseluruhan untuk aplikasi web yang sedang dikembangkan Model Konfigurasi Mendefinisikan lingkungan serta infrastruktur dimana aplikasi berada

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)

Konsep Komunikasi & Analisa 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 Analisis adalah tindakan yang terjadi saat kebutuhan-kebutuhan sudah didapatkan

Validasi Kebutuhan Setelah kebutuhan-kebutuhan didapatkan, perlu melakukan validasi terhadap kebutuhan-kebutuhan tsb. Daftar pertanyaan seperti ini, perlu kita fikirkan: Apakah kebutuhan-kebutuhan dinyatakan dengan jelas? Mungkinkah kebutuhan-kebutuhan itu mengalami salah penafsiran? Apakah sumber kebutuhan-kebutuhan (misalnya: orang, aturan, dokumentasi) telah diidentifikasi? Apakah pernyataan final tentang kebutuhan-kebutuhan telah diperiksa atau dilacak sumber aslinya?

MODEL ANALISIS

Model Analisis 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 email Fasilkom 10/2/2018

Elemen-elemen Model Analisis Elemen-elemen berbasis skenario Memperlihakan 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