INVESTIGADORES
BRABERMAN Victor Adrian
convenios, asesorías y/o servicios tecnológicos
Título:
Cursos de Especialización en Ingeniería de Requerimientos
Autor/es:
SEBASTIÁN UCHITEL; VICTOR BRABERMAN
Fecha inicio:
2007-01-01
Fecha finalización:
2008-05-01
Naturaleza de la

Producción Tecnológica:
Informática (software)
Campo de Aplicación:
Prom.Gral.del Conoc.-Cs.Exactas y Naturales
Descripción:
Curso avanzado en ingeniería de requerimientos. Los montos que figuran a continuación en el formulario son los totales de la asistencia técnica. El procentaje de participación es el overhead de la UBA y facultad. Se dictarán dos ediciones de cada uno de los cursos propuestos a continuación, para un máximo de 12 alumnos cada uno. Curso #1: Ingeniería de Requerimientos Curso #2: Arquitecturas de Software Cada Curso consistirá en 20 horas de clase presencial, incluyendo una instancia de evaluación formal de los alumnos. Los cursos serán dictados en Telefónica (Barracas). Los viáticos de los docentes estarán a cargo de La Facultad. Se estudiarán las problemáticas inherentes y los fundamentos subyacentes de la disciplina. Se estudiará la Ingeniería de Requerimientos Orientada a Objetivos, demostrando y ejercitando el uso del modelo de objetivos como pivot para las técnicas, modelos y prácticas relacionadas con la disciplina.  Requisitos de los asistentes: Conocimientos básicos de Ingeniería del Software incluyendo diseño y técnicas de descripción estilo UML Objetivos: Al final de curso los asistentes obtendrán: Una visión moderna de la disciplina: teoría + ejemplos Conocimientos fundacionales sobre las formas y buenas prácticas de describir requerimientos para distintos contextos de desarrollo Una comprensión de la relación entre los requerimientos del software y la satisfacción de objetivos de negocio Un marco de conocimiento y trabajo para integrar las diversas técnicas, modelos y prácticas asociadas al área Parte 1 : Introducción y Fundamentos Introducción a la Ingeniería de Requerimientos: ¿Qué es?, ¿Porqué es relevante?, ¿Porqué es difícil?, ¿Qué hace un Ingeniero de Requerimientos?, ¿Existen? Fundamentos: Separación de Problema y Solución: Modelo de Jackson, Twin Peaks, Problem Frames, Descripciones vs. Prescripciones. Verificación, Validación y Correspondencia. Correctitud y Completitud “Elicitación”: Efecto Hawthorne, sesgos, observabilidad, Puntos de Inicio (Tipos de Proyectos, Contexto, Factibilidad, Riesgos, Objetivos, Alcance, Stakeholders). Técnicas de basadas en artefactos y en stakeholders Estructura: Diagramas de Contexto y Modelo de Objetivos. Parte 2: Orientación a Objetivos Modelo de Objetivos: Tipos y categorías, funcionales vs. no funcionales, duros vs. blandos Relaciones intra-modelo: refinamientos y/o, consejos y heurísticas, verificación y validación Relaciones extra-modelo: Asignación de Responsabilidades, Controlabilidad y Realizabilidad, Relación con refinamiento Análisis de Objetivos De-idealización: Análisis de obstáculos, detección, tácticas de resolución Completitud y Consistencia: Análisis de conflictos, divergencias, inconsistencias, tácticas de resolución. Condiciones de Borde Parte 3: Objetivos en el Contexto de otros Modelos Modelo de Objetivos como Modelo Pivot Evaluación de Pertinencia y Alcance Operacionalizacíon y Modelado Conceptual Links inter-modelo: Modelo de Jackson, Diagrama de Contexto, Casos de Uso y Escenarios, Modelos de Operación, Maquinas de Estado, Arquitecturas de Software, Diseño Elaboración de modelos Parte 4: Generación de Entregables Especificación de Requerimientos ¿Qué es y para qué sirve? SRS vs. Modelos. Audiencias, Contextos Organizacionales, de Proyecto y de Contratación Cualidades esperadas y Errores comunes Estándares. IEEE-STD-830-1993 Selección y Priorización de Objetivos Objetivos Blandos, Razonamiento cualitativo Objetivos medibles, Razonamiento cuantitativo, AHP (Analytic Hierarchy Process) Recursos Bibliográficos Adicionales: Van Lamsweerde, Requirements Engineering, Wiley and Sons, esperado para el 2008 Nuseibeh and S. Easterbrook, Fundamentals of Requirements Engineering, Addison Wesley, esperado para el 2008 M. Jackson, Software Requirements & Specifications (Addison-Wesley and ACM Press, 1996) o M. Jackson, Problem Frames: Analysing and Structuring Software Development Problems (Addison-Wesley, 2001).  K. E. Wiegers, Software Requirements (Microsoft Press, 2003) Artículos de revistas y conferencias a incluir en notas. Curso #2: Arquitecturas de Software En este curso, se estudiarán los fundamentos subyacentes, las aplicaciones prácticas junto a sus principios de construcción, y las técnicas de validación y descripción relacionadas con la disciplina. Requisitos: Conocimientos básicos de Ingeniería del Software, diseño OO, verificación de software, Conocimientos básicos de UML. Curso de ingeniería de requerimientos Objetivos: Al final de curso los asistentes obtendrán: Una visión moderna de la disciplina: teoría + ejemplos Conocimientos fundacionales sobre las formas y buenas prácticas de describir arquitecturas de software para distintas audiencias e intereses Una comprensión de la relación entre la arquitectura de software y la satisfacción de atributos de calidad de servicio Una visión panorámica de temas vinculados tales como: estilos, descripción de comportamiento, variabilidad, procesos de evaluación/diseño de arquitecturas de software, etc. Parte I: Fundamentos Fundamentos y terminología de arquitectura de software: ¿Qué es arquitectura de software? Importancia. Elementos, relaciones y propiedades de la estructura. Grado de instanciación de una arquitectura. Relación con la ingeniería de requerimientos. Modelo de Jackson. Twin Peaks.  Quality Attributes. Concerns. Vistas.  Parte 2: Modelos y Descripciones Conceptos  básicos y buenas prácticas de modelado y documentación. Elementos, relaciones y propiedades. ViewTypes (tipos de vista) y estilos. Notaciones. ADLs. Uso de UML 2.0 Tipo de Vista Modular. Estilos: descomposición, uso, generalización, layers (capas). Notaciones. Tipo de Vista Componente & Conector. Estilos: pipe&filter, datos compartidos, publish-subscribe, C2,   client server, peer-to-peer, communicating processes. Notaciones Tipo de Vista Asignación. Estilos: deployment, implementación, asignación de trabajo. Notaciones. Estilos Mixtos: tiers. Conceptos avanzados: Interfases y comportamiento. Refinamiento.  Variabilidad. Dinamismo. Elección y estructuración de vistas. Parte 3: Construcción y validación La arquitectura de software en el proceso de construcción de software: Descripción del proceso y frontera del requerimiento. Escenarios: QA, concerns Escenario: Concern y Tácticas. Métodos de validación ATAM: Validación y priorización basada en escenarios. Descripción del proceso ATAM. Árbol de utilidad y prioridades. Tradeoff entre concerns. Validación avanzada de arquitecturas AS Recursos Bibliográficos Adicionales: Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Robert Nord, Judith Stafford, Documenting Software Architectures: Views and Beyond (Addison-Wesley, 2002)  Len Bass, Paul Clements, and Rick Kazman, Software Architecture in Practice. 2nd Edition (Addison-Wesley Professional, 2003) Christine Hofmeister, Robert Nord, Dilip Soni, Applied Software Architecture  (Addison Wesley, 1999)Artículos de revistas y conferencias a incluir en notas.