miércoles, 18 de abril de 2012

MODULARIDAD Y LA ARQUITECTURA DE SOFTWARE


La modularidad
Es la capacidad que tiene un sistema de ser estudiado, visto o entendido como la unión de varias partes que interactúan entre sí y que trabajan para alcanzar un objetivo común, realizando cada una de ellas una tarea necesaria para la consecución de dicho objetivo. Cada una de esas partes en que se encuentre dividido el sistema recibe el nombre de módulo. Idealmente un módulo debe poder cumplir las condiciones de caja negra, es decir, ser independiente del resto de los módulos y comunicarse con ellos (con todos o sólo con una parte) a través de unas entradas y salidas bien definidas.
Modularidad en Ciencias de la computación es la característica por la cual un programa de computador está compuesto de porciones que se conocen como módulos. El diseño estructurado es la técnica de diseño de algoritmos en que se basa la programación modular, paradigma de programación que persigue desarrollar programas modulares.

La Arquitectura De Software.


Una arquitectura software consiste en un conjunto de patrones y abstracciones coherentes que proporcionan el marco de referencia necesario para guiar la construcción del software para un sistema de información.
El concepto de arquitectura de software se refiere a la estructuración del sistema que, idealmente, se crea en etapas tempranas del desarrollo. Esta estructuración representa un diseño de alto nivel del sistema que tiene dos propósitos primarios: satisfacer los atributos de calidad (desempeño, seguridad, modificabilidad), y servir como guía en el desarrollo. Al igual que en la ingeniería civil, las decisiones críticas relativas al diseño general de un sistema de software complejo deben de hacerse desde un principio. El no crear este diseño desde etapas tempranas del desarrollo puede limitar severamente el que el producto final satisfaga las necesidades de los clientes. Además, el costo de las correcciones relacionadas con problemas en la arquitectura es muy elevado. Es así que la arquitectura de software juega un papel fundamental dentro del desarrollo.

Robustez de un Software.
Es la capacidad y proceso de reacción apropiada ante condiciones que se encuentren fuera del alcance del software, estas condiciones son excepcionales.

Cuando hayas culminado un software de alta calidad se presentarán casos o aspectos que no contemplarás y la robustez asegura que no se causarán eventos de indole grave o catastrófica.
En detalles técnicos si se presenta errores en tu software, la robustez hará un despliegue de mensajes de error apropiados, en donde se pueda terminar la aplicación de manera limpia y segura para los datos.

Reuso
Por lo que decís creo que se refiere a que tu proveedor tiene una cantidad limitada de banda para repartir entre sus usuarios (imáginate como si fuera, por ejemplo, velocidad de bajada de información). Entonces, acepta más usuarios suponiendo que no todos ellos estarán conectados simultáneamente consumiéndola. El problema es que cuantos más clientes haya al mismo tiempo menor es la cantidad de recursos que puede proveerles, es decir, no garantiza que todo el tiempo tengas el mismo nivel de servicio.
Pensé en esto: supone que tu proveedor tiene disponibles 100 MHz de banda para repartir entre los clientes.
Si tiene 10 clientes incluyéndote, pero supone que sólo se conectarán 5 a la vez, entonces te dice que puede darte 20 MHz.
Ahora, qué pasa si se conectan los 10.  En realidad, sólo puede darte 10 MHz!!!!.
Es una pieza reusable de software desarrollada independientemente y que puede ensamblarse con otros componentes para construir unidades más grandes. El reuso en la ingeniería de software.

Extensibilidad
Es un factor de calidad del software que consiste en la facilidad de adaptación del software a nuevos requisitos o cambios en la especificación. REUTILIZACIÓN es otro factor de calidad que consiste en crear elementos de software que sirvan para construir distintas aplicaciones
Es la técnica de aprovechar y/o aplicar artefactos ya existentes al proceso de desarrollo de software.

No hay comentarios:

Publicar un comentario