• Course code:63256
  • Credits:6
  • Semester: summer
  • Contents

Lectures:

Introduction to Software Engineering

  • Professional software engineering, artefacts, specification, software quality attributes, software engineering ethics,
  • Project management, risk management,
  • Project planning, software pricing, project time planning, evaluation techniques (COCOMO II),
  • Software development processes, process models, verification and validation, change management, process improvement (CMM),

Agile development and requirement engineering

  • Agile software development, agile methods, agile development techniques (XP), agile project management (Scrum),

Software design

  • System modeling, context models, interaction models, structural models, behavioral models, MDE and MDA,
  • Object-oriented design with UML, implementation issues, open-source development, licence models,
  • Creational design patterns and structural design patterns,
  • Behvioural design patterns, design principles, anti-patterns and code smells,
  • Architecture design, Krutchen's 4+1, logical view, process view, development view, physical view, scenarios. Architectural patterns (MVC, layered architecture, repository, client/server, pipe and filter, EDA),

Implementation and advanced topics in software engineering

  • Validation and verification, development testing (unit test, component test, system test), TDD, system test, user test, CI/CD,
  • Software evolution, legacy systems, software maintenance, security engineering, levels of security, secure systems design,

Decentralized applications

  • Data spaces (Gaia-X, IDS, MyData), reference models, SSI, DID, VC, digital agent, digital wallet, triangle of trust, eIDAS.

Tutorials:

Team-work on almost real projects. Projects can be proposed by students themselves and approved by instructors or can be defined by teacher in co-operation with real customers. Group sizes are restricted to four and students are given the opportunity to decide who they should work with. Each group is asked to nominate a Project Manager and identify specific roles which they feel will be important in managing the group. Students are encouraged to work on the project outside the officially scheduled hours. There are several progress meetings (milestones) with the tutor before the final presentation takes place.

  • Study programmes
  • Distribution of hours per semester
45
hours
lectures
20
hours
laboratory work
10
hours
tutorials
  • Professor
Instructor
Room:R2.49 - Kabinet
Teaching Assistant
Room:R2.30 - Laboratorij LTPO
Teaching Assistant
Room:R2.58 - Kabinet