curenosm / MYP-20231

Curso de Modelado y Programación - Semestre 2023-1

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Modelado y Programación - 2023-1 😂

  • Ayudante: Arturo Lemus Pablo

UML (Unified Modeling Language)


Estructural

  • Diagrama de clases: Perspectiva estructural.

drawing

drawing




  • Diagrama de casos de uso: Perspectica de los requerimientos que un sistema debe cumplir.
    • Actores: Profesor, cliente, sistema, etc.
    • Casos de uso: Tareas que se deben realiza ATOMICOS.

drawing

drawing




Dinámica

  • Diagrama de estados: Perspectiva del comportamiento dinamico de los objetos (Modela el ciclo de vida de los objetos de una clase) Solo se enfoca en un objeto a la vez cada diagrama. Como siempre pueden haber precondiciones o postcondiciones entonces eso significa que nos enfocamos en un lapso determinado del ciclo de vida del objeto concreto.

drawing

drawing




  • Diagrama de actividades: Perspectiva del flujo de trabajo de un caso de uso. Cada estado representa el computo de una acción.

drawing

drawing




  • Diagrama de secuencia: Perspectiva de la interacción entre objetos de distintas clases de forma colaborativa a través de actividades. Los objetos tienen un tiempo de vida.

drawing

drawing




Patrones de diseño


  • Strategy: Define una familia de algoritmos, encapsula cada uno y los hace intercambiables. Favorece la composición en lugar de la herencia, haciendo más flexible la modificación del comportamiento.

    • Principio de diseño: Programar para las interfaces o clases abstractas, en lugar de para implementaciones.

    Ejemplo:





Ejemplo:





  • Observer:

    • Principio de diseño:

    Ejemplo:





  • Template: Define los pasos de un algoritmo y permite que las subclases proporcionen la implementacion de uno o mas pasos.

    • Principio de diseño:

    • Obs: El metodo template tiene que ser un método final para que no se sobreescriba.

    Ejemplo:

  • ** Metodos Hooks ** : cuando un metodo tiene una implementacion general y no se requiere que. Por defecto no hace nada, pero cuando se implementa cambian el flujo que sigue el metodo template





  • State:

    • Principio de diseño:

    • Obs: El metodo template tiene que ser un método final para que no se sobreescriba.

    Ejemplo:





Git cheatsheet


  • git init: Inicializa un repositorio.
  • git add -A: Agrega todos los cambios al staging area (antes de enviarlos a internet)
  • git add .: Agrega los cambios de la carpeta actual solamente al staging area.
  • git commit -m "<message>": Haz un commit del staging area como está.
  • git remote add origin <repository_url>: Agrega el origen remoto de un repositorio.
  • git branch -d <branch_name>: Elimina una rama.
  • git push: Enviar los cambios al remoto.
  • git pull: Obtener los cambios remotos.
  • git checkout <brach_name>: Cambiar de rama.
  • git diff: Ver diferencias.
  • git diff <source_branch> <target_branch>: Ver diferencias entre dos ramas.
  • git diff <branch>: Diferencia entre version actual y el ultimo commit.
  • git fetch origin: Eliminar todos los cambios locales
  • git reset --hard origin/master: WARNING Eliminar todos los cambios locales
  • git reset <commit_id>: Eliminar todos los commits posteriores al commit.

Herramienta

  • Dia (Para modelar UML)
  • Draw.io

Código

System.out.println("Hello world");

class Clase extends ParentClass {
    public static void main(String[] args) {
        System.out.println("Hello world");
    }
}
class Clase(ParentClass):
    def constructor():
        print("something")

obj = Clase()

Imagenes

drawing

Citas

Un país, una civilización se puede juzgar por la forma en que trata a sus animales. — Mahatma Gandhi

Creo que los animales ven en el hombre un ser igual a ellos que ha perdido de forma extraordinariamente peligrosa el sano intelecto animal. Es decir, que ven en él al animal irracional, al animal que ríe, al animal que llora, al animal infeliz. — Friedrich Nietzsche

Esto sería una cita como la que acabas de ver.

Dentro de ella puedes anidar otra cita.

La cita principal llegaría hasta aquí.

About

Curso de Modelado y Programación - Semestre 2023-1


Languages

Language:Java 95.4%Language:HTML 2.0%Language:JavaScript 1.7%Language:Makefile 0.5%Language:Shell 0.4%Language:Kotlin 0.1%Language:CSS 0.0%Language:Batchfile 0.0%