Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Orientacin a objetos Definir, organizar, visualizar Historia de UML Diagramas bsicos UML
Metodologa de desarrollo
Versin 3.1 Noviembre 2000
Daniel Ramos
Orientacin a Objetos
Manera diferente de ver una aplicacin Organizar la complejidad en microestructuras Componentes reutilizables Adaptabilidad a un entorno cambiante De la orientacin a datos a las reglas de negocio Interdependencia Flexibilidad
Daniel Ramos
Orientacin a Objetos
Cambio de mentalidad
Mentalidad Procedural Qu hace el sistema? Qu objetivos tiene ? Cmo diseo y codifico para conseguir los objetivos? Enfoque dirigido a los algoritmos Enfoque centrado en los datos Mentalidad O-O Qu objetos configuran el sistema? Cual es la estructura y funcin de cada objeto? Cmo puedo precisar la dinmica del sistema a travs del comportamiento o la interaccin de sus objetos? Posponer las funciones algortmicas Posponer el modelo de datos
Daniel Ramos
Orientacin a Objetos
Encapsulacin
Empaquetamos dentro de un objeto una pieza de informacin con un comportamiento especfico que acta sobre esta informacin
Ventaja:
Limitamos
Daniel Ramos
Orientacin a Objetos
Herencia
Es un mecanismo que nos permite crear nuevos objetos basados en una progenie Ventaja:
Facilidad
de mantenimiento
Daniel Ramos
Orientacin a Objetos
Polimorfismo
Capacidad de aplicar distintas implementaciones a una determinada funcionalidad
Ventaja:
Simplicidad
y orden
Daniel Ramos
Daniel Ramos
Lenguaje comn Evitar la trampa del lenguaje Modelo de referencia Evolucin ordenada de los cambios Trazabilidad Desde la funcionalidad al cdigo Reduccin de costes Evitar los costes ocultos de mantenimiento
Daniel Ramos
Agentes
Usuario Comprender que tipo de interacciones podran realizar con el sistema Analista Saber cuales son los objetos del sistema y como interactan en distintos escenarios Desarrollador Conocer la estructura y funcin de los objetos a implementar y qu recursos son necesarios
Daniel Ramos
Agentes
Responsable de la certificacin Preparar los tests de prueba a partir de las interacciones previstas entre objetos Jefe de proyecto Entender la arquitectura del sistema y la interdependencia de sus componentes Cliente Planificar el impacto del sistema dentro de la organizacin
Daniel Ramos
Historia de UML
Daniel Ramos
Historia de UML
Jacobson
Jacobson
Booch
Rumbaugh
Daniel Ramos
Diagrama de Casos de Uso Diagrama de Actividad Diagrama de Secuencia Diagrama de Colaboracin Diagrama de Estado Transicin Diagrama de Clases
Diagrama de Componentes
Diagrama de Despliegue
Daniel Ramos
Procesos principales
Configurar Aplicacin
Tramitador
Modificar Matrculas
Generar Actas Exam. Modificar Actas Exam.
S. Tasas
Supervisor
Consultar Listas/Eti.
Profesor
S. Accesos
Daniel Ramos
Matricular Alumnos
<<Incluye>> <<Incluye>>
Generar Generar Mov. Tasa <<Incluye>> Generar Rfaga Banc.
Daniel Ramos Cod. Anonimato
Imprimir
Abonar Recibo
Calcular
Importe Matrcula
Muestran la granularidad del sistema en piezas de funcionalidad reutilizables Muestran la interaccin de los Actores con la funcionalidad del Sistema Organizan visualmente los requerimientos del usuario Permiten certificar contractualmente la funcionalidad Formalizan el mapa de procesos de negocio
Daniel Ramos
Daniel Ramos
Daniel Ramos
Activacin
A discrecin de un usuario habilitado
Realizar el proceso de matriculacin para la prueba de acceso a universidad para mayores de 25 aos con las funciones de: - Identificacin del Alumno - Validacin de Requisitos - Tramitacin del pago
Daniel Ramos
Lenguaje de comunicacin entre usuarios y desarrolladores Comprensin detallada de la funcionalidad del Sistema Acotacin precisa de las habilitaciones de los usuarios
Gestin de riesgo para gobernar la complejidad de un sistema Planificacin de iteraciones para su implementacin Estimacin precisa del esfuerzo para su implementacin
Diagrama de Actividad
Muestra la secuencia de actividades que se desarrollan en el flujo de trabajo de un Caso de Uso, como pieza de funcionalidad concreta Muestra el flujo de trabajo que se desarrolla en un proceso configurado como un paquete de Casos de Uso
Daniel Ramos
Diagrama de Actividad
Buscar Alumno Introducir Criterios de Bsqueda
Validar Criterios
Seleccionar un Alumno
[Matrcula NO Localizada[
Daniel Ramos
Diagrama de Actividad
Su objetivo no es relacionar actividad con objetos, slo comprender qu actividades son necesarias y cuales son sus relaciones de dependencia Se utiliza para representar los distintos escenarios que comprende un Caso de Uso y permite describir tareas sincronizadas y responsabilidades
Daniel Ramos
Diagrama de Secuencia
Describe la interaccin de objetos que requiere la funcionalidad de los distintos escenarios de un Caso de Uso
Los objetos son representados con su ciclo de vida dentro de una serie temporal
Cada posible escenario de un Caso de Uso puede representarse con un diagrama de secuencia
Daniel Ramos
Diagrama de Secuencia
Descripcin de un escenario de Caso de Uso
:Alumno
:Parmetros Ap.
Valida Alta
:Matrcula
Daniel Ramos
Diagrama de Colaboracin
Muestra lo mismo que un diagrama de secuencia cmo interaccionan los objetos dentro de un Caso de Uso
A diferencia de un diagrama de secuencia no hay referencia a una serie temporal Su propsito es mostrar la topologa del proceso distribuido entre los distintos objetos
Daniel Ramos
Diagrama de Colaboracin
10: Commit( )
9: GetInfo( )
8: SaveOrder(long)
5: SaveOrder(long)
Daniel Ramos
Muestra los distintos estados en que un objeto puede existir Presenta la visin dinmica del sistema
Describe el comportamiento de un objeto, desde que nace hasta que muere Identifica todos los eventos necesarios para realizar la transicin de un estado a otro
Daniel Ramos
Comprobando
Localizar/ AlumnoM25
Comprobando
Verificar/ Ao Acadmico Situacin Matrcula Situacin Acceso U
Nueva Matrcula
Generar/Alta Alumno M25
Comprobando
Formalizar/ Pago Matrcula
Matrcula Modificada
Matrcula Anulada
Matrcula Reactivada
objetos
Todas
Daniel Ramos
Un evento no es un objeto Un evento es la causa que justifica la existencia de un objeto Slo podemos conocer que un evento ha ocurrido detectando sus efectos Slo nos interesan los eventos que provocan un cambio de estado en los objetos Hay que distinguir un evento como tal, del objeto que representa el registro de sus efectos
Daniel Ramos
Diagrama de Clases
Las
mismas relaciones con otros objetos (asociaciones y agregaciones) misma semntica dentro del sistema
La
Daniel Ramos
Diagrama de Clases
Matrcula
Tramitador
Curso Alumno
Agente
Profesor
Oferta Cursos
Daniel Ramos
Diagrama de Clases
Daniel Ramos
Agentes
Usuario Comprende el modelo conceptual de su dominio Analista y Diseador Definen la arquitectura del sistema Desarrollador Organiza el cdigo de manera simple y ordenada y traza el mapeo con la base de datos
Daniel Ramos
Clases de Anlisis
No cubren los requerimientos no funcionales No definen operaciones, solo responsabilidades Definen atributos conceptuales Relaciones sin navegabilidad Estereotipadas como:
interface
entidad
control
Daniel Ramos
Clases de Anlisis
Interface
Interface
Entidad
Informacin
Control
Comportamiento
Atributos
Daniel Ramos
Clases de Diseo
Daniel Ramos
Patrones de Diseo
Pattern: Composite
Problem:
Need to protect clients from knowing if an object is a whole or a part Simplifies adding new parts in whole-part relationships Simplifies the client permitting the client to treat whole or part objects generically
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
Daniel Ramos
Patrones de Diseo
Pattern: Proxy
Problem:
Need to control access to another object Need to provide abstraction between subsystem and client Enhanced maintainability and extensibility of the system May reduce compilation dependencies Promotes layering of systems Provides weak coupling between clients and Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides subsystems
Daniel Ramos
Framework de Aplicaciones
Problem:
How can a medium to large system consisting of multiple and possibly distributed programs employ a straightforward and consistent message logging strategy?
Daniel Ramos
Diagrama de Componentes
de cdigo
Diagrama de Componentes
Daniel Ramos
Diagrama de Componentes
Son utilizados por el responsable de compilar el sistema Describen en qu orden han de ser compilados los componentes Muestran qu componentes run-time seran creados como resultado de la compilacin Muestran el mapeo de las clases con los componentes implementados
Daniel Ramos
Diagrama de Componentes
Vista de los componentes ejecutables
Conta.exe
Sistema Contabilidad
Matrcula.exe
Agentes.dll Cursos.dll
Cursos Usuarios
Profesores
Daniel Ramos
Diagrama de Despliegue
Muestra la distribucin fsica de los componentes en nodos locales y remotos de la red Un nodo puede representar una pieza de hardware, desde un perifrico a un servidor
Diagrama de Despliegue
Vista de la distribucin fsica de nodos de proceso
Daniel Ramos
Diagrama de Despliegue
Daniel Ramos
Agentes
del sistema
Arquitectura
Daniel Ramos
Metodologa de desarrollo
Aprobacin Anteproyecto
Cdigo
Matrcula Proyecto
Procesos Principales
Funcionalidad
Anlisis Diseo
Componentes Despliegue
Daniel Ramos
Metodologa de desarrollo
Fases Procesos Generales
Modelo de Negocio Funcionalidad Anlisis Diseo Implementacin Certificacin
Concepcin Elaboracin Construccin Transicin
Entrega
Procesos de Soporte
Control de cambios Gestin del Proyecto Entorno
Iteraciones prelim Iter. #1 Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1
Concepcin
Misin del proyecto Matriculacin del proyecto Glosario de conceptos Estimacin de esfuerzo y cronograma Apoyo en patrones de funcionalidad y anlisis Umbral de riesgo Aprobacin del anteproyecto Proceso secuencial no iterativo
Daniel Ramos
Elaboracin
Funcionalidad Priorizacin de los Casos de Uso Plan Director de Proyecto: Iteraciones Especificacin de los Casos de Uso Anlisis Diseo Pruebas de certificacin Proceso iterativo
Daniel Ramos
Construccin
Poner el diseo en accin Desarrollo de cdigo Refactoring Mapeo de la base de datos Interface grfica de usuario: Navegacin Pruebas de certificacin Proceso iterativo
Daniel Ramos
Transicin
Compilacin y despliegue de componentes Pruebas de certificacin Actualizacin del modelo de referencia Actualizacin del diseo y otros diagramas Documentacin de usuario Documentacin de administrador de sistema Plan de formacin Plan de soporte
Daniel Ramos
Metodologa de desarrollo
Concepcin Elaboracin Construccin Transicin
Iteracin Preliminar
...
Iteracin Arquitectura
...
...
Iteracin Transicin
...
Release
Release
Release
Release
Release
Release
Release
Release
Daniel Ramos
Metodologa de desarrollo
Requerimientos Anlisis Diseo Implementacin Certificacin
Modelo Anlisis
Modelo Diseo
Modelo de Componentes
Modelo de Despliegue
Modelo de Certificacin
Diagr. de Actividad
Diagr. de Secuencia
Diagr. de Estados
Daniel Ramos
Plan de certificacin
Certificacin de la Funcionalidad
Flujos de Trabajo
Escenarios
Daniel Ramos
Dinmica Estados
Plan de certificacin
Certificacin del Modelo de Referencia
Matrcula Tramitador
aadirAlumno(Curso, DatosAlu)
Prueba Examen
Supervisor nombre
Alumno nombre
Profesor Status
Diagramas de Clases
Interfaces
Modelo de Datos
Daniel Ramos
Plan de certificacin
Certificacin de Componentes
Arquitectura
Daniel Ramos
Requerimientos
Cdigo
Agente
Proceso cooperativo
Requerimientos
Cdigo
Modelo
Daniel Ramos
los diagramas de Casos de Uso para visualizar la globalidad del sistema y delimitar el alcance del proyecto
Jefe de proyecto
Usar
los diagramas de Casos de Uso y la documentacin asociada para descomponer el proyecto en un Plan Director de Iteraciones
Daniel Ramos
Analista y Cliente
Usaran
la documentacin asociada a los Casos de Uso para comprender mejor y delimitar la funcionalidad del sistema
Documentalista
Usar
la documentacin asociada a los Casos de Uso para redactar los manuales de usuario y definir el plan de formacin
Daniel Ramos
Analista y Desarrollador
Usaran
los diagramas de secuencia y colaboracin para visualizar la lgica del sistema, y el flujo de mensajes entre los objetos que lo componen
Controller
Usar
la documentacin asociada a los Casos de Uso y los diagramas de secuencia y colaboracin para disear las pruebas de certificacin
Daniel Ramos
Desarrollador
Usar
los diagramas de Clases y los diagramas de Estado Transicin para visualizar la estructura de todas las piezas claves del sistema y la dinmica de su comportamiento
Implementador
Usar
los diagramas de Componentes y los diagramas de Despliegue para visualizar los ejecutables, ficheros DLL y otros componentes, as mismo la distribucin de su despliegue en la red
Daniel Ramos
el modelo de referencia para garantizar la trazabilidad entre los requerimientos y el cdigo, y para asegurar la trazabilidad entre el cdigo y la funcionalidad
Proceso cooperativo
Requerimientos
Cdigo
Modelo
Daniel Ramos
Referencias:
Daniel Ramos