Flowchart
Metodologías de desarrollo de software

Diagrama de flujo: Metodologías de desarrollo de software
Flowchart content
METODOLOGÍAS DE DESARROLLO DE SOFTWARE
Es el conjunto de métodos que interpretan la disciplina que se requiere para elaborar software mediante procesos de ingeniería.
Nacen a través de varios modelos de ciclo de vida de software, y describen como se organiza un proyecto, organizando las actividades a realizar, estableciendo como se tienen que realizar las futuras tareas, proporcionando herramientas concretas.
Para ello se necesita:
Mejores aplicaciones
Mejor proceso de desarrollo
Establecer un proceso estándar en una organización
Resumiendo, se puede definir metodología de Ingeniería del Software como:
Un proceso para producir software de forma organizada, empleando una colección de técnicas y convenciones de notación predefinidas[Rumbaugh et al., 1991]
Elaborado por: Danilo Hernández
Los objetivos de las metodologías son:
-Establecer los requisitos de un sistema software de una forma acertada
-Establecer los requisitos de un sistema software de una forma acertada
-Construir un sistema software dentro de un tiempo apropiado y unos costes aceptables
-Construir un sistema que esté bien documentado y que sea fácil de mantener
-Ayudar a identificar, lo antes posible, cualquier cambio que sea necesario realizar dentro del proceso de desarrollo
-Proporcionar un sistema que satisfaga a todas las personas afectadas por el mismo
Clasificación de la metodologías
Estructuradas
Orientadas a procesos
Orientadas a datos
Orientadas a estados y transiciones
Orientadas al diseño del conocimiento
Orientadas a objetos
Orientadas al desarrollo de sistemas hipermediales
Basadas en métodos formales
Características deseables en una metodología
Una metodología debe cubrir [Henderson-Sellers y Firesmith, 1999]
Un proceso de ciclo de vida completo, que comprenda aspectos tanto del negocio como técnicos
Un conjunto completo de conceptos y modelos que sean internamente consistentes
Una colección de reglas y guías
Una descripción completa de artefactos a desarrollar
Una notación con la que trabajar, idealmente soportada por diversas herramientas CASE y diseñada para una usabilidad óptima
Un conjunto de técnicas probadas
Un conjunto de métricas, junto con asesoramiento sobre calidad, estándares y estrategias de pruebaIdentificación de los roles organizacionalesGuías para la gestión de proyectos y aseguramiento de la calidad
Asesoramiento para la gestión de bibliotecas y reutilización
Metodologías estructuradas
Metodologías orientadas a estados y transiciones
Metodologías Orientadas al diseño del conocimiento
Metodologías Orientadas a objetos
Metodologías Orientadas al desarrollo de sistemas hipermediales
Metodologías Basadas en métodos formales
Metodologías orientadas a procesos
Metodologías orientadas a datos
Proponen la creación de modelos del sistema que representan los procesos, los flujos y la estructura de los datos de una manera descendente
Se pasa de una visión general del problema, nivel de abstracción alto, a un nivel de abstracción sencillo
Esta visión se puede enfocar :
Hacia un punto de vista funcional del sistema
Metodologías orientadas a procesos
Hacia la estructura de datos
Metodologías orientadas a datos
La Ingeniería del Software se fundamenta en el modelo básico entrada/proceso/salida de un sistema
Estas metodologías se enfocan fundamentalmente en la parte de proceso
Utilizan un enfoque de descomposición descendente para evaluar los procesos del espacio del problema y los flujos de datos con los que están conectados
Este tipo de metodologías se desarrolló a lo largo de los años 70
Representantes de este grupo son las metodologías de análisis y diseño estructurado como:
Merise [Tardieu et al., 1986]
YSM(Yourdon Systems Method) [Yourdon Inc., 1993]
SSADM (Structured Systems Analysis and Design Method) [Ashworth y Goodland, 1990]
METRICA v.2.1[MAP, 1995]
METRICA v3.0 (Parcialmente) [MAP, 2001]
Estas metodologías se centran más la parte de entrada/salida
Las actividades de análisis comienzan evaluando en primer lugar los datos y sus interrelaciones para determinar la arquitectura de datos subyacente
Cuando esta arquitectura está definida, se definen las salidas a producir y los procesos y entradas necesarios para obtenerlas
Representantes
JSP(Jackson Structured Programming) [Jackson, 1975]
JSD(Jackson Structured Design) [Jackson, 1983]
LCP(Logical Construction Program) [Warnier, 1974]
DESD(Desarrollo de Sistemas Estructurados de Datos), también conocido como metodologíaWarnier-Orr[Orr, 1977]
Están dirigidas a la especificación de
Sistemas en tiempo real
Sistemas que tienen que reaccionar continuamente a estímulos internos y externos (eventos o sucesos)
Representantes
Extensiones de las metodologías de análisis y diseño estructurado de Ward y Mellor(1985) y de Hatley y Pirbhai(1987)
Aproximación que se encuentra aún en una fase temprana de desarrollo
Utiliza técnicas y conceptos de Inteligencia Artificial para especificar y generar sistemas de información
Representantes
KADS(Knowledge Acquisition and Development Systems) [Wielinga et al., 1991]
IDEAL[Gómez et al., 1998]
Se fundamentan en la integración de los dos aspectos de los sistemas de información: datos y procesos
En este paradigma un sistema se concibe como un conjunto de objetos que se comunican entre sí mediante mensajes
El objeto encapsula datos y operaciones
Este enfoque permite un modelado más natural del mundo real y facilita enormemente la reutilización del software
Las metodologías orientadas a objetos acortan la distancia existente entre el espacio de conceptos (lo que los expertos o usuarios conocen) y el espacio de diseño e implementación
Gran cantidad de representantes
Metodologías dirigidas por los datos
OMT(Object Modeling Technique) [Rumbaugh et al., 1991]
Fusion[Coleman et al., 1994]
Metodologías dirigidas por las responsabilidades
RDD(Responsibility Driven Design) [Wirfs-Brock et al., 1990]
OBA(Object Behavior Analysis) [Rubin y Goldberg, 1992]
Metodologías dirigidas por los casos de uso
Objectory[Jacobson et al., 1992]
ProcesoUnificado[Jacobson et al., 1999]
Metodologías dirigidas por estados
MetodologíadeShlaery Mellor[Shlaer y Mellor, 1992]
Pretenden sistematizar la creación de aplicaciones Web dentro de un proceso de creación de software bien definido
Muchas de estas aproximaciones adolecen de tratar de forma separada los aspectos hipermediales de los meramente funcionales
Esto dificulta el afrontar el problema del desarrollo de aplicaciones Web dentro de un contexto uniforme
No obstante, salvando estas soluciones parciales, se tiene ampliamente asumido que los sitios Web tradicionales están evolucionando de meros almacenes de información hipermedia a aplicaciones hipermedia distribuidas, comúnmente denominadas aplicaciones Web[Baresi et al., 2000]
Se han definido diversas propuestas metodológicas para la construcción de aplicaciones Web
Proponen diferentes pasos y actividades
Algunas se centran sólo en el diseño o en la representación visual, mientras que otras cubren todo el proceso de desarrollo de una aplicación Web
Todas prescriben diferentes técnicas y notaciones
Algunas están soportados por herramientas
Representantes
HDM(Hypermedia Design Model) [Garzotto et al., 1993]
HFPM(Hypermedia Flexible Process Modeling) [Olsina, 1998]
OOHDM(Object-Oriented Hypermedia Design Method) [Rossi, 1996]
OOH-Method[Gómez et al., 2000]
OOWS(Object-Oriented Web-Solutions) [Pastor et al., 2001a]
WSDN (Web Site Design Method) [De Troyer y Leune, 1997]
Implican una revolución en los procedimientos de desarrollo, ya que a diferencia de todas las anteriores
Se basan en teorías matemáticas que permiten una verdadera aproximación científica y rigurosa al desarrollo de sistemas de información y software asociado
Representantes
OO-Method[Pastor et al., 2001b
Métodos ágiles
Las aproximaciones ágiles emplean procesos técnicos y de gestión que continuamente se adaptan y se ajustan a [Turk et al., 2002]
Cambios derivados de las experiencias ganadas durante el desarrollo
Cambios en los requisitos
Cambios en el entorno de desarrollo
La agilidad en el desarrollo del software no significa únicamente poner en el mercado o en explotación los productos software más rápidamente
Esto choca frontalmente con los modelos de procesos tradicionales que son monolíticos y lentos, centrados en una única iteración o ciclo de larga duración
Diversas aproximaciones
XP (eXtreme Programming) [Beck, 2000], que ha originado toda una corriente de desarrollo extremo
Information
- Description
- Flowchart on Untitled, created by DANILO ALBERTO HERNANDEZ NAVARRETE on 09/08/2022.
- Created by
- DANILO ALBERTO HERNANDEZ NAVARRETE
- Views
- 1
- Rating
More on Ciclo de vida y modelos de desarrollo de software