Sie sind auf Seite 1von 26

Anlisis y diseo de sistemas II

Qu es Anlisis y Diseo?
Para crear una aplicacin de Software, es
necesario una descripcin del problema y de
los requerimientos, Qu problema vamos a
resolver y qu debe hacer el sistema son las
preguntas principales que deben responderse
en esta fase.

El anlisis se centra en una investigacin del
problema ms que en una solucin.
Qu es Anlisis y Diseo?
Para desarrollar una aplicacin es necesario
contar con:
1. Descripcin de alto nivel.
2. Descripcin detallada de la solucin propuesta.
3. Cmo dicha solucin cumple con los
requerimientos y restricciones planteados.

El Diseo se centra en una solucin lgica, es decir, cmo el
sistema propuesto cumple con los requerimientos. Finalmente el
diseo se implementa en un software y hardware
(Implementacin).
Qu es Anlisis y Diseo Orientado a
Objetos?
La esencia del anlisis y diseo orientado a
objetos es el considerar tanto el dominio del
problema como la solucin lgica desde la
perspectiva de los objetos (cosas, conceptos o
entidades).

Qu es Anlisis y Diseo Orientado a
Objetos?
El diseo enfatiza la definicin de modelos lgicos de software
que sern finalmente implementados en un lenguaje
orientado a objetos. Estos conceptos tambin cuentan con
atributos y mtodos, por ejemplo, Libro tiene un Autor y un
Ttulo.
El anlisis enfatiza la bsqueda y descripcin de objetos
o conceptos del dominio del problema. Por ejemplo, en
un sistema de prstamo de libros, los posibles
conceptos son: Libro, Librera, Prstamo, etc.
Tecnologa de Objetos
La creciente tendencia de crear programas
cada vez ms grandes y complejos llev a los
desarrolladores a crear una nueva forma de
programar que les permita crear sistemas de
niveles empresariales y con reglas de negocios
muy complejas. Para estas necesidades ya no
bastaba la programacin estructurada ni
mucho menos la programacin lineal.

Tecnologa de Objetos
Es as como aparece la programacin
orientada a objetos (POO). La POO viene de la
evolucin de la programacin estructurada;
bsicamente la POO simplifica la
programacin con la nueva filosofa y nuevos
conceptos que tiene.

Cules son las ventajas de un
lenguaje orientado a objetos?
Fomenta la reutilizacin y extensin del cdigo.
Permite crear sistemas ms complejos.
Relacionar el sistema al mundo real.
Facilita la creacin de programas visuales.
Construccin de prototipos
Agiliza el desarrollo de software
Facilita el trabajo en equipo
Facilita el mantenimiento del software
El modelo Orientado a Objetos
Para entender este modelo vamos a revisar 4
conceptos bsicos:
Objetos
Clases
Herencia
Envo de mensajes

Objetos
Un objeto del mundo real es cualquier cosa
que vemos a nuestro alrededor. Digamos que
para leer este artculo lo hacemos a travs del
monitor y una computadora, ambos son
objetos, al igual que nuestro telfono celular,
un rbol o un automvil.
Objetos
Analicemos un poco ms a un objeto del
mundo real, como la computadora. No
necesitamos ser expertos en hardware para
saber que una computadora est compuesta
internamente por varios componentes: la
tarjeta madre, el chip del procesador, un disco
duro, una tarjeta de video, y otras partes ms.
El trabajo en conjunto de todos estos
componentes hace operar a una computadora.

Objetos
Internamente, cada uno de estos
componentes puede ser sumamente
complicado y puede ser fabricado por diversas
compaas con diversos mtodos de diseo.
Pero nosotros no necesitamos saber cmo
trabajan cada uno de estos componentes,
como saber que hace cada uno de los chips de
la tarjeta madre, o cmo funciona
internamente el procesador.

Objetos
Cada componente es una unidad autnoma, y
todo lo que necesitamos saber de adentro es
cmo interactan entre s los componentes,
saber por ejemplo si el procesador y las
memorias son compatibles con la tarjeta
madre, o conocer donde se coloca la tarjeta
de video. Cuando conocemos como
interaccionan los componentes entre s,
podremos armar fcilmente una
computadora.

Que tiene que ver esto con la
programacin?
La programacin orientada a objetos trabaja
de esta manera. Todo el programa est
construido en base a diferentes componentes
(Objetos), cada uno tiene un rol especfico en
el programa y todos los componentes pueden
comunicarse entre ellos de formas
predefinidas.

Objetos: Componentes
1. Caractersticas.
2. Comportamiento.
Por ejemplo, los automviles tienen
caractersticas (marca, modelo, color,
velocidad mxima, etc.) y comportamiento
(frenar, acelerar, retroceder, llenar
combustible, cambiar llantas, etc.)
Las Clases
En el mundo real, normalmente tenemos
muchos objetos del mismo tipo.

Clases
Por ejemplo, nuestro telfono celular es slo uno
de los miles que hay en el mundo. Si hablamos en
trminos de la programacin orientada a objetos,
podemos decir que nuestro objeto celular es una
instancia de una clase conocida como "celular".
Los celulares tienen caractersticas (marca,
modelo, sistema operativo, pantalla, teclado, etc.)
y comportamientos (hacer y recibir llamadas,
enviar mensajes multimedia, transmisin de
datos, etc.).

Clases

Celular
Marca
Modelo
Llamar
colgar
Un_objeto
Marca: Sagem
Modelo: X5
Llamar
colgar
Creando un objeto de la clase
Clases
Esto mismo se aplica a los objetos de software,
se puede tener muchos objetos del mismo tipo y
mismas caractersticas.
Definicin terica: La clase es un modelo o
prototipo que define las variables y mtodos
comunes a todos los objetos de cierta clase.
Tambin se puede decir que una clase es una
plantilla genrica para un conjunto de objetos
de similares caractersticas.

Herencia
La herencia es uno de los conceptos ms
cruciales en la POO. La herencia bsicamente
consiste en que una clase puede heredar sus
variables y mtodos a varias subclases (la
clase que hereda es llamada superclase o
clase padre). Esto significa que una subclase,
aparte de los atributos y mtodos propios,
tiene incorporados los atributos y mtodos
heredados de la superclase. De esta manera
se crea una jerarqua de herencia.

Por ejemplo, imaginemos que estamos
haciendo el anlisis de un Sistema para una
tienda que vende y repara equipos celulares.

Celular
Marca
Modelo
Llamar
colgar
Celular_nuevo
Precio_vta
Fecha_ ingreso
Celular_mal
Motivo
dueo
En general, podemos tener una gran jerarqua
de Clases tal y como vemos en el siguiente
grfico:

Envo de Mensajes
Un objeto es intil si est aislado. El medio
empleado para que un objeto interacte con
otro son los mensajes. Hablando en trminos
un poco ms tcnicos, los mensajes son
invocaciones a los mtodos de los objetos.

Caractersticas asociadas al POO
Abstraccin
La abstraccin consiste en captar las
caractersticas esenciales de un objeto, as como
su comportamiento. Por ejemplo, volvamos al
ejemplo de los automviles, Qu caractersticas
podemos abstraer de los automviles? O lo que
es lo mismo Qu caractersticas semejantes
tienen todos los automviles? Todos tendrn
una marca, un modelo, nmero de chasis, peso,
llantas, puertas, ventanas, etc. Y en cuanto a su
comportamiento todos los automviles podrn
acelerar, frenar, retroceder, etc.

Encapsulamiento
El encapsulamiento consiste en unir en la
Clase las caractersticas y comportamientos,
esto es, las variables y mtodos. Es tener todo
esto es una sola entidad. En los lenguajes
estructurados esto era imposible. Es evidente
que el encapsulamiento se logra gracias a la
abstraccin y el ocultamiento que veremos a
continuacin.

Ocultamiento
Es la capacidad de ocultar los detalles internos del
comportamiento de una Clase y exponer slo los
detalles que sean necesarios para el resto del sistema.
El ocultamiento permite 2 cosas: restringir y controlar
el uso de la Clase. Restringir porque habr cierto
comportamiento privado de la Clase que no podr ser
accedido por otras Clases. Y controlar porque daremos
ciertos mecanismos para modificar el estado de
nuestra Clase y es en estos mecanismos dnde se
validarn que algunas condiciones se cumplan.

Das könnte Ihnen auch gefallen