Introducción

46
Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net Introducción. Introducción. Conceptos previos Conceptos previos Informática (RAE): Informática (RAE): Conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de computadoras electrónicas. Computadora: máquina capaz de aceptar unos datos de entrada, efectuar con ellos operaciones lógicas y aritméticas, y proporcionar la información resultante a través de un medio de salida.

Transcript of Introducción

Page 1: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Introducción.Introducción. Conceptos previos Conceptos previos

Informática (RAE):Informática (RAE):Conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de computadoras electrónicas.

Computadora:máquina capaz de aceptar unos datos de entrada, efectuar con ellos operaciones lógicas y aritméticas, y proporcionar la información resultante a través de un medio de salida.

Page 2: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Introducción.Introducción. Algoritmos Algoritmos

Un ordenador por sí sólo no es capaz Un ordenador por sí sólo no es capaz de hacer nada. Hace falta la ayuda de hacer nada. Hace falta la ayuda de un programador.de un programador.El programador es que programa las El programador es que programa las instrucciones necesarias al instrucciones necesarias al ordenador para realizar una tareaordenador para realizar una tareaAlgoritmo (RAE):Algoritmo (RAE): Conjunto ordenado y Conjunto ordenado y finito de operaciones que permite finito de operaciones que permite hallar la solución de un problema. hallar la solución de un problema.

Page 3: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Introducción.Introducción. Algoritmos Algoritmos

Mediante algoritmos se solucionan Mediante algoritmos se solucionan los problemaslos problemasLos algoritmos son independientes Los algoritmos son independientes del ordenador en el que se realizan del ordenador en el que se realizan las operacioneslas operacionesLos algoritmos deben de ser:Los algoritmos deben de ser:

PrecisosPrecisosFinitosFinitosRepetibles Repetibles

Page 4: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Introducción.Introducción. Algoritmos Algoritmos

Los algoritmos conviene que sean:Los algoritmos conviene que sean:Válidos (hacen lo que deben hacer)Válidos (hacen lo que deben hacer)Eficientes (no tardan un tiempo Eficientes (no tardan un tiempo excesivo)excesivo)Óptimos (es la mejor solución al Óptimos (es la mejor solución al problema)problema)

Un algoritmo posee:Un algoritmo posee:Datos de entradaDatos de entradaCálculos para conseguir el resultadoCálculos para conseguir el resultadoDatos de salida o resultantesDatos de salida o resultantes

A partir de unos datos de entrada se A partir de unos datos de entrada se consigue la salidaconsigue la salida

Page 5: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Introducción.Introducción. Pasos para crear Pasos para crear algoritmosalgoritmos

1.1. Análisis del problema. Análisis del problema. Hay que Hay que comprender el problemacomprender el problema

2.2. Diseño del algoritmoDiseño del algoritmo. Pasos para . Pasos para resolver el problema. Es mejor resolver el problema. Es mejor solucionar problemas pequeñossolucionar problemas pequeños

3.3. Prueba del algoritmoPrueba del algoritmo

Page 6: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Introducción.Introducción. Algoritmos. Datos Algoritmos. Datos formalesformales

Los algoritmos se construyen Los algoritmos se construyen utilizando elementos simples para utilizando elementos simples para que el lenguaje se parezca más al de que el lenguaje se parezca más al de las computadoraslas computadoras

Los datos de los algoritmos son:Los datos de los algoritmos son:NúmerosNúmeros (10, 25, 5.32)(10, 25, 5.32)

TextosTextos (“Hola mundo”)(“Hola mundo”)

LógicosLógicos (VERDADERO, FALSO, true, (VERDADERO, FALSO, true, false)false)

Datos compuestos Datos compuestos (registros, listas)(registros, listas)

Page 7: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Introducción.Introducción. Algoritmos. Datos Algoritmos. Datos formalesformales

Los algoritmos pueden tener Los algoritmos pueden tener expresionesexpresiones, las cuales se componen , las cuales se componen de:de:

VariablesVariables (x, resta, saldo)(x, resta, saldo)

Operadores Operadores (+, -, *, >, <, Y(AND))(+, -, *, >, <, Y(AND))

Las instrucciones de los algoritmos Las instrucciones de los algoritmos pueden serpueden ser

Primitivas Primitivas (entrada, salida, asignación)(entrada, salida, asignación)

De control De control (bucle, condición)(bucle, condición)

Page 8: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Introducción.Introducción. Representación de Representación de algoritmosalgoritmos

Existen códigos especiales que Existen códigos especiales que sirven para representar algoritmossirven para representar algoritmos

La razón de su uso es normalizar la La razón de su uso es normalizar la escritura de algoritmosescritura de algoritmos

Hay Hay diagramas de flujodiagramas de flujo y y pseudocódigopseudocódigo

El primero trabaja con El primero trabaja con representaciones gráficas, el representaciones gráficas, el segundo con un lenguaje especialsegundo con un lenguaje especial

Page 9: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Introducción.Introducción. Representación de Representación de algoritmosalgoritmos

Existen códigos especiales que Existen códigos especiales que sirven para representar algoritmossirven para representar algoritmos

La razón de su uso es normalizar la La razón de su uso es normalizar la escritura de algoritmosescritura de algoritmos

Hay Hay diagramas de flujodiagramas de flujo y y pseudocódigopseudocódigo

El primero trabaja con El primero trabaja con representaciones gráficas, el representaciones gráficas, el segundo con un lenguaje especialsegundo con un lenguaje especial

Page 10: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Introducción.Introducción. Diagramas de flujo Diagramas de flujo

Inicio Representa el principio del algoritmo

Fin Representa el final del algoritmo

Operación

Entrada o salida de datos

Condición

Dirección del flujo del programa

Subprograma

Page 11: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Introducción.Introducción. Pseudocódigo Pseudocódigo

Es otra forma de Es otra forma de representar algoritmosrepresentar algoritmos

Se asemeja más a los Se asemeja más a los lenguajes de lenguajes de programación de alto programación de alto nivelnivel

Page 12: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Introducción.Introducción. Pseudocódigo. Pseudocódigo. InstruccionesInstrucciones

ESCRIBIRESCRIBIR. Muestra algo en el . Muestra algo en el dispositivo de salida (la dispositivo de salida (la pantalla normalmente)pantalla normalmente)LEER LEER variablevariable.. Lee un dato (del Lee un dato (del teclado) y lo almacena en esa teclado) y lo almacena en esa variablevariable. Asignar valor. Asignar valorComparaciones: < > Comparaciones: < >

Page 13: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Introducción.Introducción. Pseudocódigo. Pseudocódigo. InstruccionesInstrucciones

SI SI condicióncondición ENTONCES ENTONCES instrucciones instrucciones [[SINO SINO instrucciones] instrucciones] FIN SIFIN SIEN CASO DE EN CASO DE variablevariablevalor1:instruccionesvalor1:instruccionesvalor2:instruccionesvalor2:instrucciones......EN OTRO CASO: EN OTRO CASO: instruccionesinstruccionesFIN EN CASO DEFIN EN CASO DE

Page 14: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Introducción.Introducción. Pseudocódigo. Pseudocódigo. InstruccionesInstrucciones

MIENTRAS MIENTRAS condición condición HACER HACER instrucciones instrucciones FIN MIENTRASFIN MIENTRASREPETIR REPETIR instrucciones instrucciones HASTA HASTA condicióncondiciónPARA PARA variable variable DEDE valorInicial valorInicial A A valorFinal valorFinal [INCREMENTO [INCREMENTO valorvalor] ] instrucciones instrucciones FIN PARAFIN PARA

Page 15: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Lenguajes.Lenguajes. Código máquina Código máquina

El ordenador sólo puede El ordenador sólo puede ejecutar instrucciones en un ejecutar instrucciones en un lenguaje muy simple conocido lenguaje muy simple conocido como como código máquinacódigo máquinaProgramar en ese lenguaje es Programar en ese lenguaje es muy complejomuy complejoEjemplo, sumar 5+2 podría ser Ejemplo, sumar 5+2 podría ser algo como 1001011000101010algo como 1001011000101010

Page 16: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Lenguajes.Lenguajes. Ensamblador Ensamblador

Es código escrito en un lenguaje Es código escrito en un lenguaje que tiene representación exacta que tiene representación exacta en el código máquinaen el código máquina

Cada programa creado en Cada programa creado en ensamblador sirve para una sola ensamblador sirve para una sola máquinamáquina

Muy difícil de escribirMuy difícil de escribir

Page 17: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Lenguajes.Lenguajes. Alto nivel Alto nivel

Los lenguajes de alto nivel se Los lenguajes de alto nivel se alejan de la máquina y se alejan de la máquina y se parecen más al pseudocódigoparecen más al pseudocódigo

Se escriben programas que Se escriben programas que luego habrá que ensamblar para luego habrá que ensamblar para convertirles en código máquinaconvertirles en código máquina

Page 18: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Lenguajes.Lenguajes. Cuarta generación Cuarta generación

Se alejan aún más de la Se alejan aún más de la máquina y se centran en la máquina y se centran en la resolución del problemaresolución del problema

Permiten crear programas sin Permiten crear programas sin apenas escribir códigoapenas escribir código

Son más limitados pero mucho Son más limitados pero mucho más rápidos de desarrollarmás rápidos de desarrollar

Page 19: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Lenguajes.Lenguajes. Intérpretes Intérpretes

El intérprete es un software El intérprete es un software capaz de interpretar capaz de interpretar instrucciones escritas en un instrucciones escritas en un lenguaje de alto nivel.lenguaje de alto nivel.

Interpretan el código línea a Interpretan el código línea a línea de la primera a la últimalínea de la primera a la última

Optimizan menos el códigoOptimizan menos el código

Page 20: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Lenguajes.Lenguajes. Compilador Compilador

Software que traduce un Software que traduce un programa pero interpretando programa pero interpretando todo el código a la veztodo el código a la vez

El código es más eficienteEl código es más eficiente

Se tarda más en ejecutar el Se tarda más en ejecutar el resultadoresultado

Page 21: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Lenguajes.Lenguajes. Historia Historia

FortranFortran. Primer lenguaje, orientado . Primer lenguaje, orientado a problemas matemáticosa problemas matemáticosLispLisp. . Crea las funcionesCrea las funcionesCobolCobol. Orientado a aplicaciones de . Orientado a aplicaciones de gestión.gestión.BasicBasic.. Ideado para ser fácil de Ideado para ser fácil de aprenderaprenderPascal.Pascal. Ideado también para ser Ideado también para ser sencillo de aprender, potencia la sencillo de aprender, potencia la legibilidad del códigolegibilidad del código

Page 22: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Lenguajes.Lenguajes. Historia Historia

C.C. Lenguaje de nivel medio que otorga Lenguaje de nivel medio que otorga una gran libertad al programadoruna gran libertad al programadorSQL.SQL. Lenguaje de consulta de bases de Lenguaje de consulta de bases de datosdatosVisual Basic y Delphi.Visual Basic y Delphi. Lenguajes Lenguajes orientados a la creación mediante sintaxis orientados a la creación mediante sintaxis sencilla de entornos gráficos de usuario.sencilla de entornos gráficos de usuario.Prolog.Prolog. Ideado para resolver problemas Ideado para resolver problemas de inteligencia artificialde inteligencia artificialC++C++ Mejora de C para soportar el uso de Mejora de C para soportar el uso de objetosobjetos

Page 23: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Lenguajes.Lenguajes. Historia Historia

Perl.Perl. Lenguaje que facilita el uso de Lenguaje que facilita el uso de las expresiones normales (para crear las expresiones normales (para crear consultas complicadas).consultas complicadas).HTML y XML.HTML y XML. Lenguajes de marcado Lenguajes de marcado para la maquetación y definición de para la maquetación y definición de documentosdocumentosJava.Java. Sintaxis heredada de C++. Sintaxis heredada de C++. Pensado para crear aplicaciones de Pensado para crear aplicaciones de red.red.PHP, ASP y JSP.PHP, ASP y JSP. Lenguajes Lenguajes combinados para ejecutar combinados para ejecutar instrucciones en un servidor webinstrucciones en un servidor web

Page 24: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Programación orientada a objetosProgramación orientada a objetos

La programación clásica La programación clásica (estructurada) se complica (estructurada) se complica enormemente cuanto mayor es enormemente cuanto mayor es el problemael problema

Una solución fue la Una solución fue la programación modularprogramación modular

Una solución mejor es la POO Una solución mejor es la POO (OOP)(OOP)

Page 25: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Programación orientada a objetosProgramación orientada a objetos. . Idea generalIdea general

La POO consiste en definir La POO consiste en definir objetosobjetos

Cada objeto consta de una serie Cada objeto consta de una serie de propiedades (variables) y de de propiedades (variables) y de una serie de métodos una serie de métodos (funciones)(funciones)

El código se reparte entre los El código se reparte entre los objetosobjetos

Page 26: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Programación orientada a objetosProgramación orientada a objetos. . Clases y objetosClases y objetos

ClaseClase:: Definición teórica de los Definición teórica de los objetos. Identifican tipos de objetos. Identifican tipos de objetosobjetosObjeto:Objeto: Una instancia particular Una instancia particular de una clasede una claseMensajes:Mensajes: Comunicación entre un Comunicación entre un objeto y otro. En realidad son objeto y otro. En realidad son llamadas a procedimientos o llamadas a procedimientos o variables públicas del objetovariables públicas del objeto

Page 27: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Programación orientada a objetosProgramación orientada a objetos. . PropiedadesPropiedades

Encapsulamiento:Encapsulamiento: El hecho de integrar El hecho de integrar en el objeto tanto métodos como en el objeto tanto métodos como propiedadespropiedadesOcultación:Ocultación: Hay métodos y propiedades Hay métodos y propiedades públicos y métodos y propiedades públicos y métodos y propiedades privadosprivadosHerencia:Herencia: Las clases pueden heredarse Las clases pueden heredarse de otras previasde otras previasPolimorfismo:Polimorfismo: El mismo método puede El mismo método puede estar presente en varios objetos y su estar presente en varios objetos y su significado ser distintosignificado ser distinto

Page 28: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Programación orientada a objetosProgramación orientada a objetos. . Creación de programasCreación de programas

Todo es un objeto Todo es un objeto Un programa es un conjunto Un programa es un conjunto de objetos que se comunicande objetos que se comunicanTodo objeto posee una claseTodo objeto posee una claseTodos los objetos de una Todos los objetos de una clase reciben los mismos clase reciben los mismos mensajesmensajes

Page 29: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Programación orientada a objetosProgramación orientada a objetos. . Creación de programasCreación de programas

1.1. Escribir en papel lo que queremos hacer Escribir en papel lo que queremos hacer de forma directade forma directa

2.2. Identificar las clases y objetosIdentificar las clases y objetos3.3. Identificar las relaciones entre las clases Identificar las relaciones entre las clases

(mensajes)(mensajes)4.4. Identificar las propiedades y estados de Identificar las propiedades y estados de

los objetoslos objetos5.5. Identificar la secuencia correcta de Identificar la secuencia correcta de

mensajesmensajes6.6. Estudiar cada clase e intentar definir su Estudiar cada clase e intentar definir su

código de forma independientecódigo de forma independiente7.7. Definir el código de inicio de la aplicaciónDefinir el código de inicio de la aplicación

Page 30: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Programación orientada a objetosProgramación orientada a objetos. . LenguajesLenguajes

A partir de la idea de esta A partir de la idea de esta programación aparecen lenguajes programación aparecen lenguajes más o menos implicados con esta más o menos implicados con esta ideaideaEl primer lenguaje que incorporó El primer lenguaje que incorporó esta idea fue Simula 67esta idea fue Simula 67Poco a poco incluso los lenguajes Poco a poco incluso los lenguajes clásicos se han adaptado a esta clásicos se han adaptado a esta ideaidea

Page 31: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

Programación orientada a objetosProgramación orientada a objetos. . Lenguajes. TiposLenguajes. Tipos

Puros.Puros. Sólo se puede hacer Sólo se puede hacer programación orientada a objetos (por programación orientada a objetos (por ejemplo Java)ejemplo Java)Híbridos.Híbridos. Permiten también hacer Permiten también hacer programación estructurada (por ejemplo programación estructurada (por ejemplo C++)C++)Basados en objetos.Basados en objetos. Soportan algunos Soportan algunos objetos (algunos lenguajes de macro)objetos (algunos lenguajes de macro)Basados en clases.Basados en clases. Permiten usar Permiten usar objetos y clases (por ejemplo JavaScript)objetos y clases (por ejemplo JavaScript)Orientados a objetos.Orientados a objetos. Incluyen Incluyen herencia (Visual Basic)herencia (Visual Basic)

Page 32: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . IntroducciónIntroducción

Técnicas que permiten realizar un Técnicas que permiten realizar un modelomodelo previo de un programa previo de un programa

Hay metodologías de todo tipo que Hay metodologías de todo tipo que modelan tanto instrucciones como modelan tanto instrucciones como datosdatos

Las metodologías intentar Las metodologías intentar simplificar el diseño de una simplificar el diseño de una aplicaciónaplicación

Al final el modelo hay que Al final el modelo hay que implementarle (escribirle en un implementarle (escribirle en un determinado lenguaje)determinado lenguaje)

Page 33: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . UMLUML

UML = UML = Unified modelling language, Unified modelling language, lenguaje de modelado universallenguaje de modelado universalNo es una metodología completa (una No es una metodología completa (una metodología completa indica los pasos a metodología completa indica los pasos a realizar durante el desarrollo del software)realizar durante el desarrollo del software)Es una notación, una forma de expresar Es una notación, una forma de expresar modelos informáticosmodelos informáticosEs un estándar Es un estándar de factode facto para diseñar para diseñar aplicaciones orientadas a objetosaplicaciones orientadas a objetosSe basa en diagramas que pueden servir Se basa en diagramas que pueden servir tanto al diseñador como al cliente.tanto al diseñador como al cliente.

Page 34: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . UMLUML

Es una metodología diseñada por los Es una metodología diseñada por los principales creadores de principales creadores de metodologíasmetodologíasEstamos en la versión 1.3 (a punto Estamos en la versión 1.3 (a punto de aparecer la 2.0)de aparecer la 2.0)Sus responsables son el Sus responsables son el Object Object Management GroupManagement Group ((www.omg.orgwww.omg.org))La especificación está disponible en La especificación está disponible en www.omg.org/umlwww.omg.org/umlUML define 12 tipos de diagramas, UML define 12 tipos de diagramas, cada uno representa un aspecto del cada uno representa un aspecto del funcionamiento de una aplicaciónfuncionamiento de una aplicación

Page 35: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . UML. ClasesUML. Clases

Clase:Clase: Descripción de una serie de Descripción de una serie de objetos con propiedades, métodos, objetos con propiedades, métodos, relaciones y semántica muy relaciones y semántica muy parecidaparecidaRepresentación:Representación:

Nombre

Atributos

Métodos

Responsabilidades

Page 36: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . UML. ClasesUML. Clases

Nombre:Nombre: Nombre de la clase Nombre de la clase

Atributos:Atributos: Datos que definen las Datos que definen las propiedades de la clase. propiedades de la clase.

Métodos:Métodos: Capacidades que puede Capacidades que puede realizar la clase. Pueden devolver datos y realizar la clase. Pueden devolver datos y pueden requerir datos para su usopueden requerir datos para su uso

Responsabilidades:Responsabilidades: Opcional. Indica Opcional. Indica para qué se utiliza la clasepara qué se utiliza la clase

Page 37: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . UML. Clases. Forma UML. Clases. Forma simplificadasimplificada

Coche

Page 38: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . UML. Clases. EjemploUML. Clases. Ejemplo

Cochemarca:Stringmodelo:String

matricula:Stringcolor:String

kilómetros:intvelocidad:int

acelerar(cantidad:int)frenar(cantidad:int)

arrancar()obtenerVelocidad():int

Transporta genteConsume gasolina

Page 39: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . UML. ObjetoUML. Objeto

Objeto:Objeto: Elemento con Elemento con significado concreto en una significado concreto en una aplicaciónaplicaciónRepresentación:Representación:

Coche19:Coche

Page 40: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . UMLUML

Paquete:Paquete: Estructura que sirve Estructura que sirve para agrupar clasespara agrupar clasesPueden agrupar otros paquetesPueden agrupar otros paquetesRepresentación:Representación:

Nombre

Clase1 Clase2

Page 41: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . UML. DiagramasUML. Diagramas

En UML hay varios tipos de En UML hay varios tipos de diagramas que modelizan las diagramas que modelizan las clases y objetosclases y objetosEn total hay 12 diagramasEn total hay 12 diagramasCuatro representan la Cuatro representan la estructura estáticaestructura estáticaCinco el comportamiento Cinco el comportamiento dinámicodinámicoTres se refieren a la Tres se refieren a la organización modularorganización modular

Page 42: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . UML. Diagrama de clases. UML. Diagrama de clases. RelaciónRelación

Programador

Nombre:texto;

Ordenador

Identificador:texto;Modelo:texto;Velocidad:entero1..* 0..*

Maneja

Nombre de la asociación

Page 43: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . UML. Diagrama de clases. UML. Diagrama de clases. AgregaciónAgregación

Alumno AsignaturaMatriculado en

1..* 1..11

Profesor

Matriculado en

Imparte

1..6

1..2

Page 44: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . UML. Diagrama de clases. UML. Diagrama de clases. Composición/AgregaciónComposición/Agregación

Punto

X:entero;Y:entero;

Mover(despl_x,

despl_y:entero)Mover(p:Punto)

Representa un punto en el espacio

Polígono

Regular:lógico;

Borrar()Mover(p:Punto)Rellenar(c:color)

Representa un polígono en el espacio

3..*

Expresa una relación todo/parte. El punto es parte del polígono

Page 45: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . UML. Diagrama de clases. UML. Diagrama de clases. GeneralizaciónGeneralización

Automóvil Motocicleta

Page 46: Introducción

Copyleft - Jorge Sánchez ‘2005 – www.jorgesanchez.net

MetodologíasMetodologías. . UML. Diagrama de clases. UML. Diagrama de clases. GeneralizaciónGeneralización

Trabajador

Encargado Administrativo Peón