PQL Programming using Object- Oriented Methods Randy Banks ISER, University of Essex

Slides:



Advertisements
Similar presentations
Chapter 7 System Models.
Advertisements

DDI for the Uninitiated ACCOLEDS /DLI Training: December 2003 Ernie Boyko Statistics Canada Chuck Humphrey University of Alberta.
UML an overview.
Modeling Main issues: What do we want to build How do we write this down.
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 11 Brief introduction to the UML Specification (Based on UML Superstructure.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
Data Modeling and Database Design Chapter 1: Database Systems: Architecture and Components.
Database Systems: Design, Implementation, and Management Tenth Edition
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Unified Modeling Language
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Introduction To System Analysis and Design
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Software Engineering 1 Provisional Revision Plan.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 2.
© Copyright Eliyahu Brutman Programming Techniques Course.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
The Unified Modeling Language (UML) Class Diagrams.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Introduction To System Analysis and design
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
System models l Abstract descriptions of systems whose requirements are being analysed.
DEV337 Modeling Distributed Enterprise Applications Using UML in Visual Studio.NET David Keogh Program Manager Visual Studio Enterprise Tools.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Design Model Lecture p6 T120B pavasario sem.
Toolkit 2.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Object-Oriented Design.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
Basic Characteristics of Object-Oriented Systems
Data Models. 2 The Importance of Data Models Data models –Relatively simple representations, usually graphical, of complex real-world data structures.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Introduction to UML.
Entity- Relationship (ER) Model
The Movement To Objects
Main issues: • What do we want to build • How do we write this down
Object-Oriented Analysis and Design
Physical Data Model – step-by-step instructions and template
Systems Analysis and Design With UML 2
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Week 10: Object Modeling (1)Use Case Model
Abstract descriptions of systems whose requirements are being analysed
Chapter 20 Object-Oriented Analysis and Design
Database Design Hacettepe University
Chapter 22 Object-Oriented Systems Analysis and Design and UML
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

PQL Programming using Object- Oriented Methods Randy Banks ISER, University of Essex

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. Outline What is Object-Oriented Design (OOD)? OOD concepts and tools - Unified Modelling Language (UML) OOD & SIR/PQL Real-life example – SIR/SDSX

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. What is OOD? OOD is conceptual modelling technique (like Entity- Relationship Modelling (ERM)) ERM is for database design OOD is for just about anything –Abstract, generalisable, thus applicable to extremely wide range of software engineering problems –ERM on steroids … and 10 fruit portions a day OOD helps build code that is –Reliable –Reusable –Maintainable –Robust

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. How does it work? OOD decomposes universe of discourse into classes, objects and associations between them Classes are ‘templates’ for the creation of objects Objects are ‘instantiations’ of a class Associations relate classes/objects to each other

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. Classes/Objects May have properties (attributes) and/or methods (operations) Properties store information about an object, e.g. variables Methods accomplish tasks, e.g. functions Packages used to organise and group related classes and provide contained namespace

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. Methods and Properties Scope is local to class in which defined –impact of change can be controlled Access by other methods (of other classes) may be more or less restricted –Private - available only to methods of same class –Protected - available to methods of same and ‘child’ (later) classes –Public - available to method in any class

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. Types of Associations Bog-standard (untyped) Dependency (very weak) Aggregation (objects of one class are ‘part of’ objects of another) Composition (objects of one class are ‘made up of objects of another) Inheritance (objects of one class (the ‘child’) share the properties and methods of another (the ‘parent’) – ‘is-a’ relationships

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. Properties of Associations Roles –Indicates what the association, and the associated elements, do Direction –Defines which way information/messages flow between objects of one class and objects of another Multiplicity (cardinality) –Specifies how many objects of one class are related to objects of another

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. Unified Modelling Language (UML) Standard –To support OOD –Maintained by Object Management Group (OMG) (ultimate goal is to) Provide concepts and diagrams to cover all aspects of the development process –from user requirements to on-going maintenance The Microsoft {SAS,IBM} of Modelling For example …

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. OOD Example. Conference Drinks - Classes

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. OOD Example. Conference Drinks - Objects

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. Object-Oriented Programming Languages (OOPLs) OOPLs more or less implement OOD concepts – of which there are many more than described above Many benefits to OOPLs –‘code control’ PQL is not an OOPL OOD concepts can be mapped on to PQL OOD methods can be used to design PQL applications here’s one I made earlier …

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. OOD & SIR/PQL. Classes Classes can be implemented as PQL procedure Families –As PQL is not an OOPL, no distinction between classes and objects Methods can be implemented as PQL Subroutines –Procedures, too, but no localisation –alas, no functions Properties can be implemented as PQL External Variable Blocks

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. OOD & SIR/PQL. Associations Nothing in PQL to implement associations Associations are realised by executing subroutines –or calling procedures Can realise inheritance by defining family name of a subroutine at compile time E.G. …

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. OOD & PQL. Inheritance PROCEDURE PARENT.INHERIT SUBROUTINE.METHOD pql code … END SUBROUTINE END PROCEDURE PROCEDURE CHILD.COMPILE CALL PARENT.INHERIT(CHILD) more child subroutines, etc END PROCEDURE CALL CHILD.COMPILE

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. OOD & PQL. Inheritance Qualification Use above technique judiciously –No protection of inherited methods … get all or nothing … –… which may conflict with methods specific to child ‘class’

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. A Real-life Example. SIR/SDSX Problem –Generic, software-independent means of storing/transferring survey metadata, including SIR/DBMS schema information Solution –SDSX (Survey Delivery System Exchange Format or Survey Delivery System XML Transfer Format or … whatever …) Similar objectives to DDI (Data Documentation Initiative XML format SIR/SDSX –Application to write database schema information into SDSX format SDSX and SIR/SDSX are ‘in progress’

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. SDSX. Specification

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. SIR/SDSX. User Interface

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. SIR/SDSX. Database Package

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. SDSX. Record Package

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. SIR/SDSX. Variable Package

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. SIR/SDSX. Anywhere Package

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. SIR/SDSX. General Package

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. Summary OOD provides general purpose methods to solve a variety of software engineering problems Very popular – lots of information, methodologies & tools Even though PQL is not an OOPL, OOD can be applied to PQL applications development Value of approach can only be judged by results –More work at the design stage, less hassle later –Effectiveness depends on how applied... art and science (methodology) are both necessary (cf. Clausewitz, On War; Tolstoy, War and Peace)

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. See also, for … OOD, OO Methodology, UML – –Agile Modeling ( –Object Management Group ( –a nice glossary of OO terms ( –Journal of Object Technology ( –UML resources from SparxSystems ( –Bruegge & Dutoit. Object-Oriented Software Engineering –Alhir. Learning UML UML Tools – –Enterprise Architect ( – my favourite; excellent value for ££ –Poseidon ( – ‘Community Edition’ is freehttp://gentleware.com/index.php XML – –W3C ( –W3 Schools XML tutorial ( –Ray. Learning XML Data Documentation Initiative –Home Page ( General Information –W3 Schools ( –Tolstoy. War and Peace –Clausewitz. On War Sheer entertainment value –NTK ( –World Wide Words (

PQL Programming using Object-Oriented Methods. SIR Users Group Conference, June 28-30, 2006, Stratford. That’s all folks