Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 14

UNIVERSIDAD NACIONAL DE JULIACA

ESCUELA PROFESIONAL DE INGENIERÍA DE SOFTWARE


Y SISTEMAS

INFORME: INTRODUCCIÓN A LA INGENIERÍA DE


SOFTWARE

FUNDAMENTOS DE LA INGENIERÍA DE SOFTWARE Y


SISTEMAS

DOCENTE:
Raúl Reynaldo Ito Diaz
INTEGRANTES:
Joel Hernan Gonzales Bolanos
Georgette Ambrosio Condori
Milwar Dante Aycaya Mamanchura
Danna Siomara Sanchez Moreno Mamani
Ronal Ivan Condori Pari

Juliaca, San Roman


4 de junio de 2024
TABLA DE CONTENIDOS

TABLA DE CONTENIDOS
1. INTRODUCCIÓN
1.1. ¿Qué es la ingeniería de software?
1.2. ¿Cómo surgió la ingeniería de software?
1.3. ¿Cuáles son los objetivos de la ingeniería de software?
1.4. La importancia de la ingeniería de software
2. DESARROLLO
2.1. Áreas de conocimiento de la ingeniería de del software
2.2. Principios de la ingeniería de software
2.3. Características de software
2.4. Áreas de aplicación y desarrollo del software
2.5. Tipos de software
3. CONCLUSIÓN
4. ANEXOS
4.1. Diapositivas
4.2. Preguntas
5. Referencias bibliográficas

2
1. INTRODUCCIÓ N

1.1. ¿Qué es la ingeniería de


software?
La ingeniería de software es una disciplina que comprende todos los
aspectos de la producción del software así como la aplicación de un
enfoque sistemático, disciplinado y cuantificable al desarrollo, operación
y mantenimiento del software. Se conoce también como desarrollo de
software o producción de software entonces a la ingeniería de software
le podemos definir como:

¨Una disciplina en la que se aplican técnicas y principios de forma sistemática


en el desarrollo de sistemas de software para garantizar su calidad" (Gómez
Fuentes et al., 2019, p.14)

¿Que es la Ingeniería de Software según Autores? .-

➢ Según los autores Fred Brooks y Barry Boehm


“Es un enfoque disciplinado y metódico para la creación y gestión de
software. Implica la aplicación de principios de ingeniería al
desarrollo de sistemas de software complejos”. (Concepto De Ingeniería
De Software Según Autores ¿Qué Es? Definición Y Significada, n.d.)
➢ Para autores como Ian Sommerville y Roger S. Pressman }
“La ingeniería de software significa la búsqueda de la eficiencia y la
calidad en la creación de software, a través de la planificación, el
diseño, la construcción y el mantenimiento riguroso y controlado”.
(Concepto De Ingeniería De Software Según Autores ¿Qué Es?
Definición Y Significada, n.d.)

1.2. ¿Cómo surgió la ingeniería de


software?
Surge como profesión a principios del año 1980, emerge la ingeniería
de software. Desde sus inicios en la década de 1940, el campo del
desarrollo de software ha progresado hasta transformarse en una
disciplina que abarca la creación y el mantenimiento de programas, el

3
diseño de patrones, así como la optimización del rendimiento y la
calidad. La noción de calidad se relaciona con diversos aspectos como
la facilidad de mantenimiento, estabilidad, velocidad, legibilidad y
seguridad del software, entre otros. También engloba cualidades más
subjetivas, como una interfaz gráfica intuitiva, la idoneidad de la
solución ofrecida y la satisfacción del usuario final o cliente
correspondiente. Todos estos elementos son fundamentales en el
ámbito de la ingeniería de software. El software como término teórico
tiene su origen en dos sucesos destacados. El primero se refiere al
desarrollo de un algoritmo pensado para una máquina en específico,
como era en su época la máquina analıtica a mediados del siglo XIX.
Esta máquina al final no se llegó a realizar y el algoritmo no se puso en
práctica. La programadora de la primera ‘pre pieza’ de software fue Ada
Lovelace, la primera mujer programadora de la historia. El segundo
suceso que se dio fue un trabajo de Alan Turing que se basaba en
números computables, por lo que estaríamos ante la primera teoría del
software de todos los tiempos. Esto ocurrió poco antes de mediados del
siglo XX.

1.3. ¿Cuáles son los objetivos de la


ingeniería de software?
➢ Crear programas informáticos que satisfagan las necesidades de la
sociedad y empresas.
➢ Guiar y coordinar el desarrollo de una programación difícil.
Introducción a la ingeniería de software
➢ Intervenir en el ciclo de vida de un producto.
➢ Estimar los costos y el plazo de ejecución de un proyecto.
➢ Actuar como líder del equipo de desarrollo de software.
➢ Diseño, desarrollo y administración de bases de datos.
➢ Durante la creación de la aplicación, liderar y dirigir a los
programadores.
➢ Incluir procesos de calidad en las aplicaciones, como la medición de
métricas y medidas y la evaluación de la calidad de software.

1.4. La importancia de la ingeniería


de software
Presentamos 3 razones principales por la que es importante
1.4.1. Mejora la calidad del software.
La ingeniería de software proporciona un enfoque sistemático
para el desarrollo de software. Utiliza metodologías y procesos
que permiten garantizar la calidad del software desde su

4
concepción hasta su implementación. Esto incluye la
planificación, el análisis de requisitos, el diseño, la codificación,
las pruebas y el mantenimiento. Al seguir estos pasos, se
pueden evitar errores y fallos en el software, lo que se traduce
en un producto final de mayor calidad.
1.4.2. Permite cumplir con los plazos y presupuestos.
La ingeniería de software se centra en la gestión de proyectos
de desarrollo de software. Esto implica la planificación de
actividades, la asignación de recursos y la estimación de plazos
y costos. Al seguir un enfoque sistemático y utilizar herramientas
de gestión de proyectos, es más fácil cumplir con los plazos y
presupuestos establecidos. Esto evita retrasos y sobrecostos en
el desarrollo de software.
1.4.3. Facilita la colaboración y el trabajo en equipo.
La ingeniería de software fomenta la colaboración y el trabajo en
equipo entre los desarrolladores de software. Esto se logra a
través de la utilización de metodología ágiles y herramientas de
colaboración. La comunicación efectiva y la coordinación entre
los miembros del equipo de desarrollo son fundamentales para
el éxito de un proyecto de software. La ingeniería de software
proporciona las herramientas y técnicas necesarias para facilitar
esta colaboración.

5
2. DESARROLLO

2.1. Áreas de conocimiento de la


ingeniería de del software
2.1.1. Requerimientos
En el contexto de desarrollo del software, los requerimientos son las
necesidades, funcionalidades y restricciones que un sistema debe cumplir
para satisfacer la necesidades del cliente o usuario final. Estos pueden ser
requerimientos funcionales(lo que el sistema debe hacer) o no funcionales
(características como rendimiento, seguridad, usabilidad entre otros).

2.1.2. Diseño
Es el proceso de planificar y detallar cómo será la estructura,
funcionamiento y apariencia del sistema o software a desarrollar

2.1.3. Construcción
Es esta etapa, se escribe el código fuente del software basándose en el
diseño previamente establecido. Implica la programación, pruebas unitarias
y en la integración de los diferentes componentes del sistema.

2.1.4. Pruebas
Las pruebas de software son esenciales para identificar errores, fallos o
defectos en el sistema. Se realizan para asegurar que el software funcione
correctamente y cumpla con los requerimientos establecidos antes de su
implementación.

2.1.5. Mantenimiento
Comprende las actividades destinadas a corregir defectos, mejorar el
rendimiento y adaptar el software a nuevas necesidades una vez que está
en uso.

2.1.6. Gestión de la configuración


Es el proceso que controla y administra los cambios en el software durante
toda su ciclo de vida, asegurando la integridad y trazabilidad de los
elementos del sistema.

2.1.7. Gestión de la ingeniería de software


Involucra la planificación de, coordinación y control de las actividades
relacionadas con la ingeniería de software en un proyecto. Esto incluye
gestión de recursos humanos, técnicos y financieros-.

2.1.8. Procesos de software


Son las actividades interrelacionadas que transforman requisitos en un
producto de software.Esto incluye actividades como análisis,
diseño,implementación y pruebas.

6
2.1.9. Métodos y herramientas
Son las técnicas y recursos utilizados para llevar a cabo las diferentes
etapas del desarrollo del software.

2.1.10. Calidad
Se refiere al grado en que un sistema, componente o proceso cumple con
los requisitos específicos y/o expectativas del cliente o usuario.

2.1.11. Medición
La medición en ingeniería de software implica evaluar y cuantificar
aspectos como la calidad del software, productividad del equipo,
rendimiento del sistema o cualquier otro parámetro relevante para el
desarrollo del software.

2.1.12. Seguridad
La seguridad en el contexto del desarrollo de software se refiere a proteger
el sistema contra posibles amenazas o vulnerabilidades que puedan
comprometer su integridad o confidencialidad.

2.2. Principios de la ingeniería de


software
7 principios que constituyen las propiedades deseables durante el desarrollo de
un sistema de software

2.2.1. Rigor y formalidad


Si la documentación del sistema es ambigua o inconsistente
será difícil encontrar los defectos y saber donde hacer cambios.
Mientras más rigor y formalidad en la documentación y código,
el sistema será más confiable, verificable y mantenible.
2.2.2. Modularidad
En la programación estructurada los módulos son
procedimientos y funciones que, en conjunto, proporcionan la
funcionalidad del sistema, mientras que en la programación
orientada a objetos los módulos están formados por las clases
que son parte del problema.
2.2.3. Abstracción
Abstraer significa obtener la esencia al identificar o percibir el
problema. Con la abstracción se extraen características
comunes a partir de ejemplos específicos.
2.2.4. Anticipación al cambio
El software sufre cambios constantemente. Las principales
causas de los cambios son: la necesidad de eliminar defectos
que no fueron detectados antes de liberar la aplicación, el
surgimiento de nuevos requerimientos o cambios en los
requerimientos existentes.
2.2.5. Generalidad
Es buscar un problema que sea lo más general posible en lugar
de tener varias soluciones especializadas. Para resolver un
problema se debe buscar un problema más general que

7
posiblemente esté oculto tras el problema original. El problema
puede reutilizarse.
2.2.6. Incrementalidad
Cuando se construye una aplicación en forma incremental, los
pasos intermedios pueden ser prototipos del producto final que
permiten ir teniendo retroalimentación del usuario y descubrir y
acordar así cuales son sus verdaderos requerimientos.
2.2.7. Separación de intereses
Bajo este principio se separan diferentes aspectos de un
problema para concentrarse en un aspecto y después atender
los otros. Por ejemplo, si se requiere que un programa sea
correcto y eficiente, nos concentramos primero en una solución
que resuelva correctamente el problema y posteriormente lo
modificamos para lograr mayor eficiencia

2.3. Características de software


El software tiene 3 características principales:

Características operativas del software


● Corrección:
El software que estamos haciendo debe satisfacer todas las especificaciones
establecidas por el cliente.
● Usabilidad:
Debe ser sencillo y fácil de aprender a usar el software
● Integridad:
Un software de calidad no debe tener efectos secundarios o errores
constantes.
● Fiabilidad:
El producto de software no debería tener ningún defecto. No sólo esto, no debe
fallar mientras se ejecuta.
● Eficiencia:
Forma en que el software utiliza los recursos disponibles. El software debe
hacer un uso eficaz del espacio de almacenamiento y el comando ejecutar
según los requisitos de tiempo deseados.
● Seguridad:
Se deben tomar medidas apropiadas para mantener los datos a salvo de las
amenazas externas

Características de transición del software

● Interoperabilidad:
Es la capacidad para el intercambio de información con otras aplicaciones.
● Reutilización:
Es poder utilizar el código de software con algunas modificaciones para
diferentes propósitos.
● Portabilidad:
Capacidad para llevar a cabo las mismas funciones en todos los entornos y
plataformas.

Características de revisión del software

8
● Capacidad de mantenimiento:
El mantenimiento del software debe ser fácil para cualquier tipo de usuario.
● Flexibilidad:
Los cambios en el software deben ser muy comprensivos y fáciles de hacer.
● Extensibilidad:
Debe ser fácil de aumentar nuevas funciones.
● Escalabilidad:
Debe ser muy fácil de actualizar para más trabajo.
● Capacidad de prueba:
La prueba del software debe ser fácil.
● Modularidad:
Debe estar compuesto por unidades y módulos independientes entre sí.

Los componentes del software son los programas ejecutables y los datos
existentes en una computadora. Las áreas de aplicación del software son
diversas.

2.4. Áreas de aplicación y desarrollo


del software

software de sistemas
software de gestión
software científico y de ingeniería
software para sistemas de tiempo real
software embebido
software de inteligencia artificial
software para aplicaciones móviles
.-Pasos del proceso de desarrollo de software

Selección de una metodología:


Describe un proceso de trabajo general o una hoja de ruta para el proyecto para
establecer un marco en el que se aplican los pasos del desarrollo de software.
Recopilar requisitos :
Nos ayuda a comprender y documentar lo que necesitan los usuarios y otras partes
interesadas.
Elegir o crear una arquitectura:
Nos ayuda a estructurar la subyacente dentro de la cual funcionará el software.
Desarrollar un diseño:
Se realiza en torno a las soluciones que daremos a los problemas planteados por
los requisitos, lo que a menudo implica modelos de procesos y guiones gráficos.
Crear un modelo:
Usando una herramienta de modelado que utilice un lenguaje de modelado como
SysML o UML para llevar a cabo la validación temprana, la creación de prototipos y la
simulación del diseño.
Construir código:

9
Usar un lenguaje de programación que más dominemos y sea adecuado para dicho
desarrollo. Implica la revisión entre pares y en equipo para eliminar los problemas en
una fase temprana y producir software de calidad con mayor rapidez.
Pruebas:
Una vez culminado de crear nuestro software, se debe realizar pruebas de rendimiento
para simular pruebas de carga en la aplicación. Así mismo tratar de buscar hasta el
más mínimo error que podría tener nuestro software
Gestionar la configuración y los defectos:
Ayuda a comprender todos los artefactos del software (requisitos, diseño, código,
pruebas) y crear versiones distintas del software. Establecer prioridades de control de
calidad y criterios de publicación para hacer frente a los defectos y rastrearlos.
Implementar:
En otras palabras se trata de usar el software para su uso y responder y resolver los
problemas de los usuarios.
Migrar datos:
Como su mismo nombre lo dice "migrar",trasladar mover datos a nuestro software
nuevo o actualizado desde aplicaciones o fuentes de datos existentes, si corresponde.
Gestionar y medir el proyecto:
Se trata de mantener la calidad y la entrega a lo largo del ciclo de vida de la aplicación;
evaluar el proceso de desarrollo con modelos como el modelo de madurez de las
capacidades (CMM).

2.5. Tipos de software


a) Software de sistemas.
Proporcionar funciones básicas como sistemas operativos,
gestión de discos, utilidades, gestión de hardware y otras
necesidades operativas.
b) Software de aplicación.
Ayudar a los usuarios a realizar tareas. Las suites de
productividad de oficina, el software de gestión de datos,
los reproductores multimedia,los programas de
seguridad,etc.
c) Software de programación.
Proporcionar a los programadores herramientas como editores
de texto, compiladores, enlazadores, depuradores y otras
herramientas para crear código.
d) Software malicioso.
El software malicioso es un tipo de software diseñado para
dañar o inutilizar los sistemas informáticos. Puede adoptar
muchas formas, como virus, gusanos, troyanos, publicidad
no deseada, spyware y ransomware.

10
3. CONCLUSIÓ N
En conclusión la ingeniería de software nos da la posibilidad de crear programas y
aplicaciones que permiten solucionar necesidades, dificultades y problemas que se
puedan presentar en distintas áreas como en el de la salud, las empresas, entre otros,
teniendo de esta manera muchas áreas de aplicación y como para desarrollar un
software de debe tener planificaciones para el desarrollo de este, en donde se analiza
y se establece los procedimiento a realizar en cada paso para su desarrollo, y que
para esto se debe considerar los principios de la ingeniería de software y como estos
son la base para poder realizar un software adecuado. Y finalmente contrario a lo que
muchas veces se cree, se nos muestra que hay más de un tipo de software.
De esta manera podemos decir que la ingeniería de software no solo es crear un
software, sino que va más allá, ya que desde el momento en que se identifica la
necesidad, hasta ejecutar el software, se realizan muchos procedimientos para poder
garantizar que el software sea de buena calidad y si logre solucionar la necesidad.

11
4. ANEXOS
4.1. Diapositivas
https://www.canva.com/design/DAGFIRDg3Lc/w0ejrekUxi7TLf0DAspGrw/edit?
utm_content=DAGFIRDg3Lc&utm_campaign=designshare&utm_medium=link2
&utm_source=sharebutton

4.2. Preguntas
¿Cuál es la importancia de la ingeniería de software?
-Por su innovación que influye en la sociedad,facilitando trabajos que el ser humano realiza,
solucionando problemas en el que se presentan en las empresas, además de que ayuda a
innovar a la tecnología a través de software y la inteligencia artificial, así mismo mejorando la
seguridad de nuestros sistemas y perfiles personales.

¿Qué entienden por software?


-El software es un conjunto de instrucciones o programas que realizan tareas específicas
cuando se les dan órdenes. Estas instrucciones indican al hardware del ordenador, como los
transistores y los chips de memoria, lo que debe hacer. El desarrollo de software implica un
proceso denominado ciclo de vida de desarrollo de software, que los gestores de proyectos
utilizan para delinear las tareas y garantizar que el software satisfaga las necesidades de los
usuarios.

¿Por qué es crucial seguir buenas prácticas de ingeniería de software en el desarrollo de


aplicaciones?

-Es crucial seguir buenas prácticas de ingeniería de software en el desarrollo de aplicaciones


porque garantizan la fiabilidad, mantenibilidad y escalabilidad del software. Al seguir buenas
prácticas, como el uso de metodologías ágiles, pruebas de software exhaustivas y la
documentación adecuada, se reduce el riesgo de errores y fallos en el producto final, lo que a
su vez mejora la satisfacción del cliente y la reputación de la empresa desarrolladora.

¿Cómo contribuye la ingeniería de software a la eficiencia y calidad de los productos


tecnológicos?

-La ingeniería de software contribuye a la eficiencia y calidad de los productos tecnológicos al


aplicar principios y técnicas que permiten una planificación, diseño, implementación y
mantenimiento efectivos del software. Al seguir un enfoque sistemático y disciplinado en el
desarrollo de software, se logra una mayor eficiencia en el uso de recursos, una mejor gestión
de riesgos y una mayor calidad en el producto final, lo que se traduce en una mayor
satisfacción de los usuarios y en la competitividad de la empresa en el mercado tecnológico.
¿Qué caracteriza a la ingeniería de software según la IEEE?
a) Un enfoque caótico y desorganizado.
b) Un enfoque sistemático, disciplinado y cuantificable.
c) Un enfoque subjetivo y poco estructurado.}
d) Un enfoque aleatorio y no cuantificable.
¿Qué principios destaca la importancia de anticiparse a los cambios en el desarrollo de
software?
a) Rigor y formalidad en la documentación.
b) Abstracción en la construcción de modelos.
c) Modularidad en la división de sistemas complejos.

12
d) Anticipación al cambio en el software.
¿Qué se necesita además del software , para hacer operativo un ordenador?

a) Componentes lógicos.
b) Sistema operativo y programas.
c) Hardware.
d) Áreas de aplicación del software.

¿Qué fases del ciclo de vida del desarrollo del software aborda la ingeniería del
software?
a) Solo la fase de diseño.
b) todas las fases, desde la planificación hasta el mantenimiento.
c) Únicamente la fase de implementación.
d) Ninguna fase en particular, se enfoca en aspectos teóricos, etc.

¿Qué objetivo tienen los modelos de desarrollo de software en las empresas?ue


objetivos
a) Generar caos en el proceso de desarrollo.
b) Establecer criterios para iniciar, continuar y finalizar cada fase.
c) Crear confusión en las actividades de desarrollo.
d) Descartar la importancia de los sistemas de calidad.

13
5. Referencias bibliográ ficas
Concepto de Ingeniería de Software según Autores ¿Qué es? Definición y

Significada. (n.d.). significadosweb. https://significadosweb.com/concepto-de-

ingenieria-de-software-segun-autores-que-es-definicion/

Gómez Fuentes, D. M. d. C., Cervantes Ojeda, D. J., & Gonzáles Pérez, D. P. P.

(Eds.). (2019). Fundamentos de Ingeniería de Software (Primera Edición ed.).

UNIVERSIDAD AUTONOMA METROPOLITANA.

file:///C:/Users/ASUS/Downloads/Fundamentos_Ing_SW-VF%20(1).pdf

14

También podría gustarte