Knowledge of object-oriented programming principles, core knowledge of software engineering, knowledge of UML models.
Course Enrollment Limitations
The course is also offered to the students of the fields other than those the course is directly associated with.
Fields of study the course is directly associated with
there are 23 fields of study the course is directly associated with, display
At the end of this course, students should be able to:
understand functions and structure of object-oriented system described by UML diagrams;
transform common design models (classes, interfaces and packages) into components;
formally define provided and required component interfaces be means of IDL, WSDL, etc.;
employ patterns at various stages of software life cycle (analysis, design, architecture, coding);
evaluate qualitative attributes of UML models (reliability, security, etc.);
choose suitable methodology for OO systems development;
Object-oriented paradigm, object properties, principles
of abstraction and decomposition. Principles of OO analysis and design.
Models of classes, packages and components. Interface as contract. IDL, SWDL.
Refinement of UML semantics by means of stereotypes and OCL.
Software re-use, software patterns at various stages of 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
Theory in the form of lecturer's presentations, practical examples as the part of theoretical presentations, class discussion, reading.
Written final exam (multiple choice test + practical UML modeling). Final assessment can be improved by solving small practical examples presented during lectures.