Está en la página 1de 9

1

Universidad Carlos III de Madrid


Ingenier en Informtica a a
Anlisis y Diseo de Algoritmos a n

Tema 3: Introduccin a clases y objetos o


Laboratorio DEI Curso 2003/2004

c 2002 Laboratorio DEI

Contenidos

Contenidos
Necesidad del anlisis y diseo a n Anlisis y diseo: modelizacin de problemas a n o Abstraccin: clase-objeto o Interfaz: utilizacin de los objetos o Introduccin a UML o

c 2002 Laboratorio DEI

Anlisis y Dise o de Algoritmos a n

Necesidad del anlisis y dise o a n

Necesidad del anlisis y diseo a n


Punto inicial: planteamiento de un problema Punto nal: implementacin de una solucin al problema planteado o o Cmo llegar a nuestro objetivo? Paso a paso. o Primer paso: Anlisis - comprender un determinado dominio o cona texto pero sin cubrir toda la realidad. Solo la parte afectada por el problema. Segundo paso: Diseo - base para la implementacin de lo denido en n o el anlisis. Existe ms de un diseo correcto dentro de cada contexto. a a n Tercer paso: Implementacin del diseo realizado. o n

c 2002 Laboratorio DEI

Anlisis y Dise o de Algoritmos a n

Anlisis y diseo: modelizacin de problemas a n o

Anlisis y diseo: modelizacin de problemas a n o


Pasos a seguir: 1. Leer atentamente el planteamiento del problema 2. Extraer una lista de nombres y otra de verbos candidatos 3. Completar los nombres y los verbos 4. Combinar nombres: asignar clases y atributos 5. Colocar verbos: asignar mtodos a clases e 6. Establecer relaciones entre clases 7. Comprobar el diseo con el planteamiento inicial n

c 2002 Laboratorio DEI

Anlisis y Dise o de Algoritmos a n

Anlisis y diseo: modelizacin de problemas (cont.) a n o

1. Planteamiento del problema La tienda de libros Se desea llevar a cabo una aplicacin capaz de gestionar libros, lo que o supone poder adquirir nuevos libros y modicar el precio de los libros a la venta. Para cada libro se dispone del t tulo, el autor, la fecha de publicacin, o la editorial y el precio. Adems, la tienda desea ofrecer a sus compradoa res informacin sobre los autores de los libros, incluyendo, adems de su o a nombre completo, su pgina web y su correo electrnico. a o La tienda trabaja directamente con las distintas editoriales, por lo que necesita tambin disponer de la direccin, el telfono y la persona de e o e contacto de cada editorial, teniendo en cuenta que estos datos pueden cambiar.

c 2002 Laboratorio DEI

Anlisis y Dise o de Algoritmos a n

Anlisis y diseo: modelizacin de problemas (cont.) a n o

2. Extraer una lista de nombres y otra de verbos Se desea llevar a cabo una aplicacin capaz de gestionar libros, lo que o supone poder adquirir nuevos libros y modicar el precio de los libros a la venta. Para cada libro se dispone del t tulo, el autor, la fecha de publicacin, o la editorial y el precio. Adems, la tienda desea ofrecer a sus compradoa res informacin sobre los autores de los libros, incluyendo, adems de su o a nombre completo, su pgina web y su correo electrnico. a o La tienda trabaja directamente con las distintas editoriales, por lo que necesita tambin disponer de la direccin, el telfono y la persona de e o e contacto de cada editorial, teniendo en cuenta que estos datos pueden cambiar.

c 2002 Laboratorio DEI

Anlisis y Dise o de Algoritmos a n

Anlisis y diseo: modelizacin de problemas (cont.) a n o

Nombres aplicacin? o libros precio t tulo autor fecha de publicacin o editorial compradores nombre completo pgina web a correo electrnico o direccin o telfono e persona de contacto

Verbos gestionar? adquirir modicar ofrecer cambiar

c 2002 Laboratorio DEI

Anlisis y Dise o de Algoritmos a n

Anlisis y diseo: modelizacin de problemas (cont.) a n o

3. Completar los nombres y los verbos


Nombres libros precio de libro t tulo de libro autor de libro fecha de publicacin de libro o editorial de libro compradores de libro? nombre completo de autor pgina web de autor a correo electrnico de autor o direccin de editorial o telfono de editorial e persona de contacto de editorial Verbos adquirir libro modicar precio ofrecer info autores cambiar direccin o cambiar telfono e cambiar persona de contacto

c 2002 Laboratorio DEI

Anlisis y Dise o de Algoritmos a n

Anlisis y diseo: modelizacin de problemas (cont.) a n o

4. Combinar nombres: asignar clases y atributos


Clases Libro Atributos precio titulo autor fecha de publicacin o editorial Autor nombre web correo Editorial nombre direccin o telfono e persona de contacto

c 2002 Laboratorio DEI

Anlisis y Dise o de Algoritmos a n

Anlisis y dise o: modelizacin de problemas (cont.) a n o

10

5. Colocar verbos: asignar mtodos a clases e


Clases Libro Atributos precio titulo autor fecha de publicacin o editorial Autor nombre web correo Editorial nombre direccin o telfono e persona de contacto ofrecer nombre ofrecer web ofrecer correo cambiar direccin o cambiar telfono e cambiar persona contacto Mtodos e adquirir modicar precio

c 2002 Laboratorio DEI

Anlisis y Dise o de Algoritmos a n

Anlisis y dise o: modelizacin de problemas (cont.) a n o

11

6. Establecer relaciones entre clases

Libro
titulo autor fechaPublicacion editorial precio adquirir() modificarPrecio()

Autor
nombre web correo ofrecerNombre() ofrecerWeb() ofrecerCorreo()

Editorial
nombre direccion telefono personaContacto cambiarDireccion() cambiarTelefono() cambiarPersonaContacto()

c 2002 Laboratorio DEI

Anlisis y Dise o de Algoritmos a n

Anlisis y diseo: modelizacin de problemas (cont.) a n o

12

7. Comprobar el diseo con el planteamiento inicial n Comprobar cada uno de los pasos con el planteamiento del problema Asegurarse de que las decisiones tomadas a lo largo del proceso no estn en contradiccin con nada de lo expresado en el planteamiento a o del problema Plantear posibles formas de completar el diseo. Ej: Inclusin de la n o fecha como otra clase? En caso de duda, consultar con el cliente.

c 2002 Laboratorio DEI

Anlisis y Dise o de Algoritmos a n

Abstraccin: clase-objeto o

13

Abstraccin: clase-objeto o
Denicin de objeto: Un objeto es una entidad signicativa en un o determinado dominio de aplicacin. Ej: una persona, un cliente de o una tienda virtual, una cuenta corriente de un banco,... Caracter sticas de los objetos: Los objetos deben ser distinguibles y tener identidad por s mismos. Ej: Pa s/Espaa. n Descripcin de los objetos: Los objetos contienen valores que los o describen e identican. Ej: Juan Prez (nombre, apellido, dni). e Comportamiento de los objetos: Los objetos se relacionan con el exterior a travs de mensajes que reciben y a los que responden de e distintas maneras. Ej: ingresar/sacar dinero de una cuenta.

c 2002 Laboratorio DEI

Anlisis y Dise o de Algoritmos a n

Abstraccin: clase-objeto (cont.) o

14

Denicin de clase: Una clase describe un grupo de objetos que tienen o propiedades similares y ser comportan de manera similar. Caracter sticas de las clases: Actan como plantilla o tipo para un u conjunto de objetos. Un objeto es una instanciacin de una clase. Ej: o coche/revista de coches. Atributos: Son los valores comunes a todos los objetos de una clase. Cada atributo tiene asociado un tipo. Ej: cilindrada (cc). Mtodos: Denen el comportamiento que tendrn los objetos instancia e a de la clase. El comportamiento de cada objeto concreto var Ej: a. sacar dinero de una cuenta con/sin dinero.

c 2002 Laboratorio DEI

Anlisis y Dise o de Algoritmos a n

Abstraccin: clase-objeto (cont.) o

15

Relacin de asociacin: Es una relacin estructural que describe un o o o conjunto de enlaces o conexiones entre objetos. Atributo o Asociacin: La diferencia entre la modelizacin como atrio o buto o como asociacin depende, en la mayor de los casos, del plano a teamiento del problema. Ejemplo: 1. Libro: titulo, autor, nombreAutor, webAutor, correoAutor, nombreEditorial, direccionEditorial, telefonoEditorial, personaContactoEditorial, precio. 2. Libro: titulo, autor, editorial, precio. Autor : nombre, web, correo. Editorial: nombre, direccin, telfono, personaContacto. o e Cuestiones: Las editoriales tienen miles de libros. Los autores tienen ms de un libro. Cmo consultar todos los libros de un determinado a o autor? Qu modelo es mejor ? e
c 2002 Laboratorio DEI Anlisis y Dise o de Algoritmos a n

Interfaz: utilizacin de los objetos o

16

Interfaz: utilizacin de los objetos o


Los mtodos de una clase denen su interfaz. e Los mtodos reciben parmetros. Ej: sacar dinero - cunto? e a a Los mtodos devuelven un resultado. Ej: sacar dinero - nuevo saldo e Los mtodos pueden modicar los valores contenidos en los objetos. e Ej: sacar dinero - modica el saldo. Los mtodos pueden solo consultar los valores contenidos en los obe jetos. Ej: consultar saldo - no modica nada. Los mtodos se denen en las clases pero se ejecutan sobre objetos e concretos. Signatura de un mtodo: nombre del mtodo ms los parmetros que e e a a recibe y devuelve.
c 2002 Laboratorio DEI Anlisis y Dise o de Algoritmos a n

Introduccin a UML o

17

Introduccin a UML o
UML = Unied Modeling Language Lenguaje utilizado para la modelizacin o Nace como unicacin de lenguajes anteriores o Incluye modelado estructural, de comportamiento y arquitectnico. o Notacin utilizada para la asignatura: o
nombre Libro titulo autor precio Crear() asignarPrecio() obtenerPrecio() asociacion Persona nombre web correo obtenerNombre() obtenerWeb() obtenerCorreo()

atributos

metodos

c 2002 Laboratorio DEI

Anlisis y Dise o de Algoritmos a n

También podría gustarte