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