DIPLOMADO: FORMACIÓN EN BUENAS PRÁCTICAS DE PROGRAMACIÓN CON PERSONAL SOFTWARE PROCESS (PSP) MODALIDAD DE TITULACIÓN MEDIANTE LA OPCIÓN VI : EXAMEN GLOBAL POR ÁREAS DE CONOCIMIENTO INTRODUCCIÓN La Ingeniería de Software requiere llevar a cabo una serie de tareas, sobre todo las siguientes: Análisis de requisitos: Es la primera etapa para crear el programa. El cliente especifica que es lo que quiere que el sistema realice. Especificación: Es la tarea de describir detalladamente el software a ser escrito. Diseño y arquitectura: Se refiere a determinar cómo funcionará de forma general sin entrar en detalles. Programación: Es esta fase se empieza codificar el diseño. Prueba: Se comprueba que el software realice las tareas para el cual fue diseñado, se recomienda probar por separado cada módulo y ver que funciona correctamente. Documentación: Realización del manual de usuario, y posiblemente un manual técnico con el propósito de mantenimiento futuro y ampliaciones al sistema. Mantenimiento: Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. La Ingeniería de Software tiene varios modelos o paradigmas de desarrollo en los cuales se puede apoyar para la realización de software, de los cuales podemos destacar a éstos por ser los más utilizados y los más completos: Modelo en cascada Modelo en espiral Modelo de prototipos Método en V Al hablar de Ingeniería de Software también se tiene que hablar de UML, ya que se encuentra estrechamente ligado en el desarrollo de sistemas de alta calidad. UML ha emergido como una unificación de los diversos métodos orientados a objetos y se está convirtiendo en un estándar. El Lenguaje Unificado de Modelado es ahora el esquema de representación gráfica más utilizado para modelar sistemas orientados a objetos. Aquellos quienes diseñan sistemas utilizan el lenguaje (en forma de diagramas) para modelar sus sistemas. Una de las características más atractivas de UML es su flexibilidad. UML es extensible e independiente de los diversos procesos de A/DOO. Los modeladores de UML tienen la libertad de diseñar sistemas utilizando varios procesos, pero todos los desarrolladores pueden ahora expresar esos diseños con un conjunto de notaciones estándar. Una de las características de PSP, es que es muy parecido a la ingeniería de software, ya que la mayoría de sus fases son muy parecidas. Este diplomado pretende que el alumno egresado de la Licenciatura en informática e Ingeniería en Tecnologías de la Información y Comunicación adquiera los conocimientos necesarios que le permitan aplicar el Personal Software Process (PSP) en el área de desarrollo de software, complementando de esta manera su formación profesional, y así atender las demandas del entorno socioeconómico presentes hoy en día en nuestra región. Los participantes que hayan aprobado y concluido los cursos del diplomado podrán obtener su título profesional.
JUSTIFICACIÓN La formación en buenas prácticas de programación con PSP es un proceso personal que puede ser adaptado a las necesidades individuales de cada desarrollador. PSP no es específico para un lenguaje de programación o metodología de diseño; por lo tanto puede usarse con diferentes metodologías inclusive desarrollo Ágil de software. Los métodos de la ingeniería de software pueden variar desde predictivos hasta adaptativos. PSP es una metodología predictiva, desarrollo Ágil es considerada una metodología adaptiva, pero a pesar de sus diferencias, TSP/PSP y desarrollo Ágil comparten varios conceptos aproximaciones particularmente en cuanto a la organización del equipo. Con ambos es posible: Definir sus metas y estándares. Estimar y agendar el trabajo. Determinar agendas realistas y alcanzables. Realizar planes y procesos de mejora. Desarrollo Ágil y TSP/PSP comparten la idea que los miembros del equipo se responsabilicen por su propio trabajo y trabajen juntos para acordar un plan realista, crear un ambiente de confianza y responsabilidad. Sin embargo, el TSP/PSP se diferencia del desarrollo Ágil en su énfasis en la documentación del proceso y el uso de datos para predecir y definir la agenda del proyecto. Frente a UML, PSP obtiene la información de la interacción dinámica y estática, interna y externa capturando datos con formatos que se asemejan a los formatos de los de casos de uso, los diagramas de secuencias, y de clases. Basado en un diagrama UML se puede obtener la información base para crear ciertos formatos de PSP. INFORMACION GENERAL DEL DIPLOMADO Nombre: Formación en buenas prácticas de programación con Personal Software Process (PSP) Objetivo general: La Formación en buenas prácticas de programación con Personal Software Process (PSP), que les permita tener un crecimiento profesional y mayores oportunidades en el área de desarrollo de software. Objetivos específicos: Al final del programa del diplomado de buenas prácticas de programación con Personal Software Process (PSP), el participante será capaz de: Sistematizar su estrategia de desarrollo de Software permitiéndole establecer sus métricas y productividad para planear y costear sus aplicaciones. Establecer las características de un proceso, un proceso personal y el proceso personal de desarrollo de software. Entender y aplicar el PSP0 y la herramienta de apoyo para el desarrollo de la asignación 1. Establecer el marco de trabajo para la Planeación. Aplicar la estimación basada en proxi y el método PROBE. Utilizar el conteo de tamaño y los tipos de tamaño relativos. Entender y aplicar el PSP1 y la herramienta de apoyo para el desarrollo de la asignación 2. Utilizar el diseño conceptual para el llenado de la plantilla de estimación de tamaño. Utilizar la plantilla de reporte de pruebas y las propuestas de mejora del proceso. Entender la calidad del software. Utilizar métodos de remoción de defectos. Aplicar revisiones personales de diseño y de código. Aplicar métricas de calidad Entender y aplicar el PSP2 y la herramienta de apoyo para el desarrollo de la asignación 3. Demostrar el valor de la remoción temprana de defectos en PSP Realizar la construcción de cronogramas para la elaboración del proyecto. Aplicar el valor ganado en el seguimiento del proyecto. Entender el proceso de desarrollo de software en equipo Team Software Process (TSP)
Tiempo y duración del diplomado: El diplomado consta de 120 horas de instrucción impartidas de la siguiente manera: Contempla 4 módulos. 6 sesiones por módulo de 4 horas los viernes y 6 horas el sábado. Las sesiones serán los días viernes de 4:00 p.m. a 8:00 p.m. y sábados de 8:00 a.m. a 14:00 p.m. Requisitos y antecedentes de ingreso de los candidatos Para ingresar al programa de diplomado, el aspirante debe cumplir con los siguientes requisitos: Ser egresado de la especialidad de Licenciatura en Informática, cuyo propósito sea titularse por la opción VI Área de Conocimientos. Ser un profesional del área de Tecnologías de la Información. Solicitud de admisión. Diseño académico del diplomado Metodología Los cursos de cada uno de los módulos que conforman el diplomado, serán desarrollados a través de exposiciones conceptuales de los profesores, con la utilización de diversas estrategias didácticas, complementadas con ejemplos, ejercicios, casos prácticos y presentación de informes para un mejor entendimiento de los temas a tratar. Además algunos módulos serán auxiliados con herramientas de software. El participante podrá contactar al profesor mediante la utilización del correo electrónico para preguntas y comentarios. Lineamientos de evaluación El proceso de evaluación se desarrollara en forma continua a través de todo el diplomado, en cada uno de los diferentes módulos que lo conforman, para determinar si se cumplen los objetivos con lo establecido. La evaluación consistirá de las actividades programadas en cada uno de los módulos: 1. Cumplir con el 90% mínimo de asistencia en el aula. 2. Desarrollar y enviar las 4 asignaciones de programas. 3. Realizar los simuladores que se activan en la plataforma. Para los participantes que opten titularse, la calificación mínima por módulo es de 90%.
PROGRAMA El programa está conformado por 4 módulos. MODULO I Introducción al PSP 30 Horas El participante comprenderá y distinguirá los elementos del proceso de desarrollo personal de software y la aplicación el PSP0 en el desarrollo de la asignación 1. El proceso personal de desarrollo de Software La herramienta de automatización del proceso Process Dashboard Aplicación del PSP0 Desarrollo de la asignación 1 Corrección de las Observaciones y env ío de asignación 1. PONENTE: Dr. José Crispín Hernández Hernández MODULO II Conceptos Fundamentales de Planeación 30 Horas Aplicar el diseño conceptual en la determinación de los Proxys para la estimación del tamaño del programa con el método PROBE y el PSP1 para la realización de la asignación 2. El marco de trabajo para la planeación. El método PROBE Conteo de tamaño y tipos de tamaño. Aplicación del PSP1 Desarrollo de la asignación 2 Corrección de las Observaciones y env ío de asignación 2. PONENTE: Dr. José Crispín Hernández Hernández
MODULO III Calidad de Software 30 Horas Entender la calidad del software y utilizar métodos de remoción de defectos. Entender y aplicar el PSP2 y la herramienta de apoyo para el desarrollo de la asignación 3. Que es la Calidad Los métodos de remoción de defectos. Las revisiones personales. Métricas de Calidad. Aplicación del PSP2 Desarrollo de la asignación 3 Corrección de las Observaciones y envío de asignación 3. PONENTE: Ing. José Antonio Cruz Zamora. MODULO IV Planeación del cronograma y seguimiento del proyecto 30 Horas Aplicar la planeación del cronograma y seguimiento de un proyecto. Aplicar PSP2 y la herramienta de apoyo para el desarrollo de la asignación 4 Construcción del Cronograma Seguimiento con el valor Ganado Desarrollo de la asignación 4 Corrección de las Observaciones y env ío de asignación 4. Ejercicios de análisis de casos de estudio. Team Software Process (TSP). PONENTE: Ing. José Antonio Cruz Zamora.