1 THE OBJECT-ORIENTED TECHNOLOGY: An Executive Summary 서울대학교 컴퓨터공학부 Internet Database Lab 교수 김형주 Spring 2007.

Slides:



Advertisements
Similar presentations
Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
History of Object Orientation. What is Object-Orientation? Programming is one of the most complicated and difficult of human activities. It helps a great.
Chapter 1 Object-Oriented System Development
Object-Oriented Metrics. Characteristics of OO ● Localization ● Encapsulation ● Information hiding ● Inheritence ● Object abstraction.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Programming Language Paradigms: summary. Object-oriented programming Objects are the fundamental building blocks of a program. Interaction is structured.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Object Oriented System Development with VB .NET
Stéphane Ducasse6.1 Essential Concepts Why OO? What is OO? What are the benefits? What are the KEY concepts? Basis for all the lectures.
Principles of Object-oriented Programming Programming Language Paradigms August 26, 2002.
Object-Oriented Databases
Lecturer: Dr. AJ Bieszczad Chapter 66-1 Object-Oriented analysis and design Special nature of OO development Use cases Design with UML OO system design.
1 CMSC 132: Object-Oriented Programming II Software Development IV Department of Computer Science University of Maryland, College Park.
Programming Languages Structure
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Object-Oriented Development By Linda M. Northrop vol. 1, chapter 5, pp Presented by: Gleyner Garden EEL6883 Software Engineering II.
Introduction to Object-oriented Programming Introduction to Object-oriented Programming CMPS 2143.
UML and Object Oriented Concepts
Introduction to Object-oriented Programming CSIS 3701: Advanced Object Oriented Programming.
OBJECT ORIENTED DESIGN Mohammad Amin Kuhail M.Sc. (York, UK)  Introduction to Object Oriented Design & Analysis  University of Palestine  Faculty of.
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.
BCS 2143 Introduction to Object Oriented and Software Development.
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
An Object-Oriented Approach to Programming Logic and Design
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Satzinger Chp. 2 Part Part 4 of 4 2 Object-Oriented Analysis and Design with the Unified Process Testing Testing is critical discipline Testing activities.
SOFTWARE REUSE 28 March 2013 William W. McMillan.
Unified Modeling Language, Version 2.0
11 1 Chapter 11 Object Oriented Databases Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
1 Introduction Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Sections
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.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
CSC480 Software Engineering Lecture 11 September 30, 2002.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering.
Information System Design (IT60105) Lecture 26 Object-Oriented System Testing.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Real Time Programming Language. Intro A programming language represents the nexus of design and structure. But misuse of the programming language can.
CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Java Fundamentals Usman Ependi UBD
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
PC204 Lecture 5 Programming Methodologies Copyright 2000 by Conrad Huang and the Regents of the University of California. All rights reserved.
Source Mastering UML with Rational Rose 2002 Information System Engineering Introduction to UML.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Fundamentals of Visual Modeling with UML Module 1: Introduction to Object Technology.
IT323 - Software Engineering 2 1 Tutorial 4.  List the main benefits of software reuse 2.
MANAGING COMPLEXITY Lecture OO01 Introduction to Object-oriented Analysis and Design Abstract Data Types.
객체지향시스템 연구실 1 THE OBJECT-ORIENTED TECHNOLOGY: An Executive Summary 서울대학교 컴퓨터공학부 객체지향시스템 연구실 교수 김형주.
Introduction to Object Oriented Programming in ColdFusion Nicholas Tunney Senior Software Architect.
A Survey of Object-Oriented Concepts, by Oscar Nierstrasz Reviewed by Odd Petter N. Slyngstad for DT8100, 27/1/2005.
Object Oriented Programming in Java Habib Rostami Lecture 2.
Outline Object-Oriented Concepts Modeling Components Structured Method Evaluation Procedure Object-Oriented Methods Structured Methods Review of Object.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Object Oriented Systems Design
The Movement To Objects
Types of Programming Languages
Software Prototyping Animating and demonstrating system requirements.
Ada – 1983 History’s largest design effort
Object Oriented Theory I
Parameter Passing Actual vs formal parameters
Overview of Programming Paradigms
Presentation transcript:

1 THE OBJECT-ORIENTED TECHNOLOGY: An Executive Summary 서울대학교 컴퓨터공학부 Internet Database Lab 교수 김형주 Spring 2007

2 OBJECT-ORIENTED PARADIGM  Historical Background  Object-Oriented Concepts  Core Elements  Encapsulation  Message Passing  Inheritance  Late Binding  Method Combination  Benefits

3 HISTORICAL BACKGROUND (1)  Root: of OO  SIMULA (1966)  Dahl & Nygarrd 66 CACM paper  Simulation language  Notion of Class  SMALLTALK ( )  Xerox PARC, Adele Goldberg  The first substantial, interactive, display-based implementation  An integrated programming language environment  User interface  Class library

4 HISTORICAL BACKGROUND (2)  AI Community (1980’s)  AI Knowledge Representation  KR/1, Frame  AI Programming Language Side  Actor: Concurrent Objects (Carl Hewitt at MIT)  Flavors (MIT), Loops (XEROX): OO-Programming in Lisp  AI Application Development Tools  Strobe (Schlumberge)  KEE (Intellicorp)  Programming Language Community (1980’s)  Abstract Data Type, Encapsulation  Alphard, CLU, ADA

5 HISTORICAL BACKGROUND (3)  Observations  1970’s: Age of Structured Programming  1980’s: Transition Age from Structured Programming to Object- Oriented Programming  C  C++  1990’s: Age of Full-Fledged Object-Oriented Programming  C++  Java  2000’s: Object Technology for WWW and EC  Most software products are following the OO paradigm  Object-oriented paradigm plays a central role in all computer-related technologies in 2000s

6 Consumer sees only definition Supplier is responsible for Implementation Sequence : next previous : Array : add find : Set : find add : Objects are a new way of packaging software (1985)

7 What is Object-Oriented System? (1)  Object-Oriented Technology:  A way to develop and package Software that draws heavily from the common experience and the manner in which real world objects relate to each other  Object-Oriented Systems:  All programming languages, systems, tools and methodologies that support the Object-Oriented Technology

8 What is Object-Oriented System? (2)  Core Features of Object-Oriented Technology 1. Object  data  procedure 2. Message 3. Class 4. Inheritance Hierarchy ……  cf. Object-Based System

9 Object-Oriented Systems: Class Hierarchy  Class hierarchy of Envelope Containers Mailboxes Envelopes File Folders Business Envelopes Business Envelopes Air Mail Envelopes Air Mail Envelopes

10 Benefits of Object-Oriented Systems 1. Improve Productivity 2. Model Complexity  The use of objects as basic modules assists the designer to model complex real-world systems 3. Designed for Change  The flexibility of object-oriented code allows a rapid response to changes in their requirements 4. Reusable  The reuse of standard components reduces both the development time for new applications and the volume of code generated 5. Maintainable  The increased maintainability of software makes it more reliable and reduces maintenance costs