© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott COMP6325 Advanced Web Technologies Dr. Paul Walcott The University.

Slides:



Advertisements
Similar presentations
When is Orientated Programming NOT? Mike Fitzpatrick.
Advertisements

© 2009 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott COMP6325 Advanced Web Technologies Dr. Paul Walcott The University.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Systems Analysis and Design 8th Edition
Object-Oriented Analysis and Design
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
1 Chapter 1 Object-Oriented Programming. 2 OO programming and design Object-oriented programming and design can be contrasted with alternative programming.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
Object Oriented System Development with VB .NET
Basic OOP Concepts and Terms
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
UML class diagrams (1) UML = Unified Modeling Language We use only class diagrams, not other UML diagrams Purpose: –keep OO concepts separate from implementation.
Object Oriented Programming
Introduction To System Analysis and design
Object Oriented Software Development
OOP- OBJECT OBJECT PROGRAMMING By KRATI SHARMA 02 XI-B ✏✏✏✏ ☺☻☺☻☺☻☺ ✏✏✏✏
Centre for Computer Technology ICT115 Object Oriented Design and Programming Week 2 Intro to Classes Richard Salomon and Umesh Patel Centre for Information.
© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott COMP6325 Advanced Web Technologies Dr. Paul Walcott The University.
© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott COMP6325 Advanced Web Technologies Dr. Paul Walcott The University.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Welcome to OBJECT ORIENTED PROGRAMMIN Date: 10/09/2014 Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
Object Oriented Design and Programming Alan Goude Room: Sheaf 9323.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Slide 1 UML Review Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis,
Unified Modeling Language, Version 2.0
System Analysis System Analysis - Mr. Ahmad Al-Ghoul System Analysis and Design.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Systems Analysis & Design 7 th Edition Chapter 5.
Systems Analysis and Design 8 th Edition Chapter 6 Object Modeling.
Object-Oriented Design Simple Program Design Third Edition A Step-by-Step Approach 11.
Basic OOP Concepts and Terms. In this class, we will cover: Objects and examples of different object types Classes and how they relate to objects Object.
1/26 On-demand Learning Series Software Engineering of Web Application - Object-Oriented Development & UML Hunan University, Software School.
Learners Support Publications Object Oriented Programming.
Abstraction ADTs, Information Hiding and Encapsulation.
Basic Concepts of Object Orientation Object-Oriented Analysis CIM2566 Bavy LI.
Chapter 4 Software. Chapter 4: Software Generations of Languages Each computer is wired to perform certain operations in response to an instruction. An.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Basic Characteristics of Object-Oriented Systems
Chapter 11 An introduction to object-oriented design.
Welcome to OBJECT ORIENTED PROGRAMMING Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Programming paradigms
Sachin Malhotra Saurabh Choudhary
The Movement To Objects
CHAPTER 5 GENERAL OOP CONCEPTS.
Sections Basic Concepts of Programming
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Object-Orientated Programming
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Review CSE116 2/21/2019 B.Ramamurthy.
Basic OOP Concepts and Terms
Chapter 5.
2.1 Introduction to Object-Oriented Programming
Appendix A Object-Oriented Analysis and Design
Information system analysis and design
Presentation transcript:

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott COMP6325 Advanced Web Technologies Dr. Paul Walcott The University of the West Indies Session 1 – An Introduction to Object Oriented Analysis and Design Summer 2008

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott Objectives  Define an object  Explain in your own words the three pillars of object oriented programming  Analyse the requirements of a system and document them using use cases  Design a system using design patterns  Construct UML diagrams for a system

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott The Motivation

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott The Early Days (Sintes 2002)  In the early days of programming, programming languages that were used included: Machine language  Instructions represented as binary numbers Assembly language  Mnemonics used (e.g. LDA #65, which loads the value 65 into a CPU register)

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott The Early Days Cont’d  These earlier languages were error prone  In addition, gathering and documenting requirements has been a challenge Earlier methods included the use of “shall” statements

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott The Early Days Cont’d  A new breed of languages based on procedures were developed, e.g. Fortran A procedure is “a portion of code within a larger program, which performs a specific task and is relatively independent of the remaining code “  Problems with this approach included: data and procedures were separated Limits code reuse

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott The Early Days Cont’d  In order to help to mitigate the problems with procedural languages, modular programming was introduced Programs are decomposed into modules which encapsulate data and procedures An interface allows external programs to access the internal data of the module  The values or meanings of this internal data (variables) define the state of the module

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott Object Oriented Programming (Sintes 2002)  Object oriented programming (OOP) simply adds inheritance and polymorphism to modular programming  In OOP the problem space is sub-divided into objects Entities with characteristics and behaviours  High level objects then interact by sending messages between each other

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott OOP Cont’d An Example  A simple queue can be represented by an object  This queue will have characteristics and behaviour Is the queue empty? This is a characteristic “Push an item onto the queue” is a behaviour

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott An object is an instance of a class

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott OOP Cont’d  “A class defines all the characteristics common to a type of object (Sintes 2002)”  A class is used to instantiate an object  Attributes are characteristics  Behaviour are actions objects perform when passed a message (a method is called)

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott OOP Cont’d Activity  What are some of the characteristics and behaviours of a vehicle?

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott OOP Cont’d  Classes have: Constructors – which initialises an object when it is instantiated Accessors – give access to internal data Mutators – change the state of an object

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott OOP Cont’d  The three pillars of OOP are: Encapsulation Inheritance Polymorphism

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott OOP Cont’d Encapsulation  Uses modules to: Hide implementation details Allow programmers to view software as a black box Publish an interface that lists the services provided by the black box  Encapsulation allows the implementation to be changed without affecting the interface

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott OOP Cont’d Inheritance  Allows a class to be based on another class The new class inherits attributes, behaviours and implementation New attributes and behaviours may be added OR, attributes and behaviours may be overridden  The “Is-a” test – is the inherited class of the same type – tells us whether to use inheritance  If you can not inherit use composition – simply create an instance of the class inside the new class

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott OOP Cont’d Polymorphism  This means the state of having many forms A single name can express different behaviours For example using the same method name, many different behaviours are exhibited

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott Unified Modeling Language (Fowler 2004)  Unified modeling language (UML) is a graphical design notation: Used to communicate and enhance understanding of (OO) systems Provides a high level of abstraction Is an open standard Controlled by the Object Management Group (OMG)

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott Unified Modeling Language Cont’d  UML has a number of diagram types:  Activity diagram – procedural and parallel behaviour  Class diagram – Class features, relationships  Sequence diagram – Interaction between objects  Use case – user interactions with the system

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott Use Cases  Use cases allow users to documents the requirements of a system  For an excellent treatment of use cases see Sendal & Strohmeier (2001) Sendal & Strohmeier (2001)

© 2008 Dr. Paul Walcott – The University of the West Indies: Cave Hill CampusDr. Paul Walcott References Fowler, M., “UML Distilled: A brief guide to the standard object modeling language”, Third Edition, 2004 Sendall, S. & Strohmeier, “Requirements Analysis with Use Cases”, Swiss Federal Institute of Technology in Lausanne, Available online at Sintes, A., “SAMS Teach yourself Object Oriented Programming in 21 days”, Second Edition, SAMS, 2002