Está en la página 1de 5

Diseño y Desarrollo de Sistemas

La calidad del desarrollo de un sistema de software siempre vendrá heredada de la calidad


con la cual fue diseñado este, no olvidemos que para hacer un paquete de software hacen
falta más que buenas intenciones y ganas trabajar: debe haber estrategia en todos sus
aspectos partiendo del diseño del mismo.

Enfoques para el diseño de sistemas


Es difícil decidir el punto de partida en el desarrollo de un software, de hecho muchas
personas comienzan a desarrollar y ni siquiera saben por donde comenzaron y el proyecto
fue creciendo en todos los sentidos y al final probablemente se encontrarán con un
software con deficiencias por todas partes.

Es importante definir el punto de partida para el desarrollo de un proyecto de software,


para ello hay que tomar en cuenta dos enfoques de diseño:

1. Diseño Ascendente (Bottom-Up)


2. Diseño Descendente (Top-Down)

Diseño Ascendente (Bottom-Up)


Se refiere a la identificación de aquellos procesos que necesitan computarizarse conforme
vayan apareciendo, La computarización de los procesos puede hacerse por:

1. Análisis y desarrollo de software en casa


2. Comprar software empaquetado para resolver el problema.

En este enfoque el software se va diseñando paso a paso a partir de


los procesos más básicos de la empresa, por ejemplo: compra, ingreso
a bodega, traslado a tienda, facturación hasta llegar a la alta gerencia.
(De abajo hacia arriba)

Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)


Limitaciones del Enfoque ascendente

1. Es muy difícil interconectar cada subsistema como un todo: Las fallas de


interconexión no se descubren hasta que se ha terminado cada módulo (por ejemplo
se termina de hacer el módulo contable y luego se termina de hacer el módulo de
Ventas, a la hora de querer unirlos no es posible ya que se programaron bajo
esquemas distintos)

2. Duplicidad de esfuerzo en la alimentación de la información, como en el caso de


software donde requieren volver a digitar la información de un módulo en otro
debido a que ambos módulos nunca fueron concebidos para inter-operar entre sí.

3. No considera a los objetivos organizacionales globales: el desarrollar cada módulo


por separado implica que cada uno ve la organización como un conjunto de islas
(departamentos o módulos) que luego se buscará la forma de comunicar.

Todo proceso puede visualizarse forma ascendente, el detalle de este tipo de enfoques
es que se parte de ideas básicas que quizá no contemplen ir más allá hasta que se ha
llegado a una parte avanzada del diseño.

Diseño Descendente (Top-Down)


Este enfoque visualiza primero los objetivos organizacionales globales y en base a estos
diseña los subsistemas, este enfoque hace énfasis en la interconexión entre cada uno de los
subsistemas (módulos) derivados de la visión global que se tiene de todo el sistema.

En este enfoque primero se visualiza a la organización como un todo y


lo que se desea en forma global, a partir de ahí se va diseñando a
partir de lo que persigue la alta gerencia hasta bajar a la áreas
operativas. (De arriba hacia abajo)

Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)


Ventajas del enfoque descendente

1. Evitar el caos de diseñar un sistema de repente

2. Permite crear equipos de analistas de sistemas que trabajen de forma paralela los
diversos subsistemas: por ejemplo varias personas diseñando al mismo tiempo todos
los módulos de manera que halla interoperabilidad entre ellos.

3. Ahorro de tiempo

Comparación de ambos enfoques

El diagrama de arriba muestra como en ambos enfoques se toma como punto de partida
diferentes áreas funcionales de la organización. A mi ver el enfoque mas recomendado es el
descendente en el cual partimos de lo que la organización pretende alcanzar.

Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)


Enfoque de Desarrollo Modular
Anteriormente aprendimos dos enfoques de diseño, pero también
es necesario conocer sobre algún enfoque para el desarrollo del
software, hay muchos de ellos, el más popular es el enfoque de
desarrollo basado en módulos o Desarrollo Modular.

Este tipo de desarrollo puede aplicarse tanto en el diseño


ascendente como el descendente pero funciona mejor con este
último.

Es un enfoque de desarrollo que divide a la programación en partes


lógicas y manejables llamadas módulos.

¿Por qué funciona mejor con el desarrollo modular?

Parte de su éxito se debe al énfasis que da a las interfaces entre los módulos y no los
descuida hasta el final del desarrollo de sistemas.

Ventajas del Desarrollo Modular


1. Lo módulos son mas fáciles de escribir, depurar y mantener

2. Un problema en un módulo no debe causar problemas a los otros: el hecho de que


falle uno de los módulos no debe ser impedimento para que los demás puedan
trabajar correctamente.

3. Son mas fáciles de entender para el usuario

Lineamientos del Desarrollo Modular


1. Mantener cada módulo de un tamaño manejable: un módulo debe manejar solo las
tareas relacionadas al mismo para que este sea fácil de desarrollar y mantener.

2. Cuidar las interfaces críticas que interconectan a los módulos entre si: si hay procesos
que permitan hacer traslados de información entre módulos estos son conocidos
como interfaces, estas deben desarrollarse cuidadosamente para evitar que un
módulo inyecte información equivocada a otro.

3. Minimizar el número de módulos que usuario debe modificar al hacer los cambios

Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)


El desarrollo modular a dado pie al origen de los famosos software ERP (Enterprise
Resource Planning) por medio de los cuales puede administrarse casi todos los aspectos de
una organicen y los cuales son desarrollados por unidades separadas (módulos) y que un
cliente puede adquirir de acuerdo a sus necesidades. La ausencia de ciertos módulos no
afecta la operación de los otros.

Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)

También podría gustarte