+ All Categories
Home > Documents > TECNICAS DEL DISENO DE LA INFORMACION 2

TECNICAS DEL DISENO DE LA INFORMACION 2

Date post: 04-May-2023
Category:
Upload: uca-sv
View: 0 times
Download: 0 times
Share this document with a friend
16
INDICE INTRODUCCION............................................................2 1. Objetivos............................................................3 2. TECNICAS O PRINCIPIOS DEL DISEÑO DE LA INFORMACION...................4 2.1. ABSTRACCION......................................................4 2.1.1. Concepto.....................................................4 2.1.2. Características..............................................4 2.1.3. Ventajas.....................................................4 2.1.4. Niveles de Abstracción.......................................4 2.1.5. Ejemplo......................................................5 3. REFINAMIENTO.......................................................6 3.1. Concepto.......................................................6 3.2. Características................................................6 4. MODULARIDAD........................................................7 4.1. Concepto.......................................................7 4.2. Características................................................7 4.3. Ventajas.......................................................7 5. ARQUITECTURA DEL SOFTWARE..........................................8 5.1. Concepto.......................................................8 5.2. Características................................................9 6. JERARQUIA DE CONTROL...............................................9 6.1. Concepto.......................................................9 6.2. Características................................................9 6.3. Partición horizontal..........................................10 6.4. Partición vertical o descomposición en factores (factoring)...10 6.5. Ejemplo.......................................................11 7. ESTRUCRURA DE DATOS...............................................12 7.1. Concepto......................................................12 8. PROCEDIMIENTO DEL SOFTWARE........................................12 9. OCULTAMIENTO DE LA INFORMACION....................................12 9.1. Concepto......................................................12 Técnicas de Diseño de la InformaciónPágina 1
Transcript

INDICEINTRODUCCION............................................................2

1. Objetivos............................................................3

2. TECNICAS O PRINCIPIOS DEL DISEÑO DE LA INFORMACION...................4

2.1. ABSTRACCION......................................................4

2.1.1. Concepto.....................................................4

2.1.2. Características..............................................4

2.1.3. Ventajas.....................................................4

2.1.4. Niveles de Abstracción.......................................4

2.1.5. Ejemplo......................................................5

3. REFINAMIENTO.......................................................6

3.1. Concepto.......................................................6

3.2. Características................................................6

4. MODULARIDAD........................................................7

4.1. Concepto.......................................................7

4.2. Características................................................7

4.3. Ventajas.......................................................7

5. ARQUITECTURA DEL SOFTWARE..........................................8

5.1. Concepto.......................................................8

5.2. Características................................................9

6. JERARQUIA DE CONTROL...............................................9

6.1. Concepto.......................................................9

6.2. Características................................................9

6.3. Partición horizontal..........................................10

6.4. Partición vertical o descomposición en factores (factoring)...10

6.5. Ejemplo.......................................................11

7. ESTRUCRURA DE DATOS...............................................12

7.1. Concepto......................................................12

8. PROCEDIMIENTO DEL SOFTWARE........................................12

9. OCULTAMIENTO DE LA INFORMACION....................................12

9.1. Concepto......................................................12

Técnicas de Diseño de la InformaciónPágina 1

9.2. Ejemplo.......................................................13

10. CONCLUSION........................................................14

INTRODUCCION

Las técnicas de diseño de la información son un proceso deresolución de problemas cuyo objetivo es encontrar ydescribir una forma para implementar los requisitosfuncionales del sistema, respetando las restriccionesimpuestas por los requisitos no funcionales incluyendo laspresupuestarias y ajustándose a los principios generales decalidad. El proceso de diseño es, por tanto, un procesoiterativo, mediante el cual se va a realizar una traducciónde los requisitos en una representación del software

El diseño y la construcción del software están soportados porvarios principios o técnicas fundamentales. Estas técnicasfavorecen que los objetivos de calidad del software sealcancen con mayor facilidad. En este tema se estudiarán losprincipios y técnicas que permiten construir arquitecturassoftware correctas.

Primeramente se introducirá la fase de diseño y el proceso dediseño, para posteriormente centrarse en las técnicas yconceptos fundamentales del diseño del software, haciendo unespecial hincapié en todos aquéllos que permitan alcanzar undiseño modular eficaz, basado en módulos altamentecohesionados, con bajo acoplamiento y construidos sobre labase de la ocultación de la información

El proceso de definición de la arquitectura software,componentes módulos, interfaces, procedimientos de prueba y

Técnicas de Diseño de la InformaciónPágina 2

datos de un sistema que se crean para satisfacer requisitosespecíficos.

1. Objetivos Identificar la arquitectura de la información,

descomponiendo los sistemas en subsistemas. Determinar las dependencias entre componentes y

establecer los mecanismos de comunicación entrecomponentes

Especificar y definir las interfaces entre loscomponentes para facilitar la prueba y la comunicación.

Técnicas de Diseño de la InformaciónPágina 3

2. TECNICAS O PRINCIPIOS DEL DISEÑO DE LA INFORMACION2.1. ABSTRACCION

2.1.1. Concepto

Separar por medio de una operación intelectual las cualidadesde un objeto para considerarlas aisladamente o paraconsiderar el mismo objeto en su pura esencia o noción [RAE,2001]La representación de las características esenciales de algosin incluir antecedentes o detalles irrelevantes [Graham,1994]La noción psicológica de abstracción permite concentrarse enun problema a un nivel de generalización independiente de losdetalles de nivel inferior; la abstracción también permitetrabajar con conceptos y términos que son familiares en elentorno del problema sin tener que transformarlos en unaestructura poco familiar [Wasserman, 1983]

2.1.2. Características

Las abstracciones permiten comprender la esencia de lossubsistemas sin tener que conocer detalles innecesarios

Técnicas de Diseño de la InformaciónPágina 4

Las decisiones de diseño susceptibles de cambio debenocultarse detrás de interfaces abstractas

Los módulos se han de diseñar de forma que lainformación interna del módulo sea inaccesible a otrosmódulos que no la necesitan

2.1.3. Ventajas Define y refuerza las restricciones de acceso Facilita el mantenimiento y la evolución de los sistemas

software Reduce los efectos laterales Limita el impacto global de las decisiones de diseño

locales Favorece la encapsulación, uno de los elementos de un

buen diseño

2.1.4. Niveles de Abstracción En el nivel interno.

Este esquema se especifica mediante un modelo físico ydescribe todos los detalles para el almacenamiento de la basede datos, así como los métodos de acceso.

Es el nivel más cercano al almacenamiento físico de losdatos. Permite escribirlos tal y como están almacenados en elordenador. En este nivel se diseñan los archivos quecontienen la información, la ubicación de los mismos y suorganización, es decir se crean los archivos deconfiguración.

En el nivel conceptual.Este esquema oculta los detalles de las estructuras dealmacenamiento y se concentra en describir entidades,atributos, relaciones, operaciones de los usuarios yrestricciones.En este nivel se representan los datos que se van a utilizarsin tener en cuenta aspectos como lo que representamos en elnivel interno.

En el nivel externo.

Técnicas de Diseño de la InformaciónPágina 5

Se describen varios esquemas externos o vistas de usuario.Cada esquema externo describe la parte de la base de datosque interesa a un grupo de usuarios determinados y ocultos aese grupo el resto de la base de datos.Es el más cercano al usuario. En este nivel se describen losdatos o parte de los datos que más interesan a los usuarios.Una base de datos específica tiene un único nivel interno yun único nivel conceptual pero puede tener 

A medida que alcanzamos diferentes niveles de abstracción,creamos abstracciones procedimentales y de datos.

• Abstracción procedimental : secuencia de instruccionescon una función específica y limitada.

Ejemplo de abstracción procedimental: abrir una puerta.Abrir implica una secuencia larga de pasosprocedimentales:

Llegar a la puerta; alcanzar y agarrar el picaporte; girarloy tirar la puerta; separarse al mover la puerta.

• Abstracción de datos : colección de datos que describe unobjeto de datos.

En el contexto de la abstracción procedimental abrir, hay unaabstracción de datos llamada puerta. La abstracción de datospara puerta son el conjunto de atributos que describen estapuerta.

Ejemplo: tipo de puerta, dirección de apertura, mecanismo deapertura, peso, dimensiones.

La abstracción procedimental abrir hace uso de la informacióncontenida en los atributos de la abstracción de datos puerta.

2.1.5. Ejemplo

Técnicas de Diseño de la InformaciónPágina 6

Ejemplo 1: ¿Qué características podemos abstraer de losautomóviles? o ¿Qué características semejantes tienen todos losautomóviles?

Características: Marca, Modelo, Número de chasis, Peso llantas ocauchos, Puertas, Ventanas... Comportamiento: Acelerar, Frenar,Retroceder...

3. REFINAMIENTO3.1. Concepto

Es el procedimiento por el que se va pasando de los nivelessuperiores de abstracción a los niveles inferiores, es decir,la manera en que se va añadiendo información de un nivel aotro.

El refinamiento paso a paso es una estrategia de diseñodescendente. El desarrollo de un programa se realizarefinando sucesivamente los niveles de detalleprocedimentales.

Una jerarquía se desarrolla descomponiendo una sentenciamacroscópica de función (una abstracción procedimental) pasoa paso hasta alcanzar las sentencias del lenguaje deprogramación.

3.2. Características

Técnicas de Diseño de la InformaciónPágina 7

Refinamiento paralelo de funciones y datos Cada refinamiento implica decisiones de diseño Gestiona la complejidad dividiendo problemas grandes en

problemas pequeños Permite que personas diferentes puedan trabajar con cada

parte Permite la especialización de los ingenieros del

software Cada componente individual es más pequeño y, por tanto,

su comprensión es más sencilla Las partes se pueden remplazar o cambiar sin tener que

remplazar o cambiar de forma generalizada el resto delas partes

En cada paso (del Refinamiento), se descomponen una o variasinstrucciones del programa en instrucciones más detalladas.

Esta descomposición sucesiva (refinamiento deespecificaciones) termina cuando todas las instrucciones seexpresan en función de cualquier lenguaje de programación.

Así como se refinan las tareas, los datos también se tienenque refinar, descomponer o estructurar, en paralelo con elprograma. Todos los pasos del refinamiento implicandecisiones de diseño.

4. MODULARIDAD4.1. Concepto

Técnicas de Diseño de la InformaciónPágina 8

Es una partición lógica del diseño software que permite alsoftware complejo ser manejable para propósitos deimplementación y mantenimiento. Es el atributo individual delsoftware que permite a un programa ser intelectualmentemanejable [Myers, 1978].Es la propiedad que tiene un sistemaque ha sido descompuesto en un conjunto de módulos cohesivosy débilmente acoplados [Boch, 1994]

El esfuerzo (costo) para desarrollar un módulo individualdisminuye a medida que aumenta el número total de módulos.Con los mismos requisitos, tener más módulos conduce a untamaño menor de cada módulo. Sin embargo, a medida queaumenta el número de módulos, también crece el esfuerzo(costo) asociado con la integración de módulos.

4.2. Características Sistema dividido en subsistemas Subsistemas son repetidamente divididos hasta que son

intelectual y técnicamente manejables como unidadesindividuales

4.3. Ventajas La modularidad mejora la calidad del diseño Reduce la complejidad, Aumenta la claridad mediante

arquitecturas de software descentralizadas. Facilita implementación, depuración, pruebas,

documentación y mantenimiento del software Son fáciles de entender y explicar porque se puede

estudiar cada módulo por separado, y además estosmódulos tienen bien definidas las interdependencias

Al ser más fáciles de entender y explicar, son fácilesde documentar

Son más fáciles de programar porque gruposindependientes pueden trabajar en módulos diferentes conpoca comunicación

Son más fáciles de probar porque pueden ser probados porseparado, y después integrados y probados juntos

Cuando los módulos son realmente independientes, son másfáciles de mantener. Se pueden hacer cambios en algunosmódulos sin afectar al resto del sistema

Técnicas de Diseño de la InformaciónPágina 9

5. ARQUITECTURA DEL SOFTWARE5.1. Concepto

Es la estructura jerárquica de los componentes del programa(módulos), la manera en que los componentes interactúan y laestructura de datos que van a utilizar los componentes.

Una arquitectura software es la descripción de lossubsistemas y componentes de un sistema software y de lasrelaciones entre ellos. Los subsistemas y componentes seespecifican habitualmente desde diferentes puntos de vistapara mostrar las propiedades funcionales y no funcionalesrelevantes de un sistema software. La arquitectura softwarede un sistema es un “artefacto”, es el resultado de laactividad de diseño del sistema [Buschmann et al., 1996]

5.2. Características Derivar una representación arquitectónica de un sistema. Esta representación sirve como marco de trabajo desde

donde se llevan a cabo actividades de diseño másdetalladas.

Un conjunto de patrones arquitectónicos permiten que elingeniero del software reutilice los conceptos a nivelde diseño.

Propiedades que deberían especificarse como parte de undiseño arquitectónico [Shaw y Garlan, 1995]

Técnicas de Diseño de la InformaciónPágina 10

Propiedades estructuralesDefine los componentes de un sistema (módulos, objetos,filtros…) y la manera en que estos componentes seempaquetan e interactúan unos con otros

Propiedades extra-funcionalesLa descripción del diseño arquitectónico deberá ocuparsede cómo la arquitectura de diseño consigue los requisitospara el rendimiento, capacidad, fiabilidad, seguridad,capacidad de adaptación y otras características delsistema

Familias de sistemas relacionadosEl diseño arquitectónico deberá dibujarse sobre patronesrepetibles que se basen comúnmente en el diseño defamilias de sistemas similares. En esencia, el diseñodeberá tener la habilidad de volver a utilizar bloques deconstrucción arquitectónicos

6. ESTRUCRURA DE DATOS 6.1. Concepto

La Estructura de Datos es una representación de la relaciónlógica entre elementos individuales de datos. La estructurade datos dicta la organización, los métodos de acceso, elgrado de asociatividad y las alternativas de procesamientopara la información.

Las estructuras de datos son un medio para manejar grandescantidades de datos de manera eficiente para usos tales comograndes bases de datos y servicios de indización de internet. Porlo general, las estructuras de datos eficientes son clave paradiseñar eficientes algoritmos. Algunos métodos formales de diseñoy lenguajes de programación destacan las estructuras de datos, enlugar de los algoritmos, como el factor clave de organización enel diseño de software.

7. JERARQUIA DE CONTROL7.1. Concepto

La Jerarquía de Control, llamada «estructura de programa»,representa la organización de los componentes de programa

Técnicas de Diseño de la InformaciónPágina 11

(módulos) e implica una jerarquía de control. El diagrama máscomún es el de forma de árbol, que representa el controljerárquico para las arquitecturas de llamada y de retorno.

7.2. Características

Esta técnica esta basada en el flujo de control entrediferentes partes de un programa

No presenta detalles procedimentales La estructura de un programa debe partirse horizontal y

verticalmente

7.3. Partición horizontal Define ramas separadas de la jerarquía modular para cadafunción principal del programa(Enfoque entrada/proceso/salida)

Ventajas de la partición horizontal Proporciona software más fácil de probar Lleva a un software más fácil de mantener Propaga menos efectos secundarios Proporciona software más fácil de ampliar

Desventajas de la partición horizontal Aumenta la comunicación entre módulos, pudiendo

complicar el control global del flujo del programa

Técnicas de Diseño de la InformaciónPágina 12

7.4. Partición vertical o descomposición en factores(factoring)

La partición vertical expresa que el control, toma dedecisiones, y el trabajo se distribuyan de forma descendenteen la arquitectura del programaLos módulos de nivel superior deben realizar funciones decontrol y poco trabajo de procesamiento. Los módulos queresiden en la parte baja de la arquitectura deben de ser losque realicen las tareas de entrada, cálculo y salida

8. PROCEDIMIENTO DEL SOFTWARE

1. Se centra en los detalles de procesamiento de cadamódulo individual

2. Debe proporcionar una especificación precisa delprocesamiento

3. Existe relación entre la estructura del programa y elprocedimiento

4. Debe incluir una referencia a todos los módulossubordinados al módulo que se describe

9. OCULTAMIENTO DE LA INFORMACION 9.1. Concepto

Ocultación significa que se puede conseguir una modularidadefectiva definiendo un conjunto de módulos independientes quese comunican intercambiando la información necesaria para

Técnicas de Diseño de la InformaciónPágina 13

realizar la función software también se crean códigos quese usan para ocultar o disimular la información que noqueremos que los demás conozcan.

Los módulos deberán especificarse y diseñarse de manera quela información (procedimientos y datos) que está dentro de unmódulo sea inaccesible a otros módulos que no necesiten esainformación

Las decisiones de diseño sujetas a cambio deben ocultarsedetrás de interfaces abstractas

Las aplicaciones software han de comunicarse únicamentea través de interfaces bien definidas

La interfaz de un módulo debe revelar lo menos posiblede su funcionamiento interno

Intercambio de módulos mientras que se mantenganintactas las interfaces

9.2. Ejemplo

La siguiente subsunción es un ejemplo de ocultamientode información mediante códigos. Tal vez el método decodificación más simple es la sustitución directa de unaletra por otra, un número por otro o una letra por unnúmero. Un tipo popular de acertijo, llamado criptograma,es un ejemplo de sustitución de letras.

Es un ejemplo de un código de cifrado tomado de unalmacén de la ciudad de Buffalo, Nueva York, quecodifica todos los descuentos con las palabras BLEACH MIND.Realmente nadie recuerda por qué se escogieron esaspalabras, pero todos los empleados las conocen dememoria y por eso el código de cifrado tuvo éxito. Observeen esta figura que un artículo con un precio de menudeo de$25.00 tendría un descuento de BIMC o $18.75 cuando sedecodifica letra por letra.

Técnicas de Diseño de la InformaciónPágina 14

Etapas del diseño de software

Técnicas de Diseño de la InformaciónPágina 15

CONCLUSION

Las técnicas de diseño son conjunto de procesos,procedimientos, programas que de manera conjunta formanel diseño de un software, los cuales permiten que secumplan los objetivos del mismo creando un sistema quebrinde herramientas necesarias para que este sea eficazy eficiente según el caso en que será utilizado. Asícomo también permite que sea un sistema menos complejode manipular o de comprender por las técnicas empleadasen el mismo y por la información que en este se ha dealmacenar.

El diseño de Software es fundamental como base para unproducto software de calidad. Su diseño se encuentra enel núcleo técnico de la ingeniería y se aplicaindependientemente del modelo de diseño que utilice.Cada uno de los elementos del modelo de análisisproporciona la información necesaria para crear losmodelos de diseño que se requieren en una especificacióncompleta de diseño.

Técnicas de Diseño de la InformaciónPágina 16


Recommended