Transcript Slides

Survey reusability through
Object Oriented Design
Survey reusability through
Object Orient Design
Sunday, 26 March 2017
Agenda
•
•
•
•
MR and IT: separated at birth?
Presentation of OOD concepts
Example of an OOD survey system: BMRB’s PTK
OOD: a future for Market Research?
Introduction
Statistics and IT: close relatives?
• Same father: Blaise Pascal (1623-1692)
– Inventor of the first mechanical adding machine (1642)
– Formulated the mathematical theory of probability (1654)
• They have unachievable goals
– Bug free software
– Reliable and actionable information
• Dusty image… slowly improving
Introduction
Evolution
•
•
•
•
Machine code and assembly
Structured languages (1971)
GUI languages (1991)
Object oriented environment
(2001)
•
•
•
•
Card column punch
Quantime, Bellview(mid 70s)
In2itive, Askia (mid 90s)
…
The concepts… design
The design stage is not an option, it’s a must
Design is about managing complexity: a design method helps
you to split big projects into manageable chunks that you will be
able to comprehend separately
In object-oriented design, complexity is managed using
abstraction
“Abstraction is the elimination of the irrelevant and the
amplification of the essential”
Robert Martin
Object Oriented Design
OOD is an attempt at unifying the world into hierarchical
concepts
Cars, cycles and trains are vehicles
Motorcycles and bicycles are cycles
My Peugeot is an implementation of the “vehicle” class
An object is sometimes the class or the implementation
A vehicle is a virtual class
Object Oriented Design
Objects have:
• Behaviours (they do things) referred as methods
• Properties or states (they have things) referred as
attributes
Methods
Vehicles have a Start and a Stop method…. A uniform
way to start and to stop among all implementations
Some sub-classes of vehicles may have methods
specific to them
Attributes
Vehicles usually have a maximum speed
Land vehicles have a number of wheels
3 founding paradigms
Encapsulation
Inheritance
Polymorphism
Paradigm 1: encapsulation
An object is a black-box. You do not need to see
what’s inside to use it
Encapsulation also means that an object includes
everything it needs: both the data and the operations
on it (methods)
The encapsulation concept is very powerful because
it allows an efficient division of labour in large
projects
Paradigm 2: inheritance
Reusability is another flagship of OOD
The complex job is done once and for all in a parent
class. And it is tested once!
Deriving and Overriding
Paradigm 3: polymorphism
Generally, the ability to appear in many forms
Here the ability to process objects differently
depending on their class
A real life example
Survey reusability through
Object Orient Design
BMRB, the TGI and the PTK
Background
• Very large survey (23 000 responses, 30 000
interviews)
• Questionnaire scanned (hence data needs to be
cleaned)
• Large printed volumes produced
• Need a custom tool
Background (prior to 1998)
• The edit script used CCP (PTT’s Star software – sta
spec)
– 10 000 lines of script
• The reporting used PTT’s Startab- stb spec
• The weighting used QSL
• Pressure was on to deliver a multi language / multi
country system able to deliver on a quarterly base
The TGI questionnaire
• Very repetitive subjects
(baked beans, sausage rolls,
soap,…)
• Edited in the same manner
• Reported in the same manner
A case for OOD…
Templates
Subjects
• Easy to define
• Easy to maintain
• Concurrent
access
Subjects
The edit language
• CCP free
• Brand / response
independent
• Overridable
Testing the edits
The reports
The report language
Conclusion
• PTK is still ahead of its time
• But reusability was its raison d’etre
• What about commercial packages?
Object Oriented Survey?
• Improve the library concept
• AskML : interoperability made possible
– Conjoint analysis on all packages?
• Metaquestions in Dimensions
Thanks
•
•
•
•
Steve Harris
Kevin Wavell
Mark Pietronave
Steve Taylor