Summary:This course examines basic principles of performance analysis, performance modeling and evaluation for software systems. Students will learn why software performance is critical to software development processes. The course covers the principles of software performance engineering (SPE), performance patterns and anti-patterns for performance-oriented design, techniques for eliciting performance objectives, techniques for gathering data needed for evaluation, and guidelines for the evaluation at each stage of software development process. |
Objectives:By the end of the course students will be able to:
|
|
Work Assigned: Assignments Evaluation: Resources: The textbook is Performance Solutions: A Practical Guide by Connie Smith and Lloyd Williams. |
Outline:Week 1: 1) Introduction ; 2) History of Performance Engineering; 3) Overview of Software Performance Engineering Week 2: 1) Introduction to UML 2) SPE notations 3) Software Execution Model I Week 3: 1) Software Execution Model II 2) Software Architecture & Styles I 2) Software Architecture & Styles II Week 4: 1) Software Architecture & Styles III 2) System Execution Model I 3) System Execution Model II Week 5: 1) System Execution Model III 2) Application I 3) Applications II Week 6: 1) SPE Data collection 2) SPE Measurement 3) SPE instrumentation Week 7: 1) Performance Oriented Design I 2) Performance Oriented Design II 3) Software Design Patterns I Week 8: 1) Software Design Patterns II 2) Performance Patterns I 3) Performance Patterns II Week 9: 1) Performance Patterns III 2) Software Antipatterns 3) Performance Anitpatterns I Week 10: 1) Performance Antipatterns II 2) Performance Tuning I 3) Performance Tuning II Week 11: 1) Web Applications 2) E-Business Applications 3) Embedded Real-Time Systems Week 12: 1) SPE in Software Development Process I 2) SPE in Software Development Process II 3) Review |