tema1 dfd
TRANSCRIPT
05BM - Fundamentos de Ingeniería del Software.
Bloque 1.Bloque 1.-- Introducción.Introducción.Tema 1. Introducción a la Ingeniería del Software.
Asignatura: Fundamentos de Ingeniería del SoftwareTitulación: Ingeniería Técnica de Informática de GestiónCurso Académico: 2006-2007Curso: 3ºCuatrimetres: PrimeroCréditos: 6(3+3)Página Web: dis.um.es/~lopezquesadaProfesor: Juan Antonio López QuesadaDepartamento: Informática y Sistemas
Departamento de Informática y SistemasFacultad de InformáticaCampus Universitario de Espinardo - Murcia
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 2
Índice de contenidos1.- Introducción a la Ingeniería del Software
1.1.- El software. 1.2.- Factores de calidad del software. 1.3.- Problemas en el desarrollo de software. 1.4.- La Ingeniería del Software. 1.5.- Visión general del proceso de Ingeniería del Software.
2.- Sistema de Información.2.1.- Concepto de sistema.2.2.- Información y datos.2.3.- Sistemas de información (SI).2.4.- Sistemas de información automatizado y empresarial.2.5.- Elementos de un SI.2.6.- Estructura de un SI.2.7.- Otros conceptos útiles en SI: MIS, DSS, OIS.
3.- Herramientas CASE.3.1.- Introducción.3.2.- Taxonomía de herramientas CASE.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 3
Bibliografía
q (Pressman 2001) o (Pressman 1998) Cap.1 y Cap. 2 (aptdo. 2.1).q(Piattini et al. 96) cap.1qEn el cap. 2 hay ejemplos de sistemas
de información en la empresa.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 4
Motivación
(Algoritmos y estructuras de datos)
(Interfaces + Integración)
UN SISTEMA
SOFTWARE
UN PRODUCTO SOFTWARE
UN PROGRAMA
(Ingeniería del Software)
UN PROYECTO SOFTWARE
Integración de varios programas
Programas usados en diferentes
aplicaciones/entornosLa conjunción de
PRODUCTO y SISTEMA SOFTWARE
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 5
Información = Ppal. activo de las empresas
desarrollo de SI ⇐ fuertes presiones(calidad, productividad)
Artesanal
Disciplina de Ingeniería
Calidad
Herramientas
Gestión de proyectos
Sólo el software construido con principios de ingenieríapuede tener sistemáticamente calidad, fiable, económico y eficiente. El proceso softwaredebe realizarse de acuerdo con una serie de normas y estándares.
Motivación
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 6
n El Software:Ø Instrucciones que, cuando se ejecutan, proporcionan la
funcionalidad deseada.Ø Estructuras de datos que facilitan a las instrucciones manipular
adecuadamente la información.Ø Documentos que describen el desarrollo, uso, instalación y
mantenimiento de los programas.n Software: "programas, procedimientos, y, posiblemente, la
documentación asociada y los datos pertenecientes a las operaciones de un sistema".
n Incluye: mantenimiento, soporte al consumidor e instalación.
1.- Introducción a la Ingeniería del Sw1.1.- Software.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 7
n Elemento lógico, no físico.n Desarrollado, no ‘fabricado’.n No se ‘estropea’, ¡se deteriora!
(deterioro por ‘cambios’ - Mantenimiento)
n Mayoritariamente cerrado: (poco ensamblaje de componentes:
Herramienta de reutilización)
Metodología de Planificación, Desarrollo y Mantenimiento de sistemas de información
MÉTRICA. Versión 3
IntroducciónPlanificación de Sistemas de Información (Proceso PSI)
Estudio de Viabilidad del Sistema (Proceso EVS)Análisis del Sistema de Información (Proceso ASI)Diseño del Sistema de Información (Proceso DSI)
Construcción del Sistema de Información (Proceso CSI)Implantación y Aceptación del Sistema (Proceso IAS)
Mantenimiento del Sistema de Información (Proceso MSI)
1.- Introducción a la Ingeniería del Sw1.2.- Factores de calidad del software.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 8
n Fiable:Ø Capacidad de ofrecer los
mismos resultados bajo las mismas condiciones.
n Eficiente:Ø Utilización óptima de los
recursos de la máquina.
n Robusto:Ø No poseer un
comportamiento catastrófico ante situaciones excepcionales(Tolerante a fallos).
n Correcto:Ø Se ajusta a las
especificaciones dadas por el usuario.
n Portable:Ø Capaz de integrarse en
entornos distintos con el mismo esfuerzo.
n Adaptable (extensibilidad):Ø Modificar alguna
función sin que afecte a sus actividades.
n Inteligible:Ø Diseño claro, bien
estructurado y documentado.
n No Erróneo:Ø No exista diferencia
entre los valores reales y los calculados
n Reutilizable (reusabilidad).
n Mantenibilidad.n Confiabilidad q Fiabilidad.q Seguridad.q Protección.
n Eficiencia.n Usabilidad.
(Bell 2000)
(Bell 2000)
(Sommerville 2002)
1.- Introducción a la Ingeniería del Sw1.2.- Factores de calidad del software.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 9
Perspectiva histórica del desarrollo de software
n Década 50-60:Ø “Software como un añadido”.Ø Desarrollo artesanal, a medida.Ø Lenguajes de bajo nivel.
n Década 60-70:Ø Software como producto.Ø Década lenguajes y compilación.Ø “Crisis del software”.
n Década 70-80:Ø Programación estructurada.Ø Ingeniería del Software.Ø Primeros métodos estructurados.
n Década 80-90:Ø Tecnología de SGBDs, SOs...Ø Nuevos paradigmas de programación y
de producción de programas:n OOn C/S
n 90’s - actualidad:Ø Análisis/Diseño OO. Métrica v3Ø Tecnología CASEØ Componentes y reutilizaciónØ Internet
n ISw. distribuidan Repositorios de componentes
reutilizablesn e-business; e-commercen Comercio Web B2C-B2B-C2C
Incremento del coste del software.
Falta de calidad del software.
1.- Introducción a la Ingeniería del Sw1.3.- Problemas en el desarrollo del SW.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 10
n Incapacidad para estimar tiempo, coste y esfuerzo para el desarrollo de un producto software.
n Falta de calidad del producto software.
n Avance del hardware y necesidad de aplicaciones más complejas.
⇒ Coste hardware/software.
Metodología de Planificación, Desarrollo y Mantenimiento de sistemas de información
MÉTRICA. Versión 3
Planificación de Sistemas de Información (Proceso PSI)Estudio de Viabilidad del Sistema (Proceso EVS)Aspectos de gestión mediante sus INTERFACES.
Metodología de Planificación, Desarrollo y Mantenimiento de sistemas de
información
0
20
40
60
80
100
60 70 80
Hardware
Software
Porcentaje del coste total del sistema
años
¿Solución?
¿Solución?
1.- Introducción a la Ingeniería del Sw1.3.- Problemas en el desarrollo del SW.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 11
n ¿Porqué lleva tanto tiempo terminar los programas? Bloque 4.- Planificación y Gestión de Proyectos Informáticos.
n ¿Porqué es tan elevado su coste? Mantenimiento del Sistema de Información. Auditorias. Standares de Calidad….
n ¿Porqué no podemos encontrar todos los errores antes de entregar el software a nuestros clientes? Metodología de Planificación, Desarrollo y Mantenimiento de sistemas de información.
n ¿Porqué nos resulta difícil constatar el progreso conforme se desarrolla el sw.? Bloque 4.- Planificación y Gestión de Proyectos Informáticos.
n Las respuestas confluyen en un mismo lugar, la necesidad de trabajar en un marco de CALIDAD.
1.- Introducción a la Ingeniería del Sw1.3.- Problemas en el desarrollo del SW.
Preguntas, preguntas y más preguntas…….
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 12
Algunas soluciones ????
INGENIERÍA DEL SOFTWARE
reutilización
ingeniería de requisitos
métodos de análisis, diseño, prueba...
métodos formales
herramientas CASE:editores dirigidos por la sintaxis,entornos integrados de desarrollo,herramientas para la gestión de proyectos,herramientas de prototipado, etc.
herramientas 4ª gen.lenguajes no procedimentales para consulta a BD’sgeneradores de pantallas,generadores de código,generadores de informes
POOPrototipado
Modelado del negocio
1.- Introducción a la Ingeniería del Sw1.3.- Problemas en el desarrollo del SW.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 13
Objetivos de la Ingeniería del Software
n Término que aparece en 1968n La producción de programas debe abordarse como una ingeniería más.n (Boehm) La Ingeniería del Software es la aplicación práctica y
sistemática del conocimiento científico a:Ø la producción de programas correctos, que se desarrollan a tiempo y dentro
de las estimaciones de presupuesto,Ø y a la correspondiente documentación para desarrollarlos, usarlos y
mantenerlos.n La Ingeniería del Software se fundamenta en técnicas relacionadas con:
Ø ciencia de la computación, programación, ingeniería, administración, matemáticas, economía,...
n Forma parte de la “Ingeniería de Sistemas” Es el conjunto de recursos humanos y materiales a través de los cuales se recolectan, almacenan, recuperan,
procesan y comunican datos e información con el objetivo de lograr
una gestión eficiente de las operaciones de una organización.
1.- Introducción a la Ingeniería del Sw1.4.- La Ingeniería del Software.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 14
Más definiciones de ISw...
n “La ISw es el establecimiento y uso de principios sólidos de ingeniería, orientados a obtener software económico que sea fiable y trabaje de manera eficiente en máquinas reales” (Fritz Bauer).
n “Una disciplina que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema, hasta el mantenimiento de éste después de que se utiliza” (Sommerville 2002).
1.- Introducción a la Ingeniería del Sw1.4.- La Ingeniería del Software.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 15
Principios que guían la Ingeniería del Software
n Abstracción:Ø Permite parcelar la complejidad.
Por ello se olvidan aspectos irrelevantes del sistema y se potencian los fundamentales.
n Encapsulamiento u Ocultación de la información:Ø Esconder todos los detalles que no
afecten a otros módulos, definiendo interfaces estrictos que sirvan de interacción entre los distintos modelos.
n Modularidad:Ø Sirve para parcelar la solución en
módulos independientes con fuerte cohesión interna.
n Localización:Ø Deben estar agrupados todos
aquellos elementos que están afectados por un mismo hecho.
n Uniformidad:Ø Todos los módulos deben tener
una notación similar.n Completitud:Ø Deben estar desarrollados todos
los aspectos del sistema.n Validación y Verificabilidad:Ø El producto final debe ser
fácilmente validable y verificable:n ¿Estamos desarrollando el
programa correcto?n ¿Estamos desarrollando
correctamente el programa?
1.- Introducción a la Ingeniería del Sw1.4.- La Ingeniería del Software.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 16
n Con independencia del área de aplicación, tamaño o complejidad del proyecto, cualquier sistema se encontrará al menos en una de las siguientes fases genéricas:
ØØ Definición Definición ~ Análisis (del sistema, del ~ Análisis (del sistema, del swsw.).)ØØ Desarrollo Desarrollo ~ Diseño, codificación, prueba~ Diseño, codificación, pruebaØØ Mantenimiento.Mantenimiento.
Metodología de Planificación, Desarrollo y Mantenimiento de sistemas de información
MÉTRICA. Versión 3
Planificación de Sistemas de Información (Proceso PSI)Estudio de Viabilidad del Sistema (Proceso EVS)
Análisis del Sistema de Información (Proceso ASI)Diseño del Sistema de Información (Proceso DSI)
Construcción del Sistema de Información (Proceso CSI)Implantación y Aceptación del Sistema (Proceso IAS)
Mantenimiento del Sistema de Información (Proceso MSI)
1.- Introducción a la Ingeniería del Sw1.5.- Visión general del proceso de ISw.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 17
Fase de definición/Análisis.n ¿Qué debe hacer el sistema?
n Se elaboran los documentos de requisitos del sistema (SyRS) y del software (SRS). Actividad ASI – Métrica 3
1.- Introducción a la Ingeniería del Sw1.5.- Visión general del proceso de ISw.
Fase de desarrollo. n ¿Cómo construir el sistema?n Se diseñan las estructuras de los datos y los programasØ cómo se caracterizan las interfaces,Ø cómo realizar el paso del diseño al lenguaje de programación, Ø cómo ha de realizarse la prueba,
n se escriben y documentan los programas, n y se prueba el software construido.
Fase de mantenimiento.n Comienza una vez construido el sistema, cuando se empieza a utilizar.
n Se centra en el cambio.
n El software es sometido a reparaciones y modificaciones cada vez que se detecta un fallo o se necesita cubrir una nueva necesidad de los usuarios. Tema 9.- Mantenimiento del Software.
n En esta fase recae el mayor porcentaje del coste de un sistema.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 18
DEFINICIÓN
DESARROLLO
MANTENIMIENTO
Fallos de definición
Errores
Modificaciones y adaptaciones
Bloque 3.Bloque 3.-- Modelos del proceso SW.Modelos del proceso SW.Tema 6.Tema 6.-- El Proceso Software. Paradigmas del Ciclo de VidaEl Proceso Software. Paradigmas del Ciclo de Vida.
1.- Introducción a la Ingeniería del Sw1.5.- Visión general del proceso de ISw.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 19
Ø “Un modelo formado por una serie de elementos interrelacionados entre sí, que opera en un entorno cambiante y con unos determinados objetivos”.
Ø Elementos de un sistema:
Los componentes del sistema.Las relaciones entre ellos, que determinan la estructura del sistema.El objetivo del sistema.
El entorno del sistema: aquello que lo rodea, dentro del cual está ubicado.Los límites del sistema: la frontera entre lo que es el sistema y lo que constituye el entorno.
2.- Sistemas de Información 2.1.- Concepto de Sistema.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 20
Ø Los datos están constituidos por los registros de los hechos, acontecimientos, transacciones, etc.
Ø La información implica que los datos estén procesados de tal manera que resulten útiles o significativos para el receptor de los mismos.
qLos datos se pueden considerar la materia prima para obtener la información.
2.- Sistemas de Información 2.2.- Información y datos.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 21
Ø Una definición de Sistema de Información:“Un conjunto formal de procesos que, operando sobre una colección de
datos estructurada según las necesidades de la empresa, recopilan, elaboran y distribuyen la información (o parte de ella) necesaria para las operaciones de dicha empresa y para las actividades de dirección y control correspondientes (decisiones) para desempeñar su actividad de acuerdo a su estrategia de negocio.” (Andreu et al. 91)
Ø Otras definiciones de SI enfatizan que el objetivo es proporcionar información de calidad:ü “El objetivo del SI es ayudar al desempeño de las actividades en todos los niveles
de la organización, mediante el suministro de la información adecuada, con la calidad suficiente, a la persona apropiada, en el momento y lugar oportunos, y con el formato más útil para el receptor.”
2.- Sistemas de Información 2.3.- Sistema de Información.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 22
Ø Un SI no necesita, para existir, estar obligatoriamente basado en el uso de ordenadores. El SI existe siempre, esté mecanizado o no.
Ø La aplicación del ordenador a los SI produce los sistemas de información basados en computadora o Sistemas de Información Automatizados (SIA).
2.- Sistemas de Información 2.4.- Sistema de Información Automatizado y Empresarial.
SIA
SI
Negocio/empresa
Sistema informático de soporte
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 23
Ø “El SI empresarial es el sistema encargado de coordinar los flujos y registros de información necesarios para llevar a cabo las funciones de una empresa de acuerdo con su planteamiento o estrategia de negocio” (Andreu 96)
⇒ La estrategia de negocio es fundamental.
2.- Sistemas de Información 2.4.- Sistema de Información Automatizado y Empresarial.
ESTRATEGIA DE NEGOCIO (Factores Críticos de Éxito)
(Necesidades de Información) SISTEMA DE INFORMACIÓN
TECNOLOGÍAS DE LA INFORMACIÓN Y LAS COMUNICACIONES
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 24
Ø Los procedimientos y las prácticas habituales de trabajo que se siguen al ejecutar toda clase de actividades necesarias para el buen funcionamiento de la empresa.
Ø La información.Ø Las personas o usuarios.Ø El equipo de soporte para la comunicación, el
procesamiento y el almacenamiento de información.ü Papel, lápiz,...,ordenadores
2.- Sistemas de Información 2.5.- Elementos de un SI.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 25
INF. RESUMIDA YABSTRACTA, DEÁMBITO MÁSGENERAL
INFORMACIÓNDETALLADA YESPECÍFICA
CO
MP
RIM
IRY
RE
SU
MIR
Alta dirección
Sistema de transacciones
Dirección operativa
Dirección táctica
EstratégicaLARGO PLAZO>3-5 AÑOS
MEDIO PLAZO1 AÑO
CORTO PLAZO
Dpto
. Com
erci
al
Dpto. Finanzas
ORDE
NES,
PLAN
ES, E
TC.
INFO
RMES
HIST
ÓRIC
OS
2.- Sistemas de Información 2.6.- Estructura de un SI.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 26
Ø Este nivel incluye el procesamiento de las actividades diarias o transacciones, los acontecimientos rutinarios que afectan a la organización: facturación, pagos, entrega de productos, etc.
Ø Los procedimientos de tratamiento se comprenden bien y se pueden describir en detalle.
2.- Sistemas de Información 2.6.- Estructura de un SI.
Sistema de Trasacciones:
Nivel operativo de dirección:
Ø Se preocupa del análisis de los resultados, esencialmente respecto de los recursos consumidos en las transacciones, para tomar decisiones a corto plazo y de consecuencias limitadas (reaprovisionamiento de materiales, ordenación de la producción)
Ø Se trabaja con información del tipo:n Repetitiva (informes periódicos de ventas, pagos, etc.)n Centrada en el pasado (resultados históricos).n Con datos originados internamente.n Los datos cuentan con un formato bien estructurado.n Los datos son detallados y precisos.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 27
Ø Se ocupa de la asignación efectiva de los recursos a medio plazo para mejorar el rendimiento de la empresa.
Ø Se basa en análisis de informes:ü Resúmenes con medidas estadísticas.ü De excepciones.ü Específicos, que no se han pedido antes, y que los directivos necesitan con
rapidez para resolver un problema muy concreto.
2.- Sistemas de Información 2.6.- Estructura de un SI.
Nivel táctico de dirección:
Nivel estratégico de dirección:
Ø Trabaja con plazos largos para acometer la difícil tarea de decidir las líneas maestras que debe seguir la empresa en el futuro.
Ø La información debe aparecer en formato muy resumido.Ø La información se encuentra en formatos muy variables. Ø Las decisiones están poco formalizadas y tienen un fuerte componente
subjetivo.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 28
MIS (Management Information System)
Ø MIS, “SI para la dirección”.Ø Debe proporcionar a los directivos la información y ayuda necesaria para tomar
decisiones, normalmente de control administrativo.Ø Proporciona soporte a los directivos en las tareas estructuradas, realizadas regularmente,
con procesos bien definidos y sabiendo a priori qué información se necesita.
2.- Sistemas de Información 2.7.- Otros conceptos útiles en SI: MIS, DSS, OIS.
DSS (Decision Support System)
Ø DSS, “Sistema de Apoyo a la Decisión”.Ø DSS: “sistema informático interactivo, que ayuda al usuario en la toma de decisiones,
utilizando modelos para resolver problemas no estructurados”.Ø La parte del SI que ofrece soporte a las decisiones poco estructuradas, en las que no
existen métodos claros para cómo tomarlas, ni se conocen los factores que hay que considerar.
OIS (Operating Information Systems)
Ø OIS, “Sistema de Procesamiento de Transacciones”. Es la parte del SI dedicada al procesamiento de las operaciones rutinarias diarias (transacciones)
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 29
Ø AUTOMATIZACIÓN DEL DESARROLLO DE SW.:ü Productividad del equipo ↑↑ü Calidad del Software ↑↑
ü INCREMENTARn Reusabilidad del software.
ü REDUCIRn Costes de desarrollo y mantenimiento.
ü AUTOMATIZAR/SIMPLIFICARn Gestión del proyecto.n Desarrollo del sw. (permitir aplicación met.
estructuradas; prototipos; desarrollo “visual”)n Mantenimiento del software (Incluyendo la
automatización y estandarización de la documentación y de su mantenimiento)
3.- Herramientas CASE 3.1.- Introducción.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 30
Ø 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).
3.- Herramientas CASE 3.1.- Introducción.
Características de una Herramienta CASE
Ø 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.Ø Demostración correcciones
especificaciones y/o software.Ø Generación de código.
Uso de técnicas formales (Z, VDM, Especificaciones algebraicas)
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 31
Repositorio Metamodelos
GENERADOR DE
INFORMES
HERRAMIENTAS DE CARGA Y
DESCARGA DE DATOS
Consistencia/Validación/Verificación
INTERFAZ DE USUARIO(Piattini et al. 96)
3.- Herramientas CASE 3.1.- Introducción.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 32
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.Ø 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.
3.- Herramientas CASE 3.1.- Introducción.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 33
ØClasificación por coberturaü Toolkitsn 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.
ü Workbenchsn 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.
3.- Herramientas CASE 3.2.- Taxonomía de herramientas CASE.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 34
Según grado de integración:Ø Toolkits (Juego de herramientas)
n 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.
Ø Workbenchs (Banco de trabajo)n 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 deusuario, están basadas en una misma metodología. Integración media.
Ø IPSE (Integrated Project Support Environment)n Integración alta. Cubren todo el ciclo de vida, la gestión de proyectos
y de la configuración.
3.- Herramientas CASE 3.2.- Taxonomía de herramientas CASE.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 35
Según las fases del ciclo de vida que abordan:
Ø CASE frontales (fornt-end) o Upper CASE: Herramientas de apoyo a las primeras fases:ü Análisis, diseño.
Ø 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)ü Contienen elementos de Upper y Lower CASE: comtemplan todo el ciclo de
desarrollo.Ø Reverse Engineering (Ingeniería inversa) - Tema 9.- Mantenimiento del Software.
Ø CARE (Computer Aided Requirements Engineering)
3.- Herramientas CASE 3.2.- Taxonomía de herramientas CASE.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 36
Clasificación por funcionalidad:Ø Herramientas de gestión de proyectos ayudan a la planificación y seguimiento del
proyecto. Por Ejemplo SuperProjectü Planificación: agenda de desarrollo.ü Estimación: costes, duración, esfuerzo.ü Control: productividad, calidad.
Ø Herramientas de análisis y diseño. System ArchitectØ 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.
ü Analizadores estáticos.ü Depuradores.ü Generadores de datos.ü Comparadores (e.g. de ficheros).
Ø Herramientas de soporte.Ø Herramientas de mantenimiento.
ü Ingeniería inversa.ü Reingeniería.
3.- Herramientas CASE 3.2.- Taxonomía de herramientas CASE.
Profesor: Juan Antonio López Quesada Tema 1.- Introducción a la Ingeniería del Software. 37
Clasificación por posición:Ø Upper CASE: Herramientas de apoyo a las primeras fases
ü Métricas del software.ü Estimación de costes.ü Planificación temporal.
Ø Medium CASE: Herramientas de apoyo a las fases centrales.ü 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.
3.- Herramientas CASE 3.2.- Taxonomía de herramientas CASE.