Introduction to the concepts of object-oriented software modeling (techniques and methodologies). A general modeling language (e.g., UML), structure modeling, behavior modeling, domain modeling, architecture modeling, model checking, limitations of modeling, validation of models, comparison of different approaches considering their advantages and disadvantages. An internal laboratory is included.