Ingenieria open source

482 visualizaciones

Publicado el

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
482
En SlideShare
0
De insertados
0
Número de insertados
12
Acciones
Compartido
0
Descargas
4
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Ingenieria open source

  1. 1. Ingeniería de Software “Open Source”
  2. 2. Calidad <ul><li>Se define como la conformidad del producto ante las especificaciones del diseño, satisface las necesidades y cumple con las expectativas que cumple algún cliente. </li></ul>
  3. 3. Modelos de Calidad <ul><li>La garantía de calidad: en procesos y procedimientos, experiencias y buena gestión. </li></ul><ul><li>Control de Calidad: Verificación y validación, documentando y procesos de prueba. </li></ul>
  4. 4. Gestión de la calidad en el software de Código Abierto (OSS) <ul><li>Se basa en la comprensión de áreas clave de las comunidades sostenibles como: </li></ul><ul><li>La modularidad del Código. </li></ul><ul><li>Gestión de proyectos. </li></ul><ul><li>Pruebas de Proceso de Gestión. </li></ul><ul><li>Para lograr software de alta calidad, los profesionales de OSS deben comprender estas áreas y cómo se relacionan entre sí. </li></ul>
  5. 5. ¿Que es una Comunidad de Software Libre ? <ul><li>Un conjunto de Personas (no instituciones o Empresas); </li></ul><ul><li>Con diferentes grados de Implicación a nivel temporal, de intereses, de gobierno, etc; </li></ul><ul><li>Con una Estructura bien definida y una “Cultura Social” especifica de la comunidad; </li></ul><ul><li>Con liderazgos individuales </li></ul><ul><li>Con individuos Compartidos entre comunidades </li></ul><ul><li>“ Son redes sociales muy evolucionadas” </li></ul>
  6. 6. La participación y la motivación <ul><li>Mientras que la modularidad del código de alta calidad reduce la complejidad y permite a los recién llegados contribuir periféricamente sin afectar al núcleo del sistema, la modularidad por sí sola no atraerá a los programadores a un proyecto. </li></ul><ul><li>Audris Mockus y sus colegas estudio de caso de Mozilla, un proyecto altamente modular que inicialmente tuvo problemas para atraer a los contribuyentes. hubo mayor participación sólo después de la documentación donde el equipo mejoró el núcleo, escribió tutoriales, y herramientas de desarrollo. </li></ul>
  7. 7. La participación y la motivación <ul><li>Los equipos de desarrollo de software libre entienden que los programadores rara vez ofrecen voluntariamente sus servicios desinteresadamente. </li></ul>
  8. 8. Modularidad del Código. la modularidad permite a múltiples desarrolladores trabajar en la misma solución, aumentando la probabilidad de soluciones oportunas y de alta calidad. La corrección de errores también pueden convertirse en una competencia para llegar a la mejor y más eficiente solución.
  9. 9. Revisión por Par (expertos) <ul><li>Eric Raymond afirmó que el ciclo de liberación rápida facilita la revisión de par, porque poniendo en práctica y respondiendo rápidamente para mirar detenidamente los comentarios de los desarrolladores, el código guarda implicada e interesadamente. </li></ul><ul><li>Raymond Señalo que los errores en el desarrollo de software de código abierto todos los errores son superficiales. </li></ul>
  10. 10. Gestión de personas. <ul><li>Gacek y Lawrie señalaron: </li></ul><ul><li>Que el desarrollo de un software de código abierto fomenta activamente la innovación y creatividad, para crear un proceso más centrado en las personas que el desarrollo tradicional, que está dominado por los métodos, instrumentos y técnicas </li></ul>
  11. 11. Detección de Errores <ul><li>En un estudio de 200 proyectos OSS, Luyin Zhao y Sebastian Elbaum encontraron que el desarrollo de software de código abierto se centran: </li></ul><ul><li>En lanzamientos de acontecimiento de buena calidad. </li></ul><ul><li>En &quot;La libertad anticipada”. </li></ul><ul><li>En la liberación a menudo “ los resultados del proceso de mejoras continua por un gran número de desarrolladores que aportan las repeticiones y las rectificaciones”. </li></ul>
  12. 12. Detección de Errores <ul><li>Sistemas de Pruebas: </li></ul><ul><li>Menos del 20% de los desarrolladores de OSS usan planes de pruebas. </li></ul><ul><li>Solamente el 40% de los proyectos usan herramientas de pruebas, aunque esto aumenta cuando el soporte de herramientas de pruebas está extensamente disponible para un leguaje de programación, como JAVA . </li></ul>“ Que en el OSS la mayoría de los errores son superficiales porque existe un gran número de desarrolladores contribuyentes estudiando y observando el código
  13. 13. Detección de Errores McConnell: Sostuvo que en el desarrollo de OSS, los errores se arreglan a nivel de código y no en el nivel de diseño (teniendo en cuenta que el mayor proyecto OSS, es GNU/Linux). Ya que los errores se capturan rápidamente porque el desarrollo de OSS se realiza una revisión por expertos y las pruebas del sistema se producen rápidamente en el prototipo en un iterativo proceso, lo que evita errores en el software.
  14. 14. Normas para el desarrollo OSS <ul><li>Tener una gran comunidad sostenible, lo que da lugar a un rápido desarrollo del código, depuración efectiva, y nuevas características. </li></ul><ul><li>El sistema y la comunidad deben coevolucionar para conseguir el desarrollo sostenible y el software de alta calidad . </li></ul>
  15. 15. <ul><li>Ciclos de lanzamiento rápido mantienen el código y a los desarrolladores interesados y motivados. </li></ul><ul><li>Revisión del código por parte de usuarios externos. </li></ul>Normas para el desarrollo de software libre
  16. 16. Normas para el desarrollo OSS: <ul><li>El ambiente del equipo de proyecto y la cultura son tan importantes como el diseño de sistema creando el software de alta calidad. </li></ul><ul><li>Confianza en la base de usuarios para pruebas del sistema, pero con recursos y patrocinio, se debería complementar estas pruebas con técnicas de pruebas formales, pruebas automatizadas y pruebas de regresión. </li></ul>
  17. 17. Inconvenientes en el Desarrollo OSS <ul><li>El principal inconveniente que se presenta en el desarrollo de OSS es la documentación que debe evolucionar junto al software </li></ul><ul><li> cuando se habla de desarrollo de software de código libre nos encontramos ante el problema de que estamos documentando un software potencialmente realizado por muchas personas, que puede ser libremente modificado. </li></ul>
  18. 18. <ul><li>“ Los buenos programadores saben qué escribir. Los grandes saben qué reescribir (y reutilizar)” </li></ul>

×