Final del 09/06/2009 (Ingeniería I)
Requerimientos
1. Por que es tan o mas importante validar las presunciones del dominio que los requerimientos del sistema? Ejemplifique.
Rta. Porque al fallar en la validacion de las presunciones de dominio, se va a esperar un cierto comportamiento por parte del mundo que se presume necesario para el correcto funcionamiento del sistema. Ademas, uno esta suponiendo que los requerimientos entregados junto con el dominio va a cumplir con el objetivo esperado. Ej. Software para un cierto centro hospitalario, el cual no esta preparado para personas no videntes y en la presuncion nunca se aclaro las capacidades de los usuarios.
2. Suponga que un dominio ha sido descrito utilizando un modelo de objetivos y uno conceptual. Explique la o las relaciones que esperaria encontrar entre ellos.
Rta. Una de las relaciones que se pueden encontrar es el uso del modelo conceptual en las descripciones formales del modelo de objetivos para describir los mismos. Así mismo, provee de una estructura estática del mundo sobre la cual podría ser más fácil tomar decisiones sobre los refinamientos o asignaciones de agentes a los objetivos.
Especificacion
3. Suponga que un dominio ha sido descrito utilizando una composicion de maquinas de estado y un diagrama de contexto. Que vinculos esperaria encontrar entre ellos?
Rta. Las maquinas de estado descriptas para este dominio introducen un relacion temporal entre los agentes descriptos en el diagrama de contexto. Ademas, en ciertas LTS se pueden utilizar conceptos como monitoreo y control, como en los diagramas de contexto.
4. Cual es el dominio semantico que se utiliza para definir casos de uso. Explique como utilizando dicho dominio se puede definir la relacion de extends entre dos casos de uso. Ejemplifique.
Rta. Un caso de uso describe un conjunto de escenarios
- Para toda elección de actores de acuerdo al tipado del caso de uso
- Para toda secuencia de interacciones que se ajusta a la descripción detallada.
Extends:
- Existe al menos un escenario s denotado por A, que contiene un escenario denotado por B
- Pueden existir escenarios denotados por B que no aparecen en escenarios dentoados por A
Testing:
5. Que es un test funcional?
Rta. El testing funcional debe testear que un programa p implementa una funcionalidad f correctamente, es decir, que para todo elemento del dominio el resultado de p coincide con el de f. También debe avisar que la entrada no pertenece al dominio, y en caso de errores no destruir el sistema (o colgarse) sino simplemente notificar del error. Se busca testear que haga lo que debe y no haga lo que no debe.
6. Suponga que se ha modelado una entidad utilizando una maquina de estados. Como puede ser utilizado esta en las actividades de testing?
Rta. La maquina de estados puede ser utilizada en testing para realizar, por ejemplo, el flowgraph, teniendo una ayuda para saber los posibles estado del programa. Tambien puede servir para entender como llegar a cierto punto del programa teniendo determinados inputs. Y para tambien para saber validar estados invalidos dentro del sistema.
Diseño
7. ¨Los lenguajes de programacion orientados a objetos proveen soporte directo para solo algunos de los tipos de relacion que pueden especificarse en un diagrama de clases.¨. Justifique la asercion anterior y ejemplifique.
Rta. Se distinguen tres tipos de relaciones en un diagrama de clases:
- "es parte de" que define la relación entre un submódulo A y un módulo B.
- "depende de" que define la dependencia entre dos módulos A y B.
- "es un" que define una relación de generalización entre un modulo específico y otro más general.
La relacion "Es parte de" no esta soportada directamente por los lenguajes orientados a objetos. "Depende de" esta cubierta por los imports o includes y "Es un" esta soportada por la herencia.
Rta2. "Depende de" no esta soportada, ya que puede presentar un llamado a una función o bien objetos compartidos. Esta relación no es representable por OOP.
8. Suponga que se ha explicado un diseño utilizando un diagrama de clases y un diagrama de secuencia. Explique la relacion que esperaria encontrar entre ellos.
Rta. Entre un diagrama de clases y un diagrama de secuencias se puede esperar encontrar las mismas clases y metodos de cada una. En el diagrama de clases se muestran de una forma estatica y en el diagrama de secuencia se muestra la interaccion que otras clases y metodos. Tambien se puede ver las propiedades definidas en el diagrama de clases como son manipuladas en el diagrama de secuencias.