Alfredo de Jesús Gutiérrez Gómez, Dr

Ingeniería

De software II

  1. Piense en el nombre de un animal que inicie con la primera letra de su nombre.
  2. Este no deberá repetirse.
  3. Al presentarse deberá completar la siguiente frase: Mi nombre es: _______ y he venido sobre un/a: _______ a la escuela desde _____
  4. Dar respuesta a las preguntas:
    1. ¿Porqué estudio está carrera?
    2. ¿Qué me ha gustado de la carrera hasta ahora?

Conociendonos

Unidad 1

Temas del curso

Planeación del proyecto

Unidad 2

Diseño del software

Unidad 3

Realización del proyecto

  • Teléfono móvil en modo silencio.
  • Las llamadas urgentes /prio se contestan fuera del salón.
  • Turnos de una sola persona para ir al WC.
  • Dos faltas a la semana sin justificante perderían derecho a las cuestiones de aprendizaje.
  • Levantar la mano para participar.
  • Respetar la participación de cada alumno.

Políticas de clase

  • Mantenerse informado acerca de las lecturas, actividades y tareas del curso asistiendo por lo menos dos veces por semana, durante la duración del curso.
  • Cumplir dentro del aula virtual con todas las tareas, foros y actividades detalladas por el programa académico y el profesor, en el tiempo y forma establecidos.
  • El incumplimiento de las tareas en tiempo y forma llevarán a una no aprobación del curso.

Lineamientos de clase

  • Realizar el seguimiento personal desde el Aula Virtual.

  • Estar pendiente de los resultados de las evaluacion/es parcial/es y final/es.

  • Notificar al tutor por escrito, con copia a la coordinación académica, si, por alguna razón excepcional, se encontrara en una circunstancia especial que le impidiera continuar con el curso y recibir así indicaciones de cómo proceder a partir de ese momento.

Lineamientos de clase

Descripción de las actividades

Unidad 1

  • Cuestionario de aprendizaje
  • Documentación del proyecto

Unidad 2

  • Cuestionario de aprendizaje
  • Presentación del proyecto

Unidad 3

  • Cuestionario de aprendizaje
  • Despliegue del proyecto

Actividad de encuadre

En una hoja escribe la respuesta a la siguiente pregunta:

  1. ¿Qué esperas que se enseñe en este curso?
  2. ¿A qué te comprometes en este curso?
  3. ¿Qué deseas aprender en este curso?

Una vez contestadas las preguntas anteriores escribir en el foro respectivo la respuesta a cada pregunta

Recomendaciones

Se enumeran las recomendaciones que se deben seguir para la realización de las actividades

Recomendaciones

Trabajo

  • Portada
  • Presentación
  • Introducción
  • Conclusión

Párrafos

  • Mayores a tres líneas
  • Menores a ocho líneas
  • Coherencia entre párrafos

Ortografía - Gramática

  • Acentuación.
  • Evitar redundancia.
  • Pleonasmos.
  • Mínimo tres errores.

Referencias bibliográfica

  • Al menos tres citas dentro del trabajo.
  • En formato APA 7ma edición.

Recomendaciones

Lista referencia bibliográfica

  • Al menos tres fuentes de diversos autores.
  • Con sangría francesa al inicio de cuatro espacios.
  • Fuente Times New Roman.
  • 12 puntos.
  • Sin enlaces activos.

Introducción y conclusión

  • Al menos tres párrafos.

Recomendaciones

Formato del trabajo

  • Fuente Arial.
  • Tamaño de título: 14 puntos.
  • Tamaño de texto: 12 puntos.
  • Interlineado 1.5
  • Alineación justificada del texto.
  • Los títulos alineados a la izquierda.
  • En el encabezado del documento colocar el logotipo del instituto alineado a la derecha. Nombre de la carrera a la izquierda.

Recomendaciones

Diagramas

  • Hacerlos en día.
  • Exportarlos a jpg / png

Códigos fuentes

  • Colocarlos en github.
  • En el documento a entregar, colocar el enlace al código.

Tablas

  • Colocarle al pie de la tabla un nombre a la tabla, bajo el siguiente formato:  <nombre_tabla numero consecutivo>. <nombre_tabla> <fuente:> <donde_fue_tomada> .
  • Colocar un párrafo descriptivo

Recomendaciones

Imágenes / diagramas / gráficas:

  • Colocarle al pie de la imagen / diagrama / gráfica un nombre, bajo el siguiente formato:  <nombre_objeto numero consecutivo>. <nombre_objeto> <fuente:> <donde_fue_tomada> .
  • Colocar un párrafo donde se describa la imagen / diagrama / gráfica

Recomendaciones

Software recomendado

  • dia:
    • Creación de los diagramas, flujogramas, caso de uso, diagramas e-r
  • ProjecLibre:
    • Creación de gantt, recursos, tareas, tiempo.
  • Pencil:
    • Diseño de interfaces
  • Gitbook:
    • Para alojar la documentación
  • Github:
    • Para alojar el código fuente

¿Dudas?

Portada.

Presentación.

Introducción.

Índice.

Estructura Documentación

  • Introducción al capítulo
  • Descripción de la empresa
    • Descripción de la ubicación
  • Descripción del problema
  • Objetivo general
  • Objetivos específicos
  • Justificación
  • Alcances
  • Descripción de las actividades
  • Cronograma de actividades

Capitulo 1. Generalidades del proyecto

Estructura Documentación

  • Introducción al capítulo
  • Análisis
    • Reunión con interesados
    • Recolección de información
    • Identificación y Gestión de Riesgos
    • Identificación de procesos
    • Identificación de roles
    • Identificación de accesos
    • Requisitos mínimos y óptimos de hardware
    • Requisitos mínimos y óptimos de software

Capitulo 2. Desarrollo del proyecto

Estructura Documentación

  • Diseño
    • Diseño de Base de datos
    • Diccionario de datos
    • Diseño de IU
    • Diseño de procesos
    • Diseño de arquitectura

Capitulo 2. Desarrollo del proyecto

Estructura Documentación

  • Programación
    • Ambiente de desarrollo
    • Codificación de IU
    • Códificación de IU con BD
  • Pruebas
    • Test de pruebas unitarias
  • Depuración
    • Corrección de test unitario

Capitulo 2. Desarrollo del proyecto

Estructura Documentación

  • Despliegue
    • Ambiente de producción
    • Migrar de desarrollo a producción
    • Pruebas de ambiente
  • Capacitación
    • Entrenamiento a usuarios
  • Documentación
    • Redacción del manual de usuario

Capitulo 2. Desarrollo del proyecto

Estructura Documentación

  • Introducción al capítulo
  • Antes de implementación
  • Durante la implementación
  • Después de la implementación
  • Resultados
  • Áreas de oportunidad
  • Mejoras detectadas
  • Aprendizaje adquirido
  • Conclusión

Capitulo 3. Conclusiones

Estructura Documentación

Estructura Documentación

índice de imágenes

Índice de tablas.

Anexos

Bibliografía

¿Dudas?

Estructura Presentación

Problemática

Objetivos (general y específicos)

Actividades y su descripción

Justificación

IU

Demostración del sistema

Mejoras

Aprendizaje adquirido

Preguntas y respuestas

¿Dudas?

Requerimientos de hardware

Requerimientos de software

Despliegue en servicios reales

Estructura del despliegue

¿Dudas?

Unidad 1

  • la planeación de proyectos, es un proceso integral que implica la definición clara de objetivos y alcance, la asignación de recursos, la planificación del cronograma, la gestión de riesgos y la comunicación efectiva.
  • Un buen plan de proyecto proporciona una base sólida para el desarrollo exitoso de software y ayuda a garantizar que se cumplan los objetivos del cliente y se entregue un producto de alta calidad dentro del tiempo y el presupuesto establecidos.
U1. Planeación

Aspectos claves

U1. Planeación

Definición de Objetivos y Alcance

  • Se establecen los objetivos del proyecto y se define claramente el alcance del software a desarrollar.
  • Identificar las necesidades del cliente y las expectativas del usuario final para asegurarse de que el producto final cumpla con sus requisitos y satisfaga sus necesidades.

Recursos y Estimación de Costos

  • Determinar los recursos necesarios para llevar a cabo el proyecto, incluyendo personal, equipos, herramientas de software y hardware, entre otros.
  • Se realiza una estimación de los costos asociados al proyecto, recursos necesarios y otros gastos relacionados.

Aspectos claves

U1. Planeación

Planificación del Cronograma

  • Cronograma detallado que define las actividades a realizar, los plazos de entrega y las dependencias entre ellas.
  • Técnicas de gestión de proyectos como el diagrama de Gantt para visualizar y gestionar el cronograma.

Identificación y Gestión de Riesgos

  • Identifican los posibles riesgos que puedan afectar al proyecto, como cambios en los requisitos, problemas técnicos, retrasos en la entrega, entre otros.
  • Plan de gestión de riesgos que incluye estrategias para mitigar, evitar o responder a los riesgos identificados.

Aspectos claves

U1. Planeación

Asignación de Responsabilidades

  • Asignan roles y responsabilidades a los miembros del equipo de desarrollo, estableciendo claramente quién es responsable de cada tarea y quién debe tomar decisiones en caso de problemas o contratiempos.

Seguimiento y Control

  • Se realiza un seguimiento continuo del avance del trabajo, comparando el progreso real con el planificado.
  • Medidas de control para garantizar que el proyecto se mantenga dentro del alcance, el presupuesto y el cronograma definidos.

Aspectos claves

U1. Planeación

Comunicación

  • La comunicación efectiva es clave para el éxito del proyecto. Se establece un plan de comunicación que define cómo se compartirá la información entre los miembros del equipo, los stakeholders y otros interesados en el proyecto.

Ejemplos | Alcance

U1. Planeación

Desarrollo de una Aplicación Móvil

  • Creación de una aplicación móvil para un sistema operativo específico (por ejemplo, iOS o Android) que permita a los usuarios realizar ciertas funciones, como realizar compras en línea, acceder a contenido multimedia, o interactuar con servicios en la nube.

Implementación de un Sistema de Gestión de Contenidos (CMS)

  • Instalación, configuración y personalización de un CMS como WordPress o Drupal para permitir a una organización gestionar y publicar contenido en su sitio web de manera eficiente.

Ejemplos | Alcance

U1. Planeación

Desarrollo de un Sistema de Gestión de Relaciones con Clientes (CRM)

  • Diseño y desarrollo de un sistema personalizado que permita a una empresa gestionar sus relaciones con los clientes, incluyendo funciones como seguimiento de ventas, administración de contactos y generación de informes.

Migración de una Aplicación a la Nube

  • Migración de una aplicación existente a una plataforma en la nube como AWS, Azure o Google Cloud Platform, asegurando la compatibilidad, la seguridad y el rendimiento óptimo en el nuevo entorno.

Ejemplos | Alcance

U1. Planeación

Desarrollo de un Sistema de Reservas en Línea

  • Diseño y desarrollo de un sistema que permita a los usuarios realizar reservas en línea para servicios como hoteles, restaurantes, o actividades recreativas, con funciones como búsqueda de disponibilidad, reserva de fechas y pagos en línea.

Ejemplos |Objetivo Específico

U1. Planeación

Desarrollo de una Aplicación Móvil

  • Desarrollar una aplicación móvil intuitiva y fácil de usar que permita a los usuarios realizar compras en línea desde sus dispositivos móviles.
  • Garantizar la compatibilidad de la aplicación con una amplia gama de dispositivos móviles y sistemas operativos para maximizar su alcance.

Ejemplos |Objetivo Específico

U1. Planeación

Implementación de un Sistema de Gestión de Contenidos (CMS)

  • Configurar e implementar un CMS que permita a los editores de contenido actualizar y publicar contenido de manera eficiente en el sitio web de la organización.
  • Personalizar el CMS para satisfacer las necesidades específicas de la organización en términos de diseño, funcionalidad y flujo de trabajo.

Ejemplos |Objetivo Específico

U1. Planeación

Migración de una Aplicación a la Nube

  • Migrar la aplicación existente a una plataforma en la nube para aprovechar los beneficios de escalabilidad, flexibilidad y seguridad que ofrece.
  • Garantizar una transición sin problemas y minimizar el tiempo de inactividad durante la migración, manteniendo la integridad y funcionalidad de la aplicación.

Ejemplos |Objetivo Específico

U1. Planeación

Desarrollo de un Sistema de Reservas en Línea

  • Diseñar y desarrollar un sistema de reservas en línea que permita a los usuarios buscar disponibilidad, realizar reservas y realizar pagos de manera segura y conveniente.
  • Optimizar la interfaz de usuario y la experiencia del usuario para facilitar la navegación y la realización de reservas, aumentando así la satisfacción del cliente.

Ejemplos |Objetivo Específico

U1. Planeación

Desarrollo de un Sistema de Gestión de Relaciones con Clientes (CRM)

  • Diseñar y desarrollar un CRM que permita a la empresa gestionar eficazmente las relaciones con los clientes, incluyendo la captura de datos, seguimiento de ventas y generación de informes.
  • Integrar el CRM con otras herramientas y sistemas de la empresa, como el sistema de gestión de ventas o el sistema de soporte al cliente, para una mayor eficiencia y visibilidad.

Ejemplos |Justificación

U1. Planeación

Desarrollo de una Aplicación Móvil

La creciente popularidad de los dispositivos móviles y el cambio de hábitos de consumo hacia el uso de aplicaciones móviles hacen que sea crucial para nuestra empresa tener presencia en este mercado para alcanzar y comprometer a nuestros clientes de manera efectiva....

Ejemplos |Justificación

U1. Planeación

Implementación de un Sistema de Gestión de Contenidos (CMS)

Con el crecimiento constante de nuestro sitio web y la necesidad de actualizar y publicar contenido de manera regular, la implementación de un CMS nos permitirá gestionar de manera eficiente nuestro contenido, mejorar la colaboración entre los equipos y aumentar la velocidad de publicación...

Ejemplos |Justificación

U1. Planeación

Desarrollo de un Sistema de Gestión de Relaciones con Clientes (CRM)

Nuestra empresa está experimentando un crecimiento significativo en la base de clientes y la gestión manual de relaciones con los clientes se ha vuelto insostenible. Un CRM nos ayudará a centralizar la información del cliente, mejorar la atención al cliente y aumentar la retención de clientes...

Ejemplos |Justificación

U1. Planeación

Migración de una Aplicación a la Nube

La migración de nuestra aplicación a la nube nos proporcionará escalabilidad, flexibilidad y seguridad mejoradas, permitiéndonos adaptarnos más fácilmente a las demandas del mercado, reducir los costos operativos y mejorar la disponibilidad y el rendimiento de la aplicación....

Ejemplos |Justificación

U1. Planeación

Desarrollo de un Sistema de Reservas en Línea

La implementación de un sistema de reservas en línea nos permitirá ofrecer a nuestros clientes una experiencia de reserva conveniente y sin problemas, aumentando la satisfacción del cliente, reduciendo los errores de reserva y optimizando la utilización de nuestros recursos...

Ejemplos |Objetivo General

U1. Planeación

Desarrollo de una Plataforma de Comercio Electrónico

Desarrollar una plataforma de comercio electrónico completa que permita a los usuarios buscar, comparar y comprar productos de manera fácil y segura, con un diseño intuitivo y una experiencia de usuario optimizada.

Ejemplos |Objetivo General

U1. Planeación

Implementación de un Sistema de Gestión de Contenidos (CMS)

Implementar un CMS personalizado que permita a los editores de contenido gestionar y publicar contenido de manera eficiente en nuestro sitio web, incluyendo funciones avanzadas de programación y flujo de trabajo.

Ejemplos |Objetivo General

U1. Planeación

Desarrollo de un Sistema de Gestión de Relaciones con Clientes (CRM)

Diseñar y desarrollar un CRM integral que centralice la información del cliente, automatice los procesos de ventas y mejore la atención al cliente para aumentar la retención y satisfacción del cliente.

Ejemplos |Objetivo General

U1. Planeación

Migración de una Aplicación Heredada a la Nube

Migrar nuestra aplicación heredada a una plataforma en la nube para mejorar la escalabilidad, la disponibilidad y la seguridad, reduciendo así los costos operativos y mejorando la experiencia del usuario.

Ejemplos |Objetivo General

U1. Planeación

Desarrollo de un Sistema de Reservas en Línea para un Hotel

Desarrollar un sistema de reservas en línea que permita a los huéspedes buscar disponibilidad, reservar habitaciones y servicios adicionales, y realizar pagos de manera conveniente y segura, mejorando así la eficiencia operativa y la satisfacción del cliente.

U1. Planeación

Actividad de Apredizaje

  • En la barra de búsqueda teclea la palabra: frexus.
  • Pulsa en la opción que dice: Generando valor agregado.
  • Haz clic sobre la opción academia.
  • Luego, pulse en el nombre de la materia.
  • Lee el recurso: Objetivos.
  • Responda las preguntas para reflexionar. Y corrija los objetivos presentados de ejemplos que estén mal
  • Las actividades se definen como las tareas o acciones específicas que deben llevarse a cabo para completar una fase o un componente del proyecto.
  • La definición de actividades es crucial para una planificación efectiva del proyecto y para garantizar que todas las partes involucradas tengan una comprensión clara de lo que se espera que se realice.

Planificación

Planificación

U1. Planeación

Aspectos claves

Descomposición del Trabajo

  • Comienza descomponiendo el trabajo general del proyecto en tareas más pequeñas y manejables.
  • Divide el proyecto en fases principales, como planificación, diseño, desarrollo, pruebas e implementación.

Planificación

U1. Planeación

Aspectos claves

Identificación de Tareas Específicas

  • Dentro de cada fase, identifica las tareas o actividades específicas que deben llevarse a cabo para lograr los objetivos de ella.
  • Estas pueden incluir actividades como reuniones, análisis de requisitos, diseño de interfaces de usuario, codificación, pruebas de software, entre otras.

Planificación

U1. Planeación

Aspectos claves

Especificación de Detalles

  • Especifica los detalles de cada actividad, incluyendo quién será responsable de llevarla a cabo, qué recursos serán necesarios, cuándo debe completarse y cualquier dependencia o restricción que pueda afectar su ejecución.

Planificación

U1. Planeación

Aspectos claves

Secuenciación de Actividades

  • Secuencia las actividades en un orden lógico, teniendo en cuenta cualquier dependencia o relación entre ellas.
  • Algunas actividades pueden realizarse en paralelo, mientras que otras deben completarse antes de que comiencen otras.

Planificación

U1. Planeación

Aspectos claves

Estimación de Duración

  • Estima la duración de cada actividad, considerando factores como la complejidad de la tarea, la experiencia del equipo, la disponibilidad de recursos y cualquier restricción de tiempo.

Planificación

U1. Planeación

Aspectos claves

Asignación de Recursos

  • Asigna los recursos necesarios para llevar a cabo cada actividad, como personal, herramientas, equipos y presupuesto.

Planificación

U1. Planeación

Aspectos claves

Documentación

  • Documenta todas las actividades definidas junto con sus detalles, secuencias y duraciones en un plan de proyecto o en un cronograma para facilitar la gestión y el seguimiento del progreso del proyecto.

Actividad de aprendizaje

U1. Planeación
  1. Describe las actividades de tu proyecto junto a sus sub actividades
  2. Estima el tiempo para cada actividad y sub actividad
  3. Identifica las actividades prioritarias
  4. Utiliza el software recomendado para realizar tu gráfica de seguimiento

Identificación de riesgos

U1. Planeación
  • La identificación y gestión de riesgos es un proceso continuo y dinámico que requiere atención constante a lo largo del proyecto.
  • Se puedes minimizar los impactos negativos de los riesgos y aumentar las posibilidades de éxito del proyecto.

Identificación de riesgos

U1. Planeación

Aspectos claves

Brainstorming de Riesgos

  • Sesión de lluvia de ideas donde los miembros del equipo identifiquen los posibles riesgos que podrían afectar al proyecto.
  • Los participantes deben pensar en todos los aspectos del proyecto, desde técnicos hasta humanos y externos.

Técnicas de Identificación de Riesgos

  • Análisis FODA (Fortalezas, Oportunidades, Debilidades, Amenazas), el análisis de causa raíz, y la revisión de lecciones aprendidas de proyectos anteriores para identificar riesgos potenciales.

Identificación de riesgos

U1. Planeación

Aspectos claves

Documenta los Riesgos

  • Registra todos los riesgos identificados en un registro de riesgos, incluyendo una descripción del riesgo, su impacto potencial, la probabilidad de ocurrencia y cualquier acción de mitigación inicial.

Categoriza los Riesgos

  • Clasifica los riesgos identificados en categorías como riesgos técnicos, riesgos de recursos humanos, riesgos de gestión, riesgos de mercado, etc.
  • Esto facilitará su análisis y gestión posterior.

Gestión de Riesgos

U1. Planeación

Aspectos claves

Desarrollo de Estrategias de Mitigación

  • Desarrolla estrategias para mitigar o reducir el impacto de los riesgos identificados.
  • Incluir la planificación de contingencias, la asignación de recursos adicionales, la diversificación de proveedores, entre otros.

Análisis y Evaluación de Riesgos

  • Evalúa cada riesgo identificado en términos de su impacto potencial en el proyecto y la probabilidad de ocurrencia.
  • Utiliza matrices de riesgos para clasificar y priorizar los riesgos en función de su importancia.

Gestión de Riesgos

U1. Planeación

Aspectos claves

Implementación de Medidas de Control

  • Implementa medidas de control para monitorear y controlar los riesgos a lo largo del proyecto.
  • Esto puede incluir el seguimiento regular del registro de riesgos, el establecimiento de hitos de alerta temprana y la comunicación regular con las partes interesadas.

Asignación de Responsabilidades

  • Asigna responsabilidades claras a los miembros del equipo para la gestión de riesgos.
  • Es importante que cada riesgo tenga un propietario que sea responsable de supervisar su mitigación y seguimiento.

Gestión de Riesgos

U1. Planeación

Aspectos claves

Revisión y Actualización Continua

  • Revisa y actualiza regularmente el registro de riesgos a lo largo del ciclo de vida del proyecto. A medida que el proyecto avanza y cambian las circunstancias, es importante revisar y ajustar las estrategias de mitigación según sea necesario.

Actividad de aprendizaje

U1. Planeación

1. Realiza el análisis FODA de tu proyecto

Unidad 2

Es un proceso crucial que abarca la conceptualización, la planificación y la representación técnica de una solución de software. Un diseño sólido establece las bases para un desarrollo eficiente, un software fácil de mantener y una mayor satisfacción del cliente.

Diseño de software

Un buen diseño, proporciona una visión clara de cómo se estructurará y funcionará la solución, lo que facilita la comprensión tanto para los desarrolladores como para los usuarios finales.

Diseño de software

U2. Diseño

Importancia

Claridad y Comprensión

Un diseño bien pensado reduce la complejidad del desarrollo al dividir el sistema en componentes más pequeños y manejables. Esto permite que los equipos de desarrollo trabajen de manera más eficiente y coordinada.

Facilita el Desarrollo

Un diseño bien estructurado hace que, sea más fácil de mantener y actualizar futuro cambios y mejoras pueden implementarse de manera más rápida y sin afectar negativamente a otras partes del sistema.

Diseño de software

U2. Diseño

Importancia

Mantenibilidad

Un diseño modular y flexible permite adaptarse a nuevas necesidades y requisitos, sin reescribir grandes porciones de código. Especialmente importante en entornos empresariales que están sujetos a cambios constantes.

Flexibilidad

Anticipa y aborda posibles problemas de rendimiento y escalabilidad, lo que resulta en un software más confiable y capaz de crecer con las demandas del negocio.

Diseño de software

U2. Diseño

Importancia

Fiabilidad y Escalabilidad

Cada clase o módulo debe tener una sola responsabilidad y motivo para cambiar. Esto promueve la cohesión y evita la aparición de código duplicado.

Diseño de software

U2. Diseño

Principios

Principio de Responsabilidad Única (SRP)

Las entidades de software deben estar abiertas para la extensión pero cerradas para la modificación. Esto se logra mediante el uso de abstracciones y la creación de interfaces bien definidas.

Principio de Abierto/Cerrado (OCP)

Los objetos de un programa deben ser sustituibles por instancias de sus subtipos sin afectar la integridad del programa. Esto garantiza que las clases derivadas se comporten de manera consistente con las clases base.

Diseño de software

U2. Diseño

Principios

Principio de Sustitución de Liskov (LSP)

Los clientes no deben verse obligados a depender de interfaces que no utilicen. Esto se logra dividiendo las interfaces en conjuntos más pequeños y específicos.

Principio de Segregación de Interfaces (ISP)

Los módulos de alto nivel no deben depender de los módulos de bajo nivel. Ambos deben depender de abstracciones. Este principio fomenta el desacoplamiento y la flexibilidad en el diseño.

Diseño de software

U2. Diseño

Principios

Principio de Inversión de Dependencia (DIP)

La notación de Modelado Unificado (UML) proporciona una forma estándar de representar visualmente la estructura y el comportamiento del software, incluyendo diagramas de clases, diagramas de secuencia y diagramas de actividad.

Diseño de software

U2. Diseño

Métodos y Herramientas

Diagramas UML

Los patrones de diseño son soluciones probadas y comunes a problemas recurrentes en el diseño de software. Ejemplos incluyen el patrón de diseño de fábrica, el patrón de observador y el patrón de estrategia.

Patrones de Diseño

Las metodologías ágiles como Scrum y Kanban promueven un enfoque iterativo e incremental para el diseño de software, lo que permite adaptarse rápidamente a los cambios y retroalimentación del cliente.

Diseño de software

U2. Diseño

Métodos y Herramientas

Metodologías de Diseño Ágil

pruebas de unidad y las pruebas de integración, ayuda a validar y verificar la efectividad del diseño del software y garantizar su calidad.

Pruebas de Diseño

La refactorización es el proceso de reestructurar el código existente sin cambiar su comportamiento externo. Ayuda a mejorar la estructura y la legibilidad del código, lo que contribuye a un mejor diseño general del software.

Diseño de software

U2. Diseño

Métodos y Herramientas

Refactorización

Actividad de aprendizaje

U2. Diseño
  1. En la barra de búsqueda teclea la palabra: frexus.
  2. Pulsa en la opción que dice: Generando valor agregado.
  3. Haz clic sobre la opción academia. Luego en el nombre de la materia.
  4. Lee el recurso: Dia, casos de uso, clases
  5. Genere sus diagramas de su proyecto.

Unidad 3

  • Implica llevar a cabo todas las actividades necesarias para construir, probar y entregar el software de manera eficiente y efectiva.
  • Incluye la implementación del código, el desarrollo iterativo, las pruebas y depuración continuas, la gestión de configuración, la integración y despliegue continuos, la gestión del proyecto y la colaboración y comunicación entre los miembros del equipo.

Realizar el proyecto

U3. Despliegue

Aspectos claves

Realizar el proyecto

U3. Despliegue

Implementación del Código

  • Se comienza a escribir el código real del software basándose en los diseños y especificaciones establecidas durante las fases de planificación y diseño.
  • El código esté bien estructurado, documentado y siga las mejores prácticas de programación para garantizar su calidad y mantenibilidad a largo plazo.

Aspectos claves

Realizar el proyecto

U3. Despliegue

Desarrollo Iterativo

  • Basado en metodologías ágiles, el desarrollo del proyecto se lleva a cabo de manera iterativa e incremental.
  • En lugar de esperar hasta que todo el software esté completamente desarrollado antes de realizar pruebas, los equipos de desarrollo trabajan en pequeños incrementos de funcionalidad que se van probando y refinando a lo largo del tiempo.

Aspectos claves

Realizar el proyecto

U3. Despliegue

Pruebas y Depuración

  • Pruebas continuas para identificar y corregir errores en el software.
  • Incluye pruebas unitarias para cada componente individual, pruebas de integración para garantizar que los diferentes módulos funcionen juntos correctamente, y pruebas de sistema para validar que el software cumpla con los requisitos especificados.

Aspectos claves

Realizar el proyecto

U3. Despliegue

Gestión de Configuración

  • Crucial durante la realización del proyecto para garantizar que todos los cambios en el código y los recursos relacionados se realicen de manera controlada y documentada.
  • Incluye el control de versiones del código fuente, la gestión de dependencias y la coordinación de los cambios entre los miembros del equipo.

Aspectos claves

Realizar el proyecto

U3. Despliegue

Integración Continua y Despliegue Continuo

  • La integración continua implica la automatización de la construcción, prueba y despliegue del software en entornos de desarrollo y pruebas de manera regular y frecuente.
  • Permite detectar y corregir errores de manera temprana y garantizar una mayor calidad del software.
  • Despliegue continuo, por otro lado, implica la entrega automática y continua de nuevas versiones del software en entornos de producción.

Aspectos claves

Realizar el proyecto

U3. Despliegue

Gestión del Proyecto

  • Garantizar que se cumplan los plazos, presupuestos y objetivos establecidos.
  • Incluye la planificación y asignación de recursos, la gestión de riesgos, la comunicación con las partes interesadas y la resolución de problemas que puedan surgir durante el desarrollo del software.

Aspectos claves

Realizar el proyecto

U3. Despliegue

Colaboración y Comunicación

  • La realización del proyecto también implica una colaboración cercana entre todos los miembros del equipo, incluyendo desarrolladores, probadores, diseñadores y gerentes de proyecto.
  • La comunicación efectiva y la colaboración son fundamentales para garantizar que todos estén alineados con los objetivos del proyecto y que el trabajo se realice de manera eficiente y coordinada.

Actividad de aprendizaje

U3. Despliegue

Despliegue su proyecto

Ing. De Software II

By Alfredo de Jesús Gutiérrez Gómez