bayuandoro.com
THE SOFTWARE PROCESS
03/11/2015
Ign.F.Bayu Andoro.S, M.Kom
1
Introduction 2
Proses perangkat lunak telah menjadi perhatian yang serius selama dekade terakhir Proses perangkat lunak merupakan sebuah kerangka kerja untuk tugas-tugas yang dibutuhkan dalam membangun perangkat lunak yang berkualitas tinggi Proses perangkat lunak menentukan pendekatan yang digunakan ketika perangkat lunak dikembangkan, termasuk teknologi untuk proses, metode teknis dan alat-alat otomatis bayuandoro.com
03/11/2015
Software Engineering Layers 3
Teknik membangun perangkat lunak
Topangan proses (automated/semiautomated)
(how to building software)
Tools Methods Process
Quality Fondasi (foundation)
[Pressman 97]
bayuandoro.com
Batu landasan (bedrock) 03/11/2015
Software Quality 4
Critical Quality
Other Attributes
Attributes [Sommerville 96]
– – – –
Maintainability Dependability Efficiency Usability
– – – – – – – – – –
Completeness Compatibility Portability Internationalization Understandability Scalability Robustness Testability Reusability Customizability
bayuandoro.com
03/11/2015
Software Process by SEI 5
Five Process Maturity Levels Level 1: Initial - proses PL yang ditandai sebagai ad hoc dan chaotic (kacau). Level 2: Repeatable – manajemen proyek untuk penelusuran masalah biaya, jadwal, dan fungsionalitas proyek-proyek terdahulu Level 3: Defined - Pendokumentasian, standarisasi, dan pengintegrasian pada perangkat lunak organisasi besar Level 4: Managed - Pengukuan detail proses dan kualitas produksi perangkat lunak Level 5: Optimizing - Penambahan proses melalui umpan balik kuantitatif, gagasan inovatif pengujian, dan teknologi
bayuandoro.com
03/11/2015
Process Principles 6
Menentukan semua aktivitas mayor Menggunakan resources dalam kumpulan terbatas untuk menghasilkan produk menengah dan akhir Dapat terdiri atas sub-processes Setiap aktivitas masukan dan keluaran harus memiliki kriteria Aktivitas diorganisir secara urut Mempunyai sekumpulan panduan untuk menjelaskan tujuan Batasan dapat diterapkan pada aktivitas, resource atau produk bayuandoro.com
03/11/2015
Software Development Stages 7
Requirements Analysis & Specification Conceptual/System Design Detailed/Program Design Implementation/Coding Unit & Integration Testing System Testing System Delivery Maintenance bayuandoro.com
03/11/2015
Software Process Models 8
Linier Sequential Model
Waterfall Model V Model RAD Model
Prototyping Model
Evolutionary Model
Incremental Model Spiral Model Component Assembly Model Concurrent Development Model
Formal Model Fourth Generation Techniques
bayuandoro.com
03/11/2015
Waterfall Model 9
REQUIREMENTS ANALYSIS SYSTEM DESIGN PROGRAM DESIGN CODING
UNIT & INTEGRATION TESTING SYSTEM TESTING ACCEPTANCE TESTING
[Pfleeger 98]
bayuandoro.com
OPERATION & MAINTENANCE
03/11/2015
V Model 10 OPERATION & MAINTENANCE
Validate requirements
REQUIREMENTS ANALYSIS
ACCEPTANCE TESTING SYSTEM DESIGN SYSTEM TESTING
Verify design
PROGRAM DESIGN
[Pfleeger 98]
UNIT & INTEGRATION TESTING
CODING
bayuandoro.com
03/11/2015
RAD Model 11 team #3 business modeling
team #2 data modeling
business modeling
process modeling
team #1 data modeling
business modeling
application generation
process modeling
data modeling
testing & turnover
application generation
process modeling
application generation
testing & turnover
testing & turnover 60 - 90 hari
bayuandoro.com
03/11/2015
Prototyping Model 12
Listen to Customer
Build/Revise Mock-Up
Customer Test-drives Mock-up [Pressman 97]
bayuandoro.com
03/11/2015
Prototyping Model 13
LIST OF REVISIONS
revise prototype
LIST OF REVISIONS
LIST OF REVISIONS
user/ customer review
PROTOTYPE REQUIREMENTS
PROTOTYPE DESIGN
PROTOTYPE SYSTEM
TEST
DELIVERED SYSTEM
SYSTEM REQUIREMENTS (sometimes informal or incomplete)
[Pfleeger 98]
bayuandoro.com
03/11/2015
Incremental Model 14 system/information engineering analysis
increment 2
design
analysis
increment 3
code
design
analysis
increment 4
delivery of 1st increment
test
code
design
analysis
test
delivery of 2nd increment
code
design
bayuandoro.com
test
code
03/11/2015
delivery of 3rd increment
test
delivery of 4th increment
Spiral Model 15
Planning Integration and test plan
menentukan tujuan, alternatif, batasan sistem dan budget
Risk Analysis
analisa resiko berdasarkan evaluasi user analisa resiko berdasarkan kebutuhan awal
development plan development plan Requirements
Customer Communication
prototipe awal Engineering prototipe tingkat berikutnya
Project Entry Point
Customer Evaluation
Produk jadi Construction & Release bayuandoro.com
03/11/2015
Component Assembly Model Identify candidate components
16
Look up components in library
Construct n-th iteration of system
Extract components if available
Put new componet in library
build components if unavailable
planning Customer communication
risk analysis
entry point customer evaluation
Engineering, contruction bayuandoro.com 03/11/2015 & release
Concurrent Development Model 17
none
Analysis activity Under development A waiting changes
Under review Under revision
baselined
done
bayuandoro.com
03/11/2015
3.8.4 Formal Model 18
Mencakup sekumpulan aktivitas yang membawa kepada spesifikasi matematis perangkat lunak komputer; Memungkinkan software engineer untuk mengkhususkan, mengembangkan, dan memverifikasi sistem berbasis komputer dengan menggunakan notasi matematis yang tepat;
Variasi dari pendekatan ini disebut clean-room software engineering.
Silahkan baca dibuku software engineering bayuandoro.com
03/11/2015
Fourth Generation Techniques (4GT) 19
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 pemakaian (relatif). bayuandoro.com 03/11/2015
4GT Techniques 20
requirements gathering
design strategy
implementation using 4GL
testing
bayuandoro.com
03/11/2015
Terima Kasih 21
bayuandoro.com
03/11/2015