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

UNIVERSIDAD ALEJANDRO DE HUMBOLDT

FACULTAD INGENIERIA
ESCUELA INGENIERIA INFORMATICA
ASIGNATURA: Ingeniería del Software
SECCION: DCM0601IIV1
PROFESOR: Ofelia Sanchez

Evaluación 1

Cáceres Víctor, C.I. V-25.795.163

Caracas, 24 de enero 2022


Índice

Introducción…………………………………………………………………………...1

Ingeniería del Software

Definición……………………………………………..………….……………………2

Objetivos………………………………………………………………………………3

Características, Ventajas………………………………………………...…………….4

Desventajas…………………………………………………………………………….7

Importancia en la Organización y Ejemplos……………………………………..……8

El producto y el proceso

Definición producto y proceso……………………………………………………….10

Características producto y proceso…………………………………………………...11

Importancias de los modelos de desarrollos del software……………………………12

Modelos de desarrollos del software y Ejemplos…………………………………….13

Conclusión……………………………………………………………………………19

Referencias Bibliográficas…………………………………………………………...20
Introducción

En el presente trabajo de estudio estaremos investigando que significa la ingeniería

del software analizaremos detalladamente su significado, sus objetivos, características,

ventajas y desventajas.

La ingeniería en software es una rama computacional que se encarga de estudiar los

procesos, métodos, técnicas y herramientas para el desarrollo de un software que implique

calidad, en otras palabras, es la aplicación del conocimiento científico en la práctica para el

desarrollo de programas.

Hoy en día el software es muy importante en muchos ámbitos, y el mundo se está

volviendo muy dependiente de este se puede decir que el software es el producto principal del

siglo XXI, puesto que a través de él se pueden hacer muchas cosas que antes no se podían

realizar, es utilizado como software de control, como gestor de base de datos, diagnósticos

médicos y muchas cosas más, por todas estas razones es de muy importante que desarrolle un

producto de calidad ya que en algunos casos la vida de un ser humano depende de un

software.

Lo que se busca por medio de esta investigación es promover el conocimiento sobre la

ingeniería al software ya que es indispensable para la sociedad y el país, además de alentar a

las personas a que tengan interés por la informática y así poder contribuir con el desarrollo

económico del país.


1

Ingeniería del Software

1. Definición:

La Ingeniería de Software es la rama de la ingeniería que estudia todo lo

relacionado con la informática o sistemas de computación, con una orientación metódica,

ordenada y cuantificable al incremento, ejecución y conservación del software.

Es una especialidad que consiste en sistemas, instrumentos y técnicas que se

emplean en el desarrollo de los programas informáticos. La ingeniería de software,

también, incorpora el análisis precedente de la situación, el bosquejo del proyecto, el

desarrollo del software, el ensayo necesario para comprobar su funcionamiento correcto y

poner en funcionamiento el sistema.

La ingeniería de software, por lo tanto, incluye el análisis previo de la situación, el

diseño del proyecto, el desarrollo del software, las pruebas necesarias para confirmar su

correcto funcionamiento y la implementación del sistema.

Además, engloba varias doctrinas entre ella las matemáticas, ciencias de la

computación y destrezas que se llevan a cabo en la ingeniería y proviene de ella. Sin

embargo, para trabajar en esta disciplina debe tomarse en cuenta los comienzos históricos

como también las metodologías para la realización del diseño y construcción de software

o bien llamados programas informáticos, que trabajan específicamente en el sistema

operativo de una computadora, ejecutando dichas investigaciones se puede llevar a cabo

con eficiencia esta doctrina.


2

2. Objetivos.

Los principales objetivos de la ingeniería de software son:

 Diseñar programas informáticos que se adecúen a las exigencias de la

sociedad. ingeniería de Software.

 Liderar y acoplar el desarrollo de programaciones complicadas.

 Actuar en todas las fases del ciclo de vida de un producto.

 Computar los costos de un proyecto y evaluar los tiempos de

desarrollo.

 Realizar el seguimiento de costes y plazos.

 Liderar equipos de trabajo de desarrollo software.

 Estructurar la elaboración de evidencias que comprueben el perfecto

funcionamiento de los programas y que se adaptan a los requerimientos de análisis y

diseño.

 Diseñar, construir y administrar bases de datos.

 Liderar y orientar a los programadores durante el desarrollo de

aplicaciones.

 Incluir procesos de calidad en los sistemas, calculando métricas e

indicadores y chequeando la calidad del software producido.

 Liderar y orientar a los programadores durante el desarrollo de

aplicaciones.

 Incluir procesos de calidad en los sistemas, calculando métricas e

indicadores y chequeando la calidad del software producido.

 Estructurar e inspeccionar el trabajo de su equipo de los técnicos de

mantenimiento y los ingenieros de sistemas y redes.


3

3. Características.

Es una especialidad de la ingeniería que tiene como objetivo principal, el

desarrollo costeable de sistemas de software confiables que funcionen de modo eficiente

y comprende todos los aspectos de la producción del software.

 El software presenta 3 elementos que lo caracterizan:

 Los programas y/o algoritmos.

 Las estructuras de datos.

 Los documentos.

 Hay 2 tipos de derivados de software cuando se desarrolla: Productos

genéricos y Productos personalizados.

4. Ventajas.

 Alta demanda

Los buenos ingenieros de software encuentran trabajo. Se necesitan ingenieros

de software en los campos de desarrollo, pruebas y soporte.

Toda empresa tiene la necesidad de un equipo de ingenieros de software que

pueda desarrollar, mantener, probar y apoyar el software.

Trabajar en una empresa de este tipo ayuda a un individuo a aprender y crecer

y, a su vez, hace un progreso notable como desarrollador de software.

 Satisfacción final
Los ingenieros son creadores y los ingenieros de software crean software

único que es utilizado por muchos. Si te conviertes en un ingeniero de software

profesional, te sentirás feliz cada vez que veas que tu software funciona.

 Factor dinero

Los ingenieros de software son buenos generadores de dinero. Cuanto más

trabajan y adquieren experiencia, más ganan en el futuro.

 Trabajar como autónomos

Los ingenieros de software tienen la oportunidad de trabajar como

independientes. También tienen la opción de trabajar para una compañía en

posiciones remotas.

 Oportunidades de negocio

Una de las mejores razones para entrar en la industria del software es

convertirse en un empresario.

Los ingenieros de software tienen la oportunidad de iniciar sus propias

compañías de SaaS. No hay costos adicionales para iniciar una empresa de software.

El único requisito para los desarrolladores de software para iniciar una

empresa es una buena computadora.

 Oportunidades para trabajar en el extranjero


Los ingenieros de software tienen la oportunidad de trabajar en el extranjero.

Países como EE.UU., Reino Unido, Suiza, Alemania, Francia, Japón y Canadá

contratan ingenieros de software según sus necesidades.

 Desde el punto de vista de gestión

 Facilitar la tarea de seguimiento del proyecto.

 Optimizar el uso de recursos.

 Facilitar la comunicación entre usuarios y desarrolladores.

 Facilitar la evaluación de resultados y cumplimiento de objetivos.

 Desde el punto de vista de los ingenieros de software

 Ayudar a comprender el problema.

 Permitir la reutilización.

 Facilitar el mantenimiento del producto final.

 Optimizar el conjunto y cada una de las fases del proceso de desarrollo.

 Desde el punto de vista de cliente o usuario final

 Garantizar el nivel de calidad del producto final.

 Obtener el ciclo de vida adecuado para el proyecto.

 Confianza en los plazos del tiempo mostrados en la definición del

proyecto.
6

5. Desventajas.

 Aprendizaje de por vida

Como dicen que toda la vida está diseñada para el aprendizaje, lo que en

realidad es cierto para los ingenieros de software.

No pueden dejar de aprender nuevos lenguajes de programación. La

frecuencia de aprendizaje tiene que ser alta también.

 Conversación entre trabajos

Hoy en día los ingenieros de software no pueden sentarse y trabajar frente a un

ordenador durante todo el tiempo de trabajo.

Necesitan atender las llamadas de los clientes y escuchar sus peticiones y

aclarar sus dudas. Esto puede crear un lapso de concentración. Los ingenieros de

software necesitan estar preparados para eso.

 Atascarse

Si no aprendes nueva tecnología, no podrás progresar ni un centímetro en tu

carrera. Por lo tanto, hay una alta posibilidad de quedarse atascado en la misma

posición durante años.


 No hay descansos los fines de semana

Para terminar los proyectos a tiempo, los ingenieros de software suelen

trabajar de 18 a 20 horas al día e incluso los fines de semana.

Esto puede ser agitado para pocos. Así que mantenerse en forma es una forma

de eliminar el letargo. Pero, aun así, es una situación estresante en la que estar.

 Alta competencia

La industria del software es altamente competitiva. Necesitas trabajar duro y

estar decidido a mantenerte enfocado en tu trabajo. De lo contrario, tendrás problemas

en el trabajo.

 No hay actividad social

La alta presión en el trabajo te quitará tu familia, amigos y conexiones

sociales, no tendrás tiempo para conocerlos ni siquiera para saludarlos.

6. Importancia en la Organización y Ejemplos.

En un mundo que se mueve cada vez más rápido, las empresas deben transformarse

constantemente para conseguir seguirle el ritmo y poder estar vigentes para sus clientes. Por

lo tanto, deben modificar y actualizar hasta los más pequeños aspectos, tanto de su

infraestructura y herramientas como sus procesos, este tipo de acciones les permitirá estar a la

par del mercado actual y mantener un ritmo de trabajo adecuado.

Uno de los aspectos con más relevancia que deben transformarse o actualizarse dentro

de las compañías son sus sistemas, como sus páginas web, software y aplicaciones, más aún

si estos fueron desarrollados mucho tiempo atrás, pues con el tiempo pueden volverse
obsoletos y traerle consecuencias a la empresa, la actualización de software una acción que

mantendrá la empresa libre de preocupaciones pero, además de la actualización existen otros

procesos como la reingeniería de software, la cual es capaz de reformar un software para

mejorarlo.

La reingeniería de software es un proceso capaz de modificar un software o alguno de

sus componentes por medio de ciertas técnicas como la ingeniería inversa (comprensión del

funcionamiento de un programa), reestructuración de código, restructuración de datos o

ingeniería directa; esto con el fin de mejorar o agregar nuevas funcionalidades. Este se aplica

principalmente cuando el software ya ha sido actualizado en varias ocasiones, ha sufrido

mejoras o ha presentado varias correcciones y por lo tanto al realizar otra especie de cambio

se pueda generar problemas en el sistema que lo vuelvan inutilizable; también cuando se

presentan problemas de rendimiento o de integración del sistema, cuando existen fallas

frecuentes de producción y cuando su mantenimiento es muy costoso.

La implementación de este tipo de proceso además de ayudar a mejorar un software

existente y evitar el desarrollo de cero de otro, les aporta a las compañías ciertas ventajas,

veamos algunas de ellas a continuación:

Ayuda a extender y ampliar la vida útil de los sistemas.

Los sistemas generados son mucho más fáciles de entender, modificar y probar.

Le ayuda a las compañías a recuperar y disminuir la inversión en software, así como a

reducir los costos de mantenimiento que se pueden generar en caso de no ejecutar ninguna

modificación.
Se aprecia una mayor satisfacción por parte del público interno o personal, ya que los

procesos se pueden desarrollar de una forma más sencilla, definida y rápida.

El público externo también puede verse beneficiado por la reingeniería, dado a que la

mejora en los procesos ayuda a renovar la forma en que se atiende a los clientes, aumentando

así su satisfacción.

Después de aplicar un proceso de reingeniería de software, las empresas suelen notar

un aumento del conocimiento y del control de los procesos empresariales, esto debido a que

se hacen mucho más sencillos de administrar.

Por último, vemos que los beneficios anteriores traen consigo un beneficio a nivel

externo y es que se mejora la competitividad, debido a que la forma en que se empieza a

ejecutar las tareas genera un cambio operacional que se nota incluso de forma externa.

El producto y el proceso

7. Definición producto y proceso

Un producto de software es una unidad lógica de compartición y empaquetado de

software que tiene un desarrollo gestionado, un ciclo de vida de mantenimiento y

atributos visibles para el cliente. Puede ser una colección de componentes, productos de

software cuya licencia puede depender de la licencia de la oferta total.

Un proceso de desarrollo del software es el proceso de dividir el trabajo de

desarrollo del software en distintas fases para mejorar el diseño, la gestión del producto, y
la gestión de proyecto. Es también conocido como el ciclo de vida del desarrollo de

software.

10

8. Características producto y proceso

Por lo general la ingeniería de producto comprende actividades relacionadas con

optimizar el costo de producción, su facilidad de fabricación, su calidad, funcionalidad,

confiabilidad y otras características importantes para el usuario. Asimismo, se busca

obtener un producto con estas características de manera que el producto resulte más

atractivo y competitivo en el segmento del mercado que tiene por objetivo. De esta forma

se aumentan las posibilidades de éxito del negocio que posee el fabricante de dicho

producto.

La ingeniería de producto incluye el diseño, desarrollo, selección de materiales, y

transición desde la etapa de prototipo hasta la fabricación del producto. El término

incluye desarrollar el concepto del producto y el diseño y desarrollo de sus componentes

y partes mecánicas, electrónicas y de software.

Los procesos de software real son secuencias entrelazadas de actividades técnicas,

colaborativas y administrativas con la meta general de especificar, diseñar, implementar y

probar un sistema de software. Los desarrolladores de software usan en su trabajo


diferentes herramientas de software. Las herramientas son útiles particularmente para dar

apoyo a la edición de distintos tipos de documento y para manejar el inmenso volumen de

información detallada que se reproduce en un gran proyecto de software.

11

Las cuatro actividades básicas de proceso de especificación, desarrollo, validación

y evolución se organizan de diversa manera en diferentes procesos de desarrollo. En el

modelo en cascada se organizan en secuencia, mientras que se entrelazan en el desarrollo

incremental. La forma en que se llevan a cabo estas actividades depende del tipo de

software, del personal y de la inclusión de estructuras organizativas. En la programación

extrema, por ejemplo, las especificaciones se escriben en tarjetas. Las pruebas son

ejecutables y se desarrollan antes del programa en sí. La evolución incluye la

reestructuración o refactorización sustancial del sistema.

9. Importancias de los modelos de desarrollos del software

El modelado de sistemas software es una técnica para tratar con la complejidad

inherente a estos sistemas. El uso de modelos ayuda al ingeniero de software a

"visualizar" el sistema a construir. Además, los modelos de un nivel de abstracción mayor

pueden utilizarse para la comunicación con el cliente. Por último, las herramientas de

modelado y las de Ingeniería de Software Automatizada. Pueden ayudar a verificar la

corrección del modelo.


El modelado es una técnica de ingeniería probada y bien aceptada. Nos ayuda a:

 Visualizar a sus usuarios el producto final.

 Comprender mejor el sistema.

 Comunicar las ideas a otros.

12

En el desarrollo de software siempre es importante utilizar un modelo, ya que es

lo que permite conocer los elementos concretos de una empresa, rompe con las barreras

de comunicación y ayuda a identificar los puntos de mejora. En este contexto, el modelo

CMMI fue desarrollado para procesos relativos al desarrollo e implementación de

software por la Carnegie-Mellon University y recibía el nombre de CMM.

Las primeras aplicaciones de este modelo se produjeron en sistemas de defensa,

pero con el paso de los años, y debido a la proliferación de modelos de desarrollo de

software, el gobierno financió proyectos con el fin de crear un solo marco extensible para

la ingeniería de sistemas, la ingeniería de software y el desarrollo de productos. El

resultado fue el CMMI, el modelo más conocido en la actualidad.

Gracias a este tipo de modelos, muchas empresas han mejorado sus procesos de

gestión de las actividades entrelazadas de forma explícita, han aplicado prácticas de alta

madurez mucho más robustas y están cumpliendo con las normas ISO de una manera

mucho más completa.

10. Modelos de desarrollos del software y Ejemplos


Modelo en cascada o convencional

Este es el modelo en el cual se ordenan rigurosamente las etapas del desarrollo del

software, de esto se obtiene que el inicio de una etapa de desarrollo deba de esperar el fin

de la etapa anterior. De esto se obtiene que cualquier error detectado lleve al rediseño del

área de código afectado, lo cual aumenta de costo el desarrollo del proyecto.

13

Tomado de otras ingenierías es el primer modelo de desarrollo software

propuesto. Ampliamente usado en la industria por su facilidad de gestión y visibilidad.

Sin embargo, su principal problema reside en su poca flexibilidad al separar el

proceso de desarrollo en etapas totalmente distintas. En la práctica estas etapas no tienen

fronteras tan bien definidas, lo que hace que, en pocas ocasiones, se solapen y compartan

información.

Los principales problemas de este modelo son: dificultad para realizar prototipos,

reutilizar software y realizar pruebas sin disponer de una implementación del sistema.

Modelo evolutivo

En este modelo se entrelazan las actividades de especificación, desarrollo y

validación. Inicialmente, se desarrolla rápidamente un sistema inicial a partir de una

especificación muy abstracta. El sistema se va refinando con la información que van

suministrando los clientes y/o usuarios hasta que se obtiene un sistema final que satisfaga

todas las necesidades previstas. El sistema final obtenido puede rediseñarse para producir

otro más robusto y más fácil de mantener.


Existen dos tipos de procesos de desarrollo evolutivos:

Exploratorio: Su objetivo es trabajar con el cliente para identificar y construir el

sistema final a partir de una especificación informal. El resultado del proceso es el

sistema final.

14

Prototipado desechable: Su objetivo es entender los requisitos del cliente. El

resultado del proceso es la especificación del sistema (el prototipo se deshecha).

Las etapas de este modelo son:

 Plan rápido

 Modelo

 Construcción del prototipo

 Entrega y retroalimentación

 Comunicación

 Entrega del desarrollo final.

Entre sus ventajas se encuentra que, es apto para el cliente que conoce a grandes

rasgos el objetivo del software y a su vez, al equipo de desarrollo le ofrece una mejor

visibilidad de la interacción del cliente con el software y el ambiente en el cual debe de

realizarse.

Los principales problemas de este modelo son: escasa visibilidad; los continuos

cambios que hacen que los sistemas desarrollados estén deficientemente estructurados; y

la necesidad de disponer, en muchos casos, de un equipo de desarrollo altamente


calificado. Estos problemas hacen que la aplicación de este modelo se suela limitar a

sistemas interactivos de tamaño pequeño o mediano. La deficiente estructura dificulta las

tareas de mantenimiento de ahí que se suela aplicar a sistemas con una vida corta y a

partes de grandes sistemas, especialmente a sistemas de inteligencia artificial y a

interfaces de usuario.

15

Modelo transformacional

Se basa en disponer de una especificación formal del sistema y en transformar,

con métodos matemáticos, esta especificación en una implementación. Si las

transformaciones que se aplican son correctas es posible asegurar que el sistema

construido satisface la especificación, es decir, es posible obtener programas correctos

por construcción.

Otra de sus ventajas es la posibilidad de realizar el mantenimiento a nivel de

especificación. Por lo que es necesario disponer de una especificación inicial correcta y

de diseñadores altamente calificados. Además, no existe apenas experiencia en la

aplicación de este modelo a grandes proyectos.

Modelo basado en reutilización:

En este modelo se supone que alguno de los componentes del sistema final ya

existe. El proceso de desarrollo se centra en integrar las partes ya existentes más que en

construir todo el sistema desde el principio.


Las ventajas que desde un punto de vista económico puede producir este modelo

actualmente empiezan a ser estudiadas en profundidad. Prácticamente no existe

experiencia sobre el empleo de este modelo, si bien, se están haciendo numerosos

estudios e investigaciones para posibilitar su uso.

16

Modelo en espiral

Es el modelo en el cual las actividades se desarrollan en espiral, estas actividades

se realizan conforme se van seleccionando de acuerdo al análisis de riesgo. En cada

iteración en este modelo, se deberán de tomar en cuenta los objetivos, las alternativas que

se deberán de tomar de acuerdo a las características, estas son experiencia personal,

requisitos a cumplir, las formas de gestión del sistema, entre otros.

Este modelo tiene dos formas en las cuales se debe de planificar el proyecto, la

forma angular, la cual indica únicamente el avance del software dentro del proyecto y la

forma radial, la cual indica el aumento del costo dado que cada iteración conlleva más

tiempo de desarrollo.

El modelo tiene la forma de una espiral en la que cada vuelta representa cada una

de las fases en las que se estructura el proceso software y está organizada en cuatro

sectores:

 Definición de objetivos, alternativas y restricciones de cada fase del

proyecto.
 Evaluación de alternativas y análisis de riesgos.

 Desarrollo y validación. Se elige el modelo de proceso de desarrollo

que se considere más adecuado.

 Planificación de las siguientes fases del proyecto.

17

Modelo RAD

Desarrollo Rápido de Aplicaciones (por sus siglas en inglés) es un modelo de

proceso de desarrollo de software relativamente corto (dura entre 60 y 90 días). Se utiliza

la construcción de software basada en componentes, utilizando herramientas de software

que permitan de forma ágil y efectiva realizar una aplicación con altos estándares de

calidad. El Modelo RAD comprende las siguientes etapas:

 Modelado de gestión: Se genera la información que conduce el proceso

de gestión, se identifica a dónde va la información y quién la procesa.

 Modelado de datos: Se definen los almacenes de datos y cómo se

relacionan los almacenes entre sí.

 Modelado del proceso: Se utiliza para añadir, modificar, suprimir o

recuperar un objeto de datos.


 Generación de aplicaciones: Se utiliza una herramienta de cuarta

generación que permite crear el software y facilitar la construcción del programa.

 Pruebas y entrega: El proceso de desarrollo finaliza realizando pruebas

de calidad del software diseñado con la herramienta RAD, posteriormente se realiza la

implementación de la aplicación (Salazar-Aguirre, 2011).

18

Conclusión

Finalmente se puede concluir que el software se ha incrustado en casi todos las áreas,

desde productos para uso doméstico hasta aplicaciones web, sistemas de monitoreo, sistemas

de gestión de información y muchas otras cosas más, es por esto que se ha hecho muy

importante puesto que forma parte de la vida cotidiana del ser humano, por tanto debe ser de

calidad y precisamente por esta razón es que existe la ingeniería en software; porque ofrece

métodos y técnicas para desarrollar, mantener, producir y asegurar software de calidad.

Las nuevas tecnologías permiten desarrollar software a la medida, es por esto que los

equipos de trabajo buscan mejorar sus productos de forma que se adapten a las nuevas

tendencias de desarrollo.

Adicionando que por medio de esta investigación lo que se busco es darle la

información necesaria a la sociedad para despertar el interés por la informática, ya que por

medio de esta actividad se genera una estructura económica solida que permite evolucionar

económicamente el estado financiero de la nación.


19

Referencias Bibliográficas

definicion.xyz. Ingeniería de Software [Página web].


Disponible en: https://definicion.xyz/ingenieria-de-software/
[Consulta: 2021, Enero 24].

definicion.de. Ingeniería de Software [Página web].


Disponible en: https://definicion.de/ingenieria-de-software/
[Consulta: 2021, Enero 24].

ecured. Ingeniería de software [Página web].


Disponible en: https://www.ecured.cu/Ingenier%C3%ADa_de_software
[Consulta: 2021, Enero 24].

economipedia. Producto [Página web].


Disponible en: https://economipedia.com/definiciones/producto.html
[Consulta: 2021, Enero 24].

elconspirador. Modelos de desarrollo de software [Página web].


Disponible en: https://www.elconspirador.com/2013/08/19/modelos-de-desarrollo-de-
software/
[Consulta: 2021, Enero 24].

gestion-calidad. Características y Tipología general de los procesos [Página web].


Disponible en: https://gestion-calidad.com/caracteristicas-y-tipologia-general-de-los-procesos
[Consulta: 2021, Enero 24].

ing-sistemas. ¿Qué es la ingeniería de software? [Página web].


Disponible en: http://ing-sistemas.com/2017/02/09/que-es-la-ingenieria-software/
[Consulta: 2022, Enero 24].

micarrerauniversitaria. Ingeniería de software: Qué es, objetivos, características y más


[Página web].
Disponible en: https://micarrerauniversitaria.com/c-ingenieria/ingenieria-de-software/
[Consulta: 2021, Enero 24].

sensagent. INGENIERIA DE SOFTWARE [Página web].


Disponible en: http://diccionario.sensagent.com/INGENIERIA%20DE%20SOFTWARE/es-
es/
[Consulta: 2021, Enero 24].

20

También podría gustarte