26
Systems Analysis Systems Analysis and Design – Week 4 and Design – Week 4

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

Embed Size (px)

Citation preview

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

Systems Analysis and Systems Analysis and Design – Week 4Design – Week 4

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

SAD – Week 4SAD – Week 4

Finish off last weeks workshopFinish off last weeks workshop Homework reviewHomework review Recap previous materialRecap previous material An introduction to Use CasesAn introduction to Use Cases Assignment 1 overview and Assignment 1 overview and

timetabletimetable

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

Week 3 – Interim TaskWeek 3 – Interim Task

How suitable is the Yorkies project for an Agile Approach? How suitable is the Yorkies project for an Agile Approach? Produce a short bullet-pointed justification to the current Produce a short bullet-pointed justification to the current managing director of why an Agile Approach should be managing director of why an Agile Approach should be used in this project. He is familiar with traditional used in this project. He is familiar with traditional approaches and would like you to emphasise the approaches and would like you to emphasise the differences (15 minutes)differences (15 minutes)

You are appointed project manager, from an external You are appointed project manager, from an external software company, with a team of 5 developers - 3 of whom software company, with a team of 5 developers - 3 of whom have some experience of developing web-enabled have some experience of developing web-enabled database software in the past. Assume you have all the database software in the past. Assume you have all the software and hardware necessary for the development. software and hardware necessary for the development. What would you require Yorkies to provide in order to What would you require Yorkies to provide in order to maximise your chances of project success? Justify to the maximise your chances of project success? Justify to the managing director the resources required (15 minutes.)managing director the resources required (15 minutes.)

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

Week 3 – Interim TaskWeek 3 – Interim Task

From the Yorkies Case Study please identify:From the Yorkies Case Study please identify:

1) A list of stakeholders you would interview. Place these in approximate order of 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 interview appointment. Which might you decide to interview in groups? Where might you hold each interview?might you hold each interview?

2) The documents and computer files used by the system. For each document identify 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 which stakeholder(s) you would want to discuss this with? Why is this stage important in analysing an existing system?important in analysing an existing system?

3) What other techniques might you use at Yorkies to learn about the workings of the 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? existing system and/or decide how the new system should function?

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

RecapRecap

Make sure you are clear about the following:Make sure you are clear about the following: Computer systems/System Computer systems/System

boundaries/Interfacesboundaries/Interfaces Planned and Agile Systems Development Planned and Agile Systems Development

Methods (SDMs)Methods (SDMs) The different sorts of stakeholder and their The different sorts of stakeholder and their

concernsconcerns Functional and non-functional requirementsFunctional and non-functional requirements The importance of Requirements AnalysisThe importance of Requirements Analysis How to investigate requirementsHow to investigate requirements

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

Simple Use CasesSimple Use Cases

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

Use Cases IntroductionUse Cases Introduction

IntroductionIntroduction Use Cases, Actors and ScenariosUse Cases, Actors and Scenarios Writing Use CasesWriting Use Cases Use Case DiagramsUse Case Diagrams

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

Use CasesUse Cases

Capture the functional requirements of the systemCapture the functional requirements of the system Can be used for analysis, implementation, and testingCan be used for analysis, implementation, and testing Widely accepted as a good way to describe systems to Widely accepted as a good way to describe systems to

users users Unified Modelling Language (UML) is a Unified Modelling Language (UML) is a use caseuse case driven driven

approach but use cases are approach but use cases are notnot object orientated 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 The typical interaction between a user and a computer

systemsystem A formalised textual descriptionA formalised textual description Summarised by diagramsSummarised by diagrams

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

A use case tells a story of reaching a goalA use case tells a story of reaching a goal(or a set of stories of both getting and failing!)(or a set of stories of both getting and failing!)

UC 4: “UC 4: “Place an orderPlace an order””

1. The clerk identifies 1. The clerk identifies the customer, each item the customer, each item and quantity. and quantity.

2. The system accepts and queues the order.”2. The system accepts and queues the order.”

Extensions:Extensions:

““1a. Low credit: Clerk takes prepayment”1a. Low credit: Clerk takes prepayment”

““2a. Low on stock: Customer accepts 2a. Low on stock: Customer accepts reduced...”reduced...”

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

A Use Case DiagramA Use Case Diagram

ATM

Manager

Teller

Customer

actor

communicate use case

systemboundary

The diagram shows use The diagram shows use cases and “actors”cases and “actors” Helps gain overall picture of Helps gain overall picture of

systems functionality/user systems functionality/user requirementsrequirements

Show the system boundaryShow the system boundary

A key to the use casesA key to the use cases

Noddy’s Bank

arrangeloan

closeaccount

performtransaction

openaccount

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

Actors Actors

To understand the system we have to know who To understand the system we have to know who the system is for (who will use it) – these are actorsthe system is for (who will use it) – these are actors

An actor may be a a person (identified by role), an An actor may be a a person (identified by role), an organization or another computer systemorganization or another computer system

IdentifyIdentify who directly uses the systemwho directly uses the system who maintains the systemwho maintains the system external hardware used by systemexternal hardware used by system other systems interacting with the systemother systems interacting with the system

Primary actors (direct users) and secondary actorsPrimary actors (direct users) and secondary actors

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

Actors (2)Actors (2)

Can be one individual taking several rolesCan be one individual taking several roles Fred as manager and tellerFred as manager and teller

Several individuals taking one roleSeveral individuals taking one role Fred, Mary, Bert are tellersFred, Mary, Bert are tellers

Actors can also be other computer systems / Actors can also be other computer systems / hardware deviceshardware devices

Might identify actors first then ask what do Might identify actors first then ask what do they need to dothey need to do

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

UML definition of a use caseUML definition of a use case

““A use case is a coherent unit of functionality A use case is a coherent unit of functionality provided by a system or class as manifested by provided by a system or class as manifested by sequences of messages exchanged among the sequences of messages exchanged among the system and one or more outside interactors (called system and one or more outside interactors (called actorsactors) together with actions performed by the ) together with actions performed by the system.”system.”

Also Also

““A description of a set of sequences of actions, including A description of a set of sequences of actions, including variants, that a system performs that yields an variants, that a system performs that yields an observable observable

result of value to an actorresult of value to an actor..

Usually Usually scenariosscenarios illustrate prototypical use case illustrate prototypical use case instances. An instance of a use case class.”instances. An instance of a use case class.”

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

Scenarios (User Stories)Scenarios (User Stories)

A scenario is a specific sequence of actions and interactions A scenario is a specific sequence of actions and interactions between actors and the systembetween actors and the system Also called a use case instanceAlso called a use case instance Or a user storyOr a user story

Each is one particular story of using the system (one path Each is one particular story of using the system (one path through a use case) for example. 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 The scenario of failing to purchase items because of a credit card

transaction denialtransaction denial

Can write specific stories – with realistic examplesCan write specific stories – with realistic examples Users can write theseUsers can write these Can be used as a design prototypeCan be used as a design prototype

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

Sample User Story for Sample User Story for Record Vehicle ReturnRecord Vehicle Return At 4pm 4th June 2005 David Jones arrives in the depot with At 4pm 4th June 2005 David Jones arrives in the depot with

a 3 ton truck registration W123 XYZ. He presents his a 3 ton truck registration W123 XYZ. He presents his booking confirmation to the depot clerk Vijal Singh.booking confirmation to the depot clerk Vijal Singh.

The depot clerk checks enters the booking no on the system The depot clerk checks enters the booking no on the system which confirms that the vehicle is expected back by 5pm that which confirms that the vehicle is expected back by 5pm that day driven by David Jones for FreshFish2U. The depot clerk day driven by David Jones for FreshFish2U. The depot clerk notes the return vehicle mileage, diesel level on the notes the return vehicle mileage, diesel level on the confirmation form. He inspects the vehicle and notes no confirmation form. He inspects the vehicle and notes no damage. These are entered into the system which reports damage. These are entered into the system which reports that an additional mileage charge of £75 is required. This is that an additional mileage charge of £75 is required. This is verbally confirmed with the driver, as FreshFish2U are an verbally confirmed with the driver, as FreshFish2U are an account customer no payment is required then. Two copies account customer no payment is required then. Two copies of the vehicle receipt are printed containing details of the of the vehicle receipt are printed containing details of the additional charge and the driver asked to sign. The depot additional charge and the driver asked to sign. The depot clerk records the driver’s acceptance and retains one clerk records the driver’s acceptance and retains one receipt; the other is given to the driver.receipt; the other is given to the driver.

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

Identifying Use CasesIdentifying Use Cases

Will probably be an iterative processWill probably be an iterative process Combination of several approachesCombination of several approaches

working with users and other stakeholdersworking with users and other stakeholders interviews, workshopsinterviews, workshops

asking what each actor wants from the systemasking what each actor wants from the system validation and reviewvalidation and review

does the use case return something of value to the does the use case return something of value to the actor?actor?

Granularity questionsGranularity questions e.g. “withdraw cash from ATM” or “withdraw cash from e.g. “withdraw cash from ATM” or “withdraw cash from

ATM using credit card”ATM using credit card” Levels of use caseLevels of use case Boundary or Scope of use case Boundary or Scope of use case

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

Writing use cases (1)Writing use cases (1) Identify the commonest success scenario Identify the commonest success scenario

This is easiest to read and understandThis is easiest to read and understand Everything else is a modification of thisEverything else is a modification of this

Capture each actor’s intent and responsibility, Capture each actor’s intent and responsibility, from trigger to goal deliveryfrom trigger to goal delivery

Describe the information that passes between themDescribe the information that passes between them Number each line.Number each line.

ResultResult: a readable description of system’s : a readable description of system’s functionfunction

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

Writing Use Cases (2) Writing Use Cases (2)

Write failure conditions as extensions to Write failure conditions as extensions to the use casethe use case

Usually every step of a use case can failUsually every step of a use case can fail Note each failure condition separately, Note each failure condition separately,

after the main success scenario.after the main success scenario.

ResultResult: a list of alternate scenarios.: a list of alternate scenarios.

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

Writing Use Cases (3)Writing Use Cases (3)

For each failure condition, follow For each failure condition, follow the failure till it ends or rejoinsthe failure till it ends or rejoinsRecoverable extensions rejoin main Recoverable extensions rejoin main

course.course.Non-recoverable extensions fail Non-recoverable extensions fail

terminate the use caseterminate the use case Each scenario goes from trigger to Each scenario goes from trigger to

completion.completion. ResultResult: Complete use case: Complete use case

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

Review: Scenarios run from trigger event to goal Review: Scenarios run from trigger event to goal completioncompletion or or abandonment.abandonment.

Use Case – Place an orderUse Case – Place an order

ScenarioScenario ScenarioScenario ScenarioScenario

Item in StockItem in Stock YesYes YesYes NoNo

Customer Customer passes credit passes credit checkcheck

YesYes NoNo

Complete Complete orderorder

Abandon Abandon OrderOrder

Abandon Abandon OrderOrder

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

Write the recoverable and failure scenarios as Write the recoverable and failure scenarios as “extensions” to the ideal one“extensions” to the ideal one

UC 4: UC 4: Place an orderPlace an order””

1. 1. Clerk identifies the customer, each item and quantity. Clerk identifies the customer, each item and quantity. Checks stock levels and customer creditChecks stock levels and customer credit

2. System accepts and queues the order.”2. System accepts and queues the order.”

Extensions:Extensions:

““1a. Low credit: Customer is ‘Preferred’...”1a. Low credit: Customer is ‘Preferred’...”

““1b. Low credit & not Preferred customer: ...”1b. Low credit & not Preferred customer: ...”

““2a. Low on stock: Customer accepts reduced...”2a. Low on stock: Customer accepts reduced...”

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

Summary use cases, tasks, and subfunctions link togetherSummary use cases, tasks, and subfunctions link together

Sailboat image: User goals are at sea level.Sailboat image: User goals are at sea level.

advertise

order invoice

set up promotion

reference promotion

monitor promotion

place order

create invoice

send invoice

identify promotion

identify customer

register user identify product

project goalStrategic Goals

User Goals

Subfunctions

“white”

“blue”

“indigo”

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

Advantages of Use CasesAdvantages of Use Cases

Capture requirements from a users’ perspectivesCapture requirements from a users’ perspectives Gets early user involvementGets early user involvement Simplifies user validationSimplifies user validation

Helps manage deliveryHelps manage delivery Prioritise use cases to define iterations for deliveryPrioritise use cases to define iterations for delivery Estimate % requirements captured and deliveredEstimate % requirements captured and delivered

Progresses the developmentProgresses the development Can identify objects (classes) from scenariosCan identify objects (classes) from scenarios Can become the basis of user manualsCan become the basis of user manuals Can become the basis for test plans and test casesCan become the basis for test plans and test cases

Improve qualityImprove quality Provide good traceability of requirementsProvide good traceability of requirements Identifies exceptions earlierIdentifies exceptions earlier

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

Use cases make functional requirements Use cases make functional requirements

readable and reviewablereadable and reviewable

1) Use cases hold functional requirements in an 1) Use cases hold functional requirements in an easy-to-read, easy-to-track, text format.easy-to-read, easy-to-track, text format.

2) A use case collects how a goal succeeds or 2) A use case collects how a goal succeeds or fails. A scenario shows one specific condition fails. A scenario shows one specific condition in a use casein a use case

3) Use cases show only functional requirements 3) Use cases show only functional requirements but can make a framework for non-functional but can make a framework for non-functional requirements & project details.requirements & project details.

4) Use cases provide one tool for systems 4) Use cases provide one tool for systems design but do not address all design needsdesign but do not address all design needs

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

Assignment 1 – Requirements and Use CasesAssignment 1 – Requirements and Use Cases

Form groups of 2 or 3Form groups of 2 or 3 Let me know your group members and email addresses Let me know your group members and email addresses

todaytoday I will give you a group nameI 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 Work on this in your group between this week and next week (together or online) If you have any problems in week (together or online) If you have any problems in understanding the assignment please email meunderstanding the assignment please email me

There is other material on Use Cases and the There is other material on Use Cases and the Powerpoint slides on Requirements & Use Cases for the Powerpoint slides on Requirements & Use Cases for the course so far on Blackboard and the RACC Student course so far on Blackboard and the RACC Student network. Feel free to use material from other sources if network. Feel free to use material from other sources if you wish but don’t forget to give credit you wish but don’t forget to give credit © for this.© for this.

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

Assignment 1 -ScheduleAssignment 1 -Schedule

Aim to get deliverables 1-3 (on requirements) to Aim to get deliverables 1-3 (on requirements) to me by the end of next weeks session.me by the end of next weeks session.

There will be a supervised Tutorial/Workshop There will be a supervised Tutorial/Workshop next week Tuesday (Wk 5) to make sure each next week Tuesday (Wk 5) to make sure each team has some time together to complete the team has some time together to complete the work. PCs and Internet access (for research) work. PCs and Internet access (for research) available in the room. I will provide assistance available in the room. I will provide assistance as required to any group that needs help in as required to any group that needs help in finishing the deliverables.finishing the deliverables.

There will be an Evaluation Workshop in week 5 There will be an Evaluation Workshop in week 5 Thursday where you will peer-review another Thursday where you will peer-review another group’s work – All deliverables need to be with group’s work – All deliverables need to be with me by midnight Tuesday 10me by midnight Tuesday 10thth July. July.