METODOLOGÍAS DEL DESARROLLO DEL SOFTWARE
METODOLOGÍAS ESTRUCTURADAS
La metodología de desarrollo lo que pretende es resolver un problema o necesidad, y paraello parte de la petición del cliente y con sucesivas fases obtiene una solución informática.
Ya vimos que en las metodologías estructuradas se realiza una aproximación a la resolución del
problema descendente. estas metodologías proponen la creación de modelos que representen los procesos o acciones a realizar, los flujos de información y las estructuras de datos necesarias para almacenar la información.
El modelo general que representa a un sistema informático consta de
Entrada-Proceso-Salida. Los datos se introducen en el sistema, el cual los
procesa para obtener unos resultados a la salida.
METODOLOGÍAS ESTRUCTURADAS ORIENTADAS A PROCESOS
Estas metodologías orientadas a procesos estudian cómo son transformados los flujos de datos por losprocesos, desde la entrada hasta la salida. Por tanto, hacen más hincapié en los procesos que en los
datos.
¿Cómo vamos a analizar estos flujos de información?
Estas representaciones gráficas son acompañadas por documentos de texto desarrollando lo que se
denomina especificación estructurada.
La especificación estructurada incluye estas técnicas:
• Diagramas de Flujo de Datos (DFD): son una
representación gráfica que representa los procesos que
debe llevar a cabo el sistema informático y los datos que
hay a la entrada y salida de cada proceso.
• Diccionario de Datos (DD): son las descripciones de todos los datos del sistema y de los elementos
que aparecen en el DFD.
• Especificaciones de procesos: es la descripción detallada de los procesos.
CONSTA DE LAS SIGUIENTES FACES:
1. Fase de planificación inicial.
2. Fase de análisis:
• Descripción del modelo físico actual: se trata de describir el sistema actual del cliente que
podrá estar informatizado.
• Elaboración del modelo lógico actual: realiza un nuevo modelo que no dependa de elementos físicos.
FACES DEL DISEÑO:
• Desarrollo de un nuevo modelo lógico: introduce nuevas necesidades del cliente y elaborar un modelo lógico alternativo que resuelva los problemas del cliente y satisfaga sus requisitos.
• Elaboración de un conjunto de modelos físicos: a partir del modelo lógico se incluyen los
detalles físicos de la empresa.
• Estimación de los costes y tiempos de cada opción del modelo físico.
• Selección de un modelo en función de los intereses del cliente.
• Recopilación del modelo elegido en un documento de especificación que permita su
posterior implementación en la empresa.
4. Fase de codificación: mediante la programación estructurada.
5. Resto de fases: incluye las fases de prueba, control y mantenimiento.
METODOLOGÍAS ESTRUCTURADAS ORIENTADAS A DATOS
Dentro del modelo básico Entrada-Proceso-Salida, estas metodologías se centran en el estudio de losdatos a la entrada y de los resultados a la salida. Para ello definen cómo son esos datos, los agrupan
en estructuras de datos, y posteriormente describen los procesos.
¿TODAS LAS ESTRUCTURAS DE DATOS SON IGUALES?
No exactamente, por eso, en función de cómo sean esas estructuras de datos, podemos clasificar a estas: Metodologías en orientadas a datos jerárquicos y orientadas a datos no jerárquicos.
METODOLOGÍAS ESTRUCTURADAS ORIENTADAS A DATOS JERÁRQUICOS
Es la estructura de control del programa que se deriva del estudio de los datos también es jerárquica. Esto significa que hay una relación de jerarquía entre los datos y pueden ser representados mediante árboles.
Una estructura de datos jerárquica sería la representación del árbol genealógico de una familia.
En esta metodología, el procedimiento a seguir consiste en definir primero
las estructuras de los datos de entrada y salida .
METODOLOGÍAS ESTRUCTURADAS ORIENTADAS A DATOS NO JERÁRQUICOS
En esta metodología se analizan los datos para crear un modelo que integre las entidades y las relaciones entre ellas. Estas entidades
representan los elementos de la organización, por ejemplo una entidad
podría ser un proveedor de la empresa.
METODOLOGÍAS ORIENTADAS A OBJETOS: RUP
Es el Proceso Unificado (RUP) que utiliza las técnicas proporcionadas por el Lenguaje
de Modelado Unificado (UML). RUP ha unificado distintas metodologías y técnicas en una sola
metodología.
RUP constituye la metodología estándar más utilizada para el análisis, implementación y
documentación de sistemas orientados a objetos.
Sus principales características son:
• Forma disciplinada de asignar y organizar tareas.
• Desarrollo iterativo e incremental.
• Proporciona mecanismos de gestión del proyecto.
• Facilita la gestión de requisitos a través de un proceso completo.
• Centrada en la arquitectura para buscar su robustez con un producto.
• Basada en componentes reutilizables.
• Modelado visual del software utilizando el estándar UML.
• Resulta fácil dividir el sistema en varios subsistemas independientes.
• Facilita el control de cambios a lo largo de todo el proceso.
• Permite la verificación de la calidad del software a través de diferentes mecanismos.
• Adaptable a cualquier tipo de proyecto y organización independientemente.
Hemos indicado que RUP asigna y organiza disciplinadamente las tareas, para ello define estos
elementos:
• Perfiles o roles de las personas y entidades implicadas (quién).
• Actividades que guían el proceso (cómo).
• Artefactos o productos intermedios a obtener (qué).
• Flujos de trabajo: indican la secuencia de actividades y los procedimientos a seguir (cuándo).
DESARROLLO Y INGENIERIA INCLUYE:
Modelado de Negocio: describe la estructura y dinámica del negocio.
Requisitos: descripción de las necesidades del negocio mediante casos de uso.
Análisis y Diseño: describe la arquitectura de software mediante distintos modelos.
Implementación: desarrollo del software según el diseño y cumpliendo los requisitos.
Pruebas: para asegurar que el comportamiento es correcto y satisface las necesidades.
Implantación: puesta en marcha y configuración del sistema.
DESARROLLO DE AYUDA Y APOYO INCLUYEN:
Configuración y gestión de cambios: controla los productos intermedios.
Administración del proyecto: establece estrategias de trabajo, horarios y recursos.
Entorno: para controlar la infraestructura ligada al desarrollo del proyecto.
LAS FACES O ETAPAS DEL DESARROLLO SON:
• Fase de Inicio: El objetivo es estudiar la viabilidad del proyecto.
• Fase de Elaboración: El objetivo es determinar la arquitectura óptima.
• Fase de Construcción: El objetivo es la elaboración de un producto totalmente operativo y
eficiente y el manual de usuario.
• Fase de Transición: El objetivo es implantar el producto y ponerlo a disposición de los usuarios.
MODELO CON OBJETOS UML
Hemos dicho que RUP utiliza UML como técnica de modelado de los objetos, pero ¿en qué consisteUML?
El Lenguaje Unificado de Modelado (UML) consiste en un conjunto de notaciones y diagramas estándar para modelar sistemas orientados a objetos.
UML es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de software.
Podemos clasificar estos diagramas en:
• Diagramas de estructura: describen los elementos del sistema. Incluye:
Diagrama de clases.
Diagrama de componentes.
Diagrama de objetos.
• Diagramas de comportamiento: indican lo que deben hacer los elementos del sistema, para lo
que incluye:
Diagrama de actividades.
Diagrama de casos de uso.
Diagrama de estados.
• Diagramas de Interacción: indican el flujo de control y de datos entre los elementos del sistema,
para lo que utiliza:
Diagrama de secuencia.
Diagrama de comunicaciones.
Diagrama de tiempos.
METODOLOGÍAS PARA SISTEMAS EN TIEMPO REAL
Un sistema informático que debe captar señales en este caso del radar y de los sistemas de
comunicación de los aviones sin perder ninguna y que debe contestar a las mismas antes de un
determinado momento, es un sistema de tiempo real.
En estos sistemas la velocidad de respuesta es fundamental porque el usuario, en este caso el controlador aéreo y el piloto, no pueden esperar.
Para desarrollar estos sistemas será necesario disponer de metodologías de desarrollo del software que permitan especificar este tipo de situaciones de tiempo real y las posibles soluciones. ¿Qué incluirán estas metodologías?
Deberán establecer mecanismos para modelar sistemas que:
• Controlen la comunicación y sincronización entre tareas.
• Gestionen los procesos concurrentes que se ejecutan en paralelo.
• Respondan ante eventos externos como puede ser una nueva señal.
• Reciban datos y señales continuas que no pueden perderse.
• Interrumpan los procesos.
METODOLOGÍAS DE DESARROLLO AGIL
Algunos desarrolladores creen que las metodologías tradicionales generan demasiada burocracia yexigen demasiado esfuerzo.
Exige calidad, coste e innovación, sino también rapidez y flexibilidad. En este contexto, el mercado
necesita ciclos de desarrollo más cortos.
Para solucionar estos problemas se han propuesto una serie de principios y valores que aligeren la carga de las metodologías tradicionales.
Con el desarrollo de estas ideas y conceptos han aparecido un nuevo tipo de metodologías que se denominan de desarrollo ágil. consideran que el desarrollo ágil no constituye realmente una nueva metodología, sino un conjunto de recomendaciones y principios aplicables a las metodologías tradicionales para hacerlas más flexibles, rápidas y adaptables.
Las metodologías ágiles se basan en el trabajo en equipo y pretenden:
• Centrarse en el desarrollo y en satisfacer al cliente.
• Mejorar las predicciones y previsiones para cumplir plazos y ajustarse a los recursos.
• Eliminar riesgos .
• Disminuir costes.
Las metodologías ágiles están basadas fundamentalmente en:
metodologías orientadas a objetos, algunas de las más utilizadas son:
Programación Extrema (XP), Scrum (Schwaber y Beedle 2001), o Rational
Unified Process (RUP).
Desarrollo ágil: programación extrema.
La Programación extrema (eXtreme Programming XP) se trata de un proceso ágil de desarrollo de
software formulado por Kent Beck (1999).Es una de las metodologías de desarrollo de software más
exitosas en la actualidad, utilizada en proyectos de corto plazo, con equipo pequeño y que requieren
flexibilidad.
La metodología consiste en:
• Un desarrollo incremental.
• Dar mayor valor al individuo
• Los principios y prácticas que propone son de sentido común.
La programación extrema fue creada pensando en las siguientes
circunstancias:
• Proyectos en contextos de incertidumbre,
• Proyectos con alto riesgo.
• Proyectos con un grupo pequeño de desarrolladores.
Las características fundamentales del método de programación extrema son:
• Desarrollo iterativo e incremental
• Pruebas continúas
• Programación por parejas
• Buen ambiente de trabajo
• Frecuente comunicación
• Corrección de todos los errores
• Refactorización del código
• Propiedad del código compartida
• Simplicidad
• Reutilización del código
El ciclo de vida ideal de XP consiste de seis fases:
• Exploración de las necesidades.
• Planificación de la entrega con estimaciones.
• Iteraciones de desarrollo.
• Implantación del producto.
• Mantenimiento del producto implantado.
• Muerte o abandono del proyecto.
En las iteraciones se siguen estos pasos:
• El cliente define sus necesidades.
• El programador estima el esfuerzo necesario para su implementación.
• El cliente selecciona qué desarrollar.
• El desarrollador realiza lo solicitado.
• planificación (planning).
• diseño (designing).
• codificación (coding).
• pruebas (testing).
METODOLOGÍAS DE LA ADMINISTRACIÓN EUROPEA
Desarrollan aplicaciones software, ¿qué metodologíautilizarán? ¿Sería conveniente disponer de una metodología estándar para toda la administraciónpública?
Con la intención de estandarizar los diferentes proyectos informáticos que utilizaban y desarrollaban diferentes administraciones del mismo país, los organismos públicos Comenzaron a desarrollar a finales de los años 70 y principios de los 80, metodologías de desarrollo software basadas en el método estructurado.
SSADM la española Métrica, y el Eurométodo propuesto por la Unión Europea para dar homogeneidad a
los proyectos ligados a su organización.
MERISE
El proyecto Merise nace en 1977 dentro del centro CTI (Centre Technique d’Information) perteneciente al Ministerio de Industria Francés. Su objetivo era desarrollar una metodología de desarrollo del software.
SSADM
En 1980 el gobierno británico plantea la necesidad de crear una metodología para unificar y
estandarizar los proyectos de software de las distintas administraciones. Así se desarrolló, entre el
Central Computing and Telecommunications Agency (CCTA) y Learmonth and Burchett Management
Systems (LBMS), la metodología SSADM (Structures Systems Analysis and Design Method).
EUROMETODO
Las metodologías de desarrollo de software, que las empresas y administraciones públicas pueden utilizar en función de sus intereses y necesidades. Cada método aporta su estructura con unas particularidades determinadas. Cuando una empresa privada o un organismo público pretenden adquirir un sistema de información informático debe establecerse una buena colaboración y relación de entendimiento entre el proveedor y el cliente.

No hay comentarios:
Publicar un comentario