Desarrollo Sw Agil

October 3, 2017 | Autor: R. Atausinchi Fer... | Categoría: Software Engineering
Share Embed


Descripción



Sistema de asignación y transferencia de créditos académicos

1.- DATOS DE LA ASIGNATURA

Nombre de la asignatura:

Carrera:




Clave de la asignatura:

(Créditos) SATCA
Desarrollo de Software Ágil

Ingeniería Informática
Ingeniería en Sistemas Computacionales
Ingeniería en Tecnologías de la Información y Comunicaciones

ISD-1302

2-3-5


2.- PRESENTACIÓN

Caracterización de la asignatura.

Ésta asignatura es parte del grupo de asignaturas de la especialidad de Ingeniería de Software; corresponde al módulo que pueden elegir los alumnos de las carreras de Ingeniería en Sistemas Computaciones, Ingeniería en Informática e Ingeniería en Tecnologías de la Información y Comunicaciones.

Ésta materia aporta elementos para que el futuro profesionista desarrolle habilidades que le permitan gestionar proyectos de desarrollos de software.

Desarrollo Ágil se ubica después de que el estudiante ha delineado los aspectos generales para desarrollar software en un ámbito personal y en equipo durante la materia de Entornos de Desarrollo, por lo que el propósito de ésta asignatura es enriquecer y consolidar el conocimiento para desarrollar software aplicando alguna de las metodologías ágiles existentes.

Esta asignatura aporta al perfil de los futuros profesionistas la capacidad para:

Identificar las características del proyecto de software que pretenden desarrollar para poder seleccionar una metodología adecuada.
Gestionar el trabajo en equipo.
Plantear, analizar, diseñar, implementar, implantar y probar un proyecto de software.
Adecuar una metoodología según las necesidades de un determinado proyecto.



Intención didáctica.

La asignatura se encuantra organizada en cuatro unidades de aprendizaje.

En la primera unidad Introducción al Desarrollo Ágil, se hace un ánilisis de las características prinicipales de las metodologías ágiles, así como de su historia y su impacto en el desarrollo de proyectos de software.

En la unidad número dos Programación Extrema, se revisan sus principios básicos, los cuales deben emplearse durante todas las actividades incluídas dentro del proceso de desarrollo de un proyecto de software.

La metodología ágil Scrum, abordada en la unidad tres, requiere del conocimiento de los spritns, los roles, las peculiares actividades y tareas que se llevan a cabo durante el proceso de desarrollo; por lo que en dicha unidad se contempla lo necesario para poder utilizar Scrum en un ambiente práctico.

La última unidad, Metodologías Híbridas, hace referencia a la metodología pionera en esta clasificación: EssUP. Esta metodología utiliza algunas prácticas de Scrum, tomando base el Proceso Unificado y la Madurez de Procesos.

Los contenidos se abordarán de manera secuencial como los marca el programa, buscando la aplicación del conocimiento, para ello en las últimas unidades, como punto final, se propone desarrollar un proyecto de software para aplicar cada una de las 3 metodologías contempladas en esta asignatura.

La extrensión y profundidad de los temas será la suficiente para garantizar que el estudiante logre las competencias señaladas oportunamente. Por otro lado, el estudiante deberá comprometerse a trabajar permanentemente a fin de que logre dichas competencias antes de concluir la materia.

EL profesor además de ser un motivador permanente en el proceso educativo, deberá ser promotor y director de la enseñanza a través de la transmisión de su conocimiento, así como de la aplicación de sus habilidades y destrezas utilizando las herramientas tradicionales y digitales a su alcance para cautivar a sus estudiantes e interesarlos en el tema.

La lista de actividades de aprendizaje refiere a un conjunto de actividades por unidad a fin de asociar la información temática en la aplicación de la misma para fortalecer el aprendizaje significativo.






3.- COMPETENCIAS A DESARROLLAR


Competencias específicas
Competencias genéricas
Aplica los conceptos básicos de las metodologías ágiles.
Competencias instrumentales
Capacidad de análisis, síntesis y abstracción.
Capacidad de comunicación oral y escrita.
Habilidad en el uso de tecnologías de información y comunicación.
Capacidad para identificar, plantear y resolver problemas.
Capacidad para gestionar y formular proyectos.

Competencias interpersonales
Capacidad para trabajar en equipo.
Capacidad crítica y autocrítica.
Compromiso ético.

Competencias sistémicas
Habilidades de investigación.
Capacidad de aplicar los conocimientos en la práctica.
Liderazgo.
Capacidad de generar nuevas ideas (creatividad).
Iniciativa y espíritu emprendedor.
Búsqueda de logro.



4.- HISTORIA DEL PROGRAMA

Lugar y fecha de elaboración o revisión
Participantes
Observaciones
(cambios y justificación)
Instituto Tecnológico de Morelia, Morelia, Mich. del 9 al 13 de Enero de 2012
M.C. José Alfredo Jiménez Murillo
M.C. Miriam Zulma Hernández Sánchez.
Ing. Ignacio Aguilar Magaña.
Lic. Jorge Sánchez Vega.
M. A. Laura Nelly Alvarado Zamora.
M.C. Juan Carlos Olivares Rojas.
M.I. Adrián Núñez Vieyra
Diseño Curricular de los Módulos de Especialidad de las Carreras del Depto. de Sistemas y Computación

5.- OBJETIVO(S) GENERAL(ES) DEL CURSO (competencia específica a desarrollar en el curso)

Conocer y comprender los conceptos básicos de las metodologías ágiles para aplicarlas en proyectos de desarrollo de software.


6.- COMPETENCIAS PREVIAS

Habilidades cognitivas de abstracción, síntesis y reflexión.
Habilidad y responsabilidad para trabajar en equipo.
Aplica los elementos y conceptos integrados en los procesos de desarrollo de software basados en prácticas y estándares convenientes y adecuados para los diferentes entornos de desarrollo de software.


7.- TEMARIO

Unidad
Temas
Subtemas
1
Introducción al desarrollo ágil
Historia del desarrollo ágil
Impacto de las metodologías ágiles
El manifiesto ágil
Características de las metodologías ágiles
Equipos de trabajo
Tiempos de desarrollo
Interacción con el cliente
Documentación generada
Modelos de ciclos de vida para desarrollo ágil
Prototipado
Espiral
Incremental

2
Programación Extrema (XP)
Definición
Historia
Principios básicos
Simplicidad
Comunicación
Retroalimentación (feedback)
Valentía
Respeto
Proceso de desarrollo
Programación en parejas
Pruebas unitarias continuas
Refactorización
Código compartido

3
Scrum (Melé)
Definición
Historia
Roles
Product Owner
Scrum Master
Scrum Team
Usuarios
Stakeholders
Managers
Sprint
Proceso de desarrollo
Daily Scrum (reuniones 15 min diarios)
Pizarra de trabajo
Poker cards

4
Metodologías híbridas
EssUP (Essential Unified Process, Proceso Unificado Esencial)
Definición
Historia
Principios básicos
Cherry picking
El proceso unificado
Casos de uso
Prácticas de Scrum
Madurez de procesos




8.- SUGERENCIAS DIDÁCTICAS (desarrollo de competencias genéricas)

Propiciar actividades de metacognición.
Propiciar actividades de búsqueda, selección y análisis de información en distintas fuentes.
Propiciar el uso de las nuevas tecnologías en el desarrollo de la asignatura.
Fomentar actividades grupales que propicien la comunicación, el intercambio argumentado de ideas, la reflexión, la integración y la colaboración de y entre los estudiantes.
Desarrollar actividades de aprendizaje que propicien la aplicación los conceptos, modelos y metodologías que se van aprendiendo en el desarrollo de la asignatura.
Promover actividades de educación holista.


9.- SUGERENCIAS DE EVALUACIÓN

La evaluación debe ser continua y permanente por lo que se debe considerar el desempeño en cada una de las actividades de aprendizaje, haciendo especial énfasis en:

Participación en clase.
Información obtenida durante las búsquedas encomendadas.
Lectura y análisis de textos.
Autoevaluación, Coevaluación y evaluación de las actividades.
Exámenes teórico-prácticos.
Presentación y exposición de cada actividad de aprendizaje.




10.- UNIDADES DE APRENDIZAJE


Unidad 1: Introducción al desarrollo ágil.

Competencia específica a desarrollar
Actividades de Aprendizaje
Identifica el tipo de metodología adecuada a un determinado proyecto de desarrollo de software.
Investigar en diferentes fuentes el concepto de metodología ágil.
Elaborar un ensayo en el que se identifiquen las principales características de las metodologías ágiles.
Elaborar un cuadro comparativo de las ventajas y desventajas de las metodologías ágiles vs. Metodologías tradicionales.
Elaborar una lista de metodologías ágiles existentes.
Formar equipos en el salón de clase y discutir el material investigado para llegar a conclusiones válidas para todo el grupo.
Elaborar un mapa conceptual de la unidad de introducción al desarrollo ágil.


Unidad 2: Programación extrema (XP)

Competencia específica a desarrollar
Actividades de Aprendizaje
Aplica la metodología XP en un ambiente real.
Investigar en diferentes fuentes el concepto de Programación Extrema.
Elaborar un ensayo en el que se identifiquen sus principales características, así como las actividades que se incluyen dentro del proceso de desarrollo señalado por la misma metodología.
Elaborar una lista de ventajas y desventajas de dicha metodología.
Formar equipos en el salón de clase y discutir el material investigado para llegar a conclusiones válidas para todo el grupo.
Elaborar un mapa conceptual de la unidad de Programación Extrema.
Identificar un proyecto de software que sea candidato a ser desarrollado con Programación Extrema.
Formar equipos para desarrollar un proyecto de software utilizando Programación Extrema.
Elaborar una presentación digital para mostrar los resultados del proyecto de desarrollo de software utilizando Programación Extrema.


Unidad 3: Scrum (Melé)

Competencia específica a desarrollar
Actividades de Aprendizaje
Aplica la metodología Scrum en un ambiente real.
Investigar en diferentes fuentes el concepto de Scrum.
Elaborar un ensayo en el que se identifiquen sus principales características, así como las actividades que se incluyen dentro del proceso de desarrollo señalado por la misma metodología.
Elaborar una lista de ventajas y desventajas de dicha metodología.
Formar equipos en el salón de clase y discutir el material investigado para llegar a conclusiones válidas para todo el grupo.
Elaborar un mapa conceptual de la unidad de Scrum.
Identificar un proyecto de software que sea candidato a ser desarrollado con Scrum.
Formar equipos para desarrollar un proyecto de software utilizando Scrum.
Elaborar una presentación digital para mostrar los resultados del proyecto de desarrollo de software utilizando Scrum.


Unidad 4: Metodologías híbridas

Competencia específica a desarrollar
Actividades de Aprendizaje
Adecua una metodología de desarrollo de software a las necesidades específicas de un determinado proyecto.
Investigar en diferentes fuentes el concepto de Metodología Híbrida.
Elaborar un ensayo en el que se identifiquen las principales características de las metodologías híbridas.
Investigar el concepto de EssUP.
Elaborar un ensayo en el que se identifiquen las principales características de EssUP.
Elaborar una lista de ventajas y desventajas de EssUP.
Formar equipos en el salón de clase y discutir el material investigado para llegar a conclusiones válidas para todo el grupo.
Elaborar en equipos una propuesta de metodología híbrida.



11.- FUENTES DE INFORMACIÓN

Ambler, Scott. (2002). Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process. EUA: Wiley
Beck, Kent. (2004). Extreme Programing Explained: Embrace Change. 2ª Ed. EUA: Addiso-Wesley Professional.
Burke, Eric. (2003). Java Extreme Programming Cookbook. EUA: O'Reilly Media-
Crispin, Lisa. (2002). Testing Extreme Programming. EUA: Addison-Wesley Professional.
Chromatic.(2003). Extreme Programming Pocket Guide. EUA: O'Reilly Media
Jacobson, Ivar. Essential Unified Process. Consultado el día 11 de enero del 2012 del sitio: http://www.ivarjacobson.com/process_improvement_technology/essential_unified_process_software/
Jeffries, Ron.(2000). Extreme Programming Installed. EUA: Addison-Wesley Professional.
Kniberg, Henrik. (2007). Scrum and XP from the Trenches (Enterprise Software Development). EUA: Lulu.com
Pichler, Roman. (2010). Agile Product Management with Scrum: Creating Products That Customers Love. EUA: Addison-Wesley Educational Publishers Inc.
Schwaber, Ken. (2004). Agile Project Management with Scrum. EUA: Microsoft Press
Shore, James. (2007). The art of Agile Development. EUA: O'Reilly Media.

12.- PRÁCTICAS PROPUESTAS

Elaborar ensayos de cada unidad de la materia.
Estructurar los mapas mentales de manera individual después de haber discutido entre todo el grupo las investigaciones de cada unidad.
Utilizar la metodología XP en el desarrollo de un proyecto de software y redactar un reporte de la experiencia adquirida; así como presentar el software elaborado como producto y la documentación exigida por parte de la metodología.
Utilizar la metodología Scrum en el desarrollo de un proyecto de software y crear un reporte de la experiencia adquirida; así como presentar el software elaborado como producto y la documentación exigida por parte de la metodología.
Redactar en equipo una propuesta de metodología híbrida, tomando en cuenta la experiencia adquirida al utilizar las metodologías XP y Scrum de manera práctica.




Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.