Object-oriented technology 1


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.

Lecture programme

Basic concepts and principles of object-oriented approach. Modeling using CRC cards. Basic UML diagrams and their elements. A simple object-oriented analysis methodology. Object-oriented approach in software engineering, perspectives of modeling and object-oriented approach. Assumptions and elements of the structure of the UML specification. Units of abstraction (object, class) and their properties. Substitution and polymorphism. Organization of model - packages. Consistency and feedback, the design of flexible software. Linking, aggregation and composition, obtaining dependencies (links). Generalization and inheritance, rules and consequences of the mechanism of inheritance. Reuse, composition classes and the delegation of roles, problems and methods of multiple ineherence of implementation. Architectural and design patterns. Testing of object-oriented system, unit and integration testing, dummies. Criteria for assessing the quality of source code refactoring. Problems of persistence of object structures, object-relational mappings. Overview of object-oriented programming techniques and object-oriented languages.

Overview of the course elements

Laboratory classes allow to practice skills in the design and object-oriented programming, system testing techniques and the practical use of technologies that support software engineering. Subsequent lessons introduce some elements of engineering process using some simple design tasks.

Reading list

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 Naukowo-Techniczne 2005
3. Martin Fowler: UML w kropelce, LTP Oficyna Wydawnicza 2005
4. Grady Booch, James Rumbaugh, Ivar Jacobson: UML - przewodnik użytkownika, Wydawnictwa Naukowo-Techniczne 2001
5. Kazimierz Subieta: Obiektowość w projektowaniu i bazach danych, Akademicka Oficyna Wydawnicza PLJ 1998

Copyright © 2010 Department of Computer Science   |   AGH University of Science and Technology   |   Created by Creative Bastards