-
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).