Chapter 5 유스케이스 개요 Introduction to Use Cases

Slides:



Advertisements
Similar presentations
Writing Good Use Cases - Instructor Notes
Advertisements

OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
Use-Cases.
Use Case Diagrams Damian Gordon.
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Use Case & Use Case Diagram
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
Use-case Modeling.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
SwE 313 Case Study Registration System.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
USE Case Model.
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Requirements Management with Use Cases Module 6: Define the System Requirements Management with Use Cases Module 6: Define the System.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
1 Source: IBM Academic Program IBM Software Group ® Mastering Requirements Management with Use Cases Module 3: Introduction to Use-Case Modeling.
1 Object-Oriented Analysis Use Case Driven. 2 The outline method for OOA 1.Identify object classes within the problem domain 2.Define the behaviour of.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Use Cases 7/09. lnot part of the system lrepresents roles a user can play lrepresents a human, a machine or another system lactively exchanges information.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Faculty of Computer & Information
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
UML-1 3. Capturing Requirements and Use Case Model.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
Writing Requirements the Use-Case Way Sreeram Kishore Chavali.
UML-1 8. Capturing Requirements and Use Case Model.
1 Objectives  Define key concepts of use-case modeling.  List the benefits of use-case modeling.  Find actors and use cases.  Describe their relationships.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
Requirements Engineering Southern Methodist University CSE 7316 – Chapter 3.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
Use Case Model Use case diagram. Relevant Requirements Artifacts Use-Case Model Supplementary Specification Use-Case Specifications... Glossary Actors.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
Requirements Management with Use Cases Module 3: Analyze the Problem Requirements Management with Use Cases Module 3: Analyze the Problem.
Essentials of Visual Modeling w/ UML Instructor Notes
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 3: Outlining Use Cases.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Team Skill 3 - Defining the System (Chapters of the requirements text ) Sriram Mohan 1.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Welcome to M301 P2 Software Systems & their Development
Using Use Case Diagrams
CMPE 280 Web UI Design and Development August 29 Class Meeting
ATM OO Design and Implementation Case Study
Lec-5 : Use Case Diagrams
Recall The Team Skills Refining the Use cases
Recall The Team Skills Analyzing the Problem (with 5 steps)
Storyboarding and Game Design SBG, MBG620 Full Sail University
Use Case Model.
The Next Stage in Analysis: Systems Use Case Diagrams
Business Models Modeling.
Use Case Model Use case diagram.
UML Use Case Diagrams.
The Next Stage in Analysis: Systems Use Case Diagrams
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Engineering Quality Software
Use cases Dr. X.
Presentation transcript:

Chapter 5 유스케이스 개요 Introduction to Use Cases 박 수 용 서강대학교 컴퓨터공학과

Chapters in This Course Chap 8. CMM/CMMI의 요구관리 Chap 9. 문화적 측면에서의 요구사항 관리 Chap 10. 요구관리의 해외적용사례 분석

What is Use Case Modeling? A means for capturing the desired behavior for the system under development A way to communicate the system's behavior Identifies who or what interacts with the system and what the system should do A way to verify all requirements are captured A planning instrument Actor 2 Use Case 2 Use Case 3 Use Case 1

Who Reads Use Cases? Client Team Developer Team Client Users Project Manager Technical Writer Tester Requirements Specifier Designer

Benefits of Use Cases Give context for requirements Are easy to understand Facilitate agreement with customers Illustrate why the system is needed Use cases: why the system is used Actors: who/what wants to interact with the system The idea behind use cases is to decide what the system will be used for before defining what the system is supposed to do.

Actors and Use Cases Actor Someone/something outside the system that interacts with the system Use case What an actor wants to use the system to do Actor Use Case

What is a Use Case? Use Case Name A use case defines a sequence of actions performed by a system that yields an observable result of value to an actor.

Use Cases Contain Software Requirements Each Use Case Describes actions the system takes to deliver something of value to the actor Shows the system functionality an actor uses Models a dialog between the system and actors Is a complete and meaningful flow of events from the perspective of a particular actor

Instances of Actors Sam acts as a Student Jody acts as a Student Register for Courses

A User Can Act as Several Actors acts as a Student Student Charlie acts as a Professor Professor

Communicates-Association Actor 1 Use Case Actor 2 A channel of communication between an actor and a use case A line is used to represent it An arrow indicates who initiates the communication

Each Communicates-Association is a Whole Dialog Student logs on to system System approves log on Student requests course info Course Catalog System Student Register for Courses System displays course list Student select courses System confirms course availability System displays approved schedule System transmits request Course Catalog returns course info

A Scenario is a Use Case Instance Course Catalog System Student Register for Courses Scenario 2 Log on to system Approve log on Enter subject in search Invalid subject Re-enter subject Get course list Display course list Select courses Confirm availability Display final schedule Scenario 1 Log on to system Approve log on Enter subject in search Get course list Display course list Select courses Confirm availability Display final schedule

Use Case Diagram Apply for Financial Trading Account Network News System Trading Customer Market Trading System Broker Review Account Execute Trade Apply for Trading Account Distribute News Manage Portfolio Get Quote Quote Clock Financial Network

A Use Case Model Contains Diagrams and Text The System Use-Case-Model Survey - survey description - list of all actors - list of all use cases Actor 1 Actor 2 Use Case 1 Use Case 2 Actor 3 Use Case 3 Use-Case 1 Spec - brief description - flow of events Use-Case 2 Spec - brief description - flow of events Use-Case 3 Spec - brief description - flow of events

Example: Online Course Registration System Student Course Catalog System Register for Courses Another Use Case Actor X Actor Y Use Case 3

How Should I Name an Use Case? Indicate the value or goal Use the active form: begin with a verb Imagine a to-do list Examples of variations Register for Courses Registering for Courses Acknowledge Registration Course Registration Use Registration System Which variations show the value to the actor? Which do not? Which would you choose as the use-case name? Why?

Use Case Tips Describe only the events visible to the actor: What the actor does What the system does in response Make use cases provide value to an actor. Detail until everyone has a common understanding of the requirements, then stop. Sketch the user interface, but don’t detail it Use agreed-upon terms and vocabulary. Use precise language.

Steps for Creating a Use Case Model 1. Find actors and use cases Identify and describe actors Identify and describe use cases 2. Write the use cases Outline all use cases Prioritize and detail the use cases

Find Actors Who is pressing the keys (interacting with the system) ? Student Registrar Registration System The student never touches this system; the registrar operates it. Or perhaps you are building an Internet application? Online Registration System Student

Identify Actors Who/what uses the system? Who/what gets information from this system? Who/what provides information to the system? Where in the company is the system used? Who/what supports and maintains the system? What other systems use this system?

Description of an Actor Text Name Brief description Relationship with use cases Example Student A person who signs up for a course Student Register for Courses

What goal am I trying to achieve by using the system? Find Use Cases What goal am I trying to achieve by using the system? Goal 1 Actor Goal 2

Identify Use Cases What are the goals of each actor? Why does the actor want to use the system? Will the actor create, store, change, remove, or read data in the system? If so, why? Will the actor need to inform the system about external events or changes? Will the actor need to be informed about certain occurrences in the system? Does the system supply the business with all of the correct behavior?

Description of a Use Case Text description of a use case Name Brief description Relationship with actors Example Register for Courses The student registers for courses. The student obtains course information prior to registering. Student Register for Courses

Functional Decomposition Is the breakdown of a problem into small isolated parts. The parts: Works together to provide the functionality of the system. Often do not make sense in isolation. Use Cases: Are NOT functional decomposition. Keep the functionality together to describe a complete use of the system. Provide context.

Avoid Functional Decomposition Symptoms Very small use cases Too many use cases Uses cases with no result of value Names with low-level operations “Operation” + “object” “Function” + “data” Example: “Insert Card” Difficulty understanding the overall model Corrective Actions Search for larger context “Why are you building this system?” Put yourself in user’s role “What does the user want to achieve?” “Whose goal does this use case satisfy?” “What value does this use case add?” “What is the story behind this use case?”

Checkpoint for Use Cases (1/2) The use-case model clearly presents the behavior of the system; it is easy to understand what the system does by reviewing the model. All use cases have been identified; the use cases collectively account for all required behavior. All functional requirements are mapped to at least one use case. The use-case model contains no superfluous behavior; all use cases can be justified by tracing  them back to a functional requirement.

Checkpoint for Use Cases (2/2) Do the use cases have unique, intuitive, and explanatory names so that they cannot be mixed up at a later stage? If not, change their names. Do customers and users alike understand the names and descriptions of the use cases? Does the brief description give a true picture of the use case? Is each use case involved with at least one actor? Do any use cases have very similar behaviors or flows of events?

Checkpoint for Actors Have you found all the actors? That is, have you accounted for and modeled all roles in the system's environment? Is each actor involved with at least one use case? Can you name at least two people who would be able to perform as a particular actor? Do any actors play similar roles in relation to the system? If so, you should merge them into a single actor.

Diagram  Outline  Detail Student Register for Courses Course Catalog System Register for Courses Outline -Brief description Flow of events Step-by-Step Register for Courses Use-Case Specification -Brief description Flow of events Special Requirements Pre/Post Conditions

Exercise 1: Identify Actors and Use Cases Identify the actors who interact with the ATM (Automated Teller Machine) Following features should be considered. Withdraw, deposit, transfer, inquiry. Identify use cases for the system Sketch a use-case diagram Refer to use-case and actor checkpoint slides