Requirements Engineering. Materi 5

dokumen-dokumen yang mirip
Teknik Informatika S1

Ratna Wardani. Department of Electronic Engineering Yogyakarta State University

REQUIREMENT ENGINEERING

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

PENGANTAR RUP & UML. Pertemuan 2

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


Materi Kuliah 2 Analisa kebutuhan dan Spesifikasi Perangkat Lunak

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

Ringkasan Chapter 12 Developing Business/ IT Solution

Teknik Informatika S1

Inititating Process Group

Untuk menggambarkan kegiatan rekayasa persyaratan pokok dan hubungan mereka. Untuk memperkenalkan teknik untuk elisitasi persyaratan dan analisis.

PERANAN TEAM SOFTWARE PROCESS PADA REKAYASA PERANGKAT LUNAK

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

Rekayasa Perangkat Lunak (Software Engineering)

1. PENDAHULUAN 1.1. Latar Belakang

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

Teknik Informatika S1

Pemodelan Berorientasi Objek

MODUL 4 Unified Software Development Process (USDP)

FASE INISIALISASI M P S I S E S I 3

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

Manajemen Proyek. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

Bab 4 Metodologi Pengembagan Sistem(Perangkat Lunak)

Tugas Rekayasa Perangkat Lunak

Requirements Engineering. TIM RPL Program Studi Teknik Informatika

LANGKAH-LANGKAH MEMBUAT SOFTWARE MENURUT RUP

Chapter 2 What is Software Quality?

MANAJEMEN PROYEK FRAMEWORK

Pertemuan 10 Manajemen Kualitas

BAB 3 METODE PENELITIAN

REQUIREMENT MODELING SCENARIO & INTRODUCING TO USE CASE

Manajemen Proyek Minggu 2

PROJECT INITIATION. Penetapan Jalannya Proyek (2) Customer Problem. Identification. Define Scope. Proposed Solution.

Catatan: Teks yang berwarna biru adalah teks yang harus dihapus dan diganti dengan isi yang sebenarnya.

Metrik Proses dan Proyek Perangkat Lunak KARMILASARI

Modul Praktikum Analisis dan Perancangan Sistem Halaman 1 dari 58

Teknik Informatika S1

BAB 1 PENDAHULUAN. tersebut adalah metode pemodelan (notation), proses (process) dan tool yang

PEMODELAN ANALISIS PL

ANALISA & PERANCANGAN SISTEM

IF2261 Software Analysis Part I

Teknik Informatika S1

Pencarian Bilangan Pecahan

BAB 6 METODOLOGI SIKLUS HIDUP SISTEM

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

Pemodelan Industri Perangkat Lunak

Pertemuan 12 Manajemen Komunikasi

SOFTWARE QUALITY ASSURANCE

Proyek Perangkat Lunak

Manajemen Proyek Perangkat Lunak Minggu 1

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB I PENDAHULUAN. karya tulis. Berbagai aplikasi seperti Ms. Word, Notepad, maupun Open Office

Produk perangkat lunak tersebut:

Pengenalan Rekayasa Perangkat Lunak (RPL)

PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK

A. Tujuan dan Ruang Lingkup Proyek Perancangan Rekayasa Perangkat Lunak

The Process. A Layered Technology. Software Engineering. By: U. Abd. Rohim, MT. U. Abd. Rohim Rekayasa Perangkat Lunak The Process RPL

Inggang Perwangsa Nuralam, SE., MBA

Spesifikasi Use Case. Mata KuliahTesting & Implementasi Sistem Program Studi Sistem Informasi 2013/2014 STMIK Dumai -- Pertemuan 6 --

UNIVERSITAS MERCU BUANA FAKULTAS : ILMU KOMPUTER PROGRAM STUDI : SISTEM INFORMASI

Meeting 5_ADS. SDLC : Analysis Phase

Hendri Sopryadi, M.T.I

Pemodelan Proses Bisnis (Lanjutan) Mia Fitriawati,M.Kom

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

BAGIAN 4. METODE ILMIAH

Tujuan Perkuliahan. PENGANTAR RPL (Pert. 2 chapter 1 Pressman) Agenda. Definisi Software (Perangkat Lunak) Lunak) 23/09/2010

Latihan Pertemuan 5: Sub Diagram New Activity Diagram Select In Browser rename Pemohon Class 5.

MANAJEMEN PROYEK DALAM PRAKTEK

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

Meeting 3_ADS. System Development Life Cycle (SDLC)

Rational Unified Process (RUP)

MANAJEMEN KUALITAS PROYEK REFERENSI : PMBOK

Manajemen Proyek. Bima Cahya Putra, M.Kom

PERANGKAT LUNAK MONITORING PROYEK STUDI KASUS PT. SMOOETS TEKNOLOGI OUTSOURCING BANDUNG

BAB I PENDAHULUAN. dengan yang lain menyebabkan sulitnya membangun sebuah diagnosa serta

MANAJEMEN KEBUTUHAN PERANGKAT LUNAK

Catatan Kuliah Rekayasa Perangkat Lunak (Software Engineering) Bagian 2

BAB 1 Teknik dan Metode Manajemen Proyek

PENGENALAN. Perancangan Perangkat Lunak. (Software Engineering) Bertalya Program Pascasarjana Univesitas Gunadarma

LOGO Manajemen Proyek Teknologi Informasi

Software Architecture

Manajemen Integrasi Dalam Proyek Chapter 3. Heru Lestiawan, M.Kom

Bab 10 Manajemen Komunikasi Proyek

FASE PENGEMBANGAN. MPSI sesi 7 & 8

REKAYASA PERANGKAT LUNAK

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

Project IT Organization

ANALISIS SISTEM. Gentisya Tri Mardiani, S.Kom., M.Kom ADSI-2015

Proses Pengembangan 1

BAB I PENDAHULUAN. informasi yang berbeda-beda. Berita yang dipublikasi di internet dari hari ke hari

SDLC Concepts. Muhammad Yusuf D3 Manajemen Informatika Universitas Trunojoyo

GAMBARAN UMUM MANAJEMEN PROYEK 1 MANAJEMEN PROYEK P/L IF015 3 SKS

Sistem Informasi Rekam Medis pada Puskesmas Sematang Borang

chapter 7 Integrating quality activities in the project life cycle Empat model proses pengembangan perangkat lunak akan dibahas dalam bagian ini:

PROJECT MANAGEMENT BODY OF KNOWLEDGE (PMBOK) PMBOK dikembangkan oleh Project Management. Institute (PMI) sebuah organisasi di Amerika yang

Hanif Fakhrurroja, MT

Interraksi Manusia dan Komputer

Transkripsi:

Requirements Engineering Materi 5

Requirements Engineering Problems with requirements practices Requirements engineering tasks (Inception, Elicitation, Elaboration, Negotiation, Specification, Validation, Requirements management) Initiating the Requirements Engineering Process Collaborative Requirement Gathering Developing Use Case (Source: Pressman, R. Software Engineering: A Practitioner s Approach. McGraw-Hill, 2005)

The Problems with our Requirements Practices Kesulitan memahami kebutuhan dari pelanggan Persyaratan sering direkam dengan tidak teratur Menghabiskan terlalu banyak waktu memverifikasi data Membolehkan perubahan untuk pengendalian, dari pada membangun mekanisme untuk mengontrol perubahan Yang paling penting, gagal untuk membangun dasar yang kuat untuk sistem atau membangun perangkat lunak yang diinginkan pengguna (more on next slide) 3

The Problems with our Requirements Practices (continued) Banyak pengembang software berpendapat bahwa Membangun perangkat lunak begitu menarik bahwa sehingga ingin langsung memulai (sebelum memiliki pemahaman yang jelas tentang apa yang dibutuhkan) Hal akan menjadi jelas saat kita membangun perangkat lunak Stakeholder proyek akan dapat lebih memahami apa yang mereka butuhkan hanya setelah memeriksa iterasi awal dari perangkat lunak Banyak hal yang berubah begitu cepatnya bahwa kebutuhan rekayasa adalah buang-buang waktu Intinya adalah memproduksi program kerja dan bahwa semua yang lain adalah sekunder Semua argumen ini mengandung beberapa kebenaran, terutama untuk proyek-proyek kecil yang memakan waktu kurang dari satu bulan untuk menyelesaikan Namun, sebagai perangkat lunak tumbuh dalam ukuran dan kompleksitas, argumen ini mulai rusak dan dapat 4 menyebabkan proyek software gagal

A Solution: Requirements Engineering Dimulai selama kegiatan komunikasi dan berlanjut sampai kegiatan modeling. Membangun jembatan dari sistem Requirements ke dalam desain software dan konstruksi Memungkinkan kebutuhan engineering untuk memeriksa Konteks kerja perangkat lunak yang akan dilakukan Kebutuhan spesifik bahwa desain dan konstruksi harus mengatasi Prioritas yang memandu urutan pekerjaan yang harus diselesaikan Informasi, fungsi, dan perilaku yang akan memiliki dampak yang mendalam pada desain yang dihasilkan 5

Why is Getting Good Requirements Hard? Stakeholder tidak tahu apa yang mereka inginkan. Stakeholder mengungkapkan persyaratan dalam istilah mereka sendiri. Stakeholder yang berbeda mungkin memiliki persyaratan yang saling bertentangan. Faktor Organisasi dan politik dapat mempengaruhi persyaratan sistem. Persyaratan berubah selama proses RE. Stakeholder baru mungkin muncul dan perubahan lingkungan bisnis.

Requirements Engineering Tasks Requirements Engineering menyediakan mekanisme untuk memahami keinginan client, menganalisa kebutuhan, menilai fisibilitas solusi, melakukan negosiasi pemilihan solusi yang tepat, menghilangkan ambigu, memvalidasi solusi, mengelola kebutuhan agar dapat diubah ke bentuk sistem operasional.

Requirements Engineering Tasks (cont.) Rekayasa kebutuhan membangun jembatan menuju desain dan pembangunan perangkat lunak dengan menyediakan mekanisme yang tepat untuk memahami apa yang diinginkan klien, menganalisis kebutuhan, menguji kelayakan, bernegosiasi untuk solusi yang masuk akal, menetapkan solusi yang dapat dipahami dua belah pihak, uji spesifikasi dan mengelola kebutuhan yang akan diwujudkan ke sistem operasional.

Requirements Engineering Tasks (cont.) Seven distinct tasks 1. Inception (Permulaan) 2. Elicitation 3. Elaboration (Perluasan) 4. Negotiation 5. Specification 6. Validation 7. Management Beberapa tugas ini dapat terjadi secara paralel dan semua disesuaikan dengan kebutuhan proyek Semua berusaha untuk menentukan apa yang pelanggan inginkan Semua berfungsi untuk membangun dasar yang kuat untuk desain dan konstruksi dari perangkat lunak 9

Inception Inception atau permulaan, merupakan awal dari terjadinya pembicaraan tentang kebutuhan akan software. Permulaan ini dapat terjadi karena dari pembicaraan biasa,kebutuhan bisnis yang dirasakan, adanya pasar potensial, atau munculnya layanan potensial yang dapat dilakukan oleh software. Mengidentifikasi stakeholder Siapa yg menginginkan sistem/program? Siapa yg menggunakan solusi? Apa keuntungan ekonomis dari suatu solusi yang sukses? Apakah dibutuhkan sumber yang lain?

Memahami masalah Inception Bagaimana karakteristik solusi yg baik? Masalah apa yang dipecahkan oleh solusi tsb? Bagaimana kondisi business environment dimana solusi tersebut diimplementasikan? Apakah ada masalah dan batasan tertentu yag mempengaruhi pendekatan solusi?

Elicitation Klien mengungkapkan kebutuhan. Proses ini tidak mudah karena: batasan sistem sering tidak jelas, klien tidak cukup paham apa yang dibutuhkan dan kebutuhan sering berubah. Problems of scope Problems of understanding Problems of volatility

Elicitation Product Request 1. Membuat daftar semua objek yang merupakan bagian dari sistem. 2. Membuat daftar semua obyek yg dihasilkan oleh sistem 3. Membuat daftar semua obyek yg digunakan oleh sistem. 4. Membuat daftar fungsi/piranti/proses yg berinteraksi dg obyek2 tersebut. 5. Membuat batasan dan kriteria performa.

Elaboration Penjelasan. Apa yang diungkapkan pada proses permulaan dan pengungkapan kebutuhan, dijelaskan panjang lebar. Fokus pada pemodelan fungsi, fitur dan batasan dari perangkat lunak. Dalam kasus OOP, maka class, atribute dan hubungan antar class diidentifikasi pada aktifitas ini.

Negotiation Negosiasi bukanlah suatu kompetisi Buat suatu strategi (Apa yg kita inginkan? Apa yg client inginkan?) Mendengarkan secara aktif. Fokus pada apa yg menjadi keinginan client. Jangan anggap personal Jadilah kreatif Komitmen terhadap keputusan yg diambil. Gunakan priority points!!!

Negotiation Examines the specification to ensure that all software requirements have been stated unambiguosly; that inconsistencies, omissions and errors have been detected and corrected Memeriksa spesifikasi untuk memastikan bahwa semua persyaratan perangkat lunak telah dinyatakan jelas bahwa inkonsistensi, kelalaian dan kesalahan telah dideteksi dan dikoreksi

Specification Spesifikasi dapat berupa dokumen, model grafik, model matematika, skenario atau prototype yang merupakan produk akhir dari rekayasa kebutuhan. Apa yang disajikan sebagai spesifikasi merupakan hasil identifikasi kebutuhan melalui aktifitasaktifitas sebelumnya. Spesifikasi menggambarkan fungsi dan kenerja dari perangkat lunak dan batasan-batasan yang ditentukan.

Validation Menguji kualitas dari spesifikasi untuk memastikan kebutuhan yang dinyatakan dapat diterima/sepaham, konsisten, lengkap dan bebas kesalahan. Mekanisme yang dapat dilakukan adalah formal technical review atau pertemuan evaluasi teknis.

Management mengelola kebutuhan dengan identifikasi, kontrol dan mengikuti perkembangan kebutuhan software yang dikerjakan selama proyek dan perubahanperubahan yang terjadi.

Initiating The Requirements Engineering Process Identifikasi stakeholders (pemangku kepentingan) Mengakui keberadaan beberapa sudut pandang stakeholder Bekerja kolaborasi antara stakeholder Pertanyaan bebas konteks ini fokus pada pelanggan, stakeholder, tujuan keseluruhan, dan manfaat dari sistem Siapa yang meminta untuk bekerja? Siapa yang akan menggunakan solusi? Apa yang akan menjadi keuntungan ekonomi dari solusi yang sukses? Apakah ada sumber lain untuk solusi yang dibutuhkan?

Initiating The Requirements Engineering Process Set pertanyaan berikutnya memungkinkan pengembang untuk lebih memahami masalah dan persepsi pelanggan berdasarkan solusi Bagaimana ciri output yang bagus untuk solusi yang sukses? Apa masalah dari solusi ini? Dapatkah Anda menggambarkan lingkungan bisnis dimana solusi digunakan? Adakah kendala yang mempengaruhi dalam pendekatan solusi? Set pertanyaan terakhir berfokus pada efektivitas komunikasi Apakah Anda orang terbaik untuk memberikan jawaban resmi atas pertanyaan ini? Apakah pertanyaan saya relevan dengan masalah Anda? Apakah saya terlalu banyak bertanya? Dapatkah orang lain memberikan informasi tambahan? Haruskah saya meminta Anda menjawab apapun?

How would you resolve this? 22

Collaborative Requirement Gathering Rapat yang dihadiri oleh seluruh pemangku kepentingan. Aturan ditetapkan untuk persiapan dan partisipasi. Agenda harus cukup untuk menutup semua poin penting formal, tapi cukup informal untuk mendorong aliran ide. Seorang fasilitator mengendalikan pertemuan. Mekanisme definisi (papan tulis, sandal grafik, dll) yang digunakan.. Dalam pertemuan tersebut: Masalahnya diidentifikasi. Elemen dari solusi yang diusulkan. Pendekatan yang berbeda dinegosiasikan. Seragkaian dari persyaratan solusi diperoleh. Atmosfer kolaboratif dan non-membahayakan..

Collaborative requirement gathering Dalam pertemuan awal, mendistribusikan "permintaan produk" (didefinisikan oleh stakeholder) untuk semua peserta. Berdasarkan permintaan produk, masing-masing peserta diminta untuk membuat Daftar objek (internal atau benda sistem eksternal) Daftar (Proses atau fungsi) Daftar kendala (biaya, ukuran, aturan bisnis) dan kriteria kinerja (kecepatan, ketepatan) yang dikembangkan. Mengumpulkan daftar dari semua orang dan digabungkan. Daftar gabungan meniadakan entri berlebihan, menambahkan ide-ide baru, tetapi tidak menghapus. Tujuannya adalah untuk mengembangkan daftar konsensus di setiap area topik (objects, services, constraints and performance).

Collaborative Requirement Gathering Berdasarkan daftar, tim dibagi menjadi lebih kecil sub-tim: setiap bekerja untuk mengembangkan mini-spesifikasi untuk satu atau lebih masukan pada setiap daftar. Setiap sub-tim hadiah yang mini-spesifikasi untuk semua peserta diskusi. Selain itu, penghapusan dan elaborasi lebih lanjut dibuat. Sekarang masing-masing tim membuat daftar kriteria validasi untuk produk dan hadir untuk tim. Akhirnya, satu atau lebih peserta ditugaskan tugas menulis draft spesifikasi lengkap.

Use Cases 26

Developing Use Case Use Case menggambarkan interaksi antara pengguna dan sistem. Berfokus pada apa sistem dilakukan untuk pengguna. Menggambarkan totalitas sistem dan perilaku sistem. Includes: Actors List Use Case Packages Use Case Diagrams Use Case Text Use Case Views : 27

Activities Involved in Use Cases Find Actors Project Manager Architect End-Users Customers Development Team Find Use Cases Describe the use case 28

Steps for Developing Use case Diagram 1. Use Abstract Idea 2. Define use case actors 3. Define use case actors goals 4. Identify reuse opportunity for use case 5. Create use case inedx 6. Identify the key components 7. Name and briefly describe the use case 8. Create use case basic view 9. Create use case alternate flows 10. Produre the use case decument 11. Generate a use case model diagram 29

Sample Use Case Diagram 30

Terima Kasih 31