miércoles, 18 de mayo de 2016

Driagramas por Pareja, Modulo Tareas

Altas de Tareas

Diagrama de secuencia
Diagrama de Actividades
Diagramas de Clases



Consulta de tareas

Diagrama de Secuencia
Diagrama de Actividades
Diagrama de Clases

martes, 8 de marzo de 2016

Link animación fea

https://www.youtube.com/watch?v=Ckiam_6lBSg&feature=youtu.be

Próximamente será mejorada xC

martes, 1 de marzo de 2016

Los Métodos Ágiles del Desarrollo de Software


Métodos Ágiles del Desarrollo de Software

¿Qué son las metodologías ágiles de desarrollo de software?

Son herramientas para el proceso de software utilizadas donde el entorno del sistema es muy cambiante, y en donde se exige reducir drásticamente los tiempos de desarrollo pero manteniendo una alta calidad. Por estar especialmente orientadas para proyectos pequeños, las metodologías ágiles constituyen una solución a medida para ese entorno, aportando una elevada simplificación que a pesar de ello no renuncia a las prácticas esenciales para asegurar la calidad del producto.

¿Cuáles son las características en las que se basan las metodologías ágiles?

  1. La prioridad es satisfacer al cliente mediante tempranas y continuas entregas de software que le aporte un valor.
  2. Dar la bienvenida a los cambios. Se capturan los cambios para que el cliente tenga una ventaja competitiva.
  3. Entregar frecuentemente software que funcione desde un par de semanas a un par de meses, con el menor intervalo de tiempo posible entre entregas.
  4. La gente del negocio y los desarrolladores deben trabajar juntos a lo largo del proyecto.
  5. Construir el proyecto en torno a individuos motivados. Darles el entorno y el apoyo que necesitan y confiar en ellos para conseguir finalizar el trabajo.
  6. El diálogo cara a cara es el método más eficiente y efectivo para comunicar información dentro de un equipo de desarrollo.
  7. El software que funciona es la medida principal de progreso.
  8. Los procesos ágiles promueven un desarrollo sostenible. Los promotores, desarrolladores y usuarios deberían ser capaces de mantener una paz constante.
  9. La atención continua a la calidad técnica y al buen diseño mejora la agilidad.
  10. La simplicidad es esencial.
  11. Las mejores arquitecturas, requisitos y diseños surgen de los equipos organizados por sí mismos.
  12. En intervalos regulares, el equipo reflexiona respecto a cómo llegar a ser más efectivo, y según esto ajusta su comportamiento.


¿Cuáles son las ventajas y desventajas del empleo de las metodologías ágiles respecto a  las tradicionales?


¿Cuándo es recomendable utilizar metodologías ágiles  en el desarrollo de software?

La metodologías agiles resultan ser más utilizadas por los ingenieros dentro de proyectos pequeños, donde este enfoque no resulta ser el más adecuado para muchos de los proyectos actuales donde el entorno del sistema es muy cambiante, y en donde se exige reducir drásticamente los tiempos de desarrollo pero manteniendo una alta calidad. Ante las dificultades para utilizar metodologías tradicionales con estas restricciones de tiempo y flexibilidad son mas adecuadas para el proceso el uso de las metodologías agiles

¿Cuáles son algunos tipos de metodologías ágiles?

PROGRAMACIÓN EXTREMA (EXTREME PROGRAMMING, XP)

Es una metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en desarrollo de software, promoviendo el trabajo en equipo, preocupándose por el aprendizaje de los desarrolladores, y propiciando un buen clima de trabajo. XP se basa en realimentación continua entre el cliente y el equipo de desarrollo, comunicación fluida entre todos los participantes, simplicidad en las soluciones implementadas y coraje para enfrentar los cambios. XP se define como especialmente adecuada para proyectos con requisitos imprecisos y muy cambiantes, y donde existe un alto riesgo técnico.

SCRUM

Desarrollada por Ken Schwaber, Jeff Sutherland y Mike Beedle. Define un marco para la gestión de proyectos, que se ha utilizado con éxito durante los últimos 10 años. Está especialmente indicada para proyectos con un rápido cambio de requisitos. Sus principales características se pueden resumir en dos. El desarrollo de software se realiza mediante iteraciones, denominadas sprints, con una duración de 30 días. El resultado de cada sprint es un incremento ejecutable que se muestra al cliente. La segunda característica importante son las reuniones a lo largo proyecto, entre ellas destaca la reunión diaria de 15 minutos del equipo de desarrollo para coordinación e integración.

Crystal Methodologies

Se trata de un conjunto de metodologías para el desarrollo de software caracterizadas por estar centradas en las personas que componen el equipo y la reducción al máximo del número de artefactos producidos. Han sido desarrolladas por Alistair Cockburn. El desarrollo de software se considera un juego cooperativo de invención y comunicación, limitado por los recursos a utilizar. El equipo de desarrollo es un factor clave, por lo que se deben invertir esfuerzos en mejorar sus habilidades y destrezas, así como tener políticas de trabajo en equipo definidas. Estas políticas dependerán del tamaño del equipo, estableciéndose una clasificación por colores, por ejemplo Crystal Clear (3 a 8 miembros) y Crystal Orange (25 a 50 miembros).

Dynamic Systems Development Method (DSDM)

Define el marco para desarrollar un proceso de producción de software. Nace en 1994 con el objetivo de crear una metodología RAD unificada. Sus principales características son: es un proceso iterativo e incremental y el equipo de desarrollo y el usuario trabajan juntos. Propone cinco fases: estudio viabilidad, estudio del negocio, modelado funcional, diseño y construcción, y finalmente implementación.
Las tres últimas son iterativas, además de existir realimentación a todas las fases.

Adaptive Software Development (ASD)

Su impulsor es Jim Highsmith. Sus principales características son: iterativo, orientado a los componentes software más que a las tareas y tolerante a los cambios. El ciclo de vida que propone tiene tres fases esenciales: especulación, colaboración y aprendizaje. En la primera de ellas se inicia el proyecto y se planifican las características del software; en la segunda desarrollan las características y finalmente en la tercera se revisa su calidad, y se entrega al cliente. La revisión de los componentes sirve para aprender de los errores y volver a iniciar el ciclo de desarrollo.

Feature -Driven Development (FDD)

Define un proceso iterativo que consta de 5 pasos. Las iteraciones son cortas (hasta 2 semanas). Se centra en las fases de diseño e implementación del sistema partiendo de una lista de características que debe reunir el software. Sus impulsores son Jeff De Luca y Peter Coad.


Lean Development (LD)

Definida por Bob Charette’s a partir de su experiencia en proyectos con la industria japonesa del automóvil en los años 80 y utilizada en numerosos proyectos de telecomunicaciones en Europa. En LD, los cambios se consideran riesgos, pero si se manejan adecuadamente se pueden convertir en oportunidades que mejoren la productividad del cliente. Su principal característica es introducir un mecanismo para implementar dichos cambios.












Equipo con Luis García Reyes





lunes, 29 de febrero de 2016

Ruta Critica

El método de la ruta crítica CPM (Critical Path Method) es un algoritmo basado en la teoría de redes diseñado para facilitar la planificación de proyectos. El resultado final del CPM será un cronograma para el proyecto, en el cual se podrá conocer la duración total del mismo, y la clasificación de las actividades según su criticidad. El algoritmo CPM se desarrolla mediante intervalos determinísticos, lo cual lo diferencia del método PERT que supone tiempos probabilísticos.
Regla 1: Cada actividad se debe representar sí y sólo sí, por un ramal o arco.
Regla 2: Cada actividad debe estar identificada por dos nodos distintos. En el caso de existir actividades concurrentes (que inicien al mismo tiempo, o que el inicio de una actividad dependa de la finalización de 2 o más actividades distintas) se debe recurrir a actividades ficticias (representadas por arcos punteados que no consumen ni tiempo ni recursos) para satisfacer esta regla.

domingo, 28 de febrero de 2016

Análisis del Proyecto

Requerimientos funcionales
Módulo: Padres de familia
Éste módulo es para los padres de familia de los alumnos de la institución, en el cual podrán ver notificaciones de los profesores acerca de sus hijos y datos acerca de las colegiaturas y materiales necesarios.
            Submódulo: Notificaciones
Los padres de familia recibirán mensajes a su cuenta por parte de los profesores para notificar acerca del comportamiento del alumno.       
            Submódulo: Pagos
Los padres pueden acceder al sistema y realizar los procesos de fiscalización o consultar sus deberes como:
                        -Inscripción: El pago para ingresar al niño a la escuela.
-Despensa: Recursos indispensables para el colegio que aportan los padres de familia
-Colegiatura: La mensualidad correspondiente a un mes y en exclusivos casos con descuento
Modulo: Personal Administrativo
Aquí opera el personal que actúa si no está presente el director, por ello la dirección es quien les da el poder, por lo tanto ellos no tienen el control absoluto sobre este. Su peso es importante para el funcionamiento del sistema.
Submódulo: Se ocuparan los mismos submódulos de dirección, solo que son mas restringidos o limitados por falta de permisos.
Modulo: Docentes
Éste módulo es orientado a los maestros del plantel, para que pueda haber una mejor comunicación entre padres y profesores con respecto al alumno.
Submódulo: Notificaciones
-          Se podrán enviar mensajes privados entre cuentas de padres y profesores para poder tener contacto respecto al comportamiento académico del alumno.
Módulo: Dirección
Éste módulo es operado solamente por una cuenta enlazada al director del plantel, en el cual va a poder dar de alta a las personas que operan el programa y asimismo podrán hacer cualquier operación que puedan hacer otros usuarios.
Submódulo: Registro
-          Personal administrativo: Se darán de alta “administradores” que podrán manejar el software haciendo las tareas ya especificadas de éste módulo.

-          Docentes: Se darán de alta profesores del plantel, que podrán usar el sistema con las tareas ya mencionadas para éste módulo.


-          Alumnos: Se darán de alta alumnos del colegio.
Submódulo: Administración del colegio
-          Colegiaturas: Se establece o modifica la cantidad que se debe pagar mensualmente en la escuela.

-          Becas: Se establecen o modifican los tipos de becas y cantidad monetaria que descuentan del pago mensual.

-          Salarios: Se establecen o modifican los sueldos del personal del colegio.

-          Facturación: Se crean facturas de pagos.
Submódulo: Configuración
-          Alumnos: Se pueden hacer bajas, cambios y consultas de los alumnos ya inscritos.

-          Personal Administrativo: Se pueden hacer bajas, cambios y consultas del personal que administra el sistema.

Módulo: Móvil
Éste módulo le permitirá a los padres de familia consultar notificaciones que den los docentes y personal administrativo de la escuela a través de algún dispositivo móvil.
Submódulo: Consulta
-          Los padres de familia podrán consultar las notificaciones por medio de una aplicación móvil
Submódulo: Altas
-          El personal de la escuela podrá publicar por medio de su cuenta, las notificaciones directamente en la aplicación móvil.
Requerimientos no Funcionales:

·         Usabilidad:
o   Sera fácil de usar, ya que nuestro cliente no está familiarizado con el uso de computadoras.
·         Compatibilidad:
o   El software será amigable con los demás programas, es decir no tendrá problemas al ser ejecutado. También podrá ser utilizado en las varias plataformas y sistemas operativos.
·         Robustez:
o   Tener buen funcionamiento y reacción ante sucesos no especificados en los requerimientos del cliente.
·         Eficacia:
o   Que cumpla lo pedido en los requerimientos.
·         Costo:
o   Dada a la dificultad del software y el tiempo utilizado se dará el costo que la empresa dará al cliente.
·         Diseño:
o   La interfaz tendrá un diseño original, y confiable
·         Rendimiento
o   Al usarse no ocupe demasiados recursos y es menos estricto con los equipos menos sofisticados

Requerimientos de Sistema
 Cliente:

  • ·         Windows 8
  • ·         Procesador de 64 bits a 1.2 GHz
  • ·         Memoria RAM de 2gb.
  • ·         Java (última versión)
  • ·         Mysql

Servidor:

  • ·         MySql
  • ·         Netbeans (Java)
  • ·         Disco Duro de 600gb.
  • ·         Memoria RAM de 4gb.
  • .     Procesador de 64 bits a 2 GHz. 
Justificación
Mediante la creación de sistemas de información, conseguir que los encargados de la administración del colegio puedan tener mejor organización y control de los documentos de docentes, alumnos, padres de familia y personal auxiliar

Objetivo General
Desarrollar y brindar una herramienta web para mejorar la administración (inscripciones, pagos, organización de actividades, histórico) del "Jardín de niños Dinos"

Objetivos Específicos

  • Mantener mejor control de los expedientes de los usuarios de la escuela.
  • Llevar un mejor control acerca de los pagos de las colegiaturas.
  • Informar y acercar a los padres de familia a estas nuevas tecnologías.
  • Tener una forma más fácil de hacer un respaldo de la información del plantel ante cualquier situación inesperada.
  • Tener mejor difusión sobre mensajes, anuncios y problemáticas del plantel


Alcance
Administrar de una  mejor forma los procesos de inscripción de nuevos usuarios, el control de pagos y cuotas (incluyendo las posibles diferencias por becas), crear un histórico de la institución y sus alumnos. Y poder llevarlo a otras instituciones con problemas semejantes. 

Módulo: Padres de familia
En este módulo los padres de familia podrán ver notificaciones de la escuela y consultar información de las materias y materiales necesarios.
Modulo: Personal Administrativo
El personal administrativo será designado por el director y podrá llevar el control de los pagos y su facturación además de poder modificar el registro de los alumnos.
Modulo: Docentes
Permitirá que los docentes se comuniquen con los padres de familia para hablar respecto a su rendimiento académico.
Módulo: Dirección
Éste módulo es operado solamente por una cuenta enlazada al director del plantel, en el cual va a poder dar de alta a las personas que operan el programa y asimismo podrán hacer cualquier operación que puedan hacer otros usuarios.
Módulo: Móvil

Éste módulo le permitirá a los padres de familia únicamente consultar las notificaciones que dé el personal docente y administrativo de la escuela.

Proceso de negocios 

domingo, 21 de febrero de 2016

Proceso de Software



Proceso de software


Un proceso del software es un conjunto de actividades que conducen a la creación de un producto de software. Los procesos de software son complejos así como las características específicas de los sistemas que se están desarrollando


Existen muchos procesos diferentes de software, algunas actividades fundamentales son comunes para todos ellos:


  1. Especificación de software. Se debe definir la funcionalidad de software y las restricciones de operación
  2. Diseño e implementación del software. Se debe validar el software que cumpla su especificación.
  3. Validación del software. Se debe validar el software para asegurar que hace lo que el cliente desea
  4. Evolución del software. El software debe evolucionar para cubrir las necesidades cambiantes del cliente


Aunque no existe un proceso del software ideal, en las organizaciones existen enfoques para mejorarlos. Los procesos pueden incluir técnicas anticuadas o desaprovechar las mejores prácticas de la ingeniería de software.




Modelos del Proceso del software
  • Cascada
  • Evolutivo
  • Ingeniería de software en base a componentes