26 de febrero - JoseA4718/Portafolio-I-2020 GitHub Wiki

(Se hizo el quiz 1 al inicio de la clase)

Diagramas de Clase y Patrones de Diseño

Un ejemplo de este tema es cómo se planea el proceso de hace un código apenas se recibe la especificación. Existen muchas formas de hacer nuestro trabajo, existen metodologías de desarrollo, administración de proyectos, buenas practicas y herramientas. Esto es lo que separa al niño prodigio del verdadero ingeniero. Este tema se enfoca en dos objetos:

  • Diagrama de clases
  • Patrones de Diseño Antes de empezar, debemos tener noción de qué es un UML.

UML (Unified Modeling Language)

El uso de uml da una manera profesional y estandarizada para crear artefactos durante el SDLC (software development life cycle). Es la notación formal para ingenieros en computadores. UML deben ser entendidos por cualquier diseñador de software. Existían tres métodos predominantes: Booch, OOSE (object oriented software engineering), OMT(object modeling technique), cada uno de estos tenia sus debilidades y fortalezas. Los tres creadores (Booch, Jacobson, Rumbaugh) de estas técnicas se unieron para crear un único lenguaje de modelado UML. Empresas como IBM, HP, Oracle,... usaban este sistema. Actualmente el Object Management Group es el que da mantenimiento al estándar de UML.

¿Por que modelamos software?

Modelado de software, es hacer diagramas o un modelo que me permita entender como voy a encontrar la solución a un proyecto. Creamos modelos para comunicar la estructura y comportamiento deseado de nuestro sistema. Creamos modelos para visualizar y controlar la arquitectura del sistema. Creamos modelos para entender mejor el sistema que estamos construyendo. Construimos modelos para manejar el riesgo

¿Qué es un Modelo?

Es una simplificación de la realidad (Una abstracción)

UML esta compuesto de 3 tipos de modelos:

  • Modelo funcional
  • Modelo de Objetos
  • Modelo Dinámico

Diagrama de Clases:

También conocido como vista estática. Este diagrama captura la estructura del objeto. Incluye todos los datos de estructura y operaciones en la data. No contiene ninguna información relacionada con el comportamiento dinámico.

Se pone en un cuadro con:

  1. Nombre de la clase
  2. Atributos
  3. Operaciones (métodos)

Relaciones entre las clases:

Asociación entre clases:

Tarea moral: Diferencia entre composición y agregación