Que es Ingenieria del Software?,

7
ALGUNAS DEFINICIONES SOBRE INGENIERÍA DE SOFTWARE El establecimiento y uso de principios de ingeniería robustos, orientados a obtener económicamente software que sea fiable y funcione eficientemente sobre máquinas reales. Bauer, F. (1972) Software Engineering. Information Processing La disciplina tecnológica y de gestión que concierne a la producción y el mantenimiento sistemático de productos software desarrollados y modificados dentro de unos plazos estipulados y costes estimados. Fairley, R. (1985). Software Engineering Concepts. New York: McGraw-Hill Ingeniería del software. (1) La aplicación de un enfoque sistemático, disciplinado y cuantificable del desarrollo, la operación y el mantenimiento del software; esto es, la aplicación de la ingeniería al software. (2) El estudio de diversos enfoques para el desarrollo de software. IEEE Std 610-1990 Ingeniería es la aplicación sistemática de conocimiento científico en la creación y construcción de soluciones, que satisfacen una buena relación efectividad/precio, de problemas prácticos al servicio de la humanidad. La ingeniería del software es la forma de ingeniería que aplica los principios de las ciencias de la computación y las matemáticas en la obtención de soluciones de los problemas del software que satisfacen una buena relación efectividad/precio. SEI Report on Undergraduate Software Engineering Education (1990).

Transcript of Que es Ingenieria del Software?,

Page 1: Que es Ingenieria del Software?,

ALGUNAS DEFINICIONES SOBRE INGENIERÍA DE SOFTWARE

El establecimiento y uso de principios de ingeniería robustos, orientados a obtener económicamente software que sea fiable y funcione eficientemente sobre máquinas reales. Bauer, F. (1972) Software Engineering. Information Processing

La disciplina tecnológica y de gestión que concierne a la producción y el mantenimiento sistemático de productos software desarrollados y modificados dentro de unos plazos estipulados y costes estimados.Fairley, R. (1985). Software Engineering Concepts. New York: McGraw-Hill

Ingeniería del software. (1) La aplicación de un enfoque sistemático, disciplinado y cuantificable del desarrollo, la operación y el mantenimiento del software; esto es, la aplicación de la ingeniería al software. (2) El estudio de diversos enfoques para el desarrollo de software. IEEE Std 610-1990

Ingeniería es la aplicación sistemática de conocimiento científico en la creación y construcción de soluciones, que satisfacen una buena relación efectividad/precio, de problemas prácticos al servicio de la humanidad. La ingeniería del software es la forma de ingeniería que aplica los principios de las ciencias de la computación y las matemáticas en la obtención de soluciones de los problemas del software que satisfacen una buena relación efectividad/precio. SEI Report on Undergraduate Software Engineering Education (1990).

Page 2: Que es Ingenieria del Software?,

GUIA 1. CONCEPTOS BASICOS SOBRE LA INGENIERIA DE SOFTWARE (PRIMERA PARTE)

1. ¿Qué es la Ingeniería de Software?La Ingeniería de Software es una disciplina de la Ingeniería que concierne a todos los aspectos de la producción de software. Los Ingenieros de Software adoptan un enfoque sistemático para llevar a cabo su trabajo y utilizan las herramientas y técnicas necesarias para resolver el problema planteado, de acuerdo a las restricciones de desarrollo y recursos disponibles.

Los Ingenieros de Software deben:

Adoptar un enfoque sistemático para llevar a cabo su trabajo Utilizar las herramientas y técnicas apropiadas para resolver el

problema planteado, de acuerdo a las restricciones de desarrollo y a los recursos disponibles

Actualmente,

La economía de todos los países desarrollados es dependiente del software

Cada vez mas sistemas son controlados por software El gasto en la Ingeniería de Software, representa un alto porcentaje

del Producto Interno Bruto (PIB) de los países desarrollados

2. Diferencia entre un “Ingeniero de Software” y un “Programador”Los Ingenieros de Software son los encargados de la especificación del sistema, del diseño de la arquitectura, la integración y la puesta en marcha.Asimismo, la Ingeniería de Software comprende responsabilidades que van más allá de la simple aplicación de habilidades técnicas, por ello los Ingenieros de Software deben actuar de manera honesta y ética si desean ser respetados como profesionales (una conducta ética es más que sólo respetar la ley).Por otra parte, un programador sólo escribe programas en computadoras.

3. Diferencia entre la “Ingeniería de Sistemas” y la “Ingeniería de Software” La Ingeniería de Sistemas concierne a todos los aspectos del desarrollo de sistemas basados en cómputo, que incluyen hardware, software y el proceso de Ingeniería, mientras qué, la Ingeniería de Software es solo parte

Page 3: Que es Ingenieria del Software?,

de este proceso que comprende el desarrollo de software, control, aplicaciones y bases de datos del sistema.

4. Diferencia entre la “Computación” y la “Ingeniería de Software” La computación es una ciencia que concierne a la teoría y fundamentos de cualquier sistema de cómputo, sea de hardware o de software. Por su parte, la Ingeniería de Software concierne solo al desarrollo de sistemas o productos de software. En este sentido, la Ingeniería de Software todavía está lejos de ser una ciencia como los son la Química, la Ingeniería Civil, la Electrónica ó la Computación misma.

5. ¿Qué es el software?Programas de cómputo y su documentación asociada: requerimientos, modelos de diseño y manuales de usuario. El software puede ser desarrollado para un cliente en particular o para un mercado general. El software puede ser:

Genérico: desarrollado para venderse a múltiples clientes (Excel, Word, etc.)

A la medida: desarrollado bajo demanda del cliente a un desarrollador específico

El software nuevo puede ser creado desarrollando nuevos programas, configurando sistemas de software genérico o reutilizando software existente.

6. Retos de la Ingeniería de Software Desarrollar técnicas para construir software que pueda hacer frente a

plataformas y ambientes de ejecución heterogéneos (diferentes tipos de Hardware y Software)

Desarrollar técnicas que permitan reducir los tiempos de entrega del software sin comprometer la calidad

Desarrollar técnicas que permitan que los usuarios confíen plenamente en el software

7. Proceso de Software

Un conjunto estructurado de actividades cuya meta es el desarrollo o evolución de un software. Algunas actividades genéricas en todos los procesos de software son:

Especificación: qué debe hacer el software y cuáles son sus especificaciones de desarrollo (requerimientos y restricciones del sistema).

Diseño: producción del modelo del sistema de software Desarrollo: construcción del sistema de software

Page 4: Que es Ingenieria del Software?,

Validación: verificar que el software cumple con lo solicitado por el cliente (especificaciones requeridas)

Evolución: cambiar/adaptar el software a las nuevas demandas Instalación: entregar el sistema al usuario y asegurar su operacionalidad Mantenimiento: reparar fallos en el sistema cuando sea descubiertos

Estas actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse.

8. Modelo de Proceso de Software

Representación formal y simplificada de un proceso de software, presentada desde una perspectiva específica. Algunos modelos son: cascada, desarrollo iterativo, entre otros.

9. Métodos de ingeniería de Software

Son enfoques estructurados para el desarrollo de software que incluye: Descripciones del modelo: descripciones de modelos gráficos que

deben ser producidos. Reglas: restricciones aplicadas a los modelos de sistemas. Recomendaciones: para realizar un diseño efectivo. Administración del proceso: que actividades deben realizarse y en qué

orden.

10.Costos de la Ingeniería del Software

El costo total de un software está dividido aproximadamente de la siguiente forma:

60% costos de desarrollo 40% costos de pruebas

En el software a la medida los costos de evolución a menudo exceden los costos de desarrollo. Los costos dependen del tipo de sistema que se desarrolla y de los requerimientos del mismo, tales como desempeño y confiabilidad. La distribución de los costos depende del modelo de desarrollo empleado.

Page 5: Que es Ingenieria del Software?,

Tarea:

1) Con sus propias palabras diga la importancia de la Ingeniería del Software

2) Investigue y responda las siguientes preguntas: ¿Por qué lleva tanto tiempo terminar los programas? ¿Por qué es tan elevado su costo? ¿Por qué no podemos encontrar todos los errores antes de entregar el

software a nuestros clientes? ¿Por qué nos resulta difícil constatar el progreso conforme se desarrolla el

software?

3) Analizar el código de ética profesional de los Ingenieros de software desarrollado por ACM/IEEE

Referencias Bibliográficas

Sommerville, I. (2002). Ingeniería del Software. Prentice Hall. 7ma edición Piattini y otros (2004). Análisis y Diseño detallado de Aplicaciones

Informáticas de Gestión. Ed. Ra-Ma. Pressman, R. (2006). Ingeniería del Software. Un enfoque práctico. Ed.

McGraw Hill