CT1404 Lecture 2 Requirement Engineering and Use Cases 1.

Slides:



Advertisements
Similar presentations
Design by Contract.
Advertisements

Use Cases and Scenarios
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
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
January Ron McFadyen1 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box.
 Need to Gather requirements and other related information  Use case Modeling ◦ What the system will do for the users.
Use-case Modeling.
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
© Betty H.C. Cheng. This presentation is available free for non-commercial use with attribution under a creative commons license. Use Cases and.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Documenting Requirements using Use Case Diagrams
Use Case Modelling.
Use Cases and Scenarios
1 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
Requirements Gathering : Determining the scope of the system 1. Elicitiation – fact finding 2. Specification 3. Validation.
IS0514 Lecture Week 3 Use Case Modelling.
USE Case Model.
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Systems Analysis and Design in a Changing World, 6th Edition
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Use Cases 1. Last week  Introduction to software engineering  How is it different from traditional engineering?  Introduction to specification  Operational.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Lecture 7: Requirements Engineering
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 Use Case 1 what are use cases? “A specification of sequences of actions, including variant.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Object Oriented Analysis & Design & UML (Unified Modeling Language) 1 Part II: Requirements The requirements workflow Use case modeling Advanced.
Systems Analysis and Design in a Changing World, 6th Edition
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 Model Use case diagram.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
CT1404 Lecture 2 Requirement Engineering 1 1. Today's Lecture Definition of a Software Requirement Definition of Software Requirements Management Characteristics.
Software Engineering Software Engineering - Mr. Ahmad Al-Ghoul.
R R R CSE870: Advanced Software Engineering: UML-- Use Cases1 Use Cases and Scenarios.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Understanding Requirements
UML (Unified Modeling Language)
UML - Development Process 1 Software Development Process Using UML.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Use Case Diagrams-2. Relationships between Use Cases 2 1. Generalization - use cases that are specialized versions of other use cases. 2. Include - use.
1 After the scenarios are formulated Find all the use cases in the scenario Describe each of these use cases in more detail Participating actors Describe.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
Using Use Case Diagrams
Use Cases and Scenarios
Use Case Model Use case diagram.
UML Use Case Diagrams.
Requirement Engineering
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Object Oriented Analysis and Design
Use Cases 1.
IS0514 Lecture Week 3 Use Case Modelling.
Use Case Model Use case diagram – Part 2.
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Presentation transcript:

CT1404 Lecture 2 Requirement Engineering and Use Cases 1

Today's Lecture Concept of system requirements Techniques to solicit requirements Elaboration of use case diagrams Organization and documentation of system requirementsintheformofUseUseCases 2

3

CONCEPT OF SYSTEM REQUIREMENTS 5

FUNCTIONAL REQUIREMENT Functional requirements will specify a behavior or function. The official definition of ‘a functional requirement’ is that it essentially specifies something the system should do.

FUNCTIONAL REQUIREMENT Some of the more typical functional requirements include: Business Rules Transaction corrections, adjustments and cancellations Administrative functions Authentication Authorization levels Certification Requirements Reporting Requirements

NON-FUNCTIONAL REQUIREMENT The definition for a non-functional requirement is that it essentially specifies how the system should behave and that it is a constraint upon the systems behavior. One could also think of non-functional requirements as quality attributes for of a system. Simply put, the difference is that non-functional requirements describe how the system works, while functional requirements describe what the system should do.

NON FUNCTIONAL REQUIREMENT Some typical non-functional requirements are: Performance – for example Response Time Capacity Availability Reliability Recoverability Maintainability Security Regulatory Usability Interoperability

Stakeholders 10 People or organizations that are affected by the proposed system or have a potential influence on the requirements. Includes: –Client –User –Development –Others involved in context of use Important to involve key stakeholders in requirements capture process

11 Requirements capture techniques: – Observation – Interview – Questionnaires – Scenario Walkthroughs – Focus groups – Prototypes. Approaches to requirements capture

Result: Large legalistic documents Easy to misinterpret Changes hardto manage EasyEasytotomiss/omitrequirements 12

Modern approach – Model using UML Use cases are used – Use Case Diagram to capture functional requirements – Set of Use Case descriptions 13 Approaches to requirements capture

USE CASES

14 05-USE-CASES WHAT IS A USE-CASE A use-case captures some user visible function This may be a large or small function A use-case achieves a discrete goal for the user Examples  Format a document  Request an elevator

15 05-USE-CASES USER GOALS VERSUS USER INTERACTIONS Consider the following when formatting a document  Define a style  Change a style  Copy a style from one document to the next versus  Format a document  Ensure consistent formatting of two documents The first are user interactions  Things the user does to the system to achieve the goal The last is a user goal  Something the user wants to achieve

16 05-USE-CASES GOALS AND INTERACTIONS There is a place for both goals and interactions Understand what the system shall do  Capture the user goals Understand how the user will achieve the goals  Capture user interactions  Sequences of user interactions Thus, start with the user goals and then refine the user goals into several (many) user interactions

17 USE-CASE DIAGRAMS (POST) CustomerCashier Buy Item Log In Refund a Purchased Item POST Use Case System Boundary POST: Point of Sale Terminal

Avoid analysis paralysis: Use cases help break up the problem so it can be solved incrementally. Do just enough analysis to get started but we don’t have to worry that it’s hard to come back later and add more. Avoid gold plating: Using use cases to derive functional requirements avoids stating a functional requirement that is not directly tied to a user task needed to accomplish a business goal. Advantages of Use Cases

19 05-USE-CASES WHEN TO USE USE-CASES In short, always!!! Requirements is the toughest part of software development  Use-Cases is a powerful tool to understand  Who your users are (including interacting systems)  What functions the system shall provide  How these functions work at a high level Spend adequate time on requirements and in the elaboration phase

UseCaseDiagrams  A cashier uses the to scan an item. POSsystem  A cashier usesthePOSsystem totototalitems. 20

SystemBoundary  Marks off the system as separate from its environment  Actors are outside  When no system boundary is shown, thesystemis assumed 21

Actor  Someone or something outside the system that interacts with it  Actors represent “roles” individuals not Smith 22

ACTORS An actor represents a set of roles that users of use case play when interacting with these use cases. Actors can be human or automated systems. Actors are entities which require help from the system to perform their task or are needed to execute the system’s functions. Actors are not part of the system. Name

USE CASES AND ACTORS From the perspective of a given actor, a use case does something that is of value to the actor, such as calculate a result or change the state of an object. The Actors define the environments in which the system lives

UseCase  A use case achieves a goal of value to an actor Defines a task which must be supported by the system What system is for not how it does it Starts with an active verb from    thepoint ofviewofofthe system 23

Communications Called relations Lines between Actor and Use Case summarize interactions graphically Actors and use cases exchange information to achieve the goal but the details of interaction are not shown 24

RELATIONSHIPS BETWEEN USE CASES 1. Generalization - use cases that are specialized versions of other use cases. 2. Include - use cases that are included as parts of other use cases. Enable to factor common behavior. 3. Extend - use cases that extend the behavior of other core use cases. Enable to factor variants.

1. GENERALIZATION The child use case inherits the behavior and meaning of the parent use case. The child may add to or override the behavior of its parent. parent child

ניתוח מערכות מידע 29 registration graduate registration non-graduate registration MORE ABOUT GENERALIZATION

30 05-USE-CASES 2. INCLUDES AND EXTENDS Includes  You have a piece of behavior that is similar across many use cases  Break this out as a separate use- case and let the other ones “include” it  Examples include  Valuation  Validate user interaction  Sanity check on sensor inputs  Check for proper authorization Extends  A use-case is similar to another one but does a little bit more  Put the normal behavior in one use- case and the exceptional behavior somewhere else  Capture the normal behavior  Try to figure out what can go wrong in each step  Capture the exceptional cases in separate use-cases  Makes it a lot easier to understand

INCLUDE AND EXTEND baseincluded > baseextending >

INCLUDE updating grades output generating verifying student id >

EXTEND

> 39

Example of Use Case Variants > Place order Open account Place back order Extension Point Place back order > Supply Customer Data Arrange delivery shared functionality 41 additional functionality