Review & Motivation Software Engineering
Defri Kurniawan, M.Kom 1
Content Why Software Engineering? Definisi Software Engineering Peranan Perangkat Lunak Disiplin ilmu Software Engineering
2
9/24/2013
WHY SOFTWARE ENGINEERING???
3
Software Engineering (Rekayasa Perangkat Lunak) Segala Aspek kehidupan dikendalikan oleh perangkat lunak.
Mengubah gaya hidup: belanja online, bersosialisasi, rapat, komunikasi, dll
Pengambilan keputusan: Decision Support System, Expert System, dll
Pusat Data & Informasi: Database, Sistem Informasi
Biaya hardware jatuh dan biaya perangkat lunak naik cepat
Banyak pengusaha dunia sukses di bidang Software
Usia Bidang kajian Software Engineering masih muda & terus berkembang 4
9/24/2013
5
9/24/2013
Orang Terkaya di Amerika 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Bill Gates Warren Buffett Paul Allen Larry Ellison S. Robson Walton Jim Walton John T. Walton Michael Dell Sheldon Adelson Steve Ballmer
46,5 miliar USD 44,0 miliar USD 21,0 miliar USD 18,4 miliar USD 18,3 miliar USD 18,2 miliar USD 18,2 miliar USD 16,0 miliar USD 15,6 miliar USD 12,1 miliar USD
Peranan Perangkat Lunak
7
1.
Menggantikan peran manusia: Dengan otomasi terhadap suatu tugas atau proses
2.
Memperkuat peran manusia: Dengan membantu manusia mengerjakan suatu tugas atau proses dengan lebih baik dan tertata
Peranan Perangkat Lunak 3.
Restrukturisasi Peran Manusia: Dengan melakukan perubahan-perubahan thd sekumpulan tugas atau proses
4.
Hiburan dan Permainan: Dengan menyajikan aplikasi interaktif hiburan yang semakin dekat dengan kenyataan
8
9/24/2013
Perjalanan Disiplin Ilmu Software Engineering 1.
2.
3.
Peter J Dennings yang memimpin task force disiplin ilmu computing memasukkan software engineering sebagai satu disiplin ilmu (Dennings, 1999) IEEE Computer Society membentuk tim khusus untuk menyusun pohon ilmu Software Engineering (Software Engineering Body of Knowledge, SWEBOK) http://swebok.org Software Engineering termasuk nama jurusan atau fakultas yang diakui menurut IEEE Computing Curricula 2005
Matriks Dennings 1999 Algoritma dan Struktur Data 2. Bahasa Pemrograman 3. Arsitektur Komputer 4. Sistem Operasi dan Jaringan 5. Software Engineering 6. Database dan Sistim Retrieval Informasi 7. Artificial Intelligence dan Robotik 8. Grafik 9. Human Computer Interaction 10. Ilmu Komputasi 11. Organizational Informatics 12. BioInformatik ( Peter J. Dennings, 1999 ) 1.
SWEBOK 2004 Software Requirement
Software Design
Software Construction
Software Requirements Fundamentals Requirement Process Requirements Elicitation Requirements Analysis Requirements Validation Practical Considerations
Software Design Fundamentals Key Issues in Software Design Software Structure and Architecture Software Design Quality Analysis and Evaluation Software Design Noations Software Design Strategies and Methods
Software Construction Fundamentals Managing Construction Practical Considerations
Software Testing
Software Maintenance
Software Configuration Management
Software Testing Fundamentals Test Levels Test Techniques Test Related Measures Test Process
Software Maintenance Fundamentals Key Issues in Software Maintenance Maintenance Process Techniques for Maintenance
Management of the SCM Process Software Configuration Identification Software Configuration Control Software Configuration Status Accounting Software Configuration Auditing Software Release Management and Delivery
Software Engineering Management
Software Engineering Process
Software Quality
Initiation and Scope Definition Software Project Planning Software Project Enactment Review and Evaluation Closure Software Engineering Measurement
Process Implementation and Change Process Definition Process Assesment Process and Product Measurement
Software Quality Management Software Quality Management Process Practical Considerations
Software Engineering Tools and Methods
11
Software Tools: Software Requirements Tools Software Design Tools Software Construction Tools Software Testing Tools Software Maintenance Tools Software Configuration Management Tools Software Engineering Management Tools Software Engineering Process Tools Software Quality Tools Miscellaneous Tool Issues Software Engineering Methods: Heuristic Methods Formal Methods Prototyping Methods
Knowledge Areas of the Related Disciplines Computer Engineering Computer Science Management Mathematics Project Management Quality Management Software Ergonomic Systems Engineering
9/24/2013
IEEE Computing Curricula 2005 1. 2. 3. 4. 5.
12
Computer Engineering (CE,Teknik Komputer) Computer Science (CS, Ilmu Komputer) Information Systems (IS, Sistem Informasi) Information Technology (IT,Teknologi Informasi) Software Engineering (SE, Rekayasa Perangkat Lunak)
9/24/2013
IEEE Computing Curricula 2005 Computer Engineering (CE)
Information System (IS)
Computer Science (CS)
pengembangan sistem konsep computing dan terintegrasi(software terintegrasi (software dan analisa kebutuhan dan proses bisnis pengembangan software hardware) serta desain desain sistem Computer Engineer Computer Scientist System Analyst
13
Information Technology (IT)
Software Engineering (SE)
pengembangan dan maintenance infrastruktur IT
pengembangan software dan pengelolaan tahapan SDLC
Network Engineer
Software9/24/2013 Engineer
Target Profesi IEEE CC 2005
Software Engineering (SE) 1. 2.
14
Indonesia: Tidak ada (masuk ke Jurusan Teknik Informatika) Lulusan mampu mengelola aktifitas pengembangan software berskala besar dalam tiap tahapannya (software development life cycle)
9/24/2013
15
9/24/2013