ingeniería del software asistida por computadora (case)

20

Click here to load reader

Upload: juan-pablo-bustos-thames

Post on 13-Jun-2015

12.363 views

Category:

Technology


3 download

DESCRIPTION

UTN-FRT. Cátedra de Diseño de Sistemas. 3K1. 2011. Unidad I. Ingeniería del Software Asistida por Computadora (CASE)

TRANSCRIPT

Page 1: Ingeniería del software asistida por computadora (case)

Ingeniería en Sistemas de Información

Diseño de Sistemas(3K1)

Page 2: Ingeniería del software asistida por computadora (case)

f) Ingeniería del Software Asistida por Computadora. Clasificación de CASE

 

Sommerville. Sección 4.5  

C. Proceso de Diseño Pressman. Cap. 13.2 Introducción.

 

I. Fases del diseño. Pressman. Sección 13.1Sommerville. Sección 4.3.2

II. Diseño y calidad del software Pressman. 13.2.1

III. Principios y conceptos del diseño. Pressman. Sección 13.3 y 13.4

IV. Documentación del Diseño. Pressman, Sección 13.8

V. Análisis y Diseño Orientado a Objetos Sommerville, Cap.14Larman, 2ª. Ed., Cap. 1.4Pressman, Cap.21 y 22

VI. Modelos de dominio, Casos de Uso. (revisión)

Larman, 1ª. Ed.,Cap. 9/11Larman, 2a. Ed. Cap. 9/11

VII. Del Análisis al Diseño Larman, 1ª. Ed. Cap. 15 Larman, 2ª. Ed. Cap. 14

Contenidos de la Unidad 1Introducción al Diseño

Page 3: Ingeniería del software asistida por computadora (case)

Ingeniería del Software Asistida por Computadora (CASE) es el software utilizado para ayudar a las actividades del proceso del software como;

Ingeniería de Requerimientos (Análisis) Diseño Desarrollo de Programas Pruebas. Las herramientas CASE incluyen editores de diseño,

diccionarios de datos, compiladores, depuradores, herramientas de construcción de sistemas, etcétera.

Ingeniería del Software Asistida por Computadora

(Sommerville, 4.5)

Page 4: Ingeniería del software asistida por computadora (case)

La tecnología CASE ayuda en el proceso del software: automatizando actividades, y brindando información sobre el software en desarrollo.

Actividades que se pueden automatizar con CASE : El desarrollo de modelos gráficos del sistema: como parte

del Análisis o del Diseño de Software. La comprensión del diseño con un diccionario de datos con

información sobre entidades y relaciones. La generación de interfaces de usuario a partir de la

descripción gráfica de la interfaz, elaborada de forma interactiva por el usuario.

Ingeniería del Software Asistida por

Computadora (CASE)

Page 5: Ingeniería del software asistida por computadora (case)

Actividades que se pueden automatizar con CASE :

4. La depuración de programas.5. La conversión automática de programas de

una versión anterior de una lenguaje de programación, como COBOL, a una versión más reciente.

Ingeniería del Software Asistida por

Computadora (CASE)

Page 6: Ingeniería del software asistida por computadora (case)

La tecnología CASE está disponible para muchas de las actividades rutinarias en el proceso del software.

Esto permite ciertas mejoras en la calidad y productividad del software, aunque menores que las predichas por los primeros partidarios de CASE.

Éstos sugirieronque se tendría una mejora mayor si se utilizaran entornos CASE integrados.

En realidad, las mejoras reales son del 40%. Es significante, aunque las predicciones iniciales, de los años

80 y 90 fueron que el uso de la tecnología CASE generaría enormes ahorros en los costos del proceso del software.

Ingeniería del Software Asistida por

Computadora (CASE)

Page 7: Ingeniería del software asistida por computadora (case)

Las mejoras por la utilización de CASE están limitadas por dos factores:

1. La ingeniería del software es una actividad de Diseño basada en la creatividad.

Los sistemas CASE automatizan las actividades rutinarias, pero los intentos de utilizar la inteligencia artificial para proporcionar ayuda al diseño no han tenido éxito.

Ingeniería del Software Asistida por

Computadora (CASE)

Page 8: Ingeniería del software asistida por computadora (case)

2. En muchas organizaciones, la Ingeniería del Software es una actividad de equipo, y los ingenieros invierten mucho tiempo interactuando con los otros miembros del equipo.

La tecnología CASE no proporciona mucha ayuda para esto.

Actualmente, la tecnología CASE está madura y hay herramientas disponibles y bancos de trabajo de un amplio rango de proveedores.

Ingeniería del Software Asistida por

Computadora (CASE)

Page 9: Ingeniería del software asistida por computadora (case)

Las clasificaciones de CASE nos ayudan a comprender los tipos de estas herramientas y su papel en la ayuda a las actividades de proceso del software.

Hay varias formas diferentes de clasificar las herramientas CASE, cada una de las cuales nos proporciona una perspectiva distinta de estas herramientas.

CASE: ClasificaciónSommerville, 4.5.1

Page 10: Ingeniería del software asistida por computadora (case)

Podemos describir dichas herramientas desde tres perspectivas:

1.Una perspectiva funcional: las herramientas CASE se clasifican de acuerdo con su función específica.

2.Una perspectiva de proceso: se clasifican de acuerdo con las actividades del proceso que ayudan.

3.Una perspectiva de integración: se clasifican de acuerdo con la forma en que están organizadas en unidades integradas que proporcionan ayuda a una o más actividades del proceso.

CASE: ClasificaciónSommerville, 4.5.1

Page 11: Ingeniería del software asistida por computadora (case)

CASE: Clasificación de acuerdo a su función

Page 12: Ingeniería del software asistida por computadora (case)

La Figura anterior es una clasificación de las herramientas CASE acorde con su función.

Esta tabla enumera diferentes tipos de herramientas CASE y da ejemplos específicos de cada una.

No es una lista completa de herramientas CASE.

Las herramientas especializadas, como las de ayuda a la reutilización, no se incluyen.

CASE: Clasificación de acuerdo a su función

Page 13: Ingeniería del software asistida por computadora (case)

CASE: Clasificación de acuerdo al Proceso

Page 14: Ingeniería del software asistida por computadora (case)

La Figura anterior presenta una clasificación alternativa de las herramientas CASE.

Muestra las fases del proceso que reciben ayuda por varios tipos de herramientas CASE.

Las herramientas para la planificación y estimación, edición de texto, preparación de documentos y gestión de la configuración pueden utilizarse durante todo el proceso del software.

CASE: Clasificación de acuerdo al Proceso

Page 15: Ingeniería del software asistida por computadora (case)

CASE: Clasificación de acuerdo a la Perspectiva

de Integración

Page 16: Ingeniería del software asistida por computadora (case)

Esta clasificación se da por la amplia ayuda que ofrece CASE para el proceso del software, según estas 3 categorías:

Las herramientas ayudan a las tareas individuales del proceso: verificación de la consistencia de un diseño, la compilación de un programa y la comparación de los resultados de las pruebas.

Los bancos de trabajo ayudan a las fases o actividades del proceso como el Análisis, el Diseño, etc.

Son un conjunto de herramientas con algún grado mayor o menor de integración.

CASE: Clasificación de acuerdo a la Perspectiva

de Integración

Page 17: Ingeniería del software asistida por computadora (case)

3. Los entornos ayudan a todos los procesos del software, o al menos a una parte sustancial de éstos.

Normalmente incluyen varios bancos de trabajo integrados.

Estas clasificaciones son ejemplos ilustrativos: muchos tipos de herramientas y bancos de trabajo se han quedado fuera de este diagrama.

CASE: Clasificación de acuerdo a la Perspectiva

de Integración

Page 18: Ingeniería del software asistida por computadora (case)

Las herramientas de propósito general se utilizan a discreción del ingeniero de software, quien decide cuándo aplicarlas para ayudar al proceso.

Los bancos de trabajo ayudan a algún método, que incluye un modelo del proceso y un conjunto de reglas/pautas que se aplican al software en desarrollo.

Los entornos se clasifican en integrados y centrados en el proceso.

Los entornos integrados proporcionan ayuda a los datos, al control y a la integración de la presentación.

CASE: Clasificación de acuerdo a la Perspectiva

de Integración

Page 19: Ingeniería del software asistida por computadora (case)

Los entornos centrados en procesos son más generales.

Incluyen el conocimiento del proceso del software y un motor de procesos para aconsejar a los ingenieros qué herramientas o bancos de trabajo hay que aplicar y cuándo deben utilizarse.

En la práctica, los límites entre estas diferentes clases son borrosos.

CASE: Clasificación de acuerdo a la Perspectiva

de Integración

Page 20: Ingeniería del software asistida por computadora (case)

Las herramientas que son productos individuales, pueden ayudar a diferentes actividades.

(Muchos procesadores de texto incluyen un editor de diagramas integrado).

Los bancos de trabajo CASE para el diseño ayudan a la programación y a las pruebas, (así se relacionan más con el entorno que con los bancos de trabajo especializados.)

Por eso, no siempre es fácil ubicar un producto utilizando una clasificación.

Pero, la clasificación nos dá un primer paso, útil para entender el soporte que una herramienta proporciona al proceso.

CASE: Clasificación de acuerdo a la Perspectiva

de Integración