lunes, 20 de abril de 2015

Laboratorio 1, Guia (Evidencia)

Buen dia. A Debido a la solicitud de varios compañeros les quiero compartir la evidencia del laboratorio 1, Algoritmos en DFD, la presente es una guia para que tengan idea del desarrollo de la actividad, hay solo 1 ejercicio medio complicado que es el numero 3, el cual lo desarrolle paso a paso para que lo revisen linea linea y comprendan el procedimiento que he realizado. 



NOTA: Gracias a la tecnologia de Google Drive que nos permite compartir estos documentos, de manera facil y con solo  1 click.

viernes, 17 de abril de 2015

Algoritmos en DFD (M. Apoyo)

Bueno por fin empezamos lo bueno, los famosos algoritmos. Cuando hacemos referencia a un algoritmo estamos hablando de elaborar una lista secuencial y detallada de las acciones para realizar una actividad (proceso).

Asi de facil y sencillo, un algoritmo es simplemente que enumere de manera ordenada que debes hacer para resolver el problema que te planteen. Por ejemplo, "Elaborar un algoritmo para encender el computador".

  1. Inicio.
  2. Verificamos si hay servicio de energia electrica
  3. Conectamos el cable de energia verificando que este correctamente enchufado.
  4. Presionamos el boton encender de la CPU.
  5. Presionamos el boton encender del monitor.
  6. Esperamos que que inicie el sistema operativo.
  7. Fin.
 Todo programa de software esta compuesto por uno o muchos algoritmos, he ahi la importancia de aprender a realizarlos. Ahora bien, la manera de representar un algoritmo generalmente es graficamente o a manera de pseudocodigo. Ya cuando es una aplicación o programa estos algorimos se deben escribir en el lenguaje de programación que vallamos a emplear. 

En el programa de formación ADSI, se solicita la diagramación del algoritmos utilizando el programa DFD y a manera de pseudocodigo por medio de la aplicación LPP.

En esta entrada, realizaremos algunos ejemplos de representacion grafica empleandoe el programa DFD. El cual, es un editor y el intérprete de flujograma, presenta una interfaz gráfica que facilita en alto grado la creación de flujogramas (DFD) para la representación de algoritmos. 

Me gustaria dejarles un link de descarga, sin embargo no es posible por las leyes de derechos de autor, sin embargo pueden buscar el programa, DFDfree: el cual tiene Licencia Pública GNU. Basta aclarar, que les recomiendo sean cuidadosos y descargar programas solo de paginas oficiales o que esten seguros sea confible. 

Bueno a lo que vinimos, les voy a compartir una serie de videos de: Fernando Naranjo, donde nos explica brevemente en 5 seciones el uso de la herramienta DFD.


Fuente de videos: Naranjo, Fernando. Introducción a la programación con DFD.  https://www.youtube.com/watch?v=xSVN-sgsXUU

Igualmente puedes continuar viendo la serie de videos del tutorial:
https://www.youtube.com/watch?v=256GAdSYtqA
https://www.youtube.com/watch?v=t6icuX_Fh-0
https://www.youtube.com/watch?v=4thE2dIsmO0
https://www.youtube.com/watch?v=MtZ-4nNxrTs

De la misma manera si desen leer, en las siguientes paginas encontraras informacion concreta de la programación en DFD: 

DFD 1.0: Diagramas de Flujo de  Datos. Manual de Referencia. http://profesores.fi-b.unam.mx/ing_gpemn/cpi/teoria/manual-1.pdf

Manualsito de DFD. Un pequeño manual web del uso de FreeDFD. https://dfdgurzaf.wordpress.com/2010/05/04/objetos/  (En este deberan navegar atraves de los enlaces para ver los temas)

Sostenibilidad del Software NO es software libre

Algunos autores argumentan que el sotfware libre es equivalente  a software sostenible, dicen que en es el futuro del desarrollo de aplicaciónes, sustentan su tesis teniendo como base el principal argumento que el software Libre ororga a todo el que lo desee, permisos para analizar, modificar, actualizar y distribuir el codigo fuente de una aplicación. 

De manera que la reutilización de codigo fuente (reciclaje), hace nuestro software sostenible, porque como reciclar es bueno para el medio ambiente, pues tienen la desfachatez de decir que reciclar codigo fuente hace nuestro software mas seguro, de mejor calidad, nos ahorra tiempo y dinero. Hasta asumen  que estan ayudando a mejorar al mundo porque contribuyen a la economia del  programador que esta iniciando sus primeros proyectos.

Desde mi punto de vista, la reutilizacion de codigo fuente, no esta mal, pero no es viable para realizar un proyecto de software serio y responsable. Pero porque volver a reinventar la rueda, se preguntaran ustedes,  pues si alguien ya hizo el algoritmo que resuelve mi problema, pues lo reutilizo y ya.  

Que pasaria si;
  1. Reutilizas el codigo,  y wala, el programa aparentemente funicona bien, hace lo que se le pide, pero a mediano plazo empieza a fallar por que el fragmento que reulizaste de x o y autor tenia fallos o por que el autor programo un virus oculto.  ... Ups, ahora que hago, me toca volver a realizar el proyecto corrigiendo estos fallos.
Te ahorrias costos, te ahorrias tiempo, tu software seria mas seguro, mas fiable, mas confiable.? Definitivamente no. De manera que para que tu si tienes un proyecto que no demante imporancia, eres libre de reutilizar codigo fuente, incluso tu aplicacion puede ser una colcha de retazos de parches de varios autores. Más si es un proyecto de importancia, intenta realizar el trabajo tu mismo, te tardaras más pero entregaras un proyecto confiable y seguro y si por alguna razon vas a retulizar el codigo de alguien tomate el tiempo para analizarlo linea a linea.
Por  ultimo quiero decir que el concepto de software sostenible esta mal planteado y argumentado por algunos autores que circulan la red, algunos de ellos solo buscan hacerle guerra a los monopolios con palabras como reutiliza software libre, asi nos ahorraras dinero y no pagaras licencias, todo sera free. (nota free no es igual a gratis).

Preguntense algo, ¿Que hace que una aplicación con codigo abierto para retulizarlo sea SOSTENIBLE?, en mi concepto absolutamente nada. El concepto de sostenibilidad de software no tiene nada que ver con software libre. 

Para mi un software sostenible debe ser capaz de adaptarse a las condiciones cambiantes del sistema de información al cual pretende automatizar. Es decir aquel programa portable, que permite al usuario cambiar de hardware, sistema operativo o que permite migrar los datos a otro servidor web al que se desee cambiar. Un software sostenible debe ser flexible a los cambios venideros, debe permitir aplicar las actializaciones necesarias de manera facil y sin exponer el funcionamiento global del sistema.

viernes, 10 de abril de 2015

Requerimientos funcionales y no funcionales y stakeholders (M. Apoyo)


Fuente: ADSI sena. https://www.youtube.com/watch?v=tF88eNhNSb4.

El video anterior explica claramente lo que son los requerimientos funcionales y no funcionales. Los cuales deberemos identificar de nuestro proyecto para la presentación de las evidencias que continuan en la tecnologia. 

En sitntesis podemos decir que:

Requisitos funcionales: son todos aquellos procesos que el software debe hacer, por ejemplo: El software debe capturar y almacenar la informacion de los clientes. 
El software debe realizar el proceso de facturación.

Requisitos no funcionales:  son los atributos relacionados con las caracterisitas del software, tales como de interfez grafica, seguridad, lengujes de programacion a utilizar, etc. Por ejemplo:

El sistema debe estar desarrollado en PHP y gestor de base de datos Mysql. 
El sistema debe permitir el login de usuarios que permita garantizar la seguridad de ingreso al sistema.

STAKEHOLDERS


Fuente: tv comunicacion. https://www.youtube.com/watch?v=Ub6hPmt3knM.
Los grupos de interés son aquellos que se vinculan directa o indirectamente con nuestra empresa. Los grupos de interés o steakholders nos pueden afectar o son afectados por las actividades de la empresa.

De manera que para las siguientes envidencias nos solicitan; identificar los stakeholders con sus respectivos requerimientos funcionales y no funcionales. Si tomamos el ejemplo del video podemos decir que:

Stakeholders: Clientes
Requerimiento funcionales:  Consultar información de los productos de la bodega de roberto.

Por otra parte, podemos indetificar como Requerimiento no funcional: La comodidad de los vecinos, por tal motivo se debe prohibir la toma de bebidas alcoholicas fuera del local.

AP1-AA2-Ev3-Mapa de procesos y caracterización del proyecto

Bueno, compañeros a continuación comparto con ustedes el mapa de procesos de mi proyecto. Les recuerdo nuevamente, es una guia no un copie y pegue. Igualmente deben realizar la caracterizacion de todos los procesos con su respectivo diagrama de flujo. 

En el presente material de apoyo, unicamente les he pasado el mapa de proceso, caraterizacion y DFD (diagrama de flujo) de 1 solo proceso.