door Kevyn Guzmán Zambrano 3 jaren geleden
378
Meer zoals dit
La importancia del software radica también en que permite una comunicación entre el usuario y la máquina, e incluso una interacción entre ambos. Un ejemplo muy sencillo seria, al pulsar un botón del teclado, se activa automáticamente una serie de órdenes, que permiten identificar que botón se ha pulsado, traducirlo a lenguaje de máquina, mostrarlo en pantalla para el usuario y almacenarlo. Así, el software que está instalado en el ordenador se ha ocupado de todo eso ante un simple gesto del usuario. Esta es precisamente otra de sus grandes funciones, facilitar las tareas a los usuarios.
El software es inmune a los males ambientales que desgasten el hardware.
El Software se puede actualizar a medida que existan nuevas versiones.
El Software no se desgasta.
El Software se desarrolla o se construye.
El mantenimiento del software es el proceso general de cambiar un sistema después de que éste se entregó. El término usualmente se aplica a software personalizado, en el que gru- pos de desarrollo separados intervienen antes y después de la entrega. Los cambios rea- lizados al software van desde los simples para corregir errores de codificación, los más extensos para corregir errores de diseño, hasta mejorías significativas para corregir errores de especificación o incorporar nuevos requerimientos. Los cambios se implementan modi- ficando los componentes del sistema existentes y agregándole nuevos componentes donde sea necesario
Existen tres tipos de mantenimiento de software:
Adición de funcionalidad: Este tipo de mantenimiento es necesario cuando varían los requerimientos del sistema, en respuesta a un cambio organizacional o empresarial. La escala de los cambios requeridos en el software suele ser mucho mayor que en los otros tipos de mantenimiento.
Adaptación ambiental: Este tipo de mantenimiento se requiere cuando algún aspecto del entorno del sistema, como el hardware, la plataforma operativa del sistema u otro soporte, cambia el software. El sistema de aplicación tiene que modificarse para lidiar con dichos cambios ambientales.
Reparaciones de fallas: Los errores de codificación por lo general son relativamente baratos de corregir; los errores de diseño son más costosos, ya que quizás impliquen la reescritura de muchos componentes del programa. Los errores de requerimientos son los más costosos de reparar debido a que podría ser necesario un extenso rediseño del sistema.
Los procesos de evolución del software varían dependiendo del tipo de software que se mantiene. En algunas organizaciones, la evolución es un proceso informal, donde las solicitudes de cambios provienen sobre todo de conversaciones entre los usuarios del sistema y los desarrolladores. En otras compañías, se trata de un proceso formalizado con documentación estructurada generada en cada etapa del proceso. Los procesos de identificación de cambios y evolución del sistema son cíclicos y continúan a lo largo de la vida de un sistema. Las propuestas de cambio deben vincularse con los componentes del sistema que se van a modificar para implementar dichas propuestas. Esto permite que el costo y el impacto del cambio logren valorarse.
Entrega la funcionalidad específica de la aplicación que se requiere. En esta capa puede haber varios programas de aplicación diferentes.
Extiende las facilidades del sistema operativo y ofrece una interfaz que permite la interacción con funcionalidad más extensa, como acceso a sistemas remotos, a una base de datos de un sistema, etc. En ocasiones, esto se llama middleware, pues se halla entre la aplicación y el sistema operativo.
Ésta interactúa con el hardware y ofrece un con- junto de facilidades comunes para capas de software superiores en el sistema
Está compuesta de dispositivos de hardware, algunos de los cuales pueden ser computadoras.
El estilo de arquitectura basado en componentes tiene las siguientes características:
Pone énfasis en la descomposición del sistema en componentes lógicos o funcionales que tienen interfaces bien definidas.
Es un estilo de diseño para aplicaciones compuestas de componentes individuales.
Los componentes dentro de un dominio dado (área de aplicación), requieren cierta clase de estandarización para hacerlos compatibles con otros componentes. Esto puede llevar a hacer estándares de interfaces de componentes, así como de código y documentación. Estas entidades animan a mejores prácticas de desarrollo.
Cualquier optimización, refactorización y pruebas hechas en componentes reutilizables ya han sido completados. Todas las lecciones aprendidas al producir el componente están implícitamente incluidas dentro de esto y son automáticamente llevadas al siguiente proyecto. Consecuentemente, los proyectos desarrollados son de una mayor calidad
La reutilización de software es una excelente manera de ahorrar costos y esfuerzos de desarrollo. De forma ideal, el tiempo de desarrollo es reducido debido a que los componentes reutilizables relevantes pueden ser aplicables al proyecto dado en un marco de tiempo menor que desarrollar desde cero.
Reutilizar y no crear lo que ya existe
Adaptar lo ya existente
Métodos necesarios
Desarrollo con reutilización
Desarrollo para la reutilización