SlideShare une entreprise Scribd logo
1  sur  39
Guillermo Villafaña Rodríguez
Programación Orientada a Objetos
Instituto Tecnológico de
Celaya
Programa que al introducir dos números realice las
operaciones matemáticas que una calculadora, las cuales
son suma, resta, multiplicación y división.
Concepto de patrón
• Un patrón es la abstracción de una forma concreta que puede
repetirse en contextos específicos.
• Un patrón es una unidad de información nombrada, instructiva e
intuitiva que captura la esencia de una familia exitosa de
soluciones probadas a un problema recurrente dentro de un
cierto contexto.
• Programar no significa colocar líneas al azar y ver si se obtienen los resultados
requeridos. Tampoco significa concebir una solución partiendo desde cero.
Siempre se reutilizan elementos de programas conocidos. Es así como al
estudiar los programas se pueden observar patrones de organización de las
instrucciones que se repiten una y otra vez. Estas instrucciones rara vez son
idénticas, pero exhiben ciertas similitudes, que denominaremos patrones de
programación.
• Es importante conocer estos patrones de programación porque son muy útiles para
concebir nuevos programas. Ellos resuelven problemas conocidos sin tener que re-
inventar soluciones para esos problemas una y otra vez.
• Un ejemplo de estos patrones de programación es la acumulación. Este patrón se
usa para realizar cálculos como la suma de varios valores calculados en las
iteraciones de un ciclo:
• suma= val1 + val2 + val3 + ... + valn
• producto= fac1 * fac2 * fac3 * ... * facn
• Iteraciones: se refiere a la acción de repetir una serie de pasos un cierto número de
veces.
Característicasde los patrones de
programación
• Hay que tener en cuenta que no todas las soluciones que
tengan las características de un patrón son un patrón, sino
que debe probarse que es una solución a un problema que
se repite.
• Para que se pueda considerar un patrón, éste debe pasar
por unas pruebas que reciben el nombre de test de
patrones.
• Mientras tanto esa solución recibe el nombre de proto-
patrón.
• Los patrones indican repetición, si algo no se repite, no es
posible que sea un patrón. Pero la repetición no es la única
característica importante. También necesitamos mostrar que un
patrón se adapta para poder usarlo, y que es útil. La repetición es
una característica cuantitativa pura, la adaptabilidad y utilidad son
características cualitativas. Podemos mostrar la repetición
simplemente aplicando la regla de tres (en al menos tres sistemas
existentes); mostrar la adaptabilidad explicando como el patrón
es exitoso; y mostrar la utilidad explicando porque es exitoso y
beneficioso.
• Un patrón debe ser útil porque enseña como el patrón que
tenemos en nuestra mente puede ser transformado en una
instancia del patrón en el mundo real, como una cosa que añade
valor a nuestra vida como diseñadores. Un patrón debe ser
también utilizable porque muestra como un patrón descrito de
una forma literaria puede ser transformado en un patrón que
tenemos en nuestra mente. Y un patrón debe ser usado porque
es como los patrones que existen en el mundo real llegan a ser
documentados como patrones de una forma literaria.
UML
UML
• El lenguaje unificado de diagrama sirve para especificar, visualizar
y documentar esquemas de sistemas de software orientado a
objetos.
• UML no es un método de desarrollo, lo que significa que no
sirve para determinar qué hacer en primer lugar o cómo diseñar
el sistema, sino que simplemente le ayuda a visualizar el diseño y
a hacerlo más accesible para otros.
• UML está controlado por el grupo de administración de objetos
(OMG) y es el estándar de descripción de esquemas de software.
El OMG (de sus siglas en inglés Grupo de Gestión de
Objetos) es un consorcio dedicado al cuidado y el
establecimiento de diversos estándares de tecnologías
orientadas a objetos, tales
como UML, XMI, CORBA. Es una organización sin
ánimo de lucro que promueve el uso de tecnología
orientada a objetos mediante guías y especificaciones
para las mismas. El grupo está formado por diversas
compañías y organizaciones con distintos privilegios
dentro de la misma.
• UML se compone de muchos elementos de esquematización que
representan las diferentes partes de un sistema de software
~ Diagrama de casos de uso
~ Diagrama de clases
~ Diagrama de secuencia
~ Diagrama de colaboración
~ Diagrama de estado
~ Diagrama de actividad
~ Diagrama de componentes
~ Diagrama de implementación
~ Diagrama de relaciones de entidad
Diagrama de casos de uso
• Los diagramas de casos de uso describen las relaciones
y las dependencias entre un grupo de casos de uso y los
actores participantes en el proceso.
• Los diagramas de casos de uso sirven para facilitar la
comunicación con los futuros usuarios del sistema, y
resultan especialmente útiles para determinar las
características necesarias que tendrá el sistema. En otras
palabras, los diagramas de casos de uso
describen qué es lo que debe hacer el sistema, pero
no cómo.
Diagrama de clases
• Los diagramas de clases muestran las diferentes clases que componen un sistema y
cómo se relacionan unas con otras.
• Son diagramas “estáticos” porque muestran las clases, junto con sus métodos y
atributos, así como las relaciones estáticas entre ellas: qué
clases “conocen” a qué otras clases o qué clases “son parte” de otras clases, pero
no muestran los métodos mediante los que se invocan entre ellas.
• Las clases están representadas por rectángulos, con el nombre de la clase, y también
pueden mostrar atributos y métodos de la clase en otros dos “compartimentos” dentro
del rectángulo.
• Los propiedades se muestran al menos con su nombre, y también pueden mostrar su
tipo, valor inicial y otras propiedades.
• Los métodos también se muestran al menos con su nombre, y pueden mostrar sus
parámetros y valores de retorno.
+ Indica propiedades / métodos públicos
# Indica propiedades / métodos protegidos
- Indica propiedades / métodos privados
Representación de una clase:
En un diagrama de clases, los vínculos entre clases se representan por líneas. A las que
se les de diferentes características dependiendo del tipo de relación.
Adicionalmente, en los extremos de estas líneas, puede colocarse la descripción del Rol
que asume cada clase en esa relación
También en los extremos de la línea, se coloca la Cardinalidad, que describe cuántos
objetos de cada clase pueden participar en la relación.(mínimo..máximo)
La Cardinalidad de una relación puede ser:
 - Ninguno o Muchos 0..* o * o (0..n)
 - Uno o muchos 1..* o (1..n)
 - Exactamente uno 1 o (1)
 - Un número fijo m o (m)
 - Un numero variable 2..6 o (2..6)
Ejemplo Cardinalidad :
Entre dos clases puede existir una relación de Herencia o, en la terminología de UML
, de Generalización.
- Cuando una clase es parte o componente de otra
clase se le denomina Agregación.
Alternativas para mostrar Agregación por Composición
- Si existe un vínculo entre los objetos de las clases se denomina relación de
Asociación.
Muchas clases pueden estar asociadas a una misma clase
Asociaciones formadas por clases que se relacionan en forma alternativa
Para una misma clase puede existir una asociación recursiva
Diagramas de
secuencia
Los diagramas de secuencia muestran el intercambio de mensajes
(es decir la forma en que se invocan) en un momento dado. Los
diagramas de secuencia ponen especial énfasis en el orden y el
momento en que se envían los mensajes a los objetos.
En los diagramas de secuencia, los objetos están representados por
líneas intermitentes verticales, con el nombre del objeto en la parte
más alta. El eje de tiempo también es vertical, incrementándose
Diagramas de
colaboración
Los diagramas de colaboración muestran las interacciones que ocurren
entre los objetos que participan en una situación determinada. Esta es más
o menos la misma información que la mostrada por los diagramas de
secuencia, pero destacando la forma en que las operaciones se producen en
el tiempo, mientras que los diagramas de colaboración fijan el interés en las
relaciones entre los objetos y su topología.
Diagramas de estado
Los diagramas de estado describen gráficamente los eventos y los estados de
los objetos. Los diagramas de estado son útiles, entre otras cosas, para
indicar los eventos del sistema en los casos de uso.
Diagramas de actividades
Los diagramas de actividad describen la secuencia de las actividades en un
sistema. Los diagramas de actividad son una forma especial de los
diagramas de estado, que únicamente (o mayormente) contienen
actividades.
Diagramas de componentes
Puede usar un diagrama de componentes para describir un diseño que se
implemente en cualquier lenguaje o estilo. Solo es necesario identificar los
elementos del diseño que interactúan con otros elementos del diseño a
través de un conjunto restringido de entradas y salidas. Los componentes
pueden tener cualquier escala y pueden estar interconectados de cualquier
manera.
Bibliografia
Microsoft Developer Network
Desarrollar modelos para el diseño de software:
http://msdn.microsoft.com/es-es/library/dd409436.aspx
KDE Documentation
http://docs.kde.org/stable/es/kdesdk/umbrello/uml-
elements.html#state-diagram

Contenu connexe

Tendances

Tendances (17)

Lenguaje Unificado de Modelado
Lenguaje Unificado de ModeladoLenguaje Unificado de Modelado
Lenguaje Unificado de Modelado
 
Uml presentacion
Uml   presentacionUml   presentacion
Uml presentacion
 
Uml
UmlUml
Uml
 
Star uml
Star umlStar uml
Star uml
 
D clase
D claseD clase
D clase
 
Uml diagrama claseobjeto
Uml diagrama claseobjetoUml diagrama claseobjeto
Uml diagrama claseobjeto
 
Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 
Software
SoftwareSoftware
Software
 
Diagramas Uml
Diagramas UmlDiagramas Uml
Diagramas Uml
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOS
 
UML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de ClaseUML - Casos de Uso y Diagramas de Clase
UML - Casos de Uso y Diagramas de Clase
 
UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento Unificado
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Uml
UmlUml
Uml
 
Introduccion a Uml
Introduccion a Uml Introduccion a Uml
Introduccion a Uml
 
Marifer diapositivas uml roisbel
Marifer diapositivas uml roisbelMarifer diapositivas uml roisbel
Marifer diapositivas uml roisbel
 

Similaire à Programación OO y patrones

Similaire à Programación OO y patrones (20)

Dario ramirez
Dario ramirezDario ramirez
Dario ramirez
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
diapositivas_basicas_sobre_la_notacion_uml.pptx
diapositivas_basicas_sobre_la_notacion_uml.pptxdiapositivas_basicas_sobre_la_notacion_uml.pptx
diapositivas_basicas_sobre_la_notacion_uml.pptx
 
Uml
UmlUml
Uml
 
Que es UML
Que es UMLQue es UML
Que es UML
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Uml mateo henao
Uml mateo henaoUml mateo henao
Uml mateo henao
 
Definición y concepto de uml
Definición y concepto de umlDefinición y concepto de uml
Definición y concepto de uml
 
Modelado UM5-4.pptx
Modelado UM5-4.pptxModelado UM5-4.pptx
Modelado UM5-4.pptx
 
Modelamiento con uml definiciones
Modelamiento con uml definicionesModelamiento con uml definiciones
Modelamiento con uml definiciones
 
UML.pptx
UML.pptxUML.pptx
UML.pptx
 
2. lenguaje de modelado unificado uml
2. lenguaje de modelado unificado uml2. lenguaje de modelado unificado uml
2. lenguaje de modelado unificado uml
 
Cuadro comparativo metodologias
Cuadro comparativo metodologiasCuadro comparativo metodologias
Cuadro comparativo metodologias
 
Densy yuli
Densy yuliDensy yuli
Densy yuli
 
Diapositiva oscarin
Diapositiva oscarinDiapositiva oscarin
Diapositiva oscarin
 
Sistemas de información administrativos
Sistemas de información administrativosSistemas de información administrativos
Sistemas de información administrativos
 
Uml jose luis salazar
Uml jose luis salazarUml jose luis salazar
Uml jose luis salazar
 
UML
UMLUML
UML
 
Diagramas de clases
Diagramas de clasesDiagramas de clases
Diagramas de clases
 
Uml albagni camila ibarguen asprilla
Uml albagni camila ibarguen asprillaUml albagni camila ibarguen asprilla
Uml albagni camila ibarguen asprilla
 

Dernier

TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfJonathanCovena1
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfenelcielosiempre
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesLauraColom3
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 

Dernier (20)

TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdf
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reacciones
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 

Programación OO y patrones

  • 1. Guillermo Villafaña Rodríguez Programación Orientada a Objetos Instituto Tecnológico de Celaya
  • 2. Programa que al introducir dos números realice las operaciones matemáticas que una calculadora, las cuales son suma, resta, multiplicación y división.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Concepto de patrón • Un patrón es la abstracción de una forma concreta que puede repetirse en contextos específicos. • Un patrón es una unidad de información nombrada, instructiva e intuitiva que captura la esencia de una familia exitosa de soluciones probadas a un problema recurrente dentro de un cierto contexto.
  • 8. • Programar no significa colocar líneas al azar y ver si se obtienen los resultados requeridos. Tampoco significa concebir una solución partiendo desde cero. Siempre se reutilizan elementos de programas conocidos. Es así como al estudiar los programas se pueden observar patrones de organización de las instrucciones que se repiten una y otra vez. Estas instrucciones rara vez son idénticas, pero exhiben ciertas similitudes, que denominaremos patrones de programación.
  • 9. • Es importante conocer estos patrones de programación porque son muy útiles para concebir nuevos programas. Ellos resuelven problemas conocidos sin tener que re- inventar soluciones para esos problemas una y otra vez. • Un ejemplo de estos patrones de programación es la acumulación. Este patrón se usa para realizar cálculos como la suma de varios valores calculados en las iteraciones de un ciclo: • suma= val1 + val2 + val3 + ... + valn • producto= fac1 * fac2 * fac3 * ... * facn • Iteraciones: se refiere a la acción de repetir una serie de pasos un cierto número de veces.
  • 10. Característicasde los patrones de programación • Hay que tener en cuenta que no todas las soluciones que tengan las características de un patrón son un patrón, sino que debe probarse que es una solución a un problema que se repite. • Para que se pueda considerar un patrón, éste debe pasar por unas pruebas que reciben el nombre de test de patrones. • Mientras tanto esa solución recibe el nombre de proto- patrón.
  • 11. • Los patrones indican repetición, si algo no se repite, no es posible que sea un patrón. Pero la repetición no es la única característica importante. También necesitamos mostrar que un patrón se adapta para poder usarlo, y que es útil. La repetición es una característica cuantitativa pura, la adaptabilidad y utilidad son características cualitativas. Podemos mostrar la repetición simplemente aplicando la regla de tres (en al menos tres sistemas existentes); mostrar la adaptabilidad explicando como el patrón es exitoso; y mostrar la utilidad explicando porque es exitoso y beneficioso.
  • 12. • Un patrón debe ser útil porque enseña como el patrón que tenemos en nuestra mente puede ser transformado en una instancia del patrón en el mundo real, como una cosa que añade valor a nuestra vida como diseñadores. Un patrón debe ser también utilizable porque muestra como un patrón descrito de una forma literaria puede ser transformado en un patrón que tenemos en nuestra mente. Y un patrón debe ser usado porque es como los patrones que existen en el mundo real llegan a ser documentados como patrones de una forma literaria.
  • 13. UML
  • 14. UML • El lenguaje unificado de diagrama sirve para especificar, visualizar y documentar esquemas de sistemas de software orientado a objetos. • UML no es un método de desarrollo, lo que significa que no sirve para determinar qué hacer en primer lugar o cómo diseñar el sistema, sino que simplemente le ayuda a visualizar el diseño y a hacerlo más accesible para otros.
  • 15. • UML está controlado por el grupo de administración de objetos (OMG) y es el estándar de descripción de esquemas de software. El OMG (de sus siglas en inglés Grupo de Gestión de Objetos) es un consorcio dedicado al cuidado y el establecimiento de diversos estándares de tecnologías orientadas a objetos, tales como UML, XMI, CORBA. Es una organización sin ánimo de lucro que promueve el uso de tecnología orientada a objetos mediante guías y especificaciones para las mismas. El grupo está formado por diversas compañías y organizaciones con distintos privilegios dentro de la misma.
  • 16. • UML se compone de muchos elementos de esquematización que representan las diferentes partes de un sistema de software ~ Diagrama de casos de uso ~ Diagrama de clases ~ Diagrama de secuencia ~ Diagrama de colaboración ~ Diagrama de estado ~ Diagrama de actividad ~ Diagrama de componentes ~ Diagrama de implementación ~ Diagrama de relaciones de entidad
  • 17. Diagrama de casos de uso • Los diagramas de casos de uso describen las relaciones y las dependencias entre un grupo de casos de uso y los actores participantes en el proceso. • Los diagramas de casos de uso sirven para facilitar la comunicación con los futuros usuarios del sistema, y resultan especialmente útiles para determinar las características necesarias que tendrá el sistema. En otras palabras, los diagramas de casos de uso describen qué es lo que debe hacer el sistema, pero no cómo.
  • 18.
  • 19. Diagrama de clases • Los diagramas de clases muestran las diferentes clases que componen un sistema y cómo se relacionan unas con otras. • Son diagramas “estáticos” porque muestran las clases, junto con sus métodos y atributos, así como las relaciones estáticas entre ellas: qué clases “conocen” a qué otras clases o qué clases “son parte” de otras clases, pero no muestran los métodos mediante los que se invocan entre ellas. • Las clases están representadas por rectángulos, con el nombre de la clase, y también pueden mostrar atributos y métodos de la clase en otros dos “compartimentos” dentro del rectángulo. • Los propiedades se muestran al menos con su nombre, y también pueden mostrar su tipo, valor inicial y otras propiedades. • Los métodos también se muestran al menos con su nombre, y pueden mostrar sus parámetros y valores de retorno.
  • 20.
  • 21. + Indica propiedades / métodos públicos # Indica propiedades / métodos protegidos - Indica propiedades / métodos privados Representación de una clase:
  • 22. En un diagrama de clases, los vínculos entre clases se representan por líneas. A las que se les de diferentes características dependiendo del tipo de relación. Adicionalmente, en los extremos de estas líneas, puede colocarse la descripción del Rol que asume cada clase en esa relación
  • 23. También en los extremos de la línea, se coloca la Cardinalidad, que describe cuántos objetos de cada clase pueden participar en la relación.(mínimo..máximo) La Cardinalidad de una relación puede ser:  - Ninguno o Muchos 0..* o * o (0..n)  - Uno o muchos 1..* o (1..n)  - Exactamente uno 1 o (1)  - Un número fijo m o (m)  - Un numero variable 2..6 o (2..6)
  • 25. Entre dos clases puede existir una relación de Herencia o, en la terminología de UML , de Generalización.
  • 26. - Cuando una clase es parte o componente de otra clase se le denomina Agregación.
  • 27.
  • 28. Alternativas para mostrar Agregación por Composición
  • 29. - Si existe un vínculo entre los objetos de las clases se denomina relación de Asociación.
  • 30. Muchas clases pueden estar asociadas a una misma clase
  • 31. Asociaciones formadas por clases que se relacionan en forma alternativa
  • 32. Para una misma clase puede existir una asociación recursiva
  • 33. Diagramas de secuencia Los diagramas de secuencia muestran el intercambio de mensajes (es decir la forma en que se invocan) en un momento dado. Los diagramas de secuencia ponen especial énfasis en el orden y el momento en que se envían los mensajes a los objetos. En los diagramas de secuencia, los objetos están representados por líneas intermitentes verticales, con el nombre del objeto en la parte más alta. El eje de tiempo también es vertical, incrementándose
  • 34.
  • 35. Diagramas de colaboración Los diagramas de colaboración muestran las interacciones que ocurren entre los objetos que participan en una situación determinada. Esta es más o menos la misma información que la mostrada por los diagramas de secuencia, pero destacando la forma en que las operaciones se producen en el tiempo, mientras que los diagramas de colaboración fijan el interés en las relaciones entre los objetos y su topología.
  • 36. Diagramas de estado Los diagramas de estado describen gráficamente los eventos y los estados de los objetos. Los diagramas de estado son útiles, entre otras cosas, para indicar los eventos del sistema en los casos de uso.
  • 37. Diagramas de actividades Los diagramas de actividad describen la secuencia de las actividades en un sistema. Los diagramas de actividad son una forma especial de los diagramas de estado, que únicamente (o mayormente) contienen actividades.
  • 38. Diagramas de componentes Puede usar un diagrama de componentes para describir un diseño que se implemente en cualquier lenguaje o estilo. Solo es necesario identificar los elementos del diseño que interactúan con otros elementos del diseño a través de un conjunto restringido de entradas y salidas. Los componentes pueden tener cualquier escala y pueden estar interconectados de cualquier manera.
  • 39. Bibliografia Microsoft Developer Network Desarrollar modelos para el diseño de software: http://msdn.microsoft.com/es-es/library/dd409436.aspx KDE Documentation http://docs.kde.org/stable/es/kdesdk/umbrello/uml- elements.html#state-diagram