Materi 2 - Software Engineering Principles
Materi 2 - Software Engineering Principles
Tim RPL
Program Studi Teknik Informatika
Tujuan :
• Untuk mengenalkan Model Proses Perangkat Lunak
• Untuk menggambarkan 3 model proses dan kapan model-model
tersebut digunakan.
• Untuk menggambarkan Model Proses secara garis besar untuk
requirements engineering, software development, testing dan
evolution
• Untuk menjelaskan Model Rational Unified Process
• Sebagai roadmap untuk membangun produk perangkat lunak
berkualitas tinggi
• Adapted to meet the needs of software engineers and managers
• Menyediakan sebuah framework untuk mengelola aktivitas.
• Different types of projects require different software processes
• Work product by the software process 2
A Layered
Technology
Software Engineering
tools
methods
process
a quality focus
For use only at the university level and in conjunction with the book,Software Engineering: A Practitioner's Approach,4/e, McGraw-Hill, 1997.
Transparencies copyright © 1996, R.S. Pressman & Associates, Inc. reproduced with permission.
3
Software Process
4
Definition (What???)
For use only at the university level and in conjunction with the book,Software Engineering: A Practitioner's Approach,4/e, McGraw-Hill, 1997.
Transparencies copyright © 1996, R.S. Pressman & Associates, Inc. reproduced with permission.
5
Development (How???)
• Software design
• Code Generation
• Software Testing
For use only at the university level and in conjunction with the book,Software Engineering: A Practitioner's Approach,4/e, McGraw-Hill, 1997.
Transparencies copyright © 1996, R.S. Pressman & Associates, Inc. reproduced with permission.
6
Maintenance (Change)
• Correction
• Adaptation
• Enhancement
• Prevention
For use only at the university level and in conjunction with the book,Software Engineering: A Practitioner's Approach,4/e, McGraw-Hill, 1997.
Transparencies copyright © 1996, R.S. Pressman & Associates, Inc. reproduced with permission.
7
A Common Process Framework
Framework Activities
Task sets
Tasks
Milestones, deliverables
SQA points
Umbrella activities
For use only at the university level and in conjunction with the book,Software Engineering: A Practitioner's Approach,4/e, McGraw-Hill, 1997.
Transparencies copyright © 1996, R.S. Pressman & Associates, Inc. reproduced with permission.
8
Common Process Framework
• Communication
– Customer collaboration and requirement gathering
• Planning
– Establishes engineering work plan, describes technical risk, list
resource requirements, work product produced, and defines work
schedule
• Modeling
– Creation of models to help developers and customers understand
the requires and software design
• Construction
– Code generation and design
• Deployment
– Software delivered for customer evolution and feedback
9
5 Framework Activity
• Communication
• Planning
• Modeling
• Construction
• Deployment
Framework Activity (hal 32)
Communication Planning
Modeling
Construction Deployment
Level 5: Optimizing
Level 2 : Managed
Level 1 : Performed
Level 0 : Incomplete
For use only at the university level and in conjunction with the book,Software Engineering: A Practitioner's Approach,4/e, McGraw-Hill, 1997.
Transparencies copyright © 1996, R.S. Pressman & Associates, Inc. reproduced with permission.
17
Capability Maturity Model Integration
(CMMI)
LEVEL FOKUS
• Optimizing • Continous process
improvement
• Quantitatively Managed • Quantitative management
• Mendengarkan
• Persiapan sebelum berkomunikasi
• Seseorang harus memfasilitasi aktivitas
• Aktivitas komunikasi face to face
• Komunikasi face-to-face adalah yang terbaik
• Catat dan dokumentasikan keputusan
• Berusaha untuk berkolaburasi
• Tetap fokus : modularize your discussion
• Bila sesuatu tidak jelas, gambarkan.
• Sekalinya setuju terhadap sesuatu, move on
• Negotiation adalah bukan sebuah kontes atau sebuah game
Planning Principles
• Coding principles
• Validation Principles
• Testing Principles
Coding Principles
Preparation principles : Before you write one
line of code, be sure you :
• Memahami masalah yang sedang dipecahkan
• Memahami prinsip dan konsep dasar perancangan
• Memilih bahasa pemrograman yang dibutuhkan
perangkat lunak dan lingkungan dimana akan
beroperasi.
• Memilih lingkungan pemrograman yang menyediakan
tools yang akan membuat pekerjaan menjadi lebih
mudah.
• Membuat sekumpulan pengujian unit yang akan
dijalankan sekalinya komponen yang dikodekan lengkap.
Programming Principles