Monografias.com > Administración y Finanzas > Recursos Humanos
Descargar Imprimir Comentar Ver trabajos relacionados

Herramientas y metodologías de análisis y diseño estructurado




Enviado por Gerardo



Partes: 1, 2, 3, 4, 5

    Monografias.com

    Introducción
    1
    Herramientas y Metodologías
    de Análisis y Diseño Estructurado

    Apunte de la Cátedra Metodologías de Desarrollo de Software I
    Claudia Marcos – Edgardo Belloni

    Revisión Abril 1999: Carlos Rodríguez, Marcos Rossi, Maximiliano Suárez, Verónica Targiano
    Revisión Marzo 2000: Maximiliano Suárez
    Revisión Abril 2003: Vanesa Dell’acqua, Gastón Martini

    Introducción

    El desarrollo de sistemas pequeños, en la cual participan una o dos personas, es una tarea
    simple. Los cambios naturales que surgen durante el ciclo de desarrollo del sistema no producen
    una gran propagación de cambios en el sistema. Sin embargo, si el sistema es grande y en su desa-
    rrollo participan varios grupos de personas desarrollando una tarea específica, hay que tener en
    cuenta no solo la comunicación con el usuario sino también la inter-relación entre los distintos gru-
    pos de trabajo.
    Algunos de los problemas comunes que los desarrolladores encuentran en la construcción de
    software de cierta complejidad son los siguientes:
    P
    P
    P
    P
    El dominio de aplicación no es conocido.
    La comunicación con el usuario.
    La comunicación con el grupo de desarrollo.
    La carencia de buena documentación.
    Por esta razón, es necesario seguir una serie de pasos sistemáticos para que los diferentes gru-
    pos de desarrollo posean una buena comunicación. Estos pasos son brindados por los modelos de
    ciclo de vida, los cuales están constituidos por diferentes etapas:
    Especificación de requerimientos: Se realizan entrevistas con el usuario identificando los
    requerimientos y necesidades del usuario.
    Análisis: Modela los requerimientos del usuario.
    Diseño: Se modela la solución del sistema, teniendo en cuenta el ambiente de implementación
    a utilizar, por ejemplo, si el sistema es centralizado o distribuido, la base de datos a utilizar,
    lenguaje de programación, performance deseada, etc.
    Implementación: Dado el lenguaje de programación elegido se implementa el sistema.
    Testeo: En esta etapa se verifica y valida el sistema teniendo en cuenta algunos criterios de-
    terminados por el grupo correspondiente.
    Mantenimiento: Es la etapa más difícil de desarrollo del sistema, actualiza y modifica el sis-
    tema si surgen nuevos requerimientos.
    Existen varios métodos para describir el ciclo de vida de un sistema, uno de ellos es el desa-
    rrollo estructurado en cascada (Fig. 1).

    Monografias.com

    2
    Introducción
    P
    P
    P
    los métodos y herramientas utilizadas en cada actividad
    los controles requeridos, paralelismo en las actividades
    las salidas de cada etapa
    Análisis
    Diseño
    Implementación
    Código
    Cómo?
    Especificación de
    Requerimientos

    Qué?
    Testeo

    Mantenimiento

    Fig. 1: Modelo de Ciclo de Vida en Cascada

    En un principio fue de gran utilidad pero el problema es que para pasar de una etapa a la otra
    había que terminar la primera, produciendo un gran problema si algún cambio era requerido. La
    etapa de Mantenimiento consumía el 80% del costo de producción.
    Debido a los nuevos requerimientos en el desarrollo de software, surgieron muchos otros mo-
    delos que trataban de solucionar los problemas existentes, que se basaron en el modelo en Cascada.
    Por ejemplo, el Modelo en Espiral, en el cual el sistema se desarrolla incrementalmente (Fig. 2).
    Los modelos propuestos poseen básicamente las mismas etapas, pero varían en:
    Análisis
    No es aconsejable elegir un modelo y seguirlo al detalle sino que se debe adaptar a las carac-
    terísticas del proyecto que esta siendo desarrollado.
    Los métodos de desarrollo de software pueden dividirse en dos grupos: función/dato y orien-
    tados a objetos.

    Diseño
    Implementación
    Test

    Fig. 2: Modelo de Ciclo de Vida en Espiral

    Monografias.com

    Introducción
    3
    Orientado a Función/Dato
    P Énfasis en la transformación de datos.
    P Funciones y datos tratados como entidades separadas.

    P Difícil de entender y modificar.
    Orientado a Objetos
    P Énfasis en la abstracción de datos.
    P Funciones y datos encapsulados en entidades
    fuertemente relacionadas.
    P Facilidades de mantenimiento.
    P Funciones, usualmente, dependientes de la estructura de P Mapeo directo a entidades del mundo real.
    los datos.

    Orientado a Función/Dato: Aquellos métodos en los cuales las funciones y/o los datos son
    tratados como entidades independientes. Estos sistemas resultan difíciles de mantener. El mayor
    problema es que las funciones generalmente dependen de la estructura de los datos. A menudo dife-
    rentes tipos de datos tienen distintos formatos y se necesita verificar el tipo del dato (con sentencias
    If-Then o CASE), produciendo programas difíciles de leer y modificar. Si se desea hacer alguna
    modificación en la estructura de los datos se debe modificar en todos los lugares donde es utilizado.
    Otro problema es que una persona no piensa naturalmente en términos de una estructura. La
    especificación de requerimientos se hace en lenguaje común, se especifica la funcionalidad que de-
    be tener el sistema y no en cómo se deben estructurar los datos.
    Orientado a Objetos: Son aquellos métodos en los cuales datos y funciones están altamente
    relacionados. El énfasis está centrado en la abstracción de datos. Se piensa en forma natural, los
    objetos son mapeados a entidades del mundo real. Los programas son fácilmente mantenibles y
    extensibles por medio de la construcción de subclases.
    Varios métodos de desarrollo de software han sido propuestos para cada uno de estos grupo,
    algunos de los cuales son descriptos en la Fig. 3.
    Donde:
    SADT:
    RDD:
    SA/SD:
    OOSE:
    OOA:
    OMT:
    UP:
    Catalysis:
    Structured Analysis and Design Technique
    Requirement Driven Design
    Structured Analysis and Structured Design
    Object-Oriented Software Engineering
    Object-Oriented Analysis
    Object Modeling Technique
    Unified Process
    Catálisis
    [Ross85]
    [Alf

    Partes: 1, 2, 3, 4, 5

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter