Object-Oriented Design Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.

Slides:



Advertisements
Similar presentations
Object-Oriented Design
Advertisements

Object- Oriented Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Chapter 7 – Design and Implementation
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Chapter 7 – Object-Oriented Design
SWE Introduction to Software Engineering
©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 Design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
1 SWE Introduction to Software Engineering Lecture 25 – Object-Oriented Design (Chapter 14)
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Chapter 14: Object-Oriented Design
COMP365: DESIGN Information systems architecture
Objectives To introduces the concept of software Design.
1 Objectives To introduces the concept of software Design. To introduce the concept of Object- Oriented Design (OOD). To Define various aspects about object.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented design 2.
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Component-Level Design
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Teamwork Know each other Compete Leadership Strengths and Weaknesses
With a focus on OO design techniques
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Chapter 7 System models.
Slide 1 System models. Slide 2 Objectives l To explain why the context of a system should be modelled as part of the RE process l To describe behavioural.
System models l Abstract descriptions of systems whose requirements are being analysed.
Pertemuan 19 PEMODELAN SISTEM Matakuliah: D0174/ Pemodelan Sistem dan Simulasi Tahun: Tahun 2009.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
CSC480 Software Engineering Lecture 11 September 30, 2002.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design Sumber dari : cc.ee.ntu.edu.tw/~farn/courses/SE/ch14.ppt.
Software Engineering, 8th edition Chapter 14 1 Courtesy: ©Ian Somerville 2006 April 13 th, 2009 Lecture # 16 Object-oriented Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Object-oriented Design Designing systems using self- contained objects and object.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Chapter 12 Object-Oriented Design.
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.
 To explain how a software design may be represented as a set of interacting objects that manage their own state and operations  To describe the activities.
Lecture 1: Introduction to Software Engineering WXGE6103 Software Engineering Process and Practice Object-oriented Design.
CS.436 Software Engineering By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 10 Object-oriented Design Slide 1 1 Chapter 10 Object-oriented Design.
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 -
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Assignment # 3 Due at Class 3/17 l Chapter 9: 2 and 9 l Chapter 11: 1, 4 and.
14. Object-Oriented Design Software Engineering. Objectives To explain how a software design may be represented as a set of interacting objects that manage.
12/2/2015 1www.prsolutions08.blogspot.com Object-oriented Design.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Object-oriented Design. Recap The software architect is responsible for deriving a structural system model, a control model and a sub-system decomposition.
© 2001 Franz Kurfess Object-oriented Design 1 CPE/CSC 205: Software Engineering I Dr. Franz J. Kurfess Computer Science Department Cal Poly.
©Ian Sommerville 2000 Software Engineering. Chapter 14Slide 1 Chapter 14 Object-Oriented Design.
CMSC 345 Fall 2000 OO Design. Characteristics of OOD Objects are abstractions of real-world or system entities and manage themselves Objects are independent.
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.
Object-oriented Design 3/3/20161ICS 413 – Software Engineering.
CHAPTER 6: OBJECT-ORIENTED DESIGN. Objectives  To explain how a software design may be represented as a set of interacting objects that manage their.
Chapter 7 Lecture 1 Design and Implementation. Design and implementation Software design and implementation is the stage in the software engineering process.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Chapter 14. Objectives To explain how a software design may be represented as a set of interacting objects that manage their own state and operations.
Chapter 2: Component Level Design
Design Review.
Case Study -- Weather system
Chapter 5 – Design and Implementation
Chapter 7 – Object-Oriented Design
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Chapter 12 Object-Oriented Design.
Object-oriented Design
Object- Oriented Design
With a focus on OO design techniques
Design and Implementation
Object-oriented Design
Presentation transcript:

Object-Oriented Design Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim

Topics Covered  Objects and object classes  An object-oriented design process  Design evolution

Object-Oriented Design  Object-oriented design  A design strategy where system designers think in terms of “things” instead of operations or functions  Object-oriented design process  Design object classes and the relationships between these classes

Objects And Object Classes  Object  An entity which has a state and a defined set of operations which operate on that state  The state is represented as a set of object attributes  The operations associated with the object provide services to other objects  Object class  Objects are created according to object class definition  An object class definition serves as a template for objects

An Employee Object Class  UML (Unified Modeling Language) is a de facto standard for OO modeling and describes notations for a number of different OO models

A Generalization Hierarchy

An Association Model

An Object-Oriented Design Process The OOD process has a number of stages  Stage 1: understand and define the context and the models of use of the system  Stage 2: design the system architecture  Stage 3: identify the principal objects in the system  Stage 4: develop design models  Stage 5: specify object interfaces

Weather System Description (1/2)  A weather mapping system is required to generate weather maps on a regular basis using data collected from remote, unattended weather stations and other data sources such as weather observers, balloons and satellites. Weather stations transmit their data to the area computer in response to a request from that machine.  The area computer system validates the collected data and integrates it with the data from different sources. The integrated data is archived and, using data from this archive and a digitized map database, a set of local weather maps is created. Maps may be printed for distribution on a special-purpose map printer or may be displayed in a number of different formats.

Weather System Description (2/2)  A weather station is a package of software-controlled instruments which collects data, performs some data processing and transmits this data for further processing. The instruments include air and ground thermometers( 온도계 ), an anemometer( 풍 력계 ), a wind vane( 풍향계 ), a barometer( 기압계 ) and a rain gauge. Data is collected every five minutes.  When a command is issued to transmit the weather data, the weather station processes and summarizes the collected data. The summarized data is transmitted to the mapping computer when a request is received.

System Context And Models Of Use  The system context and the model of system use represent two complementary models of the relationships between a system and its environment  The system context is a static model that describes the other systems in that environment  The model of the system use is a dynamic model that describes how the system interacts with its environment. The UML proposes to use use- cases to show interactions

Subsystems In Weather Mapping System

Use-Cases For Weather Station

Report Use-Case Description

Architectural Design  Once interactions between the system and its environment have been understood, we use this information for designing the system architecture  Layered architecture is appropriate for the weather station  Interface layer for handling communications  Data collection layer for managing data collection from instruments and summarizing the weather data  Instruments layer for collecting raw data

Weather Station Architecture

Object Identification  Identifying objects (or object classes) is the most difficult part of object-oriented design  There is no ‘magic formula’ for object identification. It relies on the skill, experience and domain knowledge of system designers  Object identification is an iterative process. We are unlikely to get it right first time

Weather Station Object Classes

Design Models  Design models show the objects and object classes and relationships between these entities  Static models describe the static structure of the system in terms of object classes and relationships  Important relationships are generalization relationships, uses/used-by relationships and composition relationship  Dynamic models describe the dynamic interaction between objects  Sequence of service requests made by objects  How the state of the system is related to these object interactions

Examples Of Design Models  Sub-system models that show logical groupings of objects into coherent subsystems  Sequence models that show the sequence of object interactions  State machine models that show how individual objects change their state in response to events  Other models include use-case models, aggregation models, generalization models, etc.

A Subsystem Model

A Sequence Model

A State Chart

Object Interface Specification  Object interfaces have to be specified so that the objects and other components can be designed in parallel  Designers should try to avoid including details of the interface representation in their interface design  Objects may have several interfaces which are viewpoints on the methods provided

Weather Station Interface

Design Evolution  Hiding information inside objects means that changes made to an object do not affect other objects in an unpredictable way  Assume pollution monitoring facilities are to be added to weather stations. This involves adding an air quality meter to compute the amount of various pollutants in the atmosphere  Pollution readings are transmitted with weather data

New Objects To Support Pollution Monitoring