REKAYASA KEBUTUHAN & MODEL ANALISISdinus.ac.id/repository/docs/ajar/02_-_RPLL.2018...Spesifikasi ini...
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 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
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
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