Alfredo de Jesús Gutiérrez Gómez, Dr
De software II
Unidad 1
Planeación del proyecto
Unidad 2
Diseño del software
Unidad 3
Realización del proyecto
El incumplimiento de las tareas en tiempo y forma llevarán a una no aprobación del curso.
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.
Unidad 1
Unidad 2
Unidad 3
En una hoja escribe la respuesta a la siguiente pregunta:
Una vez contestadas las preguntas anteriores escribir en el foro respectivo la respuesta a cada pregunta
Se enumeran las recomendaciones que se deben seguir para la realización de las actividades
Trabajo
Párrafos
Ortografía - Gramática
Referencias bibliográfica
Lista referencia bibliográfica
Introducción y conclusión
Formato del trabajo
Diagramas
Códigos fuentes
Tablas
Imágenes / diagramas / gráficas:
Software recomendado
Portada.
Presentación.
Introducción.
Índice.
Capitulo 1. Generalidades del proyecto
Capitulo 2. Desarrollo del proyecto
Capitulo 2. Desarrollo del proyecto
Capitulo 2. Desarrollo del proyecto
Capitulo 2. Desarrollo del proyecto
Capitulo 3. Conclusiones
índice de imágenes
Índice de tablas.
Anexos
Bibliografía
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
Requerimientos de hardware
Requerimientos de software
Despliegue en servicios reales
U1. Planeación
Aspectos claves
U1. Planeación
Definición de Objetivos y Alcance
Recursos y Estimación de Costos
Aspectos claves
U1. Planeación
Planificación del Cronograma
Identificación y Gestión de Riesgos
Aspectos claves
U1. Planeación
Asignación de Responsabilidades
Seguimiento y Control
Aspectos claves
U1. Planeación
Comunicación
Ejemplos | Alcance
U1. Planeación
Desarrollo de una Aplicación Móvil
Implementación de un Sistema de Gestión de Contenidos (CMS)
Ejemplos | Alcance
U1. Planeación
Desarrollo de un Sistema de Gestión de Relaciones con Clientes (CRM)
Migración de una Aplicación a la Nube
Ejemplos | Alcance
U1. Planeación
Desarrollo de un Sistema de Reservas en Línea
Ejemplos |Objetivo Específico
U1. Planeación
Desarrollo de una Aplicación Móvil
Ejemplos |Objetivo Específico
U1. Planeación
Implementación de un Sistema de Gestión de Contenidos (CMS)
Ejemplos |Objetivo Específico
U1. Planeación
Migración de una Aplicación a la Nube
Ejemplos |Objetivo Específico
U1. Planeación
Desarrollo de un Sistema de Reservas en Línea
Ejemplos |Objetivo Específico
U1. Planeación
Desarrollo de un Sistema de Gestión de Relaciones con Clientes (CRM)
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
U1. Planeación
Aspectos claves
Descomposición del Trabajo
U1. Planeación
Aspectos claves
Identificación de Tareas Específicas
U1. Planeación
Aspectos claves
Especificación de Detalles
U1. Planeación
Aspectos claves
Secuenciación de Actividades
U1. Planeación
Aspectos claves
Estimación de Duración
U1. Planeación
Aspectos claves
Asignación de Recursos
U1. Planeación
Aspectos claves
Documentación
U1. Planeación
U1. Planeación
U1. Planeación
Aspectos claves
Brainstorming de Riesgos
Técnicas de Identificación de Riesgos
U1. Planeación
Aspectos claves
Documenta los Riesgos
Categoriza los Riesgos
U1. Planeación
Aspectos claves
Desarrollo de Estrategias de Mitigación
Análisis y Evaluación de Riesgos
U1. Planeación
Aspectos claves
Implementación de Medidas de Control
Asignación de Responsabilidades
U1. Planeación
Aspectos claves
Revisión y Actualización Continua
U1. Planeación
1. Realiza el análisis FODA de tu proyecto
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
U2. Diseño
Métodos y Herramientas
Refactorización
U2. Diseño
U3. Despliegue
Aspectos claves
U3. Despliegue
Implementación del Código
Aspectos claves
U3. Despliegue
Desarrollo Iterativo
Aspectos claves
U3. Despliegue
Pruebas y Depuración
Aspectos claves
U3. Despliegue
Gestión de Configuración
Aspectos claves
U3. Despliegue
Integración Continua y Despliegue Continuo
Aspectos claves
U3. Despliegue
Gestión del Proyecto
Aspectos claves
U3. Despliegue
Colaboración y Comunicación
U3. Despliegue
Despliegue su proyecto