04 documento de arquitectura

57
Diseño de Sistemas Clase 4: Documento de Arquitectura Hugo R. Cordero S.

Upload: felixpaco

Post on 07-Jan-2016

17 views

Category:

Documents


0 download

DESCRIPTION

ds

TRANSCRIPT

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 1/57

Diseño de Sistemas

Clase 4:

Documento de Arquitectura

Hugo R. Cordero S.

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 2/57

Objetivos

• Conocer la evaluación técnica preliminar y su importancia

 para la arquitectura

• Conocer los diferentes tipos de estructuras y su presentación

mediante vistas

• Comprender los aspectos de seguridad mínimos a incorporar

dentro de la arquitectura de un sistema

• Conocer una plantilla para el documento de arquitectura

2

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 3/57

  Describir en forma general las posibles alternativas desolución preliminares derivadas de la evaluación técnica

preliminar y seleccionar en base de los siguientes criterios:• Costo

• Performance

• Complejidad

• Crecimiento de la funcionalidad

• Limitaciones tecnológicas

• Sensibilidad a los cambios

• Riesgo

• Descontinuación del aplicativo

• Capacidades y limitaciones de los usuarios finales y operadores

Evaluación técnica preliminar

3

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 4/57

Alternativa 2

Lenguaje

Programación: VB

.NETMotor de Base de

datos: SQL SERVER

Servidor: .NET tiene

su propio servidor.

Herramientas

visuales,

componentes COM

y de web services.

Browser: InternetExplorer®

Alternativa 1

Lenguaje

Programación: Java

Motor de Base dedatos: MySQL

Servidor: TOMCAT

Herramientas

Frameworks Struts

Browser: Internet

Explorer®

4

Evaluación técnica preliminar

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 5/57

Vistas y estructuras

Una vista:

• Es una representación coherente de un conjunto de

elementos arquitectónicos y las relaciones entre ellos

• Una vista es una representación de una estructura

Una estructura:

• Es el conjunto de elementos en sí, tal como existen en el

software o hardware.

• Los arquitectos diseñan la estructura y documentan vistas de

esas estructuras

5

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 6/57

Tipos de Estructuras

Tipos de Estructuras (según SEI)• Basado en la representación de tres tipos de estructuras

del sistema de software

 – Estructura de módulos

 – Estructura de componentes y conectores

 – Estructura de localización 

6

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 7/57

Tipos de Estructuras

7

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 8/57

Estructuras de módulos

Nos permite responder preguntas como:• ¿Cuál es la principal responsabilidad funcional asignada a

cada módulo?

• ¿Qué otros elementos de software está permitidos de usar

por un módulo?• ¿Qué otro software es actualmente usado o dependiente?

• ¿Qué módulos están relacionados con otros módulos por

relaciones de generalización o especialización?

8

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 9/57

Estructura de módulos

9

Estructuras de Descomposición

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 10/57

Estructura de módulos

10

Estructura de uso de módulos

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 11/57

Estructura de módulos

11

Estructura de capas

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 12/57

Estructura de componentes y conectores

• Implica decisiones en cuanto a cómo el sistema será

estructurado como un conjunto de elementos que tienen un

comportamiento en tiempo de ejecución (componentes) y sus

interacciones (conectores)

• Los elementos son los componentes en tiempo de ejecución

(que son las principales unidades de cómputo y podrían ser

servicios, clientes, servidores, filtros, etc.) y conectores (que

son los vehículos de comunicación entre los componentes.

12

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 13/57

13

Módulos

• Unidades de diseño

• Encierran funcionalidad

o responsabilidad que seaccede a través de una

interfaz

• No se replica

• No interesa la ejecución

Componentes

• Unidad de ejecución

• Tiene una interfaz

definida y accesibledurante la ejecución

• Puede instalarse en

forma independiente

• Puede replicarse

Módulos y componentes

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 14/57

Nos permite responder preguntas como:

• ¿Cuáles son los principales componentes de ejecución y

cómo interactúan en tiempo de ejecución?

• ¿Cuáles son los principales almacenes de datos compartidos?• ¿Qué partes del sistema son replicados?

• ¿De qué manera se procesan los datos a través del sistema?

• ¿Qué partes del sistema pueden ejecutarse en paralelo?

14

Estructura de componentes y conectores

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 15/57

Estructura de componentes y conectores

15

Estructura de servicios, componentes y conectores

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 16/57

Estructura de componentes y conectores

16

Sincronización

Paralelismo

Estructura de concurrencia

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 17/57

Estructura de localización

• Incorporar las decisiones en cuanto a cómo el sistema serelaciona con las estructuras no software en su entorno (por

ejemplo, CPU, sistemas de archivos, redes, equipos de

desarrollo, etc).

• Estas estructuras muestran la relación entre los elementosde software y elementos en uno o más entornos externos en

el cual el software es creado y ejecutado

17

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 18/57

Estructura de localización

Nos permite responder preguntas como:• ¿Qué procesador tiene cada elemento de software durante su

ejecución?

• ¿En qué directorios o archivos está cada elemento

almacenado durante el desarrollo, las pruebas y laconstrucción del sistema?

• ¿Cómo se asignarán los elementos de software entre los

equipos de desarrollo?

18

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 19/57

Estructura de localización

19

Estructura de Despliegue (1)

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 20/57

Estructura de localización

20

Estructura de Despliegue (2)

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 21/57

Notaciones para representar la

arquitectura

21

Genéricos

• UML, Unified Modeling Language

• ADL, Architecture Description Language

Propietarios

• De alguna organización

• Versión particular

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 22/57

Modelos para representar la Arquitectura

• Diferentes modelos que agrupan vistas para representar tota

la arquitectura de un sistema

• Cada vista representa el detalle de alguna parte del sistema

• Principales modelos:

 – Modelo 4+1

 – Modelo de Siemens

 – Modelo propuesto por SEI

22

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 23/57

Modelo de Siemens (o de Nord)

Vista Conceptual• Se describe el sistema en términos de sus elementos

principales de diseño y las relaciones entre éstos, dentro de un

dominio determinado

• Esta vista es independiente de las decisiones deimplementación y enfatiza en los protocolos de interacción

entre los elementos de diseño

Vista de Módulos

• Se captura la descomposición funcional y las capas del sistema

• El sistema es descompuesto lógicamente en subsistemas, y

módulos

23

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 24/57

Modelo de Siemens (o de Nord)

Vista de Ejecución• Se describe la estructura dinámica del sistema en términos de

sus elementos en tiempo de ejecución

• Algunos de los aspectos que se consideran en esta vista son, el

desempeño y el entorno de ejecución

Vista de Código

• Se organiza el código fuente en directorios, archivos y

bibliotecas

• Algunos de los aspectos que se incluyen son, los lenguajes de

programación a utilizar, herramientas de desarrollo, la

administración de la configuración y la estructura del proyecto

24

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 25/57

Modelo de vistas propuesto por SEI

• Esta nueva tendencia está respaldada por el Instituto de

Ingeniería del Software (SEI) con su propuesta "Vistas y

más allá de éstas, enfoque para la documentación de

arquitecturas de software“ 

• En su propuesta define tres categorías denominadas “tipos 

de vista”  en las que prácticamente cualquier vista,

dependiendo del tipo de información que contenga puede

pertenecer a una de estas categorías.

25

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 26/57

Vista de módulo

• Describe cómo el sistema es estructurado en un conjunto

de unidades funcionales. Por ejemplo capas:

26

Modelo de vistas propuesto por SEI

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 27/57

Vista de conectores y componentes

• Describe cómo el sistema es estructurado en un conjunto

de elementos que están en tiempo de ejecución así como

la interacción entre éstos.

27

Modelo de vistas propuesto por SEI

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 28/57

Vista de localización

• Se describe la relación entre las unidades de software y

los elementos del entorno tales como, hardware o la

organización de los equipos de desarrollo de software

28

Modelo de vistas propuesto por SEI

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 29/57

• Una vista puede llegar a contener gran cantidad de

elementos, ocasionando en el personal involucrado

dificultad en su interpretación

• La solución a esto es utilizar paquetes de vista, los cuales

contienen un número reducido de elementos, logrando

así una mejor comprensión ya que solo se muestra un

fragmento particular del sistema.

29

Modelo de vistas propuesto por SEI

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 30/57

• El SEI recomienda que se cuente con una guía de estilos

que contenga entre otros aspectos, la descripción

relevante del estilo, elementos, relaciones, propiedades,

situaciones en las que no es recomendable aplicarlo,

circunstancias en las que se recomienda usar el estilo, y

posibles enfoques analíticos que el arquitecto puede

utilizar.

30

Modelo de vistas propuesto por SEI

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 31/57

Documentando la arquitectura

• Los arquitectos deben documentar las vistas que sean de

mayor utilidad y no ajustarse a un número fijo de vistas,

como es el caso en las propuestas de Kruchten y Nord.

• Documentar la arquitectura tomando en cuenta losintereses y necesidades de las personas involucradas en el

proyecto, estos intereses se traducen como las cualidades

que el sistema resultante debe poseer.

31

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 32/57

Documentando la arquitectura

UML• Es un lenguaje para especificar, construir, visualizar y

documentar los artefactos de un sistema de software

orientado a objetos. Un artefacto es una información que

es utilizada o producida mediante un proceso dedesarrollo de software

• No define un proceso concreto que determine las fases

de desarrollo de un sistema

• No pretende definir un modelo estándar

de desarrollo

32

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 33/57

Vistas

Estructurales (usando UML)

• Vista de clases

• Vista de paquetes

• Vista de componentes• Vista de despliegue

33

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 34/57

Vista de clases

34

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 35/57

Vista de paquetes

35

Sistema de Venta de Libros OnLine

pe

com

sisvenlib

catalogo

compras

administracion

utilitarios

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 36/57

Vista de componentes

36

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 37/57

Vista de despliegue

37

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 38/57

Vistas

De Comportamiento (usando UML)• Vistas de casos de uso

• Vistas de actividades

• Vistas de comunicación

38

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 39/57

Vista de casos de uso

39

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 40/57

Vistas de actividades

40

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 41/57

Vista de comunicación

41

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 42/57

Vistas del modelo 4+1 vs. UML

42

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 43/57

Otras vistas

• Vistas de código

43

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 44/57

Otras vistas

• Vista de Integración

44

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 45/57

Otras vistas

• Vista de ejecución

45

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 46/57

Seguridad e integridad de los procesos Describir los controles de secuencia de los procesos Batch (procesos

transaccionales que corren nocturnamente). Ej: Cuadro de totales

procesados, validaciones y controles de para transmisiones y/o

procedimientos automáticos.

Proceso : Bat008.4gi

Parámetros: S 1 1 1

----------------------------------------------------

Hora inicio: 21:00:31

Cantidad de registros leídos: 23006

Cantidad de registros procesados : 23006

Cantidad de registros con error: 0

Hora fin: 21:30:58

Definición de la Seguridad

46

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 47/57

Administración de Perfiles de AccesoDefinir y describir los módulos vs. Perfiles de acceso

•  Descripción del módulo de seguridad

•  Descripción de perfiles.

Aplicativo

Funciónes por Módulo Perfil 1 Perfil 2 ... Perfil NMódulo AConsulta de información deempresas

x x X x

Consulta de operadoresautorizados

x x X x

Consulta de cuentas afiliadas x x X x

Consulta de combinacionesautorizadas

x x X x

Modificación de datos básicos de

empresas

x x X x

Modificación de datos extendidos

de la empresa

x x x

Modificación de operadoresautorizados

Módulo B

x x X x

Modificación de cuentas afiliadas x x X x

Modificación de combinacionesautorizadas

x x X x

Definición de la Seguridad

47

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 48/57

 

Administración de Perfiles de Acceso 

 A continuación podemos observar el tiempo de búsqueda de una clave de

acuerdo a su longitud y tipo de caracteres utilizados. La velocidad de búsqueda

se supone en 100.000 passwords por segundo, aunque este número suele ser

mucho mayor dependiendo del programa utilizado.

Definición de la Seguridad

48

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 49/57

Administración de Perfiles de Acceso : • Longitud mínima de password

• Número de intentos de acceso fallidos antes de bloquear el acceso

• Número de veces que se puede repetir un password

• Otras políticas de password implementadas

• Confirmación de password al crear cuentas y resetear

• Existencia de opción deshabilitar cuenta y/o eliminar• Métodos de encripción en passwords

Definición de la Seguridad

49

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 50/57

Controles de Acceso:• Definir y describir los Usuarios genéricos (no aplicativo), como

usuarios del dominio, BD, mail’s, componentes MTS, directorios

compartidos, etc.

• Identificación de usuarios especiales y su necesidad: Ej. DBO, System

 Administrador, etc.

• Identificación de programas que manejan elementos confidenciales.Ej. Rutinas de encriptación, etc.

• Identificación de conexiones a redes externas: firewall, puertos y

protocolos. 

50

Definición de la Seguridad

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 51/57

  Backups, replicación, procedimientos de recuperación

Respecto a respaldos de información (Backups) La mayoría de aplicaciones

cuenta con respaldos de información generalmente centrada alrededor de

bases de datos. Se está reforzando la necesidad de diseñar e implementar

procesos de respaldo debido a que se ha encontrado que muchas

aplicaciones no están almacenando toda la información crítica para su

funcionamiento.

51

Tareas operativas básicas

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 52/57

Documento de Arquitectura

•Descripción general – Propósito del sistema

 – Objetivo y alcance del diseño

 – Definiciones y convenciones

• Requerimientos

 – Funcionales

 – No funcionales

•Arquitectura del sistema – Contexto del sistema

 – Arquitectura general

 – Tecnologías seleccionadas

52

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 53/57

Documento de Arquitectura

• Vistas del sistema

 – Vista de módulos

 – Vista de casos de uso

 – Vista de procesos

 – Vista de componentes

 – Vista de datos

 – Vista de despliegue

 – Vista de integración – Vista de concurrencia

53

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 54/57

Documento de Arquitectura

• Detalles de Implementación

 – Plataforma y herramientas

 – Organización del proyecto

 – Requerimientos de Hardware

 – Requerimientos de Software

 – Definiciones de Seguridad

 – Diseño de archivos y base de datos

 – Tareas operativas básicas• Anexos

 – Glosario de términos

54

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 55/57

Resumen

• La evaluación técnica preliminar sienta las bases del sistema

a implementar

• Existen tres grupos de estructuras: módulos, de

componentes y conectores, y de localización

• Los modelos 4+1, de Siemens y del SEI son formas de

representar un sistema a través de un conjunto de vistas

• Las vistas estructurales son: de clases, de paquetes, de

componentes y de despliegue

• Las vistas de comportamiento son: de casos de uso, de

actividades y de comunicación

• Administración de los perfiles de acceso y los controles de

acceso son definiciones de seguridad importantes.

55

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 56/57

¿Preguntas?

• ¿Por qué es importante la evaluación técnica

preliminar?

56

7/17/2019 04 Documento de Arquitectura

http://slidepdf.com/reader/full/04-documento-de-arquitectura 57/57

Bibliografía

• Ingeniería del Software, 9na. Edición, Ian Sommerville

 – Capítulo 6: Diseño arquitectónico

• Ingeniería de Software: Un enfoque práctico, 7ma. edición,

Roger S. Pressman

 – Capítulo 8: Conceptos de diseño

 – Capítulo 9: Diseño de la arquitectura

• Ingeniería de Software. Un enfoque desde la guía SWEBOK

1ra. edición, S.Sánchez - M.Sicilia - D.Rodriguez

 – Capítulo 5: Diseño

• Ingeniería de Software, 1ra. edición, Guillermo Pantaleo y

Ludmila Rinaudo

 – Capítulo 13, Arquitectura de software

 – Capítulo 14, Diseño de software