Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Modelado
- Necesario para describir y comprender sistemas complejos
+ Sistemas de átomos
+ Sociedades de seres humanos
+ Sistema solar
- También se puede usar para describir sistemas artificiales
+ Sistemas de reservación de boletos
+ Comercialización de acciones
- Es uno de los métodos básicos de la ciencia
- Se usa para representación abstracta de la ciencia
+ Para análizar carácteristicas o comportamiento relevantes
+ Permite responder preguntas
- Es usado para visualizar y comprender
+ Sistemas que ya no existen
+ Sistemas que se supone que existen
- Manejan dos tipos de entidades
+ Sistemas del mundo real observado
* Como función de un conjunto de fenomenos
+ Dominio del problema
* Conjunto de conceptos interdependientes
$ Describe aspectos relevantes en el problema
- Se tiene que identificar el ambiente
- Se tiene que comprender los sistemas
+ Para evaluar soluciones y compromisos
- Combina métodos orientados a objetos
+ Dominio del problema
* Como conjunto de objetos y relaciones
+ Rango de solución
* Se modelan como objetos los conceptos de solución
$ El conjunto de líneas para representar un tren o una transacción son objetos
que son parte del dominio de solución
* Es una extensión del dominio del problema
- Utilizado para abordar el problema de usuario final
Solución de problemas
- Comúnmente mediante ensayo y error
+ Con recursos limitados y conocimiento incompleto
- El método de la ingieniería
+ 1.- Formular el problema
+ 2.- Análizar el problema
+ 3.- Búscar soluciones
+ 4.- Decidir cual es la solución
+ 5.- Especificar la solución
- En el desarrollo de software
+ Obtención de requerimientos
+ Análisis
+ Diseño del sistema
+ Diseño de objetos
+ Implementación
* Se compara modelo contra el proceso de desarrollo
$ Calendarización y desarrollo
% Se obtiene productos entregables y recursos gastados
Adquisición de conocimiento
- El desarrollo no es lineal
+ Un dato puede invalidar el conocimiento adquirido
* Es necesario implementar un desarrollo básado en riesgo
$ Es importante anticipar sorpresas tardias en un proyecto
% Identificando componentes de alto riesgo
$ Todas las actividades se desarrollan en paralelo
% Son dificiles de manejar
Administración de la fundamentación
- Los requerimientos de un sistema cambian constantemente
+ Los modelos de dominio de aplicación se estabilizan una vez los desarrolladores
adquieren comprensión adecuada del problema
- Su objetivo es comprender el contexto de cada decisión de deseño
- 1.- Contiene mayor información que los modelos de solución
- 2.- La información sobre fundamentación no es explicita
Sistemas y Modelos
- Sistema
+ Término usado para referirnos a la realidad subyacente
- Modelo
+ Término usado para referirnos a cualquier nivel de abstracción de la realidad
- La calendarización del proyecto, su presupuesto y su tiempo de entrega
planeado son modelos del proyecto de desarrollo.
Productos de trabajo
- Artefacto producido
+ Documento ó fragmento de software
* Involucra a cliente ó desarrollador de software
$ Generan producto de trabajo interno
% Que establecen Entrega
# Definidas antes de inicio del proyecto
# Especificadas en un contrato
Diagramas de clase
- Describen la estructura del sistema
+ Son abstracciones de sistemas informáticos
* Tienen un comportamiento común de un conjunto de objetos
$ Se crean, modifican ó destruyen durante la ejecución
% Tienen estados con base a sus atributos y relaciones entre objetos
+ Con base, clases, atributos, operaciones, y sus asociaciones
Diagramas de secuencia
- Formalizar el comportamiento del sistema
+ Visualizar el comportamiento entre objetos
* Los objetos que participan en cada uno de los casos de uso
Diagramas de actividad
- Describe el sistema desde el punto de vista de actividades
+ Presentadas a modo de estado que concentra un conjunto de actividades
* La terminación dispara transición hacia otra actividad
* Representan el flujo datos
$ Objetos que intercambian entre operaciones
- Los rectangulos redondeados representan actividades
- Las flechas son transiciones entre actividades
- Las barras gruesas son sincronización del flujo de control
Obtención de requerimientos
- Nadie esta exento de cometer errores. Lo importante es aprender de ellos. Karl
Popper.
- Requerimiento
+ Carácteristica del sistema
+ Restricción de funcionalidad del sistema
- Da como resultado especificación del sistema
- Da como resultado un modelo de análisis que los desarrolladores interpretan sin
ambigüedad
- Requiere de varios grupos de participantes con varios niveles de conocimientos
- Sirve para definir convenciones de notación
+ Metros o kilometros
+ Punto décimal o coma para separar números
+ Preguntas de confirmación que hará el sistema al usuario
+ Método abreviado para operar el sistema
* Combinación de teclas
- Constituye "especificación del sistema"
+ Sirve como contrato entre clientes y desarrolladores
- La obtención de requierimientos y el análisis sucedes con forma concurrente
+ Se enfocan en la visión del usuario
* Funcionalidad
* Casos de uso
* Manejo de errores
* Condiciones "ambientales" de funcionamiento
- Actividades
+ Identificación de actores
+ Identificación de escenarios
+ Identificación de casos de uso
+ Identificación de relaciones entre casos de uso
+ Identificación de requerimientos no funcionales
- Implementa metodologias para obtención de información y toma de desiciones
+ Diseño conjunto de aplicaciones (JAD); desarrolladores, usuarios y clientes
+ Conocimiento de análisis de tareas (KAT); Obtención de requerimientos
mediante observación
+ Pruebas de utilidad; Validación del modelo de obtención de requerimientos con el
usuario mediante métodos diversos
Conceptos de análisis
- Objetos de entidad, frontera y control
+ 1.- Las entidades persistentes rastreadas por el sistema
+ 2.- Los objetos que tienen interacción entre usuarios y sistema
+ 3.- Las tareas realizadas por el usuario y soportadas por el sistema
- Multiplicidad de asociación
+ Diagramas de clase; el extremo de una asociación puede etiquetarse con un
conjunto de enteros llamados multiplicidad.
* Indica la cantidad de vinculos que pueden originarse desde la instancia de la
clase conectada al extremo de la asociación
+ Tipos de asociación
* Asociación de uno a uno; 1 en cada extremo
* Asociación de uno a muchos; 1 en cada extremo y 0..n (ó *)
* Asociación de muchos a muchos
Asociaciones calificadas
- Calificación
+ Técnica para la reducción de multiplicidad usando claves
+ Las asociaciones de 0..1 ó 1 son más fáciles de comprender que las
asociaciones con multiplicidad de 0..n ó 1..n
+ Se reduce la multiplicidad usando algún atributo de la entidad como clave,
también llamada calificador y se le llama "asociación calificada"
Generalización
- Permite organizar conceptos con forma jerarquica
+ En la parte superior se encuentra el concepto más general y en la parte inferior el
concepto más especifico
+ Se le llama herencia a un concepto similar en lenguajes de programación
* Se usa para la reutilización de código
- Actividades de análisis
+ Identificación de objetos de entidad
+ Identificación de objetos frontera
+ Identificación de objetos control
+ Diagramas de secuencia; para describir las relaciones entre objetos a lo largo del
tiempo
+ Identificación de asociaciones
* Diagramas de clase
$ Identificación de atributos
% Propiedades de objetos individuales
# Involucra; Nombre, Descripción y un tipo de dato
Obtención de requerimientos
Análisis
Diseño del sistema
Diseño de objetos
Implementación
Se compara modelo contra el proceso de desarrollo
UML
Modelo Dinámico: Diagrama de secuencia, diagramas de grafica de estado,
diagramas de actividad.