Skip to main content
Department of Information Technology

Software Engineering

For successful software projects


Software engineering is concerned with all aspects of software production. Software engineering is about methods, models, processes, and tools for the development, operation, and maintenance of software systems.

Our research focuses on both theory and practice in software engineering.

Research Topics

  • Requirements engineering (RE): is concerned with the elicitation, analysis, specification, and validation of software requirements as well as the management of requirements during the whole life cycle of a software product.
  • Software architecture and design (SAD): refers to the process of defining the architecture, components, interfaces, and other characteristics of a software system or component and the result of that process.
  • Software construction (SC): refers to the detailed creation of working software through a combination of coding, verification, unit testing, integration testing, and debugging.
  • Software quality (SQ): refers to the capability of a software product to satisfy requirements under specified conditions.
  • Software testing (ST): consists of the dynamic verification that a program provides expected behaviours on a finite set of test cases, suitably selected from the usually infinite execution domain.
  • Software maintenance (SM): refers to the totality of activities required to provide cost-effective support to software.
  • Software engineering management (SEM): ensures that software products are delivered efficiently, effectively, and to the benefit of stakeholders.
  • Software engineering models and methods (SEMM): impose structure on software engineering. Examples of methods: agile methods, heuristic methods, formal methods, and prototyping methods.


  • 1DL242: Advanced Software Design: SAD
  • 1DL251: Software Engineering and Project Management: RE, SAD, SC, SQ, ST, SEM, SEMM
  • 1DL601: Maintenance Programming: SM
  • 1DL610: Software Testing: SC, ST
  • 1DL650: Software Engineering Project: RE, SAD, SC, SQ, ST, SEM, SEMM
  • 1DT034: Programming Theory: RE, SC
  • 1DT092: Global Software Product Development: RE, SAD, SC, SQ, ST, SEM, SEMM
  • 1MD002: User Interface Programming I: SAD, SQ
  • 1MD003: User Interface Programming II: SAD, SQ
  • 1MD031: Interface Programming with a User Perspective: SAD, SQ
  • 1MD200: Requirements in Agile Development: RE, SEMM
Updated  2023-10-20 13:36:02 by Sofia Ouhbi.