EL SOFTWARE Y LA INGENIERÍA DE SOFTWAREpor Andres Baquero
1. Dominio De Aplicación Del Software
1.1. Software De Sistemas: conjunto de programas escritos para dar servicio a otros programas:
1.2. Software de aplicación: programas aislados que resuelven una necesidad específica de negocios.
1.3. Software de ingeniería y ciencias: se ha caracterizado por algoritmos “devoradores denúmeros”.
1.4. Software incrustado: reside dentro de un producto o sistema y se usa para implementar y controlar características y funciones para el usuario final y para el sistema en sí.
1.5. Software de línea de productos: es diseñado para proporcionar una capacidad específica para uso de muchos consumidores diferentes
1.6. Aplicaciones web: llamadas “webapps”, esta categoría de software centrado en redes agrupa una amplia gama de aplicaciones
1.7. Software de inteligencia artificial: hace uso de algoritmos no numéricos para resolver problemas complejos que no son fáciles de tratar computacionalmente o con el análisis directo
2. Software Heredado
2.1. El software debe adaptarse para que cumpla las necesidades de los nuevos ambientes del cómputo y de la tecnología.
2.2. El software debe ser mejorado para implementar nuevos requerimientos del negocio.
2.3. El software debe ampliarse para que sea operable con otros sistemas o bases de datos modernos.
2.4. La arquitectura del software debe re diseñarse para hacerla viable dentro de un ambiente de redes.
3. La Naturaleza Única De Las Webapps
3.1. Uso intensivo de redes. Una webapp reside en una red y debe atender las necesidades de una comunidad diversa de clientes
3.2. Concurrencia. A la webapp puede acceder un gran número de usuarios a la vez.
3.3. Carga impredecible. El número de usuarios de la webapp cambia en varios órdenes de magnitud de un día a otro.
3.4. Estética. Parte innegable del atractivo de una webapp es su apariencia y percepción.
3.5. Seguridad. Debido a que las webapps se encuentran disponibles con el acceso a una red, es difícil o imposible limitar la población de usuarios finales que pueden acceder a la aplicación
3.6. Contenido sensible. La calidad y naturaleza estética del contenido constituye un rasgo importante de la calidad de una webapp.
3.7. Disponibilidad. Aunque no es razonable esperar una disponibilidad de 100%, es frecuente que los usuarios de webapps populares demanden acceso las 24 horas de los 365 días del año.
4. Esencia De La Práctica
4.1. 1. Entender el problema (comunicación y análisis).
4.2. 2. Planear la solución (modelado y diseño del software)
4.3. 3. Ejecutar el plan (generación del código)
4.4. 4. Examinar la exactitud del resultado (probar y asegurar la calidad).
5. La Naturaleza Del Software
5.1. En la actualidad, el software tiene un papel dual. Es un producto y al mismo tiempo es el vehículo para entregar un producto
6. Definición de software
6.1. Instrucciones (programas de cómputo) que cuando se ejecutan proporcionan las características, función y desempeño buscados;
6.2. Estructuras de datos que permiten que los programas manipulen en forma adecuada la información.
6.3. Características que difieren considerablemente de las del hardware: 1. El software se desarrolla o modifica con intelecto; no se manufactura en el sentido clásico. 2. El software no se “desgasta”. 3.Aunque la industria se mueve hacia la construcción basada en componentes, la mayor parte del software se construye para un uso individualizado
7. Proceso Del Software
7.1. Comunicación. Antes de que comience cualquier trabajo técnico, tiene importancia crítica comunicarse y colaborar con el cliente (y con otros participantes).
7.2. Planeación. Cualquier viaje complicado se simplifica si existe un mapa.
7.3. Modelado. Crea un “bosquejo” del objeto por hacer a fin de entender el panorama general
7.4. Construcción. Esta actividad combina la generación de código (ya sea manual o automatizada) y las pruebas que se requieren para descubrir errores en éste.
7.5. Despliegue. El software (como entidad completa o como un incremento parcialmente terminado) se entrega al consumidor que lo evalúa y que le da retroalimentación, misma que se basa en dicha evaluación.
8. Criterio Personal
8.1. El software es un elemento clave en la evolución de sistemas y productos basados en computadoras, y una de las tecnologías más importantes en todo el mundo. En los últimos 50 años, el software ha pasado de ser la solución de un problema especializado y herramienta de análisis de la información a una industria en sí misma. No obstante, aún hay problemas para desarrollar software de alta calidad a tiempo y dentro del presupuesto asignado.