El software y la ingeniería de software
La naturzleza del software
El software actúa como la base para el control de la computadora (sistema operativo), para la comunicación de información (redes), y para la creación y control de otro programa (herramientas y ambientes de software).
Dominios de aplicación del software
Software de sistemas
Software de aplicación
Software de ingeniería y ciencias
Se ha caracterizado por algoritmo “devoradores de números”. El diseño asistido por computadora, la simulación de sistema y otras aplicaciones interactivas, han comenzado a hacerse en tiempo real e incluso han tomado características del software de sistema.
Software incrustado
Software de línea de productos
Software de Inteligencia artificial
Computación en un mundo abierto
Construcción de redes
Fuente abierta
La naturaleza única de las WebApps
En los primeros días de la Red Mundial (entre 1990 y 1995), los sitios web consistían en poco más que un conjunto de archivos de hipertexto vinculados que presentaban la información con el empleo de texto y gráficas limitadas.
Al pasar el tiempo, el aumento de HTML por medio de herramientas de desarrollo (XML, Java) permitió a los ingenieros de la web brindar capacidad de cómputo junto con contenido de información.
La gran mayoría de webapps presenta los siguientes atributos:
Uso intensivo de redes
Carga impredecible
Rendimiento
Concurrencia
Disponibilidad
Orientadas a los datos
Contenido sensible
Evolución continua
Inmediatez
Seguridad
Estética
Mitos del software
Los mitos del software "creencias erróneas sobre éste y sobre el proceso que se utiliza para obtenerlo" se remontan a los primeros días de la computación.
Mitos de la administración
Los gerentes que tienen responsabilidades en el software, como los de otras disciplinas, con frecuencia se hallan bajo presión para cumplir el presupuesto, mantener la programación de actividades sin desvíos y mejorar la calidad.
Mitos del profesional
Los mitos que aún sostienen los trabajadores del software han sido alimentados por más de 50 años de cultura de programación. Es difícil que mueran los hábitos y actitudes arraigados.
La práctica de la ingeniería de software
La esencia de la práctica
La esencia de la práctica de la ingeniería de software:
Entender el problema (comunicación y análisis)
Planear la solución (modelado y diseño del software)
Ejecutar el plan (generación del código)
Examinar la exactitud del resultado (probar y asegurar la calidad)
El proceso del software
La estructura del proceso establece el fundamento para el proceso completo de la ingeniería de software por medio de la identificación de un número pequeño de actividades estructurales que sean aplicables a todos los proyectos de software, sin importar su tamaño o complejidad.
Una estructura de proceso general para la ingeniería de software consta de cinco actividades:
Comunicación
Pianeación
Modelado
Construcción
Despliegue
Ingeniería de software
La ingeniería de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software; es decir, la aplicación de la ingeniería al software.
La ingeniería de software es una tecnología con varias capas
Herramientas
Métodos
Procesos
Compromiso con la calidad
las actividades sombrilla se aplican a lo largo de un proyecto de software y ayudan al equipo que lo lleva a cabo a administrar y controlar el avance, la calidad, el cambio y el riesgo.
Es común que las actividades sombrilla sean las siguientes:
Seguimiento y control del proyecto de software
Administración del riesgo
Aseguramiento de la calidad del software
Revisiones técnicas
Medición
Administración de la configuración del software
Administración de la remtilización
Preparación y producción del producto del trabajo