Use Case Textual Analysis

Slides:



Advertisements
Similar presentations
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Advertisements

Chapter 7 Structuring System Process Requirements
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
Ch 12: Object-Oriented Analysis
CS3773 Software Engineering Lecture 03 UML Use Cases.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
ATM User Interface Design. Requirements A bank customer is able to access his or her account using an automatic teller machine. To be able to use an ATM.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
1 CS 426 Senior Projects Chapter 4: Use Case Modeling [Arlow and Neustadt, 2002] February 8, 2007.
Finding Analysis Classes Written by Zvika Gutterman Adam Carmi.
Basic OOP Concepts and Terms
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
Finding Analysis Classes Written by Zvika Gutterman Adam Carmi.
Component and Deployment Diagrams
CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions Tri A. Kurniawan, M.Eng. Ph.D Candidate
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Software Design by Dr. Eitan Hadar Web:
1 CS 426 Senior Projects Chapter 4: Use Case Modeling [Arlow and Neustadt, 2005] February 5, 2009.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Domain Modeling (with Objects). Motivation Programming classes teach – What an object is – How to create objects What is missing – Finding/determining.
Chapter 7 Structuring System Process Requirements
USE Case Model.
State Machines State diagrams SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Chapter 5 Analysis Model. Analysis model (AM) The first step in describing how the system will implement the requirements specification The first step.
Chapter 7 Structuring System Process Requirements
Big Java Chapter 12. Software Process - Waterfall Analysis Design Implementation Testing Deployment Does not work well when rigidly applied! established.
Detailed design – class design Domain Modeling SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
Requirements Analysis via Use Cases SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
UML Review – class diagrams SE 2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
Approaching a Problem Where do we start? How do we proceed?
Systems Analysis and Design in a Changing World, 3rd Edition
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
CSC 395 – Software Engineering Lecture 14: Object-Oriented Analysis –or– Ripping the Band-Aid Off Quickly.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Chapter 1 Applying UML and Patterns. The Need for Software Blueprints Knowing an object-oriented language and having access to a library is necessary.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Chapter 4: Use Case Modeling [Arlow and Neustadt, 2005] CS 790M Project preparation (II) University of Nevada, Reno Department of Computer Science & Engineering.
IS3320 Developing and Using Management Information Systems Lecture 16: Data-Flow Diagrams 1 (Intro to Context-Level diagrams) Rob Gleasure
Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
1 What is the Software Life Cycle? The stages of developing a software application Requirements Analysis High-level Design Plan Low-level Design Implementation.
Chapters 10, 11 SSD (Revision) SD DCD Exam Object-Oriented Design.
Object-Oriented Analysis and Design Use cases Finding classes Collaboration and Sequence diagrams Associations between classes.
UML - Development Process 1 Software Development Process Using UML.
Gerhard Dueck -- CS3013Analysis 1. Gerhard Dueck -- CS3013Analysis 2 Why analysis?  Yield a more precise specification of the requirements.  Introduce.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
Model-View-Controller A Design Pattern SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
© 2005 by Prentice Hall Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Chapter 6: The Analysis Workflow Chapter 7: Classes and Objects Chapter 8: Finding Analysis Classes [Arlow and Neustadt, 2005] CS 426 Senior Projects in.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
What is this? SE-2030 Dr. Mark L. Hornick 1. Same images with different levels of detail SE-2030 Dr. Mark L. Hornick 2.
TA: Shreya Rawal.  A use case is a description of a system’s behavior as it responds to a request that originates from outside of that system (Usually.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
UML Review Sequence Diagrams SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
Elaboration popo.
OO Domain Modeling With UML Class Diagrams and CRC Cards
The Object Oriented Approach to Design
Model-View-Controller
IMPORTANT NOTICE TO STUDENTS:
Unified Modeling Language
Copyright 2007 Oxford Consulting, Ltd
Basic OOP Concepts and Terms
CS 425 Software Engineering
CS 425/625 Software Engineering
Software Development Process Using UML Recap
Presentation transcript:

Use Case Textual Analysis High Level Design Use Case Textual Analysis Based on slides written by Dr. Mark L. Hornick Used with permission. SE-2030 Dr. Rob Hasker

Once Use Cases are completed, we have to design the system that solves the problem before we can build it Software Engineers can infer a lot of information about how the system should be designed from the Use Case narratives SE-2030 Dr. Rob Hasker

Textual Analysis of Use Case scenarios is used to create high-level designs Prerequisite: Use Cases should be complete, so that all capabilities of the system are described, and all requirements met. Textual Analysis is a quick and easy way to make a “first guess” at the classes that will comprise the system SE-2030 Dr. Rob Hasker

Textual Analysis is looking at the nouns and verbs in your Use Cases to figure out the classes and their methods Nouns in the Use Cases are candidates for the classes you need to write Grammar 101: nouns are things Verbs in the Use Cases are usually the methods that the classes implement Verbs are actions SE-2030 Dr. Rob Hasker

Approach: Read through each Use Case, picking out the nouns appearing in the scenario descriptions You’re actually discovering objects, which are instances of classes that abstract the problem domain entities SE-2030 Dr. Rob Hasker

After identifying nouns, eliminate redundancies “list of names” “name collection” “array of names” “Welcome message” “Welcome dialog” “Welcome screen” “Names” “Welcome Screen” SE-2030 Dr. Rob Hasker

The following nouns are not candidates for classes: When you implement the code, you’ll only need classes for the parts of the system you need to represent, but not for things outside the system The following nouns are not candidates for classes: “user retrieves cash from ATM” “user inserts envelope into ATM” Experience and common sense help here. SE-2030 Dr. Rob Hasker

There are three classifications of objects discovered via Textual Analysis Boundary Objects Model the system boundary User Interface elements (screens, dialogs) Interfaces to external actors (e.g. databases) Control Objects Represents an entity or manager that makes decisions (e.g. figures out what to do when a button is pressed) In simple systems, this is usually the application itself, and there is typically only a single Control Object Entity Objects A data store or persistence element that captures or represents information The precise/permanent classification of objects is not always possible upon first review – iteration is often necessary! SE-2030 Dr. Rob Hasker

For each Use Case, draw a UML high-level Sequence Diagram showing the interaction between objects The purpose of this diagram is to begin to identify the fundamental classes and their behaviors and attributes SE-2030 Dr. Rob Hasker

Boundary, Entity, and Control elements must obey the following relationships Actors can only talk to boundary objects. Boundary objects can only talk to controllers and actors. Entity objects can only talk to controllers. Controllers can talk to boundary objects and entity objects, and to other controllers, but not to actors SE-2030 Dr. Rob Hasker

The following relationships are not permitted Actors can only talk to boundary objects. Boundary objects can only talk to controllers and actors. Entity objects can only talk to controllers. Controllers can talk to boundary objects and entity objects, and to other controllers, but not to actors SE-2030 Dr. Rob Hasker