Documente Academic
Documente Profesional
Documente Cultură
Contenido
introduccin modelado de sw claves en desarrollo de si abstraccin - modelado visual notacin (visual) - Beneficios introduccin: UML que es UML?. Historia del UML. Participantes en UML 1.0 UML "aglutina" enfoques OO. Perspectivas de UML.
Contenido
Proceso de desarrollo de SW basado en UML. Que es un proceso de desarrollo de sw?. Rational Unified Process (RUP). Fases e Hitos (Milestones). Elementos en RUP. Caractersticas Esenciales de RUP. Proceso dirigido por los Casos de Uso. Proceso Iterativo e Incremental. Proceso Centrado en la Arquitectura. Fases del ciclo de vida. Esfuerzo respecto de las Workflows. Esfuerzo respecto de las Fases.
Contenido
Diagramas de UML. Modelos y diagramas. Diagramas de UML. Organizacin de los modelos Diagrama de actividad Diagrama de Casos de Uso. Fully Use Case. Diagrama de clases.
Contenido
Diagramas de UML. clases clases : notacin grafica clases : encapsulacin. Relaciones entre clases Asociacin. Agregacin. Composicin.
Contenido
Diagramas de UML. Clases y Objetos. Generalizacin. Polimorfismo. Diagrama de secuencia. Diagrama de colaboracin. Diagrama de estados. Diagrama de componentes. Diagrama de despliegue. Resumen.
Introduccin Modelado de SW
Claves en Desarrollo de SI
Notacin
Herramientas
Proceso
I. Introduccin: Modelado de SW
envo
Mltiples Sistemas
Componentes Reutilizados
Promover la Reutilizacin
Introduccin: UML
I. Introduccin: UML
Qu es UML?
UML = Unified Modeling Language
I. Introduccin: UML
Historia de UML
I. Introduccin: UML
Historia de UML
2001-2003 2000 1999 1998 Nov 97
UML aprobado por el OMG
UML 2.0
UML 1.2
No existe un proceso de software universal. Las caractersticas de cada proyecto (equipo de desarrollo, recursos, etc.) exigen que el proceso sea configurable
Dos Dimensiones
Inception
Elaboration
Construction
Transition
Objetivos (Vision)
Arquitectura
tiempo
Elementos en RUP
Workflows (Disciplinas)
Workflows Primarios Business Modeling (Modado del Negocio) Requirements (Requisitos) Analysis & Design (Anlisis y Diseo) Implementation (Implementacin) Test (Pruebas) Deployment (Despliegue) Workflows de Apoyo Environment (Entorno) Project Management (Gestin del Proyecto) Configuration & Change Management (Gestin de Configuracin y Cambios)
Workers
Actividades
Artefactos
Realizar los casos de uso Verificar que se satisfacen los casos de uso
Pruebas
Caso de Uso
Realizacin de Anlisis
Realizacin de Diseo
trace
trace
Pruebas Unitarias
Pruebas Funcionales
X
Caso de Prueba
[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]
Arquitectura de un sistema es la organizacin o estructura de sus partes ms relevantes Un arquitectura ejecutable es una implementacin parcial del sistema, construida para demostrar algunas funciones y propiedades
RUP establece refinamientos sucesivos de una arquitectura Construction Inception Elaboration ejecutable, construida como Transition un prototipo evolutivo
Architecture
15%
Requisitos
10% 15%
Diseo
Implementacin
30% 15%
P r e lim in a ry I te r a tio n ( s ) ite r. #1 ite r. #2 ite r. #n ite r. # n+ 1 ite r. # n+2 it e r. #m ite r. #m +1
Pruebas
Diseo
Implementacin
Pruebas
P r e lim in a ry I te r a tio n ( s ) ite r. #1 ite r. #2 ite r. #n ite r. # n+ 1 ite r. # n+2 it e r. #m ite r. #m +1
Esfuerzo: Duracin:
5% 10%
20% 30%
65% 50%
10% 10%
Diagramas de UML
Use Case Use Case Diagramas Diagrams de Diagrams Secuencia Scenario Scenario Diagramas Diagrams de Diagrams Colaboracin
Modelo
Diagramas de Actividad
Distribucin
Diagrama de Actividad
Buscar Bebida [ no hay caf ] [ no zumo ] [ hay caf ] [ hay zumo ] Poner caf en filtro Aadir agua al depsito Coger taza Coger zumo
Encender mquina / cafetera.On Caf en preparacin indicador de fin Servir caf Beber
Solicitar pasaje
Seleccionar vuelo
Emitir billete
Prctica 9
CU_SFG_MS_002-
eliminar serv icio
Fotografo
administrador
include
include CU_SFG_MS-005buscar serv icio
CU_SFG_MS_008_Aceptar Solicitd
include
extend
include CU_SFG_MS_009_Rechazar
Solicitd
Diagrama de Clases
Mtodo del sustantivo
Determinar todos los sustantivos Eliminar sustantivos de acuerdo a los siguientes criterios:
Redundantes Irrelevantes Vagos Operaciones Constructores de implementacin Meta lenguajes Atributos
Establecer relaciones
Asociaciones Cardinalidades generalizaciones
cd Ej emplos
Diagrama de clases
cd Ej emplos
Persona Persona
# + nombre: String fechaDeNacimiento: Date direccion: String telefono: String
# +
+ +
Asociacin
La asociacin expresa una conexin bidireccional entre objetos Una asociacin es una abstraccin de la relacin existente en los enlaces entre los objetos
Univ. de Murcia : Universidad Un enlace Antonio : Estudiante
Estudiante
Asociacin
Ejemplo:
marido casado-con mujer
0..1 0..1
emplea-a
jefe Administra
0..1
empleado
Agregacin
La agregacin representa una relacin en que cada uno puede existir por separado
Libro
Composicin
La composicin representa el caso que un objeto no puede existir sin el otro
En este caso podemos ir al ejemplo de Factura tem
cd Ej emplos Factura 1..1
1..* 1..*
Item
Item
... Generalizacin
Vehculo
Veihculo Terrestre
Vehculo Areo
Coche
Camin
Avin
Helicptero
... Generalizacin
Esta relacin se da cuando existe un conjunto de atributos que se repiten en la clases y lleva a la generacin de un padre Por esa razn las clases hijas tienen todo lo que tiene el padre mas las particularidades
cd Ej emplos
cd Ej emplos
Cuenta
+ + + + codigo: int saldo: double descubierto: double acreditar(double) : void debitar(double) : void getSaldo() : double setDescubierto(double) : void
+ + +
codigo: int saldo: double acreditar(double) : void debitar(double) : void getSaldo() : double
Caj aDeAhorro
Polimorfismo
El trmino polimorfismo se refiere a que una caracterstica de una clase puede tomar varias formas El polimorfismo representa en nuestro caso la posibilidad de desencadenar operaciones distintas en respuesta a un mismo mensaje
Cada subclase hereda las operaciones pero tiene la posibilidad de modificar localmente el comportamiento de estas operaciones
Polimorfismo
Ejemplo: toda cuenta debita de forma distinta, la caja de ahorro debita hasta llegar a 0 y la cuenta corriente debita hasta llegar al descubierto
cd Ej emplos
Cuenta
Caj aDeAhorro
+ + +
codigo: int saldo: double acreditar(double) : void debitar(double) : void getSaldo() : double
+ +
Diagrama de Secuencia
:WInPrstamos :Socio :Video :Prstamo
: Encargado
Diagrama de Colaboracin
:Socio
4: registrar prstamo
:Prstamo
Diagrama de Estados
alta baja nmero_prstamos = 0
sin prstamos
Socio nmero : int nombre : char[50] nmero_prestamos : int = 0
prestar
alta() baja() prestar(cdigo_libro : int, fecha : date) devolver(cdigo_libro : int, fecha : date)
devolver[ nmero_prstamos = 1 ]
Diagrama Componentes
Interfaz de Terminal Control y Anlisis
Gestin de Cuentas
Rutinas de conexin
Acceso a BD
Diagrama de Despliegue
Servidor Central Acceso a BD Comment Control y Anlisis Comment
Punto de Venta
Resumen
UML define una notacin que se expresa como diagramas sirven para representar modelos/subsistemas o partes de ellos El 80 por ciento de la mayora de los problemas pueden modelarse usando alrededor del 20 por ciento de UML-- Grady Booch