domingo, 2 de abril de 2017

Temas: Unidad 3 y 4

Modelos de Desarrollo

Cada modelo representa un proceso desde una perspectiva particular y así proporcione información parcial sobre el proceso. Éstos modelos generales no son descripciones definitivas de los procesos del software más bien son abstracciones de los procesos que se pueden utilizar para el desarrollo del software. Puede pensarse en ellos como marcos de trabajo del proceso y que pueden ser adaptados para crear procesos más específicos.


En esta ocasión analizaremos los distintos modelos de desarrollo de software de manera sintetizada a fin de ir reconociendo y así tener más herramientas y opciones en la documentación de proyectos futuros, así como también para el conocimiento de las diferentes técnicas o métodos para el desarrollo de software que existen actualmente y posteriormente daremos pie a la profundización de todas aquellas que se consideren indispensables para el acervo estudiantil y, en este caso, útiles a los propósitos de aprendizaje de la materia (Introducción al Análisis y desarrollo de Sistemas).

Modelo en cascada

Modelo: Desarrollo Evolutivo (Espiral)

Los evolutivos son modelos iterativos, permiten desarrollar versiones cada vez más completas y complejas, hasta llegar al objetivo final deseado; incluso evolucionar más allá, durante la fase de operación. Los modelos “Iterativo Incremental” y “Espiral” (entre otros) son dos de los más conocidos y utilizados del tipo evolutivo.
La idea detrás de este modelo es el desarrollo de una implantación del sistema inicial, exponerla a los comentarios del usuario, refinarla en N versiones hasta que se desarrolle el sistema adecuado. Una ventaja de este modelo es que se obtiene una rápida realimentación del usuario, ya que las actividades de especificación, desarrollo y pruebas se ejecutan en cada iteración.

Modelo: Basado en componentes

Modelo: Desarrollo de prototipos

Modelo: Proceso de transformación formal.

Modelo de desarrollo: PSC


Modelo XP


Scrum es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas para trabajar colaborativamente, en equipo, y obtener el mejor resultado posible de un proyecto. Estas prácticas se apoyan unas a otras y su selección tiene origen en un estudio de la manera de trabajar de equipos altamente productivos.
Donde se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, Scrum está especialmente indicado para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad, la flexibilidad y la productividad son fundamentales.



Proceso Unificado de Desarrollo de Software


Es una metodología de desarrollo de software que está basado en componentes e interfaces bien definidas, y junto con el Lenguaje Unificado de Modelado (UML), constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos.
“Es un proceso que puede especializarse para una gran variedad de sistemas de software, en diferentes áreas de aplicación, diferentes tipos de organizaciones, diferentes niveles de aptitud y diferentes tamaños de proyecto.” (EUMED, 2017)

RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.



“Es el resultado de varios años de desarrollo y uso práctico en el que se han unificado técnicas de desarrollo, a través del UML, y trabajo de muchas metodologías utilizadas por los clientes. La versión que se ha estandarizado vio la luz en 1998 y se conoció en sus inicios como Proceso Unificado de Rational 5.0; de ahí las siglas con las que se identifica a este proceso de desarrollo.” (Ecu Red, 2017)
Los orígenes de RUP se remontan al modelo espiral original de Barry Boehm. Ken Hartman, uno de los contribuidores claves de RUP colaboró con Boehm en la investigación. En 1995 Rational Software compró una compañía sueca llamada Objectory AB, fundada por Ivar Jacobson, famoso por haber incorporado los casos de uso a los métodos de desarrollo orientados a objetos.



El Rational Unified Process fue el resultado de una convergencia de Rational Approach y Objectory (el proceso de la empresa Objectory AB). El primer resultado de esta fusión fue el Rational Objectory Process, la primera versión de RUP, fue puesta en el mercado en 1998, siendo el arquitecto en jefe Philippe Kruchten.

FUNDAMENTOS DE LA POO


La POO es una técnica para desarrollar soluciones computacionales utilizando componentes de software (objetos de software).
Objeto: Componente o código de software que contiene en sí mismo tanto sus características (campos) como sus comportamientos (métodos); se accede a través de su interfaz o signatura.
Campo: Es una característica de un objeto, que ayuda a definir su estructura y permite diferenciarlo de otros objetos. Se define con un identificador y un tipo, el cual indica los valores que puede almacenar. El conjunto de valores de los campos definen el estado del objeto.
Método: Es la implementación de un algoritmo que representa una operación o función que un objeto realiza. El conjunto de los métodos de un objeto determinan el comportamiento del objeto.

DIAGRAMA DE CASOS DE USO


“El diagrama de casos de uso representa la forma en como un Cliente (Actor) opera con el sistema en desarrollo, además de la forma, tipo y orden en como los elementos interactúan (operaciones o casos de uso).” (DCC, 2017)
En un diagrama de casos de uso no se muestran los casos de uso en detalle; solamente se resumen algunas de las relaciones entre los casos de uso, los actores y los sistemas. En concreto, en el diagrama no se muestra el orden en que se llevan a cabo los pasos para lograr los objetivos de cada caso de uso. Esos detalles pueden describirse en otros diagramas y documentos, que pueden vincularse a cada caso de uso. Para obtener más información, vea en este tema la sección Describir los casos de uso en detalle.
Una definición previa, es que un Actor es un rol que un usuario juega con respecto al sistema. Es importante destacar el uso de la palabra rol, pues con esto se especifica que un Actor no necesariamente representa a una persona en particular, sino más bien la labor que realiza frente al sistema.

DIAGRAMA DE CLASES


“Diagramas de Clase en UML. El UML (Lenguaje Unificado de Modelado), es una de las herramientas más emocionantes en el mundo actual del desarrollo de sistemas. Esto se debe a que los creadores de sistemas generar diseños que capturen sus ideas en forma convencional y bacín de aprender para comunicarlas a otras personas. “ (EncuRed, 2017)
El UML es la creación de Grady Booch, James Rumbaugh e Ivar Jacobson. “Los tres Amigos” como se apodaron estos tres grandes utilizaban metodologías diferentes para el diseño de software hasta que en los años 90 decidieron unirse y trabajar en conjunto en una solo metodología, el UML está compuesto por diversos elementos gráficos que se combinan para conformar diagramas, con las mismas finalidades que es presentar diversas perspectivas de un sistema a las cuales se conoce como modelo. 




domingo, 5 de marzo de 2017

Conferencias

Seguridad Informática

En la conferencia a la que asistimos nos informaron sobre las restricciones de la ley que tenemos al ingresar a Internet y sobre todo al ingresar nuestra información personal. ya que existen personas que se dedican a robar esa información y poderla duplicar para realizar fraudes o cuentas falsas que terminen por perjudicarnos sin siquiera nosotros habernos dado cuenta de ello.




También nos explicaron que al hacer una cuenta para una red social o alguna pagina que nos pida un ingreso mediante un id y contraseña debemos tomar en cuenta que haya los servicios de privacidad adecuados, porque se ha suscitado en algunas ocasiones que existen demandas millonarias por no cumplir ese requisito.



Así mismo, hice una pregunta sobre si la policía podía entrar en una cuenta de red social sin necesidad de una orden de allanamiento,  y a lo que me respondieron que en algunos casos extraordinarios como el caso de la masacre de Monterrey donde se dijo que el grupo LH tenía que ver por aquel desafortunado incidente. Sin embargo yo creo aunque eso fuera, debería ser como en el caso de la propiedad ya que no puedes arremeter o arrestar a alguien dentro de su propiedad sin una orden, ya que estarían incumpliendo con las normas de privacidad, en este caso de Facebook.



Por otro lado creo que es buena la medida de los investigadores para que puedan acceder a cuentas de personas que lo único que hacen es beneficiarse y perjudicar a otros, o sea personas con fines de lucro y tomar con alevosía y ventaja una herramienta que para nosotros es de mucho utilidad.

Lenguaje que utilizaremos para nuestro proyecto, JAVA

Lenguaje Java


El lenguaje para la programación en Java, es un lenguaje orientado a objeto, de una plataforma independiente.

El lenguaje para la programación en Java, fue desarrollado por la compañía Sun Microsystems, con la idea original de usarlo para la creación de paginas WEB.



Esta programación Java tiene muchas similitudes con el lenguaje C y C++, asi que si se tiene conocimiento de este lenguaje, el aprendizaje de la programación Java sera de fácil comprension por un programador que haya realizado programas en estos lenguajes.



Con la programación en Java, se pueden realizar distintos aplicativos, como son applets, que son aplicaciones especiales, que se ejecutan dentro de un navegador al ser cargada una pagina HTML en un servidor WEB, Por lo general los applets son programas pequeños y de propósitos específicos.



Andorid Studio


Nosotros, al querer realizar una App y escoger lenguaje Java nada mejor que Android Studio ya que es muy versatil y es el software desarrollado por Google para la creación de apps y a continuación una descripción de este software.



Android Studio es un entorno de desarrollo integrado (IDE), basado en IntelliJ IDEA de la compañía JetBrains,  que proporciona varias mejoras con respecto al plugin ADT (Android Developer Tools) para Eclipse. Android Studio utiliza una licencia de software libre Apache 2.0, está programado en Java y es multiplataforma.



Fue presentado por Google el 16 de mayo del 2013 en el congreso de desarrolladores Google I/O, con el objetivo de crear un entorno dedicado en exclusiva a la programación de aplicaciones para dispositivos Android, proporcionando a Google un mayor control sobre el proceso de producción. Se trata pues de una alternativa real a Eclipse, el IDE recomendado por Google hasta la fecha, pero que presentaba problemas debido a su lentitud en el desarrollo de versiones que solucionaran las carencias actuales (es indispensable recordar que Eclipse es una plataforma de desarrollo, diseñada para ser extendida a través de plugins).



https://www.java.com
www.lenguajes-de-programacion.com/programacion-java.shtml
https://academiaandroid.com/android-studio-v1-caracteristicas-comparativa-eclipse/
https://developer.android.com/studio/intro/index.html?hl=es-419

Temas de la Unidad 2: Descripción


Técnicas para la recolección de datos.




Las técnicas para la recolección de datos son muy útiles a la hora de saber, que ventajas y desventajas tiene nuestro software que vamos a realizar. Existen muchas técnicas para la recolección de datos, entre ellas hay 3 que son las más utilizadas:
  1. Entrevista
  2.  Encuesta 
  3. Sesión de grupos´
  4. Observación
  5. Diagrama de flujo




·  La entrevista: Es un dialogo en el cual el entrevistador, hace una serie de preguntas a una persona, con la finalidad de conocer mejor las ideas que este tiene.
·  La encuesta: Es un dialogo en el cual sigue un formato, esta serie de preguntas por lo general son preguntas cerradas y en ocasiones especificas pueden llegar a ser preguntas abiertas.

· Sesión de grupos: esta técnica junta a varias personas con el fin de juntar sus ideas, conocimientos, experiencias. Para que estas sean trasmitas en el proyecto que van a realizar y así este sea más fuerte y estable.
  Observación: Una persona observa con detenimiento a otras que trabajan en un proceso para la creación de un producto, bien o servicio; siento meticuloso en la toma de notas y cualquier dato que se presente.


Análisis de requerimientos.
    
Esta etapa del análisis de requerimientos es la primera fase para la creación de un sistema informático. Esta fase comienza cuando el cliente ha detectado una falla o falta en la información que el cliente requiera. Para ello se requieren varias técnicas para un buen análisis de requerimientos, los más conocidos son:
  1. Descomposición funcional 
  2. Modelo del proceso. 
  3. Modelo de dominio.



   Casos de uso.

Los casos de uso son creador para representar una serie de requisitos con la finalidad de cumplir con una tarea en específico.


Estos representan la lista de tareas a realizar y están relacionadas con los actores de estas, son los requisitos que debe de alcázar el proyecto.



Mi video de casos de USO





   Documentación de requerimientos.

La documentación de requerimientos es la continuación de la definición del software a desarrollar, tomando en cuenta los requisitos generales, los objetivos y el modelo que se va a implementar. Es tos se consideran a partir de los caos de uso que se consideren necesarios y se les va agregando más información, estos se van detallando en requisitos funcionales y no funcionales.



jueves, 2 de febrero de 2017

Aplicaciones con similitud a nuestro proyecto

Attendance
Esta aplicación no nos ayuda con las calificaciones, pero sí nos ayuda a tener un control sobre la asistencia de nuestros estudiantes. Así, cargando la lista de los alumnos en una hoja de cálculo de Google Drive, obtendremos esta información dentro de la aplicación. Así, Attendance se encargará del cálculo automático de las inasistencias y tendremos toda esta información consolidada siempre que la necesitemos.

GoConqr

GoConqr es un lugar de encuentro entre profesores y alumnos en el que compartir recursos de estudio, trabajar en proyectos de grupo e iniciar hilos de discusión y debates.

Su app móvil permite visualizar y compartir recursos de estudios creados desde la versión web entre los que se encuentran mapas mentales, fichas de estudio, diapositvas, tests y apuntes interactivos. De esta manera, puedes acceder a tu contenido educativo desde cualquier lugar.

Además, si eres de los que les gustan hacerlo todo desde el móvil, GoConqr se encuentra en este año 2016 desarrollando apps independientes para poder crear recursos desde dispositivos móviles.
Teacher’s Assistant Pro
Una de las aplicaciones para profesores y maestros más completa es Teacher’s Assistant Pro. Es particularmente ideal para los profesores con muchas clases, y también para los que lamentablemente no tienen buena memoria. A través de esta aplicación, se puede hacer un registro del comportamiento de un alumno, sus logros e infracciones, sus calificaciones, su participación en clase, y mucho más. Al estar dentro de un dispositivo portátil, podemos actualizar los datos en tiempo real así como también enviar reportes actualizados a los padres a través del correo electrónico. Lo realmente bueno es que es muy personalizable y se puede ajustar exactamente a nuestras necesidades.

eClicker Presenter
Esta aplicación nos brinda una forma de crear una experiencia interactive dentro y fuera del aula. Con esta presentación (disponible tanto para iOS como para Mac) podemos crear encuestas y preguntas que luego se envían a los dispositivos de los estudiantes para que también participen. Los profesores y maestros, por otro lado, pueden ver los resultados en tiempo real. Es un poco costosa, y quizás nos encontramos con problemas a la hora de encontrar dispositivos compatibles, pero la idea es más que interesante.

Fuente:


lunes, 30 de enero de 2017

Fundamentos de la Administración de Proyectos de TIC


Planeación

Para poder realizar una planeación del proyecto es necesario definir los recursos que se requieren para concluirlo, esto mediante un calendario que contenga la planeación detallada, “es decir, que determine lo que se necesita hacer, quién lo hará, cuánto tiempo se necesitará y cuánto costará.” (Gastelum, 2017)
“Es por ello que para facilitar la planeación será necesario cumplir con algunos pasos o elementos.” (EcuRed, 2017)

Una actividad en un proyecto, es un trabajo que requiere tiempo y recursos para su terminación. En general, un proyecto es un esfuerzo de un solo periodo; o sea, la misma sucesión de actividades puede no repetirse en el futuro.






Antes de elaborar un proyecto, se debe decidir en qué va a consistir exactamente, cuál será su alcance y qué espera alcanzar con el proyecto.

Comenzar un proyecto: Durante la fase de planeación del proyecto es importante definir:

·         Los objetivos
·         Los supuestos
·         las limitaciones del proyecto.



Plan.

Para un gerente y para un grupo de empleados es importante decidir o estar identificado con los objetivos que se van a alcanzar. El siguiente paso es alcanzarlos. Esto origina las preguntas de ¿Que trabajo necesita hacerse? ¿Cuándo y como se hará? Cuales serán los necesarios componentes del trabajo, las contribuciones y como lograrlos. “En esencia, se formula un plan o un patrón integrando predeterminando de las futuras actividades, esto requiere la facultad de prever, de visualizar, del propósito de ver hacia delante.” (Arrollo Rural, 2017)

Organización

La estructura de la organización es la infraestructura con la que llevará adelante sus actividades. Lo que permita esa estructura es lo que se podrá lograr con relativamente poco esfuerzo. Las actividades que vayan en contra de la estructura, serán complicadas y trabajosas de llevar adelante. “El tema fundamental es cómo definen la comunicación y la jerarquía, que permiten y que restringen en la forma de intercambiar información y responsabilidades.” (Amendola, 2017)





 La estructura de la organización es la siguiente:
  • ·         Modelos simples de estructuras de organización ordinaria modelo funcional.
  • ·         Modelos complejos de estructuras de la organización ordinaria.
  • ·         Modelo de organización en equipos de proyectos.
  • ·         Modelo mixto
Existen distintos tipos de organizadores como lo son:
  • .    Organización Funcional.
  • .    Organización Matricial
  • .    Organización por Proyectos

Control

El control es una etapa primordial en la gestión, pues, aunque una determinada organización cuente con magníficos planes, una estructura organizacional adecuada y una dirección eficiente, el ejecutivo no podrá verificar cuál es la situación real de la organización, si no existe un mecanismo que se cerciore e informe si los hechos van de acuerdo con los objetivos. (DSIC, s.f.)
Varios son los estudiosos del tema que han escrito planteamientos acerca de este término: El control consiste en verificar si todo ocurre de conformidad con el plan adoptado, con las instrucciones   emitidas   y   con   los   principios   establecidos. 


                                                                              Tiene   como   fin   señalar   las debilidades y errores a fin de rectificarlos e impedir que se produzcan nuevamente. (Farol,1961)

      El proceso de medir los actuales resultados en relación con los planes, diagnosticando la razón de las desviaciones y tomando las medidas correctivas necesarias. (Buchele, 1976)


Dirección

Consiste en las acciones que el director del proyecto y el equipo del proyecto deben ejecutar en el plan de gestión del proyecto para cumplir con el trabajo definido en el enunciado del alcance del proyecto. (GuayanaGPS, s.f.)


Acciones

  • ·         Realizar esfuerzos e invertir fondos para cumplir con los objetivos del proyecto
  • ·         Dotar de personal, formar y dirigir a los miembros del equipo del proyecto asignados al proyecto
  • ·         Obtener presupuestos y seleccionar los vendedores
  • ·         Obtener, gestionar y utilizar recursos, incluidos los materiales, herramientas, equipos e instalaciones.
  • ·         Implementar los métodos y normas planificados
  • ·         Crear, controlar, verificar y validar los productos entregables del proyecto
  • ·         Gestionar los riesgos e implementar actividades de respuesta al riesgo
  • ·         Dirigir a los contratistas
  • ·         Adaptar los cambios aprobados al alcance, planes y entorno del proyecto
  • ·         Establecer y gestionar los canales de comunicación del proyecto.
  • ·         Recoger datos sobre el proyecto e informar sobre el coste, el cronograma, el avance técnico y de calidad, y la información de la situación para facilitar las proyecciones.
  • ·         Recoger y documentar las lecciones aprendidas
Arrollo Rural. (26 de 01 de 2017). Obtenido de http://ocw.upm.es/proyectos-de-ingenieria/proyectos-de-desarrollo-rural-i/Materiales-de-cada-tema/Planificacion-seguimiento-Proyectos-MSProject.pdf
UAM. (27 de 01 de 2017). Obtenido de http://arantxa.ii.uam.es/~proyectos/teoria/C6_Organizacion%20empresarial%20y%20proyectos.pdf
Gestiopolis. (s.f.). gestiopolis.com. Obtenido de http://www.gestiopolis.com/control-gestion-proyectos-software
ObsEdu. (s.f.). obs-edu.com. Obtenido de http://www.obs-edu.com/int/blog-project-management/administracion-de-proyectos/las-3-metodologias-para-la-gestion-de-proyectos-que-mas-se-utilizan