ELABORACION CONTENIDO PROGRAMATICO CÓDIGO: GAC-FO-164 EMISIÓN: 29/07/2010 MACROPROCESO: PRESTACIÓN DEL SERVICIO VERSIÓN: 02 PROCESO: GESTION ACADEMICA PÁGINA 1 de 6 SUBPROCESO: MEJORAMIENTO CURRICULAR VICERRECTORÍA ACADÉMICA NOMBRE DE LA FACULTAD INGENIERIAS Y TECNOLOGIAS DE LA INFORMACION NOMBRE DEL PROGRAMA INGENIERÍA DEL SOFTWARE 1. INFORMACIÓN GENERAL INFORMACIÓN DEL PROFESOR FREDYS ALBERTO SIMANCA HERRERA Nombres y Apellidos: Correo Electrónico: [email protected] Horario de Atención a Estudiantes INFORMACIÓN DE LA ASIGNATURA Facultad Asignatura Semestre Número de Créditos Trabajo Presencial Dirigido INGENIERÍAS Y TECNOLOGÍAS DE LA INFORMACIÓN CONTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE VI 3 Trabajo Independiente 96 48 PRESENTACIÓN DE LA ASIGNATURA El presente documento es una guía que orienta el que hacer pedagógico dentro del proceso de aprendizaje para la asignatura Mantenimiento Pruebas y Especificación de software la cual hace parte del semestre VII del programa de Ingeniería de Software. En esta guía se pretende mediante una información precisa y clara definir los contenidos, la metodología, las estrategias y actividades pedagógicas para que el estudiante desarrolle las habilidades y aptitudes requeridas que le garanticen un desempeño óptimo en esta disciplina. La ingeniería de software es una disciplina o área de la Informática o Ciencias de la Computación que ofrece métodos y técnicas para desarrollar y mantener software de calidad a costos razonables que resuelvan problemas de todo tipo. ELABORACION CONTENIDO PROGRAMATICO CÓDIGO: GAC-FO-164 MACROPROCESO: PRESTACIÓN DEL SERVICIO EMISIÓN: 29/07/2010 VERSIÓN: 02 PROCESO: GESTION ACADEMICA PÁGINA 2 de 6 SUBPROCESO: MEJORAMIENTO CURRICULAR Con el trabajo adelantado en esta asignatura el alumno desarrollara competencias en lo relacionado con las pruebas que se llevan a cabo para verificar un proyecto de software en Ingeniería de Software y en lo particular lo concerniente en la construcción de Sistemas de Información. 2. COMPETENCIAS Y OBJETIVOS Competencias: Al término de la asignatura, el estudiante será capaz de desarrollar comprender gestionar planificar y evaluar proyectos de software utilizando técnicas de análisis y especificación utilizando el paradigma de modelamiento orientado a objetos. Objetivo General: Conseguir que el estudiante adquiera las capacidades para abordar satisfactoriamente un modelado, y construcción de diseño orientado a objetos y su posterior implantación. Impulsar por medio de proyectos la definición de estrategias y acciones concretas que mejoren la práctica diaria del desarrollo Objetivos Específicos Aprender a aplicar el paradigma de objetos para las fases de análisis y diseño mediante el empleo de UML Manipular los diferentes diagramas UML para modelar un sistema en función de cómo se presenta la realidad Aplicar las técnicas y herramientas aprendidas Descubrir el verdadero sentido del análisis de sistemas más allá del enfoque, del método o de las herramientas empleados Conocer, evaluar y aplicar enfoques modernos en el desarrollo de software, como tecnología de orientación por objetos, patrones y componentes, que permitan el desarrollo de aplicaciones robustas, flexibles y reutilizables. Aplicar estándares de calidad en la construcción de software Evaluar el proceso de desarrollo de software e implantar los principios de gestión y aseguramiento de calidad de software de acuerdo a las exigencias de modelos internacionales de calidad como SPICE (ISO TR 15504), CMM del SEI e ISO 9001. 3. CONTENIDO CONTENIDOS GENERALES I. SELECCIÓN DE HARDWARE Y SOFTWARE Características del hardware Requerimientos mínimos de Hardware Ventajas y limitaciones de las clases de software Requerimientos mínimos de Software Software libre y software Licenciado ELABORACION CONTENIDO PROGRAMATICO CÓDIGO: GAC-FO-164 MACROPROCESO: PRESTACIÓN DEL SERVICIO II. III. IV. VERSIÓN: 02 PROCESO: GESTION ACADEMICA PÁGINA 3 de 6 SUBPROCESO: MEJORAMIENTO CURRICULAR Diseño de entradas y salidas del sistema CREANDO CÓDIGO DE ALTA CALIDAD Prácticas de diseño Clases e Interfaces Anticipando los cambios Resolviendo tipos de problemas Rutinas de alta calidad Protección contra entradas inválidas Manejo y procesamiento de errores y excepciones del PDL al código Principios generales para nombrar variables y funciones Ordenamiento y estilo Código auto-documentado ASEGURANDO LA CALIDAD DEL CÓDIGO Prueba unitaria (unit testing) Revisiones técnicas Depuración de código (debugging) Técnicas para identificar defectos Técnicas para corregir defectos Refactoring Técnicas y estrategias para afinamiento de código SOPORTANDO LA CONSTRUCCIÓN V. EMISIÓN: 29/07/2010 Generadores de código Estimaciones y métricas Manejo de configuración (gestión de cambios y versionamiento) Automatización de construcción Técnicas y estrategias de integración Herramientas de programación ARQUITECTURA DE SOFTWARE Antecedentes históricos Definiciones y delimitación de la disciplina Conceptos fundamentales Campos de la Arquitectura de Software Modalidades y tendencias Diferencias entre Arquitectura y Diseño Repositorios Problemas pendientes en Arquitectura de Software Relevancia de la Arquitectura de Software (Referencias bibliográficas) ELABORACION CONTENIDO PROGRAMATICO CÓDIGO: GAC-FO-164 EMISIÓN: 29/07/2010 MACROPROCESO: PRESTACIÓN DEL SERVICIO VI. VERSIÓN: 02 PROCESO: GESTION ACADEMICA PÁGINA 4 de 6 SUBPROCESO: MEJORAMIENTO CURRICULAR ESTILOS DE ARQUITECTURA Definiciones de estilo Clasificaciones de estilos arquitectónicos Inventario y Descripción de estilos arquitectónicos Estilos y patrones de arquitectura y diseño El lugar de los estilos en los marcos de referencia y en las vistas arquitectónicas Los estilos como valor contable VII. MODELOS O VISTAS La visión estática La visión funcional La visión dinámica VIII. ARQUITECTURAS MÁS COMUNES Monolítica Cliente-servidor Arquitectura de tres niveles En pipeline. Entre pares. En pizarra. Orientada a servicios. Máquinas virtuales 4. METODOLOGÍA • Los trabajos se realizarán en equipos de trabajo e individualmente, de acuerdo al tema estos trabajos deben ser socializados ante el docente durante el tiempo de acompañamiento directo. • Acompañamiento directo es el trabajo conjunto de los estudiantes y el docente durante una sesión, en este tiempo el docente explica a los estudiantes los temas propuestos y resuelve preguntas a las inquietudes de los estudiantes, es importante anotar que algunas sesiones serán de trabajo dirigido, esto con el fin de observar el desempeño de los estudiantes en talleres propuestos dentro del aula de clase. • Acompañamiento indirecto es el apoyo y la orientación del docente al trabajo independiente del estudiante. • Trabajo independiente son todas aquellas actividades (lecturas, talleres, ensayos, reseñas, entre otras) que debe realizar el estudiante para hacer aprehensión de los temas tratados durante el acompañamiento directo o para preparar con antelación los temas siguientes. ELABORACION CONTENIDO PROGRAMATICO CÓDIGO: GAC-FO-164 MACROPROCESO: PRESTACIÓN DEL SERVICIO EMISIÓN: 29/07/2010 VERSIÓN: 02 PROCESO: GESTION ACADEMICA PÁGINA 5 de 6 SUBPROCESO: MEJORAMIENTO CURRICULAR • Se deben tener en cuenta los siguientes criterios para el trabajo con créditos académicos: • El acompañamiento directo es la mitad del tiempo que el estudiante debe emplear para su trabajo independiente. • Los dos trabajos deben ser socializados. • El trabajo independiente permite al estudiante aprender a hacer, por lo tanto este trabajo es tan importante como el acompañamiento directo. 5. EVALUACIÓN Se tendrá en cuenta el sistema de evaluación propuesto por Inpahu en los art. 43, y ss Capitulo VIII del Reglamento Estudiantil, donde se reglamenta tipos de evaluación, reporte de notas y porcentajes correspondientes para cada corte. Autoevaluación Cada uno de los estudiantes debe evaluarse cualitativamente los siguientes aspectos: 1. Asistencia a clase 2. Participación 3. Colaboración 4. Interés 5. Comprensión 6. Entrega de tareas Su evaluación podrá ser: Excelente, bueno, regular, aceptable, malo. Tendrá una cuantificación del 2.5% . Co-evaluación Los estudiantes, evaluarán el trabajo realizado por sus compañeros durante la socialización de los trabajos propuestos teniendo en cuenta: 1. Desempeño 2. Preparación del tema 3. herramientas utilizadas para la exposición 4. Comprensión del tema Será evaluada cualitativamente tendiendo en cuenta si fue Excelente, bueno, regular, aceptable, malo. Tendrá una cuantificación del 2.5% Heteroevaluación Durante la heteroevaluación se tendrá en cuenta el trabajo realizado por los estudiantes, mediante la elaboración de talleres, tareas, control de lecturas, exposiciones. Será cuantificado en un 95%. ELABORACION CONTENIDO PROGRAMATICO CÓDIGO: GAC-FO-164 MACROPROCESO: PRESTACIÓN DEL SERVICIO EMISIÓN: 29/07/2010 VERSIÓN: 02 PROCESO: GESTION ACADEMICA PÁGINA 6 de 6 SUBPROCESO: MEJORAMIENTO CURRICULAR 6. RECURSOS Material Adicional Dentro de material adicional se presenta y presta a los estudiantes todos los CD de todos los diferentes proyectos de Ingeniería de Software que se han desarrollados durante el desarrollo de la materia por sus propios compañeros y que sirven de base para el desarrollo de todos los contenidos vistos en la presente asignatura. Bibliografía Comentada: BOOCH G., "Análisis y Diseño Orientado a Objetos con Aplicaciones" - Segunda Edición Editorial Addison-Wesley/Diaz de Santos - 1996. PRESSMAN R., "Ingeniería del Software, un Enfoque Práctico" - Tercera Edición - Editorial Mc Graw-Hill - 1993. RUMBAUGH J., "Modelado y Diseño Orientado a Objetos" – Editorial Prentice Hall – 1997. RUMBAUGH J., JACOBSON I., BOOCH G., "El Lenguaje Unificado de Modelado. Manual de Referencia" - Editorial Addison-Wesley - 2000. LARMAN C., "UML y Patrones" - Segunda Edición - Editorial Prentice-Hall – 2003. ODSTRCIL M., "Apuntes de Conceptos de Sistemas y Análisis Orientado a Objetos" - Primera Edición - FACET, UNT - 2001. YOURDON, E., "Análisis Estructurado Moderno" - Primera Edición - Editorial Prentice Hall 1993 Cibergrafía www.lalibreriadelau.com/catalog/product_toc.php/products_id/3207? www.congreso.gob.pe/biblio/alerta/Alerta-7-06.pdf www.ucn.edu.co/portal/uzine/volumen22/htm www.unad.edu.co/fac_ingenieria