The OOA Process - II Scenarios. The Steps of OOA - Part 1 identify objects (classes) identify structures –generalization - specialization (“ISA”) –whole.

Slides:



Advertisements
Similar presentations
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
Stereotypes Stereotypes provide the capability to create a new kind of modeling element. –They can be used to classify or mark modeling elements. –A type.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Inheritance Inheritance Reserved word protected Reserved word super
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Chapter 14 (Web): Object-Oriented Data Modeling
The OOA Process - I Steps and Rules Objects and Structures.
Basic OOP Concepts and Terms
The OOA Process - II Scenarios. The Steps of OOA - Part 1 Identify classes (objects) Identify structures –Generalization (generalization-specialization,
Unified Modeling Language (UML)
Object Oriented Analysis OOA. OOA Deliverables Static Object model –one single diagram Scenarios –set of diagrams Object Dictionary –one set of comprehensive.
Sequence Diagram. What is Sequence Diagram?  Sequence Diagram is a dynamic model of a use case, showing the interaction among classes during a specified.
Modern Systems Analysis and Design Fifth Edition Jeffrey A
Chapter 13: Object-Oriented Programming
The OOA Process - I Steps and Rules Objects and Structures.
SE-565 Software System Requirements More UML Diagrams.
Chapter 14: Object-Oriented Data Modeling
Unified Modeling Language
The Unified Modeling Language (UML) Class Diagrams.
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
State and Sequence Diagrams Modelling dynamic information So far we have seen: Use Case Diagrams – requirements capture, interface.
Object Oriented Software Development
Comparison of OO Programming Languages © Jason Voegele, 2003.
UML Collaboration Diagram. Recap System Sequence Diagrams (SSD) UML for SSD Examples.
An Object-Oriented Approach to Programming Logic and Design
1 Java Inheritance. 2 Inheritance On the surface, inheritance is a code re-use issue. –we can extend code that is already written in a manageable manner.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
CHAPTER 13 (ONLINE): OBJECT-ORIENTED DATA MODELING © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
1 © Prentice Hall, 2002 Chapter 14: Object-Oriented Data Modeling Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R.
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
Real Time Systems Modeling Structure in UML (Part I)
CSC480 Software Engineering Lecture 11 September 30, 2002.
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 13 (Online): Object-Oriented Data Modeling Modern Database Management 10 th Edition.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
An Introduction to the Unified Modeling Language
An Object-Oriented Approach to Programming Logic and Design Chapter 3 Using Methods and Parameters.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
Chap 10. Object-oriented Design - Designing systems using self-contained objects and object classes -
Object-Oriented Data Modeling
CSE 341, S. Tanimoto Java brief review - 1 Java Brief Review Java’s strengths Object-oriented terminology Inheritance Interfaces An example with inheritance.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Object Oriented Analysis and Design Class and Object Diagrams.
 Week08.  Review Schedule Weeks 8-14  This week o Review last class o Introduce Class Diagrams o ICE-03 Sheridan SYST Engineering Quality Systems.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Object Oriented Programming
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Design Patterns Software Engineering CS 561. Last Time Introduced design patterns Abstraction-Occurrence General Hierarchy Player-Role.
CS212: Object Oriented Analysis and Design Lecture 33: Class and Sequence Diagram.
Chapter 3: Introducing the UML
Class Diagram Lecture # 1. Class diagram A Class Diagram is a diagram describing the structure of a system shows the system's classes Attributes operations.
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
1 Kyung Hee University Interaction Diagrams Spring 2001.
Basic Characteristics of Object-Oriented Systems
Chapter 9: Relationships Chapter 10: Inheritance and Polymorphism [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada,
Systems Analysis and Design in a Changing World, Fourth Edition
Appendix 3 Object-Oriented Analysis and Design
Object-Orientated Analysis, Design and Programming
Cmpe 589 Spring 2006.
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Systems Analysis and Design
Object-Oriented Analysis and Design
Business System Development
Chapter 20 Object-Oriented Analysis and Design
The OOA OBJECT DICTIONARY
Appendix 3 Object-Oriented Analysis and Design
Presentation transcript:

The OOA Process - II Scenarios

The Steps of OOA - Part 1 identify objects (classes) identify structures –generalization - specialization (“ISA”) –whole - parts (“PART-OF”) –association (relationship) define attributes ===> Static Objectdiagram ===> incomplete Object Dictionary

The Steps of OOA - Part 2 define services via scenarios –services per object –message passing between objects –coordination of message passing –states and transitions ===> Scenarios ===> complete Object Dictionary

OOA - Messages form the dynamic portion of the object diagram (scenarios) sent by –an object (instance) –via an active local service received by –an object (instance) –triggering the receiving service label sender receiver

A Message’s “Life-Cycle” connects to an object(object_id).service triggers execution of the receiving service carries input-parameters for the execution of the receiving service is able to transmit output-parameters back to the sending service

Message Specification scenarios (diagrams): –shown as bold or dotted line –label is optional –parameters are optional –sequence number is optional object dictionary: –exist only as elements of an object’s services –specified as part of the service specifications

Syntax for Message Specification typically similar to: SEND MESSAGE TO object (object_id).service (input-parameters, output-parameters) –object: name of an object class –service: name of a service in that object class –object_id: identifies selected instantiation (structures, especially associations!)

Programmer Division Department (2,N) (1,1) works-for (1,1)(3,N) The division wants to compile a list of the prg. languages “spoken” in its departments. list of prog-lang.

Programmer Division Department Alternative 1: Using output-parameters to get to the results. list prg-skills (wait for result) list prg-lang (wait for result) report prg-langs list prg-skillslist prg-lang

Programmer Division Department Alternative 2: Using separate messages to transmit results. list prg-skills (do not wait for result) list prg-lang (do not wait for result) accept prg-lang report prog-langs accept prg-lang list prg-skillslist prg-langs

OOA - Services exist only as elements of an object services model functionality: –data manipulation –control sequences –communication (using messages) –state transformation –interface handling

OOA - Services no separate graphical representation (part of the object symbol) services can be –public or –private specified in the object dictionary

Attributes and Services the data capsule principle –a service has access to all attributes of the local object –all services of an object share attributes as a global data area –a service provides access to attributes for other object.services (by accepting messages) –a service can have local variables

Services and Inheritance are inherited in a classification hierarchy inheritance is mandatory multiple inheritance is possible => position common services as high in the classification hierarchy as possible => generic services / service overlay / polymorphism

Employee Manager Programmer Inheritance fill-in time-sheet prepare paycheque fill-in time-sheet list prg-langs fill-in time-sheet

Scenarios show separate self-contained sequences (threads) of execution in separate diagrams include –objects –messages –(services) –(attributes) do usually not include –structures

ManagerProgrammer Division Department create (1) hire (2) hire (3) Scenario 1: “Open a new department”

Programmer Division Department Scenario 2 (Alternative 2): “Prepare list of prog. languages for divison.” list prg-skills (do not wait for result) list prg-lang (do not wait for result) accept prg-lang report prog-langs accept prg-lang list prg-skillslist prg-langs