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
- R. Pressman - Software Engineering 5th Ed., Ch. 2 - The Process
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 - 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), Ch.20 - Object-Oriented Concepts and Principles (20.3) Ch. 21 - Object-Oriented Analysis (21.4)
- B. Meyer - Object-Oriented Software Construction, Ch.3 - Modularity (Intro, 3.1, 3.2)
- A. Riel - Object-Oriented Design Heuristics (2.1, 2.6, 3.4, 3.6, 3.7)
- R. Martin - The Open/Closed Principle
- A. Hunt, D. Thomas - Pragmatic Programmer, Ch.5 - Section 1: Decoupling and the Law of Demeter
- D. Rubin - Introduction to CRC Cards
- K. Beck, W. Cunningham - A Laboratory for Teaching Object-Oriented Thinking
Chapter 5 - 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 6 - 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)