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