tema1 dfd

37
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 Software Titulación: Ingeniería Técnica de Informática de Gestión Curso Académico: 2006-2007 Curso: Cuatrimetres: Primero Créditos: 6(3+3) Página Web: dis.um.es/~lopezquesada Profesor: Juan Antonio López Quesada Departamento: Informática y Sistemas Departamento de Informática y Sistemas Facultad de Informática Campus Universitario de Espinardo - Murcia

Upload: daniela-guzman-guzman

Post on 04-Jul-2015

202 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema1 DFD

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

Page 2: Tema1 DFD

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.

Page 3: Tema1 DFD

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.

Page 4: Tema1 DFD

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

Page 5: Tema1 DFD

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

Page 6: Tema1 DFD

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.

Page 7: Tema1 DFD

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.

Page 8: Tema1 DFD

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.

Page 9: Tema1 DFD

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.

Page 10: Tema1 DFD

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.

Page 11: Tema1 DFD

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…….

Page 12: Tema1 DFD

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.

Page 13: Tema1 DFD

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.

Page 14: Tema1 DFD

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.

Page 15: Tema1 DFD

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.

Page 16: Tema1 DFD

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.

Page 17: Tema1 DFD

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.

Page 18: Tema1 DFD

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.

Page 19: Tema1 DFD

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.

Page 20: Tema1 DFD

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.

Page 21: Tema1 DFD

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.

Page 22: Tema1 DFD

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

Page 23: Tema1 DFD

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

Page 24: Tema1 DFD

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.

Page 25: Tema1 DFD

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.

Page 26: Tema1 DFD

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.

Page 27: Tema1 DFD

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.

Page 28: Tema1 DFD

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)

Page 29: Tema1 DFD

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.

Page 30: Tema1 DFD

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)

Page 31: Tema1 DFD

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.

Page 32: Tema1 DFD

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.

Page 33: Tema1 DFD

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.

Page 34: Tema1 DFD

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.

Page 35: Tema1 DFD

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.

Page 36: Tema1 DFD

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.

Page 37: Tema1 DFD

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.