Chapter 4 Advanced Class Modeling

Slides:



Advertisements
Similar presentations
UML (cont.) “The Unified Modeling Language User Guide” by G. Booch, J. Rumbaugh and I. Jacobson ● Classes ● Relationships ● Class diagrams ● Examples.
Advertisements

Computer Science Dept. Fall 2003 Object models Object models describe the system in terms of object classes An object class is an abstraction over a set.
Stereotypes Stereotypes provide the capability to create a new kind of modeling element. –They can be used to classify or mark modeling elements. –A type.
Object-Oriented Analysis and Design: Object Modeling – Class Diagrams
Generalization and Inheritance Definition Use of Generalization Overriding Features.
ITEC200 – Week03 Inheritance and Class Hierarchies.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
1 Software Testing and Quality Assurance Lecture 12 - The Testing Perspective (Chapter 2, A Practical Guide to Testing Object-Oriented Software)
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 The Enhanced Entity- Relationship (EER) Model.
Chapter 14 (Web): Object-Oriented Data Modeling
Detail Design Extending UML and Object Design. Object Design.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
Chapter 4: Object-Oriented Data Modeling
UML class diagrams (1) UML = Unified Modeling Language We use only class diagrams, not other UML diagrams Purpose: –keep OO concepts separate from implementation.
Chapter 14: Object-Oriented Data Modeling
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
Chapter 41 Enhanced Entity-Relationship and Object Modeling.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 The Enhanced Entity- Relationship (EER) Model.
Chapter 14: Object-Oriented Data Modeling
Lawrence ChungCS6359.0T1: Module 41 Module 4: Relationships.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 8 Slide 1 Chapter 9 Structuring System Data Requirements.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
11 Software Engineering Dr. K. T. Tsang Lecture 7 Advanced class modeling
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
R McFadyen Chapter 7 Conceptual Data Modeling.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 - Domain Classes.
Lab 04.
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
CHAPTER 13 (ONLINE): OBJECT-ORIENTED DATA MODELING © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
1 © Prentice Hall, 2002 Chapter 14: Object-Oriented Data Modeling Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R.
7-1 © Prentice Hall, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
Unit 3 Conceptual Data Modeling. Key Concepts Conceptual data modeling process Classes and objects Attributes Identifiers, candidate keys, and primary.
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 13 (Online): Object-Oriented Data Modeling Modern Database Management 10 th Edition.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Structural Modeling Chapter 7. Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in.
Object-Oriented Data Modeling
Design Model Lecture p6 T120B pavasario sem.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Object-Oriented Analysis and Design CHAPTERS 9, 31: DOMAIN MODELS 1.
Class diagrams Terézia Mézešová.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Inheritance and Class Hierarchies Chapter 3. Chapter 3: Inheritance and Class Hierarchies2 Chapter Objectives To understand inheritance and how it facilitates.
Java Programming, Second Edition Chapter Twelve Advanced Inheritance Concepts.
ADVANCED CLASS MODELING
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) Modern Database Management 11 th Edition Jeffrey A. Hoffer, V. Ramesh, Heikki Topi © 2013 Pearson.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
ER Diagrams ● Many different notations are available ● From wikipedia:wikipedia: Entity-relationship modelwikipedia: Entity-relationship model ● How do.
The Enhanced Entity- Relationship (EER) Model
Object-Oriented Modeling
Business System Development
ניתוח ועיצוב מערכות תוכנה אביב 2014
Object-Oriented Modeling with UML
SysML v2 Formalism: Requirements & Benefits
Week 4 Object-Oriented Programming (1): Inheritance
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
UML UML Data Modeling.
UML Class Diagrams: Basic Concepts
Domain Class Diagram Chapter 4 Part 2 pp
Seminar 3 UML Class Diagram.
Lec 3: Object-Oriented Data Modeling
Chapter 20 Object-Oriented Analysis and Design
Object-Oriented Knowledge Representation
Presentation transcript:

Chapter 4 Advanced Class Modeling

Advanced Class Modeling Advanced Objects and Class Concepts Association Ends N-ary Associations Aggregation Abstract Class Multiple Inheritance Metadata Reification Constraints Derived Data Packages

4.5 Abstract class Abstract class is a class that has no direct instances but whose descendant classes have direct instance Concrete Class is a class that is instantiable; it can have direct instances; can be leaf class in inheritance tree Its good idea to avoid concrete superclass All super classes are abstract and all leaf subclasses are concrete Can eliminate concrete superclasses by introducing an “other subclass” UML Notation: Class name in Italics Keyword {abstract } before/after the name

4.6 Multiple inheritance Permit a class to have more than one class Advantage – Power in specifying classes & an increased opportunity for reuse Disadvantage – Loss of conceptual & implementation simplicity Concept – Generalization – Multiple Generalization Language – Inheritance – Multiple Inheritance

4.6.1 Kinds of Multiple Inheritance Complete Disjoint Overlapping Incomplete UML Notation: Dotted Line cutting across the affected generalization with a constraint in {} Refer Book for diagram

4.6.2 multiple classification One Instance to participate in two overlapping classes One VTU Professor taking class in IIT OO Languages handles it poorly, so workarounds will solve the same

4.6.3 Workarounds Delegation using composition of Parts Inherit the most important class and delegate the rest Nested generalization Issues to be considered Superclass of equal importance – I Dominant Superclass – II & III Few Subclasses – III Sequencing generalization sets - III Large quantities of Code – Try to avoid - Dupe code & spoil OO Concepts Identity – III Preserve

4.7 Meta data Class Definition is a meta data Describes the data Computer languages implements meta data heavily

4.8 reification Promotion of something that is not an object into an object Useful to promote attributes, methods, constraints and control information into objects, so that it can be manipulated and described as data Eg : Type cast in Programming lang Association Class “Works For”

4.9 Constraints A boolean conditions involving model elements like objects, generalization set, links Can be expressed using OCL Constraints on objects Constraints on Generalization Set Semantics of generalization imply certain structural constraints – Disjoint; Overlapping; Complete; Incomplete Constraints on Links Multiplicity; Qualification; Association Class; Constraints on Association End Ordered; Subset; Bags; Sequence Use of Constraint Measuring the quality of the class model “Good” Class Model Captures Important Constraints

4.10 Derived Data Function of one or more elements – derived attribute, association , classes A class model should generally distinguish independent base attributes from dependent derived attribute Use derived elements for implementation where they are compelling UML Notation – A slash in the front of the element

4.11 Packages Group of elements with a common theme Packages are to organize large models so that the reader can understand portions of the model at a time, rather than having to deal with the whole model at once Tips for devising packages Carefully delineate each packages scope Define each class in a single package