Universidad Adventista del Plata

Facultad de Ciencias Económicas y de la Administración

Libertador San Martín, Entre Ríos, Argentina

Ingeniería del software II

Código de la materia (INF221)

 

CARRERA: Licenciatura en Sistemas de Información PLAN: 2004
CURSO: 2.o año CARGA HORARIA TOTAL: 64 horas
CARGA HORARIA SEMANAL: 4 horas CRÉDITOS:
PROFESOR: César Ballardini PERÍODO DE DICTADO: 2.do cuatrimestre.

 

I. Descripción de la asignatura

Estudio de conceptos, prácticas y técnicas usadas en la disciplina de la construcción del software con la finalidad de obtener calidad en el proceso y en el producto de software. Planificación, implementación, avaluación, documentación y mantenimiento del software.

Contenidos básicos: Diseño de entradas, captura de datos, salidas de información e interfaz de usuario. Gestión de la calidad del software. Pruebas del software; debugging. Métodos de implementación de los sistemas. Mantenimiento correctivo, perfectivo y adaptativo. Ingeniería inversa y reingeniería de sistemas. Administración de proyectos.

II. Objetivos

El desarrollo de la materia procura que el alumno:

  1. desarrolle sus capacidades de razonamiento y juicio crítico a fin de comprender y aplicar los contenidos específicos de la materia.
  2. utilice correctamente los contenidos específicos que adquiera en la resolución de los problemas referidos al ambiente informático.
  3. planifique los proyectos de desarrollo y puesta en producción de software.
  4. indague nuevas aplicaciones de los temas desarrollados.
  5. valore la necesidad de asumir una actitud participativa y responsable en el trabajo individual y grupal.
  6. desarrolle altos ideales para su futura vida profesional, tanto intelectuales como éticos y espirituales.

III. Contenidos temáticos

Unidad 1

Introducción a la ingeniería del software. Estado de la construcción del software. De la artesanía a la ingeniería en la construcción del software. El proceso y el producto en la ingeniería del software. Los lenguajes early binding y late binding y su impacto en la construcción del software y en los desarrolladores. ¿Es un oxímoro el término ingeniería del software? Crisis o aflicción crónica en la industria.

Unidad 2

Gestión de la calidad del software. Conceptos básicos de calidad en el software. Conceptos de prueba de programas. La sicología de las comprobaciones. La economía de las comprobaciones. Comprobaciones de caja blanca y caja negra. Principios de cmoprobación del software. Inspecciones del código. Seguimiento paso a paso del código. Revisiones formales del código. Diseño de casos de prueba: cubrimiento de la lógica; partición en clases de equivalencia; valores extremos; grafos de causa-efecto; estimación de defectos. Comprobaciones de módulo: modo incremental o no; top-down y bottom-up. Comprobaciones de alto nivel: funcional; a nivel de sistema; de aceptación; de instalación; Planificación y control de las comprobaciones. Criterio de completitud para las comprobaciones. Debugging: por fuerza bruta; por inducción; por deducción; por backtracking. Principios de debugging.

Unidad 3

Administración de proyectos. Gestión del personal: participantes; jefes de equipo; el equipo de software; aspectos de coordinación y comunicación. Gestión del producto: ámbito del software; viabilidad; descomposición del problema. Gestión del proceso: maduración del producto y del proceso; descomposición del proceso. Gestión del proyecto; Prácticas críticas en la gestión del proyecto. La estimación en los proyectos de software; modelos empíricos. Objetivos de la planificación del proyecto. La decisión desarrollar/comprar. Planificación temporal y seguimiento del proyecto: la relación entre personas y esfuerzo; definición de un conjunto de tareas para el proyecto de software; refinamiento de las tareas principales; definición de la red de tareas; planificación temporal; seguimiento del error; el plan del proyecto.

Unidad 4

Gestión del riesgo. Estrategias del riesgo proactivas vs. reactivas. Riesgos del software. Identificación del riesgo; componentes y controladores. Proyección del riesgo: tabla del riesgo; impacto. Reducción, supervisión y gestión del riesgo. Riesgos y peligros para la Seguridad informática.

Unidad 5

Gestión de la configuración. Conceptos básicos. Actividades de gestión de la configuración. Identificación de los objetos de la configuración del software. Control de versiones. Control de cambios. Auditoría de la configuración. Informes de estado.

Unidad 6

Diseño de la interfaz de usuario. Principios fundamentales en la construcción de la interfaz de usuario: control, consistencia y carga sobre el usuario. Análisis y modelado de tareas de usuario. Actividades del diseño de la interfaz. Objetivos del diseño de la salida. Relación entre el contenido de la salida y el método de salida. Acción sobre los usuarios del sesgo de la salida. Diseño de la salida impresa. Objetivo del diseño de la entrada. Buen diseño de formas. Buen diseño de pantalla. Tipos de interfaz de usuario: pregunt/respuesta, menúes, formas, CLI, GUI, lenguaje natural. Diálogos y áreas de trabajo. Retroalimentación para los usuarios. Diseño de consultas. Productividad. Diseño ergonómico. Objetivos para la captura de datos. Codificación efectiva. Captura de datos eficiente y efectiva. Validación de entradas.

Unidad 7

Implementación. Concepto. Entrada en régimen del sistema. Documentación de construcción y explotación. Manuales. Tipos de implementación. Conversión de datos, procedimientos y sistema. Evaluación. Capacitación del usuario.

Unidad 8

Mantenimiento. Conceptos básicos. Clasificación de los tipos de mantenimiento. Ingeniería inversa. Ingeniería directa. Reestructuración. Reingeniería de procesos de negocio; reingeniería del software. Actividades de mantenimiento del software.

Unidad 9

Datawarehouse y data minning. Conceptos básicos. OLAP, OLTP. Arquitectura del datawarehouse. Usos y aplicaciones.

IV. Trabajos prácticos

Se desarrollarán trabajos prácticos en grupos pequeños y se procederá a su defensa oral; se destinarán temas para su preparación y posterior exposición en clase.

El objetivo de estos trabajos es tomar contacto personal y práctico con las técnicas y procedimientos aprendidos en clase.

V. Evaluación

La evaluación contempla dos exámenes parciales

La nota final del alumno es el promedio de las notas de los parciales.

El alumno debe concurrir a clase habiendo satisfecho la cuota de lectura asignada por el docente y deberá entregar en tiempo y forma los trabajos prácticos resueltos.

VI. Bibliografía

  • Kenneth E. KENDALL, Julie E. KENDALL
    Análisis y diseño de sistemas, 3.a ed., Prentice Hall Hispanoamericana S.A.

  • MYERS
    The Art of Software Testing, 2.nd ed., Prentice Hall

  • Roger PRESSMAN
    Ingeniería del software, un enfoque práctico, 5.a ed., Prentice Hall Hispanoamericana S.A.

  • El lugar de la asignatura en Internet:

Search