Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.

Slides:



Advertisements
Similar presentations
Chapter 4: Requirements Engineering
Advertisements

UML Use Case Diagram / Use Case Text / Activity Diagram
Use-Cases.
Requirements analysis and specification
Use Case & Use Case Diagram
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
9/10/2004Use Case Workshop 1 CSC480 Software Engineering Workshop 1 Requirements Modeling.
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Introduzione ai casi d’uso  Adriano Comai 1999 Pag. 1 Use Cases: an Introduction  Adriano Comai 1999.
Extending the Requirements Model - techniques for detailing use cases
UML and Systems Analysis MIS3502: Application Integration and Evaluation David Schuff
Use Cases Alistair Cockburn, Writing Effective Use Cases, Addison-Wesley, Grady Booch, James Rumbaugh, and Ivar Jacobson, Unified Modeling Language.
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.
Together and UML Greg Johnson CSE 230 – Software Engineering Spring 2007.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Object Oriented Analysis Process
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
UFCEPM-15-M Object-oriented Design and Programming Jin Sa.
Multimedia software life cycle
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
The first step in getting what you want is to decide what you want.
MULTIMEDIA SOFTWARE DEVELOPMENT LIFECYCLE. Dr. Lili Ann2 MULTIMEDIA SOFTWARE DEVELOPMENT LIFECYCLE  Multimedia software development is similar to any.
Use Cases 2 ENGR ♯10 Peter Andreae
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Rational Unified Process (Part 1) CS3300 Fall 2015.
Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.
Developing Use Cases in a Group Carolyn L. Cukierman Face-to-Face Technology Conference March 27, 2000.
ECE 264 Object-Oriented Software Development Instructor: Dr. Honggang Wang Fall 2012 Lecture 3: Requirements Specification, C++ Basics.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
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.
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.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
1 Analysis Extracting from Use Cases to Create Diagrams.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
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.
Common Use Cases for a HEP Common Architecture Layer J. Templon, NIKHEF/WP8.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
1 Objectives  Define key concepts of use-case modeling.  List the benefits of use-case modeling.  Find actors and use cases.  Describe their relationships.
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.
User Interfaces 4 BTECH: IT WIKI PAGE:
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
Gerhard Dueck -- CS3013Requirements Capture 1  From Vision to Requirements  Why it is difficult?  Developers are not users  Inadequate requirements.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Requirements specification CSE432 Object-Oriented Software Engineering.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Object-Orientated Analysis, Design and Programming
Use Case Analysis Chapter 6.
Using Use Case Diagrams
CMPE 280 Web UI Design and Development August 29 Class Meeting
User-centred system design process
Chapter 5 유스케이스 개요 Introduction to Use Cases
UML Use Case Diagrams.
Use Case Modeling - techniques for detailing use cases
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Object-Oriented Software Engineering
Use cases Dr. X.
Presentation transcript:

Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements gathering is to understand the customer’s problem –Though customer may not fully understand it! Requirements specification should: Describe explicitly how we will know when the job is done and the customer is satisfied. Why is this a non-trivial task?

"Editor with undo" Editor with undoEditor with undo A very simple, initial requirements spec –Why might a small and concise initial spec be a good idea? –Fosters initial buy-in and agreement by everyone on the team –Real-world specs are usually much longer, though Real-world specsReal-world specs What’s the purpose of a purpose statement? Why is scope important? Why definitions? Other possible general requirements: –Business context: organization sponsoring the development of the product –User characteristics: profile of user community, expected expertise with system & domain –User objectives: “wish list” from user’s perspective, in line with business objectives –Interface requirements: GUI, API, communication interfaces, software interfaces

Use cases A "use case" is a set of cases or scenarios for using a system, tied together by a common user goal –Essentially descriptive answers to questions that start with “What does the system do if …” –E.g., “What does the auto-teller do if a customer has just deposited a check within 24 hours and there’s not enough in the account without the check to provide the desired withdrawal?” –Use case describes what the auto-teller does in that situation Why are use cases good for brainstorming requirements?

Example use case (from Fowler and Scott, UML Distilled) Use Case: Buy a Product (Have we described this behavior is a user’s language?) Actors: Customer, System (Why might it a be a good idea to define actors in a case?) 1. Customer browsers through catalog and selects items to buy 2. Customer goes to check out 3. Customer fills in shipping information (address; next-day or 3-day delivery) 4. System presents full pricing information, including shipping 5. Customer fills in credit card information 6. System authorizes purchase 7. System confirms sale immediately 8. System sends confirming to customer (Did we get the main scenario right?) Alternative: Authorization Failure (When might this happen? I.e., at what step?) 6a.At step 6, system fails to authorize credit purchase Allow customer to re-enter credit card information and re-try Alternative: Regular customer (At what step might this happen?) 3a. System displays current shipping information, pricing information, and last four digits of credit card information 3b. Customer may accept or override these defaults Return to primary scenario at step 6

Heuristics for writing use case text Avoid implementation specific language in use cases, such as IF-THEN-ELSE or GUI elements or even specific people or departments –Which is better: “The clerk pushes the OK button.” or: “The clerk signifies the transaction is done.” –The latter defers a UI consideration until design. Write use cases with the user’s vocabulary, the way a users would describe performing the task Use cases never initiate actions; actors do. –Actors can be people, computer systems or any external entity that initiate an action. A use case interaction produces something of value to an actor. Create use cases and requirements incrementally and iteratively –Start with an outline or high-level description –Work from a problem statement and statement of work (scope) –Then broaden and deepen, then narrow and prune

Use Case exercise Write a use case for withdrawing cash from an ATM machine –Assume customer has already logged into the ATM with PIN and sees menu Use Case: Withdraw cash Actors: Customer, ATM 1. Customer selects Withdraw from menu 2. ATM lists customer’s accounts to choose from 3. Customer chooses an account 4. ATM ask customer for an amount to withdraw 5. Customer specifies an amount 6. ATM subtracts this amount from the specified account 7. ATM tells machine to disburse requested amount of cash Alternative: Unit not $20s 5a.At step 5, customer specifies an amount not divisible by Allow customer to re-enter amount and repeat step 5 Alternative: Insufficient funds 6a.At step 6, amount requested is greater than amount in specified account Inform customer and go to step 5 Now, how would you model ATM deposits?

Advantages of use cases What do you think? Systematic and intuitive way to capture functional requirements? Facilitates communication between user and analyst? –That’s why it’s important to write use cases in the user’s languages Drives the whole development process? –Analysis starts with use cases –Design and implementation realizes them –How can use cases set up test plans? –How can use cases help with writing a user manual? How can use cases help with user interface prototype? Can implementation details or language be added to use cases later in the life cycle?

So, how will you do requirements analysis for your multimedia e-learning project?