Información general


Tipo de asignatura: obligatoria

Coordinador: Adso Fernández Baena

trimestre:2

Créditos: 6

Profesorado: José Roble Alcobé

Descripción


En esta asignatura se verá una visión global de los sistemas de información en las empresas, como analizarlos y diseñarlos usando las metodologías propias de los sistemas de información. En parte estas metodologías son los procesos software de los que haremos un análisis comenzando desde los más antiguos que conllevan una gestión muy pesada hasta los más modernos que procuran evitar al máximos los costes de gestión del propio proyecto. A continuación introduciremos diferentes tipos de arquitecturas de sistemas de información desde las más clásicas donde todo el sistema radica en un único componente software (monolito) hasta las más modernas basadas en microserveis que se comunican de forma asincronía. También pasaremos por un medio que divide los software en módulos independientes que forman parte de las arquitecturas "clean". Finalmente nos dedicaremos a modelar dominios que tienen una cierta complejidad procurando separar en el modelo la parte operativa de la parte de "conocimiento" de aquella operativa.

Esta asignatura dispone de recursos metodológicos y digitales para hacer posible su continuidad en modalidad no presencial en el caso de ser necesario por motivos relacionados con la Covidien-19. De esta forma se asegurará la consecución de los mismos conocimientos y competencias que se especifican en este plan docente.

 

Resultados de aprendizaje


Esta asignatura contribuye a siguientes resultados de aprendizaje especificados para la materia a la que pertenece (Servicios y sistemas de información para las organizaciones)

  • RA1: Usar de forma apropiada teorías, procedimientos y herramientas en el desarrollo profesional de la ingeniería informática en todos sus ámbitos (especificación, diseño, implementación, despliegue -implantació- y evaluación de productos) de forma que se demuestre la comprensión de todos los compromisos adoptados en las decisiones de diseño.
  • RA2: Especificar, diseñar, implementar, gestionar y mantener sistemas y servicios software complejas y / o críticos.
  • RA3: Controlar la calidad y diseñar pruebas en la producción del software.
  • RA4: Definir y gestionar los requisitos de un sistema de información.
  • RA5: Evaluar y seleccionar plataformas de producción hardware y software para la ejecución de aplicaciones y de servicios informáticos.
  • RA6: Determinar los factores que inciden negativamente en la seguridad y la fiabilidad de un sistema hardware / software, y minimizar sus efectos.
  • RA7: Controlar versiones y configuraciones del proyecto. 
  • RA8: Diseñar y gestionar sistemas de información.
  • RA9: Comprender y utilizar eficazmente manuales, especificaciones de productos y otra información de carácter técnico escrita en inglés.

 

Metodología de trabajo


Habrá clases de teoría en grupo grande y clases de prácticas en el laboratorio en grupo pequeño. En las clases de teoría se irán combinando sesiones de tipo lección magistral con sesiones de resolución de problemas propuestos por el profesor en grupos de dos o tres estudiantes.

Las prácticas en el laboratorio se realizarán por pareja. Se deberán empezar a trabajar en el laboratorio con la ayuda del profesor y tendrán que acabar de forma autónoma fuera de las horas presenciales reglamentadas.

contenidos


  1. Sistemas de información
    1. Introducción
    2. Arquitectura
  2. Metodologías de Ingeniería del Software
    1. metodologías clásicas
    2. Proceso unificado
    3. metodologías ágiles
  3. Arquitecturas de los sistemas de información
    1. Arquitecturas monolíticas: capas
    2. Arquitecturas Modulítiques: Clean / Hexagonal / Puerto Adapter
    3. Arquitecturas asincronía: Microserveis
  4. Modelización (modelos complejos)
    1. Accountability (rendición de cuentas)
    2. Observaciones y medidas
    3. Observaciones para las finanzas corporativas
    4. Inventario y contabilidad

Actividades de aprendizaje


Con el objetivo de recoger evidencia del logro de los resultados de aprendizaje esperados se realizarán las siguientes actividades de carácter evaluativo:

Prueba escrita: el estudiante deberá demostrar que ha adquirido los conocimientos teóricos explicados en clase y que toma decisiones de diseño informadas. (Evidencia de los resultados de aprendizaje RA1, RA2, RA4, RA5, RA6, RA8). Todas las competencias excepto T2 (trabajo en equipo)

Prueba práctica: el estudiante deberá demostrar que ha adquirido los conocimientos prácticos. La prueba consistirá en el desarrollo de una parte de un sistema de información (Evidencia de los resultados de aprendizaje RA2, RA3, RA8, RA9)

prácticas: habrá un máximo de 5 prácticas donde se aplicarán los conocimientos adquiridos en clase. (Evidencia de los resultados de aprendizaje RA2, RA3, RA7, RA8, RA9)

Nota: Todas las actividades están relacionadas con todas las competencias. Cabe destacar que toda la documentación está escrita en inglés por lo que el último resultado de aprendizaje y la competencia transversal T1 quedan garantizadas. Por otra parte para desarrollar las prácticas los estudiantes deberán resolver de forma autónoma, usando los manuales, los problemas que les vayan surgiendo en la competencia B5 también queda garantizada. A continuación se explicitan los aspectos más importantes de cada competencia asignada a la asignatura:

  • B2: resolución de problemas dentro de su área de estudio.
  • B3: reunir e interpretar información relevante para su trabajo.
  • B4: transmitir problemas y soluciones
  • B5: desarrollo de habilidades de aprendizaje necesarias para estudios posteriores (acceso autónomo a documentación, hábitos de trabajo efectivos)
  • CIN1: diseñar, desarrollar y evaluar sistemas y aplicaciones informáticas asegurando su fiabilidad, seguridad y calidad
  • CIN2: planificar, concebir, desplegar y dirigir proyectos informáticos
  • CIN3: mostrar actitudes de trabajo en equipo
  • CIN4: elaborar el pliego de condiciones técnicas de un sistema
  • CIN5: administración de servicios y sistemas
  • CIN13: aplicación de las herramientas de almacenamiento de información
  • CIN16: aplicación de las metodologías de la ingeniería del software
  • EFB6: conocimiento del concepto de empresa y su gestión
  • EIS1: desarrollar y evaluar sistemas que cumplan los requisitos del usuario 
  • EIS2: especificar los requisitos de los usuarios
  • EIS3: integración en función de estrategias y estándares
  • EIS4: identificar y analizar problemas y diseñar, implementar y documentar soluciones software
  • EIS5: identificar, evaluar y gestionar riesgos
  • EIS6: diseñar soluciones software
  • ESI1: integrar soluciones software y procesos empresariales
  • ESI2: determinar requisitos de los sistemas de información (SI) en seguridad y cumplimiento de la legislación
  • ESI3: especificar, diseñar e implementar SI
  • ESI4: aplicar los principios y prácticas de las organizaciones
  • ESI5: evaluar y gestionar los riesgos en la elaboración de proyectos
  • ESI6: aplicar técnicas de la gestión de la calidad
  • T1: conocimiento de la tercera lengua
  • T2: capacidad para trabajar en equipo desarrollando diferentes roles

Para superar (aprobar) las actividades evaluativas, los estudiantes deberán demostrar

  • Que han adquirido los conocimientos teóricos relativos a los contenidos de la asignatura y que su comprensión les permite llevarlos a la práctica [MECES-2 punto a, punto c]
  • Que pueden desarrollar soluciones a problemas que, si bien son similares a otros vistos anteriormente, presentan aspectos que son nuevos [MECES- 2 punto f]

Sistema de evaluación


evaluación

  • PR_E: prueba escrita. Ponderación de la nota final 30%
  • PR_P: prueba práctica. Ponderación de la nota final 30%
  • PRAC: prácticas de la 1 a la 5. Ponderación en la nota final 40% (cada 8%) si la nota de PR_E> = 3,5 y PR_P> = 3,5

 

Cálculo nota final (NF):

  • Si PR_E> = 3,5 y PR_P> = 3,5: NF = PON = PR_E 0,3 + PR_E2 0,3 + PRAC 0.4
  • Si (PR_E <3,5 o PR_P <3,5: NF = min ((PR_E 0,3 + PR_P 0,3), PON)

recuperación:

Se podrán recuperar las dos pruebas (PR_E y PR_P) por separado. La nota final se calculará tal como se ha establecido anteriormente con las notas de la recuperación de las pruebas.

normativa:

  • La asistencia a las prácticas es obligatoria. Si un estudiante no asiste a una sesión de prácticas será calificado con una nota de 0 (cero) en la práctica correspondiente
  • Siguiendo la normativa de la UPF, si se detecta que una práctica o una prueba ha sido copiada la de esta será de 0 (cero) tanto del que copia como lo que se deja copiar
  • Para que el estudiante tenga derecho a la recuperación se deberá haber presentado a las dos pruebas (PR_E y PR_R)

Bibliografía


básico

Get Your Hands Dirty donde Clean Architecture: A hands-on guide to creating clean web applications with code examples in Java. Tom Homberg. Packt Ed

Reusable Object Modelos. Martin Fowler. Published by Addison-Wesley Professional. 2004

Newman, Sam (2015), "Building Microservices: Designing Fine-grained Systems". O'Reilly Media

Complementario

Kenneth S. Rubin, "A Practical Guide to the Most Popular Agile Process". Addison-Wesley Professional. julio 2012
ISBN: 9780321700407

Josh Long, Kenny Bastani, "Cloud Native Java. Designing Resilient Systems with Spring Boot, Spring Cloud, and Cloud Foundry". O'Reilly 2017

Chris Richardson. Patrones de microserveis: https://microservices.io/