Object Modeling
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BI-OMO | Z,ZK | 5 | 2+2 | Czech |
- Lecturer:
- Vojtěch Merunka (gar.), Robert Pergl
- Tutor:
- Zdeněk Rybola, Vojtěch Merunka (gar.), Robert Pergl, Ivan Ryant
- Supervisor:
- Department of Software Engineering
- Synopsis:
-
Students understand the fundamentals of the object-oriented paradigm in software development, with emphasis on modelling of data objects. Even the best object-oriented programming language cannot ensure by itself that 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 aimed at writing programs and is not tied to a single language. The explained principles are applicable in most of todays 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. The module is concluded with a project to implement the object structure of a specific problem, including test data, using a special computer modelling tool.
- Requirements:
-
Algoritmization
- 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. Issues related to „proper“ structural design.
12. Object-oriented approach to modeling real-world processes. BORM.
13. Implementations of object-oriented approach in mixed programming languages. Polymorphism, inheritance and composition in Java and C++.
- 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 course 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. 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. Merunka, V. Datové modelování. Praha: Alfa Publishing, 2006. ISBN 80-86851-54-0.
2. Merunka, V., Pícka, M., Pergl, R. Objektově orientovaná tvorba softwaru. Praha: Credit, 2004. ISBN 80-213-1159-2.
3. Merunka, V. Objektový přístup v databázových systémech. Praha: Credit, 2002. ISBN 80-213-0882-6.
4. Merunka, V., Pergl, R., Pícka, M. Objektově orientovaný přístup v projektování informačních systémů. Praha: ČZU, 2005. ISBN 80-213-1352-8.
- Note:
- Time-table for winter semester 2011/2012:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon Tue Fri Thu Fri - Time-table for summer semester 2011/2012:
- Time-table is not available yet
- The course is a part of the following study plans:
-
- Software Engineering, Version for Students who Enrolled in 2009 and 2010, in Czech (compulsory course of the specialization)
- Information Systems and Management, Version for Students who Enrolled in 2009 and 2010, in Czech (compulsory course of the specialization, VO)
- Informatics, Version for Students who Enrolled in 2009 and 2010, Presented in Czech (VO)
- Informatics (Bachelor)- Version for those who Enrolled in 2011 and 2012 (in Czech) (VO)
- Information Systems and Management - Version for those who Enrolled in 2011 and 2012 (in Czech) (compulsory course of the specialization, VO)
- Software Engineering- Version for those who Enrolled in 2011 and 2012 (in Czech) (compulsory course of the specialization)