DESARROLLO DE SOFTWARES | METODOS ESTRUCTURADORS | METODOS ORIENTADOS A OBJETOS | METODOS FORMALES |
DEFINICION | Forma sistemática de elaborar modelos de un sistema existente o de un sistema que se tiene que ser construido | Desarrollo de aplicaciones usando modelos basados en conceptos del mundo real
| Son técnicas matemáticas, a menudo soportadas por herramientas, para el desarrollo de sistemas software y hardware. Su rigor matemático le permite a los ingenieros analizar y verificar sus modelos en cualquier parte del ciclo de vida del desarrollo |
PRINCIPIOS | - Restar importancia a los modelos físicos y lógicos actuales.
- Los cambios organizativos afectan al proyecto.
- Emplea diagramas para describir el movimiento y procesamiento de datos
| - Organización del software como una colección discreta de objetos que incorporan datos (atributos) y comportamiento (operaciones o procedimientos)
- Los objetos se comunican a través del paso de mensajes. El objeto receptor del mensaje ejecuta una acción (operación) (Martin, 1995)
- Modelo objeto: abstracción, encapsulación, jerarquía, modularidad, polimorfismo...
(Jacobson, 1987) | - Las políticas de los requisitos
- La especificación
- Las pruebas entre la especificación y los requisitos
- Las pruebas entre el código fuente y la especificación
- Las pruebas correspondientes entre el código máquina y el código fuente.
- Describen propiedades del sistema
- Proporcionan marcos de referencia para especificarlo, desarrollarlo y verificarlo de forma sistemática.
- Posee una base matemática estable. Normalmente soportada por un lenguaje de especificación formal.
- Define de forma precisa, nociones como consistencia y completitud.
|
VENTAJAS | - Proporcionan un marco para el modelado detallado de sistemas como parte de la elicitación y análisis de requerimientos.
- Tienen su propio conjunto de reglas y guías que aplican a dichos modelos
- Soportan la edición de modelos y generan código y documentación
| - Metodología abierta, abierta para el dominio público. (CONCEPTOS DE LA METODOLOGÍA ORIENTADA A OBJETOS, s.f.)
- Evolución para adaptarse a todas las necesidades actuales y futuras de la ingeniería de software.
- Metodología Madura y eficiente
- Es posible tener múltiples copias de un objeto que coexisten sin ninguna interferencia.
- Es posible transformar objetos del dominio del problema a otros en los programas.
- Es fácil dividir el trabajo de un proyecto basado en objetos.
- El enfoque del diseño centrado en los datos nos permite capturar más detalles de un modelo de forma que se puedan implementar.
- Código Reutilizable.
- Mejores métodos y notación.
- Ciclo más corto de análisis diseño y programación.
- Incorpora ideas de IA, modelado de datos, TI, computación
| - Al utilizar notaciones y lenguajes formales es posible estructurar claramente los requisitos de un sistema
- Proporcionan un medio para examinar simbólica y completamente el diseño digital.
|
DESVENTAJAS | - No proporcionan un soporte efectivo para la comprensión o el modelado de requerimientos del sistema no funcionales
- No discriminan en tanto que normalmente no incluyen guías de usuario
- Generan demasiada documentación
- Los modelos son demasiado detalladas por lo que los usuarios los encuentran difíciles de entender.
| - Análisis y toma de requerimientos complejo
- UML no es un método de desarrollo
- Es independiente al ciclo de desarrollo
- No se presta con facilidad al diseño de sistemas distribuidos.
| - Uso complejo y especializado
- No es permisible para implementaciones que no puedan ser validadas con exactitud por estos métodos.
|
TECNICAS | - Diagrama entidad relación
- Diagrama de Flujo de Datos
| - Diagrama de clases
- Diagrama de componentes
- Diagrama de estructura compuesta
- Diagrama de paquetes
- Diagrama de despliegue
- Diagrama de objetos
| - Lógica de primer orden y teoría de conjuntos.
- Algebra y especificación ecuacional
- Redes de Petri
- Lógica temporal
|