Lectures

Announcements

  • According to the university decision, the SEF lecture and labs will take place exclusively online. In both cases, we will use the Microsoft Teams platform. The registration procedure to the corresponding team is presented in Campus Virtual.
  • Do not forget about the UML chapter available on the lab page and the corresponding suggested reading

Chapter 1 - Introduction (handout)

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 - 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)