Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
Introduction to Conceptual Modeling 10/14/2014
IISSI 1
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
Software Engineering and Databases Group
Department of Computer Languages and Systems
University of Seville
October 2014
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Learning objectives
– Understand the need for conceptual modeling and
its place in the development process.
– Know the basic concepts of conceptual modeling.
– Know the main notations for conceptual modeling.
– Be able to develop a conceptual model for an
information system from information about the
problem domain and some requirements.
October 2014 Introduction to Software Engineering and Information Systems 1
Introduction to Conceptual Modeling 10/14/2014
IISSI 2
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• What is conceptual modeling?
– Conceptual modeling is a requirements analysis
and database design technique.
• As an analysis requirements technique…
– It helps to identify problems in the requirements
before development starts, avoiding unnecessary
costs.
• As a database design technique…
– It enables the abstract representation of the
relevant concepts and facts from the problem
domain and their further transformation into a
database scheme.
October 2014 Introduction to Software Engineering and Information Systems 2
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• What is the problem domain?*
– Area of expertise or application that needs to be
known in order to solve a problem.
– In the context of information systems, the problem
domain is the set of interrelated concepts which
are necessary to understand the customer
business, and therefore to understand their needs
and to propose a suitable solution.
October 2014 Introduction to Software Engineering and Information Systems 3
*Source: Development framework of the Junta de Andalucía (MADEJA), requirement engineering area.
Introduction to Conceptual Modeling 10/14/2014
IISSI 3
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• When is the conceptual model used?
• Regardless of the life cycle, it is used during
the analysis.
October 2014 Introduction to Software Engineering and Information Systems 4
Analysis
Design
Implementation
Testing
Maintenance
Requirements
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Requirements traceability
– All the elements of a conceptual model must be
traced back towards those requirements that
justifies them, usually information requirements
and business rules.
October 2014 Introduction to Software Engineering and Information Systems 5
c lass Ejemplo trazabi l idad
«entidad»Usuario
nombreapellidosfechaNacimientoemail
RI-001 - El sistema deberá almacenar la información correspondiente a los usuarios del sistema. En concreto: ...
RF-004 - El sistema deberá enviar automáticamente un email a los usuarios cuando ...
«trace»
«trace»
Introduction to Conceptual Modeling 10/14/2014
IISSI 4
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Conceptual modeling standard
• UML (Unified Modeling Language).
• Join result of several previous approaches.
• Managed by the OMG (Object Management Group).
• Widely used in the software industry.
• Multiple available tools.
• It has 14 types of diagrams for software modeling
(version 2.4.1, August 2011).
• In conceptual modeling, the mainly used diagrams are:
– Class diagrams
– Object diagrams
October 2014 Introduction to Software Engineering and Information Systems 6
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Basic concepts of conceptual modeling
– Entity class
• Attribute
– Association
• Role
• Multiplicity
– Object (instance of a class)
– Link (instance of an association)
– Generalization/specialization
– Composition
October 2014 Introduction to Software Engineering and Information Systems 7
Introduction to Conceptual Modeling 10/14/2014
IISSI 5
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Entity class
– It represents a concept which is important in the
problem domain and for which the system must
store information, as specified (or deduced) from
some requirements.
– Classes are named with a noun in singular form.
October 2014 Introduction to Software Engineering and Information Systems 8
c lass Ejemplos de c lases
«entidad»Alumno
nombrefechaNacimiento...
«entidad»Asignatura
códigonombre...
«entidad»Matrícula
númerofechatieneBeca...
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Entity class attributes
– They represent properties of a concept which is
important in the problem domain and for which
the system must store information, as specified
(or deduced) from some requirements.
– Attributes are named with a noun in singular form.
– Attributes values must be atomic.
October 2014 Introduction to Software Engineering and Information Systems 9
c lass Ejemplos de c lases
«entidad»Alumno
nombrefechaNacimiento...
«entidad»Asignatura
códigonombre...
«entidad»Matrícula
númerofechatieneBeca...
Introduction to Conceptual Modeling 10/14/2014
IISSI 6
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Association between entity classes
– Represents some kind of relation between two or
more concepts that are relevant in the problem
domain and for which the system must store
information, as specified (or deduced) from some
requirements.
October 2014 Introduction to Software Engineering and Information Systems 10
c lass Ejemplos de asoc iac ión
«entidad»Asignatura
códigonombre...
«entidad»Matrícula
númerofechatieneBeca...
0..*
apareceEn
0..*
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Association between entity classes
– It is named using a verb in singular third person
and prepositions if needed.
– It must form a comprehensible sentence when
reading it together with the roles.
October 2014 Introduction to Software Engineering and Information Systems 11
c lass Ejemplos de asoc iac ión
«entidad»Asignatura
códigonombre...
«entidad»Matrícula
númerofechatieneBeca...
0..*
apareceEn
0..*
Introduction to Conceptual Modeling 10/14/2014
IISSI 7
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Role of one association end
– Role played by each one of the classes in the
association.
– By default, it is its own name.
– They must be specified in associations of a class
with itself or when there exist more than one
association between the same two classes.
October 2014 Introduction to Software Engineering and Information Systems 12
c lass Ejemplos de roles
Persona Vuelo Aeropuertosalida
*
saleDe origen
1
hijo0..*
esPadreDe
padre0..2
llegada
*
l legaA destino
1
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Multiplicity of one association end
– Given an object of a class, it indicates the
minimum and maximum number of objects of the
other class to which it can be associated using
association links.
October 2014 Introduction to Software Engineering and Information Systems 13
c lass Ejemplos de roles
Persona Vuelo Aeropuertosalida
*
saleDe origen
1
hijo0..*
esPadreDe
padre0..2
llegada
*
l legaA destino
1
c lass Ejemplos de asoc iac ión
«entidad»Asignatura
códigonombre...
«entidad»Matrícula
númerofechatieneBeca...
0..*
apareceEn
0..*
Introduction to Conceptual Modeling 10/14/2014
IISSI 8
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Objects
– Every instance or occurrence of a class.
• Links
– Every instance or occurrence of an association.
October 2014 Introduction to Software Engineering and Information Systems 14
c lass Equipos de fútbol
«entidad»Equipo
nombre...
«entidad»Jugador
nombre*
juegaEn
0..1
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Objects
– Every instance or occurrence of a class.
• Links
– Every instance or occurrence of an association.
October 2014 Introduction to Software Engineering and Information Systems 15
object Equipos de fútbol
«entidad»
j1 :Jugador
«entidad»
j2 :Jugador
«entidad»
e1 :Equipo
«entidad»
e2 :Equipo
«entidad»
j3 :Jugador
«entidad»
j5 :Jugador
«entidad»
j4 :Jugador
juegaEn
juegaEnjuegaEn
juegaEn
juegaEn
e1 : Equipo
nombre = "Sevilla FC"
e2 : Equipo
nombre = "Xerez CD"
j1 : Jugador
nombre = "Antoñito"
j2 : Jugador
nombre = "Redondo"
j3 : Jugador
nombre = "Kanouté"
j4 : Jugador
nombre = "Negredo"
nombre = "Jesús Navas"
j5 : Jugador
nombre = "Luis Fabiano"
J6 : Jugador
juegaEn
juegaEnjuegaEn
juegaEn
juegaEn
Introduction to Conceptual Modeling 10/14/2014
IISSI 9
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Generalization-Specialization
– Sometimes, several concepts of the problem
domain have relations of type is-a, for example:
– This concepts usually have common properties,
that appears as attributes or common associations
in the conceptual model.
October 2014 Introduction to Software Engineering and Information Systems 16
vehicle
truck
motorcycle
car
Is-a
Is-a
Is-a
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Generalization/Specialization
October 2014 Introduction to Software Engineering and Information Systems 17
c lass Ejemplo de general izac ión
Persona
Automóvi l
matrículanúmeroBastidormodeloplazas
Camión
matrículanúmeroBastidormodelotonelajeejes
Motoc ic leta
matrículanúmeroBastidormodelocilindrada
Seguro
compañianúmeroPólizatipoprecio
asegurado 1
tieneSeguro
0..1
0..1
t ieneSeguro
asegurado 1
0..1
t ieneSeguro
asegurado 1
propietario
0..1
esPropietarioDe
**
esPropietarioDe
propietario
0..1
*
esPropietarioDe
propietario 0..1
Introduction to Conceptual Modeling 10/14/2014
IISSI 10
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Generalization/Specialization
– The most general class (the superclass), contains
all the common properties (attributes and
associations), inherited by the specific classes
(subclasses).
October 2014 Introduction to Software Engineering and Information Systems 18
Sp
ecia
lizati
on
Gen
era
izati
on
c lass Ejemplo de general izac ión
Automóvi l
plazas
Camión
tonelajeejes
Persona
Motoc ic leta
cilindrada
Vehículo
matrículanúmeroBastidormodeloSeguro
compañianúmeroPólizatipoprecio
0..1 tieneSeguro
asegurado
1
propietario
0..1 esPropietarioDe *
{completa, disjunta}
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Generalization-Specialization
– All instances of the subclasses are also instances
of the superclass.
– Generalization is a transitive and antisymmetric
relation.
October 2014 Introduction to Software Engineering and Information Systems 19
Sp
ecia
lizati
on
Gen
era
lizati
on
c lass Ejemplo de general izac ión
Automóvi l
plazas
Camión
tonelajeejes
Persona
Motoc ic leta
cilindrada
Vehículo
matrículanúmeroBastidormodeloSeguro
compañianúmeroPólizatipoprecio
0..1 tieneSeguro
asegurado
1
propietario
0..1 esPropietarioDe *
{completa, disjunta}
Introduction to Conceptual Modeling 10/14/2014
IISSI 11
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Composition
– Special association that represents the concept of
being-part-of:
• A part only belongs to one whole.
• A part cannot exists without being part of one whole.
• The whole elimination implies the elimination of all
its parts.
• It is a transitive and antisymmetric relation.
• It can be recursive.
October 2014 Introduction to Software Engineering and Information Systems 20
c lass Ejemplo de composic ión
Fac tura L íneaDeFactura
1..*{ordered}
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• UML notation for entity classes
– With the «entity» stereotype, we indicate that the
class represents and entity and not a class of an
object-oriented programming language.
– In conceptual modeling, we will assume the
«entity» stereotype by default.
October 2014 Introduction to Software Engineering and Information Systems 21
Name area (compulsory)
Attributes area (optional, can be hidden if needed)
c lass Notac ión c lase
«entidad»NombreClase
atributo1: Tipo1atributo2: Tipo2...: ...atributoN: TipoN
Introduction to Conceptual Modeling 10/14/2014
IISSI 12
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• UML notation for entity classes
– In conceptual modeling, the types of attributes are
not usually specified (except for enumerations).
– [0..1] means that it is an optional attribute, i.e.
that there will be moments in which it its value will
be unknown and therefore it will be represented
by a null value.
October 2014 Introduction to Software Engineering and Information Systems 22
The value of atributo2 can be null
c lass Notac ión c lase
NombreClase
atributo1atributo2 [0..1]...atributoN
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• UML notation for associations
October 2014 Introduction to Software Engineering and Information Systems 23
Role name Role played by each one of the classes of the association. By default, it is the class name in lowercase.
Association name It is optional and must be a verbal form with sense when reading it with the roles. It is read from left to right and from top to bottom. If it must be read other way, direction must be indicated.
Multiplicity It indicates the minimum and maximum number of class instances that are related to a specific instance of the other class. In multiple multiplicities, order can be indicated using {ordered}.
Usual values 0..1 : optional 1..1 : compulsory 0..* : multiple optional 1..* : multiple compulsory * : same as 0..* 1 : same as 1..1
A BrolA rolB
multA multB
nombre
Introduction to Conceptual Modeling 10/14/2014
IISSI 13
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
obj1 : Clase1
atrib1 = valor1atrib2 = valor2…atribn = valorn
obj2 : Clase2asociaciónA
obj3 : Clase2asociaciónA
obj4 : Clase3asociaciónB
Introduction to Conceptual Modeling
• UML notation for objects and links
October 2014 Introduction to Software Engineering and Information Systems 24
Class and name of the object Must be highlighted for not confusing them with a class.
Names and values of attributes Optional, it shows the values of the attributes of the object.
Links Identified using the name of the association, highlighted.
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• UML notation for objects and links
October 2014 Introduction to Software Engineering and Information Systems 25
Multiobject notation Shows multiple objects without identifying them individually.
c1 : Cliente
lf1 : LíneaDeFactura
cantidad = 3precio = 12,50 €
lf2 : LíneaDeFactura
cantidad = 1precio = 63,05 €
lf3 : LíneaDeFactura
cantidad = 1precio = 5,25 €
p1 : Producto
p3 : Producto
p2 : Producto
contieneA
contieneA
contieneA
f1 : Factura
número = 8765fechaEmisión = 01/06/2011
emitidaA
c1 : Cliente : Factura
emitidaA
Introduction to Conceptual Modeling 10/14/2014
IISSI 14
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• UML notation for classifications
– Complete/Incomplete classification
• {complete}: instances of the superclass must be
instances of at least one subclass, superclass is
abstract.
• {incomplete}: there can be instances of the
superclass that are not instances of any subclass.
October 2014 Introduction to Software Engineering and Information Systems 26
Constraints Shows if the classification is complete/incomplete and disjoint/overlapped.
c lass Notac ión c lasi f icac ión
Superc lase
atribComún1atribComún2...
Subc lase1
atribPropio1atribPropio2...
Subc laseN
atribPropioXatribPropioY...
...
{restricciones}
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• UML notation for classifications
– Disjoint/Overlapped classification
• {disjoint}: superclass instances can be instances of
only one subclass.
• {overlapped}: superclass instances can be
instances of one or more subclasses.
October 2014 Introduction to Software Engineering and Information Systems 27
Constraints Shows if the classification is complete/incomplete and disjoint/overlapped.
c lass Notac ión c lasi f icac ión
Superc lase
atribComún1atribComún2...
Subc lase1
atribPropio1atribPropio2...
Subc laseN
atribPropioXatribPropioY...
...
{restricciones}
Introduction to Conceptual Modeling 10/14/2014
IISSI 15
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• UML notation for classifications
– {complete, disjoint} implies a partition of the set
of instances of the superclass.
October 2014 Introduction to Software Engineering and Information Systems 28
Motorcycles Cars
Trucks
Vehicles
c lass Ejemplo de general izac ión
Automóvi l
plazas
Camión
tonelajeejes
Persona
Motoc ic leta
cilindrada
Vehículo
matrículanúmeroBastidormodeloSeguro
compañianúmeroPólizatipoprecio
0..1 tieneSeguro
asegurado
1
propietario
0..1 esPropietarioDe *
{completa, disjunta}
Abstract class The name of abstract classes is written in italics.
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• UML notation for classifications
October 2014 Introduction to Software Engineering and Information Systems 29
c lass Ejemplo comunidad universi taria
MiembroCU
Alumno Empleado
PAS PDI
{completa, disjunta}
{completa, solapada}
Introduction to Conceptual Modeling 10/14/2014
IISSI 16
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• UML notation for compositions
October 2014 Introduction to Software Engineering and Information Systems 30
Composite The black diamond identifies the composite. Its multiplicity is always 1, so there is no need to indicate it.
c lass Notac ión composic ión
Compuesto Componentemult
c lass Ejemplo fac tura
Fac tura
númerofechaEmisión
L íneaDeFac tura
cantidadprecio
Cl iente Produc to
*
contiene
1
*
emitidaA
1
1..*{ordered}
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• UML notation for association classes
– Sometimes it is needed to add information to the
associations, turning them into classes.
October 2014 Introduction to Software Engineering and Information Systems 31
c lass Ejemplo c lase asoc iac ión
Proyec to
nombrepresupuesto
Empleado
nombre *
trabajaEn
*
c lass Ejemplo c lase asoc iac ión
Proyec to
nombrepresupuesto
Empleado
nombre
Esfuerzo
horas
*
trabajaEn
*
how many hours does each
employee work on each project?
Introduction to Conceptual Modeling 10/14/2014
IISSI 17
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• UML notation for associations classes
– Example: the hours that an employee works on a
project are neither properties of the employee nor
the project, but of the association between them.
October 2014 Introduction to Software Engineering and Information Systems 32
e1 : Empleado
p1 : Proyecto
trabajaEn
e2 : Empleado
e3 : Empleado
p2 : Proyecto
f1 : Esfuerzo
horas = 20
trabajaEn
trabajaEn
trabajaEn
f2 : Esfuerzo
horas = 15
f3 : Esfuerzo
horas = 7,5
f4 : Esfuerzo
horas = 25trabajaEn
f5 : Esfuerzo
horas = 12
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• UML notation for associations classes
– It is also possible to model them as a class
component of the participating classes.
– Both models are equivalent.
October 2014 Introduction to Software Engineering and Information Systems 33
c lass Ejemplo c lase asoc iac ión
Proyec to
nombrepresupuesto
Empleado
nombre
Esfuerzo
horas
*
trabajaEn
*
c lass Ejemplo c lase asoc iac ión con composic ión
Empleado
nombre
Proyec to
nombrepresupuesto
Esfuerzo
horas* *
Introduction to Conceptual Modeling 10/14/2014
IISSI 18
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Notation for constraints
– They allow additional information in the model
which cannot be expressed in any other way.
October 2014 Introduction to Software Engineering and Information Systems 34
c lass Ejemplo de restricc ión
Fac tura
númerofechaEmisión
L íneaDeFac tura
cantidadprecio
Cl iente Produc to
{fac turas sin dupl icados:un mismo producto no debe aparecer dos veces en la misma factura.}
1..*{ordered}
*
emitidaA
1
*
contiene
1
Notation Constraints are represented by notes. The text must be between curly braces, indicating the name of the constraint and its description. Optionally, it can be linked to the affected entities.
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Notation for enumerations
– Define a type that can be used in the class
attributes.
– The attributes are the possible values.
October 2014 Introduction to Software Engineering and Information Systems 35
c lass Notac ión enumerados
«enumerado»Sexo
hombremujer
«enumerado»VíaPúbl ica
calleplazaavenidacarretera
«enumerado»Categoría
infantilaventurascienciaFiccióndrama
Introduction to Conceptual Modeling 10/14/2014
IISSI 19
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Entity-relationship diagrams
– Published by Peter Chen en 1976.
– Previous alternative to UML for
conceptual modeling.
October 2014 Introduction to Software Engineering and Information Systems 36
Entidadatributo
identificador
atributo mín:máx
mín:máxinterrelación atributo
identificador
atributo
Entidad
P. Chen, The Entity-Relationship Model - Toward a Unified View of Data.
ACM Transactions on Database Systems 1 (1): 9–36, 1976.
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Entities
– Regular
– Weak
• Relationships
October 2014 Introduction to Software Engineering and Information Systems 37
Jugadornombre
idJugador
posición país
nombre
Equipo
fecha
Partido
0:N
0:2
esPadreDePersonanombre
idPersona
Padre
Hijo
0:N 0:1juegaEnJugadornombre
idJugador
posición país
nombre
Equipo
Introduction to Conceptual Modeling 10/14/2014
IISSI 20
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Equivalence of notations
October 2014 Introduction to Software Engineering and Information Systems 38
10:NrealizadaPor
Asignaturanombre
código
Matricula
Asignatura0:N
0:N
nombre
idAlumno
AlumnoMatrícula
apareceEn
número
fecha
c lass Ejemplo matrícula
Matrícula
númerofecha
Asignatura
códigonombre
Alumno
idAlumnonombre*
real izadaPor
1*
apareceEn
*
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Conceptual model development
– Recommended steps:
1. Analyze the information about the problem domain
(glossary) and requirements.
2. Identify possible entities and attributes.
3. Identify possible associations.
4. Incrementally build the conceptual model identifying
the multiplicity of the associations.
5. Identify classifications between entities with common
properties (attributes and/or associations).
6. Identify composition between entities.
7. Add the constraints that cannot be graphically
expressed.
8. Validate with possible scenarios using object diagrams.
9. Register all semantic problems that must be discussed
with customers and users.
October 2014 Introduction to Software Engineering and Information Systems 39
Introduction to Conceptual Modeling 10/14/2014
IISSI 21
1. What is conceptual modeling?
2. Basic concepts
3. UML notation (class & object diagrams)
4. Entity-Relationship Diagrams
5. Conceptual model development
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Introduction to Conceptual Modeling
• Bibliography
– C. Larman, UML y Patrones.
Ed. Prentice-Hall, 1999.
• Chapters 9 to 12
– C. Larman, UML y Patrones (2ª
edición). Ed. Prentice-Hall, 2003.
• Chapters 10 to 12
– M. Fowler, UML Distilled (3rd
edition). Ed. Addison-Wesley,
2004.
• Chapter 3
October 2014 Introduction to Software Engineering and Information Systems 40