24
Diseño: Fundamento y Documentación ISF5501 Ingeniería de Software Semana 13/2

Ra semana 13 2

Embed Size (px)

Citation preview

Page 1: Ra semana 13 2

Diseño: Fundamento y Documentación

ISF5501 Ingeniería de SoftwareSemana 13/2

Page 2: Ra semana 13 2

Aprendizajes Esperados:Modela y Diseñar Sistemas de

acuerdo a requerimientos de negocio. Identifica técnicas de documentación

en una solución.

Contenidos:

Formula un proceso de diseño para el desarrollo de aplicaciones informáticas para la gestión. Describe las técnicas de

documentación de la solución a implantar.

Page 3: Ra semana 13 2

1. Fundamentos del Diseño

2. Documentación de Diseño

3. Síntesis

Temario Semana 13-2

Page 4: Ra semana 13 2

Durante los últimos años se han desarrollado un conjuntode conceptos fundamentales para el diseño del software.

Estos fundamentos entregan al diseñador una base sobre laque puedan aplicarse metodologías de diseño mas o menossofisticadas.

Todos ayudan al diseñador a responder las siguientespreguntas:

• ¿Qué criterios se pueden usar para partir el software encomponentes individuales?.

• ¿Cómo se separan los detalles de una función o de laestructura de los datos de la representación conceptualdel software?.

Fundamentos del Diseño

Page 5: Ra semana 13 2

a. Abstracción:

Considerando las solucionesmodulares, pueden formularsemuchos niveles de abstracción.

En el nivel superior de abstracción se establece unasolución en términos amplios, usando el lenguaje delentorno del problema.

En los niveles inferiores de abstracción se toma unaorientación mas procedimental. La terminologíaorientada al problema se acompaña con unaterminología orientada a la implementación.

Fundamentos del Diseño

Page 6: Ra semana 13 2

Considerando las soluciones modulares, puedenformularse muchos niveles de abstracción.

En el nivel superior de abstracción se establece unasolución en términos amplios, usando el lenguaje delentorno del problema.

Durante el análisis de requerimientos, se establece lasolución del software en términos al entorno delproblema. Conforme nos movemos desde lo Preliminaral Detallado, se reduce el nivel de abstracción. El nivelmas bajo de abstracción es la generación del código.

a. Abstracción:

Fundamentos del Diseño

Page 7: Ra semana 13 2

La abstracción de datos, como la abstracciónprocedimental, permite al diseñador representar unobjeto de datos a diferentes niveles de detalle.

Ciertos conceptos de ingeniería como el refinamientosucesivo y modularidad, están muy cerca del conceptode abstracción.

La abstracción de control es la tercera forma deabstracción que se utiliza en el diseño del software. Aligual que la abstracción de datos y procedimental, laabstracción de control implica un mecanismo de controlde programa, sin especificar los detalles internos.

a. Abstracción:

Fundamentos del Diseño

Page 8: Ra semana 13 2

b. Refinamiento:

El Refinamiento es realmente un proceso deelaboración. Comenzamos con una declaración de lafunción definida a un nivel superior de abstracción.

Esto es, la declaración describe la función o lainformación conceptual, pero no proporcionainformación sobre el funcionamiento interno de lafunción.

El refinamiento hace que eldiseñador amplíe la declaraciónoriginal, dando cada vez mas detallesconforme se produzcan los sucesivosrefinamientos.

Fundamentos del Diseño

Page 9: Ra semana 13 2

c. Modularidad:

Toda arquitectura implicamodularidad; esto es, elsoftware se divide encomponentes con nombres yubicaciones determinadas,que se denominan módulos, yque se integran para satisfacerlos requisitos del software.

Se dice que la modularidad “es el atributo individual delsoftware que permite a un programa serintelectualmente manejable”.

Fundamentos del Diseño

Page 10: Ra semana 13 2

c. Modularidad:

A diferencia de los programasmonolíticos, no pueden serfácilmente abarcados elnúmero de caminos decontrol, la expansión de lasreferencias, el número devariables y la complejidadglobal. Estos podrían hacercompleja su correctacomprensión.

Fundamentos del Diseño

Page 11: Ra semana 13 2

d. Arquitectura del Software:

Se refiere a dos características importantes del software:

• La estructura jerárquica de los componentesprocedimentales (módulos).

• La estructura de los datos.

La arquitectura del software se obtiene tras un procesode partición, que relaciona los elementos de unasolución del software con partes del mundo real.

La solución aparece cuando cada parte del problemaestá resuelto mediante uno o mas elementos delsoftware. Este proceso representa una transición entreel Análisis de requisitos del software y el Diseño.

Fundamentos del Diseño

Page 12: Ra semana 13 2

P3

P1 P2

P4P5

“Problema” a ser resuelto con el software

P1 P2

P4 P5

P3

“Solución” de software

d. Arquitectura del Software:

Fundamentos del Diseño

Page 13: Ra semana 13 2

Estructura 1Estructura 2 Estructura 3

S1 S2 S3 S4 S5

“Problema”

S1

S3

S2

S4 S5

S1 S5S2

S4

S3

P

d. Arquitectura del Software:

Fundamentos del Diseño

Page 14: Ra semana 13 2

e. Jerarquía de Control (Estructura de Programa):

Representa la organización, regularmente jerárquica, delos componentes del sistema (módulos).

Para representar la Jerarquía deControl se pueden utilizardistintas notaciones entre lascuales destaca el Diagrama deÁrbol, donde se expresa ademássu anchura y profundidad comoindicadores de amplitud y nivelesde control. Su lectura incluye:dependencia, compañeros,subordinados, etc.

Fundamentos del Diseño

A

B

B1 B2

C

C1

Page 15: Ra semana 13 2

f. Estructura de Datos:

Es una representación de la relación lógica existenteentre los elementos individuales de datos.

Dicha Estructura dicta la organización, los métodos deacceso, el grado de asociatividad y las alternativas deprocedimiento para la información.

La organización y complejidad de una estructura dedatos tan solo está limitada por el ingenio del diseñador.

Existe un número reducido de estructuras de datosclásicas, que constituyen los bloques para laconstrucción de estructuras de datos mas complejas.

Fundamentos del Diseño

Page 16: Ra semana 13 2

• Elemento Escalar: representa un elemento simple deinformación, como por ejemplo una entidad lógica deun bit, un entero, una cadena de caracteres de cientosbytes, etc.

Elemento Escalar

• Vector Secuencial: organización de elementosescalares en una lista o agrupación contigua.

Vector Secuencial

f. Estructura de Datos:

Fundamentos del Diseño

Page 17: Ra semana 13 2

• Espacio n-dimensional: cuando el vector secuencialse amplía a dos, tres o, en último término, a unnúmero arbitrario de dimensiones.

• Lista Enlazada: organización de elementos escalares,vectores o espacios, no contiguos (nodos), de modode ser procesados como en una lista.

Lista Enlazada

f. Estructura de Datos:

Fundamentos del Diseño

Page 18: Ra semana 13 2

g. Procedimientos del Software:

Se centra sobre los detalles de procesamiento de cadamódulo individual.

El procedimiento debe entregar una especificaciónprecisa del procesamiento, incluyendo la secuencia desucesos, los puntos concretos de decisiones, larepetición de operaciones e incluso la organización yestructuración de los datos.

Fundamentos del Diseño

Page 19: Ra semana 13 2

h. Ocultamiento de Información:

Está orientado a que los módulos deben especificarse ydiseñarse de forma que la información (procedimientosy datos) contenida dentro de un módulo sea inaccesiblea otros módulos que no necesiten tal información.

El ocultamiento implica que para conseguir unamodularidad efectiva hay que definir un conjunto demódulos independientes, que se comuniquen con losotros sólo mediante la información que sea necesariapara realizar la función del software.

Fundamentos del Diseño

Page 20: Ra semana 13 2

1. Fundamentos del Diseño

2. Documentación de Diseño

3. Síntesis

Temario Semana 13-2

Page 21: Ra semana 13 2

Como toda etapa dentro del desarrollo de software, se debeincluir la Documentación.

El Documento de Diseño es que el respaldo formal de lasactividades y tareas de esta etapa, junto con la entrega de lainformación relevante que le dará pauta a las otras etapas.

El Documento de Diseño, puede incluir temas tales como:

• Aspectos del Ámbito del Sistema

• Documentación de Referencia

Documento de Diseño

• Descripciones propias del Diseño

• Descripciones Modular

Page 22: Ra semana 13 2

• Aspectos del Ámbito del Sistema

• Documentación de Referencia

Documento de Diseño

• Descripciones propias del Diseño

• Descripciones Modular

• Estructura de los repositorios de Datos

• Referencias cruzadas

• Provisiones de Pruebas

• Notas especiales

• Otros.

Page 23: Ra semana 13 2

1. Fundamentos del Diseño

2. Documentación de Diseño

3. Síntesis

Temario Semana 13-2

Page 24: Ra semana 13 2

Síntesis

• Los fundamentos del diseño son esenciales para uncorrecto proceso de diseño.

• Cada fundamento es independiente en su definición,pero actúan en conjunto para que el diseño comoetapa sea robusta en su definición.

• El documento de diseño es la formalidad documentalde la etapa que siempre va en son de las actividadesrealizadas.