jueves, 19 de marzo de 2009

1.5 Requerimientos de un sistema

Haz clic en las siguientes ligas:

y contesta lo siguiente:
¿que es un requerimiento?
¿Cuáles son los Requerimientos en ingeniería de software y sistemas?
¿Cuáles son sus características?
¿Cómo se obtiene la información?

1 comentario:

  1. ¿que es un requerimiento? En la ingeniería de sistemas, un requerimiento es una necesidad documentada sobre el contenido, forma o funcionalidad de un producto o servicio. Se usa en un sentido formal en la ingeniería de sistemas o la ingeniería de software.
    En la ingeniería clásica, los requerimientos se utilizan como datos de entrada en la etapa de diseño del producto. Establecen QUÉ debe hacer el sistema, pero NO CÓMO hacerlo.
    La fase del desarrollo de requerimientos puede estar precedida por una fase de análisis conceptual del proyecto. Esta fase puede dividirse en recolección de requerimientos de los inversores, análisis de consistencia e integridad, definición en términos descriptivos para los desarrolladores y un esbozo de especificación, previo al diseño completo.


    ¿Cuáles son los Requerimientos en ingeniería de software y sistemas? En la actualidad, son muchos los procesos de desarrollo de software que existen. Con el pasar de los años, la Ingeniería de Software ha introducido y popularizado una serie de estándares para medir y certificar la calidad, tanto del sistema a desarrollar, como del proceso de desarrollo en sí. Se han publicado muchos libros y artículos relacionados con este tema, con el modelado de procesos del negocio y la reingeniería. Un número creciente de herramientas automatizadas han surgido para ayudar a definir y aplicar un proceso de desarrollo de software efectivo. Hoy en día la economía global depende más de sistemas automatizados que en épocas pasadas; esto ha llevado a los equipos de desarrollo a enfrentarse con una nueva década de procesos y estándares de calidad.
    Sin embargo, ¿cómo explicamos la alta incidencia de fallos en los proyectos de software? ¿Por qué existen tantos proyectos de software víctimas de retrasos, presupuestos sobregirados y con problemas de calidad? ¿Cómo podemos tener una producción o una economía de calidad, cuando nuestras actividades diarias dependen de la calidad del sistema?
    Tal vez suene ilógico pero, a pesar de los avances que ha dado la tecnología, aún existen procesos de producción informales, parciales y en algunos casos no confiables.
    La Ingeniería de Requerimientos cumple un papel primordial en el proceso de producción de software, ya que enfoca un área fundamental: la definición de lo que se desea producir. Su principal tarea consiste en la generación de especificaciones correctas que describan con claridad, sin ambigüedades, en forma consistente y compacta, el comportamiento del sistema; de esta manera, se pretende minimizar los problemas relacionados al desarrollo de sistemas.
    La razón principal para escoger este tema se fundamentó en la gran cantidad de proyectos de software que no llegan a cumplir sus objetivos. En nuestro país somos partícipes de este problema a diario, en donde se ha vuelto común la compra de sistemas extranjeros, para luego "personalizarlos" supuestamente a la medida de las empresas.
    Tal "personalización", la mayoría de las veces, termina retrasando el proyecto en meses, o incluso en años. La problemática del año 2000 trajo como consecuencia una serie de cambios apresurados en los sistemas existentes; cambios que, desde mi punto de vista, no fueron bien planificados.
    El reemplazo de plataformas y tecnologías obsoletas, la compra de sistemas completamente nuevos, las modificaciones de todos o de casi todos los programas que 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 el ciclo de vida de desarrollo, entre estos, la definición de los requerimientos.
    Estudios realizados muestran que más del 53% de los proyectos de software fracasan por no realizar un estudio previo de requisitos. Otros factores como falta de participación del usuario, requerimientos incompletos y el cambio a los requerimientos, también ocupan sitiales altos en los motivos de fracasos.


    ¿Cuáles son sus características? Las características de un requerimiento son sus propiedades principales. Un conjunto de requerimientos en estado de madurez, deben presentar una serie de características tanto individualmente como en grupo. A continuación se presentan las más importantes.
    Necesario: Un requerimiento es necesario si su omisión provoca una deficiencia en el sistema a construir, y además su capacidad, características físicas o factor de calidad no pueden ser reemplazados por otras capacidades del producto o del proceso.
    Conciso: Un requerimiento es conciso si es fácil de leer y entender. Su redacción debe ser simple y clara para aquellos que vayan a consultarlo en un futuro.
    Completo: Un requerimiento está completo si no necesita ampliar detalles en su redacción, es decir, si se proporciona la información suficiente para su comprensión.
    Consistente: Un requerimiento es consistente si no es contradictorio con otro requerimiento.
    No ambiguo: Un requerimiento no es ambiguo cuando tiene una sola interpretación. El lenguaje usado en su definición, no debe causar confusiones al lector.
    Verificable: Un requerimiento es verificable cuando puede ser cuantificado de manera que permita hacer uso de los siguientes métodos de verificación: inspección, análisis, demostración o pruebas.

    ¿Cómo se obtiene la información? Libros
    Senn, James A. "Análisis y Diseño de Sistemas de Información". Segunda Edición. McGraw Hill. 1992.
    Fowler, Martín. "UML Gota a Gota". Primera edición. Addison Wesley Longman. 1999.
    Publicaciones de diferentes Universidades encontradas en el Web
    Brackett, Jhon W. "Software Requirements". Software Engineering Institute Education Program – Carnegie Mellon University.
    1990.
    Saiedian, H.; Dale, R. "Requirements Engineering: Making the connection between the software developer and customer". Department of Computer Science – University of Nebraska. 1999.
    Oberg, Roger; Probasco Leslee; Ericsson, Maria. "Applying Requirements Management with Use Cases". Rational Software Corporation. 1998.
    Hofmann, Hubert. "Requirements Engineering". Institute for Informatics – University of Zurich. 1993.
    Object Management Group. "OMG Unified Modeling Language Specification". 1999.
    Malan, Ruth. "Functional Requirements and Use Cases". Hewlette-Packard Company. 1999.
    International Council of Systems Engineering. "INSIGTH – Requirements Sharing the Vision". Volumen 4. INCOSE. 2000.
    Direcciones electrónicas sobre este tema
    IEEE Task Force on Requirements Engineering. http://www.shu.ac.uk/tfre/web.links.html
    Software Engineering Resources by Roger S. Pressman & Associates Inc. http://www.rspa.com/spi/index.html
    Lista de publicaciones de un grupo de Ingeniería de Software. http://www.soi.city.ac.uk/~gespan/sw_group_pub.html
    Publicaciones de Elsevier Science. http://www.elsevier.nl/

    ResponderEliminar