Orientada a Objetos
Sistemas = REALIDAD
Modelos = ABSTRACCION
Distribuidor de boletos
(Sistema)
Planos para distribuidor
(Modelo)
Ingeniería de Software:
Actividad de Resolución de Problemas
Análisis:
Comprender la naturaleza del problema y
descomponerlo en pequeñas partes.
Síntesis:
Juntar todas las partes en una sola
estructura.
Para la resolución de problemas, usamos
técnicas, metodologías y herramientas.
Técnicas, Metodologías y
Herramientas
Técnicas
Procedimientos formales para producir
resultados usando una notación bien definida.
Metodologías
Colección de técnicas aplicadasa a lo largo de el
desarrollo de software, unificados por la misma
filosofía.
Herramientas
Instrumentos o sistemas autónomos necesarios
para desarrollar una técnica.
CASE = Computer Aided Software Engineering
Ingeniería de Software: Definición
Colección de técnicas, metodologías y
herramientas que ayudan en la producción
de:
Un Software de alta calidad desarrollado
con un presupuesto específico antes de
una fecha tope, mientras se administran
cambios.
Subclase RelojCalculadora
Generalización
Clase Abstracta
Generalización que NO se instancia.
Sirve solo propósitos de modelado.
Introducidas para reducir la complejidad en el
modelo.
Ejemplo: CompuestoQuimico
Objeto
Instanciade una clase.
Tiene una identidad
Interfaces
Notación UML
Result:
YES!
Stu Elmer
Factorizacion en primos de 905:
5181 (2 distintos factores)
Factorizacion en primos de 1988:
22771 (4 factors, 3 distintos)
Dos enteros son coprimos s entre si si no tienen otro factor comun ademas
del 1 o si su mayor comun divisor es 1. No se pueden simplificar.
Los Objetos NO aceptan llamadas
arbitrarias.
Llamadas aceptables se definen mediante métodos de
objeto.
(también conocidas como Operaciones, Procedimientos, Subrutinas, Funciones)
Objeto: Método-3:
Método-1: Métodos-2: Selección
Cajero Automático
Aceptar Tarjeta Leer clave
1234
5678
12345
1
4 2
7 5 3
8 6
0 9
Interfaz de Objetos
Define que métodos deben ser implementados por
una clase.
“Firma del método: nombre, parámetros, tipo de dato que regresa
Interfaz
Metodo-1 Objeto esconde
su estado
Metodo-2 (atributos). Los
atributos son
accesibles solo
Metodo-3 a través de la
interfaz.
Clientes, Servidores,
Mensajes
Client
Client Object
Object Server
Server
Object
Object
Message
Data
(state)
nombreClase «interface»
InterfazBase
# atributo_1 : int
Tres compartimientos:
# atributo_2 : boolean + operacion()
1. Nombre Clasificador # atributo_3 : String
2. Atributos
+ contestar()
EJERCICIO 1
Atributos
Operaciones
Nombre
Numero_de_Cuenta
- Nombre_cliente
Atributos
- Balance
+Depositar( ) Operaciones
+Retirar( )
+Transferir( )
DIAGRAMAS DE CLASE
(Continuación)
Un modelo es una
simplificación de
la realidad.
MODELADO
Comunicar la estructura de un
sistema complejo.
Especificar el comportamiento
deseado del sistema.
Compresión del sistema que
estamos construyendo.
Descubrir oportunidades de
simplificación y reutilización.
El modelo ha de
capturar lo
esencial.
Modelos Estructurales
(Organización del Sistema)
Modelos de comportamiento
(Diseño Estructural)
Esquema
Clases y/u objetos intervinientes
Relación entre:
Objetos
Entorno
2 tipos de Relaciones
Generalización (padre-hijo)
Asociación (estudiante se registra en un
curso)
Asociaciones se subdividen en
Agregación
Composición
Clase
Generalizacion
Avion
SubClase1 SubClase2
- Elementos comunes
- Abstraer detalles en
algunas capas Avion Comercial Avion Militar
Asociación
estudiantes
1 *
Universidad Persona
0..1 *
empleados profesores
Asociacion: Multiplicidad
Simbolo Significado
1 Uno solamente
0..1 Cero o Uno
M..N De M a N
* Desde 0 a culaquier entero positivo
0..* Desde 0 a culaquier entero positivo
1..* Desde 1 a culaquier entero positivo
EJERCICIO 3
Una biblioteca tiene copias de libros. Estos
ultimos se caracterizan por su nombre,
tipo (novela, teatro, poesia, ensayo),
editorial, año y autor.
Los autores se caracterizan por su
nombre, nacionalidad y fecha de
nacimiento.
AGREGACIÓN
Clase Contenedora
Class C
Relación especifica
AGREGACION
Contenedor – Contenido
Class E1 Class E2
Expresa una relación donde
una instancia de la clase
Clases Contenidas
contenedora tiene la
responsabilidad de tener y
Canasta Supermercado
mantener instancias de la clase
contenida que se han creado
fuera de los auspicios de la
Manzanas Arroz clase contenedora.
AGREGACIÓN
Relación especifica
Contenedor – Contenido
Empleada para expresar una relación más informal que
la que expresa la composición.
Esto es, una relación apropiada donde el contenedor y
los contenidos pueden ser manipulados de manera
independiente.
Es apropiada cuando el contenedor y los contenidos no
tienen privilegios / accesos especiales entre cada uno .
Agregación vs. Composición