OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  1998-1999 Rational Software, all rights reserved 1 Use Case Analysis – Part 4 Analysis Mechanisms.

Slides:



Advertisements
Similar presentations
OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
Advertisements

Deliverable #8: Detailed Design - Overview due: Wednesday, 7 March All Deliverable materials are to be posted into Team Concert. Your to.
Introduction to Rational Rose 2000 v6.5 Copyright © 1999 Rational Software, all rights reserved 1 Rational Rose 2000 Interaction Diagrams.
1 Generalizations Multiple Inheritance (finishing up Class Design) Class Design – Another Look – Part 11.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/20 Interaction Diagrams.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Software Testing and Quality Assurance
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
J. Scott Hawker p. 1 Material © IBM Rational Software Use-Case Analysis Analyze the requirements to discover what the system objects are These.
Non-Functional Requirements
1 SWE Introduction to Software Engineering Lecture 15 – System Modeling Using UML.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Interaction Diagrams.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Object Oriented Analysis and Design Using.
Detail Design: Use-Case Design
Object Oriented Analysis and Design Using the UML
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
Use Case Analysis – continued
SE 555 Software Requirements & Specification Requirements Analysis.
Object Oriented Analysis and Design Using the UML
OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 6: Use-Case Analysis Module 6 - Use-Case Analysis.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/29 Object Oriented Analysis and Design Using.
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Tuesday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
Non-Functional Requirements
Object Oriented Analysis and Design Using the UML
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
RUP Fundamentals - Instructor Notes
ANALYSIS REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
CS 3610: Software Engineering – Spring 2009 Dr. Hisham Haddad – CSIS Dept. Class Project OO Design Document Here is what you need to do for your class.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Use-Case Design.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 7 Use Case Analysis.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Building Analysis Classes.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Introduction to Rational Rose 2000 v6.5 Copyright © 1999 Rational Software, all rights reserved 1 Rational Rose 2000 Class Diagrams.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 6: Use-Case Analysis.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Class Project OO Design Document Here is what you need to do for your class project.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
1 Detail Design: Use-Case Design Background on Use Case Design Have ‘done’ Architectural Design; You know the major (eleven) precepts of good design.
Use Case Model Use case diagram.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Database Design Some of these slides are derived from IBM/Rational slides from courses on UML and object-oriented design and analysis. Copyright to the.
Use Case Model Use case diagram. Relevant Requirements Artifacts Use-Case Model Supplementary Specification Use-Case Specifications... Glossary Actors.
Introduction to OOAD and the UML
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Object Oriented Analysis and Design Using.
Requirements Management with Use Cases Module 9: Requirements Across The Product Lifecycle Requirements Management with Use Cases Module 9: Requirements.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 9: Describe the Run-time Architecture.
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Requirement Engineering Virtusa Training Group 2004 Trainer: Ojitha Kumanayaka Duration : 1 hour.
OOAD Using the UML - Subsystem Design, v 4.0 Copyright  Rational Software, all rights reserved 1 R Subsystem Design.
Object Oriented Analysis and Design using the UML Use-Case Analysis Adapted by Dr. Spiegel from Slides Provided by Rational Software.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
UML - Development Process 1 Software Development Process Using UML.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
OOAD Using the UML - Describe Concurrency, v 4.0 Copyright  Rational Software, all rights reserved 1 R Thread Process X Thread Process ZProcess.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Use Case Analysis – continued Control Classes.
Use Case Model Use case diagram.
CS 8532: Advanced Software Engineering
Design Yaodong Bi.
Use-Case Design in Context
Use Case Analysis – continued
Design.
Introduction to OOAD and the UML
Software Development Process Using UML Recap
Presentation transcript:

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1 Use Case Analysis – Part 4 Analysis Mechanisms

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 2  Supplement the Use-Case Descriptions  For each use-case realization  Find Classes from Use-Case Behavior  Distribute Use-Case Behavior to Classes  For each resulting analysis class  Describe Responsibilities  Describe Attributes and Associations  Qualify Analysis Mechanisms – ahead… Now we have a pretty good understanding of the analysis classes, their responsibilities, and the collaborations required to support the functionality described in the Use Cases. Now, we look at the analysis classes and see how ‘analysis mechanisms’ are implemented. (ahead)  Unify Analysis Classes  Checkpoints Use-Case Analysis Steps – Here’s where we are:

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 3 Analysis Mechanisms…  The purpose of “Qualify Analysis Mechanisms” is to:  Identify analysis mechanisms (if any) used by an analysis class  Sample analysis mechanisms are persistence, security, distribution, legacy interface, and others.  What we are saying is that some classes must provide additional information about how the class reconciles analysis mechanism (if it has any). During Analysis, this information is speculative and can be refined later. (Don’t want to miss these important points in design…)

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 4 Analysis ClassAnalysis Mechanism(s) Format  The analysis mechanism characteristics should be documented with the class.  Analysis Mechanisms: persistence, security, distribution, legacy interface, etc. A mechanism has characteristics, and a client class uses a mechanism by ‘qualifying these characteristics;’ this is to discriminate across a range of potential designs. These characteristics are part functional, and part size, and performance. Not all classes will have mechanisms associated with them; Also not uncommon for a client class to require the services of several mechanisms.

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 5 Analysis ClassAnalysis Mechanism(s) Student Schedule CourseOffering Course RegistrationController Persistency, Security Persistency, Legacy Interface Distribution Persistency, Security Example: Describing Analysis Mechanisms  Analysis class to analysis mechanism map As analysis classes are identified, it is important to identify the analysis mechanisms that apply to the identified classes. Classes that must be persistent are mapped to the Persistency Mechanism; Classes that are maintained with the Legacy Course Catalog system are mapped to the Legacy Interface mechanism; Classes for which access must be controlled (like who can read and modify instances of the class) are mapped to a Security mechanism., etc. Distributed classes mapped to a Distribution mechanism, etc.) (Often ‘control classes’ are distributed.)

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 6 Example: Describing Analysis Mechanisms (cont.)  Analysis mechanism characteristics  Persistency for Schedule class:  Granularity: 1 to 10 Kbytes per product  Volume: up to 2,000 schedules  Access frequency Create: 500 per day Read: 2,000 access per hour Update: 1,000 per day Delete: 50 per day  Etc. The above is just an example of how the characteristics for an analysis mechanism would be documented for a class. (For scoping reasons, the analysis mechanisms and their characteristics are not provided for all of the analysis classes.)

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 7  Supplement the Use-Case Descriptions  For each use-case realization  Find Classes from Use-Case Behavior  Distribute Use-Case Behavior to Classes  For each resulting analysis class  Describe Responsibilities  Describe Attributes and Associations  Qualify Analysis Mechanisms  Unify Analysis Classes  We have a pretty good understanding of the analysis classes, their responsibilities, the analysis mechanisms they need to implement (persistence, security, legacy, …) and the collaborations required to support the functionality described in the use cases.  Now lets review everything to ensure it is complete and consistent before moving on….  Checkpoints Use-Case Analysis Steps

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 8 > Unify Analysis Classes The purpose of “Unify Analysis Classes” is to ensure that each analysis class represents a single well-defined concept, with non-overlapping responsibilities. Name of analysis class should capture role; Description of class should capture role played by class in the system. Merge classes that define similar behavior or represent the same thing. Merge entity classes that define the same attributes Aggregate behaviors of merged classes. If you do any of these things, make sure you update any supplemental use case descriptions where necessary.

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 9 Supplementary Specification Glossary Use-Case Model Design Model Analysis Classes Evaluate Your Results

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 10 Evaluating and Verifying  Now, verify analysis classes meet functional requirements of the system.  Verify the analysis classes and their relationships are consistent with collaborations that they may support.  Very important that you evaluate your results at the conclusion of Use Case Analysis.  The ‘number’ ‘formality’ and ‘when’ you do this verification is up to the project.

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 11 Use-Case Analysis Steps  Supplement the Use-Case Descriptions  For each use-case realization  Find Classes from Use-Case Behavior  Distribute Use-Case Behavior to Classes  For each resulting analysis class  Describe Responsibilities  Describe Attributes and Associations  Qualify Analysis Mechanisms  Unify Analysis Classes  Checkpoints - Check the ‘quality’ of the model against criteria that the Designer looks for…

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 12 (continued) Checkpoints: Analysis Classes  Are the classes reasonable?  Does the name of each class clearly reflect the role it plays?  Does the class represent a single well- defined abstraction?  Are all attributes and responsibilities functionally coupled?  Does the class offer the required behavior?  Are all specific requirements on the class addressed?

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 13 Checkpoints: Analysis Classes  Note: All checkpoints should be evaluated with regards to the use cases being developed for the current iteration.  The class should represent a single well-defined abstraction. If not, consider splitting it.  The class should not define any attributes and responsibilities that are not functionally coupled to the other attributes or responsibilities defined by that class.  The classes should offer the behavior the use-case realizations and other classes require.  The class should address all specific requirements on the class from the requirement specification.  Remove any attributes and relationships if they are redundant or are not needed by the use-case realizations.

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 14 Checkpoints: Use-Case Realizations  Have all the main and/or sub-flows been handled, including exceptional cases?  Have all the required objects been found?  Has all behavior been unambiguously distributed to the participating objects?  Has behavior been distributed to the right objects?  Where there are several interaction diagrams, are their relationships clear and consistent?

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 15 Checkpoints: Use-Case Realizations  Note: All checkpoints should be evaluated with regards to the use cases being developed for the current iteration.  The objects participating in a use-case realization should be able to perform all of the behavior of the use case.  If there are several interaction diagrams for the use-case realization, it is important that it is easy to understand which interaction diagrams relates to which flow of events.  Make sure that it is clear from the Flow of Events description how the diagrams are related to each other.

OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 16 Review: Use-Case Analysis  What is the purpose of Use-Case Analysis?  What is an analysis class? Name and describe the three analysis stereotypes.  What is a use-case realization?  Describe some considerations when allocating responsibilities to analysis classes.  How many interaction diagrams should be produced during Use-Case Analysis?