Está en la página 1de 55

Diseo Orientado a

Objetos y UML

Contacto
Marco Antonio Martnez Quintana

ing.marco.mtz1991@gmail.com

Evaluacin

20

40

20

20

Examen
Ejercicios
Tareas
Proyecto

Diseo orientado a objetos y UML


Subtemas:

1) Conceptos de Anlisis y Diseo


Orientado a Objetos.
2) Diagramas UML: Clases y Casos de Uso
Palabras clave: Modelado, ADOO, objetos, atributos, mtodos,

encapsulacin,
herencia,
generalizacin,
especializacin,
polimorfismo, clases, clases abstractas, UML, diagrama de casos de uso
y diagrama de clases.

Introduccin
La evolucin del software ha experimentado
modificaciones importantes en su corta historia,
que se pueden atribuir al desarrollo de

metodologas del propio


evolucin del hardware.

software

la

Desarrollo de un software en el
pasado

Desarrollo de Software en los aos


60s y 70s

Desarrollo de software en los aos


80s y 90s

Desarrollo de software en la
actualidad

Desarrollo de software en el futuro

Durante la poca de los aos 50 y 60 las


aplicaciones se desarrollaban enfocadas al

proceso por lotes.


En la poca de los 60 y 70 se comienzan a

construir sistemas multiusuario y de tiempo real.

Durante la poca de los 70 a los 80 se introduce


el trmino de arquitectura cliente-servidor,
surgen los primeros sistemas de desarrollo
distribuido y el uso de las herramientas CASE
(Computer Aided/Assisted Software/System
Engineering).

A medida que se acercaban los aos 80, la


metodologa orientada a objetos comenzaba a
madurar como un enfoque de desarrollo de
software.
La metodologa orientada a objetos presenta
caractersticas que lo hacen idneo para el
anlisis, diseo y programacin de sistemas.

Modelado
Para finales de los aos 90, se puede decir que
el modelado es una parte fundamental dentro de
las actividades del desarrollo de software. Se

construyen modelos para comunicar la


estructura y el comportamiento deseado del
sistema.
El software se centra en optimizar al mximo el
cdigo, es decir, escribir menos lneas y
conseguir el mejor rendimiento sin que
disminuya la eficacia.

A travs del modelado se

consiguen 4 objetivos:

Ayudar a visualizar cmo es

o debera ser un sistema.

Especificar la estructura o el

comportamiento
sistema.

de

un

Proporcionar

plantillas que
guen la construccin de un
sistema.

Documentar

adoptadas.

las decisiones

Principios del Modelado


1. El primer principio se basa en la profunda influencia

que tiene el cmo abordar el problema y cmo se da


la forma de solucin.
2. El segundo principio bsico del modelado nos dice

que todo modelo puede ser expresado a diferentes


niveles de precisin. Un analista o un usuario final se
centrarn en el qu; un desarrollador se centrar en
el cmo.

Principios del Modelado


3. El tercer principio establece que los mejores modelos

estn ligados a la realidad. (POO)


4. Finalmente el cuarto principio establece que un nico

modelo no es suficiente, de manera que cualquier


sistema se aborda mejor a travs de un pequeo
conjunto de modelos casi independientes.

Ejemplo
Cuando

se
esta
construyendo un edificio
se requieren distintos
tipos de planos: de planta,
de alzado, elctricos,
calefaccin,
sanitarios,
etc. Y estos se estudian
de manera aislada pero
en conjunto nos sirven
para dar vida al sistema
que todos tienen en
comn que es el edificio.

Vamos a practicar
Cmo aplicaran los 4

principios del modelado


al ejemplo del edificio?
Idea
Niveles de precisin

Modelos
Unin

Pensar como desarrolladores TIC


Qu puede convertirse en un sistema TIC que yo

pueda desarrollar?

Perspectiva algortmica
contra perspectiva OO

Perspectiva algortmica
La visin tradicional del desarrollo de software
toma una perspectiva algortmica.

En este enfoque, el bloque principal de


construccin de todo el software es el
procedimiento o funcin.
Esta jerarqua se organiza en torno a un
programa principal, desde el cual se accede a
otros
mdulos,
llamados
subrutinas
o
subprogramas.

Los datos tienen un papel secundario, y no son


ms que aquello con lo que se alimenta a los

programas para que realicen su funcin.


La programacin estructurada se puede resumir

en la siguiente expresin:

Algoritmos + Estructura de datos = Programas

Perspectiva orientada a objetos


La visin actual del desarrollo de software toma una

perspectiva orientada a objetos.


En este enfoque, el principal bloque de construccin

de todos los sistemas software es el objeto y la


clase.
En sntesis, la programacin orientada a objetos

puede ser resumida de la siguiente manera:

Objetos + Flujo de mensajes = Programas

ADOO
El Anlisis y Diseo Orientado a Objetos
(ADOO) es una tcnica para modelar sistemas
que se encarga de describir y modelar el sistema
como si fuera un conjunto de objetos

relacionados que interactan entre s.

Los mtodos orientados a objetos centran su


atencin en objetos y clases:

Un objeto es una cosa.


Una clase es una plantilla o definicin de
cosas.

Ejemplo
Clase

Objeto

Cul es cul?

Los

mtodos orientados
modelos con los cuales:

objetos

crean

Se pueden crear clases y objetos.

Definen su estructura, comportamiento y


propsito.

Definen la relacin entre clases.

Definen la relacin entre objetos.

Mtodos

Define

Usa

La promesa de la OO
Los requerimientos y la arquitectura (visin global, relacin

entre objetos) pueden ser capturados en una manera


repetida y razonable.

Los objetos modelan el comportamiento del mundo real y

son fciles de entender.

Los componentes pueden ser reutilizados a travs de

interfaces bien definidas.

El cambio de requerimientos es fcil de soportar.


Los

costos
de
considerablemente.

mantenimiento

son

reducidos

Objetos
Se define a un objeto como "una entidad tangible que

muestra alguna conducta bien definida".


Un objeto "es cualquier cosa, real o abstracta, acerca de

la cual almacenamos datos y hay mtodos que hacen uso


de dichos datos".

Los objetos tienen una cierta integridad, que

es necesaria para que podamos interactuar con


l sin confundirlo con otro, y para que puedan
existir varios objetos de la misma clase.

Objetos
Atributos
Son las caractersticas que definen a un

objeto como nico.


Mtodo
Es la accin de un objeto, representado

generalmente por verbos. El nombre de un


mtodo debe indicar idealmente la funcin de
un objeto.

Objetos

Objetos
Mensaje
Los mensajes son llamadas a los mtodos del

objeto con el que se quiere comunicar para


decirle que haga una o varias cosas.
Un mensaje es una accin que debe hacer

algn objeto.
Un objeto por s slo no es muy til, necesita

interactuar para modelar algn problema.

Ejemplos
Atributos de las nubes:
Tamao
Sombra
Contenido de agua

Operaciones de las nubes:


Llover
Nevar
Tronar

Ejemplos

Vamos a practicar
01_objetos. De acuerdo con el enunciado, revisar
la informacin acerca del caso de estudio para

encontrar objetos.

Abstraccin
Este concepto se refiere bsicamente a
describir una entidad en forma simplificada, a
travs de sus propiedades principales, omitiendo

los detalles.

Ejemplo: Todo mundo sabe que un auto sirve

para desplazarse sin importar cmo lo haga.

La abstraccin consiste en ignorar detalles y

encontrar las principales caractersticas, de


esta manera se simplifica cmo los usuarios
interactan con los objetos.

Los tipos de abstraccin son:


Abstraccin de datos: Son las caractersticas

y las propiedades de un objeto.

Abstraccin funcional: Es lo que hace el

objeto (acciones y/o eventos).

Finalmente los objetos que encontramos al analizar el

dominio del problema y que tienen la misma estructura y


comportamiento, forman parte de una clase. As que lo
que un objeto puede saber (estado) o hacer
(comportamiento), est determinado por la clase a la
que pertenece.

Ejemplo
Auto
Abstraccin de datos

Color
Tamao
Velocidad

Abstraccin funcional
Avanzar
Retroceder
Frenar
Chocar

Vamos a practicar
02_abstraccin: Encontrar todos los atributos y
mtodos de los objetos encontrados en el ejercicio

anterior (Sanda).

Encapsulacin
Esta caracterstica se refiere a ocultar la
informacin
de
los
detalles
de
la
implementacin.
El encapsulamiento es guardar o poner algo

dentro de un objeto, de esta manera se separan


los aspectos externos de un objeto, de los
detalles internos de implementacin que se
ocultan en los objetos.

Ejemplo
Todo mundo sabe que para que un auto frene se

requiere pisar el pedal de la izquierda, sin


embargo slo el mecnico conoce la
implementacin de los frenos.

La encapsulacin est formada por:


Interfaz pblica: Son las operaciones que

podemos hacer con un objeto para interactuar


con l.
Implementacin:

Son las operaciones


internas que realiza un objeto para lograr su
propsito.

Informacin

interna: Son los datos que


ocupa el objeto de manera interna para
complementar su funcin.

Encapsulacin
Los atributos y operaciones son miembros del

objeto y pueden ser de tipo pblico o privado.


Si el miembro es pblico, forma parte de la

interfaz pblica, de lo contrario forma parte


de la implementacin.

todos los
atributos son privados y pueden ser
accedidos con operaciones pblicas.

En sistemas orientados a objetos

Vamos a practicar
03_encapsulacin:

Agregar
los
mtodos
encapsulados que deben llevar los objetos a los se le
agreg atributos y mtodos en el ejercicio anterior
(Sanda).