ANALISIS DAN PERANCANGAN SISTEM (APS)

ANALISIS DAN PERANCANGAN
SISTEM (APS)
Konsep Rekayasa Kebutuhan

Tujuan perkuliahan
Memahami pengertian dan urgensi rekayasa
kebutuhan
Memahami proses rekayasa kebutuhan
Memahami problem-problem dalam rekayasa
kebutuhan

Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

2/24

Agenda
Pengertian kebutuhan dan rekayasa kebutuhan
Urgensi dan fungsi
Proses
Problem-problem


Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

3/24

Motivation
“The hardest single part of building a system
is deciding what to build”
[Brooks – 1987]

Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

4/24

Anonymous Customer
“I know you believe you understood what you
think I said, but I am not sure you realize that
what you heard is not what I meant . . . . .”

Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D


5/24

Catastrophe

Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

6/24

Apa itu RE ?
RE – requirements engineering  istilah lain dari
requirements analysis
Each software development process goes
through the phase of RE
The process of establishing the services that the
customer requires from a system and the
constraints under which it operates and is
developed [Ian Sommerville]
The broad spectrum of tasks and techniques that
lead to an understanding of requirements [Roger
S. Pressman]

Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

7/24

Requirement ?
Suatu kondisi atau kemampuan yang dibutuhkan
oleh pengguna untuk menyelesaikan
permasalahan atau untuk mencapai sebuah
tujuan [IEEE]
Sebuah kondisi atau kemampuan yang harus
dipenuhi atau dimiliki oleh sebuah sistem…untuk
memenuhi sebuah kontrak, standard, spesifikasi,
atau dokumen2 formal lainnya [IEEE]
Setiap fungsi, batasan, atau properti lainnya yang
harus disediakan, dimiliki atau dipenuhi untuk
mencapai kebutuhan dari sistem yang
dimaksudkan oleh pengguna [R. J. Abbott]
Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

8/24


Kategori kebutuhan
Functional  what a system does
– Deskripsi proses, masukan dan keluaran

Non-functional  constraint or quality of a system
– Performance, availability, security, reliability,
implementation & design constraints, storage size

Usability  constraint to use
– Acceptance criteria, end-user characteristics, system
environments

Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

9/24

Level kebutuhan
Normal requirement  kebutuhan yang harus
dipenuhi dan dinyatakan secara eksplisit

– Fungsionalitas sistem, unjuk kerja

Expected requirement  kebutuhan yang tidak
dinyatakan secara eksplisit tetapi menentukan
kepuasan customer
– Kemudahan interaksi dengan sistem, correctness

Exciting requirement  kebutuhan yang melebihi
dari kebutuhan normal untuk lebih memuaskan
customer
– Fungsionalitas tambahan sistem
Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

10/24

Urgensi & Fungsi
If you don’t analyze, it’s highly likely that you’ll build a
very elegant software solution that solves the wrong
problem. The result is wasted time and money,
personal frustration, and unhappy customers

[Roger S. Pressman]
Fungsi RE:
– Sebagai kesepakatan antara developer, customer dan
pengguna akhir akan kebutuhan yang harus dipenuhi
– Untuk menyediakan dasar yang akurat bagi perancangan
perangkat lunak
– Untuk menyediakan referensi bagi dilakukannya validasi PL
Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

11/24

Proses
Penggalian dan analisis kebutuhan (s/w req.
elicitation and analysis)
Spesifikasi kebutuhan (s/w req. specification)
Validasi & verifikasi kebutuhan (s/w req. validation
and verification)
Manajemen kebutuhan (s/w req. management)

Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D


12/24

Elisitasi dan analisis
Developer harus memahami domain
permasalahan
Developer dan stakeholder menggali domain
aplikasi, layanan-layanan sistem yang harus
disediakan, unjuk kerja sistem yang diperlukan,
batasan-batasan perangkat keras dan sejenisnya
Fokus pada A P A (WHAT) dan B U K A N
bagaimana (HOW)
Komunikasi adalah faktor penting

Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

13/24

Diagram alir elisitasi dan analisis
Requirements

definition

Requirements
checking
Domain
understanding

Prioritisation
Requirements
specification
Conflict
resolution

Requirements
collection
Classification

Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

14/24


Teknik-teknik elisitasi
Interview  meeting, banyak digunakan
Task analysis  dekomposisi setiap pekerjaan
Scenario-based analysis  urutan pekerjaan
Ethnography  analisis pekerjaan riil dari user
Form analysis
Natural language description  narasi tertulis
Derivation from the existing system  studi
banding dari beberapa sistem
Prototyping  mulai dari kebutuhan awal untuk
lebih memahami kebutuhan yang utuh
Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

15/24

Sumber-sumber elisitasi
decision support system

unconstrained

encounter video game
corporate accounting system
manufacturing control system

Type of
application

enhancement to corporate accounting system
flight control system for airliner

highly
constrained

Relatively
low

missile guidance system

Approximate % of requirements
gathered from people


Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

Relatively
high
16/24

Contoh hasil elisitasi dan analisis
Perangkat lunak harus mampu menyediakan sarana
untuk menampilkan dan mengakses file-file yang dibuat
oleh tool yang lain.
Pengguna harus dapat mencari buku/dokumen/literatur
di perpustakaan dgn memasukkan sebuah kata kunci.
Sistem tidak boleh dioperasikan oleh pengguna yang
tidak memiliki otoritas.
Sistem harus menyediakan GUI sehingga dapat
digunakan secara mudah oleh pengguna yang belum
berpengalaman.
Sistem harus bisa memanfaatkan database yang sudah
ada.
Sistem harus diimplementasikan dgn bahasa Java.
Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

17/24

Spesifikasi kebutuhan
Proses untuk menjelaskan kebutuhan PL yang telah
didefinisikan sebelumnya secara lebih detil dan tepat
yang akan menjadi dasar bagi perancangan dan
implementasi
Definisi kebutuhan (req. definition) :

1.

PL harus mampu menyediakan sarana untuk menampilkan
dan mengakses file-file yang dibuat oleh tool yang lain.
(SRS_PRJ_100)

Spesifikasi kebutuhan (req. specification) :

1.1 Pengguna harus disediakan fasilitas untuk mendefinisikan
tipe file. (SRS_PRJ_101)
1.2 Setiap tipe file direpresentasikan dengan ikon tertentu pada
layar pengguna. (SRS_PRJ_102)

Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

18/24

Validasi dan verifikasi
Proses pengecekan untuk menjamin bahwa pernyataan
kebutuhan yang telah didefinisikan dan dispesifikasikan
adalah benar, akurat dan lengkap
Dilakukan bersama-sama antara kustomer dan
developer
Sangat penting dilakukan karena kesalahan di dalam
menentukan kebutuhan akan berdampak pada
keseluruhan proses yang mengikutinya
Validasi : do we make the right product ….. ?
Verifikasi : do we make the product right ….. ?
Teknik :
– Review : Software Specification Review (SSR)
– Prototyping : executable model of the system/software

Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

19/24

Parameter
Parameter validasi :
– Validity  does the system provide the functions which
best support the customer’s needs ?
– Consistency  are there any requirements conflicts ?
– Comprehensibility  are all functions required by the
customer included ?

Parameter verifikasi :






Readability
Testability
Completeness
Identifiability
Ambiguity

Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

20/24

Manajemen kebutuhan
Aktifitas untuk melakukan kontrol terhadap kebutuhan
yang sedang maupun telah didefinisikan dan
dispesifikasikan :
– Identifikasi  bagaimana setiap kebutuhan dapat
diidentifikasi dengan mudah (Cont. : SRS_PRJ_XXX,
IRS_PRJ_XXX)
– Manajemen perubahan  bagaimana mekanisme untuk
menangani perubahan kebutuhan yang terjadi
– Dokumentasi  SRS dan IRS sebagai deliverable, ECP,
PCR
– Tracking  penelusuran informasi yang berhubungan
dengan sebuah kebutuhan (sumber/asal, alokasi ke
perancangan)
Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

21/24

Problem
Stakeholder (end-user, manajer, maintenance engineer,
policy maker) tidak tahu persis apa yang sesungguhnya
mereka butuhkan
Stakeholder menyatakan kebutuhannya dalam bahasa
yang dipahami oleh mereka sendiri
Stakeholder yang berbeda mungkin memiliki kebutuhan
yang saling bertentangan
Kebutuhan mungkin berubah pada saat dilakukan
analisis. Stakeholder baru yang bergabung mungkin
merubah dan lingkungan bisnis mengalami perubahan
Pertentangan antara unjuk kerja (performance) dan
kemudahan (simplicity) dalam mencapai tujuan
Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

22/24

Problem

Customer
explanation

Project Leader
understanding

Designed by
Analyst

Coded by
Programmer

Described by
Bus. Consultant

Project
documentation

Operation
installation

Customer cost

Supports

Customer really
needs

Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

23/24

Summary
RE memberikan landasan yang kuat bagi
perancangan dan implementasi, yang tanpa itu
maka produk PL yang dihasilkan berpotensi tinggi
untuk tidak sesuai dengan kebutuhan customer
Proses di dalam RE mencakup elisitasi dan
analisis, spesifikasi, validasi dan verifikasi,
manajemen kebutuhan
Sebuah kebutuhan harus divalidasi dan
diverifikasi sebelum digunakan sebagai dasar
dalam perancangan
Bahan Kuliah APS - Konsep Rekayasa Kebutuhan | Tri A. Kurniawan, S.T, M.T, Ph.D

24/24