13S113PS - Software Design

Course specification
Course title Software Design
Acronym 13S113PS
Study programme Software Engineering
Type of study bachelor academic studies
Lecturer (for classes)
Lecturer/Associate (for practice)
Lecturer/Associate (for OTC)
ESPB 6.0 Status elective
Condition Formal prerequisite does not exist, but it is expected that the student is closely familiar with the material of the course 13S112OO2 (Object-oriented programming 2).
The goal Understanding and mastering the concepts of software modeling and design using design patterns. Introducing UML, the standard graphical notation for software modeling, through 13 kinds of diagrams. Study and applying the most frequently used structural, behavioral, and creational design patterns.
The outcome The student knows software modeling and design concepts. The student is able to model complex software systems using the standard language UML 2. In the process of software design, the student is able to recognize conditions for application and to apply appropriate design patterns from the GoF design pattern catalog.
URL to the subject page
URL to lectures
Contents of lectures Overview of modeling concepts and the language UML. Class, object, package, sequence, communication, use case, activity, interaction overview, state, composite structure, component, deployment, and timing diagrams. The principles and classification of design patterns. Object and class structural (e.g. Composite), behavioral (e.g. Observer), and creational (e.g. Prototype) design patterns.
Contents of exercises Auditory practices, laboratory demonstration, and laboratory control exercises. Home works.
  1. Tartalja, I., "Software modeling in UML, part I - structure modeling", Academic Mind, 2023.
  2. Tartalja, I., "Slides for Lectures on the Subject Software Design, Belgrade, 2022.
  3. Kraus, L., Tartalja, I., "Solved Problems in Software Design", 3rd edition, Academic Mind, Belgrade, 2013.
  4. Gama, E., Helm, R., Johnson, R., Vlissides, J., "Design Patterns", Addison-Wesley, 1998
  5. Booch, G., Rumbaugh, J., Jacobson., I., "The Unified Modeling Language User Guide", 2nd edition, Addison-Wesley, 2005.
Number of hours per week during the semester/trimester/year
Lectures Exercises OTC Study and Research Other classes
2 2 1
Methods of teaching Lectures and auditory practices are supplied with electronic presentations. The lectures introduce concepts of software design, and present UML notation, as well as the concrete design patterns, while the auditory practices demonstrate practical examples of software modeling by applying design patterns. The laboratory exercises are divided into demonstration and control ones.
Knowledge score (maximum points 100)
Pre obligations Points Final exam Points
Activites during lectures 0 Test paper 30
Practical lessons 50 Oral examination 0
Colloquia 20
Seminars 0