miércoles, 3 de mayo de 2023

Informe de conocimientos adquiridos

UML

El Lenguaje Unificado de Modelado (UML) fue creado para forjar un lenguaje de modelado visual común y semántica y sintácticamente rico para la arquitectura, el diseño y la implementación de sistemas de software complejos, tanto en estructura como en comportamiento. UML tiene aplicaciones más allá del desarrollo de software, por ejemplo, el flujo en el proceso de fabricación.

UML no es un lenguaje de programación, pero existen herramientas que se pueden usar para generar código en diversos lenguajes usando los diagramas UML.

La finalidad de UML según OMG

Brindar a arquitectos de sistemas, ingenieros y desarrolladores de software las herramientas para el análisis, el diseño y la implementación de sistemas basados en software, así como para el modelado de procesos de negocios y similares.

Hacer progresar el estado de la industria permitiendo la interoperabilidad de herramientas de modelado visual de objetos. No obstante, para habilitar un intercambio significativo de información de modelos entre herramientas, se requiere de un acuerdo con respecto a la semántica y notación.

Tipos de diagramas UML

UML usa elementos y los asocia de diferentes formas para formar diagramas que representan aspectos estáticos o estructurales de un sistema, y diagramas de comportamiento, que captan los aspectos dinámicos de un sistema.

Diagramas UML estructurales

Diagrama de clases: El diagrama UML más comúnmente usado, y la base principal de toda solución orientada a objetos. Las clases dentro de un sistema, atributos y operaciones, y la relación entre cada clase. Las clases se agrupan para crear diagramas de clases al crear diagramas de sistemas grandes.

Diagrama de componentes: Muestra la relación estructural de los elementos del sistema de software, muy frecuentemente empleados al trabajar con sistemas complejos con componentes múltiples. Los componentes se comunican por medio de interfaces.

Diagrama de implementación: Ilustra el hardware del sistema y su software. Útil cuando se implementa una solución de software en múltiples máquinas con configuraciones únicas.

Diagrama de objetos: Muestra la relación entre objetos por medio de ejemplos del mundo real e ilustra cómo se verá un sistema en un momento dado. Dado que los datos están disponibles dentro de los objetos, estos pueden usarse para clarificar relaciones entre objetos.

Diagramas UML de comportamiento

Diagramas de actividades: Flujos de trabajo de negocios u operativos representados gráficamente para mostrar la actividad de alguna parte o componente del sistema. Los diagramas de actividades se usan como una alternativa a los diagramas de máquina de estados.

Diagrama de comunicación: Similar a los diagramas de secuencia, pero el enfoque está en los mensajes que se pasan entre objetos. La misma información se puede representar usando un diagrama de secuencia y objetos diferentes.

Diagrama de secuencia: Muestra cómo los objetos interactúan entre sí y el orden de la ocurrencia. Representan interacciones para un escenario concreto.

Diagrama de máquina de estados: Similar a los diagramas de actividades, describen el comportamiento de objetos que se comportan de diversas formas en su estado actual.

Diagrama de temporización: Al igual que en los diagramas de secuencia, se representa el comportamiento de los objetos en un período de tiempo dado. Si hay un solo objeto, el diagrama es simple. Si hay más de un objeto, las interacciones de los objetos se muestran durante ese período de tiempo particular.

Diagrama de caso de uso: Representa una funcionalidad particular de un sistema. Se crea para ilustrar cómo se relacionan las funcionalidades con sus controladores (actores) internos/externos.

REDA Modelo 4+1 vistas

 En la siguiente imagen se deja evidencia del desarrollo de la actividad "REDA Modelo 4+1 vistas".




Las técnicas y principios de modelado de software

 Diagrama que resume el sistema UML




Modelo 4+1.







lunes, 3 de abril de 2023

Requisitos funcionales y no funcionales

El registro de esta actividad corresponde al confrontando mi saber de la unidad 3, donde se pide identificar requisitos funcionales y no funcionales en un caso.




sábado, 25 de febrero de 2023

Wiki: Tendencia en el desarrollo de software

SCRUM:

Scrum es un proceso con la finalidad de reducir la complejidad en el desarrollo de productos y satisfacer las necesidades de los clientes.

Scrum es un modelo de trabajo promueve la colaboración en los equipos para lograr desarrollar productos complejos. 

De esta manera Scrum se basa en el Manifiesto ágil respetando sus 12 principios y sus intenciones se resumen en:

  • Valorar a los individuos y su interacción por encima de los procesos y herramientas.
  • Valorar el software que funciona por encima de la documentación exhaustiva.
  • Valorar la colaboración con el cliente por encima de la negociación contractual
  • Valorar la respuesta al cambio por encima del seguimiento de un plan.

Scrum esta compuesto por los siguientes roles:

  1. Product owner: Es el responsable de maximizar el valor del trabajo, que  viene de la mano de una buena gestión del Product Backlog.
  2. Scrum Master: Es el responsable de que las técnicas Scrum sean comprendidas y aplicadas en la organización. Es el manager de Scrum, un líder que se encarga de eliminar impedimentos o inconvenientes que tenga el equipo dentro de un sprint.
  3. Equipo de desarrollo: Son los encargados de realizar las tareas priorizadas por el Product Owner. Es un equipo multifuncional y auto-organizado. Son los únicos que estiman las tareas del product backlog, sin dejarse influenciar por nadie.

Nota: Cabe resaltar la importancia de todos los Stakeholders para una retroalimentación continua y fluidez a la hora de lograr los objetivos planteados.

Algunos de los evento de Scrum son:

  • Sprint Planning: En esta reunión todo el equipo Scrum define qué tareas se van a abordar y cuál será el objetivo del sprint.
  • Daily Meeting: Es una reunión diaria dentro del sprint que tiene como máximo 15 minutos de duración. En ella deben participar, sí o sí, el equipo de desarrollo y el Scrum Master. El Product Owner no tiene la necesidad de estar presente.

En esta reunión diaria el equipo de desarrollo hace las siguientes 3 preguntas:

    • ¿Qué hice ayer?
    • ¿Qué voy a hacer hoy?
    • ¿Tengo algún impedimento que necesito que me solucionen?
  • Sprint Review: La review del valor que vamos a entregar al cliente se hace en esta reunión, al final de cada sprint.
  • Grooming: El Grooming en Scrum es el tiempo de revisión que se dedica dentro de los equipos durante los sprints para refinar los requerimientos.

Dentro de las herramientas que nos pueden ayudar para Scrum, tenemos:

  • Trello
  • Jira
  • Active collab
  • Taiga

entre otros.

Videos que pueden ser de nuestra ayuda:

https://www.youtube.com/watch?v=HhC75IonpOU

https://www.youtube.com/watch?v=PYEEedLVCkg

 

Fuentes de información:

https://scrumguides.org/

https://www.wearemarketing.com/es/blog/metodologia-scrum-que-es-y-como-funciona.html

https://www.atlassian.com/es/agile/scrum






martes, 14 de febrero de 2023

Identificación de requisitos de software

La correcta identificación de requisitos es una parte fundamental de los componentes de un ciclo de vida del software. Teniendo presente a todas las partes interesadas presentes (stakeholders), se estipulan los requerimientos que vayan acorde al alcance y objetivo que tiene como propósito el producto (software), es por esto que se identifican todas las necesidades del cliente. Estos requisitos pueden ser funcionales o no funcionales.

De esta manera se logra realizar un proceso más eficiente donde permite al proyecto estar en cumplimiento con los tiempos y presupuestos establecidos. Realizar una mala identificación de requisitos, puede conllevar a aumento de gastos, pérdida de tiempo o declive del proyecto; en donde nuestra prioridad es lograr sacar el proyecto con éxito.




Informe de conocimientos adquiridos

UML El Lenguaje Unificado de Modelado (UML) fue creado para forjar un lenguaje de modelado visual común y semántica y sintácticamente rico p...