DISEÑO DE SOFTWARE INTEGRADO Unidad III: Determinación de Requerimientos Profesor: Cristián Chávez T Frederick P. Brooks: • "La parte más difícil de construir un sistema es precisamente saber qué construir. Ninguna otra parte del trabajo conceptual es tan difícil como establecer los requerimientos técnicos detallados, incluyendo todas las interfaces con gente, máquinas y otros sistemas. Ninguna otra parte del trabajo afecta tanto el sistema si es hecha mal. Ninguna es tan difícil de corregir más adelante. Entonces, la tarea más importante que el ingeniero hace para el cliente es la extracción iterativa y el refinamiento de los requerimientos del producto." Costo de solución de Problemas 40-1000 1000 900 Unidad de Costo 800 700 Costo de un error por fase 600 500 400 300 200 100 3-6 1 10 15-40 30-70 0 Requerimientos Diseño Desarrollo Test en desarrollo Test de Acepración Operación Barry Bohem determinó el rango de costo por error generado por falsos supuestos en la fase de requerimientos y no detectados hasta fases posteriores (“Software Engineering Economics”) “Poor management can increase software cost more rapidly than any other factor” Los requerimientos se pueden dividir en : • Los funcionales definen qué hace el sistema (describen todas las entradas y salidas), es decir, las funciones del sistema. • Por su parte, los no-funcionales definen atributos que indican al sistema cómo realizar su trabajo (eficiencia, hardware, software, interfase, usabilidad, etc.); es el cómo, cuándo y cuánto del qué. 1. Definición de Determinación de Requerimiento • Es el estudio de un sistema, para conocer cómo trabaja y dónde es necesario efectuar mejoras • Da como resultado una evaluación de la forma como trabajan los métodos empleados y si es necesario realizar ajustes 1.1 Definición de Requerimiento • Es una característica que debe incluirse en un nuevo sistema • Ejemplos: – – – – Procesar datos Brindar soporte a la gerencia Integrar las impresoras a la red etc Actividades de la Ingeniería de Requerimientos Requerimientos básicos Los analistas estructuran su investigación al buscar respuestas a estas 4 preguntas: • ¿Cuál es el proceso básico de la empresa? • ¿Qué datos utiliza o produce este proceso? • ¿Cuáles son los límites impuestos por el tiempo y la carga de trabajo? • ¿Qué controles de desempeño utiliza? Comprendiendo el proceso… Preguntas clave: – ¿Cuál es la finalidad de esta actividad dentro de la empresa? – ¿Qué pasos se siguen para llevarla a cabo? – ¿Dónde se realizan estos pasos? – ¿Quiénes los realizan? – ¿Cuánto tiempo tardan en efectuarlos? – ¿Con qué frecuencia lo hacen? – ¿Quiénes emplean la información resultante? 3. La Investigación de Requerimientos • Los analistas utilizan diversas técnicas para “encontrar hechos”, ellas se puede mencionar: – Entrevistas • Estructuradas • No estructuradas – Cuestionarios – Revisión de registros • Manuales de políticas • Reglamentos – Observación 4. Características de un buen requerimiento • • • • Acotado Finito Contexto particular Validable y medible Técnicas y herramientas que se utilizan para llevar a cabo cada una de las actividades del proceso de Ingeniería de Requerimientos Ejercicio en clase • Aplicación a caso 5. Cómo acotar hechos • La técnica más relevante es la llamada “español estructurado” • Utiliza declaraciones para describir el proceso • No muestra reglas de decisión, las declara • Requiere que el analista identifique condiciones de un proceso y decisiones que se deben tomar cuando sucede, junto a las acciones correspondientes Ejemplo de uso de español estructurado Procesamiento de “Cuentas por Pagar” • Aceptar la factura para su procesamiento • Preparar el talón de pago utilizando para ello la factura • Revisar el estado de cuentas vencidas utilizando el talón de pago • Elaborar el cheque para el vendedor por un monto igual al saldo de la cuenta y ajustar el saldo de verificación por una cantidad igual al monto del cheque • Enviar el cheque al vendedor Sistemas de información en las empresas • En estos tiempos, las necesidades de las empresas son definidas por: • el entorno global en que coexisten • altísima competencia – por materias primas – optimización de sus recursos – ingreso a nuevos mercados, se exige a las organizaciones de nuestro tiempo un óptimo funcionamiento, esto con el propósito de lograr una ventaja competitiva sobre sus competidores Sistemas de información en las empresas • La toma de decisiones que se lleva acabo dentro de las organizaciones debe cumplir con ciertas características como son: – Rápida – Oportuna – fundamentada en información concreta – que permita tomar decisiones eficientes, efectivas y con un bajo costo para la empresa Sistemas de información en las empresas • Dadas las características anteriormente descritas que debe cumplir el ejecutivo en la toma de decisiones, hace que sus requerimientos para el análisis de información sean muy exigentes; pues el número de alternativas disponibles es mayor, el costo de los errores administrativos puede ser muy grande, el acceso a la información necesaria para la toma de decisiones puede ser compleja • El ejecutivo tiene que realizar una infinidad de operaciones para acceder a esta. • Es aquí donde surge la necesidad del soporte de sistemas como una herramienta para la toma de decisiones acorde a los objetivos estratégicos planteados por la organización. 6. Pasos a seguir para el desarrollo de Sistemas de Información 1. 2. 3. 4. 5. 6. 7. 8. Investigación preliminar Recopilación de datos Acceso a los datos del sistema Identificación de los requerimientos de diseño Bosquejo de las estrategias de diseño Análisis de costos y beneficios Elaboración de la propuesta del sistema Presentación a la gerencia 7. Aplicación de CMM • “La mejora de los procesos de SW ocurren en el contexto de la organización” – Planes estratégicos – Objetivos de negocios – Estructura organizacional – Tecnologías en uso – Cultura – Sistemas de gerencia Tipos de Sistemas 1. Sistemas a nivel estratégico (ESS) 2. Sistemas a nivel administrativo • • Sistemas de información gerencial (MIS) Sistemas de apoyo a la toma de decisiones (DSS) 3. Sistemas a nivel del conocimiento – – Sistemas de Trabajo de Conocimiento (KWS) Sistemas de oficina 4. Sistemas de procesamiento de transacciones (TPS) Sistemas a nivel estratégico ( ) ESS y EIS • • • • • Pronóstico de tendencias Planes operativos Pronósticos de presupuesto Planificación de utilidades Planificación de RRHH Sistemas a nivel administrativo • MIS – Administración de ventas – Control de inventarios – Elaboración de presupuesto anual – Análisis de inversión de capital • DSS (Decision support system) – Programación de la producción – Definición de costos Análisis de fijación de precios, rentabilidad, costo de contratos Sistemas a nivel del conocimiento • Sistemas de Trabajo de Conocimiento (KWS) – Estaciones de trabajo para Ingeniería – Estaciones de trabajo para gráficos/diseño – Estaciones de trabajo para gerentes • Sistemas de oficina – Procesamiento de texto – Digitalización de números – Calendarios electrónicos Sistemas de procesamiento de transacciones (TPS) • Seguimiento y procesamiento de pedidos (MKT) • Control de máquinas, Programación de la planta, Control de movimiento de materiales (Producción) • Administración de valores y efectivo (Finanzas) • Cuentas por pagar, cobrar, etc (Contabilidad) • Registro de empleados, Capacitación (RRHH) Entradas de información • ESS Datos acumulados • DSSDatos de BD masivas optimizadas para análisis; modelos analíticos • MISDatos resumidos de transacciones • KWSEspecificaciones de diseño según profesional • TPSEventos