You are on page 1of 3

Portabilidad de Procesos de Software

Introducción

La portabilidad es reconocida como un atributo deseable para la mayoría de los productos


de software. En la era de la informática y la tecnología, hay pocos productos de software
que no pueden beneficiarse de la aplicación en entornos múltiples a lo largo de su ciclo
vital. Muchos productos del mercado deben aprovechar sus costos a través de su
aplicación en el mayor número de plataformas como sea posible.

El uso común metodologías de desarrollo no incorporan una estrategia global para lograr
portabilidad. Si la portabilidad se considera que puede ser vista como una cuestión de
aplicación solamente. Hay poca atención a la portabilidad de los artefactos que no sea el
principal problema del producto, y no hay por lo general la aceptación de métricas para
lograr la portabilidad.

Definición de Portabilidad

Portabilidad es el acto de producir una versión ejecutable de un software de la unidad o el


sistema en un nuevo entorno, basado en una versión existente. Hay muchas definiciones
para la atributo de portabilidad. Vamos a utilizar lo siguiente como definición de trabajo:

Una unidad de software es portable (portabilidad de exposiciones) a través de una clase


de ambientes en la medida en que el costo de transporte y adaptarlo a un nuevo entorno
en la clase es menor que el costo de la remodelación.

Nosotros usamos la unidad de software término para indicar una aplicación programa, un
programa del sistema o un componente de un programa.
Un sistema de software es una colección de unidades de software. En este papel que a
veces se utiliza el término producto con un significado similar.

Costo

Los costos pueden estar asociados con el uso de la portabilidad basada en estrategia de
desarrollo de software, los cuales podrían tomar la forma de aumento de los costes de
desarrollo y de los posibles la reducción de algunas medidas de calidad del software
reales (P. ej., El rendimiento o la conformidad con los específicos de usuario del sistema-
convenciones de interfaz). Los beneficios correspondiente descarga la forma de reducir
los costos para producir y mantener el futuro puestas en práctica, así como la calidad de
las posibles mejoras en factores tales como la fiabilidad.

El logro de Portabilidad

Una unidad de software interactúa con su entorno a través de una colección de interfaces.
Por ejemplo, aplicaciones típicas pueden tener interfaces para el procesador, sistema
operativo, de ejecución de bibliotecas de tiempo, dispositivos I / O los usuarios, etc. Si
todas las interfaces para una unidad de software dado pueden ser hecho para aparecer
idénticos a través de múltiples entornos, la portabilidad se ha alcanzado. En el caso ideal,
las interfaces comunes ya pueden estar presentes en cada entorno de destino. De lo
contrario, algunos tipos de adaptación deberán portar durante el proceso.
Cada representación y transformación proporciona una clara oportunidad de adaptar la
interfaz para lograr la portabilidad.

Portabilidad y el ciclo de vida del software.

La mayoría del software pasa por un período de desarrollo seguido por un período
prolongado de uso, durante el cual muchos cambios pueden ocurrir. En general se acepta
que un punto de vista económico de los costos de software debe estar basada en una la
comprensión del ciclo de vida completo de software.

Al mismo tiempo, por lo general hay presión para centrarse en la parte actual del ciclo de
vida. Esto lleva a muchos mayores costes durante el mantenimiento "actividades que
componen la mayor parte del ciclo de vida, según investigaciones se ha observado que la
larga vida es la norma para el software de mucha calidad, y que será una indicación de la
madurez de la ingeniería de software cuando puede centrarse en la viabilidad a largo
plazo.

Sin embargo, el desarrollo de software añade costes durante el desarrollo inicial, a cambio
de beneficios que se ven más tarde. Si en lugar de una visión más holística se toma,
basado en los costes del ciclo de vida total, la portabilidad debe convertirse en un
elemento estándar de la de procesos de software.

Análisis y especificaciones

Es evidente que el desarrollo de un buen software debe comenzar con un cuidadoso


proceso de análisis de requisitos, lo que lleva a la creación de una o más especificaciones
escritas. El propósito de la especificación es identificar la funcionalidad y otras
propiedades de espera en el producto a ser desarrollado. Hay muchas estructuras
propuestas para tales condiciones, que van desde métodos totalmente informales a
formales. Notaciones formales en los actuales se busca expresar los requerimientos
funcionales de un software, pero no están diseñados para expresar requisitos no
funcionales tales como la fiabilidad, el rendimiento o portabilidad.

Si existen tales requisitos deben expresarse por medios menos formales.


Nuestro marco propone dos orientaciones para el especificación de la actividad para
maximizar la portabilidad:

1. Evitar las barreras portabilidad


2. Especificar explícitamente los objetivos de conservación

La especificación de los objetivos de Portabilidad

La especificación proporciona una oportunidad para identificar la portabilidad como un


objetivo explícito, y para equilibrar este objetivo respecto a los requisitos del sistema.
Se debe caracterizar a la portabilidad de una manera que se puede lograr y medir. La
portabilidad sólo tiene sentido con respecto a determinados entornos de destino. Uno de
los aspectos de una especificación de portabilidad debe ser una declaración de los
entornos de destino previsto. Este no debe ser una lista de sistemas específicos
(Windows NT, Solaris, Apple Newton, etc.)
Una unidad de software no está finamente sintonizada a un determinad ambiente, y
pueden presentar un bajo rendimiento en el uso eficiente de los recursos de una
aplicación en sintonía. Es no es factible para especificar el grado de sanción que podría
ser tolerada aquí. Sin embargo, el pliego de condiciones pueden incluir objetivos de
rendimiento que debe se reunió a pesar del diseño de portabilidad.

Diseño

El diseño es el corazón del desarrollo de software. Aquí nuestra comprensión de lo que el


software tiene que hacer, consagrado en el pliego de condiciones, se dirige la arquitectura
en el desarrollo de un software para cumplir con estos requisitos.

Un proyecto de software grande puede requerir varios niveles de diseño, desde la


arquitectura general del sistema, a los algoritmos y estructuras de datos de los módulos
individuales. Un método de diseño sistemático se puede utilizar, como estructurado en el
diseño, TDAA, JSD, OOD, etc. Los diversos métodos tienen filosofías muy diferentes, y
puede conducir a muy diseños diferentes.
Sin embargo, comparten un común Objetivo: Identificar un conjunto de elementos
(procedimientos, estructuras de datos, objetos, etc.) que se utilizará en la aplicación del
software, y para definir un reparto adecuado de estos elementos en los módulos.

Aprender de los errores

Cuando la prueba revela errores, un proceso de depuración debe ser invocado seguido
por la repetición del desarrollo de actividades necesarias para corregir los problemas.
Cuidado los registros de los errores detectados, y sobre los módulos en los que ocurrir,
será de gran valor en la transferencia. Es razonable esperar que los módulos portables,
una vez probado con éxito, que someterse a ningún cambio, son menos propensos a
introducir nuevos errores que se conserven.

Pruebas de portabilidad

Si la portabilidad se ha especificado como una propiedad necesaria de un producto de


software, este mismo atributo debe ser probado en alguna manera. Esto no se puede
hacer con una prueba de ejecución; requiere un análisis que compara el producto a uno o
más ambientes típicos de la clase de destino. Esta comparación puede ser utilizada para
estimar los costos de adaptación y calcular un grado de portabilidad para el producto.

Por último, la verificación formal se plantea de acuerdo a la verificación que debe ser
repetida después de la migración para garantizar que las conclusiones siguen teniendo un
valor eficaz.

Documentación

Hay muchos tipos de documentos asociados a una buena gestión del proceso software.
La portabilidad tendrá un impacto sobre la actividad de documentación, así como las
demás fases de desarrollo. Las documentaciones para la portabilidad son las siguientes:

1. Elaborar la documentación de la portabilidad.


2. Documentar el proceso de transferencia

You might also like