La historia de las computadoras personales como dispositivos
electrónicos de consumo para el mercado masivo comenzó efectivamente
en 1977 con la introducción de las microcomputadoras, aunque ya se
habían aplicado, mucho antes, algunas computadoras mainframe y computadoras
centrales como sistemas monousuario. Una computadora personal está orientada
al uso individual y se diferencia de una computadora mainframe, donde las peticiones
del usuario final son filtradas a través del personal de operación o un sistema de
tiempo compartido, en el cual un procesador grande es compartido por muchos individuos.
Después del desarrollo del microprocesador, las computadoras personales llegaron a ser
más económicas y se popularizaron. Las primeras computadoras personales, generalmente
llamadas microcomputadoras, fueron vendidas a menudo como kit electrónicos y en números
limitados. Fueron de interés principalmente para aficionados y técnicos.
El desarrollo del microprocesador en un solo chip dio lugar a la popularización de los verdaderos
computadores personales prácticos y económicos, entre ellos el pionero Altair 8800, de MITS, una
empresa pequeña que producía kits electrónicos destinado a aficionados.
El Altair fue introducido en un artículo de la revista Popular Electronics en la edición de enero del 1975.
Al igual que proyectos anteriores de MITS, el Altair fue vendido en forma de kit, aunque uno relativamente complejo
consistiendo de cuatro placas de circuito y muchas piezas. Valorado en solamente $400, el Altair sorprendió a sus creadores
cuando generó miles de órdenes en el primer mes. Incapaz de dar abasto a la demanda, MITS vendió el diseño después de despachar
cerca de 10 000 kits.
La introducción del Altair generó una industria entera basada en la diagramación básica y el diseño interno.
Nuevas compañías como Cromemco comenzaron para suplir kits adicionales, mientras que Microsoft fue fundado para suministrar
un interpretador BASIC para los sistemas. Poco después, un número de diseños completos de clones apareció en el mercado,
tipificados por el IMSAI 8080. Esto llevó a una amplia variedad de sistemas basados en el bus S-100 introducido con el Altair,
máquinas de un generalmente mejorado desempeño, calidad y facilidad de uso.
El Altair y sus primeros clones eran relativamente difíciles de usar. Las máquinas no contenían ningún sistema operativo en ROM,
así que arrancarla requería un programa en lenguaje de máquina ingresado a mano por medio de los interruptores del panel frontal,
una posición a la vez. El programa era típicamente un pequeño driver para un lector de cinta de papel perforado, que entonces sería
usado para leer otro programa "real". Sistemas posteriores añadieron código bootstrapping para mejorar este proceso, y las máquinas
llegaron a ser casi universalmente asociadas con el sistema operativo CP/M, cargado desde un disco floppy.
El Altair creó una nueva industria de microcomputadores y de kits de computador, con muchos otras siguiendo, por ejemplo una ola de
pequeños computadores de empresa basados en los microprocesadores Intel 8080, Zilog Z80 e Intel 8085 a finales de los años 1970. La mayoría
rodaban el sistema operativo CP/M-80 desarrollado por Gary Kildall en Digital Research. El CP/M-80 era el primer sistema operativo popular
para microcomputador a ser usado por muchos diferentes vendedores de hardware, y muchos paquetes de software fueron escritos para él, como
el WordStar y dBase II.
En ingeniería del software, el mantenimiento de software es la modificación de un producto de software después de la entrega, para corregir errores, mejorar el rendimiento, u otros atributos.1 El mantenimiento del software es una de las actividades más comunes en la ingeniería de software.
El mantenimiento de software es también una de las fases en el ciclo de vida de desarrollo de sistemas (SDLC, sigla en inglés de system development life cycle), que se aplica al desarrollo de software. La fase de mantenimiento es la fase que viene después del despliegue (implementación) del software en el campo.
Una percepción común del mantenimiento es que se trata meramente de la corrección de defectos. Sin embargo, un estudio indicó que la mayoría, más del 80%, del esfuerzo de mantenimiento es usado para acciones no correctivas (Pigosky 1997). Esta percepción es perpetuada por usuarios enviando informes de problemas que en realidad son mejoras de funcionalidad al sistema[cita requerida].
El mantenimiento del software y la evolución de los sistemas fue abordada por primera vez por Meir M. Lehman en 1969. Durante un período de veinte años, su investigación condujo a la formulación de las leyes de Lehman (Lehman 1997). Principales conclusiones de su investigación incluyen que el mantenimiento es realmente un desarrollo evolutivo y que las decisiones de mantenimiento son ayudadas por entender lo que sucede a los sistemas (y al software) con el tiempo. Lehman demostró que los sistemas continúan evolucionando con el tiempo. A medida que evolucionan, ellos crecen más complejos a menos que se toman algunas medidas como refactorización de código para reducir la complejidad.
Los problemas claves de mantenimiento de software son administrativos y técnicos. Problemas clave de administración son: alineación con las prioridades del cliente, dotación de personal, cuál organización hace mantenimiento, estimación de costos. Son cuestiones técnicas claves: limitado entendimiento, análisis de impacto, pruebas (testing), medición de mantenibilidad.
El mantenimiento de software es una actividad muy amplia que incluye la corrección de errores, mejoras de las capacidades, eliminación de funciones obsoletas y optimización. Debido a que el cambio es inevitable, se debe desarrollar mecanismos para la evaluación, controlar y hacer modificaciones.
Así que cualquier trabajo realizado para cambiar el software después de que esté en operación es considerado trabajo de mantenimiento. El propósito es preservar el valor del software sobre el tiempo. El valor puede ser mejorado ampliando la base de clientes, cumpliendo requisitos adicionales, siendo cada vez más fácil de usar, más eficiente y empleando más nuevas tecnología. El mantenimiento puede abarcar 20 años, mientras que el desarrollo puede estar entre 1 y 2 años.
|