SlideShare a Scribd company logo
UML Specification by
Example: Objects/Data
• With use cases defined, the next specification to look
at is the meat and potatoes of the rest of this course
— the data model
• In pre-object-oriented days, the conceptual schema
was modeled using entity-relationship (E-R) notation
• Today’s tools and languages allow for a conceptual
schema that maps pretty well to an object-oriented
code base, which with just a little more work can
translate into the relational data model in a
straightforward manner
• Just so you don’t have to dig up the previous handout
again, here is our natural-language write-up for our
sample application:
We would like to create a student information and document
management system, to augment the student records that are already
maintained by the university. With this system, a user can maintain a list
of student records. Linked to each student record would be a set of
documents. Each document would have a timestamp, and can be bound
to any number of keywords, which are also defined in a separate list. The
actual document files (such as PDF) can be uploaded to the system and
stored on a server; they can then be retrieved by (at least) student, date,
and/or keyword. The keyword list can be added to as needed, and
functions for adding new students and maintaining existing student data
would also be required. The preferred end-user interface would be the
Web, although the overall architecture may also accommodate other UIs
such as Swing.
Structural Modeling
Concepts
Concept Linguistic Role E-R Term UML Term
real-world items stored
by the system
nouns entity set | entity class | object
connections between
items
verbs
relationship set |
relationship
association |
link
properties that describe
items
adjectives attribute attribute
properties that describe
connections
adverbs
descriptive
attribute
relationship
class | object
distinguishing/unique
properties
proper nouns key
object
identifier
• Nouns and verbs have two “levels” of existence: as
the category to which they belong (entity set; class) and
as a specific occurrence of that category (entity; object)
• Generalization/specialization: entities may indicate that
they are specializations or subclasses of other entities
• Containment: entities may “hold” other entities
through aggregation or composition relationships
• Cardinality: relationships/associations typically indicate
how many entities participate in them — 1-to-1, 1-to-
many, many-to-1, many-to-many
• Composite/multivalued attributes: attributes may be
broken down into sub-attributes or may hold multiple
values in the same “slot”
E-R vs. UML
• E-R (1976) predates UML (version 1.1 in 1997)
• “Pure” E-R has been extended in different ways;
collectively these variants are called “extended E-R”
• UML covers broader ground than E-R, covering
structure (class, use case, component diagrams) and
behavior (sequence/collaboration, state, activity diagrams)
• UML class notation is a direct descendant of E-R and
extended E-R notations, integrating object-oriented
constructs that weren’t around when E-R was born
• Just as with use cases, your data model diagram is the
means, not the end
• Unlike use cases, however, a data model is really
primarily about structure, and so a diagram is
definitely more compelling than a text write-up —
but, it still helps in some situations
• These days, structural diagrams generally have two
concrete destinations — an object-oriented
environment at runtime (e.g. Java), and a relational
database for persistence (e.g. PostgreSQL)
Structural Diagram Notation
Student
id
lastname
firstname
advisor
Document
id
timestamp
title
description
locator
Keyword
id
term
description
User
id
login
password
isAdmin
1 0..*
LinkedTo
1
0..*
UploadedBy !
1 0..*
BoundTo
student
lastnameid firstname advisor
linked_to document
id timestamp title description locator
keyword
id term description
user
id login password is_admin
bound_to
uploaded_by
Branch
branchName
branchCity
assets
Loan
loanNumber
amount
Customer
customerID
customerName
customerStreet
customerCity
Payment
paymentNumber
paymentDate
paymentAmount
Account
accountNumber
balance
SavingsAccount
interestRate
CheckingAccount
overdraftAmount
Employee
employeeID
employeeName
dependentName[0..*]
startDate
telephoneNumber
employmentLength
Depositor
accessDate
Borrower
LoanBranch
1
0..*
CustBanker
type
worker
manager
WorksFor ▲
1
0..*
1 0..*
LoanPayment
AccountBranch1
0..*
Depending on the size of the project and/or its
development team, these can happen next:
• Dive into further detail:
Add more information to the data model, such as more specific
attribute information (types, default values, constraints), defining
methods, etc.
Create the other types of diagrams within UML’s scope: component,
behavioral diagrams
• On the database front, the conceptual model would
need to be implemented in terms of the target
database’s logical model
When the conceptual model is implemented at runtime in an object-
oriented environment (e.g., Java) and is persisted in a relational
database, this process goes by the specific term “object-relational
(OR) mapping”

More Related Content

PDF
Course registration system
DOCX
School Management System
PPT
Student Record Management presentation
PPTX
Academic management system PPT
PDF
Online courseregistration tolstoy
PPT
Training management
PPTX
Student management system
PPTX
Student Management System best PPT
Course registration system
School Management System
Student Record Management presentation
Academic management system PPT
Online courseregistration tolstoy
Training management
Student management system
Student Management System best PPT

What's hot (20)

PPTX
Result Management System - CSE Final Year Projects
PPTX
Student Management System Project Abstract
PPTX
Project proposal of school managment software
PPTX
School management system
PPT
Academic management
PPTX
Student Result
PPTX
Integrating the Student Information System and Blackboard - you just press a ...
PPTX
Master Defense Seminar
DOC
Online student management system
PPTX
School Management System
PPTX
School softwer slide
PPTX
student database management system
PPTX
Student information system project report
PDF
Class Management System Project Proposal
PPTX
Report of Student management system
DOCX
PROJECT PROPOSAL
PDF
UML- Class Diagrams, State Machine Diagrams
PDF
Java Project "JPS-School Management System" CBSE AISSCE Pratical Examination...
PPT
Student management system
DOCX
Student information system
Result Management System - CSE Final Year Projects
Student Management System Project Abstract
Project proposal of school managment software
School management system
Academic management
Student Result
Integrating the Student Information System and Blackboard - you just press a ...
Master Defense Seminar
Online student management system
School Management System
School softwer slide
student database management system
Student information system project report
Class Management System Project Proposal
Report of Student management system
PROJECT PROPOSAL
UML- Class Diagrams, State Machine Diagrams
Java Project "JPS-School Management System" CBSE AISSCE Pratical Examination...
Student management system
Student information system
Ad

Similar to Ube Databases (20)

PPTX
UML Diagram - Use-Case diagram, Activity Diagram, Sequence Diagram, Er Diagra...
PPTX
DATA MODEL PRESENTATION UNIT I-BCA I.pptx
PPT
Intoduction to uml
PDF
OOAD and An effort by IBM (Rational) Dynamic parts of UML models: “behavior o...
PDF
PhD Core Paper Unit 5 _Part 1 Software Design and UML Use Case Modeling.pdf
PPTX
OOAD.ppt.pptx
PPT
Object oriented programming in C++ programming language
PPT
Object oriented programming language in software engineering
PPT
Introduction to software engineering in data science.ppt
PPT
An Evolution of UML projects.and also what is project
PPTX
Object-Oriented Systems Analysis and Design Using UML.pptx
PPT
ER_model
PPT
PDF
RDBMS ERD
PPTX
1. introduction to uml
PPT
Introduction to UML, class diagrams, sequence diagrams
PDF
Conceptual Data Modelling Using ER-models
PPT
UML DIAGRAMS FOR IST SEMISTER OF BTECH STUDENTS
PPTX
Data Models and Relational Database Design.pptx
PPT
lecture 3.ppt
UML Diagram - Use-Case diagram, Activity Diagram, Sequence Diagram, Er Diagra...
DATA MODEL PRESENTATION UNIT I-BCA I.pptx
Intoduction to uml
OOAD and An effort by IBM (Rational) Dynamic parts of UML models: “behavior o...
PhD Core Paper Unit 5 _Part 1 Software Design and UML Use Case Modeling.pdf
OOAD.ppt.pptx
Object oriented programming in C++ programming language
Object oriented programming language in software engineering
Introduction to software engineering in data science.ppt
An Evolution of UML projects.and also what is project
Object-Oriented Systems Analysis and Design Using UML.pptx
ER_model
RDBMS ERD
1. introduction to uml
Introduction to UML, class diagrams, sequence diagrams
Conceptual Data Modelling Using ER-models
UML DIAGRAMS FOR IST SEMISTER OF BTECH STUDENTS
Data Models and Relational Database Design.pptx
lecture 3.ppt
Ad

More from Dang Tuan (20)

PDF
Javascript for php developer
PDF
Power your web skills
PPT
Chapter1
PPT
Chapter9
PPT
Chapter3
PPT
Chapter7
PPT
Chapter5
PPT
Session02 Part Ii
PPT
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
PPT
Ooad Uml
PPT
M02 Uml Overview
PPT
UML for OOAD
PPT
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
PPT
Introduction to Modeling Java and UML
PPT
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
PPT
Ooad Overview
PPT
M03 2 Behavioral Diagrams
PPT
M05 Metamodel
PPT
M04 Design Patterns
PPT
M03 1 Structuraldiagrams
Javascript for php developer
Power your web skills
Chapter1
Chapter9
Chapter3
Chapter7
Chapter5
Session02 Part Ii
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG DÙNG UML
Ooad Uml
M02 Uml Overview
UML for OOAD
Object-Oriented Analysis & Design (OOAD) Domain Modeling Introduction
Introduction to Modeling Java and UML
Information Systems Analysis and Design Overview of OOAD, UML, and RUP
Ooad Overview
M03 2 Behavioral Diagrams
M05 Metamodel
M04 Design Patterns
M03 1 Structuraldiagrams

Recently uploaded (20)

PDF
01-Introduction-to-Information-Management.pdf
PPTX
Cell Structure & Organelles in detailed.
PPTX
Lesson notes of climatology university.
PDF
Complications of Minimal Access Surgery at WLH
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
master seminar digital applications in india
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Sports Quiz easy sports quiz sports quiz
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
Basic Mud Logging Guide for educational purpose
PDF
Insiders guide to clinical Medicine.pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
01-Introduction-to-Information-Management.pdf
Cell Structure & Organelles in detailed.
Lesson notes of climatology university.
Complications of Minimal Access Surgery at WLH
2.FourierTransform-ShortQuestionswithAnswers.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Anesthesia in Laparoscopic Surgery in India
Pharmacology of Heart Failure /Pharmacotherapy of CHF
master seminar digital applications in india
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Sports Quiz easy sports quiz sports quiz
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Supply Chain Operations Speaking Notes -ICLT Program
VCE English Exam - Section C Student Revision Booklet
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Abdominal Access Techniques with Prof. Dr. R K Mishra
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Basic Mud Logging Guide for educational purpose
Insiders guide to clinical Medicine.pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx

Ube Databases

  • 1. UML Specification by Example: Objects/Data • With use cases defined, the next specification to look at is the meat and potatoes of the rest of this course — the data model • In pre-object-oriented days, the conceptual schema was modeled using entity-relationship (E-R) notation • Today’s tools and languages allow for a conceptual schema that maps pretty well to an object-oriented code base, which with just a little more work can translate into the relational data model in a straightforward manner • Just so you don’t have to dig up the previous handout again, here is our natural-language write-up for our sample application: We would like to create a student information and document management system, to augment the student records that are already maintained by the university. With this system, a user can maintain a list of student records. Linked to each student record would be a set of documents. Each document would have a timestamp, and can be bound to any number of keywords, which are also defined in a separate list. The actual document files (such as PDF) can be uploaded to the system and stored on a server; they can then be retrieved by (at least) student, date, and/or keyword. The keyword list can be added to as needed, and functions for adding new students and maintaining existing student data would also be required. The preferred end-user interface would be the Web, although the overall architecture may also accommodate other UIs such as Swing.
  • 2. Structural Modeling Concepts Concept Linguistic Role E-R Term UML Term real-world items stored by the system nouns entity set | entity class | object connections between items verbs relationship set | relationship association | link properties that describe items adjectives attribute attribute properties that describe connections adverbs descriptive attribute relationship class | object distinguishing/unique properties proper nouns key object identifier • Nouns and verbs have two “levels” of existence: as the category to which they belong (entity set; class) and as a specific occurrence of that category (entity; object) • Generalization/specialization: entities may indicate that they are specializations or subclasses of other entities • Containment: entities may “hold” other entities through aggregation or composition relationships • Cardinality: relationships/associations typically indicate how many entities participate in them — 1-to-1, 1-to- many, many-to-1, many-to-many • Composite/multivalued attributes: attributes may be broken down into sub-attributes or may hold multiple values in the same “slot”
  • 3. E-R vs. UML • E-R (1976) predates UML (version 1.1 in 1997) • “Pure” E-R has been extended in different ways; collectively these variants are called “extended E-R” • UML covers broader ground than E-R, covering structure (class, use case, component diagrams) and behavior (sequence/collaboration, state, activity diagrams) • UML class notation is a direct descendant of E-R and extended E-R notations, integrating object-oriented constructs that weren’t around when E-R was born • Just as with use cases, your data model diagram is the means, not the end • Unlike use cases, however, a data model is really primarily about structure, and so a diagram is definitely more compelling than a text write-up — but, it still helps in some situations • These days, structural diagrams generally have two concrete destinations — an object-oriented environment at runtime (e.g. Java), and a relational database for persistence (e.g. PostgreSQL) Structural Diagram Notation
  • 4. Student id lastname firstname advisor Document id timestamp title description locator Keyword id term description User id login password isAdmin 1 0..* LinkedTo 1 0..* UploadedBy ! 1 0..* BoundTo student lastnameid firstname advisor linked_to document id timestamp title description locator keyword id term description user id login password is_admin bound_to uploaded_by
  • 5. Branch branchName branchCity assets Loan loanNumber amount Customer customerID customerName customerStreet customerCity Payment paymentNumber paymentDate paymentAmount Account accountNumber balance SavingsAccount interestRate CheckingAccount overdraftAmount Employee employeeID employeeName dependentName[0..*] startDate telephoneNumber employmentLength Depositor accessDate Borrower LoanBranch 1 0..* CustBanker type worker manager WorksFor ▲ 1 0..* 1 0..* LoanPayment AccountBranch1 0..* Depending on the size of the project and/or its development team, these can happen next: • Dive into further detail: Add more information to the data model, such as more specific attribute information (types, default values, constraints), defining methods, etc. Create the other types of diagrams within UML’s scope: component, behavioral diagrams • On the database front, the conceptual model would need to be implemented in terms of the target database’s logical model When the conceptual model is implemented at runtime in an object- oriented environment (e.g., Java) and is persisted in a relational database, this process goes by the specific term “object-relational (OR) mapping”