Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Fase de Diseo
FASE DE DISEO
DISEO DEL SISTEMA
Particin en subsistemas y asignacin a subaplicaciones Definir todos los procesos. Las clases del anlisis se promueven a clases especificas Disear las clases necesarias Integrar clases ya existentes al diseo Se define la arquitectura
Proceso UML 2
DISEO DE OBJETOS
DISEO ARQUITECTONICO
INTEGRIDAD
DEBERAN GARANTIZAR QUE LOS MODELOS GENERADOS SON CONSISTENTES 1) DIAGRAMAS DE CLASES VS. TARJETAS CRC 2) MODELOS DINMICO VS. TARJETAS CRC 3) DIAGRAMAS DE CLASES VS. PROTOTIPO DE DISEO
Proceso UML
DISEO DE OBJETOS
A partir de las clases y asociaciones de los diagramas de clase del anlisis, definimos clases de la aplicacin (o partes no visuales). Definir clases interface o visuales (partes visuales) Existirn otras clases sin correspondencia directa con elementos del anlisis: clases del diseo
Proceso UML
DISEO DE OBJETOS
Poltica para representar atributos derivados, clasificacin mltiple, clasificacin dinmica,.. Poltica para validacin de datos de entrada del usuario: objeto-servidor u objeto-cliente Posibilidad de utilizar diseo por contrato
Proceso UML
PROPUESTA DE DISEO
Fase Elaboracin Modelo de Requerimientos Modelo del Dominio Diagramas de Clase conceptual y diagramas de actividad Modelo de Casos de Uso Valorar riesgos tcnologicos Decisiones de Diseo sobre la arquitectura Planificacin
Proceso UML
PROPUESTA DISEO
Fase Construccin Iterativa e incremental En cada iteracin se realiza anlisis, diseo, implementacin y test Cada etapa acaba con un prototipo Comenzar con las partes crticas
Proceso UML
Diseo de Clases
Cuestiones a analizar: Efectos laterales en funciones Nmero de argumentos en los mtodos Tamao de las clases Estructuras de datos activas Exportacin selectiva Documentacin de una clase Tratamiento de casos excepcionales
Proceso UML 9
Diagramas de Paquetes
Uso de paquetes
Paquete: conjunto de elementos de cualquier tipo pertenecientes al modelo (clases, casos de uso, diagramas de colaboracin u otros paquetes).
Esto es un paquete
Proceso UML
11
Paquete
Paquete: conjunto de elementos de cualquier tipo pertenecientes al modelo (clases, casos de uso, diagramas de colaboracin u otros paquetes).
Otro paquete
+A
-B
Proceso UML
12
Diagramas de Paquetes
Un paquete agrupa un conjunto de componentes relacionados. Un diagrama de paquetes muestra muestra paquetes de clases y las dependencias entre ellas. Permiten simplificar diagramas de clase complejos. Unidad bsica para testing.
Proceso UML 13
En lugar de...
Procesamiento
Almacenamiento
Proceso UML
14
...utilizar:
Presentacin
Presentacin
Procesamiento
Dominio Servicios
Dominio Servicios
Almacenamiento
Almacenamiento
Proceso UML 15
De modo que:
Dominio
Facturas
Albaranes
Los elementos de un paquete pueden representarse mediante particiones: una particin representa un conjunto de subsistemas ms o menos independientes dentro de una capa.
Proceso UML 16
DIAGRAMAS DE PAQUETES
UN PAQUETE PUEDE CONTENER A OTROS PAQUETES
Editor
Controlador
Proceso UML
17
DIAGRAMAS DE PAQUETES
Relacin de Dependencia Un item puede ser importado en un paquete si es visible (exportado) por el paquete donde se declara.
Clientes Banco: ChequandoCuenta imports Banco ChequandoCuenta
Proceso UML
18
Pertenencias y referencias
Un elemento del modelo estar incluido en un slo paquete, pero puede ser referenciado desde otros.
Dominio Almacenamiento
Cliente
0..* 1
Mensaje
0..* almacena 1
Servidor
Buzn
Proceso UML
Dominio::Buzn
19
Almacenamiento
Proceso UML
20
Dependencia de importacin
Dominio +Cliente Presentacin +FrameCliente AWT +Frame +Label importa
Proceso UML 21
-AWT::Frame importa
importa
Generalizacin
AWT +Frame #Label
En la arquitectura multinivel...
Procesamiento
Dominio Servicios
Presentacin
Almacenamiento
Proceso UML
23
Consideraciones
Dentro de un paquete pueden incluirse los elementos que:
Estn relacionados conceptualmente o tienen un objetivo comn Pertenecen a un mismo rbol de herencia Pertenecen al mismo caso de uso Tienen relaciones conceptuales muy fuertes
Proceso UML
24
Diagramas de Componentes
Componentes
Un componente es un mdulo fsico de cdigo (ficheros con cdigo fuente, bibliotecas, runtimes, etc.). La nica relacin posible entre componentes es la dependencia, con la que denotamos que un componente debe ser compilado antes que otro.
Proceso UML 26
Componente
Los componentes son paquetes fsicos de otros elementos lgicos Estereotipos predefinidos:
Ejecutable Biblioteca (library) Tabla (de BD) Fichero Documento
Proceso UML 27
Conceptos
Componente: parte fsica y reemplazable de un sistema que implementa y suministra ciertos conjuntos de interfaces.. Diseo Basado en Componentes: forma de desarrollar el software en la que todos sus productos pueden ser construidos ensamblando, adaptando y conectando componentes preexistentes.
Proceso UML 28
Componente en general
Los subprogramas son conjunto s de rutinas, de suerte que no incluyen e specificacione s de clases.
Proceso UML
29
Por ejemplo, un .C PP de C ++
Proceso UML
30
Proceso UML
31
Relaciones de dependencia
F ac tura.C P P
L in e a F a ctu ra .H
F ac tura .H
L in e a Fa c tu r a.C P P
Proceso UML
32
Ejemplos
servidor
realiza FServidor.java Servidor.java Cliente.java servidor.java servidor.java
FServidor.java
Servidor.java
Cliente.java
Proceso UML
33
Ventajas
Reutilizacin Unidades de mantenimiento y actualizacin Desarrollo en paralelo Escalabilidad (facilidad de aadir nuevos servicios) Independencia del lenguaje Componentes distribuidos
Proceso UML 34
Especificacin de un componente
Servicios prestados (interfaces) Servicios requeridos (interfaces) Especificacin externa Cdigo ejecutable Cdigo de validacin Documentos de diseo
Proceso UML 35
Diagramas de Despliege
Diagramas de Despliegue
Muestra las relaciones fsicas entre el hardware y el software del sistema construdo.Elementos: Nodos: Dispositivo hardware Conexiones entre nodos Componentes: Mdulos de cdigo. Dependencias entre paquetes
Proceso UML 37
Pacientes
Interface
Proceso UML
38
Diagrama de Despliege
modem Internet Procesador Servidor Red Local Servidor Web
Procesador Cache
Procesador DNS
Proceso UML
Procesador Direcc.
39
Ejemplo Java
class B extends A implements X { Ximplem at1; public void metodo1(..) {at1.metodo1(..)} public int metodo2(..) {return at1.metodo2} } class Ximplem implements X {}
Proceso UML
41
Ejemplo Delphi
class Aplicacin creation make feature {None} transicion: ARRAY2[Integer]; estado_asociado: ARRAY[Estado] feature make(n,m: Integer) is do !!transicion.make(1,n,1,m); !!estado_asociado.make(1,n) end; inicial: Integer; establecer_inicial (ne: Integer) is do inicial:= ne; end; put_estado (e: Estado; ne: Integer) is do estado_asociado.put(e, ne) end
Proceso UML 42
Ejemplo Eifel
Ejemplo de variable de clase
class TRABAJADOR suma_salarios: REF_INTEGER is once !!Result end; salario: INTEGER; incremento_salario(v:INTEGER) is do salario:= salario + v; suma_salarios.add(v) end . end
Proceso UML 43
public class FrameCliente extends Frame implements Inicio { private Cliente mCliente; public FrameCliente() { ... } public FrameCliente(String title) { this(); setTitle(title);
Proceso UML
44
public class Servidor { private Cliente mClientes[]; private boolean mConectado; public String mNombre; private int mCapacidad; private int mConectados; private InterfazServidor mInterfaz; ... public void setInterfaz(InterfazServidor interfaz) { mInterfaz=interfaz; }
Proceso UML 46