Documente Academic
Documente Profesional
Documente Cultură
_____________________________________________________________________________________________________
UNIDAD VI
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.
Modelo de Comportamiento
Diseo
Diseo Arquitectnico
Diseo de Interfaz
Prueba
Fig.- Diseo del software e Ingenieria del Software
Software integrado y validado
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
Ingenieria de Software I
_____________________________________________________________________________________________________
b)
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
Problemitas simples
S5 Solucin de software
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
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.
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
e)
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
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.
T F T
T F F T Repeat - Until
F Do - While T
Seleccin
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
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
Revisin
Revisin
Ingenieria de Software I
_____________________________________________________________________________________________________
-oOo-