Sie sind auf Seite 1von 8

1

RESOLUCION DE PROBLEMAS
Ing. SantiagoOrellana V.
Metodologa de desarrollo de
Software para medicin y
automatizacin
1
Mtodo de Desarrollo de Software
Habilidades de resolucin de problemas
son esenciales para crear soluciones de
software
Programadores utilizan mtodo de 5
Ing. SantiagoOrellana V. 2
g
pasos para desarrollar una solucin
Usando el mtodo hay ms probabilidades
de xito para que el programa sea
efectivo, legible, escalable y de fcil
mantenimiento
Mtodo de Desarrollo de Software
1. Definir el problema (escenario)
2. Disear un algoritmo y flujograma
3. Implementar el diseo
Ing. SantiagoOrellana V. 3
4. Probar y verificar la implementacin
5. Mantener y renovar la implementacin
2
1. Escenario
Definir el Problema:
Ing. SantiagoOrellana V. 4
- Familiarizarse con la aplicacin: qu funciones debe cumplir
el proceso
- Desglosar por escrito los requerimientos
- Detallar las entradas y salidas del proceso, sin olvidar
unidades y caractersticas importantes
- Conocer cmo deben convertirse las entradas en salidas
1. Escenario: Ejemplo
Tanque Para Lavado de Fruta
Exportadora de fruta requiere lavar el producto antes
de embarcar para remover fungicidas o suciedad y as
cumplir con condiciones de salubridad y regulaciones
internacionales.
El producto debe introducirse en un tanque de lavado
Ing. SantiagoOrellana V.
con agua pura a temperatura ambiente.
A continuacin se calienta el agua hasta cierto valor, y
se deja en remojo cierta cantidad de tiempo. stas
dependen del tipo de producto que se est lavando
Una vez que se ha cumplido el tiempo, el producto es
removido del tanque
El agua debe ser desechada o purificada nuevamente
antes del siguiente lavado.
5
1. Escenario: Ejemplo
Grficamente, la temperatura del agua
debe tener un comportamiento similar al
siguiente
Ing. SantiagoOrellana V. 6
tiempo de lavado
3
1. Detalle del Escenario
Disear una solucin analizando el problema:
Identificar las entradas
Seales que entran al proceso
Tipos:
Proceso: proveniente del proceso fsico (sensores, instrumentos, etc.)
Usuario: ingresadas por el usuario
Memoria/Red: Datos ledos desde el disco duro o desde la red
Identificar las salidas
Ing. SantiagoOrellana V. 7
Identificar las salidas
Resultados que se desean obtener
Tipos:
Proceso: que provocan accin en el proceso (vlvulas, motores, etc.)
Usuario: Que el usuario pueda observarlas: indicadores, impresiones, reportes, etc.
Memoria/Red: Datos grabados al disco duro o enviados por la red
Identificar los requerimientos adicionales
Requerimientos importantes que no se haban considerado anteriormente
pero que deberan ser incorporados
Tpicamente obligan a agregar entradas y/o salidas a las ya identificadas
1. Detalle del Escenario: Entradas y
Salidas de Proceso
Importante conocer a profundidad:
Cantidad
Tipo de seal
Analgica: DC, AC, Frecuencia, voltaje, corriente
Ing. SantiagoOrellana V.
Digital: On/Off, Tren de Pulsos, rels, SSR, etc.
Necesidad de Acondicionamiento
Amplificacin, filtrado, linealizacin, excitacin, etc.
Caractersticas especiales
Muestreo simultneo, aislamiento galvnico,
completacin de puente, etc.
8
1. Ejemplo de Diseo Entradas
Tanque Para Lavado de Fruta:
Entradas de Proceso
Temperatura del agua (C)
Tiempo transcurrido (horas, minutos, segundos)
Entradas de Usuario
Temperatura de lavado (C)
Ing. SantiagoOrellana V. 9
Temperatura de lavado ( C)
Tiempo de lavado (horas, minutos, segundos)
Entradas de Memoria/Red
Ninguna solicitada al momento
Podra ser que el usuario seleccione solamente el tipo de
fruta a lavar, y que el programa busque en una base de
datos el tiempo y temperatura de lavado para esa fruta
automticamente
4
1. Ejemplo de Diseo Salidas
Tanque Para Lavado de Fruta:
Salidas de Proceso
- Activar o desactivar el sistema de calentamiento del agua
Salidas de Usuario
- Indicador que muestre la temperatura del agua
Ing. SantiagoOrellana V. 10
- Indicador que muestre el tiempo transcurrido
- Indicador grfico mostrando el historial de temperatura
Salidas de Memoria/Red
- Ninguna solicitada al momento
- Podra ser que los datos del proceso (temperatura y
tiempo) se vayan guardando en el disco duro para
mantener un historial y emitir un reporte para el exportador
y para las agencias de control.
1. Ejemplo de Diseo Requerimientos
Adicionales
Tanque Para Lavado de Fruta:
Grabacin en disco duro
Porque el exportador necesita certificar que se ha cumplido con
las normas para el lavado
Entrada adicional: Tipo Usuario: Ubicacin en el disco duro
donde se debe grabar el archivo
Ing. SantiagoOrellana V. 11
Alarmas
Si la temperatura sube mucho debe sonar una alarma porque de
lo contrario puede daarse la carga
Entrada adicional: Tipo Usuario: nivel de temperatura al cual
debe sonar la alarma
Salida adicional: Tipo Usuario: un indicador que muestre si se
est operando en modo normal o en alarma
Salida adicional: Tipo Proceso: encender una sirena
2. Algoritmo y Flujograma
Algoritmo: lista bien definida, ordenada y finita
de operaciones que permite hallar la solucin a
un problema
El algoritmo define cmo funciona el proceso
E ibi l l it f fi
Ing. SantiagoOrellana V. 12
Escribir el algoritmo en forma grfica
(Flujograma) facilita la interpretacin y la
posterior escritura del programa
5
2. Algoritmo y Flujograma
Smbolos del Flujograma adoptados universalmente,
aunque pueden haber ciertas variaciones
Ejemplo: solucionar la falla en una lmpara
Preparacin o
Ing. SantiagoOrellana V. 13
terminacin de un
proceso
Accin o proceso
Lectura o escritura de
datos
Decisin
2. Algoritmo y Flujograma
Tpicamente existen procesos que
implican tareas iterativas (realizarlas
varias veces), llamdas bucles o
lazos (o en ingls, loops)
Ing. SantiagoOrellana V.
Para confirmar el funcionamiento, una
vez escrito el flujograma, seguir a
mano los pasos, escribiendo los
resultados para llevar cuenta del
proceso
14
2. Algoritmo y Flujograma: Ejemplo
Ejemplo: Algoritmo
para calcular la
raz cuadrada de
unnmero x
bucle
Ing. SantiagoOrellana V.
un nmero x
Entrada: nmero x
Salida: Raz
cuadrada de x
15
Nuevovalor
deb
Anterior valor
deb
6
2. Algoritmo y Flujograma: Ejemplo
Ejemplo: comprobar funcionamiento del
algoritmo calculando la raz cuadrada de 169
iteracin x b x/b Es
b=x/b?
0 169 169 1 No
1 169 85 1.98 No
Ing. SantiagoOrellana V. 16
2 169 43.49 3.88 No
3 169 23.66 7.14 No
4 169 15.40 10.97 No
5 169 13.18 12.25 No
6 169 13.02 12.97 No
7 169 13.00 13.00 Si
13.00
Diseo Diagrama de Transicin de
Estados
Tipo de flujograma que indica los estados
de un programa y la transicin entre ellos
E t d t d ti f
Ing. SantiagoOrellana V. 18
Estado parte de un programa que satisface
una condicin, desempea una accin, o
espera un evento
Transicin condicin, accin o evento que
causa que el programa pase al siguiente
estado
Diseo Diagrama de Transicin de
Estados
Ejemplo
del Horno:
Ing. SantiagoOrellana V. 19
7
3. Implementacin
Crear un cdigo para el algoritmo o flujograma
Depende del software de desarrollo (C+, visual,
.Net, LabVIEW, Excel, Matlab, etc.)
Ing. SantiagoOrellana V. 20
4. Pruebas (Testing)
Probar la implementacin con datos
lgicos e ilgicos.
Datos lgicos producen el resultado
esperado?
Ing. SantiagoOrellana V. 21
esperado?
Datos ilgicos producen errores inesperados?
Cmo afectan los datos ilgicos a los
resultados?
La estrategia de manejo de errores es
suficiente?
5. Mantenimiento
Proceso continuo de resolucin de errores
Implementar cambios en la solucin
original
U li t ti f h b bl t
Ing. SantiagoOrellana V. 22
Un cliente satisfecho probablemente
querr ms
Reutilizar el cdigo para otros programas
o clientes
8
Ejercicio
Algoritmo para sistema monitoreo de temperatura con
alarma audible
Tomar en cuenta ruido para creacin de banda muerta de
alarma
Ing. SantiagoOrellana V. 23
Ejemplo de Algoritmo Solucin
inicio
Leer T, L, B
T>L
T=temperatura
L=lmite
B=bandamuerta
i =iteracin
A=EstadodeAlarma(V/F)
t =cantidaddetiempoaesperar
si
A= V
no
L
L-B
T
i=0, A= F
Ing. SantiagoOrellana V. 24
T<L-B
si
si
A= F
A= Ai-1
Esperar t
i=i+1
Stop?
fin
no
no
t

Das könnte Ihnen auch gefallen