INGENIERÍA DE SOFTWARE CURSO 2005 PRÁCTICA 3 Ingeniería de requerimientos Algunas consideraciones: ciertos ejercicios que se plantean a continuación requieren la elaboración por parte del alumno. En teoría se brinda el conocimiento base necesario el cual ampliado desde Internet o generando discusiones entre los alumnos permitirá llegar a la resolución de cada problema. 1. En cada uno de los siguientes casos determine las ventajas y/o desventajas que puede traer una metodología JAD para la toma inicial de requerimientos a. Desarrollo de un software de gestión que por su contenido para su grupo de trabajo resulta novedoso. b. Desarrollo de un software de gestión clásico (facturación por ej.) teniendo en cuenta que su grupo de trabajo desarrolló varios problemas parecidos. c. Desarrollo de un software de control automático, donde UD es parte del equipo de desarrollo pero su experiencia más amplia fue en el área de gestión. 2. Los desarrolladores trabajan con los clientes y los usuarios para definir los requerimientos y especificar lo que el sistema propuesto debe hacer. Si una vez construido, el sistema trabaja de acuerdo con su especificación pero perjudica a alguien física o financieramente, ¿ quién es el responsable? 3. ¿ Qué diferencia existe entre requerimientos funcionales y no funcionales?. Mediante un ejemplo presente los requerimientos de estas dos clases. 4. “Me junto con el cliente un par de veces, y si él me deja charlo con los usuarios unos minutos y con eso tengo una idea clara de lo que tengo que hacer”. Puede lo anterior considerarse un mito? Se aplica n ormalmente esa forma de pensar? Tiene algo que ver con lo que se plantea como TOMA DE REQUERIMIENTOS. 5. Los aspectos relacionados con los requerimientos puede considerarse como: ambiente físico, interfaces, usuarios y factores humanos, funcionalidad, documentación, recursos, datos, seguridad y aseguramiento de calidad. A continuación se plantean una serie de preguntas, donde sus respuestas determinarán requerimientos. Para cada pregunta indicar a que aspecto de la lista anterior se acerca más. a. ¿debe controlarse el acceso al sistema o la información? b. ¿Cual será el formato de los datos tanto para la entrada como para la salida? c. ¿Cómo debe demostrarse las características del sistema a terceros? d. ¿Existe un tiempo máximo permitido para la recuperación del sistema después del fallo? e. ¿qué habilidades deben tener los desarrolladores? f. ¿con que frecuencia deben hacerse los backups? g. ¿a que audiencia está orientado cada tipo de información que genera el sistema? h. ¿hay que entregar manual de usuario en papel necesariamente o alcanza con un hipertexto? i. ¿Qué hará el sistema? j. ¿Quién usará el sistema? k. ¿Dónde está el equipamiento que necesita el sistema para funcionar? l. ¿la entrada proviene de uno o más sistemas? m. ¿Cuán difícil le resultará a un usuario hacer un uso indebido del sistema? n. ¿Cómo y cuando puede cambiarse o mejorarse un sistema? o. ¿existen uno o varios emplazamientos físicos del sistema? p. ¿Existe algún límite sobre la cantidad de dinero a gastar en el desarrollo o en hardware y software? q. ¿Deben tomarse precauciones contra el fuego, el daño provocado por agua o robo? 6. Determinar para un proyecto cualquiera cuales pueden ser las fuentes de información para generar los requerimientos. Esto es, desde donde puede provenir la información útil para definir el alcance del problema y todos los datos de interés. 7. ¿Qué ventajas presentan las técnicas formales para la toma de requerimientos? Ejemplifique su uso. 8. De un ejemplo concreto donde la utilización de técnicas etnológicas sea fundamental para la evaluación de requerimientos Justifique. 9. En el ejercicio 6 UD propuso un proyecto y sus fuentes de información para generar los requerimientos. Una vez definidos los mismos sugiera un modelo breve para ellos. 10. ¿Cuáles son las motivaciones fundamentales que llevan a modelar los requerimientos? ¿El DFD es un modelo de requerimientos? ¿Por qué? 11. ¿Cuáles son los inconvenientes que se presentarían en un sistema de gestión (tipo sueldo) para llevar su modelado en un lenguaje formal? 12. Para resolver este ejercicio se deben generar dos grupos de trabajo. Cada grupo pensará un problema y el otro grupo deberá “tomar los requerimientos”. El objetivo es generar un SRS. Cada grupo debe generar requerimientos conflictivos que no sean de fácil detección por parte del equipo evaluador. ESTE EJERCICIO DEBERÁ SER EXPUESTO EN CLASE TEÓRICA. 13. Una vez resuelto el ejercicio 12, y en clase, se deberá llevar a cabo una política para el tratamiento de conflictos, política de negociación, para lo cual el grupo que toma los requerimientos (en cada caso) deberá adecuarse a los problemas presentados por el otro. SE DEBE TENER EN CUENTA QUE LOS DOCENTES DE LA MATERIA PODRÁN TOMAR PARTIDO, ESTO ES PODRÀN GENERAR NUEVAS FUENTES DE CONFLICTO QUE DEBERÀN SER SOLUCIONADAS.