<?xml version="1.0" encoding="UTF-8"?>
<mods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.loc.gov/mods/v3" version="3.1" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-1.xsd">
  <titleInfo>
    <title>Diseñar y programar todo es empezar</title>
    <subTitle> una introducción a la programación orientada a objetos usando "UML" y "Java"</subTitle>
  </titleInfo>
  <name type="personal">
    <namePart>Vélez Serrano, José F.</namePart>
    <role>
      <roleTerm authority="marcrelator" type="text">creator</roleTerm>
    </role>
  </name>
  <name type="personal">
    <namePart>Peña Abril,  Alberto, autor.</namePart>
  </name>
  <name type="personal">
    <namePart>Francisco Gortázar Bellas</namePart>
  </name>
  <typeOfResource>text</typeOfResource>
  <originInfo>
    <place>
      <placeTerm type="code" authority="marccountry">ec</placeTerm>
    </place>
    <place>
      <placeTerm type="text">Madrid, España</placeTerm>
    </place>
    <publisher>Universidad Rey Juan Carlos, Servicio de Publicaciones : Dykinson, D.L.</publisher>
    <dateIssued>2011</dateIssued>
    <issuance>monographic</issuance>
  </originInfo>
  <language>
    <languageTerm authority="iso639-2b" type="code">spa</languageTerm>
  </language>
  <physicalDescription>
    <extent>215 páginas ; ilustraciones ; tablas ; diagramas ;  24 cm.</extent>
  </physicalDescription>
  <abstract>El presente texto surge de varios años de experiencia docente de los autores en las asignaturas "Software Avanzado y "Lenguajes informáticos, que se imparten respectivamente en el tercer curso de la carrera de Ingeniería Técnica de Informática de Gestión y en el segundo curso de la carrera ingenieril Informática, en la Escuela Técnica Superior de ingeniería Informática de la Universidad Rey Juan Carlos de Madrid. El objetivo de este texto es la introducción del paradigma de la programación orientada objetos, del diserio basado en patrones, del Lenguaje Unificado de Modelado (UML) y del lenguaje de programación Java en su versión 5. Con estas bases se pretende que el lector consiga unos conocimientos teóricos en estas materias y a la vez pueda comprobar su utilidad práctica. </abstract>
  <tableOfContents> Tabla de contenidos -- Indice -- Capitulo 1 Introducción a la programación orientada a objetos -- 1.1. Complejidad del software: origen y tratamiento -- 1.1.1 Herramientas para tratar la complejidad -- 1.1.2 Evolución de Ios lenguajes de programación -- 1.1.3 Paradigmas dc programación -- 1.2. Programación orientada a objetos 	
1.2.1 Abstract 	
1.2.2 Encapsular 	
1.2.3 Jerarquizar 	
1.2.4 Modularizar 	
1.2.5 Tipo 	
1.2.6 Concurrencia 	
1.2.7 Persistencia 	
1.3. Lecturas recomendadas 	
1.4. Ejercicios 	
Capitulo 2 Introducción al lenguaje Java 	
2.1. Introducción 	
2.1.1 Breve historia de Java 	
2.1.2 La máquina virtual de Java 	
2.1.3 Compiladores de Java 	
2.1.4 Entornos dc desarrollo para Java 	
2.1.5 El programación hola mundo 	
2.1.6 Los comentarios 	
2. 1.7 Juego de instrucciones 	
2.2. Expresiones básicas y control de fIujo 	
2.2.1 Tipos primitivos 	
2.2.2 Conversiones entre tipos primitivos 	
2.2.3 Operadores 	
2.2.4 Control de flujo 	
2.3. Las clases 	
2.3.1 Las propiedades en detalle 	
2.3.2 Los métodos en detalle 	
2.3.3 Creación de objetos 	
2.3.4 Destrucción de objetos 	
2,3.5 Bloques; de indización 	
2.3.6 Los modificadores de control de acceso a los miembros en detalle 	
2.3.7Los modificadores de uso de los miembros en detalle 	
2.3.8 Modificadores en. la definición de clases generales 	
2.3.9 Clases internas 	
2.3.10 Ejemplo del parking 	
2.3.11 Definición de arrays de objetos y de tipos primitivos 	
2.4. Los paquetes 	
2.5. Lecturas recomendadas 	
2.6. Ejercicios 	
Capitulo 3 Herencia y genericidad en Java 	
3.1. La herencia de clases 	
3.1.1 Herencia en clases internas 	
3.1.2 Redefinición de miembros 	
3.1.3 La herencia y los constructores 	
3.2. Polimorfismo dinamico 	
3.2.1 El casting de referencias a objetos 	
3.3. Las interfaces 	
3.4. La genericidad 	
3.4.1 Clases e interfaces genéticas 	
3.4.2 Métodos con tipos parametrizados 	
3.5. Conclusiones 	
3.6. Lecturas recomendadas 	
3.7. Ejercicios 	
Capitulo 4 El paquete java.lang 	
4.1. La clase Object 	
4.1,1 La clase ClassLouder 	
4.2. Clases para el manejo de cadenas de caracteres 	
4.3. Las excepciones 	
4.3.1 Tipos de excepciones 	
4.3.2 El uso práctico de las excepciones 	
4.4. Sobrecarga de los métodos basicos de object 	
4.4.1 Interfax Cloneable 	
4.4.2 Los métodos equals y hashCode 	
4.4.3 lnterfaz Comparable 	
4.5. La concurrencia 	
4.5.1 La palabra reservada synchronized 	
4.5.2 Comunicación entre hilos 	
4.6. Los tipos enumerados 	
4.7. Envolturas 	
4.8. Lecturas recomendadas 	
4.9. Ejercicios 	
Capitulo 5 Diseño de Clases 	
5.1. Diseño top-down apoyado en UML 	
5.1.1 Relaciones de dependencia entre objetos 	
5.1.2 Relaciones de asociación entre objetos 	
5.1.3 Relaciones entre clases 	
5.2. Diseño dirigido por pruebas 	
5.2.1 Pruebas automaticas 	
5.2.2 Principios del diseño dirigido por pruebas 	
5.2.3 Objetivos y ventajas del enfoque TDD 	
5.3. Conclusiones 	
5.4. Lecturas recomendadas 	
5.5. Ejercicios 	
Capitulo 6 Entrada salida en Java 	
6.1. Streams de bytes 	
6.2. Streams de caracteres 	
6.2.1 Streams del sistema 	
6.2.2 StreamsTokeniker y Scanner 	
6.3. Manejo de ficheros 	
6.4. La interfaz Serializable 	
6.5. Conclusiones 	
6.6. Ejercicios 	
Capitulc 7 Estructuras dc datos predefinidas en Java 	
7.1. Collection 	
7.1.1 El Enumber 	
7.2. Map 	
7.3. Iteradores 	
7.4. La clase Collections 	
7.5. El resto del paquete java util 	
7.6. Conclusiones 	
7.7. Lecturas recomendadas 	
7.8. Ejercicios 	
Capitulo B Patrones y principios de diseño 	
8.1. Principales Patrones de Diseño 	
8.1.1 Fabrica Abstracta (Abstract Factory 	
8.1.2 Adaptador o Envoltorio (Adapter\Wapper 	
8.1.3 Decorador (Decorator) 	
8.1.4 Composicion (Composite) 	
8.1.5 Iterador (Iterator) 	
8.1.6 Estrategia (Strategy) 	
8.1.7 Comando (Command) 	
8.1.8 Observador (Observer) 	
8.2. Algunos principios utiles en POO 	
8.2.1 El principio abiertocerrado 	
8.2.2 E1 principio de Liskov 	
8.2.3 EI principio de segregación de interfaces 	
8.2.4 Maximizar el uso de clases inmutables 	
8.2.5 Preferir composición frente a herencia 	
8.2.6 Principio de responsabilidad juridica 	
8.2.7 Eliminar duplicaciones 	
8.2.8 Principio de inversion de dependencia 	
8.2.9 Preferir el polimorfismo a los bloques if/else o switch/case 	
8.2.10 Conclusiones 	
8.3. Lecturas recomendadas 	
8.4. Ejercicios 	
Capitulo 9 La plataforma Java 	
9.1. Java Platform Standard Edition 	
9.1.1 JavaRuntime Environment 	
9.1.2 Java Development Kit (JDK) 	
9.2. Java Plattform Enterprise Edition 	
9.2.1 Capa de presentación 	
9.2.2 Capa de negocio 	
9.2.3 Capa de datos 	
9.3. Java Platform Micro Edition 	
9.3.1 Connected Limited Device Configuration 	
9.3.2 Connected Device Configuration 	
9.4. Java Card 	
9.5. Lecturas recomendadas 	
Anexo A Solución de los ejercicios 	
A.1 Ejercicios del capitulo 	
A.1.1 Solución del ejercicio 	
A.2 Ejercicios del capitulo 	
A.2.1 Solución del ejercicio 	
A.2.2 Solución del ejercicio 	
A.2.3 Solución del ejercicio 	
A.} Ejercicios del capitulo 	
A.3.1 Solución del ejercicio 	
A.3.2 Solución del ejercicio 	
A.3.3 Solución del ejercicio 	
A.4 Ejercicios del capitulo 	
A.4.1 Solución del capitulo 	
A.5 Ejercicios del capitulo 	
A.5.I Solución del ejercicio 	
A.5.2 Solución del ejercicio 	
A.5.3 Solución del ejercicio 	
A.5.4 Solución del ejercicio 	
A.5.5 Solución del-ejercicio 	
A.5.6 Solución del-ejercicio 	
A.6 Ejercicios del capitulo 	
A.6.1 Solución del ejercicio 	
A.7 Ejercicios del capitulo 	
A.7.1 Solución del ejercicio 	
Anexo B Índice: alfabético </tableOfContents>
  <targetAudience authority="marctarget">general</targetAudience>
  <note type="statement of responsibility">José F. Vélez Serrano</note>
  <note>Incluye índice.</note>
  <subject>
    <topic>Programación orientada a objetos</topic>
  </subject>
  <subject>
    <topic>Java (Lenguaje de programación)</topic>
  </subject>
  <classification authority="ddc">005.133 V868d</classification>
  <relatedItem type="series">
    <titleInfo>
      <title> ( Informática )</title>
    </titleInfo>
  </relatedItem>
  <identifier type="isbn">9788499820743</identifier>
  <recordInfo>
    <recordContentSource authority="marcorg">UEB</recordContentSource>
    <recordCreationDate encoding="marc">161204</recordCreationDate>
    <recordChangeDate encoding="iso8601">20260710084505.0</recordChangeDate>
    <recordIdentifier>BGEN6931</recordIdentifier>
    <languageOfCataloging>
      <languageTerm authority="iso639-2b" type="code">spa</languageTerm>
    </languageOfCataloging>
  </recordInfo>
</mods>
