ingeniería de requerimiento

of 66 /66
INGENIERÍA DE REQUERIMIENTOS INGENIERÍA DE REQUERIMIENTOS Ing. Séfora Román Sánchez

Author: robinfernando-herera-calero

Post on 13-Apr-2016

216 views

Category:

Documents


0 download

Embed Size (px)

DESCRIPTION

se describen los pasos a seguir para desarrollar los requerimientos funcionales o no funcionales de la empresa donde se esta trabajando...

TRANSCRIPT

Ingeniera de Requerimientos

Ingeniera de Requerimientos

INGENIERA DE REQUERIMIENTOSIng. Sfora Romn Snchez

UNHEVAL - Ingeniera de Requerimientos2La parte ms difcil de construir un sistema de software es decidir qu construir []

Ninguna otra tarea afecta tanto negativamente al sistema, al final, si se realiza de manera incorrecta, al inicio.

Frederick Phillips Brooks Professor Department of Computer Scienc.University of North Carolina. USA.La construccin del software no es el problema.

El verdadero problema radica en saber cules son los requerimientos que deben ser construidos y los que no.

UNHEVAL- Ingeniera de Requerimientos4Estadsticas de xito no xito

UNHEVAL - Ingeniera de Requerimientos5Principales problemas en el desarrollo de SWMala comprensin de las necesidades del usuario.Requisitos y necesidades incompletas.Cambio constante en los requerimientos.Falta de estndares.Deteccin tarda de errores.Mala integracin de mdulos.Pruebas insuficientes.

28/05/2014UNHEVAL- Ingeniera de Requerimientos6NecesidadesArquitecturaRequerimientosNece-sidadesInteresados de la organizacin: Clientes, usuarios, etc

Necesidades de informacin y expectativas.Anlisis y diseo de los procesos de la organizacin.Modelado del negocio.Anlisis de las actividades. Personas que se benefician de los procesos.Personas que ejecutan los procesos.Informacin usada en los procesos.Mejoramiento de procesos. Identificar los problemas de informacin actuales y futuros.

28/05/2014UNHEVAL- Ingeniera de Requerimientos7ArquitecturaArquitecturaRequerimientosNece-sidadesAnlisis y diseo de las clases del sistema.Definir las capas, subsistemas, dependencias, interfases y servicios.Construir el modelo de datos.Identificar patrones de diseo. Construir el modelo de despliegue.

Equipo del proyecto: Desarrolladores, etc

28/05/2014UNHEVAL- Ingeniera de Requerimientos8Interesados de la organizacin: Clientes, usuarios, etc

Requisitos a ser satisfechos por el software.Descripcin de lo que un sistema debe realizar.Caractersticas y atributos del sistema.Acuerdos con los interesados y desarrolladores.

Equipo del proyecto: Desarrolladores, etcRequerimientosArquitecturaRequerimientosNece-sidades

UNHEVAL- Ingeniera de Requerimientos9ArquitecturaRequerimientosIngeniera de RequerimientosNece-sidades

Determinar las necesidades y condiciones de los interesados yConvertirlas en requisitos acordados, documentados y mantenidos a ser satisfechos por un software.28/05/2014UNHEVAL- Ingeniera de Requerimientos10

ArquitecturaRequerimientosIngeniera de RequerimientosNece-sidadesImplica:Identificar las necesidades de los interesados.Analizar las expectativas adicionales.Negociar con los interesados y el equipo de proyecto los acuerdos de desarrollo.Documentar los requerimientos adecuadamente.Validar los requerimientos contra las necesidades.

DEFINICION DE IR SEGN DISTINTOS AUTORESDEFINICION DE IR SEGN DISTINTOS AUTORES

No existe proceso nico que sea validado de aplicar en todas las organizaciones. Cada organismo debe desarrollar su propio proceso de acuerdo al tipo de producto que se est desarrollando, a la cultura organizacional y al nivel de experiencia y habilidad de las personas involucradas en la ingeniera de requerimientos.Quin hace la Ingeniera de Requisitos?

Los Ingenieros de Software (Ingenieros de Sistemas o Analistas de Sistemas) y los interesados (gerentes, clientes, usuarios finales).

El diseo y la construccin de un elegante programa de computadora que resuelva el problema incorrecto no satisface las necesidades de nadie. Por lo tanto, es muy importante entender lo que el cliente quiere antes de comenzar a disear y construir un sistema basado en PC.IMPORTANCIA DE la Ingeniera de RequERIMIENtos?

PASOS PARA HACER INGENIERA DE REQUERMIENTOSInicio.- Se define al mbito y la naturaleza del problema que debe resolverseObtencin .- Ayuda al cliente a definir sus necesidades. QFDElaboracin.- Se refinen y modifican los requisitos bsicos Negociacin .- Se definen las prioridades, cuales aspectos son esenciales y en qu momento se requieren Especificacin.- Puede ser un documento escrito, modelos grficos, matemticos, etc.Validacin.- Examinar existencia, omisiones y ambigedadesGestin.- Identificar, controlar y rastrear los requisitos y los cambios de stos en el proyecto

Las actividades del proceso incluyen :Extraccin de requerimientosAnlisis del problemaEspecificacinValidacin Evolucin

roles o tipos de participantes en la ingeniera de requisitosRolDescripcinIngeniero de requisitosTambin conocido como analista, es el responsable de interactuar con clientes y usuarios para obtener sus necesidades y tambin de desarrollar y gestionar los requisitos.ClienteEs el responsable de la financiacin del proyecto y tiene capacidad ejecutiva para tomar decisiones sobre el mismo. Suele tener una visin global del modelo de negocio.UsuarioEs el usuario potencial del software a desarrollar en el proyecto y tiene una visin detallada, aunque puede que parcial, del modelo de negocio.Director del proyectoEs el responsable de la ejecucin del proyecto y tiene capacidad ejecutiva para tomar decisiones sobre el mismo de acuerdo con el cliente.Responsable de calidadEs el responsable del aseguramiento de la calidad de los productos obtenidos durante las actividades de la ingeniera de requisitos.Comit de control de cambiosRol colectivo responsable de decidir si se aceptan o se rechazan las peticiones de cambios. Tanto el director del proyecto como un representante del cliente suelen formar parte de l.Personal TIC del clienteEs el responsable de proporcionar informacin sobre el entorno tecnolgico del cliente.

El reemplazo de plataformas y tecnologas obsoletas, la compra de sistemas completamente nuevos, las modificaciones de todos o de casi todos losprogramasque forman un sistema, entre otras razones, llevan a desarrollar proyectos en calendarios sumamente ajustados y en algunos casos irreales; esto ocasiona que se omitan muchos pasos importantes en elciclo de vidade desarrollo, entre estos, la definicin de los requerimientos.18El ProblemaSi un proceso es utilizado, equipos funcionales diferentes, normalmente utilizan procesos y lenguajes de modelacin inconsistentes.RequerimientosPruebasAnlisisDiseoLa mayora de los proyectos de softwareutilizan procesos que no estn biendefinidos. En su lugar los miembros del equipo (re)inventan sus propios procesos.???????

Los procesos no estn apropiadamente relacionados con herramientas, no estn propiamente automatizados.?ProcesoHerramienta

Los elementos del anlisis y diseo estructurado ms relevantes son (algunos autores tienen distintas visiones de la cantidad de elementos y cuales son ellos):

DFD Diagrama de Flujo de DatosDiccionario de DatosDE Diagrama de EstructuraMini especificaciones

Smbolos del DFD(notacin Yourdon/De Marco)PProcesoEntidad ExternaD ALMACN DE DATOSFlujo de eventosFlujo de datosTransformaciones o procesos (funciones, clculo, seleccin)Terminadores (Fuentes o Destinos)(personas, entidades)Flujos de informacin(inputs-outputs)Flujos de control (Ward & Mellor 85)Ficheros o depsitos temporales de informacin (base de datos, armario, clasificador, etc.)Smbolos del DFD(notacin Mtrica/SSADM)Entidad ExternaDALMACN DE DATOSFlujo de datosTransformaciones o procesosTerminadores (Fuentes o Destinos)Flujos de informacinFicheros o depsitos temporales de informacinLocalizacinProcesoIDProcesosTRANSFORMACIN (clculo, operacin)FILTRO(verificacin fecha, validacin transaccin)DISTRIBUCIN(men, seleccin transaccin)PTransformacinE2E3E1S2S1Nombres nicos, significativos y concisosPreferiblemente expresados en funcin de las entradas y salidasRecomendacin:verbo (no ambiguo) + objetoEvitar verbos ambiguosprocesar, gestionar, manejar...objeto est definido en el DDLos procesos se descomponen en subprocesos, hasta llegar a los procesos primitivos

ProcesosDiagrama de contextoEs el DFD ms general de todosEst formado por un solo macroproceso (el sistema), las entidades externas (fuentes y destinos) y sus relaciones con el macroprocesoDelimita el sistema y su entornoEntidades externasSealan los lmites del sistema y establecen sus relaciones con el entornoPSistemaDESTINODESTINODESTINOFUENTEFUENTEFUENTELos identificadores (nombres) de las entidades externas sern nicos, significativos y concisosen principio, no son materiales, son datos0. Sistema de PedidosEDITORlibros entregadospedidosCLIENTErdenes de compralibros pedidos

Diagrama de contextoFlujos de datosLos nombres de los FD deben ser nicos, significativos y concisosSon datos, as que nmbralos como datos.Pueden estar indistintamente en singular o en plural, ya que en los DFDs no se representan cantidades (Barranco 95)Los nombres no sirven slo para identificar los datos, sino tambin la informacin que se tiene sobre ellosP.ej. Informacin (fecha-vlida) > Informacin (fecha)

Los Flujos de datos pueden tener lugar:Entre dos procesos

Entre un Proceso y un almacn de datos

Entre una entidad externa y un procesoPBPAXX1.Verificar validez de pedidopedidos vlidosD PEDIDOS PENDIENTES0. Sistema de Pedidoslibros entregadospedidosCLIENTEFlujos de datosFlujos de datos interactivos (dialog flows)Cuando dos FD establecen un dilogo o comparten una accin de estmulo-respuesta, pueden dibujarse como un nico FD de doble flecha, donde ambos extremos deben llevar el nombre del FD que representan.PDeterminar estado pedidorespuesta estado pedidopeticin estado pedidodenegacincrditoPAnalizarPeticincrditoPAceptar pagosolicitud crditoautorizacin crditorecibopagoDescomposicin funcionalCada proceso se puede explotar, refinar o descomponer en un DFD ms detalladoEl DFD de un sistema es realmente un conjunto de DFDs dispuestos jerrquicamenteLos niveles de la jerarqua estn determinados por la descomposicin funcional de los procesosLa raz de la jerarqua es el diagrama de contexto, que es el ms general de todosDescomposicin funcional (II)Pf5Pf4Pf3Pf2Pf1BZYXWVAPf45Pf44Pf43Pf42Pf41Zy2x2y1x1YXPSistBAFUENTEDESTINOConsistencia en el DFDCada proceso en un diagrama padre es una consolidacin del DFD hijoBalanceo de DFDsLas E/S de un proceso padre deben corresponderse con las E/S del DFD hijo que lo explica

Jerarqua de DFDsEn un DFD completo cada proceso tiene un nmero nico que lo identifica en funcin de su situacin en la jerarquaCada DFD tiene tambin un nmero nico que coincide con el proceso que describeLas hojas o nodos terminales corresponden a procesos primitivos o indescomponiblesPara cada proceso primitivo existir una miniespecificacin.LocalizacinProcesoProceso primitivo en Mtrica Jerarqua de DFDs (II)P 1.2Proceso ABAP 1.2.3f3P 1.2.1f1YWVAXP 1.2.2f2DFD 1.2Jerarqua de DFDsDFD 0El primer diagrama general que sigue al de contexto es el nmero 0 por convenioEn el DFD 0 se hace una descomposicin en subsistemas, es decir, se indican los procesos ms importantes en el sistema

Han de ser SUBSISTEMASDescomposicin funcional y almacenes de datosLos almacenes aparecen lo ms tarde posibleEn un nivel superior nicamente cuando son interfaz entre procesosUna vez que aparezca en un DFD, el almacn aparecer otra vez en cada DFD de nivel ms bajo relacionadoDescomposicin funcional y almacenes de datos (II)PBPADFICHPA.2PA.1DFICHPB.2PB.1DFICHIdeas tiles para construir el DFD (II)Nombrar adecuadamente todos los objetos del DFDNumerar adecuadamente procesos y diagramasRealizar una correcta divisin en subsistemas (DFD 0)Utilizar la descomposicin funcional jerrquica hasta alcanzar las funciones primitivas46Es un conjunto de metadatos, es decir, de informacin (datos) sobre datosContiene las definiciones de todos los elementos de los diagramasImplementacinManualProcesador de textosBase de datosAutomtico e integrado Diccionario de Datos

Diccionario de DatosNo slo se considera un catalogo de datos del sistema sino de flujos de datos, almacenes y procesos, guardando descripciones y detalles de todos estos elementos.Los analistas utilizan el diccionario entre otras finalidades para:Documentar las caractersticas del sistemaManejar detalles en grandes sistemasDar un significado comn para todos los elementos del sistemaLocalizar errores y omisionesMantenimiento del sistemaPreguntas que se hacen los analistas sobre los datosDnde se usa este elemento de datos?Qu mas hay que cambiar si lo modificamos?Cul ser el impacto general del cambio?EL DICCIONARIO DE DATOS CONTIENE DOS TIPOS DE DESCRIPCIONES PARA LOS FLUJOSDE DATOS DENTRO DEL SISTEMA: Elementos de datos y estructuras de datos.El nivel ms importante de datos es el elemento dato, bloque bsico e indivisible para todos los dems datos del sistemaUna estructura de datos es un grupo de datos elementales relacionados, que el sistema trata como un componente. Los flujos de datos y los almacenes de datos son estructuras de datos.DESCRIPCION DEL ELEMENTO DATO:Incluye entre otras informaciones, nombre, descripcin, alias o nombre alternativo, longitud y en aquellos procesos que lo necesiten valores permitidos.DESCRIPCION DE LAS ESTRUCTURAS DE DATOS:Se construyen sobre cuatro relaciones de componentes , que pueden ser a su vez elementos dato o estructuras de datos. Incluye nombre de la estructura, descripcin y el contenido (cuales son sus datos elementales y/o estructuras)DESCRIPCIN DE FLUJOS Y ALMACENES DE DATOS:Los flujos y almacenes de datos son estructuras de datos, una estaticas y otras dinmicas. Su descripcin se hace en base a esto, aadiendo otras caractersticas relevantes.Para el flujo: nombre del flujo, descripcin, viene de los procesos, va hacia los procesos, estructuras de datos.Para el almacn: nombre del almacn , descripcin, flujos recibidos, flujos proporcionados, descripcin de datos, tipo de accesoDESCRIPCIN DE PROCESOS:Se hace en base al resto de los componentes, en el momento en que se pueden considerarse como primitivas funcionales.Nombre del proceso, descripcin, entrada de datos, salida de datos, resumen de la lgica.

Notacin utilizada para la descripcinConstruccin de datosNotacinSignificadoAgregacin =Est compuesto deSecuencia +ySeleccin [ I ]Uno u otroRepeticin { } ( )*..*N repeticiones deDatos opcionalesDelimitadores de comentariosNotacin..Permite representar una composicin de datos en una de las tres alternativas fundamentales que pueden ser construidas:Como una secuencia de elementos de datos.Como una seleccin de entre un conjunto de elementos de datos.Como una agrupacin repetitiva de elementos de datos.Ejemplo:Nombre: nmero de telfonoAlias: FonoDonde se usa/cmo se usa: Comprobar con ajustes iniciales (salida)Marcar nmero (entrada)Descripcin:nmero de telfono = prefijo + nmero acceso.Prefijo= [*un nmero de cuatro dgitos que comience en 0 un nmero de cinco dgitos que comience por ()]Nmero de acceso= *secuencia numrica de cualquier tamao*Flujo de datos: entregaDescripcin: Conjunto de libros enviados por un proveedor a la biblioteca, basado en la relacin que previamente haba recibido.Sinnimos: *** none ***Componente de: *** none ***Composicin:Libros+ { Albarn }Informacin de entrada y salidaOrigenDestino*** Off the diagram ***Compra librosPROVEEDORESBibliotecaDiccionario de Datos

Diccionario de DatosAlmacen: FacturasDescripcin: Informacin, por nmero de factura, sobre facturas en el sistema actual.Sinnimos: *** none ***Composicin:@Nmero-factura+ Fecha-factura+ Direccin-cliente+ { Nmero-producto+ Cantidad-producto+ Costo-unidad-producto }+ Costo-envo+ Tasa-de-descuento+ Neto-factura+ Estado-facturaProcesos asociados: Segn DFD generalProc_cancelacinProc_pagoProc_consultasAdjuntar_albarn56Proceso: Verificar estado del socioNmero: 1.1.1 Descripcin: Se examina si el socio no est sancionadoMiniespecificacin:Recibir Socio ID del socioLeer SOCIOS paraLeer Flag-de-precaucinSi OK, enviar Socio ID vlido

Complejidad: Prioridad:Ratio de transacciones: Memoria requerida (Kb):Tiempo de proceso: Diccionario de Datos Proceso :Pseudocdigo.Tcnicas para describir la lgica de los procesos primitivosLenguaje estructuradoPre y post-condicionesTablas de decisinrboles de decisinSon una descripcin detallada de los procesos asociados al DFD de ltimo nivel

Lgica de Proceso. Mini especificacionesSe debe evitar:Descripciones confusasAmbiguedadesExceso de papelEspecificaciones pobres o sobreespecificacionesDebe contar con:ClaridadConcisa y completaLgica y no fsicaDebe especificar el Qu y no el CmoRelacin armnica con los dems objetos del diseo estructuradoLenguaje estructuradoSI la factura excede de 300SI la cuenta del cliente tiene alguna factura sin pagar ms de 60 das, dejar la confirmacin pendiente de este pago.SI NO (la cuenta est en buen estado) hacer confirmacin y facturaSI NO (la factura es de 300 o menos)SI la cuenta del cliente tiene alguna factura sin pagar ms de 60 das hacer la confirmacin, la factura y escribir un mensaje sobre informe de crditoSI NO (la cuenta est en buen estado)hacer confirmacin y facturaFIN-SI.

Pre y post-condicionesPre1 (la factura excede de 300) Y (la cuenta del cliente tiene alguna factura sin pagar ms de 60 das)Pos1 (confirmacin pendiente de este pago)

Pre2 (la factura excede de 300) o (la cuenta del cliente no tiene ninguna factura sin pagar ms de 60 das)Pos2 (confirmacin y factura realizadas)

Pre3 (la factura no excede de 300) Y (la cuenta del cliente tiene alguna factura sin pagar ms de 60 das)Pos3 (confirmacin y factura realizadas) Y (mensaje impreso sobre informe de crdito)

Pre4 (la factura no excede de 300) Y (la cuenta del cliente no tiene ninguna factura sin pagar ms de 60 das)Pos4 (confirmacin y factura realizadas)

Tablas de decisinrboles de decisinPoltica contableFactura excede de 300Factura menos de 300Cuentas impagadas ms de 60 dasCuentas en buen estadoCuentas impagadas ms de 60 dasCuentas en buen estado1. Dejar confirmacin pendiente de los pagos debidos.2. Hacer confirmacin y factura3. Hacer confirmacin y factura y escribir mensaje sobre informe de crdito4. Hacer confirmacin y facturaAdaptado del captulo 2 de Gane, C. and T. Sarson, Anlisis estructurado de sistemas. 1990, Buenos Aires: El Ateneo.Sistema de distribucin sin inventarioSe trata de un sistema que sirve pedidos de libros a unos clientes, con la particularidad de que no mantiene un stock o inventario interno. El sistema puede agrupar los pedidos que clientes distintos hacen a un mismo editor, de manera que se puedan conseguir descuentos.Ejemplo DFDDiagrama de contextoAnlisis de los procesos del sistemaen principio, no son materiales, son datos0. Sistema de PedidosEDITORlibros entregadospedidosCLIENTErdenes de compralibros pedidos Aplicamos la visin sistmica0. Sistema de pedidos 1.Verificar validez de pedidopedidos2.Armar pedidos a editorespedidos en lote3.Verificarenvode editoreslibros pedidos4.Asignar libros a pedidos5.Armar entrega a clientespedidos por ttulolibros recibidoslibros por clientesD CLIENTESestado del crditodireccinD LIBROSlibros entregadoslibros entregados = albarn + lista-novedades DD DDlibros recibidos = {ttulo + cantidad}pedidos vlidosD PEDIDOS PENDIENTESrdenes de compraD RDENES DE COMPRA Ejemplo Prctico

ESTADO DE LA CUENTACORRECTOIMPAGADOCORRECTOIMPAGADO

NETO-FACTURA>300>300