Powered By Blogger

domingo, 6 de marzo de 2016

ANIMACIÓN



Animation made by Alejandro Reyes on Moovly (Spot) , Animoto (Intro)
Music : (Intro) WWE,  (Spot) Kevin Macleod

sábado, 20 de febrero de 2016

Practica 4



Escenario

La empresa el Pato Volador en la que usted labora ha sido contratada por una Agencia Espacial para desarrollar el software de un  satélite que  se desarrollará en 3 meses como máximo, ya que es el tiempo en que será el lanzamiento del satélite para ponerlo en órbita. El satélite auxiliará el retorno de una las naves espaciales que regresan  a la tierra.


La Agencia Espacial ha puesto a su disposición a los ingenieros encargados de proporcionar los requerimientos del software de tiempo completo, así como los recursos  e instalaciones necesarios para lograr el desarrollo del software en el tiempo establecido.

El Pato Volador  ha propuesto a los directivos de la Agencia Espacial la metodología de Programación Extrema (XP por sus siglas en ingles) para la realización del software, ya que es indispensable terminar en tiempo el proyecto. 



Usted debe utilizar la metodología XP para organizar a su equipo de trabajo y a los ingenieros de la Agencia, explicándoles la metodología XP y las funciones que deben realizar en las diferentes fases del proceso de desarrollo del software.

Preguntas
¿Qué es la Programación Extrema?
  La programación extrema es una metodología de desarrollo ágil que tiene como principal objetivo aumentar la productividad a la hora de desarrollar un proyecto software. Da prioridad a los trabajos que dan un resultado directo y en los cuales se reduce la burocracia que pueda existir en el entorno de trabajo. 
 [REFERENCIA]


¿Cuáles son los valores y principios de la  Programación Extrema?

  1. Comunicación
  2. Simplicidad
  3. Realimentación
  4. Coraje
    [REFERENCIA]


¿Cuáles son las actividades, recursos y prácticas de la Programación Extrema?

  1. Retroalimentación 
  • Principio de Pruebas
  • Planificación
  • El cliente forma parte del equipo de desarrollo
  • Programación por parejas  
  1. Proceso Continuo
  • Integración Progresiva
  • Eliminar código duplicado o inútil
  • Entregables pequeños   
  1. Propiedad intelectua
  1. Entendimiento  
  • Diseño Simple
  • Visión evolutiva
  • Todos son dueños del código  
  • Sin embargo, se debe aplicar un estandar para mantener un código uniforme  
  • La semana se ajusta a 40 horas
 [REFERENCIA]

¿Cuál son las fases del proceso de desarrollo de XP?


  1.  Planificación: El primer paso de cualquier proyecto que siga la metodología X.P es definir las historias de usuario con el cliente. Las historias de usuario tienen la misma finalidad que los casos de uso pero con algunas diferencias: Constan de 3 ó 4 líneas escritas por el cliente en un lenguaje no técnico sin hacer mucho hincapié en los detalles; no se debe hablar ni de posibles algoritmos para su implementación ni de diseños de base de datos adecuados, etc.
  2.  Diseño: La metodología X.P sugiere que hay que conseguir diseños simples y sencillos. Hay que procurar hacerlo todo lo menos complicado posible para conseguir un diseño fácilmente entendible e impleméntable que a la larga costará menos tiempo y esfuerzo desarrollar.
  3.  Codificación: La codificación debe hacerse ateniendo a estándares de codificación ya creados. Programar bajo estándares mantiene el código consistente y facilita su comprensión y escalabilidad.
  4. Pruebas:   Uno de los pilares de la metodología X.P es el uso de test para comprobar el funcionamiento de los códigos que vayamos implementando.  

[REFERENCIA] 
¿Qué es una historia de usuario?
[REFERENCIA]
 Son descripciones cortas y simples de una funcionalidad, escritas desde la perspectiva de la persona que necesita una nueva capacidad de un sistema, por lo general el usuario, área de negocio o cliente.

Típicamente las historias siguen una plantilla simple: Yo como un [Rol], necesito [Descripción de la funcionalidad], con la finalidad de [Descripción de la consecuencia].



PRESENTACIÓN



MAPA CONCEPTUAL
 

Práctica 3





MiniQuest



La empresa el Pato Volador en la que usted labora ha sido contratada para desarrollar el software  del satélite en un  proyecto de 3 meses como máximo, ya que es el tiempo en que retornará la próxima nave espacial que necesita los servicios del satélite para poder retornar a la tierra.


La Agencia pone a su disposición a los ingenieros encargados de proporcionar los requerimientos del software de tiempo completo, así como los recursos  e instalaciones necesarios para lograr el desarrollo del software en el tiempo establecido. 

No es indispensable entregar la documentación formal del análisis y diseño del software, sin embargo debe haber evidencia que permita el entendimiento del sistema y el funcionamiento del mismo.


Usted debe proponer una metodología de desarrollo de software que permita organizar a su equipo de trabajo y a los ingenieros de la Agencia, mencionando los beneficios y riesgos que puedan existir.



¿Qué son las metodologías ágiles de desarrollo de software?
  Las metodologías ágiles son una serie de técnicas para la gestión de proyectos en lo que se desea es minimizar el impacto de las tareas que no son totalmente imprescindibles para conseguir el objetivo del proyecto.  [Referencia]


¿Cuáles son las características en las que se basan las metodologías ágiles?

 
Un proceso es ágil cuando el desarrollo de software es:

  • Incremental. Entregas pequeñas de software, con ciclos rápidos.
  • Cooperativo. Cliente y desarrolladores trabajan juntos constantemente con una cercana comunicación.
  • Sencillo. El método en sí mismo es simple, fácil de aprender y modificar.
  • Permite realizar cambios de último momento.  [Referencia]

¿Cuáles son las ventajas y desventajas del empleo de las metodologías ágiles respecto a  las tradicionales? 



  Ventajas
  • Las entregas son frecuentes
  • El proceso omite pasos que puedan atrasar el desarrollo
  • Los cambios pueden ser efectuados en cualquier etapa del proyecto
  • Como el cliente tiene mayor comunicación con el equipo, los malentendidos disminuyen
  • Los procesos pueden mejorar

 Desventajas

  • Al no haber documentación, el diseño suele tener pocas bases para trabajar y es muy dificil que pueda ser reusable
    • Se limita a proyectos pequeños



¿Cuándo es recomendable utilizar metodologías ágiles  en el desarrollo de software?



Debido a su naturaleza, no es conveniente para proyectos grandes, ya que el proceso podría tener muchos fallos, por hacerlo "al aventón" es por ello que conviene analizar algunas situaciones en las que conviene aplicarlos: 
  • Procesos con poca documentación o con cortos alcances
    Programas orientados a objetos
    Programas en los que no sea importante la eficiencia y la eficiencia
    Programas con herencia


¿Cuáles son algunos tipos de metodologías ágiles?

  • Dynamic Systems Development Method (DSDM): Metodología ágil más veterana y la que más se aproxima a los métodos tradicionales, su implantación incluso permitiría alcanzar un nivel 2 de madurez según CMMI.
  • Extreme Programming (XP): La metodología ágil más radical y popular. XP se centra en el ciclo de vida del desarrollo de software.
  • Agile Modeling: Metodología para el modelado y la generación de documentación que se encuentra alineado con los principios del desarrollo ágil y que puede ser utilizado como substituto del UML estándar.
  • Feature Driven Development (FCC): Metodología de desarrollo de software orientada a la generación de valor para el cliente.

Presentación


Mapa Conceptual