ADVANCED LINK AND ASSOCIATION CONCEPTS
|
|
- Cleopatra Berry
- 5 years ago
- Views:
Transcription
1 OBJECT We define an object as a concept, abs ration or thin g with crisp boundaries and meaning for the problem at hand. Object serve two purpose: They promote understanding of the real world and provide a practical basis for computer implementation. Decomposition of a problem into objects depend on judgment and the nature of the problem. All objects have identity and are distinguishable. Twins are two identical persons, even though they may look the same. The term identity means that objects are distinguished by their inherent existent and not by descriptive properties that they may have. The word object is often vaguely used in the literature. Sometime object means a single times it refers to a group of Similar things. Usually the context resolves any ambiguity. CLASSES An objects class describes a group of objects with similar properties, common behavior, common relationship to other objects and common semantics. The abbrevation class is often used instead of objects classes. Objects in a class have the Same attributes and behavior patterns. Most objects derive their individuality from difference in there attribute values and relationship to another. The objects in a class shares a common semantic purpose, above and beyond there equipment of common attributes and behavior. Each object "knows" its class. Most object oriented programming languages can determine an objects class at run time. If objects are the focus of object modeling why both wit h classes? The notation of abstraction at the heart of t e matter. By grouping into objects into classes, we abstract a problem. Abstraction gives modeling its power and ability to generalize from a few specific case to a host of similar cases. Operations can be written once per instances. Operation s can be written on e for each class, so that all the objects in the class benefits from code reuse. Even special cases, such as circles and squares, can use the general procedure, though more efficient procedures are possible. ADVANCED LINK AND ASSOCIATION CONCEPTS 1.Link Attributes An attribute IS a property of the objects in a class. Similarly, a link attribute is a property of the Iinks in an association Access permits $1 on Is an attribute of Accessible by. Each Iink
2 attribute has a value for each, as illustrated by the sample data at the bottom of the figure The OMT notation for a link attribute is a box attached to the association by a loop one or more link attributes may appear In the Second region of the box. This notation emphasizes the similarity between attributes for links. Many -to -many associations pro vi de the most compelling rati Dante for link attributes. Such an attribute is a property of the link and cannot be attached to either object. Access permission is a property of Yd e and User, and cannot b e attached to either File or User alone without I o sing Information Generalization and inheritance Generalization and inheritance are abstractions for sharing similarities among classes while preserving their differences. Generalization is the relation between a class an done or more refined version s of it. The class being refined is called the super class and each refined version is called a subclass attributes and operation common to a group of sub classes are attached to the super class an d shared by e ach subclass. Each subclass is said to inherit the features of its superclass. Generalization is sometime called " is a" :relationship because each Instance of subclass is an instance of superclass as well. Generalization and inheritance are transitive across an arbitrary number of levels. The term ancestor and descendent refer to generalization of classes across the multiple Ievels. An instance of a subclass is simultaneously an instance of its ancestor classes. Each subclass not only Inherits all the features of its ancestors but adds its on specific attributes and operations as well. The notation for generalization Is a triangle connecting a super class to its subclasses. The super class is connected by a line to the apex of the triangle. The subclasses are connected by Iines to a horizontal bar attached to the base of the triangle. Use of generalization Generalization is a useful constructor both modeling and implementation Generalization facilitates modeling by structuring classes and capturing what is similar and what is different about classes. Inheritance of operations is help full during implementation as a vehicle for reusing code. Object connected languages provide strong support for the notion of inheritance In contrast, Current database systems provide Iittle or no support for inheritance. Object connected database programming languages and extended relational database systems show promise of connecting this
3 situations. After modeling a system the developed at the resulting classes and these to group simliar classes and reuse common code. Aggregation Aggregation is a strong form of association. An aggregaton is a complex object, which is made up of component objects. The individual parts may or may not exist independently. Semantically it is an extended object that is treated as a unit. It adds semantic connotation in some cases. If objects are tightly bound in a part hole relationship it might be usefui to model the relationships as an aggregation. If not they shod be mode/led as normal relationships. The choice between using aggregation or not is one of judgement more then one of rules. Aggregation is not the same thing as generalization. In aggrega6on individual distinct objects is combined, one is part of the other. Generalization models the relationship subclass super-class. An object is simultaneously part of the both the subclass and the super-class. Both sub-class and superclass refer to the same object. Aggregation is seen as an part hole relationship and generalization is called "a kind of" or "is a". An aggregate can be fixed, variable or recursive. A fixed aggregate means that the number of subparts is predefined. In a variable aggregate the number of parts may vary. A recursive aggregate has directly or indirectly an instance of the same kind of aggregate. Propagation or triggering is a good indicator of aggregation. The trigger leads to the application of a network of operations. When moving an aggregate of its parts moves. Abstract classes An abstract class is a class that has no Instances but whose descendent classes have direct instances. A concrete class is a class that Is instantiable that is can Ieave direct instances. A concrete class may have abstrct classes. A concrete class may be a Ieaf class in the Inheritance tree only concrete classes may be the Ieaf class In the inheritance tree. The figure shows the definition o f abstract class an d concrete class. the dotted line IS the objct modeling notation for Instantiation. Abstract classes organize features to several classes. It is open useful to create an abstract Super class to encapsulate classes that participate In the association or aggregation. Zorne abstract classes appear naturally In the application domain. Other abstract classes are artificially introduced as a mechanism for promoting code rense.
4 LIZATION AS EXTENSION AND RESTRICTION An instance of a class is an instance of all ancestors of that class. Generalization implies that subclasses must bee an instantiation of all its ancestors. A subclass can not omit any inherited features and all ancestor operations must apply. However a subclass may implement operations, add new features, place constraints on ancestor attributes and rename inherited features. Class membership is either ruled by rules or explicit by enumeration. In ruled govern memberships defined the conditions for being a class member it is a ruled based membership. If the condition determining class membership is explicit by enumeration an attribute value determines class membership. A subclass may add new features. This is called extension. A subclass may also constrain ancestor attributes. This is called restriction because it restrict the values that instances can assume. Inherited features can be renamed in a restriction. The inherited major and minor axes of a circle must be equal and could be renamed the diameter. Changing an operation is called overriding. Overriding is done for: * extention in which case some extra behavior is added * restriction when the types of possible arguments is limited GE NE RA Overriding for extension: The new operation is same as the inherited operation, except adds some behavior, usually affecting new attributes of the subclass.
5 Overriding for restriction: The new operation restricts the protocol such astightening the type of arguments. This may necessary to keep the inherited operation closed with in the subclass. METADATA Meta data is data that describes other data. Models are inherently metadata, since they describe the things being modelled. Patterns and Metadata Real world things may be metadata. There are real world things that describe other realworld things, Iike a blueprint describes a house. Object Design During object design, developers define solution domain objects to bridge the gap between the analysis model and the hardware/software platform defined during system design. This includes precisely describing object and subsystem interfaces, selecting off-the-shelf components, restructuring the object model to attain design goals such' as extensibility or understandability, and optimizing the object model for performance. The result of the object design activity is a detailed object model annotated with constraints and precise descriptions for each clement. Object design includes reuse, during which we identify off-the-shelf components and design patterns to make use of existing solutions service specification, during which we precisely describe each class interface object model restructuring, during which we transform the object design model to improve its understandability and extensibility object model optimization, during which we transform the object design model to address performance criteria such as response time or memory utilization. Object design like system design is not algorithmic. Object design is not sequential. The interface specification activities of object design include
6 identifying missing attributes and operations specifying type signatures and visibility specifying invariants specifying preconditions and postconditions. Dynamic modeling Events and states An object model describes the possible patterns of objects, attributes and links that can exist in a system. The attribute values and links held by an object are called its state. Over time, the objects stimulate each other, resulting in a series of changes to their states. An individual stimulus from one objet to another is called an event. The pattern of events, states and state transitions for a given class can be abstracted and represented as a state diagram. The dynamic model consists of multiple state diagrams, one state diagram for each class with important dynamic behavior. Events An event is a something that happens at a point of time. An event has no duration. One event may logically precede or follow another, or the two events may be unrelated. Two events that are causally unrelated are said to be concurrent, they have no effect on each other. An event is one way transmission of information from one object to another. An object sending an event to another object may expect a reply, but the reply is a separate event under control of the second object, which may or may not choose to send it. An event conveys information from one object to another. Some classes of events may be simply signals that something has occurred, while other classes of events convey data values. The data values of an event are its attributes. Example of event classes and attributes
7 airplane flight departs (airline, flight num, city) mouse button pushed (button, location) input string entered(text) phone receiver lifted dialed(digit) speed enters danger zone digit engine Scenarios and event traces A scenario is a sequence of events that occurs during one particular execution of a system. The scope of scenario can vary; it may include all events in a system, or it may include only those events impinging on or generated by certain objects in a system. A scenario for a phone call Caller lifts receiver tone begins dials digit (5) tone ends Caller dials digit (5) Caller dials digit (5) Caller dials digit (1) Caller dials digit (2) Caller dials digit (3) Caller dials digit (4) Called phone begins ringing Ringing tone appears in calling phone Called party answers Called phone stops ringing Ringing tone disappears in calling phone Phones are connected Called party hangs up Dial Caller Dial
8 Phones are disconnected Caller hangs up Each event transmits information from one object to another. The next after writing a scenario is to identify the sender and receiver objects of each event. The sequence of events and the objects exchanging events can both be in an augmented scenario called an event trace diagram Event trace for a phone call Caller lifts receiver Dial tone begins Caller dials digit (5) Dial tone ends Caller dials digit (5) Caller dials digit (5) Caller dials digit (1) Caller dials digit (2) Caller dials digit (3) Caller dials digit (4) Ringing tone phone rings Answers phone Tone stops Phones connected ringing stops Phones connected
9 Callee hangs up Connection broken Connection broken Caller hangs up Caller phone line callee States A state is an abstraction of the attributes values and links of an object. Sets of values are grouped together into a state according to properties that affect the gross behavior of the object. A state specifies the response of the object to input events. The response to an event received by an object may vary quantitatively depending on the exact values of its attributes, but the responses are quantitatively the same for all values within the same state, and may be quantitatively different for values in different states. A state has duration it occupies an interval of time. A state is associated with a continuous activity. In defining state we ignore those attributes that do not affect the behavior of the object, and we lump together in a single state all combinations of attribute values and links that have the same responses to events. State diagrams A state diagram relates events and states. When an event is received the next state depends on the current state as well as event, a change of state caused by an event is called a transition. A state diagram is a graph whose nodes are states and whose directed arcs are transitions labeled by an event names. A state is drawn in rounded box containing an optional name. a transition is drawn as an arrow from the receiving state to the target state; the label on the arrow is the name of the events causing the transition. All the transitions leaving a state must correspond to different events. The state diagram specifies the state sequence
10 caused by an event sequence. It also represent one shot life cycles or continuous loops.
11
12 OPERATIONS Controlling Operations An activity is a operation that take time to complete. An activity is associated with a state. Activities include continuous operations as sequential operations that terminate by themselves after an interval of time. The notation "do: A" within a state box indicates that activity A starts on entry to the state and stop on exit. The same notation "do: A" indicates that sequential activity A begins on entry to the state and stop when complete. An action is an instantaneous operation. An action is associated with an event. An action represent an operation whose duration is insignificant compared to the resolution of the state diagram. A real-world operation is not really instantaneous. Actions can also represent internal control operations, such as getting attributes or generating other events.the notations for an action on a transition is a slash ('/') and the name of the action, following the name of the event causes it. Fig. Action for pop-up menu Fig. Summary of notation for unstructured state diagrams
13 state diagram for phone line
14 NESTED STATE DIAGRAMS State diagrams can be structured to permit concise descriptions of complex systems. The ways of structuring state machines are similar to the ways of structuring objects: generalization and aggregation. Generalization is equivalent to expanding nested activities. It allows an activity to be described at a high level, then expanding at lower level by adding details, similar to a nested procedure call. In addition, generalization allows state and events to be arranged in to generalization beer archies with inheritance of common structure and behavior, similar to inheritance of attributes and operations in classes. Aggregation allows a state to be broken in to orthogonal components, with limited interaction among them. Aggregation is equivalent to co n currency of states. Problems with Flat State Diagrams: State diagrams have often been criticized because they allegedly lack expensive power and impractical for large problems. These problems are true of flat, unstructured state diagrams. Consider an object with n in dependent Boolean attributes that affect control. Representing such an object with a single flat diagram require 2^n states. partitioning the state in to n independent state machines, however, only 2n states are required. Consider the state diagram shown in figure in which n^2 transitions are ne e de d to connect ever y state to every other state. If this model can be reformulated using structure, the number of transitions could be reduced as low as n.
15
16
17
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 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 informationUML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram
UML Fundamental NetFusion Tech. Co., Ltd. Jack Lee 2008/4/7 1 Use-case diagram Class diagram Sequence diagram OutLine Communication diagram State machine Activity diagram 2 1 What is UML? Unified Modeling
More informationUNIT-IV BASIC BEHAVIORAL MODELING-I
UNIT-IV BASIC BEHAVIORAL MODELING-I CONTENTS 1. Interactions Terms and Concepts Modeling Techniques 2. Interaction Diagrams Terms and Concepts Modeling Techniques Interactions: Terms and Concepts: An interaction
More informationFinite State Machines and Statecharts
Finite State Machines and Statecharts Hassan Gomaa Dept of Information & Software Engineering George Mason University Reference: H. Gomaa, Chapter 10 - Designing Concurrent, Distributed, and Real-Time
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 informationOMG Modeling Glossary B
OMG Modeling Glossary B This glossary defines the terms that are used to describe the Unified Modeling Language (UML) and the Meta Object Facility (MOF). In addition to UML and MOF specific terminology,
More informationInteractions A link message
Interactions An interaction is a behavior that is composed of a set of messages exchanged among a set of objects within a context to accomplish a purpose. A message specifies the communication between
More informationLesson 11. W.C.Udwela Department of Mathematics & Computer Science
Lesson 11 INTRODUCING UML W.C.Udwela Department of Mathematics & Computer Science Why we model? Central part of all the activities We build model to Communicate Visualize and control Better understand
More informationUNIT-4 Behavioral Diagrams
UNIT-4 Behavioral Diagrams P. P. Mahale Behavioral Diagrams Use Case Diagram high-level behaviors of the system, user goals, external entities: actors Sequence Diagram focus on time ordering of messages
More informationSequence Diagrams. Massimo Felici. Massimo Felici Sequence Diagrams c
Sequence Diagrams Massimo Felici What are Sequence Diagrams? Sequence Diagrams are interaction diagrams that detail how operations are carried out Interaction diagrams model important runtime interactions
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 informationSoftware Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/03/2015
Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 11/03/2015 http://cs.gsu.edu/~ncasturi1 Object Design Software Engineering -CSC4350/6350 - Rao Casturi 2 Object Design Close
More informationSoftware Engineering Fall 2014
Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 11/03/2014 Re Cap - Object Design Close the gap between the application objects and the off-the shelf components.
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 informationThe architecture of Eiffel software 3.1 OVERVIEW classes clusters systems
3 Draft 5.02.00-0, 15 August 2005 (Santa Barbara). Extracted from ongoing work on future third edition of Eiffel: The Language. Copyright Bertrand Meyer 1986-2005. Access restricted to purchasers of the
More informationObject-Oriented Systems Analysis and Design Using UML
10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand
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 informationUML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus
UML 2.0 Division of Computer Science, College of Computing Hanyang University ERICA Campus Introduction to UML 2.0 UML Unified Modeling Language Visual language for specifying, constructing and documenting
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 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 informationObject-Oriented Analysis and Design
Object-Oriented Analysis and Design 4 ADVANCED OBJECT MODELING Source: OBJECT-ORIENTED MODELING AND DESIGN James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, William Lorensen PAUL VOUGNY
More informationA Comparison of the Booch Method and Shlaer-Mellor OOA/RD
A Comparison of the Booch Method and Shlaer-Mellor OOA/RD Stephen J. Mellor Project Technology, Inc. 7400 N. Oracle Rd., Suite 365 Tucson Arizona 85704 520 544-2881 http://www.projtech.com 2 May 1993 The
More informationCompiler Theory. (Semantic Analysis and Run-Time Environments)
Compiler Theory (Semantic Analysis and Run-Time Environments) 005 Semantic Actions A compiler must do more than recognise whether a sentence belongs to the language of a grammar it must do something useful
More informationSTATE MACHINES. Figure 1: State Machines
STATE MACHINES Figure 1: State Machines state machine A state machine is a behavior that specifies the sequences of states an object goes through during its lifetime in response to events. Graphically,
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 informationMAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)
Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate
More informationM301: Software Systems & their Development. Unit 4: Inheritance, Composition and Polymorphism
Block 1: Introduction to Java Unit 4: Inheritance, Composition and Polymorphism Aims of the unit: Study and use the Java mechanisms that support reuse, in particular, inheritance and composition; Analyze
More informationSE 1: Software Requirements Specification and Analysis
SE 1: Software Requirements Specification and Analysis Lecture 9: UML Class (Concept), Object, Communication Diagrams Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445
More informationChapter 10 Classes Continued. Fundamentals of Java
Chapter 10 Classes Continued Objectives Know when it is appropriate to include class (static) variables and methods in a class. Understand the role of Java interfaces in a software system and define an
More informationCOP 3330 Final Exam Review
COP 3330 Final Exam Review I. The Basics (Chapters 2, 5, 6) a. comments b. identifiers, reserved words c. white space d. compilers vs. interpreters e. syntax, semantics f. errors i. syntax ii. run-time
More informationDeveloping Shlaer-Mellor Models Using UML
Developing Shlaer-Mellor Models Using UML Stephen J. Mellor Neil Lang Project Technology, Inc. 10940 Bigge Street San Leandro, California 94577 (510) 567-0255 http://www.projtech.com This position paper
More informationSuggested answers are provided below. These answers are presented top-down, left to right.
Answers to Key Terms Suggested answers are provided below. These answers are presented top-down, left to right. 5. Actor 16. Concrete class 39. Use case 13. Class-scope attribute 40. Use-case diagram 2.
More informationMotivation State Machines
Motivation State Machines Generating test cases for complex behaviour Textbook Reading: Chapter 7 We are interested in testing the behaviour of object-oriented software systems Behaviour: Interactions
More informationSolution / Answer B.Tech (Sixth Semester) Examination 2013 dated: Object Oriented System and Java Programming (IT3201) (Information Technology)
Solution / Answer B.Tech (Sixth Semester) Examination 2013 dated:7-5-13 Object Oriented System and Java Programming (IT3201) (Information Technology) Part-A (attempt all question) 20 marks Q.1: Objective
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 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 informationChapter 5 System modeling
Chapter 5 System Modeling Lecture 1 1 Topics covered Context models Interaction models Structural models Behavioral models Model-driven driven engineering 2 System modeling System modeling is the process
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 informationChapter 2: The Object-Oriented Design Process
Chapter 2: The Object-Oriented Design Process In this chapter, we will learn the development of software based on object-oriented design methodology. Chapter Topics From Problem to Code The Object and
More informationFinite State Machine Modeling for Software Product Lines. Finite State Machines and Statecharts
SWE 721 / IT 821 Advanced Software Design: Reusable Software Architectures Finite State Machine Modeling for Software Product Lines Hassan Gomaa Department of Information and Software Engineering George
More informationASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70
ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design Submitted by, Roll Numbers:-49-70 Functional Models The functional model specifies the results of a computation without specifying
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 informationChapter 6 Introduction to Defining Classes
Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of
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 informationProgramming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 43 Dynamic Binding (Polymorphism): Part III Welcome to Module
More informationOO Using UML: Dynamic Models
OO Using UML: Dynamic Models Defining how the objects behave Overview The object model describes the structure of the system (objects, attributes, and operations) The dynamic model describes how the objects
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 informationClass modelling (part 2)
Class modelling (part 2) Fabrizio Maria Maggi Institute of Computer Science (these slides are derived from the book Object-oriented modeling and design with UML ) Qualified Associations What is the meaning
More informationModelica Change Proposal MCP-0019 Flattening (In Development) Proposed Changes to the Modelica Language Specification Version 3.
Modelica Change Proposal MCP-0019 Flattening (In Development) Proposed Changes to the Modelica Language Specification Version 3.3 Revision 1 Table of Contents Preface 3 Chapter 1 Introduction 3 Chapter
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 informationInheritance (Chapter 7)
Inheritance (Chapter 7) Prof. Dr. Wolfgang Pree Department of Computer Science University of Salzburg cs.uni-salzburg.at Inheritance the soup of the day?! Inheritance combines three aspects: inheritance
More informationPromoting Component Reuse by Separating Transmission Policy from Implementation
Promoting Component Reuse by Separating Transmission Policy from Implementation Scott M. Walker scott@dcs.st-and.ac.uk Graham N. C. Kirby graham@dcs.st-and.ac.uk Alan Dearle al@dcs.st-and.ac.uk Stuart
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 informationSOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.
SOFTWARE ENGINEERING UML FUNDAMENTALS Saulius Ragaišis saulius.ragaisis@mif.vu.lt Information source Slides are prepared on the basis of Bernd Oestereich, Developing Software with UML: Object- Oriented
More informationObject Oriented Software Development CIS Today: Object Oriented Analysis
Object Oriented Software Development CIS 50-3 Marc Conrad D104 (Park Square Building) Marc.Conrad@luton.ac.uk Today: Object Oriented Analysis The most single important ability in object oriented analysis
More informationVidyalankar. T.Y. Diploma : Sem. VI [IF/CM] Object Oriented Modeling and Design Prelim Question Paper Solution
T.Y. Diploma : Sem. VI [IF/CM] Object Oriented Modeling and Design Prelim Question Paper Solution Q.1(a) Attempt any THREE of the following [12] Q.1(a) (i) What is modeling? Also state its four features.
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 informationSub- PPL Unit-I Class-SE Comp
1. We describe the basic concepts for structuring large programs (encapsulation, interfaces, information hiding) and the mechanisms provided by languages to support it (packaging, separate compilation).
More informationChapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin
Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain
More informationObject-Oriented Introduction
Object-Oriented Introduction Or: Your Honor, I Object... Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box 210104, Tucson, AZ 85721, USA August 22, 2012
More informationDesign by Contract in Eiffel
Design by Contract in Eiffel 2002/04/15 ctchen@canthink.com.com.tw.tw Reference & Resource Bertrand Meyer, Object-Oriented Oriented Software Construction 2nd,, 1997, PH. Bertrand Meyer, Eiffel: The Language,,
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 informationClass modelling (part 2)
Class modelling (part 2) Fabrizio Maria Maggi Institute of Computer Science (these slides are derived from the book Object-oriented modeling and design with UML ) Qualified Associations What is the meaning
More informationOO Using UML: Dynamic Models
OO Using UML: Dynamic Models Defining how the objects behave Overview The object model describes the structure of the system (objects, attributes, and operations) The dynamic model describes how the objects
More informationObject Relationships
Object Relationships Objects can work together in three different types of relationships: Uses: An object can use another to do some work (association). Composition: A complex object may be composed of
More informationB.6 Types and Overloading
266 appendix b: alloy language reference B.6 Types and Overloading Alloy s type system was designed with a different aim from that of a programming language. There is no notion in a modeling language of
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 information1 Executive Overview The Benefits and Objectives of BPDM
1 Executive Overview The Benefits and Objectives of BPDM This is an excerpt from the Final Submission BPDM document posted to OMG members on November 13 th 2006. The full version of the specification will
More informationExam in TDDB84: Design Patterns,
Exam in TDDB84: Design Patterns, 2014-10-24 14-18 Information Observe the following, or risk subtraction of points: 1) Write only the answer to one task on one sheet. Use only the front side of the sheets
More informationBBM 102 Introduction to Programming II Spring Inheritance
BBM 102 Introduction to Programming II Spring 2018 Inheritance 1 Today Inheritance Notion of subclasses and superclasses protected members UML Class Diagrams for inheritance 2 Inheritance A form of software
More informationUNIT-II Introduction to UML
UNIT-II Introduction to UML - P. P. Mahale UML OVERVIEW OF UML :- We need a Modeling Language! We will use the Unified Modeling Language, UML), Provides a standard for artifacts produced during development
More informationCOMMUNITIES USER MANUAL. Satori Team
COMMUNITIES USER MANUAL Satori Team Table of Contents Communities... 2 1. Introduction... 4 2. Roles and privileges.... 5 3. Process flow.... 6 4. Description... 8 a) Community page.... 9 b) Creating community
More informationAssoc. Prof. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.
Assoc. Prof. Marenglen Biba (C) 2010 Pearson Education, Inc. All Inheritance A form of software reuse in which a new class is created by absorbing an existing class s members and enriching them with
More informationLocal definitions and lexical scope
Local definitions and lexical scope Readings: HtDP, Intermezzo 3 (Section 18). Language level: Intermediate Student CS 135 Winter 2018 09: Local definitions and lexical scope 1 Local definitions The functions
More informationLocal definitions and lexical scope. Local definitions. Motivating local definitions. s(s a)(s b)(s c), where s = (a + b + c)/2.
Local definitions and lexical scope Readings: HtDP, Intermezzo 3 (Section 18). Language level: Intermediate Student CS 135 Winter 2018 09: Local definitions and lexical scope 1 Local definitions The functions
More informationLecture Notes on Programming Languages
Lecture Notes on Programming Languages 85 Lecture 09: Support for Object-Oriented Programming This lecture discusses how programming languages support object-oriented programming. Topics to be covered
More informationCS 221 Review. Mason Vail
CS 221 Review Mason Vail Inheritance (1) Every class - except the Object class - directly inherits from one parent class. Object is the only class with no parent. If a class does not declare a parent using
More informationCover Page. The handle holds various files of this Leiden University dissertation
Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue
More information)454 8 ).&/2-!4)/. 4%#(./,/'9 /0%. $)342)"54%$ 02/#%33).' 2%&%2%.#% -/$%, &/5.$!4)/.3
INTERNATIONAL TELECOMMUNICATION UNION )454 8 TELECOMMUNICATION (11/95) STANDARDIZATION SECTOR OF ITU $!4!.%47/2+3!.$ /0%. 3934%- #/--5.)#!4)/.3 /0%. $)342)"54%$ 02/#%33).' ).&/2-!4)/. 4%#(./,/'9 /0%. $)342)"54%$
More informationObject-oriented development. Object-oriented Design. Objectives. Characteristics of OOD. Interacting objects. Topics covered
Object-oriented development Object-oriented Design Object-oriented analysis, design and programming are related but distinct. OOA is concerned with developing an object model of the application domain.
More informationIntroduction Events States Transition State Diagrams State Diagram Behavior Advanced State Modeling In-Class Exercises.
State Models Or: Frenemies of the state: BYOB.... Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box 210104, Tucson, AZ 85721, USA August 27, 2012 Jonathan
More informationWeiss Chapter 1 terminology (parenthesized numbers are page numbers)
Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement
More informationInheritance Metrics: What do they Measure?
Inheritance Metrics: What do they Measure? G. Sri Krishna and Rushikesh K. Joshi Department of Computer Science and Engineering Indian Institute of Technology Bombay Mumbai, 400 076, India Email:{srikrishna,rkj}@cse.iitb.ac.in
More informationCS 307: Software Engineering. Lecture 9: Software Design (Coupling), Modeling Interactions and Behavior
CS 307: Software Engineering Lecture 9: Software Design (Coupling), Modeling Interactions and Behavior Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person
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 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 informationHardware versus software
Logic 1 Hardware versus software 2 In hardware such as chip design or architecture, designs are usually proven to be correct using proof tools In software, a program is very rarely proved correct Why?
More informationUNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?
Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------
More informationCourse "Softwaretechnik" Book Chapter 2 Modeling with UML
Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,
More informationInheritance (Outsource: )
(Outsource: 9-12 9-14) is a way to form new classes using classes that have already been defined. The new classes, known as derived classes, inherit attributes and behavior of the pre-existing classes,
More informationGraphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub
Lebanese University Faculty of Science Computer Science BS Degree Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub 2 Crash Course in JAVA Classes A Java
More informationArchitectural Blueprint
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 Architectural Blueprint
More informationUML REFERENCE SHEETS. 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site:
UML Reference Sheets 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site: http://www.tatanka.com/ Revision Information This document was last revised 2014.03.02. The current
More informationMAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) MODEL ANSWER
Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate
More informationProgramming Languages Third Edition. Chapter 7 Basic Semantics
Programming Languages Third Edition Chapter 7 Basic Semantics Objectives Understand attributes, binding, and semantic functions Understand declarations, blocks, and scope Learn how to construct a symbol
More informationInheritance, Polymorphism, and Interfaces
Inheritance, Polymorphism, and Interfaces Chapter 8 Inheritance Basics (ch.8 idea) Inheritance allows programmer to define a general superclass with certain properties (methods, fields/member variables)
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language
More informationCA314 Object Oriented Analysis & Design - 7. File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16
CA314 Object Oriented Analysis & Design - 7 File name: CA314_Section_07_Ver01 Author: L Tuohey No. of pages: 16 Table of Contents 7. UML State & Activity Diagrams (see ref 1, Chap. 11, 12)...3 7.1 Introduction...3
More informationJava Inheritance. Written by John Bell for CS 342, Spring Based on chapter 6 of Learning Java by Niemeyer & Leuck, and other sources.
Java Inheritance Written by John Bell for CS 342, Spring 2018 Based on chapter 6 of Learning Java by Niemeyer & Leuck, and other sources. Review Which of the following is true? A. Java classes may either
More information