Pressman, Roger S., Software Engineering - A Practioner's Approach. 4th edition. McGraw-Hill International Editions, 1997. (Mustakantinen / black covered version.) 1 The Product 2.1 Software engineeering - a layered technology 2.2 The software process 2.3 Software process models 2.4 The liner sequential model 2.5 The prototyping model 2.6 The RAD model 2.7 Evolutionary software process models 2.10 Process technology 2.11 Product and process 3 Project management concepts 4.2.3 look below 5.1 Observations on estimating 5.2 Project planning objectives 5.3 Software scope 5.4 Resources 5.5 Software project estimation 5.6 Decomposition techniques 5.7 Empirical estimation models (COCOMO in 5.7.2) - include 4.2.3 Function-Oriented Metrics, (18.3.1) 5.9 Automated estimation tools 5.10 Summary 6.1 Reactive vs proactive risk strategies 6.2 Software risks 6.8 Summary 7.6 Defining a task network 7.7 Scheduling 7.8 The project plan 7.8 Summary 8.1 Quality concepts 8.3 Software quality assurance 8.4 Software reviews 8.5 Formal technical reviews 8.9 The SQA plan (11 Analysis concepts and principles) 11.5 Specification 12 Analysis modeling 13 Design concepts and principles 14 Design methods 16 Software testing techniques 17 Software testing strategies (19-19.4 Object oriented concepts and principles + UML; expected to be know from previous courses) 20.1 Object oriented analysis 20.4.1 Use cases 20.4.3 Defining structures and hierarchies 20.4.4 Defining subjects and subsystems 20.5 The object-relationship model 20.6 the object-behaviour model 21.5 Design patterns