UML. Arquitectura de aplicaciones en Java, C++ y Python. 2ª Edición

Esta obra está dirigida a los desarrolladores profesionales y estudiantes que deseen alcanzar
un alto nivel de conocimientos con los que crear diagramas estáticos y dinámicos en UML, lo que facilitará la construcción de aplicaciones de una forma metódica, organizada y segura.

En ella hallará una explicación completa y didáctica de la sintaxis y semántica de UML 2.x, encontrará una gran colección de ejemplos reales que le ayudarán a progresar rápidamente en el aprendizaje del modelado de sus aplicaciones. Además, mediante la evolución de tres proyectos de software basados en un videojuego de ajedrez, una aplicación CVS y un cliente/servidor de cifrado remoto, recorrerá los aspectos esenciales del Análisis y Diseño Orientado a Objetos con UML, desde la adquisición de requisitos hasta la implementación en los lenguajes Java, C++ y Python.

Con todo ello, en el presente volumen podrá encontrar:

• Una introducción al estado del arte de la Ingeniería de Software.
• Diagramas inteligibles y explicaciones detalladas de la sintaxis UML 2.x.
• Once tipos de diagramas más modelado del dominio.
• Un capítulo completo sobre patrones de diseño GOF.
• Un capítulo sobre patrones GRASP de buenas prácticas de programación.
• Un capítulo completo dedicado a OCL (Object Constraint Language).
• Implementación en Java, C++ y Python de los diagramas explicados.
• Descarga de los códigos y esquemáticos desde el servidor de Editorial Ra-Ma.
• Una referencia completa de UML y Programación Orientada a Objetos.

«Un libro de utilidad práctica que incluye un gran número de ejemplos reales para quienes deseen introducirse en el modelado UML».

Jesús García Molina.
Catedrático de Ingeniería de Software de la Universidad de Murcia.

Escritor
Colección
Profesional
Materia
UML
Idioma
  • Castellano
EAN
9788499649771
ISBN
978-84-9964-977-1
Depósito legal
M-17905-2020
Páginas
504
Ancho
17 cm
Alto
24 cm
Edición
1
Fecha publicación
09-03-2021
Edición en papel
29,90 €
679,30 MX$33,69 US$
También disponible en

Índice de contenido

PRÓLOGO
¿A QUIÉN VA DIRIGIDO ESTE LIBRO?
ESTRUCTURA DEL LIBRO
NOVEDADES EN LA SEGUNDA EDICIÓN
ESTILOS DE PROGRAMACIÓN
DIAGRAMAS Y PROGRAMAS DE EJEMPLO
FEEDBACK
AGRADECIMIENTOS ACADÉMICOS
CAPÍTULO 1UML 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.4 METODOLOGÍAS DE DESARROLLO
1.5 CALIDAD DEL SOFTWARE
1.6 DESARROLLO DE SOFTWARE SEGURO
1.6.1 Introducción
1.7 MDA
CAPÍTULO 2DIAGRAMAS 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.6 USO DE <> Y <>
2.7 CASO DE ESTUDIO: MERCURIAL
2.8 CASO DE ESTUDIO: SERVICIO DE CIFRADO REMOTO
CAPÍTULO 3DIAGRAMAS DE ROBUSTEZ
3.1 CONCEPTOS BÁSICOS
3.2 IMPORTANCIA DE LOS DIAGRAMAS DE ROBUSTEZ
3.3 CASO DE ESTUDIO: AJEDREZ
3.4 CASO DE ESTUDIO: MERCURIAL
3.5 CASO DE ESTUDIO: SERVICIO DE CIFRADO REMOTO
CAPÍTULO 4MODELO 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
4.9 CASO DE ESTUDIO: SERVICIO DE CIFRADO REMOTO
CAPÍTULO 5DIAGRAMAS ORIENTADOS A LA ARQUITECTURA
5.1 TAXONOMÍA DE ESTILOS ARQUITECTÓNICOS
5.2 DIAGRAMAS DE COMPONENTES
5.3 DIAGRAMAS DE DESPLIEGUE
5.4 DIAGRAMAS DE PAQUETES
CAPÍTULO 6DIAGRAMAS DE CLASES
6.1 CLASES
6.2 ASOCIACIONES
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
6.11 CASO DE ESTUDIO: SERVICIO DE CIFRADO REMOTO
CAPÍTULO 7DIAGRAMAS DE SECUENCIAS
7.1 CONCEPTOS PRELIMINARES
7.2 ESTRUCTURA BÁSICA
7.3 EJEMPLO DE MODELADO: “SERVIDOR FTP”
7.4 FRAGMENTOS COMBINADOS
7.5 PARAMETRIZACIÓN
7.6 CASO DE ESTUDIO: AJEDREZ
7.7 CASO DE ESTUDIO: MERCURIAL
7.8 CASO DE ESTUDIO: SERVICIO DE CIFRADO REMOTO
CAPÍTULO 8DIAGRAMAS 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
8.6 CASO DE ESTUDIO: SERVICIO DE CIFRADO REMOTO
CAPÍTULO 9PATRONES DE DISEÑO
9.1 ¿POR QUÉ PATRONES?
9.2 TIPOS DE PATRONES
9.3 PATRONES ARQUITECTÓNICOS
9.4 PATRONES DE DISEÑO GOF
9.5 CASO DE ESTUDIO: AJEDREZ
9.6 CASO DE ESTUDIO: MERCURIAL
9.7 CASO DE ESTUDIO: SERVICIO DE CIFRADO REMOTO
CAPÍTULO 10BUENAS PRÁCTICAS DE PROGRAMACIÓN
10.1 PATRONES DE DISEÑO GRASP
10.2 CASO DE ESTUDIO: AJEDREZ
10.3 CASO DE ESTUDIO: MERCURIAL
10.4 CASO DE ESTUDIO: SERVICIO DE CIFRADO REMOTO
CAPÍTULO 11DIAGRAMAS DE ESTADO
11.1 CONCEPTOS BÁSICOS
11.2 ESTRUCTURA DE UN ESTADO
11.3 ESTRUCTURA DE LAS TRANSICIONES
11.4 TIPOS DE NODOS
11.5 EVENTOS
11.6 ESTADOS COMPUESTOS
11.7 SINCRONIZACIÓN DE SUBMÁQUINAS
11.8 SIMPLIFICACIÓN DEL DIAGRAMA DE ESTADOS
11.9 HISTORIAL
11.10 CASO DE ESTUDIO: AJEDREZ
11.11 CASO DE ESTUDIO: MERCURIAL
11.12 CASO DE ESTUDIO: SERVICIO DE CIFRADO REMOTO
CAPÍTULO 12DIAGRAMAS DE ACTIVIDAD
12.1 ESTRUCTURA BÁSICA
12.2 ESTRUCTURAS DE CONTROL
12.3 EVENTOS DE TIEMPO
12.4 NODOS OBJETO
12.5 NODOS DE DATOS
12.6 PARTICIONES
12.7 PARAMETRIZACIÓN
12.8 REGIONES.
12.9 MANEJO DE EXCEPCIONES
12.10 CONECTORES
12.11 SEÑALES Y EVENTOS
12.12 MÚLTIPLES FLUJOS
12.13 STREAMING
12.14 MULTICASTING
12.15 CASO DE ESTUDIO: AJEDREZ
12.16 CASO DE ESTUDIO: MERCURIAL
12.17 CASO DE ESTUDIO: SERVICIO DE CIFRADO REMOTO
CAPÍTULO 13DIAGRAMAS DE ESTRUCTURA COMPUESTA
13.1 ESTRUCTURA BÁSICA
13.2 COLABORACIONES
13.3 USO DE LA COLABORACIÓN
13.4 CASO DE ESTUDIO: AJEDREZ
13.5 CASO DE ESTUDIO: MERCURIAL
13.6 CASO DE ESTUDIO: SERVICIO

Libros relacionados