+ All Categories
Home > Documents > Overview of a Simple Development Method. Background Before discussing some specific methods we will...

Overview of a Simple Development Method. Background Before discussing some specific methods we will...

Date post: 21-Dec-2015
Category:
View: 213 times
Download: 0 times
Share this document with a friend
Popular Tags:
51
Overview of a Simple Overview of a Simple Development Method Development Method
Transcript
Page 1: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 doesn’t have a name.

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 doesn’t have a name.

The Vision – a reminderThe Vision – a reminder

Business Models

Use Cases

Activity Models

Interaction Diagrams

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 doesn’t have a name.

One One possible possible lifecyclelifecycle

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

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

The Huddersfield Playhouse

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

A Word from our SponsorA Word from our Sponsor

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

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 8: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

The VisionThe Vision

Activity Diagrams

Use Cases

Sequence Diagrams

Class Diagrams

Programs

Databases

BusinessComputing

Entity Models

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

Let’s have a look at this first

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

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 11: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 12: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 13: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

StakeholdersStakeholders

• Customers

• Booking clerk

• Theatre manager

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

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 15: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 16: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 17: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 18: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 19: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 20: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 21: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 22: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

Produce next activity diagramProduce next activity diagram

• The Take Payment activity

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

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 24: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 25: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 26: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 27: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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

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

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 29: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 30: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 31: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 32: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

Let’s have a look at this

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

Now Consider Use CasesNow Consider Use CasesBooking Clerk Use Case Diagram

Book tickets

Print tickets

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

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 35: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 36: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 37: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 38: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

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 39: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

What next?What next?

• Class Diagrams

• Design using sequence diagrams

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

We now need to look at this

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

Getting StartedGetting Started

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

Moving onMoving on

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

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

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

That gets us That gets us to hereto here

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

Research TopicResearch Topic

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

‘‘Best practice’ in contemporary business systems design splits an Best practice’ in contemporary business systems design splits an application into four principal layersapplication into four principal layers

Presentation

Application, Process, Task or Controller

Domain object model

Persistence

Page 47: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

But “The Naked Objects Pattern” eliminates the controller layer by But “The Naked Objects Pattern” eliminates the controller layer by encapsulating all business functionality on the entity objectsencapsulating all business functionality on the entity objects

Presentation

Application, Process or Use-case controller

Domain object model

Persistence

Page 48: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

And has a generic presentation layer that automatically reflects the And has a generic presentation layer that automatically reflects the domain object model as an object-oriented user interfacedomain object model as an object-oriented user interface

Presentation

Application, Process or Use-case controller

Domain object model

Persistence

Page 49: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

CarServ: A tale of two business applications

Page 50: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.
Page 51: Overview of a Simple Development Method. Background Before discussing some specific methods we will consider a simple method that doesn’t have a name.

Good Idea?Good Idea?

• One of the research topics for the coursework element of this module

• Final project???


Recommended