Descargar

Principios de diseño de software ágiles

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red Estructura

    Introducción Objetivos Análisis de los principios Conclusiones

    edu.red Introducción

    El problema de los cambios en el software Gran diversidad de soluciones Se necesita un instrumento teórico de ayuda al diseño de software El instrumento podría ser la ambigüedad

    edu.red Objetivos

    Comprobar la validez de la ambigüedad como instrumento teórico para el análisis de los principios de diseño ágiles Explicar y predecir el efecto de los principios Ofrecer una visión unificada de los principios y un criterio para clasificarlos Resolver varios aspectos confusos

    edu.red Principios de diseño ágiles

    Principio de responsabilidad única Principio de separación de la interfaz Principio abierto/cerrado Principio de sustitución de Liskov Principio de inversión de dependencias

    “Agile Software Development: Principles, Patterns, and Practices” Robert C. Martin

    edu.red Principio de responsabilidad única

    Una clase sólo puede tener una razón para cambiar Robert C. Martin

    Diseño con una sola clase Cliente P Cliente Q Clase X Elementos asociados a la responsabilidad A Elementos asociados a la responsabilidad B

    Finalidad Evitar que el cambio de una responsabilidad en una clase pueda provocar fallos en las demás responsabilidades de la clase Evitar que los clientes de una clase carguen con elementos que no utilizan

    edu.red

    Diseño con una sola clase

    Diseño con dos clases Cliente P Cliente Q Clase X Elementos asociados a la responsabilidad A Elementos asociados a la responsabilidad B Cliente P Cliente Q Clase XA Elementos asociados a la responsabilidad A Clase XB Elementos asociados a la responsabilidad B Principio de responsabilidad única

    edu.red Principio de responsabilidad única

    Justificación del principio según R. Martin

    Principio de cohesión (DeMarco y Pages-Jones) Cohesión: Relación funcional de los elementos de un modulo

    Cohesión = responsabilidad única (Martin)

    Principio de responsabilidad única (Martin) Responsabilidad: razón de cambio Cohesión: Fuerzas que provocan cambios en una clase o módulo

    edu.red Principio de responsabilidad única ¿ cohesión = razón de cambio ? Creencia Alta cohesión y bajo acoplamiento conlleva facilidad de modificación

    Problema (incluye lo que estaba escrito antes) Infinitud de definiciones de cohesión y acoplamiento

    Consecuencia No hay justificación para asociar cohesión con fuerzas de cambio

    edu.red

    Diseño con una clase

    Realidad del principio: División salomónica puntual Ambigüedad: Aumenta entre los elementos de responsabilidades separadas Aumenta entre la clase cliente hacia las clases separadas que no utilizan Disminuye entre la clase cliente hacia las clases separadas que utilizan Ventajas e inconvenientes Cliente P Cliente Q Clase X Responsabilidad A Responsabilidad B

    Diseño con dos clases Cliente P Cliente Q Clase XA Responsabilidad A Clase XB Responsabilidad B Principio de responsabilidad única

    Análisis

    edu.red Principio de separación de la interfaz

    Los clientes no deben ser forzados a depender de interfaces que no utilizan Robert C. Martin

    Diseño con una sola interfaz

    Finalidad Reducir las dependencias entre clientes que utilizan métodos diferentes de la misma interfaz Evitar que los clientes de una clase carguen con elementos que no utilizan Cliente C Cliente D Interfaz Z Métodos que utiliza el cliente C Métodos que utiliza el cliente D

    Partes: 1, 2
    Página siguiente