lunes, 27 de mayo de 2019

S8. Actividad 1. Integración y redacción del informe final

Tema:
La necesidad de programar correctamente

Capturas de pantalla:
En la parte inferior se localiza el documento completo en PDF.

Documento completo en PDF:

jueves, 23 de mayo de 2019

S7. Actividad 2. Aplicación de encuesta y análisis de resultados


Tabla de valores obtenidos:



Análisis e interpretación de datos de la encuesta sobre errores detectados en programas o aplicaciones.

Se efectuó una encuesta de diez preguntas referente a los errores que presentan los programas en sistemas de cómputo o aplicaciones de dispositivos móviles como tabletas o celulares y cómo el usuario reacciona para solucionarlos. Esta encuesta se aplicó a 10 personas y es para documentar mi anteproyecto "La necesidad de programar correctamente". La encuesta está disponible al inicio de esta página, de la cual se obtuvieron los resultados siguientes.

En el siguiente gráfico se observa que 6 de cada 10 encuestados, al usar programas o aplicaciones, casi nunca tienen errores ortográficos, de cálculo o hacen lento su sistema. 
En relación a lo que el usuario final hace para corregir estos errores, destaca el hecho de que nadie se pone en contacto con el proveedor, por lo que a veces deben reiniciar el programa o aplicación,  vea la siguiente gráfica. 

Análisis de datos
  • Máximo absoluto: 
    • Nunca me pongo en contacto con el proveedor.
  • Tendencia central o moda:
    • Nunca tienen errores de cálculo.
    • Casi nunca tienen errores ortográficos.
    • A veces debo reiniciar el programa o aplicación.
    • A veces al abrirlos hacen al sistema lento.


Conclusiones
Se pronosticaba que los errores detectados por los usuarios tuvieran una tendencia a nunca o casi nunca, sin embargo queda de manifiesto que el desarrollo de software presenta, aunque mínimos, errores, por lo que nosotros como futuros ingenieros de desarrollo de software debemos hacer la pruebas suficientes antes de liberar nuestro programa o aplicación. Otro aspecto importante que debemos tener presente es que el usuario final casi no reporta los errores al desarrollador o proveedor según la encuesta. En este último punto sería necesaria una encuesta mucho mayor para llegar a resultados más fidedignos.

lunes, 20 de mayo de 2019

S7. Actividad 1. Análisis de datos recabados

Reto. "Pamela y sus amigos"

Pamela y sus tres amigos se van a reunir el sábado en la noche para cena, cada uno hará un platillo (Rodríguez, también).

Determina el nombre completo de cada uno de los comensales, así como el tipo de comida que preparará (uno de los muchachos irá, cocinará ravioles).
  1. Fernando no llevará estofado. 
  2. Como la señorita Barrios está a dieta, le dijo a Vargas que sólo podrá comer el platillo que ella misma preparará. 
  3. Tina le pidió a la persona que preparará la ensalada que la hiciera de vegetales crudos porque le encantan. 
  4. Diego y Ríos piensan que como la chica que va a cocina el estofado es muy delgada, será la única que podrá disfrutar libremente de todos los platillos. 
  5. Rodríguez, que hará el pastel, le preguntó a Fernando y a Tina de qué sabor lo preferían.

Análisis de las premisas lógicas
Del primer párrafo se desprende que Pamela no se apellida Rodríguez. Fernando y Tina no se apellidan Rodríguez, según el punto 5. Entonces Diego se apellida Rodríguez y preparará el pastel, Diego Rodríguez.

Como Diego Rodríguez hará el pastel, entonces Fernando preparará ravioles, porque en el segundo párrafo se especifica que uno de los muchachos cocinará ravioles.

Como los ravioles los preparará Fernando, el pastel Diego y como "Tina le pidió a la persona que preparará la ensalada que la hiciera de vegetales crudos porque le encantan", entonces Tina hará el estofado y Pamela preparará la ensalada.

Como Pamela preparará la ensalada, del punto 2 se desprende que ella está a dieta y que su apellido es Barrios.

Por apellido, Ríos no hará estofado (punto 4), ni ensalada (la preparará Barrios), ni pastel (lo preparará Rodríguez), Entonces Ríos preparará ravioles.

Finalmente Tina que preparará estofado se le asigna el apellido restante, Vargas.

Con los datos anteriores se construyó la siguiente tabla de valores:
 Nombre/Apellido
Estofado
Ensalada
Ravioles
Pastel
 Pamela
F
V
F
F
 Fernando
F
F
V
F
 Tina
V
F
F
F
 Diego
F
F
F
V
 Rodríguez
F
F
F
V
 Barrios
F
V
F
F
 Vargas
V
F
F
F
 Ríos
F
F
V
F

De la tabla anterior se desprenden los resultados finales:
 Nombre  Apellido  Comida
 Diego  Rodríguez  Pastel
 Pamela  Barrios  Ensalada
 Fernando  Ríos  Ravioles
 Tina  Vargas  Estofado

Mi reflexión

viernes, 17 de mayo de 2019

S6. Actividad 2. Planeación y aplicación de entrevista

 Guión de entrevista

Buenos días, mi nombre es Romualdo Hernández Bravo y soy aspirante a cursar la licenciatura de Desarrollo de Software en la Universidad Abierta y a Distancia de México, siendo el tema de mi anteproyecto: La necesidad de programar correctamente.

Estamos con la ingeniero en sistemas Angélica González, quien amablemente accedió a participar en esta entrevista. 

Buenos días ingeniero Angelica gracias por participar en este proyecto.

¿Qué le motivó a estudiar su carrera?

¿Trabaja, o ha trabajado de acuerdo a lo que estudió?

¿Considera desgaste o estresante ejercer su carrera?

¿Su carrera le deja tiempo y espacio para dedicarlo a otras cosas personales como la familia o hobbies?
¿Por qué sería importante el desarrollo de software?

¿Es real que los desarrolladores de software, tienen dominio sobre la mayoría de lenguajes de programación o están encasillados en el uso y dominio de sólo uno?

¿Usted hace un estudio previo del proyecto antes de sentarse a programar?

¿Cuáles son los errores más comunes al programar?

¿Usted suele hacer apuntes o comentarios para documentar los segmentos de código que está programando?

¿Usted cree que es necesario el dominio de los depuradores de código para evaluar variables y corregir errores?

Desde su punto de vista, ¿Es común que todo programador haga las pruebas suficientes a su programa para eliminar, lo más posible los errores?

¿Usted sabe de errores en la programación que acarrearon pérdidas económicas o de vidas?

Muchas gracias ingeniero Angelica Gonzales por su participación en esta entrevista.

Entrevista con base en el guión generado

lunes, 13 de mayo de 2019

S6. Actividad 1. Bitácora de investigación


UNIVERSIDAD ABIERTA Y A DISTANCIA DE MÉXICO
Bitácora de Investigación del anteproyecto:

La necesidad de programar correctamente.

 Aspirante: . . . . . . . . . . . . . . Romualdo Hernández Bravo
 Monitor Académico:  . . . . . . Martha Patricia Ramirez Cortes
Domingo 12 de mayo de 2019
Hora Comentarios
10:00 Se programa una visita a la empresa FeDex Tláhuac a las 14:00 para platicar con él gerente H.M y ver la posibilidad de entrevistar al encargado del sistema.
10:30 Se programa una visita para el lunes 13 de mayo a las 12:00 en instalaciones de una empresa de seguridad de nombre International Private Security de México con el director de factor humano J.S.
14:00 Ingreso puntualmente a FeDex, me registro en la caseta de vigilancia donde una señorita muy amable me indica que el gerente ya se había retirado a otra estación FeDex y me entregó la tarjeta de presentación del gerente H.M. 
Lunes 13 de mayo de 2019
Hora Comentarios
12:00 Ingreso a las oficinas de IPS, luego de esperar 20 minutos fui recibido por la señorita asistente del director de factor humano J.S. quién me dijo que el licenciado estaba ocupado, pero me brindó la posibilidad de hacer un recorrido por las instalaciones y me dirigió con el ingeniero en sistemas G.C.quien me comentó que ahí habían desarrollado un programa de nombre INO, Integrador de Nómina Operativa. Con este programa se calcula la nómina de más de 6000 personas. También me mostró un pequeño cuarto denominado Site, donde se encuentran sus servidores. Quedé con él de regresar para hacerle una entrevista el miércoles 15 a las 16:00.
13:34 Me pongo en contacto con el gerente de FeDex Tláhuac quién me informa que no está seguro de que el encargado en sistemas acuda a esa sucursal en esta semana, pero me comenta que con gusto el me recibe el martes 14 por la tarde, pero que me comunique una hora antes para formalizar la reunión.
Martes 14 de mayo de 2019
Hora Comentarios
11:10 Logré contactar a una conocida A.Y.G. quién me recibirá en su domicilio particular para efectuar una entrevista el día 15 a las 21:00 al llegar de su trabajo.
15:00 Luego de ponerme de acuerdo con el gerente de FeDex Tláhuac, fui recibido por él, quien me comenta que tienen un sistema a nivel mundial el cual está basado en códigos de prioridad de entrega y que algunos envíos se cobran al momento de ser entregados. Que manejan grandes volúmenes por lo que utilizan scanners portátiles, con lo cual los datos son enviados al sistema. Se reportan tanto los envíos que llegan como los que salen, así como los envíos defectuosos. Tienen camionetas repartidoras, tráileres, incluso aviones de carga. Por último me dijo que me informaría si el de sistemas iba por ahí esta semana.
Miércoles 15 de mayo de 2019
Hora Comentarios
14:15 Me reúno con el ingeniero G. para platicar del desarrollo de su software denominado INO, Integrador de Nómina Operativa. Cuya entrevista por motivos de seguridad de la propia empresa no debe ser grabada, por lo que tomó mis notas en papel.
21:00 Me reúno con la licencia en informática A.Y.G. para platicar del desarrollo de software y los errores al programar. La entrevista es grabada en vídeo.

sábado, 11 de mayo de 2019

S5. Actividad 2. Análisis y abstracción de información

Marco teórico de los errores en la programación.

El software está prácticamente en todos lados, en empresas, hospitales, colegios, universidades, industria, en nuestro teléfono, etc. Su uso es tan común que damos por hecho que siempre trabajá correctamente, pero cuando se presentan errores, estos saltan a la vista y están en boca de muchos.

Resultado de imagen para errores en la programación La mayoría de los errores son intrascendentes (un programa se cuelga o se cierra), otras veces son molestas, como en el caso reciente de la app de youtube que en el segundo 6 se congela el video o que sus filtros no funcionan correctamente.

Lamentablemente existen errores sumamente graves que han costado la pérdida de millones de dólares y la lamentable la pérdida de vidas humanas.

Antecedentes

Es bien conocida la crisis del software entre los años 1960 y 1980, debido a que el software creado presentaba errores en su ejecución que impedía su correcta puesta en función y cuando se instalaba resultaba que mantener su funcionamiento, implicaba el doble de su costo de desarrollo.

Los errores en la programación tienen grandes pérdidas financieras como el caso del   grupo Knight Capital que costó más de 400 millones de dólares en menos de una hora. El problema era que el algoritmo desarrollado, vendió y compró acciones y propiedades sin evaluarlas, lo que ocasionó estas enormes pérdidas.

La mal programación puede llevar a la muerte de personas como el caso de la máquina Therac-25 que indujo altas descargas de radiación, lo que provocó el deceso de cinco personas.

Lo anterior es una muestra en extremo, pero necesaria para tener en cuenta al desarrollar software. Es necesario pues, hacer pruebas minuciosas sino para desaparecerlas, si para reducirlas. 

Bases Teóricas 

La mayoría de los desarrolladores dedican muy poco tiempo al análisis y diseño de aplicaciones, aunado a esto está el hecho de que se presentan errores lógicos que impiden que el programa realice lo que se espera. Otro tipo de error es el que se presenta en tiempo de ejecución, debido a que existe una división por cero o alguna variable de un tipo declarado es desborda o le es asignado un valor de otro tipo. El error más común es el de compilación debido a una escritura incorrecta del código de programación, en la mayoría de los casos es un error de sintaxis.

Es necesario que el desarrollador aprenda la lógica de la programación y que planté su diseño antes de ponerse frente a una computadora a programar. Es indispensable utilizar pseudocódigo, para lo mismo escribir en pascal o en lenguaje C. El desarrollador debe documentar muy bien su código para que en un futuro sepa lo que dicho código hace. El desarrollador también deberá conocer el alcance y tipo de sus variables, pero sobre todo conocer el depurador.

El muy común que el estudiante desarrollador no emplee la potencia del depurador, pero en la vida profesional deberá volverse un experto en la reducción de errores y deberá hacer muchas pruebas de evaluación antes de entregar el producto final. Algunos expertos consideran que el programa o proyecto es solo el 20% y el restante 80%, corresponde al mantenimiento y manejo de errores.

En internet hay muy poca información respecto al manejo de errores en el desarrollo de software, pero esto no significa que estos no existan, esto implica que hay un gran campo de oportunidad al respecto.

Existen errores irrelevante errores críticos los cuales serán todo un reto poderlos cuantificar en el siguiente anteproyecto a realizar.



Romualdo Hernández Bravo
12 de Mayo de 2019

S5. Actividad 1. Selección y recopilación de información


Anteproyecto de investigación

La necesidad de programar correctamente.


1.    Fuentes primarias y secundarias.
1.1. Primarias
1.1.1.  Diseño pre programación.
1.1.2.  Programar correctamente.
1.1.3.  Errores en el desarrollo de software informático.
1.1.4.  Evaluación de técnicas de detección de errores en programas concurrentes.
1.2. Secundarias
1.2.1.  Errores comunes
1.2.2.  Omisiones de novato.
1.2.3.  Manejo de errores y excepciones.
1.2.4.  Algoritmos de programación.
Buscadores utilizados para la recopilación de la información


Bibliografía

CABOT, J. (24 de agosto de 2018). LOS GRANDES ERRORES DE LA HISTORIA DEL SOFTWARE INFORMÁTICO – DEL PRIMER BUG A HOY. Obtenido de Ingenieria de Software: https://ingenieriadesoftware.es/grandes-errores-historia-software-informatico/
CHAPMAN, D. (1999). Aprendiendo Visual C++ 6 en 21 días. México: PRENTICE-HALL.
Error de software. (17 de abril de 2019). Obtenido de Wikimedia Commons: https://es.wikipedia.org/wiki/Error_de_software#Or%C3%ADgenes_del_t%C3%A9rmino
Ingeniería de software. (7 de mayo de 2019). Obtenido de WIKIPEDIA: https://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_software
MARIA, U. T. (s.f.). Errores y excepciones. Obtenido de http://progra.usm.cl/apunte/materia/errores.html
PLATA, U. N. (24 de junio de 2014). Evaluación de técnicas de detección de errores en programas concurrentes. Obtenido de SEDICI: http://sedici.unlp.edu.ar/handle/10915/36923
REISDORPH, K. (1999). Aprendiendo Borland Delphi 4 en 21 Días. México: PRENTICE-HALL.
SMITH, C., & AMUNDSEN, M. (1999). Aprendiendo programación de bases de datos con Visual Basic 6 en 21 días. México: PRENTICE-HALL.
Wachenchauze, R., Manterola, M., Curia, M., Medrano, M., & Paez, N. (7 de julio de 1918). Capítulo 12. Manejo de errores y excepciones. Obtenido de Algoritmos de Programación con Python: https://uniwebsidad.com/libros/algoritmos-python/capitulo-12
PLATZI. (29 noviembre 2018). 10 errores comunes de programadores junior. [archivo de video]. recuperado de https://www.youtube.com/watch?v=YJ0u-MpYpM4


Carpetas con la documentación textual.




domingo, 5 de mayo de 2019

S4. Actividad 1. Estudio en escarlata

Esquema sobre los pasos que siguió Sherlock Holmes 
 para llegar a las conclusiones que expuso.
1
2
3
4
5
6

lunes, 29 de abril de 2019

Actividad 3. Campaña de difusión.

Sesión 3. Estrategias de aprendizaje autogestivo y colaborativo.

Actividad 3. Campaña de difusión.

1
2
3
4
5

Diapositivas

domingo, 28 de abril de 2019

Actividad 2. Planeando mi campaña publicitaria.

Sesión 3. Estrategias de aprendizaje autogestivo y colaborativo.

Actividad 2. Planeando mi campaña publicitaria.

sábado, 27 de abril de 2019

Actividad 1. Aprendizaje autónomo y estrategias cognitivas.

Sesión 3. Estrategias de aprendizaje autogestivo y colaborativo.

Actividad 1. Aprendizaje autónomo y estrategias cognitivas. 








viernes, 26 de abril de 2019

Actividad 2. Ser estudiante en ambientes virtuales de aprendizaje.

Sesión 2. Modelo educativo y Reglamento escolar.

Actividad 2. Ser estudiante en ambientes virtuales de aprendizaje.


Reflexión sobre los retos que nos plantea ser estudiante en línea.

El ser estudiante en línea no es difícil ni fácil, implica eso sí, una gran responsabilidad para cumplir con nuestros estudios y tareas. Debemos administrar nuestros tiempos para cumplir en tiempo y forma con las entregas programadas por nuestro profesor. Todo gira entorno al alumno y no entorno al profesor como en la enseñanza tradicional. Al hacer uso de las tecnologías potencializamos nuestro aprendizaje y con los foros podemos solicitar ayuda o bien ayudar a nuestros compañero sobre tópicos determinados, de esta forma logramos retroalimentación en conocimientos.

A diferencias de la enseñanza tradicional podemos hacer uso de la gran cantidad de información que hay en  internet, como ensayos, reseñas, libros electrónicos, material multimedia audiovisual y hacer uso de foros.

Estamos en tiempos donde la información está practicante en todos lados, solo debemos saber buscarla y lograr asimilarla. Compañeros los invito a hacer uso de la tecnología con la que contamos, no para mañana que cursemos una carrera sino desde hoy.