domingo, 28 de febrero de 2016

Ruta critica

Ruta critica

Se refiere a la secuencia de actividades que deben ser completadas de acuerdo al cronograma para todo el proyecto de manera que se concluya de acuerdo éste. Si la fecha de terminación del proyecto se ha recorrido, es porque al menos una actividad de la ruta crítica no se completó a tiempo.

Podemos tener una serie completa de actividades que se terminen retrasadas, a pesar de ello el proyecto total se completará a tiempo, esto debido a que las actividades rezagadas están fuera de la ruta crítica. Por otro lado, si el proyecto se está retrasando, el colocar recursos adicionales en las actividades que están fuera de la ruta crítica no traerá como resultado que el proyecto total se complete con mayor prontitud. Hay que observar que la ruta crítica solo va a ser calculada si tenemos secuenciadas todas las actividades del cronograma. La ruta crítica se basa en la comprensión de las actividades sucesoras y predecesoras de cada actividad. Si las actividades no están secuenciadas, la ruta crítica puede ser calculada de manera errónea 


Web quest 4

¿Qué es la Programación Extrema?
La programación extrema (XP), es una metodología de desarrollo ágil, una de las más exitosas en tiempo reciente. Se puede definir como un conjunto de pasos de diversas metodologías, acopladas de manera que sean pasos flexibles a seguir utilizadas con el uso común, para realizar un desarrollo más agradable y sencillo.

¿Cuáles son los valores y principios de la  Programación Extrema?
Los cuatro valores de XP son:
Comunicación, simplicidad, realimentación y  coraje
Los principios fundamentales:
Realimentación veloz, modificaciones incrementales, trabajo de calidad y  asunción de simplicidad.

¿Cuáles son las actividades, recursos y prácticas de la Programación Extrema?
Las prácticas son las siguientes:
1. El juego de la planificación
2. Pequeñas entregas
3. Metáfora
4. Diseño simple
5. Pruebas
6. Refactorización
7. Programación por parejas
8. Propiedad colectiva
9. Integración continúa
10. 40 horas semanales
11. Cliente en casa
12. Estándares de codificación

Las actividades:
Codificar, Hacer pruebas, Escuchar y Diseñar
¿Cuál son las fases del proceso de desarrollo de XP?
Fase de Exploración.
Fase de planificación.
Fase de iteraciones.
Fase de producción.
 Fase de mantenimiento.
Fase de cierre del proyecto.

¿Qué es una historia de usuario?
Son tarjetas físicas en las cuales se anota una descripción de una funcionalidad del sistema, en una oración, se le da un número y un título para ser identificada.
Programación Extrema
La programación extrema, o Extreme Programming (XP), es una metodología de desarrollo ágil, una de las más exitosas en tiempo reciente. Su autor principal es Kent Beck, quien eligió algunas características de otras metodologías y las relacionó de forma que cada una complementara a la otra.
Así, la XP se puede definir como un conjunto de pasos de diversas metodologías, acopladas de manera que sean pasos flexibles a seguir utilizadas con el uso común, para realizar un desarrollo más agradable y sencillo.
Esta metodología tiene como base la simplicidad y como objetivo principal la satisfacción del cliente; para lograrlo se deben tomar en cuenta cuatro valores fundamentales:
Comunicación
Es muy importante que haya una comunicación constante con el cliente y dentro de todo el equipo de trabajo, de esto dependerá que el desarrollo se lleve a cabo de una manera sencilla, entendible y que se entregue al cliente lo que necesita.
Simplicidad
En la XP se refiere que ante todo y sin importar qué funcionalidad requiera el usuario en su sistema, éste debe ser fácil. El diseño debe ser sencillo y amigable al usuario, el código debe ser simple y entendible, programando sólo lo necesario y lo que se utilizará.
Retroalimentación
Es la comunicación constante entre el desarrollador y el usuario.
Coraje
Se refiere a la valentía que se debe tener al modificar o eliminar el código que se realizó con tanto esfuerzo; el desarrollador debe saber cuándo el código que desarrolló no es útil en el sistema y, por lo mismo, debe ser eliminado. También se refiere a tener la persistencia para resolver los errores en la programación.
Fases del proceso de desarrollo de la Programación Extrema
Fase de Exploración.
En esta fase los usuarios escriben las tarjetas de historia que ellos quieren que sean incluidas en la primera versión. Cada una de las tarjetas de historia describe una funcionalidad que será añadida al programa.
Fase de planificación.
En esta fase se establece la prioridad de las diferentes historias y se acuerda el contenido de la primera entrega del proyecto.
Fase de iteraciones.
Esta fase incluye la realización de diferentes fases antes de liberar la primera versión del producto.
 Fase de producción.
En esta fase se llevan a cabo se llevan a cabo un conjunto de pruebas extras, de rendimiento y funcionamiento que son necesarias antes de poder entregar el producto al cliente
 Fase de mantenimiento.
Una vez se ha liberada la primera versión a los usuarios, el proyecto se debe mantener en el entorno de producción siempre y cuando aún hayan iteraciones en fase de producción.
Fase de cierre del proyecto.
 Es la fase en que los clientes ya no tienen más historias que deban ser implementadas. La documentación del proyecto se realiza en esta fase, ya que ni la arquitectura, ni el diseño, ni el código sufrirán cambio alguno.


Mapa conceptual




Presentación





Web quest 3


¿Qué son las metodologías ágiles de desarrollo de software?
Las metodologías de programación son unos métodos para desarrollar software en los que es esencial la colaboración entre los integrantes del equipo de desarrollo y el cliente. Con la presencia del cliente en el equipo de trabajo, las necesidades que se presentan se facilitan. Se caracteriza por la comunicación en vez de la documentación
¿Cuáles son las características en las que se basan las metodologías ágiles?
·         Proceso iterativo e incremental
·         Mitigación del riesgo mediante iteraciones fijas
·         Mejora continua
·         Calidad desde el primer día
·         Priorización de requerimientos de acuerdo a su valor
·         Equipos dedicados y auto-gestionados
·         Colaboración continua con el cliente
·         Incorporar al cambio
·         Prácticas de desarrollo modernas


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

Ventajas:
·         RSI superior
·         El desarrollo ágil aumenta la productividad
·         Simplifica el manejo de la sobrecarga de procesos
·         Mejor perfil de productividad
·         Una mejor gestión del riesgo

Desventajas
·         No funciona con proyectos grandes ni largos
·         Pocas políticas y normas en la documentación
·         Carece de un plan definido de desarrollo



¿Cuándo es recomendable utilizar metodologías ágiles en el desarrollo de software?
Cuando el proyecto que se vaya a realizar sea pequeño o corto o cuando el equipo de trabajo cuente con pocas personas de trabajo


¿Cuáles son algunos tipos de metodologías ágiles?
·         Dynamic Systems development methods
·         Feature driven development
·         Internet Speed Development
·         Lean development
·         Pragmatic programming
·         Scrum
·         Test Driven Development
·         XBreed
·         Extreme Programming
·         Win Win Spiral.
·         Agile Model Driven Development
·         Agile Project Management
·         Agile Unified Process
·         Crystal Methods


Mapa conceptual 






Presentación


.

lunes, 22 de febrero de 2016

Proceso de desarrollo de software 






Evaluación

1.    ¿Qué es el proceso del software?
a)    Es la recopilación de los requerimientos del software.
b)    Es la generación de programas y códigos en un lenguaje específico.
c)    Son las actividades que guían la elaboración del software
d)    Es la metodología en el generación de código
e)    Es la aplicación del modelo vista controlador del desarrollo de software

2.    Los modelos de  proceso del software:
a)    Muestran las necesidades del cliente
b)    Son una abstracción del proceso del software
c)    Se utilizan en proyectos extensos de más de 6 meses
d)    Son un modelo ágil de programación
e)    Son diagramas que muestran el proceso de la ingeniería.

3.    No es una actividad común en el proceso del software
a)    Especificación de software
b)    Diseño e implementación del software.
c)    Validación del software.
d)    Soporte de software
e)    Evolución del software

4.    Son considerados modelos iterativos
a)    Modelo de cascada.
b)    Incremental
c)    Ingeniería de software basada en componentes
d)    Desarrollo en Espiral
e)    Incisos b y d
f)     Ninguno de los anteriores

5.    Utiliza  o adapta software comercial de ser posible
a)    Modelo de cascada.
b)    Incremental
c)    Desarrollo Evolutivo.
d)    Ingeniería de software basada en componentes
e)    Desarrollo en Espiral



6.    Modelo que tiene que finalizar una etapa para poder acceder a otra
a)    Modelo de cascada.
b)    Incremental
c)    Desarrollo Evolutivo.
d)    Ingeniería de software basada en componentes
e)    Desarrollo en Espiral

7.    Son desarrollos evolutivos
a)    Modelo de cascada.
b)    Desarrollo Exploratorio.
c)    Prototipos desechables
d)    Incisos a y b
e)    Incisos  b y c
f)     Ninguno de los anteriores

lunes, 15 de febrero de 2016

Métodos ágiles de Programación

Introducción

Anteriormente en los años 80's y 90's  se decía que la mejor manera de desarrollar software de calidad era mediante una planificación detallada, pero cuando se implemento esta manera de realizar software a proyectos pequeños, se perdía demasiado tiempo en el diseño que en el mismo desarrollo. Es por ello que se tuvieron que proponer nuevos métodos ágiles. 


Desarrollo


La Metodología ágil es un marco metodológico de trabajo que plantea permitir mejorar la eficiencia en la producción " la calidad de los productos finales, tener la capacidad de respuesta al cambio en los productos " sus definiciones, " brindar la mayor satisfacción posible al cliente, a través de la entrega temprana " la retroalimentación continua durante la construcción del producto


Beneficios de las metodologías ágiles


RSI superior

 Desarrollo con metodología ágil refuerza las entregas múltiples lo cual contra el cliente un indicador operante y de cierto modo representaría un capital en trabajo. como tal se refuerza más bien la lista de funcionalidades del acuerdo de entrega y en el promedio implica un enfoque en desarrollar la funcionalidad que se considere más vital para el proyecto desde el simple inicio.

Simplifica el manejo de la sobrecarga de procesos

Los equipos que trabajan sobre normas y regulaciones han de validar su trabajo constantemente lo cual representa un doble sentido de trabajo. Las metodologías por iteración simplifican el proceso de entrega versus validación lo cual además permite adoptar cambios sobre la marcha del alcance del proyecto.



Evaluación

 1.    Los métodos ágiles se utilizan en:
a)    Programación Orientada a Objetos
b)    Desarrollo de software
c)    Soporte de Software
d)    Programación estructurada
e)    Calidad de Software

2.    ¿Qué modelo de desarrollo de software utilizan los métodos ágiles?
a)    Cascada
b)    Lineal
c)    Iterativo
d)    Espiral
e)    Evolutivo

3.    ¿Cuáles son las principales características en las que se basa el método ágil?
a)    Trabajo en equipo, adaptable, avances funcionales
b)    Satisfacción del cliente, reduce tiempo, una sola entrega final.
c)    Comunicación, no se adapta a los cambios, no es interactivo.
d)    Orientado a resultados, no hay comunicación, no hay trabajo en equipo

4.    ¿Cuáles son las características que  diferencian al método ágil del convencional?
a)    El cliente participa en el equipo de desarrollo
b)    Trabajo en equipo
c)    Satisfacción del cliente
d)    Presenta avances incrementales del proyecto al cliente
e)    Adaptable en cualquier etapa del proyecto

5.    En los métodos ágiles el cliente:
a)    Desarrolla Software
b)    Se incorpora al equipo de trabajo
c)    Trabaja en otros proyectos de software
d)    Resuelve problemas de comunicación del equipo
e)    Proporciona los recursos materiales

Conclusiones 

Los métodos ágiles de programación son una metodología que se debe de seguir, siempre y cuando el proyecto que se va a realizar no sea excesivamente grande, de ser así sería mejor usar los métodos tradicionales para tener un producto de calidad.

Referencias

Ophelia Pastrana. (2015). 5 beneficios de aplicar metodologías ágiles en el desarrollo de software. 15-02-16, de I2B Sitio web: http://www.i2btech.com/blog-i2b/tech-deployment/5-beneficios-de-aplicar-metodologias-agiles-en-el-desarrollo-de-software/