Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?

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,
Chapter 10 THINKING IN OBJECTS 1 Object Oriented programming Instructor: Dr. Essam H. Houssein.
Classes & Objects Computer Science I Last updated 9/30/10.
L3-1-S1 OO Concepts © M.E. Fayad SJSU -- CMPE Software System Engineering Dr. M.E. Fayad, Professor Computer Engineering Department, Room.
Object-Oriented Databases v OO systems associated with – graphical user interface (GUI) – powerful modeling techniques – advanced data management capabilities.
Object Oriented System Development with VB .NET
Software Lifecycle A series of steps through which a software product progresses Lifetimes vary from days to months to years Consists of –people –overall.
Visual Basic Introduction IDS 306 from Shelly, Cashman & Repede Microsoft Visual Basic 5: Complete Concepts and Techniques.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
The chapter will address the following questions:
Object Oriented Software Development
Introduction to Object-oriented programming and software development Lecture 1.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
Objects and Components. The adaptive organization The competitive environment of businesses continuously changing, and the pace of that change is increasing.
O BJECT O RIENTATION F UNDAMENTALS Prepared by: Gunjan Chhabra.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
1 Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill Chapter 2: Object Basics Object-Oriented Systems Development Using the Unified Modeling.
Object Oriented Programming Principles Lecturer: Kalamullah Ramli Electrical Engineering Dept. University of Indonesia Session-3.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
1 What is OO Design? OO Design is a process of invention, where developers create the abstractions necessary to meet the system’s requirements OO Design.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Chapter 6 Introduction to Defining Classes. Objectives: Design and implement a simple class from user requirements. Organize a program in terms of a view.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
Learners Support Publications Object Oriented Programming.
Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI.
Object Oriented Programming
OOPS CONCEPT.  OOPS  Benefits of OOPs  OOPs Principles  Class  Object Objectives.
COP 4331 – OOD&P Lecture 7 Object Concepts. What is an Object Programming language definition: An instance of a class Design perspective is different.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (2/2)
Basic Characteristics of Object-Oriented Systems
CHAP-1 OBJECT ORIENTED SYSTEM DESIGN (IT-703)
Object Oriented Programming Some Interesting Genes.
 The Object Oriented concepts was evolved for solving complex problems. Object- oriented software development started in the 1980s. Object-oriented design.
Object Oriented Systems Design
OBJECT BASICS (CH-2) SCE, KIIT University KIIT CSE/IT (OOSD)
Unit - 3 OBJECT ORIENTED DESIGN PROCESS AND AXIOMS
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING
Chapter 1: Introduction to Systems Analysis and Design
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Business System Development
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Information systems modeling tools
CHAPTER 5 GENERAL OOP CONCEPTS.
Object Oriented Programming F3031
Concepts of Object Orientation
OOP What is problem? Solution? OOP
Prachet Bhuyan Assistant Professor, CSE,SOT, KIIT University
Review: Two Programming Paradigms
Object Oriented Systems Development
Object-Oriented Programming
PRINCIPALES OF OBJECT ORIENTED PROGRAMMING
C++.
Tools of Software Development
The Object-Oriented Thought Process Chapter 05
University of Houston-Clear Lake
Need for the subject.
DEV-08: Exploring Object-oriented Programming
CIS601: Object-Oriented Programming in C++
Chapter 1: Introduction to Systems Analysis and Design
Algorithms and Problem Solving
COP 3330 Object-oriented Programming in C++
Object Oriented Analysis and Design
Object-Oriented PHP (1)
Object-Oriented Programming
Chapter 1: Introduction to Systems Analysis and Design
Information systems modeling tools
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:

Agenda Software development (SD) & Software development methodologies (SDM) Orthogonal views of the software OOSD Methodology Why an Object Orientation?

Software development (SD) & Software development methodologies (SDM): SD refers to all activities that go into producing an information system SD is dynamic & always undergoing major changes Many tools and methodologies It consists of system analysis, design, implementation, testing and maintenance SDM is a series of processes that , if followed, can lead to the development of an application It describes how the work is to be carried out to achieve the original goal based on the system requirements It consists of a number of steps and rules that should be performed during development

Orthogonal views of the software: Traditional development technique 1. Algorithmic centric Focus on algorithm (what is it doing) 2. Data centric Focus on data (what data is accessed) Object Oriented System Development (OOSD) or Object Oriented Analysis and Design (OOAD) Focus on object (Algorithm & Data)

OOSD Methodology: It is a way to develop software by building self contained objects that can be easily replaced, modified and reused In an O-O environment, software is a collection of discrete objects. These objects encapsulate their data and functionalities to model real world "objects”.

OOSD Methodology: An object-oriented life cycle encourages a view of the world as a system of cooperative and collaborating agents. In an OO system, everything is an object and each object is responsible for itself

OOSD Methodology: Example: A window object is responsible for things like opening, sizing and closing itself. Class window { Data_type data; void close(.,.) {……..} int open(.,.) {…….} float sizing(.,.) {…..} } Class chart { Void draw(.,.) {…..}

OOSD Methodology: Note: Rather than writing a lot of code to do all the things that have to be done, you tend to create a lot of helpers that take on an active role, a spirit and that become a community whose interaction becomes an application

Why an Object Orientation?: Higher level of abstraction: Supports abstraction at object level The development can proceed at the object level & ignore rest of the system for as long as necessary This makes system development much simpler Seamless transition among different phases of SD: Easy to move from one language to another Analysis & design is not language centric Reduces the level of the complexity & redundancy More robust system development

Why an Object Orientation?: Encouragement of good programming techniques: Functions and data held together Objects are independent in a system Object change has no impact on other System achieves the benefits of an object orientation Easier to produce more modular & reusable code Promotion of reusability: Objects are reusable Each object stands by itself or within a small circle of peers Powerful Inheritance technique Only differences & enhancements between classes (super & sub-class) need to be designed

Agenda Object basics Object Objects responds to messages Classes Meta-Class

Object basics: Motivating factor behind OOAD: Object: Make software development easier & more natural by raising the level of abstraction to the point where applications can be implemented Object: It was first formally utilized in the simula language to simulate some aspect of reality A real world entity, identifiable separate from its surroundings A combination of data and logic that represents some real world entity It is associated with Properties Procedures Identity persistence

Object properties (Attributes): Object basics: Object properties (Attributes): Describe the state of an object It refers to description rather than how they are represented in a particular programming language Example I am an Employee. I know my name, social security number and my address.

Object properties (Attributes): Object basics: Object properties (Attributes): Example I am a Car. I know my color, manufacturer, cost, owner and model.

Object procedures (Methods): Object basics: Object procedures (Methods): Methods or procedures define its behavior Behavior denotes the collection of methods that abstractly describes what an object is capable of doing Method encapsulate the behavior of an object, provide interface to the object The use of methods to exclusively access or update properties Object take responsibility for their own behavior. It simplifies application development & maintenance

It does things Object basics: Object procedures (Methods): Example I know how to Compute my payroll. It does things

Object basics: Object procedures (Methods): Example I know how to stop.

Object Identity (OID): Object basics: Object Identity (OID): Every object has its own unique & immutable identity It comes into being when the object is created & continue to represent that object from then on This identity never confused with another object, even if the original object has been deleted. It never reused The identity name never changes even if all the properties of the object change OID’s help to establish relationships/communication among objects OID’s help to implement object references during implementation Example : Employee Id, stud_Reg_Number

Object basics: Object persistence: Object have life time They are explicitly created & can exist for a period of time (usually the duration of the process in which they were created) An object can persist beyond application session, this characteristics is called object persistence A file or database provides longer lifeline The lifetime of an object can be explicitly terminated. After an object is deleted

Objects responds to messages: Object basics: Objects responds to messages: Messages essentially are non specific function calls Objects respond to messages according to methods defined in its class Different objects can respond to same message in different ways Polymorphism is the main difference between a message and a subroutine call Draw message can be sent to many objects like triangle, circle or line & each object could act differently

Objects responds to messages (con’t): Object basics: Objects responds to messages (con’t): Message is the instruction & Method is the implementation A message has a name just like method An object understands a message when it can match the message to a method that has the same name as the message Message says what to do & method says how to do something Message so general, it can be used over & over again in many different contexts Changes to method has no impact on messages & system

Object basics: Classes: Classes are used to distinguish one type of object from another Class is a set of objects that share a common structure & common behavior A single object is simply an instance of a class Every object of a given class has the same data format & responds to the same instructions Can create unlimited instances (except for singleton) Can use any of the predefined classes

Object basics: Meta Class (con’t): Everything is an object. How about a class? Is a class an object? Yes, a class is an object! So, if it is an object, it must belong to a class. Indeed, class belongs to a class called a Meta-Class or a class' class. All classes are instances of a Meta-class

Object basics: Meta Class: Meta-class used by the compiler. For example, the meta-classes handle messages to classes, such as constructors , "new“ and static member data