Beruflich Dokumente
Kultur Dokumente
La implantacin en produccin
El soporte operativo
Introduccin.
Muchos de los problemas encontrados en el desarrollo de software se generan debido a la falta de claridad en la recoleccin de documentacin y a la pobre tarea de recoleccin y validacin de los requerimientos entregados por los que finalmente sern usuarios. Por tanto es necesario tener en cuenta que los requerimientos son el punto clave para marcar la diferencia entre el xito y fracaso de los proyectos de desarrollo de software.
Tenga en cuenta.
El Superproceso de levantamiento y administracin de requerimientos debe considerar como premisa inicial que el usuario no sabe lo que quiere. Por lo tanto se deben desarrollar organizacionalmente personas, procesos y tecnologa para apoyar esta condicin.
Definicin de Requisitos
El *IEEE, en su Standard Glossary of Software Engineering Terminology define un requerimiento como: Condicin o capacidad que tiene que ser alcanzada o poseda por un sistema o por uno de sus componentes para satisfacer un requerimiento, un contrato, un estndar, una especificacin u otro documento impuesto formalmente.
*The Institute of Electrical and Electronics Engineers, fundado en 1884, entre sus fundadores estn: Thomas Alva Edison, Alexander Graham Bell y Frankiln Leonard Pope.
Niveles de Requisitos
REQUISITOS DE NEGOCIO
REQUISITOS DE USUARIO
Requierements levels
Requisitos Funcionales
Especifican la funcionalidad del software que los desarrolladores deben construir en el producto para posibilitar a los usuarios a completar sus tareas y que a su vez satisfagan los requerimientos de negocio. Algunas veces los requerimientos Funcionales son llamados de comportamiento y normalmente se escriben con la tradicional sentencia DEBER. Un ejemplo de un requerimientos funcional es: El sistema deber enviar va e-mail la confirmacin de la reserva al usuario
Requerimientos de Negocio
Representan los objetivos de alto nivel de la organizacin o del cliente que requiere el sistema. Los requerimientos de negocio tpicamente provienen del patrocinador principal del proyecto, el cliente, el administrador de los usuarios o el departamento de mercadotecnia. En algunos casos se manejan documentos independientes para el levantamiento de los requerimientos de negocio y en otros casos hacen parte de un nico documento que define todas las solicitudes de los usuarios. Lo que es claro es que los requerimientos de negocio se basan en la visin y alcance de la compaa, y de esta manera se orienta el software esperado.
Requerimientos de Usuario
Describen los objetivos del usuario o tareas que los usuarios deben ser capaces de ejecutar con el producto. Las formas mas comunes de representar requerimientos de usuario incluyen: - Casos de Uso - Descripcin de Escenarios - Tablas Evento Respuesta. Los requerimientos de usuario describen entonces que es lo que el usuario es capaz de hacer con el sistema , por ejemplo Hacer una reserva de una aerolnea a travs de una pgina web
Requisitos No Funcionales
Estos requerimientos son adicionales a los requerimientos funcionales que debe cumplir el sistema y corresponden a aspectos tales como la disponibilidad, mantenibilidad, flexibilidad, seguridad, escalabilidad, modificabilidad, usabilidad (facilidad de uso), etc. Los requerimientos no funcionales debern ser detallados an ms durante la fase de diseo, por el proveedor que realizar el diseo y construccin del Sistema de Informacin.
Reglas de Negocio
Incluyen polticas corporativas, regulaciones de gobierno, estndares industriales, prcticas contables y algoritmos computacionales. Estas Reglas no son en si requerimientos de software!!! ya que estas existen fuera de los lmites de cualquier especificacin de un sistema de software. Ejemplo de reglas de negocio: "Un cliente al que facturamos ms de 10.000 al ao es un cliente de tipo A", "A los clientes de tipo A les aplicamos un descuento del 10% en pedidos superiores a 3.000.
Identificacin de Requerimientos
Se debe dar respuesta a las siguientes preguntas:
Cul es el proceso bsico de la empresa? Qu datos utiliza o produce este proceso?
Identificacin de Controles
Examinar los mtodos de control: Existen estndares especfico de desempeo? Quin se encarga de comparar el desempeo contra los estndares? Cmo se detectan los errores? Cmo se corrigen los errores? Se cometen demasiados errores?
Requerimientos de las Transacciones de los Usuarios Lista de preguntas para obtener una descripcin apropiada del sistema:
Volumen Cul es el volumen de actividades que se presentan? Con que frecuencia ocurren las actividades? Ocurren las actividades de acuerdo con un ciclo? Control Qu reas necesitan un control especifico? Cules son los mtodos de control utilizados? Qu criterios se emplean para medir y evaluar el desempeo? Qu mtodos se emplean para detectar lagunas en los controles? Se toman precauciones especificas de seguridad para proteccin contra una actividad impropia? Existen mtodos para evadir el sistema? Por qu se presentan? Procesos Qu procesos, pasos o funciones constituyen esta actividad? Qu es lo que da inicio a la actividad? Cunto tiempo tarda cada actividad?Qu factores intervienen en la duracin de la actividad? Qu retrasos ocurren o pueden ocurrir? Cmo interactan los elementos entre s? Cul es el costo de la operacin del sistema? Se satisfacen los objetivos especficos de la gerencia?
Qu informacin se utiliza para tomar la decisin? Cul es la fuente de esta informacin? Qu sistemas de transacciones producen los datos utilizados en el proceso de decisin? Qu otros datos son necesarios y no es posible obtener el procesamiento de transacciones? Qu datos se originan en fuentes externas a la organizacin? Cmo se deben procesar los datos para producir la informacin necesaria? Cmo debe presentarse la informacin?
Roles
Dentro del proceso de Levantamiento y anlisis de requerimientos surgen dos roles bsicos y vitales para la evolucin exitosa de dicho proceso: 1. Cliente 2. Ingeniero de Requerimientos (IR) Cliente es un individuo u organizacin de quien derivan directa o indirectamente necesidades para ser cubiertas en un producto de tipo software.
En el argot de proyectos dentro del grupo de clientes se encuentran los stakeholders quienes : solicitan, pagan, seleccionan, especifican, usan y reciben una salida generada por el software.
El IR
El IR es el individuo que tiene la responsabilidad principal de: Definir los requerimientos de negocio, usuarios y funcionales. Identificar stakeholders del proyecto y clases de usuarios. Obtencin de requerimientos. Analizar los requerimientos. Escribir especificaciones de requerimientos. Modelar los requerimientos. Validar los requerimientos. Identificar la prioridad de los requerimientos. Las necesidades de los stakeholders del proyecto. El IR es un rol de proyecto, no necesariamente un titulo de trabajo.
EL IR
Es importante tener en cuenta que no todo el mundo tiene la capacidad para asumir el rol de IR, dentro de las habilidades con que se debe contar estn: Paciencia para escuchar Entrevistar e Interrogar. Capacidad de anlisis. Observacin. Facilidad de expresin oral y escrita. Organizacin. Metodologa. Relaciones interpersonales.
COMPETENCIAS Orientacin de servicio al cliente, Solucin de problemas, Comunicacin, Gestin Efectiva, Efectividad en el trabajo, Toma de desiciones, Trabajo en equipo, Desarrollo de personal, Iniciativa, Liderazgo, Enfoque de resultados, Administracin y evaluacin de proyectos y recursos.
EL IR
HABILIDADES Pensamiento convergente, Pensamiento divergente, Pensamiento Sistmico, Lectura de compresin, Abstraccin, Anlisis, Sntesis, Crtica.
CONOCIMIENTOS Negocio (dominio de la aplicacin o en su defecto del modelo de negocio), Tecnologas de informacin, Factor humano, Modelado de negocios, Ingeniera de requerimientos, Ingeniera de software y tecnologa.
EL IR
ENFOQUE AL CLIENTE: Las organizaciones dependen de sus Clientes y por lo tanto deberan comprender las necesidades actuales y futuras de los Clientes, satisfacer los requisitos de los Clientes y esforzarse en exceder las expectativas de los mismos. LIDERAZGO: Los lideres establecen la unidad de propsito y la orientacin de la organizacin. Ellos deberan crear y mantener un ambiente interno, en el cual el personal pueda llegar a involucrarse totalmente en el logro de los objetivos de la organizacin.
EL IR
PARTICIPACIN DEL PERSONAL: El personal a todos los niveles, es la esencia de una organizacin y su total compromiso posibilita que sus habilidades sean usadas para el beneficio de la organizacin.
EL IR
ENFOQUE BASADO EN HECHOS PARA LA TOMA DE DECISIONES: Las decisiones eficaces se basan en el anlisis de los datos y la informacin.
EL IR
ENFOQUE BASADO EN PROCESOS: Un resultado deseado se alcanza ms eficientemente cuando las actividades y los recursos relacionados se gestionan como un proceso y cuando se conocen en detalle los procesos que generan la necesidad (requieren mejoras, innovacin).
Resultados
Productos excelentes de software son resultado de una buena ejecucin basada en excelentes requerimientos. Los requerimientos de alta calidad son resultado de : Buena comunicacin, Colaboracin eficaz y ante todo Sociedad entre el IR y el Cliente.
Trminos y Definiciones
LA CADENA DE SUMINISTRO
Conjunto de personas e instalaciones con una disposicin de responsabilidades, autoridades y relaciones
ORGANIZACIN
Proveedor
Organizacin o persona que proporciona un producto
Cliente
Servicio
Material
PRODUCTO
Entradas
(Incluye los recursos)
PROCESO
Conjunto de actividades mutuamente relacionadas o que interactan que transforman elementos de entrada en resultados
Salidas
PRODUCTO
Resultado de un proceso
Lmites de funciones
Procesos
VS.
Despliegue de procesos
Entrada
Proceso
Suministro de agua potable
Salida
Produccin
Distribucin
Comercializacin
Ventas e instalacin
Facturacin
Cobranzas
Atencin reclamos
Administracin de medidores
Tenga en cuenta:
Las organizaciones son tan eficientes como lo son sus procesos... .... y un proceso es tan fuerte como su actividad ms dbil
Conclusin..
De acuerdo a lo analizado como tareas de un IR y a lo definido como caractersticas del levantamiento de requerimientos podemos concluir que bsicamente se puede generar la siguiente subdivisin: Levantamiento Anlisis Especificacin Verificacin
Cada etapa deber contar con tcnicas claras, estndares, mtodos y herramientas que permitan madurar los pasos del proyecto.
Desarrollo de requerimientos
EXCELENTES REQUERIMIENTOS
VALIDACION
METODO DE ESPECIFICACION DE REQUERIMIENTOS TECNICAS DE IDENTIFICACION DE REQUERIMIENTOS METODOS DE DOCUMENTACION HERRAMIENTAS Y ESTANDAR
Necesarios
Cada R/R debera documentar algo que el usuario Realmente necesita. Algo que es requerido por un estndar, por variables externas indispensables, o por movimientos del mercado y del negocio. Es necesario aquel R/R que forma parte de un contrato firmado y establecido. Una manera de identificar R/R necesario, es si la fuente del R/R viene de una fuente con autoridad para especificarlos. Al revisar un R/R, navegue hacia atrs hacia la fuente y valide si son o no necesarios.
No Ambiguos
Un R/R es no ambiguo si todos los lectores del requerimiento pueden llegar a una simple y consistente interpretacin igual del mismo. Escribir los R/R en lenguaje natural, y no en trminos computacionales, ayuda que un requerimiento pueda ser interpretado y entendido sin ambigedades. Una forma efectiva para revelar ambigedad es hacer revisiones de los documentos, diagramas, casos de uso, desarrollar prototipos, pintar borradores de interfaces y revisar escenarios de cada uno de ellos. EJEMPLO: Se requiere implementar una funcionalidad que permita gestionar las facturas electrnicas de los clientes.
Verificables
Trate de aplicar mtodos formales, para realizar pruebas que confirmen que el R/R est correctamente especificado. Se puede utilizar, soportes, libros, documentos legales, para verificar el requerimiento. EJEMPLO:La resolucin 3878 del 28 de Junio de 1996 plantea frente los Reportes de Control Fiscal que: las personas que utilicen para el registro de sus bienes o prestacin de servicios, sistema P.O.S o factura por computador, debern imprimir al final del da, el comprobante informe diario por cada servidor.
Completos
R/R mal especificados, podran esconder informacin que no es fcil de detectar. Puede ayudar a no tener R/R incompletos, enfocarse en conocer las tareas del usuario y no sesgarse en las funciones de un sistema. Si usted sabe que tiene informacin que falta algo por conocer, utilice estrategia de marcas o banderas, lo cual generen tareas pendientes por determinar. EJEMPLO : Se requiere contar con una funcionalidad en la cual el rea de soporte tcnico pueda realizar un proceso automtico de restauracin de facturas electrnicas
Correctos
Cada R/R especifica una funcionalidad o condicin que debe contener el software No podemos contar con interpretaciones incorrectas de funcionalidades a implantar El punto de referencia para validar si un R/R es correcto o no, es la fuente del mismo, el usuario directamente, o la documentacin de alto nivel que origin el R/R pueden determinar si el requerimiento es correcto o no. Por ello, es esencial incluir a los usuarios durante el proceso de revisin de los R/R.
Viables
Es mas fcil implementar R/R cuando se conocen limitaciones tcnicas, la capacidad, y las condiciones del ambiente que rodea el proyecto. Para detectar requerimientos NO VIABLES es importante incluir dentro del equipo de anlisis de requerimientos un miembro de la parte tcnica o de ingeniera, as como un miembro del dominio del producto o mercado. Este tipo de personas, pueden ayudar a determinar de una manera real, que es posible tcnicamente o no, o que es excesivamente costoso de implementar.
EJEMPLO: Se requiere almacenar las facturas electrnicas por un periodo de 10 aos , 1 ao para consultar en lnea y 9 aos en medios magnticos.
Priorizables
Si todos los R/R, tienen el mismo nivel de prioridad, hay una mala identificacin y especificacin de R/R. Cada R/R o un conjunto de ellos debe poderse distribuir en los diferentes cortes, fases de liberacin de software o producto. Si todos los R/R son de alta prioridad, el equipo de desarrollo no tendr facilidad para incluir o modificar nuevos R/R durante la etapa de desarrollo. EJEMPLO: Particin entregables. por Fases o
Consistentes
Si un R/R tiene conflicto con otro requerimiento de software, este R/R o ambos tiene problemas en la especificacin. Los R/R deben estar acordes con las reglas del negocio y con las variables externas que afectan el dominio del negocio. EJEMPLO: Se hace necesario el manejo de un identificador nico por cada archivo plano, tanto en los archivos recibidos como en los generados por la aplicacin.
Tips
A continuacin se muestra una lista de tips utilizables como guas, para los procesos de anlisis y especificacin de requerimientos y requisitos. Estos tips, pueden ser utilizados por el ingeniero analista, consultor, o en general la persona que realiza levantamiento, anlisis y validacin de requerimientos y requisitos. Consisten en revisar las caractersticas que definen los requerimientos y aplicar estrategias.
Si continua siendo ambiguo desde su punto de vista Valdelo con miembros del dominio, diferentes a la fuente. Si continua siendo ambiguo desde su punto de vista Arme un grupo heterogneo de discusin de ambigedades
En ...<requerimiento>... Se expone ... <necesidad, condicin, restriccin>... Hasta donde podramos delimitar ...<idea por completar>...?
Si considera, que an despus de validaciones y consultas el requerimiento no est completo Asigne tareas al usuario donde entregue formalmente resultados
Si considera o intuye que no est correcto Disee y desarrolle una encuesta de respuestas en opcin excluyentes, que valide cual es el concepto correcto para un parte especfica del problema
Que implicacin tcnica tendra ..<planteamiento inicial de R/R>... Para lograr ...<resultado esperado en el R/R>?
Si considera no viable el requerimiento y an as no ha podido llegar a acuerdo con el usuario Justifique y demuestre la complicacin en trminos econmicos
Si an no consigue llegar a un nivel de priorizacin razonable y alcanzable con el cliente Escale en: Nivel organizacional o Conocimiento del dominio. Y trate de definir la priorizacin a este nivel.
Redaccin de Requerimientos.
Vital para entendimiento Buena redaccin, facilita interpretacin Redaccin estndar, facilita comprensin La redaccin cumple un papel principal en la etapa de validacin de requerimientos. La consistencia en redaccin agiliza todos los procesos con los requerimientos (Todos los requerimientos tienen el mismo estilo de redaccin)
Recomendaciones
Se recomienda que en forma narrativa se plasme en un documento lo que el usuario en trminos de necesidades exprese, posteriormente analice el documento tratando de segmentarlo en posibles requerimientos. Extraiga sentencia que contienen palabra deber o debe
Busque en cada documento aquellas sentencias que tiene la palabra deber o debe.
El sistema en el mdulo de ventas debe ofrecer una opcin mediante la cual el usuario pueda ver una
Mas tips..
Mantenga sentencias y prrafos CORTOS Escriba sentencias completas, con una apropiada gramtica, ortografa y puntuacin Asegrese de que el proyecto tenga definido un glosario La y o la pueden implicar requerimientos compuestos. Utilice siempre trminos consistentes y definidos en el glosario Para reducir ambigedades evite trminos subjetivos como: Amigable,