Вы находитесь на странице: 1из 25

La orientación a objetos puede describirse como el conjunto de disciplinas que

desarrollan y modelizan software que facilitan la construcción de sistemas


complejos a partir de componentes.

Proporciona conceptos y herramientas con las cuales se modela y


representa el mundo real tan fielmente como sea posible. Estos
conceptos y herramientas orientados a objetos son tecnologías que
permiten que los problemas del mundo real sean expresados de modo
fácil y natural.
La orientación a objetos trata de cubrir las necesidades de los usuarios
finales, así como las propias de los desarrolladores de productos
software. Estas tareas se realizan mediante la modelización del mundo
real. El soporte fundamental es el modelo objeto.

El análisis y el diseño orientado a objeto es indispensable para crear


sistemas de software bien diseñados , robusto y de fácil mantenimiento
utilizando las tecnología de objetos y los lenguajes de programación
orientados a objetos como C++ y Java.

Lenguaje Unificado de Modelado (UML, por sus siglas en inglés,


Unified Modeling Language) es el lenguaje de modelado de sistemas de
software más conocido y utilizado en la actualidad.
Es un lenguaje gráfico para visualizar, especificar, construir y documentar un
sistema de software.

¿Qué son el análisis y el diseño?

El análisis se centra en la investigación del problema, no en la manera de


definir la solución.

Por ejemplo:

Si se un nuevo sistema de biblioteca ¿Cuáles procesos de la institución se


relacionan con su uso?

El diseño pone de relieve una solución lógica: como el sistema cumple con los
requerimientos.
¿de que manera el sistema de la biblioteca capturara y registrara los
prestamos de libros?

La esencia del análisis y el diseño consiste en situar el dominio de un


problema y su solución lógica dentro de las perspectivas de los objetos
(cosas, conceptos o entidades).

Durante el análisis orientado a objeto se procurara ante todo identificar


y describir los objetos o conceptos dentro del dominio del problema.

Por ejemplo en el caso del sistema de información de la biblioteca algunos


de los conceptos son libros, biblioteca y cliente.
Durante el diseño orientado a objetos se procura definir los objetos logicos
de software.

Que final mentalmente serán implementados en un lenguaje orientado a


objetos.
Los objetos tienen atributos y métodos. Así en el sistema de la biblioteca un
objeto de software Libro que puede tener un atributo Titulo y un método
Imprimir.
Finalmente durante la construcción o programación orientada a objetos, se
implementan los componentes de diseño, como una clase Libro en C++, Java,
etc.
En el análisis y diseño orientados a objetos, cuando se trata de definir lo que
debe hacer un sistema se hace un análisis de requerimientos, en el cual los
procesos y las necesidades de los negocios se descubren y se expresan en los
casos de uso.

Los casos son descripciones narrativas textuales de los procesos de una


empresa o sistema:

Caso de uso: Colocar un pedido.

Descripción: Este caso de uso comienza cuando un cliente telefonea a un


representante de ventas para hacer una compra de un producto. El
representante anota en una nueva orden la información relativa al cliente y al
producto.
Características del Análisis Orientado a Objetos —

• Identidad: Los datos están cuantificados en entidades discretas y


distinguibles denominadas objetos. Estos pueden ser tangibles o intangibles.

• Clasificación: Los objetos con la misma estructura de datos (atributos) y


comportamiento (operaciones) se agrupan para formar una misma clase, se dice
que cada objeto es una instancia de su propia clase, y una clase es una
abstracción que describe propiedades importantes para una aplicación y se
olvida del resto.

• Polimorfismo: Significa que una misma operación puede comportarse de


modos distintos en distintas clases, una operación es una acción o
transformación que se aplica a un objeto.
• Herencia: Comparte atributos y operaciones entre clases tomando como
base una relación jerárquica, es decir que se puede definir una clase que
después producirá subclases, sabiendo que todas las subclases adquirirán
todas y cada una de las propiedades de su super-clase y le agrega además sus
propiedades exclusivas.

Pasos a seguir en un análisis orientado a objetos:


Existencia del Problema
1
2 3 4 5 6

Identificación del Análisis del Lista de Análisis OO Etapas del


Dominio Problema Requisitos Análisis OO

El dominio es el área Describe los aspectos Reflejan lo que el Se describe el * Identificación de clases
donde esta el relevantes de un sistema debe hacer y dominio del del dominio.
problema. dominio y hacer un no como debe problema mediante
análisis de requisitos hacerlo. clase y objetos es * Elaboración del glosario
que el sistema debe decir se construye un de términos procedentes
cumplir modelo de dominio del dominio.
orientado a objeto.
* Identificación de las
relaciones entre las clases.

* Identificación de las
propiedades de las clases.
7
* Jerarquía de las clases.
Identificación de las
*Perfeccionamiento del
Clases de un Dominio:
modelo obtenido.

Identificación de
sustantivo: se extrae
los sustantivos que
aparecen en la
descripción del
problema.
Diseño orientado a objeto

Definimos Diseño de Software como la acción de construir soluciones


que satisfagan los requerimientos del cliente.

Existen varias etapas en el proceso de diseño de software, a saber son


Sus etapas son :

•Entendimiento del problema

•Identificar una o mas soluciones

•Describir abstracciones de la solución

•Repetir el proceso para cada abstracción identificada hasta que el diseño este
expresado en términos sencillos
La primera idea que se tiene al construir una solución de un determinado
problema es un modelo mental que constituye el primer intento de diseño
llamado comúnmente diseño informal.

Este diseño a medida que se va describiendo en papel utilizando técnicas y


procedimientos esquemáticos y metódicos va adquiriendo forma hasta
constituirse en un diseño formal equivalente.
Características principales del Diseño Orientado a Objetos:

Los objetos son abstracciones del mundo real o entidades del sistema que se
administran entre ellas mismas

Los objetos son independientes y encapsulan el estado y la representación de


información

La funcionalidad del sistema se expresa en términos de servicios de los objetos

Las áreas de datos compartidas son eliminadas. Los objetos se comunican


mediante paso de parámetros

Los objetos pueden estar distribuidos y pueden ejecutarse en forma secuencial o


en paralelo
Ventajas del Diseño Orientado a Objetos:

Fácil de mantener, los objetos representan entidades auto-contenidas

Los objetos son componentes reutilizables

Para algunos sistemas, puede haber un mapeo obvio entre las entidades del
mundo real y los objetos del sistema
La capa del subsistema.- Contiene una representación de cada uno de los
subsistemas que le permiten al software conseguir los requisitos definidos por el
cliente e implementar la infraestructura técnica que los soporta.

La capa de clases y Objetos.- Contiene las jerarquías de clase que permiten crear
el sistema usando generalizaciones y especializaciones mejor definidas. Esta capa
también contiene representaciones de diseño para cada objeto.

La capa de mensajes.- Contiene los detalles que le permiten a cada objeto


comunicarse con sus colaboradores. Esta capa establece las interfaces externas e
internas para el sistema.

La capa de responsabilidades.- Contiene las estructuras de datos y el diseño


algorítmico para todo los atributos y operaciones de cada objeto.
EJEMPLO DEL ANALISIS Y EL DISEÑO ORIENTADO A
OBJETOS

Ejemplo: Un juego de dados.

Se tiene un juego de dados en que un jugador lanza dos dados. Si el total obtenido es
siete, el jugador gana, en caso contrario pierde.
1. Definición de casos de uso

Los casos de uso son descripciones narrativas en lenguaje natural de los procesos del dominio
en un formato estructurado de prosa. Describen una secuencia de acciones.

Caso de uso: Jugar un juego.

Participantes: Jugador.

Descripción: Este caso de uso comienza


cuando el jugador recoge y lanza los dados.
Si los puntos suman siete, gana y pierde si
suman cualquier otro número.
2. Definición de un modelo conceptual

Un modelo conceptual muestra gráficamente los conceptos (clases de objetos), los


atributos y las asociaciones más importantes del dominio del problema. Supongamos
que queremos hacer una simulación del juego de dados:
3. Definición de los diagramas de colaboración

Los diagramas de colaboración representan el flujo de mensajes entre las instancias y la


invocación de métodos.
4. Definición del diagrama de diseño de clases

¿Cómo se relacionan unos objetos con otros?, ¿cuáles son las características (métodos
y atributos) de cada clase?
5. Codificación

Escritura del código en un lenguaje orientado a objetos.

class JuegodeDados {
String Nombre;
class Jugador {
String nombre;
public Jugador(String nombre) {
this.nombre = nombre;
}
public jugar(Dado d1,d2);
int dado1 = d1.lanzar();
int dado2 = d2.lanzar();
}
}
public void Dado(){
int ValorMostrado;
public Dado {
this.ValorMostrado = 0;
}
public lanzar();
this.ValorMostrado = Math.random(1,6);
}
} ...

Вам также может понравиться