Categorías: Todo - dominios - software - actividades - ingeniería

por Lucero Mena hace 7 años

637

El software y la ingeniería de software

La ingeniería de software se fundamenta en una serie de actividades estructurales aplicables a todos los proyectos, independientemente de su tamaño o complejidad. Estas actividades incluyen la planificación, la comunicación, la construcción, el modelado y el despliegue.

El software y la ingeniería de software

El software y la ingeniería de software

Ingeniería de software

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:

Preparación y producción del producto del trabajo

Agrupa las actividades requeridas para crear productos del trabajo, tales como modelos, documentos, registros, formatos y listas.

Administración de la remtilización

Define criterios para volver a usar el producto del trabajo (incluso los componentes del software) y establece mecanismos para obtener componentes reutilizables.

Administración de la configuración del software

Administra los efectos del cambio a lo largo del proceso del software.

Medición

Define y reúne mediciones del proceso, proyecto y producto para ayudar al equipo a entregar el software que satisfaga las necesidades de los participantes; puede usarse junto con todas las demás actividades estructurales y sombrilla.

Revisiones técnicas

Evalúa los productos del trabajo de la ingeniería de software a fin de descubrir y eliminar errores antes de que se propaguen a la siguiente actividad.

Aseguramiento de la calidad del software

Define y ejecuta las actividades requeridas para garantizar la calidad del software.

Administración del riesgo

Evalúa los riesgos que puedan afectar el resultado del proyecto o la calidad del producto.

Seguimiento y control del proyecto de software

Permite que el equipo de software evalúe el progreso comparándolo con el plan del proyecto y tome cualquier acción necesaria para apegarse a la programación de actividades.

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

Compromiso con la calidad

Procesos

Métodos

Herramientas

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:

Despliegue

Construcción

Modelado

Pianeación

Comunicación

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:

Examinar la exactitud del resultado (probar y asegurar la calidad)

Ejecutar el plan (generación del código)

Planear la solución (modelado y diseño del software)

Entender el problema (comunicación y análisis)

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 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.

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.

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:

Estética

Seguridad

Inmediatez

Evolución continua

Contenido sensible

Orientadas a los datos

Disponibilidad

Concurrencia

Rendimiento

Carga impredecible

Uso intensivo de redes

La naturzleza del software

Dominios de aplicación del software
Fuente abierta

Tendencia creciente que da como resultado la distribución de código fuente para aplicación sistemas (por ejemplo, sistemas operativos, base de datos y ambiente de desarrollo), de modo que mucha gente pueda contribuir a su desarrollo.

Construcción de redes

La red mundial (world wide web) se está convirtiendo cuento rápido tanto en un motor de computación como de un proveedor de contenido. El desafío para los ingenieros de software es hacer arquitectura sencillas (por ejemplo, planeación financiera personal y aplicaciones sofiticadas que porpocione un beneficio a mercados objetivos de usuarios finales en todo el mundo).

Computación en un mundo abierto

El rápido crecimiento de las redes inalámbricas quizás lleve pronto a la computación verdaderamente ubicua y distribuida. El reto para los ingeniero de software será desarrollar software de sistema y aplicación que permita a los dispositivos móviles, computadoras personales y sistema empresariales comunicarse a través de redes enormes.

Software de Inteligencia artificial

Las aplicaciones en esta área incluyen robótica, sistema expertos, reconocimiento de patrones( imágenes y voz), redes neurales artificiales, demostración de teoremas y juegos.

Software de línea de productos

El software de la línea de productos se centra en algún mercado limitado y partícula (por ejemplo, control del inventario de productos) o se dirige a mercados masivos de consumidor (procesamiento de texto, hoja de cálculo, gráficas por computadoras, multimedios, entretenimientos, administración de la base de datos y aplicaciones para finanzas personales o de negocios).

Software incrustado

Reside dentro de un producto sistema y se usa para implementar y controlar característica y funciones para el usuario final y para el sistema en sí. El software incrustado ejecuta funciones limitadas y particulares (por ejemplo control del tablero de un horno de microondas).

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 de aplicación

El software de aplicación se usa para controlar funciones de negocios en tiempo real ( por ejemplo, procesamiento de transacciones en punto de venta, control de proceso de manufactura en tiempo real).

Software de sistemas

Conjunto de programas escritos para dar servicio a otros programas. Determinados software de sistema (por ejemplo: compiladores, editores y herramientas otras para administrar archivos).

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).