0% encontró este documento útil (0 votos)
778 vistas22 páginas

Resumen Swebok Es

El documento presenta una introducción a la ingeniería de software. Explica que la ingeniería de software se basa en el desarrollo sistemático de software utilizando enfoques cuantificables como diagramas de flujo. También describe los diferentes tipos de software y áreas principales de conocimiento en ingeniería de software según el SWEBOK, como requisitos, diseño, desarrollo, pruebas y mantenimiento.

Cargado por

Nicole Cardenas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
778 vistas22 páginas

Resumen Swebok Es

El documento presenta una introducción a la ingeniería de software. Explica que la ingeniería de software se basa en el desarrollo sistemático de software utilizando enfoques cuantificables como diagramas de flujo. También describe los diferentes tipos de software y áreas principales de conocimiento en ingeniería de software según el SWEBOK, como requisitos, diseño, desarrollo, pruebas y mantenimiento.

Cargado por

Nicole Cardenas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

INGENIERÍA DEL SOFTWARE

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.
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.
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.
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.
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.
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
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 [Link]

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.
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.
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).
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).
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).
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).
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).
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).
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).
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).
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).
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.
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. [Link] de Información y Gestión Tecnológica de Santiago de Cuba
Holguín, Cuba. Sitio Web: [Link]

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 :
[Link]

SWEBOK.

• SWEBOK V3. IEEE Computer Society, Sitio Web:


[Link]
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
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: [Link]

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


Web: [Link]

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


2013,Julio 17, Sitio Web: [Link]

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


pública.2013,Julio 17, Sitio
Web: [Link]
[Link]

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


Web: [Link]
4271-b4db-a1e3edb946fb/-que-es-la-ingenieria-software-

Common questions

Con tecnología de IA

Inaccurately interpreted client requirements can have severe repercussions on the software’s development and maintenance phases. It may lead to a mismatch between the delivered product and the client’s needs, resulting in expensive modifications and decreased user satisfaction. Such inaccuracies compromise the application's functionality and hinder its intended operational purpose .

Configuration management is vital for recognizing and controlling system configurations, facilitating modifications, and ensuring system objectives are met throughout its lifecycle. It supports adaptability and consistency in software versions, crucial for adapting to changing requirements and maintaining operational integrity over time .

The requirements phase is arguably the most critical. Accurate requirements gathering is paramount because it translates client needs into a functional blueprint for development. Incorrect or incomplete requirements lead to foundational errors that are costly to correct in subsequent stages and can jeopardize project success .

Myths in software engineering, categorized as belonging to clients, developers, or management, often obstruct processes by setting unrealistic expectations or miscommunicating the complexity and scope of development tasks. These myths can lead to misunderstandings about timelines, costs, and outcomes, which affect project success by imposing friction between stakeholders and developers .

SWEBOK provides a comprehensive overview of the concepts and best practices necessary for high-quality software development. It organizes knowledge into key areas such as requirements, design, development, testing, and maintenance, thus covering all critical aspects of the software lifecycle. This aids engineers in producing and maintaining software that is both functional and up to standard .

Tools and methods outlined in the SWEBOK enhance software engineering by providing a structured approach to validating products, creating designs, conducting tests, and identifying errors. These resources ensure that engineers adopt a systematic approach in implementing, maintaining, and improving software quality, allowing for well-informed decision-making and efficient management practices .

Software engineering is defined by its systematic approach to software development, which involves technical and practical knowledge for creating software solutions according to user needs. It involves the creation of diagrams and flow structures for defining functionality and ensuring quality standards like those from IEEE are met .

Project management in software engineering organizes, directs, and oversees development processes to ensure projects are completed on time, within budget, and to specification. It involves planning, resource allocation, scheduling, and risk management, all of which are crucial for addressing complex dynamics within software projects .

Quality standards like those from IEEE ensure that software engineering practices meet consistent and reliable benchmarks, thus leading to the development of products that fulfill user expectations while adhering to best practices for performance, security, and maintainability .

Engineering and scientific software primarily use complex algorithms to handle specialized tasks, while personal computer software is geared towards general use with applications like text processors or multimedia tools. The former often addresses domain-specific problems with precision, whereas the latter provides common utilities for everyday tasks .

También podría gustarte