Você está na página 1de 11

Ingenieria de Software I

_____________________________________________________________________________________________________

UNIDAD VI

EL PROCESO DE DISEO DEL SOFTWARE

Contenido: 6.1 6.2 6.3 6.4 6.5 6.6 6.7 El diseo en la Ingeniera de Software El proceso de Diseo Fundamentos de Diseo Diseo de Datos Diseo Arquitectnico Diseo procedimental La especificacin del diseo

Ingenieria de Software I

_____________________________________________________________________________________________________

6.1.

EL DISEO EN LA INGENIERIA DE SOFTWARE


El diseo de software es la primera de tres actividades tcnicas: 1. Diseo 2. Codificacin 3. Prueba Mediante alguna de las metodologas existentes para el diseo se realizan tres tipos de diseo: a) Diseo de Datos. Transforma el modelo del campo de la informacin en las estructuras de datos que se van a requerir para implementar el software. b) Diseo Arquitectnico. Define las relaciones entre los principales elementos estructurales del programa. c) Diseo Procedimental Transforma los elementos estructurales en una descripcin procedimental del software. d) Diseo de la Interfaz. Establece la disposicin y los mecanismos para la interaccin Hombre-Mquina.
Modelo Funcional Modelo de informacion Diseo de Datos

Modelo de Comportamiento

Diseo
Diseo Arquitectnico

Otros Requisitos Diseo Procedimental Codificacin Mdulos del Programa

Diseo de Interfaz

Prueba
Fig.- Diseo del software e Ingenieria del Software
Software integrado y validado

Mantenimiento Prueba Implementacin

Mantenimiento Prueba
Implementacion

Ingenieria de Software I

_____________________________________________________________________________________________________

6.2

EL PROCESO DE DISEO
El diseo de software es un poroceso mediante el que se traducen los requisitos en una representacin del software. El diseo se realiza en dos pasos: 1. 2. EL DISEO PRELIMINAR. Se centra en la transformacin de requisitos en los datos y la arquitectura del software. EL DISEO DETALLADO. Se ocupa del refinamiento de la representacin arquitectnica que lleva a una estructura de datos detallada y a las representaciones algoritmicas del software.

6.3

FUNDAMENTOS DE DISEO
a) Modularidad

El software se divide en componentes con nombres determinados que se denominan mdulos. Un programa compuesto de un solo mdulo no puede ser facilmente manejado intelectualmente. Es ms fcil resolver problemas complejos cuando se descomponen en trozos ms manejables. Puede concluirse que si partieramos el software indefinidamente el esfuerzo para desarrollarlo sera insignificantemente pequeo. Sin embargo existen otros factores que hacen invlida esta conclusin. Debemos modularizar, pero debemos evitar tanto una excesiva modulizacin como una pobre.

Costo o Esfuerzo

Costo Total del Software Costo de las Interfaces

Ingenieria de Software I

_____________________________________________________________________________________________________

b)

Arquitectura del Software

La arquitectura del software se refiere a: 1.2.La estructura jerrquica de los componentes procedimentales, y La estructura de los datos.

La arquitectura del software se obtiene mediante un proceso de particin, que relaciona los elementos de una solucin de software con partes de un problema del mundo real definido en el anlisis de requisitos.

P2 Particin P1 P4 P3 P5

S1 S4 S3

S2

Problema a ser resuelto

Problemitas simples

S5 Solucin de software

Fig- Evolucin de la Estructura

Usando alguna de las metodologas de diseo del software se producir un determinado tipo de estructura del software.

Ingenieria de Software I

_____________________________________________________________________________________________________

Problema
S1 S3 S1 S2 S3 S4 S5 S2 S4 S5 S1 S3 S2 S4 S5

Estructura 1

Estructura 2 Fig- Diferentes Estructuras Estructura 3

c)

Jerarqua de Control

La jerarqua de control, tambin denominada estructura del programa, representa la organizacin de los componentes del programa ( mdulos ). Esto no representa aspectos procedimentales del software, tales como la secuencia de procesos, la ocurrencia u orden de las decisiones o la repeticin de operaciones. Para representar la jerarqua de control lo ms comn es usar un diagrama en forma de rbol.

j Fig.- Diagrama de arbol para la jerarquia de control

d)

Estructura de Datos.

Ingenieria de Software I

_____________________________________________________________________________________________________ La estructura de datos es una representacin de la relacin lgica existente entre los elementos individuales de datos. Debido a que la estructura de la informacin afectar invariablemente al diseo procedimental final, la estructura de datos es tan importante como la estructura del programa en la representacin de la arquitectura del software. La estructura de datos dicta la organizacin, los mtodos de acceso, y las alternativas de procesamiento para la informacin.

Dato Elemental

......
Vector secuencial

Lista Enlazada

......

. .
Arbol Jerarquico

Espacio n-dimensional Fig- Estructura de datos clasicas

e)

Procedimientos del Software.

El procedimiento del software se centra sobre los detalles de procesamiento de cada mdulo individual. El procedimiento debe proporcionar una especificacin precisa del procesamiento, incluyendo la secuencia de procesos, las decisiones y la repeticin de operaciones. La representacin procedimental del software se realiza por capas.

Modulo A

Modulo A

Fig.- Procedimientos dentro de un mdulo

6.4

DISEO DE DATOS

Ingenieria de Software I

_____________________________________________________________________________________________________ El diseo de datos es la primera de las tres actividades de diseo, los datos bien diseados pueden conducir a una mejor estructura de programa, a una modularidad efectiva y a una complejidad procedimental reducida. Por ejemplo: La utilizacin de una lista enlazada multicircular puede satisfacer los requisitos de datos, pero puede tambin conducir a un diseo de software dificil de manejar. Una organizacin o estructura de datos alterna puede llevar a mejores resultados. PRINCIPIOS PARA EL DISEO DE DATOS. 1.2.3.4.Deben identificarse todas las estructuras de datos y las operaciones que se han de realizar sobre cada una de ellas. Debe establecerse y usarse un diccionario de datos para definir el diseo de los datos del programa. El diseo de datos de bajo nivel debe realizarse hasta el diseo detallado. El lenguaje de programacin debe soportar la especificacin y la realizacin de tipos abstractos de datos.

6.5

DISEO ARQUITECTONICO

El objetivo principal del diseo arquitectnico es desarrollar una estructura de programa modular y representar las relaciones de control entre los modulos. Los mtodos de diseo disponibles para realizar el diseo arquitectnico son: a) Diseo orientado al flujo de datos ( estructurado ) b) Diseo orientado a los objetos c) Diseo orientado a los datos

6.6

DISEO PROCEDIMENTAL

Ingenieria de Software I

_____________________________________________________________________________________________________ El diseo procedimental se realiza despus de haber establecido la estructura del programa y de datos, y especifica los detalles algoritmicos del software. En el diseo procedimental se utiliza una tcnica conocida como programacin estructurada, cuya filosofa es la construccin de algoritmos y programas modulares, descendentes ( top-down ) y de una entrada- una salida, lo cual facilita la legibilidad, prueba y mantenimiento. NOTACIONES DEL DISEO PROCEDIMENTAL. a).Diagrama de Flujo. Es una notacin grfica muy usada en el diseo procedimental. Se utilizan smbolos graficos para representar la secuencia, las condiciones y las estructuras de control.

Condicin Primera tarea Segunda tarea Parte else F T Parte then

Secuencia If - Then - Else

T F T

Parte del caso

T F F T Repeat - Until

F Do - While T

Seleccin

Fig.- Construcciones en diagrama de flujo

a b c X e

a b X f

a b X

Ingenieria de Software I

_____________________________________________________________________________________________________

b)

Tablas de Decisin.

Muchas veces en un modulo se puede requerir evaluar una compleja combinacin de condiciones, y las tablas de decisin es una notacin que traduce las condiciones y acciones en una forma tabular. Tablas de Decisin Reglas Condiciones 1 2 3 4 5 6 7 8 9

Acciones

c)

Lenguaje Estructurado o Pseudocodigo Es una combinacin de lenguaje natural ( espaol ) y la sintaxis general de un lenguaje de programacin. Reglas

Ingenieria de Software I

_____________________________________________________________________________________________________ Esta notacion de diseo procedimental hace uso de texto directamente insertado en estructuras sintcticas. El pseudocodigo puede remplazar a los diagramas de flujo y reducir una buena cantidad de documentacin para describir al sistema.

6.7

LA ESPECIFICACION DEL DISEO


El equipo de diseo debe generar un documento llamado Especificacin del Diseo del Software en dos etapas: 1.2.Primero el diseo estructural en una versin preliminar. Un documento de diseo detallado.

FORMATO DE ESPECIFICACION DE DISEO ARQUITECTONICO 1. 2. 3. 4. 5. 6. Descripcin conceptual de estructuras y bases de datos Nombres y atributos de los elementos de datos Nombre y descripcion funcional de cada modulo Especificacion de interfaces para cada modulo Estructura de interconexion entre modulos Interconexiones entre modulos y estructuras de datos

FORMATO DE DISEO DETALLADO 1. Descripcin fsica de estrcuturas y bases de datos Algoritmos detallados para cada mdulo Tcnicas especificas de programacin Procedimientos de inicio Especificacin de diccionario de datos para todos los elementos

Diseo de Datos y Arquitectnico

Revisin

Diseo de Datos y Procedimental

Revisin

Ingenieria de Software I

_____________________________________________________________________________________________________

-oOo-

Você também pode gostar