FI:PA103 OOAD Methods - Course Information
PA103 Object-oriented Methods for Design of Information Systems
Faculty of InformaticsAutumn 2024
- Extent and Intensity
- 2/0/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
In-person direct teaching - Teacher(s)
- 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 - Timetable
- Mon 16. 9. to Mon 9. 12. Mon 8:00–9:50 D2
- Prerequisites
- 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
- Image Processing and Analysis (programme FI, N-VIZ)
- Bioinformatics and systems biology (programme FI, N-UIZD)
- Computer Games Development (programme FI, N-VIZ_A)
- Computer Graphics and Visualisation (programme FI, N-VIZ_A)
- Computer Networks and Communications (programme FI, N-PSKB_A)
- Cybersecurity Management (programme FI, N-RSSS_A)
- Discrete algorithms and models (programme FI, N-TEI)
- Formal analysis of computer systems (programme FI, N-TEI)
- Graphic design (programme FI, N-VIZ)
- Graphic Design (programme FI, N-VIZ_A)
- Hardware Systems (programme FI, N-PSKB_A)
- Hardware systems (programme FI, N-PSKB)
- Image Processing and Analysis (programme FI, N-VIZ_A)
- Information security (programme FI, N-PSKB)
- Information Security (programme FI, N-PSKB_A)
- Quantum and Other Nonclassical Computational Models (programme FI, N-TEI)
- Deployment and operations of software systems (programme FI, N-SWE)
- Design and development of software systems (programme FI, N-SWE)
- Computer graphics and visualisation (programme FI, N-VIZ)
- Computer Networks and Communications (programme FI, N-PSKB)
- Principles of programming languages (programme FI, N-TEI)
- Cybersecurity management (programme FI, N-RSSS)
- Services development management (programme FI, N-RSSS)
- Software Systems Development Management (programme FI, N-RSSS)
- Services Development Management (programme FI, N-RSSS_A)
- Software Systems Development Management (programme FI, N-RSSS_A)
- Software systems (programme FI, N-PSKB)
- Machine learning and artificial intelligence (programme FI, N-UIZD)
- Computer Games Development (programme FI, N-VIZ)
- Processing and analysis of large-scale data (programme FI, N-UIZD)
- Natural language processing (programme FI, N-UIZD)
- 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; - Syllabus
- 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.
- Literature
- 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
- English
- Follow-Up Courses
- Further Comments
- Study Materials
The course is taught annually. - Listed among pre-requisites of other courses
- Teacher's information
- http://www.fi.muni.cz/~oslejsek/PA103
- Enrolment Statistics (recent)
- Permalink: https://is.muni.cz/course/fi/autumn2024/PA103