ZIONI YENEPOYA (DEEMED TO BE UNIVERSITY) YENEPOYA Online.
Introduction to Object Orientation Modeling Unit 1.
Introduction: • The process of planning and defining how the model’s code would appear is known as object oriented modelling. • The modelling approaches are implemented during the building or programming phases using a language that supports the object-oriented programming model. • Used extensively in software engineering and system design..
Object Oriented Modeling OOM is a three-phase process that involves gradually building object representations: ○ Analysis, ○ Design and ○ Implementation. The model produced is abstract. As the model develops, the focus moves from knowing how the system will be built to understanding how it should work..
Object-Oriented Development ● An object-oriented system is designed for cooperating interconnected objects that keep track of their own state and perform actions on it. ● The state’s representation is private and cannot be accessed thus object publicly. ● Objects are formed based on the definition of an object class. ● Both object type specification and a template for forming objects are included in an object class declaration. ● It contains declarations of all of the properties and operations that related to the class object..
Object-Oriented Development Cont.. ● Object-oriented design methods entail the creation of object classes as well as the relationships between them. ● The objects as well as their relationship are well-defined by these classes..
Object-Oriented Development Cont.. ● Object-oriented analysis: In object-oriented analysis, the system requirements are analysed and fixed. Also, the classes are recognised and the relationships among them are also recognised. ● Object-oriented design: In object-oriented design, the object-oriented model of a software system is developed to implement the recognised system requirements. ● Object-oriented programming: In object-oriented programming, the object-oriented programming language, such as java and C++ are used to design a software..
Object-Oriented Development Cont.. ● System Design: The development teams come up with ahigh-level strategy for tackling the application challenge called the System Architecture. The system designer must identify which performance characteristics to improve, develop a problem-solving approach and establish preliminary resource allocations. ● Class Design: In accordance with the system design approach, the class designer adds information to the analysis model. His main concentration is on the data structures and techniques that each class requires. ● Implementation: By creating models, the analyst scrutinises and thoroughly restates the requirements from the system idea. The analysis model is a succinct, accurate representation of what the intended system must do, rather than how it will be accomplished..
History of Object-Oriented Modeling • 1960s: Introduction of Simula, the first object-oriented language. • 1970s–1980s: Popularization with Smalltalk and C++. • 1990s: UML (Unified Modeling Language) becomes a standard. • Today: OOM is a fundamental approach in software engineering..
Object-Oriented Themes ● Abstraction: Focusing on essential qualities rather than specific details. ● Encapsulation and data hiding: Bundling data with methods. ● Combining data and behavior: By merging data attributes and behavioural features of an object, the issue of calling code for data execution and operations independently can be reduced. ● Sharing: Object-oriented technology encourage collaboration on a variety of levels. Subclasses can share this code by inheriting data structure as well as behavior..
Object-Oriented Themes ● Emphasis on the essence of object: Object-oriented technology focuses on the characteristics of an object rather than how the object will be used. ● Synergy: Object Oriented languages are characterized by their identity, classification, polymorphism, and inheritance ● Modularity: Dividing the system into smaller manageable parts. ● Hierarchy: Organizing objects in a structure (inheritance)..
MODELING AS DESIGN TECHNIQUE Modeling: Creating a representation of a system to understand and design it. Why Modeling? Helps visualize system structure and behavior. Reduces misunderstandings between developers and stakeholders. Example: Creating a UML class diagram for an E-Commerce System..
MODELING AS DESIGN TECHNIQUE Cont.. Abstraction in Modeling ● Definition: Focusing on important characteristics while ignoring non-essential details. ● Types of Abstraction: 1. Functional Abstraction 2. Data Abstraction 3. Control Abstraction ● Example: A Bank Account object abstracts details of data storage, but provides deposit() and withdraw() methods..
MODELING AS DESIGN TECHNIQUE Cont.. The Three Models of OOM 1. Object Model: ○ Shows static structure — classes, objects, attributes, relationships. ○ Diagram: UML Class Diagram. ○ Example: Classes for Student, Course, Teacher..
MODELING AS DESIGN TECHNIQUE Cont.. Dynamic Model: ○ Shows how objects change over time — events, states, transitions. ○ Diagram: State Transition Diagram, Sequence Diagram. Functional Model: ○ Shows data flow and transformations. ○ Diagram: Data Flow Diagram (DFD)..
MODELING AS DESIGN TECHNIQUE Cont.. Practical Example – Library Management System ● Object Model: ○ Classes: Book, Member, Librarian. ● Dynamic Model: ○ Borrow book → Due date → Return book. ● Functional Model: ○ Input: Borrow request → Process: Check availability → Output: Issue book..
Librar Mana ement S UserType Username Password Login ( ) Register ( ) Logout ( ) Book It e Author ISBN Publication Show_duedt ( ) stem User Name Verify ( ) CheckAccount ( ) get_book_info ( ) Account no_borrowed_books no_reserved_books no_returned_books no_lost_books Librarian Name Password SearchString Verify_librarian ( ) Search ( ) YENEPOYA Online Library database List_of_books Add Delete ( ) Update ( ) Display ( ) Search ( ) Staff Dept Reservation_status ( ) Feedback ( ) Book _request ( ) Renw info CLASS DIAGRAM FOR LIBRARY MANAGEMENT SYSTEM Student fine_amount Class Calculate_fine ( ).
Summary ● OOM helps structure software as interacting objects. ● Main benefits: clarity, reusability, maintainability. ● Themes: abstraction, encapsulation, modularity, hierarchy. ● Three models: object, dynamic, functional..