pal gov.tutorial1.session1 3.conceptualschemadesignsteps

23
1 PalGov © 2011 فلسطينيةلكترونية الديمية الحكومة ا أكاThe Palestinian eGovernment Academy www.egovacademy.ps Session 1.3 Conceptual Analyses Tutorial 1: Data and Business Process Modeling Prof. Mustafa Jarrar Sina Institute, University of Birzeit [email protected] www.jarrar.info Reviewed by Prof. Marco Ronchetti, Trento University, Italy

Upload: mustafa-jarrar

Post on 18-Dec-2014

372 views

Category:

Education


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

1PalGov © 2011

أكاديمية الحكومة اإللكترونية الفلسطينية

The Palestinian eGovernment Academy

www.egovacademy.ps

Session 1.3

Conceptual Analyses

Tutorial 1: Data and Business Process Modeling

Prof. Mustafa Jarrar

Sina Institute, University of Birzeit

[email protected]

www.jarrar.info

Reviewed by

Prof. Marco Ronchetti, Trento University, Italy

Page 2: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

2PalGov © 2011

About

This tutorial is part of the PalGov project, funded by the TEMPUS IV program of the

Commission of the European Communities, grant agreement 511159-TEMPUS-1-

2010-1-PS-TEMPUS-JPHES. The project website: www.egovacademy.ps

University of Trento, Italy

University of Namur, Belgium

Vrije Universiteit Brussel, Belgium

TrueTrust, UK

Birzeit University, Palestine

(Coordinator )

Palestine Polytechnic University, Palestine

Palestine Technical University, PalestineUniversité de Savoie, France

Ministry of Local Government, Palestine

Ministry of Telecom and IT, Palestine

Ministry of Interior, Palestine

Project Consortium:

Coordinator:

Dr. Mustafa Jarrar

Birzeit University, P.O.Box 14- Birzeit, Palestine

Telfax:+972 2 2982935 [email protected]

Page 3: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

3PalGov © 2011

© Copyright Notes

this material, or part of it, but should properly useEveryone is encouraged to

(logo and website), and the author of that part. cite the project

in any form or by any reproduced or modified No part of this tutorial may be

from the project, who have the full written permissionmeans, without prior

copyrights on the material.

Attribution-NonCommercial-ShareAlike

CC-BY-NC-SA

This license lets others remix, tweak, and build upon your work non-

commercially, as long as they credit you and license their new creations

under the identical terms.

Page 4: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

4PalGov © 2011

Tutorial Map

Topic Time

Module I: Conceptual Data Modeling

Session 0: Outline and Introduction

Session 1.1: Information Modeling 1

Session 1.2: Conceptual Data Modeling using ORM 1

Session 1.3: Conceptual Analyses 1

Session 2: Lab- Conceptual Analyses 3

Session 3.1: Uniqueness Rules 1.5

Session 3.2: Mandatory Rules 1.5

Session 4: Lab- Uniqueness & Mandatory Rules 3

Session 5: Subtypes and Other Rules 3

Session 6: Lab- Subtypes and Other Rules 3

Session 7.1: Schema Equivalence &Optimization 1.5

Session 7.2: Rules Check &Schema Engineering 1.5

Session 8: Lab- National Student Registry 3

Module II: Business Process Modeling

Session 9: BP Management and BPMN: An Overview 3

Session 10: Lab - BP Management 3

Session 11: BPMN Fundamentals 3

Session 12: Lab - BPMN Fundamentals 3

Session 13: Modeling with BPMN 3

Session 14: Lab- Modeling with BPMN 3

Session 15: BP Management & Reengineering 3

Session 16: Lab- BP Management & Reengineering 3

Intended Learning ObjectivesModule 1 (Conceptual Date Modeling)

A: Knowledge and Understanding

11a1: Demonstrate knowledge of conceptual modeling notations and concepts

11a2: Demonstrate knowledge of Object Role Modeling (ORM) methodology.

11a3: Explain and demonstrate the concepts of data integrity & business rules

B: Intellectual Skills

11b1: Analyze application and domain requirements at the conceptual level,

and formalize it using ORM.

11b2: Analyze entity identity at the application and domain levels.

11b4: Optimize, transform, and (re)engineer conceptual models.

11b5: Detect &resolve contradictions & implications at the conceptual level.

C: Professional and Practical Skills

11c1: Using ORM modeling tools (Conceptual Modeling Tools).

Module 2 (Business Process Modeling)

A: Knowledge and Understanding

12a1: Demonstrate knowledge of business process modeling notations and concepts.

12a2: Demonstrate knowledge of business process modeling and mapping.12a3: Demonstrate understand of business process optimization and re-engineering.

B: Intellectual Skills

12b1: Identify business processes.

12b2: Model and map business processes.

12b3: Optimize and re-engineer business processes.

C: Professional and Practical Skills

12c1: Using business process modeling tools, such as MS Visio.

Page 5: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

5PalGov © 2011

Session ILOs

After completing this session students will be able to:

11b1: Analyze application and domain requirements at the

conceptual level, and formalize it using ORM.

11b2: Analyze entity identity at the application and domain levels.

Page 6: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

6PalGov © 2011

Conceptual Analyses

• Given an application domain, e.g. hospital, and three information

modelers, what steps do you suggest they start with, to build the

hospital‟s conceptual model?

• There is no strict or perfect modeling process or procedure!

• You may start with any step you think suitable, taking into account the

complexity of the domain, available resources, modelers‟ prior

knowledge about the domain, etc.

• It is recommended that you modularize the domain into sub-domains,

build a conceptual schema for each sub-domain, then integrate all sub-

schemes into one conceptual schema.

• The following procedure (7 steps) is to help you model a sub-domain,

but you don‟t have to strictly follow these steps.

Page 7: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

7PalGov © 2011

Conceptual Schema Design Steps

1. From examples to elementary facts

2. Draw fact types and apply population check

3. Combine entity types

4. Add uniqueness constraints

5. Add mandatory constraints

6. Add set, subtype, & frequency constraints

7. Final checks, & schema engineering issues

Page 8: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

8PalGov © 2011

Elementary Facts and Fact Types

– Person smokes.

– Person drives car.

– Person was born in a city.

– Person smokes and drives car.

– If a Person was born in a city and this City is part of a

country, then this person was born in that country.

What is a fact type?

What is a fact?

– Rami smokes.

– Rami drives car.

– Rabab was born in Ramallah.

– Rami smokes and drives car.

– If Rabab was born in Ramallah and Ramallah is part of

Palestine, then Rabab was born in Palestine.

A fact must be either true or false

Page 9: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

9PalGov © 2011

Elementary Facts and Fact Types

– Person smokes.

– Person drives car.

– Person was born in a city.

– Person smokes and drives car.

– If a Person was born in a city and this City is part of

a country, then this person was born in that country.

What is an elementary fact type?

An elementary fact type cannot be split.

Page 10: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

10PalGov © 2011

1. From examples to elementary facts

Conceptual Schema Design Steps

Page 11: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

11PalGov © 2011

1. Make elementary facts from examples

• Mustafa teaches Knowledge Engineering.

• Rami is enrolled in Knowledge Engineering.

• Knowledge Engineering is offered by the University of Birzeit.

The person (ID4514) that has the name Mustafa teaches the course (SC242)

that has the title Knowledge Engineering.

The person (ID123) that has the name Rami is enrolled in the course (CS242)

that has the title Knowledge Engineering.

The course (CS242) that has the title Knowledge Engineering is offered by the

university that has the name University of Birzeit.

The person that has the name Mustafa teaches the course that has the title

Knowledge Engineering.

The person that has the name Rami is enrolled in the course that has the title

Knowledge Engineering.

The course that has the title Knowledge Engineering is offered by the

university that has the name University of Birzeit.

More precise

From examples to fact types

Page 12: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

12PalGov © 2011

Conceptual Schema Design Steps

1. From examples to elementary facts

2. Draw fact types and apply population check

Page 13: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

13PalGov © 2011

2. Draw fact types and apply population check

University(Name)

Person(nr)

Course(Code)

IsOf/Has

Name

TitleTeaches/

EnrolledIn/

Has/IsOf

OfferedBy /Offers

The Person (ID4514) that has the name Mustafa teaches the course (SC242)

that has the title Knowledge Engineering.

The Person (ID123) that has the name Rami is enrolled in the course (CS242)

that has the title Knowledge Engineering.

The course (CS242) that has the title Knowledge Engineering is offered by the

university that has the name University of Birzeit.

Draw Fact Types

Page 14: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

14PalGov © 2011

2. Draw fact types and apply population check

Person(nr)

Course(Code)

IsOf/Has

Name

TitleTeaches/

EnrolledIn/

Has/IsOf

The Person (ID4514) that has the name Mustafa teaches the course (SC242)

that has the title Knowledge Engineering.

The Person (ID123) that has the name Rami is enrolled in the course (CS242)

that has the title Knowledge Engineering.

The course (CS242) that has the title Knowledge Engineering is offered by the

university that has the name University of Birzeit.

Test with population

Mustafa ID4154

Rami ID123

SC242 Knowledge Engineering

SC242 Birzeit University

ID4154 SC242

ID123 SC242

University(Name)

OfferedBy /Offers

Page 15: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

15PalGov © 2011

Basic ORM Constructs and Syntax

• Object and Value Types

• Roles and relations

• Unary relations

• Ternary relations

• Nested Fact Types

• Ring Fact Types

Page 16: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

16PalGov © 2011

Object and Values Types

Person Car

Adams B 235PZN

Jones E 235PZN

Jones E 108AAQ

Person

has

PersonName

Car

RegNr

refers to

has

refers to

drives / is driven by

„Adams B‟„Jones E‟

„235PZN‟

„108AAQ‟

drivesCarPerson

has has

PersonName RegNr

Value Type (lexical)

It is always a value of an

Object Type.

Object Type (non lexical)You cannot lexicalize, or refer to a

person without using a value of

its properties.

Page 17: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

17PalGov © 2011

Roles and Relations

Called Binary Relation

It consists of two roles

(“drives” and “is driven by”)

Called Role

which is part of a relation

Called Role

which is part of a relation

Page 18: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

18PalGov © 2011

Unary Relations

Pat smokes

Lee smokes

Shir does not smoke

Called Unary Relation

as it has one role

(“smokes”)

You can transform unary fact types into binary:

Page 19: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

19PalGov © 2011

Ternary Relations

Called Ternary Relation

as it has three roles

(“… for … scored…”)

Page 20: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

20PalGov © 2011

Nested Fact Types

Called Nested Fact Type

The fact type “Student enrolled in

Subject” is objectified, i.e., the whole

Fact type is seen as an Object Type

Page 21: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

21PalGov © 2011

Ring Fact Types

Same object type is connected to two roles in the same relation

Page 22: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

22PalGov © 2011

The ORM Syntax (Test)

An object type can be only connected with roles.

Each role can be connected with only one object type.

Page 23: Pal gov.tutorial1.session1 3.conceptualschemadesignsteps

23PalGov © 2011

References

1. Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design, Terry Halpin (ISBN 1-55860-672-6) – Chapter 3.