






















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Software Engineering and Project Management - Module 5
Typology: Slides
1 / 30
This page cannot be seen from the preview
Don't miss anything!
Introduction, Modelling Concepts and Class Modelling: What is Object orientation? What is OO development? OO Themes; Evidence for usefulness of OO development; OO Modelling history. Modelling as Design technique: Modelling, abstraction, The Three models. Class Modelling: Object and Class Concept, Link and associations concepts, Generalization and Inheritance, A sample class model, Navigation of class models, and UML diagrams. Building the Analysis Models: Requirement Analysis, Analysis Model Approaches, Data Modelling Concepts, Object Oriented Analysis, Scenario-Based Modelling, Flow-Oriented Modelling, class Based Modelling, Creating a Behavioural Model. Presented By: Dr. Prakhyath Rai
Introduction
▪ Identity - Data is quantized into discrete, distinguishable entities called object. Examples: first paragraph, a white rook etc. ▪ Classification - Objects with the same data structure (Attributes) and behaviour (Operations) are grouped into a class. Examples: Student, Paragraph ▪ Inheritance - Sharing of attributes and operations (Features) among classes based on a hierarchical relationship. A superclass has general information that subclass refine and elaborate. Example: Window ( Superclass ) - > ScrollingWindow + FixedWindow ( Subclasses ) ▪ Polymorphism - Same operation may behave differently for different classes. Example: Move operation of Queen and Move operation of Pawn. Operation: Procedure or transformation an object performs or subjected to Method: An implementation of an operation by a specific class
OO Development
OO Themes
1. Abstraction ▪ Abstraction means focusing on what an object is and does, before deciding how to implement it. ▪ Focussing on what an object is and does, before deciding on implementation 2. Encapsulation ▪ Information Hiding - separates the external aspects of an object that are accessible to other objects, from the internal implementation details that are hidden from other objects. 3. Combining Data and Behaviour ▪ The caller of an operation need not consider how many implementations exist. ▪ Operator polymorphism shifts the burden of deciding what implementation to use from the calling code to the class hierarchy.
Evidence for Usefulness of OO Development
Abstraction:
The Three Models
▪ Represents the static, structural and data aspects of a system
▪ Represents the temporal, behavioural, control aspects of a system
▪ Represents the collaboration of individual objects, interaction aspects of a system ➢ The 3 kinds of models separate a system into distinct views. ➢ Example: Class model attaches operations to classes and state and interaction models elaborate the operations
State Model ▪ Describes those aspects of objects concerned with time and the sequencing of operations – events that mark changes, states that context for events and the organization of events and states. ▪ State diagrams express the state model. Each state diagram shows the state and event sequences permitted in a system for one class of objects. ▪ The state model captures control , the aspect of a system that describes the sequence of operations that occur, without the regard for what the operations do, what they operate on, or how they are implemented.
Interaction Model
Class Modelling - Concepts ▪ Class & Object Diagram ▪ Association & Links ▪ Multiplicity ▪ Multiplicity & Visibility of Attributes ▪ Association End Names ▪ Association Classes ▪ Qualified Associations ▪ Ordering, Bags & Sequence ▪ Generalization and Inheritance ▪ Overriding Features
Sample Class Diagrams
Sample Class Diagrams Objects
Sample Class Diagrams
Sample Class Diagrams Class Model for Managing Credit Card Accounts
Navigation of Class Model - OCL Attributes: You can traverse from an object to an attribute value. ▪ Syntax: source object, followed by a dot and then the attribute name. ▪ Example: aCreditCardAccount. maximumCredit Operations: You can also invoke an operation for an object or a collection of objects. ▪ Syntax: source object or object collection, followed by a dot and then the operation. The operation must be followed by parentheses, even if it has no arguments to avoid confusion with attributes. ▪ The OCL has special operations that operate on entire collections. The syntax for a collection operation is the source object collection followed by - > and then the operation.