Object Modeling Approach

Slides:



Advertisements
Similar presentations
Introduction to Object Orientation System Analysis and Design
Advertisements

Use Cases and Scenarios
UML an overview.
Heating element Temperature sensor Heating element 220V AC Controller I/O panel.
Voluntary exercise II Solution Tor Stålhane IDI / NTNU.
System Concepts. What is a System? Set of inter-related components with a clearly defined boundary Working together to achieve objectives.
Heating Control Devices
Use Case Model Shinta P.. UML Actor An actor is behaviored classifier which specifies a role played by an external entity that interacts with the subject.
Active Solar Heating Liquid Solar Heating System Travis Ricard.
Engineer Presentation
1 SWE Introduction to Software Engineering Lecture 16 – System Modeling An Example.
Embedded Systems Details. Object Model: Four main system objects or classes Controller object might be made up of several controllers is the brains of.
Exam 1 Post Mortem. A heating system with a thermostat is an example of a simple system. In this system, the desired temperature and the actual temperature.
© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Use Cases and.
R R R CSE870: Advanced Software Engineering: Extending and Using UML (Cheng, Sp2003) Supplementary: Using and Extending UML.
Advanced Topics in Behavior Analysis - Page L15-1 MEF-OOM&A-L15-1 Dr. M.E. Fayad Lesson 15: Advanced Topics in Behavior Analysis Object- Oriented Modeling.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Use Cases and Scenarios
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
Slide 1 Chapter 8 Behavioral Modeling. Slide 2 Key Ideas Behavioral models describe the internal dynamic aspects of an information system that supports.
R R R CSE870: Advanced Software Engineering: Cheng (Sp 2001)CSE870: Advanced Software Engineering: Cheng (Sp 2001)1 Mini Project An Overview.
Conceptual Modeling A Short Discussion. Outline Conceptual modeling The goal of conceptual modeling The OO solution The object model (conceptual) Syntax.
Home Heating System Lecture Oo22 Another Method Example.
1 Object-Oriented Software Engineering CIS 375 Bruce R. Maxim UM-Dearborn.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Chapter 10 Architectural Design
HYDRONIC HEATING AQUASTATS
The Unified Modeling Language Part I Omar Meqdadi SE 2730 Lecture 6 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Project Overview.  Problem Statement  Constraints  High-level Design  Roles  Expected deliverables  Possible Issues.
Air Conditioning Heating Refrigeration
Engineer Training Cooler TJ8300 / TJ8500 Cooler. Engineer Training Cooler TJ8300 / TJ8500 Confidential 2 Introduction.
Object Modeling Approach Start with a problem statement –High-level requirements Define object model –Identify objects and classes –Prepare data dictionary.
Introduction To System Analysis and Design
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Approaching a Problem Where do we start? How do we proceed?
BAKE BROIL - SELECT PROGRAM - CONV BAKE CONV BROIL SELF CLEAN On any diagram screen, double click any of the following components to bring you to a description.
Object-Oriented Analysis and Design NGSSC Object-Oriented Scientific Programming, June 2012.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Behavioral Modeling Chapter 8.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Design Model Lecture p6 T120B pavasario sem.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
R R R CSE870: Advanced Software Engineering: UML-- Use Cases1 Use Cases and Scenarios.
R R R CSE870: Advanced Software Engineering -- UML Dynamic Models (Cheng)1 Object Modeling Approach.
CISSP Common Body of Knowledge Review by Alfred Ouyang is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
System A collection of parts that perform a function.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
Boiler Energy Saver Advanced Boiler Controls. Most boiler controls at present consist of a switch!
Object Modeling Approach
Instant hot water. Long-term savings.
Unit 13 Oil-Burning Equipment
How to Draw a Systems Diagram
UML(Unified Modeling Language)
Use Cases and Scenarios
Object-Oriented Analysis and Design
Week 10: Object Modeling (1)Use Case Model
UML PPt by: Hong Qing Yu.
The key to comfort and efficiency for heating and air-conditioning
Software Design Lecture : 15.
CS 425 Software Engineering
How electronic systems work using the Systems approach.
CS 425/625 Software Engineering
Presentation transcript:

Object Modeling Approach CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview

Object Modeling Approach Start with a problem statement High-level requirements Define object model Identify objects and classes Prepare data dictionary Identify associations and aggregations Identify attributes of objects and links Organize and simplify using inheritance Iterate and refine the model Group classes into modules CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview

The Home Heating System 90 80 70 60 50 On Off Controller Fuel Valve Burner Water Pump Hot Water Fuel Temp Sensor Water Valve Control Panel Home

Home Heating Requirements The purpose of the software for the Home Heating System is to control the heating system that heats the rooms of a house. The software shall maintain the temperature of each room within a specified range by controlling the heat flow to individual rooms. When the furnace is not running and a room needs heat, the software shall turn the furnace on To turn the furnace on the software shall follow these steps open the fuel valve turn the burner on The software shall turn the furnace off when heat is no longer needed in any room To turn the furnace off the software shall follow these steps close fuel valve turn burner off The software shall control the heat in each room The room shall be heated when the temperature is 2F below desired temp The room shall no longer be heated when the temperature is 2F above desired temp The flow of heat to each room shall be individually controlled by opening and closing its water valve The valve shall be open when the room needs heat and closed otherwise The user shall set the desired temperature on the thermostat The operator shall be able to turn the heating system on and off The furnace must not run when the system is off CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview

Identify Object Classes Requirements Statements Extract Nouns Tentative Object Classes Eliminate Spurious Classes Object Classes Candidate Classes Controller Fuel Valve Burner Water Pump Hot Water Fuel Temp Sensor Water Valve software Home Heating System heating system room house temperature heat desired temp operator thermostat furnace on-off switch Control Panel Home range CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview

CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview Eliminate Bad Classes Redundant classes Classes that represent the same thing with different words Irrelevant classes Classes we simply do not care about Vague classes Classes with ill defined boundaries Attributes Things that describe individual objects Operations Sequences of actions are often mistaken for classes Roles The name of a class should reflect what it is, not the role it plays Implementation details Save that for implementation CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview

CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview Eliminate Classes Controller Fuel Valve Burner Water Pump Hot Water Fuel Temp Sensor Water Valve software Home Heating System heating system room house temperature heat desired temp operator thermostat furnace Redundant Irrelevant Vague Attributes Operations Implementation Roles None heat flow on-off switch Control Panel home user range CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview

Classes After Elimination Controller Fuel Valve Burner Water Pump Temp Sensor Water Valve Home Heating System Room Operator Thermostat Furnace on-off switch Control Panel CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview

Prepare Data Dictionary Water Tank The storage tank containing the water that circulates in the system. Pump-1 The pump pumping water from the Water Tank to the radiators in the rooms CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview

Possible Associations A room consists of a thermometer and a radiator A radiator consists of a valve and a radiator element The home heating system consists of a furnace, rooms, a water pump, a control panel, and a controller The furnace consists of a fuel pump and a burner The control panel consists of an on-off switch and a thermostat The controller controls the fuel pump The controller controls the burner The controller controls the water pump The controller monitors the temperature in each room The controller opens and closes the valves in the rooms The operator sets the desired temperature The operator turns the system on and off The controller gets notified of the new desired temperature Not much information from the prose requirements A lot of information from the system design CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview

Object Model

Object Model - Modified Home Heating System Control Panel Furnace Water Pump 3 Runs Burner Fuel Valve On-Off Switch Thermostat 3 Opens/Closes 1..* 3 Pushes Adjusts 8 3 Ignites Room 1..* Operator 1..* Notifies 3 3 8 Monitor Heats Water Valve Temp Sensor Controller

CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview Attributes Thermostat desired-temp On-Off switch setting Temp Sensor temperature CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview

Final OO Model Home Heating System Control Panel Furnace Water Pump 3 Runs Burner Fuel Valve On-Off Switch Thermostat setting desired-temp 3 Opens/Closes 1..* 3 Ignites 3 Pushes Adjusts 8 Room 1..* Operator 1..* Notifies 3 3 8 Monitor Heats Water Valve Temp Sensor temperature Controller

CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview Iterate the Model Keep on doing this until you, your customer, and your engineers are happy with the model Iterate CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview

CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview Operation vs Method Operation: specifies object behavior Service: represented by set of operns. Message: object requests execution of an opern. from another object by sending it mesg. Method: mesg is matched up with method defined by the class to which the receiving object belongs (or any of its superclasses) Operations of class are public services offered by class. Methods of its classes are the implementations of these operations. CSE870: Advanced Software Engineering: Sp2001, Cheng: UML Overview