You are on page 1of 12

Fundamentos de Ingeniería de

Software

Marcello Visconti y Hernán Astudillo


Departamento de Informática
Universidad Técnica Federico Santa María
{visconti,hernan} en inf.utfsm.cl

Fundamentos de Ingeniería de SW 1

Implementación
Implementación - Resumen

? Diagramas de componentes
? Diagramas de despliegue
? Codificación

Fundamentos de Ingenier ía de SW 2

1
Implementación
Diagrama de Componentes

? Los diagramas de componentes describen los elementos físicos y sus


realizaciones en el entorno.
? Muestran las opciones de realización.

Fundamentos de Ingenier ía de SW 3

Implementación
Diagrama de Componentes : módulos

? Los módulos representan todos los tipos de elementos físicos que


entran en la fabricación de aplicaciones informáticas.
? Pueden ser simples archivos, paquetes de Ada, bibliotecas cargadas
dinámicamente, etc.
? Cada clase del modelo lógico se realiza en dos componentes: la
especificación y el cuerpo.
? La especificación contiene el interfaz de la clase mientras que el cuerpo
contiene la realización de la clase.
? La especificación puede ser genérica en el caso de las clases
parametrizables.

Fundamentos de Ingenier ía de SW 4

2
Implementación
Diagrama de Componentes : módulos

? La representación gráfica es la siguiente:

Especificación Cuerpo Genérico

Package Package Generic


specification body package

Fundamentos de Ingenier ía de SW 5

Implementación
Diagrama de Componentes: módulos

? En C++ una especificación corresponde a un archivo con un sufijo .h


y un cuerpo a un archivo con un sufijo .cpp
? En Ada la noción de módulo existe directamente en el lenguaje con el
nombre del paquete.

Fundamentos de Ingenier ía de SW 6

3
Implementación
Diagrama de Componentes: dependencias

? Las relaciones de dependencia se utilizan en los diagramas de


componentes para indicar que un componente se refiere a los servicios
ofrecidos por otro componente.

NewPackageSpec NewPackageSpec2

Dependencia entre
dos componentes

Fundamentos de Ingenier ía de SW 7

Implementación
Diagrama de Componentes: dependencias

? La relación de dependencia puede especializarse con un estereotipo


para precisar la naturaleza de las opciones de realización que entraña
la relación de dependencia.
? p.ej., una <<instanciación>>, etc.
? Las dependencias entre componentes implican dependencias de
compilación.
? El orden de la compilación viene dado por el orden del grafo de
precedencia diseñado.

Fundamentos de Ingenier ía de SW 8

4
Implementación
Diagrama de Componentes: dependencias

? Ejemplo de orden de compilación:

NewPackageBody3 NewPackageBody2

NewPackageSpec3 NewPackageSpec2

Fundamentos de Ingenier ía de SW 9

Implementación
Diagrama de Componentes: procesos y tareas

? Las tareas son componentes que poseen su propio flujo de control


(thread).
? Las tareas pueden estar contenidas en otros componentes.
? UML define los estereotipos <<proceso>> y <<flujo>> donde varios
flujos pueden compartir el mismo espacio de direccionamiento dentro
de un proceso.

Fundamentos de Ingenier ía de SW 10

5
Implementación
Diagrama de Componentes: procesos y tareas

? Ejemplo de especificación y cuerpo de una tarea:

NewTaskSpec2 NewTaskBody

Fundamentos de Ingenier ía de SW 11

Implementación
Diagrama de Componentes: programas principales

? Los puntos de entrada de las aplicaciones se especifican con el


siguiente icono:

NewMainSubprog2

Fundamentos de Ingenier ía de SW 12

6
Implementación
Diagrama de Componentes: programas principales

? En C++ la función libre se llama main()almacenada en un archivo


.cpp
? El nombre del programa principal es utilizado a menudo por el
enlazador para dar nombre al programa ejcutable correspondiente a la
aplicación.

Fundamentos de Ingenier ía de SW 13

Implementación
Diagrama de Componentes: subprogramas

? Los subprogramas agrupan los procedimientos y funciones que no


pertenencen a ninguna clase.
? Existen dos representaciones gráficas:

Especificación Subprograma Realización del subprograma

Fundamentos de Ingenier ía de SW 14

7
Implementación
Diagrama de Componentes: subsistemas

? Los distintos componentes pueden agruparse en paquetes según un


criterio lógico y con vistas a simplificar la implementación.
? Son paquetes estereotipados en <<subsistemas>> para incorporar la
noción de biblioteca de compilación y de gestión de configuración.

<<subsistema>>
NewPackage4

Fundamentos de Ingenier ía de SW 15

Implementación
Diagrama de Componentes: subsistemas

? Los subsistemas organizan la vista de realización de un sistema.


? Cada subsistema puede contener componentes y otros subsistemas.
? La descomposición en subsistemas NO es una descomposición
funcional.
? La relación entre paquetes y clases en el nivel lógico es el que existe entre
subsistemas y módulos en el nivel físico.
? Los subsistemas poseen una parte pública y una parte privada.
? Por defecto, los módulos de los subsistemas son visibles desde el exterior.

Fundamentos de Ingenier ía de SW 16

8
Implementación
Diagrama de Componentes: subsistemas

? Ejemplo de un subsistema que depende de un componente:

Espec. Subprograma
Subsistema

NewPackage2
NewPackage6

Fundamentos de Ingenier ía de SW 17

Implementación
Diagrama de Componentes: subsistemas

? Ejemplo de un componente que depende de un subsistema:

Programa Principal
Subsistema

NewPackage2
NewPackage6

Fundamentos de Ingenier ía de SW 18

9
Implementación
Diagrama de Componentes: integración

? Cada subsistema de materializa por un directorio que contiene archivos


correspondientes a los distintos componentes del subsistema.
? El subsistema contendrá además los archivos necesarios para la
compilación, documentación y prueba de componentes.
? La integración con los sistemas de compilación permite asociar la
noción de biblioteca de programas a la de subsistema.

Fundamentos de Ingenier ía de SW 19

Implementación
Diagrama de Despliegue [1]

? Los diagramas de despliegue muestran la disposición física de los


distintos nodos que entran en la composición de un sistema y el
reparto de los programas ejecutables sobre estos nodos

Nodo

Fundamentos de Ingenier ía de SW 20

10
Implementación
Diagrama de Despliegue [2]

? Todo sistema se describe con uno o más diagramas de despliegue.


? Los estereotipos permiten precisar la naturaleza del equipo:
? Dispositivos
? Procesadores
? Memoria
? Los nodos se interconectan mediante soportes bidireccionales (en
principio) que pueden a su vez estereotiparse.

Fundamentos de Ingenier ía de SW 21

Implementación
Diagrama de Despliegue [3]

? Ejemplo de conexión entre nodos:

<<Procesador> <<dispositivo>>
Nodo <<<<TCP/IP>>>> nodo2
conexión1

conexión7
<<RDSI>>
dispositivo
En Rational Rose podemos distinguir
entre el dispositivo por estereotipado y
el dispositivo con su propio símbolo

Fundamentos de Ingenier ía de SW 22

11
Implementación
Quiz

? ¿Cuál es el propósito de diagramas de componentes?


? ¿Cuál es el propósito de diagramas de despliegue?
? ¿Cómo se construyen?

Fundamentos de Ingenier ía de SW 23

12

You might also like