BIE-OMO – Object Modeling


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.

Lectures Program

  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.

Labs Program

  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.

Last modified: 7.9.2010, 11:04