SOFTWARE ENGINEERING LECTURE 4

Slides:



Advertisements
Similar presentations
Ver 1,12/09/2012Kode :CIA-230 Anal-Perc.SistemFASILKOM PERTEMUAN-4 Chapter 4. Use Case Analysis.
Advertisements

IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
© Copyright 2011 John Wiley & Sons, Inc.
Conversation Form l One path through a use case that emphasizes interactions between an actor and the system l Can show optional and repeated actions l.
Use-case Modeling.
Functional Requirements – Use Cases Sriram Mohan/Steve Chenoweth (Chapters 14, 21 – Requirements Text) 1.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Functional Requirements – Use Cases Steve Chenoweth & Chandan Rupakheti (Chapters 14, 21 – Requirements Text)  Quiz question 9 relates to this, when you’ve.
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
Use Case Analysis – continued
CMPT 275 Software Engineering
Software Engineering 2003 Jyrki Nummenmaa 1 USE CASES In this lecture: Use cases - What are use cases? - Why to use use cases? - How to write.
Use Case What is it?. Basic Definition Of who can do what within a system? TemplateDiagramModelDescription.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa USE CASES In this lecture: Use cases - What are use.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
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.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
UML-1 8. Capturing Requirements and Use Case Model.
® 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.
Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
SYS466 Casual Use Case Specifications. Systems Use Case Diagrams and Specifications Based on the dialog metaphor Based on the dialog metaphor The process.
INFO1002 Systems Modelling Lecture 10 Establishing User Requirements Department of information Systems.
1 Graph Coverage (6). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Lecture 5d: Systems Use Case Descriptions.  Review  Systems Use Case Descriptions  Systems Use Case Authoring SYS3662.
Faculty Economics & Business EBS 2033 Systems Development Lecture 1 The Systems Development Environment Lecturer: Puan Asleena Helmi.
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.
Bernd Bruegge and Allen Dutoit Requirements Process The requirements process consists of two activities: Requirements Elicitation: Definition of the system.
Pepper modifying Sommerville's Book slides
Chapter 1 The Systems Development Environment
Systems Analysis and Design in a Changing World, Fourth Edition
Business Processes A business process describes a set of activities that are necessary to complete a response to a stimulus applied to an organization.
Algorithms and Problem Solving
Chapter 1 The Systems Development Environment
Chapter 5 System modeling
Requirements Spec Revisited
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use Case Modeling - II Lecture # 27.
Lec-5 : Use Case Diagrams
Requirements Validation – II
Recall The Team Skills Analyzing the Problem (with 5 steps)
Object-Oriented Analysis and Design
System Design Ashima Wadhwa.
System sequence diagrams
Use Case Model.
Chapter 1 The Systems Development Environment
Systems Analysis and Design 5th Edition Chapter 4. Use Case Analysis
Systems Analysis and Design 5th Edition Chapter 4. Use Case Analysis
Object-Oriented Analysis Principles using UML
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
Systems Analysis and Design 5th Edition Chapter 4. Use Case Analysis
Informatics 121 Software Design I
Written Description of Algorithms
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Fundamental Test Process
Software Design Lecture : 15.
Using Use Case Diagrams
Use Case Modeling.
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Use Case Modeling Part of the unified modeling language (U M L)
Use Case Analysis – continued
Chapter 1 The Systems Development Environment
Presentation transcript:

SOFTWARE ENGINEERING LECTURE 4 In this lecture: - Use cases

USE CASES - WHY? The users are usually not able to produce sufficient formal descriptions of the functionalities. A simple list of the required functionalities is not good enough. The informal general description by the users hardly does the job, either. The users may be able to describe by examples how they would want to use the system or how they perform certain tasks.

A USE CASE EXAMPLE Raising a salary. The user finds the salary data of the employee whose salary is to be raised. The user chooses the ”raise salary” functionality. The system raises a dialogue into which the user types the percentage and commits the raise. It may be possible to specify preconditions and postconditions and exceptions to the processing of a use case. The example above had none of them.

A DEFINITION ”When a user uses the system, she or he will perform a behaviourally related sequence of transactions in a dialogue with the system. We call such a special sequence a use case.” … ”A use case is a sequence of transactions in a system whose task is to yield a measurable value to an individual actor of the system.” (I. Jacobsen) A use case is a story about the usage of the system told from an end user’s perspective.

ELEMENTS OF A USE CASE (1) Use Case Name - idenifies the use case Version Summary - what is it all about? Frequencey - how often the use case is performed Usability Requirements - the most important aspects ensuring that the use case can be performed safely and efficiently Actors - the role of the people and other systems interacting with the system Preconditions - when can the use case take place - can be another use case - to be continued …

ELEMENTS OF A USE CASE (2) DESCRIPTION - the story Exceptions Illustrations Postconditions - conditions which must hold after the use case

EXAMPLE REVISITED (1) Name: SalaryRaise Version: 0.9 Summary: User raises an employees salary Frequencey: 5 times per day Usability Requirements: Actors: The user, the employee database Preconditions: The user has the rights to search and modify the employees salary data.

EXAMPLE REVISITED (2) Description: The user finds the salary data of the employee whose salary is to be raised by employee number. [Exception: Employee not found] The user chooses the ”raise salary” functionality.[Exception: No rights to raise salary] The system raises a dialogue into which the user types the percentage and commits the raise [Exception: Maximum salary exceeded] Exceptions: - Employee not found: Raised if no employee data can be found with the given number. Error information is shown. - No rights to raise the salary. Raised if the user has no rights to update salary data for this employee. Error information is shown. - Maximum salary exceeded: ...

USE CASES - FOR WHAT? To give concrete examples of the things we are supposed to be implementing. To give a little more flesh to the requirements specification. A source for object analysis The first version of the user’s guide The basis of system testing

USE CASES - RULE 1 USE CASES MUST SPECIFY THE MOST IMPORTANT FUNCTIONAL REQUIREMENTS For each functionality specified in the requirements there should be one or more use cases.

USE CASES - RULE 2 USE CASES ARE USED TO SPECIFY THE SYSTEM IN MORE DETAIL, BUT THEY CAN ALSO GIVE RISE TO NEW REQUIREMENTS. By reading through the use cases it may be possible to identify system components (hardware and software) which have been neglected in the requirements specification.

USE CASES - RULE 3 A USE CASE DESCRIBES SOMETHING THAT THE DESIGNER CAN BE PROUD OF AND THE CUSTOMER IS WILLING TO PAY FOR. Too broad use cases are either too complex to understand or too vague to be useful. Too narrow use cases are either too detailed or describe fairly trivial events. Each use case must be beneficial to the end user as such.

USE CASES - RULE 9 (sorry about the order :) A USE CASE DEPICTS A TYPICAL WAY OF USING THE SYSTEM - BUT NOTHING MORE. The use cases are not meant to describe all ways to peform one task. Other ways can be described in other use cases or in the ”Exception” section.

USE CASES - RULE 4 A USE CASE IS A PLAY. And you should be able to be one of the actors if you read the use case. Too much freedom to the actors results in chaos. In system testing the tester reads the use case through the manuscript.

USE CASES - RULE 5 A USE CASE HAS A BEGINNING, A MAIN BODY, AND AN ENDING. So, it should be a complete story which starts from somewhere and ends up somewhere. It must make clear how and when it starts and how and when it finishes.

USE CASES - RULE 6 A USE CASE IS LIKE AN ESSAY WRITTEN BY AN ELEMENTARY SCHOOL PUPIL Simple and straightforward An explicit flow of actions. ”I took the pizza from the fridge and put it in the microwave. I set the time to 2 minutes and put it on. When it was ready I took it out and ate it.” A software designer may easily try to cover every possibility in the story. If you do not know something, you can refine it later, but do not leave the initial use case too vague.

USE CASES - RULE 7 A USE CASE FITS IN ONE PAGE Long use cases are hard to understand. They may be too detailed or they try to cover too much functionality. In the latter case you may be able to break up the use case into several use cases.

RULE 8: A USE CASE IS LOUD & CLEAR A use case must make a clear statemnt. It must be explicit to the readers. It must be so explicit that it can be argued about. If nobody disagrees with the first version of a use case, it is probably too vague.

RULE 10: USE USE CASES FOR DEVELOPMENT & TESTING Use cases should be specified so that they can be used in object and behaviour analysis. And they should be used there, too. Also, the use cases should be so explicit that they can be used as the basis of system test cases. And they should be used there, too.

HOW TO FIND THE USE CASES? You (as the analyst) are not supposed to invent them, as they express the way the users intent to do things. So, you must identify the functionalities and talk with the users. Use cases are simple, the users will be able to provide you with the stories. You can discuss these stories and try to find out if things could/should be done differently. The use cases can be modified later, but it will produce extra work. Make enough use cases!