Object Modeling
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
BIK-OMO | Z,ZK | 5 | 13KP+4KC | Czech |
- Course guarantor:
- Lecturer:
- Tutor:
- Supervisor:
- Department of Software Engineering
- Synopsis:
-
Students will practically master conceptual modelling of business structures, they will learn fundamentals of OntoUML notation and methodology. Students will learn fundamentals of pure object-oriented paradigm, i.e. terms object, method, message, class, class instance, composition, inheritance, collections. Students will learn to transform a conceptual model to object-oriented implementation model and they will learn fundamentals of pure object-oriented implementation in Smalltalk and pure object database. Students will learn to formulate rules and queries upon the object database.
- Requirements:
-
Abstract thinking and formalisation skills, algoritimization fundamentals
- Syllabus of lectures:
-
1. Course introduction, introduction to conceptual modelling.
2. OntoUML basics: Classes, attributes, types, inheritance, associations
3. OntoUML: Sortals
4. OntoUML: Non-Sortals, modelling procedure
5. OntoUML: Part-Whole relations
6. OntoUML: Aspects, Relations
7. Introduction to Smalltalk
8. Smalltalk basics: VisualWorks, syntax, classes, methods
9. Smalltalk standard classes and idioms
10. Design patterns and best practice
11. OntoUML implementation 1.
12. OntoUML implementation 2.
13. Invited lecture from praxis
- Syllabus of tutorials:
-
1. Credit requirements, semestral projects, exercising correct goals formulation
2. OntoUML exercises: Classes, attributes, types, inheritance, associations
3. OntoUML exercises: Sortals
4. OntoUML exercises: Non-Sortals, modelling procedure
5. OntoUML exercises: Part-Whole relations
6. OntoUML exercises: Aspects, Relations. Project assignment.
7. Smalltalk exercises: VisualWorks, syntax, classes, methods
8. Smalltalk exercises: basic constructs and library classes
9. Smalltalk exercises: collections, queries, Gemstone database + 1st project checkpoint
10. Exercises on implementation models and their realisation in Smalltalk
11. Projects consultations + 2nd project checkpoint
12. Projects consultations
13. Projects consultations + projects submissions, credits
- Study Objective:
-
The aim of the course is to explain the fundamentals of the object-oriented paradigm in software development, with emphasis on modelling 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.
The goal of the subject is also to train skills of abstraction and conceptualisation, skills important in software engineering, and also a skill to maintain consistency throughout various model levels from the conceptual through implementation to the programme itself. Students are lead to accurate, correct technical and formal expression.
- Study materials:
-
1. Giancarlo Guizzardi: Ontological Foundations for Structural Conceptual Models, Telematica Instituut Fundamental Research Series, 2005. ISBN 90-75176-81-3.
2. Merunka, V. Datové modelování. Praha: Alfa Publishing, 2006. ISBN 80-86851-54-0.
3. Merunka, V., Pícka, M., Pergl, R. Objektově orientovaná tvorba softwaru. Praha: Credit, 2004. ISBN 80-213-1159-2.
4. Merunka, V. Objektový přístup v databázových systémech. Praha: Credit, 2002. ISBN 80-213-0882-6.
5. 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.
6. Smalltalk books for free download: http://stephane.ducasse.free.fr/FreeBooks.html
7. Kent Beck: Smalltalk Best Practice Patterns, Prentice Hall, 1996. ISBN 978-0134769042. Amazon Draft for free download
8. Sherman Alpert, Kyle Brown, Bobby Woolf: The Design Patterns Smalltalk Companion, Addison-Wesley Professional, 1998. ISBN 978-0201184624. Amazon
- Note:
- Further information:
- https://courses.fit.cvut.cz/BI-OMO/
- No time-table has been prepared for this course
- The course is a part of the following study plans:
-
- Bachelor program Informatics, unspecified branch, in Czech, part-time, 2015 – 2021 (VO)
- Bachelor branch Security and Information Technology, in Czech, part-time, 2015 - 2019 (elective course)
- Bachelor branch Web and Software Engineering, spec. Software Engin., in Czech, part-time, 2015–2020 (elective course)
- Bachelor branch Security and Information Technology, part-time, in Czech, 2020 (elective course)