Survey reusability through Object Orient Design Survey reusability through Object Oriented Design Friday, 01 May 2015.

Slides:



Advertisements
Similar presentations
Department of Computer Engineering Faculty of Engineering, Prince of Songkla University 1 5 – Abstract Data Types.
Advertisements

OOP - Object Oriented Programming Object Oriented Programming is an approach to programming that was developed to make large programs easier to manage.
OBJECT ORIENTED PROGRAMMING M Taimoor Khan
Topics Recap of the Object Model Inheritance Polymorphism – virtual functions Abstract classes, Pure virtual functions Design issues UML examples Templates.
Object-Oriented PHP (1)
Object Oriented Programming A brief review of what you should know about OOP.
Chapter Chapter 1 Introduction to Object-Oriented Programming and Software Development.
Object-oriented Programming Concepts
1 Introduction to C++ Programming Concept Basic C++ C++ Extension from C.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
Introduction to Programming. To gain a sound knowledge of programming principles To gain a sound knowledge of object- orientation To be able to critically.
Simon Woodworth Object Oriented Design What is it? Why do it? Simon Woodworth, 19 August 2004.
Distribution of Marks Internal Sessional Evaluation Assignments – 10 Quizzes – 10 Class Participation Attendence – 5 Mid – Term Test – 25 External Evaluation.
1 Object-Oriented Software Engineering CIS 375 Bruce R. Maxim UM-Dearborn.
BACS 287 Basics of Object-Oriented Programming 1.
Object Oriented Programming
OOP- OBJECT OBJECT PROGRAMMING By KRATI SHARMA 02 XI-B ✏✏✏✏ ☺☻☺☻☺☻☺ ✏✏✏✏
Copyright © 2002, Systems and Computer Engineering, Carleton University Intro.ppt * Object-Oriented Software Development Unit 1 Course.
UFCEUS-20-2 : Web Programming Lecture 5 : Object Oriented PHP (1)
Introduction to Object-oriented programming and software development Lecture 1.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 8: More About OOP and GUIs.
Object Oriented Programming Lecturer: Andreas P. Adi
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
BCS 2143 Introduction to Object Oriented and Software Development.
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
Objects and Components. The adaptive organization The competitive environment of businesses continuously changing, and the pace of that change is increasing.
OBJECT AND CLASES: THE BASIC CONCEPTS Pertemuan 8 Matakuliah: Konsep object-oriented Tahun: 2009.
An Object-Oriented Approach to Programming Logic and Design
CS212: Object Oriented Analysis and Design Lecture 1: Introduction.
CONCEPTS OF OBJECT ORIENTED PROGRAMMING. Topics To Be Discussed………………………. Objects Classes Data Abstraction and Encapsulation Inheritance Polymorphism.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Object Oriented Design and Programming Alan Goude Room: Sheaf 9323.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
January 25, 2006copyright Thomas Pole , all rights reserved 1 Software Reuse: History 1980 to 2005 History: Changes to Software Reuse Driven by.
1 Object-Oriented Systems Development Bahrami © Irwin/ McGraw-Hill Chapter 2: Object Basics Object-Oriented Systems Development Using the Unified Modeling.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Dale Roberts Object Oriented Programming using Java - Introduction Dale Roberts, Lecturer Computer Science, IUPUI Department.
Programming Paradigms Lecturer Hamza Azeem. What is PP ? Revision of Programming concepts learned in CPLB Learning how to perform “Object-Oriented Programming”
: Maha Sabri Altememe Lecturer : Maha Sabri Altememe Lecture :1 1.
Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI.
Object-Oriented Programming. Objectives Distinguish between object-oriented and procedure-oriented design. Define the terms class and object. Distinguish.
Introduction to OOP CPS235: Introduction.
Basic Concepts of OOP.  Object-Oriented Programming (OOP) is a type of programming added to php5 that makes building complex, modular and reusable web.
Introduction to Object Oriented Programming in ColdFusion Nicholas Tunney Senior Software Architect.
DBS201: Data Modeling. Agenda Data Modeling Types of Models Entity Relationship Model.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
OOP - Object Oriented Programming
A Hierarchical Model for Object-Oriented Design Quality Assessment
Programming paradigms
Visit for more Learning Resources
Object Oriented Programming
Reuse Separate classes could be developed for all the different objects that are needed in each program. However that would be wasteful. Often many functionalities.
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING
Sachin Malhotra Saurabh Choudhary
Chapter 8: More About OOP and GUIs
CHAPTER 5 GENERAL OOP CONCEPTS.
Object-Oriented Analysis and Design
Programming in Java Sachin Malhotra, Chairperson, PGDM-IT, IMS Ghaziabad Saurabh Chaudhary, Dean, Academics, IMS Ghaziabad.
Complexity Time: 2 Hours.
Object Oriented Concepts -II
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
PRINCIPALES OF OBJECT ORIENTED PROGRAMMING
Object Oriented Analysis and Design
DEV-08: Exploring Object-oriented Programming
CIS601: Object-Oriented Programming in C++
Copyright 2007 Oxford Consulting, Ltd
Object-Oriented PHP (1)
Object Oriented Design & Analysis
Presentation transcript:

Survey reusability through Object Orient Design Survey reusability through Object Oriented Design Friday, 01 May 2015

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

Introduction Same father: Blaise Pascal ( ) –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 Statistics and IT: close relatives?

Introduction Machine code and assembly Structured languages (1971) GUI languages (1991) Object oriented environment (2001) Evolution Card column punch Quantime, Bellview(mid 70s) In2itive, Askia (mid 90s) …

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 The concepts… 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 Object Oriented Design

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 Methods

Vehicles usually have a maximum speed Land vehicles have a number of wheels Attributes

Encapsulation Inheritance Polymorphism 3 founding paradigms

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 1: encapsulation

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 2: inheritance

Generally, the ability to appear in many forms Here the ability to process objects differently depending on their class Paradigm 3: polymorphism

Survey reusability through Object Orient Design A real life example BMRB, the TGI and the PTK

Very large survey ( responses, interviews) Questionnaire scanned (hence data needs to be cleaned) Large printed volumes produced Need a custom tool Background

The edit script used CCP (PTT ’ s Star software – sta spec) – 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 Background (prior to 1998)

Very repetitive subjects (baked beans, sausage rolls, soap,…) Edited in the same manner Reported in the same manner The TGI questionnaire 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