Teknik Informatika S1 Rekayasa Perangkat Lunak Requirement Engineering

Slides:



Advertisements
Presentasi serupa
Rekayasa Perangkat Lunak dan Proses Software
Advertisements

ANALISIS SISTEM.
Tahapan information engineering
Analisis Kebutuhan Sistem Untuk Pengguna (User Requirement)
ANALISIS DAN PERANCANGAN SISTEM
BAB 2 METODE REKAYASA PERANGKAT LUNAK
METODE REKAYASA PERANGKAT LUNAK
Requirement.
Managing Software Requirements (manajemen kebutuhan perangkat lunak)
SE2423 REKAYASA PERANGKAT LUNAK
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Review Software Engineering.
Kelompok 5 : Asdin Ines Lestari Neng Susanti Siti Robiahtul Adawiyah Vena Senja Maba SOFTWARE REQUIREMENTS.
ANALISA PERANCANGAN SISTEM
Metodologi Rekayasa Sistem Informasi
Metodologi Pengembangan Sistem Informasi
PERANCANGAN BASIS DATA
Rekayasa Perangkat Lunak (Lanjut)
Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak
Metodologi Pengembangan Perangkat Lunak
Analisis Kebutuhan Software
Rekayasa Perangkat Lunak
Membangun Sistem Informasi ERP
1 Pendahuluan Pertemuan 12 Matakuliah: H0062/Teori Sistem Tahun: 2006.
KONSEP & DEFINISI KEBUTUHAN PL
Materi Sesi ke 8 Pengembangan Sistem Informasi Manajemen
FASE PERENCANAAN MPSI – sesi 4.
Requirement Classification
PENGEMBANGAN APLIKASI
proses PERANGKAT LUNAK
Analisis Perancangan Berbasis Objek
System Development Life Cycle (SDLC)
Rekayasa perangkat lunak (rpl)
FASE PERENCANAAN MPSI – sesi 4.
Anna dara andriana., M.kom
ANALISA DAN PERANCANGAN SISTEM INFORMASI
4 Managing Software Requirement Analisis Kebutuhan
Analisis Kebutuhan Perangkat Lunak
Pendahuluan Software Requirement Engineering (SRE)
Rekayasa Perangkat Lunak Pendahuluan
PROSES REKAYASA PERANGKAT LUNAK
Disusun Oleh: Defri Kurniawan, M.Kom Teknik Informatika UDINUS
Rekayasa Perangkat Lunak Dosen : Citra Noviyasari, S.Si, MT
Disusun Oleh: Defri Kurniawan, M.Kom Teknik Informatika UDINUS
Analisa dan Perancangan Sistem
Requirement Conclusion.
Rekayasa Kebutuhan Software
Analisis Kebutuhan.
PENGANTAR UML Citra N., S.Si, MT UNIKOM.
PERTEMUAN 2 Proses Pengembangan Perangkat Lunak
ANALISA DAN PERANCANGAN SISTEM INFORMASI
SDLC (System Development Life Cycle)
Anna dara andriana., M.kom
Rekayasa Perangkat Lunak (Software Engineering)
REKAYASA PERANGKAT LUNAK
Review Rekayasa Perangkat Lunak
Analisa [Kebutuhan] Sistem
PENGEMBANGAN PERANGKAT LUNAK
Perancangan Sistem Informasi. Pengantar Sistem adalah sekumpulan elemen yang saling berkaitan dan saling mempengaruhi dalam melakukan kegiatan bersama.
Membangun Sistem Informasi ERP
Membangun Sistem Informasi ERP
MODEL PROSES PERANGKAT LUNAK
Review Rekayasa Perangkat Lunak
Desain Basis Data.
Analisis Perencangan Sistem Informasi
Pertemuan 8 RPL Oleh : Syukriya al-Asyik S.Kom
REQUIREMENT ENGINEERING
Rekayasa Perangkat Lunak (Software Engineering)
Analisis dan Desain Sistem
MODEL PROSES PERANGKAT LUNAK
Transcript presentasi:

Teknik Informatika S1 Rekayasa Perangkat Lunak Requirement Engineering Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6285640392988

SILABUS MATA KULIAH Pengenalan RPL Pendahuluan Software Process (1) Software Process (2) Requirement Engineering Analysis Modeling (1) + Quiz Analysis Modeling (2) Pembahasan UTS + Tugas SKPL Presentasi SKPL Design Engineering + Tugas DPPL Presentasi DPPL Software Testing + Quiz Present Tugas Besar

Pembahasan Study Kasus – Model Proses

Latihan Chelsea Outlet merupakan outlet yang bergerak di bidang penjualan jersey khusus Chelsea. Seiring perkembangan outlet yang semakin maju diikuti persaingan dengan outlet lain. Pengolahan data penjualan di Chelsea outlet masih kurang efektif karena transaksi belum terkomputerisasi. Chelsea outlet memerlukan sebuah perangkat lunak untuk mengolah data penjualan dan laporannya. Perangkat yang dibuat harus sesuai dengan sarana komputer yang ada di Chelsea outlet. Model Proses apakah yang tepat digunakan untuk kasus di atas? Dan jelaskan alasannya?

Answer ?

Answer Model proses yang akan saya terapkan adalah Model Spiral. Penelitian ini termasuk jenis development system karena akan meneliti dan mengembangkan suatu rekayasa perangkat lunak aplikasi penjualan yang sesuai dengan kebutuhan tempat studi kasus yaitu Chelsea outlet. Model yang digunakan dalam proses pengembangan untuk membangun sistem aplikasi ini yaitu metode Spiral. Model spiral dibagi menjadi sejumlah aktifitas kerangka kerja, disebut juga wilayah tugas. Model spiral yang berisi tujuh wilayah tugas : Komunikasi pelanggan, Perancangan, Analisis Masalah, Rekayasa, Coding, Pengujian dan Evaluasi Pelanggan akan sangat cocok apabila diterapkan pada kasus tersebut.

REQUIREMENT ENGINEERING Pengertian Requirement? Pengertian Requirement Engineering? Kenapa Requirement Engineering dibutuhkan? Cara mendapatkan kebutuhan User dan System Engineering Requirement Classification Requirement Engineering Process Requirement Management

“The hardest single part of building a software system is deciding precisely what to build”- F. Brooks

Pengertian Requirement

Pengertian Requirement All project begin with a statement of requirements Requirements are descriptions of how a software product should perform

Pengertian Requirement “Sesuatu pada produk yang harus dilakukan atau sebuah kualitas yang harus dimiliki produk tersebut” (Robertson99). “Sebuah spesifikasi kebutuhan adalah bagaimana tujuan harus sesuai dengan sistem yang diusulkan” (Anton96).

Pengertian Requirement Engineering “Requirement Engineering adalah Proses dimana kebutuhan untuk produk perangkat lunak dikumpulkan, dianalisis, didokumentasikan, dan dikelola di seluruh siklus hidup rekayasa perangkat lunak”.

Pengertian Requirement Engineering “Requirement Engineering adalah Proses dimana persyaratan untuk produk perangkat lunak dikumpulkan, dianalisis, didokumentasikan, dan dikelola di seluruh siklus hidup rekayasa perangkat lunak”. Requirement Engineering berkaitan dengan menafsirkan dan memahami tujuan, kebutuhan, dan keyakinan dari pihak yang berkepentingan

Requirement Engineering Sebuah proses yang kompleks dengan aktifitas yang berbelit-belit dan banyak aktor yang terlibat

Requirement Engineering Process Sebuah proses yang kompleks dengan aktifitas yang berbelit-belit dan banyak aktor yang terlibat

Kenapa Requirement Engineering dibutuhkan? Requirements yang lemah/ tidak lengkap adalah sumber utama dari kegagalan (Standish95) 8000 projects, 350 US companies: 1/3 dari projek tidak pernah selesai dan 50% berhasil hanya sebagian

Kenapa Requirement Engineering dibutuhkan? Requirements yang lemah/ tidak lengkap adalah sumber utama dari kegagalan (Standish95) 8000 projects, 350 US companies: 1/3 dari projek tidak pernah selesai dan 50% berhasil hanya sebagian Banyaknya masalah yang dirasakan terkait dengan spesifikasi kebutuhan (>50%) – (ESI96) 3800 organisasi di 17 negara eropa

Kenapa Requirement Engineering dibutuhkan? “Kebutuhan yang tidak mencukupi, tidak konsisten, tidak lengkap atau ambigu mempunyai dampak yang kritis terhadap kualitas hasil perangkat lunak tersebut” (Bell&Tayer76)

Kenapa Requirement Engineering dibutuhkan? “Kebutuhan yang tidak mencukupi, tidak konsisten, tidak lengkap atau ambigu mempunyai dampak yang kritis terhadap kualitas hasil perangkat lunak tersebut” (Bell&Tayer76) “Keterlambatan koreksi dari kesalahan meningkatkan biaya sampai 200 kali lebih banyak selama proses requirement engineering” (Boehm81)

Kenapa Requirement Engineering dibutuhkan? “Jika customer tidak senang dengan perangkat lunak yang dibangun maka software developer membangun perangkat lunak yang salah”. Quoted form Head First Software Development

Cara Mendapatkan Kebutuhan 1. Wawancara Berupa komunikasi verbal untuk mendapatkan informasi langsung dari satu atau sekelompok orang. 2. Kuesioner Berupa alat komunikasi berupa pertanyaan tertulis yang diberikan kepada customer.

Cara Mendapatkan Kebutuhan 3. Observasi Peninjauan langsung tim requirement engineer ke tempat customer untuk merasakan atau memperhatikan prosedur manual secara langsung dalam rangka mendapatkan kebutuhan. 4. Pencarian Dokumen (Data Sekunder) Pencarian terhadap dokumen-dokumen manual yang berhubungan dengan kebutuhan pembangunan perangkat lunak.

Teknik dan Pendekatan cara mendapatkan kebutuhan 1. Interviews 2. Questionnaires 3. Task Analysis 4. Domain Analysis 5. Introspection 6. Repertory Grids 7. Card Sorting 8. Laddering 9. Group Work 10. Brainstorming 11. Joint Application Development 12. Requirements Workshops 13. Ethnography 14. Observation 15. Protocol Analysis 16. Apprenticing 17. Prototyping 18. Goal Based Approach 19. Scenarios 20. Viewpoints

Requirement Engineering 1. User Requirement Pernyataan dalam bentuk bahasa natural ditambah diagram dari layanan sistem dan batasannya. Dibuat untuk customer. 2. System Requirement Dokumen terstruktur yang mengatur detail deskripsi dari layanan sistem. Dibuat sebagai kontrak antara customer dan software developer. 3. Software Spesification Deskripsi perangkat lunak yang detail yang menyajikan informasi untuk perancangan atau implementasi sistem. Dibuat untuk software developer.

Perbedaan User dan System Requirement PARAMETER PEMBANDING USER REQUIREMENT SYSTEM REQUIREMENT Kedetailan Informasi Tidak terlalu detail Lebih detail Target Pengguna Pengguna sistem yang tidak mempunyai pengetahuan teknik yang detail Developer (terkadang customer ingin mengetahui) Bentuk Informasi Bahasa natural dan diagram sederhana tentang layanan sistem Model sistem

Contoh User dan System Requirement User Requirement Sistem bisa melakukan operasi dasar pengolahan data buku yang ada di perpustakaan System Requirement Sistem bisa melayani proses penambahan data buku yang diinput oleh pengguna Sistem bisa melayani pengeditan data buku yang sudah tersimpan dalam basis data Sistem bisa melayani penghapusan data buku yang tidak sedang dipinjam atau dikembalikan

Requirement Classifications Functional versus Non Functional

Requirement Classifications Functional versus Non Functional 1. Kebutuhan fungsional ?

Requirement Classifications Functional versus Non Functional 1. Kebutuhan fungsional Menunjukkan What the system should do. Menunjukkan fasilitas apa yang dibutuhkan serta aktivitas apa saja yang terjadi dalam sistem baru.

Requirement Classifications Functional versus Non Functional 1. Kebutuhan fungsional Kebutuhan fungsional mencakup: * Fungsi deskripsi kebutuhan * Laporan baik hardcopy maupun softcopy * Updating dan query online * Penyimpanan data, pencarian kembali dan transfer data

Requirement Classifications Functional versus Non Functional 1. Kebutuhan fungsional Contoh: ?

Requirement Classifications Functional versus Non Functional 1. Kebutuhan fungsional Contoh: dalam sistem informasi akademik Mahasiswa dapat melakukan input KRS

Requirement Classifications Functional versus Non Functional 1. Kebutuhan Non fungsional ?

Requirement Classifications Functional versus Non Functional 1. Kebutuhan Non fungsional Kebutuhan yang mencakup: * Waktu respon * Rata-rata waktu untuk kegagalan * Kebutuhan keamanan * Akses untuk pengguna yang tidak punya hak

Requirement Classifications Functional versus Non Functional 1. Kebutuhan Non fungsional Contoh: ?

Requirement Classifications Functional versus Non Functional 1. Kebutuhan Non fungsional Contoh: Website harus easy to access, easy to use, easy to understand dan menjamin keamanan data member dari orang yang tidak bertanggungjawab.

Requirement Classifications Functional versus Non Functional Functional Requirements  What the system should do Non functional Requirements  Constraints on the types of solutions that will meet the functional requirements e.g. Accuracy, Performance, Security, and Modifiability

Requirement Engineering Process Requirements engineering melibatkan semua siklus hiduo aktivitas yang berhubungan dengan kebutuhan. Meliputi: Gathering  Mengumpulkan data kebutuhan Documenting  Dokumentasi Managing requirements  Mengatur/ memanage kebutuhan yang sudah dikumpulkan

Pengukuran Kebutuhan PROPERTI UKURAN Kecepatan Transaksi yang diproses per detik Waktu respon pengguna Waktu refresh layar Ukuran Kbytes Jumlah RAM Kemudahan Penggunaan Waktu Pelatihan Jumlah help yang disediakan Reliabilitas Rata-rata waktu kegagalan Kemungkinan untuk tidak bisa diakses Jumlah kegagalan yang terjadi Robustness Waktu restart ketika terjadi kegagalan Presentase dari kegagalan Kemungkinan data hilang ketika terjadi kegagalan Portability 1. Persentase dari statement yang berhasil dieksekusi pada target system

Kapan kita memodelkan kebutuhan?

Kapan kita memodelkan kebutuhan? Traditionally : Fase awal dari siklus pembuatan perangkat lunak RUP, (Jacobson98) Inception/ Permulaan Elaboration/ Perluasan Construction/ Pembangunan Transition/ Peralihan Requirements Analysis Design Implementation Tests Life Cycle Objectives Life Cycle Architecture Initial Operational Capability Product Release

Dokumen Kebutuhan Definisi “Pernyataan resmi dari apa yang dibutuhkan oleh developer sistem untuk membangun sistem dan berisi penggabungan antara definisidan spesifikasi kebutuhan”

Petunjuk Penulisan Dokumen Kebutuhan 1. Menggunakan format standar untuk semua kebutuhan. 2. Menggunakan bahasa yang konsisten 3. Bagian-bagian penting dari seluruh kebutuhan harus ditandai. 4. Jangan menggunakan bahasa jargon. 5. Complete but not Complicated

Pengguna Dokumen Kebutuhan KEGUNAAN DOKUMEN Cutomer 1. Sarana untuk menspesifikasikankebutuhan sistem dan pengecekan apakah sistem yang dibangun sesuai kebutuhan. 2. Sarana penyampaian perubahan kebutuhan. Manajer Proyek 1.Dasar perhitungan penawaran biaya sistem. 2.Dasar perencanaan untuk pembangunansistem System Engineer Sarana untuk memahami sistem seperti apa yang akan dibangun System Test Engineer Dasar untuk melakukanvalidation test pada sistem System Maintenance Engineer Sarana untuk memahami sistem dan hubungannya antar bagian-bagiannya

TERIMA KASIH