Logo ČVUT
Loading...
CZECH TECHNICAL UNIVERSITY IN PRAGUE
STUDY PLANS
2011/2012

Object Modeling

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BIE-OMO Z,ZK 5 2+2
Lecturer:
Vojtěch Merunka (gar.)
Tutor:
Vojtěch Merunka (gar.)
Supervisor:
Department of Software Engineering
Synopsis:

Students gain practical skills in the design of data objects for software applications, utilizing fundamental concepts - object, method, message, class, instance, set of objects. Students learn to use a subset of the UML notation, a visual modeling tool and a simplified object-oriented programming language (reduced to class and method definitions and data manipulation). Students understand the class and instance model, the prototype-based object model, and lambda calculus as a formal description of dynamic object behavior. Using a special modeling tool, students get acquainted with a simplified form of UML class diagrams.

Requirements:
Syllabus of lectures:

1. Introduction into the theoretical fundamentals of programming, lambda calculus.

2. Basics of object-oriented approach, notions of class, collection. Polymorphism. Inheritance and composition of objects.

3. Object-based calculation model. Methods and messages. Lambda expression as a method and as a standalone object. Introduction to Smalltalk.

4. Introduction to UML.

5. Object protocol. Implementation of attributes using composition and using methods.

6. Queries over sets of objects.

7. Example of a real-world project with data objects.

8. Object normalizing.

9. Structural design patterns. Behavioral design patterns.

10. Refactoring.

11. Changes to an object scheme. Object migration.

12. Object-oriented approach to modeling real-world processes. BORM.

13. Implementations of polymorphism, inheritance and composition in mixed object-oriented languages.

Syllabus of tutorials:

1. Introduction to the modeling tool, practical exercises.

2. Introduction to the programming language, practical exercises, assignment of projects.

3. First checkpoint - problem specification, first version of data model, class description, attributes, methods, relationships among classes.

4. Working with data of ready-made problems.

5. Second checkpoint - model verification using data and queries.

6. Refactoring, normalizing, project consultations.

7. Third checkpoint - detailed test data and queries, resulting document.

Study Objective:

The aim of the module is to explain the fundamentals of the object-oriented paradigm in software development, with emphasis on modeling of data objects. Even the best object-oriented programming language cannot ensure by itself that a design will meaningfully and efficiently exploit the object paradigm. Students are taught the data model design process exactly from this viewpoint. The module is not tied to a single language, the explained principles are applicable in most of today's pure or hybrid object-oriented programming languages. The language used is based on Smalltalk, with a simplification towards OCL, UML, and query languages in object databases. Knowledge gained in this module forms the basis for correct application of the object-oriented paradigm in the follow-up modules aimed at software engineering and databases.

Study materials:

1. Britton, C., Doake, J. ''A Student Guide to Object-Oriented Development.'' Butterworth-Heinemann, 2004. ISBN 0750661232.

Note:
Time-table for winter semester 2011/2012:
Time-table is not available yet
Time-table for summer semester 2011/2012:
Time-table is not available yet
The course is a part of the following study plans:
Generated on 2012-7-9
For updated information see http://bilakniha.cvut.cz/en/predmet1447206.html