Herramientas CASE

Anuncio
UNIVERSIDAD AUTÓNOMA DE COLOMBIA
INGENIERÍA DE SISTEMAS
ELECTIVA TECNOLÓGICA
HERRAMIENTAS CASE
Ingeniería del Software asistida por
Computador (CASE)
Septiembre 29 de 2009
Contenidos
Introducción.
Taxonomía
Estado
de herramientas CASE.
del Arte.
2
1
Introducción
Objetivos de la tecnología CASE
–
INCREMENTAR
–
REDUCIR
–
Productividad del equipo.
Calidad del Software.
Reusabilidad del software.
Costes de desarrollo y mantenimiento.
AUTOMATIZAR
Gestión del proyecto.
Desarrollo del software.
mantenimiento del software (Incluyendo la automatización y
estandarización de la documentación y de su mantenimiento)
3
Objetivos de la tecnología CASE
AUTOMATIZACIÓN DEL DESARROLLO DE SW.:
–
–
Productividad del equipo ↑↑
Calidad del Software ↑↑
INCREMENTAR
REDUCIR
Reusabilidad del software.
Costes de desarrollo y mantenimiento.
AUTOMATIZAR/SIMPLIFICAR
Gestión del proyecto.
Desarrollo del sw. (permitir aplicación met.
estructuradas; prototipos; desarrollo “visual”)
Mantenimiento del software (Incluyendo la automatización
y estandarización de la documentación y de su mantenimiento)
4
2
Características básicas que debe soportar
(Yourdon 89)
Soporte gráfico para varias técnicas
(DFD, E/R, STD, modelos OO, etc.)
Control de errores “Consistencia”:
Unicidad identificadores, reglas
metodología, etc.
Validación entre diferentes modelos:
–
–
En una fase (p.e. entre DFD y E/R)
En varias fases (DFD análisis y diseño; DFD
diseño y Diagrama de estructuras).
5
Otras características deseables
Soporte multiusuario.
Personalización.
Control de documentos y versiones.
Gestión de proyectos
Estadísticas de productividad y métricas del software.
Pruebas.
Simulación y prototipado.
Uso de técnicas
Demostración correcciones
formales (Z, VDM,
especificaciones y/o software.
Especificaciones
algebraicas)
Generación de código.
6
3
CASE. Componentes
(Piattini et al. 96)
INTERFAZ DE USUARIO
Repositorio
GENERADOR DE
INFORMES
Metamodelo
HERRAMIENTAS
DE CARGA Y
DESCARGA DE
DATOS
FACILIDADES DE COMPROBACI Ó N
7
Algunas definiciones
Método
–
–
Procedimiento aplicado rutinariamente para
alcanzar un objetivo.
El procedimiento define los resultados a
alcanzar y el camino que conduce a ellos.
Herramienta
–
Producto software que libera al ingeniero
software de acciones que generan los resultados
definidos por los métodos.
8
4
CASE (Computed Aided Software Engineering)
Conjunto de herramientas y métodos
asociados que proporcionan asistencia
automatizada en el proceso de desarrollo del
software a lo largo de su ciclo de vida.
–
Gestión del proyecto
(planificación, estimación y control)
–
Desarrollo del software
(análisis, diseño, implementación, validación)
–
Mantenimiento del software.
9
Elementos básicos
Interfaz gráfica.
Editor de textos y gráficos.
BD de soporte
(BD del proyecto, depósito o ‘repositorio’ CASE)
Mecanismos de control para:
–
acceso a componentes.
(datos, código, documentos, dispositivos)
–
–
–
–
Compatibilidad de las herramientas.
Consistencia de los productos.
Detección de olvidos.
Trazado de modificaciones.
10
5
donde la BD de soporte:
Reúne las funciones de:
–
–
–
Catálogo central de ficheros y BD’s.
Diccionario de datos y procesos.
Biblioteca de programas y documentación.
y es la base para:
–
–
–
–
–
–
–
–
La integración de herramientas.
El mantenimiento de la integridad del sistema.
La coordinación y compartición de información entre usuarios, con
controles de seguridad y privilegios de acceso.
El control de cambios y versiones.
La estandarización de la documentación.
La reutilización del software.
La gestión del proyecto (incluyendo auditorías).
La incorporación a otro sistema informático.
11
Taxonomía de herramientas CASE
Clasificación por cobertura
–
Toolkits
–
Conjunto de herramientas software (integradas) que
automatizan alguna fase del ciclo de vida (análisis, diseño,
gestión, ...). Comparten la BD de soporte y la interfaz de
usuario.
Workbenchs
Conjunto de herramientas software integradas que automatizan
el ciclo de vida en más de una fase, típicamente en todas las
fases de desarrollo: análisis + diseño + implementación
(incluyendo la documentación asociada). Es decir, asisten en
todo el proceso y proporcionan un producto documentado y
operativo. Además de compartir la BD de soporte y la interfaz
de usuario, están basadas en una misma metodología.
12
6
Según grado de integración:
Toolkits (Juego de herramientas)
Workbenchs (Banco de trabajo)
Conjunto de herramientas software que automatizan alguna
fase del ciclo de vida (análisis, diseño, gestión, ...). Comparten
la BD de soporte y la interfaz de usuario. Integración baja.
Conjunto de herramientas software que automatizan el ciclo de
vida en más de una fase, típicamente en análisis + diseño +
implementación (incluyendo documentación asociada). Asisten
en todo el proceso y proporcionan un producto documentado y
operativo. Además de compartir la BD de soporte y la interfaz
de usuario, están basadas en una misma metodología.
Integración media.
IPSE (Integrated Project Support Environment)
Integración alta. Cubren todo el ciclo de vida, la gestión de
proyectos y de la configuración.
13
Según las fases del ciclo de vida
que abordan:
CASE frontales (fornt-end) o Upper CASE: Herramientas de apoyo a
las primeras fases:
–
CASE dorsales (back-end) o Lower CASE: Herramientas de apoyo a
las últimas fases:
–
–
–
Implementación (generación de código).
Pruebas (caja blanca y caja negra).
Mantenimiento.
ICASE (Integrated-CASE)
–
Análisis, diseño.
Contienen elementos de Upper y Lower CASE: comtemplan todo el ciclo
de desarrollo.
Reverse Engineering (Ingeniería inversa)
CARE (Computer Aided Requirements Engineering)
14
7
Herramientas de
análisis y diseño
Permiten crear y
verificar DFD’s,
diagramas E/R, de
clase, de estructura...
Herramientas de
prototipado:
–
–
–
–
Diseñadores de pantallas
Generadores de menús
Generadores de informes
Lenguajes de especificación
ejecutables
Ejemplos:
–
–
–
–
–
–
–
–
–
DESIGNER/2000 de ORACLE
EASY CASE de Evergreen
Rational ROSE
EXCELERATOR de Intersolv
OBJECT MAKER de Mark IV.
OMTool de GTE.
PARADIGM Plus de Platinum
SILVERRUN de CSA Research
SYSTEM Architect de Popkin
Sofware & Systems
15
Clasificación por funcionalidad
Herramientas de gestión de proyectos ayudan a la planificación y seguimiento del
proyecto
–
–
–
Herramientas de análisis y diseño.
Herramientas de prototipado y simulación.
Herramientas de programación.
–
–
–
–
–
–
Editores dirigidos por la sintaxis (cabeceras de subrutinas, palabras clave, identación,
nomenclatura de variables, ...)
Generadores de estructuras de programas.
Entornos integrados de desarrollo para soporte de un lenguaje (editor, compilador, depurador).
Herramientas de integración y pruebas.
–
Planificación: agenda de desarrollo.
Estimación: costes, duración, esfuerzo.
Control: productividad, calidad.
Analizadores estáticos.
Depuradores.
Generadores de datos.
Comparadores (e.g. de ficheros).
Herramientas de soporte.
Herramientas de mantenimiento.
–
–
Ingeniería inversa.
Reingeniería.
16
8
Clasificación por posición
Upper CASE: Herramientas de apoyo a las primeras fases
–
–
–
Medium CASE: Herramientas de apoyo a las fases centrales.
–
–
Métricas del software.
Estimación de costes.
Planificación temporal.
Análisis.
Diseño.
Lower CASE: Herramientas de apoyo a las últimas fases.
–
–
–
–
Implementación (generación de código).
Pruebas (caja blanca y caja negra).
Mantenimiento.
Documentación de la implementación y documentación para el usuario
final.
17
Estado del arte
Tecnología CASE actual
–
–
–
Evolución ‘sin rupturas’ (‘de continuidad’).
Es preciso un mayor esfuerzo de integración.
Ninguna herramienta proporciona soporte total
al desarrollo y mantenimiento.
Tecnología CASE nueva
–
Se progresa hacia la automatización de todo el
proceso.
18
9
Criterios de selección
Tipo de computador (MainFrame, Ws, PC, ...)
Lenguaje al que va orientada.
Metodología soportada.
Posibilidades de integración con otras plataformas
(presentes y futuras).
Criterios habituales en la selección de software:
formación, precio, asistencia técnica,
mantenimiento, ...
(la formación en el uso de herramientas CASE se estima en
1/3 de la formación necesaria para el uso de la metodología
subyacente)
19
10
Descargar