Logo Studenta

FIS 13-14 20bTarea 456 Lopez Anselmo MA - Mauricio axel 20

¡Este material tiene más páginas!

Vista previa del material en texto

Ingeniería de software 
P á g i n a 1 | 45 
Acapulco Gro. 11 de noviembre de 2020 
INSTITUTO TECNOLÓGICO NACIONAL DE MÉXICO 
INSTITUTO TECNOLÓGICO DE ACAPULCO 
 
Ingeniería en sistemas computacionales 
 
Fundamentos de ingeniería en software 
 
Tarea 4,5,6 
1.3 Metodologías de desarrollo de software 
1.3.2 Agiles 
1.3.3 Otras filosofías 
1.4 Herramientas CASE 
Profesor: García Castro María Nancy 
 
López Anselmo Mauricio Axel 
 
No.control: 18320904 Horario: 13:00 – 14:00 pm 
 
Ciclo escolar septiembre 2020 enero 2021 
 
 
 
 
 Ingeniería de software 
P á g i n a 2 | 45 
Acapulco Gro. 11 de noviembre de 2020 
INDICE. 
TAREA 4 ..........................................................................................................................................3 
1.3.1 clásicas ...................................................................................................................................4 
Cascada……………………………………………………………………………………………………………………………………….4 
Incremental………………………….………………………………………………………………………………………………………6 
Evolutiva ........................................................................................................................................8 
Espiral…………………………………………………………………………………………………………………………………………..11 
Prototipo…………………………………………………………….………………………………………………………………………13 
TAREA 5 ........................................................................................................................................ 18 
1.3.2 Agiles ................................................................................................................................... 19 
Scrum…………………………………………………………………………………………………………………………………………..19 
XP………………………………………………………………………………………………………………………………………………..23 
1.3.3 Otras filosofías……………………………………………………………………………………………………………………26 
Win-Win……………………………………………………………………………………………………………………………………..26 
Ingenieria Web…………………………………………………………………………………………………………………………..30 
TAREA 6……………………………………………………………………………………………………………………………………34 
Preguntas……………………………………………..………………………………………………………………………………………35 
 
 
 
 
 
 
 
 
 
 Ingeniería de software 
P á g i n a 3 | 45 
Acapulco Gro. 11 de noviembre de 2020 
INSTITUTO TECNOLÓGICO NACIONAL DE MÉXICO 
INSTITUTO TECNOLÓGICO DE ACAPULCO 
 
Ingeniería en sistemas computacionales 
 
Fundamentos de ingeniería en software 
 
Tarea 4. 
 
1.3 Metodologías de desarrollo de software 
1.3.1 Clásicas 
Describa cada una de las metodologías clásicas que a continuación se 
mencionan: 
Cascada, incremental, evolutiva, espiral y prototipo. Describir: 
1. Nombre 
2. Fases 
3. Diagrama 
4. Características 
5. Ventajas 
6. Desventajas 
7. Para qué tipo de sistema se utiliza o es su aplicación. 
Realizar una sola conclusión de las metodologías clásicas, hecha a mano de una 
cuartilla. 
Profesor: García Castro María Nancy 
López Anselmo Mauricio Axel 
No.control: 18320904 Horario: 13:00 – 14:00 pm 
Ciclo escolar septiembre 2020 enero 2021 
 Ingeniería de software 
P á g i n a 4 | 45 
Acapulco Gro. 11 de noviembre de 2020 
1.3.1 Clásicas. 
Cascada. 
El modelo en cascada las actividades del desarrollo fundamental de este modelo 
se derivan en etapas las cuales son: 
Análisis y definición de requerimientos: Definición en detalle las 
especificaciones del sistema como son los servicios, restricciones y metas del 
sistema. 
Diseño del sistema hardware: Establecimiento de una arquitectura completa del 
sistema describiendo las abstracciones fundamentales del sistema y sus 
relaciones. 
Implementación y prueba de unidades: Durante esta etapa el diseño se lleva a 
cabo como unidades de programas. La prueba de unidades implica verificar que 
cada una cumpla su especificación 
Integración y prueba del sistema: Los programas individuales se integran y 
prueban como un sistema completo para asegurar que se cumplan los 
requerimientos del software, después el sistema se entrega al cliente. 
Funcionamiento y mantenimiento: El sistema se instala y se pone en 
funcionamiento práctico. El mantenimiento implica corregir errores no descubiertos 
en la etapa anteriores del ciclo de vida, mejorar la implementación de las unidades 
del sistema y resaltar los servicios del sistema una vez que se descubre nuevos 
requerimientos. 
 
 
 
 
 Ingeniería de software 
P á g i n a 5 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Características del modelo 
• Primer modelo empleado (Royce, 1970), también denominado ciclo de vida 
clásico y modelo lineal secuencial. 
 • Consiste en la ejecución secuencial de una serie de fases que se suceden, lo 
que da nombre al modelo. 
• Cada fase genera documentación para la siguiente. Esta documentación debe 
ser aprobada. 
• Una fase no comienza hasta que la anterior ha terminado. 
• Requiere disponer de unos requisitos completos y precisos al principio del 
desarrollo. 
• Se disponga de unos requisitos completos y consistentes al principio del 
desarrollo. 
• Sea un proyecto pequeño, en el que el período de congelación de los requisitos 
es corto, o un proyecto con unos requisitos bastante estables 
Ventajas. 
• Se debe tener en cuenta que fue el primer modelo empleado, y por lo tanto es mejor que 
ninguno. 
• Facilita la gestión del desarrollo. 
Desventajas. 
• En general, establecer todos los requisitos al principio del proceso de desarrollo es un 
mito inalcanzable, Los usuarios no pueden imaginarse lo que quieren hasta que no ven un 
sistema funcionando. 
• Los requisitos no se pueden congelar mientras dura el desarrollo. El mercado cambia, 
todo cambia. 
• El usuario debe esperar mucho tiempo hasta ver los resultados 
• Los errores de análisis y diseño son costosos de eliminar, y se propagan a las fases 
siguientes con un efecto conocido como bola de nieve. 
• Se genera mucho mantenimiento inicial debido al período de congelación de requisitos y 
éste recae, en su mayor parte. 
Este modelo es ampliamente utilizado en los sistemas gubernamentales de gran 
tamaño, en especial en el Departamento de Defensa de los Estados Unidos 
(DOD). 
 Ingeniería de software 
P á g i n a 6 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Incremental. 
El modelo incremental aplica secuencias lineales de forma escalonada mientras 
progresa el tiempo en el calendario. Cada secuencia lineal produce un incremento 
del software combinada con los elementos del modelo lineal secuencial con la 
filosofía interactiva de construcción de prototipos. 
El modelo de proceso incremental, como la construcción de prototipos es iterativo 
por naturaleza. Pero a diferencia de la construcción de prototipos, el modelo 
incremental se centra en la entrega de un producto operacional con cada 
incremento. Los primeros incrementos son versiones incompletas del producto 
final, pero proporcionan al usuario la funcionalidad que precisa y también una 
plataforma para la evaluación. El desarrollo incremental es particularmente útil 
cuando la dotación de personal no está disponible para una implementación 
completa en la fecha límite que se haya establecido para el proyecto. Los primeros 
incrementos se pueden implementar con menos personas. 
El modelo incremental fue propuesto por Harlan Mills en el año 1980. Surgió el 
enfoque incremental de desarrollo como una forma de reducir la repetición del 
trabajo en el proceso dedesarrollo y dar oportunidad de retrasar la toma de 
decisiones en los requisitos hasta adquirir experiencia con el sistema. Este modelo 
se conoce también bajo las siguientes denominaciones: 
 
• Método de las comparaciones limitadas sucesivas. 
• Ciencia de salir del paso. 
• Método de atacar el problema por ramas. 
 
El Modelo Incremental combina elementos del Modelo Lineal Secuencial con la 
filosofía interactiva de Construcción de Prototipos. 
 
En una visión genérica, el proceso se divide en 4 partes: 
• Análisis 
• Diseño 
• Código 
• Prueba 
 Ingeniería de software 
P á g i n a 7 | 45 
Acapulco Gro. 11 de noviembre de 2020 
 
Otras características esenciales de este modelo son: 
• Los incrementos son pequeños. 
• Permite una fácil administración de las tareas en cada iteración. 
• La inversión se materializa a corto plazo. 
• Es un modelo propicio a cambios o modificaciones. 
• Se adapta a las necesidades que surjan. 
Para que esto sea posible, se debe tener en cuenta que las iteraciones no pueden 
ser demasiado rígidas y que no existan tareas simultáneas. El modelo incremental 
exige un encadenamiento progresivo de cada tarea. Scrum y Kanban son las 
herramientas más conocidas que emplean este modelo de gestión. 
Ventajas 
- Con un paradigma incremental se reduce el tiempo de desarrollo inicial, ya que 
se implementa la funcionalidad parcial. 
 
- También provee un impacto ventajoso frente al cliente, que es la entrega 
temprana de partes operativas del Software. 
 
- El modelo proporciona todas las ventajas del modelo en cascada realimentado, 
reduciendo sus desventajas sólo al ámbito de cada incremento. 
 
- Permite entregar al cliente un producto más rápido en comparación del modelo 
de cascada. 
 
- Resulta más 7encillo acomodar cambios al acotar el tamaño de los incrementos. 
 
- Por su versatilidad requiere de una planeación cuidadosa tanto a nivel 
administrativo como técnico. 
https://obsbusiness.school/blog-project-management/scrum/scrum-metodologia-el-motivador/
 Ingeniería de software 
P á g i n a 8 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Desventajas 
- El modelo Incremental no es recomendable para casos de sistemas de tiempo 
real, de alto nivel de seguridad, de procesamiento distribuido, y/o de alto índice de 
riesgos. 
 
- Requiere de mucha planeación, tanto administrativa como técnica. 
 
- Requiere de metas claras para conocer el estado del proyecto. 
 
 
Evolutiva. 
El desarrollo evolutivo consta del desarrollo de una versión inicial que luego de 
exponerse se va refinando de acuerdo de los comentarios o nuevos 
requerimientos por parte del cliente o del usuario final. Las fases de 
especificación, desarrollo y validación se entrelazan en vez de separarse. 
 
Existen dos tipos de desarrollo evolutivo: 
 
1.desarrollo exploratorio: donde el objetivo del proceso es trabajar con el cliente 
para explorar sus requerimientos y entregar un sistema final. El desarrollo empieza 
con las partes del sistema que se comprenden mejor. El sistema evoluciona 
agregando nuevos atributos propuestos por el cliente. 
 
2.prototipos desechables: donde el objetivo del proceso de desarrollo evolutivo es 
comprender los requerimientos del cliente y entonces desarrollar una definición 
mejorada de los requerimientos para el sistema. El prototipo se centra en 
experimentar con los requerimientos del cliente que no se comprenden del todo. 
 
Desde el punto de vista de desarrollo de sistema el enfoque evolutivo suele traer 
más ventajas en comparación con un enfoque en cascada ya que el sistema se va 
ajustando a las necesidades del cliente, a la vez que él mismo entiende mejor sus 
propios requerimientos. Sin embargo el enfoque evolutivo desde una perspectiva 
de ingeniería y gestión suele tener dos grandes problemas: 
 
1.proceso no visible: Los administradores tienen que hacer entregas regulares 
para medir el progreso. Si los sistemas se desarrollan rápidamente, no es rentable 
producir documentos que reflejen cada versión del sistema. 
 
 Ingeniería de software 
P á g i n a 9 | 45 
Acapulco Gro. 11 de noviembre de 2020 
 
 
2. A menudo los sistemas tienen una estructura deficiente. Los cambios continuos 
tienden a corromper la estructura del software. Incorporar cambios en él se 
convierte cada vez más en una tarea difícil y costosa. 
Aunque supone grandes ventajas el desarrollo evolutivo solo es recomendado 
para sistemas pequeños y medianos. En los sistemas grandes, los constantes 
cambios en el desarrollo solo dificultan la estabilidad y la integración de los 
avances de los distintos grupos de trabajo que puedan existir. La mayoría de las 
empresas que desarrollan grandes sistemas usan un modelo mixto que usa las 
mayores fortalezas de los enfoques evolutivos y de cascada. 
 
 
 
 
 Ingeniería de software 
P á g i n a 10 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Características: 
• Gestionan bien la naturaleza evolutiva del software 
 • Son iterativos: construyen versiones de software cada vez más completas 
 Se adaptan bien: 
• Los cambios de requisitos del producto 
• Especificaciones parciales del producto 
 
VENTAJAS 
• La especificación puede desarrollarse de forma creciente. 
 
• Los usuarios y desarrolladores logran un mejor entendimiento del sistema. 
Esto se refleja en una mejora de la calidad del software. 
 
 
• Es más efectivo que el modelo de cascada, ya que cumple con las 
necesidades inmediatas del cliente. 
 
 
 
DESVENTAJAS 
 
• Proceso no Visible: Los administradores necesitan entregas para medir el 
progreso. Si el sistema se necesita desarrollar rápido, no es efectivo producir 
documentos que reflejen cada versión del sistema. 
 
• Sistemas pobremente estructurados: Los cambios continuos pueden ser 
perjudiciales para la estructura del software haciendo costoso el mantenimiento. 
 
 
• Se requieren técnicas y herramientas: Para el rápido desarrollo se necesitan 
herramientas que pueden ser incompatibles con otras o que poca gente sabe 
utilizar. 
 
 
 
 
 Ingeniería de software 
P á g i n a 11 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Espiral. 
El modelo en espiral es una combinación entre el modelo lineal o de cascada y 
el modelo iterativo o basado en prototipos que habíamos mencionado 
anteriormente. Se utiliza con éxito en proyectos donde el coste de un fallo es un 
gran riesgo, de ahí que su principal aportación sea considerar la gestión de esos 
riesgos, algo que en los modelos anteriores ni siquiera se menciona. 
 
En concreto, los proyectos ejecutados con el modelo en espiral empiezan siendo 
pequeños, investigando los mayores riesgos que se pueden tolerar, para 
pasar a agrandarse poco a poco, en base a elementos clave sobre los que se 
construyen las siguientes fases de la espiral. Habitualmente tiene sentido aplicar 
este método en proyectos grandes, largos, caros y complejos. 
En cuanto a su ejecución, el modelo en espiral consiste en seguir ciclos 
crecientes de cuatro fases cada uno, que se van realizando, siguiendo una 
forma de espiral. En cada ciclo se pasa por dichas fases bien definidas, como en 
el modelo de cascada, pero con capacidad de evolucionar su complejidad con 
cada ciclo. Por tanto, se trata de un modelo evolutivo que, conforme avancen los 
ciclos, aumentará el tiempo de ejecución, así como el volumen de código fuente 
desarrollado y la complejidad de la gestión de riesgosy de la planificación. 
 
 
 
 
 
 
 Ingeniería de software 
P á g i n a 12 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Las fases por las que pasa cada ciclo 
de la espiral 
1. Planificación. Se determinan los objetivos y el alcance del ciclo que 
comienza, tras un necesario ejercicio de investigación. Con cada iteración, 
se irá incrementando el tamaño de software entregado y la funcionalidad 
cubierta. 
2. Análisis de Riesgo. Se evalúa todo aquello que pueda afectar al proyecto 
según el estado en que se encuentre y su grado de avance. Para ello, se 
diseñarán los prototipos que deberán ser validados en el ciclo. 
3. Implementación. Se desarrolla y valida el software según el alcance 
acordado, el cual está íntimamente relacionado y condicionado con el 
análisis de riesgos anterior. 
4. Evaluación. Antes de proceder a realizar otra vuelta en la espiral, se debe 
prestar atención a lo que sucedió en la vuelta anterior. Se debe analizar en 
detalle si los riesgos detectados anteriormente ya tuvieron solución. 
Básicamente, esta fase servirá para determinar el avance del proyecto y dar 
pistas de hacia dónde debe enfocarse la próxima iteración. 
 
Ventajas del modelo en espiral 
1. Los factores de riesgo son reducidos. 
2. El desarrollo es iterativo y se pueden incorporar funcionalidades 
progresivamente. 
 
Desventajas. 
1. La duración de la ejecución no es concreta. 
2. Fallos en el análisis de riesgos podría influir negativamente a todo el 
proyecto. 
 
 
 Ingeniería de software 
P á g i n a 13 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Prototipo. 
El Modelo de prototipos, en Ingeniería de software, pertenece a los modelos de 
desarrollo evolutivo. El prototipo debe ser construido en poco tiempo, usando los 
programas adecuados y no se debe utilizar muchos recursos. 
 
El diseño rápido se centra en una representación de aquellos aspectos del 
software que serán visibles para el cliente o el usuario final. Este diseño conduce a 
la construcción de un prototipo, el cual es evaluado por el cliente para una 
retroalimentación; gracias a ésta se refinan los requisitos del software que se 
desarrollará. La interacción ocurre cuando el prototipo se ajusta para satisfacer las 
necesidades del cliente. Esto permite que al mismo tiempo el desarrollador 
entienda mejor lo que se debe hacer y el cliente vea resultados a corto plazo. 
Normalmente, el prototipo sirve como mecanismo para identificar los requisitos del 
software, y su construcción suele llevar las siguientes etapas: 
 
1) Recolección de requisitos. El ingeniero de software y el cliente definen los 
objetivos globales del software, y aquéllos más específicos que se desean 
destacar con el prototipo. 
 
2) Diseño rápido. Centrado en los aspectos del software visible al usuario (por 
ejemplo, interfaz de usuario, entradas y salidas…). 
 
3) Construcción del prototipo. 
 
4) Evaluación del prototipo. Se realiza por el cliente y usuarios, lo que permitirá 
concretar y refinar los requisitos del software a desarrollar. 
 
5) Refinamiento del prototipo. Se produce un proceso iterativo en el que el 
prototipo es refinado para que satisfaga las necesidades del cliente, al tiempo que 
facilita al ingeniero de software un mejor conocimiento del sistema. 
 
6) Producto. En la mayoría de los casos este sistema refinado (piloto) hay que 
desecharlo y hacer uno nuevo. Por ello, el desarrollo de un prototipo se debe 
planificar con el acuerdo expreso del cliente. 
Algunos ingenieros del software abogan por desarrollar rápidamente un prototipo 
que les permita especificar completamente el sistema y obtener más 
consistentemente el producto final. Sobre el desarrollo rápido de prototipos, 
pueden realizarse las siguientes observaciones: 
 Ingeniería de software 
P á g i n a 14 | 45 
Acapulco Gro. 11 de noviembre de 2020 
 
• Un prototipo rápido es básicamente una técnica de análisis que permite 
completar el conjunto de requisitos funcionales de un sistema software. 
 
• Lo deseable es evolucionar el prototipo hasta obtener el producto final, en lugar 
de deshacerlo y construir un producto final nuevo. Este deseo es válido si del 
prototipo se puede obtener dicho producto (lo que no suele ser fácil), y su coste es 
inferior a su reconstrucción. Incluso, se podría recomendar utilizar aquellas 
técnicas que permitan evolucionar un prototipo hasta el producto final. 
 
• Cualquier aplicación nueva que el ingeniero de software sospeche que su 
funcionalidad puede presentar el riesgo de no ser aceptable para el usuario o si la 
interfaz de usuario es importante para el éxito de la aplicación, es una aplicación 
fuertemente candidata para que se desarrolle un rápido prototipo. 
 
• En un proyecto de prototipo bien planificado, aproximadamente el 50% del 
esfuerzo de desarrollo, desde su inicio hasta la aprobación final de su 
funcionalidad, es la contribución del usuario. Los equipos de prototipo están 
compuestos típicamente por la mitad de los usuarios y la otra mitad de 
desarrolladores software. 
 
• Es habitual tener que tirar la primera versión de cualquier sistema que se 
desarrolle por primera vez. Por ello, es aconsejable que la primera demostración 
de un prototipo rápido sea intencionalmente imperfecta, de forma que sea barato 
de producir y muy fácil de modificar, para que se pueda garantizar que el sistema 
final que se suministra se ajuste mejor a los requisitos del usuario. 
 
• El prototipo rápido es una solución que “evita el riesgo” en lugar de una solución 
de riesgo. Así, el prototipo rápido no introduce nuevos riesgos políticos o 
económicos al proceso de desarrollo de software, sino que reduce 
significativamente varios factores de riesgo asociados con su desarrollo, como los 
que se han señalado anteriormente. 
 
• El prototipo rápido es un método normal para el desarrollo de nuevas 
aplicaciones y llegará a ser más y más evidente que el prototipo rápido produce 
mejores sistemas y con costes más bajos. 
 Ingeniería de software 
P á g i n a 15 | 45 
Acapulco Gro. 11 de noviembre de 2020 
 
Ventajas 
• Este modelo es útil cuando el cliente conoce los objetivos generales para el 
software, pero no identifica los requisitos detallados de entrada, 
procesamiento o salida. 
• También ofrece un mejor enfoque cuando el responsable del desarrollo del 
software está inseguro de la eficacia de un algoritmo, de la adaptabilidad de 
un sistema operativo o de la forma que debería tomar la interacción 
humano-máquina 
• Se puede reutilizar el código. 
 
 
 
 
 Ingeniería de software 
P á g i n a 16 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Desventajas. 
• El usuario tiende a crearse unas expectativas cuando ve el prototipo de 
cara al sistema final. A causa de la intención de crear un prototipo de 
forma rápida, se suelen desatender aspectos importantes, tales como la 
calidad y el mantenimiento a largo plazo, lo que obliga en la mayor parte 
de los casos a reconstruirlo una vez que el prototipo ha cumplido su 
función. Es frecuente que el usuario se muestre reacio a ello y pida que 
sobre ese prototipo se construya el sistema final, lo que lo convertiría en 
un prototipo evolutivo, pero partiendo de un estado poco 
recomendado. 
• En aras de desarrollar rápidamente el prototipo, el desarrollador suele 
tomar algunas decisiones de implementación poco convenientes (por 
ejemplo, elegir unlenguaje de programación incorrecto porque 
proporcione un desarrollo más rápido). Con el paso del tiempo, el 
desarrollador puede olvidarse de la razón que le llevó a tomar tales 
decisiones, con lo que se corre el riesgo de que dichas elecciones 
pasen a formar parte del sistema final. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Ingeniería de software 
P á g i n a 17 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Conclusión. 
 
 Ingeniería de software 
P á g i n a 18 | 45 
Acapulco Gro. 11 de noviembre de 2020 
INSTITUTO TECNOLÓGICO NACIONAL DE MÉXICO 
INSTITUTO TECNOLÓGICO DE ACAPULCO 
 
Ingeniería en sistemas computacionales 
 
Fundamentos de ingeniería en software 
 
Tarea 5. 
1.3.2 Agiles 
1.3.3 Otras filosofías 
Describa cada una de las metodologías: 
ágiles: scrum y xp. 
 otras filosofías: win win e ingeniería web. 
Describir de cada una: 
1. Nombre 
2. Fases 
3. Diagrama 
4. Características 
5. Ventajas 
6. Desventajas 
Para qué tipo de sistema se utiliza o es su aplicación 
Realizar una conclusión de cada metodología hecha a mano de una cuartilla cada 
una, escribir su nombre. 
Profesor: García Castro María Nancy 
López Anselmo Mauricio Axel 
No.control: 18320904 Horario: 13:00 – 14:00 pm 
Ciclo escolar septiembre 2020 enero 2021 
 Ingeniería de software 
P á g i n a 19 | 45 
Acapulco Gro. 11 de noviembre de 2020 
1.3.2 Agiles. 
Scrum. 
Scrum es un proceso en el que se aplican de manera regular un conjunto 
de buenas prácticas para trabajar colaborativamente, en equipo, y obtener el 
mejor resultado posible de un proyecto. Estas prácticas se apoyan unas a otras y 
su selección tiene origen en un estudio de la manera de trabajar de equipos 
altamente productivos. 
En Scrum se realizan entregas parciales y regulares del producto final, priorizadas 
por el beneficio que aportan al receptor del proyecto. Por ello, Scrum está 
especialmente indicado para proyectos en entornos complejos, donde se 
necesita obtener resultados pronto, donde los requisitos son cambiantes o 
poco definidos, donde la innovación, la competitividad, la flexibilidad y 
la productividad son fundamentales. 
Scrum también se utiliza para resolver situaciones en que no se está entregando 
al cliente lo que necesita, cuando las entregas se alargan demasiado, los 
costes se disparan o la calidad no es aceptable, cuando se necesita capacidad 
de reacción ante la competencia, cuando la moral de los equipos es baja y la 
rotación alta, cuando es necesario identificar y solucionar ineficiencias 
sistemáticamente o cuando se quiere trabajar utilizando un proceso 
especializado en el desarrollo de producto. 
El proceso 
En Scrum un proyecto se ejecuta 
en ciclos temporales cortos y de 
duración fija (iteraciones que 
normalmente son de 2 semanas, 
aunque en algunos equipos son 
de 3 y hasta 4 semanas, límite 
máximo de feedback de producto 
real y reflexión). Cada iteración 
tiene que proporcionar un 
resultado completo, un 
incremento de producto final que 
sea susceptible de ser entregado 
con el mínimo esfuerzo al cliente 
cuando lo solicite. 
 
https://proyectosagiles.org/fundamentos-de-scrum
https://proyectosagiles.org/fundamentos-de-scrum
https://proyectosagiles.org/beneficios-de-scrum
https://proyectosagiles.org/beneficios-de-scrum
https://proyectosagiles.org/historia-de-scrum
https://proyectosagiles.org/historia-de-scrum
https://proyectosagiles.org/desarrollo-iterativo-incremental
 Ingeniería de software 
P á g i n a 20 | 45 
Acapulco Gro. 11 de noviembre de 2020 
El proceso parte de la lista de objetivos/requisitos priorizada del producto, que 
actúa como plan del proyecto. En esta lista el cliente (Product Owner) prioriza 
los objetivos balanceando el valor que le aportan respecto a su coste (que 
el equipo estima considerando la Definición de Hecho) y quedan repartidos en 
iteraciones y entregas. 
Las actividades que se llevan a cabo en Scrum son las siguientes (los tiempos 
indicados son para iteraciones de 2 semanas): 
Planificación de la iteración 
El primer día de la iteración se realiza la reunión de planificación de la iteración. 
Tiene dos partes: 
1. Selección de requisitos (2 horas). El cliente presenta al equipo la lista de 
requisitos priorizada del producto o proyecto. El equipo pregunta al cliente 
las dudas que surgen y selecciona los requisitos más prioritarios que prevé 
que podrá completar en la iteración, de manera que puedan ser entregados 
si el cliente lo solicita. 
2. Planificación de la iteración (2 horas). El equipo elabora la lista de tareas 
de la iteración necesarias para desarrollar los requisitos seleccionados. La 
estimación de esfuerzo se hace de manera conjunta y los miembros del 
equipo se autoasignan las tareas, se autoorganizan para trabajar incluso en 
parejas (o grupos mayores) con el fin de compartir conocimiento (creando 
un equipo más resiliente) o para resolver juntos objetivos especialmente 
complejos. 
Ejecución de la iteración 
Cada día el equipo realiza una reunión de sincronización (15 minutos), 
normalmente delante de un tablero físico o pizarra (Scrum Taskboard). El equipo 
inspecciona el trabajo que el resto está realizando (dependencias entre tareas, 
progreso hacia el objetivo de la iteración, obstáculos que pueden impedir este 
objetivo) para poder hacer las adaptaciones necesarias que permitan cumplir con 
la previsión de objetivos a mostrar al final de la iteración. 
 
Inspección y adaptación 
El último día de la iteración se realiza la reunión de revisión de la iteración. Tiene 
dos partes: 
1. Revisión (demostración) (1,5 horas). El equipo presenta al cliente los 
requisitos completados en la iteración, en forma de incremento de producto 
https://proyectosagiles.org/lista-requisitos-priorizada-product-backlog
https://proyectosagiles.org/cliente-product-owner
https://proyectosagiles.org/equipo-team/
https://proyectosagiles.org/definicion-de-hecho-definition-of-done/
https://proyectosagiles.org/planificacion-iteracion-sprint-planning
https://proyectosagiles.org/lista-tareas-iteracion-sprint-backlog
https://proyectosagiles.org/lista-tareas-iteracion-sprint-backlog
https://proyectosagiles.org/2018/10/09/auto-organizacion-fundamentos-y-relacion-con-la-motivacion-intrinseca/
https://proyectosagiles.org/ejecucion-iteracion-sprint
https://proyectosagiles.org/reunion-diaria-de-sincronizacion-scrum-daily-meeting
https://proyectosagiles.org/2010/09/26/ejemplo-tablero-pizarra-tareas-scrum-taskboard/
https://proyectosagiles.org/demostracion-requisitos-sprint-review
 Ingeniería de software 
P á g i n a 21 | 45 
Acapulco Gro. 11 de noviembre de 2020 
preparado para ser entregado con el mínimo esfuerzo. En función de los 
resultados mostrados y de los cambios que haya habido en el contexto del 
proyecto, el cliente realiza las adaptaciones necesarias de manera objetiva, 
ya desde la primera iteración, replanificando el proyecto. 
2. Retrospectiva (1,5 horas). El equipo analiza cómo ha sido su manera de 
trabajar y cuáles son los problemas que podrían impedirle progresar 
adecuadamente, mejorando de manera continua su productividad. El 
Facilitador se encargará de eliminar o escalar los obstáculos identificados 
que estén más allá del ámbito de acción del equipo. 
Como todas las metodologías de desarrollo, la metodología Scrum cuenta 
con sus ventajas y desventajas. Entre ellas podemos nombrar: 
Ventajas: 
Scrum es unapropuesta de gestión basada en la división del trabajo en iteraciones, 
es decir, fases con objetivos y tareas específicas. Esto hace que necesariamente 
aporte beneficios en aspectos como los siguientes: 
• Gestión de las expectativas del usuario. Los usuarios pueden participar 
en cada una de las etapas del proceso y proponer soluciones. De hecho, el 
proceso en su conjunto está pensado para un tipo de evaluación conjunta. 
• Resultados anticipados. Cada etapa del proceso arroja una serie de 
resultados. No es necesario, por tanto, que el cliente espere hasta el final 
para ver el resultado. 
• Flexibilidad y adaptación a los contextos. Se adapta a cualquier contexto, 
área o sector de la gestión. Es decir, no es una técnica exclusiva de ninguna 
disciplina. 
• Gestión sistemática de riesgos. Del mismo modo, los problemas que 
aparecen durante los procesos de gestión que pueden afectar a un proyecto 
son gestionados en el mismo momento de su aparición. Esto es posible 
debido a que la intervención de los equipos de trabajo puede ser inmediata. 
Desventajas: 
Pero ojo, antes de que tú te decidas por esta metodología de gestión, viene bien 
que tengas en cuenta las siguientes limitaciones en cuanto a su implementación: 
• Funciona más que nada con equipos reducidos. Las empresas grandes, 
por ejemplo, deben estar sectorizadas o divididas en grupos que tengan 
objetivos concretos. De lo contrario, en la práctica, el efecto de la técnica se 
perderá. 
• Requiere una exhaustiva definición de las tareas y sus plazos. Cuando 
estos dos aspectos no se definen adecuadamente, Scrum se desvanece. 
https://proyectosagiles.org/retrospectiva-sprint-retrospective
 Ingeniería de software 
P á g i n a 22 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Recuerda que la división del trabajo en cada etapa (y de éstas en tareas 
específicas) son la esencia de esta metodología. 
• Exige que quienes la utilicen cuenten con una alta cualificación o 
formación. No es una modalidad de gestión propia de grupos junior o que 
apenas estén en proceso de formación. Gran parte del éxito de Scrum radica 
en la experiencia que aportan los profesionales de los equipos, quienes por 
lo general acumulan años de experiencia. 
Conclusión. 
 
 Ingeniería de software 
P á g i n a 23 | 45 
Acapulco Gro. 11 de noviembre de 2020 
 
Metodología XP. 
 
La Metodología XP “Extreme Programming” o “Programación Extrema” es una de 
las llamadas metodologías Ágiles de desarrollo de software más exitosas. Es 
habitual relacionarla con scrum, y la combinación de ambas asegura un mayor 
control sobre el proyecto, y una implementación más efectiva y eficiente. 
XP está diseñada para entregar el software que los clientes necesitan en el 
momento en que lo necesitan. XP alienta a los desarrolladores a responder a los 
requerimientos cambiantes de los clientes, aún en fases tardías del ciclo de vida 
del desarrollo. 
La metodología XP define cuatro variables para cualquier proyecto de 
software: costo, tiempo, calidad y alcance. El método especifica que, de estas 
cuatro variables, tres de ellas podrán ser fijadas arbitrariamente por actores 
externos al grupo de desarrolladores (clientes y jefes de proyecto), y el valor de la 
restante deberá será establecida por el equipo de desarrollo, quien establecerá su 
valor en función de las otras tres. 
Por ejemplo, si el cliente establece el alcance y la calidad, y el jefe de proyecto el 
precio, el grupo de desarrollo tendrá libertad para determinar el tiempo que durará 
el proyecto. Se trata de establecer un equilibrio entre las cuatro variables del 
proyecto. 
La Metodología Xp: El Ciclo de vida 
Al igual que otras metodologías de gestión de proyectos, tanto Ágiles como 
tradicionales, el ciclo XP incluye: 
• Entender lo que el cliente necesita > Fase de Exploración 
• Estimar el esfuerzo > Fase de Planificación 
• Crear la solución > Fase de Iteraciones 
• Entregar el producto final al cliente > Fase de puesta en producción 
 
 
 Ingeniería de software 
P á g i n a 24 | 45 
Acapulco Gro. 11 de noviembre de 2020 
 
 
Mediante ciclos de desarrollo cortos (llamados iteraciones), al fin de los cuales se 
generan unos entregables funcionales. 
En cada iteración se realiza un ciclo completo de análisis, diseño, desarrollo y 
pruebas, pero utilizando un conjunto de reglas y prácticas específicas de XP. Un 
proyecto con XP implica de entre a 10 a 15 iteraciones habitualmente. 
 
Ventajas 
o Programación organizada. 
o Menor taza de errores. 
o Satisfacción del programador. 
o Solución de errores de programas 
o Versiones nuevas 
o Implementa una forma de trabajo 
donde se adapte fácilmente a las 
circunstancias 
Desventajas 
 
o Es recomendable emplearlo solo en 
proyectos a corto plazo 
o Altas comisiones en caso de fallar 
o Imposible prever todo antes de 
programar 
o Demasiado costoso e innecesario 
 
 
 
 
 
 Ingeniería de software 
P á g i n a 25 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Conclusión. 
 
 
 Ingeniería de software 
P á g i n a 26 | 45 
Acapulco Gro. 11 de noviembre de 2020 
1.3.3 Otras filosofías. 
Win-Win. 
El modelo en espiral WINWIN de Boehm, define un conjunto de actividades de 
negociación al principio de casa paso alrededor de la espiral. Más que una simple 
actividad de comunicación con el cliente se definen las siguientes actividades: 
 
• Identificación del sistema o subsistemas clave de los directivos. 
• Determinación de las condiciones de victoria de los directivos. 
• Negociación de las condiciones de victoria de los directivos para reunirlas 
en un conjunto de condiciones para todos los afectados (incluyendo el 
equipo del proyecto de software). 
 
El modelo en espiral WINWIN introduce tres hitos en el proceso, llamados puntos 
de fijación que ayudan a establecer la completitud de un ciclo alrededor del espiral 
y proporcionan hitos de decisión antes de continuar el proyecto de software. 
 
 Ingeniería de software 
P á g i n a 27 | 45 
Acapulco Gro. 11 de noviembre de 2020 
El modelo Espiral Win-Win se basa en la inclusión de tres etapas o regiones al 
principio: 
1.- Identificar las partes interesadas (stakeholders) para esta nueva iteración del 
producto: Es necesario definir los interlocutores que serán de áreas que se verán 
afectadas por el resultado final de la nueva versión. Estos interlocutores serán del 
área del cliente (puede haber más de uno) y del proveedor. 
2.- Identificar las condiciones de victoria de las partes interesadas en el proyecto: 
Se concreta cuáles son las condiciones que requiere cada parte para que se sienta 
satisfecha una vez realizada esta versión. 
3a.- Reunir las condiciones de victoria: Con las etapas anteriores se han definido 
unos objetivos generales para la versión y se obtiene conocimiento de los objetivos 
particulares de cada parte. Ahora toca negociar hasta dónde realmente se va a 
llegar y cómo, intentando llegar a una solución en la que todos ganen (cliente y 
proveedor). 
 
Roles y/o intervinientes 
Habrá cuatro roles de los stakeholders: 
 
 • Desarrollador: los miembros del equipo representarán las preocupaciones del 
desarrollador, como el uso de paquetes familiares, la estabilidad de los requisitos, 
la disponibilidad de herramientas de soporte y los enfoques técnicamente 
desafiantes.• Cliente: los miembros del equipo representarán las inquietudes de los clientes, 
como la necesidad de desarrollar el sistema en una fecha determinada, 
presupuestos limitados para herramientas de soporte y enfoques técnicos de bajo 
riesgo. 
 
• Usuario: trabajarán con su representante designado de la comunidad de usuarios 
para representar las inquietudes de los usuarios, tales como características de 
acceso multimedia particulares, tiempo de respuesta rápido, interfaz de usuario 
amigable, alta confiabilidad y flexibilidad de requisitos. 
 
• Administrador del proyecto: le pregunta al cliente que necesita y el proporciona la 
información para continuar, además ajusta el número de iteraciones planeado que 
se requiere para completar el software. 
 
 
 
 
 
 Ingeniería de software 
P á g i n a 28 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Ventajas y Desventajas 
 
VENTAJAS 
 
1. El modelo en espiral puede adaptarse y aplicarse a lo largo de la vida del software de 
computadora. 
 
2. Como el software evoluciona a medida que progresa el proceso, el desarrollador y el 
cliente comprenden y reaccionan mejor ante riesgos en cada uno de los niveles 
evolutivos. 
 
3. El modelo en espiral permite a quien lo desarrolla aplicar el enfoque de construcción 
de prototipos en cualquier etapa de evolución del producto. 
 
4. El modelo en espiral demanda una consideración directa de los riesgos técnicos en 
todas las etapas del proyecto y si se aplica adecuadamente debe reducir los riesgos 
antes de que se conviertan en problemas 
 
DESVENTAJAS 
 
1. Resulta difícil convencer a grandes clientes de que el enfoque evolutivo es controlable. 
 
2. Debido a su elevada complejidad no se aconseja utilizarlo en pequeños sistemas. 
 
3. Genera mucho tiempo en el desarrollo de sistemas. 
 
4. Requiere experiencia en la identificación de riesgos 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Ingeniería de software 
P á g i n a 29 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Conclusión. 
 
 Ingeniería de software 
P á g i n a 30 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Ingeniería Web. 
 
 
La ingeniería web es el uso de métodos sistemáticos, disciplinados y 
cuantificables al desempeño eficaz, operatividad y crecimiento de programas de 
muy buena calidad en la World Wide Web. 
Tim Berners-Lee inventó lo que hoy se conoce como Internet, desde entonces las 
páginas web han evolucionado hasta el punto de que, en la actualidad, la web es 
el principal origen de casi toda, por no decir, toda la información. 
La ingeniería Web consiste en la disposición y empleo de fundamentos científicos, 
de ingeniería y gestión y con orientaciones metódicas y disciplinadas del boom y 
desarrollo, utilización y mantenimiento de sistemas y aplicaciones basados en el 
Web de alta calidad. 
Las aplicaciones elaboradas para la Web se caracterizan especialmente por hacer 
que las herramientas de ingeniería a utilizar sean diversas. 
La metodología de la Ingeniería web consiste en un procedimiento evolutivo, de 
seis etapas que son las herramientas necesarias para transformar un modelo 
eficaz para el desarrollo de programas para la web. 
Etapas de la metodología: 
• Formulación. 
Consiste en identificar identifican las metas y los objetivos del sistema, 
constituyendo de esta manera el motivo del progreso del sistema, su importancia y 
los usuarios potenciales. 
• Planificación. 
Consiste en el cálculo del costo integral del proyecto y se determinan las 
amenazas que se relacionan con el impulso del desarrollo además se determina 
un plan muy detallado para el desarrollo y progresos de la aplicación. 
• Análisis. 
Consiste en establecer los requerimientos tecnológicos y de diseño y el 
reconocimiento de los fundamentos del contenido que se van a agregar. 
 
 Ingeniería de software 
P á g i n a 31 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Esta etapa consta de cuatro análisis diferentes: 
Análisis del contenido, Análisis de la interacción, Análisis funcional y Análisis de la 
configuración. 
• Ingeniería. 
Esta etapa consiste en la realización de diseños tanto del tema como el de 
fabricación, en paralelo con los diseños arquitectónicos, navegación e 
interfaz. (Diseño arquitectónico, Diseño de navegación, Diseño de la interfaz y 
Diseño del contenido y de la producción) 
• Generación de páginas. 
Esta etapa consiste en la realización de la estructura, empleando herramientas 
para el desarrollo de aplicaciones de web. Está relacionado con el diseño 
arquitectónico, de navegación y de interfaz para la elaboración de web dinámica. 
• Pruebas. 
Esta etapa sirve para encontrar las fallas y permite garantizar que la 
aplicación web perfectamente en distintos campos, utilizando tácticas y 
tecnologías que son sugeridas para otros sistemas. 
• Evaluación del cliente. 
En este punto, se efectúan todas las modificaciones y variaciones que se 
encontraron en la etapa de pruebas y se incorporan al sistema para el siguiente 
incremento, de tal modo que se asegure la satisfacción por parte del cliente, según 
los requerimientos solicitados. 
El proceso de ingeniería web tiene sus características como inmediatez y 
transformación y el crecimiento continuos, que posibilita que el usuario se 
involucre, facilitando el desarrollo de productos que se ajustan mucho lo que éste 
busca y necesita. 
Los pasos más resaltantes del proceso de la ingeniería web: enunciación, 
planificación análisis, modelización, generación de páginas, test y evaluación del 
cliente. 
La Formulación determina metas y fija la relevancia de la primera entrega. La 
Planificación genera la estimación del costo general del proyecto, la evaluación de 
riesgos y el calendario del desarrollo y fechas de entrega. 
 Ingeniería de software 
P á g i n a 32 | 45 
Acapulco Gro. 11 de noviembre de 2020 
VENTAJAS: 
• Soporte: una aplicación web reside en una red y debe de dar servicio a una 
comunidad diversa de clientes. 
• Inmediatez: Se refiere al corto tiempo que normalmente tienen los 
proyectos web para terminar, o por lo menos, lanzar una versión oficial. 
• Evolución: Las aplicaciones web y sitios web están en constante evolución, 
y se actualizan gradualmente. 
• Medible: Se puede conocer la cantidad de usuarios que visitan el sitio web, 
así como los patrones de comportamiento. 
 
DESVENTAJAS 
• Seguridad: Dado que no controlamos quien pueda acceder a nuestro sitio, 
la seguridad y confidencialidad de la información requieren un énfasis 
especial. 
• Estética: Nuestro sitio debe ser ergonómico, atractivo y usable para que sea 
más agradable para el usuario acceder a él. 
 
 Ingeniería de software 
P á g i n a 33 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Conclusión. 
 
 
 
 Ingeniería de software 
P á g i n a 34 | 45 
Acapulco Gro. 11 de noviembre de 2020 
INSTITUTO TECNOLÓGICO NACIONAL DE MÉXICO 
INSTITUTO TECNOLÓGICO DE ACAPULCO 
 
Ingeniería en sistemas computacionales 
 
Fundamentos de ingeniería en software 
 
Tarea 6. 
1.4 Herramientas CASE 
 
Conteste lo siguiente: 
1.- ¿Qué es una herramienta CASE? 
2.- ¿Qué significa las siglas CASE? 
3.- ¿Cuáles son las ventajas de utilizar las herramientas CASE? 
4.-Mencionelas desventajas de las herramientas CASE. 
5.- ¿Cuál fue el móvil que dio origen a las herramientas CASE? 
6.- ¿Cómo se clasifican las herramientas CASE? 
7.- Describa cada una de la clasificación de las herramientas CASE 
8.- Mencione y describa ejemplos de herramientas case 
 
Profesor: García Castro María Nancy 
 
López Anselmo Mauricio Axel 
 
No.control: 18320904 Horario: 13:00 – 14:00 pm 
 
Ciclo escolar septiembre 2020 enero 2021 
 
 
 Ingeniería de software 
P á g i n a 35 | 45 
Acapulco Gro. 11 de noviembre de 2020 
1.4 Herramientas CASE 
1.- ¿Qué es una herramienta CASE? 
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 el balance en el desarrollo de 
software reduciendo el costo de las mismas en términos de tiempo y de dinero. 
Estas herramientas pueden ayudar en todos los aspectos del ciclo de vida de 
desarrollo del software en tareas como el proceso de realizar un diseño del 
proyecto, cálculo de costos, implementación de parte del código automáticamente 
con el diseño dado, compilación automática, documentación o detección de 
errores. 
En los años 70 un proyecto llamado ISDOS diseñó un lenguaje y por lo tanto un 
producto que analizaba la relación existente entre los requisitos de un problema y 
las necesidades que estos generaban, el lenguaje en cuestión se denominaba 
PSL (Problem Statement Language) y la aplicación que ayudaba a buscar las 
necesidades de los diseñadores PSA (Problem Statement Analyzer). 
Aunque esos son los inicios de las herramientas informáticas que ayudan a crear 
nuevos proyectos informáticos, la primera herramienta CASE fue Excelerator que 
salió a la luz en el año 1984 y trabajaba bajo una plataforma PC. 
En la época de los noventa algunas empresas trabajaban con sus mainframes o 
computadoras centrales, Pero poco a poco los mainframes han ido siendo menos 
utilizados y actualmente el mercado de las CASE ha ido disminuyendo, abriendo el 
mercado de diversas herramientas más específicas para cada fase del ciclo de 
vida del software. 
 
 
2.- ¿Qué significa las siglas CASE? 
 
 CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por 
Computadora) 
se define también como: 
Conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo 
de vida del desarrollo de sistemas de información, completamente o en alguna de 
sus fases. 
 Ingeniería de software 
P á g i n a 36 | 45 
Acapulco Gro. 11 de noviembre de 2020 
3.- ¿Cuáles son las ventajas de utilizar las herramientas 
CASE? 
 
Ventajas. 
Entre los beneficios ofrecidos por la tecnología CASE se encuentran los 
siguientes: 
• Facilidad para la revisión de aplicaciones 
La experiencia muestra que una vez que las aplicaciones se implementan, 
se emplean por mucho tiempo. Las herramientas CASE proporcionan un 
beneficio substancial para las organizaciones al facilitar la revisión de las 
aplicaciones. Contar con un depósito central agiliza el proceso de revisión 
ya que éste proporciona bases para las definiciones y estándares para los 
datos. Las capacidades de generación interna, si se encuentran presentes, 
contribuyen a modificar el sistema por medio de las especificaciones más 
que por los ajustes al código fuente. 
• Soporte para el desarrollo de prototipos de sistemas 
En general, el desarrollo de prototipos de aplicaciones toma varias formas. 
En ocasiones se desarrollan diseños para pantallas y reportes con la 
finalidad de mostrar la organización y composición de los datos, 
encabezados y mensajes. Los ajustes necesarios al diseño se hacen con 
rapidez para alterar la presentación y las características de la interface. Sin 
embargo, no se prepara el código fuente, de naturaleza orientada hacia 
procedimientos, como una parte del prototipo. 
Como disyuntiva, el desarrollo de prototipos puede producir un sistema que 
funcione. Las características de entrada y salida son desarrolladas junto 
con el código orientado hacia los procedimientos y archivos de datos. 
Muchas herramientas CASE soportan las primeras etapas del desarrollo del 
prototipo. 
 
• Generación de código 
Como ya se mencionó, algunas herramientas CASE tienen la capacidad de 
producir el código fuente. La ventaja más visible de esta característica es la 
disminución del tiempo necesario para preparar un programa. Sin embargo, 
la generación del código también asegura una estructura estándar y 
consistente para el programa (lo que tiene gran influencia en el 
mantenimiento) y disminuye la ocurrencia de varios tipos de errores, 
 Ingeniería de software 
P á g i n a 37 | 45 
Acapulco Gro. 11 de noviembre de 2020 
mejorando de esta manera la calidad. Las características de la generación 
del código permiten volver a utilizar el software y las estructuras estándares 
para generar dicho código, así como el cambio de una especificación 
modular, lo que significa volver a generar el código y los enlaces con otros 
módulos. Ninguna de las herramientas que existen en el presente es capaz 
de generar un código completo en los dominios. 
 
• Mejora en la habilidad para satisfacer los requerimientos del usuario 
Es bien conocida la importancia de satisfacer los requerimientos del usuario, ya 
que esto guarda relación con el éxito del sistema. De manera similar, tener los 
requerimientos correctos mejora la calidad de las prácticas de desarrollo. Parece 
ser que las herramientas CASE disminuyen el tiempo de desarrollo, una 
característica que es importante para los usuarios. Las herramientas afectan la 
naturaleza y cantidad de interacción entre los encargados del desarrollo y el 
usuario. Las descripciones gráficas y los diagramas, así como los prototipos de 
reportes y la composición de las pantallas, contribuyen a un intercambio de ideas 
más efectivo. 
 
 
4.-Mencione las desventajas de las herramientas CASE. 
Desventajas. 
Las herramientas CASE tienen puntos débiles significativos, que van desde 
la confiabilidad en los métodos estructurados hasta su alcance limitado, los 
cuales amenazan con minar los beneficios potenciales descritos con 
anterioridad. 
• Confiabilidad en los métodos estructurados 
Muchas herramientas CASE están construidas teniendo como base las 
metodologías del análisis estructurado y del ciclo de vida de desarrollo de 
sistemas. Por si sola, esta característica puede convertirse en la principal 
limitante ya que no todas las organizaciones emplean métodos de análisis 
estructurado. 
Los métodos estructurados, introducidos en la década de los setenta, 
fueron muy elogiados por su habilidad para mejorar la exactitud de los 
requerimientos específicos de las aplicaciones. El nivel de conocimiento de 
los métodos estructurados es lato entre los profesionales de sistemas de 
información – de acuerdo con algunas estimaciones (Yourdon), casi el 90% 
de todos los analistas está familiarizado con estos métodos -. 
 Ingeniería de software 
P á g i n a 38 | 45 
Acapulco Gro. 11 de noviembre de 2020 
Aproximadamente la mitad de todas las organizaciones en Estados Unidos 
han utilizado alguna vez estos métodos. 
 
• Falta de niveles estándar para el soporte de la metodología 
Aún no aparece un conjunto “estándar” de herramientas CASE. Por tanto, 
debe tener precaución al seleccionar una herramienta de este tipo. 
Existen dos significados para las palabras “soporte de la metodología”.Una 
herramienta puede: 
1) dar soporte a los diagramas que emplea una metodología o 
2) soportarlos e imponer la metodología, sus reglas y procesos. 
Las herramientas CASE que existen en el presente, tienen una de las 
siguientes características: 
* Son independientes de la metodología. 
* Permiten que los usuarios definan sus propias metodologías. 
* Soportan una metodología. 
* Soportan las metodologías más diseminadas. 
En todas ellas existen ciertos compromisos. Las herramientas que son 
independientes de la metodología no pueden fomentar el uso de las reglas 
y estándares de esta. Estas herramientas quizá proporcionen los 
componentes de una metodología (por ejemplo: diagramas de flujos de 
datos, un diccionario de datos y facilidades para la descripción de 
procesos), pero no el marco de referencia, reglas y procedimientos que en 
realidad constituyen el núcleo de la metodología. 
• Conflictos en el uso de los diagramas 
Las herramientas difieren en el uso que hacen los diagramas. Algunas son 
herramientas exclusivamente para gráficas, que se abocan al dibujo de 
diagramas para el análisis de entrada y salida de datos. Este tipo de 
herramientas puede restringir ya sea el proceso de desarrollo normal 
seguido por una organización o el estilo particular de trabajo de los 
analistas. 
 
• Diagramas no utilizados 
En general, los productos CASE emplean gráficas para modelar y generar informes sobre 
el análisis y desarrollo de sistemas. Una de las afirmaciones de los vendedores de 
herramientas es que las presentaciones gráficas y la documentación mejoran la 
comunicación entre los miembros del equipo de desarrollo, propician una calidad mayor 
de la entrada proporcionada por el cliente y mejoran la productividad de desarrollo de 
software. Sin embargo, los investigadores han encontrado que, en algunos casos, las 
 Ingeniería de software 
P á g i n a 39 | 45 
Acapulco Gro. 11 de noviembre de 2020 
herramientas gráficas, automatizadas o manuales, no se emplean del todo. O tal vez no 
se utilicen en la forma que deberían emplearse. Por otra parte, algunos analistas prefieren 
para algunas tareas un lenguaje estructurado o descriptivo. 
 
 
5.- ¿Cuál fue el móvil que dio origen a las herramientas 
CASE? 
Las Herramientas CASE tienen su inicio con el simple procesador de palabras que 
fue usado para crear y manipular documentación. Los setentas vieron la 
introducción de técnicas gráficas y diagramas de flujo de estructuras de datos. 
Sobre este punto, el diseño y especificaciones en forma pictórica han sido 
extremadamente complejos y consumían mucho tiempo para realizar cambios. 
La introducción de las herramientas CASE para ayudar en este proceso ha 
permitido que los diagramas puedan ser fácilmente creados y modificados, 
mejorando la calidad de los diseños de software. Los diccionarios de datos, un 
documento muy usado que mantiene los detalles de cada tipo de dato y los 
procesos dentro de un sistema, son el resultado directo de la llegada del diseño de 
flujo de datos y análisis estructural, hecho posible a través de las mejoras en las 
Herramientas CASE. 
 
 
 
6.- ¿Cómo se clasifican las herramientas CASE? 
 
No existe una única clasificación de herramientas CASE y, en ocasiones, es difícil 
incluirlas en una clase determinada. Podrían clasificarse atendiendo a: 
• Las plataformas que soportan. 
• Las fases del ciclo de vida del desarrollo de sistemas que cubren. 
• La arquitectura de las aplicaciones que producen. 
• Su funcionalidad. 
 
 
 
 
 Ingeniería de software 
P á g i n a 40 | 45 
Acapulco Gro. 11 de noviembre de 2020 
7.- Describa cada una de la clasificación de las herramientas 
CASE 
 
Según fases del ciclo de vida del desarrollo 
La siguiente clasificación es la más habitual basada en las fases del ciclo de 
desarrollo que cubren: 
• Upper CASE (U-CASE) Herramientas de alto nivel, U-CASE (Upper CASE 
- CASE superior) o front-end ,orientadas a la automatización y soporte de 
las actividades desarrolladas durante las primeras fases del desarrollo: 
análisis y diseño 
• Middle CASE (M-CASE) Middle CASE (M-CASE), herramientas para 
automatizar tareas en el análisis y diseño de la aplicación. 
• Lower CASE (L-CASE) Herramientas de bajo nivel, L-CASE (Lower CASE 
- CASE inferior) o back-end, dirigidas a las últimas fases del desarrollo: 
construcción e implantación. 
Estas herramientas son las que semi-automatizan la generación de código, 
crean programas de detección de errores, soportan la depuración de 
programas y pruebas. Además, automatizan la documentación completa de 
la aplicación. 
• Tools-Case. 
 Juegos de herramientas o Tools-Case, son el tipo más simple de herramientas 
CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se 
encontrarían las herramientas de reingeniería, orientadas a la fase de 
mantenimiento 
Según funcionalidad. 
Por funcionalidad se pueden diferenciar algunas como: 
• Editores UML. 
los diagramas UML describen los límites, la estructura y el comportamiento 
del sistema y los objetos que contiene. 
UML no es un lenguaje de programación, pero existen herramientas que se 
pueden usar para generar código en diversos lenguajes usando los 
diagramas UML. UML guarda una relación directa con el análisis y el diseño 
orientados a objetos. 
 Ingeniería de software 
P á g i n a 41 | 45 
Acapulco Gro. 11 de noviembre de 2020 
• Herramientas de mantenimiento como los sistemas de control de 
versiones. 
Se llama control de versiones a la gestión de los diversos cambios que se 
realizan sobre los elementos de algún producto o una configuración de 
este. Una versión, revisión o edición de un producto, es el estado en el que 
se encuentra el mismo en un momento dado de su desarrollo o 
modificación. 
 
Otras clasificaciones. 
Existen otros nombres que se le dan a este tipo de herramientas, y que no es una 
clasificación excluyente entre sí, ni con las fases del ciclo de vida del desarrollo: 
• Integrated CASE (I-CASE) herramientas que engloban todo el proceso de 
desarrollo software, desde el análisis hasta la implementación. 
• MetaCASE. herramientas que permiten la definición de nuestra propia 
técnica de modelado, los elementos permitidos del metamodelo generado 
se guardan en un repositorio y pueden ser usados por otros analistas, es 
decir, es como si definiéramos nuestro propio UML, con nuestros 
elementos, restricciones y relaciones posibles. 
• CAST. herramientas de soporte a la prueba de software. 
• IPSE. herramientas que soportan todo el ciclo de vida, incluyen 
componentes para la gestión de proyectos y gestión de la configuración 
activa. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Ingeniería de software 
P á g i n a 42 | 45 
Acapulco Gro. 11 de noviembre de 2020 
 
8.- Mencione y describa ejemplos de herramientas 
case 
 
Ejemplos de herramientas CASE. 
• NetBeans 
Herramienta muy buena con características buenas como desarrollo 
intuitivo gratis y open source drag-and-drop para mayor rapidez 
Principalmente para desarrollo de escritorio Web Mobile y Enterprise con 
compatibilidad con java C/C++ Ruby PHP javascript tiene algunas mejoras 
con UML aunque no es el más optimo tiene algo muy interesante creador 
de juegos para celulares 
 
 
 
 
• Microsoft Visio 
Herramienta de diagramación avanzada con gran variedad de plantillas que 
permiten simplificar las tareas complejas con elementos visuales dinámicos 
basados en datos, UML Bases de Datos Arquitectura ect con SharePoint 
con másfacilidad sin generar código, Pero bastante atractiva para hacer 
distintos diagramas 
 
 
 
 
 
• Eclipse/Omondo 
Eclipse dispone de un Editor de texto. La compilación es en tiempo real. 
Tiene pruebas unitarias con JUnit, control de versiones con CVS, Como ya 
sabemos código abierto Sobre el cual se pueden montar herramientas de 
desarrollo para cualquier lenguaje mediante la implementación de los 
 Ingeniería de software 
P á g i n a 43 | 45 
Acapulco Gro. 11 de noviembre de 2020 
plugins adecuados como omondo para la realización de diagramas UML 
generando código 
 
 
• OmniGraffle 
Es una herramienta de diagramación disponible para OS, muy práctica y 
fácil de usar, con muchos elementos que facilitan la creación de DFD. Esta 
herramienta brinda la posibilidad de exportar en varios formatos, es 
accesible y se puede adquirir directamente en el Appstore. 
 
 
 
 
 
• Serena Composer 
Esta herramienta ayuda en el diseño de la interfaz gráfica y las definiciones 
iniciales del sistema, el producto final de este software es un reporte no 
funcional que detalla el funcionamiento del sistema y una visión no 
funcional del sistema (prototipo) que no puede ser reutilizado para la etapa 
de desarrollo. 
 
• GUI Design Studio 
Es una herramienta enfocada solamente en el diseño de interfaces gráficas 
para aplicaciones, es muy sencillo de usar y contiene muchos elementos 
para modelar pantallas de aplicaciones botones, cajas de texto, 
contraseñas, tablas, iconos y es capaz de simular el paso de ventanas. 
 Ingeniería de software 
P á g i n a 44 | 45 
Acapulco Gro. 11 de noviembre de 2020 
 
 
 
• Edraw 
Es un programa muy completo para realizar diferentes tipos de diagramas 
de varias metodologías, Es muy sencillo de usar ya que tiene una interfaz 
muy parecida a la de Microsoft Visio. 
 
• Oracle SQL Developer 
Herramienta CASE especializada en Base de Datos, tiene varios módulos 
de modelado de datos entre otras y tiene compatibilidad con distintos 
manejadores de Base de Datos. 
 
 
 
 
 
 
 Ingeniería de software 
P á g i n a 45 | 45 
Acapulco Gro. 11 de noviembre de 2020 
 
AUTORES Y BIBLIOGRAFIA. 
https://www.marcoteorico.com/curso/45/ingenieria-de-software/254/cascada 
http://www.utpuebla.edu.mx/divisiones/tic/TIC/2_materias/2/image/2do_sist/I
ntroduccio%CC%81n%20al%20ana%CC%81lisis%20y%20disen%CC%83o%2
0de%20sistemas/Portafolio%20de%20evidencias/Producto%204.pdf 
https://sites.google.com/site/intelisoft2016/metodo-incremental 
Librado, Bonifacio. Gervacio. (Septiembre 2013). Sistema de seguimiento 
al crédito(Tesis). Santiago de Queretaro: 
Tesis. www.uteq.edu.mx/tesis/ITIC/0303.pdf. 
http://modeloincremental-14.blogspot.com/p/ventajas.html 
http://damian11eter.blogspot.com/2015/11/modelo-
evolutivo.html#:~:text=Los%20evolutivos%20son%20modelos%20iterativos,
durante%20la%20fase%20de%20operaci%C3%B3n. 
https://es.slideshare.net/andreslsla/modelo-evolutivo 
https://aspgems.com/metodologia-de-desarrollo-de-software-iii-modelo-en-espiral/ 
https://ingsoftware.weebly.com/ciclo-de-vida-de-un-prototipo.html 
https://blog.wearedrew.co/ventajas-y-desventajas-de-la-metodologia-scrum 
https://proyectosagiles.org/que-es-scrum/ 
https://is1g22.blogspot.com/2020/04/modelo-espiral-winwin.html 
http://modeloespiral.blogspot.com/2009/08/modelo-winwin.htm 
https://micarrerauniversitaria.com/c-ingenieria/ingenieria-web/ 
https://sites.google.com/site/ingenierialeosw/unidad-1-fundamentos-de-ingenieria-
de-software/1-5-definicion-e-historia-de-las-herramientas-case 
 
https://www.marcoteorico.com/curso/45/ingenieria-de-software/254/cascada
http://www.utpuebla.edu.mx/divisiones/tic/TIC/2_materias/2/image/2do_sist/Introduccio%CC%81n%20al%20ana%CC%81lisis%20y%20disen%CC%83o%20de%20sistemas/Portafolio%20de%20evidencias/Producto%204.pdf
http://www.utpuebla.edu.mx/divisiones/tic/TIC/2_materias/2/image/2do_sist/Introduccio%CC%81n%20al%20ana%CC%81lisis%20y%20disen%CC%83o%20de%20sistemas/Portafolio%20de%20evidencias/Producto%204.pdf
http://www.utpuebla.edu.mx/divisiones/tic/TIC/2_materias/2/image/2do_sist/Introduccio%CC%81n%20al%20ana%CC%81lisis%20y%20disen%CC%83o%20de%20sistemas/Portafolio%20de%20evidencias/Producto%204.pdf
https://sites.google.com/site/intelisoft2016/metodo-incremental
http://www.uteq.edu.mx/tesis/ITIC/0303.pdf
http://modeloincremental-14.blogspot.com/p/ventajas.html
http://damian11eter.blogspot.com/2015/11/modelo-evolutivo.html#:~:text=Los%20evolutivos%20son%20modelos%20iterativos,durante%20la%20fase%20de%20operaci%C3%B3n
http://damian11eter.blogspot.com/2015/11/modelo-evolutivo.html#:~:text=Los%20evolutivos%20son%20modelos%20iterativos,durante%20la%20fase%20de%20operaci%C3%B3n
http://damian11eter.blogspot.com/2015/11/modelo-evolutivo.html#:~:text=Los%20evolutivos%20son%20modelos%20iterativos,durante%20la%20fase%20de%20operaci%C3%B3n
https://es.slideshare.net/andreslsla/modelo-evolutivo
https://aspgems.com/metodologia-de-desarrollo-de-software-iii-modelo-en-espiral/
https://ingsoftware.weebly.com/ciclo-de-vida-de-un-prototipo.html
https://blog.wearedrew.co/ventajas-y-desventajas-de-la-metodologia-scrum
https://proyectosagiles.org/que-es-scrum/
https://is1g22.blogspot.com/2020/04/modelo-espiral-winwin.html
http://modeloespiral.blogspot.com/2009/08/modelo-winwin.htm
https://micarrerauniversitaria.com/c-ingenieria/ingenieria-web/
https://sites.google.com/site/ingenierialeosw/unidad-1-fundamentos-de-ingenieria-de-software/1-5-definicion-e-historia-de-las-herramientas-case
https://sites.google.com/site/ingenierialeosw/unidad-1-fundamentos-de-ingenieria-de-software/1-5-definicion-e-historia-de-las-herramientas-case

Continuar navegando