Las metodologías de desarrollo de software son conjuntos de pasos y procedimientos para desarrollar software. Se clasifican en estructuradas, orientadas a procesos, orientadas a datos, mixtas, no estructuradas y orientadas a objetos. Las estructuradas se basan en dividir el proyecto en etapas y definir tareas, restricciones, técnicas y herramientas para cada etapa, mientras que las orientadas a objetos se enfocan en modelar el dominio del problema como objetos que interactúan.
2. Definición
Una metodología de desarrollo de
software es un conjunto de pasos y
procedimientos que deben seguirse
para desarrollar software. Una
metodología está compuesta por:
3. • Cómo dividir un proyecto en etapas.
• Qué tareas se llevan a cabo en cada etapa.
• Qué restricciones deben aplicarse.
• Qué técnicas y herramientas se emplean.
• Cómo se controla y gestiona un proyecto.
4. Clasificación de las
metodologías
Las metodologías se clasifican de la siguiente forma:
• Estructuradas.
• Orientadas a procesos
• Orientadas a datos
• Mixtas
• No estructuradas.
• Orientadas a objetos
• Sistemas de tiempo real
6. Metodologías estructuradas
Se basan en la forma top-down
1. Metodologías orientadas a procesos
La ingeniería del software se basa en el modelo básico de
entrada/proceso/salida de un sistema. Está compuesta por:
• Diagrama de flujo de datos (DFD).
• Diccionario de datos.
• Especificaciones de proceso.
• Ejemplos: metodologías de DeMarco, Gene y Sarson, Yourdon.
7. Metodología de DeMarco:
Es un Análisis Estructurado, creado por Tom DeMarco.
Consta de los pasos siguientes pasos:
• Estudio del entorno físico actual: modelo del sistema actual con sus procedimientos. A
través de un conjunto de DFD
• Derivación del correspondiente modelo lógico actual: modelo derivado del anterior sin
connotación física.
• Derivación del nuevo modelo lógico: tomar en cuenta las nuevas necesidades. Formado por
un DFD, diccionario de datos y especificaciones de proceso del sistema.
• Crear un conjunto de modelos físicos alternativos: del modelo lógico se establecen
alternativas se enoje el más conveniente.
• Valorar cada opción: costos y beneficios de los modelos físicos.
• Seleccionar una opción: selecciona modelo físico
• Empaquetar la especificación: se recopila toda la documentación.
8. Metodología de Gane y
Sarson:
• Es el resultado de varios años de práctica en consultoría de
análisis y diseño estructurado.
• Creado por la empresa MCAUTO/IST bajo el nombre de
STRADIS SDM.
• Es parecido al de DEMARCO, la principal diferencia es que hay
una etapa en la que se define los contenidos de los almacenes
de datos que aparecen en DFD en 3FN.
9. Metodología de Yourdon /
Constantine
Consta de las siguientes fases
• realizar los DFD del sistema
• Realizar el diagrama de estructuras a partir del DFD, mediante
análisis de transformación, y análisis de transacción.
• Evaluación del diseño midiendo la calidad de la estructura
mediante el acoplamiento y cohesión
• preparación del diseño para la implementación dividiéndola
en Unidades. Físicas o cuadernos de carga.
10. La ingeniería del software está fundamentada sobre el modelo básico de
entrada/proceso/salida de un sistema. Los datos se introducen en el
sistema y el sistema responde ante ellos transformándolos para obtener
las salidas.
Una especificación estructurada es un modelo gráfico, particionado,
descendente y jerárquico de los procesos del sistema y de los datos
utilizados por los procesos.
Estas metodologías enfocan el criterio de descomposición que emplean
al concepto de Proceso.
• Las herramientas asociadas a estas metodologías son:
• Diagramas de flujo de datos. (DFD).
• Diagramas de Entidad-Relación. (Definición de almacenes de datos
para el DFD).
• Diccionario de datos.
• Descripciones funcionales.
• Lenguaje natural estructurado.
• Tablas de decisión.
11. Diagramas de flujos de datos
(DFD).
Son diagramas que representan los
procesos (funciones) que debe
llevar a cabo un sistema a distintos
niveles de abstracción y los datos
que fluyen entre los procesos. Los
procesos más complejos se
descomponen en nuevos diagramas
hasta llegar a los procesos sencillos.
Es la técnica más importante del
análisis estructurado, y se emplea
en todas las metodologías de
análisis y diseño estructurados.
12. Diagrama de entidad-
relación.
Se construye a partir del
texto de los requerimientos.
Esta formado por:
entidades, relaciones,
atributos.
13. Diccionario de
datos.
Es el conjunto de las
definiciones de todos los
datos que aparecen en el
DFD, tanto almacenados
como en los flujos de datos,
incluido el propio
diccionario.
14. Teoría de Lenguajes Formales.
Los datos compuestos se definen en
función de sus componentes.
Para composición de datos se usan
como mecanismos: la secuencia, la
selección y la agrupación repetida
(multiconjunto).
15. 2. Metodologías orientadas a datos
También llamadas metodologías “dirigidas por los datos”.
Estas metodologías toman como base la idea de que los datos, además
de fluir y tener un contenido, tienen una estructura. Así, el criterio de
descomposición es la estructura de datos.
Los datos constituyen el corazón del sistema de información, son más
estables que los proceso que actúan sobre ellos. El estudio de los
procesos viene derivado de una definición inicial de los datos (modelo
de datos) constituido por el conjunto de entidades de datos básicas y
las interrelaciones entre ellas.
16. Características comunes a estas metodologías:
• Se identifican entidades y procesos.
• Se presupone una estructura jerárquica en los datos. (Si no lo
es, se fuerza el método).
• Se representa la estructura de los datos usando la secuencia,
la selección y la repetición.
• Se definen métodos para transformar una estructura de datos
jerárquica en una estructura de programa.
17. Defectos de las metodologías estructuradas.
• No dan respuesta fácil a cambios en el dominio del problema.
• Son inadecuadas para dominios de problemas de naturaleza
concurrente y de tiempo real.
• No ofrecen medidas para garantizar el principio de ocultación
de información.
19. Metodologías orientadas a objetos.
Cobra mucha más importancia el aspecto de modelado del sistema, examinando el dominio del
problema como un conjunto de objetos que interactúan entre sí. Tenemos dos enfoques en las
metodologías orientadas al objeto:
Revolucionarios o puros: que entienden la orientación al objeto como un cambio profundo que
convierten a las metodologías estructuradas en obsoletas.
Sintetistas o evolutivos: que piensan que el análisis y diseño estructurado constituyen la base
para el desarrollo orientado al objeto, pudiéndose combinar elementos del análisis y diseño
estructurado con los de orientación a l objeto.
20. Sistemas en tiempo real
Son sistemas muy dependientes del tiempo que procesan
información orientada al control. Controlan y son controlados por
eventos externos. Se caracterizan porque:
• Se lleva a cabo el proceso de muchas actividades de forma
simultanea.
• Se asignan prioridades a determinados procesos.
• Se interrumpe una tarea antes de que concluya, para
comenzar otra de mayor prioridad.
• Existe comunicación entre tareas.
• Existe acceso simultáneo a datos comunes.
21. Para especificarlos requisitosde estos sistemas
hay que incluir nuevosconceptospara:
• El manejo de interrupciones.
• La comunicación y sincronización entre tareas.
• Gestionar procesos concurrentes.
• Dar respuesta oportuna y a tiempo ante eventos externos.
• Datos continuos o discretos.