SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
METODOLOGÍAS
DE INGENIERÍA DE
SOFTWARE
INGENIERÍA DE SOFTWARE I
2º DE GRADO EN INGENIERÍA INFORMÁTICA
CURSO 2021/2022
Francisco José García Peñalvo / fgarcia@usal.es
Alicia García Holgado / aliciagh@usal.es
Andrea Vázquez Ingelmo / andreavazquez@usal.es
Departamento de Informática y Automática
Universidad de Salamanca
PÍLDORA DE VÍDEO RELACIONADA
2
Metodologías estructuradas y orientadas a objetos
(García-Peñalvo et al., 2021b)
Metodologías ágiles
(García-Peñalvo et al., 2021a)
Scrum
(García-Peñalvo et al., 2021c)
MÁS INFORMACIÓN
Tema 1 – Introducción a la Ingeniería del Software
(García-Peñalvo et al., 2022a)
https://bit.ly/3urdvyx
Tema 3 – Modelos de proceso
(García-Peñalvo et al., 2022b)
Ingeniería de Software I - Metodologías de Ingeniería de Software
Ingeniería de Software I - Metodologías de Ingeniería de Software
INTRODUCCIÓN
Desde una perspectiva de Ingeniería de Software, una metodología
• Describe cómo se organiza un proyecto
• Establece el orden en el que la mayoría de las actividades tienen
que realizarse y los enlaces entre ellas
• Indica cómo tienen que realizarse algunas tareas proporcionando
las herramientas concretas e intelectuales
Con una metodología se intentan cubrir las siguientes necesidades
(Piattini et al., 2004)
• Mejores aplicaciones
• Mejor proceso de desarrollo
• Establecer un proceso estándar en una organización
3
Ingeniería de Software I - Metodologías de Ingeniería de Software
DEFINICIÓN DE METODOLOGÍA
Un proceso para producir software de forma
organizada, empleando una colección de
técnicas y convenciones de notación
predefinidas (Rumbaugh et al., 1991)
4
Ingeniería de Software I - Metodologías de Ingeniería de Software
CONFUSIÓN ENTRE LOS TÉRMINOS
METODOLOGÍA, MÉTODO Y CICLO DE VIDA POR
ABUSO DEL LENGUAJE TÉCNICO
• Una metodología puede seguir uno o varios modelos de ciclo de vida
• El ciclo de vida indica qué es lo que hay que obtener a lo largo
del desarrollo del proyecto, pero no cómo. Esto sí lo debe indicar
la metodología
• Una metodología es un concepto más amplio que el de método
• Se puede considerar a la metodología como un conjunto de
métodos
5
Ingeniería de Software I - Metodologías de Ingeniería de Software
CARACTERÍSTICAS DESEABLES
EN UNA METODOLOGÍA
Una metodología debe cubrir (Henderson-Sellers y Firesmith, 1999)
• Un proceso de ciclo de vida completo, que comprenda aspectos tanto del
negocio como técnicos
• Un conjunto completo de conceptos y modelos que sean internamente
consistentes
• Una colección de reglas y guías
• Una descripción completa de artefactos a desarrollar
• Una notación con la que trabajar, idealmente soportada por diversas
herramientas CASE y diseñada para una usabilidad óptima
• Un conjunto de técnicas probadas
• Un conjunto de métricas, junto con asesoramiento sobre calidad,
estándares y estrategias de prueba
• Identificación de los roles organizacionales
• Guías para la gestión de proyectos y aseguramiento de la calidad
• Asesoramiento para la gestión de bibliotecas y reutilización
6
Ingeniería de Software I - Metodologías de Ingeniería de Software
METODOLOGÍAS
ESTRUCTURADAS
• Proponen la creación de modelos del sistema que representan los
procesos, los flujos y la estructura de los datos de una manera
descendente
• Se pasa de una visión general del problema, nivel de abstracción
alto, a un nivel de abstracción sencillo
• Esta visión se puede enfocar
• Hacia un punto de vista funcional del sistema
• Metodologías orientadas a procesos
• Hacia la estructura de datos
• Metodologías orientadas a datos
7
Ingeniería de Software I - Metodologías de Ingeniería de Software
METODOLOGÍAS ESTRUCTURADAS
ORIENTADAS A PROCESOS
• La Ingeniería del Software se fundamenta en el modelo básico
entrada/proceso/salida de un sistema
• Estas metodologías se enfocan fundamentalmente en la parte de proceso
• Utilizan un enfoque de descomposición descendente para evaluar los
procesos del espacio del problema y los flujos de datos con los que están
conectados
• Este tipo de metodologías se desarrolló a lo largo de los años 70
• Representantes de este grupo son las metodologías de análisis y diseño
estructurado como
• Merise (Tardieu et al., 1983)
• YSM (Yourdon Systems Method) (Yourdon Inc., 1993)
• SSADM (Structured Systems Analysis and Design Method) (Ashworth y Goodland,
1990)
• METRICA v.2.1 (MAP, 1995)
• METRICA v3.0 (Parcialmente) (MAP, 2001)
8
Ingeniería de Software I - Metodologías de Ingeniería de Software
METODOLOGÍAS ORIENTADAS
A OBJETOS
• Se fundamentan en la integración de los dos aspectos de los
sistemas de información: datos y procesos
• En este paradigma un sistema se concibe como un conjunto de
objetos que se comunican entre sí mediante mensajes
• El objeto encapsula datos y operaciones
• Este enfoque permite un modelado más natural del mundo real y
facilita enormemente la reutilización del software
• Las metodologías orientadas a objetos acortan la distancia existente
entre el espacio de conceptos (lo que los expertos o usuarios
conocen) y el espacio de diseño e implementación
9
Ingeniería de Software I - Metodologías de Ingeniería de Software
METODOLOGÍAS ORIENTADAS
A OBJETOS
Gran cantidad de representantes
• Metodologías dirigidas por los datos
• OMT (Object Modeling Technique) (Rumbaugh et al., 1991)
• Fusion (Coleman et al., 1994)
• Metodologías dirigidas por las responsabilidades
• RDD (Responsibility Driven Design) (Wirfs-Brock et al., 1990)
• OBA (Object Behavior Analysis) (Rubin y Goldberg, 1992)
• Metodologías dirigidas por los casos de uso
• Objectory (Jacobson et al., 1992)
• Proceso Unificado (Jacobson et al., 1999)
• Metodologías dirigidas por estados
• Metodología de Shlaer y Mellor (Shlaer y Mellor, 1992)
10
Ingeniería de Software I - Metodologías de Ingeniería de Software
METODOLOGÍAS ORIENTADAS
A OBJETOS
11
Evolución de las metodologías OO
Metodologías de
segunda generación
Syntropy
Fusion Moses
MEDEA
Booch (94)
OMT 2
Metodologías de primera generación
OMT
RDD Objectory
Booch (91)
Métricas
Metodologías de
tercera generación
UP
OPEN
Unificación,
Estandarización
UML
Lenguajes
Formales
Ingeniería de Software I - Metodologías de Ingeniería de Software
METODOLOGÍAS ORIENTADAS
A OBJETOS
12
Metodologías estructuradas vs. Metodologías Orientadas a Objetos
Análisis Diseño Implementación
DFD
STD
PROGRAMA
P
ROCESOS
DER
RELACIONAL TABLAS
D
ATOS
Metodologías
estructuradas
Ingeniería de Software I - Metodologías de Ingeniería de Software
METODOLOGÍAS ORIENTADAS
A OBJETOS
13
Metodologías estructuradas vs. Metodologías Orientadas a Objetos
Metodologías
Orientadas
a
Objetos
Análisis Diseño Implementación
O
BJETOS
Ingeniería de Software I - Metodologías de Ingeniería de Software
METODOLOGÍAS ORIENTADAS
A OBJETOS
14
Metodologías estructuradas vs. Metodologías Orientadas a Objetos
ANÁLISIS DISEÑO
Por Elaboración
O
O
Por Transformación
Estructurado
Ingeniería de Software I - Metodologías de Ingeniería de Software
METODOLOGÍAS ÁGILES
Las aproximaciones ágiles emplean procesos técnicos y de
gestión que continuamente se adaptan y se ajustan a (Turk et al.,
2002)
• Cambios derivados de las experiencias ganadas durante el desarrollo
• Cambios en los requisitos
• Cambios en el entorno de desarrollo
La agilidad en el desarrollo del software no significa únicamente
poner en el mercado o en explotación los productos software más
rápidamente
• Esto choca frontalmente con los modelos de procesos tradicionales
que son monolíticos y lentos, centrados en una única iteración o ciclo
de larga duración
15
Ingeniería de Software I - Metodologías de Ingeniería de Software
AGILE MANIFESTO
We are uncovering better ways of developing software by doing it
and helping others do it. Through this work we have come to
value:
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
While there is value in the items on the right, we value the items on
the left more.
Agile Manifesto
16
Ingeniería de Software I - Metodologías de Ingeniería de Software
METODOLOGÍAS ÁGILES
La agilidad significa respuesta efectiva al cambio
pero incluye
• Estructuras de equipo y actitudes para facilitar la comunicación entre los miembros
• Énfasis en la entrega rápida de software funcional, para lo que resta importancia a los
productos intermedios (lo cual siempre no es bueno)
• Adopción del cliente como parte del equipo de desarrollo
• Planificación incierta y, por tanto, flexible
17
https://bit.ly/2LF8WNj
Ingeniería de Software I - Metodologías de Ingeniería de Software
EXTREME PROGRAMMING
Controvertido enfoque de desarrollo de software basado en el modelo
incremental
Está indicado para
• Equipos de tamaño mediano o pequeño
• Requisitos imprecisos y cambiantes
Características (Beck, 2000)
• El juego de la planificación
• Versiones pequeñas
• Metáfora
• Diseño sencillo
• Hacer pruebas
• Refactorización
• Programación en parejas
• Propiedad colectiva
• Integración continua
• Cliente in-situ
• Estándares de codificación
18
Ingeniería de Software I - Metodologías de Ingeniería de Software
SCRUM
• Propuesto por Jeff Sutherland y desarrollado por Shwaber y
Beedle (Schwaber, 2007)
• El conjunto de buenas prácticas de Scrum se aplica
esencialmente a la gestión del proyecto
• Es un framework, por lo que es necesaria su adaptación en
cada organización o incluso en cada equipo
• El objetivo es obtener resultados rápidos con adaptación a los
cambios de las necesidades de los clientes
• Las principales características de Scrum
• El desarrollo software mediante iteraciones incrementales
• Las reuniones a lo largo del proyecto
19
Ingeniería de Software I - Metodologías de Ingeniería de Software
SCRUM
Scrum se basa en entregas
parciales priorizadas por el
beneficio que aporta al receptor
final del producto
20
Ingeniería de Software I - Metodologías de Ingeniería de Software
SCRUM
• Actividades estructurales
• Requisitos
• Análisis
• Diseño
• Evolución
• Entrega
• Dentro de cada actividad las tareas se organizan con un patrón
de proceso denominado sprint
• El trabajo del sprint se adapta al problema y se define y
modifica en tiempo real por el equipo Scrum
• Uso de patrones de proceso de demostrada eficacia en
proyectos críticos, con plazos cortos y requisitos cambiantes
21
Ingeniería de Software I - Metodologías de Ingeniería de Software
SCRUM
• Scrum define un ciclo de vida iterativo e incremental, que
mejora la gestión del riesgo y aumenta la comunicación
• Se basa en tres pilares
• Transparencia
• Todos los aspectos del proceso que afectan al resultado son visibles para todos
aquellos que administran dicho resultado
• Inspección
• Se debe controlar con la suficiente frecuencia los diversos aspectos del proceso
para que puedan detectarse variaciones inaceptables en el mismo
• Revisión
• El producto debe estar dentro de los límites aceptables
• En caso de desviación se procederá a una adaptación del proceso y del material
procesado
• Mecanismo de mejora continua, esto es, de control, para adaptarse y mejorar
22
Ingeniería de Software I - Metodologías de Ingeniería de Software
SCRUM
Cada equipo Scrum tiene tres roles
• Scrum Master. Es el responsable de asegurar que el equipo Scrum siga las prácticas de
Scrum. Sus funciones
• Ayudar a que el equipo y la organización adopten Scrum
• Liderar el equipo Scrum para buscar la mejora en la productividad y la calidad de los entregables
• Ayudar a la autogestión del equipo
• Gestionar e intentar resolver los impedimentos con los que el equipo se encuentra para cumplir
las tareas del proyecto
• Product owner. Es la persona responsable de gestionar las necesidades que se quieren
satisfacer mediante el desarrollo del proyecto. Sus funciones
• Recolectar las necesidades (historias de usuario)
• Gestionar y ordenar las necesidades
• Aceptar el producto software al finalizar cada iteración
• Maximizar el retorno de la inversión del proyecto
• Equipo de desarrollo. Tiene las siguientes características
• Autogestionado. El mismo equipo supervisa su trabajo (no existe el rol clásico de jefe de
proyecto)
• Multifuncional. Cada integrante del equipo debe ser capaz de realizar cualquier función
• No distribuidos. Es conveniente que el equipo se encuentre en el mismo lugar físico
• Tamaño óptimo. Al menos tres personas, máximo nueve, sin contar al scrum master ni al product
owner
23
Ingeniería de Software I - Metodologías de Ingeniería de Software
SCRUM
Acciones de los patrones de proceso
• Retraso (pila de producto o product backlog): priorización de
requisitos. Debe estar detallado de manera adecuada, estimado,
emergente y priorizado
• Sprints: unidades de trabajo requeridas para alcanzar un requisito.
Es cada iteración. Se recomiendan iteraciones cortas (1-4 semanas)
y cuyo resultado será un producto software potencialmente
entregable. El equipo de desarrollo selecciona las historias de
usuario que se van a desarrollar en el sprint para conformar así la
pila de sprint (sprint Backlog). La definición de cómo descomponer,
analizar o desarrollar este sprint backlog queda a criterio del equipo
de desarrollo. Además, la lista de tareas se mantendrá inamovible
durante toda la iteración
• Reuniones Scrum: reuniones breves dirigidas por el maestro Scrum
• Demostraciones preliminares: entrega de un incremento al cliente
24
Ingeniería de Software I - Metodologías de Ingeniería de Software
SCRUM
25
Product backlog
(priorizado por el cliente)
Sprint backlog
Tareas backlog
ampliadas por el
equipo
Reunión
diaria
24 h.
1-4
semanas
Incremento del producto
Demostración de su funcionalidad
Ingeniería de Software I - Metodologías de Ingeniería de Software
BIBLIOGRAFÍA
• B. Henderson-Sellers y D. G. Firesmith, "Comparing OPEN and UML: The two third-generation OO development approaches,"
Information and Software Technology, vol. 41, no. 3, pp. 139-156, 1999. doi: 10.1016/S0950-5849(98)00127-X.
• C. Ashworth y M. Goodland, SSADM: A Practical Approach. London, UK: McGraw-Hill, 1990.
• D. Coleman, P. Arnold, S. Bodoff, C. Dolin, F. Hayes y P. Jeremaes, Object-Oriented Development: The Fusion Method. Englewood
Cliffs, NJ, USA: Prentice-Hall, 1994.
• D. Turk, R. France y B. Rumpe, "Limitations of Agile Software Processes," en Proceedings of 4th International Conference on eXtreme
Programming and Agile Processes in Software Engineering, XP2002. (Alghero, Sardinia, Italy, April 2002) pp. 43-46, 2002.
• F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, "Introducción a la Ingeniería del Software," Recursos docentes de la
asignatura Ingeniería de Software I. Grado en Ingeniería Informática. Curso 2021-2022, F. J. García-Peñalvo, A. García-Holgado y A.
Vázquez-Ingelmo, Eds., Salamanca, España: Grupo GRIAL, Universidad de Salamanca, 2022a. [Online]. Disponible en:
https://bit.ly/34uwOfw. doi: 10.5281/zenodo.5972771. (pp. 65-90).
• F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, "Modelos de proceso," Recursos docentes de la asignatura Ingeniería de
Software I. Grado en Ingeniería Informática. Curso 2021-2022, F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, Eds.,
Salamanca, España: Grupo GRIAL, Universidad de Salamanca, 2022b. [Online]. Disponible en: https://bit.ly/3skyaSo. doi:
10.5281/zenodo.5974896. (pp. 63-71).
• F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, "Metodologías ágiles," Recursos docentes de la asignatura Ingeniería de
Software I. Grado en Ingeniería Informática. Curso 2020-2021, F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, Eds.,
Salamanca, España: Grupo GRIAL, Universidad de Salamanca, 2021a. [Online]. Disponible en: https://bit.ly/3yofrbf. doi:
10.5281/zenodo.5781297.
• F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, "Metodologías estructuradas y orientadas a objetos," Recursos docentes
de la asignatura Ingeniería de Software I. Grado en Ingeniería Informática. Curso 2020-2021, F. J. García-Peñalvo, A. García-Holgado y
A. Vázquez-Ingelmo, Eds., Salamanca, España: Grupo GRIAL, Universidad de Salamanca, 2021b. [Online]. Disponible en:
https://bit.ly/33k3CHo. doi: 10.5281/zenodo.5781241.
• F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, "Scrum," Recursos docentes de la asignatura Ingeniería de Software I.
Grado en Ingeniería Informática. Curso 2020-2021, F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, Eds., Salamanca,
España: Grupo GRIAL, Universidad de Salamanca, 2021c. [Online]. Disponible en: https://bit.ly/3J1rnEP. doi: 10.5281/zenodo.5781344.
26
Ingeniería de Software I - Metodologías de Ingeniería de Software
BIBLIOGRAFÍA
• H. Tardieu, A. Rochfeld y R. Coletti, La Méthode Merise. Tome 1. Principes et outils. Paris: Editions d'Organisation, 1983.
• I. Jacobson, M. Christerson, P. Jonsson y G. Övergaad, Object oriented software engineering: A use case driven approach. Reading, MA,
USA: Addison-Wesley, 1992.
• I. Jacobson, G. Booch y J. Rumbaugh, The Unified Software Development Process (Object Technology Series). Reading, Massachusetts,
USA: Addison Wesley, 1999.
• J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy y W. Lorensen, Object-oriented modeling and design. Englewood Cliffs, NJ, USA:
Prentice-Hall, 1991.
• K. Beck, Extreme Programming Explained. Embrace Change. Boston, MA, USA: Addison-Wesley, 2000.
• K. Schwaber, "SCRUM Development Process," en Business Object Design and Implementation. OOPSLA ’95 Workshop Proceedings 16
October 1995, Austin, Texas, J. Sutherland, C. Casanave, J. Miller, P. Patel y G. Hollowell, Eds. pp. 117-134, London, UK: Springer
London, 2007. doi: 10.1007/978-1-4471-0947-1_11.
• K. S. Rubin y A. Goldberg, "Object Behavior Analysis," Communications of the ACM, vol. 35, no. 9, pp. 48-62, 1992. doi:
10.1145/130994.130996.
• M. G. Piattini Velthius, J. A. Calvo-Manzano, J. Cervera Bravo y L. Fernández Sanz, Análisis y Diseño de Aplicaciones Informáticas de
Gestión. Una perspectiva de Ingeniería del Software. Madrid, España: Ra-ma, 2004.
• Ministerio de las Administraciones Públicas, Metodología Métrica 2.1. Volúmenes 1-3. Madrid, España: Tecnos, 1995.
• Ministerio de las Administraciones Públicas, Métrica v3, Madrid, España: Ministerio de las Administraciones Públicas, 2001. [Online].
Disponible en: https://goo.gl/FZ3aX4
• R. Wirfs-Brock, B. Wilkerson y L. Wiener, Designing Object-Oriented Software. Upper Saddle River, NJ, USA: Prentice-Hall, 1990.
• S. Shlaer y S. Mellor, Object Life Cycles: Modeling the World in States. Upper Saddle River, NJ, USA: Prentice-Hall, 1992.
• Yourdon Inc., Yourdon™ Systems Method. Model-driven systems development (Yourdon press Computing Series). Englewood Cliffs, NJ,
USA: Prentice Hall, 1993.
27
METODOLOGÍAS
DE INGENIERÍA DE
SOFTWARE
INGENIERÍA DE SOFTWARE I
2º DE GRADO EN INGENIERÍA INFORMÁTICA
CURSO 2021/2022
Francisco José García Peñalvo / fgarcia@usal.es
Alicia García Holgado / aliciagh@usal.es
Andrea Vázquez Ingelmo / andreavazquez@usal.es
Departamento de Informática y Automática
Universidad de Salamanca

Más contenido relacionado

Similar a Metodología de ingeniaría de Sofware-2022.pdf

Lineas de productos de software y metodo watch ariana velasquez 2
Lineas de productos de software y metodo watch ariana velasquez 2Lineas de productos de software y metodo watch ariana velasquez 2
Lineas de productos de software y metodo watch ariana velasquez 2velasquezariana3
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De SoftwareJulio Pari
 
Lineas de prduccion de software y metodo watch
Lineas de prduccion de software y metodo watchLineas de prduccion de software y metodo watch
Lineas de prduccion de software y metodo watchJuan de la Hoz
 
Metodologia Estructurada.pdf
Metodologia Estructurada.pdfMetodologia Estructurada.pdf
Metodologia Estructurada.pdfJosefinaRojas15
 
Lineas de Productos de Software y el Método Watch - Sistemas 2
Lineas de Productos de Software y el Método Watch - Sistemas 2Lineas de Productos de Software y el Método Watch - Sistemas 2
Lineas de Productos de Software y el Método Watch - Sistemas 2Gilber Briceño
 
Analisisdesistemasnucleo2 110604161723-phpapp01
Analisisdesistemasnucleo2 110604161723-phpapp01Analisisdesistemasnucleo2 110604161723-phpapp01
Analisisdesistemasnucleo2 110604161723-phpapp01Wolphkens Leveille
 
4 1 personalizacion de metodologias
4 1 personalizacion de metodologias4 1 personalizacion de metodologias
4 1 personalizacion de metodologiaslandeta_p
 
Metodologías para desarrollo de software
Metodologías para desarrollo de softwareMetodologías para desarrollo de software
Metodologías para desarrollo de softwareAbner Garcia
 
Administracion de proyectos software i estudiantes
Administracion de proyectos software i estudiantesAdministracion de proyectos software i estudiantes
Administracion de proyectos software i estudiantesCyber Brel'R
 
r3022837166376237762356d7263d524.05272591.pdf
r3022837166376237762356d7263d524.05272591.pdfr3022837166376237762356d7263d524.05272591.pdf
r3022837166376237762356d7263d524.05272591.pdfRebeca Ortega
 
Unidad uno metodologia
Unidad uno metodologia Unidad uno metodologia
Unidad uno metodologia guestc86431
 
Tema04
Tema04Tema04
Tema04r4pk2
 
Tema04
Tema04Tema04
Tema04r4pk2
 
3 metodologias de desarrollo (clasificacion)
3 metodologias de desarrollo (clasificacion)3 metodologias de desarrollo (clasificacion)
3 metodologias de desarrollo (clasificacion)Arley Gallego
 

Similar a Metodología de ingeniaría de Sofware-2022.pdf (20)

Lineas de productos de software y metodo watch ariana velasquez 2
Lineas de productos de software y metodo watch ariana velasquez 2Lineas de productos de software y metodo watch ariana velasquez 2
Lineas de productos de software y metodo watch ariana velasquez 2
 
4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software4 Clase Metodologia De Desarrolo De Software
4 Clase Metodologia De Desarrolo De Software
 
Lineas de prduccion de software y metodo watch
Lineas de prduccion de software y metodo watchLineas de prduccion de software y metodo watch
Lineas de prduccion de software y metodo watch
 
Metodologia Estructurada.pdf
Metodologia Estructurada.pdfMetodologia Estructurada.pdf
Metodologia Estructurada.pdf
 
Monografia
MonografiaMonografia
Monografia
 
Lineas de Productos de Software y el Método Watch - Sistemas 2
Lineas de Productos de Software y el Método Watch - Sistemas 2Lineas de Productos de Software y el Método Watch - Sistemas 2
Lineas de Productos de Software y el Método Watch - Sistemas 2
 
Analisisdesistemasnucleo2 110604161723-phpapp01
Analisisdesistemasnucleo2 110604161723-phpapp01Analisisdesistemasnucleo2 110604161723-phpapp01
Analisisdesistemasnucleo2 110604161723-phpapp01
 
4 1 personalizacion de metodologias
4 1 personalizacion de metodologias4 1 personalizacion de metodologias
4 1 personalizacion de metodologias
 
Metodologías para desarrollo de software
Metodologías para desarrollo de softwareMetodologías para desarrollo de software
Metodologías para desarrollo de software
 
Metodologia estructurada
Metodologia estructuradaMetodologia estructurada
Metodologia estructurada
 
Presentación2
Presentación2Presentación2
Presentación2
 
Administracion de proyectos software i estudiantes
Administracion de proyectos software i estudiantesAdministracion de proyectos software i estudiantes
Administracion de proyectos software i estudiantes
 
Presentación2
Presentación2Presentación2
Presentación2
 
Metodologia
MetodologiaMetodologia
Metodologia
 
r3022837166376237762356d7263d524.05272591.pdf
r3022837166376237762356d7263d524.05272591.pdfr3022837166376237762356d7263d524.05272591.pdf
r3022837166376237762356d7263d524.05272591.pdf
 
28731.ppt
28731.ppt28731.ppt
28731.ppt
 
Unidad uno metodologia
Unidad uno metodologia Unidad uno metodologia
Unidad uno metodologia
 
Tema04
Tema04Tema04
Tema04
 
Tema04
Tema04Tema04
Tema04
 
3 metodologias de desarrollo (clasificacion)
3 metodologias de desarrollo (clasificacion)3 metodologias de desarrollo (clasificacion)
3 metodologias de desarrollo (clasificacion)
 

Último

RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 

Último (20)

RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 

Metodología de ingeniaría de Sofware-2022.pdf

  • 1. METODOLOGÍAS DE INGENIERÍA DE SOFTWARE INGENIERÍA DE SOFTWARE I 2º DE GRADO EN INGENIERÍA INFORMÁTICA CURSO 2021/2022 Francisco José García Peñalvo / fgarcia@usal.es Alicia García Holgado / aliciagh@usal.es Andrea Vázquez Ingelmo / andreavazquez@usal.es Departamento de Informática y Automática Universidad de Salamanca
  • 2. PÍLDORA DE VÍDEO RELACIONADA 2 Metodologías estructuradas y orientadas a objetos (García-Peñalvo et al., 2021b) Metodologías ágiles (García-Peñalvo et al., 2021a) Scrum (García-Peñalvo et al., 2021c) MÁS INFORMACIÓN Tema 1 – Introducción a la Ingeniería del Software (García-Peñalvo et al., 2022a) https://bit.ly/3urdvyx Tema 3 – Modelos de proceso (García-Peñalvo et al., 2022b) Ingeniería de Software I - Metodologías de Ingeniería de Software
  • 3. Ingeniería de Software I - Metodologías de Ingeniería de Software INTRODUCCIÓN Desde una perspectiva de Ingeniería de Software, una metodología • Describe cómo se organiza un proyecto • Establece el orden en el que la mayoría de las actividades tienen que realizarse y los enlaces entre ellas • Indica cómo tienen que realizarse algunas tareas proporcionando las herramientas concretas e intelectuales Con una metodología se intentan cubrir las siguientes necesidades (Piattini et al., 2004) • Mejores aplicaciones • Mejor proceso de desarrollo • Establecer un proceso estándar en una organización 3
  • 4. Ingeniería de Software I - Metodologías de Ingeniería de Software DEFINICIÓN DE METODOLOGÍA Un proceso para producir software de forma organizada, empleando una colección de técnicas y convenciones de notación predefinidas (Rumbaugh et al., 1991) 4
  • 5. Ingeniería de Software I - Metodologías de Ingeniería de Software CONFUSIÓN ENTRE LOS TÉRMINOS METODOLOGÍA, MÉTODO Y CICLO DE VIDA POR ABUSO DEL LENGUAJE TÉCNICO • Una metodología puede seguir uno o varios modelos de ciclo de vida • El ciclo de vida indica qué es lo que hay que obtener a lo largo del desarrollo del proyecto, pero no cómo. Esto sí lo debe indicar la metodología • Una metodología es un concepto más amplio que el de método • Se puede considerar a la metodología como un conjunto de métodos 5
  • 6. Ingeniería de Software I - Metodologías de Ingeniería de Software CARACTERÍSTICAS DESEABLES EN UNA METODOLOGÍA Una metodología debe cubrir (Henderson-Sellers y Firesmith, 1999) • Un proceso de ciclo de vida completo, que comprenda aspectos tanto del negocio como técnicos • Un conjunto completo de conceptos y modelos que sean internamente consistentes • Una colección de reglas y guías • Una descripción completa de artefactos a desarrollar • Una notación con la que trabajar, idealmente soportada por diversas herramientas CASE y diseñada para una usabilidad óptima • Un conjunto de técnicas probadas • Un conjunto de métricas, junto con asesoramiento sobre calidad, estándares y estrategias de prueba • Identificación de los roles organizacionales • Guías para la gestión de proyectos y aseguramiento de la calidad • Asesoramiento para la gestión de bibliotecas y reutilización 6
  • 7. Ingeniería de Software I - Metodologías de Ingeniería de Software METODOLOGÍAS ESTRUCTURADAS • Proponen la creación de modelos del sistema que representan los procesos, los flujos y la estructura de los datos de una manera descendente • Se pasa de una visión general del problema, nivel de abstracción alto, a un nivel de abstracción sencillo • Esta visión se puede enfocar • Hacia un punto de vista funcional del sistema • Metodologías orientadas a procesos • Hacia la estructura de datos • Metodologías orientadas a datos 7
  • 8. Ingeniería de Software I - Metodologías de Ingeniería de Software METODOLOGÍAS ESTRUCTURADAS ORIENTADAS A PROCESOS • La Ingeniería del Software se fundamenta en el modelo básico entrada/proceso/salida de un sistema • Estas metodologías se enfocan fundamentalmente en la parte de proceso • Utilizan un enfoque de descomposición descendente para evaluar los procesos del espacio del problema y los flujos de datos con los que están conectados • Este tipo de metodologías se desarrolló a lo largo de los años 70 • Representantes de este grupo son las metodologías de análisis y diseño estructurado como • Merise (Tardieu et al., 1983) • YSM (Yourdon Systems Method) (Yourdon Inc., 1993) • SSADM (Structured Systems Analysis and Design Method) (Ashworth y Goodland, 1990) • METRICA v.2.1 (MAP, 1995) • METRICA v3.0 (Parcialmente) (MAP, 2001) 8
  • 9. Ingeniería de Software I - Metodologías de Ingeniería de Software METODOLOGÍAS ORIENTADAS A OBJETOS • Se fundamentan en la integración de los dos aspectos de los sistemas de información: datos y procesos • En este paradigma un sistema se concibe como un conjunto de objetos que se comunican entre sí mediante mensajes • El objeto encapsula datos y operaciones • Este enfoque permite un modelado más natural del mundo real y facilita enormemente la reutilización del software • Las metodologías orientadas a objetos acortan la distancia existente entre el espacio de conceptos (lo que los expertos o usuarios conocen) y el espacio de diseño e implementación 9
  • 10. Ingeniería de Software I - Metodologías de Ingeniería de Software METODOLOGÍAS ORIENTADAS A OBJETOS Gran cantidad de representantes • Metodologías dirigidas por los datos • OMT (Object Modeling Technique) (Rumbaugh et al., 1991) • Fusion (Coleman et al., 1994) • Metodologías dirigidas por las responsabilidades • RDD (Responsibility Driven Design) (Wirfs-Brock et al., 1990) • OBA (Object Behavior Analysis) (Rubin y Goldberg, 1992) • Metodologías dirigidas por los casos de uso • Objectory (Jacobson et al., 1992) • Proceso Unificado (Jacobson et al., 1999) • Metodologías dirigidas por estados • Metodología de Shlaer y Mellor (Shlaer y Mellor, 1992) 10
  • 11. Ingeniería de Software I - Metodologías de Ingeniería de Software METODOLOGÍAS ORIENTADAS A OBJETOS 11 Evolución de las metodologías OO Metodologías de segunda generación Syntropy Fusion Moses MEDEA Booch (94) OMT 2 Metodologías de primera generación OMT RDD Objectory Booch (91) Métricas Metodologías de tercera generación UP OPEN Unificación, Estandarización UML Lenguajes Formales
  • 12. Ingeniería de Software I - Metodologías de Ingeniería de Software METODOLOGÍAS ORIENTADAS A OBJETOS 12 Metodologías estructuradas vs. Metodologías Orientadas a Objetos Análisis Diseño Implementación DFD STD PROGRAMA P ROCESOS DER RELACIONAL TABLAS D ATOS Metodologías estructuradas
  • 13. Ingeniería de Software I - Metodologías de Ingeniería de Software METODOLOGÍAS ORIENTADAS A OBJETOS 13 Metodologías estructuradas vs. Metodologías Orientadas a Objetos Metodologías Orientadas a Objetos Análisis Diseño Implementación O BJETOS
  • 14. Ingeniería de Software I - Metodologías de Ingeniería de Software METODOLOGÍAS ORIENTADAS A OBJETOS 14 Metodologías estructuradas vs. Metodologías Orientadas a Objetos ANÁLISIS DISEÑO Por Elaboración O O Por Transformación Estructurado
  • 15. Ingeniería de Software I - Metodologías de Ingeniería de Software METODOLOGÍAS ÁGILES Las aproximaciones ágiles emplean procesos técnicos y de gestión que continuamente se adaptan y se ajustan a (Turk et al., 2002) • Cambios derivados de las experiencias ganadas durante el desarrollo • Cambios en los requisitos • Cambios en el entorno de desarrollo La agilidad en el desarrollo del software no significa únicamente poner en el mercado o en explotación los productos software más rápidamente • Esto choca frontalmente con los modelos de procesos tradicionales que son monolíticos y lentos, centrados en una única iteración o ciclo de larga duración 15
  • 16. Ingeniería de Software I - Metodologías de Ingeniería de Software AGILE MANIFESTO We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan While there is value in the items on the right, we value the items on the left more. Agile Manifesto 16
  • 17. Ingeniería de Software I - Metodologías de Ingeniería de Software METODOLOGÍAS ÁGILES La agilidad significa respuesta efectiva al cambio pero incluye • Estructuras de equipo y actitudes para facilitar la comunicación entre los miembros • Énfasis en la entrega rápida de software funcional, para lo que resta importancia a los productos intermedios (lo cual siempre no es bueno) • Adopción del cliente como parte del equipo de desarrollo • Planificación incierta y, por tanto, flexible 17 https://bit.ly/2LF8WNj
  • 18. Ingeniería de Software I - Metodologías de Ingeniería de Software EXTREME PROGRAMMING Controvertido enfoque de desarrollo de software basado en el modelo incremental Está indicado para • Equipos de tamaño mediano o pequeño • Requisitos imprecisos y cambiantes Características (Beck, 2000) • El juego de la planificación • Versiones pequeñas • Metáfora • Diseño sencillo • Hacer pruebas • Refactorización • Programación en parejas • Propiedad colectiva • Integración continua • Cliente in-situ • Estándares de codificación 18
  • 19. Ingeniería de Software I - Metodologías de Ingeniería de Software SCRUM • Propuesto por Jeff Sutherland y desarrollado por Shwaber y Beedle (Schwaber, 2007) • El conjunto de buenas prácticas de Scrum se aplica esencialmente a la gestión del proyecto • Es un framework, por lo que es necesaria su adaptación en cada organización o incluso en cada equipo • El objetivo es obtener resultados rápidos con adaptación a los cambios de las necesidades de los clientes • Las principales características de Scrum • El desarrollo software mediante iteraciones incrementales • Las reuniones a lo largo del proyecto 19
  • 20. Ingeniería de Software I - Metodologías de Ingeniería de Software SCRUM Scrum se basa en entregas parciales priorizadas por el beneficio que aporta al receptor final del producto 20
  • 21. Ingeniería de Software I - Metodologías de Ingeniería de Software SCRUM • Actividades estructurales • Requisitos • Análisis • Diseño • Evolución • Entrega • Dentro de cada actividad las tareas se organizan con un patrón de proceso denominado sprint • El trabajo del sprint se adapta al problema y se define y modifica en tiempo real por el equipo Scrum • Uso de patrones de proceso de demostrada eficacia en proyectos críticos, con plazos cortos y requisitos cambiantes 21
  • 22. Ingeniería de Software I - Metodologías de Ingeniería de Software SCRUM • Scrum define un ciclo de vida iterativo e incremental, que mejora la gestión del riesgo y aumenta la comunicación • Se basa en tres pilares • Transparencia • Todos los aspectos del proceso que afectan al resultado son visibles para todos aquellos que administran dicho resultado • Inspección • Se debe controlar con la suficiente frecuencia los diversos aspectos del proceso para que puedan detectarse variaciones inaceptables en el mismo • Revisión • El producto debe estar dentro de los límites aceptables • En caso de desviación se procederá a una adaptación del proceso y del material procesado • Mecanismo de mejora continua, esto es, de control, para adaptarse y mejorar 22
  • 23. Ingeniería de Software I - Metodologías de Ingeniería de Software SCRUM Cada equipo Scrum tiene tres roles • Scrum Master. Es el responsable de asegurar que el equipo Scrum siga las prácticas de Scrum. Sus funciones • Ayudar a que el equipo y la organización adopten Scrum • Liderar el equipo Scrum para buscar la mejora en la productividad y la calidad de los entregables • Ayudar a la autogestión del equipo • Gestionar e intentar resolver los impedimentos con los que el equipo se encuentra para cumplir las tareas del proyecto • Product owner. Es la persona responsable de gestionar las necesidades que se quieren satisfacer mediante el desarrollo del proyecto. Sus funciones • Recolectar las necesidades (historias de usuario) • Gestionar y ordenar las necesidades • Aceptar el producto software al finalizar cada iteración • Maximizar el retorno de la inversión del proyecto • Equipo de desarrollo. Tiene las siguientes características • Autogestionado. El mismo equipo supervisa su trabajo (no existe el rol clásico de jefe de proyecto) • Multifuncional. Cada integrante del equipo debe ser capaz de realizar cualquier función • No distribuidos. Es conveniente que el equipo se encuentre en el mismo lugar físico • Tamaño óptimo. Al menos tres personas, máximo nueve, sin contar al scrum master ni al product owner 23
  • 24. Ingeniería de Software I - Metodologías de Ingeniería de Software SCRUM Acciones de los patrones de proceso • Retraso (pila de producto o product backlog): priorización de requisitos. Debe estar detallado de manera adecuada, estimado, emergente y priorizado • Sprints: unidades de trabajo requeridas para alcanzar un requisito. Es cada iteración. Se recomiendan iteraciones cortas (1-4 semanas) y cuyo resultado será un producto software potencialmente entregable. El equipo de desarrollo selecciona las historias de usuario que se van a desarrollar en el sprint para conformar así la pila de sprint (sprint Backlog). La definición de cómo descomponer, analizar o desarrollar este sprint backlog queda a criterio del equipo de desarrollo. Además, la lista de tareas se mantendrá inamovible durante toda la iteración • Reuniones Scrum: reuniones breves dirigidas por el maestro Scrum • Demostraciones preliminares: entrega de un incremento al cliente 24
  • 25. Ingeniería de Software I - Metodologías de Ingeniería de Software SCRUM 25 Product backlog (priorizado por el cliente) Sprint backlog Tareas backlog ampliadas por el equipo Reunión diaria 24 h. 1-4 semanas Incremento del producto Demostración de su funcionalidad
  • 26. Ingeniería de Software I - Metodologías de Ingeniería de Software BIBLIOGRAFÍA • B. Henderson-Sellers y D. G. Firesmith, "Comparing OPEN and UML: The two third-generation OO development approaches," Information and Software Technology, vol. 41, no. 3, pp. 139-156, 1999. doi: 10.1016/S0950-5849(98)00127-X. • C. Ashworth y M. Goodland, SSADM: A Practical Approach. London, UK: McGraw-Hill, 1990. • D. Coleman, P. Arnold, S. Bodoff, C. Dolin, F. Hayes y P. Jeremaes, Object-Oriented Development: The Fusion Method. Englewood Cliffs, NJ, USA: Prentice-Hall, 1994. • D. Turk, R. France y B. Rumpe, "Limitations of Agile Software Processes," en Proceedings of 4th International Conference on eXtreme Programming and Agile Processes in Software Engineering, XP2002. (Alghero, Sardinia, Italy, April 2002) pp. 43-46, 2002. • F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, "Introducción a la Ingeniería del Software," Recursos docentes de la asignatura Ingeniería de Software I. Grado en Ingeniería Informática. Curso 2021-2022, F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, Eds., Salamanca, España: Grupo GRIAL, Universidad de Salamanca, 2022a. [Online]. Disponible en: https://bit.ly/34uwOfw. doi: 10.5281/zenodo.5972771. (pp. 65-90). • F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, "Modelos de proceso," Recursos docentes de la asignatura Ingeniería de Software I. Grado en Ingeniería Informática. Curso 2021-2022, F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, Eds., Salamanca, España: Grupo GRIAL, Universidad de Salamanca, 2022b. [Online]. Disponible en: https://bit.ly/3skyaSo. doi: 10.5281/zenodo.5974896. (pp. 63-71). • F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, "Metodologías ágiles," Recursos docentes de la asignatura Ingeniería de Software I. Grado en Ingeniería Informática. Curso 2020-2021, F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, Eds., Salamanca, España: Grupo GRIAL, Universidad de Salamanca, 2021a. [Online]. Disponible en: https://bit.ly/3yofrbf. doi: 10.5281/zenodo.5781297. • F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, "Metodologías estructuradas y orientadas a objetos," Recursos docentes de la asignatura Ingeniería de Software I. Grado en Ingeniería Informática. Curso 2020-2021, F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, Eds., Salamanca, España: Grupo GRIAL, Universidad de Salamanca, 2021b. [Online]. Disponible en: https://bit.ly/33k3CHo. doi: 10.5281/zenodo.5781241. • F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, "Scrum," Recursos docentes de la asignatura Ingeniería de Software I. Grado en Ingeniería Informática. Curso 2020-2021, F. J. García-Peñalvo, A. García-Holgado y A. Vázquez-Ingelmo, Eds., Salamanca, España: Grupo GRIAL, Universidad de Salamanca, 2021c. [Online]. Disponible en: https://bit.ly/3J1rnEP. doi: 10.5281/zenodo.5781344. 26
  • 27. Ingeniería de Software I - Metodologías de Ingeniería de Software BIBLIOGRAFÍA • H. Tardieu, A. Rochfeld y R. Coletti, La Méthode Merise. Tome 1. Principes et outils. Paris: Editions d'Organisation, 1983. • I. Jacobson, M. Christerson, P. Jonsson y G. Övergaad, Object oriented software engineering: A use case driven approach. Reading, MA, USA: Addison-Wesley, 1992. • I. Jacobson, G. Booch y J. Rumbaugh, The Unified Software Development Process (Object Technology Series). Reading, Massachusetts, USA: Addison Wesley, 1999. • J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy y W. Lorensen, Object-oriented modeling and design. Englewood Cliffs, NJ, USA: Prentice-Hall, 1991. • K. Beck, Extreme Programming Explained. Embrace Change. Boston, MA, USA: Addison-Wesley, 2000. • K. Schwaber, "SCRUM Development Process," en Business Object Design and Implementation. OOPSLA ’95 Workshop Proceedings 16 October 1995, Austin, Texas, J. Sutherland, C. Casanave, J. Miller, P. Patel y G. Hollowell, Eds. pp. 117-134, London, UK: Springer London, 2007. doi: 10.1007/978-1-4471-0947-1_11. • K. S. Rubin y A. Goldberg, "Object Behavior Analysis," Communications of the ACM, vol. 35, no. 9, pp. 48-62, 1992. doi: 10.1145/130994.130996. • M. G. Piattini Velthius, J. A. Calvo-Manzano, J. Cervera Bravo y L. Fernández Sanz, Análisis y Diseño de Aplicaciones Informáticas de Gestión. Una perspectiva de Ingeniería del Software. Madrid, España: Ra-ma, 2004. • Ministerio de las Administraciones Públicas, Metodología Métrica 2.1. Volúmenes 1-3. Madrid, España: Tecnos, 1995. • Ministerio de las Administraciones Públicas, Métrica v3, Madrid, España: Ministerio de las Administraciones Públicas, 2001. [Online]. Disponible en: https://goo.gl/FZ3aX4 • R. Wirfs-Brock, B. Wilkerson y L. Wiener, Designing Object-Oriented Software. Upper Saddle River, NJ, USA: Prentice-Hall, 1990. • S. Shlaer y S. Mellor, Object Life Cycles: Modeling the World in States. Upper Saddle River, NJ, USA: Prentice-Hall, 1992. • Yourdon Inc., Yourdon™ Systems Method. Model-driven systems development (Yourdon press Computing Series). Englewood Cliffs, NJ, USA: Prentice Hall, 1993. 27
  • 28. METODOLOGÍAS DE INGENIERÍA DE SOFTWARE INGENIERÍA DE SOFTWARE I 2º DE GRADO EN INGENIERÍA INFORMÁTICA CURSO 2021/2022 Francisco José García Peñalvo / fgarcia@usal.es Alicia García Holgado / aliciagh@usal.es Andrea Vázquez Ingelmo / andreavazquez@usal.es Departamento de Informática y Automática Universidad de Salamanca