Lectures

Announcements

  • Do not forget about the UML chapter available on the lab page and the corresponding suggested reading

Chapter 1 - Introduction

Suggested reading

  • I. Sommerville - Software Engineering 8, Ch. 1 - Introduction (Intro; 1.1)
  • R. Pressman - Software Engineering 5th Ed., Ch. 1 - The Product (1.2,1.2.1; 1.4)
  • Frederic P. Brooks - The Mythical Man-Month: Essays on Software Engineering, Ch. 1 & 2

Chapter 2 - Software Development Processes

Suggested reading

  • I. Sommerville - Software Engineering 8, Ch.4 Software Processes (Intro; 4.1,4.1.1,4.1.2; 4.2; 4.4), Ch.17 Rapid Software Development (Intro; 17.1; 17.2)
  • R. Pressman - Software Engineering 5th Ed., Ch.2 The Process (2,4; 2.5; 2.7,2.7.1,2.7.2)
  • M. Fowler - UML Distilled, Ch.2 Development Process
  • P. Deemer & G. Benefield - SCRUM Primer

Chapter 3 - Requirements Engineering

Suggested reading

  • I. Sommerville - Software Engineering 8, Ch.4 Software Processes (4.3,4.3.1)
  • R. Pressman - Software Engineering 5th Ed., Ch.10 System Engineering (10.5), Ch.11 Analysis concepts and Principles (11.2)
  • M. Fowler - UML Distilled, Ch.9 Use Cases

Chapter 4 - Object-Oriented Analysis

Suggested reading

Chapter 5 - Software Design

Suggested reading

  • I. Sommerville - Software Engineering 8, Ch.4 - Software Processes (4.3.2), Ch. 11 - Architectural Design (Intro, 11.1, 11.2, 11.3)
  • R. Pressman - Software Engineering 5th Ed., Ch.14 - Architectural Design (14.3)
  • B. Meyer - Object-Oriented Software Construction, Ch.3 - Modularity (Intro, 3.1, 3.2)
  • A. Riel - Object-Oriented Design Heuristics (2.1)
  • R. Martin - The Open/Closed Principle
  • A. Hunt, D. Thomas - Pragmatic Programmer, Ch.5 - Section 1: Decoupling and the Law of Demeter

Chapter 6 - Advanced Implementation Mechanisms

Suggested reading

  • B. Eckel, Thinking in Java 4th Ed., Ch. Type information - The Class Object (Class literals, Generic class references, New cast), Checking before a cast (Using class literals, A dynamic instanceof), instanceof vs. Class equivalence, Reflection: runtime class information (A class method extractor)
  • B. Eckel, Thinking in Java 4th Ed., Ch. Generics - Simple generics (A tuple library, A stack class, RandomList), Generic Interfaces, Bounds, Wildcards (until contravariance but without it)

Chapter 7 - Software Testing

Suggested reading

  • R. Pressman - Software Engineering 5th Ed., Ch.18 - Software Testing Strategies (18.1.1-18.1.4; 18.3,18.4,18.5)
  • R. Pressman - Software Engineering 5th Ed., Ch.17 - Software Testing Techniques (17.2, 17.3, 17.4, 17.5.3, 17.6 Intro, 17.6.2, 17.6.3)
  • I. Sommerville - Software Engineering 8, Ch.4 - Software Processes (4.3.3), Ch 23 - Software Testing (23.3 Intro, 23.3.2, 23.3.3, 23.3.4)