You are on page 1of 5

INGENIERIA DE SOFTWARE II

TALLER DE REPASO

1. Cuáles son los problemas a los cuales se refiere la crisis del software?

2. Cuáles son las sub–áreas más importantes de la Ingeniería del software?

3. Según el modelo de calidad de la norma ntc-5420, cuales son los atributos de calidad

internos y externos que debe tener el software?

4. Según la norma IEEE830, cuáles son los atributos que un requerimiento debe cumplir

para evitar la ambigüedad?

5. Cuál es la clasificación de los requerimientos no funcionales, identifique y explique

cada uno.

6. Escriba 3 ejemplos de requerimientos funcionales no ambiguos.

7. Escriba 3 ejemplos de requerimientos No funcionales no ambiguos.

8. Cuáles deben ser los objetivos del director de un proyecto de software?

9. Cuáles son los principios básicos de la calendarización de proyectos?

10. Cómo se puede representar gráficamente las actividades de un proyecto?

11. Cuáles son los tipos de riesgos en un proyecto de software?

12. Explique los patrones generales de diseño de software (GRASP), de un ejemplo de

cada uno.

13. Explique con sus propias palabras cómo funciona el patrón de acceso a datos DAO.

14. Explique para qué sirven los siguientes patrones: Factory, Singleton, Fachada,

Iterator. Dibuje un diagrama de clases con el cual se pueda representar cada uno de

estos patrones.

15. Mencione 3 anti patrones muy comunes en el desarrollo de software.

16. Los diagramas UML se dividen en diagramas de estructura y de comportamiento.

Escriba 5 ejemplos de cada uno.

17. Cuáles son los atributos de calidad en la arquitectura de software?


18. Escriba cuáles son las vistas más usadas en la arquitectura de software. Explique

cada una.

19. Relacione qué diagramas del UML le corresponden a cada vista.

20. Qué es gestión de la configuración del software? Para qué sirve.

21. Qué es un elemento de configuración de software?

22. Cuáles son los pasos a seguir para gestionar un cambio, según los principios de la

gestión de configuración

23. Según el proceso, cuáles son los tipos de pruebas. Explique cada una.

24. Cuáles son las técnicas de pruebas más usadas.

25. Cuál es la diferencia entre las técnicas de caja negra y las de caja blanca?

26. Qué es un caso de prueba?

27. Cuáles son algunas técnicas que se usan para generar casos de prueba funcionales?

28. Explique qué son las pruebas funcionales, en qué se basan, qué técnica usan.

29. En qué consisten las pruebas de carga y estrés?

30. Para qué se usan las pruebas de caminos. Qué técnica de pruebas usan?

31. Qué es automatización de pruebas, como se hace, que herramientas se usan?

32. En qué consisten las pruebas de usabilidad, para qué se usan?

33. Explicar las técnicas de estimación de proyectos (tamaño y esfuerzo) vistas en clase,

hacer un ejemplo para cada una. (Líneas de código, puntos funcionales, COCOMO,

estimación basada en casos de uso)


34. Suponga que una fracción de código se representa con el grafo de la figura 1. Cuántos

casos de prueba como mínimo se deberían hacer para asegurar la cobertura de

caminos? Explique.

Figura 1.

34. Examine la figura 2. El grafo representa correctamente al código fuente? Si es así,


cuantos caminos independientes hay? Cuántos casos de prueba se deberían hacer para
garantizar el mínimo de errores?

Figura 2.
35. Suponga que usted va a hacer las pruebas funcionales a una aplicación en una
empresa de servicios públicos. Los datos de entrada se muestran a continuación.

Entrada Clases válidas Clases incorrectas

Código del cliente

Un número entero entre 1 y


5 dígitos

Nombre del cliente

Un texto entre 1 y 100


caracteres

Mes a facturar

Lista con el nombre de los 12


meses (Tomado de un
combo Box)

Consumo

Número entero de entre 1 y


500

Estrato:

Una lista con los estrados


donde viven los clientes (1, 2,
3, 4, 5, 6)

Para cada estrato se aplica una tasa de corrección diferente que aumenta y afecta el valor
final de la factura.

El programa calcula el valor de la factura. Suponga que el valor de cada unidad de consumo
es un valor configurado internamente y que depende del estrato.

Complete la tabla anterior. Utilice partición de equivalencia y análisis del valor límite
para generar casos de prueba

Cuáles son los casos de prueba que usted emplearía en este ejemplo para hacer las
pruebas de software? Cuántos casos de prueba realizaría?
SISTEMA DE EVALUACIÓN DE PROYECTOS

(Este ejercicio es anexo, se debe usar para calcular el tamaño y esfuerzo. Punto 32.)

La oficina de investigación y desarrollo de una empresa multinacional necesita una aplicación que le
permita evaluar los diferentes proyectos de investigación con el objetivo de financiar los que sean
mejor evaluados. La multinacional está conformada por diferentes departamentos tales como: el
departamento administrativo, financiero, ingeniería, mercadeo, investigación y desarrollo, etc. Cada
proyecto que se presenta está asociado a departamento. Cada departamento de la compañía tiene un
director. El sistema debe permitir agregar o modificar información de los departamentos.

Todos los empleados pueden presentar o registrar proyectos a la oficina de investigación y


desarrollo. Cada proyecto tiene un nombre, una descripción, departamento, presupuesto, duración,
fecha de inicio, fecha de finalización, tasa de rentabilidad esperada y un estimado de las utilidades o
ahorro que le puede generar anualmente a la compañía. Los proyectos pueden estar en cuatro
estados: registrado, en evaluación, aprobado o rechazado. Para finalizar el proceso de registro de
proyectos se debe subir un conjunto de archivos que contienen la información relacionada al
proyecto. Mientras el estado del proyecto esté en “registrado” el usuario que ingresó el proyecto
puede hacer modificaciones, pero, una vez se encuentre en evaluación ya no se puede modificar.
Después de que el proyecto se registra, el jefe de la oficina de investigación y desarrollo debe asignar
como mínimo tres evaluadores a cada proyecto. Esta asignación la hace consultando el archivo de
evaluadores y de acuerdo a los estudios y experiencia de estos, se asignan a los diferentes proyectos
presentados. La función de los evaluadores es revisar los proyectos asignados y calificarlos en una
escala de uno a diez. En la tabla 1 se muestra un conjunto de ítems que los evaluadores deben
calificar.

Cuando se asignan los evaluadores, el proyecto cambia a estado, y pasa al estado de “en evaluación”.
El sistema debe promediar la evaluación de cada proyecto teniendo en cuenta el concepto de cada
evaluador. Este trabajo se hace de forma individual y ningún evaluador se conoce entre sí, tampoco las
personas que proponen los proyectos saben quién les evaluará sus proyectos. Todos empleados de la
compañía pueden consultar el estado de los proyectos y sus datos básicos. Se debe implementar un
mecanismo que permita buscar proyectos por el nombre del proyecto, por director o por los
diferentes departamentos. Solo la persona que registró el proyecto puede visualizar todos los detalles
del proyecto, incluida la evaluación. El jefe de la oficina de investigación y desarrollo tiene acceso a
todos los proyectos. El director del departamento tiene acceso a la información, solo de los proyectos
que pertenecen a su departamento.

El sistema también debe permitir registrar los datos básicos, estudios y experiencia profesional de las
personas que serán evaluadores de proyectos. El jefe de la oficina de investigación y desarrollo es
quien ingresa esta información y consulta estos datos para poder asignar evaluadores a los proyectos.
Por último se desea que el sistema permita administrar los diferentes tipos de usuarios y los perfiles,
debe haber un administrador de la aplicación que permita gestionar dichos usuarios.

You might also like