Metodología de Desarrollo de Software
Enviado por parejoabel • 19 de Julio de 2012 • 1.516 Palabras (7 Páginas) • 546 Visitas
¿Qué es una Metodología de Desarrollo de Software?
Es un proceso organizado para la producción de software. Especifica el ciclo de vida a utilizar, indicando además qué personas deben desempeñar cada rol en el desarrollo de las actividades. Consiste en una serie de pasos sistemáticos para que los diferentes grupos que participan en un desarrollo posean una buena comunicación.
El modelo de ciclo de vida para el desarrollo de software, nos dice el orden en que se realizaran las diferentes etapas (espiral/cascada) y lo que hay que obtener en cada una de ellas a lo largo del desarrollo del proyecto. Un proceso de desarrollo de software es un conjunto de actividades necesarias para transformar los requerimientos del usuario en un sistema software.
Una etapa son los diferentes pasos a seguir durante el desarrollo del software. Determinado orden de estos pasos se los conoce como ciclo de vida.
Ejemplo captura de requerimientos, análisis del problema, diseño, implementación, testing, mantenimiento.
Un rol, es el papel que debe desempeñar una persona en el desarrollo del software, como por ejemplo analista, diseñador, programador, tester, etc.
Un modelo/diagrama, es un lenguaje visual que se aplica en cada etapa del ciclo de vida. Permite para visualizar, especificar, construir y documentar. El tipo de metodología va a depender del sistema que se quiere implementar.
Hoy en día existen distintas metodologías que fueron surgiendo de acuerdo a la evolución de los lenguajes de programación:
➢ Orientados a DATO/FUNCION (ASML, A System Modeling Language).
➢ Orientados a OBJETOS (UML/RUP, Unified Modeling Language/ Rational
Unified Process).
➢ FORMALES (B/Z/Object Z).
➢ Métodos Ágiles.
Para desarrollar proyectos grandes y complejos es necesario seguir una metodología. Si un proyecto involucra más de tres personas, nos sería útil para una buena comunicación y buen desempeño a lo largo de todo el proyecto.
Características de la metodología orientada a objetos:
➢ Énfasis en la abstracción de datos.
➢ Funciones y datos encapsulados en entidades fuertemente relacionadas.
➢ Facilidades de mantenimiento y extensión.
➢ Mapeo directo a entidades del mundo real.
Modelos de ciclo de vida:
Modelo en cascada: En un principio fue mucha utilidad, pero el problema es que para pasar de una etapa a la otra había que terminar la primera, produciendo un gran inconveniente si algún cambio era requerido.
Modelo en espiral: Está basado en el modelo en cascada. Su desarrollo es incremental. Procesa pequeñas partes de cada etapa, lo que nos permite solucionar problemas que surjan de manera más económica.
Etapas que comprenden los modelos de ciclo de vida
➢ Captura de requerimientos: el propósito es dejar bien en claro cuál es la necesidad del cliente y los requerimientos.
➢ Análisis: es la captura de requerimientos en el lenguaje del desarrollador. Llevar el lenguaje natural del cliente a un lenguaje formal.
➢ Diseño: se modela una 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: se implementa el sistema en el lenguaje elegido.
➢ Testing: se prueba que el sistema funcione correctamente (verificación) y que, además, sea el sistema correcto (validación).
➢ Mantenimiento: es la etapa más difícil de desarrollo del sistema, actualiza y modifica el sistema si surgen nuevos requerimientos. A la hora de elegir un modelo de ciclo de vida, influyen factores como el tiempo, tamaño del proyecto, comunicación con el cliente, comunicación con el grupo de desarrollo, etc.
Unified Modeling Language (UML)
¿Qué es UML?
UML es un lenguaje de modelado estándar para escribir planos de software.
Puede utilizarse para visualizar, especificar, construir y documentar los artefactos de un sistema con gran cantidad de software.
Proporciona un conjunto de diagramas que me permite modelar los diferentes aspectos del sistema y su principal objetivo es la comunicación de información.
Características principales:
➢ Es independiente del proceso, aunque para utilizarlo óptimamente se debería usar en un proceso que fuese dirigido por los casos de uso, centrado en la arquitectura, iterativo e incremental.
➢ El vocabulario y las reglas de un lenguaje como UML indican cómo crear y leer modelos bien formados, pero no dice que modelos se deben crear ni cuando se deberían crear. Esta tarea corresponde al proceso de desarrollo del software.
➢ Detrás de cada símbolo en la notación de UML hay una semántica bien definida, de esta manera un desarrollador puede escribir un modelo en
UML, y otro desarrollador o incluso otra herramienta, puede interpretar ese modelo sin ambigüedad.
➢ UML está pensado principalmente para sistemas con gran cantidad de software.
➢ No está limitado al modelado de software.
Diagramas
...