객체지향시스템 연구실 1 THE OBJECT-ORIENTED TECHNOLOGY: An Executive Summary 서울대학교 컴퓨터공학부 객체지향시스템 연구실 교수 김형주.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
A metadata-driven approach to context-sensitive composition of collaborations Eddy Truyen, Wouter Joosen and Pierre Verbaeten Bo N. Jørgensen Maersk Institute.
Chapter 1 Object-Oriented System Development
Object-Oriented Design & Programming Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
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
Object-Oriented Metrics
OBJECT ORIENTED ANALYSIS & DESIGN Vassilka Kirova Department of Computer & Information Science NJIT.
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
1 CMSC 132: Object-Oriented Programming II Software Development IV Department of Computer Science University of Maryland, College Park.
Vrije Universiteit amsterdamPostacademische Cursus Informatie Technologie Themes and Variations abstraction -- the object metaphor modeling -- understanding.
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
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.
An Object-Oriented Approach to Programming Logic and Design
Rapid Application Development (RAD) Software Development Approaches.
“Enhancing Reuse with Information Hiding” ITT Proceedings of the Workshop on Reusability in Programming, 1983 Reprinted in Software Reusability, Volume.
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.
CS6359 Introduction to OO An Introduction to Object-oriented Analysis and Design.
Architecting Web Services Unit – II – PART - III.
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.
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.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Object-Oriented Analysis and Design. Lesson 1: Introduction to Software Engineering.
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.
Learners Support Publications Object Oriented Programming.
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
CS 3050 Object-Oriented Analysis and Design. Objectives What is “Object-Oriented?” Object-Oriented Approach Vs. Structured Approach How Has the Object-Oriented.
Abstraction ADTs, Information Hiding and Encapsulation.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Java Fundamentals Usman Ependi UBD
PC204 Lecture 5 Programming Methodologies Copyright 2000 by Conrad Huang and the Regents of the University of California. All rights reserved.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Next Back MAP MAP F-1 Management Information Systems for the Information Age Second Canadian Edition Copyright 2004 The McGraw-Hill Companies, Inc. All.
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.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
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 THE OBJECT-ORIENTED TECHNOLOGY: An Executive Summary 서울대학교 컴퓨터공학부 Internet Database Lab 교수 김형주 Spring 2007.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Object Oriented Systems Design
Programming paradigms
The Movement To Objects
Types of Programming Languages
Ada – 1983 History’s largest design effort
Object Oriented Theory I
Object oriented analysis and design
Overview of Programming Paradigms
Presentation transcript:

객체지향시스템 연구실 1 THE OBJECT-ORIENTED TECHNOLOGY: An Executive Summary 서울대학교 컴퓨터공학부 객체지향시스템 연구실 교수 김형주

객체지향시스템 연구실 2 OBJECT-ORIENTED PARADIGM OBJECT-ORIENTED PARADIGM u Historical Background u Object-Oriented Concepts u Core Elements u Encapsulation u Message Passing u Inheritance u Late Binding u Method Combination u Benefits & Problem

객체지향시스템 연구실 3 HISTORICAL BACKGROUND (1) u Root: SIMULA (1966) u Dahl & Nygarrd 66 CACM paper u Simulation language u Notion of Class u SMALLTALK ( ) u Xerox PARC, Adele Goldberg u The first substantial, interactive, display-based implementation u An integrated programming language environment u User interface u Class library

객체지향시스템 연구실 4 HISTORICAL BACKGROUND (2) u AI Community (1980’s) u AI Language Side u Actor: Concurrent Objects(Carl Hewitt at MIT) u Flavors(MIT), Loops(XEROX): OO-Programming in Lisp u AI Application Development Tools u Strobe(Schlumberge) u KEE(Intellicorp) u Programming Language Community (1980’s) u Abstract Data Type, Encapsulation u Alphard, CLU, ADA

객체지향시스템 연구실 5 HISTORICAL BACKGROUND(3) u Observations u 1970’s: Age of Structured Programming u 1980’s: Transition Age from Structured Programming to Object-Oriented Programming u 1990’s: Age of Full-Fledged Object-Oriented Programming u 2000’s: Object Technology for WWW and EC

객체지향시스템 연구실 6 HISTORICAL BACKGROUND(4) u Why took so long? Why after 1990! u Simula67: designed for simulation people u Smalltalk: company confidential(XEROX) u Smalltalk requires powerful windowing facility as well as powerful hardware u Now! u Most software products are following the OO paradigm u OO Dedicated conferences: OOPSLA, ECOOP, OODB conferences, etc. u OO Journals: JOOP u Many conferences of systems area have OOP session or track

객체지향시스템 연구실 7 The Object-Oriented Technology: Executive Summary u Buzzword u to used to promote their products u Silver Bullet u will solve the productivity crisis u Main Conclusion! 1. Object-Oriented Technology is a key feature of any Silver Bullet 2. Object-Oriented Systems will play a central role in all computer-related technologies in 2000s

객체지향시스템 연구실 8 What is Object-Oriented System?(1) u Object-Oriented Technology: u A way to develop and package Software that draws heavily from common experience and the manner in which real world objects relate to each other u Object-Oriented Systems: u All programming languages, tools and methodologies that support Object-Oriented Technology

객체지향시스템 연구실 9 What is Object-Oriented System?(2) u Features of Object-Oriented Technology 1. Object u data u procedure 2. Message 3. Class 4. Hierarchy u cf. Object-Based System

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

객체지향시스템 연구실 11 Object-Oriented Systems:Class Hierarchy u Class hierarchy of Envelope Containers Mailboxes Envelopes File Folders Business Envelopes Business Envelopes Air Mail Envelopes Air Mail Envelopes

객체지향시스템 연구실 12 Benefits of Object-Oriented Systems(1) 1. Improve Productivity 2. Model Complexity 3. Designed for Change 4. Reusable 5. Maintainable

객체지향시스템 연구실 13 Benefits of Object-Oriented Systems(2) u The use of objects as basic modules assists the designer to model complex real-world systems u The flexibility of object-oriented code allows a rapid response to changes in their requirements u The reuse of standard components reduces both the development time for new applications and the volume of code generated u The increased maintainability of software makes it more reliable and reduces maintenance costs

객체지향시스템 연구실 14 Problems * Performance u binding between messages and corresponding procedures u garbage collection u swap overhead if system contains many small objects * Lack of formal background yet!