Top Banner
Overview of a Simple Overview of a Simple Development Method Development Method
46

Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Mar 31, 2015

Download

Documents

Milo Channell
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Overview of a Simple Overview of a Simple Development MethodDevelopment Method

Page 2: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

BackgroundBackground

• Before discussing some specific methods we will consider a simple method that doesn’t have a name but is a bit like the USDP

• This is the method followed by former colleague Ken Lunn in his book

• Ken now works for the NHS where he is paid a lot of money to try to apply his method to some terrifyingly complex software development projects

• He is happy to co-supervise MSc projects

Page 3: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

The VisionThe Vision

SSM Models

Use Cases

Activity Models

Dynamic Models

ObjectModels

Programs

Databases

BusinessComputing

Page 4: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Beginnings of a MethodBeginnings of a Method

Soft Systems

Model

Page 5: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

One One possible possible lifecyclelifecycle

Page 6: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Let’s wander through this lifecycle Let’s wander through this lifecycle with a Case Studywith a Case Study

The Huddersfield Playhouse

Page 7: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

A Word from our SponsorA Word from our Sponsor

Page 8: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Aims of the Case StudyAims of the Case Study

• To see the different UML models in action

• To see how the models fit together

Page 9: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Beginnings of a MethodBeginnings of a Method

Soft Systems

Model

Page 10: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Let’s have a look at this first

Page 11: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Company backgroundCompany background

The Huddersfield Playhouse, a newly formed repertory theatre, wishes to have a new system for selling tickets and managing their various venues.

They currently use an old-style system that is slow and cumbersome, and does not meet all their needs.

They already have a modern computer and a printer that prints tickets.

Page 12: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Your roleYour role

You are the business systems analyst assigned to the task by HudSoft, the new state-of-the-art software house.

The project manager needs a clear picture of the system scope so that he can put a formal bid together.

Not all the things that the theatre wants to do are possible, and some of them will be too expensive.

You are there to determine in the first instance what is possible.

Page 13: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Huddersfield PlayhouseHuddersfield Playhouse

We have been supplied with some basic information.

The company needs to be able to:

• Make telephone bookings

• Make desk bookings on the night of the performance

• Transfer sales information to the accounts system

• Handle two venues, a main theatre and a studio

• Produce and maintain a mailing list

• Take e-mail bookings via their Web site

Page 14: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

StakeholdersStakeholders

• Customers

• Booking clerk

• Theatre manager

Page 15: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Map out Business ProcessesMap out Business Processes

C o un te r b o ok ingT e lep h on e B o ok ing

B o ok ing

C a sh p a ym e ntC re d it ca rd p a ym e ntP rin t t ic ke t

C o lle c tion

C a n ce lla tion

B u ild M a ilin g L ist

S e a t B o ok ing

E n te r V e nu e D e ta ilsB oo k V en ue

B o ok ing

C a n ce lla tion

P a ym e nt

V e nu e M an a ge m e nt

T icke t S a les

E n te r h ire r d e ta ilsIn vo ice h ire rP ro cess p aym e ntC h ase pa ym e nt

V e n ue H ire C h arg ing

A cco u n ting

U p loa d in fo rm a tionR e ce ive e m a ils

A d vertise P e rfo rm an ces

P u b lic ity

H u d d ers fie ldP la yho u se

Page 16: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Review with StakeholdersReview with Stakeholders

C o un te r B o ok ingT e lep h on e B o ok ingW e b B o ok ing

B o ok ing

C a sh p a ym e ntC re d it ca rd p a ym e ntP rin t t ic ke t

C o lle c tion

C a n ce lla tion

B u ild M a ilin g L ist

S e a t B o ok ing

E n te r V e nu e D e ta ilsB oo k V en ue

B o ok ing

C a n ce lla tion

P a ym e nt

V e nu e M an a ge m e nt

T icke t S a les

E n te r h ire r d e ta ilsIn vo ice h ire rP ro cess p aym e ntC h ase pa ym e nt

V e n ue H ire C h arg ing

A cco u n ting

U p loa d in fo rm a tionR e ce ive e m a ils

A d vertise P e rfo rm an ces

P u b lic ity

H u d d ers fie ldP la yho u se

Added by theatre manager

Page 17: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Review with StakeholdersReview with Stakeholders

• Discuss with Theatre manager and Booking Clerk

• They are happy with your ideas so far

• Now we look at how the new system will function

• First some activity diagrams are produced for the activities

Page 18: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Counter booking processCounter booking process

Select venue on system

Select performance on system

Choose seats

Take customer name and contact details

Print reservation stub for customer

Advise them to pay for and collect tickets 30 mins before performance

Page 19: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Counter booking processCounter booking process

Select venue on system

Select performance on system

Choose seats

Print reservation stub for customer

Take customer name and contact details

Advise them to pay for and collect tickets 30 mins before performance

Take details on paper and enter later

Wait until performance details are on system

Page 20: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Counter booking processCounter booking process

Select venue on system

Select performance on system

Choose seats

Print reservation stub for customer

Take customer name and contact details

Advise them to pay for and collect tickets 30 mins before performance

Take details on paper and enter later

Wait until performance details are on system

Long Queue

Customer declines

Page 21: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Counter booking processCounter booking process

Select venue on system

Select performance on system

Choose seats

Print reservation stub for customer

Take customer name and contact details

Advise them to pay for and collect tickets 30 mins before performance

Take details on paper and enter later

Take Payment

Wait until performance details are on system

Long Queue

Customer declines

Customer offers to pay

Page 22: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Counter booking processCounter booking process

Select venue on system

Select performance on system

Choose seats

Print reservation stub for customer

Take customer name and contact details

Advise them to pay for and collect tickets 30 mins before performance

Handwrite reservation details

Take details on paper and enter later

Take Payment

Wait until performance details are on system

Printer not working

Long Queue

Customer declines

Customer offers to pay

Page 23: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Produce next activity diagramProduce next activity diagram

• The Take Payment activity

Page 24: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Take payment activity diagramTake payment activity diagram

Advise customers of tickets price

Request payment method

Print tickets and hand to customer

Thank customer

Take payment by cheque

Cheque offered

Page 25: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Take payment activity diagramTake payment activity diagram

Advise customers of tickets price

Request payment method

Print tickets and hand to customer

Take payment by cheque

Thank customer

Take Cash Payment

Cheque offered

Cash offered

Page 26: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Take payment activity diagramTake payment activity diagram

Advise customers of tickets price

Request payment method

Print tickets and hand to customer

Take payment by cheque

Thank customer

Take payment by credit card

Take Cash Payment

Cheque offered

Credit card offered

Cash offeredCredit card refused

Page 27: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Take payment activity diagramTake payment activity diagram

Advise customers of tickets price

Request payment method

Print tickets and hand to customer

Take payment by cheque

Thank customer

Take payment by credit card

Hand write tickets

Take Cash Payment

Cheque offered

Credit card offered

Cash offered

Can’t print

Credit card refused

Page 28: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Produce diagram forProduce diagram forTake payment by credit cardTake payment by credit card

Page 29: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Take payment by credit cardTake payment by credit card

Swipe credit card

Enter amount

Check signature

Return credit card, voucher and till receipt to customer

Enter amount on till and print receipt

Wait for acceptance

Obtain signature

Page 30: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Take payment by credit cardTake payment by credit card

Swipe credit card

Enter amount

Check signature

Obtain signature

Return credit card, voucher and till receipt to customer

Credit Card refused

Enter amount on till and print receipt

Wait for acceptance

Page 31: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Take payment by credit cardTake payment by credit card

Swipe credit card

Enter amount

Check signature

Obtain signature

Return credit card, voucher and till receipt to customer

Credit Card refused

Enter amount on till and print receipt

Wait for acceptance

Signature does not match

Page 32: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Take payment by credit cardTake payment by credit card

Swipe credit card

Enter amount

Check signature

Obtain signature

Return credit card, voucher and till receipt to customer

Credit Card refused

Enter amount on till and print receipt

Wait for acceptance

Signature does not match

Refer to manager

Second attempt does not match

Manager approvesManager refuses

Page 33: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Let’s have a look at this

Page 34: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Now Consider Use CasesNow Consider Use CasesBooking Clerk Use Case Diagram

Book tickets

Print tickets

Page 35: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Now Consider Use CasesNow Consider Use CasesBooking Clerk Use Case Diagram

Book tickets

Print tickets

Add to mailing list

<<include>>

Print reservation stub

<<Include>>

Take payment

<<extend>>

<<extend>>

Page 36: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Book ticket use case (1)Book ticket use case (1)

Use Case Number: 001 Use Case Name: Book Ticket Brief Description: Books tickets for a customer for a particular performance. Actors: Booking clerk Frequency of Execution: Daily, up to 200 times Scalability: Only used by one booking clerk at a time. Criticality: Can be managed by paper, but that is very slow and causes queues and upset at the box office. Primary Path: 1. Select venue (studio or main theatre). 2. Select performance. 3. Display seat availability as a graphic, green for vacant seats, blue for booked, yellow for paid for. 4. Reserve seats. 5. Enter ticket types (concessionary, full, complementary, volume discount) 6. Calculate total price. 7. Take customer name and contact details and enter on system, using surname and postcode. If the customer has bought tickets before, then this should be shown by the system. 8. Take payment, and mark the tickets as paid for. 9. Print tickets.

Page 37: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Book ticket use case (2)Book ticket use case (2)

Use Cases Related to Primary Path:8. Take PaymentAlternatives:8.1 Customer wants to pay later. Print a reservation stub for the customer, thatadvises them that the seat is reserved until 30 minutes before the performance. Exituse case.

Use Cases Related to Alternatives:NoneExceptions:If the ticketing system is down, then this will have to be handled by paper. Seats willhave to be sold unallocated.9. Printer not working. Handwrite tickets.Use Cases Related to Exceptions:NoneNotes:1. Reviewed with booking clerks and agreed with theatre manager on 2 September2000.

Page 38: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

So what have we gotSo what have we got

• An overview of the business

• A detailed breakdown of some processes

• A set of use cases

• A detailed description of use cases

• Consulted stakeholders

Page 39: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Beginnings of a MethodBeginnings of a Method

Soft Systems

Model

Page 40: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

The flow of work in requirements The flow of work in requirements capturecapture

T e lep h on e B o ok ing

C o un te r B o ok ing

C a sh p a ym e ntC re d it ca rd p a ym e ntP rin t t ic ke t

C o lle c t ion

C a n ce lla tion

B u ild M a ilin g L ist

S e a t B o ok ing

E n te r V e nu e D e ta ilsB oo k V en ue

B o ok ing

C a n ce lla tion

P a ym e nt

V e nu e M an a ge m e nt

T icke t S a les

E n te r h ire r d e ta ilsIn vo ice h ire rP ro cess p aym e ntC h ase pa ym e nt

V e n ue H ire C h arg ing

A cco u n ting

U p loa d in fo rm a tionR e ce ive e m a ils

A d vertise P e rfo rm an ces

P u b lic ity

H u d d ers fie ldP la yho u se

Select venue on system

Select performance on system

Choose seats

Take customer name and contact details

Print reservation stub for customer

Customer refuses to give N&A

Long queue

Advise them to pay for and collect tickets 30 minutes in advance of performance

Take paymentCustomer offers to pay

Wait until performance details on system

Handwrite reservation details

Printer not working

Take details on paper and enter later

There is a subdiagram here

Print Tickets

Booking Clerk

Take Payment<<extend>>

Add to mailing list

Book tickets

<<extend>>

<<include>>

Print reservation stub

<<include>>

Use Case Number: 001 Use Case Name: Book TicketBrief Description: Books tickets for a customer for a particular performance.Actors: Booking clerkFrequency of Execution: Daily, up to 200 timesScalability: Only used by one booking clerk at a time.Criticality: Can be managed by paper, but that is very slow and causes queues andupset at the box office.Primary Path:1. Select venue (studio or main stage).2. Select performance.3. Display seat availability as a graphic, green for vacant seats, blue for booked,yellow for paid for.4. Reserve seats.5. Enter ticket types (concessionary, full, complementary, volume discount)6. Calculate total price.7. Take customer name and contact details and enter on system, using surnameand postcode. If the customer has bought tickets before, then this should be shownby the system.8. Take payment, and mark the tickets as paid for.9. Print tickets.

Page 41: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

What next?What next?

• Class Diagrams

• Design using sequence diagrams

Page 42: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

We now need to look at this

Page 43: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Getting StartedGetting Started

Page 44: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Moving onMoving on

Page 45: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

Implying the need for this class Implying the need for this class diagramdiagram

Page 46: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesnt have a name but.

That gets us That gets us to hereto here