Un buen diseño de sistema es organizar los módulos del programa de tal manera que sean fáciles de desarrollar y cambiar. Las técnicas de diseño estructurado ayudan a los desarrolladores a lidiar con el tamaño y la complejidad de los programas. Los analistas crean instrucciones para los desarrolladores sobre cómo debe escribirse el código y cómo deben encajar las piezas del código para formar un programa.
Importancia:
- Si algún código preexistente necesita ser entendido, organizado y ensamblado.
- Es común que el equipo del proyecto tenga que escribir algún código y producir programas originales que soporten la lógica de aplicación del sistema.
Hay muchas estrategias o técnicas para realizar el diseño del sistema. Están:
- Enfoque ascendente:
el diseño comienza con los componentes y subsistemas del nivel más bajo. Mediante el uso de estos componentes, se crean o componen los siguientes componentes y subsistemas inmediatos de nivel superior. El proceso continúa hasta que todos los componentes y subsistemas se componen en un solo componente, que se considera como el sistema completo. La cantidad de abstracción crece a medida que el diseño avanza a niveles más altos.Al utilizar la información básica del sistema existente, cuando se necesita crear un nuevo sistema, la estrategia de abajo hacia arriba se adapta al propósito.
ventajas:
- La economía puede resultar cuando las soluciones generales se pueden reutilizar.
- Se puede usar para ocultar los detalles de implementación de bajo nivel y fusionarse con la técnica de arriba hacia abajo.
Desventajas:
- No está tan estrechamente relacionado con la estructura del problema.
- Las soluciones ascendentes de alta calidad son muy difíciles de construir.
- Conduce a la proliferación de funciones ‘potencialmente útiles’ en lugar de las más apropiadas.
- Enfoque de arriba hacia abajo:
cada sistema se divide en varios subsistemas y componentes. Cada uno de los subsistemas se divide a su vez en un conjunto de subsistemas y componentes. Este proceso de división facilita la formación de una estructura de jerarquía del sistema. El sistema de software completo se considera como una sola entidad y, en relación con las características, el sistema se divide en subsistema y componente. Lo mismo se hace con cada uno de los subsistemas.Este proceso continúa hasta que se alcanza el nivel más bajo del sistema. El diseño comienza inicialmente definiendo el sistema como un todo y luego continúa agregando definiciones de los subsistemas y componentes. Cuando todas las definiciones se combinan juntas, resulta ser un sistema completo.
Para las soluciones de software que deben desarrollarse desde cero, el diseño de arriba hacia abajo se adapta mejor al propósito.
ventajas:
- La principal ventaja del enfoque de arriba hacia abajo es que su fuerte enfoque en los requisitos ayuda a que el diseño responda de acuerdo con sus requisitos.
Desventajas:
- Los límites del proyecto y del sistema tienden a estar orientados a la especificación de la aplicación. Por lo tanto, es más probable que se pierdan las ventajas de la reutilización de componentes.
- Es probable que el sistema pierda los beneficios de una arquitectura simple y bien estructurada.
- Diseño híbrido:
es una combinación de estrategias de diseño de arriba hacia abajo y de abajo hacia arriba. En esto, podemos reutilizar los módulos.
Publicación traducida automáticamente
Artículo escrito por AmanAgarwal6 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA