Informática II Prof. Dr. Gustavo Patiño MJ 16- 18 05-09-2013.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
OBJECT ORIENTED PROGRAMMING M Taimoor Khan
Informática II Prof. Dr. Gustavo Patiño MJ
Introduction To System Analysis and Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Object Oriented Analysis and Design Using the UML
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Object-oriented concepts.
©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.
Teamwork Know each other Compete Leadership Strengths and Weaknesses
BACS 287 Basics of Object-Oriented Programming 1.
CPT 140 Programming Constructs1 OBJECT ORIENTED TECHNOLOGY Terminology and Basic Concepts.
OOAD Using the UML - Introduction to Object Orientation, v 4.2 Copyright  Rational Software, all rights reserved 1 Object Oriented Analysis.
Introduction To System Analysis and design
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Introduction to Object Technology.
Object Oriented Analysis and Design Using the UML Version 4.2 Introduction to Object Orientation Prepared by:Kandarp R. Somaiya.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 18. Review User interface Design principles Design Guidelines.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 1 February 20, 2004 Lecture 3: Introduction to Software Analysis and.
Introduction To System Analysis and Design
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Object-Oriented Programming (OOP) CSC-2071 (3+1=4 Credits) Lecture No. 1 MBY.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 02. Objects,
CSC480 Software Engineering Lecture 11 September 30, 2002.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
EC-241 Object-Oriented Programming LECTURE 9. Objectives: Introduction to Object Oriented Design Revise the basic principles of object orientation Unified.
CMSC 345 Fall 2000 Design. What is Design? Verb: The creative process of transforming the problem into the solution Noun: The description of the solution.
Object Oriented Analysis & Design Using UML (CS-512) M-Tech CSE (Ist & 3rd Sem) Part Time Mr. Pawan Luthra Assistant Professor (CSE Deptt.) SBSSTC, Ferozepur.
Kal Bugrara, Ph.DSoftware Engineering Northeastern University Fundamentals Of Software Engineering Lecture V.
1 Object-oriented Design Designing systems using self- contained objects and object classes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Object-oriented Design Designing systems using self- contained objects and object.
Lecture 1: Introduction to Software Engineering WXGE6103 Software Engineering Process and Practice Object-oriented Design.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Object-oriented Design Designing systems using self-contained objects and object classes Designing systems using self-contained objects and object classes.
Chap 10. Object-oriented Design - Designing systems using self-contained objects and object classes -
ITEC 3220A Using and Designing Database Systems Instructor: Prof Z. Yang Course Website: 3220a.htm
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
CSC 131 Fall 2006 Lecture # 6 Object-Oriented Concepts.
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.
Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI.
OOP (Object Oriented Programming) Lecture 1. Why a new paradigm is needed? Complexity Five attributes of complex systems –Frequently, complexity takes.
Business Applications with Object-Oriented Paradigm (Modeling Concepts) Professor Chen School of Business Gonzaga University Spokane, WA
CMSC 345 Fall 2000 OO Design. Characteristics of OOD Objects are abstractions of real-world or system entities and manage themselves Objects are independent.
Object Oriented Analysis and Design Using the UML
1 IBM Software Group ® Essentials of Visual Modeling with UML 2.0 Module 3: Concepts of Object Orientation.
Slide 1 Chapter 10 Object-oriented Design. Slide 2 Characteristics of OOD l Objects are abstractions of real-world or system entities and manage themselves.
Introduction to Classes Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg.
CHAPTER 6: OBJECT-ORIENTED DESIGN. Objectives  To explain how a software design may be represented as a set of interacting objects that manage their.
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)
Concepts of Object Orientation lecture 1 –b. Objectives: Concepts of Object Orientation OOAD 2  Explain the basic principles of object orientation 
Introduction to Object Oriented Programming Lecture-3.
 The Object Oriented concepts was evolved for solving complex problems. Object- oriented software development started in the 1980s. Object-oriented design.
CHAPTER 5 GENERAL OOP CONCEPTS.
Concepts of Object Orientation
OOP What is problem? Solution? OOP
Object Oriented Concepts -I
Today’s Objectives Define the Problem Domain
Object Oriented Analysis and Design Using the UML
ITEC 3220A Using and Designing Database Systems
Presentation transcript:

Informática II Prof. Dr. Gustavo Patiño MJ

Informática II. Facultad de Ingeniería. Universidad de Antioquia

 A model is a simplification of reality.  Main reason for developing models:  Understanding the system being developed.  We build models of complex systems because we can not comprehend such a system in its entirety. Informática II. Facultad de Ingeniería. Universidad de Antioquia

 The choice of the model has a significant impact on how the problem is approached and how a solution is devised.  A model can be expressed at different levels of precision.  A good model is connected to reality.  A single model is not sufficient to represent most systems. ▪ A set of nearly independent models are required. Informática II. Facultad de Ingeniería. Universidad de Antioquia

 Modeling is an essential part of all the disciplines in engineering, including software engineering.  The importance of having a “good” model increases with the complexity of the project. Informática II. Facultad de Ingeniería. Universidad de Antioquia

 Software engineering is an engineering discipline.  A modeling technique suitable for the programming approach should be used.  Since object-oriented approach has proven to be superior to other approaches, models designed for this approach are widely used in software engineering. Informática II. Facultad de Ingeniería. Universidad de Antioquia

 Objects are abstractions of real-world or system entities and manage themselves.  Objects are independent and encapsulate state and representation information. Informática II. Facultad de Ingeniería. Universidad de Antioquia

 System functionality is expressed in terms of object services.  Shared data areas are eliminated. Objects communicate by message passing.  Objects may be distributed and may execute sequentially or in parallel. Informática II. Facultad de Ingeniería. Universidad de Antioquia

 Easier maintenance.  Objects may be understood as stand-alone entities.  Objects are appropriate reusable components.  For some systems, there may be an obvious mapping from real world entities to system objects. Informática II. Facultad de Ingeniería. Universidad de Antioquia

 OOA is concerned with developing an object model of the application domain.  OOD is concerned with developing an object- oriented system model to implement requirements.  OOP is concerned with realising an OOD using an OO programming language such as Java or C++. Informática II. Facultad de Ingeniería. Universidad de Antioquia

 Object Orientation  Abstraction  Encapsulation  Modularity  Hierarchy Informática II. Facultad de Ingeniería. Universidad de Antioquia

 A model that includes most important aspects of a given problem while ignoring less important details.  An example of an item purchasing abstraction. Informática II. Facultad de Ingeniería. Universidad de Antioquia Counter Queue Item

 Hide implementation from clients  Clients depend on interface Informática II. Facultad de Ingeniería. Universidad de Antioquia

 The breaking up of something complex into manageable pieces or modules Canteen System Queue Order Placement Delivery Billing Informática II. Facultad de Ingeniería. Universidad de Antioquia

 Level of abstraction Increasing abstraction Decreasing Abstraction Art Music FilmsSculptures R&B RapSci-Fi Action Informática II. Facultad de Ingeniería. Universidad de Antioquia

 Object  Class  Attributes  Operation  Interface (Polymorphism)  Components  Package  Subsystem  Relationships Informática II. Facultad de Ingeniería. Universidad de Antioquia

 Informally, an object represents an entity, either physical, conceptual, or software  Physical entity  Conceptual entity  Software entity truck Chemical Process Linked List Data Structure Informática II. Facultad de Ingeniería. Universidad de Antioquia

 An object is a concept, abstraction, or thing with sharp boundaries and meaning for an application  An object is something that has  State  Behavior  Identity Informática II. Facultad de Ingeniería. Universidad de Antioquia

 The state of an object is one of the possible conditions in which an object may exist  The state of an object normally changes over time  Represented by: Attribute values + Links (relationship instances) Y.Welikala Name: Employee ID: Date hired: Status: Y.Welikala Oct 18, 2004 Teaching Informática II. Facultad de Ingeniería. Universidad de Antioquia

 Behavior determines how an object acts and reacts to requests from other objects  Behavior is represented by the set of messages it can respond to (the operations the object can perform) Registration System Assign Y.Welikala (Returns: confirmation) CS 201 Course Informática II. Facultad de Ingeniería. Universidad de Antioquia

 Each object has a unique identity, even if its state is identical to that of another object Y. Welikala Teaches OOP “Y.Welikala” Teaches OOP Informática II. Facultad de Ingeniería. Universidad de Antioquia

 An object is represented as rectangles with underlined names : Lecturer Y.Welikala : Lecturer Class Name Only Class and Object Name Y.Welikala Object Name Only Informática II. Facultad de Ingeniería. Universidad de Antioquia

Intro to OO 201 Algebra 110 Electricity 100 Algorithms 202 ThermalDynamics 110 Electronics 110 English 101 Informática II. Facultad de Ingeniería. Universidad de Antioquia

 A class is a description of a group of objects with common properties (attributes), behavior (operations), relationships, and semantics.  An object is an instance of a class Informática II. Facultad de Ingeniería. Universidad de Antioquia

 A class is an abstraction in that it:  Emphasizes relevant characteristics  Suppresses other characteristics Informática II. Facultad de Ingeniería. Universidad de Antioquia

Class Course Properties Name Location Days offered Credit hours Start time End time Behavior Add a student Delete a student Get course roster Determine if it is full Informática II. Facultad de Ingeniería. Universidad de Antioquia

 How many class can you see? Informática II. Facultad de Ingeniería. Universidad de Antioquia

 A class is an abstract definition of an object  It defines the structure and behavior of each object in the class  It serves as a template for creating objects  Objects may be grouped into classes Lecturer Lecturer YohanLecturer ChinthanaLecturer Smith Informática II. Facultad de Ingeniería. Universidad de Antioquia

Class Attribute CourseOffering number startTime endTime :CourseOffering Number=CS201 endTime=1230 startTime=1030 Object Attribute Value :CourseOffering Number=CS202 endTime=1500 startTime=1300 Informática II. Facultad de Ingeniería. Universidad de Antioquia

CourseOffering addStudent deleteStudent getStartTime getEndTime Class Operation Informática II. Facultad de Ingeniería. Universidad de Antioquia

 What are the game’s objects?  What do those objects know how to do?  What properties do they have? Informática II. Facultad de Ingeniería. Universidad de Antioquia

 What are the game’s objects?  piece, board  Capabilities: What do those objects know how to do?  piece: ▪ be created ▪ fall ▪ rotate ▪ stop at collision Informática II. Facultad de Ingeniería. Universidad de Antioquia

 board: ▪ be created ▪ remove rows ▪ check for end of game  Properties: What attributes and components do they have?  piece: ▪ orientation ▪ Position ▪ shape ▪ color  board: ▪ size ▪ rows Informática II. Facultad de Ingeniería. Universidad de Antioquia