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

Post on 31-Mar-2015

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Overview of a Simple Overview of a Simple Development MethodDevelopment Method

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

The VisionThe Vision

SSM Models

Use Cases

Activity Models

Dynamic Models

ObjectModels

Programs

Databases

BusinessComputing

Beginnings of a MethodBeginnings of a Method

Soft Systems

Model

One One possible possible lifecyclelifecycle

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

The Huddersfield Playhouse

A Word from our SponsorA Word from our Sponsor

Aims of the Case StudyAims of the Case Study

• To see the different UML models in action

• To see how the models fit together

Beginnings of a MethodBeginnings of a Method

Soft Systems

Model

Let’s have a look at this first

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.

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.

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

StakeholdersStakeholders

• Customers

• Booking clerk

• Theatre manager

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

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

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

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

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

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

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

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

Produce next activity diagramProduce next activity diagram

• The Take Payment activity

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

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

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

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

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

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

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

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

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

Let’s have a look at this

Now Consider Use CasesNow Consider Use CasesBooking Clerk Use Case Diagram

Book tickets

Print tickets

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>>

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.

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.

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

Beginnings of a MethodBeginnings of a Method

Soft Systems

Model

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.

What next?What next?

• Class Diagrams

• Design using sequence diagrams

We now need to look at this

Getting StartedGetting Started

Moving onMoving on

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

That gets us That gets us to hereto here

top related