PA103 Object-oriented Methods for Design of Information Systems

Faculty of Informatics
Autumn 2024
Extent and Intensity
2/0/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
Taught in person.
doc. RNDr. Radek Ošlejšek, Ph.D. (lecturer)
Guaranteed by
doc. RNDr. Radek Ošlejšek, Ph.D.
Department of Computer Systems and Communications – Faculty of Informatics
Supplier department: Department of Computer Systems and Communications – Faculty of Informatics
Knowledge of object-oriented programming principles, core knowledge of software engineering, knowledge of UML models.
Course Enrolment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
fields of study / plans the course is directly associated with
there are 31 fields of study the course is directly associated with, display
Course objectives
Understand object-oriented fundamentals that are used across all the levels of OO decomposition;
Ability to select and apply suitable formal models (UML, OCL) in various levels of decomposition;
Ability to select and apply suitable patterns during a system decomposition;
Understand the term "software quality" in the context of code, object-oriented models, and software architectures; Application of tuning tactics for quality improvement;
Learning outcomes
At the end of the course, a student should be able to:
- explain fundamentals of object-oriented design and development;
- express semantic constraints on object-oriented models by means of Object Constraint Language;
- identify "bad smells" in code and apply suitable refactoring tactics;
- explain properties of analysis, design, and architectural patterns;
- apply analysis, design, and architectural patterns to system decomposition;
- describe properties and processes related to the development of component systems;
- explain qualitative aspects of software and describe their tuning tactics;
  • Object-oriented paradigm, object properties, principles of abstraction and decomposition. Principles of OO analysis and design.
  • Models of classes, packages, and components. Interface as a contract. IDL, SWDL.
  • Refinement of UML semantics by means of stereotypes and OCL.
  • Software reuse, software patterns at various stages of the software life cycle (analysis, design, architecture, coding).
  • Design patterns in detail.
  • Analysis patterns, Java patterns, anti-patterns.
  • Code refactoring („refactoring to patterns“).
  • Software architectures, architectural patterns.
  • Component systems. Qualitative attributes and their evaluation.
  • Object-oriented methods for software development, application of UML models in RUP.
  • Special methods and architectures: MDD, FDD, SOA, ...
  • Model-Driven Architecture (MDA), employing OCL in MDA.
  • ARLOW, Jim and Ila NEUSTADT. UML 2.0 and the unified process : practical object-oriented analysis and design. 2nd ed. Boston: Addison-Wesley, 2005, xxiii, 592. ISBN 9780321321275. info
  • Design patterns :elements of reusable object-oriented software. Edited by Erich Gamma. Reading, Mass.: Addison-Wesley, 1995, xv, 395 p. ISBN 0-201-63361-2. info
  • LARMAN, Craig. Applying UML and patterns :an introduction to object-oriented analysis and design. Upper Saddle River: Prentice Hall PTR, 1998, xix, 507 s. ISBN 0-13-748880-7. info
  • FOWLER, Martin. Analysis patterns reusable object models. Menlo Park: Addison-Wesley, 1997, xxi, 357 s. ISBN 0-201-89542-0. info
  • KERIEVSKY, Joshua. Refactoring to patterns. Boston: Addison-Wesley, 2005, xxvi, 367. ISBN 0321213351. info
Teaching methods
Theory in the form of lecturer's presentations, practical examples as part of theoretical presentations, class discussion, and reading.
Assessment methods
Written final exam (multiple choice test + practical UML modeling). Final assessment can be improved by solving small practical examples presented during lectures.
Language of instruction
Follow-Up Courses
Further Comments
The course is taught annually.
The course is taught: every week.
Listed among pre-requisites of other courses
Teacher's information
The course is also listed under the following terms Spring 2003, Spring 2004, Spring 2005, Spring 2006, Spring 2007, Spring 2008, Spring 2009, Spring 2010, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015, Spring 2016, Spring 2017, Spring 2018, Spring 2019, Autumn 2019, Autumn 2020, Autumn 2021, Autumn 2022, Autumn 2023.
  • Enrolment Statistics (recent)
  • Permalink: