Object-Oriented Introduction
|
|
- Leonard Lawson
- 5 years ago
- Views:
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 - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,
More informationadministrivia 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 informationAdvanced 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 informationAdvanced 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 informationIntroduction 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 informationCASE 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 informationUML & 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 informationOBJECT-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 informationUML & 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 informationCHAPTER 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 informationIngegneria 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 informationCredit 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 informationObject-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 informationExperiment 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 informationChapter 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 informationObject 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 informationLecture 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 informationObject-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 informationMAHARASHTRA 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 informationSystems 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 informationUML: 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 informationLecturer: 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 informationChapter 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 informationPertemuan 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 informationIntroduction 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 informationNOTES 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 informationCourse 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 informationChapter 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 informationIntroduction 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 information2.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 information2.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 informationMechEng 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 informationSOFTWARE 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 informationObject 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 informationSoftware 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 informationREVIEW 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 informationObject 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 informationCopyright 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 informationProgramming 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 informationSoftware 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 informationCopyright 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 informationModule 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 informationHistory 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 informationChapter 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 informationEnhanced 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 informationThe 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 informationCHAPTER 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 informationObject-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 informationLecture #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 informationObject 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 informationSession 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 informationChapter 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 informationLecture 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 informationJAVA: 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 informationFor 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 informationObjectives. 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 informationCSC 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 informationUniversity 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 information1. 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 informationUML 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 information3. 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 informationAgenda. 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 informationSHRI 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 informationChapter 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 informationAn 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 informationMIS 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 information2.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 informationObject-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 informationObject 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 informationFor 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 informationSRI 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 informationLab 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 informationChapter 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 informationChapter 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 informationSoftware 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 informationIntroducing 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 informationChapter 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 informationProgramming 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 informationUML 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 informationA - 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 informationObject-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 informationA 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 information1. 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 informationDesign 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 informationLecture 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 informationAn 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 informationModellistica 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 informationObject-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 informationObject 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 informationTextbook 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 informationOBJECT 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 informationIntroduction 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 information12 Tutorial on UML. TIMe TIMe Electronic Textbook
TIMe TIMe Electronic Textbook 12 Tutorial on UML Introduction......................................................2.................................................3 Diagrams in UML..................................................3
More informationChapter 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 informationObject- 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 informationSoftware 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 informationSoftware 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 informationECE 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 informationDesign 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 informationObjects 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