UML – Universal Modeling Language IT 210 Introduction to Modeling.

Slides:



Advertisements
Similar presentations
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
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.
Object-oriented modeling Class/Object Diagrams
IT420: Database Management and Organization
Entity-Relationship Model
CS 340 UML Class Diagrams. A model is an abstraction of a system, specifying the modeled system from a certain viewpoint and at a certain level of abstraction.
Chapter 1 Object-Oriented System Development
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-1 COS 346 Day 6.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
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
Basic OOP Concepts and Terms
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-1 David M. Kroenke Database Processing Tenth Edition Chapter 5 Data.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Chapter Five Data Modeling with the Entity-Relationship Model.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-1 COS 346 Day 6.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-1 David M. Kroenke’s Chapter Five: Data Modeling with the Entity-Relationship.
Itntroduction to UML, page 1 Introduction to UML.
Scott Grissom, copyright 2004Ch 2 OO Design Slide 1 Object Oriented Design Chapter 2 focuses on: objects, classes inheritance polymorphism UML class diagrams.
UML Notations Activity diagrams State diagrams Class diagrams Use-case diagrams.
Entity-Relationship Model
Developed by Reneta Barneva, SUNY Fredonia Component Level Design.
Chapter 2: Entity-Relationship Model (Continued)
Entity-Relationship (E-R) Model
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-1 David M. Kroenke’s Chapter Five: Data Modeling with the Entity-Relationship.
1 Web-Enabled Decision Support Systems Entity-Relationship Modeling Prof. Name Position (123) University Name.
DeSiamorewww.desiamore.com/ifm1 Database Management Systems (DBMS)  B. Computer Science and BSc IT Year 1.
Chapter 13 (Online): Object-Oriented Databases
Entities and Attributes
1 ER Modeling BUAD/American University Entity Relationship (ER) Modeling.
3rd Country Training, K.Subieta: System Engineering and Databases. Lecture 3, Slide 1 February 20, 2004 Lecture 3: Introduction to Software Analysis and.
11 Partnership for Performance How to hear this lecture Click on the icon: to hear the narration for each slide.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
4. UML. CPSC 333: Foundations of Software EngineeringJ. Denzinger 4.1. Motivation The Unified Modeling Language tries to integrate older approaches Developed.
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,
© 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.
Introduction to UML: Unified Modeling Language Ric Holt U Waterloo, March 2009 CS246.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
Database Systems: Enhanced Entity-Relationship Modeling Dr. Taysir Hassan Abdel Hamid.
Basic OOP Concepts and Terms. In this class, we will cover: Objects and examples of different object types Classes and how they relate to objects Object.
Chapter 11 & 12 Entity-Relationship (E-R) Model Characteristics of E-R Model Components of E-R Model Example of E-R Model Enhanced E-R Model.
Object-Oriented Data Modeling
Databases Illuminated Chapter 3 The Entity Relationship Model.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
UML: A notation for capturing work products
Systems Analysis and Design in a Changing World, Thursday, Feb 15.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
David M. Kroenke and David J. Auer Database Processing Fundamentals, Design, and Implementation Chapter Five: Data Modeling with the Entity-Relationship.
Copyright © 2016 Pearson Education, Inc. Modern Database Management 12 th Edition Jeff Hoffer, Ramesh Venkataraman, Heikki Topi CHAPTER 2: MODELING DATA.
1 CS 430 Database Theory Winter 2005 Lecture 3: A Fifty Minute Introduction to Data Modeling.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Object-Oriented Analysis and Design
Analysis and Design with UML: Discovering Classes and Relationships
Analysis and Design with UML: Discovering Classes and Relationships
UML Class Diagrams: Basic Concepts
Analysis and Design with UML: Discovering Classes and Relationships
Lec 3: Object-Oriented Data Modeling
Business Analysis More on Classes Chris Russell O2.41
Analysis and Design with UML: Classes and Relationships
Data Modeling Concepts
Database Processing: David M. Kroenke’s Chapter Five:
Presentation transcript:

UML – Universal Modeling Language IT 210 Introduction to Modeling

Modeling Representing the world how it is— or how we want it to be We can change the world for better, and we should

“Today the information highway, with all of its means of communication, affords an opportunity for us to carry the mission with a thousandfold greater speed and ease than Peter, James, and John and the other intrepid disciples.” – President James E. Faust

Why Model? Create, Design, Communicate Create: Generate ideas, solutions Design: Consistent, coherent solutions (model) Communicate: Real world solutions

Abstract representation Complete solution has many aspects Abstract and generalizable Specific: this_num = 1 print this_num this_num = 2 print this_num … this_num = 20 print this_num Abstract: for num = 1 to MAX print num next

Software modeling Model process (sequence of activities) Changes of state Data structures Data structure types and with methods Need languages of abstraction …

UML – Diagrams

Approaches to UML Sketch Blueprint Programming Ref: Martin Fowler, “UML Distilled”

UML Diagrams - Activity

Example Juke Box

Juke Box with Partitions Also called swim-lanes

Source: CodeGear from Borland

UML diagrams - Sequence

Sequence – Juke Box

UML Diagrams - State

UML Goals Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models. Provide extensibility and specialization mechanisms to extend the core concepts. Be independent of particular programming languages and development processes. Provide a formal basis for understanding the modeling language. Encourage the growth of the OO tools market. Support higher-level development concepts such as collaborations, frameworks, patterns and components. Integrate best practices.

Review The concepts on the following slides you should understand from CS 142. They are used in modeling.

Concept 1: Real world “thingy” Entity, object, noun-verb Something that has a name Something that has Identity Person, place, thing Something you can point at. Something that does stuff or has stuff done to it Can you think of another way to say it?

Entity/Object ERM Name Attributes Name Attributes Methods UML

Concept 2: Instance/Class Thingies are grouped by similar characteristics. “Person” is a class “Janet” is an instance

UML: Class/Instance Person Name:String Height:Real Weight:Real Create(name:String,Height:Real,Weight:Real) Delete() Class Fred:Person Name = Frederick G. Williams Height = 2.1 Weight = 50 :Person Name = Frederick G. Williams Height = 2.1 Weight = 50 Named Person Instance Anonymous Person Instance

Concept 3: Attribute Characteristic of an object that defines a member of a class.

Concept 4: Property Characteristic of an object that isn’t an attribute. For example: Height is an attribute of Person Location is not an attribute of the Person object we defined. Systems often “create” objects with attributes and “attach” properties. Note: This is not standard terminology, but it matches most of what Microsoft does. No standard diagramming approach.

Concept 5: Relationship Objects are related to each other in the real world. John husband of Mary Julio’s Ferrari Carburator part of engine Mary is a Girl Some relationships are special enough to have their own names and diagrams

Concept 6: Value Attributes can be assigned values. Properties can be assigned values.

Concept 7: Constraints Attributes, Properties, and Relationships can be “constrained”. What constraints are possible is determined by the semantics of the value or Relationship. Height must be greater than 0 A man can have only one wife at a time.

Concept 8: Cardinality Constraints You can count things. It is often important to constrain Cardinality of relationships: A person can only have one mother. A car can have only one VIN.

Cardinality leftrightexample 11one-to-one person weight optional on one side one-to-one date of death person 0..* or * optional on both sides many-to- many person book 11..*one-to-many person language

Concept 9: Participation Objects participate in relationships. Sometimes you want to constrain an object’s participation in a relationship. A “rental” object must have a car

Concept 10: Key Something that identifies an object in a set of objects. Unique Key – no other object can have it. Composite Key – key made up of more than one attribute

Concept 11:Generalization Employee is a person. An Employee object has all the characteristics of a person, and then some.

Concept 12: Specialization Go the other way from Generalization. An object that has all of the attributes of a class, and then more attributes, is a member of the General class plus a class defined by all of the attributes.

Concept 13: Object/Entity A thingy with identity, Attributes and Methods is called an object. Of course, all of the abstract class English words have been overloaded so many times you better ask what someone means before you “assume” anything.

Concept 14: Inheritance A relationship between classes such that all of the attributes and methods of the super-class are projected into the sub-class. Two kinds Structure and Interface: difference beyond scope of lecture

Concept 15: Relationships with Attributes Sometimes a relationship between two objects can have attributes. John was married to Mary on January 3, 2999 Marriage date is not an attribute of either John or Mary. It is an attribute of their relationship.

Concept 16: System Modeling This class is WEB SYSTEMS which includes data modeling, however, objects are more than just state. UML also models processing and many other attributes of a system. Data modeling is a part of what UML calls structure modeling. What the TA’s call a UML is an ACTIVITY diagram.