Mostrando entradas con la etiqueta Desarrollo de Software. Mostrar todas las entradas
Mostrando entradas con la etiqueta Desarrollo de Software. Mostrar todas las entradas

sábado, 9 de mayo de 2015

Curso Inicio práctico a la programación con Python 3.X




Lista de Vídeos:
  • ¿Qué será lo que tiene Python? 21:05
    Vídeo Tutorial nº 1. Hacemos un recorrido por las peculiaridades de este lenguaje de programación, sus orígenes y sus principales puntos fuertes que explican su creciente popularidad en los últimos años. Instalamos todo el entorno de desarrollo y terminamos con una perspectiva de todo el proceso de programación en el desarrollo de un programa Python. 21 minutos.
    Archivos de prácticas: https://www.dropbox.com/sh/firux3ne5x...

  • Python orientado a objetos. 30:18
    Vídeo tutorial nº 2. Empezamos a ver el funcionamiento de Python orientado a objetos. Crear Clases en Python; Instanciar Objetos; Añadir atributos; Añadir comportamientos; El argumento self; Para varios argumentos a métodos. 30 minutos. Archivos de prácticas: https://www.dropbox.com/sh/firux3ne5x...

  • Inicializar Objetos. 19:14
    Vídeo tutorial nº 3. Seguimos con Python orientado a objetos y vemos como inicializar objetos. Inicializar Objetos sin pasar argumentos; El método de inicialización __init__; Aplicar argumentos predeterminados a un método; Documentas nuestros programas; uso de docstrings en Python. 19 minutos. Archivos prácticas: https://www.dropbox.com/sh/firux3ne5x...

  • Uso de módulos y paquetes. 17:08
    Vídeo tutorial nº 4. Módulos y paquetes. Uso de import, import......from e import....from......as; ¿Por qué no debe usarse el comodín asterisco en los imports?; Uso de paquetes; el archivo __init__.py. Ejemplo de jerarquización en un proyecto Python. 18 minutos.

  • Imports absolutos y relativos. 18:53
    Vídeo tutorial nº 5. Imports absolutos y relativos. Tipos de Imports absolutos; Tipos de Imports relativos; el uso de puntos para apuntar a la localización de archivos; Importar una instancia de un objeto en lugar de una clase; Impedir que se ejecute el código importado con el uso de main(); Incluir clases dentro de métodos. 19 minutos.

  • ¿Quién puede acceder a mis datos? 20:34
    Vídeo tutorial nº 6. Vemos como este lenguaje de programación trata el tema de acceso a datos. Concepto de "control de acceso" en la mayoría de los lenguajes de programación; Las diferencias respecto a la aproximación de Python; Uso del docstring y del subrayado simple y doble; Name Mangling; Importar código directamente desde paquetes; Incluir código en el archivo __init__.py. 21 minutos.

  • Caso de uso: Crear Cuaderno de Notas. 23:51
    Vídeo tutorial nº 7. Iniciamos nuestro primer Caso de Estudio. Usaremos todo lo visto hasta ahora para crear un cuaderno de notas. Recopilar los requerimientos de la aplicación; Modelar el diseño; Definir la estructura; Creación del módulo Cuaderno; Creación de la clase Nota. 24 minutos.

  • Creación de la Clase Cuaderno. 28:46
    Vídeo Tutorial nº 8. Seguimos desarrollando nuestro primer caso de uso. La creación de un cuaderno de notas. Desarrollamos completa la clase Cuaderno, formada por una lista y cinco métodos, probamos su funcionamiento y dejamos todo preparado para crear el menú, con el que finalizaremos el primer caso de uso del curso.

  • Creación del Módulo Menu 17:47
    Vídeo tutorial nº 9. Completamos nuestro primer caso de uso. Creamos el módulo Menu, que mostrará un menú al usuario y le permitirá elegir una acción a llevar a cabo. Vemos como crear una biblioteca de acciones. Terminamos probando nuestra aplicación completa. 17 minutos.
    Prácticas en Dropbox: https://www.dropbox.com/sh/firux3ne5x...

  • Herencias en Python. 17:12
    Vídeo tutorial nº 10. Empezamos a ver el funcionamiento de las herencias en Python. ¿Qué son y para que sirven las herencias? Cuando los objetos se parecen. Ejemplo de herencia básica. Superclases y Subclases. Herencias en la práctica. Uso de variables de clase. Creación y uso de una superclase y una subclase derivada. 18 minutos.

  • Sobrescritura de Métodos y uso de super. 23:10
    Vídeo tutorial Nº 11. Seguimos con el tema de las herencias. Extender objetos built-in; extender una lista; extender un diccionario; Sobrescritura de métodos; Uso del método super( ). 23 minutos.

  • Herencias Múltiples y sus problemas. 28:12
    Vídeo tutorial nº 12 del Curso de Python 3, en el que tratamos el tema de la herencia múltiple. Advertencias sobre Herencias Múltiples, Mixins, Creación de una subclase con herencia múltiple; ¿Cómo llamar a métodos de las superclases? El problema de diamante; ejemplo práctico de diamante; solución con el uso de super(). 28 minutos.

  • Polimorfismo y Duck Typing. 19:01
    Un capicúa. Videotutorial nº 1001 en YouTube. Dedicado a Polimorfismo. ¿Qué significa Polimorfismo en programación orientada a objetos? ¿Cómo se utiliza? Ejemplo práctico de uso de Polimorfismo; Duck Typing, una alternativa en Python al polimorfismo. Ejemplo de uso de Duck Typing. 19 minutos.

  • Caso de Uso. Crear Inmobiliaria. 31:48
    Vídeo tutorial nº 14. Iniciamos el segundo Caso de Estudio del Curso, dedicado a la creación de una inmobiliaria. Recopilación de los requerimientos de la aplicación; Modelar Clases y relaciones; Determinación de herencias y herencias múltiples; La clase Inmueble; Uso de **kwargs; Recibir y procesar un número de parámetros variable. 32 minutos.

  • Desarrollo Clases de la Inmobiliaria. 11:50
    Vídeo tutorial nº 15. Seguimos desarrollando nuestro segundo caso de uso. Creamos la clase Apartamento y vemos como solventar el problema de recibir y validar valores desde la superclase. Terminamos creando la clase Casa. 12 minutos.

  • Completar Caso de Estudio Inmobiliaria. 22:07
    Vídeo tutorial nº 16. Completamos nuestro segundo caso de estudio del curso, dedicado al desarrollo de una aplicación inmobiliaria. Creamos las clases Compra y Alquiler, vemos como desarrollar las cuatro clase con herencias múltiples, los problemas que esto plantea y el orden obligatorio en el que deben heredar y porque. Terminamos creando la clase Agente, para añadir y listar inmuebles. Terminamos probando nuestra aplicación. 22 minutos.

  • Tratar con errores y excepciones. 26:18
    Vídeo tutorial nº 17. Tratamos con errores y excepciones. Lanzar excepciones al modo Python; Hacer que un programa lance una excepción; ¿Qué pasa cuando se lanza una excepción? Ejemplos prácticos. 26 minutos.
    Archivos de prácticas: https://www.dropbox.com/sh/firux3ne5x...

  • Manejar Excepciones. 15:55
    Vídeo tutorial nº 18. Vemos como manejar y personalizar las excepciones. Uso de la Cláusula try....except; Indentación; Cazar varias excepciones; Manejar de modo distinto, distintas excepciones; Apilar Excepts; volver al origen del lanzamiento de la excepcion; Crear excepciones como variables. 16 minutos.
    Archivos de prácticas: https://www.dropbox.com/sh/firux3ne5x...

  • Jerarquía de herencias 11:07
    Vídeo tutorial nº 19. Seguimos con las excepciones. Uso de las palabras clave else y finally con excepciones; Las clases Exception y BaseException; Las clases SystemExit y KeyboardInterrupt; diagrama de jerarquía de herencias; uso de except Exception y excetp BaseException. 11 minutos.

  • Definir nuestras propias excepciones. 07:14
    Vídeo tutorial nº 20. Vemos como definir excepciones. Una clase que hereda de Exception; Cómo lanzar la excepción; El método __init__; La declaración raise; Manejar la excepción con try....except. 7 minutos.

  • Caso de Estudio. Sistema de autentificación. 07:07
    Vídeo tutorial nº 21. Iniciamos un nuevo caso de estudio que nos permite profundizar en el trabajo con excepciones y su integración con objetos, herencias, etc. Empezamos explicando en detalle las funcionalidades y requerimientos del proyecto y creamos la clase User.7 minutos.

  • Caso de uso. Clases Exception y Authenticator. 09:54
    Vídeo tutorial nº 22. Seguimos desarrollando nuestro sistema de autentificación y autorización. empezamos definiendo las clases Exception que necesitamos, que heredarán de la clase AuthException. Creamos la clas Authenticator y los métodos que la forman. 10 minutos.

  • Caso estudio. Completar Sistema de Autentificación. 09:43
    Vídeo tutorial nº 23. Terminamos nuestro caso de estudio, dedicado a la creación de un Sistema de Autentificación y Autorización, como medio de practicar con el uso de Excepciones. Creamos la Clase del autorizador y probamos el proyecto finalizado en el Shell para ver su funcionamiento. 10 minutos.

  • Estructuras de datos. 08:08
    Vídeo tutorial nº 24. Iniciamos un bloque que vamos a dedicar a ver las estructuras de datos. Vemos en que se parecen y se diferencian de las clases; las funciones que cumple Object y cuando debemos usar estructuras de datos diferentes de Objetos. 9 minutos.

  • Trabajo con Tuples 12:44
    Vídeo tutorial nº 25. Vemos el uso y características de los Tuples ¿Qué son los Tuples? ¿Qué ventajas presentan frente a otros tipos de datos? ¿Cuándo usarlos? Empaquetado y desempaquetado de Tuples. Ejemplo práctico de uso de Tuples. 12 minutos.

  • Nombrado tuplas. 08:49
    Vídeo tutorial nº 26. Los Named Tuples. ¿Cómo solucionar el problema de legibilidad de los tuples? Darles nombre de identificación; Acceso a los items de un Named Tuple; ejemplos prácticos. 9 minutos.

  • Uso de diccionarios. 11:16
    Vídeo tutorial nº 27. El objeto Dictionary. Crear Diccionarios con {}; El constructor dict(); Añadir y cambiar items a partir de su clave(key); ejemplos prácticos. 11 minutos.

  • Convertir de Python 3 a ejecutables .exe 03:48
    Vemos como convertir aplicaciones de Python 3, tanto en formato .py, como .pyw, en archivos .exe, ejecutables directamente en Windows. Instalar cx_Freeze; Crear el Script ejecutable.py; ejecutar desde la línea de comando. El directorio build con todos los archivos necesarios y el ejecutable. 4 minutos.
    Directorio con el script de código e instrucciones:
    https://drive.google.com/folderview?i...


de Jesús Conde  28 vídeos



Otros artículos relacionados en este blog


Curso para niños de aprender a programar con Python. Los fundamentales de programación también se podrían llamar los universales, porque prácticamente todos los lenguajes de programación los incluyen. Hablamos de variables, operadores, funciones, condicionales....


Familiar MySQL entorno de base de datos con JDBC de apoyo (para aplicaciones basadas en Java App Engine) y DB-API de apoyo (para las aplicaciones basadas en Python App Engine). Interfaz de usuario completa para ...


NET, Ruby (), Python (), C# son los más utilizados. Además debe conocer diversas tecnologías como XML, SQL, JQuery, AJAX (). Preguntas recomendadas: ¿Has desarrollado con Ruby on Rails? ¿Conóces GWT?


Ahí es donde los lenguajes dinámicos (por ejemplo Ruby, Python, Boo, etc) parecen ser una forma natural y obvia de la naturaleza de ese trabajo. Imagínese que usted puede escribir código rápidamente con las siempre ...








Aprender a programar con Python para niños




Lista de Vídeos:
  • ¿Qué es un lenguaje de programación? 09:20
    Vídeo tutorial nº 1 Curso para niños de aprender a programar con Python. Cuando iniciamos el Curso de Python 3, lo hicimos con programación orientada a objetos, sin ver los fundamentales. Los fundamentales de programación también se podrían llamar los universales, porque prácticamente todos los lenguajes de programación los incluyen. Hablamos de variables, operadores, funciones, condicionales....Dado que Python es considerado como el lenguaje de programación más limpio y sencillo de escribir, puede convertirte en la mejor puerta de entrada en el mundo de la programación. Dirigido a niños de 7 a 77 años. Estoy seguro que cualquier niño a partir de los diez años (algunos incluso antes) que conozca lo básico de internet, bien orientado por un adulto que sepa algo de programación, podrá seguir el programa sin demasiadas dificultades. Al menos ese es el empeño y el objetivo que me planteo en este curso. Vamos allá, con una explicación general sobre los lenguajes de programación y la instalación del entorno Python. 10 minutos.

  • Python como calculadora. 11:52
    Vídeo tutorial nº 2. Empezamos a escribir código en el Shell de IDLE; vemos lo que es el PROMPT; uso de operadores, significado de expresiones y tipos de datos. 12 minutos.

  • Errare humanun est. 13:57
    Vídeo Tutorial nº 3. Vemos como trabajar con expresiones complejas, usando varios operadores, el sistema de prioridad de operadores que aplica Python y como sobrescribirlo con paréntesis. Explicamos lo que es sintaxis en un lenguaje de programación y hacemos una primera aproximación al tratamiento de errores en python, de tipo sintáctico y semántico. 14 minutos.

  • Uso de variables. 16:34
    Vídeo Tutorial nº 4. Empezamos a ver como podemos almacenar y recuperar información a través del uso de variables. Expresiones y declaraciones de asignación; Gestión de la memoria; asignar el resultado de una expresión a una variable; Pasos que sigue Python en una declaración de asignación. 16 minutos.

  • Las Leyes de Python 11:36
    Vídeo tutorial nº 5. Vemos lo que son las reglas Python y su diferencia con las convenciones; Vemos el caso concreto del nombre de las variables y hacemos referencia al PEP8. 12 minutos.

  • Funciones Preconstruidas. 18:35
    Vídeo tutorial nº 6. Vemos lo que son las funciones preconstruidas y como llamar a funciones. Similitudes entre llamadas a funciones y operadores; argumentos; ¿Cómo conocer las funciones preconstruidas? ejemplos prácticos. 18 minutos.

  • Definir funciones. 14:08
    Vídeo tutorial nº 7. Vemos como crear nuestras propias funciones. La palabra clave def; función y uso de parámetros; declaraciones de retorno. Terminamos definiendo dos funciones y planteando como práctica elaborar una tercera que veremos en el próximo videotutorial. 14 minutos.

  • Cambiar Theme a IDLE, el IDE de Python. 02:44
    Vídeo tutorial rápido, menos de tres minutos, en el que se explica como modificar el theme que presenta IDLE. Se pueden usar todos los themes que queramos, aunque se incluye en el videotutorial el enlace para descargar el archivo de un theme llamado desert, muy similar al que usa Sublime Text o Pycharm. 3 minutos.

  • Crear y usar Módulos. 11:08
    Vídeo tutorial nº 8. Empezamos creando varias funciones y viendo como guardarlas para poder reutilizarlas. Empezamos a usar Módulos, le añadios funciones y vemos como podemos ejecutarlos desde el Shell de Python. 10 minutos.

  • Uso de tipos de datos String 15:27
    Vídeo tutorial nº 9. Vemos en detalle el trabajo con los tipos de datos String: como crear strings; uso de strings; El carácter escape; Concatenación de Strings; ¿Qué no permiten las Leyes Python con Strings? 15 minutos.

  • Usos de print( ) 13:56
    Vídeo tutorial nº 10. Vemos en detalle los usos de la función print( ). Comparación entre el uso de return y el uso de print( ); Prácticas.

  • Uso de la función input. 17:46
    Vídeo tutorial nº 11. Trabajamos con la función preconstruida input( ), vemos como usarla para recibir y almacenar información del usuario. Vemos también lo que son las secuencias de escape y algunos ejemplos prácticos. 17 minutos.

  • Crear un docsctring. 06:31
    Vídeo tutorial nº 12. Vemos como podemos documentar nuestro código mediante el uso de docstrings. Vemos como crearlo utilizando strings de triple comilla y como python lo incorpora para mostrar en su documentación. 6 minutos.

  • Diseño de una función. 16:44
    Vídeo tutorial nº 13. Vemos en detalle como diseñar una función. Creamos una desde cero siguiendo los cinco pasos: cabecera de la función; el Type Contract; Descripción; Ejemplos de utilización y Cuerpo. 16 minutos.

  • Los tipos Bool (Booleanos) 15:12
    Vídeo tutorial nº 14. Vemos los tipos de datos booleanos. Trabajamos con los operadores de comparación y los operadores lógicos don distintos ejemplos prácticos. 15 minutos.

  • Conversión entre tipos de datos. 12:37
    Vídeo tutorial nº 15. Vemos como convertir entre tipos de datos mediante el uso de las funciones built-in str( ), int( ) y float( ). Llevamos a cabo un ejemplo práctico con la creación de una función que utiliza input( ) para recuperar información y realiza varias conversiones de tipos de datos para lograr una salida final. 12 minutos.

  • Uso de Módulos. 14:00
    Vídeo tutorial número 16. Vemos la importancia de los módulos dentro de este lenguaje de programación. ¿Cómo saber los módulos que tengo accesibles?; Acceder a información sobre módulos específicos; uso de import para importar módulos; uso de la sintaxis de punto para acceder a funciones dentro de un módulo; Ejemplo práctico. 14 minutos.

  • Uso de lógica condicional. 17:12
    Vídeo tutorial nº 17. Empezamos con las estructuras de códigos y la lógica condicional. Uso de if....elif....else; Uso de las estructuras de código. Ejemplos prácticos. 17 minutos.

  • Operadores para trabajar con Strings. 13:45
    Vídeo tutorial nº 18. Iniciamos resolviendo la práctica planteada en el anterior videotutorial. Dedicamos el resto del videotutorial a ver los operadores que nos pemiten trabajar con strings: igualdad, desigualdad, mayor que, menor que, in y la función len. 14 minutos.

  • Realizar operaciones con Strings. 10:30
    Vídeo tutorial 19. Empezamos a realizar operaciones sobre tipos de datos. Vemos como acceder a substrings de un string usando index y slice. Ejemplos prácticos. 11 minutos.

  • Uso de métodos del Objeto String. 13:11
    Video tutorial nº 20. Nos dedicamos a ver como trabajar con Métodos del Objeto String. Sintaxis de llamada a Métodos; Método lower; Acceder a los Métodos disponibles y a su ayuda; Método count; find; rfind; strip... 13 minutos.

  • Uso del Loop for. 14:22
    Vídeo tutorial nº 21. Vemos como usar el Loop For. Explicamos con distintos ejemplos lo fundamental de su funcionamiento y desarrollamos un ejemplo práctico que incluye la mayoría de los elementos vistos hasta ahora en el curso (variables, tipos de datos, funciones, condicionales, loops...). 15 minutos.

  • El Loop While. 09:57
    Vídeo tutorial 22. Seguimos con los Loops. Elaboramos la función dejada como práctica al final del anterior videotutorial. Vemos la sintaxis del loop while y algunos ejemplos prácticos de su uso. Terminamos con un nuevo desafío que queda abierto para el próximo videotutorial. 10 minutos.

  • Prácticas con el Loop While. 16:39
    Vídeo tutorial 23. Realizamos varios ejemplos prácticos del uso del loop while. 17 minutos.

  • Crear Tests con el uso de loops. 08:44
    Vídeo tutorial nº 24. Terminamos el tema de los loops, resolviendo el desafío planteado en el anterior videotutorial y elaborando una nueva función que usando input( ) y el loop while comprueba la respuesta escrita por el usuario para seguir repitiéndose o devolver una respuesta. Sistema que puede servir para crear distintos tipos de tests. 9 minutos.

  • El tipo de datos List. 12:12
    Vídeo tutorial 25. Empezamos a ver el tipo de datos lists. Creación un sistema básico de test con uso del Loop While. Uso de listas; sintaxis; métodos y propiedades de listas. 12 minutos.

  • Métodos del objeto List. 10:41
    Vídeo tutorial 26. Empezamos resolviendo el desafío del videotutorial anterior y empezamos a trabajar con los distintos métodos con los que cuenta el objeto lista. Uso de append( ); extend( ); pop() y remove( ) 11 minutos.

  • Practicas con listas. 11:49
    Vídeo tutorial número 27. Terminamos de ver las lists. Diferencias entre los métodos append( ) y extend( ); Uso del método count( ); dos soluciones al desafío; métodos insert( ); index( ), reverse( ) y sort( ). 12 minutos.

  • La función range( ) 06:57
    Vídeo tutorial nº 28. Lo dedicamos a la función range( ) que nos permite acceder a los índices de strings o listas, para llevar a cabo modificaciones o trabajos con sus contenidos. 7 minutos.

  • Listas anidadas. 08:48
    Vídeo tutorial nº 29. Listas anidadas. Incluir listas dentro de las listas; Acceder a items de las interlistas; Crear una función que accede a items de las lista anidadas. 9 minutos.

  • Leer archivos. 13:04
    Vídeo tutorial nº 30. Vemos como abrir y leer archivos dentro de un programa. La función open(); el método readline(); Uso de loops para leer partes de archivos; el método readlines( ). 14 minutos.

  • Escribir a archivos. 10:43
    Vídeo tutorial nº 31. Vemos como podemos escribir a archivos. Uso del Módulo tkinter y filedialog; funciones para leer y escribir en archivos. Crear un archivo copia. 12 minutos.

  • Uso de Tuples. 5:41
    Vídeo tutorial nº 32. Vemos el uso de Tuples. Semejanzas y diferencias con Listas; ¿Qué se puede hacer con Tuples? Ejemplos de utilización. 5 minutos.

  • ¡Vamos a dibujar con Turtle! 09:32
    Vídeo tutorial nº 33. Iniciamos una parte más práctica. Empezamos trabajando con Turtle, un módulo que forma parte de tkinter y que permite dibujar formas vectoriales a través de código. 10 minutos.

  • ¿Quién le tiene miedo a la POO? 10:23
    Vídeo tutorial nº 34. Vemos lo que es la Programación Orientada a Objetos, hacemos un recorrido por sus orígenes y vemos con ejemplos porque , en contra de una opinión muy extendida, la POO no complica, sino que simplifica muchísimo la escritura de código. 11 minutos.

  • ¡Vamos a Crear Objetos! 07:57
    Video tutorial nº 35. Seguimos con la introcucción a al programación orientada a objetos. Explicando los conceptos de Clases y Objetos; El ejemplo del Módulo Turtle y la Clase Pen; ¿Soy una Clase o Soy un Objeto?; ¿Cómo se crean Objetos? 9 minutos.

  • Crear Funciones de Clase 07:38
    Vídeo tutorial nº 36. Vemos como crear Funciones de Clase. ¿Cómo se definen funciones de Clase?. Añadir características de clase como funciones; Heredar características. Uso del parámetro "self." 8 minutos.

  • ¿Por qué usar Clases y Objetos? 08:17
    Vídeo tutorial nº 37. ¿Por qué usar clases y objetos? ¿Qué funciones podemos aplicar a un Objeto?; La sintaxis de punto; Crear contenido en las funciones; 8 minutos.

  • Trabajos prácticos con Objetos. 07:40
    Vídeo tutorial nº 38. Trabajos prácticos con objetos con Turtle y Pen. Crear un rectángulo; crear un triángulo; Crear objetos de la Clase turtle.Pen( ); Dibujar con varios objetos sobre el mismo lienzo. 8 minutos.

  • ¿Por qué es tan importante el Parámetro self? 09:40
    Vídeo tutorial nº 39. ¿Por qué es tan importante el Parámetro self? Ya conocemos algunas de las ventajas de la POO; Trabajos en equipo; Sistema de herencias; Como llamar a funciones desde dentro de otras funciones en una clase; Para qué usar el parámetro self; Ejemplo de función que llama a otras funciones. 10 minutos.

  • Inicializar Objetos. 09:37
    Vídeo tutorial nº 40. Inicializar Objetos. Solución a los desafíos; Uso de la función __init__ para inicializar objetos; Función especial de Python que se ejecuta automáticamente al crear un nuevo Objeto; Uso de variables objeto; Resumen Clases y Objetos. 10 minutos.

  • Creación de gráficos con Tkinter. 06:39
    Vídeo tutorial nº 41. Creación de gráficos con Tkinter. Crear interfaces y animaciones gráficas; Imágenes y fotogramas; Cómo crear gráficos en Python; Trabajo con interfaces gráficas: tkinter; Crear un botón en una ventana; La función pack; Crear acción para ejecutar con el botón, uso del parámetro command. 7 minutos.

  • Dibujar con Tkinter. 07:12
    Vídeo tutorial nº 42. Empezamos a dibujar con tkinter. Uso de parámetros con nombre; Uso del Objeto Canvas; dibujar líneas dentro del Canvas. 7 minutos.

  • Crear Figuras geométricas. 06:25
    Vídeo tutorial número 43. Crear Figuras geométricas. Vamos a crear cuadrados y rectángulos con tkinter; Uso de la función de la clase Canvas, create_rectangle(); Los cuatro parámetros de la función create_rectangle; Crear un cuadrado y un rectángulo; Las cuatro coordenadas explicadas. Crear rectántulos aleatorios con el uso de la función randrange del módulo random. 7 minutos.

  • Crear formas geométricas en serie. 05:57
    Vídeo tutorial número 44. Crear formas geométricas en serie. Crear función que crea rentángulos aleatorios; Uso de la función random.randrange(); Dibujar rectángulos de modo automático; 6 minutos.

  • Dar color a las figuras geométricas. 05:24
    Vídeo tutorial nº 45. Dar color a las figuras geométricas. Añadir parmetro para color mediante el uso de la opción "fill"; automatizar la construcción de rectángulos con color usando un loop for in. 5 minutos.

  • Sistema para elección de colores. 07:50
    Vídeo tutorial número 46. Sistema para elección de colores. Uso de valores hexadecimales; uso de colorchooser.askcolor( ); Guardar y reutilizar una elección de color; Aplicar sistema a la función para crear rectángulos. 8 minutos.

  • Dibujar arcos. 06:30
    Video tutorial nº 47. Dibujar arcos y formas curvas. Dibujar arcos dentro de rectángulos. Uso de la función create_arc( ); Opciones extent y style; Crear arcos de distintos tamaños y estilos; Opciones fill y outline; Dibujar arcos de distintos colores. 7 minutos.

  • Crear Polígonos. 03:54
    Video Tutorial nº 48. Crear Polígonos. Uso de la función create_polygon; Crear un triángulo; Crear un polígono irregular con cuatro puntos. 4 minutos.

  • Mostrar textos en tkinter. 03:46
    Vídeo tutorial nº 49. Mostrar textos en tkinter. La función Create_text; opciones: text, justify, fill...; parámetro de coordenadas; Ver texto en el canvas; Añadir color, tipo de fuente y tamaño; modificar posición y tamaño canvas. 4 minutos.

  • Cargar Imágenes en Tkinter. 03:10
    Vídeo tutorial 50. Cargar Imágenes en Tkinter. Uso de PhotoImage y create_image; Ruta y tipo de imagen; 3 minutos.

  • Añadir animaciones en tkinter. 06:32
    Vídeo tutorial nº 51. Añadir animaciones en tkinter. Aplicar movimiento a un triángulo; Uso del módulo time. La función move; la función update; la función sleep; movimiento diagonal; movimiento hacia atrás. 6 minutos.

  • Crear interactividad con eventos en Tkinter. 04:50
    Video tutorial nº 52. Crear interactividad con eventos en Tkinter. De qué modo maneja tkinter los eventos; Creación de un triángulo que se mueve como respuesta a un evento; La función bind_all de Canvas. 5 minutos.

  • Responder a eventos de teclado. 07:58
    Vídeo tutorial nº 53. Vemos como responder a eventos de teclado. Creamos una función que permite mover un objeto por el canvas dependiendo de la tecla que se esté pulsando. Uno de los elementos básicos para crear interactividad y juegos. 8 minutos.

  • Mejorar los identificadores. 04:49
    Vídeo tutorial nº 54. Mejorar los identificadores. Las funciones "create_....." de canvas, siempre devuelven un identificador; Almacenar el identificador en una variable; Pasar la variable como parámetro identificador a la función; Aplicar identificadores a otras funciones; La función canvas.itemconfig. 5 minutos.

  • Empezar a desarrollar nuestro juego. 05:20
    Vídeo tutorial nº 55. Empezar a desarrollar nuestro juego. Recorrido por lo aprendido hasta ahora en el curso; Fundamentales del juego que vamos a crear; Importar los módulos; La función title; Resizable; Trabajo con WM(Window Manager); 5 minutos.

  • Crear la clase pelota. 05:59
    Vídeo tutorial nº 56. Crear la clase pelota. Dibujar la pelota en el Canvas; Crear la función de inicialización; Uso de create_oval( ); Guardar el identificador en una variable; Uso de la función move( ); Crear la función dibujar( ); Instanciar un objeto de la clase Pelota; Creación del Main_Loop. 6 minutos.

  • Dar movimiento a la pelota. 04:54
    Vídeo tutorial nº 57. Dar movimiento a la pelota. Modificar la función dibujar( ); Depurar el código a menudo; Modificar el main loop, incluir una llamada a la función dibujar( ); Explicación del main loop en pseudocódigo.

  • Hacer que la pelota rebote en los bordes. 08:23
    Vídeo tutorial Nº 58. Hacer que la pelota rebote en los bordes. ¿Cómo hacer que la pelota rebote cuando llegue al borde? Necesitamos saber lo que mide el Canvas y las coordenadas del objeto; La función winfo-height nos dice la altura del Canvas; La función coords nos devuelve las coordenadas de un objeto por su id; Redefinir la función dibujar; La función coords nos devuelve una lista con cuatro coordenadas; Creación de condicionales para detectar los bordes. 9 minutos.

  • Hacer la dirección de la pelota aleatoria. 05:42
    Vídeo tutorial Nº 59. Hacer la dirección de la pelota aleatoria. Crear lista empezar; Usar random.shuffle; Asignar a X el valor de empezar; Aumentar la velocidad; Detectar los bordes izquierdo y derecho con winfo_width; Aplicar condicionales para el ancho.

  • Crear la Clase Raqueta. 03:33
    Vídeo tutorial Nº 60. Crear la Clase Raqueta. La función __init__ de la Clase Raqueta; Uso de la función create_rectangle(); Instanciar un Objeto de la Clase Raqueta. 4 minutos.

  • Mover la raqueta. 04:58
    Vídeo tutorial Nº 61. Mover la raqueta. Uso de eventos bind_all para enlazar teclas a funciones; Modificar la clase Raqueta, Crear funciones mover raqueta; Enlazar funciones a teclas flecha con bind_all( ); Desarrollar la función dibujar de la clase Raqueta. 5 minutos.

  • Detectar contactos pelota-raqueta. 05:39
    Vídeo tutorial Nº 62. Detectar contactos pelota-raqueta. Añadir Objeto Raqueta como parámetro en la Clase Pelota; Crear la función golpea_raqueta; LLamar a la función; Variables pos y raqueta_pos almacenan coordenadas. 6 minutos.

  • Desarrollar Función golpear_pelota. 05:54
    Vídeo tutorial 63. Desarrollar Función golpear_pelota. Variables que contienen las coordenadas. Imagen del contacto pelota y raqueta. Explicación; Uso de condicionales para determinar si pelota y raqueta están en contacto. 6 minutos.

  • Crear modo de finalizar juego. 07:39
    Vídeo tutorial Nº 64. Crear modo de finalizar juego. El juego finaliza cuando la pelota toca en el fondo del canvas; Crear variable golpea_fondo; Uso de condicionales para detectar cuando la pelota toca en el fondo del canvas; ¿Dónde detectamos el fondo del Canvas?; convertir la variable golpea_fondo a true. Modificar codigo de contacto con bordes horizontales. 8 minutos.

  • Crear modo de iniciar juego. 08:22
    Vídeo tutorial Nº 65. Crear modo de iniciar juego. Tratar con eventos; Event bindings y la función bind_all( ); Uso del event binding button-1'; Crear variable objeto empezado; Crear la función empezar_juego( ); Creación del bind_all( ); Comprobación de la variable en el main loop. 9 minutos.

  • Crear Mensaje de juego finalizado. 03:53
    Vídeo tutorial Nº 66. Crear Mensaje de juego finalizado. Función canvas.create_text( ); La opción font; La opción state; Pasar la opción state de hidden a normal; Función canvas.itemconfig( ). 4 minutos.

  • Modificar aceleración pelota. 04:37
    Vídeo tutorial Nº 67. Modificar aceleración pelota. Pelota a velocidad constante poco natural; Cambiar velocidad pelota al entrar en contacto con la raqueta; Sumar velocidades raqueta y pelota; Modificar función pelota.golpea_raqueta( ); Uso del operador +=. 5 minutos.

  • Finalizar nuestro juego. 08:10
    Vídeo tutorial Nº 68. Finalizamos nuestro juego..... y el curso. Añadir sistema de puntuación; Crear nueva clase Puntuacion; La función __init__; La función tanto( ); ¿Cómo aumentar la puntuación?; El juego completado. 8 minutos.

  • Convertir de Python 3 a ejecutables .exe 03:48
    Vemos como convertir aplicaciones de Python 3, tanto en formato .py, como .pyw, en archivos .exe, ejecutables directamente en Windows. Instalar cx_Freeze; Crear el Script ejecutable.py; ejecutar desde la línea de comando. El directorio build con todos los archivos necesarios y el ejecutable. 4 minutos.
    Directorio con el script de código e instrucciones:
    https://drive.google.com/folderview?i...


de Jesús Conde 70 vídeos.





lunes, 23 de junio de 2014

Curso de PHP - MySQL, en 61 Vídeo tutoriales

Curso de PHP-MySQL en 61 Videotutoriales. Más de 44 horas.

Video tutorial del curso dedicado a la creación de aplicaciones dinámicas web mediante el uso de php y mysql. Introducción en que vemos una perspectiva general del curso, partes, estructura y objetivos...





Lista de vídeos:
  1. Introducción 21:58
  2. Acceder a contenidos dinámicos 1:03:04
  3. Trabajo con variables y constantes 40:46
  4. Uso de Operadores 40:19
  5. Funciones de variables y condicionales 49:39
  6. Uso de Loops 43:30
  7. Almacenar y recuperar datos de archivos 42:49
  8. Funciones para trabajar con archivos 35:00
  9. Arrays numéricos y asociativos 33:52
  10. Arrays multidimensionales 46:17
  11. Clasificación de Arrays 43:34
  12. Uso de funciones para modificar Arrays 45:37
  13. Funciones para modificar strings. 35:59
  14. Formatear, cortar y unir strings. 33:51
  15. Buscar y reemplazar substrings 33:56
  16. Introducción a las Expresiones Regulares 52:34
  17. Reutilización de código: uso de require e include. 35:09
  18. Declaración y llamada a funciones 45:21
  19. Parámetros y alcance de las funciones 55:25
  20. PHP Orientado a Objetos. 1:00:19
  21. Diseño práctico de una clase 46:38
  22. Diseñar una base de datos para la web 34:18
  23. Crear una base de datos para la web 49:24
  24. Tablas y campos en las bases de datos 40:02
  25. Trabajar con Bases de Datos 39:57
  26. Consultar, Modificar y Eliminar datos de la Base de Datos 1:15:29
  27. Acceder a la base de datos MySQL desde la Web con PHP 57:11
  28. Añadir información a la base de datos desde la web con PHP 23:59
  29. Usar PHP y MySQL para grandes proyectos 48:17
  30. Planificar un gran proyecto Web 32:41
  31. Aplicación para almacenar y compartir enlaces html 55:20
  32. Desarrollo práctico de la primera aplicación. 59:21
  33. Añadir, borrar y compartir marcadores en la aplicación 46:03
  34. Uso de sesiones de control en PH 51:18
  35. Creación de una Tienda Online 56:45
  36. Tienda Online: Desarrollo aplicación 48:36
  37. Tienda Online: Módulos pagos y administrador 37:00
  38. Crear Imágenes con PHP 59:57
  39. Crear diagrama con PHP y MySQL 27:35
  40. PHP y X 57:22
  41. APIs DOM, SAX y SimpleXML 45:33
  42. Crear un CMS y un CMS con XML 53:02
  43. Proyecto PEAR. Gestión y manejo de paquetes 49:38
  44. PEAR DB. PHP y Bases Datos 34:28
  45. Trabajar con mails en PHP 46:38
  46. Crear Lista Mails 34:58
  47. Crear PDF desde PHP 33:39
  48. Crear Aplicaciones web seguras 54:54
  49. Register Globals y subida archivos 36:51
  50. Sistemas de autentificación en PHP 1:00:09
  51. Creación de un CMS I 50:25
  52. Creación de un CMS II 47:10
  53. Creación de un CMS III 44:28
  54. Actualizar a PHP5. Programación Orientada a Objetos I 52:24
  55. Actualizar a PHP5. OOP II 1:00:27
  56. Actualización a PHP5. III 37:32
  57. Uso de Métodos Mágicos 26:30
  58. Usar Web Services 27:07
  59. Crear un Mashup. 23:56
  60. Uso de Ming. Crear Flash con PHP 40:29
  61. Uso de Ming. Segunda Parte. 42:23






viernes, 13 de junio de 2014

Desarrollo de Aplicaciones Android, Curso en vídeo.

Desarrollo Aplicaciones Android.




Lista de Vídeos:
  1. Configurar Entorno de Desarrollo. 46:17
  2. Conocer las herramientas del SDK de Android. 34:06
  3. Android para desarrolladores de juegos. 51:33
  4. Conocer las APIs de Android 34:04
  5. El Ciclo de Vida de una Activity. 36:21
  6. Eventos Single y Multi Touch. 53:50
  7. Uso de Keyboard y Acelerómetro. 48:09
  8. Sistemas de Manejos de Archivos. 43:51
  9. Trabajar con Audio. 49:02
  10. Fundamentales del Trabajo con gráficos. 35:08
  11. Uso de Bitmaps y Textos. 41:28
  12. Diseño de un juego. 40:23
  13. Módulos Audio e Input. 39:13
  14. Desarrollo de los Manejadores de la interface Input. 47:27
  15. Desarrollo del Módulo Gráficos. 44:36
  16. Desarrollo del Módulo Juego. 25:16
  17. Los Piratas entran en escena. 1:09:38
  18. Modelo, Vista y Controlador del juego. 41:59
  19. Persistencia de Datos y Bases de Datos con SQLite. 53:19
  20. ViewGroups y Views Básicas 40:47
  21. Picker Views y List Views 37:57
  22. Views para mostrar imágenes, menús y Webs. 34:38
  23. Uso de Content Providers. 30:20
  24. Creación y uso de Content Providers. 27:19
  25. Introducción a AndEngine. 37:55
  26. Publicar las aplicaciones Android. 21:43


Otras entradas relacionadas en este Blog:

Android: Programación de Aplicaciones para Móviles. Android. Sistema Operativo diseñado para dispositivos móviles, tablets, reproductores MP3,netbooks, PCs, etc. Ver Lista de Reproducción completa... Lista de Vídeos del ...




martes, 20 de mayo de 2014

Android: Programación de Aplicaciones para Móviles


Android. Sistema Operativo diseñado para dispositivos móviles, tablets, reproductores MP3,netbooks, PCs, etc.



Lista de Vídeos del curso:
  1. Android Presentación. 11:03
  2. Android Herramientas Teleformación. 6:48
  3. Características de Java. 8:12
  4. Creación de clases en Java. 9:23
  5. Encapsulamiento y visibilidad en Java. 8:08
  6. La herencia en Java. 9:14
  7. El polimorfismo en Java. 8:48
  8. El patrón de diseño Singleton. 9:12
  9. Introducción a la plataforma para móviles Android. 8:42
  10. Comparativa plataformas para moviles. 7:14
  11. Arquitectura de Android. 7:47
  12. Elegir la versión en una aplicación Android. 9:06
  13. Descripción de las versiones de Android. 8:51
  14. Un primer programa en Android. 8:23
  15. Elementos de un proyecto Android. 6:55
  16. Android 4.4 KitKat. 12:34
  17. Los Layouts en Android. 5:21
  18. Uso de recursos alternativos en Android.  7:42
  19. Estilos y Temas en Android. © UPV 6:25
  20. Atributos de la clase View en Android.  9:11
  21. Atributos de la clase TextView en Android. 6:10
  22. La vista TabHost en Android. 8:33
  23. Actividades en Android. 7:02
  24. Intercambio de datos entre actividades. 9:19
  25. Anadiendo un menu en Android. 5:31
  26. Añadiendo iconos en Android. 8:49
  27. Añadiendo Preferencias en Android. 7:35
  28. Uso de ListView. 10:33
  29. Las intenciones en Android. 10:39
  30. Tipos de Recursos en Android. 8:51
  31. Recursos del sistema en android. 8:30
  32. API's para gráficos en Android. 6:32
  33. La clase Canvas en Android. 6:19
  34. La clase Paint en Android. 6:55
  35. La clase Drawable en Android. 7:54
  36. Hilos de ejecución en Android. 9:29
  37. Ejecución en segundo plano con AsyncTask.  10:58
  38. Escuchadores de eventos y manejadores de eventos en Android. 12:13
  39. Sensores en dispositivos móviles. 13:21
  40. Ciclo de vida de una aplicación Android. 7:42
  41. Guardar el estado de las Actividades en Android. 10:35
  42. El ciclo de vida de las aplicaciones en Android: Un ejemplo paso a paso. 9:53
  43. Ciclo de vida de los procesos en Android. 7:39
  44. Multimedia en Android. 8:46
  45. Seguridad en Android. 6:03
  46. Los permisos en Android. 7:13
  47. Permisos definidos por el usuario en Android. 7:17
  48. Servicios. en Android. 6:53
  49. Un servicio para ejecución en segundo plano. 12:54
  50. Un servicio como mecanismo de comunicación entre aplicaciones. 7:48
  51. Notificaciones en Android. 10:42
  52. Almacenamiento Datos en Android. 9:10
  53. Gestión de ficheros en Android. 7:36
  54. Almacenamiento de ficheros externos en Android. 9:23
  55. Uso de base de datos en Android. 14:48
  56. Sockets. 4:45
  57. Protocolo HTTP 1. 6:17
  58. Protocolo HTTP 2. 10:46
  59. Aspectos previos a la publicación en Android. 10:21
  60. La firma digital. 2:24
  61. Firmar una aplicación Android. 8:05
  62. Publicar en Google Play. 12:34
  63. Las plataformas para móviles en 2013. 14:27
  64. Estrategias de localizacion en Android. 9:52
  65. El API de localización de Android. 9:52
  66. Sistemas de geolocalización en dispositivos móviles. 12:02
  67. Los sistemas de posicionamiento global por satélite. 10:39

miércoles, 1 de agosto de 2012

Revisando: Normativas, Estandares y Metodologías en el Desarrollo del Software (01/08/2012).


  • Metodologías y Estándares.
  • ITIL y el desarrollo de software.
  • CMMI vs. ITIL: dos enfoques complementarios.
  • Certificaciones y normativas de calidad en software.
  • DESARROLLO DE PRODUCTOS DE SOFTWARE SEGUROS EN SINTONÍA CON LOS MODELOS SSE-CMM.
  • DESARROLLO DE PRODUCTOS DE SOFTWARE SEGUROS EN SINTONÍA CON LOS MODELOS SSE-CM, COBIT E ITIL.
  • NORMAS Y ESTÁNDARES PARA EL ASEGURAMIENTO DE LA CALIDAD DEL DESARROLLO DEL SOFTWARE.
  • Trabajo de Mejores Practicas para el manejo de Tecnología de Información en las Organizaciones.
  • RELACIÓN ENTRE LAS MEJORES PRÁCTICAS PARA LA GESTIÓN DE IT [PDF].
  • Manual Tecnico ITIL v3 EN ESPAÑOL.
  • Libro ISO/IEC 20000 [PDF].
  • Revisando: ITIL (13/02/2012).



Metodologías y Estándares. 

Fuente: nohaylimites.com

ITIL, CMMI, ISO9000, COSO, COBIT y Six Sigma

Introducción

Si hay alguna palabra que se repite constantemente en el mundo de la informática corporativa es ITIL. Es una palabra mágica. Y a la sombra de ITIL están creciendo unas cuantas más. Dentro del mundo de ITIL ya empiezan a sonar COBIT y CMMI. En este artículo vamos a ver brevemente unas cuantas de estas metodologías y ver como se relacionan con ITIL, y que relación existe entre el Informe COSO y COBIT en el mundo de Control Interno.

1. ITIL

ITIL (Information Technology Infrastructure Library) es el conjunto de buenas prácticas más aceptado y utilizado en el mundo, extraído de organismos del sector público y privado que están a la vanguardia tecnológica a nivel internacional. ITIL es aplicable a cualquier tipo de organización en todo el mundo debido a que los negocios han experimentado una creciente dependencia en los servicios informaticos de calidad.
Este conjunto de guías fue desarrollado por la oficina de comercio del gobierno británico (Office of Government Comerce – OGC) durante los años ochenta. ITIL propone una terminología estándar independiente de la industria y la tecnología, que define “qué hacer” y “qué no hacer” al interior de una organización que aplica la administración de servicios de las TI.


ITIL se centra en el usuario, no en la tecnología; por ello, introduce el concepto de Gestión del Servicio (Service Management), cuyo objetivo es garantizar que las TI estén en línea con las necesidades del negocio. Actualmente existen las versiones oficiales mas usadas que consisten en:
ITIL® versión 2
  • ITIL® Foundation Certificate
    • ITIL® v2 Foundations for Service Management
  • ITIL® Practitioner Certificate
    • ITIL® v2 Practitioner Support & Restorer
    • ITIL® v2 Practitioner Release & Control
  • ITIL® Manager en IT Service Management
    • IT Service Management: Service Support
    • IT Service Management: Service Delivery
ITIL® versión 3
  • ITIL® Foundation Certificate
    • ITIL® v3 Foundations for Service Management
    • ITIL® Foundation Bridge v2 a v3
  • ITIL® Intermediate Level Certificate
    • Service Lifecycle Modules
    • Service Capability Modules
    • Managing Across the Lifecycle
  • ITIL® Expert in IT Service Management Certificate

2. CMMI

CMMI (Capability Maturity Model Integration) es una “aproximación a la mejora de procesos que proporciona a las organizaciones los elementos esenciales para desarrollar unos procesos efectivos”.





Está patrocinada por el Software Engineering Institute de la universidad Carnegie Mellon.
CMMI es una metodología muy orientada sobre todo a desarrollo de software mientras que ITIL abarca todos los ámbitos de las Tecnologías
 de la Información y ni siquiera es una metodología, es un “framework” o marco de trabajo y un conjunto de best practices y
documentación. Se podría decir que CMMI engancha con ITIL en el proceso de Release Management (gestión de versionado).

3. ISO9000

ISO9000 es controlada por la International Organization for Standardization.
ISO9000 está orientada a gestionar la calidad. Para cumplir ISO9000 se requiere que estén implementados una serie de procesos estructurados mientras que ITIL define esos procesos estructurados o las guias para llegar a implementarlos.




Se podría decir que ITIL es un buen camino para llegar a ISO9000.

4. COSO

El Informe COSO es un documento que contiene las principales directivas para la implantación, gestión y control de un sistema de Control Interno. Está diseñado con el objeto de proporcionar un grado de seguridad razonable en cuanto a la consecución de objetivos dentro de las siguientes categorías:
  • Eficacia y eficiencia de las operaciones.
  • Fiabilidad de la información financiera.
  • Cumplimiento de leyes y normas que sean aplicables.



Esta compuesto por:
  • ENTORNO DE CONTROL
  • EVALUACION DE LOS RIESGOS
  • ACTIVIDADES DE CONTROL
  • INFORMACION Y COMUNICACION
  • SUPERVISION
Relacion con COBIT:
En el modelo de control interno, las diferencias que son significativas, sobre todo entre COSO y COBIT, que son los dos modelos más difundidos en la actualidad. La primera gran diferencia es que COSO está enfocado a toda la organización, mientras que COBIT se centra en el entorno IT. La segunda es que COBIT contempla de forma específica la seguridad de la información como uno de sus objetivos, cosa que COSO no hace. Y la tercera, que el modelo de control interno que presenta COBIT es más completo, dentro de su ámbito, que el de COSO, ya que contempla políticas, procedimientos y estructuras organizativas además de procesos para definir el modelo de control interno.

5. COBIT

COBIT (Control Objectives for Information and Related Technology) es del IT Governance
Institute.



Como ITIL, es un “framework” de referencia estándar y una base de conocimiento de “buenas prácticas” de seguridad y control para IT.
Quizás sea COBiT la que más puntos de confluencia presente con ITIL, aunque se presentan como complementarias. Incluso COBiT puede que tenga mayor alcance que ITIL ya que abarca todo el espectro de actividades de IT, mientras que ITIL está muy centrado en
Service Management (gestión del servicio de ITs (tecnologías de información) o TIs).

6. SIX SIGMA

Six Sigma es una metodología de calidad que ni siquiera se circunscribe al ámbito de las IT.
Se puede aplicar a cualquier proceso industrial. Es una aproximación disciplinada y una metodología orientada a datos y encaminada a eliminar defectos, basándose en seis desviaciones estándar de la media aplicables a cualquier proceso.
En teoría, es una metodología para alcanzar la perfección y es capaz de describir cuantitativamente como se está comportando un proceso.

7. Enlaces




ITIL y el desarrollo de software

Fuente: noviconsulting.wordpress.com

Esta es una de las preguntas más comunes que se realizan muchas empresas que tienen iniciativas para la mejora de procesos en el desarrollo de software y la gestión de servicios de TI
 ¿Qué es ITIL?
Es una colección de documentos públicos que contienen un modelo de referencia basado en procesos y las mejores prácticas de la industria de TI que facilita la Administración de Servicios de una organización de TI con Calidad. 

 ¿Qué relación existe entre ITIL y el desarrollo de software?
 ITIL como modelo de gestión de servicios de TI cubre las áreas de una organización como redes, operaciones, organización, telefonía, soporte técnico, help desk, telecomunicaciones, etc. Mientras que desarrollo es exclusivamente software aplicativo, sin embargo este no es habilitado si no tiene una plataforma de cliente/usuario la cual es montada sobre infraestructura de TI como es: servidores, equipos PC, mainframes, workstations, red, switches, routers, sistemas de enfriamiento, etc. Sin los cuales el software no puede operar.
Debido a esta relación tan estrecha entre hardware y software es necesario poder administrar adecuadamente los ambientes de producción, desarrollo y pruebas en donde pueda ser ejecutada una aplicación cualquiera. De ahí la importancia de la disponibilidad y capacidad de la infraestructura que soporta los sistemas

¿Cómo se alinean las mejores prácticas para el desarrollo de software con ITIL?
  • Administración de requerimientos.- Comprende las actividades relacionadas con la definición, clasificación, asignación, seguimiento y control de los requerimientos durante todo el ciclo de vida de desarrollo de software y se alinea con ITIL en el sentido de ser una actividad que se lleva implícita en los procesos que tienen que ver con la definición de los objetivos de negocio los cuales deben ser cumplidos por las áreas de TI.
  • Arquitectura de componentes.- Describe cómo diseñar una arquitectura resistente y flexible que permita cambios en el futuro. Esto nos ofrece una visión y planeación de las arquitecturas tecnológicas necesarias que permitan asegurar la capacidad y disponibilidad de un servicio de TI que soporte procesos de negocio.
  • Modelado visual.- Permite describir un sistema en diferentes niveles de abstracción, simplificando la complejidad sin perder información, para que tanto usuarios, líderes y desarrolladores puedan comprender claramente las características de la aplicación. Este es una de las prácticas que se llevan a cabo dentro del desarrollo de software y que puede ser aplicada para el diseño de los procesos de ITIL, así como los procedimientos operacionales de la infraestructura donde se pueden definir de una manera mas clara  estándar la asignación de roles con las responsabilidades.
  • Verificación continua de la calidad.- Es una guía en la planeación, diseño, implementación, ejecución y evaluación de los diferentes tipos de pruebas. Esta mejor práctica es posible adoptarse para procesos de cambios y liberaciones de hardware y software en donde se requiere un despliegue de soluciones de TI.
  • Control de cambios y configuraciones.- Comprende las técnicas y las herramientas que una compañía usa para administrar los cambios de los componentes de software. Una de las mejores prácticas mas implantadas en las organizaciones es precisamente esta, debido al crecimiento de la infraestructura y cambios generados al paso del tiempo en diferentes ramas de TI como son: software(nuevas versiones, releases, parches), hardware( memoria, procesadores, equipos de conexión mas eficientes, nuevas tecnologías, etc.) y telecomunicaciones (enlaces, fibra óptica, etc).

 ¿Cuáles con los principales problemas que se pueden encontrar las dos iniciativas?
 En muchas ocasiones las iniciativas pueden presentar los siguientes síntomas:
  • Los requerimientos para la evaluación son similares y los clientes están confundidos
  • Las definiciones de los procesos son cruzados y se realizan tareas duplicadas
  • Las iniciativas no cumplen con los estándares de la organización
  • No se alinean adecuadamente a los objetivos de negocio
  • No existe comunicación entre las iniciativas
  • El personal requerido es el mismo, y en algunas ocasiones asisten a reuniones de una u otra iniciativa lo que provoca confusión
  • Definiciones de procesos que se llaman igual pero son diferentes y tienen diferentes alcances
  • Los usuarios se rehúsan a llevar a cabo un proceso que otra iniciativa realizó en el pasado, existe apatía y sentido de retrabajo

 ¿Qué beneficios tiene alinear MP de desarrollo con un modelo de gestión de servicios de TI?
 Los beneficios principales al realizar esta alineación son:
  • no se duplican las tareas de definición de procesos,
  • a los usuarios se les solicita una sola información,
  • los procesos son alineados para el fin común entre iniciativas o proyectos,
  • no se tienen malos entendidos,
  • el negocio sabe que la solución esta integrada en las propuestas y no se reinventa el hilo negro.

 Dichos proyectos o iniciativas tienen coincidencias:
  • Son basados en las mejores prácticas
  • Proponen un modelo de proceso
  • Definen roles y responsabilidades
  • Diseñan políticas
  • Definen los elementos necesarios para medir el proceso

Debido a esto, muchas empresas se preguntan porque no hacer un solo proyecto que tenga los mismos requerimientos y se diseñen las soluciones alineadas una con otra para no tener esfuerzos extra.
Esta alineación es considerada como vital en empresas que se dedican a la implantación de procesos basados en mejores prácticas para el desarrollo de software como CMMI o RUP. Sin embargo existe un reto mas grande que significa alinear estas soluciones con la implantación de procesos basados en modelos de gestión de servicios de tecnologías de información, estos procesos alienados con el modelo ITIL® (Information Technology Infrastructure Library) tienen en su haber diferentes disciplinas dentro de una clasificación previa de los libros que lo conforman, así mismo comprenden o tratan temas del desarrollo de software.

Por: Ing. Edgar Velázquez Friederichsen. Director de TI Servicios - abril 10, 2011


CMMI vs. ITIL: dos enfoques complementarios

Fuente: idg.es

Cada vez más, a los departamentos de TI se les exige unos niveles de calidad y servicio directamente proporcionales a los niveles de calidad y servicio que se exige a las distintas líneas de negocio. En los últimos años han aparecido dos líneas metodológicas que están consiguiendo un gran protagonismo por su carácter práctico y por los buenos resultados obtenidos: CMMI (Capacity Madurity Model Integrated) e ITIL (Information Technology Infrastructure Library).

Principios básicos de CMMI

El modelo CMMI es una fusión de modelos de mejora de procesos para ingeniería de sistemas, ingeniería del software, desarrollo de productos integrados y adquisición de software. La gran ventaja de CMMI es que ha demostrado ser una metodología de gran eficacia, que ha permitido mejoras de gran impacto en procesos de desarrollo de productos software, tales como reducción del coste de desarrollo, localización y resolución de defectos, entre otras. El gran problema de CMMI es su falta de adecuación al enfoque a servicio que está experimentando el sector de las TI en todas sus líneas de actividad, así como el alto esfuerzo de implantación que exige.

Principios básicos de ITIL

La metodología ITIL por su parte, se basa en recopilar una serie de mejores prácticas en diferentes sectores de actividad a nivel mundial, que se publican de forma práctica y sistemática, con el objetivo de lograr una gestión eficiente de la infraestructura y los servicios de TI. La principal ventaja de ITIL es que ha demostrado su eficacia con su enfoque a la gestión de servicios de TI. El gran problema de ITIL es que no cubre adecuadamente las fases de desarrollo de software ni la gestión de proyectos asociada a esa fase de construcción de activos de software.

CMMI vs. ITIL: dos enfoques complementarios

Analizando ambos modelos, podemos observar que CMMI se centra en garantizar la calidad en el desarrollo de software mientras que ITIL garantiza la explotación del producto software. Por ello, muchas empresas consideran que ambas metodologías no son excluyentes, sino complementarias, embarcándose en proyectos de análisis y definición de procesos que permitan encajar ambas filosofías de trabajo.

Por: Fernando Sánchez es gerente de Grupo Delaware.



Certificaciones y normativas de calidad en software

Fuente: it360.es

Más allá de conseguir un cuadro en la pared conforme estamos certificados en el servicio que prestamos, las certificaciones en sistemas de gestión técnicos deben ser valoradas como una forma de innovar en nuestra organización. La clave es realizar los pasos de manera adecuada y no acometer un proyecto de certificación simplemente porque hayamos conseguido una subvención para ello.
Toni Martin-Avila - 25-09-2010


Si tu empresa realiza algún proceso de software entregado a terceros, por qué certificarse/evaluarse con una normativa?

Los sistemas de tecnologías de la información desempeñan un papel crítico en la práctica totalidad de las empresas. Si además nuestro negocio representa ofrecerlos a terceros, la garantía de que se está haciendo bien genera directamente negocio. El mundo del desarrollo de software como otro servicio TIC necesita una supervisión constante por parte de profesionales para mantenerlos actualizados y en condiciones de funcionamiento. La certificación en ISO15504 o CMMI proporciona a las organizaciones un planteamiento estructurado para desarrollar servicios de aplicaciones software fiables. Es un reto. Pero también es una oportunidad que tienen las empresas para generar más clientes y abrirse a nuevos mercados.


¿Por qué norma me decanto?


Existen diversos modelos de calidad en el ámbito del software. Podríamos agruparlos en sistemas de gestión, calidad en el producto software y calidad en los procesos software. Normalmente las normativas son conjuntos de buenas practicas que se aplican sobre el ciclo de vida de proyectos informáticos y que contribuyen a mejorar los factores de la calidad del software. 

Existen multitud de modelos para la gestión de la calidad del software y otros sistemas y normas de gestión que se han aplicado sobre estos procesos, muchas de ellas con apéndices (normas específicas) para uno de los conceptos más importante en el software: la evaluación. Además el mundo del software englobado en los servicios TI puede ser evaluado en calidad según otros sistemas de gestión sobre TI. 

En este sentido algunas empresas de desarrollo de software han implantado sistemas de gestión basados en ISO 9001, ISO 27001 o ISO 20000 con alcances en los procesos de desarrollo y entrega, pero éstos quizás no son la mejor opción en el caso de que el corazón productivo de la organización se únicamente el software.

Actualmente existen en el mercado “normativo” diversas opciones de las que destacamos:

  • ISO 9001 en el alcance sobre el software y sobre los procesos productivos de la organización. No siempre sobre el desarrollo, puede ser en la identificación de requisitos, en el propio desarrollo y por ejemplo en la entrega y mantenimiento.
     
  • ISO/IEC 9003 Ingeniería del software. Guía de aplicación de la ISO 9001:2000 al software  (NO es CERTIFICABLE. Es una norma de buenas prácticas para definir con más detalle los conceptos de software sobre los procesos de la organización).
     
  • ISO/IEC 12207 Information Technology / Software Life Cycle Processes, es el estándar para los procesos de ciclo de vida del software de la organización. Es la base para ISO 15504-SPICE.
  • ISO/IEC 15504 (conocida como SPICE - Software Process Improvement And Assurance Standards Capability Determination). Un conjunto de 7 normas para establecer y mejorar la capacidad y madurez de los procesos de las organizaciones, proporcionando los principios requeridos para realizar una evaluación de la calidad de los procesos. La definición de los procesos se realiza sobre ISO/IEC 12207.  La familia de normas 15504 espera que  la nueva ISO 29110 sea publicada para crear definitivamente el esquema internacional de certificación, que actualmente está creado con procesos de calidad en las entidades de certificación (realizando evaluaciones externas sobre  ISO/IEC 15504-2 e ISO/IEC TR 15504-7:2008.
  • Capability Maturity Model Integration (CMMI)CMMI se ha convertido mundialmente en un requisito para acceder a la exportación de servicios de software. La norma provee una guía para implementar una estrategia de calidad y mejorar los procesos de una organización que se dedica al desarrollo y/o mantenimiento de software. Dispone de un esquema de certificación creado sobre organismos privados. (no normas ISO)
     
  • ISO/IEC 9126. Desarrolladas entre 1991 y 2001. Software engineering – Product quality consta de 4 partes. La serie de normas ISO/IEC 9126 define las características de calidad del producto de software (parte 1), las métricas internas y externas (partes 2 y 3), y la calidad en uso, que explica cómo la calidad del producto está sujeta a las condiciones particulares de uso (parte 4).
  • ISO/IEC 14598.  Desarrolladas entre 1999 y 2001. Software product evaluation, Evaluación del producto de software, la familia consta de 6 partes. Directamente relacionada con ISO 9126.
  • ISO 25000. La familia de normas 25000 establecen un modelo de calidad para el producto software además de definir la evaluación de la calidad del producto. Tiene 5 partes publicadas, y se encuentra en desarrollo. Pretenden sustituir a ISO 9126 e ISO 14598 ya que desde 2001 no se publicaron nuevas versiones.

  • SCRUM. Un método sencillo y práctico para empezar a practicar calidad. Fabricar y gestiona el desarrollo en tres fases fundamentales: una breve fase de planificación, en la cual se realizan las labores básicas de una planificación breve: visión general del proyecto (estimación muy general, viabilidad del sistema) y construcción del Backlog. por un lado y por otro el desarrollo de la arquitectura al detalle; otra de desarrollo, en la cual tienen lugar los famosos Sprints, y otra final de entrega y balance de los éxitos y fracasos logrados

Evaluación por niveles de capacidad y de madurez

En los modelos de evaluación y mejora de la calidad de los procesos software se pueden encontrar principalmente dos maneras de hacer las evaluaciones: por niveles de madurez, donde se obtiene una “puntuación” cuyo alcance es la organización (departamento, o proyecto, etc.) y por niveles de capacidad, o de manera continua, donde la organización obtiene puntuación para un proceso concreto (por ejemplo para la gestión de requisitos, o la planificación de proyectos, gestión de la configuración, etc.). De entre los modelos de calidad de procesos software de mayor uso en la industria del software, CMMI e ISO/IEC 15504 ofrecen ambos modelos.


¿Y si estoy buscando una certificación que normativa es la más adecuada?


En el marco europeo y español quizás ISO 15504/SPICE es la opción que está evolucionando más en la pyme. Es un modelo que se puede realizar por pasos y adaptado a todo tipo de empresas. La norma está en contínuo desarrollo y entre otros temas está desarrollándose  una parte específica para pequeñas empresas ("mini Spice"). 

La implantación y evaluación externa para la certificación se puede realizar por etapas, de tal manera que en años posteriores se van aumentando su alcance. Esta norma evalúa la calidad software por niveles de madurez y la mejora de procesos. 

Una implantación "creativa" de ISO 155040 y una evaluación intergrada facilita la integración con otras normativas ISO (9001, 27001, 20000). Actualmente ISO 15504 se encuentra en u fase inicial de certificación. En espera de que se publique ISO 29169, SPICE es una norma certificable en el sentido de una evaluación externa (sobre  ISO/IEC 15504-2  y con los requisitos de niveles de madurez y clases de evaluaciones según ISO/IEC TR 15504-7:2008) realizada por entidades de certificación que aportan procesos de calidad en sus evaluaciones externas. 

En 2010 en España hay del orden de 30 empresas certificadas, aunque estos datos no representan un listado oficial, ya que todavía no existe un esquema de acreditación (normalización de la certificación). La norma ISO (ISO/IEC 29169 - The application of conformity assessment methodology to process capability and organizational maturity) actualmente en DRAFT en el comité ISO, esta siendo elaborada con el objetivo de la certificación usando este tipo de evaluaciones.

CMMI es una norma dirigida a grandes empresas o que requieren requisitos de calidad muy altos. Su certificación consiste en verificar y puntuar en que nivel de madurez se encuentra la organización. Está especialmente indicada para empresas cuyos procesos de software se realizan en paises fuera de sus oficinas centrales o en organizaciones que ofrecen el off-shoring/outsourcing del desarrollo de software. La realidad es que para pequeñas empresas la norma resulta costosa y poco productiva. En 2009 en España había más de 180 empresas certificadas 

Este artículo ha sido elaborado a partir de diversas fuentes. INTECO, Portal ISO 155404 en español, grupo Linkedin Spice España y latinoamerica, Página oficial de Spice, PathFinder Scheme, Entreprise Spice


Para saber más
Si te ha gustado el artículo y quieres saber más sobre la temática que trata, te invitamos a que leas más sobre CALIDAD EN EL CICLO DE VIDA DEL SOFTWARE




DESARROLLO DE PRODUCTOS DE SOFTWARE SEGUROS EN SINTONÍA CON LOS MODELOS SSE-CM, COBIT E ITIL

Fuente: docs.google.com


Por Edmundo Tovar (2), José Carrillo (2), Vianca Vega (1), Gloria Gasca (2)

(1) Universidad Católica del Norte
(2) Universidad Politécnica de Madrid



NORMAS Y ESTÁNDARES PARA EL ASEGURAMIENTO DE LA CALIDAD DEL DESARROLLO DEL SOFTWARE

Fuente: scribd.com




Trabajo de Mejores Practicas para el manejo de Tecnología de Información en las Organizaciones

Fuente:scribd.com

Mejore Practicas: - ITIL -COBIT - CMMI - ISO / IEC 20000 y 270000 - PMBOK




RELACIÓN ENTRE LAS MEJORES PRÁCTICAS PARA LA GESTIÓN DE IT [PDF]

Fuente: docs.google.com




Manual Tecnico ITIL v3 EN ESPAÑOL

Fuente: scribd.com


Este manual técnico ha sido recopilado para ofrecer una guía de introducción al conjunto de Mejores Prácticas de ITIL (Information Technologies Infraestructure Library).


El objetivo principal es proporcionar a los lectores una referencia básica con la que puedan llegar a familiarizarse con los métodos y conceptos que subyacen tras ITIL.(Less)




Libro ISO/IEC 20000 [PDF]

Fuente: docs.google.com



Revisando: ITIL (13/02/2012)

Fuente: andreseduardogarcia.blogspot.com.ar

  • IMPLEMENTACION DE ITIL.
  • ITIL en pequeñas y medianas empresas (pymes): ¿es posible?.
  • Evolucion de los Servicios TIC !!!.
  • ¿Que es una CMDB?Articulo de power-itil en CMDB.
  • Gestión de la Configuración - CMDB (ITIL).
  • ITIL - Materiales.
  • Curso Gestión de Calidad de Servicios TI-ISO/IEC 20000 - Formación Gratuita
  • FUNDAMENTOS DE GESTIÓN DE SERVICIOS CON ITIL - Formación Gratuita.
  • Herramientas para ITIL.
  • ITSM & CMDB OpenSource.