Herramientas case

Anuncio
Carrera:
Asignatura:
Año:
Docente:
Ingeniería en sistemas de información
Herramientas de software tipo CASE
Tercero
Licenciado Fernando López Gil
OBJETIVO DE LA ASIGNATURA:
Los objetivos de esta asignatura son por un lado darle al alumno los
conocimientos necesarios para el análisis y diseño de sistemas utilizando una
metodología estructurada (Yourdon), soportada sobre herramientas de tipo CASE,
y por el otro ejercitarlo sobre los conceptos de la ingeniería del software al realizar
un proyecto de desarrollo.
Para esto se utilizarán en el primer momento como casos de estudio, sistemas ya
realizados, de manera de lograr que el alumno ponga su atención sobre la parte
de la metodología en la que se quiere hacer hincapié.
Los alumnos del curso, apoyados en distintos tipos de herramientas CASE,
realizarán ejercitaciones y trabajos prácticos.
A partir de la mitad del curso, se organizará un proyecto nuevo, a realizarse en su
totalidad, abarcando en este caso todas las etapas del ciclo de vida de un sistema.
Para esto deberán basarse en los conceptos de ingeniería del software, para el
cálculo de las estimaciones, métricas, Q.A., y métodos de prueba del producto
terminado.
METODOLOGÍA:
Exposición del docente: Se dictarán clases en las que por un lado se explicará la
metodología para el modelado de sistemas y las distintas herramientas para
lograrlo.
Métodos de casos: Utilizando distintos sistemas ya realizados, se les dará a los
alumnos partes de estos para poder realizar etapas del desarrollo, y comparar sus
resultados con los obtenidos por los diseñadores originales.
Trabajos prácticos: se entregarán guías de ejercicios para que los alumnos
puedan practicar la aplicación de los conceptos expuestos.
Taller: Se preparará un taller de herramientas CASE, donde se instalarán distintas
herramientas, y se les dará a los alumnos los conceptos básicos de las mismas.
Investigación: Los alumnos investigarán las distintas herramientas CASE, su uso
y las distintas aplicaciones que estas tienen para las etapas de un proyecto.
Deberán comparar las mismas y seleccionar cuales se aplican mejor para el
proyecto que deben realizar. También deberán investigar ciertos temas teóricos
para profundizar, según les indique el docente.
Proyecto: Se desarrollará en grupos de 3 a 6 alumnos. El mismo se orientará a
lograr en los alumnos la ejercitación de los conceptos aprendidos a través de la
realización de un proyecto de software que deberán realizar en todas sus etapas
desde el relevamiento hasta las carpetas de programación.
EVALUACIÓN:
Para poder aprobar la materia, los alumnos deberán aprobar un examen parcial y
el trabajo práctico grupal. Por otro lado, se evaluará la participación del alumno en
clase, en el desarrollo de los trabajos prácticos, la presentación de los casos, la
aprobación de las evaluaciones mensuales, y el dominio de las herramientas y
conceptos de la materia.
PROGRAMA ANALÍTICO:
Nota:
Es importante aclarar a fines de poder comprender cual es el programa de la
materia, que la misma se basa en tres áreas distintas, las cuales se relacionan y
sustentan mutuamente. Estas áreas, están dadas, por un lado por la ingeniería del
software, la cual se encarga de dar las bases teóricas para la gestión de un
proyecto de desarrollo de software soportado por herramientas de tipo CASE. Por
otro lado las herramientas propiamente dichas, las cuales deben ayudar al alumno
a aplicar los conocimientos de análisis y diseño de sistemas para la realización del
proyecto, y por último los conocimientos que los alumnos deben tener sobre
análisis y diseño de sistemas. Estas tres áreas de conocimiento, confluirán en un
proyecto final el cual deberán desarrollar los alumnos para la aprobación de la
materia.
Consecuencia de lo expuesto en el párrafo anterior, los contenidos de la materia,
no se desarrollan en forma de unidades secuenciales, ya que muchos de los
mismos de estudian en forma paralela.
Introducción al curso. Técnicas de modelado. Las bases del desarrollo de
sistemas. Etapas. Distintos modelos de desarrollo. Reconocimiento del problema.
Ingeniería del software. Su evolución. Ciclo de vida del software. Modelo clásico.
Modelos prototipados. Ciclo de vida en espiral. Ciclo de cuarta generación.
Gestión del proyecto. Definición de la calidad del sistema. Métricas para verificar
la calidad. Métricas de productividad. Utilización de diferentes métricas. Puntos
funcionales. Numero ciclomático de Mc Cabe. Otras.
Métricas y estimaciones. Mediciones del software. Análisis de riesgo.
Estimaciones. Técnicas de descomposición. Modelos empíricos. Herramientas
para estimación. Planificación temporal.
Introducción al concepto de modelado. Herramientas para el modelado. Porqué
múltiples modelos. La esencia y la implementación. La estructura de los modelos.
El modelo esencial. El concepto de evento. Como identificarlos. Descripción de
las reacciones. Criticidad del modelo ambiental. El modelo de comportamiento.
Desarrollo del modelo de datos. Normalización de datos. El concepto de datos
esenciales. Como identificar las entidades. Como generar el DER. Descripción de
las relaciones. Desarrollo del modelo de procesos. Relación con el modelo de
datos. Como generar los DFD. Especificar las funciones primitivas. Reutilización
de funciones primitivas. Verificación del modelo esencial. Verificación de las
especificaciones y del comportamiento. Severidad de las mismas. Cuantificación
del modelo esencial. Como establecer la Obsolescencia. Relación de
obsolescencia con depuraciones
Modelo de implementación. Sus etapas. Modularidad. Acoplamiento. Cohesión.
Modelo de procesadores, modelo de tareas, modelo de programas.
Modularización. Herramientas. Uso de los diagramas de estructuras. Optimización
de los módulos. Aplicación de los criterios de cohesión y acoplamiento. Modelo de
procesadores. Uso del DFD de nivel cero. Definición de los procesadores
humanos y tecnológicos. Modelo de tareas. Definición de la base de datos física.
Uso de diagramas de transición de estados. Definición de las propiedades del
sistema. Definición de las pantallas del usuario. Definición de los listados. Modelo
de programas. definición de las especificaciones para el programador.
Técnicas de prueba de software. Fundamentos de las pruebas de software.
Pruebas de caja blanca. Pruebas de camino básico. Prueba de caja negra.
Prueba de la estructura de control.
Estrategia de prueba del software. Prueba de unidad. Pruebas de integración.
Tipos de integración. Prueba del sistema. Pruebas de aceptación.
BIBLIOGRAFÍA:
Obligatoria:
-
Modern structured analysis - E. Yourdon - Prentice Hall
-
Ingeniería del Software - R. Pressman
-
The practical guide to structured sistems design - Page-Jones - Prentice Hall
Complementaria:
-
CASE, la automatización del software - C. McClure - RA-MA
-
Ingeniería del Software - I. Sommerville - Addison Wesley
-
Software Engineering - S. Schach - Aksen Associates
-
El arte de resolver problemas - R. Ackoff
-
Análisis estructurado de sistemas - Gane-Sarson - El Ateneo
-
Ingeniería del Software - J. Boria - Kapelutz
Descargar