Anda di halaman 1dari 21

Rekayasa Perangkat Lunak

Pertemuan 2
Alat Bantu dan Metode Rekayasa
Perangkat Lunak

.: Erna Sri Hartatik :.


CASE (Computer-Aided Software
Engineering)

• Mencakup berbagai macam program yang digunakan


untuk mendukung kegiatan PL seperti analisis
persyaratan, pemodelan sistem, debugging, dan
pengujian.
Model-model Pengembangan PL
• Waterfall (Air Terjun)
• Prototype
• Transformasi formal
• RAD (Rapid Application Development)
• Pengembangan Incremental
• Spiral
• Fourth-Generation Techniques (4GT)
General Phase to Software
Engineering
• Definition phase  berfokus pada ‘apa’ (what):
– informasi yang akan diproses
– fungsi dan perfomance yang dibutuhkan
– tingkah laku sistem yang diharapkan
– interface yang akan dibangun
– batasan sistem yang sukses
• Development phase  berfokus pada ‘bagaimana’ (how):
– data dikonstruksikan
– fungsi-fungsi diimplementasikan
– detail prosedur akan diimplementasikan
– interface dikarakterisasi
– rancangan akan diterjemahkan ke dalam pemrograman
– pengujian dilakukan
• Maintenance phase  berfokus pada ‘perubahan’ (change):
– dihubungkan dengan koreksi kesalahan
– ketika lingkungan perangkat lunak berkembang
– sehubungan dengan perubahan kebutuhan pelanggan
1. Waterfall Model

• Sebuah pendekatan pengembangan perangkat


lunak yang sistematik dan sekuensial.
• Disebut juga ‘Classic Life Cycle’.
• Paradigma yang sudah lama sekali, tetapi masih
banyak yang memakai karena dianggap masih
sesuai dengan keadaan sekarang.
Waterfall Model Diagram

Requirements
definition

System and
software design

Implementation
and unit testing

Integr ation and


system testing

Operation and
maintenance
2. RAD Model

• RAD = Rapid Application Development


• Adaptasi dari waterfall model yang:
– menekankan siklus pengembangan perangkat lunak
yang sangat pendek;
– menggunakan pendekatan konstruksi berbasis
komponen.
• Menciptakan sistem fungsional yang utuh dalam
waktu 60-90 hari.
RAD Model Diagram

team #3

business
modeling

team #2
data
modeling
business
modeling
team #1 process
modeling
data
business modeling
modeling application
generation

process testing
data modeling &
modeling turnover

application
generation
process
modeling
testing
&
turnover
application
generation

testing
&
turnover

60 - 90 hari
RAD Model Phases

• Business Modelling
Memodelkan fungsi-fungsi bisnis untuk menjawab pertanyaan-
pertanyaan:
Informasi apa yang mengendalikan proses bisnis ? Informasi apa yang
dimunculkan? Ke mana infomasi itu pergi? Siapa yang memprosesnya?
• Data Modelling
Aliran informasi yang didefinisikan pada fase business modelling
ditransformasikan ke dalam serangkaian obyek data.
• Process Modelling
Mentransformasikan obyek data pada suatu fungsi yang menghasilkan
aliran informasi yang dibutuhkan.
• Application Generation
Mengkonstruksi perangkat lunak dengan memakai komponen yang ada (bila
memungkinkan) atau menciptakan komponen yang dapat dipakai lagi.
• Testing and Turnover
Menguji komponen baru.
3. Prototyping Model

Dipakai jika:
• Sistem mempunyai resiko tinggi
– tidak jelas permasalahannya
• Lebih fokus pada perancangan dialog user - komputer
– bagaimana membuat dialog yang baik, ramah, mudah ?
• Sistem diminati oleh banyak pemakai
– mencari kesepakatan (dasar untuk menyamakan persepsi)
• User ingin cepat selesai
– user tidak sabar menunggu
– prototipe segera memperlihatkan bentuk kerja sistem
• Masa pakai singkat
– sistem hanya dipakai beberapa kali saja
• Ingin menunjukkan inovasi
– pengembang dapat menunjukkan kecanggihan
• Kebutuhan berubah-ubah
– user sulit menjelaskan kebutuhan
Types of Prototyping

• Evolutionary prototyping
Dimulai dari model, kemudian dikembangkan dan
akhirnya dipakai.
• Throw-away prototyping
Hanya dikembangkan sebagai model untuk
mencari blue-print.
4. Incremental Model

• Incremental Model merupakan gabungan


antara model linier sekuensial dan
prototyping.
• Setiap linier sekuen menghasilkan produk
yang deliveriables.
• Increment pertama merupakan produk inti
(core), yang mengandung
persyaratan/kebutuhan dasar.
• Penambahan dilakukan pada increment-
increment berikutnya.
Incremental Model Diagram

system/information
engineering

delivery of
analysis design code test
1st increment

delivery of
increment 2 analysis design code test
2nd increment

delivery of
increment 3 analysis design code test
3rd increment

delivery of
increment 4 analysis design code test
4th increment
5. Spiral Model

• Evolutionary process (pengembangan bertingkat)


• Menggabungkan keunggulan prototyping dan
waterfall
• Memungkinkan dikembangkannya perangkat lunak
secara bertahap (incremental) dan cepat.
• Terbagi atas 6 tahapan
– customer communication
– planning
– risk analysis
– engineering
– construction & release
– customer evaluation
Spiral Model Diagram

Planning analisa resiko


berdasarkan evaluasi
Integration and test plan Risk Analysis
user
development plan analisa resiko
menentukan
berdasarkan
tujuan, alternatif, development plan
kebutuhan awal
batasan sistem
dan budget Requirements

Customer prototipe awal


Communication
Engineering

prototipe tingkat
berikutnya
Project
Entry Point produk-jadi
Customer
Evaluation Construction
& Release
6. Formal Model

• mencakup sekumpulan aktivitas yang membawa


kepada spesifikasi matematis perangkat lunak
komputer;
• memungkinkan software engineer untuk
mengkhususkan, mengembangkan, dan mem-
verifikasi sistem berbasis komputer dengan
menggunakan notasi matematis yang tepat;
• Variasi dari pendekatan ini disebut clean-room
software engineering.
7. Fourth Generation Techniques
(4GT)
• Terkait dengan penggunaan tools.
• Pengembang software mendefinisikan karakteristik
software secara 'high level'; tool secara otomatis
akan membangkitkan kode.
• 4GT mempercepat proses pengembangan
perangkat lunak.
• Proses perancangan dan dokumentasi baik.
• Masih dipertanyakan beberapa pihak: efisiensi kode
yang dihasilkan, kemudahan (relatif).
4GT Techniques

requirements
gathering

design strategy

implementation
using 4GL

testing

***
Materi

• Pengertian manajemen proyek, Spektrum


manajemen proyek
• Observasi pada estimasi, Tujuan perencanaan
proyek, Ruang lingkup PL, Manajemen perangkat
lunak, Sumber daya
• Konsep kualitas, Pergerakan kualitas, Jaminan
kualitas
• Hirarki rekayasa sistem, Rekayasa informasi,
Rekayasa produk, Pemodelan arsitektur sistem,
Pemodelan sistem dan simulasi, Spesifikasi
sistem
Materi

• Alat bantu perancangan terstruktur, Pemodelan


data, Pemodelan fungsional dan aliran data,
Pemodelan tingkah laku, Kamus data
• Desain perangkat lunak dan rekayasa perangkat
lunak, Proses desain, Prinsip desain
• Desain data, Desain arsitektur, Proses desain
arsitektur, Desain interface, Desain procedural
• Dasar-dasar pengujian perangkat lunak, Desain
test case, Pengujian basis path, Pengujian
struktur kontrol
Materi

• Pengujian Black Box, Pengujian White Box


• Pendekatan strategis ke pengujian perangkat
lunak, Masalah-masalah strategis, Pengujian
integrasi, Pengujian validasi, Pengujian sistem,
Debugging

Anda mungkin juga menyukai