OOP vs Structured Programming

Slides:



Advertisements
Similar presentations
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
Advertisements

When is Orientated Programming NOT? Mike Fitzpatrick.
Lecture 6: Software Design (Part I)
Data Structures.
Department of Computer Engineering Faculty of Engineering, Prince of Songkla University 1 5 – Abstract Data Types.
Chapter 10 THINKING IN OBJECTS 1 Object Oriented programming Instructor: Dr. Essam H. Houssein.
© Janice Regan Problem-Solving Process 1. State the Problem (Problem Specification) 2. Analyze the problem: outline solution requirements and design.
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Themes and Variations abstraction -- the object metaphor modeling -- understanding.
Chapter 1: An Overview of Computers and Programming Languages
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
C++ fundamentals.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
Domain Modeling (with Objects). Motivation Programming classes teach – What an object is – How to create objects What is missing – Finding/determining.
COMPUTER PROGRAMMING. Introduction to C++ History Merges notions from Smalltalk and notions from C The class concept was borrowed from Simular67 Developed.
1 INTRODUCTION TO OOP Objective: Know the difference between functional programming and OOP Know basic terminology in OOP Know the importance of OOP Know.
Introduction to Object-oriented programming and software development Lecture 1.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
BCS 2143 Introduction to Object Oriented and Software Development.
CSCI-383 Object-Oriented Programming & Design Lecture 1.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Guided Notes Ch. 9 ADT and Modules Ch. 10 Object-Oriented Programming PHP support for OOP and Assignment 4 Term project proposal C++ and Java Designer.
1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing –Refining –Production Maintenance.
240 3/30/98 CSE 143 Object-Oriented Design [Chapter 10]
MADE BY :-- SHAHNAWAZ KHAN RAVINDER SINGH ABHIJEET AUGSTINE MADE BY :-- SHAHNAWAZ KHAN RAVINDER SINGH ABHIJEET AUGSTINE PRESENTATIONONC++PRESENTATIONONC++
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Introduction to c++ programming - object oriented programming concepts - Structured Vs OOP. Classes and objects - class definition - Objects - class scope.
Learners Support Publications Object Oriented Programming.
Programming Paradigms Lecturer Hamza Azeem. What is PP ? Revision of Programming concepts learned in CPLB Learning how to perform “Object-Oriented Programming”
Data Structures Using C++ 2E
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Introduction to OOP CPS235: Introduction.
Week 6: Software Design HNDIT Software Engineering Software Design Learning Outcomes  Understand the activities involved in the Design process.
Chapter 2 Principles of Programming and Software Engineering.
CSE 2341 Object Oriented Programming with C++ Note Set #4
Principles of Programming & Software Engineering
Object Oriented Programming Development
CSC 222: Object-Oriented Programming
Algorithms and Problem Solving
Programming paradigms
CSC 222: Computer Programming II
Visit for more Learning Resources
Object Oriented Programming
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING
The Movement To Objects
CHAPTER 5 GENERAL OOP CONCEPTS.
Behavioral Design Patterns
Objectives State the reasons for the complexity involved in the development of software Define the following terms Objects Classes Messages Methods Explain.
Principles of Programming and Software Engineering
About the Presentations
Object Oriented Programming
Lecture 2 of Computer Science II
OBJECT ORIENTED PROGRAMMING overview
Introduction to Object-Oriented Programming
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
INTRODUCTION TO OOP Objective:
Designing Programs.
Object-Oriented Programming
Why Object-oriented Programming?
The Programming Process
Chapter 19: Interfaces and Components
CIS601: Object-Oriented Programming in C++
Algorithms and Problem Solving
Introduction to Object-Oriented Programming
CS 2704 Object Oriented Software Design and Construction
Object Oriented Design & Analysis
Call and return architectures
Presentation transcript:

OOP vs Structured Programming TOPIC 1 OOP vs Structured Programming CSC238

Content 1 Structured Programming 2 Structured Programming Limitation 3 Object Oriented Programming(OOP) 4 Structured vs OOP

Structured Programming Dividing a problem into smaller subproblems. Each subproblem is then analyzed and a solution for the subproblem is obtained. The solutions to all the subproblems are then combined to solve the overall problem. This process of implementing a structured design is called structured programming.

Structured Programming

Top Down approach A Single module will be split into several smaller modules General to Specific Bottom Up approach Lot of small modules will be grouped to form a single large module Specific to General Flexible If the requirements are clear at the first instance we can go for Top down approach In circumstances where the requirements may keep on adding, we go for Bottom up approach

Structured Programming MAIN PROGRAM FUNCTION 3 FUNCTION 2 GLOBAL DATA FUNCTION 5 FUNCTION 4 FUNCTION 1 Using function Function & program is divided into modules Every module has its own data and function which can be called by other modules.

Limitation Structured Programming a. Structured Programming is hard and takes a long time to master b. It concentrates on doing things. (Eg. Algorithms) c. Large programs are divided into smaller programs called Functions d. Most of the Functions share global data e. Data is accessible from one function to another f. Top down Approach

Object Oriented Programming OOP is a programming style that is focused on objects Important Features of OOP Abstraction Encapsulation Inheritance Polymorphism

Object Oriented Programming Data Function Object 3 Objects have both data and methods Objects of the same class have the same data elements and methods Objects send and receive messages to invoke actions

Structured Vs OOP Structured OOP Focuses on Process Focuses on Object Follows Top-down, Bottom-up, stepwise refinement and modular programming Approach Follows Object oriented design

Structured VS OOP

Structured VS OOP

Structured VS OOP Structured programming is task-centric, object oriented programming is data-centric. Structured programming is based around data structures and subroutines. The subroutines are where stuff actually "happens", and the data structures are simply containers for the information needed by those subroutines. Object oriented programming, on the other hand, shifts your primary focus to the data itself. Instead of asking "what do I want to do and what will I need to know to do it", you ask "what kind of things do I want to have and what can those things do for me". Instead of designing your functions first and then coming up with data structures to support them, you design types first and then come up with the operations needed to work with them.

History C++ Extension of C Early 1980s: Bjarne Stroustrup (Bell Laboratories) Originally named “C with Classes”. Provides capabilities for object-oriented programming Objects: reusable software components Model items in real world Object-oriented programs Easy to understand, correct and modify Hybrid language C-like style Object-oriented style Both

Thank You !