Desarrollo e Implementación de Sistemas de Información

Consulte su calificación aquí
(ingrese su número de control y presione "Buscar", si su número de control empieza con la letra C, favor de omitir dicha letra)

Semana 9

Proyecto REST

Esta semana hacemos un proyecto REST en Spring Boot con los siguientes endpoints

GET en /pacientes
(Nos despliega un listado de pacientes)

POST en /pacientes
(ingresa un paciente)

Por cuestiones de organización, nuestro endpoint será api/pacientes

Miércoles 25 de marzo
Integraremos una página HTML como front-end que despliegue en una tabla el JSON del GET /pacientes.
(Práctica 3 parte 1)

Viernes 27 de marzo
Integraremos un formulario HTML como front-end para capturar los datos de un paciente y que sea ingresado en la BD. Para esto utilizaremos el método POST en /pacientes
(Práctica 3 parte 2)

Consulte Google Classroom para la segunda entrega. Recuerden que por equipo presentarán este avance el viernes 17 de abril

Semana 8

Introducción a Spring Boot

Es un framework de Java que agiliza y facilita el desarrollo de aplicaciones backend, con una mínima configuración y casi automática.

Como vimos en clase, viene un Tomcat incluido, que se inicia en el puerto 8080, y después podemos configurar nuestra aplicación usando una arquitectura REST, que significa que pondremos nuestras operaciones de la base de datos en términos de URL.

Recordemos que un URL representa un recurso. Estamos acostumbrados que este recurso es un documento HTML, PDF, imagen, etc. Pero ahora nuestro recurso serán prácticamente datos de la BD.

Ejercicio que hicimos en laboratorio:

Parte 1 – Crear proyecto en Spring Initializr

Entrar a: https://start.spring.io/

Configurar:

Project: Maven
Language: Java
Spring Boot: 3.5.x
Group: mx.ith
Artifact: practica1
Packaging: Jar
Java: 17

Agregar dependencias en Dependencies:

  • Spring Web

Generar archivo

Descargar archivo ZIP, descomprimir contenidos y abrir en NetBeans o VSCode

Vaya hasta el folder de su práctica src>java>mx>ith>practica1, y ahí encontrará el archivo Practica1Application.java

Edítelo con la anotación @RestController y poniendo un método anotado con GET, quedaría de la siguiente manera

package mx.ith.practica1;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.GetMapping;

@RestController
@SpringBootApplication
public class Practica1Application {

@GetMapping("/hola")
public String saludar(){
return "hola ITH desde Spring!";
}


public static void main(String[] args) {
SpringApplication.run(Practica1Application.class, args);

}

}

Abra una terminal en VSCode y ejecute el comando

./mvnw spring-boot:run

Verifique desde el navegador su aplicación una vez que se haya cargado el servidor (recuerde lo que comentamos en clase sobre saber leer los mensajes del log de Spring Boot, o cualquier servidor de aplicaciones. En los mensaje observará que se inició Tomcat en el puerto 8080)

http://localhost:8080/hola

Si le marca algún erro de versiones, actualice su JDK a versión 17 como mínimo.

Después de esto hicimos un modelo (clase Alumno) y un controlador. Pero eso ya lo aplicará en la práctica que hay que entregar para el día lunes 23 de marzo y que a continuación puede acceder. De cualquier manera si no hizo lo anterior, en la siguiente práctica lo va a hacer.

PRACTICA 2. Spring Boot

Semana 7

Mini práctica para empaquetar el acceso a los datos en un JAR.

Esta semana seguimos hablando del diagrama de actividades y diseñamos la arquitectura de nuestra aplicación, separando el acceso a los datos de la base de datos y de nuestra aplicación cliente. Al final podemos observar claramente 3 capas (BASE DE DATOS / JAR DE ACCESO A LOS DATOS / APLICACIÓN CLIENTE)

Semana 6 (Unidad 2)

Esta semana hablamos de los diagramas de actividad, los cuales son el siguiente paso en entender el flujo en la interacción entre usuario y sistema.

También hablamos de la definición del ambiente de progrmación. Utilizaremos Java para hacer las demostraciones. Vimos la historia de Java e hicimos una rápida demostración de cómo conectarnos a SQL Server utilizando una API llamada JDBC.

Práctica 1 de Unidad 2 (Conexión hacia SQL desde Java)

Suba su evidencia en Google Classroom

Semana 5

Examen en este link

Parte práctica

Semana de evaluación y presentación de arquitecturas (primer avance del proyecto final)

  • Documentación empresa

  • Documento con Requisitos Funcionales / No Funcionales

  • Diagrama de Casos de Uso

  • Modelo de dominio

  • Modelo de datos

Temario para la evaluación

Evolución de los Sistemas de Información

Transaction Processing Systems (TPS)

  • Orientados a operaciones diarias.

  • Alto volumen de transacciones.

  • Ejemplos: ventas, pagos, registros de citas.

  • Enfoque: eficiencia y consistencia.

Management Information Systems (MIS)

  • Generan reportes a partir de datos del TPS.

  • Soporte para decisiones tácticas.

  • Ejemplo: reporte mensual de ventas.

Enterprise Resource Planning (ERP)

  • Integra múltiples áreas: finanzas, RH, inventarios.

  • Base de datos centralizada.

  • Flujo transversal de información.

Diferencia clave:

  • TPS = operación

  • MIS = análisis/reportes

  • ERP = integración empresarial

Modelado

Diagrama de Casos de Uso

  • Actor = Rol

  • Caso de uso = funcionalidad

  • Relacionado directamente con seguridad por roles.

Modelo de Dominio

  • Representa entidades conceptuales del negocio.

  • No incluye tipos de datos técnicos.

  • Incluye asociaciones y multiplicidades.

Modelo de Datos (Relacional)

  • Tablas

  • PK

  • FK

SQL Server

Data Definition

  • CREATE DATABASE

  • CREATE TABLE

  • ALTER TABLE

  • DROP

Integridad

  • PRIMARY KEY

  • FOREIGN KEY

Programación

  • Stored Procedures

  • Functions

  • Triggers

Seguridad

  • LOGIN → autenticación (instancia)

  • USER → autorización (base)

  • GRANT

Backup

  • FULL → copia completa

  • DIFFERENTIAL → cambios desde último FULL

  • SINGLE_USER → restauración

  • MULTI_USER → operación normal

Semana 4

Esta semana vimos seguridad básica en la base de datos: LOGINS y USERS.

Prática 3 en Google Classroom

Semana 3

Esta semana vimos Programación en la base de datos. Implementar lógica a través de queries reutilizables: Stored Procedures, Funciones y Triggers

Funciones (Functions / UDF)

Son objetos de la base de datos que devuelven un valor (número, texto o tabla).
Se usan para cálculos reutilizables dentro de consultas SELECT.
Ejemplo: calcular edad, total de citas, impuestos.

Stored Procedures (Procedimientos Almacenados)

Son programas almacenados en la base de datos que ejecutan acciones completas.
Se usan para INSERT, UPDATE, DELETE, validaciones y procesos del negocio.
Ejemplo: registrar paciente, agendar cita, cancelar cita.

Triggers (Disparadores)

Son programas que se ejecutan automáticamente cuando ocurre un evento en una tabla (INSERT, UPDATE, DELETE).
Se usan para auditoría, bitácoras y reglas críticas automáticas.
Ejemplo: registrar cambios en una tabla log o impedir eliminaciones.

Prática 2 en Google Classroom

Semana 2

Esta semana continuamos con nuestro análisis de Clinica Vida Sana.

De la entrevista salieron preguntas modelo como las siguientes:

¿Qué actividades realiza su área?
¿Cómo se hace actualmente?
¿Qué información se registra? (quién/dónde)
¿Qué errores existen y con qué frecuencia?
¿Qué le gustaría que el sistema hiciera?
¿Qué reportes necesita?
¿Quiénes usarán el sistema?
¿Qué información debe ser confidencial?

También formalmente definimos a un SI como un conjunto organizado de los elementos en una empresa u organización. Estos elementos son personas, datos, procesos, software, e infraestructura tanto del mismo negocio como de TI.

Iniciamos con el diagrama de casos de uso, modelo de dominio, y modelo de datos.

Práctica de Laboratorio (Utilizar un editor SQL en línea para crear nuestra base de datos a partir del modelo de datos y validarlo)

Esta semana hablamos de la evolución de los sistemas de información y de cómo pueden agregar valor a una empresa.


También vimos los pasos que deben seguirse para el desarrollo de un sistema de información:

1) Entrevista
2) Observación
3) Generación de documento de requisitos funcionales y no funcionales
4) Diagrama de casos de uso

Hay que unirse al Google Classroom y subir esta asignación ahí. Cualquier duda estamos a la orden