PDF de programación - INGENIERÍA DEL SOFTWARE I - Tema 10 - Estructura del Sistema (en desarrollo OO)

Imágen de pdf INGENIERÍA DEL SOFTWARE I - Tema 10 - Estructura del Sistema (en desarrollo OO)

INGENIERÍA DEL SOFTWARE I - Tema 10 - Estructura del Sistema (en desarrollo OO)gráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.182 visualizaciones desde el 14 de Enero del 2017
3,8 MB
69 paginas
Creado hace 14a (30/11/2009)
INGENIERÍA DEL SOFTWARE I

Tema 10

Estructura del Sistema

(en desarrollo OO)

Univ. Cantabria – Fac. de Ciencias

Francisco Ruiz y Patricia López

Objetivos del Tema
• Conocer en detalle los elementos que permiten

representar la estructura de un sistema.

• Aprender a realizar diagramas de clases y de objetos

de UML 2.

• Aprender a usar los mecanismos que permiten

extender y particularizar UML.

• Aprender a modelar con ellos diferentes aspectos

estructurales, tanto del dominio del problema
(requisitos-análisis) como del dominio de la solución
(diseño del sistema).

Francisco Ruiz, Patricia López - IS1

10.2

1

Contenido

• Introducción
• Elementos Estructurales

Clase
Atributo
Operación
Responsabilidad
Relaciones

Dependencia
Generalización
Asociación
Restricciones entre Relaciones

Clases Especiales
Interfaces

Realización

Otros Clasificadores
• Diagramas de Clases
• Objetos

Consejos

Identidad y Estado
Objetos prototípicos

• Diagramas de Objetos
• Mecanismos de Extensión

Consejos

Estereotipos
Valores Etiquetados
Anotaciones
Restricciones
Perfiles
Consejos
• Modelado

Vocabulario del Sistema
Distribución de Responsabilidades
Semántica de una Clase
Colaboraciones
Esquemas de Datos
Redes de Relaciones
Líneas de Separación
Instancias

Francisco Ruiz, Patricia López - IS1

10.3

Bibliografía
• Básica

Booch, Rumbaugh y Jacobson (2006): El Lenguaje

Unificado de Modelado. 2ª edición.
Caps. 4-6, 8-11 y 13-14.

• Complementaria

Rumbaugh, Jacobson y Booch (2007): El Lenguaje

Unificado de Modelado. Manual de Referencia. 2ª edición.
Cap. 4.

Hamilton y Miles (2006): Learning UML 2.0.

Caps. 4-6.

Larman, 2003. UML y Patrones: Introducción al análisis y

diseño orientado a objetos, 2ª Edición.
Cap 1

Francisco Ruiz, Patricia López - IS1

10.4

2

Introducción

• Análisis

Centrado en la investigación del problema y sus requisitos
Análisis de requerimientos, análisis del dominio, etc.

• Diseño

Centrado en la solución (software y hardware) que verifica los

requisitos

“Do the right thing (analysis) and do the thing right (design)”

• Implementación

Elaboración del código que implementa la solución diseñada

Francisco Ruiz, Patricia López - IS1

10.5

Introducción

• Análisis orientado a objetos:

Examina los requisitos desde el punto de vista de las clases y objetos encontrados en el vocabulario

del dominio (problema).

• Diseño orientado a objetos:

Diseña el software de una aplicación basada en construirla con una estructura modular en la que los

módulos software se corresponden con abstracciones de los objetos del problema.

• Programación orientada a objetos:

Implementación de los objetos software del diseño en un lenguaje orientado a objetos

Francisco Ruiz, Patricia López - IS1

10.6

3

Introducción
• Modelado Estructural

Se describen los tipos de objetos de un sistema y las

relaciones estáticas que existen entre ellos.
Clases
Interfaces
Relaciones de dependencia, realización, generalización y

asociación (agregación, composición)

Se suele representar mediante diagramas de clases, y

opcionalmente, diagramas de objetos.

Francisco Ruiz, Patricia López - IS1

10.7

Introducción

• El Modelado Estructural en OO se puede realizar desde diferentes

puntos de vista (o a diferentes niveles):
Modelo Conceptual o de Dominio

Conceptos del dominio del problema: propiedades, restricciones y

relaciones entre ellos.

Modelo de Análisis

Identifica como clases los conceptos del dominio.
Atributos, asociaciones y operaciones

Modelo de Diseño

Define los módulos software (clases en OO) que se corresponden con las

clases identificadas en la fase de análisis.

Se corresponden a decisiones del diseño (uso de interfaces, patrones de

diseño, estructuras de datos, persistencia).

Modelo de Implementación

Clases que corresponden a una tecnología de implementación (lenguaje

de programación).

Utilizando un lenguaje OO, el mapeado entre el modelo de diseño y el de

implementación es directo en la mayor parte de las clases

Francisco Ruiz, Patricia López - IS1

10.8

4

Introducción

• Modelo Conceptual

Francisco Ruiz, Patricia López - IS1

10.9

Introducción

• Modelo de Análisis

Francisco Ruiz, Patricia López - IS1

10.10

5

Introducción

• Modelo de Diseño

Francisco Ruiz, Patricia López - IS1

10.11

Elementos Estructurales
• En el tema 7 ya se han presentado los conceptos

básicos estructurales de orientación a objetos:
Clase
Atributo
Operación
Relaciones (Dependencia, Generalización, Asociación)
Interfaz

• En este tema se presentan aspectos complementarios

de su uso con UML.

Francisco Ruiz, Patricia López - IS1

10.12

6

Elementos Estructurales - Clase
• Las Clases son el principal elemento para el

modelado estructural en OO (y por tanto en UML).
Sirven para identificar las “cosas” importantes desde una

visión particular.

Constituyen el vocabulario del sistema que se modela.
Cada una de ellas tiene ciertas propiedades y un

comportamiento.

• Una clase representa el ámbito de definición de un

conjunto de objetos =>
Cada objeto pertenece a una clase.
Los objetos se crean por instanciación de las clases.

Francisco Ruiz, Patricia López - IS1

10.13

Elementos Estructurales - Clase
• Las características básicas de las clases UML

Nombre, Atributos, Operaciones

• Se complementan con otras características

avanzadas:
Visibilidad de atributos y operaciones.
Alcance de atributos.
Multiplicidad de clases y atributos.
Valor inicial y modificabilidad de atributos.
Tipo de las operaciones.

• Sirven para refinar la definición de las clases

conforme avanza el proyecto.

Francisco Ruiz, Patricia López - IS1

10.14

7

Elementos Estructurales - Clase

• Cuando se modela no hay que contemplar todo el detalle de las clases

(abstracción de modelado):
Al dibujar una clase no hay que mostrar todos los atributos y operaciones.
Se especifica con puntos suspensivos (...) que hay más atributos u

operaciones.

Se utilizan estereotipos como categoría descriptiva para organizar atributos y

operaciones.

Si se suprime un compartimento, o se muestra vacío, no quiere decir que no

tenga elementos.

AgenteFraudes

<<constructor>>
nuevo()
nuevo(p:Política)
<<procesamiento>>
procesar(s:Siniestro)
...
<<consultar>>
esSospechoso(s:Siniestro)
esFraudulento(s:Siniestro)
<<utilidades>>
validarSiniestro(s:Siniestro)

Francisco Ruiz, Patricia López - IS1

10.15

Elementos Estructurales - Atributo

• Una Propiedad (Property) en UML es una característica
estructural (structuralfeature) de un clasificador que
especifica información acerca del estado del clasificador.

• En UML 2 los atributos (de tipo Property) de una clase

agrupan tanto a atributos como a asociaciones.
En el resto de la presentación se exponen por separado

• Además de su nombre, para un atributo se pueden

especificar otras características, según la siguiente sintaxis:
[<visibilidad>] [‘/’] <nombre> [‘:’<tipo>] [‘[‘<multiplicidad>’]’]

[‘=‘<valor inicial>]

[‘{‘<modificador> [‘,’<modificador>]*’}’]

Donde

<nombre> es el único campo obligatorio
‘/’ significa que es un atributo derivado
<modificador> representa un modificador que se aplica al atributo.

Francisco Ruiz, Patricia López - IS1

10.16

8

Elementos Estructurales - Atributo
• Ejemplos de Atributos:

origen
+ origen
origen : Punto
nombre : String [0..1]
origen : Punto = (0,0)
id : Integer {readOnly}
/ edad : Integer

nombre

visibilidad y nombre

nombre y tipo

nombre, multiplicidad y tipo

nombre, tipo y valor inicial

nombre, tipo y modificador

nombre y tipo (atributo derivado)

Persona

edad = fechaActual - fechaNacimiento

/edad: Integer
fechaNacimiento : Date

Francisco Ruiz, Patricia López - IS1

10.17

Elementos Estructurales - Atributo
• La Visibilidad es común para atributos y

operaciones.
Sirve para ocultar los detalles de implementación

(encapsulación) y mostrar sólo aquellas características
necesarias para llevar a cabo las responsabilidades de un
clasificador.

Esta ocultación de información es esencial para construir

sistemas sólidos y flexibles.

Francisco Ruiz, Patricia López - IS1

10.18

9

Elementos Estructurales - Atributo

• UML 2 tiene cuatro niveles de

visibilidad:
public (+): Cualquier clasificador

externo puede utilizar la
característica.

protected (#): Sólo el propio
clasificador y sus descendientes
pueden usarla.

private (-): Sólo el propio
clasificador puede utilizarla.

package (~): Sólo los

clasificadores declarados en el
mismo paquete pueden utilizarla.

• La visibilidad por defecto es pública

BarraHerramientas

# selecciónActual: Herramienta
# contadorHerramienta: Integer
+ elegirElemento(i:Integer)
+ añadirHerramienta(t:Herramienta)
+ quitarHerramienta(i:Integer)
+ obtenerHerramienta(): Herramienta
# comprobarHuerfanos()
- compactar()
~ reconfigurar()

Francisco Ruiz, Patricia López - IS1

10.19

Elementos Estructurales - Atributo

• Una característica (atributo u operación) de una clase (o

clasificador en gen
  • Links de descarga
http://lwp-l.com/pdf1071

Comentarios de: INGENIERÍA DEL SOFTWARE I - Tema 10 - Estructura del Sistema (en desarrollo OO) (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad