use-case is everything

Post on 20-Aug-2015

325 Views

Category:

Engineering

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Use-Case is Everything! 1

Use-Case isEVERYTHING!

Software Engineering

Use-Case is Everything! 2

DisclaimerThe purpose of this slide deck is

to highlight the importance of a

good requirements gathering processin software development.

(~,~)

Breaking the ENIGMA code was an amazing feat of reverse-engineering.

The events described below are not meant to belittle the task in any way.

Use-Case is Everything! 3

Remember Alan Turing?

The guy who developed the system

used to defeat the

Nazi

ENIGMA encryption.

Use-Case is Everything! 4

Remember Alan Turing?

• …actually, this is Alan Turing.

• Pioneering…– computer scientist– Mathematician– Logician– Cryptanalyst– Philosopher– mathematical biologist– marathon runner

Why enigma?... …because no one else is doing anything about it

and I can have it to myself…

The Engineering Team

5

ProjectManager

Lead Executive Manager

Software Engineers

Use-Case is Everything!

Guys! Requirement = Break ENIGMA!

The Engineering Team

6Use-Case is Everything!

• Used £100,000 ($6Million in today’s terms).• Spent 30 man-months.• Result ?

ummm… OK!

Use-Case is Everything! 7

A “Bombe”

* operator not included.

Use-Case is Everything! 8

The bombe ran . . .

Use-Case is Everything! 9

. . . and ran . . .

Use-Case is Everything! 10

. . . and ran . . .

Use-Case is Everything! 11

. . . until it was switched-off.

Use-Case is Everything! 12

Requirements? What requirements?(a.k.a. requirement = requirements)

Doesn’t work??The bombe was still running, trying to break the code.Isn’t that what you wanted!!??

Yes. But the requirement was to break the code within a “reasonable” time-frame.

Oh! Ok.Since code is changed daily,Time to break code < 24hrs.

So who gathers use-cases?

13

ProjectManager

Lead Executive Manager

Software Engineers

Use-Case is Everything!

Use-Case is Everything! 14

So who gathers use-cases?

…but did not prioritise this over other tasks. Only to end-up forgetting this when put under a strict deadline.

In fact, Alan Turing did start gathering use-cases early-on…

Use-Case is Everything! 15

Luckily, someone else wasgathering use-cases !

Each message always starts with…

Not this guy

Customer facing field engineer

Use-Case is Everything! 16

. . . and just like that . . .

ENIGMA is promptly broken in 5 minutes

Use-Case is Everything! 17

OK. So what?

Use-Case is Everything! 18

Remember the bombe?

* operator not included.

Looks familiar?

Use-Case is Everything! 19

“Bombe” vs. Software

Is this block required?

Use-Case is Everything! 20

Requirements “Features”

What is possible to engineerwithin the feature

What is actually requiredto be engineeredwithin the feature

What is notpart of the feature(but requested by the customer)

Supported Feature Customer Requirements

Use-Case is Everything! 21

Requirements “Features”

TODO.

When I have a hammer,everything looks like a nail to me.

Supported Features Customer Requirements

Use-Case is Everything! 22

TL;DR

• Gather use-cases before designing.– Prepare a comprehensive set of use-cases.

• Know all the use-cases before starting out to implement the design.

• Let the customer know what use-cases the system will handle once ready.– Essentially letting the customers know of any shortcomings

in the input requirements provided by them.

Use-Case is Everything! 23

References

• http://en.wikipedia.org/wiki/Alan_Turing#Hut_8_and_Naval_Enigma

• http://en.wikipedia.org/wiki/Cryptanalysis_of_the_Enigma

• http://www.imdb.com/title/tt2084970/

Linkedin.com/in/chinmayvs

TheCodeArtist.blogspot.com

StackOverflow.com/users/319204/TheCodeArtist

top related