Luca Dan Șerbănați at the baccalaureate, 1961
Luca Dan Șerbănați in the early 1970s
Luca Dan Șerbănați giving his last fifth-year lecture, April 1989

Luca Dan Șerbănați

Emeritus Professor at Politehnica University of Bucharest

Research, teaching, industry and memoirs

RO | EN | IT
Luca Dan Șerbănați in Venice, 1990
Luca Dan Șerbănați in New York, 2005
Luca Dan Șerbănați

Landmarks

  • Institution: POLITEHNICA University of Bucharest
  • Faculty: FILS
  • Year / semester: year IV, semester I
  • Profile: Information Engineering

Place of the course in the didactic sequence

This course represents the final stage of the software engineering sequence. If in Software Development Methods the emphasis was on requirements analysis, domain modelling, and the structuring of the development process, here the interest moves toward design decisions and the architecture of software systems.

Objective of the course

The course aims to form an engineering vision of software design: how one moves from conceptual models to implementable structures, how complex systems are organized, and how adequate architectural solutions are chosen.

Structure of the course

1. Introduction to software design

The relation between analysis and design, the role of UML, forward and reverse engineering, and the place of design in the life cycle.

2. Design patterns

GoF patterns and GRASP responsibility-assignment principles, as mechanisms for organizing collaboration between objects.

3. Software system architecture

Viewpoints, the 4+1 model, and the architectural description of complex systems.

4. Architectural patterns and styles

Microkernel, Client-Server, Broker, MVC, MVVM, CQRS, Event Sourcing, Hexagonal Architecture, and other fundamental models.

5. Classical architectures

Monolithic, layered, n-tier, component-based, and client-server architectures.

6. Technologies for software architectures

Enterprise platforms (Jakarta EE), components, and middleware infrastructures.

7. Service-Oriented Architecture (SOA)

Services, orchestration, interoperability, and distribution.

8. Systems integration

Enterprise Integration (EAI), messaging, publish-subscribe, and event-based architectures.

Significance of the course

This course reflects the transition from programming and modelling to architecture: from objects to systems. It introduces the concepts that make it possible to understand software at large scale and provides the conceptual framework for the design of modern distributed systems.

In the context of the other courses