Introduccion

17
Fundamentos de Ing. de Software

Transcript of Introduccion

Fundamentos de Ing. de Software

2

Fundamentos de Ing. de Sofwtware

MATERIA:

FUNDAMENTOS DE ING. DE SOFTWARE

UNIDAD Y TEMA:

UNIDAD I “CONCEPTOS BASICOS”

ACTIVIDAD:

INVESTIGACION DE HERRAMIENTAS CASE

ALUMNOS

ZULEIMA PEREZ IBAÑEZ

MONICA MORENO ORTIZ

ARLETHE TENORIO MARTINEZ

JULIO FRANCO ELIAS CELIS

ARACELI HERNANDEZ CASTRO

ALBA NIDYA SOTO DOMINGUEZ

PROFESOR:

MSC. MARIA DE LOS ANGELES MARTINEZ MORALES

3

Fundamentos de Ing. de Sofwtware

INTRODUCCION

En la actualidad a veces consiente e

inconsciente mente utilizamos las

computadoras, estas aplicaciones

domesticas lo pueden ser un

microondas, televisión, video caseteras

o en ocasiones también fuera de

nuestras casas en maquinas para

tarjetas de créditos. Este crecimiento de

tecnología a generado una larga

variedad de aplicaciones. (Informatica,

2000)

En el trabajo presentado a continuación se analizara un nuevo

modo de desarrollo del software basado en su automatización,

las herramientas CASE. Este tipo de herramientas tiene como

principal objetivo facilitar lo obtención de software de mayor

calidad, aun menor coste. (Pascual Gonzalez Lopez)

HERRAMIENTAS CASE

4

Fundamentos de Ing. de Sofwtware

CASE es un acrónimo para Computer-Aided Software Engineering,

aunque existen algunas variaciones para lo que actualmente se

entiende por CASE, tal como se ilustra a continuación:

Variaciones del acrónimo CASE

Esencialmente, un CASE es una herramienta que ayuda al ingeniero de

software a desarrollar y mantener software. A continuación se presentan

algunas definiciones dadas para el término CASE.

En Terminology for Software Engineering and Computer-aided Software

Engineering by B.Terry & D.Logee, Software Engineering Notes, Abril

1990, CASE es definido como:

“Herramientas individuales para ayudar al desarrollador de

software o administrador de proyecto durante una o más fases

del desarrollo de software (o mantenimiento).”

En The CASE Experience, Carma McClure, BYTE Abril 1989 p.235 se

ofrece la siguiente definición:

“Una combinación de herramientas de software y metodologías

de

desarrollo”

C ComputerA Aided

AssistedAutomated

S SoftwareSystems

E Engineering

5

Fundamentos de Ing. de Sofwtware

El termino CASE se estableció durante los años 80 en los Estados Unidos

como abreviatura de << Computer Aided Software Engineering>>.

Este término se hizo popular, al asociarse con potentes herramientas

para el desarrollo de sistemas, con las cuales se abría en un principio

una puerta de esperanza a multitud de organizaciones donde el

desarrollo y mantenimiento del software se había convertido, como

decía Brooks, en un “hombre lobo”, y se veía a estas herramientas como

la “bala de plata” que terminase con él. (Pascual Gonzalez Lopez)

La pieza fundamental, y más importante avance tecnológico asociado a

una herramienta CASE, es su repositorio integrado. En el repositorio se

almacena toda la información de uno o varios sistemas de información,

por ejemplo, datos acerca de:

El dominio (problema) de los sistemas desarrollados o en

desarrollo

Modelos de solución e implementación

Información de la metodología que está siendo usada

Historia de los proyectos, recursos, presupuestos, etc.

Contexto organizacional: organigramas, planes estratégicos,

factores críticos de éxito, etc.

Cada ítem en el repositorio es descrito en detalle. Atributos típicos

podrían ser: identificación, definición (significado), tipo, alias, ítems

componentes, ítems padres, reglas de uso, quién y cuándo lo creó, quién

y cuándo lo actualizó por última vez, quiénes pueden actualizarlo y/o

consultarlo, cuál es su estado (por ejemplo: incompleto, completo etc.),

número de versión, dónde está almacenado físicamente. (Valencia.)

Evolucion de las herramientas CASE

6

Fundamentos de Ing. de Sofwtware

A inicios de los 80’s : Ayuda en la documentación por computadora.Diagramación asistida por computadora.Herramientas de análisis y diseño.

A mediados de los 80’s

:

Diseño automático de análisis y pruebas.Repositorios automáticos de información desistemas.

Al final de los 80’s : Generación automática de código desdeespecificaciones de diseño.

A inicios de los 90’s : Metodología Inteligente.Interface de Usuario reusable como unametodología de desarrollo.

(Informatica, 2000)

COMPONENTES DE UNA HERRAMIENTA CASE

Una herramienta case podemos decir que se compone de:

Un diccionario donde se almacenan los elementos creados por la

herramienta, cuya gestión se realiza mediante el apoyo de un

sistema de Gestión de base de datos (SGBD).

El meta modelo, que constituye el marco para la definición de

técnicas y metodologías soportadas por la herramienta. No

siempre es visible. 

La carga o descarga de datos, permiten cargar el repertorio de la

herramienta CASE con datos provenientes de otros sistemas, o

generan a partir de la propia herramienta esquemas de base de

datos, programas, pueden alimentar otros sistemas. Este

elemento proporciona un medio de comunicación con otras

herramientas. 

7

Fundamentos de Ing. de Sofwtware

Una comprobación de errores que permiten llevar a cabo un

análisis de la exactitud, integridad y consistencia de los esquemas

generados por la herramienta. 

Una interfaz de usuario, que constará de editores de texto y

herramientas de diseño grafico que permitan la utilización de un

sistema de ventanas, iconos y menús, con la ayuda del ratón,

definir los diagramas, matrices.

(http://paulchasiluisa.galeon.com/)

Figura 5.1 Modelo del Proceso de Negocio

En la Figura 2 se muestra la metodología de J.Martin del Diagrama de

Entidad Relación, para realizar el Modelo de Datos

8

Fundamentos de Ing. de Sofwtware

Figura 5.2 Modelo Relacional de Datos

Algunos de los componentes de las herramientas CASE permiten:

Confeccionar la definición de requerimientos de los usuarios,

Mejorar el diseño de los sistemas,

Mejorar la eficiencia en la programación (por su generación

automática de códigos),

Otorgar a la administración un mejor soporte en la documentación.

Para ello, y sin importar la arquitectura de la herramienta CASE, en

general tales herramientas deben abarcar las siguientes propiedades:

Tener una interfaz gráfica y textual, que le permita al usuario

manejar los objetos de diseño (Ver Figura 3).

Figura 5.3

Herramientas de edición

9

Fundamentos de Ing. de Sofwtware

Contar con un Diccionario de Datos, a fin de rastrear y controlar

los objetos diseñados (Ver figura 4 y 5).

Figura 5.4 Diccionario de Datos Editor

Figura 5.5 Diccionario de Datos Estructura

10

Fundamentos de Ing. de Sofwtware

Disponer de un conjunto de herramientas que permitan: chequear

las reglas del diseño y analizar la lógica del diseño ( Ver figuras

6, 7 y 8).

Figura 5.6 Chequeo de Reglas

Figura 5.7 Informe del Chequeo de Reglas

11

Fundamentos de Ing. de Sofwtware

Figura

5.8 Informe del Chequeo del Balanceo entre los Niveles del DFD

(http://www.cyta.com.ar/biblioteca/bddoc/bdlibros/proyectoinformatico/

libro/c5/c5.htm)

CLASIFICACIÓN DE LAS HERRAMIENTAS

CASE

12

Fundamentos de Ing. de Sofwtware

No existe una única clasificación de herramientas CASE y, enocasiones,

es difícil incluirlas en una clase determinada. Podrían clasificarse

atendiendo a:

• Las plataformas que soportan.

• Las fases del ciclo de vida del desarrollo de sistemas que cubren.

• La arquitectura de las aplicaciones que producen.

• Su funcionalidad.

Las herramientas CASE, en función de las fases del ciclo de vida

abarcadas, se pueden agrupar de la forma siguiente:

Herramientas integradas, I-CASE (Integrated CASE, CASE

integrado): abarcan todas las fases del ciclo de vida del desarrollo

de sistemas. Son llamadas también CASE workbench.

Herramientas de alto nivel, U-CASE (Upper CASE - CASE

superior) o front-end, orientadas a la automatización y soporte de

las actividades desarrolladas durante las primeras fases del

desarrollo: análisis y diseño.

Herramientas de bajo nivel, L-CASE (Lower CASE - CASE

inferior) o back-end, dirigidas a las últimas fases del desarrollo:

construcción e implantación.

Juegos de herramientas o Tools-Case, son el tipo más simple

de herramientas CASE. Automatizan una fase dentro del ciclo de

vida. Dentro de este grupo se encontrarían las herramientas de

reingeniería, orientadas a la fase de mantenimiento.

13

Fundamentos de Ing. de Sofwtware

Tipo deCase

VentajasDesventajas

I – Case

Integra el ciclo de vida. Permite lograr importantes mejoras de

productividad a mediano plazo. Permite un eficiente soporte al

mantenimiento de sistemas. Mantiene la consistencia de los

sistemas a nivel corporativo.

No es tan eficiente para soluciones simples, sino para soluciones complejas.

Depende del Hardware y del Software.

Es costoso.

Upper Case

Se utiliza en plataforma PC, es aplicable a diferentes entornos,

Menor costo

Permite mejorar la calidad de los sistemas, pero no mejora la productividad.

No permite la integración del ciclo de vida.

Lower Case

Permite lograr importantes mejoras de productividad a corto plazo.

Permite un eficiente soporte al mantenimiento de sistemas.

No garantiza laconsistencia de losresultados a nivelcorporativo. No garantiza la eficiencia

del Análisis y Diseño. No permite la integración

del ciclo de vida.(http://www.cyta.com.ar/biblioteca/bddoc/bdlibros/proyectoinformatico/libro/c5/c5.htm)

CONCLUSION

Como se ha visto, las herramientas CASE como toda nueva tecnología

crea ciertas actitudes que pueden dificultar su correcta difusión, aunque

la madurez de esta tecnología es suficiente para pensar en su

introducción dentro del proceso de desarrollo, no debemos olvidar que

para garantizar su éxito no podemos introducirla de un modo

desordenado, sino que su incorporación debe ir acompañada de una

estrategia de selección e implantación correcta.

14

Fundamentos de Ing. de Sofwtware

Este estudio del proceso de desarrollo sirve realmente para conseguir

una estandarización del mismo y la eliminación de algunos de los

problemas que más frecuentemente aparecen en la mayoría de los

desarrollos.

REFERENCIAS

http://paulchasiluisa.galeon.com/. (s.f.). http://paulchasiluisa.galeon.com/. Recuperado el 4 de Septiembre de 2012, de http://paulchasiluisa.galeon.com/: http://paulchasiluisa.galeon.com/

http://www.cyta.com.ar/biblioteca/bddoc/bdlibros/proyectoinformatico/libro/c5/c5.htm. (s.f.). http://www.cyta.com.ar. Recuperado el 4 de Septiembre de 2012, de http://www.cyta.com.ar: http://www.cyta.com.ar/biblioteca/bddoc/bdlibros/proyectoinformatico/libro/c5/c5.htm

Informatica, S.-J. d. (Noviembre de 2000). http://www.inei.gob.pe. Recuperado el 4 de Septiembre de 2012, de http://www.inei.gob.pe: http://www.inei.gob.pe/biblioineipub/bancopub/Inf/Lib5103/Libro.pdf

15

Fundamentos de Ing. de Sofwtware

Pascual Gonzalez Lopez, A. A. (s.f.). http://www.uclm.es. Recuperado el 4 de Septiembre de 2012, de http://www.uclm.es: http://www.uclm.es/ab/educacion/ensayos/pdf/revista10/10_17.pdf

Valencia., U. P. (s.f.). http://users.dsic.upv.es. Recuperado el 4 de septiembre de 2012, de http://users.dsic.upv.es: http://users.dsic.upv.es/asignaturas/eui/mtp/doc-practicas/intro_case_SA.pdf