Diseño De Software
Enviado por kaladius92 • 5 de Junio de 2014 • 3.688 Palabras (15 Páginas) • 161 Visitas
Fundamentos del diseño de software
El diseño es el primer paso de la fase de desarrollo de cualquier producto o
sistema de ingeniería.
Definición de diseño según Taylor
“Proceso de aplicar distintas técnicas y principios con el propósito de definir un
dispositivo, proceso o sistema con los suficientes detalles como para permitir
su realización física”
El diseño de software, al igual que los métodos de diseño de todas las
ingenierías, cambian continuamente al aparecer nuevos métodos, mejores
análisis y ampliar los conocimientos. El problema es que el diseño de software
se encuentra en una etapa relativamente temprana en su evolución. La idea de
realizar diseño de software en lugar de “programar”, surgió a principios de los
años 60, por lo que a las metodologías de diseño les falta la profundidad y la
flexibilidad que tiene el diseño en otras ingenierías. Pero, ya existen técnicas
de diseño de software para poder evaluar la calidad del software.
El objetivo de este tema es presentar los conceptos fundamentales que se
pueden aplicar a todos los diseños de programas.
1. Ingeniería del software y diseño del software
Una vez que se han establecido los requisitos del software, el diseño es la
primera de tres actividades técnicas: diseño, codificación y prueba. Cada
actividad transforma la información de forma que al final se obtiene un software
validado.
El diseño es técnicamente la parte central de la ingeniería del software.
Durante el diseño se desarrollan, revisan y se documentan los refinamientos
progresivos de las estructuras de datos, de la estructura del programa y de los
detalles procedimentales. El diseño da como resultado representaciones cuya
calidad puede ser evaluada.
Mediante algunas metodologías de diseño se realiza el diseño de datos, el
diseño arquitectónico y el diseño procedimental.
El diseño de datos transforma el modelo de campo de información,
creado durante el análisis, en las estructuras de datos que se van a
requerir para implementar el software.
El diseño arquitectónico define las relaciones entre los principales
elementos estructurales del programa.
El diseño procedimental transforma los elementos estructurales en
una descripción procedimental del software.
A continuación, se genera el código fuente y, para integrar y validar el software,
se llevan a cabo las pruebas.
Fundamentos del diseño de software
2
Las fases de diseño, codificación y prueba absorben el 75% o más del coste de
la ingeniería del software (excluyendo el mantenimiento). Es aquí donde se
toman las decisiones que afectarán finalmente al éxito de la implementación del
programa, y también, a la facilidad de mantenimiento que tendrá el software.
Por tanto el diseño es un paso fundamental de la fase de desarrollo.
El diseño es la única forma mediante la que podemos traducir con precisión los
requisitos del cliente en un producto o sistema acabado. El diseño de software
es la base de todas las partes posteriores del desarrollo y de la fase de prueba,
como muestra la figura 1.
Figura 1. Importancia del diseño
Sin diseño, nos arriesgamos a construir un sistema inestable, un sistema que
falle cuando se realicen pequeños cambios, un sistema que sea difícil de
probar, un sistema cuya calidad no pueda ser evaluada hasta más adelante,
cuando quede poco tiempo y ya sea haya gastado mucho dinero.
2. El proceso de diseño
El diseño del software es un proceso mediante el que se traducen los requisitos
en una representación del software, que se acerca mucho al código fuente.
Desde el punto de vista de la gestión del proyecto, el diseño del software se
realiza en dos etapas: el diseño preliminar y el diseño detallado.
El diseño preliminar se centra en la transformación de los requisitos
en los datos y la arquitectura del software.
El diseño detallado se ocupa del refinamiento y de la representación
arquitectónica que lleva a una estructura de datos refinada y a las
representaciones algorítimicas del software.
Además del diseño de datos, del diseño arquitectónico y del desarrollo
procedimental, muchas aplicaciones modernas requieren un diseño de la
interfaz. Fundamentos del diseño de software
3
Punto de vista gestión
Diseño preliminar Diseño detallado
Diseño de datos * *
Diseño arquitectónico *
Diseño procedimental *
Punto de
vista técnico
Diseño de la interfaz * *
Figura 2. Relación entre los puntos de vista de gestión y técnicos
2.1. DISEÑO Y CALIDAD DEL SOFTWARE
A lo largo del proceso de diseño, la calidad del diseño se evalúa mediante una
serie de revisiones técnicas formales (RTF) que son una actividad de
garantía del software cuyos objetivos son:
1) Descubrir los errores en la función, la lógica o la implementación de
cualquier representación del software.
2) Verificar que el software alcanza sus requisitos.
3) Garantizar que el software se ha representado según los estándares
establecidos.
4) Conseguir un software desarrollado de forma uniforme.
5) Hacer que los proyectos sean manejables.
Cada RTF se lleva a cabo mediante una reunión y sólo tendrá éxito si está bien
planificada, controlada y atendida.
A continuación, se listan una serie de criterios para determinar la calidad del
software.
1) Un diseño debe tener una organización jerárquica.
2) Un diseño debe ser modular, es decir, el software debe estar dividido
en elementos que realicen funciones específicas.
3) Un diseño debe tener representaciones distintas y separadas de los
datos y de los procedimientos.
4) Un diseño debe llevar a módulos que exhiban características
funcionales independientes.
5) Un diseño debe conducir a interfaces que reduzcan la complejidad de
las conexiones
...