Systems Analysis and Design – Week 4. SAD – Week 4 Finish off last weeks workshop Finish off last weeks workshop Homework review Homework review Recap.

Slides:



Advertisements
Similar presentations
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Advertisements

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.
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Information System Engineering
Waterfall Development Process
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.
Use-case Modeling.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Identifying Needs and Establishing Requirements John Thiesfeld Jeff Morton Josh Edwards.
Documenting Requirements using Use Case Diagrams
Object Oriented Analysis Process
Use Case Modelling.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Copyright ©2004 Cezary Z Janikow 1 Use Cases n Within Requirements discipline/workflow n Verbal descriptions of important functional (behavioral, transactional,
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 Use cases: deciding what you want.
Software Engineering Case Study Slide 1 Introductory case study.
USE Case Model.
Use Case Analysis From soft systems methodology to understanding the system functionality.
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
Object-Oriented Analysis - Instructor Notes
® 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 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Developing Use Cases in a Group Carolyn L. Cukierman Face-to-Face Technology Conference March 27, 2000.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
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.
Faculty of Computer & Information Software Engineering Third year
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
1 CMPT 275 Software Engineering Requirements Gathering Activity Janice Regan,
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Faculty of Computer & Information
Originated by K.Ingram, J.Westlake.Edited by N.A.Shulver Use Case Scripts What is a Use Case Script? The text to describe a particular Use Case interaction.
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
2131 Structured System Analysis and Design By Germaine Cheung Hong Kong Computer Institute Lecture 8 (Chapter 7) MODELING SYSTEM REQUIREMENTS WITH USE.
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 Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
1 Chapter 5 Modeling System Requirements Finding the Use Cases Page
Week IV in SOS  Tuesday Project Time -- 4:15pm-5pm URL for project(s) due to Judy by Friday 5pm  Friday Paper  OOAD Handouts thru last Thursday (see.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
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.
UML (Unified Modeling Language)
UML - Development Process 1 Software Development Process Using UML.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
Object-Orientated Analysis, Design and Programming
Using Use Case Diagrams
CMPE 280 Web UI Design and Development August 29 Class Meeting
Recall The Team Skills Analyzing the Problem (with 5 steps)
Use Case Model.
Use Case Model Use case diagram.
UML Use Case Diagrams.
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Use Cases 1.
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:

Systems Analysis and Design – Week 4

SAD – Week 4 Finish off last weeks workshop Finish off last weeks workshop Homework review Homework review Recap previous material Recap previous material An introduction to Use Cases An introduction to Use Cases Assignment 1 overview and timetable Assignment 1 overview and timetable

Week 3 – Interim Task How suitable is the Yorkies project for an Agile Approach? Produce a short bullet-pointed justification to the current managing director of why an Agile Approach should be used in this project. He is familiar with traditional approaches and would like you to emphasise the differences (15 minutes) How suitable is the Yorkies project for an Agile Approach? Produce a short bullet-pointed justification to the current managing director of why an Agile Approach should be used in this project. He is familiar with traditional approaches and would like you to emphasise the differences (15 minutes) You are appointed project manager, from an external software company, with a team of 5 developers - 3 of whom have some experience of developing web- enabled database software in the past. Assume you have all the software and hardware necessary for the development. What would you require Yorkies to provide in order to maximise your chances of project success? Justify to the managing director the resources required (15 minutes.) You are appointed project manager, from an external software company, with a team of 5 developers - 3 of whom have some experience of developing web- enabled database software in the past. Assume you have all the software and hardware necessary for the development. What would you require Yorkies to provide in order to maximise your chances of project success? Justify to the managing director the resources required (15 minutes.)

Week 3 – Interim Task From the Yorkies Case Study please identify: 1) A list of stakeholders you would interview. Place these in approximate order of interview appointment. Which might you decide to interview in groups? Where might you hold each interview? 2) The documents and computer files used by the system. For each document identify which stakeholder(s) you would want to discuss this with? Why is this stage important in analysing an existing system? 3) What other techniques might you use at Yorkies to learn about the workings of the existing system and/or decide how the new system should function?

Recap Make sure you are clear about the following: Computer systems/System boundaries/Interfaces Computer systems/System boundaries/Interfaces Planned and Agile Systems Development Methods (SDMs) Planned and Agile Systems Development Methods (SDMs) The different sorts of stakeholder and their concerns The different sorts of stakeholder and their concerns Functional and non-functional requirements Functional and non-functional requirements The importance of Requirements Analysis The importance of Requirements Analysis How to investigate requirements How to investigate requirements

Simple Use Cases

Use Cases Introduction Introduction Introduction Use Cases, Actors and Scenarios Use Cases, Actors and Scenarios Writing Use Cases Writing Use Cases Use Case Diagrams Use Case Diagrams

Use Cases Capture the functional requirements of the system Capture the functional requirements of the system Can be used for analysis, implementation, and testing Can be used for analysis, implementation, and testing Widely accepted as a good way to describe systems to users Widely accepted as a good way to describe systems to users Unified Modelling Language (UML) is a use case driven approach but use cases are not object orientated Unified Modelling Language (UML) is a use case driven approach but use cases are not object orientated In simple terms a use case is: In simple terms a use case is: The typical interaction between a user and a computer system The typical interaction between a user and a computer system A formalised textual description A formalised textual description Summarised by diagrams Summarised by diagrams

A use case tells a story of reaching a goal (or a set of stories of both getting and failing!) UC 4: “Place an order” 1. The clerk identifies the customer, each item and quantity. 2. The system accepts and queues the order.” Extensions: “1a. Low credit: Clerk takes prepayment” “2a. Low on stock: Customer accepts reduced...”

A Use Case Diagram ATM Manager Teller Customer actor communicate use case system boundary The diagram shows use cases and “actors” The diagram shows use cases and “actors” Helps gain overall picture of systems functionality/user requirements Helps gain overall picture of systems functionality/user requirements Show the system boundary Show the system boundary A key to the use cases A key to the use cases Noddy’s Bank arrange loan close account perform transaction open account

Actors To understand the system we have to know who the system is for (who will use it) – these are actors To understand the system we have to know who the system is for (who will use it) – these are actors An actor may be a a person (identified by role), an organization or another computer system An actor may be a a person (identified by role), an organization or another computer system Identify Identify who directly uses the system who directly uses the system who maintains the system who maintains the system external hardware used by system external hardware used by system other systems interacting with the system other systems interacting with the system Primary actors (direct users) and secondary actors Primary actors (direct users) and secondary actors

Actors (2) Can be one individual taking several roles Can be one individual taking several roles Fred as manager and teller Fred as manager and teller Several individuals taking one role Several individuals taking one role Fred, Mary, Bert are tellers Fred, Mary, Bert are tellers Actors can also be other computer systems / hardware devices Actors can also be other computer systems / hardware devices Might identify actors first then ask what do they need to do Might identify actors first then ask what do they need to do

UML definition of a use case “A use case is a coherent unit of functionality provided by a system or class as manifested by sequences of messages exchanged among the system and one or more outside interactors (called actors) together with actions performed by the system.” Also “A description of a set of sequences of actions, including variants, that a system performs that yields an observable result of value to an actor. Usually scenarios illustrate prototypical use case instances. An instance of a use case class.”

Scenarios (User Stories) Scenarios (User Stories) A scenario is a specific sequence of actions and interactions between actors and the system A scenario is a specific sequence of actions and interactions between actors and the system Also called a use case instance Also called a use case instance Or a user story Or a user story Each is one particular story of using the system (one path through a use case) for example. Each is one particular story of using the system (one path through a use case) for example. The scenario of successfully purchasing items with a credit card The scenario of successfully purchasing items with a credit card The scenario of failing to purchase items because of a credit card transaction denial The scenario of failing to purchase items because of a credit card transaction denial Can write specific stories – with realistic examples Can write specific stories – with realistic examples Users can write these Users can write these Can be used as a design prototype Can be used as a design prototype

Sample User Story for Record Vehicle Return At 4pm 4th June 2005 David Jones arrives in the depot with a 3 ton truck registration W123 XYZ. He presents his booking confirmation to the depot clerk Vijal Singh. At 4pm 4th June 2005 David Jones arrives in the depot with a 3 ton truck registration W123 XYZ. He presents his booking confirmation to the depot clerk Vijal Singh. The depot clerk checks enters the booking no on the system which confirms that the vehicle is expected back by 5pm that day driven by David Jones for FreshFish2U. The depot clerk notes the return vehicle mileage, diesel level on the confirmation form. He inspects the vehicle and notes no damage. These are entered into the system which reports that an additional mileage charge of £75 is required. This is verbally confirmed with the driver, as FreshFish2U are an account customer no payment is required then. Two copies of the vehicle receipt are printed containing details of the additional charge and the driver asked to sign. The depot clerk records the driver’s acceptance and retains one receipt; the other is given to the driver. The depot clerk checks enters the booking no on the system which confirms that the vehicle is expected back by 5pm that day driven by David Jones for FreshFish2U. The depot clerk notes the return vehicle mileage, diesel level on the confirmation form. He inspects the vehicle and notes no damage. These are entered into the system which reports that an additional mileage charge of £75 is required. This is verbally confirmed with the driver, as FreshFish2U are an account customer no payment is required then. Two copies of the vehicle receipt are printed containing details of the additional charge and the driver asked to sign. The depot clerk records the driver’s acceptance and retains one receipt; the other is given to the driver.

Identifying Use Cases Will probably be an iterative process Will probably be an iterative process Combination of several approaches Combination of several approaches working with users and other stakeholders working with users and other stakeholders interviews, workshops interviews, workshops asking what each actor wants from the system asking what each actor wants from the system validation and review validation and review does the use case return something of value to the actor? does the use case return something of value to the actor? Granularity questions Granularity questions e.g. “withdraw cash from ATM” or “withdraw cash from ATM using credit card” e.g. “withdraw cash from ATM” or “withdraw cash from ATM using credit card” Levels of use case Levels of use case Boundary or Scope of use case Boundary or Scope of use case

Writing use cases (1) Identify the commonest success scenario Identify the commonest success scenario This is easiest to read and understand This is easiest to read and understand Everything else is a modification of this Everything else is a modification of this Capture each actor’s intent and responsibility, from trigger to goal delivery Capture each actor’s intent and responsibility, from trigger to goal delivery Describe the information that passes between them Describe the information that passes between them Number each line. Number each line. Result: a readable description of system’s function

Writing Use Cases (2) Write failure conditions as extensions to the use case Usually every step of a use case can fail Usually every step of a use case can fail Note each failure condition separately, after the main success scenario. Note each failure condition separately, after the main success scenario. Result: a list of alternate scenarios.

Writing Use Cases (3) For each failure condition, follow the failure till it ends or rejoins For each failure condition, follow the failure till it ends or rejoins Recoverable extensions rejoin main course. Recoverable extensions rejoin main course. Non-recoverable extensions fail terminate the use case Non-recoverable extensions fail terminate the use case Each scenario goes from trigger to completion. Each scenario goes from trigger to completion. Result: Complete use case Result: Complete use case

Review: Scenarios run from trigger event to goal completion or abandonment. Use Case – Place an order ScenarioScenarioScenario Item in Stock YesYesNo Customer passes credit check YesNo Complete order Abandon Order

Write the recoverable and failure scenarios as “extensions” to the ideal one UC 4: Place an order” 1. Clerk identifies the customer, each item and quantity. Checks stock levels and customer credit 2. System accepts and queues the order.” Extensions: “1a. Low credit: Customer is ‘Preferred’...” “1b. Low credit & not Preferred customer:...” “2a. Low on stock: Customer accepts reduced...”

Summary use cases, tasks, and subfunctions link together Sailboat image: User goals are at sea level. advertiseorderinvoice set up promotion reference promotion monitor promotion place order create invoice send invoice identify promotionidentify customer register user identify product project goal Strategic Goals User Goals Subfunctions “ white” “blue” “indigo”

Advantages of Use Cases Capture requirements from a users’ perspectives Capture requirements from a users’ perspectives Gets early user involvement Gets early user involvement Simplifies user validation Simplifies user validation Helps manage delivery Helps manage delivery Prioritise use cases to define iterations for delivery Prioritise use cases to define iterations for delivery Estimate % requirements captured and delivered Estimate % requirements captured and delivered Progresses the development Progresses the development Can identify objects (classes) from scenarios Can identify objects (classes) from scenarios Can become the basis of user manuals Can become the basis of user manuals Can become the basis for test plans and test cases Can become the basis for test plans and test cases Improve quality Improve quality Provide good traceability of requirements Provide good traceability of requirements Identifies exceptions earlier Identifies exceptions earlier

Use cases make functional requirements readable and reviewable 1) Use cases hold functional requirements in an easy-to-read, easy-to-track, text format. 2) A use case collects how a goal succeeds or fails. A scenario shows one specific condition in a use case 3) Use cases show only functional requirements but can make a framework for non-functional requirements & project details. 4) Use cases provide one tool for systems design but do not address all design needs

Assignment 1 – Requirements and Use Cases Form groups of 2 or 3 Form groups of 2 or 3 Let me know your group members and addresses today Let me know your group members and addresses today I will give you a group name I will give you a group name Look at assignment/example documents now (handout) Look at assignment/example documents now (handout) Work on this in your group between this week and next week (together or online) If you have any problems in understanding the assignment please me Work on this in your group between this week and next week (together or online) If you have any problems in understanding the assignment please me There is other material on Use Cases and the Powerpoint slides on Requirements & Use Cases for the course so far on Blackboard and the RACC Student network. Feel free to use material from other sources if you wish but don’t forget to give credit © for this. There is other material on Use Cases and the Powerpoint slides on Requirements & Use Cases for the course so far on Blackboard and the RACC Student network. Feel free to use material from other sources if you wish but don’t forget to give credit © for this.

Assignment 1 -Schedule Aim to get deliverables 1-3 (on requirements) to me by the end of next weeks session. Aim to get deliverables 1-3 (on requirements) to me by the end of next weeks session. There will be a supervised Tutorial/Workshop next week Tuesday (Wk 5) to make sure each team has some time together to complete the work. PCs and Internet access (for research) available in the room. I will provide assistance as required to any group that needs help in finishing the deliverables. There will be a supervised Tutorial/Workshop next week Tuesday (Wk 5) to make sure each team has some time together to complete the work. PCs and Internet access (for research) available in the room. I will provide assistance as required to any group that needs help in finishing the deliverables. There will be an Evaluation Workshop in week 5 Thursday where you will peer-review another group’s work – All deliverables need to be with me by midnight Tuesday 10 th July. There will be an Evaluation Workshop in week 5 Thursday where you will peer-review another group’s work – All deliverables need to be with me by midnight Tuesday 10 th July.