clase1
Post on 10-Jul-2015
688 Views
Preview:
TRANSCRIPT
Informática I
Módulo 1
Paradigma Orientado a Objetos
Ing. Julio Gonzalo Brito
2Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Ingeniería de Software
3
Su objetivo central versa en torno a encontrarformas de construir software de calidad,para ello se vale de principios, métodos yherramientas que le permitirán abordar lacomplejidad inherente al desarrollo deproductos software.
Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Ingeniería de Software
Ingeniería de Software
4Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Corrección: cumplimiento de las tareas especificadas.
Robustez: capacidad de funcionar en situacionesanómalas.
Extensibilidad: facilidad de adaptación a los cambios deespecificaciones.
Reusabilidad: posibilidad de reutilización parcial o totalen nuevas aplicaciones.
Compatibilidad: capacidad de integración ycombinación con otros productos software.
Calidad del Software (algunos principios)
Ingeniería de Software
5Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Calidad del Software (algunos principios)
Eficiencia: utilizar el mínimo de recursos para eldesarrollo de un producto de calidad.
Facilidad de Uso: dotar al producto de capacidades quefavorezcan la interacción.
Portabilidad: capacidad del producto de ejecutarse endiversas plataformas.
Mantenimiento: establecer mecanismo de mantención yevolución de manera amigable y gestionable.
Paradigmas de Programación
6Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Un paradigma es un modelo aceptado que nospermite investigar e interpretar lasobservaciones del mundo real.
Paradigma Estructurado: efectúa unadescomposición funcional para representar los hechosdel mundo real. La estructura de módulo resultante estápor lo tanto orientada a las operaciones más que sobrelos datos.
Paradigma Orientado a Objetos: efectúa unadescomposición en objetos para realizar lainterpretación de los hechos citados. Por consecuencia,los programas se estructuran por los datos más que porlas operaciones.
7Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Paradigma Orientado a Objetos
Paradigma Orientado a Objetos
8Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Énfasis en los objetos como módulos queencapsulan el estado y el comportamiento coninterfaces que especifican claramente los serviciosofrecidos por el módulo.
Con la aproximación orientada a objeto el sistemase representa como una colección de objetos queinteraccionan entre sí mediante mensajes.
Detalles de diseño, incluyendo implementación deprocedimientos y especificación de estructuras dedatos se retrasan en el proceso de diseño, y seocultan en la fase de implementación.
Basamento epistémico del Modelo
Paradigma Orientado a Objetos
9Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Pilares Fundamentales del Modelo
Abstracción Encapsulación Modularidad Jerarquía Polimorfismo
10Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Abstracción
Permite centrarse en los aspectos esencialesinherentes de una entidad, e ignorar suspropiedades accidentales.
constituye una de las formas esenciales de abordarla complejidad, evitando que noscomprometamos prematuramente con detalles.
Utiliza la encapsulación para reforzar laabstracción.
11Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Encapsulación
Acelera()
velocidad
Frena()
Facilita el manejo de la complejidad, ya que sólo se
conoce el comportamiento pero no los detalles internos.
nos interesa conocer qué hace la Clase pero no saber
cómo lo hace.
La abstracción se centra en la vista externa y la
encapsulación en la interna.
12Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Modularidad
Es la propiedad de un sistema que ha sidodescompuesto en un conjunto de módulos cohesivosy poco acoplados.
Dividir un sistema en subsistemas, reduce notoriamentela complejidad.
Abstracción, Encapsulación y Modularidad seemplean de forma sinérgica.
Conjunto Motor Chasis
arranca(ignición)
identificadortipo
Motor
potencia
Caja
denominación
cambios
13Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Jerarquía
Constituyen la ordenación o clasificación de lasabstracciones efectuadas.
Las dos jerarquías más importantes para abordar lacomplejidad son:
Generalización-Especialización, cuya semánticaes “es un”, determinando Herencia (simple omúltiple).
Agregación, cuya semántica es “partede”, permitiendo el agrupamiento físico deestructuras relacionadas lógicamente.
AutomóvilTransporte
Acelera
Frena
14Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Jerarquías de Clase
Transporte
Marítimo Aire Nieve Tierra
Atmosfera NoAtmosfera 1-Persona N-Personas
Establece la capacidad de que un mensaje seainterpretado de diferente manera según losobjetos instanciados.
La definición del método reside en la clase base.
La implementación del método reside en la clasederivada.
15Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Polimorfismo
Acelera
FrenaTransporte
Acelera
Frena
Acelera
Frena
Acelera
Frena
Caballo
Auto
Cohete
16Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Notación de Modelado UML
Constituye el acrónimo de Unified ModelingLanguage.
Es una notación empleada para el modeladoOrientado a Objetos.
Combina notaciones provenientes desde:
Modelado Orientado a Objetos
Modelado de Datos
Modelado de Componentes
Modelado de Flujos de Trabajo
17Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Notación UML
18Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Diagramasde Casos de
Uso
Diagramasde
Secuencia
Diagramasde Estados
ComponentDiagramsComponent
DiagramsDiagramas deComponentes
Modelos
Diagramasde Objetos
Diagramasde
Colaboración
Diagramas deActividad
Diagramasde Clases
Diagramas deImplantación
Notación UML
19Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Programación Orientada a Objetos
Constituye un método de programación enel que un programa se contempla como unconjunto de objetos limitados que, a suvez, son colecciones independientes deestructuras de datos y rutinas queinteractúan con otros objetos, dando accesopara modificar el contenido de un dato opropiedad del propio objeto. También seidentifica con las siglas POO y OOP (del inglésObject Oriented Programming).
20Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Programación Orientada a Objetos
Es la representación de un concepto paraun programa, y contiene la informaciónnecesaria para abstraer tal conceptomediante:
Los atributos o propiedades quedescriben su estado.
Las operaciones o métodos quepueden modificar dichoestado, determinando las capacidadesdel objeto.
21Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
¿Qué es un Objeto?
Los TDA definen la funcionalidad al ponerespecial énfasis en los datos involucrados, suestructura, operaciones, así como enaxiomas y precondiciones.
Consecuentemente, la programación orien-tada a objetos es "programación conTDA", al combinar la funcionalidad de distintosTDAs para resolver un problema.
En orientación a objetos, nos referimos a lostipos de dato abstractos (TDA) como clases.Por lo tanto, una clase define las propiedadesde objetos instancia en un ambiente orientadoa objetos.
22Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
TDA (Tipos de Datos Abstractos)
En tanto, una clase conforma un modeloabstracto de un objeto del mundo real, quedefine los atributos y operaciones dedicho objeto. Por tanto, es una plantillaque define un objeto.
Consecuentemente, un objeto constituyeuna instancia simple de una clase, quedetenta un estado y un comportamiento.Los objetos, retienen la estructura y lasoperaciones de una clase.
23Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Clases y Objetos
24Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Implementación en Java
25Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Creación de Clases
26Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Creación de Clases
Modificador de Acceso
Nombre de Clase
Método Público
27Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Creación de Objetos
Importo Biblioteca
Instancia de Clase
28Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Variables Primitivas y Objeto
Variable Primitiva
Variable Objeto
29Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Asignación de Referencias
Asignación de Referencia
30Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Encapsulación / Visibilidad
Una clase puede controlar la visibilidadque tendrán sus atributos y métodosdesde el exterior de la misma, mediante losmodificadores de acceso:
Private: el atributo o método sólo es visible dentro dela clase donde se define.
Protected: el campo o método es visible en la clasedonde se define y en cualquiera de sus subclases.
Public: El campo o método es visible en cualquier clase.
Ninguno de los anteriores (amistoso): el campo ométodo es visible en cualquiera de las clasespertenecientes al paquete donde se define.
31Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Operaciones permitidas
Encapsulación / Visibilidad
Modificadores de Acceso
Operaciones restringidas
32Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Operaciones permitidas
Encapsulación / Visibilidad
Modificadores de Acceso
Operaciones restringidas
33Instituto Universitario Aeronáutico – Cátedra de Informática I – Villa Dolores
Herencia Simple
Herencia / Polimorfismo
Variables propias de la
instancia
Instancia de Clase actual
Instancia de Clase Base
Imprime 1
Imprime 10
top related