Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Software Engineering and Project Management - Module 5, Slides of Software Engineering

Software Engineering and Project Management - Module 5

Typology: Slides

2024/2025

Available from 07/06/2025

varun-31
varun-31 🇮🇳

44 documents

1 / 30

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Software Engineering
&
Project Management
Module 2
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
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Partial preview of the text

Download Software Engineering and Project Management - Module 5 and more Slides Software Engineering in PDF only on Docsity!

Software Engineering

Project Management

Module 2

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

Object oriented means organizing software as a collection of discrete objects that incorporate both

data structure and behaviour.

Characteristics of OO approach:

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

  1. OO Methodology ▪ System Design – High level strategy: The System Architecture ▪ Class Design – Adds details to system design analysis model, Focus on data structures and algorithms for each class ▪ Implementation – Translates classes and relationships from class design into a particular programming language
  2. Three Models – To describe systems from different viewpoints

▪ Class Model – Describes static structure of the objects in the system and their relationship ( Class

Diagram )

▪ State Model – Describes the aspects of the object that change over time ( State Diagram )

▪ Interaction Model – Describes how objects in the system cooperate to achieve broader results ( Use-Case

Diagram , Sequence Diagram , Activity Diagram )

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

1. Testing a physical entity before building it

2. Communication with Customers

3. Visualization

4. Reduction of Complexity

Abstraction:

▪ Selective examination of certain aspects of a problem.

▪ The goal of abstraction is to isolate those aspects that are important for some purpose

and suppress those aspects that are unimportant.

▪ A good model captures the crucial aspects of a problem and omits the others.

The Three Models

Model a system with related but different viewpoints

1. Class Model

▪ Represents the static, structural and data aspects of a system

2. State Model

▪ Represents the temporal, behavioural, control aspects of a system

3. Interaction Model

▪ 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

▪ Describes interactions between objects – how individual objects collaborate to

achieve the behaviour of the system.

▪ Use cases, sequence diagrams and activity diagrams document the interaction model.

  • Use cases document major themes for interaction between the system and outside

actors.

  • Sequence diagrams show the objects that interact and the time sequence of their

interactions.

  • Activity diagrams show the flow of control among the processing steps of a

computation.

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.