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.
|