Diseo Orientado a Objetos y UML
Contacto
Marco Antonio Martnez Quintana
2020
20
40
Evaluacin
Examen
Ejercicios
Tareas
Proyecto
Diseo orientado a objetos y UMLSubtemas:
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 usoy diagrama de clases.
Introduccin
La evolucin del software ha experimentadomodificaciones importantes en su corta historia,que se pueden atribuir al desarrollo demetodologas del propio software y a laevolucin del hardware.
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 lasaplicaciones se desarrollaban enfocadas alproceso por lotes.
En la poca de los 60 y 70 se comienzan aconstruir sistemas multiusuario y de tiempo real.
Durante la poca de los 70 a los 80 se introduceel 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, lametodologa orientada a objetos comenzaba a
madurar como un enfoque de desarrollo de
software.
La metodologa orientada a objetos presentacaractersticas que lo hacen idneo para el
anlisis, diseo y programacin de sistemas.
Modelado
Para finales de los aos 90, se puede decir queel modelado es una parte fundamental dentro delas actividades del desarrollo de software. Seconstruyen modelos para comunicar laestructura y el comportamiento deseado delsistema.
El software se centra en optimizar al mximo elcdigo, es decir, escribir menos lneas yconseguir el mejor rendimiento sin quedisminuya la eficacia.
A travs del modelado seconsiguen 4 objetivos:
Ayudar a visualizar cmo eso debera ser un sistema.
Especificar la estructura o elcomportamiento de unsistema.
Proporcionar plantillas queguen la construccin de unsistema.
Documentar las decisionesadoptadas.
1. El primer principio se basa en la profunda influenciaque tiene el cmo abordar el problema y cmo se dala forma de solucin.
2. El segundo principio bsico del modelado nos diceque todo modelo puede ser expresado a diferentesniveles de precisin. Un analista o un usuario final secentrarn en el qu; un desarrollador se centrar enel cmo.
Principios del Modelado
Principios del Modelado
3. El tercer principio establece que los mejores modelosestn ligados a la realidad. (POO)
4. Finalmente el cuarto principio establece que un nicomodelo no es suficiente, de manera que cualquiersistema se aborda mejor a travs de un pequeoconjunto de modelos casi independientes.
Ejemplo Cuando se esta
construyendo un edificiose requieren distintostipos de planos: de planta,de alzado, elctricos,calefaccin, sanitarios,etc. Y estos se estudiande manera aislada peroen conjunto nos sirvenpara dar vida al sistemaque todos tienen encomn 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 softwaretoma una perspectiva algortmica.
En este enfoque, el bloque principal deconstruccin de todo el software es elprocedimiento o funcin.
Esta jerarqua se organiza en torno a unprograma principal, desde el cual se accede aotros mdulos, llamados subrutinas osubprogramas.
Los datos tienen un papel secundario, y no sonms que aquello con lo que se alimenta a losprogramas para que realicen su funcin.
La programacin estructurada se puede resumiren la siguiente expresin:
Algoritmos + Estructura de datos = Programas
La visin actual del desarrollo de software toma unaperspectiva orientada a objetos.
En este enfoque, el principal bloque de construccinde todos los sistemas software es el objeto y laclase.
En sntesis, la programacin orientada a objetospuede ser resumida de la siguiente manera:
Objetos + Flujo de mensajes = Programas
Perspectiva orientada a objetos
ADOO El Anlisis y Diseo Orientado a Objetos
(ADOO) es una tcnica para modelar sistemasque se encarga de describir y modelar el sistemacomo si fuera un conjunto de objetosrelacionados que interactan entre s.
Los mtodos orientados a objetos centran suatencin en objetos y clases:
Un objeto es una cosa. Una clase es una plantilla o definicin decosas.
Clase
Objeto
Ejemplo
Cul es cul?
Los mtodos orientados a objetos creanmodelos con los cuales:
Se pueden crear clases y objetos.
Definen su estructura, comportamiento y
propsito.
Definen la relacin entre clases.
Definen la relacin entre objetos.
Mtodos
UsaDefine
La promesa de la OO Los requerimientos y la arquitectura (visin global, relacin
entre objetos) pueden ser capturados en una manerarepetida y razonable.
Los objetos modelan el comportamiento del mundo real yson fciles de entender.
Los componentes pueden ser reutilizados a travs deinterfaces bien definidas.
El cambio de requerimientos es fcil de soportar.
Los costos de mantenimiento son reducidosconsiderablemente.
Objetos Se define a un objeto como "una entidad tangible quemuestra alguna conducta bien definida".
Un objeto "es cualquier cosa, real o abstracta, acerca dela cual almacenamos datos y hay mtodos que hacen usode dichos datos".
Los objetos tienen una cierta integridad, quees necesaria para que podamos interactuar con
l sin confundirlo con otro, y para que puedan
existir varios objetos de la misma clase.
Atributos
Son las caractersticas que definen a unobjeto como nico.
Mtodo
Es la accin de un objeto, representadogeneralmente por verbos. El nombre de unmtodo debe indicar idealmente la funcin deun 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.
Objetos
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 paraencontrar objetos.
Abstraccin Este concepto se refiere bsicamente a
describir una entidad en forma simplificada, atravs de sus propiedades principales, omitiendolos detalles.
Ejemplo: Todo mundo sabe que un auto sirvepara desplazarse sin importar cmo lo haga.
La abstraccin consiste en ignorar detalles yencontrar las principales caractersticas, deesta manera se simplifica cmo los usuariosinteractan con los objetos.
Los tipos de abstraccin son:
Abstraccin de datos: Son las caractersticasy las propiedades de un objeto.
Abstraccin funcional: Es lo que hace elobjeto (acciones y/o eventos).
Finalmente los objetos que encontramos al analizar eldominio 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 laimplementacin.
El encapsulamiento es guardar o poner algodentro de un objeto, de esta manera se separanlos aspectos externos de un objeto, de losdetalles internos de implementacin que seocultan en los objetos.
EjemploTodo mundo sabe que para que un auto frene se
requiere pisar el pedal de la izquierda, sinembargo slo el mecnico conoce laimplementacin de los frenos.
La encapsulacin est formada por:
Interfaz pblica: Son las operaciones quepodemos hacer con un objeto para interactuarcon l.
Implementacin: Son las operacionesinternas que realiza un objeto para lograr supropsito.
Informacin interna: Son los datos queocupa el objeto de manera interna paracomplementar su funcin.
Los atributos y operaciones son miembros delobjeto y pueden ser de tipo pblico o privado.
Si el miembro es pblico, forma parte de lainterfaz pblica, de lo contrario forma partede la implementacin.
En sistemas orientados a objetos todos losatributos son privados y pueden seraccedidos con operaciones pblicas.
Encapsulacin
Vamos a practicar 03_encapsulacin: Agregar los mtodos
encapsulados que deben llevar los objetos a los se leagreg atributos y mtodos en el ejercicio anterior(Sanda).
Top Related