MS1PS - Software Design

Course specification
Course title Software Design
Acronym MS1PS
Study programme Electrical Engineering and Computing
Module Software Engineering
Type of study master 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 IR2OO2. The course is available only for students that did not completed courses IR4PS or SI3PS on the bachelor studies.
      The goal Understanding and mastering the concepts of software modeling and design, by 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 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 tasks 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 with design patterns applying. 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 20 Oral examination 0
      Projects 0
      Colloquia 50
      Seminars 0