Main themes and learning objectives

Principal theme Prerequisite knowledge Approaches the learning objectives Reaches the learning objectives Deepens the learning objectives
Performance and its management in software development

Basics of sw development processes and project management

Sw architecture and how NFRs affect sw architecture

Can define performance and the important measures of timeliness

Can explain the consequences of bad performance

Can explain the most important activities of sw perf. management in the life-cycle of a sw system

Can compare and argue the relative merits of the proactive and reactive approach to sw perf. management

Can formulate an effective sw perf. management strategy for a sw system based on a risk analysis
Performance modeling

UML Use Case and Sequence Diagrams

 

Can explain what makes a use case critical from a performance perspective

Can add timing information to Sequence Diagrams

Can explain the effect of resource contention by concurrent jobs to response time

Can explain why system execution models are needed

Knows the quantities used to measure performance

Knows the difference between open and closed systems

 

Can explain the role of performance modeling and the modeling strategies used in SPE

Can translate the sequence diagrams of a use case to a software execution model

Can solve a software execution model using a given processing overhead matrix

Can create a software execution model for a distributed system that shows the synchronization of parallel executions

Can calculate with Little's Law the N, X, R, or Z for an open system and a closed system when the other quantitities are known

Can use the Bottleneck Law for estimating the upper bound for throughput

Can create a Queueing Network Model for a simple open or closed system that has a few servers and several concurrent jobs

Knows how a QNM is in principle solved and how software execution models are used to derive input values for QNMs

Can create a processing overhead matrix for a sw system under design

Can select correct tools for creating performance models and  knows how to use them

Performance measurement and instrumentation  

Can explain what data is needed in SPE for creating performance models

Can argue why performance measurements are needed

Osaa kertoa, mihin instrumentointia tarvitaanCan explain why instrumentation is needed

Can explain the types of concrete measurements and the purposes they serve

Can define a specific, quantitative and measurable performance objective

Can decide which software and system resources should be include in a processing overhead matrix

Knows what techniques and tools are available for acquiring performance data for perf. analysis

Can explain the requirements of a good performance measurment

Knows the difference between monitoring states and recording events and knows what measurements to conduct with tools based on these techniques

Can argue the case for instrumentation in performance measurement

 

Can design representative and reproducible measurements

Can create a measurement strategy for a software system

Performance principles and patterns The concept of Design Pattern

Can explain the categorization of principles for perfomance-oriented design

Osaa nimetä ja selostaa jonkin suorituskykypatternin ja anti-patterninCan name and explain a Performance Pattern and a Performance Antipattern

Can select the components and functions of a software system where performance principles and patterns should be applied Can recognize and analyse the use of performance principles and patterns in a sw system
02.05.2014 - 17:08 Antti-Pekka Tuovinen
02.05.2014 - 14:02 Antti-Pekka Tuovinen