ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Herramientas y Metodologías de Análisis y Diseño Estructurado


Enviado por   •  25 de Noviembre de 2014  •  Síntesis  •  3.708 Palabras (15 Páginas)  •  162 Visitas

Página 1 de 15

Herramientas y Metodologías de Análisis y Diseño Estructurado

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 desarrollo 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 grupos de trabajo.

Algunos de los problemas comunes que los desarrolladores encuentran en la construcción de software de cierta complejidad son los siguientes:

• 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 grupos 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 o Prueba: En esta etapa se verifica y valida el sistema teniendo en cuenta algunos criterios determinados por el grupo correspondiente.

Mantenimiento: Es la etapa más difícil de desarrollo del sistema, actualiza y modifica el sistema si surgen nuevos requerimientos.

Existen varios métodos para describir el ciclo de vida de un sistema, uno de ellos es el desarrollo estructurado en Cascada (fig. 1).

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 modelos que trataban de solucionar los problemas existentes, los cuales 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:

• los métodos y herramientas utilizadas en cada actividad,

• los controles requeridos, paralelismo en las actividades y

• en las salidas de cada etapa.

No es aconsejable elegir un modelo y seguirlo al detalle sino que se debe adaptar a las características del proyecto que esta siendo desarrollado.

Los métodos de desarrollo de software pueden dividirse en dos grupos: función/dato y orientados a objetos.

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 diferentes 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 debe 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: Structured Analysis and Design Technique [Ross85]

RDD: Requirement Driven Design [Alford85]

SA/SD: Structured Analysis and Structured Design

[Yourdon&Constantine79]

OOSE: Object-Oriented Software Engineering [Jacobson94]

OOA: Object-Oriented Analysis [Goldberg]

OMT: Object Modelling Technique [Rumbaugh93]

UP: Unified Process [Booch&Jacobson&Rumbaugh98]

Catalysis: Catalysis [D’Souza98]

Los Modelos del Sistema – Enfoque Estructurado

La siguiente figura describe todos los modelos desarrollados durante el ciclo de desarrollo de un sistema, basándose en el enfoque estructurado. Abarca las actividades de Análisis y Diseño. La actividad de análisis se construye el Modelo Esencial, en tanto la actividad de diseño construye el Modelo de Implementación.

Los Modelos del Análisis

El Modelo Esencial

Puede ser considerado como la aplicación de la metodología de Análisis EstructuradoModerno de Yourdon.

...

Descargar como (para miembros actualizados)  txt (25.9 Kb)  
Leer 14 páginas más »
Disponible sólo en Clubensayos.com