2. Ciri-ciri software yang baik
• Maintainability (dapat dipelihara)
– Software bisa menangani perubahan spek kebutuhan
• Dependability (dapat diandalkan)
– Aman, selamat, tidak menyebabkan keruksakan fisik
• Efficiency (Efisien)
– Software mampu mengoptimalkan resource
• Acceptability (Kemampupakaian)
– Software bisa diterima user sebagaimana rancangan.
Mudah dimengerti, digunakan and compatible
dengan sistem yang lain
Rekayasa Perangkat Lunak - Citra N., S.Si, MT 2
3. Produk Software
Generik (terbuka utk siapapun) ≈ DBMS,
Word Processor, Sistem Operasi, paket untuk
menggambar, alat bantu manajemen proyek
◦ Spek hanya dikontrol oleh sendiri oleh Vendor
Software
Pesanan (disesuaikan dgn kebutuhan
pelanggan tertentu saja)
◦ Berdasarkan kontrak kerja
◦ Spek dikontrol oleh pelanggan tertentu
Rekayasa Perangkat Lunak - Citra N., S.Si, MT 3
4. Model Proses Software
Waterfall (linear)
Evolutionere (iterasi)
Component-based
Rekayasa Perangkat Lunak - Citra N., S.Si, MT 4
5. Model Proses Software
Waterfall – pengembangan yang bersifat linear dari
mulai spesifikasi s/d pemeliharaan.
Evolutionere – pendekatan tumpang tindih kegiatan
spesifikasi, pengembangan, dan validasi. Sistem
sejak awal dikembangkan dgn cepat berdasarkan
spesifikasi abstrak, lalu disempurnakan berdasarkan
masukan dari pelanggan sampai sistem dapat
memenuhi kebutuhan pelanggan tersebut.
Component-based – pengembangan dengan cara
menggunakan komponen yang dapat dipakai ulang.
Rekayasa Perangkat Lunak - Citra N., S.Si, MT 5
7. Analisis Waterfall
Features
Sistematis, setiap tahapan prosesnya jelas
Sudah terbukti handal
Cocok untuk pengembangan software yang
bersifat generik
◦ Prosesnya sudah benar-benar jelas dan tidak
berubah-ubah
Rekayasa Perangkat Lunak - Citra N., S.Si, MT 7
8. Spiral model of the software process
Rekayasa Perangkat Lunak - Citra N., S.Si, MT 8
Risk
analysis
Risk
analysis
Risk
analysis
Risk
analysis Proto-
type 1
Prototype 2
Prototype 3
Opera-
tional
protoype
Concept of
Operation
Simulations, models, benchmarks
S/W
requirements
Requirement
validation
Design
V&V
Product
design Detailed
design
Code
Unit test
Integration
testAcceptance
testService Develop, verify
next-level product
Evaluate alternatives
identify, resolve risks
Determine objectives
alternatives and
constraints
Plan next phase
Integration
and test plan
Development
plan
Requirements plan
Life-cycle plan
REVIEW
9. Evolutionary development
• Exploratory development
– Objective is to work with customers and to
evolve a final system from an initial outline
specification. Should start with well-
understood requirements and add new
features as proposed by the customer.
• Throw-away prototyping
– Objective is to understand the system
requirements. Should start with poorly
understood requirements to clarify what is
Rekayasa Perangkat Lunak - Citra N., S.Si, MT 9
11. Component-based software engineering
• Based on systematic reuse where systems are
integrated from existing components or COTS
(Commercial-off-the-shelf) systems.
• Process stages
– Component analysis;
– Requirements modification;
– System design with reuse;
– Development and integration.
• This approach is becoming increasingly used
as component standards have emerged.
Rekayasa Perangkat Lunak - Citra N., S.Si, MT 11
13. RUP phase model
Rekayasa Perangkat Lunak - Citra N., S.Si, MT 13
Phase iteration
Inception Elaboration Construction Transition
14. The Systems Engineering Process
Rekayasa Perangkat Lunak - Citra N., S.Si, MT 14
* Software Engineering 7th ed, Ian Sommerville
15. Software Process
Serangkaian kegiatan dan hasil-hasilnya yang
diperlukan untuk menghasilkan aplikasi
tertentu.
Rekayasa Perangkat Lunak - Citra N., S.Si, MT 15
Spesifikasi
Pengembangan
Validasi
Evolusi