DIAGRAMAS DE CASOS DE USO
Especifica la funcionalidad que el sistema va a ofrecer
desde la perspectiva del usuario y lo que el sistema ha de realizar para
satisfacer las peticiones de éstos.
Visualiza el comportamiento de un sistema tal y como se
muestra en un usuario.
Elementos:
è
Actor. Modela
los diferentes papeles que usuarios del sistema pueden representar.
Conjunto de actores. Representación de todo
aquello que necesita intercambiar información con el sistema que se está
desarrollando.
è
Casos de
uso. Representa todo aquello que el usuario puede realizar en el sistema.
Es una secuencia de transacciones
relacionadas, ejecutadas por uno o más actores y el sistema en un diálogo determinado.
Especifica todas las maneras en que se
puede utilizar el sistema.
·
Descripción del comportamiento normal del caso
de uso (secuencia básica)
·
Variantes de la secuencia básica, posibles
errores que se describen en secuencias alternativas.
Se realiza la identificación detallada de
todas las funcionalidades que ha de tener el sistema.
è
Relaciones.
Asocian los anteriores elementos. Tipos:
·
Generalización
entre actores. Organiza los distintos actores, indicando que una
descripción abstracta del actor es compartida y aumentada por uno o más descripciones
específicas del actor.
·
Generalización
entre casos de uso. Identifica que un caso de uso específico hereda y añade
propiedades a un caso de uso general
·
Relación
de extensión (extend). Se usa para factorizar las variables sobre la
secuencia básica de un caso de uso en nuevos casos de uso que extienden flujos principales
A puede ejecutar B,
opcionalmente
·
Relación
de inclusión (include). Indica que un caso incorpora el comportamiento de
otro como parte de su propio comportamiento
A siempre debe
ejecutar B
·
Asociación
entre actor y caso. Señala la relación existente entre ambos
DIAGRAMAS DE CLASES
Modela la vista estática del sistema. Recoge los conceptos
de dominio de aplicación y los que forman parte de la implementación de la
aplicación.
Antes de ver los elementos, hay que saber que es un objeto:
Objeto. Representación
de entidad discreta. Puede ser una abstracción, concepto o cosa con límites
definidos y significado en el sistema. Características:
è
Estado. Definido
por valores de las propiedades (atributos) y relaciones con otros objetos.
Indica las condiciones en que puede existir.
è
Comportamiento.
Indica todo lo que el objeto puede hacer. Son las operaciones del objeto.
è
Identidad.
Significa que cada objeto es único.
Elementos
principales:
è
Clases. Modelan
el concepto de aplicación o de solución. Es una descripción de un conjunto de
objetos con las mismas propiedades, mismo comportamiento, mismas relaciones y
misma semántica. Tiene distintos modelos:
·
Modelo
análisis. Concepto del mundo real
·
Modelo de
diseño. Concepto de implementación
Podría considerarse una plantilla para
crear objetos.
Sus atributos y operaciones pueden ser:
·
Públicos.
Todos los elementos que pueden ver la clase pueden verlos. Se representa
con un más (+)
·
Protegidos.
Sólo los ven los elementos pertenecientes a su clase o descendientes. Se
representa con una almohadilla (#)
·
Privados.
Sólo los elementos pertenecientes a la misma clase pueden verlos. Se representa
con un menos (-)
è
Relaciones.
Sirven para asociar clases. Es la abstracción de unas interrelaciones
semánticas puntuales que se dan sistemáticamente entre diferentes tipos de
objetos.
Tipos de relaciones:
·
Asociación.
Relación entre objetos. Conexión bidireccional entre clases
·
Agregación.
Un objeto está compuesto por otros del mismo o distinto tipo. Relación todo –
parte
·
Herencia.
Relación entre superclase y una o varias subclases, en las que recogen el mismo
concepto pero la subclase con un nivel de detalle mayor. Tiene varios métodos:
§
Generalización.
Proporciona el mecanismo para que las superclases encapsulen atributos y
comportamientos comunes de varias clases. Se produce de abajo hacia arriba.
§
Especificación.
Subclases que representan el mismo concepto con mayor nivel de refinamiento y
detalle que las superclases. Se produce de arriba hacia abajo.
Las asociaciones se nombran mediante un
verbo que la describa bien.
Puede ser binaria, ternario o n-aria según
las clases implicadas.
Multiplicidad. Cuantos objetos de una clase pueden asociarse a una
clase asociada.
Rol de asociación (papel). Identifica
un extremo de la asociación
DIAGRAMAS DE SECUENCIA
Muestra las interacciones entre
objetos ordenados en secuencia temporal.
Documenta el diseño desde el
punto de vista de las clases de uso y sirven para validarlas.
Miden grosso modo cuanto tiempo
consume el método invocado.
Ayuda a comprender los cuellos de
botella potenciales para poder eliminarlos.
SUBVERSIÓN
O SVN. Es un control de
versiones. Permite compaginar diferentes programadores, ramas de desarrollo y
versiones finales.
Tiene un ciclo de vida conocido como
Trunk del que salen distintos branches (ramas).
Los pasos a seguir para un SVN son:
1. Bajarse
el proyecto entero
2. Genero
mi propia rama con las funciones que han sido asignadas. El proyecto principal
sigue avanzando.
3. Cuando
se consigue una versión estable se generan TAGS (etiquetas), que son las
versiones finales dentro de un mismo proyecto.
Operaciones de descarga:
è Checkout. Descarga el proyecto completo
è Update. Descarga sólo archivos que han
sido modificados, o los nuevos.
Operaciones de carga:
è Commit. Sube los ficheros que han sido
creados o modificados al servidor.
Ejemplo de servidor SVN: Assembla
Ejemplo de programa SVN: Tortoise
MODELO – VISTA – CONTROLADOR
Patrón de arquitectura de
software que separa datos y lógica del negocio de una aplicación de la interfaz
de usuario y el modelo encargado de gestionar eventos y comunicaciones.
Está basado en ideas de
restructuración del código y separación de conceptos.
Componentes:
è Modelo. Representación de la
información con la cual se opera. Gestiona los accesos a dicha información.
è Controlador. Responde a eventos
(acciones del usuario generalmente) e invoca peticiones del modelo cuando se
hacen solicitudes sobre la información.
è Vista. Representa el modelo en un
formato adecuado para interactuar (usualmente interfaz de usuario).
0 comments:
Publicar un comentario