Sunteți pe pagina 1din 7

INC313: Metodologas de Anlisis

2S-2010

Gua Certamen 1
Preguntas
El siguiente listado de preguntas y respuestas no es exhaustivo con respecto a la materia del certamen. Solo tiene el objetivo de presentar a los alumnos ejemplos del tipo de preguntas que se formulan y el tipo de respuestas que se esperan. 1. Qu es el software?

Software: Programas, procedimientos, documentacin asociada, y datos pertenecientes a la operacin de un sistema computacional. 2. Segn tipo de cliente: Qu tipos de desarrollo pueden darse (mencione ejemplos)?

Genricos: desarrollados para el mercado (e.g., bases de datos MySQL, procesador de texto MS Word). A medida: desarrollados para un solo cliente segn su especificacin (e.g., SIGA, sistema de facturacin de ESVAL). 3. Mencione y describa los 4 roles clsicos que son miembros de un equipo de desarrollo de software. Analistas: trabaja con el cliente para analizar y especificar requerimientos. Diseador: trabaja con los analistas para crear una descripcin a nivel de sistema de lo que el software debe hacer, trabaja con los programadores para describir el sistema en un nivel de detalle que sirva para construirlo. Programador: implementa el cdigo que satisface los requerimientos (tambin hace pruebas iniciales). Tester: ayuda a detectar fallas que los programadores no hayan detectado, adems realiza pruebas de integracin y de validacin. Qu son las dificultades esenciales y accidentales asociadas a la produccin de software (defina y mencione ejemplos)? Qu implican para la Ingeniera de Software?

4.

Dificultades esenciales: son problemas que no se pueden resolver y lo que corresponde es buscar mecanismos para mitigar sus efectos. E.g., complejidad, necesidad de cambios, invisibilidad. Dificultades accidentales: son problemas que s se pueden resolver a travs de los avances de investigacin. E.g., deficiencias en tcnicas, modelos, herramientas. La implicancia mayor que tiene esto es que en ingeniera de software NO hay receta mgica (silver bullet) pues hay dificultades sin solucin posible. 5. En qu se parece la construccin de software a la construccin de una casa? Explique.

Se sigue un proceso con actividades similares que tienen objetivos comunes, bajo el mismo enfoque ingenieril En ambos casos se debe: determinar y analizar los requerimientos para el producto; producir documentos de diseo; hacer especificaciones detalladas de lo que se construir; identificar, disear, construir, probar e integrar los componentes del producto; estar abierto a la posibilidad de que se produzcan modificaciones; y realizar un proceso de mantencin continua del producto final. 6. Qu es un proceso de software? Por qu es importante?

Es un conjunto de actividades tcnicas y administrativas realizadas durante la adquisicin, desarrollo, mantencin y retiro del software. Transforma necesidades y requerimientos en sistemas.

Es importante, pues impone consistencia y estructura al conjunto de actividades que se deben realizar, tambin permite capturar y transmitir la experiencia, a proyectos futuros. La estructura del proceso gua la accin, permitiendo examinar, entender, controlar y mejorar las actividades comprendidas por ste. 7. Comente la siguiente aseveracin: Los mtodos giles son un antdoto a la burocracia de los mtodos planificados;

Los mtodos giles ponen el centro en entregar funcionalidad prontamente a los clientes y responder rpidamente a los cambios, dejando en segundo plano actividades como documentacin y seguimiento de planes. 8. Explique brevemente las prcticas Diseo simple, Test-driven development (TDD) y Programacin de a pares de Extreme Programming (XP).

Diseo simple: se usa el diseo ms simple (de entre todas las posibles soluciones); TDD: los programadores deben ejecutar test unitarios que deben ser superados impecablemente para proseguir con el desarrollo; Programacin de a pares: todo el cdigo es escrito con dos programadores en una mquina. 9. Comente la siguiente aseveracin Scrum no es realmente una metodologa de desarrollo de software, sino de gestin de proyectos.

La afirmacin es esencialmente correcta, Scrum no determina prcticas de desarrollo de software y su foco est en controles de gestin (e.g., Daily Scrum). 10. Cul es el rol del ScrumMaster? Es un facilitador que gua al equipo scrum, remueve obstculos, se preocupa que no se pierda el espritu scrum en el proyecto. 11. En el contexto de Gestin de Riesgos conteste: Cul es la diferencia entre planes de mitigacin y planes de contingencia? Ilustre con un ejemplo. Los planes de mitigacin corresponden a la planificacin de acciones para disminuir la probabilidad de un riesgo, en cambio los planes de contingencia corresponden a la planificacin de las acciones que se realizarn cuando el riesgo se transforma en un problema real, si es que ocurre ilustrar con un ejemplo. 12. Mencione 3 tcnicas restrictivas para elicitar (extraer) requerimientos, e indique sus fortalezas y debilidades. 3 de las 5 siguientes: Tcnica Joint Application (JAD) Observacin Entrevistas electrnicas Anlisis de cdigo legacy Lectura Fortalezas Funciona bien cuando los stakeholders pueden reunirse solo irregularmente. Ayuda a identificar lo que la gente realmente hace. Soporta ambientes con stakeholders dispersos. Identifica lo que est implementado actualmente. Entender lo bsico sobre el dominio antes de interactuar con stakeholders. Debilidades Facilitador debe extremadamente hbil.

Design

ser

Puede ser difcil obtener permiso. Flujo de informacin limitado. Es difcil extraer requerimientos. La prctica difiere informacin escrita. de la

Ejercicios
1. Para el siguiente segmento de cdigo calcule: LOC (fsico), LOC (lgico) y Tokens (vocabulario y tamao). 1 /* Determina estado slido (S), lquido (L) o gaseoso (G)*/ 2 3 void determinar_estado(int temperatura){ 4 char estado; 5 if (temperatura <= 0){ 6 estado = S; 7 } 8 if (temperatura > 0){ 9 if(temperatura <100){ estado = L; 10 } 11 } 12 else estado = G;} LOC (fsico) = 12 LOC (lgico) = 9 Tokens operadores: void -> 1, int -> 1, () -> 4, {} -> 4, char -> 1, ; -> 5, if -> 3, <= -> 1, -> 3, = -> 3, > -> 1; < -> 1, else -> 1 operandos: determinar_estado -> 1, temperatura -> 4, estado -> 4, 0 -> 2, S -> 1, 100 -> 1, L -> 1, G >1 n1 = 13, N1 = 29, n2 = 8, N2 = 15 vocabulario: n = 21, tamao: N = 44 2. Se debe desarrollar un sistema para pagar facturas pendientes que recibe, al final de cada da y desde otro sistema ya existente, un archivo que contiene la siguiente informacin: fecha de pago requerida, monto a pagar, nmero de orden de compra, nombre del proveedor, calle, ciudad, regin y cdigo postal. El sistema a desarrollar debe procesar el archivo que recibe y generar los cheques correspondientes. El sistema de pago de facturas pendientes procesa, sin ninguna validacin o edicin, el archivo que recibe en otro archivo (mantenido por la aplicacin a desarrollar) denominado archivo de cuentas corrientes. Este archivo almacena dos tipos de cuentas corrientes, utilizando un total de 20 tems de informacin diferentes. Los cheques son generados con la siguiente informacin: nombre y direccin de la compaa, nmero del cheque, fecha de pago, monto, el nombre del proveedor a quien se paga, y una glosa con el nmero de la orden de compra. Cuando estos cheques se crean slo referencian el archivo de cuentas corrientes. Si no hay fondos suficientes los cheques no se generan, en cuyo caso se genera un informe impreso. Dicho informe contiene la fecha, el nombre de cada proveedor al que no se paga, el nmero de orden de compra correspondiente, el monto correspondiente, el nmero total de proveedores, y la cantidad total pendiente por pagar. Las transacciones no finalizadas son mantenidas en un archivo de pagos pendientes, hasta que todas hayan sido procesadas completamente. El archivo de pagos pendientes contiene la fecha de pago original, el nombre del proveedor, el nmero de la orden de compra y el monto a pagar. Tambin va a existir una consulta online para recuperar informacin desde el archivo de pagos pendientes, que va a desplegar la fecha original de pago, el nombre del proveedor, el nmero de la orden de compra, y el monto a pagar cuando el usuario ingresa una fecha de pago y una tecla fn. El archivo de pagos pendientes ser actualizado a travs de una transaccin que ingresar una nueva fecha de pago. Esta transaccin va a ingresar la fecha de pago original, el nmero de la orden de compra, la nueva fecha de pago, y el monto a pagar al archivo de pagos pendientes usando una tecla fn.

Otras caractersticas del sistema son las siguientes: La aplicacin considera ms de un front-end pero soporta slo un tipo de protocolo de comunicacin de procesamiento de transacciones. No hay procesamiento distribuido, ni requerimientos especiales de performance, ni restricciones operacionales explcitas o implcitas, ni perodo peak de transacciones. Adems, hay movimiento automatizado del cursor y seleccin con el cursor de datos en pantalla. No hay requerimientos especficos del usuario relacionados con eficiencia. Tambin hay actualizacin online de los archivos internos pero sin proteccin contra prdidas de datos. No hay procesamiento complejo. Ms del 50% de la aplicacin y su cdigo debe ser diseado, desarrollado, y soportado para ser usable en otras aplicaciones. No hay requerimientos especiales de conversin, instalacin, o set-up. La aplicacin debe minimizar la necesidad de manejo manual de montaje de cintas o papel, debe haber procesos efectivos de start-up, back-up y recuperacin, pero se requiere intervencin del operador. Habr mltiples sitios considerados en el diseo, pero la aplicacin va a correr bajo ambientes de hardware y software similares. No hay requerimientos de capacidad flexible de consulta/informacin (query/report), los datos de control se mantienen en forma interactiva y toman efecto inmediato. Parmetros bsicos y complejidad EI Archivo que viene desde otra aplicacin (facturas por pagar) FTR 1 DET 8 Low (no es EIF!!!!! este es parmetro crtico de este problema) EI Actualizacin archivo de pagos pendientes FTR 1 DET 4 Low ILF Archivo cuentas corrientes RET 2 DET 20 Avg ILF Archivo de pagos pendientes RET 1 DET 4 Low EO Cheques FTR 1 DET 7 Low EO Informe impreso FTR 1 DET 6 Low EQ Informacin de pagos pendientes (output) FTR 1 DET 4, input es ms simple, manda output Low FPNA EI 2x3 EO 2x4 EQ 1x3 ILF EIF

0x4 0x5 0x4 1x7 0x5

0x6 0x7 0x6 1x10 0x7

=6 =8 =3 0x15 0x10

= 17 =0

Total FPNA = 34 Factor de Complejidad c1 4, c6 5, c7 3, c8 3, c10 3, c12 3, c13 2, c14 2, los dems son cero Sumatoria: 25 Factor: 0,65 + 0,25 = 0,9 FPA = 0,9 * 34 = 31

3.

Una organizacin de consultora planea construir una aplicacin simple (un localizador) para mantener informacin acerca de compaas interesadas en sus cursos. La agrupacin lgica datos de contactos de compaas a mantener incluir los siguientes campos: compaa, nombre del contacto, cargo, fecha de contacto inicial, calle, ciudad, regin, cdigo postal, telfono, fax. Estos datos se crearn inicialmente cuando un individuo indique un inters en algn curso. Los empleados tendrn la capacidad para crear, cambiar y borrar, a travs de una pantalla en lnea la informacin indicada anteriormente usando los siguientes comandos: Agregar o A, Cambiar o C, Borrar o B. Campos adicionales a ser incluidos en los datos de contactos de compaas, pero actualizados a travs de transacciones separadas, son los siguientes: paquete enviado (fecha) y contacto telefnico (fecha). Estos campos sern mantenidos por dos transacciones separadas: (1) cuando un paquete de informacin es enviado, el individuo enviando el

paquete usar una pantalla separada para ingresar compaa, nombre del contacto, y la fecha en que el paquete fue enviado, utilizando una tecla de funcin (function key); (2) un seguimiento telefnico debera hacerse dentro de dos semanas del envo para asegurar su recepcin y responder a preguntas, cuando este contacto est completo, se usar una pantalla separada para ingresar compaa, nombre del contacto, fecha del contacto, y notas, utilizando una tecla de funcin (function key). La fecha de contacto se utilizar para actualizar los datos de contactos de compaas. Las notas actualizarn una agrupacin lgica datos de notas. Los datos de notas contienen los siguientes campos: compaa, nombre del contacto, fecha del contacto, notas (texto). La funcionalidad de la aplicacin localizador permitir solo la adicin o recuperacin de notas a este archivo y solo a travs de esta pantalla. Las notas existentes deberan ser recuperadas pulsando una tecla de funcin (function key); solo se desplegarn datos de datos de notas. Un sistema de men se requerir para navegar en el sistema. Las 6 funciones ofrecidas y que pueden seleccionarse sern: crear un contacto de compaa, recuperar un contacto de compaa, actualizar un contacto de compaa, borrar un contacto de compaa, enviar un paquete, y contacto/notas telefnicas. Todas estas funciones, excepto recuperar un contacto de compaa, se discutieron ms arriba. La recuperacin solo mostrar los campos mantenidos en datos de contactos de compaas. Los errores sern retornados desde un archivo de error mantenido externamente, que solo tiene cuatro campos. Uno de estos campos contiene los mensajes de error. Los errores se retornarn para cada transaccin indicada anteriormente; el nmero mximo de mensajes de error nico para una transaccin es ocho.

Parmetros bsicos Archivos: 3 (Datos de contactos de compaas ILF, Datos de notas ILF, Errores EIF). Entradas: 5 (Crear contacto, Actualizar contacto, Borrar contacto, Enviar paquete, Contacto telefnico) Todos EI. Salidas: 0 Consultas: 2 (Recuperar notas, Recuperar contacto) Ambas EQ. Complejidad de los parmetros ILF Datos de contactos de compaas: 12 DET 1 RET Low ILF Datos de notas: 4 DET 1 RET Low EIF Errores: 4 DET 1 RET Low EI Crear contacto: 12 DET 2 FTR Average EI Actualizar contacto: 12 DET 2 FTR Average EI Borrar contacto: 4 DET 2 FTR Low EI Enviar paquete: 5 DET 2 FTR Average EI Contacto telefnico: 6 DET 3 FTR High EQ Recuperar notas: DET 4 FTR 1 Low EQ Recuperar contacto: DET 12 FTR 1 Low Caractersticas generales del sistema: (esta asignacin no es la nica posible, pero las caractersticas 1-9 y 13 no deberan variar mucho mientras las otras son ms subjetivas y quedan sujetas a la interpretacin). 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Data communication 4 Distributed functions 0 Performance 0 Heavily used configuration 0 Transaction rate 0 On-line data entry 5 End user efficiency 3 On-line update 3 Complex processing 1 Reusability 1 Installation ease 1 Operational ease 3 Multiple site 1 Facilitate change 2

Clculos finales: Low 3x4 0x5 0x4 0x10 0x7 Avg 1x6 0x7 0x6 0x15 0x10 High 21 0 6 14 5 Total

EI 1x3 EO 0x4 EQ 2x3 ILF 2x7 EIF 1x5

FPNA: 46 FA: 0.65 + 0.01*26 = 0.91 FPA: 46*0.91 = 42 4. Interesa dimensionar (parcialmente, en este problema slo consideraremos las opciones File y Edit de la barra de acciones) la aplicacin calendario de Microsoft Windows (Microsoft Windows Calendar), que contiene un calendario mensual y un libro de actividades diarias. El calendario vaco se abre al seleccionarlo con un cono, y despliega el da y hora actuales en el sistema, que se van actualizando y desplegando contnuamente. Esta informacin se recupera desde la aplicacin reloj de Windows (Windows Clock). Considere las opciones bajo File de la barra de acciones (New, Open, Save, Save As, Print, Page Setup, Print Setup, Exit) que permiten respectivamente abrir un calendario nuevo, ingresar actividades diarias, ingresar notas y recordatorios; abrir un calendario para la fecha actual; actualizar datos en un calendario existente; ingresar datos para un nuevo calendario; imprimir el calendario para un da especfico; modificar los settings de la pgina y/o impresin si se desea no utilizar los default settings, o salir de la aplicacin. Las opciones bajo Edit de la barra de acciones (Cut, Copy, Paste, Remove) son herramientas estndar de Windows (las tres primeras) y la ltima permite borrar actividades diarias del libro de actividades. Parmetros bsicos y complejidad

No se consideran: Activar la aplicacin utilizando un cono de Windows, New ni Exit (slo utilizadas para navegar en la aplicacin, no corresponden a entradas, consultas ni salidas externas segn lo determina el mtodo Puntos de Funcin); Cut, Copy and Paste tampoco se consideran pues son herramientas provistas por Windows que slo se usan.

FPNA: EI 4x3 0x4 EO 1x4 0x5 EQ 2x3 0x4 ILF 1x7 0x10 EIF 2x5 0x7 Total FPNA = 39

x6 = 12 0x7 = 4 0x6 = 6 0x15 = 7 0x10 = 10

Factor de Complejidad c1 4 c2 0 c3 3 c4 2 c5 3 c6 5 c7 4 c8 3 c9 1 c10 2 c11 1 c12 3 c13 2 c14 2 Sumatoria: 35 FA: 0,65 + 0,35 = 1,0 FPA = 39 * 1,0 = 39

GVU/2-semestre-2010

S-ar putea să vă placă și