Está en la página 1de 92

Tema 2.2.

2: Modelo del Análisis

Ingeniería del software I (2ºITG) 1 Unidad 2: Te


CONTENIDO


Introducción: El Modelo del Análisis.

El modelo conceptual.

Diagrama de clases de UML.

Las clases y las interfaces.

Las relaciones.

Notas y mecanismos de extensibilidad.

Directrices para elaborar el modelo conceptual.

Modelo de los requisitos funcionales.

Diagrama de secuencia del sistema.

Contrato de las operaciones.

Ingeniería del software I (2ºITG) 2 Unidad 2: Te


OBJETIVOS


Comprender la fase de análisis como una etapa de
modelización del sistema


Estudiar las herramientas que aporta UML para esta
etapa de desarrollo.


Descubrir los procesos de desarrollo a seguir durante
el análisis.

Ingeniería del software I (2ºITG) 3 Unidad 2: Te


Introducción: El Modelo del Análisis
La tarea principal del análisis es comprender, describir e identificar
los requisitos del sistema software a desarrollar.

Descripción
Descripcióntextual
textualdel
delproblema
problema

Diagrama
Diagrama Contrato
Contratode
de
de
deSecuencia
Secuencia las
lasoperaciones
operaciones
Modelo
ModeloConceptual
Conceptual del
oo delsistema
sistema principales
principales
Modelo
Modelode
deDominio
Dominio Modelo
Modelode delos
los
requisitos
requisitosfuncionales
funcionales
Modelo
Modelodel
delAnálisis
Análisis

Ingeniería del software I (2ºITG) 4 Unidad 2: Te


Introducción: El Modelo del Análisis
Herramientas para representar los Modelos del Análisis

Modelo
ModeloConceptual
Conceptual
oo
Diagrama de
Modelo
Modelode
deDominio
Dominio clases de UML

Diagrama
Diagrama
de
deSecuencia
Secuencia Diagrama de
del
delsistema
sistema Secuencia de
UML
No m bre . e le g irPro y e cto (DniAlum no , idPro ye cto )
Re s po n s a bilidaBusca
d r e l a lu m no y a l proye cto, ca lcula r e l ba re m o pa ra e se p
Contrato
Contratode
de
a lum no e incluir e se proye cto a los e le gidos de l a lum no
Exce p cio n e s El a lum nos de be e xistir y e sta r m a tricu la do e n la a signa tura
las
lasoperaciones
operaciones
Sa lid a s
Pre co nd icio n e s
principales Contratos de
principales C. Larman
Po s co n dicio n e sPara ca da pro ye cto e le g ido :
- Fue cre a do e nlace Alum no Pro y e cto (Elig e n).
- Fue ro n m o dificado s lo s atributo s Ba re m o y prio ridad

Ingeniería del software I (2ºITG) 5 Unidad 2: Te


El Modelo conceptual
El Modelo conceptual es una representación visual,
mediante un determinado lenguaje, de los conceptos u
objetos del mundo real de un dominio de interés.
El modelo conceptual, en general, muestra:

Un conjunto de conceptos.

Relaciones entre conceptos.

Atributos de los conceptos.

El modelo conceptual no muestra:



Componentes u objetos software.

Responsabilidades de estos.

Nuestro Modelo conceptual se va representar usando como


herramienta los diagramas de clases de UML.
Ingeniería del software I (2ºITG) 6 Unidad 2: Te
Diagrama de clases de UML
Los diagrama de clases de UML nos va a permitir representar
nuestros modelos, concretamente:

Modelo del análisis: Modelo conceptual.



Modelo del diseño:Diagrama de clases del diseño.
Un Diagrama de clases de UML puede contener lo siguiente:


Elementos estructurales: clases e interfaces.

Relaciones entre esos elementos: dependencia,
generalización, asociación y realización.

Notas y estereotipos.

Ingeniería del software I (2ºITG) 7 Unidad 2: Te


Diagrama de clases de UML: La Clase


Una clase es una descripción de un conjunto de objetos que comparten:
atributos, operaciones, relaciones y semántica”.


Una clase define los conceptos que forman parte del dominio del
problema o de la solución.

Dominio del problema:


Conceptos

Dominio de la solución:
Clases

Ingeniería del software I (2ºITG) 8 Unidad 2: Te


Diagrama de clases de UML: La Clase
Nombre Rectangulo
esquinaSupDer:Point
Atributos
esquinaInfIzq:Point
mover(p:Point)
Operaciones escalar(p:Point)
area():float
...
Realizar todas las
operaciones geométricas Responsabilidades

Nombre: Expresión nominal extraída del vocabulario del problema a modelar. Debe
comenzar con mayúscula.
Atributo: Propiedad del elemento que se está modelando.
[visibilidad] nombre [multiplicidad] [:tipo] [=valor inicial]
Operación: Es la abstracción de un servicio que puede prestar ese objeto
[visibilidad] nombre [(lista parámetros)] [:tipo retorno]
Responsabilidades: Obligación de esa clase con las demás clases.

Ingeniería del software I (2ºITG) 9 Unidad 2: Te


Diagrama de clases de UML: La Clase


Visibilidad de los atributos y operaciones.

Publica: Cualquier clase puede usar ese atributo u operación. (+)

Paquete: Sólo el paquete en el que está definida la clase puede usar
ese atributo u operación. (~) (valor por defecto)

Protegida: Cualquier clase hija puede usar ese atributo u operación.
(#)

Privada: Sólo la propia clase puede usar ese atributo u operación. (-).

Alcance de los atributos y operaciones

De instancia: Cada instancia posee su propio atributo u operación.
(valor por defecto)

De clase: Existe un único valor para todas las instancias de la clase. Se
representa subrayando el nombre.

Ingeniería del software I (2ºITG) 10 Unidad 2: Te


Diagrama de clases de UML: La Clase


Multiplicidad

De clase: Número de instancias que puede tener una clase.

De atributo: Número de instancias de un atributo.

Multiplicidad de clase

ControladorDeRed 1
PuertoConsola[2..*]:Puerto

Multiplicidad de atributo

Ingeniería del software I (2ºITG) 11 Unidad 2: Te


Diagrama de clases de UML: La Clase

Clase plantilla: Clase con algunas de sus propiedades parametrizada.
Para su uso es necesario que tomen valor los parámetros.

Item
Valor
Correspondencia

+ligar(in i:Item, v:Valor):Boolean


+estaLigado(in i:Item):Boolean {isQuery}

<<bind>>(cliente,pedido)
Correspondencia<cliente,pedido>

Correspondencia

Ingeniería del software I (2ºITG) 12 Unidad 2: Te


Diagrama de clases de UML: La Interfaz


Una Interfaz sirve para especificar el servicio de las clases. Está
compuesta por un nombre y definición de un conjunto de operaciones.

Hay dos representaciones distintas para una interfaz:

<<interface>>
GestorFlujoURL

abrirConexion() Gestores::GestorFlujoURL
analizarURL()
establecerURL()

Ingeniería del software I (2ºITG) 13 Unidad 2: Te


Diagrama de clases de UML: Las Relaciones


Las Relaciones modelan la forma en la que los elementos
estructurales se conectan entre sí.


Tipo de relaciones:

Dependencia.

Generalización.

Asociación.

Realización.

Ingeniería del software I (2ºITG) 14 Unidad 2: Te


Diagrama de clases de UML: La Dependencia


Una Dependencia modela una relación de uso.

En una dependencia no es necesario especificar un nombre.

B Dependencia

AA
bb1(a1:A)

Ingeniería del software I (2ºITG) 15 Unidad 2: Te


Diagrama de clases de UML: La Generalización

La Generalización (relación “es-un”) es una relación entre un elemento
general (padre o superclase) y un caso específico de éste (hijo o
subclase).
Elementos
Superclase Figura2D{root} abstractos
trasladar()
escalar()
area()
Subclase perimetro() Clase concreta

Rectangulo Circulo {leaf} Poligono


centro:Punto
esq1,esq2:Punto lista[3..*]:Punto
radio:double
base() numeroLados()
base()
area() area()
area()

Ingeniería del software I (2ºITG) 16 Unidad 2: Te


Diagrama de clases de UML: La Asociación

Una Asociación es una relación estructural fuerte, que indica que los
objetos de una clase forman parte del estado del objeto del otro extremo.

Asociación

Persona trabaja para


Empresa

Dirección del nombre


Nombre

Ingeniería del software I (2ºITG) 17 Unidad 2: Te


Diagrama de clases de UML: La Asociación

En una asociación se puede navegar desde el objeto de una clase hasta
el objeto de la otra clase, y viceversa, si no se indica el sentido de
navegación.


Un rol es la cara que la clase de un extremo de la asociación presenta a
la clase del otro extremo
Navegabilidad

Persona Empresa
.empleado .patron

Nombre de rol

Ingeniería del software I (2ºITG) 18 Unidad 2: Te


Diagrama de clases de UML: La Asociación

La Multiplicidad indica cuantos objetos de un extremo de la asociación
pueden conectarse con un objeto del otro extremo.
Sintaxis: valorMinimo..valorMaximo (por defecto es 1)
Ejemplos:1 = Uno, 0..1 = Cero o Uno, 0..* = Cero o muchos,
1..* = Uno o muchos,
0..1,3..4,6..* = Cualquier número excepto 2 y 5

Multiplicidad

1..* 0..1
Persona .empleado
Empresa
.patron

Ingeniería del software I (2ºITG) 19 Unidad 2: Te


Diagrama de clases de UML: La Asociación

Una Agregación (relación “parte-de”) es una asociación en la que una
de las clases representa el “todo” y la/s otra/s la/s parte/s.
Agregación La parte
El todo

1 1..*
Puzle Pieza


Una Composición es una forma de agregación con una fuerte relación de
pertenencia y vida de las partes con el todo.

1 1..* Cuenta
Banco

Composición

Ingeniería del software I (2ºITG) 20 Unidad 2: Te


Diagrama de clases de UML: La Asociación

La visibilidad posibilita el acceso desde los objetos de una clases a los
objetos de otras clases a través de asociaciones (+,-).

1
GrupoUsuarios Usuario Clave
-Clave

Visibilidad

Un cualificador es un atributo de algunas de las clases de la asociación
que pasa a ser un atributo asociado a la clase del otro extremo.

0..1
Directorio nomArchivo Archivo

Cualificador

Ingeniería del software I (2ºITG) 21 Unidad 2: Te


Diagrama de clases de UML: La Asociación

Una Clase asociación se da cuando una asociación presenta propiedades,
esas propiedades hay que modelarlas como una clase.

1..* 0..1
Persona Empresa
.empleado .patron

Clase asociación

TrabajaPara
descripción
fechaContrato
salario

Ingeniería del software I (2ºITG) 22 Unidad 2: Te


Diagrama de clases de UML: La Realización

Una Realización se da entre dos elementos cuando uno de ellos
especifica un contrato y el otro garantiza que se cumple. Por ejemplo:
Una interfaz presenta una relación de realización con la/s clase/s que la
implementa/n.

Dependencia
<<Interface>>
Collection

.add() Collections
addAll()
...

Realización

LinkedList

Ingeniería del software I (2ºITG) 23 Unidad 2: Te


Diagrama de clases de UML: Extensiones del lenguaje

Esteroetipos: añaden nuevos elementos de construcción. Se representan
entre << >>.

Valores etiquetados: añaden nuevas propiedades sobre los elementos del
lenguaje. Se presenta entre {}.

<<contenedor>>
ColaAcciones
{versión =3.2}
{persistente} Valor etiquetado

añadir(a:Accion)
Estereotipo eliminar(n:Integer)
<<consulta>>
longitud():Integer
<<ayuda>>
reordenar()

Ingeniería del software I (2ºITG) 24 Unidad 2: Te


Diagrama de clases de UML: Las Notas

Una nota es un símbolo gráfico o textual para representar comentarios
asociados a uno o varios componentes.
Valor
Estudiar la posibilidad de incluir
clases abstracta que nos modelen
Requisito: deberá cumplir lo
legislado respecto al registro .valorActual() valores materiales o intangibles
de transacciones historia()

Bono
CuentaCorriente .Propiedad
tasa.de Interes .tasacion
.valorActua()
.valorActual()
.valorActual()

Véase politica8-5-98.doc para


los detalles estos algoritmos

Ingeniería del software I (2ºITG) 25 Unidad 2: Te


Diagrama de clases de UML: Extensiones del lenguaje

Restricciones: extensiones de la semántica de los elementos del
lenguaje, añadiendo nuevas reglas o modificando las ya existentes.

Restricción simple
Empresa
{segura}
Restricción múltiple
Cuenta {or}

Persona
0..1 esposa
sexo:{hombre,mujer}

0..1 marido
Restricción simple y
formal {self.esposa.sexo = mujer and
self.marido.sexo = hombre}

Ingeniería del software I (2ºITG) 26 Unidad 2: Te


Diagrama de clases de UML
Ejemplo

Ingeniería del software I (2ºITG) 27 Unidad 2: Te


Diagrama de clases de UML

Ejercicio: Instanciar el diagrama de clases de la página 27 en el


caso de que tengamos 1 empresa, con 2 oficinas, 3
departamentos y 5 personas.

Ejercicio: Desarrollar un diagrama de clases que modele el aula.


Ese diagrama de clases debe ser siempre válido, esté
el aula ocupada o no.
Ejercicio: Desarrollar un diagrama de clases que modele este
edificio.

Ingeniería del software I (2ºITG) 28 Unidad 2: Te


Ejercicios

Ejercicio: A partir del siguiente Modelo Conceptual, haga un


enunciado de la estructura del problema que representa,
teniendo en cuenta que hay 28 menús distintos, en los que
no se repite ningún plato.

Ingeniería del software I (2ºITG) 29 Unidad 2: Te


Directrices para elaborar el Modelo Conceptual

Pasos a seguir:

1. Realizar una descripción de las estructuras e interacciones


principales en el dominio del problema.

2. Incorporar los conceptos.

3. Incorporar las asociaciones.

4. Incorporar las generalizaciones.

Ingeniería del software I (2ºITG) 30 Unidad 2: Te


Descripción del problema
Problema: Asignación de proyectos Informáticos

En un plan de estudios de una titulación universitaria, hay una


asignatura denominada "proyectos". Para aprobar dicha asignatura
el alumno tiene que desarrollar un trabajo práctico, en el que
resuelva un determinado problema aplicando los conocimientos
adquiridos durante su formación.

Durante la realización del proyecto (trabajo) el alumno recibe la


dirección tutelada de un profesor. Para ello los profesores definen
una serie de proyectos(trabajos) a realizar, y a los alumnos se les
adjudica un proyecto, de entre sus elegidos, en función de un
determinado baremo.

Ingeniería del software I (2ºITG) 31 Unidad 2: Te


Descripción del problema
El proceso a seguir sería el siguiente:
0. Los alumnos se matriculan de la asignatura “proyectos
informáticos”.
1. Los profesores definen los contenidos de sus proyectos
propuestos, dando el titulo del proyecto, las asignaturas
recomendadas y una descripción general del mismo.
2. A continuación cada alumno elige entre 1 y 10 trabajos de los
ofertados. A cada una de sus elecciones le asigna una prioridad.
3. Una vez terminada la elección se asigna los trabajos a los
alumnos, teniendo en cuenta el siguiente baremo: suma de la
nota media del expediente y la nota media de las asignaturas
recomendadas en el proyecto (que hayan sido cursadas por el
alumno).

Ingeniería del software I (2ºITG) 32 Unidad 2: Te


Descripción del problema
Restricciones a tener en cuenta:

Un proyecto puede ser asignado como máximo a tres
alumnos.

No puede quedar ningún alumno sin proyecto.

Puede haber proyectos sin alumnos.

Un profesor puede definir más de un proyecto.

Un alumno sólo puede ser asignado a un proyecto.

Ingeniería del software I (2ºITG) 33 Unidad 2: Te


Incorporar conceptos

Pasos a seguir:

1) Identificar los conceptos.

2) Seleccionar los conceptos relevantes en nuestro problema.

3) Representar esos conceptos en el modelo conceptual,


como clases de un Diagrama de clases de UML.

Ingeniería del software I (2ºITG) 34 Unidad 2: Te


Identificar conceptos

Estrategias para identificar conceptos:

A) De la descripción del problema, encontrar los términos


que se correspondan con sustantivos o frases
nominales, éstos van a ser los candidatos a conceptos.

B) Establecer una lista de categorías de conceptos y


rellenarla a partir de la información que se tenga de la
descripción del problema.

Ingeniería del software I (2ºITG) 35 Unidad 2: Te


Identificar conceptos
Problema: Asignación de Proyectos.

En un plan de estudios de una titulación universitaria, hay una


asignatura denominada "proyectos". Para aprobar dicha
asignatura el alumno tiene que desarrollar un trabajo práctico, en
el que resuelva un determinado problema aplicando los
conocimientos adquiridos durante su formación. Durante la
realización del proyecto (trabajo) el alumno recibe la dirección
tutelada de un profesor. Para ello los profesores definen una serie
de proyectos(trabajos) a realizar, y a los alumnos se les adjudica
un proyecto, de entre sus elegidos, en función de un determinado
baremo.

Ingeniería del software I (2ºITG) 36 Unidad 2: Te


Identificar conceptos
Problema: Asignación de Proyectos.
El proceso a seguir sería el siguiente:
0. Los alumnos se matriculan de la asignatura “proyectos
informáticos”.
1. Los profesores definen los contenidos de sus proyectos propuestos,
dando el titulo del proyecto, las asignaturas recomendadas y una
descripción general del mismo.
2. A continuación cada alumno elige entre 1 y 10 trabajos de los
ofertados. A cada una de sus elecciones le asigna una prioridad.
3. Una vez terminada la elección se asigna los trabajos a los alumnos,
teniendo en cuenta el siguiente baremo: suma de la nota media del
expediente y la nota media de las asignaturas recomendadas en el
proyecto (que hayan sido cursadas por el alumno).

Ingeniería del software I (2ºITG) 37 Unidad 2: Te


Identificar conceptos
Lista de categoría de clases conceptuales(1)
• Ca je ro
• Clie n te
Ac t o re s y a g e n t e s p a rt ic ip a n t e• s Us u a rio
• Su p e rv is o r
• Pro v e e d o r
• Tra n s p o rt is ta
Tipo de categorías

• Es ta b le c im ie n t o
• Ofic in a d e a t e n c ió n a l p ú b lic o

Ejemplos
Lu g a re s • De s p a c h o d e l p ro fe s o r
• Alm a c é n d e a rtíc u lo s
• Ce n tro a c a d é m ic o
• Co m p a ñ ía a é re a
• Un iv e rs id a d
Org a n iz a c io n e s • En tid a d Ba n c a ria
• De p a rt a m e n t o
• Ca jó n d e m á q u in a re g is t ra d o ra
Co s a s t a n g ib le s • Ca je ro a u t o m á t ic o
• Pro d u c t o
• Te rm in a l Pu n to d e Ve n t a

Ingeniería del software I (2ºITG) 38 Unidad 2: Te


Identificar conceptos
Lista de categoría de clases conceptuales(2)
• Lín e a d e c ré d it o
• Be c a
Co s a s n o t a n g ib le s • Ca lific a c ió n
• Ac c ió n e n b o ls a
• Ex p e d ie n te
• Ma t ríc u la
Tipo de categorías

• Ca t á lo g o d e a rt íc u lo s
• Lis t a d e a lu m n o s

Ejemplos
D o c u m e n t o s fís ic o s o v irt u a le s• Cu e n t a c o rrie n t e
• Re c ib o
• Co n t ra t o la b o ra l
• Es p e c ific a c ió n d e u n p ro d u c t o
Es p e c ific a c io n e s , re g la s , d is e ñ•o Re
o g la d e n e g o c io (De v o lu c io n e s /Ca n c e la c io n e s )
D e s c rip c io n e s • Re g la s d e c re a c ió n d e p ro d u c to /s e rv ic io s .
• Ma n u a l d e p ro c e d im ie n t o s y s e g u rid a d
• Ve n t a
Tra n s a c c io n e s • Ma t ríc u la
• Re s e rv a
• Pr e s ta m o

Ingeniería del software I (2ºITG) 39 Unidad 2: Te


Identificar conceptos
Lista de categoría de clases conceptuales(3)
• lín e a d e u n a v e n t a
• Im p o rte d e la m a tríc u la
It e m s d e u n a t ra n s a c c ió n • Fe c h a s d e la re s e rv a
• Pe rio d o d e v e n c im ie n to d e l p ré s t a m o
• Ve n t a
• Co m p ra
Tipo de categorías

Ev e n t o s • Ma t ríc u la
• Ce rt ific a c ió n a c a d é m ic a

Ejemplos
• Au t o riza c ió n d e p a g o
• Ca n c e la c ió n d e re s e rv a
• In g re s o h o s p ita la rio l
• Re c ip ie n t e
Co n t e n e d o re s d e c o s a s • Au t o c a r
• Un id a d d e Urg e n c ia .
• Pla n d e e s t u d io s
• Ele m e n to s d e l re c ip ie n t e
It e m s d e l c o n t e n e d o r • Pa s a je ro
• Bo x d e Urg e n c ia s
• As ig n a t u ra s

Ingeniería del software I (2ºITG) 40 Unidad 2: Te


Identificar conceptos
Lista de categoría de clases conceptuales(4)

• Tip o d e im p u e s to a p lic a b le
• Tip o d e c o n s e rv a c ió n d e l p ro du c to
Tipo de categorías

Tip o o c a t e g o ría d e c o s a s • Tip o d e p re s ta m o


• Tip o d e s u b a s ta

Ejemplos
• Tip o d e p ro c e d im ie n to te ra p é u tic o
• Tip o d e c o n tra to d e tra b a jo
• Sis te m a d e p a g o a c ré d ito
• Sis te m a d e Exp e die n te s
Ot ro s s is t e m a s e x t e rn o s a l S u •D Sis te m a d e a u to riza c ió n d e p a g o c o n ta rje ta
• Sis te m a d e c o n tro l d e te m p e ra tu ra
• Sis te m a d e e n v ío d e p e d id o s .

Ingeniería del software I (2ºITG) 41 Unidad 2: Te


Seleccionar conceptos relevantes
Problema: Asignación de Proyectos.
Lista preliminar de conceptos:
Baremo, Alumno, Profesor, Dirección Tutelada, Plan de Estudios, Asignatura, Nota Media,
Titulación Universitaria, Expediente, Proyecto, Trabajo Práctico, Título, Descripción,
Problema, Asignatura Recomendadas, elecciones y prioridad.
Para cada concepto encontrado seleccionar aquellos que sean relevantes para
nuestro problema. Tratando de detectar:

Términos sinónimos: (Plan de Estudios, Titulación Universitaria), (Proyecto,
Trabajo, Problema, Trabajo Práctico)

Relaciones: Dirección Tutelada, Asignaturas Recomendadas y elecciones.

Atributos de conceptos o de relaciones: Baremo, Nota Media, Título, Descripción,
prioridad

Ingeniería del software I (2ºITG) 42 Unidad 2: Te


Representar los conceptos
Problema: Asignación de Proyectos.
Lista Definitiva de conceptos:
Alumno, Profesor, Plan de Estudios, Asignatura, Expediente y Proyecto.

Representar estos conceptos en el modelo conceptual usando las


clases de UML.

Alumno Profesor Plan Estudios

Asignatura Expediente Proyecto

Ingeniería del software I (2ºITG) 43 Unidad 2: Te


Incorporar Asociaciones
Una asociación es una conexión significativa y relevante entre
dos conceptos.

Pasos a seguir:
1) Identificar posible asociaciones.
2) Representarlas en el MC y Seleccionar asociaciones
válidas.
3) Nombrar las asociaciones seleccionadas.
4) Identificar multiplicidad.

Ingeniería del software I (2ºITG) 44 Unidad 2: Te


Identificar Asociaciones
Estrategias para Identificar las asociaciones:
A) Buscar frases verbales en la descripción del problema

B) ) Usar la siguiente lista de categoría de asociaciones:

1. A es parte o está contenido físicamente o lógicamente en B


2. A se registra/conoce/conecta/captura en B.
3. A es una descripción de B
4. A es miembro de B
5. A usa o dirige B
6. A se comunica con B
7. A está contiguo a B
8. A es propiedad de B

Ingeniería del software I (2ºITG) 45 Unidad 2: Te


Identificar Asociaciones
Problema: Asignación de Proyectos.
1.En un plan de estudios de una titulación universitaria, hay una
asignatura denominada "proyectos".
Plan Estudios ------ Asignaturas (1)

2.Para aprobar dicha asignatura el alumno tiene que desarrollar un trabajo


práctico, en el que resuelva un determinado problema aplicando los
conocimientos adquiridos durante su formación.
Alumno ------ Proyecto (2)

3.el alumno recibe la dirección tutelada de un profesor.


Alumno ------ Profesor (3)

Ingeniería del software I (2ºITG) 46 Unidad 2: Te


Identificar Asociaciones
Problema: Asignación de Proyectos.

4.Los profesores definen una serie de proyectos(trabajos)


Profesor ------ Proyecto (8)

5. a los alumnos se les adjudica un proyecto


Alumno ----- Proyecto (2)

6. Entre sus elegidos,


Alumno ------ Proyecto (2)

7. Los alumnos se matriculan de dicha asignatura “proyecto”.


Alumno ------ Asignatura (2)

Ingeniería del software I (2ºITG) 47 Unidad 2: Te


Identificar Asociaciones
Problema: Asignación de Proyectos.

8.Expediente del Alumno


Expediente ------ Alumno (8)

9.Asignaturas recomendadas en el proyecto


Asignatura ----- Proyecto (9)

10.Del enunciado del problema (punto 4º del proceso a seguir) se


deduce que: El Expediente astá formado por Asignaturas y sus
notas.
Asignatura ----- Expediente (1)

Ingeniería del software I (2ºITG) 48 Unidad 2: Te


Representarlas y seleccionar las validas
Problema: Asignación de Proyectos.
Expediente
8
Alumno

6 5 2 7 10
3

Proyecto Asignaturas
9
1
4

Profesor Plan Estudios

Ingeniería del software I (2ºITG) 49 Unidad 2: Te


Representarlas y seleccionar las validas
Problema: Asignación de Proyectos.
Expediente
8
Alumno

6 5y2 7 10
3

Proyecto Asignaturas
9
1
4

Profesor Plan Estudios

Asociación redundante o derivada

Ingeniería del software I (2ºITG) 50 Unidad 2: Te


Nombrar Asociaciones
Problema: Asignación de Proyectos.

1. Un Plan de Estudios está formado por Asignaturas.

6. Los alumnos eligen proyectos.

2 y 5. Los Proyectos son asignados/realizados a/por Alumnos.

4. Los profesores definen Proyectos.

8. Los alumnos tienen expedientes.

10. Los expedientes están formados por Asignaturas y su nota.

9. Los proyecto recomiendan asignaturas.

Ingeniería del software I (2ºITG) 51 Unidad 2: Te


Nombrar Asociaciones
Problema: Asignación de Proyectos.

Alumno Expediente
Poseen

Asignados

FormadoPor
Eligen

Recomienda
Proyecto Asignaturas

FormadoPor
Define

Profesor Plan Estudios

Ingeniería del software I (2ºITG) 52 Unidad 2: Te


Identificar Multiplicidad
Problema: Asignación de Proyectos.
Alumno Expediente
Poseen

0..3
0..*

0..*
FormadoPor
Asignados
Eligen
1..10

1..*
Recomienda
Proyecto 0..* 0..*
Asignaturas

1..*
1..*

FormadoPor
Define

Profesor Plan Estudios

Ingeniería del software I (2ºITG) 53 Unidad 2: Te


Incorporar generalizaciones
Pasos a seguir:
1. Identificar posibles Generalizaciones

A partir de la descripción del problema y de las las clases conceptuales
Regla del 100%
Elidentificadas
100% de la encontrar
definición clases conceptuales
de la superclase con elementos
conceptual comunes.
se debe poder

Definira las
aplicar relaciones de superclase (concepto general) subclases (concepto
la subclase.
más
La específico).
subclase debe ajustarse al 100% de los:

Atributos
2. Asociaciones
Validar las estructuras encontradas. Una subclase potencial
debería
de estar de acuerdo con:
la superclase

La regla del 100% (conformidad con la definición de la superclase).

La Regla Es-Un (conformidad con la pertenencia al conjunto que define la
superclase).
3. Representarlas en el Modelo conceptual.

Ingeniería del software I (2ºITG) 54 Unidad 2: Te


Incorporar generalizaciones
Directrices para identificar generalizaciones

Para crear subclases conceptuales a partir de superclases

La subclase tiene atributos adicionales de interés.

La subclase tiene asociaciones adicionales de interés.

La subclase funciona, reacciona o se manipula de manera diferente a la
superclase o a alguna otra subclase.

Para crear superclases conceptuales a partir de subclases potenciales

Cuando las subclases presentan variaciones de un concepto similar.

Todas las subclases tiene el mismos atributo que se puede factorizar en la
superclase.

Todas las subclases tiene la misma asociación que se puede factorizar en la
superclase.

Todas las subclases tiene la misma operación que se puede factorizar en la
superclase.

Ingeniería del software I (2ºITG) 55 Unidad 2: Te


Incorporar generalizaciones
Problema: Asignación de Proyectos.
Supongamos que:
2º Los profesores definen los contenidos de sus proyectos, ..., las
asignaturas optativas recomendadas, ...

Hay dos tipos de asignaturas: Optativas y Troncales.

Está justificada la subclasificación: Si, ya que asignatura optativa tiene
una asociación relevante con Proyecto.

Representación en el modelo conceptual

Proyecto Optativa Troncal

Asignatura

Ingeniería del software I (2ºITG) 56 Unidad 2: Te


Agregar los Atributos
Pasos a seguir:
1º Identificar Atributos desde:

La descripción del problema ,o

de otras fuentes de información.
2º Representarlos en el Modelo Conceptual en los conceptos o en las
asociaciones que correspondan.

Tipos de atributos válidos:



Primitivos o valores puros de datos:(Entero, Real, Carácter,
Boolean, Cadena).

No primitivos: (Nombre de persona, Número de teléfono,
Hora, Fecha, Dirección, Punto,...)

Ingeniería del software I (2ºITG) 57 Unidad 2: Te


Agregar los Atributos

Directrices sobre los atributos:



Relacionar conceptos con asociaciones y no con atributos.

No usar atributos de un concepto como clave de acceso desde otro
concepto.

No incluir, si no es necesario, los conceptos asociados a los
atributos no primitivos.

Alumno

Expediente Proyecto
fechaNacimiento

.asignatura .codAsignaturas
Fecha

Ingeniería del software I (2ºITG) 58 Unidad 2: Te


Agregar los Atributos
Problema: Asignación de Proyectos.
Atributos extraídos de la descripción del problema:

Nombre de la Asignatura. ( de Asignatura)

Título del Proyecto. (de Proyecto)

Descripción del Proyecto. (de Proyecto)

Nota media del Expediente. (de Expediente)

Baremo. (de la asociación Eligen).

Prioridad (de la asociación Eligen).

Nota de un Alumno en una Asignatura. (de la asociación FormadoPor
entre Expediente y Asignatura).
Atributos extraídos de otras fuentes:

Nombre y DNI del Profesor y del Alumno.

Código y Créditos de la Asignatura.

Ingeniería del software I (2ºITG) 59 Unidad 2: Te


Agregar los Atributos
Problema: Asignación de Proyectos.
Alumnos Expediente
notaMedia
nombre
Poseen
DNI

FormadoPor
0..*
NOTA
0..*

0..3
Eligen
prioridad

Asignados
Baremo

1..10

1..*
Proyecto Recomienda Asignaturas
titulo codAsignatura
0..* nombre
descripción 0..*
créditos
1..*
Define

1..*
FormadoPor
Profesor
nombre
DNI Plan Estudios
Ingeniería del software I (2ºITG) 60 Unidad 2: Te
Seguimos con...


Introducción: El Modelo del Análisis.

El modelo conceptual.

Diagrama de clases de UML.

Las clases y las interfaces.

Las relaciones.

Notas y mecanismos de extensibilidad.

Directrices para elaborar el modelo conceptual.

Modelo de los requisitos funcionales.

Diagrama de secuencia del sistema.

Contrato de las operaciones.

Ingeniería del software I (2ºITG) 61 Unidad 2: Te


Modelo de los requisitos funcionales

Descripción
Descripcióntextual
textualdel
delproblema
problema

Diagrama
Diagrama Contrato
Contratode
de
Modelo
ModeloConceptual
Conceptual de
deSecuencia
Secuencia las
lasoperaciones
operaciones
oo
del
delsistema
sistema principales
principales
Modelo
Modelode
deDominio
Dominio
Modelo
Modelode delos
los
requisitos
requisitosfuncionales
funcionales

Modelo
Modelodel
delAnálisis
Análisis

Ingeniería del software I (2ºITG) 62 Unidad 2: Te


Diagrama de Secuencia del Sistema
El Diagrama de Secuencia del Sistema(DSS) nos va a
representar las peticiones de los distintos actores (elementos
externos al sistema) hacia el sistema y las posibles respuestas de
éste.

SISTEMA
SISTEMA

Herramienta a usar: Diagramas de secuencia de UML

Ingeniería del software I (2ºITG) 63 Unidad 2: Te


Diagramas de secuencia de UML

Muestran una colaboración concreta entre un grupo de objetos a


través del envío de mensajes, para llevar a cabo una determinada
operación, mostrando la dimensión temporal del envío de
mensajes.

Compuesto, esencialmente, por:


Elementos estructurales: Objetos y Actores


Relaciones entre estos: Mensajes entre
Actores/Objetos y Objetos/Objetos.

Ingeniería del software I (2ºITG) 64 Unidad 2: Te


Diagramas de secuencia de UML
Estructura general de un Diagrama de Secuencia de UML

Objetos

.objeto1 .objeto2 .objeto3


Tiempo

Mensajes

Ingeniería del software I (2ºITG) 65 Unidad 2: Te


Diagramas de secuencia de UML
Objeto: Instancia de una clase.
Actor: Elemento externo al sistema con el cual interacciona.

Instancias con Instancia huérfana


nombre

miCliente
miCliente:Cliente

Actor

:Cliente :Cliente

Instancia anónima Multiobjeto .unSocio:SocioBiblio

Ingeniería del software I (2ºITG) 66 Unidad 2: Te


Diagramas de secuencia de UML
Asociado a los objetos y a los actores se representa su línea de vida, tiempo
que vive ese objeto o actor en esa interacción.

Construcción del
objeto :Cliente
Línea de vida

Foco de control:
objeto activado

Objeto con el control de la


ejecución
Destrucción del
objeto

Ingeniería del software I (2ºITG) 67 Unidad 2: Te


Diagramas de secuencia de UML
Mensaje: Mecanismo de comunicación entre objetos.

.aa:A .bb:B

[n][var1:=]nombreMens([var2][:Tipo],..)[:Tipo]

n = orden en la secuencia de envío de mensaje


var1 = objeto o valor de retorno.
var2 = objeto o valor del argumento.
Tipo = Tipo de las variables usadas

Ingeniería del software I (2ºITG) 68 Unidad 2: Te


Diagramas de secuencia de UML
Devolución de control o retorno y mensaje a self

aa:A bb:B

.mens1()

mens2()
mens3()

Ingeniería del software I (2ºITG) 69 Unidad 2: Te


Diagramas de secuencia de UML
Comportamiento condicional en el envío de mensajes

a a :A b b :B
[ c o n d ic ió n ] m e n s 1 ()

[ ! c o n d ic ió n ] m e n s 2 ()

[ c o n d ic ió n ] m e n s 1 ()
[ ! c o n d ic ió n ] m e n s 2 ()

Ingeniería del software I (2ºITG) 70 Unidad 2: Te


Diagramas de secuencia de UML
Comportamiento iterativo en el envío de mensajes

a a :A b b :B c c :C :D

.mens0()
*[ c o n d ic ió n ] m e n s 1 ( m e n s 2 ()
)
m e n s 3 ()
m e n s 4 ()
*[i= 1 . . N ]
*m e n s 5 ()

Ingeniería del software I (2ºITG) 71 Unidad 2: Te


Diagramas de secuencia de UML
Ejemplo

:Ce n t ra lit a
e :In t e rlo c u t o
1 :d e s c o lg a r:In t e rlo c u t o
r
r r
2 :d a rTo n o (
)
3 :*[ i= 1 . . 9 ] m a rD ig (
d) 3 . 1 :e n ru t a rLla m a d a ( e , r
)
3 . 2 :lla m a r( )
3 . 2 . 1 :d e s c o lg a r
3 . 3 :< < c re a t e > :Co n e x ió n
>
4 :c o lg a r
4 . 1 :d e s Co n e c t a r( e ,
r)
< < d e s t ro y > >

Ingeniería del software I (2ºITG) 72 Unidad 2: Te


Diagramas de secuencia de UML

Ejercicio: Modificar el diagrama anterior para que se


contemple la posibilidad de que el receptor no
descuelgue.
Ejercicio: Hacer un DS que modele el funcionamiento
del ascensor de este edificio.

Ejercicio: Hacer el DS de una operación de la primera


práctica.

Ingeniería del software I (2ºITG) 74 Unidad 2: Te


Ejercicio
Dibujar el diagrama de secuencia correspondiente a la
siguiente especificación sobre el comportamiento de un
cajero automático:

· El usuario introduce la tarjeta en el cajero


· El usuario introduce en el cajero la cantidad a retirar.
· El cajero solicita al banco la verificación del la contraseña (PIN).
· El banco le ofrece al cajero una respuesta afirmativa.
· El cajero le envía al banco la cantidad a retirar.
· El banco envía a la cuenta una petición para actualizar saldos.
· El banco emite un mensaje para el almacenamiento de la
transacción.
· La cuenta le ofrece el nuevo saldo al banco.
· El banco le envía al cajero la orden de expender la cantidad de
dinero deseada.
· El cajero proporciona el dinero al cliente y le expide un recibo.

Ingeniería del software I (2ºITG) 75 Unidad 2: Te


Diagrama de Secuencia del Sistema
Un Diagrama de Secuencia del Sistema es un DS de UML en el que se
muestran los eventos generados por los actores, y como ese evento va a
provocar la ejecución de una operación del Sistema, viendo a éste como
una caja negra.

:Sistema

.op1()

op2()

op3()

Frontera del sistema

Ingeniería del software I (2ºITG) 76 Unidad 2: Te


Diagrama de Secuencia del Sistema

Pasos a seguir:
1. Identificar las operaciones principales del sistema de la
descripción del problema.
2. Hacer una descripción de la funcionalidad que proporciona la
operación (recurrir a escenarios).
3. Identificar los actores que inician dichas operaciones.
4. Asignarles un nombre y tratar de Identificar los parámetros de
dichas operaciones.
5. Asignar un nombre a todo el sistema.
6. Representar las operaciones, los actores y el sistema en un
Diagrama de Secuencia del Sistema.

Ingeniería del software I (2ºITG) 77 Unidad 2: Te


Diagrama de Secuencia del Sistema
Pasos 1,2 y 3 del Ejemplo: Asignación de proyectos
De la descripción del problema (p. 31 de este tema) tenemos las siguientes
operaciones su descripción y los actores y la inician:
Matricular alumnos: A comienzo del curso académico los Alumnos se matriculan de una
titulación y de las asignaturas que desee. Para ello proporciona sus datos personales y las
asignaturas elegidas.
Definir proyectos: A lo largo del mes de septiembre los Profesores definen los proyectos,
proporcionando su titulo, sus recomendaciones(asignaturas optativas recomendadas) y una
descripción general del mismo.
Elegir proyecto: A lo largo del mes de octubre los Alumnos eligen entre 1 y 10 proyectos
(priorizándolos), de la lista de proyectos definidos por los profesores, para cada proyecto
elegido por el alumno se calcula su baremo. Éste será igual a la suma entre la nota media del
expediente y nota media de las asignaturas optativas recomendadas por el profesor para ese
proyecto.
Asignar proyecto: Terminado el proceso de elección el Responsable del sistema procede a
asignar los proyectos a los alumnos, teniendo en cuenta la elección del alumno, para ello se
recurre al baremo que tenga ese alumno para ese proyecto.

Ingeniería del software I (2ºITG) 78 Unidad 2: Te


Diagrama de Secuencia del Sistema
Nombrar al Sistema y representar (pasos 4, 5 y 6) del ejemplo:
Asignación de proyectos
Nombre
del sistema
: Alumno
:Profesor
:SAP

:Responsable .matricularAlumnos(idAlu, listIdAsig)

.definirProyecto( ¿?,¿?,¿?,¿?)

.elegirProyecto(idAlu,idPro,prio)

.asignarProyecto()

Ingeniería del software I (2ºITG) 79 Unidad 2: Te


Diagrama de Secuencia del Sistema
Nombrar al Sistema y representar (pasos 4, 5y 6) del Ejemplo: Asignación
de proyectos
simplificación: Único actor el Responsable del Sistema

:SAP
:Responsable

matricularAlumnos(idAlu, listIdAsig)

definirProyecto(¿?,¿?,¿?,¿?)

elegirProyecto(idAlu,idPro,prio)

.asignarProyecto()

Ejercicio: Encontrar los parámetros de la operación definirProyecto(....)

Ingeniería del software I (2ºITG) 80 Unidad 2: Te


Contrato de las operaciones
Un contrato es un documento que describe lo que una operación se
propone lograr, sin decir cómo.

Elementos de un contrato
N o m b re N o m b re d e la o p e ra c ió n y s u s p a rá m e t ro s
Re s p o n s a b ilid a d D e s c rip c ió n in f o rm a l d e la s re s p o n s a b ilid a d e s
q u e d e b e c u m p lir la o p e ra c ió n .
Tip o Co n c e p t o , c la s e o in t e rfa z re s p o n s a b le d e la o p e ra c ió n .
No t a s No t a s p a ra e l d is e ñ o , a lg o rit m o , ..
Exc e p c io n e s Ca s o s e xc e p c io n a le s .
S a lid a s Me n s a je s o d a t o s e n via d o s fu e ra .
Pre c o n d ic io n e s S u p o s ic ió n a c e rc a d e l e s t a d o d e l s is t e m a o d e lo s o b je t o s
.d e l Mo d e lo Co n c e p t u a l a n t e s d e e je c u t a r la o p e ra c ió n .
P o s c o n d ic io n e s Es t a d o d e l s is t e m a o d e lo s o b je t o s d e l Mo d e lo
. Co n c e p t u a l d e s p u é s d e la e je c u c ió n d e la o p e ra c ió n

Ingeniería del software I (2ºITG) 81 Unidad 2: Te


Contrato de las operaciones
Pasos a seguir para especificar los contratos
Para cada operación principal preparar un contrato. Para cada
contrato proceder de la siguiente forma:

Identificar los objetos involucrados en la operación, usando para
ello la descripción de las operaciones principales y el modelo
conceptual como base.

Comenzar por la sección de Responsabilidades, describiendo
informalmente el propósito de la operación.

Continuar con la sección de Poscondiciones.
 Finalizar con las demás sesiones, especialmente con las
precondiciones.

Ingeniería del software I (2ºITG) 82 Unidad 2: Te


Contrato de las operaciones
Directrices sobre las poscondiciones

Las poscondiciones deben describir los cambios de estado de
un sistema no sus acciones. Los cambios de estado que se
describen en las poscondiciones son:

Creación y destrucción de objetos.

Creación y destrucción de enlaces.

Modificación de atributos.

Los objetos y enlaces que se pueden crear y destruir suelen estar
definidos en el Modelo Conceptual.


Las poscondiciones pueden provocar cambios en el Modelo
Conceptual.


Las poscondiciones deben expresarse mediante una frase verbal en
pretérito.

Ingeniería del software I (2ºITG) 83 Unidad 2: Te


Contrato de las operaciones
Ejemplo: Asignación de proyectos

:Responsable :SAP

.matricularAlumnos( ..)

.definirProyecto(.. )

.elegirProyecto(..)

.asignarProyecto()

Ingeniería del software I (2ºITG) 84 Unidad 2: Te


Contrato de las operaciones
Contrato de la operación: matricularAlumnos(idAlu, listIdAsig)
Identificar objetos

Descripción de la operación:
Matricular alumno: A comienzo del curso académico los Alumnos se matriculan de una
titulación y de las asignaturas que desee. Para ello proporciona sus datos personales y las
asignaturas elegidas.

Trozo de Modelo conceptual involucrado en la operación:
Alumnos Expediente

0..*
estado

1..*
PlanEstudios Asignaturas


objetos: PlanEstudios, Alumno, Asignatura y Expediente.

Ingeniería del software I (2ºITG) 85 Unidad 2: Te


Contrato de las operaciones
Contrato de la operación: matricularAlumnos(idAlu, listIdAsig)
Un asociación con atributos se transforma en una clase que modela la
asociación, con los atributos de la asociación
Expediente

Expediente

1..*
0..*
estado

AsigDeExpe
estado
1..*

0..*
Asignaturas

Asignaturas

Ingeniería del software I (2ºITG) 86 Unidad 2: Te


Contrato de las operaciones
Contrato de la operación: matricularAlumnos(idAlu, listIdAsig)
No m bre m a t ric u la rAlu m n o s (id Alu , lis t Id As ig )
Re s p o ns abilid ad Id en tificar al alu m n o y a las a s ig n atu ras q u e q u iere cu rs ar
E in clu irlas e n s u e x p ed ien te co n el es ta d o a m atricu lad a.
Tip o SAP
No tas
Ex cep cio n es Si el alu m n o n o h a s id o id en tificad o .
Si alg u n a as ig n atu ra n o e s id en tifica d a.
Salid as
Preco n d icio n es
Po s c o ndicio ne s Para cad a elem en to d e lis tId As ig
- Fu e cread o u n o b jeto As ig DeEx p e (ae ) co n e s tad o a “m atricu la d a”
- Fu e cread o u n e n lace en tre ae y u n o b jeto As ig n atu ra
(id en tificad o p o r el co rres p o n d ien te ele m en to d e lis tIDAs ig )
- Fu e cread o u n e n lace en tre ae y u n o b jeto Ex p ed ien te
(id en tifica d o p o r id Alu ).

Ingeniería del software I (2ºITG) 87 Unidad 2: Te


Contrato de las operaciones
Contrato de la operación: definirProyecto(idProf,tit,descrip,listIdAsig)
Identificar objetos:

Descripción de la operación:
Definir proyectos: A lo largo del mes de septiembre los Profesores definen los proyectos,
proporcionando su titulo, las asignaturas optativas recomendadas y una descripción general
del mismo.

Trozo de Modelo conceptual involucrado en la operación:
Proyecto Profesor

Asignatura


objetos: Profesor, Asignatura y Proyecto.

Ingeniería del software I (2ºITG) 88 Unidad 2: Te


Contrato de las operaciones
Contrato de la operación:definirProyecto(idProf,tit,descrip,listIdAsig)
Nom bre De finirProye ct o(idProf,t it,de s crip,list IdAsig )
Re s pons abilidad Crear u n nuevo proyecto as ignando le el profesor qu e lo d efin e
Las as ig naturas eco m en dad as , s u títu lo y su des crip ción
Tipo SAP
Notas
Excep cion es Si el profeso r n o es id en tificad o.
Si alg una as ignatura n o es identificada.
Salidas
Preco ndicio nes
Po s condicione s - Fue creado un objeto Pro yecto (pro ) debidam ente in icializ ado
- Fue creado un enlace en tre pro y un o bjeto Pro feso r .
(id en tificad o por idProf)
Para cada elem en to de lis tId As ig
- Fue creado u n enlace en tre pro y un ob jeto Asignatura
(id en tificad o por el co rres pond iente elem ento de lis tIdAs ig )

Ingeniería del software I (2ºITG) 89 Unidad 2: Te


Contrato de las operaciones
Contrato de la operación: elegirProyecto(idAlu,idPro,prio)
Identificar objetos:

Descripción de la operación:
Elegir proyecto: A lo largo del mes de octubre los Alumnos eligen entre 1 y 10 proyectos,
priorizándolos, de la lista de proyectos definidos por los profesores, para cada proyecto
elegido por el alumno se calcula su baremo. Éste será igual a la suma entre la nota media
del expediente y nota media de las asignaturas recomendadas por el profesor para ese
proyecto.

Trozo de Modelo conceptual involucrado en la operación:
Alumno
Proyecto

.
baremo
prioridad
Asignatura Expediente


objetos: PlanEstudios, Alumno, Expediente,Asignatura y Proyecto.

Ingeniería del software I (2ºITG) 90 Unidad 2: Te


Contrato de las operaciones
Contrato de la operación: elegirProyecto(idAlu,idPro,prio)
Identificar objetos:

0..*
1..10 Alumno
Proyecto

.
baremo
prioridad

0..* Eleccion 1..10


baremo Alumno
Proyecto
prioridad

Ingeniería del software I (2ºITG) 91 Unidad 2: Te


Contrato de las operaciones
Contrato de la operación:elegirProyecto(idAlu,idPro,prio)
No m b re Ele g irPro ye cto (id Alu ,id Pro ,p rio )
Re s po ns ab ilidad Bu s ca r a l Alu m n o y a l Pro ye cto , ca lcu la r e l b a re m o p a ra e s e p ro ye cto e
.in clu ir e s e p ro ye cto d e n tro d e la lis ta d e e le g id o s p o r e s e a lu m n o .
Tip o SAP
No ta s Ba re m o = n o ta Me d ia Ex p . + n o ta m e d ia d e As ig n atu ra s Re co m e n d a d a s
Ex ce p cio n e s Si e l a lu m n o n o e s id e n tifica d o .
Si e l p ro ye cto n o e s id e n tifica d o .
Si e l a lu m n o n o e s tá m a tricu la d o d e la a s ig n a tu ra “Pro yecto In fo rm á tico s ”.
Sa lid a s
Pre co n d icio n es Qu e e s té n to d o s lo s p ro ye cto s d e fin id o s .
Po s c o ndic io ne s - Fu e cre a d o u n o b je to Ele ccio n (e le ) co n b a re m o ca lcu la d o .
- Fu e cre a d o u n e n la ce e n tre e le y u n o b je to Pro ye cto
(id e n tifica d o p o r id Pro )
- Fu e cre a d o u n e n la ce e n tre e le y u n o b je to Alu m n o
(id e n tifica d o p o r id Alu n

Ingeniería del software I (2ºITG) 92 Unidad 2: Te


Contrato de las operaciones

Ejercicio: Desarrollar el contrato de la operación


asignarProyecto(..)

Ingeniería del software I (2ºITG) 93 Unidad 2: Te

También podría gustarte