 The Object Oriented concepts was evolved for solving complex problems. Object- oriented software development started in the 1980s. Object-oriented design.

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

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
4. Object-Oriented Programming Procedural programming Structs and objects Object-oriented programming Concepts and terminology Related keywords.
Department of Computer Engineering Faculty of Engineering, Prince of Songkla University 1 5 – Abstract Data Types.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Chapter 10 THINKING IN OBJECTS 1 Object Oriented programming Instructor: Dr. Essam H. Houssein.
Classes & Objects Computer Science I Last updated 9/30/10.
Classes and Object- Oriented... tMyn1 Classes and Object-Oriented Programming The essence of object-oriented programming is that you write programs in.
Introduction To System Analysis and Design
Object-oriented Programming Concepts
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Software Lifecycle A series of steps through which a software product progresses Lifetimes vary from days to months to years Consists of –people –overall.
C++ fundamentals.
Introduction To System Analysis and design
CSM-Java Programming-I Spring,2005 Introduction to Objects and Classes Lesson - 1.
Introduction to Object-oriented programming and software development Lecture 1.
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
An Object-Oriented Approach to Programming Logic and Design
CONCEPTS OF OBJECT ORIENTED PROGRAMMING. Topics To Be Discussed………………………. Objects Classes Data Abstraction and Encapsulation Inheritance Polymorphism.
Recap (önemli noktaları yinelemek) from last week Paradigm Kay’s Description Intro to Objects Messages / Interconnections Information Hiding Classes Inheritance.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Introduction To System Analysis and Design
Features of Object Oriented Programming Lec.4. ABSTRACTION AND ENCAPSULATION Computer programs can be very complex, perhaps the most complicated artifact.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Kal Bugrara, Ph.DSoftware Engineering Northeastern University Fundamentals Of Software Engineering Lecture V.
1 Programming Paradigms Object Orientated Programming Paradigm (OOP)
Object-Oriented Programming with Java Lecture 1: Introduction Autumn, 2007.
Learners Support Publications Object Oriented Programming.
Abstraction ADTs, Information Hiding and Encapsulation.
Programming Paradigms Lecturer Hamza Azeem. What is PP ? Revision of Programming concepts learned in CPLB Learning how to perform “Object-Oriented Programming”
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
: Maha Sabri Altememe Lecturer : Maha Sabri Altememe Lecture :1 1.
9-Dec Dec-15  INTRODUCTION.  FEATURES OF OOP.  ORGANIZATION OF DATA & FUNCTION IN OOP.  OOP’S DESIGN.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
1 CSE Programming in C++. 2 Overview Sign roster list Syllabus and Course Policies Introduction to C++ About Lab 1 Fill Questionnaire.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Week 6: Software Design HNDIT Software Engineering Software Design Learning Outcomes  Understand the activities involved in the Design process.
Object Oriented Programming. OOP  The fundamental idea behind object-oriented programming is:  The real world consists of objects. Computer programs.
Author: DoanNX Time: 45’.  OOP concepts  OOP in Java.
OOPS CONCEPT.  OOPS  Benefits of OOPs  OOPs Principles  Class  Object Objectives.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (2/2)
 Description of Inheritance  Base Class Object  Subclass, Subtype, and Substitutability  Forms of Inheritance  Modifiers and Inheritance  The Benefits.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Chapter 11: Abstract Data Types Lecture # 17. Chapter 11 Topics The Concept of Abstraction Advantages of Abstract Data Types Design Issues for Abstract.
Object-oriented programming (OOP) is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their.
Object Oriented Systems Design
Programming paradigms
Object Oriented Programming
JAVA By Waqas.
The Movement To Objects
Object Oriented Programming F3031
Systems Analysis and Design With UML 2
OOP What is problem? Solution? OOP
About the Presentations
Object Oriented Concepts -I
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
Anatomy of a Class & Method
Lecture 1 Introduction.
Object Oriented Analysis and Design
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Need for the subject.
COP 3330 Object-oriented Programming in C++
Object-Oriented Programming
Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?
Appendix A Object-Oriented Analysis and Design
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

 The Object Oriented concepts was evolved for solving complex problems. Object- oriented software development started in the 1980s. Object-oriented design deals with the solution domain and closer to the final implementation. OOP provides a consistent means of communication among analysts, designers, programmers, and end-users.

 1. Produce reliable software  2. Reduce production cost  3. Develop reusable software modules  4. Reduce maintenance cost  5. Quicken the completion time of software development 

 An object can be considered a "thing" that can perform a set of related activities. The set of activities that the object performs defines the object's behavior. For example, the hand can grip something or a student can give the name or address. Class is composed of three things: a name, attributes, and operations Data are represented by instance variables or data variables in a class. The operations are also known as behaviors, or methods,or functions.

 State,Behavior,Identity  states or properties  operations  identity  Properties maintain the internal state of an object. Operations provide the appropriate functionality to the object. Identity differentiates one object from the other. Object name is used to identify the object.

For example:  The term SDLC is a type of software development and Requirement is an instance of SDLC.  Data or Operations of a class can be declared in three ways:  public  protected  private  public:- These are declarations that are accessible from outside the class to anyone who can access the object of this class.  protected:- These are declarations that are accessible from within the class itself and from within subclasses.

 private:- These are declarations that are accessible only from within the class itself.  class bank  {  public:  int debit; [[Data]]  int credit;  void acc_info(); [[functions]]  };  void main()  {  bank b; {[object delaration]}  b.credit;  b.acc_info();  }

 Encapsulation: From the user’s point of view, a number of features are packaged in a capsule to form an entity. entity offers a number of services in the form of interfaces by hiding the implementation details.  The term encapsulation is used to describe the hiding of the implementation details. The basic property of an object is encapsulation: it encapsulate the data and information it contains well defined abstraction. for this,an object can provide some its client can use it.   information hiding  implementation independence  Encapsulation provides a layer of security around manipulated  data, protecting it from external interference and misuse.

 Abstraction :  Real-world objects are very complex and it is very difficult to capture the complete details.It is a tool that permits a designer to consider a component at an abstract level without worrying about the details of the implementation of the component. Abstraction is a design technique that focuses on the and behavior.  For Example : The features such as things in the trunk of a car, the medical history of the manager traveling in the car, and the working mechanism of the car engine are not necessary for the driver.  meaningful name such as driver reflecting the function  minimum and at the same time complete feature  Abstraction specifies necessary and sufficient descriptions rather than implementation details. It results in separation of interface and implementation.

 Data Abstraction: Any Entity in the real world provide some services to the environment to which it belongs. The operations defined on a data object are the only operations that can be performed on those objects from outside an object, the internals of the are hidden. Example: stack overflow,underflow.  Functional Abstraction: A module is specified by the function it performs. For Example, a module to compute the log of a value can be abstractly represented by the function log.  Similarly, a module to sort an array can be represented by the specification of security.

 Inheritance: Abstraction specifies necessary and sufficient descriptions rather than implementation details. It results in  separation of interface and implementation  It uses the concept of reusability when we use the feature of one class can easily access in another class.one class based on the definition of existing classes or base class. That feature can be accessed by using derived class.

 Polymorphism: polymorphism combines with two words poly+ morphism poly means many morphism means forms. Oops paradigms can refer to be objects of different types at different times.  By using polymorphism object entity has a two type static and dynamic type. The static type of an object is the object is declared in the program text, and it remains unchanged. the dynamic type of an entity can change at run time.For Example: plus operator can be used two different ways at different time it can be used either in the add two operands or it can be used concatenate a two strings.

 Modularity : A system is considered modular if it consists a large program divided in different component or different module. Each component can be implemented separately and a change a one component has minimal impact on the other components.  It can be more helpful in debugging,testing and its maintenance or its implementation. these modules can be interact with each other. Each module needs to be support a well defined abstraction and partitioning come together.

 Message passing: It is very important to understand the way a problem is addressed. The manager first calls the stenographer to prepare the letter and dictates the matter. The stenographer takes shorthand notes of the dictation and prepares the letter using a computer and a printer.  Now the letter is ready for signing and the manager signs it. Then the manager calls the driver to take him to the customer’s site. The driver along with the manager reaches the destination with the help of a car.