martes, 26 de mayo de 2009

Análisis y diseño orientado a objetos (ADOO)


Es un enfoque de la Ingeniería de Software que modela un sistema como un grupo de objetos que interactúan entre sí. Este enfoque representa un dominio en términos de conceptos compuestos por verbos y sustantivos, clasificados de acuerdo a su dependencia funcional.

En éste método de análisis y diseño se crea un conjunto de modelos utilizando una notación acordada como, por ejemplo, el lenguaje unificado de modelado (UML). ADOO aplica técnicas de modelado de objetos para analizar los requerimientos para un contexto - por ejemplo, un sistema de negocio, un conjunto de módulos de software - y para diseñar una solución para mejorar los procesos involucrados. No está restringido al diseño de programas de computadora, sino que cubre sistemas enteros de distinto tipo. Las metodologías de análisis y diseño más modernas son casos de uso guiados a través de requerimientos, diseño, implementación, pruebas, y despliegue.
El concepto se extiende a los métodos de análisis y diseño: Se utilizan los objetos del mundo real como base para construir modelos.- Los elementos que forman los sistemas del mundo real se corresponden con objetos software.

Los objetos, son entidades o cosas del mundo real que tienen atributos que representan sus características o propiedades. El cual combina con estado, comportamiento e identidad.El estado, está compuesto de datos, será uno o varios atributos a los que se habrán asignado unos valores concretos (datos).El comportamiento, son los procedimientos o métodos con que puede operar dicho objeto, es decir, qué operaciones se pueden realizar con él.La identidad, es una propiedad de un objeto que lo diferencia del resto, es decir, es un identificador.
La Programación Orientada a Objetos introduce nuevos conceptos, que superan y amplían conceptos antiguos ya conocidos. Entre ellos destacan los siguientes:Clase: Definición de las propiedades y el comportamiento de un tipo de objeto concreto.Objeto: Se corresponde con los objetos reales del mundo que nos rodea, es una instancia a una clase.Método: Produce un cambio en las propiedades del objeto o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.
Las siguientes características son importantes en la POO: Abstracción: Son las características esenciales de un objeto, donde se capturan sus comportamientos.Encapsulamiento: Reúne todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción.Principio de ocultación: Cada objeto está aislado del exterior, en donde expone una interfaz a otros objetos que específica cómo pueden interactuar con los objetos de la clase.
Polimorfismo: Comportamientos diferentes el cual están asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando.Herencia: Organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes.

Recolección de basura: Es la técnica por la cual el ambiente de Objetos se encarga de destruir automáticamente los Objetos que hayan quedado sin ninguna referencia a ellos.Ventajas de la POO:- Fomenta la reutilización y extensión del código.- Permite crear sistemas más complejos.- Agiliza el desarrollo de software. Facilita el trabajo en equipo.- Facilita el mantenimiento del software.
El análisis es el proceso de determinar qué se necesita hacer, antes de decidir cómo debe hacerse. El diseño escoge un cómo específico para aplicarlo al qué.Una vez que se ha analizado el problema, es preciso decidir la forma de aproximarse al diseño. El diseño del sistema es la estrategia de alto nivel para resolver el problema y construir una solución. Este incluye decisiones acerca de la organización del sistema en subsistemas, la asignación de subsistemas a componentes hardware y software, y decisiones fundamentales conceptuales y de política que son las que constituyen un marco de trabajo para el diseño detallado.
Durante el análisis, lo fundamental es lo que necesita hacerse, independientemente de la forma de hacerlo. Durante el diseño, se toman decisiones acerca de la forma en que se resolverá el problema, primero desde un nivel un nivel elevado y después empleando niveles cada vez más detallados.
El diseño de sistemas es la primera fase de diseño en la cual se selecciona la aproximación básica para resolver el problema. Durante el diseño del sistema, se decide la estructura y el estilo global. La arquitectura del sistema es la organización global del mismo en componentes llamados subsistemas. La arquitectura proporciona el contexto en el cual se toman decisiones más detalladas en una fase posterior del diseño. Al tomar decisiones de alto nivel que se apliquen a todo el sistema, el diseñador desglosa el problema en subsistemas, de tal manera que sea posible realizar más trabajo por parte de varios diseñadores que trabajaran independientemente en distintos subsistemas. El diseñador de sistemas debe tomar decisiones siguientes:- Organizar el sistema en subsistemas.- Identificar la concurrencia inherente al problema.- Asignar los subsistemas a los procesadores y tareas.- Seleccionar una aproximación para la administración de almacenes de datos.- Manejar el acceso a recursos globales.- Seleccionar la implementación de control en software.- Manejar las condiciones de contorno.- Establecer la compensación de prioridades.

No hay comentarios:

Publicar un comentario