0% encontró este documento útil (0 votos)
557 vistas14 páginas

Investigacion de La Unidad Unidad 1 - Ing de Software

Este documento presenta los fundamentos de la ingeniería de software, incluyendo conceptos clave como ingeniería, software e ingeniería de software. Explora las fases típicas del desarrollo de software como análisis de requisitos, diseño, programación y pruebas. También describe varias metodologías tradicionales como la cascada y el prototipado, así como metodologías ágiles como Scrum y XP. Finalmente, destaca la importancia de las herramientas CASE en la ingeniería de software.

Cargado por

Terry
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)
557 vistas14 páginas

Investigacion de La Unidad Unidad 1 - Ing de Software

Este documento presenta los fundamentos de la ingeniería de software, incluyendo conceptos clave como ingeniería, software e ingeniería de software. Explora las fases típicas del desarrollo de software como análisis de requisitos, diseño, programación y pruebas. También describe varias metodologías tradicionales como la cascada y el prototipado, así como metodologías ágiles como Scrum y XP. Finalmente, destaca la importancia de las herramientas CASE en la ingeniería de software.

Cargado por

Terry
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

Contenido.

Unidad I. Fundamentos de ingeniería de software. ................................................................ 2

1.1 Conceptos básicos. ................................................................................................... 2

Ingeniería. ........................................................................................................................ 2

Software. ......................................................................................................................... 2

Ingeniería de software. .................................................................................................... 2

1.2 Fases de la Ingeniería de software. .......................................................................... 3

Análisis de requerimientos. ............................................................................................. 3

Especificación. ................................................................................................................ 3

Diseño y arquitectura. ..................................................................................................... 3

Programación. ................................................................................................................. 3

Prueba. ............................................................................................................................. 4

Documentación................................................................................................................ 4

Mantenimiento. ............................................................................................................... 4

1.3 Metodologías de desarrollo de software. ................................................................. 4

1.3.1. Clásicas................................................................................................................. 5

Cascada............................................................................................................................ 5

Figura 1. Las etapas del modelo de cascada. (Castro, 2018) ....................................... 6

Prototipado. ..................................................................................................................... 6

Figura 2. Prototipado. (Castro, 2018) .......................................................................... 6


1

Espiral.............................................................................................................................. 6

Figura 3. Etapas de la metodología en espiral. (Castro, 2018) .................................... 7

Incremental. ..................................................................................................................... 7

Figura 4. Modelo incremental. (Castro, 2018) ............................................................ 8

1.3.2. Agiles. .................................................................................................................. 8

Kanban. ........................................................................................................................... 8

Scrum. ............................................................................................................................. 9

Lean. ................................................................................................................................ 9

Programación extrema (XP). ........................................................................................... 9

1.3.3. Otras filosofías ..................................................................................................... 9

Ganar-ganar. .................................................................................................................... 9

Proceso Unificado (UP). ............................................................................................... 10

Ingeniería Web. ............................................................................................................. 10

1.4 Importancia de las herramientas CASE en la Ingeniería de software. ................... 10

Conclusión. ........................................................................................................................... 11

Bibliografía ........................................................................................................................... 11

RUBRICA DE EVALUACIÓN DE TAREAS .................... ¡Error! Marcador no definido.


2

Unidad I. Fundamentos de ingeniería de software.

1.1 Conceptos básicos.

Ingeniería.

Es una disciplina y profesión enfocada a la aplicación del conocimiento científico y

técnico, que utiliza recursos fiscos para diseñar e implementar diversos artefactos

(estructuras, maquinas, dispositivos, sistemas y procesos) para realizar un objetivo deseado

y alcanzar criterios específicos. (Andres, 2017)

Software.

Se conoce como software al equipamiento o soporte lógico de una computadora digital;

comprende el conjunto de los componentes lógicos necesarios que hacen posible la

realización de tareas específicas en contraposición a los componentes físicos (hardware).

(Andres, 2017)

Ingeniería de software.

La ingeniería de software es una disciplina formada por un conjunto de métodos,

herramientas y técnicas que se utilizan en el desarrollo de los programas informáticos

(software). (Hernández, 2013)

El propósito de la ingeniería de software es permitir al diseñador enfrentar el problema

de construcción de software como un problema de ingeniera, con guías y principios

concretos, al igual que con herramientas de evaluación y validación. (Andres, 2017)


3

Por lo tanto, la ingeniería de software incluye el análisis previo de la situación, el diseño

del proyecto, el desarrollado del software, las pruebas necesarias para confirmar su correcto

funcionamiento y la implementación del sistema. (Hernández, 2013)

1.2 Fases de la Ingeniería de software.

La ingeniería de software requiere llevar a cabo numerosas tareas agrupadas en etapas,

al conjunto de estas etapas se le denomina ciclo de vida. (Ramos, 2017)

Análisis de requerimientos.

Se extraen los requisitos del producto de software. En esta etapa la habilidad y

experiencia en la ingeniería del software es crítica para reconocer requisitos incompletos,

ambiguos o contradictorios. (Ramos, 2017)

Especificación.

Es la tarea de describir detalladamente el software a ser escrito, de una forma rigurosa.

Se describe el comportamiento esperado del software y su interacción con los usuarios y/o

sistemas. (Ramos, 2017)

Diseño y arquitectura.

Se determinan las funciones que tendrá el software, de manera general. Consiste en el

diseño de componentes del sistema que responden a las funcionalidades descritas en la

segunda etapa, también conocidas como entidades empresariales. (Ramos, 2017)

Programación.

Se traduce el diseño a código. Es la parte más obvia del trabajo de ingeniería de software

y la primera en que se obtienen resultados “tangibles”. (Ramos, 2017)


4

Prueba.

Consiste en comprobar que el software responda y realice correctamente las tareas

indicadas en la especificación. (Ramos, 2017)

Documentación.

Realización del manual de usuario, y posiblemente un manual técnico con el propósito

de mantenimiento futuro y ampliaciones al sistema.

Las tareas de esta etapa se inician ya en la primera fase pero sólo finalizan una vez

terminadas las pruebas. (Ramos, 2017)

Mantenimiento.

En esta etapa se realizan un mantenimiento correctivo (resolver errores) y un

mantenimiento evolutivo (mejorar las funcionalidades y/o dar respuesta a nuevos

requisitos). (Ramos, 2017)

1.3 Metodologías de desarrollo de software.

Las metodologías de desarrollo de software son un conjunto de técnicas y métodos

organizativos que se aplican para diseñar soluciones de software informático. El objetivo de

las distintas metodologías es el de intentar organizar los equipos de trabajo para que estos

desarrollen las funciones de un programa de la mejor manera posible. (Universidades,

2020)

Dichas metodologías pretenden guiar a los desarrolladores al crear un nuevo software, pero

los requisitos de un software a otro son tan variados y cambiantes, que ha dado lugar a que

exista una gran variedad de metodologías para la creación del software. (Ramos, 2017)
5

1.3.1. Clásicas.

Las metodologías de desarrollo de software tradicionales o bien clásicas se caracterizan

por definir total y rígidamente los requisitos al inicio de los proyectos de ingeniería de

software. Los ciclos de desarrollo son poco flexibles y no permiten realizar cambios.

(Universidades, 2020)

Por lo tanto, las metodologías clásicas son aquellas que siguen una secuencia lógica y

cada etapa es directamente dependiente de que se culmine la etapa anterior. (Castro, 2018)

La organización del trabajo de las metodologías tradicionales es lineal, es decir, las

etapas se suceden una tras otra y no se puede empezar la siguiente sin terminar la anterior.

(Universidades, 2020)

Las principales metodologías tradicionales o clásicas son:

Cascada.

El modelo en cascada es un proceso de desarrollo secuencial, en el que el desarrollo de

software se concibe como un conjunto de etapas que se ejecutan una tras otra. (Castro,

2018)

Se le denomina así por las posiciones que ocupan las diferentes fases que componen el

proyecto, colocadas una encima de otra, y siguiendo un flujo de ejecución de arriba hacia

abajo, como una cascada. (Castro, 2018)


6

Figura 1. Las etapas del modelo de cascada. (Castro, 2018)

Prototipado.

Se basa en la construcción de un prototipo de software que se construye rápidamente

para que los usuarios puedan probarlo y aportar feedback. Es un modelo iterativo que se

basa en el método de prueba y error para comprender las especificidades del producto.

(Universidades, 2020)

Figura 2. Prototipado. (Castro, 2018)

Espiral.

Es una combinación de los dos modelos anteriores, que añade el concepto de análisis de

riesgo. (Universidades, 2020)

Se divide en cuatro etapas:


7

➢ Planificación,

➢ Análisis de riesgo,

➢ Desarrollo de prototipo

➢ Evaluación del cliente. (Universidades, 2020)

Figura 3. Etapas de la metodología en espiral. (Castro, 2018)

El nombre de esta metodología da nombre a su funcionamiento, ya que se van

procesando las etapas en forma de espiral.

Cuanto más cerca del centro se está, más avanzado está el proyecto. (Universidades,

2020)

Incremental.

En esta metodología de desarrollo de software se va construyendo el producto final de

manera progresiva. (Universidades, 2020)

En cada etapa incremental se agrega una nueva funcionalidad, lo que permite ver

resultados de una forma más rápida en comparación con el modelo en cascada.

(Universidades, 2020)
8

Figura 4. Modelo incremental. (Castro, 2018)

1.3.2. Agiles.

Las metodologías ágiles son aquellas que permiten adaptar la forma de trabajo a las

condiciones del proyecto. (VILLÁN, 2019)

Se caracterizan por enfatizar la comunicación frente a la documentación, por el

desarrollo evolutivo y por su flexibilidad. (Moreno Arcos, 2017)

Las metodologías ágiles se basan en la metodología incremental, en la que en cada ciclo

de desarrollo se van agregando nuevas funcionalidades a la aplicación final. Sin embargo,

los ciclos son mucho más cortos y rápidos, por lo que se van agregando pequeñas

funcionalidades en lugar de grandes cambios. (Universidades, 2020)

Las principales metodologías ágiles son:

Kanban.

Es una metodología de trabajo inventada por la empresa de automóviles Toyota.

Consiste en dividir las tareas en porciones mínimas y organizarlas en un tablero de trabajo

dividido en tareas pendientes, en curso y finalizadas. (Universidades, 2020)


9

De esta forma, se crea un flujo de trabajo muy visual basado en tareas prioritarias e

incrementando el valor del producto. (Universidades, 2020)

Scrum.

Es una metodología incremental que divide los requisitos y tareas, se itera sobre bloques

de tiempos cortos y fijos (entre dos y cuatro semanas) para conseguir un resultado completo

en cada iteración. (Universidades, 2020)

Lean.

Está configurado para que pequeños equipos de desarrollo muy capacitados elaboren

cualquier tarea en poco tiempo. (Universidades, 2020)

Programación extrema (XP).

Es una metodología de desarrollo de software basada en las relaciones interpersonales,

que se consideran la clave del éxito. Su principal objetivo es crear un buen ambiente de

trabajo en equipo y que haya un feedback constante del cliente. (Universidades, 2020)

1.3.3. Otras filosofías

Ganar-ganar.

Para la metodología del desarrollo del proyecto GA3 se utilizó principalmente el

modelo reciente Ganar-ganar ya que con este existen ganancias para todas las partes

implicadas. (Ramos, 2017)


10

Proceso Unificado (UP).

El Proceso Unificado es un marco de desarrollo de software que se caracteriza por estar

dirigido por casos de uso, centrado en la arquitectura y por ser iterativo e incremental.

(Ramos, 2017)

Ingeniería Web.

La ingeniería web es la aplicación de metodologías sistemáticas, disciplinadas y

cuantificables al desarrollo eficiente, operación y evolución de aplicaciones de alta calidad

en la World Wide Web. (Ramos, 2017)

1.4 Importancia de las herramientas CASE en la Ingeniería de software.

Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software

Asistida por Computadora) son diversas aplicaciones informáticas o programas

informáticos destinadas a aumentar la productividad en el desarrollo de software

reduciendo el costo de estas en términos de tiempo y de dinero. (Ramos, 2017)

Las herramientas CASE proporcionan una gran credibilidad, exactitud y fiabilidad que

se nota en el reconocimiento universal, siendo usadas por cualquier analista, programador,

ingeniero de software y cualquier otro especialista en tecnologías de la información que

busca un resultado óptimo, eficaz y presentable, para cada uno de sus procesos. (Zimbrón,

2017)
11

Conclusión.

Considerando la investigación previa, se puede concluir que la ingeniería de software es

una disciplina de suma importancia, que cuenta con diversos conceptos que la relacionan.

Cabe mencionar que dentro de la ingeniería de software se encuentran fases o etapas de

tareas agrupadas que conforman el ciclo de vida de un producto de software, estas etapas

exigen la realización de procesos específicos para llevar a cabo un buen desarrollo del

software.

Así como existen distintas etapas de desarrollo, dentro de la ingeniería de software se

pueden apreciar distintas metodologías, las cuales se encuentran divididas en clásicas o

agiles, estas a su vez buscan cumplir con su objetivo, sin embargo usando sus propias

características.

Como la mayor parte de las cosas, para agilizar la productividad, reducir el tiempo y los

costos de elaboración, la ingeniería de software cuenta con herramientas CASE, que le

permiten mejorar los tiempos de producción y su capacidad.

Bibliografía

Andres, E. G. (18 de Julio de 2017). Fundamentos de ingeniería de software. Obtenido de

Issuu Inc: https://issuu.com/eusebio_guzman/docs/fundamentos_de_ingenier__a_de_softw

Castro, A. I. (09 de Septiembre de 2018). Metodologia de Desarrollo de Software.

Obtenido de StudentPlace: https://studentplace98.blogspot.com/2018/09/metodologia-de-

desarrollo-de-software.html
12

Hernández, J. H. (19 de Febrero de 2013). UNIDAD 1: FUNDAMENTOS DE INGENIERÍA

DE SOFTWARE. Obtenido de @FUNDAMENTOS DE INGENIERIA DE SOFTWARE:

http://ithuejutlajhh.blogspot.com/2013/02/fundamentos-de-ingenieria-de-software.html

Moreno Arcos, J. L. (07 de Septiembre de 2017). Metodologias de Desarrollo de Software.

Obtenido de Fundamentos de Ingeniería de Software:

http://joseluismorenoarcosfis.blogspot.com/2017/09/metodologias-de-desarrollo-de-

software.html

Ramos, J. A. (29 de Agosto de 2017). FUNDAMENTOS DE INGENIERÍA DE

SOFTWARE. Obtenido de Blogger:

http://aguilarramosjesusfis.blogspot.com/2017/08/1_29.html

Universidades, S. (21 de Diciembre de 2020). Metodologías de desarrollo de software:

¿qué son? Obtenido de Santander Universidades: https://www.becas-

santander.com/es/blog/metodologias-desarrollo-software.html

VILLÁN, V. R. (15 de Marzo de 2019). Las metodologías ágiles más utilizadas y sus

ventajas dentro de la empresa. Obtenido de IEBS: https://www.iebschool.com/blog/que-

son-metodologias-agiles-agile-scrum/

Zimbrón, G. (08 de Septiembre de 2017). Importancia e Historia de las herramientas

CASE. Obtenido de ZimbronApps: https://zimbronapps.com/educacion/sistemas-

computacionales/ingenieria-de-software/importancia-e-historia-las-herramientas-case/
13

También podría gustarte