reunión de kick off - universidad de la república...próximos pasos armar grupos y elegir horarios...

36
Reunión de Kick Off Taller de Programación 2020 [email protected]

Upload: others

Post on 16-Feb-2021

13 views

Category:

Documents


0 download

TRANSCRIPT

  • Reunión de Kick OffTaller de Programación [email protected]

  • EVA :: Taller de Programaciónhttp://eva.fing.edu.uy/course/view.php?id=315

    Docentes:• Laura González (responsable)• Raquel Sosa• Bruno Rienzi• Martín Prino• Rodrigo Quinta• Gustavo Guimerans• Maximiliano Arcia

    http://eva.fing.edu.uy/course/view.php?id=315

  • Objetivos del curso

    ✓ Integrar conocimientos adquiridos en asignaturas previas de programación

    ✓ Incorporar conocimientos avanzados para la construcción de sistemas de software de mediano y gran porte

    ✓ Aplicar conceptos de la orientación a objetos

  • ✓ Definir el alcance del proyecto

    ✓ Presentar el ambiente de desarrollo

    ✓ Introducir la metodología de desarrollo

    ✓ Planificar los próximos pasos

    Objetivos de la Reunión

  • ✓ Definir el alcance del proyecto

    ✓ Presentar el ambiente de desarrollo

    ✓ Introducir la metodología de desarrollo

    ✓ Planificar los próximos pasos

    Objetivos de la Reunión

  • coronaTickets.uy :: Descripción

    Plataforma social de espectáculos artísticos y culturales a través de Internet:

    ✓ Registrar espectáculos, funciones y paquetes

    ✓ Comprar entradas a funciones y paquetes

    ✓ Características sociales: seguir usuarios, comentar espectáculos, recomendaciones

  • coronaTickets.uy :: Arquitectura

    Sistema distribuido de mediano porte utilizandotecnologías Java

    Un sistema distribuido es uno en el que componentes situados en dispositivos físicos conectados en red se comunican y coordinan sus acciones mediante el envío de mensajes, para lograr un objetivo común.

    G. Coulouris, J. Dollimore, T. Kindberg, G, Blair: Distributed Systems: Concepts and Design (5th Ed)

    Addison-Wesley. 2011. ISBN 0-132-14301-1.

  • coronaTickets.uy :: Arquitectura

  • coronaTickets.uy :: Arquitectura

    • distribución física de nodos• comunicación remota• ejecución concurrente

  • coronaTickets.uy :: Arquitectura

    • diversas interfaces gráficas(escritorio + web)

    • seguridad y autenticación

  • coronaTickets.uy :: Arquitectura

    • arquitectura híbrida(cliente/servidor + capas)

    • persistencia de información

  • coronaTickets.uy :: Arquitectura

    Presentación

    Lógica

    Persistencia

  • Múltiples aspectos no contemplados o tratados con poca profundidad

    ✓ Infraestructura de hardware

    ✓ Requerimientos no funcionales(seguridad / desempeño / disponibilidad)

    ✓ Redes de comunicaciones y middleware

    ✓ Algoritmos distribuidos

    ✓ Almacenamiento de datos

    coronaTickets.uy :: Restricciones

  • ✓ Definir el alcance del proyecto

    ✓ Presentar el ambiente de desarrollo

    ✓ Introducir la metodología de desarrollo

    ✓ Planificar los próximos pasos

    Objetivos de la Reunión

  • Ambiente de Desarrollo :: UNIX

    ✓ Sus usuarios estudiantiles✓ Un grupo UNIX tpgrXX por grupo✓ Un directorio compartido

    /ens/devel01/tpgrXX por grupo

    Tips de Uso de la Infraestructura Informáticahttps://eva.fing.edu.uy/course/view.php?id=315

    https://eva.fing.edu.uy/course/view.php?id=315

  • Ambiente de Desarrollo :: Java

    Características generales de Java✓ Lenguaje orientado a objetos✓ Máquina virtual (VM)✓ Garbage Collector✓ Application Programming Interface (API)

    Tecnologías 2020https://eva.fing.edu.uy/course/view.php?id=315

    https://eva.fing.edu.uy/course/view.php?id=315

  • Ambiente de Desarrollo :: Java

  • Ambiente de Desarrollo :: Java

    ¿Cómo empezar?

    Tutorial básico de Javahttp://docs.oracle.com/javase/tutorial/index.html

    JavaSE 8 Documentationhttp://docs.oracle.com/javase/8/docs/

    JavaSE 8 API Specificationhttp://docs.oracle.com/javase/8/docs/api/

    Portal Timbóhttps://foco.timbo.org.uy/

    http://docs.oracle.com/javase/tutorial/index.htmlhttp://docs.oracle.com/javase/8/docs/http://docs.oracle.com/javase/8/docs/api/https://foco.timbo.org.uy/

  • Ambiente de Desarrollo :: IDE

    http://www.eclipse.org/

  • Ambiente de Desarrollo :: GIT

    El sistema de control de versiones permitirágestionar los cambios en el código fuente y realizar las entregas

    GitLabhttps://gitlab.fing.edu.uy/ un repositorio por grupo tprog/tpgrXX

    https://gitlab.fing.edu.uy/

  • ✓ Definir el alcance del proyecto

    ✓ Presentar el ambiente de desarrollo

    ✓ Introducir la metodología de desarrollo

    ✓ Planificar los próximos pasos

    Objetivos de la Reunión

  • Metodología :: Roles

    Desarrolladores :: grupos de 5 estudiantes

    Coordinador :: docente de monitoreo (semanal)

  • Metodología :: Planificación

    3

    1,2,3

    2,3

    metodología de desarrolloiterativa e incremental

  • Metodología :: Planificación

    ✓ Tarea 1 - 3 sem. + 1 defensa (24/8 - 20/9)

    ✓ Tarea 2 - 5 sem. + 1 defensa (21/9 - 08/11)

    ✓ Tarea 3 - 3 sem. + 1 defensa (09/11 - 06/12)

    Suspensión durante 1eros parciales (09/10 - 17/10)

    Semanas de parciales con actividades de evaluación

  • Metodología :: Planificación

  • Metodología :: Iteraciones

    ✓ Clases generales - Lunes 18 a 20 hs

    ✓ Monitoreos grupales (martes a viernes): 1 hora y media - 2 grupos

    ✓ Defensas grupales – Última semana de cadatarea

    ✓ Evaluaciones individuales – 2 pruebas: unaen cada semana de parciales

  • Metodología :: Modalidad Virtual

    ✓ Clases generales: Openfing + Zoom

    ✓ Controles teóricos: Eva

    ✓ Monitoreos grupales: Zoom o similar

    ✓ Defensas grupales: Zoom o similar

    ✓ Evaluaciones individuales: Eva

  • Metodología :: Iteraciones

    Cada grupo deberá planificar el trabajo para cada iteración e ir actualizando la planificación

    Las horas dedicadas a las diferentes actividadesrealizadas deberán ser registradas

    Planilla para Registro de Horashttps://eva.fing.edu.uy/course/view.php?id=315

    https://eva.fing.edu.uy/course/view.php?id=315

  • Metodología :: Alcance

    Cada iteración finaliza con un sistema funcionalque deberá ser liberado siguiendo cierto protocolo

    El envío del producto será a través de GitLab

    Estándar de Entregashttps://eva.fing.edu.uy/course/view.php?id=315

    https://eva.fing.edu.uy/course/view.php?id=315

  • Metodología :: Alcance

  • Metodología :: Alcance

    Cada entrega tendrá requerimientos mínimos

    Estos requerimientos son obligatorios para alcanzar el nivel de suficiencia de la entrega

    En caso de no ser satisfechos, no se aprueba la misma (se reprueba el proyecto)

  • Metodología :: Calidad

    Las pruebas de aceptación se realizarán en una defensa grupal

    Estará disponible un conjunto de datos de pruebapara realizarlas

    En casos excepcionales habrá reentrega (se acepta sólo una en el semestre)

  • Metodología :: Restricciones

    Los desarrollos deben ser independientes.

    Reglamento del InCo ante Instancias de No Individualidad en los Laboratorioshttps://www.fing.edu.uy/sites/default/files/2011/3090/proc_casos_copia.pdf

    https://www.fing.edu.uy/sites/default/files/2011/3090/proc_casos_copia.pdf

  • Metodología :: Riesgos

    ✓ La organización en grupos

    ✓ La planificación de actividades

    ✓ La complejidad tecnológica

  • ✓ Definir el alcance del proyecto

    ✓ Presentar el ambiente de desarrollo

    ✓ Introducir la metodología de desarrollo

    ✓ Planificar los próximos pasos

    Objetivos de la Reunión

  • Próximos Pasos✓ Armar grupos y elegir horarios✓ Leer Programa y Reglamento del Curso✓ Ver y agendar el Cronograma del curso✓ Leer Descripción del Proyecto✓ Leer Letra de Tarea 1 (fines de esta semana)✓ Familiarizarse con Java✓ Java Swing:

    ✓ Teórico en openfing✓ Control teórico

    Documentos en el sitio EVAhttps://eva.fing.edu.uy/course/view.php?id=315

    https://eva.fing.edu.uy/course/view.php?id=315