Object-Oriented Introduction

Size: px
Start display at page:

Download "Object-Oriented Introduction"

Transcription

1 Object-Oriented Introduction Or: Your Honor, I Object... Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box , Tucson, AZ 85721, USA August 22, 2012 Jonathan Sprinkle Object-Oriented Introduction 1

2 Abstract Abstract This lecture introduces the Kay criteria of an OO Language. It then provides some formal definitions of various OO Language properties, and discusses the kinds of UML models and diagrams which will become familiar in this course. Additional discussion is devoted to the foundations of class and object diagrams, along with examples. Jonathan Sprinkle Object-Oriented Introduction 2

3 Previously, on ECE Computers created to solve decision (logic) problems, with data stream in, and T/F outputs. Simultaneously evolved into computational engines Machine language created to automate computer construction HLLs created to make programming more like problem solving (and less like machine assembly) Later languages (e.g., C) evolved for purpose of easing compatibility concerns OO emerged from perspective of scalability (c.f. software crisis), and have benefitted distributability as well Jonathan Sprinkle Object-Oriented Introduction 3

4 Outline 1 An Object Oriented Manifesto? What s in an Object? Object-Oriented Definitions 2 Object-Oriented Development Development and Stages of Development 3 Kinds of models Structural Modeling Behavioral Modeling Interaction Modeling 4 The Class Diagram In the beginning... Graphical Notations 5 Inheritance Notation 6 Association Graphical Notations Jonathan Sprinkle Object-Oriented Introduction 4

5 What s in an Object? Tenets of an OO Language (per Alan Kay) 1 Everything is an object. 2 A program is a bunch of objects telling each other what to do by sending messages 3 Each object has its own memory, made up of other objects 4 Every object has a type 5 All objects of a particular type can receive the same message This list is very important. You should commit this list of characteristics of an OO language to memory. Jonathan Sprinkle Object-Oriented Introduction 5

6 What s in an Object? Tenets of an OO Language (per Alan Kay) 1 Everything is an object. 2 A program is a bunch of objects telling each other what to do by sending messages 3 Each object has its own memory, made up of other objects 4 Every object has a type 5 All objects of a particular type can receive the same message This list is very important. You should commit this list of characteristics of an OO language to memory. Jonathan Sprinkle Object-Oriented Introduction 6

7 What s in an Object? Tenets of an OO Language (per Alan Kay) 1 Everything is an object. 2 A program is a bunch of objects telling each other what to do by sending messages 3 Each object has its own memory, made up of other objects 4 Every object has a type 5 All objects of a particular type can receive the same message This list is very important. You should commit this list of characteristics of an OO language to memory. Jonathan Sprinkle Object-Oriented Introduction 7

8 What s in an Object? Tenets of an OO Language (per Alan Kay) 1 Everything is an object. 2 A program is a bunch of objects telling each other what to do by sending messages 3 Each object has its own memory, made up of other objects 4 Every object has a type 5 All objects of a particular type can receive the same message This list is very important. You should commit this list of characteristics of an OO language to memory. Jonathan Sprinkle Object-Oriented Introduction 8

9 What s in an Object? Tenets of an OO Language (per Alan Kay) 1 Everything is an object. 2 A program is a bunch of objects telling each other what to do by sending messages 3 Each object has its own memory, made up of other objects 4 Every object has a type 5 All objects of a particular type can receive the same message This list is very important. You should commit this list of characteristics of an OO language to memory. Jonathan Sprinkle Object-Oriented Introduction 9

10 Object-Oriented Definitions Definition: Object-Oriented Definition Object-Oriented (OO) means that software is organized as a collection of discrete objects which incorporate both data structure and behavior. Four characteristics which any OO language implements include identity, classification, inheritance, and polymorphism. Note: As we mentioned previously, data structure and behavior have not always been tightly coupled. As a classic example, C function calls always require data to be passed in, or must interact with global variables. Jonathan Sprinkle Object-Oriented Introduction 10

11 Object-Oriented Definitions Definition: Identity Definition Identity means that data is quantized into discrete, distinguishable entities called objects. Each object must have its own inherent identity, regardless of its state. Corollary Two objects, a, and b, both of which are instantiated from class C, are distinct even if all attribute values match. A few notes: this is required, since most OO languages are implemented through message passing, More to come on that in future lectures. Jonathan Sprinkle Object-Oriented Introduction 11

12 Object-Oriented Definitions Definition: Classification Definition Classification means that objects with the same data structures (i.e., attributes), and behavior (operations) may be grouped into a class. A class is an abstraction that describes properties that are important, and ignores the rest. Note: A class may describe a (potentially) infinite set of unique objects. Jonathan Sprinkle Object-Oriented Introduction 12

13 Object-Oriented Definitions Definition: Instance Definition An instance is an object that has been created from a class. Instantiation means the creation of an object (instance) from the class. i:c is shorthand for i is an instance of C Note: Instance and Object may be interchangeably used. Note: An object contains an implicit reference to its own class; i.e., it has self-awareness (knows what kind of thing it is). Jonathan Sprinkle Object-Oriented Introduction 13

14 Object-Oriented Definitions Definition: Inheritance Definition Inheritance is the sharing of attributes and operations (together called features) among classes, based on a hierarchical relationship of either subclass or superclass. Features describe the set of collected attributes and operations associated with a class. Jonathan Sprinkle Object-Oriented Introduction 14

15 Object-Oriented Definitions Definition: Super/Sub-class Definition A superclass has a general feature set which must exist for all subclasses. Definition A subclass is a refinement of a class. All features available to the superclass must be available to the subclass. Features that are created for the subclass are not available through the interface of the superclass. IS-A is used to denote a subclasss impersonation of its parent class: A square IS-A rectangle. Jonathan Sprinkle Object-Oriented Introduction 15

16 Object-Oriented Definitions Definition: Attribute Definition An attribute is a class that is contained by an owner class. When the owner class is instantiated, the attribute is an object. Jonathan Sprinkle Object-Oriented Introduction 16

17 Object-Oriented Definitions Definition: Polymorphism Definition Polymorphism means that the same operation may behave differently for different classes. Note: Permissions may be given to inheritance, operations, and attributes, to limit (or permit) interaction from other objects Jonathan Sprinkle Object-Oriented Introduction 17

18 Object-Oriented Definitions Definition: Operation Definition An operation is a procedure or transformation that an object performs or is subject to. An implementation of an operation by a specific class is called a method. Note: Due to inheritance, there may be more than one method that implements a specific operation, one for each of the inheriting classes. Jonathan Sprinkle Object-Oriented Introduction 18

19 Object-Oriented Definitions Definition: State Definition State is a snapshot of the program in its current execution, namely the collection of all states of all objects. Note: If operations are viewed to be atomic, then only attributes can be used to determine an object s state. Jonathan Sprinkle Object-Oriented Introduction 19

20 Object-Oriented Definitions Definition: Encapsulation Definition Encapsulation separates the external aspects/interface of an object from the internal implementation details. Encapsulation is also called information hiding. Jonathan Sprinkle Object-Oriented Introduction 20

21 Outline 1 An Object Oriented Manifesto? What s in an Object? Object-Oriented Definitions 2 Object-Oriented Development Development and Stages of Development 3 Kinds of models Structural Modeling Behavioral Modeling Interaction Modeling 4 The Class Diagram In the beginning... Graphical Notations 5 Inheritance Notation 6 Association Graphical Notations Jonathan Sprinkle Object-Oriented Introduction 21

22 Development and Stages of Development Definition: Development Definition Development refers to the software life-cycle: analysis, design, implementation, and maintenance. Important distinction for the emerging area of systems modeling: the same tools and notation can be used for analysis, design, and implementation modeling artifacts serve as documentation for the systems maintenance, and for refinement of the system as it is maintained Jonathan Sprinkle Object-Oriented Introduction 22

23 Development and Stages of Development Definition: Development Definition Development refers to the software life-cycle: analysis, design, implementation, and maintenance. Important distinction for the emerging area of systems modeling: the same tools and notation can be used for analysis, design, and implementation modeling artifacts serve as documentation for the systems maintenance, and for refinement of the system as it is maintained Jonathan Sprinkle Object-Oriented Introduction 23

24 Development and Stages of Development Impact of models on development Since the generic concepts of identity, classification, inheritance, and polymorphism are applicable to the system model, as well as the implementation model, there is less entropy created during the transformation from design to implementation. This entropy is further reduced in the ability to prototype a system using these models during the analysis phase as well. Jonathan Sprinkle Object-Oriented Introduction 24

25 Development and Stages of Development OO Methodology Stages, per Rumbaugh 1 System conception 2 Analysis 3 Design 4 Implementation 5 (Maintenance/Testing) Jonathan Sprinkle Object-Oriented Introduction 25

26 Development and Stages of Development Analysis (in detail) 1 System conception: concept of application by users, managers, or professors 2 Analysis: Requirements gathered Concept refined What, not how, of the system, is extracted Model divided in two: Domain model (concepts and models for operation) Application model (concepts and models for user interaction) 3 Design 4 Implementation Jonathan Sprinkle Object-Oriented Introduction 26

27 Development and Stages of Development Design (in detail) 1 System conception: concept of application by users, managers, or professors 2 Analysis 3 Design: System Design Architecture established Programming language(s) and middleware chosen Policies clarified (especially testing!) Performance estimates established, and vetted (i.e., bounds established) Class Design Analysis models extended to incorporate system design Application and Domain models expanded, clarified Data structures established 4 Implementation Jonathan Sprinkle Object-Oriented Introduction 27

28 Development and Stages of Development Implementation (in detail) 1 System conception: concept of application by users, managers, or professors 2 Analysis 3 Design 4 Implementation: Class Designs mapped to language(s) Databases implemented Hardware stand-up Software Engineering practices must be used! Jonathan Sprinkle Object-Oriented Introduction 28

29 Development and Stages of Development Comments on Rumbaugh Development Process Note that this list is very representative, but the complexity of software means that the implementation may be drastically different on different projects. Policies which are established in the design phase may need to be drastically changed if requirements are gathered too late, or assumptions are proved unjustified Note that testing should be considered in all design phases!! Jonathan Sprinkle Object-Oriented Introduction 29

30 Outline 1 An Object Oriented Manifesto? What s in an Object? Object-Oriented Definitions 2 Object-Oriented Development Development and Stages of Development 3 Kinds of models Structural Modeling Behavioral Modeling Interaction Modeling 4 The Class Diagram In the beginning... Graphical Notations 5 Inheritance Notation 6 Association Graphical Notations Jonathan Sprinkle Object-Oriented Introduction 30

31 Structural Modeling Class Models Definition The class model describes the static structure of the objects in a system, and their relationships. This class model is composed of class diagrams. Definition A class diagram is a graph whose nodes are classes and whose arcs are the relationships among classes. Definition An object diagram is a graph whose nodes are class instances and whose arcs are the relationships among objects. Jonathan Sprinkle Object-Oriented Introduction 31

32 Behavioral Modeling State Models Definition The state model describes the aspects of an object that change over time. This state model is composed of state diagrams. Definition A state diagram is a graph whose nodes are states, and whose arcs are transitions between states caused by events. Jonathan Sprinkle Object-Oriented Introduction 32

33 Interaction Modeling Interaction Models Definition The interaction model describes how the objects in a system cooperate to achieve broader results. Interaction models are useful in the analysis phase, and project conception phase. Purposes of interaction models include flesh out, before code is written, the cases in which the system is expected to operate; explicate what interaction (if any) is done with a user (or between objects); and sketch behaviors of objects informally, to estimate complexity of implementation Jonathan Sprinkle Object-Oriented Introduction 33

34 Interaction Modeling Use Cases Definition A use case is an interaction model which focuses on the functionality of a systemnamely what the system does for users, and is most important in the analysis phase. Jonathan Sprinkle Object-Oriented Introduction 34

35 Interaction Modeling Sequence Diagrams Definition A sequence diagram shows the objects that interact and the time sequence of their interactions, and is most important in the design phase Jonathan Sprinkle Object-Oriented Introduction 35

36 Interaction Modeling Activity Diagrams Definition An activity diagram elaborates important processing steps, and is most important in the analysis phase Jonathan Sprinkle Object-Oriented Introduction 36

37 Outline 1 An Object Oriented Manifesto? What s in an Object? Object-Oriented Definitions 2 Object-Oriented Development Development and Stages of Development 3 Kinds of models Structural Modeling Behavioral Modeling Interaction Modeling 4 The Class Diagram In the beginning... Graphical Notations 5 Inheritance Notation 6 Association Graphical Notations Jonathan Sprinkle Object-Oriented Introduction 37

38 In the beginning... there was the cloud Operation 1 Operation 2... Attribute 1 Attribute 2... Class A Figure: Booch Forecast: Cloudy Jonathan Sprinkle Object-Oriented Introduction 38

39 In the beginning... Booch-yah! Figure: Grady Booch Grady Booch, one of the founders of UML, devised a notation that could represent abstract data types (i.e., classes) graphically. This idea, coupled with the OMT of Rumbaugh, and the other contributions of Ivar Jacobsen, later created UML. But, before we digress, what was the purpose of class diagrams? Jonathan Sprinkle Object-Oriented Introduction 39

40 In the beginning... Inspi(red) In the beginning, class diagrams were an inspiration and documentation feature. diagrams could be drawn when performing the domain model and application model analysis used to flesh out the various classes required once classes were written, the final code was supplemented with a diagram describing the relationships between classes Jonathan Sprinkle Object-Oriented Introduction 40

41 In the beginning... If you can t stand the heat... When UML came together there were heated arguments about what a class should look like. Should the boundaries of a class should be wavy, to symbolize how software is cloud-like (e.g., an idea), or should they be rigid to symbolize how the class actually is? Jonathan Sprinkle Object-Oriented Introduction 41

42 In the beginning in the end. Regardless of whose idea was best, the following was finally settled on: Class Name attr attr : DataType[attMult] attr : DataType[attMult] = defaultvalue operation operation : ResultType operation( arg1:name1,... ) : ResultType Figure: A basic UML class Jonathan Sprinkle Object-Oriented Introduction 42

43 Graphical Notations Relationships Given this basic graphical notation, it is possible to show the following kinds of relationships between classes: Inheritance Association Encapsulation Jonathan Sprinkle Object-Oriented Introduction 43

44 Graphical Notations Other uses In addition, it is possible to use class diagrams for Comments Cardinality/multiplicity denotation Package hierarchy Role-based associations Access region specification Constraints We will delve into much of these extra details in future classes. Jonathan Sprinkle Object-Oriented Introduction 44

45 Outline 1 An Object Oriented Manifesto? What s in an Object? Object-Oriented Definitions 2 Object-Oriented Development Development and Stages of Development 3 Kinds of models Structural Modeling Behavioral Modeling Interaction Modeling 4 The Class Diagram In the beginning... Graphical Notations 5 Inheritance Notation 6 Association Graphical Notations Jonathan Sprinkle Object-Oriented Introduction 45

46 Notation Superclass Subclass Figure: Inheritance Notation Inheritance is denoted using the open triangle. The triangle points to the superclass, and extends to the subclass(es). It is considered appropriate to have extensions from a single triangle to multiple subclasses, or to have one triangle for each subclass (tool-specific, or users choice). Generally, superclasses are above the subclass on the diagram, but this is not semantically enforced, and in many cases may decrease readability. Inheritance fulfills the IS-A definitions. IS-A implies generalization or specialization between the base and derived class. A derived class can be treated like a base class object under all circumstances. Jonathan Sprinkle Object-Oriented Introduction 46

47 Notation Example 24 Example A GraduateStudent IS-A Student Student credits : int GraduateStudent passedquals : bool degreesought : string Jonathan Sprinkle Object-Oriented Introduction 47

48 Notation Example 25 Example A Student IS-A Person Person lastname : string birthdate : date address : string Student credits : int Jonathan Sprinkle Object-Oriented Introduction 48

49 Notation Example 26 Example A Truck IS-A Automobile Automobile mass : double cylinders : int start( ) : bool getspeed( ) : double settireangle( double ) Truck bedsize : double thirddoor : bool getmaxtow( ) : double istowing( ) : bool Jonathan Sprinkle Object-Oriented Introduction 49

50 Outline 1 An Object Oriented Manifesto? What s in an Object? Object-Oriented Definitions 2 Object-Oriented Development Development and Stages of Development 3 Kinds of models Structural Modeling Behavioral Modeling Interaction Modeling 4 The Class Diagram In the beginning... Graphical Notations 5 Inheritance Notation 6 Association Graphical Notations Jonathan Sprinkle Object-Oriented Introduction 50

51 Graphical Notations What is an association, again? An association is a relationship between classes, which (at runtime) is called a link. An association may have a resulting role and multiplicity that gives further information regarding the relationship. Associations are shown by a line in the class diagram, with optional rolenames and multiplicities. Example Student with a GetsScholarship association with a Foundation Student credits : int GetsScholarship Company name : string address : string Jonathan Sprinkle Object-Oriented Introduction 51

52 Graphical Notations Example 28 Example Student SitsAt Desk (1,1) Student credits : int SitsAt 1 1 Seats Desk Read: Student SitsAt 1 Desk ; or Desk Seats 1 Student Note: when multiplicities are omitted, they default to 1. Jonathan Sprinkle Object-Oriented Introduction 52

53 Nonsymmetric Multiplicities Example 29 Example A Student can tutor another Student (1:tutor, 1..*:tutee) Student credits : int tutor tutee 1..* Here we see how a class can have an association with itself. Note that the Student playing the role of tutor may not be the same as playing the role of tutee. Jonathan Sprinkle Object-Oriented Introduction 53

54 Nonsymmetric Multiplicities Example 30 An association may also be specialized by a particular class. This association class may provide more attributes to describe the association. Example Person, as a supervisor, Manage employees (0 or more Person) Person lastname : string birthdate : date address : string supervisor 0..1 employee 0..* Manage performancerating : int Jonathan Sprinkle Object-Oriented Introduction 54

55 Nonsymmetric Multiplicities Example 31 Example Person lastname : string birthdate : date address : string * 0..1 Job title : str salary : int Company name : string address : string Note that * and 0..* are interchangeable. Also, while rolenames are useful, they are only really required if an association is for the same class at each end. Jonathan Sprinkle Object-Oriented Introduction 55

56 Nonsymmetric Multiplicities Next time: Encapsulation examples Advanced details of Class Diagrams Read the chapters in Rumbaugh on Class Diagrams, and advanced Class Diagrams Jonathan Sprinkle Object-Oriented Introduction 56

UNIT-I Introduction of Object Oriented Modeling

UNIT-I Introduction of Object Oriented Modeling UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,

More information

administrivia today UML start design patterns Tuesday, September 28, 2010

administrivia today UML start design patterns Tuesday, September 28, 2010 administrivia Assignment 2? promise to get past assignment 1 back soon exam on monday review slides are posted your responsibility to review covers through last week today UML start design patterns 1 Unified

More information

Advanced UML Class Models

Advanced UML Class Models Advanced UML Class Models Or: Love s Labors Lost Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box 210104, Tucson, AZ 85721, USA August 27, 2012 Jonathan

More information

Advanced Class Diagrams and Intro to Interaction Modeling

Advanced Class Diagrams and Intro to Interaction Modeling Advanced Class Diagrams and Intro to Interaction Modeling Or: Advance to Illinois Avenue. Do not pass Go. Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO

More information

Introduction to Software Engineering. 5. Modeling Objects and Classes

Introduction to Software Engineering. 5. Modeling Objects and Classes Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities

More information

CASE TOOLS LAB VIVA QUESTION

CASE TOOLS LAB VIVA QUESTION 1. Define Object Oriented Analysis? VIVA QUESTION Object Oriented Analysis (OOA) is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary

More information

UML & OO Fundamentals. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012

UML & OO Fundamentals. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012 UML & OO Fundamentals CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 3 09/04/2012 1 Goals of the Lecture Review the material in Chapter 2 of the Textbook Cover key parts of the UML notation

More information

OBJECT-ORIENTED MODELING AND DESIGN. Introduction

OBJECT-ORIENTED MODELING AND DESIGN. Introduction OBJECT-ORIENTED MODELING AND DESIGN Introduction Contents: Introduction. Course Relevance Learning Outcomes Overview of the syllabus Introduction to Object Orientation Introduction Object Oriented Approach

More information

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011 UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011 1 Goals of the Lecture Review the material in Chapter 2 of the Textbook Cover key parts of the UML notation

More information

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

More information

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects Lecture 4: Fundamentals of Object Technology Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

More information

Experiment no 4 Study of Class Diagram in Rational Rose

Experiment no 4 Study of Class Diagram in Rational Rose Experiment no 4 Study of Class Diagram in Rational Rose Objective-: To studyclass Diagram in Rational Rose. References-: www.developer.com The Unified Modeling Language User Guide by Grady Booch Mastering

More information

Chapter 11 Object and Object- Relational Databases

Chapter 11 Object and Object- Relational Databases Chapter 11 Object and Object- Relational Databases Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Outline Overview of Object Database Concepts Object-Relational

More information

Object Oriented System Development

Object Oriented System Development Object Oriented System Development Ratna Wardani Semester Genap, 2012 2/26/2012 Ratna W/PSBO2012 1 About This Course It shows how to apply OOAD technique to analyze and develop systems.. It gives you an

More information

Lecture 13: Object orientation. Object oriented programming. Introduction. Object oriented programming. OO and ADT:s. Introduction

Lecture 13: Object orientation. Object oriented programming. Introduction. Object oriented programming. OO and ADT:s. Introduction Lecture 13: Object orientation Object oriented programming Introduction, types of OO languages Key concepts: Encapsulation, Inheritance, Dynamic binding & polymorphism Other design issues Smalltalk OO

More information

Object-Oriented Programming. Objects. Objects. Objects

Object-Oriented Programming. Objects. Objects. Objects References: Beginning Java by Jacquie Barker; Designing Object-Oriented Software by Rebecca Wirfs- Brock;Object-oriented Analysis & Design by Grady Booch; Sara Stoecklin Object Oriented Programming defined

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Subject Code: 17630 Model Answer Page No: 1 /32 Important Instructions to examiners: 1) The answers should be examined by keywords and not as word-to-word as given in the model answer scheme. 2) The model

More information

Systems Analysis & Design

Systems Analysis & Design Systems Analysis & Design Dr. Ahmed Lawgali Ahmed.lawgali@uob.edu.ly Slide 1 Systems Analysis & Design Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition

More information

UML: Unified Modeling Language

UML: Unified Modeling Language UML: Unified Modeling Language 1 Modeling Describing a system at a high level of abstraction A model of the system Used for requirements and specification Many notations over time State machines Entity-relationship

More information

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:

Lecturer: Sebastian Coope Ashton Building, Room G.18   COMP 201 web-page: Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 17 Concepts of Object Oriented Design Object-Oriented

More information

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Classes, Class Diagrams Values and Attributes Operations

More information

Pertemuan 8. Object Oriented Modeling and Design

Pertemuan 8. Object Oriented Modeling and Design Pertemuan 8 Object Oriented Modeling and Design References Rumbaugh, James et al., Object Oriented Modeling and Design, 1991, Prentice Hall, Inc., USA, ISBN: 0 13 629841 9 9 Coad, Peter and Yourdon, Edward,

More information

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University Introduction to Computers and Programming Languages CS 180 Sunil Prabhakar Department of Computer Science Purdue University 1 Objectives This week we will study: The notion of hardware and software Programming

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

Course 3 7 March

Course 3 7 March Course 3 7 March adiftene@info.uaic.ro 1 From Courses 1, 2 Modeling Modeling Languages Graphic Languages UML History UML Definition UML Diagram Types UML Use Case Diagram Actors Use Case UML Class Diagrams

More information

Chapter 4. Enhanced Entity- Relationship Modeling. Enhanced-ER (EER) Model Concepts. Subclasses and Superclasses (1)

Chapter 4. Enhanced Entity- Relationship Modeling. Enhanced-ER (EER) Model Concepts. Subclasses and Superclasses (1) Chapter 4 Enhanced Entity- Relationship Modeling Enhanced-ER (EER) Model Concepts Includes all modeling concepts of basic ER Additional concepts: subclasses/superclasses, specialization/generalization,

More information

Introduction to Software Engineering. 5. Modeling Objects and Classes

Introduction to Software Engineering. 5. Modeling Objects and Classes Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities

More information

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold. T0/06-6 revision 2 Date: May 22, 2006 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular documentation

More information

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold. T0/04-023 revision 2 Date: September 06, 2005 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular

More information

MechEng SE3 Lecture 7 Domain Modelling

MechEng SE3 Lecture 7 Domain Modelling MechEng SE3 Lecture 7 Domain Modelling Simon Gay (slides by Phil Gray) 17 February 2010 1 This week s supplementary reading Zero Balances and Zero Responsibility Michael Bolton http://www.developsense.com/essays/zero.html

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

Object Model. Object Orientated Analysis and Design. Benjamin Kenwright

Object Model. Object Orientated Analysis and Design. Benjamin Kenwright Object Model Object Orientated Analysis and Design Benjamin Kenwright Outline Submissions/Quizzes Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean

More information

Software Engineering Lab Manual

Software Engineering Lab Manual Kingdom of Saudi Arabia Ministry Education Prince Sattam Bin Abdulaziz University College of Computer Engineering and Sciences Department of Computer Science Software Engineering Lab Manual 1 Background:-

More information

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION

REVIEW OF THE BASIC CHARACTERISTICS OF OBJECT ORIENTATION c08classandmethoddesign.indd Page 282 13/12/14 2:57 PM user 282 Chapter 8 Class and Method Design acceptance of UML as a standard object notation, standardized approaches based on work of many object methodologists

More information

Object Oriented Issues in VDM++

Object Oriented Issues in VDM++ Object Oriented Issues in VDM++ Nick Battle, Fujitsu UK (nick.battle@uk.fujitsu.com) Background VDMJ implemented VDM-SL first (started late 2007) Formally defined. Very few semantic problems VDM++ support

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe CHAPTER 4 Enhanced Entity-Relationship (EER) Modeling Slide 1-2 Chapter Outline EER stands for Enhanced ER or Extended ER EER Model Concepts Includes all modeling concepts of basic ER Additional concepts:

More information

Programming Language Concepts Object-Oriented Programming. Janyl Jumadinova 28 February, 2017

Programming Language Concepts Object-Oriented Programming. Janyl Jumadinova 28 February, 2017 Programming Language Concepts Object-Oriented Programming Janyl Jumadinova 28 February, 2017 Three Properties of Object-Oriented Languages: Encapsulation Inheritance Dynamic method binding (polymorphism)

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database Extensions to SQL ODMG Object Model and the Object Definition Language ODL Object Database Conceptual

More information

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation Module Outline Fundamentals of Object Positioning Object Oriented Analysis Fundamentals of Object 1. Encapsulation 2. Abstraction 3. Inheritance 4. Polymorphism The need of Modeling Unified modeling language

More information

History of object-oriented approaches

History of object-oriented approaches Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented

More information

Chapter 2: Entity-Relationship Model

Chapter 2: Entity-Relationship Model Chapter 2: Entity-Relationship Model! Entity Sets! Relationship Sets! Design Issues! Mapping Constraints! Keys! E-R Diagram! Extended E-R Features! Design of an E-R Database Schema! Reduction of an E-R

More information

Enhanced Entity-Relationship (EER) Modeling

Enhanced Entity-Relationship (EER) Modeling CHAPTER 4 Enhanced Entity-Relationship (EER) Modeling Copyright 2017 Ramez Elmasri and Shamkant B. Navathe Slide 1-2 Chapter Outline EER stands for Enhanced ER or Extended ER EER Model Concepts Includes

More information

The OO Solution. Objects

The OO Solution. Objects C870: Cheng The OO Solution The OO model closely resembles the problem domain Base your model on the objects in the problem domain Iteratively refine the high-level model until you have an implementation

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

Object-Oriented Programming

Object-Oriented Programming References: Beginning Java Objects by Jacquie Barker; Designing Object-Oriented Software by Rebecca Wirfs- Brock;Object-oriented Analysis & Design by Grady Booch; Sara Stoecklin 9/11/2003 1 Object Oriented

More information

Lecture #2 on Object-Oriented Modeling

Lecture #2 on Object-Oriented Modeling Outline Lecture #2 on Object-Oriented Modeling Thierry Géraud EPITA Research and Development Laboratory (LRDE) 2006 Thierry Géraud Lecture #2 on Object-Oriented Modeling EPITA-LRDE 2006 1 / 38 Outline

More information

Object Orientated Analysis and Design. Benjamin Kenwright

Object Orientated Analysis and Design. Benjamin Kenwright Notation Part 2 Object Orientated Analysis and Design Benjamin Kenwright Outline Review What do we mean by Notation and UML? Types of UML View Continue UML Diagram Types Conclusion and Discussion Summary

More information

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language?

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language? Session 8: UML The Unified Modeling (or the Unstructured Muddling) language? A few observations, opinions, pros & cons COMP 320 / 420 Spring, 2018 Mr. Weisert Where did the UML come from? Object-oriented

More information

Chapter 8: Enhanced ER Model

Chapter 8: Enhanced ER Model Chapter 8: Enhanced ER Model Subclasses, Superclasses, and Inheritance Specialization and Generalization Constraints and Characteristics of Specialization and Generalization Hierarchies Modeling of UNION

More information

Lecture 2 and 3: Fundamental Object-Oriented Concepts Kenneth M. Anderson

Lecture 2 and 3: Fundamental Object-Oriented Concepts Kenneth M. Anderson Lecture 2 and 3: Fundamental Object-Oriented Concepts Kenneth M. Anderson January 13, 2005 January 18, 2005 1 of 38 Lecture Goals Introduce the basic concepts of object-oriented analysis/design/programming

More information

JAVA: A Primer. By: Amrita Rajagopal

JAVA: A Primer. By: Amrita Rajagopal JAVA: A Primer By: Amrita Rajagopal 1 Some facts about JAVA JAVA is an Object Oriented Programming language (OOP) Everything in Java is an object application-- a Java program that executes independently

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: , Q.1 What is Object Orientation? Explain the concept of class, objects, instance, generalization, and associations. Ans :-- In the past, information systems used to be defined primarily by their functionality:

More information

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers

More information

CSC Advanced Object Oriented Programming, Spring Overview

CSC Advanced Object Oriented Programming, Spring Overview CSC 520 - Advanced Object Oriented Programming, Spring 2018 Overview Brief History 1960: Simula first object oriented language developed by researchers at the Norwegian Computing Center. 1970: Alan Kay

More information

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far

University of Calgary Department of Electrical and Computer Engineering. SENG : Object Oriented Analysis and Design Behrouz Homayoun Far University of Calgary Department of Electrical and Computer Engineering SENG 609.23: Object Oriented Analysis and Design Behrouz Homayoun Far Evaluation Test () 20:00 20:30 PM Instructions: 1. This booklet

More information

1. Software Systems Complexity, OO Paradigm, UML

1. Software Systems Complexity, OO Paradigm, UML 1. Software Systems Complexity, OO Paradigm, UML Software Systems Complexity Inherent Arbitrary Complexity Problem Domain Complexity Expressing the Requirements Changing Requirements System Evolution -

More information

UML Primer. -Elango Sundaram

UML Primer. -Elango Sundaram UML Primer -Elango Sundaram About UML UML Can be thought of as a blue print for Software Graphical notation for expressing underlying OOA&D ideas Can be used to design any type of application, hardware,

More information

3. Object-Oriented Databases

3. Object-Oriented Databases 3. Object-Oriented Databases Weaknesses of Relational DBMSs Poor representation of 'real world' entities Poor support for integrity and business rules Homogenous data structure Limited operations Difficulty

More information

Agenda. Why Model. Why Model? History of OO Modeling Methodologies Object Modeling Technique (OMT) Unified Modeling Language (UML)

Agenda. Why Model. Why Model? History of OO Modeling Methodologies Object Modeling Technique (OMT) Unified Modeling Language (UML) Agenda Why Model? History of OO Modeling Methodologies Object Modeling Technique (OMT) Why Model def n: simplification of reality Create a Successful Product Aids in Better Understanding of System Attack

More information

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY-621105. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 1301-OBJECT ORIENTED ANALYSIS AND

More information

Chapter 3 System Models

Chapter 3 System Models March 16, 2009 Introduction Graphical models aid in requirements and development Introduction Graphical models aid in requirements and development Different perspectives are possible: external: context

More information

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram After studying this chapter you should be able to: Define an object. Understand the terms

More information

MIS Database Systems Entity-Relationship Model.

MIS Database Systems Entity-Relationship Model. MIS 335 - Database Systems Entity-Relationship Model http://www.mis.boun.edu.tr/durahim/ Ahmet Onur Durahim Learning Objectives Database Design Main concepts in the ER model? ER Diagrams Database Design

More information

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold.

2.0.3 attributes: A named property of a class that describes the range of values that the class or its instances (i.e., objects) may hold. T0/06-6 revision 0 Date: March 0, 2006 To: T0 Committee (SCSI) From: George Penokie (IBM/Tivoli) Subject: SAM-4: Converting to UML part Overview The current SCSI architecture follows no particular documentation

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

Object Fundamentals, Part One. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 2 08/27/2009

Object Fundamentals, Part One. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 2 08/27/2009 Object Fundamentals, Part One Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 2 08/27/2009 1 Lecture Goals Introduce basic concepts, terminology, and notations for object-oriented

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : , Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,

More information

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A 1. What is an object? An object is a combination of data and logic; the representation of some realworld

More information

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester Lab Manual Object Oriented Analysis And Design TE(Computer) VI semester Index Sr. No. Title of Programming Assignment Page No. 1 2 3 4 5 6 7 8 9 10 Study of Use Case Diagram Study of Activity Diagram Study

More information

Chapter 1: Object-Oriented Programming Using C++

Chapter 1: Object-Oriented Programming Using C++ Chapter 1: Object-Oriented Programming Using C++ Objectives Looking ahead in this chapter, we ll consider: Abstract Data Types Encapsulation Inheritance Pointers Polymorphism Data Structures and Algorithms

More information

Chapter 8: Class and Method Design

Chapter 8: Class and Method Design Chapter 8: Class and Method Design Objectives Become familiar with coupling, cohesion, and connascence. Be able to specify, restructure, and optimize object designs. Be able to identify the reuse of predefined

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based

More information

Introducing the UML Eng. Mohammed T. Abo Alroos

Introducing the UML Eng. Mohammed T. Abo Alroos Introducing the UML Eng. Mohammed T. Abo Alroos Islamic University of Gaza Introduction to the UML: The UML stands for Unified Modeling Language. It was released in 1997 as a method to diagram software

More information

Chapter 5 Object-Oriented Programming

Chapter 5 Object-Oriented Programming Chapter 5 Object-Oriented Programming Develop code that implements tight encapsulation, loose coupling, and high cohesion Develop code that demonstrates the use of polymorphism Develop code that declares

More information

Programming Language Constructs as Basis for Software Architectures. Stefan Resmerita, WS2015

Programming Language Constructs as Basis for Software Architectures. Stefan Resmerita, WS2015 Programming Language Constructs as Basis for Software Architectures 1 From individual parts to components In the 50s: Machine/Assembler programs: bound to specific hardware In the 60s-70s: Higher programming

More information

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc. UML Modeling UML diagrams UML (Unified Modeling Language) is a general purpose visual modeling language that provides different types of diagrammatic techniques and notations to specify, visualize, analyze,

More information

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models CS 494 Object-Oriented Analysis & Design UML Class Models Overview How class models are used? Perspectives Classes: attributes and operations Associations Multiplicity Generalization and Inheritance Aggregation

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 9: Generalization/Specialization 1 Analysis Workflow: Analyze a Use Case The analysis workflow consists of the following activities: Architectural

More information

A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN

A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN A STUDY OF OBJECT ORIENTED ANALYSIS AND DESIGN GARJE RAKESH RAMESHRAO RESEARCH SCHOLAR, DEPT. OF COMPUTER SCIENCE CMJ UNIVERSITY, SHILLONG, MEGHALAYA INTRODUCTION Object-oriented Analysis and Design is

More information

1. Write two major differences between Object-oriented programming and procedural programming?

1. Write two major differences between Object-oriented programming and procedural programming? 1. Write two major differences between Object-oriented programming and procedural programming? A procedural program is written as a list of instructions, telling the computer, step-by-step, what to do:

More information

Design Concepts. Slide Set to accompany. Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman

Design Concepts. Slide Set to accompany. Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Chapter 8 Design Concepts Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit educational

More information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

An Example in Data Modeling in UML

An Example in Data Modeling in UML An Example in Data Modeling in UML Data modeling is a difficult topic for many students to learn and also for an instructor to teach. This full example shows the nuances of data modeling and discusses

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 6 UML Introduction Structural diagrams Basics What is? Please explain

More information

Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci)

Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci) Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci) Sung Hee Park Department of Mathematics and Computer Science Virginia State University September 18, 2012 The Object-Oriented Paradigm

More information

Object Oriented Modeling

Object Oriented Modeling Overview UML Unified Modeling Language What is Modeling? What is UML? A brief history of UML Understanding the basics of UML UML diagrams UML Modeling tools 2 Modeling Object Oriented Modeling Describing

More information

Textbook Charles Petzold, Programming Windows, 5th edition, Microsoft Press. References - other textbooks or materials none

Textbook Charles Petzold, Programming Windows, 5th edition, Microsoft Press. References - other textbooks or materials none CS351 Systems Programming Last Updated - 03/01/02 Course Manager Dr. Phil Dickens, Assistant Professor 3 credit hours; required for CS & CPE; 100 min. lecture & 100 min. lab each week Current Catalog Description

More information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance

More information

Introduction to Unified Modelling Language (UML)

Introduction to Unified Modelling Language (UML) IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Introduction to Unified

More information

12 Tutorial on UML. TIMe TIMe Electronic Textbook

12 Tutorial on UML. TIMe TIMe Electronic Textbook TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3

More information

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

More information

Object- Oriented Design with UML and Java Part I: Fundamentals

Object- Oriented Design with UML and Java Part I: Fundamentals Object- Oriented Design with UML and Java Part I: Fundamentals University of Colorado 1999-2002 CSCI-4448 - Object-Oriented Programming and Design These notes as free PDF files: http://www.softwarefederation.com/cs4448.html

More information

Software Paradigms (Lesson 3) Object-Oriented Paradigm (2)

Software Paradigms (Lesson 3) Object-Oriented Paradigm (2) Software Paradigms (Lesson 3) Object-Oriented Paradigm (2) Table of Contents 1 Reusing Classes... 2 1.1 Composition... 2 1.2 Inheritance... 4 1.2.1 Extending Classes... 5 1.2.2 Method Overriding... 7 1.2.3

More information

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D. Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice

More information

ECE 449 OOP and Computer Simulation Lecture 11 Design Patterns

ECE 449 OOP and Computer Simulation Lecture 11 Design Patterns ECE 449 Object-Oriented Programming and Computer Simulation, Fall 2017, Dept. of ECE, IIT 1/60 ECE 449 OOP and Computer Simulation Lecture 11 Design Patterns Professor Jia Wang Department of Electrical

More information

Design Engineering. Dr. Marouane Kessentini Department of Computer Science

Design Engineering. Dr. Marouane Kessentini Department of Computer Science Design Engineering Dr. Marouane Kessentini Department of Computer Science 1 Design Starts mostly from/with requirements (evolving mostly from functionalities and other non functional characteristics) How

More information

Objects as Session-Typed Processes

Objects as Session-Typed Processes Objects as Session-Typed Processes Stephanie Balzer and Frank Pfenning Computer Science Department, Carnegie Mellon University AGERE! 2015 The essence of object-orientation 2 The essence of object-orientation

More information