Que es IIngenieria del Software?, Que es IIngenieria del Software?, Que es IIngenieria del Software?, Que es IIngenieria del Software?, Que es IIngenieria del Software?, Que es IIngenieria del Software?, Que es IIngenieria del Software?, Que es IIngenieria del Software?, Que es IIngenieria del Software?, Que es IIngenieria del Software?,
1. 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).
2. 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
3. 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).
4. Diseño: producción del modelo del sistema de software
Desarrollo: construcción del sistema de 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.
5. 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
6. 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