REKAYASA KEBUTUHAN & MODEL ANALISISdinus.ac.id/repository/docs/ajar/02_-_RPLL.2018...Spesifikasi ini...

35
email Fasilkom|| 10/2/2018 REKAYASA KEBUTUHAN & MODEL ANALISIS Defri Kurniawan M.Kom REKAYASA PERANGKAT LUNAK LANJUT

Transcript of REKAYASA KEBUTUHAN & MODEL ANALISISdinus.ac.id/repository/docs/ajar/02_-_RPLL.2018...Spesifikasi ini...

email Fasilkom|| 10/2/2018

REKAYASA KEBUTUHAN & MODEL ANALISIS

Defri Kurniawan M.Kom

REKAYASA PERANGKAT LUNAK LANJUT

email Fasilkom|| 10/2/2018

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

email Fasilkom|| 10/2/2018

Requirement Engineering

Requirements engineering adalah faseterdepan dari proses rekayasa perangkatlunak (software engineering), dimanasoftware requirements (kebutuhan) dari user(pengguna) dan customer (pelanggan) dikumpulkan, dipahami dan ditetapkan.

email Fasilkom|| 10/2/2018

Requirement Engineering – (cont)

Kebanyakan kegagalan pengembangansoftware disebabkan karena adanya: Ketidakkonsistenan (inconsistent), Ketidaklengkapan (incomplete), maupun Ketidakbenaran (incorrect) dari requirements

specification (spesifikasi kebutuhan)

email Fasilkom|| 10/2/2018

Requirement Engineering – (cont)

Studi di The Standish Group mencatat bahwaprosentase akumulatif kegagalan sebuahproject pengembangan software sebagianbesar disebabkan oleh masalah requirements dan spesifikasinya [Standish-94].

email Fasilkom|| 10/2/2018

Requirement Engineering – (cont)

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

email Fasilkom|| 10/2/2018

Requirement Engineering – (cont)

Requirements engineering dibagi dalam 3 prosesbesar yaitu: elicitation, specification, validation and verification.

Formula ini kemudian juga dikenal dengan nama The Three Dimensions of Requirements Engineering

email Fasilkom|| 10/2/2018

Requirements Engineering Task

Proses requirements engineering ini dilakukansecara iterasi dengan mengakomodasi adanyafeedback dari customer (user).

Tugas-tugas yang dilakukan pada requirements engineering meluputi: Inception Elicitation Elaboration Negotiation Spesification and Validation

email Fasilkom|| 10/2/2018

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?

email Fasilkom|| 10/2/2018

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

email Fasilkom|| 10/2/2018

Requirements Engineering Task (lanj)

Software Requirement Process

email Fasilkom|| 10/2/2018

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), dilainpihak sang pengembang (requirements analyst) adakalanyasama sekali buta terhadap knowledge domain tersebut

Gap knowledge domain tersebut yang diharapkan bisadiatasi dengan adanya interaksi terus menerus dan berulang(iterasi) antara pengembang dan customer

email Fasilkom|| 10/2/2018

Requirements Specification

Setelah masalah berhasil dipahami, pengembangmendeskripsikannya dalam bentuk dokumen spesifikasi. Spesifikasi ini berisi tentang fitur dan fungsi yang diinginkanoleh customer, dan sama sekali tidak membahas bagaimanametode pengembangannya.

IEEE mengeluarkan standard untuk dokumen spesifikasirequirements 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.

email Fasilkom|| 10/2/2018

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 melibatkancustomer (user) sebagai pihak yang menilai danmemberi feedback berhubungan denganrequirements.

email Fasilkom|| 10/2/2018

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

email Fasilkom|| 10/2/2018

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

email Fasilkom|| 10/2/2018

Non Functional Requirement (NFR)

Persyaratan perangkat lunak yang menggambarkanbagaimana perangkat lunak akan melakukannya, misalnya, persyaratan kinerja perangkat lunak, persyaratan antarmuka eksternal perangkat lunak, dan atribut kualitas perangkat lunak.

Persyaratan nonfungsional sulit untuk diuji olehkarena itu, mereka biasanya dievaluasi secarasubyektif

email Fasilkom|| 10/2/2018

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

email Fasilkom|| 10/2/2018

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

email Fasilkom|| 10/2/2018

Keluaran Pemodelan Kebutuhan Web

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

email Fasilkom|| 10/2/2018

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

email Fasilkom|| 10/2/2018

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

email Fasilkom|| 10/2/2018

Penyelesaian Masalah by George Poyla

George Poyla memberikan esensi praktik rekayasaperangkat lunak dalam menyelesaikan masalahmeliputi [Pol45]:

1. Pahami permasalahannya (komunikasi & analisa)2. Rancang solusinya (pemodelan & rancangan)3. Laksanakan rancangannya (kegiatan menulis kode)4. Periksa ketepatan hasilnya (pengujian &

penjaminan kualitas)

email Fasilkom|| 10/2/2018

Konsep Komunikasi & Analisa

Spesifikasi-spesifikasi kebutuhan pengguna harusdiperoleh melalui aktifitas-aktifitas komunikasisebelum dilakukannya analisis

Sasaran dari spesifikasi kebutuhan adalah untukmemahami berbagai hal yang para stakeholderinginkan dari perangkat lunak yang akandikembangkan

Analisis adalah tindakan yang terjadi saatkebutuhan-kebutuhan sudah didapatkan

email Fasilkom|| 10/2/2018

Validasi Kebutuhan

Setelah kebutuhan-kebutuhan didapatkan, perlumelakukan validasi terhadap kebutuhan-kebutuhantsb.

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?

email Fasilkom|| 10/2/2018

MODEL ANALISIS

email Fasilkom|| 10/2/2018

Model Analisis

Sasaran model analisis adalah untuk memberikandeskripsi dari ranah informasional, fungsional, danperilaku yang dibutuhkan untuk sistem-sistemberbasis komputer.

Pemodelan analisis berfokus pada “Apa”, bukan“Bagaimana”

email Fasilkom|| 10/2/2018

Letak Model Analisis

Model Perancangan

DeskripsiSistem

Model Analisis sebagai jembatan Deskripsi Model dan Model Perancangan

Model Analisis

email Fasilkom|| 10/2/2018

Elemen-elemen Model Analisis

Secara umum, model-model analisis memilikielemen-elemen spesifik seperti di bawah ini: Elemen berbasis skenario Elemen berbasis kelas Elemen berbasis aliran Elemen-elemen perilaku

Bentuk representasi yang berbeda memberipertimbangan kebutuhan-kebutuhan sistem/ perangkat lunak dari berbagai sudut pandang yang berbeda

email Fasilkom|| 10/2/2018

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

email Fasilkom|| 10/2/2018

Elemen-elemen Model Analisis

Elemen-elemen perilaku (behavior) Memperlihatkan bagaimana event-event eksternal

melakukan perubahan pada keadaan (state) sistem ataukelas-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 melintasiberbagai fungsi yang dimiliki sistem

email Fasilkom|| 10/2/2018

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

email Fasilkom|| 10/2/2018

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 denganyang lainnya

email Fasilkom|| 10/2/2018