Title: Resolucin de problemas
1Resolución de problemas
2Fases en la solución de un problema
Problema
3Análisis
4Análisis
- Consiste en la evaluación y descripción detallada
del problema planteado, lo cual incluye - Estudio de los datos disponibles o entradas
- Estudio de los resultados esperados o salidas
- Relación de las entradas con las salidas
- Descomposición del problema en módulos o
funciones necesarios para obtener las salidas a
partir de las entradas
5Análisis
Existen diferentes formas de diagramar la
descomposición del problema en módulos para
visualizar la solución Una de las mas usadas es
el Diagrama Jerárquico o HIPO (Hierarchy Input
Process Output) que significa Jerarquía-Entrad
a-Proceso-Salida
6HIPO
Veamos un ejemplo....
Cálculo del índice estudiantil
7HIPO
Otro ejemplo....
8HIPO
Otro ejemplo....
Supongamos que un profesor quiere crear un
programa para gestionar las notas de sus alumnos.
Quiere que dicho programa le permita realizar
tareas tales como asignar notas, borrar notas,
ver las notas según distintas calificaciones.
9Otra forma de diagramar es utilizando Casos de
uso (Use case)
El caso de uso es otra manera de diagramar que
ayuda a determinar la forma cómo se resolverá el
problema planteado
10Para ello debemos buscar respuestas a
Qué usos le daré?
Quiénes lo usarán?
Cómo quiero evidenciar su comportamiento?
Para qué?
Cuáles funciones se requeriran?
11Análisis
Casos de uso
- Un caso de uso es la descripción de un conjunto
de secuencias de acciones que un sistema ejecuta
para producir un resultado observable. - Los casos de uso se utilizan para capturar el
comportamiento deseado del programa que se está
desarrollando. - El caso de uso nos muestra una interacción típica
entre un usuario y un sistema o programa.
12Casos de uso
- En los casos de uso no se especifica como
programar dicho comportamiento. - Los casos de uso son una herramienta para
especificar la descomposición funcional del
programa. - El caso de uso se obtiene hablando con quienes
serán los usuarios habituales del programa y
analizando con ellos las distintas cosas que
desean hacer con él.
13Diagrama de casos de uso
- Los diagramas de casos de uso son una
representación gráfica de los casos de uso - Permiten visualizar la descomposición funcional
de un programa - Es una forma sencilla de representar la
interacción Usuario-Programa - 1. Pasos del usuario para cumplir la función
- 2. Respuestas del programa a las acciones del
usuario
- El Modelo de casos de uso es un diagrama general
que engloba TODAS las realizaciones y todos los
casos de uso que tiene un programa
14Diagramas de casos de uso
Componentes
ACTOR
- Es un rol que un usuario juega con respecto al
sistema. - La palabra rol especifica que un Actor no
necesariamente representa a una persona en
particular, sino más bien la labor que realiza
frente al sistema. - Un usuario puede representar varios roles.
15Diagramas de casos de uso
Componentes
ACTOR
- Los actores llevan a cabo casos de uso. Un mismo
actor puede realizar varios casos de uso. - Un caso de uso puede ser realizado por varios
actores. - Un actor puede ser otro programa o sistema.
16Diagramas de casos de uso
Componentes
Caso de uso
Es una operación/tarea específica que se realiza
tras una orden de algún agente externo, sea ésta
una petición de un actor o bien la invocación
desde otro caso de uso.
17Diagramas de casos de uso
Componentes
Relación
18Tipos de relaciones especiales. (entre casos de
uso) Usa (Uses) cuando un caso de uso es común
a varios, para evitar la repetición.
ltltUsagtgt
ltltUsagtgt
19Tipos de relaciones. Extiende(Extends) cuando
un caso de uso engloba a otro, pero hace un poco
más.
ltltExtiendegtgt
20Ejemplo
Máquina Recicladora
- Se requiere un sistema que controle una máquina
de reciclaje de botellas. - El sistema debe permitir
- Registrar el número de botellas ingresadas.
- Imprimir un recibo cuando el usuario lo solicita
con - Descripción de lo depositado
- El valor de cada botella depositada
- Valor Total de lo depositado
- El usuario/cliente debe presionar un botón de
comienzo
21Ejemplo
Máquina Recicladora
- Existe un operador que desea saber lo siguiente
- Información de todo lo depositado en el día.
- El operador debe además poder
- Cambiar información asociada a ítems.
-
- El sistema debe dar una alarma en el caso de
que - Botella se atora.
- No hay más papel para imprimir.
22Ejemplo
Máquina Recicladora
Identificamos a los actores que interactúan con
el sistema
23Ejemplo
Máquina Recicladora
Un Cliente puede ingresar botellas en la máquina
24Ejemplo
Máquina Recicladora
Un Operador puede cambiar la información de una
botella o bien puede imprimir un informe diario
25Ejemplo
Máquina Recicladora
Otro aspecto es la impresión de comprobantes, que
puede ser realizada después de depositar alguna
botella por un cliente o puede ser realizada a
petición de un operador.
ltltExtiendegtgt
ltltExtiendegtgt
26Ejemplo
Máquina Recicladora
En caso de no haber papel o atorarse una botella
se dará una alarma.
ltltusagtgt
ltltusagtgt
27Ejemplo
Modelo completo del Diagrama de Caso de Uso
ltltusagtgt
Generar alarma
ltltusagtgt
Ingresar botella
ltltExtiendegtgt
Imprimir
ltltExtiendegtgt
Cambiar datos botella
ImprimirRecibo
Generar informe diario
28Ejemplo
Supongamos que se requiere desarrollar el control
de una máquina de entrega de café automática.
La máquina debe permitir . Introducirr una
cantidad de dinero en monedas de 100, 200 o
500 . Escoger uno de los productos de acuerdo a
su precio (café negro, café claro, caldo) .
Escoger (si es pertinente) un nivel de azúcar .
Entregar el producto y el vuelto (si lo hay).
Existen estados de error de la máquina, cuando
detecta un mal funcionamiento, no existencia de
vuelto o no existencia de ingredientes. El
usuario puede en cualquier momento antes de
escoger el azúcar cancelar la operación, mediante
un botón existente para este objetivo.
29Ejemplo
usa
usa
30Ejemplo
DarVuelto
Cuando pido el azúcar debo especificar cantidad y
tipo, por lo que debo agregar el siguiente caso
31Ejercicios
- Elabore los casos de uso y el modelo de casos de
uso para los siguientes problemas - Un programa que despliegue un menú con las
operaciones matemáticas simples (, -, , /) y
aplique estas operaciones a dos números que lea
por teclado - Un programa que simule las operaciones de un
cajero automático de un banco
32Ejercicios
33Ejercicios
Usuario
34Resumen
Fases en la solución de un problema
Problema
35Resumen
Análisis
Diagrama Jerárquico o HIPO (Hierarchy Input
Process Output) que significa Jerarquía-Entrad
a-Proceso-Salida
36Resumen
Análisis
En este curso usaremos Casos de uso (Use case)
- Un caso de uso es la descripción de un conjunto
de secuencias de acciones que un sistema ejecuta
para producir un resultado observable. - Los casos de uso se utilizan para capturar el
comportamiento deseado del programa que se está
desarrollando. - El caso de uso nos muestra una interacción típica
entre un usuario y un sistema o programa.
37Resumen
Análisis
- En los casos de uso no se especifica como
programar dicho comportamiento. - Los casos de uso son una herramienta para
especificar la descomposición funcional del
programa. - El caso de uso se obtiene hablando con quienes
serán los usuarios habituales del programa y
analizando con ellos las distintas cosas que
desean hacer con él.
38Resumen
Análisis
- Los diagramas de casos de uso son una
representación gráfica de los casos de uso - Permiten visualizar la descomposición funcional
de un programa - Es una forma sencilla de representar la
interacción Usuario-Programa. - 1. Pasos del usuario para cumplir la función
- 2. Respuestas del programa a las acciones del
usuario
39Resumen
Análisis