Documente Academic
Documente Profesional
Documente Cultură
GRUPO 14:
LEONARDO ANTELO OCCHIUZZI
CRISTINA FERNNDEZ SAMPAYO
ALEJANDRO FOGLIA
NDICE
Introduccin
Objetivo de la investigacin
Requisitos del Sistema de Control del Ascensor
Desarrollo realizado por el Grupo de Control
Desarrollo realizado por el Grupo de Mtodos
Formales
Solucin Formal Completa
Conclusiones
INTRODUCCIN
Estudio realizado con 2 grupos [GC y GMF] de
OBJETIVO DE LA INVESTIGACIN
Introduccin de mtodos formales en el inicio de la
formacin?
Se mejora el desarrollo de sistemas?
(sentido=UP,DOWN,STOPPED;posicin=1,2,etc.)
Atencin de peticiones por parte del usuario
(pisoActual;direccin;pisoDestino).
Entorno grfico, con mens y dilogos.
Atencin concurrente a otras peticiones.
Uso de OOD, C++ y MS Foundation
se aconsej.
Diseos fuertemente acoplados.
Ejemplos:
Poco eficientes
bucle infinito.
Algoritmos complejos.
Solo atiende peticiones de pasajeros de dentro.
3 implementaciones fallaron
en todos los casos de estudio.
En 2 casos no haba
ejecutable.
Duplicacin de cdigo.
uno.
Realizaron 2 tipos de diseo:
COMPARACIONES (1)
Diseo:
Los diseos usados por los dos grupos no fueron
significativamente diferentes.
El grupo de control produjo un diseo ms acoplado que el
grupo de mtodos formales.
Los algoritmos propuestos por el grupo de mtodos formales
son ms eficientes y cumplen en mayor medida los requisitos.
Parece que formar al grupo de los mtodos formales en
anlisis formal ha incrementado su habilidad para disear
algoritmos.
COMPARACIONES (2)
Implementacin
Solo un 45.5% de las implementaciones del grupo de control
superaron las pruebas a las que fue sometidas frente al 100%
del grupo de mtodos formales.
Esto es un claro ejemplo de cmo la formacin en anlisis
formal puede beneficiar a los programadores, incrementado
sus habilidades para crear programas funcionalmente
correctos.
Especificacin formal:
Basada en lgica de primer orden.
Realizaron pruebas que les aseguraron que se segua la especificacin.
En este proceso de verificacin encontraron errores principalmente
producidos por una especificacin incompleta. Por ejemplo, un error
fue debido a que no se especificaba como el ascensor debera
reanudar el movimiento despus de haber parado.
El tiempo que tardaron en realizar la especificacin fue:
5 horas: especificacin inicial
10 horas: revisar especificacin (encontrar y corregir errores).
10 horas: realizar la verificacin de la especificacin.
CONCLUSIONES
La formacin en mtodos formales incrementa las
ndice
1. Resumen ......................................................................................................................................... 3
2. Introduccin .................................................................................................................................... 3
3. Requerimientos ................................................................................................................................ 3
4. Diseo ........................................................................................................................................... 4
4.1 Diseo del Grupo de Control ............................................................................................................ 4
4.2 Diseo del Grupo Formal ............................................................................................................... 4
4.3 Comparaciones........................................................................................................................... 5
5. Implementacin ................................................................................................................................ 6
5.1 Implementacin del grupo de control ................................................................................................. 6
5.2 Implementacin del grupo de mtodos formales .................................................................................. 7
5.3 Comparaciones .......................................................................................................................... 7
6. UNA SOLUCIN FORMAL COMPLETA ......................................................................................................... 8
6.1 REQUERIMIENTOS ......................................................................................................................... 8
6.2DISEO...................................................................................................................................... 8
6.3Implementacin ........................................................................................................................... 8
7. Conclusiones ................................................................................................................................... 9
8. PREGUNTAS TIPO TEST (en verde las opciones correctas)........................................................................... 10
2|Pgina
1. Resumen
2. Introduccin
Equipo 1 (Grupo Mtodos Formales): 6 equipos de 2 personas= 12 personas
Aprobaron el 100% de los test de estndares
Produjeron mejor diseo e implementacin que el equipo 2.
Equipo 2 (Grupo de Control): 13 equipos de 2 personas: 26 personas
Aprobaron el 45.5% de los test de estndares
3. Requerimientos
o
o
o
o
o
o
Otros requerimientos: usar diseo orientado a objetos, el lenguaje de programacin C++ y Microsoft Fundation Clases
para la interfaz grfica.
3|Pgina
4. Diseo
4.1 Diseo del Grupo de Control
A los estudiantes del grupo de control no se les exigi usar un diseo especfico. Ningn equipo present diagramas
UML aunque se les aconsej hacerlo.
Los 13 equipos presentaron un ejecutable 9 de ellos presentaron tambin el cdigo fuente.
El cdigo fuente destacaba por:
o Diseos fuertemente acoplados.
o Mezcla de funcionalidades.
4 de los equipos que presentaron el cdigo fuente presentaron tambin seudocdigo de los algoritmos.
o 1er algoritmo: cumpla los requisitos pero no era eficiente. El ascensor estaba programado para viajar en
un ciclo: subir del primero al ltimo piso y volver a bajar de nuevo, as continuamente.
o 2 algoritmo: basado en el principio del menor trabajo. El ascensor solo cambiaba de direccin cuando le
resultaba infructuoso seguir en la direccin actual. El algoritmo era muy complejo y se basaba
principalmente en el anlisis del estado del sistema.
o 3er algoritmo: el ascensor solo atenda la peticin ms reciente.
o 4 algoritmo: Estaba descrito incompletamente, realizaba todas las peticiones hechas por las personas
que iban dentro del ascensor, pero no atenda a nuevas llamadas.
Ejemplo de un equipo que especifico la carga, descarga y movimiento del ascensor. La post condicin para la funcin q
realizaba esta operacin era:
4|Pgina
Esto demuestra q el equipo tena exactamente definidas que operaciones podran ocurrir (eliminar, aadir, cambiar el piso
actual) y en que estados deberan ocurrir. Aunque la especificacin usada no era muy correcta. Deberan haber usado el
cuantificador PARA TODO en vez del EXISTE. Tampoco deberan usar las asignaciones := ya que su uso no es apropiado en
lgica de primer orden. Por ltimo est especificacin deja una parte del espacio de estados sin examinar: si el ascensor
est subiendo o bajando pero de repente para, de acuerdo con la especificacin nunca se volver a mover. Excepto este
error, la especificacin muestra el comportamiento del ascensor bastante bien.
4.3 Comparaciones
Los diseos usados por los dos grupos no fueron significativamente diferentes.
El grupo de control produjo un diseo ms acoplado que el grupo de mtodos formales.
Los algoritmos propuestos por el grupo de mtodos formales son ms eficientes y cumplen en mayor medida los
requisitos.
Parece que formar al grupo de los mtodos formales en anlisis formal ha incrementado su habilidad para disear
algoritmos.
5|Pgina
5. Implementacin
5.1 Implementacin del grupo de control
6|Pgina
5.3 Comparaciones
Solo un 45.5% de las implementaciones del grupo de control superaron las pruebas a las que fue sometidas frente al
100% del grupo de mtodos formales.
Esto es un claro ejemplo de cmo la formacin en anlisis formal puede beneficiar a los programadores, incrementado
sus habilidades para crear programas funcionalmente correctos.
7|Pgina
6.1 REQUERIMIENTOS
A parte de los requerimientos especificados anteriormente se aadieron los siguientes:
Mantener el conjunto de botones que han sido pulsados dentro del ascensor.
Mantener el conjunto de botones que han sido pulsados fuera del ascensor: numero de piso en el cual est
esperando un pasajero y direccin pedida.
Parar cuando el ascensor no tiene ms peticiones que atender.
Servir todas las peticiones realizadas fuera del ascensor dando igual prioridad.
Servir todas las peticiones realizadas dentro del ascensor secuencialmente segn la direccin del ascensor.
Asegurar que las peticiones que se encuentran en la direccin del ascensor se atienden a tiempo de manera que se
maximice el uso del ascensor.
6.2DISEO
6.3Implementacin
8|Pgina
7. Conclusiones
La formacin en mtodos formales incrementa las capacidades para analizar y disear software de los
desarrolladores de software.
Se puede conseguir software de mayor calidad si se combinan mtodos formales con mtodos no formales.
Se debera ensear mtodos formales a todos los alumnos de titulaciones universitarias relacionadas con el
desarrollo de software.
9|Pgina
10 | P g i n a
JUSTIFICACIONES
1.
a) Es incorrecta ya que en ningn momento se hace referencia al movimiento del mismo.
b) Es correcta ya que se est definiendo la situacin en la que se agrega a una persona a la lista de personas que estn
dentro del ascensor y en eso consiste la atencin a la llamada (pulsacin del botn) del ascensor.
c) Incorrecta debido a que en ningn momento se hace referencia a la parada del mismo.
d) Incorrecta porque no hay ningn predicado que haga referencia a ello.
2.
a) Es correcta porque se est modificando la posicin actual del ascensor.
b) Es incorrecta ya que no se est haciendo referencia a ninguna llamada por parte de pasajeros. Ni de los propios
pasajeros.
c) Es incorrecta debido a que no se especifica ninguna condicin que evale si se tienen o no peticiones.
d) Es incorrecta porque no se hace referencia al sentido.
3.
a) Si debido a que al utilizarse con un lenguaje que evita ambigedades se evitan de por s los errores que ellas
ocasionaran.
b) Es incorrecta, debido a que con los mtodos formales si se pueden reducir los errores como consecuencia por ejemplo
de utilizar un lenguaje con un menor nmero de obviedades al especificar los requisitos.
c) Es incorrecta, ya que estos no influyen en el nmero de errores, porque si se han recogido bien, ya se omitirn errores
que sean consecuencia de ellos.
d) Las pruebas formales ayudan a detectar errores, no a impedirlos, como toda prueba.
4.
a) Correcta, pero no nicamente.
b) Correcta, pero al igual que en la anterior no es en lo nico que se puede utilizar
c) Correcta, ya que en los dos casos anteriores se puede utilizar.
d) Incorrecta ya que la opcin c) es la correcta.
11 | P g i n a