SlideShare una empresa de Scribd logo
Modelado de clases y objetos
Jesús Alejandro Flores Hernández
jflorespampano@gmail.com
1
Razón
2
valió
Datos
3
Materia: Optativa Programación NET, Programación
orientada a objetos.
Objetivo: Comprender la forma de organizar las clases
y objetos en a capa de negocio.
Modelado
Un modelo se define como una abstracción del mundo
real. Primeramente debemos identificar que vamos a
modelar y en nuestro caso son los elementos que
interactúan en un problema a los que normalmente
llamaremos objetos
4
Ejemplo
Problema: Reinscripción de alumnos.
"Juan llega con la secretaria académica de la FCI para
realizar su reinscripción, solicita ser atendido, espera
su turno, da su matrícula y entrega la lista de materias
que tomara en el próximo ciclo…".
Análisis
En este problema encontramos a "Juan" a la
"secretaria académica" y las "materias" estos
elementos interactúan en el problema y son llamados
objetos.
5
Clasificación
De la misma forma que Juan se reinscribe, también lo
hace María, Rosa, y n alumnos mas, todos los
alumnos son diferentes, de la misma manera que hay
otros secretarios académicos en otras facultades y
hay muchas materias, sin embargo tienen
características comunes.
Por ejemplo cada alumno tiene:
Matricula
Nombre
Carrera
6
Clasificación y ámbito
Extraer las características comunes de un conjunto de
objetos es el proceso de clasificación.
El conjunto de objetos son clasificados y sus clases
forman parte del modelo del problema.
Todos los objetos del mismo tipo son asociados a una
clase, por ejemplo Juan, María, y los demás alumnos
son asociados a la clase alumno pues tienen
características comunes.
Una vez identificada la clase de objetos a modelar
debemos analizar el ámbito en que queremos aplicar
el modelo.7
Ejemplo ámbito del problema
Un objeto de la clase persona la puedo ver desde el
punto de vista de un empleado o de un alumno o de
un esposo o esposa, etcétera.
Por tanto el ámbito será: Empresa, Escuela, Hogar, ....
En dependencia del ámbito identificamos un conjunto
de características (también llamadas atributos) del
objeto.
Notemos que una entidad puede tener miles de
características pero la mayoría no serían pertinentes
en un ámbito en particular.
8
Ejemplo extracción de características
Si estoy modelando una clase alumno en el ámbito de
una escuela, serian importantes características como:
Nombre,
Edad,
Calificación,
Pero serian irrelevantes otras como:
Estatura,
Peso,
Estado Civil
9
Modelo de clase
Clase Persona con
atributos:
Nombre
Edad
Calificación
Fin clase
10
Modelo de clase en VB
11
class clsPersona
‘atributos
private _nombre
private _edad
private _calificacion
end class
Modelo de clase: identificar operaciones
Este es un modelo por qué no incluye todas las
características de la persona, sino solo algunas de
ellas, el resto se perdieron como parte del proceso de
abstracción, notemos además que este modelo
incluye solo la abstracción de los atributos de la
entidad, pero no incluye aun las operaciones que la
persona puede realizar tales como: Estudiar, Leer,
Caminar y otras.
Las operaciones modeladas también dependerán del
ámbito del problema
12
Operaciones
Una vez que encontramos los atributos del objeto
debemos buscar sus operaciones, estas son las
acciones que puede realizar un objeto o que puedo
realizar sobre el.
Por ejemplo un alumno puede almacenar (en su
memoria) su nombre esta operación en un alumno
real se realiza en su más tierna infancia (registro civil)
pero para el alumno que estamos modelando se debe
realizar al iniciar el programa.
13
Nombres de operaciones
Por tanto una operación que permita almacenar el
nombre del alumno en el atributo correspondiente,
esta operación puede llamarse "guardarNombre",
"bautizar", "setNombre" etc. lo importante es que
entendamos que esta operación implica actualizar la
información en el atributo "nombre" del alumno.
En general las operaciones se ven reflejadas por un
cambio en los valores de los atributos (es decir
cambia su estado)
14
Mas operaciones
Los objetos son los elementos que “actúan” en el
problema o sobre los que se “actúa”,.
Por ejemplo El alumno Juan Pérez calcula el promedio
de sus calificaciones en los exámenes de la materia
POO, Al Alumno Juan Pérez le asigno una calificación
en la experiencia 1, en este ejemplo Juan Pérez es un
objeto y el cálculo de promedio es una operación que
realiza el alumno y asignar calificación es una
transformación (en sus datos) a la que se ve sujeto el
alumno.
15
Modelo clase alumno
Clase alumno
‘Atributos
nombre
edad
califEx1
califEx2
‘operaciones
guardarNombre
guardarEdad
devolverNombre
devolverEdad
guardarCalifEx1
guardarCalifEx2
calcularPromedio
Fin clase
16
Modelo alumno en VB
class clsAlumno
private _nombre as string
private _edad as integer
private _califEx1 as integer
private _califEx2 as integer
‘operaciones
property nombre as string
set
_nombre=value
end set
get
return _nombre
end get
end property
…
public function calcularPromedio as integer
return (_califEx1+_califEx2)/2
end function
End class
17
Aplicaciones
18
Cuando se modela una aplicación se definen las
clases, la funcionalidad del sistema se definirá por un
conjunto de operaciones que se implementarán como
subrutinas y funciones en el programa.
Estas operaciones deben ser asignadas a una
clase en dependencia de su análisis.
A continuación veremos algunos errores comunes.
Extracto de una narrativa
19
… se desea controlar un almacén donde se agregan
partes que provienen de los pedidos que se solicitan
a un proveedor de una lista de proveedores, se desea
controlar también las salidas de las partes de un
almacén, las salidas de almacén se solicitan por
medio del mostrador de ventas.
Los atributos del proveedor son: clave, nombre,
teléfono.
Los atributos de la parte son: nombre, existencia,
ubicación.
A partir de esa narrativa se crean las Clases
20
Almacen
Operaciones
Fin almaccen
Parte
Operaciones
Fin Parte
Mostrador
Operaciones
Fin
Mostrador
ListaProveedores
Operaciones
Fin ListaProveedores
La funcionalidad
encontrada es:
AgregarParte()
HacerPedido()
SalidaParte()
Proveedor
Operaciones
Fin
Proveedor
Asignación incorrecta
21
Almacen
Operaciones
Fin almaccen
Parte
Operaciones
AgregarParte()
HacerPedido()
SalidaParte()
Fin parte
Mostrador
Operaciones
Fin
Mostrador
ListaProveedores
Operaciones
Fin ListaProveedores
Esta asociación de
funcionalidad es
incorrecta, aunque es
común que el alumno la
realice.
Una parte se agrega a la
clase que contendrá el
conjunto de partes, esta
clase es almacén.
Vemos también que los
pedidos se realizan a un
proveedor y no le solicito
el pedido a una parte.
Proveedor
Operaciones
Fin
Proveedor
Asignación correcta
22
Almacen
Operaciones
sub AgregarParte(p:Parte, cantidad)
function SalidaParte():Parte
Fin almaccen
Parte
Operaciones
Fin parte
Mostrador
Operaciones
Fin
Mostrador
ListaProveedores
Operaciones
Fin ListaProveedores
Esta es una asociación
correcta.
Le estamos agregando
parámetros por que al
hacer pedido debemos
indicar que tipo de parte se
solicita y cantidad.
Proveedor
Operaciones
sub HacerPedido(p:Parte, cantidad)
Fin Proveedor
Ejemplo Agencia autos
23
Clases: auto, cliente, venta, almacén (de autos), lista
de clientes, registro de ventas, etcétera.
Es importante encontrar las clases que contienen la
información y además las clases que contienen a
estas clases.
Por ejemplo cliente es el objeto que almacena la
información del cliente, pero debemos preguntarnos
¿Dónde guardamos los clientes?, de esta manera
aparece la clase lista de clientes.
Así
24
Tendremos las clases:
 Auto
 Cliente
 Venta
Y las clases que las contienen
 Almacén (de autos)
 Almacén (de refacciones)
 Lista de clientes
 Registro de ventas
Clase auto
25
class clsAuto
private _id as string
private _marca as integer
private _precio as integer
private _tipo as integer
‘operaciones
property id as string
set
_id=value
end set
get
return _id
end get
end property
…
End class
Clase almacén
26
class clsAlmacen
‘operaciones
sub agregaAuto(a as clsAuto)
end sub
sub traeListaAutos
end sub
function verificaExistencia as integer
‘devolver la existencia
end function
End class
Base de datos
27
Este conjunto de clases componen la capa de
negocio, la comunicación con la base de datos se
hará en las clase que almacenan la información (ver
diapositiva 21).
Clase almacén
28
class clsAlmacen
‘operaciones
sub agregaAuto(a as clsAuto)
‘construye consulta insert a partir de los datos
‘recibidos en el objeto a
dim sql As String="insert into autos values('" & a.id & "','" & _
a.marca & "','" & _
a.precio & "'," & _
a.tipo & ")"
‘abre una conexión con la base de datos
conn = New MySqlConnection(“…")
conn.Open()
‘crea un comando
Dim comando As new MySqlCommand(sql,conn)
‘ejecuta la consula
comando.executenonquery()
Conn.close()
end sub
…
End class
Otra operación
29
class clsAlmacen
function traeListaAutos as data.datatable
Dim t As New Data.DataTable("miTabla")
‘construye consuta select
dim sql As String=“select * from autos"
‘abre una conexión con la base de datos
conn = New MySqlConnection(“…")
conn.Open()
‘crea un data adapter
da = New MySqlDataAdapter(sql, conn)
‘ejecuta la consula
da.Fill(t)
conn.Close()
return t
end sub
End class
Desde la interfaz
30
Public partial class frmMostrarAutos
…
Private Sub mostrarTodos
Dim o As New clsAlmacen
Dim t As New Data.DataTable
t=o. traeListaAutos()
Me.dgvDatos.DataSource=t
End sub
Sub frmMostrarAutosLoad(sender As Object, e As EventArgs)
Me.mostrarTodos()
End Sub
…
End class
Fin
31
MI Jesús Alejandro Flores Hernández
Academia de programación

Más contenido relacionado

Destacado

Sistemas expertos
Sistemas expertosSistemas expertos
Perceptron
PerceptronPerceptron
Ann chapter-3-single layerperceptron20021031
Ann chapter-3-single layerperceptron20021031Ann chapter-3-single layerperceptron20021031
Ann chapter-3-single layerperceptron20021031frdos
 
Artificial Neural Networks Lect8: Neural networks for constrained optimization
Artificial Neural Networks Lect8: Neural networks for constrained optimizationArtificial Neural Networks Lect8: Neural networks for constrained optimization
Artificial Neural Networks Lect8: Neural networks for constrained optimization
Mohammed Bennamoun
 
Artificial Neural Network Lecture 6- Associative Memories & Discrete Hopfield...
Artificial Neural Network Lecture 6- Associative Memories & Discrete Hopfield...Artificial Neural Network Lecture 6- Associative Memories & Discrete Hopfield...
Artificial Neural Network Lecture 6- Associative Memories & Discrete Hopfield...
Mohammed Bennamoun
 
Artificial Neural Networks Lect3: Neural Network Learning rules
Artificial Neural Networks Lect3: Neural Network Learning rulesArtificial Neural Networks Lect3: Neural Network Learning rules
Artificial Neural Networks Lect3: Neural Network Learning rules
Mohammed Bennamoun
 
Artificial Neural Networks Lect5: Multi-Layer Perceptron & Backpropagation
Artificial Neural Networks Lect5: Multi-Layer Perceptron & BackpropagationArtificial Neural Networks Lect5: Multi-Layer Perceptron & Backpropagation
Artificial Neural Networks Lect5: Multi-Layer Perceptron & Backpropagation
Mohammed Bennamoun
 
Artificial Neural Network Lect4 : Single Layer Perceptron Classifiers
Artificial Neural Network Lect4 : Single Layer Perceptron ClassifiersArtificial Neural Network Lect4 : Single Layer Perceptron Classifiers
Artificial Neural Network Lect4 : Single Layer Perceptron Classifiers
Mohammed Bennamoun
 

Destacado (8)

Sistemas expertos
Sistemas expertosSistemas expertos
Sistemas expertos
 
Perceptron
PerceptronPerceptron
Perceptron
 
Ann chapter-3-single layerperceptron20021031
Ann chapter-3-single layerperceptron20021031Ann chapter-3-single layerperceptron20021031
Ann chapter-3-single layerperceptron20021031
 
Artificial Neural Networks Lect8: Neural networks for constrained optimization
Artificial Neural Networks Lect8: Neural networks for constrained optimizationArtificial Neural Networks Lect8: Neural networks for constrained optimization
Artificial Neural Networks Lect8: Neural networks for constrained optimization
 
Artificial Neural Network Lecture 6- Associative Memories & Discrete Hopfield...
Artificial Neural Network Lecture 6- Associative Memories & Discrete Hopfield...Artificial Neural Network Lecture 6- Associative Memories & Discrete Hopfield...
Artificial Neural Network Lecture 6- Associative Memories & Discrete Hopfield...
 
Artificial Neural Networks Lect3: Neural Network Learning rules
Artificial Neural Networks Lect3: Neural Network Learning rulesArtificial Neural Networks Lect3: Neural Network Learning rules
Artificial Neural Networks Lect3: Neural Network Learning rules
 
Artificial Neural Networks Lect5: Multi-Layer Perceptron & Backpropagation
Artificial Neural Networks Lect5: Multi-Layer Perceptron & BackpropagationArtificial Neural Networks Lect5: Multi-Layer Perceptron & Backpropagation
Artificial Neural Networks Lect5: Multi-Layer Perceptron & Backpropagation
 
Artificial Neural Network Lect4 : Single Layer Perceptron Classifiers
Artificial Neural Network Lect4 : Single Layer Perceptron ClassifiersArtificial Neural Network Lect4 : Single Layer Perceptron Classifiers
Artificial Neural Network Lect4 : Single Layer Perceptron Classifiers
 

Similar a Modelado clases

Poo 1 concepto_basico
Poo 1 concepto_basicoPoo 1 concepto_basico
Poo 1 concepto_basico
jlmanmons
 
UT05-POO.pdf
UT05-POO.pdfUT05-POO.pdf
UT05-POO.pdf
ReinaldoGonzlez10
 
modularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptxmodularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptx
javierccallo
 
Nvo objects powerbuilder
Nvo objects powerbuilderNvo objects powerbuilder
Nvo objects powerbuilder
Linux
 
Jon Cartier
Jon CartierJon Cartier
Jon Cartier
Silver Wolf
 
Unidad introduccion a la poo
Unidad introduccion a la pooUnidad introduccion a la poo
Unidad introduccion a la poo
Sol Hernández
 
Diogenes
DiogenesDiogenes
Diogenes
unrated999
 
1 clases y_objetos (2)
1 clases y_objetos (2)1 clases y_objetos (2)
1 clases y_objetos (2)
ElielMauricioEscobar
 
Ces03
Ces03Ces03
02401 04-509376nomivkzutz
02401 04-509376nomivkzutz02401 04-509376nomivkzutz
02401 04-509376nomivkzutz
giomar_alvarezc
 
Introducción a la progrogramación orientada a objetos
Introducción a la progrogramación orientada a objetosIntroducción a la progrogramación orientada a objetos
Introducción a la progrogramación orientada a objetos
Facultad de Ciencias y Sistemas
 
1 clases y objetos
1 clases y objetos1 clases y objetos
1 clases y objetos
Yasith Guette
 
1 2 5 Modelando Clases
1 2 5 Modelando Clases1 2 5 Modelando Clases
1 2 5 Modelando ClasesUVM
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
innovalabcun
 
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptxResumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
DELIAMARINAHERAZOTUI
 
Unidad III epoo
Unidad III epooUnidad III epoo
Unidad III epoo
lhgarzonr
 

Similar a Modelado clases (20)

Poo 1 concepto_basico
Poo 1 concepto_basicoPoo 1 concepto_basico
Poo 1 concepto_basico
 
UT05-POO.pdf
UT05-POO.pdfUT05-POO.pdf
UT05-POO.pdf
 
modularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptxmodularidad de programación 2da parte (3) (1).pptx
modularidad de programación 2da parte (3) (1).pptx
 
Nvo objects powerbuilder
Nvo objects powerbuilderNvo objects powerbuilder
Nvo objects powerbuilder
 
Jon Cartier
Jon CartierJon Cartier
Jon Cartier
 
Unidad introduccion a la poo
Unidad introduccion a la pooUnidad introduccion a la poo
Unidad introduccion a la poo
 
Diogenes
DiogenesDiogenes
Diogenes
 
Introduccion
IntroduccionIntroduccion
Introduccion
 
Introduccion
IntroduccionIntroduccion
Introduccion
 
1 clases y_objetos (2)
1 clases y_objetos (2)1 clases y_objetos (2)
1 clases y_objetos (2)
 
Mv vol2 ver5.0(corregido)
Mv vol2 ver5.0(corregido)Mv vol2 ver5.0(corregido)
Mv vol2 ver5.0(corregido)
 
Oo basico
Oo basicoOo basico
Oo basico
 
Ces03
Ces03Ces03
Ces03
 
02401 04-509376nomivkzutz
02401 04-509376nomivkzutz02401 04-509376nomivkzutz
02401 04-509376nomivkzutz
 
Introducción a la progrogramación orientada a objetos
Introducción a la progrogramación orientada a objetosIntroducción a la progrogramación orientada a objetos
Introducción a la progrogramación orientada a objetos
 
1 clases y objetos
1 clases y objetos1 clases y objetos
1 clases y objetos
 
1 2 5 Modelando Clases
1 2 5 Modelando Clases1 2 5 Modelando Clases
1 2 5 Modelando Clases
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptxResumen Programación Orientada a Objetos 20_06_2023 (1).pptx
Resumen Programación Orientada a Objetos 20_06_2023 (1).pptx
 
Unidad III epoo
Unidad III epooUnidad III epoo
Unidad III epoo
 

Último

El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
Alejandrino Halire Ccahuana
 
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
María Sánchez González (@cibermarikiya)
 
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdfUNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
Joan Ribes Gallén
 
MIP PAPA Rancha Papa.pdf.....y caracteristicas
MIP PAPA  Rancha Papa.pdf.....y caracteristicasMIP PAPA  Rancha Papa.pdf.....y caracteristicas
MIP PAPA Rancha Papa.pdf.....y caracteristicas
jheisonraulmedinafer
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
HuallpaSamaniegoSeba
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
Armando920824
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
Carlos salina de Gortari Presentación de su Sexenio
Carlos salina de Gortari Presentación de su SexenioCarlos salina de Gortari Presentación de su Sexenio
Carlos salina de Gortari Presentación de su Sexenio
johanpacheco9
 
Presentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdfPresentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdf
H4RV3YH3RN4ND3Z
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
lautyzaracho4
 
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxxPLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
cportizsanchez48
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
TatianaVanessaAltami
 

Último (20)

El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
 
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdfUNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
 
MIP PAPA Rancha Papa.pdf.....y caracteristicas
MIP PAPA  Rancha Papa.pdf.....y caracteristicasMIP PAPA  Rancha Papa.pdf.....y caracteristicas
MIP PAPA Rancha Papa.pdf.....y caracteristicas
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
Carlos salina de Gortari Presentación de su Sexenio
Carlos salina de Gortari Presentación de su SexenioCarlos salina de Gortari Presentación de su Sexenio
Carlos salina de Gortari Presentación de su Sexenio
 
Presentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdfPresentación Curso C. Diferencial - 2024-1.pdf
Presentación Curso C. Diferencial - 2024-1.pdf
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
 
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxxPLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
 

Modelado clases

  • 1. Modelado de clases y objetos Jesús Alejandro Flores Hernández jflorespampano@gmail.com 1
  • 3. Datos 3 Materia: Optativa Programación NET, Programación orientada a objetos. Objetivo: Comprender la forma de organizar las clases y objetos en a capa de negocio.
  • 4. Modelado Un modelo se define como una abstracción del mundo real. Primeramente debemos identificar que vamos a modelar y en nuestro caso son los elementos que interactúan en un problema a los que normalmente llamaremos objetos 4
  • 5. Ejemplo Problema: Reinscripción de alumnos. "Juan llega con la secretaria académica de la FCI para realizar su reinscripción, solicita ser atendido, espera su turno, da su matrícula y entrega la lista de materias que tomara en el próximo ciclo…". Análisis En este problema encontramos a "Juan" a la "secretaria académica" y las "materias" estos elementos interactúan en el problema y son llamados objetos. 5
  • 6. Clasificación De la misma forma que Juan se reinscribe, también lo hace María, Rosa, y n alumnos mas, todos los alumnos son diferentes, de la misma manera que hay otros secretarios académicos en otras facultades y hay muchas materias, sin embargo tienen características comunes. Por ejemplo cada alumno tiene: Matricula Nombre Carrera 6
  • 7. Clasificación y ámbito Extraer las características comunes de un conjunto de objetos es el proceso de clasificación. El conjunto de objetos son clasificados y sus clases forman parte del modelo del problema. Todos los objetos del mismo tipo son asociados a una clase, por ejemplo Juan, María, y los demás alumnos son asociados a la clase alumno pues tienen características comunes. Una vez identificada la clase de objetos a modelar debemos analizar el ámbito en que queremos aplicar el modelo.7
  • 8. Ejemplo ámbito del problema Un objeto de la clase persona la puedo ver desde el punto de vista de un empleado o de un alumno o de un esposo o esposa, etcétera. Por tanto el ámbito será: Empresa, Escuela, Hogar, .... En dependencia del ámbito identificamos un conjunto de características (también llamadas atributos) del objeto. Notemos que una entidad puede tener miles de características pero la mayoría no serían pertinentes en un ámbito en particular. 8
  • 9. Ejemplo extracción de características Si estoy modelando una clase alumno en el ámbito de una escuela, serian importantes características como: Nombre, Edad, Calificación, Pero serian irrelevantes otras como: Estatura, Peso, Estado Civil 9
  • 10. Modelo de clase Clase Persona con atributos: Nombre Edad Calificación Fin clase 10
  • 11. Modelo de clase en VB 11 class clsPersona ‘atributos private _nombre private _edad private _calificacion end class
  • 12. Modelo de clase: identificar operaciones Este es un modelo por qué no incluye todas las características de la persona, sino solo algunas de ellas, el resto se perdieron como parte del proceso de abstracción, notemos además que este modelo incluye solo la abstracción de los atributos de la entidad, pero no incluye aun las operaciones que la persona puede realizar tales como: Estudiar, Leer, Caminar y otras. Las operaciones modeladas también dependerán del ámbito del problema 12
  • 13. Operaciones Una vez que encontramos los atributos del objeto debemos buscar sus operaciones, estas son las acciones que puede realizar un objeto o que puedo realizar sobre el. Por ejemplo un alumno puede almacenar (en su memoria) su nombre esta operación en un alumno real se realiza en su más tierna infancia (registro civil) pero para el alumno que estamos modelando se debe realizar al iniciar el programa. 13
  • 14. Nombres de operaciones Por tanto una operación que permita almacenar el nombre del alumno en el atributo correspondiente, esta operación puede llamarse "guardarNombre", "bautizar", "setNombre" etc. lo importante es que entendamos que esta operación implica actualizar la información en el atributo "nombre" del alumno. En general las operaciones se ven reflejadas por un cambio en los valores de los atributos (es decir cambia su estado) 14
  • 15. Mas operaciones Los objetos son los elementos que “actúan” en el problema o sobre los que se “actúa”,. Por ejemplo El alumno Juan Pérez calcula el promedio de sus calificaciones en los exámenes de la materia POO, Al Alumno Juan Pérez le asigno una calificación en la experiencia 1, en este ejemplo Juan Pérez es un objeto y el cálculo de promedio es una operación que realiza el alumno y asignar calificación es una transformación (en sus datos) a la que se ve sujeto el alumno. 15
  • 16. Modelo clase alumno Clase alumno ‘Atributos nombre edad califEx1 califEx2 ‘operaciones guardarNombre guardarEdad devolverNombre devolverEdad guardarCalifEx1 guardarCalifEx2 calcularPromedio Fin clase 16
  • 17. Modelo alumno en VB class clsAlumno private _nombre as string private _edad as integer private _califEx1 as integer private _califEx2 as integer ‘operaciones property nombre as string set _nombre=value end set get return _nombre end get end property … public function calcularPromedio as integer return (_califEx1+_califEx2)/2 end function End class 17
  • 18. Aplicaciones 18 Cuando se modela una aplicación se definen las clases, la funcionalidad del sistema se definirá por un conjunto de operaciones que se implementarán como subrutinas y funciones en el programa. Estas operaciones deben ser asignadas a una clase en dependencia de su análisis. A continuación veremos algunos errores comunes.
  • 19. Extracto de una narrativa 19 … se desea controlar un almacén donde se agregan partes que provienen de los pedidos que se solicitan a un proveedor de una lista de proveedores, se desea controlar también las salidas de las partes de un almacén, las salidas de almacén se solicitan por medio del mostrador de ventas. Los atributos del proveedor son: clave, nombre, teléfono. Los atributos de la parte son: nombre, existencia, ubicación.
  • 20. A partir de esa narrativa se crean las Clases 20 Almacen Operaciones Fin almaccen Parte Operaciones Fin Parte Mostrador Operaciones Fin Mostrador ListaProveedores Operaciones Fin ListaProveedores La funcionalidad encontrada es: AgregarParte() HacerPedido() SalidaParte() Proveedor Operaciones Fin Proveedor
  • 21. Asignación incorrecta 21 Almacen Operaciones Fin almaccen Parte Operaciones AgregarParte() HacerPedido() SalidaParte() Fin parte Mostrador Operaciones Fin Mostrador ListaProveedores Operaciones Fin ListaProveedores Esta asociación de funcionalidad es incorrecta, aunque es común que el alumno la realice. Una parte se agrega a la clase que contendrá el conjunto de partes, esta clase es almacén. Vemos también que los pedidos se realizan a un proveedor y no le solicito el pedido a una parte. Proveedor Operaciones Fin Proveedor
  • 22. Asignación correcta 22 Almacen Operaciones sub AgregarParte(p:Parte, cantidad) function SalidaParte():Parte Fin almaccen Parte Operaciones Fin parte Mostrador Operaciones Fin Mostrador ListaProveedores Operaciones Fin ListaProveedores Esta es una asociación correcta. Le estamos agregando parámetros por que al hacer pedido debemos indicar que tipo de parte se solicita y cantidad. Proveedor Operaciones sub HacerPedido(p:Parte, cantidad) Fin Proveedor
  • 23. Ejemplo Agencia autos 23 Clases: auto, cliente, venta, almacén (de autos), lista de clientes, registro de ventas, etcétera. Es importante encontrar las clases que contienen la información y además las clases que contienen a estas clases. Por ejemplo cliente es el objeto que almacena la información del cliente, pero debemos preguntarnos ¿Dónde guardamos los clientes?, de esta manera aparece la clase lista de clientes.
  • 24. Así 24 Tendremos las clases:  Auto  Cliente  Venta Y las clases que las contienen  Almacén (de autos)  Almacén (de refacciones)  Lista de clientes  Registro de ventas
  • 25. Clase auto 25 class clsAuto private _id as string private _marca as integer private _precio as integer private _tipo as integer ‘operaciones property id as string set _id=value end set get return _id end get end property … End class
  • 26. Clase almacén 26 class clsAlmacen ‘operaciones sub agregaAuto(a as clsAuto) end sub sub traeListaAutos end sub function verificaExistencia as integer ‘devolver la existencia end function End class
  • 27. Base de datos 27 Este conjunto de clases componen la capa de negocio, la comunicación con la base de datos se hará en las clase que almacenan la información (ver diapositiva 21).
  • 28. Clase almacén 28 class clsAlmacen ‘operaciones sub agregaAuto(a as clsAuto) ‘construye consulta insert a partir de los datos ‘recibidos en el objeto a dim sql As String="insert into autos values('" & a.id & "','" & _ a.marca & "','" & _ a.precio & "'," & _ a.tipo & ")" ‘abre una conexión con la base de datos conn = New MySqlConnection(“…") conn.Open() ‘crea un comando Dim comando As new MySqlCommand(sql,conn) ‘ejecuta la consula comando.executenonquery() Conn.close() end sub … End class
  • 29. Otra operación 29 class clsAlmacen function traeListaAutos as data.datatable Dim t As New Data.DataTable("miTabla") ‘construye consuta select dim sql As String=“select * from autos" ‘abre una conexión con la base de datos conn = New MySqlConnection(“…") conn.Open() ‘crea un data adapter da = New MySqlDataAdapter(sql, conn) ‘ejecuta la consula da.Fill(t) conn.Close() return t end sub End class
  • 30. Desde la interfaz 30 Public partial class frmMostrarAutos … Private Sub mostrarTodos Dim o As New clsAlmacen Dim t As New Data.DataTable t=o. traeListaAutos() Me.dgvDatos.DataSource=t End sub Sub frmMostrarAutosLoad(sender As Object, e As EventArgs) Me.mostrarTodos() End Sub … End class
  • 31. Fin 31 MI Jesús Alejandro Flores Hernández Academia de programación