Software Engineering Unit 4 Revision: Presented By, HARISHMA S (17BCA070) PRANEETH V (17BCA093)
Software Engineering Unit 4 Revision: Presented By, HARISHMA S (17BCA070) PRANEETH V (17BCA093)
UNIT 4 REVISION
PRESENTED BY,
HARISHMA S (17BCA070)
PRANEETH V (17BCA093)
OBJECT ORIENTED
DESIGN USING UML
What is Object Oriented
Design?
Object Oriented Design (OOD) serves
as part of the object oriented
programming (OOP) process of
lifestyle.
It is mainly the process of using an
object methodology to design a
computing system or application.
This technique enables the
implementation of a software based on
the concepts of objects.
What is UML?
UML is an acronym that stands
for Unified Modeling Language.
In simple words, UML is a modern
approach to modelling and documenting
software.
UML itself finds different uses in software
development and business process
documentation:
Sketch (Forward and Backward
design)
Blueprint
Pseudo programming language
Types of UML diagrams
Activity Diagram
Timing Diagram
Communication Diagram
Sequence Diagram
Structural UML Diagram
Class Diagram
Object Diagram
Component Diagram
Composite Structure
Diagram
Deployment Diagram
Package Diagram
Profile Diagram
DESIGN PATTERNS
What is a design pattern?
Design patterns are typical solutions to
common problems in software design. Each
pattern is like a blueprint that you can customize
to solve a particular design problem in your code.
Design patterns are a toolkit of tried and tested
solutions to common problems in software
design. Even if you never encounter these
problems, knowing patterns is still useful because
it teaches you how to solve all sorts of problems
using principles of object-oriented design.
Essential elements of
Patterns
NAME:
A meaningful name/ identifier for the pattern.
PROBLEM DESCRIPTION:
When to apply the pattern.
SOLUTION DESCRIPTION:
Elements that make up the pattern, the
relationships, responsibilities and collaborations.
CONSEQUENCES:
The results and trade-offs of applying the
pattern.
Classification of patterns
Creational patterns
Creating a collection of objects in flexible
ways
Structural patterns
Represents a collection of related objects.
Behavioural patterns
Capturing behaviour among a collection
of objects.
The 7 most important
patterns
Singleton
Factory method
Strategy
Observer
Builder
Adapter
State
https://refactoring.guru/design-patterns/catalog
IMPLEMENTATION ISSUES
3 aspects of Implementation important to
software engineering:
Reuse
Configuration management
Host- target development
REUSE
Most modern software is constructed
by reusing existing components or
systems.
Software reuse is possible at 4 levels:
The abstraction level
The object level
The component level
The system level
CONFIGURE MANAGEMENT
Customizable
Improvable
Redistributable
Runs literally everywhere, and for
everyone
Transparency
FREE!!
Free as in “FREEDOM”