1 Staffordshire UNIVERSITY School of Computing Slide: 1 Objects and Classes.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
Unified Modeling Language
ITEC200 – Week03 Inheritance and Class Hierarchies.
Chapter 1 Object-Oriented System Development
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design Copyright 2000 © John Wiley & Sons, Inc. All rights reserved. Slide 1 The.
Software Engineering 1 Provisional Revision Plan.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Chapter 14 (Web): Object-Oriented Data Modeling
Basic OOP Concepts and Terms
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Object Oriented Concepts. Movement toward Objects Instead of data-oriented or process-oriented Analysis, many firms are now moving to object-oriented.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Chapter 14: Object-Oriented Data Modeling
Object-Oriented Analysis and Design
Objects What are Objects Observations
Introduction To System Analysis and design
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 2: Modelling.
MT311 Java Application Development and Programming Languages Li Tak Sing( 李德成 )
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program.
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
Unified Modeling Language, Version 2.0
UML Class Diagrams and Caché CAMTA Meeting – 1 st December 2011 John Murray Senior Product Engineer.
CH06: Considering Objects TECH Computer Science  Set, Class, Type  …of…  Objects, Actors, Agents  Data and Actions Object-Oriented Design and Development.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 13 (Online): Object-Oriented Data Modeling Modern Database Management 10 th Edition.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
1 Staffordshire UNIVERSITY School of Computing Slide: 1 Introduction to O-O Introduction to Object-Orientation (O-O) & The Unified Modelling Language (UML)
1 Class Diagrams: Advanced Concepts. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are the most commonly used diagrams.
OBJECT-ORIENTED PROGRAMMING (OOP) WITH C++ Instructor: Dr. Hany H. Ammar Dept. of Electrical and Computer Engineering, WVU.
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.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Object-Oriented Data Modeling
CSCI-383 Object-Oriented Programming & Design Lecture 10.
CONTENT 1.Software Process 2.Object Technology 3.UML 4.UML For Java.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Unified Modeling Language, Version 2.0 Chapter 2.
AIXM 5 UML Modelling Conventions. AIXM is GML AIXM is an XML exchange standard based on a subset of GML. Essentially: –AIXM Features are GML features.
Chapter 16 UML Class Diagrams 1CS6359 Fall 2012 John Cole.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Lecture 2: Review of Object Orientation. © Lethbridge/La ganière 2005 Chapter 2: Review of Object Orientation What is Object Orientation? Procedural.
Chapter 7 Classes and Methods III: Static Methods and Variables Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition)
UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.
Basic Characteristics of Object-Oriented Systems
CSCE 240 – Intro to Software Engineering Lecture 3.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Inheritance Modern object-oriented (OO) programming languages provide 3 capabilities: encapsulation inheritance polymorphism which can improve the design,
UML Diagrams By Daniel Damaris Novarianto S..
Business System Development
The Movement To Objects
Main issues: • What do we want to build • How do we write this down
Object-Oriented Analysis and Design
Systems Analysis and Design With UML 2
Systems Analysis and Design With UML 2
Object Oriented Concepts
Object Oriented Analysis and Design
Lec 3: Object-Oriented Data Modeling
Software Engineering Lecture #11.
Mastering OOP Concepts
Basic OOP Concepts and Terms
Object Oriented System Design Class Diagrams
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:

1 Staffordshire UNIVERSITY School of Computing Slide: 1 Objects and Classes

2 Staffordshire UNIVERSITY School of Computing Slide: 2 Objects and Classes Lecture Objectives Explain the idea of Classes and Objects Explain how O-O systems differ from Structured systems in terms of internal functions. Explain the idea of:  Encapsulation  Inheritance  Polymorphism Explain the idea of  Inheritance/Generalisation  Association  Aggregation and Composition

3 Staffordshire UNIVERSITY School of Computing Slide: 3 Objects and Classes Classes and Objects Overview Define what type of ‘building blocks’ are used to construct an O-O based system, and the way that these building blocks fit together i.e., they define the system’s structure. Enable the unique features of O-O modelling:  Encapsulation  polymorphism  Inheritance. Form the basis of many other types of UML diagram e.g., sequence diagrams and state machine diagrams. Fundamental to O-O programming languages, therefore, they are the key link between the system design and its implementation.

4 Staffordshire UNIVERSITY School of Computing Slide: 4 Objects and Classes Classes and Objects Overview

5 Staffordshire UNIVERSITY School of Computing Slide: 5 Objects and Classes Classes and Objects Attribute Scope Underlined fields are “classifier” or static fields

6 Staffordshire UNIVERSITY School of Computing Slide: 6 Objects and Classes Classes and Objects Class Packages ‹Guillemet quotes› are used to denote a “stereotype” – extra type information. Note that ‹‹business›› is often considered as a default and left out.

7 Staffordshire UNIVERSITY School of Computing Slide: 7 Objects and Classes Classes and Objects Operations Note that instance object class diagram only shows important information

8 Staffordshire UNIVERSITY School of Computing Slide: 8 Objects and Classes Classes and Objects Encapsulation

9 Staffordshire UNIVERSITY School of Computing Slide: 9 Objects and Classes Classes and Objects Structured Systems vs O-O Design

10 Staffordshire UNIVERSITY School of Computing Slide: 10 Objects and Classes Classes and Objects Structured Systems Design Code: findAlbums Gototo record 1. test if titlecontains“Vol. 1” if so add it to the results list. Gototo record 2 … until all record tested Data: albums Data: albums Search for Albums Tab Data: results Data: results

11 Staffordshire UNIVERSITY School of Computing Slide: 11 Objects and Classes Classes and Objects OO System Design 2. addToAlbumList(artist=“My Artist”, title=“My Title”) 1. search(artist=“”, title=“*Vol 1*”, results=“Tab1:searchTab”)Tab1:searchTab :album

12 Staffordshire UNIVERSITY School of Computing Slide: 12 Objects and Classes Classes and Objects Finding Class Class Patterns Abbott analysis, otherwise known as a noun analysis. Involves looking though the documentation already generated about the system, and a particularly good source of information are the use case scripts but may also include e.g.:  Specifications  Notes from interviews  Questionnaire results

13 Staffordshire UNIVERSITY School of Computing Slide: 13 Objects and Classes Classes and Objects Finding Classes: Use Case Scripts

14 Staffordshire UNIVERSITY School of Computing Slide: 14 Objects and Classes Classes and Objects Class Hierarchies

15 Staffordshire UNIVERSITY School of Computing Slide: 15 Objects and Classes Classes and Objects Class Hierarchies

16 Staffordshire UNIVERSITY School of Computing Slide: 16 Objects and Classes Classes and Objects Class Hierarchies

17 Staffordshire UNIVERSITY School of Computing Slide: 17 Objects and Classes Classes and Objects Class Hierarchies

18 Staffordshire UNIVERSITY School of Computing Slide: 18 Objects and Classes Classes and Objects Polymorphism

19 Staffordshire UNIVERSITY School of Computing Slide: 19 Objects and Classes Classes and Objects Polymorphism

20 Staffordshire UNIVERSITY School of Computing Slide: 20 Objects and Classes Classes and Objects Links: Association

21 Staffordshire UNIVERSITY School of Computing Slide: 21 Objects and Classes Classes and Objects Links: Aggregation

22 Staffordshire UNIVERSITY School of Computing Slide: 22 Objects and Classes Classes and Objects Links: Composition

23 Staffordshire UNIVERSITY School of Computing Slide: 23 Objects and Classes Classes and Objects Link

24 Staffordshire UNIVERSITY School of Computing Slide: 24 Objects and Classes Classes and Objects Links

25 Staffordshire UNIVERSITY School of Computing Slide: 25 Objects and Classes Lecture Objectives Explain the idea of Classes and Objects Explain how O-O systems differ from Structured systems in terms of internal functions. Explain the idea of:  Encapsulation  Inheritance  Polymorphism Explain the idea of  Inheritance/Generalisation  Association  Aggregation and Composition

26 Staffordshire UNIVERSITY School of Computing Slide: 26 Objects and Classes Self-Test Questions What is the difference between a class and an object? What is the difference between an instance scoped attribute and a classifier scoped attribute? What are class packages, and why are they useful? What are class operations, and how are they invoked? What do we mean by the term encapsulation, and why is this a useful idea? What is the difference between the ways that data and code are treated in structured and O-O based systems? What are the common ways of identifying the classes for a system design? What do we mean by the terms inheritance, and what is another name for this term? What do we mean by the term super class? What is an abstract class? What is the main benefit of using a class hierarchy? What do we mean by the term polymorphism, and why is it a useful idea? How are associations, aggregations and compositions different from each other?