SI3PS - Software Design

Course specification
Course title Software Design
Acronym SI3PS
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 familiar with the material of the course SI2OO2.
      The goal Understanding and mastering the concepts of software modeling and design using design patterns. Learning UML, the standard graphical notation for modeling, through 13 kinds of diagrams, as well as 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.
      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. Booch, G., Rumbaugh, J., Jacobson., I., "The Unified Modeling Language User Guide", Addison-Wesley, 2005.
      2. Rumbaugh, J., Booch, G., Jacobson., I., "The Unified Modeling Language Reference Manual", 2nd edition, Addison-Wesley, 2005. (Original title)
      3. Gama, E., Helm, R., Johnson, R., Vlissides, J., "Design Patterns", Addison-Wesley, 1998
      4. Kraus, L., Tartalja, I., "Collection of Problems for Software Design", 2nd edition, Academic Mind, Belgrade, 2009.
      5. Tartalja, I., "Slides for Lectures on the Subject Software Design, Belgrade, 2011.
      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 the software design, and present the notation UML, as well as the concrete design patterns, while the auditory practices demonstrate practical examples of software modeling 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 40
      Practical lessons 20 Oral examination 0
      Projects 0
      Colloquia 40
      Seminars 0