Object and Class Structuring Chapter 9 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)

Slides:



Advertisements
Similar presentations
COMET Approach for UML Overview
Advertisements

Software Architecture Design Chapter 12 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems ECEN 5053 Software Engineering of.
Copyright W. Howden1 Lecture 11: UML Terminology and Additional Models and Notation.
ECEN5053 SW Eng of Dist Systems, Arch Des Part 2, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 2 ECEN5053 SW.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models September 29, 2008.
1 SWE Introduction to Software Engineering Lecture 15 – System Modeling Using UML.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Software Design by Dr. Eitan Hadar Web:
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Use Case Analysis – continued
An Introduction to Rational Rose Real-Time
Introduction To System Analysis and design
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models. System modelling System modelling helps the analyst to understand the functionality of the system and models are used to communicate with.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Dynamic Modeling Chapter 11 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 Object-oriented and Structured System Models.
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.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Systems Analysis and Design in a Changing World, 3rd Edition
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
GRASP: Designing Objects with Responsibilities
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
UML Diagrams: The Static Model Class Diagrams. The Static Model Define the static structure of the logical model Represent classes, class hierarchies.
Use Case Modeling Chapter 7 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
1 Structuring Systems Requirements Use Case Description and Diagrams.
Architectural Design of Distributed Applications Chapter 13 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with.
Dr.Basem Alkazemi
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Static Modeling Chapter 8 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Introduction to OOAD and the UML
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
 To explain why the context of a system should be modelled as part of the RE process  To describe behavioural modelling, data modelling and object modelling.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
Basic Characteristics of Object-Oriented Systems
1 Object-Oriented Static Modeling of the Banking System - III Lecture # 33.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
DOMAIN CLASSES – PART 1 BTS430 Systems Analysis and Design using UML.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
UML Diagrams: Class Diagrams The Static Analysis Model
Software Architecture
DATA REQIREMENT ANALYSIS
Copyright © 2014 Hassan Gomaa and Robert Pettit
Object-Oriented Static Modeling of the Banking System - I
Chapter 13 Logical Architecture.
UML Diagrams: The Static Model Class Diagrams
System models October 5, 2005.
Chapter 13 Logical Architecture.
An Introduction to Software Architecture
Object and class structuring
Copyright 2007 Oxford Consulting, Ltd
Software Analysis.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Software Development Process Using UML Recap
Software Architecture
Presentation transcript:

Object and Class Structuring Chapter 9 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)

Object and Class Structuring First attempt at determining the software objects in the system. – Emphasis on objects modeling real-world and entity objects Determines and Categorizes the software interfaces to the objects developed in the Static Modeling phase. The beginnings of the Dynamic Model

Object Structuring Criteria No uniquely correct decompositions of a system. – Analytical Judgment – Problem Characteristics – Problem Domain Provide guidance for structural decisions.

Categorizing Application Classes Recall that objects are instances of classes. Interface Objects – Represent connections to the external environment of the system. – Device Interface Objects connect to a hardware I/O device. – User Interface Objects provide for human user interaction. – System Interface Objects represent external systems or subsystems. Entity Objects – Long living information stores.

Categorizing Application Classes (cont) Control Objects – Provide coordination for other objects State-dependant Control Objects Timer Control Objects Coordinator Objects Application Logic Objects – Contain application details – Business Logic Objects represent the general logic of the system. – Algorithm Objects encapsulate any special algorithms that may be used by the system.

Categorizing Application Classes (cont)

External and Interface Classes External classes represent objects outside the system. Interface classes represent the connection between external classes and the system. Interface classes are part of the system; External classes are not.

Categorizing External Classes Timers Devices – Input – Output – Input/Output Systems Users

Device Interface Objects Represent external sensors, actuators, etc.

User Interface Objects Generally assume the presence of standard I/O objects controlled by the operating system. May be complex GUI’s or simple CLI’s May be a composite of many smaller smaller user interfaces.

System Interface Objects Represent connections to other systems: – External Systems – Subsystems

Interface and External Objects

Entity Objects Recall that Entity Objects are long living. – Used by many use cases. – Store information that persists across use cases. Entity objects are instances of the entity classes developed in the Static Modeling phase. Encapsulate data to limit access.

Coordinator Control Objects Make decisions regarding overall sequencing for a collection of objects. – Coordinate the actions required for a use case. – Decides purely on the input given. i.e. not a state machine.

Coordinator Control Objects (example)

State-Dependant Control Objects Make decisions based on both inputs at current state. – The behavior changes based on the state of the control object.

Timer Control Objects Timer Control Objects are activated by external timers. Timer Control Objects either perform an action themselves, or activate another object to perform the action.

Application Logic Objects Business Logic Objects – Not always necessary for very simple business logic. Algorithm Objects – Encapsulates special algorithms – Allows the algorithm to change with minimal effort if needed.

Subsystems Objects that share functional dependencies are best placed in a subsystem. The Use Cases can be a good place to start if the subsystem divisions are not obvious. In COMET, packages are used to show subsystems.

Subsystems Example

Summary Application Classes can be categorized into 4 broad categories: – Interfaces – Entities – Controls – Application Logic The relationship between application classes can be represented using collaboration diagrams

Summary (cont) Subsystems can be used to group objects for increased abstraction. – Objects can be separated into packages by Use Case if no other divisions are readily available.