- Editorial:
- RA-MA
- Ano de edición:
- 2015
- Materia
- Informática
- ISBN:
- 978-84-9964-516-2
- Páxinas:
- 412
- Encadernación:
- Rústica
UML. APLICACIONES EN JAVA Y C++
JIMENEZ DE PARGA, CARLOS
PRÓLOGO
CAPÍTULO 1. UML EN EL CONTEXTO DE LA INGENIERÍA DEL SOFTWARE
1.1 LA NECESIDAD DE UN MODELO UNIFICADO
1.2 ¿POR QUÉ MODELAR?
1.3 MODELOS DE PROCESO SOFTWARE
1.3.1 Modelo en cascada
1.3.2 Modelo en espiral
1.3.3 Relación de las fases con los diagramas UML
1.4 MDA
1.4.1 Introducción
1.4.2 Características de MDA
CAPÍTULO 2. DIAGRAMAS DE CASOS DE USO
2.1 INTRODUCCIÓN
2.2 ACTORES
2.3 CASOS DE USO
2.4 ESPECIFICACIÓN DE LOS CASOS DE USO
2.5 FLUJO PRINCIPAL
2.5.1 Sentencia condicional "si"
2.5.2 Sentencia de control "para"
2.5.3 Sentencia de control "mientras"
2.6 USO DE <
2.7 CASO DE ESTUDIO: MERCURIAL
CAPÍTULO 3. DIAGRAMAS DE ROBUSTEZ
3.1 CONCEPTOS BÁSICOS
3.2 IMPORTANCIA DE LOS DIAGRAMAS DE ROBUSTEZ
3.3 CASO DE ESTUDIO: AJEDREZ
3.3.1 Caso de uso "Hacer jugada"
3.3.2 Caso de uso "Configurar parámetros"
3.3.3 Caso de uso "Validar usuario"
3.4 CASO DE ESTUDIO: MERCURIAL
3.4.1 Caso de uso "Listar ficheros"
3.4.2 Caso de uso "Clonar repositorio"
CAPÍTULO 4. MODELO DEL DOMINIO
4.1 EXTRACCIÓN DE CONCEPTOS
4.2 IDENTIFICAR ASOCIACIONES
4.3 ESTABLECER LOS ATRIBUTOS
4.4 HERENCIA
4.5 AGREGACIÓN Y COMPOSICIÓN
4.6 EJEMPLO DE MODELADO: "SPINDIZZY"
4.7 CASO DE ESTUDIO: AJEDREZ
4.8 CASO DE ESTUDIO: MERCURIAL
CAPÍTULO 5. DIAGRAMAS ORIENTADOS A LA ARQUITECTURA
5.1 TAXONOMÍA DE ESTILOS ARQUITECTÓNICOS
5.1.1 Tuberías y filtros
5.1.2 Por capas
5.1.3 Repositorios
5.1.4 Intérprete
5.1.5 Distribuidas
5.1.6 Programa principal / subprograma
5.2 DIAGRAMAS DE COMPONENTES
5.2.1 Interfaces
5.2.2 Componentes
5.2.3 Puertos
5.2.4 Dependencias
5.2.5 Caso de estudio: Ajedrez
5.2.6 Caso de estudio: Mercurial
5.3 DIAGRAMAS DE DESPLIEGUE
5.3.1 Nodos
5.3.2 Artefactos
5.3.3 Caso de estudio: Ajedrez
5.3.4 Caso de estudio: Mercurial
5.4 DIAGRAMAS DE PAQUETES
5.4.1 Paquetes
5.4.2 Generalización
5.4.3 Relaciones de dependencia
5.4.4 Caso de estudio: Ajedrez
5.4.5 Caso de estudio: Mercurial
CAPÍTULO 6. DIAGRAMAS DE CLASES
6.1 CLASES
6.2 ASOCIACIONES
6.2.1 Multiplicidad
6.2.2 Agregación y composición
6.3 HERENCIA
6.4 INTERFACES
6.5 DEPENDENCIAS
6.6 EXCEPCIONES
6.7 CLASES PARAMETRIZABLES
6.8 EJEMPLO DE MODELADO: "SPINDIZZY"
6.9 CASO DE ESTUDIO: AJEDREZ
6.10 CASO DE ESTUDIO: MERCURIAL
CAPÍTULO 7. DIAGRAMAS DE SECUENCIAS
7.1 CONCEPTOS PRELIMINARES
7.2 ESTRUCTURA BÁSICA
7.2.1 Línea de vida
7.2.2 Activación
7.2.3 Mensajes síncronos y asíncronos
7.2.4 Creación, destrucción e invocación recursiva
7.3 EJEMPLO DE MODELADO: "SERVIDOR FTP"
7.3.1 Un solo cliente
7.3.2 Dos clientes
7.4 FRAGMENTOS COMBINADOS
7.4.1 Saltos condicionales
7.4.2 Iteraciones
7.4.3 Paralelismo
7.5 PARAMETRIZACIÓN
7.6 CASO DE ESTUDIO: AJEDREZ
7.6.1 Turno del jugador humano
7.6.2 Turno de la IA
7.7 CASO DE ESTUDIO: MERCURIAL
CAPÍTULO 8. DIAGRAMAS DE COMUNICACIÓN
8.1 ESTRUCTURA BÁSICA
8.2 SALTOS CONDICIONALES
8.3 ITERACIONES
8.4 CASO DE ESTUDIO: AJEDREZ
8.5 CASO DE ESTUDIO: MERCURIAL
CAPÍTULO 9. PATRONES DE DISEÑO
9.1 ¿POR QUÉ PATRONES?
9.2 TIPOS DE PATRONES
9.3 PATRONES ARQUITECTÓNICOS
9.3.1 Sistemas genéricos
9.3.2 Sistemas distribuidos
9.3.3 Sistemas interactivos
9.4 PATRONES DE DISEÑO
9.4.1 Descripción de un patrón de diseño
9.4.2 Patrones de creación
9.4.3 Patrones estructurales
9.4.4 Patrones de comportamiento
9.5 CASO DE ESTUDIO: AJEDREZ
9.5.1 Patrón Facade
9.5.2 Patrón Observer
9.5.3 Patrón Strategy
9.6 CASO DE ESTUDIO: MERCURIAL
9.6.1 Patrón Facade e Interpreter
9.6.2 Patrón Composite
CAPÍTULO 10. DIAGRAMAS DE ESTADO
10.1 CONCEPTOS BÁSICOS
10.2 ESTRUCTURA DE UN ESTADO
10.3 ESTRUCTURA DE LAS TRANSICIONES
10.4 TIPOS DE NODOS
10.4.1 Nodos inicial y final
10.4.2 Nodos de interconexión
10.4.3 Nodos condicionales
10.5 EVENTOS
10.1.1 Eventos de llamada
10.1.2 Eventos de tiempo
10.6 ESTADOS COMPUESTOS
10.6.1 Estados compuestos simples
10.6.2 Estados compuestos ortogonales
10.7 SINCRONIZACIÓN DE SUBMÁQUINAS
10.8 SIMPLIFICACIÓN DEL DIAGRAMA DE ESTADOS
10.9 HISTORIAL
10.9.1 Historia superficial
10.9.2 Historia profunda
10.10 CASO DE ESTUDIO: AJEDREZ
10.11 CASO DE ESTUDIO: MERCURIAL
CAPÍTULO 11. DIAGRAMAS DE ACTIVIDAD
11.1 ESTRUCTURA BÁSICA
11.2 ESTRUCTURAS DE CONTROL
11.2.1 Nodos de decisión
11.2.2 Nodos de concurrencia y paralelismo
11.3 EVENTOS DE TIEMPO
11.4 NODOS OBJETO
11.5 NODOS DE DATOS
11.6 PARTICIONES
11.7 PARAMETRIZACIÓN
11.8 REGIONES
11.8.1 Regiones de expansión
11.8.2 Regiones interrumpibles
11.8.3 Regiones "if"
11.8.4 Regiones "loop"
11.9 MANEJO DE EXCEPCIONES
11.10 CONECTORES
11.11 SEÑALES Y EVENTOS
11.12 MÚLTIPLES FLUJOS
11.13 STREAMING
11.14 MULTICASTING
11.15 CASO DE ESTUDIO: AJEDREZ
11.16 CASO DE ESTUDIO: MERCURIAL
CAPÍTULO 12. DIAGRAMAS DE ESTRUCTURA COMPUESTA
12.1 ESTRUCTURA BÁSICA
12.1.1 Puertos
12.2 COLABORACIONES
12.3 USO DE LA COLABORACIÓN
12.4 CASO DE ESTUDIO: AJEDREZ
12.4.1 Diagrama de estructura compuesta
12.4.2 Colaboración
12.4.3 Uso de la colaboración
12.5 CASO DE ESTUDIO: MERCURIAL
12.5.1 Diagrama de estructura compuesta
12.5.2 Colaboración
12.5.3 Uso de la colaboración
CAPÍTULO 13. OCL (OBJECT CONSTRAINT LANGUAGE)
13.1 ESTRUCTURA BÁSICA
13.2 TIPOS Y OPERADORES
13.3 MODELO DE REFERENCIA: "ACADEMIA"
13.4 EXPRESIONES DE RESTRICCIÓN
13.4.1 Expresión inv:
13.4.2 Expresión pre:
13.4.3 Expresión post:
13.4.4 Operador @pre
13.5 EXPRESIONES DE DEFINICIÓN
13.5.1 Expresión body:
13.5.2 Expresión init:
13.5.3 Expresión def:
13.5.4 Expresión let:
13.5.5 Expresión derive:
13.6 COLECCIONES
13.6.1 Nociones básicas
13.6.2 Operaciones básicas
13.7 NAVEGACIÓN
13.8 OCL EN LOS DIAGRAMAS DE ESTADO
13.9 CASO DE ESTUDIO: AJEDREZ
13.10 CASO DE ESTUDIO: MERCURIAL
CAPÍTULO 14. INGENIERÍA DIRECTA EN JAVA
14.1 DIAGRAMAS DE CLASES
14.1.1 Representación de una clase
14.1.2 Asociaciones
14.1.3 Herencia
14.1.4 Agregación
14.1.5 Composición
14.1.6 Clases abstractas
14.1.7 Clases internas
14.1.8 Clases asociación
14.1.9 Asociación calificada
14.2 DIAGRAMAS DE SECUENCIAS
14.2.1 Interacción básica
14.2.2 Creación, destrucción, automensajes y recursividad
14.2.3 Saltos condicionales
14.2.4 Iteraciones
14.3 DIAGRAMAS DE ESTADO
14.4 CASO DE ESTUDIO: MERCURIAL
CAPÍTULO 15. INGENIERÍA DIRECTA EN C++
15.1 DIAGRAMAS DE CLASES
15.1.1 Representación de una clase
15.1.2 Asociaciones
15.1.3 Herencia simple
15.1.4 Herencia múltiple
15.1.5 Agregación
15.1.6 Composición
15.1.7 Clases abstractas e interfaces
15.1.8 Clases asociación
15.1.9 Asociación calificada
15.2 DIAGRAMAS DE SECUENCIAS
15.2.1 Interacción básica
15.2.2 Creación, destrucción, automensajes y recursividad
15.2.3 Saltos condicionales
15.2.4 Iteraciones
15.3 DIAGRAMAS DE ESTADO
15.4 CASO DE ESTUDIO: AJEDREZ
ANEXO A - PROGRAMACIÓN ORIENTADA A OBJETOS
A.1 BREVE RESEÑA HISTÓRICA
A.2 CARACTERÍSTICAS DE LA POO
A.3 CLASES Y OBJETOS
A.4 PROGRAMACIÓN ORIENTADA A OBJETOS EN C++
A.4.1 Clases y objetos
A.4.2 Herencia
A.4.3 Polimorfismo
A.5 PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA
A.5.1 Clases y objetos
A.5.2 Paquetes
A.5.3 Herencia
A.5.4 Interfaces
A.5.5 Polimorfismo
ANEXO B - RESUMEN DE NOTACIÓN UML
B.1 DIAGRAMA DE CASOS DE USO
B.2 DIAGRAMA DE ROBUSTEZ
B.3 DIAGRAMA DE COMPONENTES
B.4 DIAGRAMA DE DESPLIEGUE
B.5 DIAGRAMA DE PAQUETES
B.6 DIAGRAMA DE CLASES
B.7 DIAGRAMA DE SECUENCIAS
B.8 DIAGRAMA DE COMUNICACIÓN
B.9 DIAGRAMA DE ESTADOS
B.10 DIAGRAMA DE ACTIVIDADES
B.11 DIAGRAMA DE ESTRUCTURA COMPUESTA
BIBLIOGRAFÍA
REFERENCIAS WEB
ÍNDICE ANALÍTICO
Los formalisclave en la a Objetos sinform tico,An lisis y D existen doscapacidadesy Dise¤o Ori raz¢n se hadisciplinas ProfesionalAl adentrarsexplicaci¢n sino tambiayudar n a pla evoluci¢najedrez y unAn lisis y D requisitosello, en estUna introducDiagrama