Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de TOO
V4.0
Junio 2017
Ferreiras.
Ferreiras
Elementos basicos de TOO 1
Contenido a desarrollar
- Elementos Básicos de TOO
- - Objetos
- - Atributos, estado y comportamiento de un objeto
- - Abstracción
- - Objeto de software
- - Object Identification, OID/UID
- - Objetos según shlaer, mellor y coad/yourdon
-- Beneficios del uso de objetos en la TOO y la POO
- - Clases
- - Definición de clase en TOO
- - - Ejemplos de objetos agrupados en clases
- - Notación para clases ( De Booch, Tylor, UML)
- - Tipos de datos UML y su sintaxis
- - Notación UML de objetos
- - Atributos, operaciones de una clase
- - Interfaz de una clase
- - Constructores de una clase
- - Destructor de una clase
- - Ejemplos de clases
LOS EQUIPOS
OBJETOS QUE
PODEMOS
CONCEPTUAR
Ferreiras Elementos basicos de TOO 18
Atributos estado y
Comportamiento de un objeto
Atributo: En general, un atributo es una
propiedad de un objeto que describe sus
características. Por ejemplo, son atributos de un
vehiculo:
Numero de chasis;
Color;
Consumo de combustible;
Tamaño
Forma;
número de asientos
precio;
Posición GPS
Velocidad
Propietario
Marca
XHRET102J345KDE23; Amarillo;
Un galón cada 40 KM; 3 metro cúbico
Caja del 2011; 4
RD$ 700,000.00; 43o 27’ 53.59” N; 80o 31’ 28.71” W
80 Km/hr Yuleidy Turpen Diario Libre
Hommer
<nobreDelObjeto>
{ información adicional }
chasis = XHRET102J345KDE23
Marca = TOYOTA
consumo = 40.0 {Km por galón}
precio = 880000 {RD$}
+ transportar() : int
+ atropellar() : String
• Through the process of abstraction, a programmer hides all but the relevant data about
an object in order to reduce complexity and increase efficiency.
• In the same way that abstraction sometimes works in art, the object that remains is a
representation of the original, with unwanted detail omitted.
•“You (the object) are arranging to meet a blind date and are deciding what to tell
them so that they can recognize you in the restaurant. You decide to include the
information about where you will be located, your height, hair color, and the color of
your jacket. This is all data that will help the procedure (your date finding you) work
smoothly. You should include all that information. “
• On the other hand, there are a lot of bits of information about you that aren't
relevant to this situation: your social security number, your admiration for obscure
films, and what you took to "show and tell" in fifth grade are all irrelevant to this
particular situation because they won't help your date find you. However, since
entities may have any number of abstractions, you may get to use them in another
procedure in the future.
PROCESO DE
ABSTRACCIÓN
EL MODELO
OBJETO3
OBJETO1
OBJETO2
incluirEmpleado;
ponerDatos;
verDatos;
actualizarDatos;
...
OBJETO
PROCESO
OBJETO
DE DE
REAL
ABSTRACCIÓN
SOFTWARE
“Cuando el nivel de
abstracción absorbe la
desmesura, el resultado
es la demencia”. Octavio
Paz, El mono gramático.
• Characteristics of OIDs:
• OIDs are independent of data contained in the object; The internal data values
are not used to generate identification.
• OIDs are generated by the object system; Users or programmers have no control
over Object identification.
LukasL2001
PapolinaQP201
JennyXF100 • Nótese que:
unVehiculo
• Es la
notación UML
chasis = XHRET102J345KDE23 de un objeto
Definen el nombrado;
Marca = TOYOTA
Estado Más adelante
consumo = 40.0 {Km por galón} veremos todos
Del precio = 880000 {RD$} los formatos
Objeto UML para
nombrar
+ transportar() : int objetos.
+ atropellar() : String
DOMINIO DOMINIO DE
DEL OBJETO LA
OBJETO DE APLICACIÓN
REAL SOFTWARE
- aviones
- reactores nucleares
- fuentes de alimentación
- televisores
- libros
- automóviles
…
- empresas
- partidos políticos
- equipos deportivos
- universidades
- ...
- gerentes
- clientes
- empleados
- médicos
- pacientes
- ingenieros
- estudiantes
…
- vuelos
- accidentes
- sucesos
- llamadas a un servicio de asistencia
técnica,
- …
- Especificaciones de refrigeradores,
- Especificaciones de motherboards
...
- sala de embarque,
- muelle de carga,
- …
Herencia El estado de un objeto hereda parte o todo de los datos del estado
de otro objeto;
Polimorfismo Mas de un objeto puede ejecutar una misma operación según
sus particular estado;
Son objetos
que
se pueden
agrupar
en la clase
PersonaCulta
<NombreClase>
Miembros
< atributos o campos>
de la clase
<métodos u operaciones>
{ información adicional }
• Por ejemplo:
• - salarioMensual : double = 93456.23 { DOP }
Estudiante Nombre
- matricula: long
- nombre: String Atributos
- direccion: String
- edad: byte
+ setNombre( no: String) : void
Miembros + getNombre() : String Operaciones
de la clase + setNota( x:double ) : void
Estudiante
IMPORTANTE,
MUY - matricula: long
- nombre: String
IMPORTANTE: - direccion: String
Este es el modelo - edad: byte
de la clase que se + setNombre( no: String) : void
+ getNombre() : String
implementará, es
+ setNota( x:double ) : void
decir, el que usted
codificará y { edad minima 16 }
probará
Ferreiras
Elementos basicos de TOO 71
Los valores de los atributos
de una clase definirán los
posibles datos de los estados en
los cuales una instancia de la
clase ( un objeto ) puede estar;
Es el conjunto de operaciones
que un objeto de la clase podrá
ejecutar para interactuar con el
mundo exterior a este.
Mundo
objeto de INTERFAZ
exterior al
la clase (funciones objeto
miembro)
Ferreiras
Elementos basicos de TOO 89
En la siguiente tabla se muestran
atributos y operaciones de clases.
• Using this heuristics we map various language constructs, such as nouns, verbs, and
adjectives, to component models. The following list illustrates related examples:
• From
– Pages 115-116, Software Engineering: A Hands-On Approach; Roger Y. Lee; Springer, 2013.
– Page 180, Object-Oriented Software Engineering Using UML, Patterns, and Java; Bernd Bruegge,
Allen H. Duttoit; Prentice Hall, Third Edition, 2010.
Ferreiras
Elementos basicos de TOO 96
Ejemplo completo
Narrativa
hija peligroso AA
Rosita inadecuado BB
hija peligroso AA
Rosita inadecuado BB
entra acción
tienda clase
intención atributo
comprar acción
juguete clase
hija clase
Rosita atributo
3 años atributo
Muñeca Juguete
(1) Estos son los atributos y las operaciones iniciales, como resultado
inmediato de aplicar la heurística indicada. En la fase de diseño ya se podrá
agregar o eliminar atributos y operaciones.
Ferreiras Elementos basicos de TOO 104
• Escribir el pseudocódigo de cada clase :
• NombreClase ( atrib1, atrib2, ... ; oper1, oper2, ...);
• Por ejemplo, para una de las clases encontradas aquí :
• Cliente( nombre, intencion; entrar, comprar, seleccionar, pagar);
•) Hacer la Notación UML de cada clase. Por ejemplo:
Cliente
- nombre : String
- intencion : String
+ entrar() : void
+ seleccionar() : String
+ pagar( valor: double ) : boolean
• ...
CRC Card
<<ClassName>>
SYSTEM: <<System name>>
CREATED BY: <<Analyst name>>
DATE, mm-dd-aaaa <<Developed date>>
CRC Card
UserMenu
SYSTEM: ATM
CREATED BY: Ferreiras
DATE, mm-dd-aaaa February-15-2013
Responsibilities of the class UserMenu CollaboratorClass::method( )
Display main menu
Ask user for PIN
Send PIN to BankSystem for validation BankSystem::method1()
Display validation error
Ask BankSystem for balance BankSystem::method2()
Print Balance Printer::method()
Debit Account BankSystem::method3()
Print Receipt Printer::metho4()
Eject card CardReader::method(5)
• En la preparación Matricula
de las CRC no es
absolutamente Nombres
necesario indicar los Los tres puntos (...)
atributos o campos. significan los
Apellidos
parámetros para los
Dirección
argumentos, si son
requeridos.
Los métodos Correo Electrónico
para las acciones
que podrán Inscribir curso Curso::InscribirCurso(...)
realizar los
objetos
Solicitar información Curso::MostrarInformacion(...)
Estudiantes
Un objeto Estudiante solicita ser inscrito. Esto significa que Curso debe tener
una acción para inscribir estudiante e informarle el resultado;
Un estudiante solicita retiro de un Curso. Esto significa que curso debe tener
una acción para retirar estudiantes e informarles.;
La clase colaborador Curso, vemos que debe tener atributos y acciones que
serán sus responsabilidades para poder colaborar con la clase Estudiante.
privado
protegido
publico
Base
Derivada
Presidente