Examen II. Ingenieria de Software. Grupo 513.
Instrucciones: El examen se debe resolver por un equipo de 2 a 4 personas.
Se debe entregar el resultado en formato HTML, si se necesitan incluir graficas, deben estar
en formato GIF,JPEG o PNG.
La entrega se debe hacer via correo electronico a la cuenta prac5132001@yahoo.com.mx,
el dia 10 de Diciembre del 2001, antes de la 09:00 am
Como bibliografia de apoyo:
+) Ingenieria de software. Ian Sommerville. Ed. Pearson.Sexta Edicion
+) Ingenieria de Software. Pressman. Ed. McGrawHill
+) El proceso Unificado de Software. Booch, Rumbaugh
+) http://www.xprogramming.com
+) http://www.extremeprogramming.org
+) http://www.junit.org
+) http://www.sourceforge.net
1. Definir que es un proceso de software.
2. Explicar detalladamente 4 enfoques de modelo del proceso de software (no describir el Proceso
Unificado de Software)
3. Sobre el topico de administracion de un proyecto de software, describir
a) Actividades de la administracion del proyecto
b) Puntos que debe incluir un proyecto.
c) Indicar como planear la calendirazacion del proyecto
d) Identificacion de riesgos asociados
4. Sobre el punto de requerimientos de software, indicar:
a) Requerimientos del usuario, en que consisten y como representarlos
b) Requerimientos del sistema detallados, en que consisten y como representarlos
c) Especificacion del software, en que consiste y como representarlo
5. La especificacion formal de software consiste en una representacion matematica de
las propiedades del software.
a) Indicar como usar tipos abstractos de datos para especificacion de la interfase.
b) Indicar como usar la notacion Z para representar la especificacion del comportamiento.
c) Dar un ejemplo de representacion de una interfase y de comportamiento, utilizando
una pila o una cola.
6. Al modelar un sistema surgen diferentes maneras de concebirlos. Explicar:
a) Como se representa el comportamiento del sistema
b) Como se representan los datos del sistema
c) Como se representan los objetos del sistema
d) Dar un ejemplo de una herramienta CASE, y como representa los distintos modelos
explicados en los puntos anteriores
7. Realizar una investigacion sobre como utilizar el proceso unificado de software,
considerando cada etapa del desarrollo del sistema de informacion
8. Al definir un sistema, siempre es necesario encontrar una representacion abstracta
del mismo, es decir una arquitectura. Existen varias clasificaciones, describir:
a) Arquitecturas cliente/servidor
b) Arquitecturas de multiprocesamiento
c) Arquitecturas de objetos distribuidos
d) Arquitecturas de datos
e) Ejemplificar las arquitecturas explicadas con CORBA,DCOM, Jini, P2P y XML
9. Detallar como se realiza la fase de disenno, dados los siguientes enfoques:
a) Orientado a Objetos
b) Reutilizable u orientado a componentes
c) Orientado a la interfase del usuario
d) Realizar una lista de patrones de disenno, incluyendo aquellos no vistos en clase
10. La verificacion y validacion de un sistema de software consiste en varias actividades.
Describirlas. Como se podria usar la herramienta JUnit, que se explico en clase
11. Se necesita desarrollar un proyecto de software y se debe explicar lo que es la
programacion extrema. Dar una descripcion detallada de lo que consiste.
La programacion extrema y el proceso unificado son dos enfoques diferentes o como
se integran o difieren ?
12. Investigar sobre los siguientes tipos de tecnologias.
Control de versiones
Depuradores
Lenguajes orientados a Scripts
Analisis de usos de recursos de computo (profilers)
Indicar ejemplos de software
13. Como se podria aplicar el enfoque de software libre o de codigo abierto a la Ingenieria de Software.
Buscar sobre el enfoque de la "Catedral y el Bazar" y la filosofia de SourceForge.
               (
geocities.com/gusdelact)