Aim of the course
The aim of the course is to introdude the principles, techniques and tools for object-oriented approach to software development, both in terms of systems analysis and design, as well as their implementation.
Object-oriented paradigm in modeling. Basic concepts and principles of modeling. Modeling the concepts of the domain. Basics of UML - diagrams and their elements. Example of object analysis methodology. Modeling requirements: scenarios and use cases. Units of abstraction (object, class) and their properties. Organization model (packages). Linking, aggregation and composition. Generalization and inheritance. Reuse: inheritance of implementation and the delegation role. Problems and techniques of multiple inheritance. Object-oriented design principles. Design patterns. Unit and integration testing. Dummy. Overview of object-oriented programming techniques and object-oriented languages.
Overview of the course elements
Laboratory classes allow to practice modeling and object-oriented programming based on a number of simple design tasks.
1. Brett D. McLaughlin, Gary Pollice, David West: Head First Object-Oriented Analysis and Design
(edycja polska), Helion 2008
2. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Wzorce projektowe, Wydawnictwa
3. Martin Fowler: UML w kropelce, LTP Oficyna Wydawnicza 2005
4. Grady Booch, James Rumbaugh, Ivar Jacobson: UML - przewodnik u˙zytkownika, Wydawnictwa
5. Kazimierz Subieta: Obiektowo´s´c w projektowaniu i bazach danych, Akademicka Oficyna Wydawnicza