Enfoques de desarrollo Semana 4 – Sistemas de Información I
¿Enfoque de desarrollo? Un enfoque de desarrollo tiene como misión especificar claramente todos los detalles asociados al sistema que se desea desarrollar.
Distintos enfoques utilizados Enfoque estructurado Enfoque Orientado a Objetos Enfoque Orientado a Aspectos
Enfoque estructurado Orientado a los procesos. Datos separados de los procesos que las transforman. Mayor importancia a la descomposición funcional del sistema.
Elementos del enfoque estructurado Diagramas de flujos de datos Diccionarios de datos Miniespecificaciones
Diagramas de flujo
Diccionario de datos
Miniespecificación por árbol
Enfoque orientado a objetos Identificar objetos del dominio de la aplicación. Establecer procedimientos que manejen los objetos. Software OO se mantiene mejor ante cambios en los requerimientos.
Enfoque orientado a aspectos Fundamentado en los principios básicos de modularidad y la separación de intereses (aspectos) Centra su aplicación en el tratamiento de intereses transversales (crosscutting concerns) por ejemplo autenticación, rendimiento, manejo de memoria, auditoria, sincronización de procesos concurrentes, manejo de errores, etc.
Enfoque orientado a objeto aplicado a un sistema de información Abstracción que modela el mundo de forma de apoyar a su entendimiento y diseño. Han ido sustituyendo a los enfoques clásicos de desarrollo de software. Lleva a la reutilización y por ende al desarrollo de software más rápido y de mejor calidad.
Enfoque orientado a objeto aplicado a un sistema de información Es más fácil de mantener debido a su poco acoplamiento. Menores efectos adversos a los cambios. Menor frustración para los especialistas y los clientes. Más simples de adaptar y escalar.
Conceptos de OO Objeto Clase Método Abstracción Mensajes Encapsulamiento Polimorfismo Herencia
Ventaja de la OO Mantenibilidad (facilidad de mantenimiento) Modificabilidad (facilidad para modificar los programas) Reusabilidad Fiabilidad