Course: Software Modeling and Design

« Back
Course title Software Modeling and Design
Course code KIV/MNS
Organizational form of instruction Lecture + Tutorial
Level of course Bachelor
Year of study not specified
Semester Summer
Number of ECTS credits 4
Language of instruction Czech
Status of course Compulsory, Compulsory-optional
Form of instruction Face-to-face
Work placements This is not an internship
Recommended optional programme components None
Lecturer(s)
  • Brada Přemysl, Doc. Ing. MSc., Ph.D.
Course content
Topics covered (not as semester weeks): 1. Introduction to software modeling, types and roles of models. Software modularity principles. 2. Modeling for structured programming approaches (flowchards, data flow, models of data) and system design (UI/UX, SysML) 3. Object-oriented modeling, UML notation in detail 4. Techniques for structured and object-oriented program design, modeling tools 5. Design patterns (object-oriented: structural, behavioural and interaction, other: microservices, reactive systems) 6. Model quality and verification. Use of models in software development 7. API design and documentation

Learning activities and teaching methods
  • Contact hours - 36 hours per semester
  • Preparation for an examination (30-60) - 24 hours per semester
  • Preparation for comprehensive test (10-40) - 8 hours per semester
  • Individual project (40) - 36 hours per semester
prerequisite
Knowledge
write computer programs in at least one higher-level language
understand basic techniques used in software development
Skills
use fundamental data structures and algoritms incl. library functions or classes (collections etc.)
develop a simple software application with a command line or graphical user interface
Competences
N/A
N/A
learning outcomes
Knowledge
correct design and decomposition of programs and small software systems
models and tools for modeling structure and behaviour of software systems, incl. UML
importance and use of models and specifications in software development
principles, importance and use of software design patterns
techniques of structured and object-oriented program design
Skills
use of models for the documentation of structure and behaviour of programs and software systems
design of software systems using correct decomposition and design patterns
working with tools for software design and modeling
Competences
N/A
N/A
teaching methods
Knowledge
Lecture
Lecture with visual aids
Practicum
Skills
Practicum
Task-based study method
Individual study
Competences
Lecture
Lecture with visual aids
Practicum
Individual study
assessment methods
Knowledge
Combined exam
Test
Skills
Combined exam
Individual semester work
Competences
Individual semester work
Combined exam
Recommended literature
  • Gamma, Erich. Design patterns : elements of reusable object-oriented software. Boston : Addison-Wesley, 1995. ISBN 0-201-63361-2.
  • Gomaa, Hassan. Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures. Cambridge Univeristy Press, 2011. ISBN 978-0521764148.
  • Larman, Craig. Applying UML and patterns : an introduction to object-oriented analysis and design and the Unified Process. Upper Saddle River : Prentice Hall PTR, 2002. ISBN 0-13-092569-1.


Study plans that include the course
Faculty Study plan (Version) Category of Branch/Specialization Recommended year of study Recommended semester