Está en la página 1de 22

INGENIERÍA DE SOFTWARE

UNIDAD I
DISEÑO E IMPLEMENTACIÓN

Concepto

Se lo define como el proceso de aplicar ciertas técnicas y


principios con el propósito de definir un dispositivo, un proceso o
un Sistema, con suficientes detalles como para permitir su
interpretación y realización física.
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.

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.
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.
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 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ítmicas 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.
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 se
detalla a continuación.
 Descubrir los errores en la función, la lógica o la
implementación de cualquier representación del software.

 Verificar que el software alcanza sus requisitos.

 Garantizar que el software se ha representado según los


estándares establecidos.

 Conseguir un software desarrollado de forma

Cada RTF se lleva a cabo mediante una reunión y sólo tendrá


éxito si está bien planificada, controlada y atendida.
CRITERIOS PARA DETERMINAR LA CALIDAD
DEL SOFTWARE.
 Un diseño debe tener una organización jerárquica.

 Un diseño debe ser modular, es decir, el software debe estar dividido en


elementos que realicen funciones específicas.

 Un diseño debe tener representaciones distintas y separadas de los datos


y de los procedimientos.

 Un diseño debe llevar a módulos que exhiban características funcionales


independientes.

 Un diseño debe conducir a interfaces que reduzcan la complejidad de las


conexiones entre los módulos y el exterior.

 Un diseño debe obtenerse mediante un método que sea reproducible y


que esté dirigido por la información obtenida durante el análisis de
requerimientos.
ARQUITECTURA DEL SOFTWARE

La arquitectura del software se refiere a dos características


importantes del software

 La estructura jerárquica de los módulos del software

 La estructura de los datos


La arquitectura a nivel de software es el diseño de más alto nivel de
la estructura de un sistema.

 Una arquitectura de software, también denominada arquitectura


lógica, consiste en un conjunto de patrones y abstracciones
coherentes que proporcionan un marco definido y claro para
interactuar con el código fuente del software.

 Una arquitectura de software se selecciona y diseña con base en


objetivos (requisitos) y restricciones.
 Los objetivos son aquellos prefijados para el sistema de
información, pero no solamente los de tipo funcional, también otros
objetivos como el mantenimiento, la auditoría, flexibilidad e
interacción con otros sistemas de información. Las restricciones
son aquellas limitaciones derivadas de las tecnologías disponibles
para implementar sistemas de información.

 La arquitectura de software define, de manera abstracta, los


componentes que llevan a cabo alguna tarea de computación, sus
interfaces y la comunicación entre ellos.
La arquitectura del software se obtiene mediante un proceso de
partición, que relaciona los problemas del mundo real (definidos
en el análisis de requerimientos) con las soluciones software para
resolver los problemas software.
NOTACIONES PARA LA REPRESENTACIÓN
GRÁFICA EN DISEÑO PROCEDIMENTAL

Para evitar desarrollar un software erróneo, es fundamental que

se utilicen correctamente las herramientas gráficas para el

diseño, como son los diagramas de flujo y los diagramas de

Sesión, Diagramas de Entidad-Relación, Caso de USO, etc.


MODELOS DE PROCESO DE SOFTWARE

Podemos definir un modelo de procesos del software como una


representación abstracta de alto nivel de un proceso software.
Cada modelo es una descripción de un proceso software que se
presenta desde una perspectiva particular. Alternativamente, a
veces se usan los términos ciclo de vida y Modelo de ciclo de
vida.
MODELO EN CASCADA

El modelo en cascada, es la propuesta de un enfoque


metodológico que consiste en ordenar de forma lineal las distintas
etapas que debes de seguir al momento de desarrollar tu
software.

Existen distintas metodologías que te ayudarán a definir este


proceso para el desarrollo de un software, una de las más
comunes y conocidas es el modelo en cascada.
¿CÓMO FUNCIONA EL MODELO EN CASCADA?

El modelo en cascada propone dividir en fases cada etapa del

desarrollo de software y completar cada una de ellas en un orden

específico, es decir, no puedes iniciar la “fase 2” hasta que hayas

concluido la “fase 1”.


Grafica 1
¿Y PARA QUÉ SIRVE EL MODELO EN CASCADA?

Este proceso permite que puedas relacionar cada una de las


etapas del modelo en cascada con la anterior, de esta manera,
considerar los elementos que debes quitar o añadir en la fase
siguiente.

También podría gustarte