Software Development
Brigida Arie Minartiningtyas, M.Kom.
COMPUTER SCIENCE
TheoriesComputer Functions
Problems
CUSTOMER
SOFTWARE ENGINEERING
Tools & Techniques to solve problems
Software Quality View
• Internal & external view
Product (Software Quality)
• Aktivitas: pengembangan sistem & pemeliharaan
Process
• Business value – perhitungan matematis
• Mengurangi costs & hemat waktu
Product (Business Context)
Quality View - Product
System requirements atau model desain, tujuan user
Correctness
Kemungkinan bahwa sistem akan ‘fail’ dalam suatu periode
Program berjalan dalam waktu yang
minimal dengan sumber daya yang minimal
Mudah digunakan, kemampuan user menyelesaikan pekerjaan dengan cepat, akurat dan aman
Perlindungan dan keamanan
Maintainability
1. Kesalahan dapat diperbaiki
2. Fungsionalitas dapat ditambahkan atau dimodifikasi (customized)
Flexibility
Mudah membuat perubahan atau dapat berjalan dimana saja
Kemudahan dan
kemampuan pengujian
Interoperability
Bagaimana dapat
diitegrasikan atau interface
dengan sistem yang lain
Berjalan pada SO yang berbeda, mesin yang berbeda, atau dengan produk s/w yang lain
Portability
Correctness
Reliability
Efficiency
Integrity
Usability
Maintainability
Testability
Flexibility
Portability
Reusability
Interoperability
Traceability
Completeness
Consistency
Accuracy
Error Tolerance
Execution Efficiency
Storage Efficiency
Access Control
Access Audit
Operability
Training
Communicativeness
Simplicity
Conciseness
Instrumentation
Self-descriptiveness
Expandibility
Generality
Modularity
S/w Sys. Independence
Machine Independence
Comm. Commonality
Data Commonality
Quality Model
Quality View - Process
Aktifitas pengembangan sistem
Aktifitas pemeliharaan sistem
•Capability Maturity Model (CMM)
•Software Process Improvement and Capability Determination (SPICE)
• ISO 9000
Software engineering – process improvement
Quality View-Product (Business)
Nilai bisnis daripada nilai teknis
Fokus pada layanan produk terhadap bisnis
•Efisiensi biaya operasional
•Efisiensi waktu
•Penghematan SDM (otomatisasi)
•Peningkatan proses
Business Context
PROSES
• DefinitionProcess
ACTIVITIES (TASKS), CONSTRAINTS, RESOURCES
PROCEDURESTOOLS & TECHNIQUES
OUTPUT
[ Results ]
[ Product ]
[ Set of Goals ]
[ Standards ]
INPUT
[ Source ]
[ Requirements ]
Process
FINAL OUTPUT
[ Results ]
[ Product ]
[ Set of Goals ]
[ Standards ]
Karakteristik
• Kegiatan-kegiatan
• Menggunakan sumberdaya
• Terdiri dari sub-proses
• Memiliki kriteria In & Out
• Dilakukan berurutan
• Memiliki panduan
• Memiliki kendala & kontrol
Proses Adalah
Proses Seleksi
Calon Karyawan
ACTIVITIES (TASKS), CONSTRAINTS, RESOURCES
PROCEDURESTOOLS & TECHNIQUES
OUTPUT[Pendaftar diterima/ditolak]
INPUT[Data pendaftar]
Constraint
Kebutuhan
Nilai gaji
Contoh Proses
Strategy
Planning
Feasibility
Study
Requirement
Analysis
DesignImplementation
Testing
Maintenance
Development
phase
Definition phaseMaintenance phase
Requirements analysis
& definition
System Design
Program Design
Program Implementation
Unit Testing
Integration Testing
System Testing
System Delivery
Maintenance
Activity
Activity
Activity
Activity
Activity
Activity
Activity
Proses dalam setiap tahap….
Proses Software
Problem Definition
Solution
Integration
Technical
DevelopmentStatus Quo
Waterfall Model
• “V” Model
Prototyping Model
• Throw away
• Evolutionary
RAD Model
• Incremental Model
• Iterative Model
Spiral Model
Detailed
Analysis
Detailed
Design
Construction
Testing
Operation &
Maintenance
Feasibility
Study
System
Delivery
Status Quo & Problem
Identification
Evaluasi costs & benefits
Output: feasibility report
Definisi permasalahan
Pilihan solusi & benefits
Sumber daya yang dibutuhkan & scheduling
Model Waterfall
System / Information engineering [Roger. S. Pressman]
Requirement Analysis
Investigation
Identitifikasi requirements
Fungsionalitas
Kualitas
Output: req specification document
Functional req
Non-functional req
Quality controls
Detailed
Analysis
Detailed
Design
Construction
Testing
Operation &
Maintenance
Feasibility
Study
System
Delivery
Status Quo & Problem
Identification
Model Waterfall
System / Information engineering [Roger. S. Pressman]
Program Design
System Design Pembangunan modul
sistem
Output: design spec. anddocument
S/W Architecture
Its relationships
Detailed
Analysis
Detailed
Design
Construction
Testing
Operation &
Maintenance
Feasibility
Study
System
Delivery
Status Quo & Problem
Identification
Model Waterfall
System / Information engineering [Roger. S. Pressman]
Unit & Integration Test
System Test:Tes fungsional
Tes Kinerja
User Acceptance Test
Tes instalasi
Coding
Module Testing
Detailed
Analysis
Detailed
Design
Construction
Testing
Operation &
Maintenance
Feasibility
Study
System
Delivery
Status Quo & Problem
Identification
Model Waterfall
System / Information engineering [Roger. S. Pressman]
Terperincidan detil
Cocok untukdeveloper
pemula
Dinyatakansebelum masuk
tahap berikutnya
Berfokus padadokumentasi
Keuntungan-Waterfall
Jarang sesuai urutan yang direncanakan
Iterations confusion
Ketidakpastian (Kesulitan memetakan SEMUA user req)
• Apakah sistem memenuhi harapan user?
Ketidak jelasan proses pengembangan
• Tidak ada pengecekan kembali
Produk baru muncul diakhir tahapan
Tidak terdapat pedoman, jika terjadi perubahan
Kekurangan-Waterfall
34
REQUIREMENTS
I Dewa Md. Adi Baskara Joni S.Kom., M.Kom
Requirements
Bagian tersulit dari membangun perangkat lunak
adalah menentukan dengan tepat apa yang
dibangun. Tidak ada pekerjaan konseptual lain
yang lebih sulit dari membangun technical
requirements. Tidak ada pekerjaan lain yg dapat
melumpuhkan sistem jika dilakukan dengan salah.
(Brooks, 1987)
Penyebab Kegagalan
Requirements tidaklengkap (13.1%)
Kurangnyaketerlibatan pengguna
(12.4%)
Kurangnya sumberdaya (10.6%)
Ekspektasi tidakrealistis (9.9%)
Kurangnyadukungan eksekutif
(9.3%)
Perubahanrequirements danspesifikasi (8.7%)
Kurangnyaperencanaan (8.1%)
•Sistem tidak lagidibutuhkan (7.5%)
Problem & Solution
41
42
Memahami Kebutuhan Pengguna
1. Sampling dokumentasi, formulir, dan database yang ada2. Penelitian & kunjungan lapangan3. Observasi lingkungan kerja4. Wawancara5. Prototipe6. Join Requirement Gathering
43
1. Mengumpulkan fakta dari dokumentasi yang ada2. Carilah bagan organisasi <untuk menentukan stakeholder>3. Melacak semua dokumen yang mengarah pada proyek seperti: review kinerja, pengukuran kerja, IS
project request <masa lalu dan masa depan>4. Melacak semua dokumen yang menggambarkan masalah, SOP, garis besar pekerjaan, instruksi tugas5. Lacak semua dokumen sistem terdahulu
1. Sampling dokumentasi, formulir, dan database yang ada
44
1. Penyebab masalahnya2. Siapa yang bertanggung jawab dan siapa yang memiliki pemahaman terbaik tentang masalah ini3. Fungsi bisnis4. Dokumentasi kabur atau ambigu yang akan diminta dalam wawancara
Dikumpulkan dan dianalisis untuk mendapatkan?
45
1. Jika organisasi "mau berbagi" informasi berharga bisa didapatkan
2. Jurnal komputer dan buku referensi adalah sumber yang baik,
2. Penelitian & Kunjungan Lapangan
46
Teknik pencarian fakta dimana analis sistem berpartisipasi atau
melihat seseorang melakukan aktivitas untuk belajar tentang sistem
1. Orang merasa tidak nyaman
2. Beberapa aktivitas mungkin terjadi pada waktu yang tidak biasa
3. Beberapa kali orang melakukan pelanggaran SOP
3. Observasi Lingkungan Kerja
47
Dokumen yang memungkinkan analis
mengumpulkan informasi dan opini dari responden
(+)
1. Bisa dijawab dengan cepat
2. Murah
3. Bisa memberikan fakta nyata, karena anonim
4. Respon bisa dianalisis dengan cepat
(-)
1. Tidak ada jaminan bahwa seseorang akan
menjawab semua pertanyaan
2. Pertanyaan cenderung tidak fleksibel
3. Tidak bisa mengamati bahasa tubuh
4. Tidak bisa memperbaiki jawaban yang tidak
lengkap
5. Pertanyaan bagus sulit dipersiapkan
4. Kuesioner
48
1. Bisa memotivasi orang yang diwawancarai untuk merespon secara bebas
dan terbuka terhadap pertanyaan
2. Mendapatkan lebih banyak umpan balik dari orang yang diwawancarai
3. Mampu mengadaptasi pertanyaan untuk masing-masing individu
4. Amati orang yang diwawancarai melalui komunikasi nonverbal
5. Interview
49
1. Tidak terstruktur : biarkan orang yang diwawancarai memberikan kerangka
kerja dan mengarahkan pembicaraan. Pertanyaan terbuka
2. Terstruktur : pewawancara memiliki pertanyaan khusus. Pertanyaan lengkap
Jenis Interview
50
1. Berpakaian dengan tepat
2. Sopan
3. Dengarkan baik-baik
4. Kontrol wawancara
5. Amati komunikasi non verbal
6. Keep Easy
7. Sabar
8. Kontrol diri
9. Selesai tepat waktu
10.Kirim kembali ringkasan wawancara untuk memperjelas
51
1. Berasumsi jawabannya sudah selesai
2. Mengungkap petunjuk lisan dan nonverbal
3. Menggunakan jargon <kata khusus, kata-kata teknis>
4. Mengungkap bias pribadi anda <prasangka>
5. Berbicara bukan mendengarkan
6. Berasumsi apapun tentang topik tertentu
7. Rekaman
52
pertemuan kelompok yang sangat
terstruktur dilakukan untuk menganalisis
dan menentukan kebutuhan
1. Sponsor
2. Fasilitator
3. Pengguna dan manajer
4. Penulis
5. Staf TI
6. Join Requiremet Gathering