Use-Case is Everything
-
Upload
chinmay-v-s -
Category
Engineering
-
view
327 -
download
2
Transcript of Use-Case is Everything
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