22
INGENIERÍA DEL SOFTWARE

INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

Embed Size (px)

Citation preview

Page 1: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

Page 2: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

1

Sesión No. 1 Nombre: Introducción a la ingeniería del software Contextualización

Con el paso de los años, la tecnología ha avanzado y con ella el uso de los

dispositivos y el software que utiliza para funcionar correctamente, este medio de

programación que se aplica dentro de los sistemas comunes que son parte de la

vida cotidiana ayudan a solucionar problemas comunes y apoyan la forma de

trabajo, por ejemplo el uso de las calculadoras, las computadoras, dispositivos

móviles, etcétera. Todos éstos funcionan gracias a la utilización de software y la

ingeniería tras de éste.

Recordemos que un software es la parte no tangible dentro de un medio,

llámese computadora, calculadora, celular, etc. Y éste se lleva de la mano del

hardware, pues no puede funcionar el uno sin el otro.

Page 3: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

2

Introducción al Tema

¿Cuáles son los usos de la ingeniería de software?

La ingeniería de software se basa en la aplicación de un enfoque sistemático, el

cual se disciplina en un medio cuantificable de desarrollo, mantenimiento y

operación funcional de un software. Para el desarrollo de los medios de

programación se crean diagramas de flujo y estructuras donde el funcionamiento

de los mismos se explica para poder definir las funciones en la aplicación.

A pesar de que la principal función de la ingeniería de software es crear

soluciones con sistemas de cómputo, algunas veces la solución a un problema o

a las necesidades del usuario son más imples; un ejemplo puede ser, una base

de datos para negocio que cuenta sólo con un equipo de cómputo, el ingeniero

en software puede ayudar al cliente a encontrar la solución al registro de sus

productos o a su contabilidad, sin crear un gran sistema.

Page 4: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

3

Explicación

Introducción a la ingeniería del software

Dentro de la ingeniería de software encontramos varios elementos que la

componen, como los paradigmas de programación, el uso de diferentes

lenguajes de programación, la diferenciación de estructuras lógicas para cada

lenguaje y resultado a obtener, tipos de software, por ejemplo;

Software basado en la web; sistemas conocidos como exploradores, los

cuales funcionan en la red con localización de metadatos.

Software de sistemas; conjunto de programas desarrollados para servir a

otros programas.

Software de tiempo real; éste coordina, analiza y/o controla sucesos del

mundo real.

Software de gestión; reestructura los datos disponibles para facilitar

operaciones o toma de decisiones.

Software de inteligencia artificial; éste utiliza algoritmos no numéricos

para resolver problemas complejos.

Software empotrado; éste sólo es de lectura y controla productos o

sistemas de mercados industriales y de consumo.

Software de computadoras personales; se desarrollan para uso personal,

como pueden ser, convertidores de videos, procesadores de texto, hojas

de cálculo, sistemas multimedia, etc.

Software de ingeniería y científico; su principal característica es el uso de

algoritmos.

También se tienen mitos acerca de la creación de aplicaciones en la ingeniería

de software y los procesos por los que se crean;

Mitos del cliente.

Mitos del desarrollador.

Mitos de gestión.

Page 5: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

4

Concepto

¿Qué es la ingeniería de software?

La ingeniería de software es la disciplina que permite crear software a partir de

una serie de requisitos o de las necesidades planteadas por el usuario final, se

basa en un conocimiento técnico y práctico con el que se definen diagramas

para la estructura de los mismos y estructuras con las que se explica el

funcionamiento de los mismos.

Objetivos

Los objetivos que se determinan dentro de la ingeniería de software, son

realizados para cumplir con los medios de estandarización, de calidad y dar una

buena imagen a la compañía que los desarrolla, entre otras razones.

¿Cuáles son los objetivos de la Ingeniería de Software?

Diseñar aplicaciones informáticas que se ajusten a las necesidades de

los usuarios finales.

Coordinar y desarrollar aplicaciones complejas y funcionales.

Intervenir en las fases del ciclo de vida de las aplicaciones.

Page 6: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

5

Estimar los costos del proyecto y los tiempos de desarrollo del mismo.

Organizar la relación de pruebas de verificación del funcionamiento de los

programas y los requisitos de análisis y diseño.

Los objetivos de la ingeniería de software pueden ser definidos de muchas

formas y no siempre son los mismos, pues las funciones son diferentes y lo que

es útil en algunos casos, en otros no se considera, por tanto es importante

conocer el motor inicial y funcional con el que se define la aplicación que se

desarrolla para determinar de mejor manera los objetivos. Es importante siempre

sin importar el nombre de la aplicación o su uso, incluir la calidad suficiente que

cumpla con las expectativas de los usuarios finales y con los estándares de

IEEE.

Cuerpo de conocimientos

¿Existe una guía sobre el cuerpo de conocimientos?

Un cuerpo de conocimientos (BOK, del inglés Body of Knowledge), es un

compendio de términos, usos y definiciones acerca de un tema, es creado por la

asociación profesional que valida el tema del que se trata; muchos de estos

cuerpos, se han llegado a convertir en estándares y normas de calidad, y de la

misma manera, se han creado normas a partir de ellos.

Algunos de los cuerpos de conocimiento más famosos en las TI son:

BABOK (Business Analysis Body of Knowledge).Guía sobre los

fundamentos del conocimiento del análisis de negocio.

PSPBOK (Personal Software Process Body of Knowledge).Guía para la

gestión de tiempo y productividad personal.

TSPBOK (Team Software Body of Knowledge).Guía de gestión de

equipos para organizar y generar software de gran escala.

PMBOK (Project Management Body of Knowledge). Guía de dirección de

proyectos.

Page 7: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

6

SWEBOK (Software Engineering Body of Knowledge).Guía acerca del

conocimiento necesario de un ingeniero de software

SWEBOK

Contiene conceptos y conocimientos acerca de la ingeniería de software y de

cómo debe de llevarse a cabo por un ingeniero de software, proporciona una

visión general acerca del software de calidad y de las buenas prácticas de

desarrollo, las áreas de conocimiento de han ido ampliando a través de las

versiones.

Áreas principales

Para SWEBOK V3.0 el conocimiento se ha agrupado en áreas, que son:

Requisitos.

Diseño.

Desarrollo.

Pruebas.

Mantenimiento.

Gestión de configuración.

Gestión de software.

Proceso de ingeniería.

Herramientas y métodos de ingeniería.

Calidad de software

Page 8: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

7

Figura 1 Esteban, L. Rojas, W. Sánchez, M. (2013) Modelo de investigación en gestión de proyectos para la investigación en ingeniería. [Áreas de conocimiento para la ingeniería del software según el SWEBOK]. Recuperado de http://www.scielo.org.co/scielo.php?pid=S0120-81602013000100005&script=sci_arttext

Requisitos: Interpreta las necesidades del cliente en una lista de objetivos a

cumplir, cada uno se puede trasformar en un subsistema o sólo en una

funcionalidad, si los requisitos no son interpretados correctamente, el sistema

sufrirá consecuencias graves en el desarrollo y mantenimiento.

Page 9: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

8

Figura 2. Bourque, P., Fairley, R. (2014). Software Requirements. [Breakdown of Topics for the Software

Requirements KA] (p. 1-1).

Diseño: Define la arquitectura, interfaces, diagramas de flujo, entre otros del

sistema; en esta etapa se analizan los requerimientos y se crean posibles

soluciones gráficas a cada uno.

Page 10: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

9

Figura 3. Bourque, P., Fairley, R. (2014). Software Desing. [Breakdown of Topics for the Software Desing

KA] (p. 2-2).

Page 11: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

10

Desarrollo: Interpreta la arquitectura, esquemas y diagramas de flujo definidos

en la etapa de diseño en codificación de un lenguaje de programación,

interactuando también con el sistema operativo y algunas veces con los

dispositivos de entrada y salida.

Figura 4. Bourque, P., Fairley, R. (2014). Software Construction. [Breakdown of Topics for the Software

Construction KA] (p. 3-2).

Page 12: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

11

Pruebas: Evalúa la eficiencia y calidad del producto detectando las posibles

mejoras o fallas.

Figura 5. Bourque, P., Fairley, R. (2014). Software Testing. [Breakdown of Topics for the Software Testing

KA] (p. 4-2).

Page 13: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

12

Mantenimiento: Corrige las fallas y realiza las mejoras detectadas

anteriormente.

Figura 6. Bourque, P., Fairley, R. (2014). Software Maintenance. [Breakdown of Topics for the Software

Maintenance KA] (p. 5-2).

Page 14: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

13

Gestión de configuración: Identifica la configuración general del sistema para

realizar posibles adaptaciones y configurar su ciclo de vida, detecta las

características físicas y funcionales del sistema además del cumplimiento de sus

objetivos.

Figura 7. Bourque, P., Fairley, R. (2014). Software Configuration Management. [Breakdown of Topics for

the Software Configuration Management KA] (p. 6-2).

Page 15: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

14

Gestión de ingeniería: Verifica la infraestructura del proyecto, el control y la

planeación del programa, asegura que el mantenimiento del producto sea

adecuado.

Figura 8. Bourque, P., Fairley, R. (2014). Software Engineering Management. [Breakdown of Topics for the

Software Engineering Management KA] (p. 7-2).

Page 16: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

15

Gestión del proceso: Valida todas las etapas del proceso, como las tareas que

componen el proceso, funciones, mediciones, configuración, mantenimiento,

entre otros.

Figura 9. Bourque, P., Fairley, R. (2014). Software Engineering Process. [Breakdown of Topics for the

Software Engineering Process KA] (p. 8-2).

Page 17: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

16

Herramientas y proceso de ingeniería: son todos los recursos virtuales que

nos ayudan a realizar tareas exhaustivas como, validar el producto, crear el

diseño, realizar pruebas, detectar fallas, entre otros; pero es importante saber

que estas herramientas sólo interpretan el resultado de la información que

brindamos, si la información es errónea, el resultado puede llevarnos a una mala

decisión.

Figura 10. Bourque, P., Fairley, R. (2014). Software Engineering Models and methods. [Breakdown of

Topics for the Software Engineering Models and methods KA] (p. 9-2).

Page 18: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

17

Calidad de software: el conjunto de las actividades vistas anteriormente tiene

como objetivo crear un producto de calidad, el cual pueda brindar al cliente la

solución a los procesos que realiza o a la problemática que tiene, siendo eficaz,

costeable, moldeable, y que pueda tener futuras implementación, éstas son

algunas características de software de calidad.

Figura 11. Bourque, P., Fairley, R. (2014). Software Quality. [Breakdown of Topics for the Software Quality

KA] (p. 10-2).

Page 19: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

18

Conclusión

La ingeniería del software se desarrolló para poder solucionar problemas en la

creación de aplicación y creaciones de piezas de software especializadas.

Gracias a que cuenta con varios elementos de desarrollo e investigación sobre

los paradigmas, se pueden determinar nuevas formas de perfeccionamiento de

aplicaciones mejorando la calidad de éstos y el tiempo en que se crean y se

distribuyen a los usuarios.

Cuando la ingeniería de software no se utiliza correctamente pueden omitirse

varios de los principales elementos y los paradigmas de programación, estos

pueden aplicarse a cualquier lenguaje de programación, ya sea para el

desarrollo de animaciones mediante scripts de audio, de movimiento o con

elementos más robustos como composición de código en un sistema operativo

para una computadora, o el desarrollo de aplicaciones que hagan manejo de

elementos multimedia que requieren de codificación y decodificación.

Page 20: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

19

Para aprender más

Importancia de la ingeniería de software.

• Ruiz de la Peña, J; Aguilera, O. (2007). Importancia de la ingeniería de software

en la producción de software. Ciencias Holguín, vol. XIII, núm. 2, abril-junio,

2007, pp. 1-8.Centro de Información y Gestión Tecnológica de Santiago de Cuba

Holguín, Cuba. Sitio Web: http://www.redalyc.org/articulo.oa?id=181517923005

Ciclo de vida y mapas de actividades.

• Arboleya, H. (2013, Junio). Propuesta de Ciclo de Vida y Mapa de Actividades

para Proyectos de Explotación de Información. Revista latinoamericana de

ingeniería de software (ISSN 2314-2642), 1, 107-124. Sitio Web : http://iidia.com.ar/ReLAIS/relais-v1-n3-p-107-124.pdf

SWEBOK.

• SWEBOK V3. IEEE Computer Society, Sitio Web: http://www.computer.org/web/swebok/v3

Page 21: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

20

Actividad de Aprendizaje

Instrucciones:

Para que reafirmes los conocimientos que has adquirido en esta sesión, tendrás

que realizar una actividad la cual consiste en realizar un mapa mental donde

detalles los conceptos principales de la ingeniería de software y sus principales

áreas de conocimiento.

Deberás guardarlo en formato JPG, para subirlo a la plataforma de la asignatura.

Es muy importante que tengas claros los conceptos de esta sesión, ya que más

adelante harás uso de ellos de manera práctica.

Para la evaluación de esta actividad se tomarán en cuenta los siguientes puntos:

Título

Datos personales

Mapa mental

Ortografía y redacción

Bibliografía

Page 22: INGENIERÍA DEL SOFTWARE - moodle2.unid.edu.mxmoodle2.unid.edu.mx/dts_cursos_mdl/pos/TI/IS/S01/IS01_Lectura.pdf · INGENIERÍA DEL SOFTWARE 1 Sesión No. 1 Nombre: Introducción a

INGENIERÍA DEL SOFTWARE

21

Bibliografía

• Alonso, F., Martínez, L., & Segovia, F. (2005). Introducción a la Ingeniería

del Software: Modelos de desarrollo de Programas. España: La

Fuensanta.

• EUI, (2011) Objetivos de Ingeniería del Software. 2013,Julio 17, Sitio

Web: http://www.eui.upm.es/estudios/grados/software/objetivos

• Galaz S. (2011) Ingeniería de software. 2013,Julio 17, Sitio

Web: http://www.ilustrados.com/tema/319/Ingenieria-Software.html#obje

• Galeotti P., Mostaco M. & Rosner N., (s.f.) Ingeniería de Software.

2013,Julio 17, Sitio Web: http://www.dc.uba.ar/inv/IngenieriaSoftware

• Méndez R., Barzanallana A., (2011) Informática aplicada a la gestión

pública.2013,Julio 17, Sitio

Web: http://www.um.es/docencia/barzana/IAGP/IAGP2-Ingenieria-

software-introduccion.html

• TechNet. (2012), ¿Qué es la Ingeniería de Software? 2013,Julio 17, Sitio

Web: http://social.technet.microsoft.com/Forums/es-ES/7dc2cf80-a6ad-

4271-b4db-a1e3edb946fb/-que-es-la-ingenieria-software-