Anda di halaman 1dari 9

Unidad 1: Fundamentos Ingeniera de Software

UNIDAD 1 Fundamentos Ingeniera de software


1.1. Conceptos bsicos
Durante las primeras tres dcadas de la informtica, el principal desafo era el
desarrollo del hardware de las computadoras, de forma que se redujera el costo de
procesamiento y almacenamiento de datos. A lo largo de la dcada de los ochenta, los avances
de microelectrnica han dado como resultado una mayor potencia de clculo a la vez que una
reduccin del costo. Hoy el problema es diferente. El principal desafo es mejorar la calidad y
reducir el costo de las soluciones basadas en computadora.
Para controlar los costos del hardware, los gestores instituyeron controles formales y
estndares tcnicos. Exigan un anlisis y diseo completo antes de que algo se construyera.
Medan el proceso para determinar dnde podan hacer mejoras. Dicho sencillamente,
aplicaban los controles, mtodos y herramientas que reconocemos como ingeniera del
hardware. Mientras que desgraciadamente el software no era ms que un aadido.
En los primeros das, para la programacin existan pocos mtodos formales y pocas
personas los usaban. El programador aprenda normalmente su oficio mediante prueba y error.
El mundo del software era bastante indisciplinado. Por lo que muchos aprendices tcnicos se
hacan las siguientes preguntas:
Por qu lleva tanto tiempo terminar los programas?
Por qu es tan elevado el costo?
Por qu no podemos encontrar todos los errores antes de entregar el software a
nuestros clientes?
Estas y muchas preguntas son manifestacin del carcter del software y de la forma en
que se desarrolla. Problema que ha llevado a la adopcin de la Ingeniera de Software.
La potencia de las grandes computadoras de la era de los ochenta est hoy disponible
en una computadora personal. Las enormes capacidades de procesamiento y almacenamiento
del hardware moderno representan un gran potencial de clculo. El software es el que nos
facilita utilizar y explotar este potencial.
Actualmente el software ha superado al hardware como clave del xito de muchos
sistemas basados en computadora. Tanto si se utiliza la computadora para llevar un negocio,
controlar o manufacturar un producto, monitorear un paciente, dirigir un satlite espacial, etc., el
software es factor que marca la diferencia. La diferencia entre una compaa y su competidora
es la suficiencia y oportunidad con que maneja su informacin. Y el software es la herramienta
especialmente indicada para esto.
El diseo de un producto de software amigable al usuario es la diferencia entre
productos competidores que tengan funciones similares.
Crisis Del Software
Los problemas del desarrollo del software se caracterizan por los siguientes aspectos:

La planificacin y estimacin de costos son frecuentemente muy imprecisas.

La productividad de la comunidad dedicada al desarrollo de software no


corresponde con la demanda de sus servicios y

La calidad de la Ingeniera de software no llega a ser a veces ni aceptable.


Tales problemas son slo las manifestaciones ms visibles de otras dificultades del
software:

No tenemos tiempo de recoger datos sobre el proceso de desarrollo de


software. Sin datos histricos como gua, la estimacin no ha sido buena y los resultados
previstos muy pobres.

Unidad 1: Fundamentos Ingeniera de Software

La insatisfaccin del cliente con el sistema terminado se produce


frecuentemente. Los proyectos se desarrollan slo con una vaga indicacin de los requisitos
del cliente. La comunicacin entre el cliente y el que desarrolla el software es muy escasa.

La calidad es normalmente escasa.

El software existente puede ser muy difcil de mantener. Criterio muy


importante en la aceptacin del software.
Sin embargo todos estos problemas pueden corregirse, la clave est en dar un enfoque
de Ingeniera al Desarrollo de Software.
Definicin de ingeniera de software.
Para considerar el creciente problema de la tecnologa del Ingeniera de software, se
convoc en 1968 a una reunin de trabajo en Alemania Oriental; en esa junta y en la siguiente
en Italia, se estimul el inters general hacia los aspectos tcnicos y administrativos utilizados
en el desarrollo y mantenimiento de productos de Ingeniera de software. El trmino Ingeniera
del software fue usado por primera vez en dicha reuniones.
Una de las primeras definiciones de ingeniera de software fue la propuesta en la
primera conferencia importante dedicada al tema.
El establecimiento y uso de principios de ingeniera, orientados a obtener software
econmico que sea fiable y funcione de manera eficiente sobre mquinas reales. (Fritz Bauer)
Ms definiciones:
La Ingeniera del Software es la aplicacin prctica y sistemtica del conocimiento
cientfico a: (Boehm)

la produccin de programas correctos, que se desarrollan a tiempo y dentro de


las estimaciones de presupuesto,

y a la correspondiente documentacin para desarrollarlos, usarlos y


mantenerlos.
Una disciplina que comprende todos los aspectos de la produccin de software desde
las etapas iniciales de la especificacin del sistema, hasta el mantenimiento de ste despus
de que se utiliza. (Sommerville 2002)
Aunque se han propuesto muchas definiciones, todas refuerzan la importancia de una
disciplina de ingeniera para el desarrollo de software.
Ya que esta ingeniera tiene alto consumo de recursos humanos requiere de
habilidades tcnicas y de un gran consumo administrativo.
La Ingeniera del Software se fundamenta en tcnicas relacionadas con:
Ciencia de la computacin, programacin, ingeniera, administracin, matemticas,
economa,...
La ciencia de la administracin asigna los fundamentos para la administracin del
proyecto. Los sistemas deben desarrollado y mantenidos en tiempo y dentro de un rgimen de
estimacin de costos; la economa, por su parte, brinda los fundamentos para la estimacin de
recursos y el costo del control.
1.2. El papel evolutivo del software
Historia de la ingeniera de software.
a) Primera Era.

Unidad 1: Fundamentos Ingeniera de Software


Durante los primeros aos de desarrollo de las computadoras, el hardware sufri
muchos cambios, mientras que el software se contemplaba como un aadido. Para la
programacin existan pocos mtodos sistemticos. El desarrollo de software se realizaba sin
ninguna planificacin. La mayor parte del hardware se dedicaba a la ejecucin de un nico
programa que, a su vez, se dedicaba a una aplicacin especial. Se utilizaba en la mayora de
los sistemas una orientacin por lotes. El software como producto (programas desarrollados
para ser vendidos) estaba en su infancia. La mayora del software se desarrollaba y se utilizaba
por la misma persona u organizacin. La misma persona lo escriba, lo ejecutaba y, si fallaba, lo
depuraba.
Debido a este entorno personalizado del software, el diseo era un proceso implcito,
realizado en la mente de alguien, y la documentacin normalmente no exista.
b) Segunda Era.
Los sistemas multiusuario introdujeron nuevos conceptos de interaccin hombre
mquina. Los sistemas de tiempo real podan recoger, analizar y transforma datos de mltiples
fuentes, controlando as los procesos y produciendo salidas en milisegundos en lugar de
minutos. Los avances en los dispositivos de almacenamiento en lnea condujeron a la primera
generacin de sistemas de gestin de base de datos.
El software se caracteriz tambin como producto y surgen las casas de software. El
software se desarrollaba para tener una amplia distribucin en el mercado.
c) Tercera Era.
Se caracteriz por la llegada y el amplio uso de los microprocesadores y las
computadoras personales, las cuales han sido el catalizador del gran crecimiento de muchas
compaas de software.
Mientras que las ventas de computadoras personales se estabilizaron hacia la mitad de
los ochentas, las ventas de productos de software han continuado creciendo.
d) Cuarta Era.
En la que nos encontramos ahora. Las tcnicas orientadas a los objetos estn
desplazando rpidamente a enfoques ms convencionales en muchas reas de aplicacin. Las
tcnicas de cuarta generacin para el desarrollo de software estn cambiando la forma en que
algunos segmentos de la comunidad informtica construyen los programas de computadora.
PRIMERA ERA
Orientacin por lotes
Software a medida
Distribucin limitada

SEGUNDA ERA
Multiusuario
Base de datos
Software como producto
Tiempo real
Tabla 1: Resumen de la primera y segunda era del software
TERCERA ERA
Hardware de bajo costo
Incorporacin de inteligencia
Impacto en el consumo

CUARTA ERA
Tecnologas orientadas a los objetos
Sistemas expertos
Redes neuronales

Tabla 2: Resumen de tercera y cuarta era del software

1.3. Etapas del desarrollo software

Unidad 1: Fundamentos Ingeniera de Software


Es un enfoque por fases para el anlisis y diseo cuya premisa principal consiste en
que los sistemas se desarrollan mejor utilizando un ciclo especfico de actividades del analista y
el usuario
Planificacin y gestin del proyecto.
En esta primera fase del ciclo de vida del desarrollo de sistemas, el analista se ocupa
de identificar problemas, oportunidades y objetivos. Los usuarios, los analistas y los
administradores de sistemas son los involucrados en esta fase. Las actividades consisten en
entrevistar a los encargados de coordinar a los usuarios, sintetizar el conocimiento obtenido,
estimar el alcance del proyecto y documentar los resultados.
El resultado es un informe de viabilidad que incluye una definicin del problema y un
resumen de los objetivos. A continuacin la administracin debe decidir si se sigue adelante
con el proyecto propuesto. Si el grupo de usuarios no cuenta con fondos suficientes, si desea
atar problemas distintos, o si la solucin a estos no amerita un sistema de cmputo, se podra
sugerir una solucin diferente y el proyecto de sistemas se cancelara.
Determinacin de requerimientos.
Entre las herramientas que se utilizan para determinar requerimientos de informacin
de un negocio se encuentran mtodos interactivos como las entrevistas, los muestreos, la
investigacin de datos impresos y la aplicacin de cuestionarios; mtodos que no interfieren
con el usuario como la observacin del comportamiento de los encargados de tomar las
decisiones y sus entornos de oficina, al igual que mtodos de amplio alcance como la
elaboracin de prototipos.
En esta fase los implicados son el analista y los usuarios, por o general trabajadores y
gerentes de reas de operaciones. El analista se esfuerza por comprender la informacin que
necesitan los usuarios para llevar a cabo sus actividades por lo que necesita conocer los
detalles de las funciones del sistema actual: el quin ( la gente involucrada), el qu (la actividad
del negocio), el dnde (el entorno donde se desarrollan las actividades), el cundo (el momento
oportuno) y el cmo (la manera en que se realizan los procedimientos actuales) del negocio
que se estudia.
Al trmino de esta fase el analista debe conocer el funcionamiento del negocio y
poseer informacin muy completa acerca de la gente, los objetivos, los datos y los
procedimientos implicados.
Anlisis y diseo.
Anlisis
Para analizar las necesidades del sistema el analista hace uso de diagramas de flujo
de datos para graficar las entradas, los procesos y las salidas de las funciones del negocio. A
partir de estos se desarrollan diccionarios de datos que enlistan todos los datos utilizados en el
sistema, as como sus respectivas especificaciones.
Existen otros mtodos para el anlisis de decisiones como son: espaol estructurado,
tablas y rboles de decisin.
En este punto del ciclo de vida del desarrollo de sistemas, el analista prepara una
propuesta de sistemas que sintetiza sus hallazgos, proporciona un anlisis de costo/beneficio
de las alternativas y ofrece, en su caso, recomendaciones sobre lo que se debe hacer. Si la
administracin de la empresa considera factible laguna de las recomendaciones, el analista
sigue adelante. Cada problema de sistemas es nico, y nunca existe slo una solucin
correcta. La manera de formular una recomendacin o solucin depende de las cualidades y la
preparacin profesional de cada analista.
Diseo

Unidad 1: Fundamentos Ingeniera de Software


En la fase de diseo del ciclo de vida del desarrollo de sistemas, el analista utiliza la
informacin recopilada en las primeras fases para realizar el diseo lgico del sistema de
informacin. El analista disea procedimientos precisos para la captura de los datos que
aseguran que ingresen al sistema de forma correcta.
Adems, el analista facilita la entrada eficiente de datos al sistema de informacin
mediante tcnicas adecuadas de diseo de formularios.
Esta fase incluye tambin el diseo de la interfaz del usuario, de archivos o bases de
datos que almacenaran gran parte de los datos indispensables para los encargados de tomar
las decisiones en la organizacin. Es muy importante que el analista interacte con los usuarios
para disear la salida que satisfaga sus las necesidades de informacin.
Finalmente debe disear controles y procedimientos de respaldo que protejan al
sistema y a los datos, y producir paquetes de especificaciones de programa para los
programadores.
Programacin.
El analista trabaja de manera conjunta con los programadores para desarrollar
cualquier software original necesario. Entre las tcnicas estructuradas para disear y
documentar software se encuentran los diagramas de estructuras, los diagramas de NassiShneiderman y el seudocdigo. El analista se vale de una o ms de estas herramientas para
comunicar al programador lo que requiere programar.
Pruebas e implantacin.
Pruebas
Antes de poner el sistema en funcionamiento es necesario probarlo. Es mucho menos
costoso encontrar los problemas antes de que se entregue a los usuarios. Una parte de las
pruebas las realizan los programadores solos, y otra la llevan a cabo de manera conjunta con
los analistas de sistemas. Primero se realizan una serie de pruebas con datos de muestra para
determinar con precisin cules son los problemas y posteriormente se realiza otra con datos
reales del sistema actual.
Implantacin
En esta fase se capacita a los usuarios en el manejo del sistema, adems el analista
tiene que planear una conversin de archivos de formatos anteriores a los nuevos, o la
construccin de una base de datos, la instalacin de equipo y la puesta en produccin del
nuevo sistema.
(Kendall y Kendall y 6. ed.)

Unidad 1: Fundamentos Ingeniera de Software

1.4. Clasificacin de la tecnologa en el desarrollo de software (Tecnologa Estructurada y


Orientada a Objetos)
Tecnologa orientada a objetos
Hoy en da la tecnologa orientada a objetos ya no se aplica solamente a los lenguajes de
programacin, adems se viene aplicando en el anlisis y diseo con mucho xito, al igual que en las
bases de datos. Es que para hacer una buena programacin orientada a objetos hay que desarrollar todo
el sistema aplicando esta tecnologa, de ah la importancia del anlisis y el diseo orientado a objetos.
La programacin orientada a objetos es una de las formas ms populares de programar y viene
teniendo gran acogida en el desarrollo de proyectos de software desde los ltimos aos. Esta acogida se
debe a sus grandes capacidades y ventajas frente a las antiguas formas de programar.
Una Perspectiva Histrica
Tradicionalmente, la programacin fue hecha en una manera secuencial o lineal, es decir una
serie de pasos consecutivos con estructuras consecutivas y bifurcaciones.
Los lenguajes basados en esta forma de programacin ofrecan ventajas al principio, pero el
problema ocurre cuando los sistemas se vuelven complejos. Estos programas escritos al estilo
espaguetti no ofrecen flexibilidad y el mantener una gran cantidad de lneas de cdigo en slo bloque
se vuelve una tarea complicada.
Frente a esta dificultad aparecieron los lenguajes basados en la programacin estructurada. La
idea principal de esta forma de programacin es separar las partes complejas del programa en mdulos
o segmentos que sean ejecutados conforme se requieran. De esta manera tenemos un diseo modular,
compuesto por mdulos independientes que puedan comunicarse entre s. Poco a poco este estilo de
programacin fue reemplazando al estilo espaguetti impuesto por la programacin lineal.
Entonces, vemos que la evolucin que se fue dando en la programacin se orientaba siempre a
ir descomponiendo ms el programa. Este tipo de descomposicin conduce directamente a la
programacin orientada a objetos.
Pues la creciente tendencia de crear programas cada vez ms grandes y complejos llev a los
desarrolladores a crear una nueva forma de programar que les permita crear sistemas de niveles
empresariales y con reglas de negocios muy complejas. Para estas necesidades ya no bastaba la
programacin estructurada ni mucho menos la programacin lineal. Es as como aparece la
programacin orientada a objetos (POO). La POO viene de la evolucin de la programacin estructurada;
bsicamente la POO simplifica la programacin con la nueva filosofa y nuevos conceptos que tiene. La
POO se basa en la dividir el programa en pequeas unidades lgicas de cdigo. A estas pequeas
unidades lgicas de cdigo se les llama objetos. Los objetos son unidades independientes que se
comunican entre ellos mediante mensajes. Veamos con mayor detenimiento este tema.
Cules son las ventajas de un lenguaje orientado a objetos?
Fomenta la reutilizacin y extensin del cdigo.
Permite crear sistemas ms complejos.
Relacionar el sistema al mundo real.
Facilita la creacin de programas visuales.
Construccin de prototipos
Agiliza el desarrollo de software
Facilita el trabajo en equipo
Facilita el mantenimiento del software
Lo interesante de la POO es que proporciona conceptos y herramientas con las cuales se
modela y representa el mundo real tan fielmente como sea posible.
CONCEPTO DE PROGRAMACIN ESTRUCTURADA
EL creciente empleo de los computadores ha conducido a buscar un abaratamiento del
desarrollo des software, paralelo a la reduccin del costo del hardware obtenido gracias a los avances
tecnolgicos. Los altos costos del mantenimiento de las aplicaciones en produccin normal tambin han
urgido la necesidad de mejorar la productividad del personal de programacin.

Unidad 1: Fundamentos Ingeniera de Software


En la dcada del sesenta salieron a la luz pblica los principios de lo que ms tarde se llamo
Programacin Estructurada, posteriormente se libero el conjunto de las llamadas "Tcnicas para
mejoramiento de la productividad en programacin" (en ingles Improved Programming Technologies,
abreviado IPTs), siendo la Programacin Estructurada una de ellas.
Los programas computarizados pueden ser escritos con un alto grado de estructuracin, lo cual
les permite ser ms fcilmente comprensibles en actividades tales como pruebas, mantenimiento y
modificacin de los mismos. Mediante la programacin Estructurada todas las bifurcaciones de control de
un programa se encuentran estandarizadas, de forma tal que es posible leer la codificacin del mismo
desde su inicio hasta su terminacin en forma continua, sin tener que saltar de un lugar a otro del
programa siguiendo el rastro de la lgica establecida por el programador, como es la situacin habitual
con codificaciones desarrolladas bajo otras tcnicas.
EN programacin Estructurada los programadores deben profundizar mas que lo usual al
proceder realizar el diseo original del programa, pero el resultado final es ms fcil de leer y
comprender, el objetivo de u programador profesional al escribir programas de una manera estructurada,
es realizarlos utilizando solamente un numero de bifurcaciones de control estandarizados.
EL resultado de aplicar la sistemtica y disciplinada manera de elaboracin de programas
establecida por la Programacin Estructurada es una programacin de alta precisin como nunca antes
haba sido lograda. Las pruebas de los programas, desarrollados utilizando este mtodo, se acoplan mas
rpidamente y el resultado final con programas que pueden ser ledos, mantenidos y modificados por
otros programadores con mucho mayor facilidad.
DEFINICIONES
Programacin Estructurada es una tcnica en la cual la estructura de un programa, esto es, la
interpelacin de sus partes realiza tan claramente cmo es posible mediante el uso de tres estructuras
lgicas de control:
Secuencia: Sucesin simple de dos o ms operaciones.
Seleccin: bifurcacin condicional de una o ms operaciones.
Interaccin: Repeticin de una operacin mientras se cumple una condicin.
Estos tres tipos de estructuras lgicas de control pueden ser combinados para producir
programas que manejen cualquier tarea de procesamiento de informacin.
Un programa estructurado est compuesto de segmentos, los cuales puedan estar constituidos
por unas pocas instrucciones o por una pgina o ms de codificacin. Cada segmento tiene solamente
una entrada y una salida, estos segmentos, asumiendo que no poseen lazos infinitos y no tienen
instrucciones que jams se ejecuten, se denominan programas propios. Cuando varios programas
propios se combinan utilizando las tres estructuras bsicas de control mencionadas anteriormente, el
resultado es tambin un programa propio.
La programacin Estructurada est basada en el Teorema de la Estructura, el cual establece que
cualquier programa propio (un programa con una entrada y una salida exclusivamente) es equivalente a
un programa que contiene solamente las estructuras lgicas mencionadas anteriormente.
Una caracterstica importante en un programa estructurado es que puede ser ledo en secuencia,
desde el comienzo hasta el final sin perder la continuidad de la tarea que cumple el programa, lo
contrario de lo que ocurre con otros estilos de programacin. Esto es importante debido a que, es mucho
ms fcil comprender completamente el trabajo que realiza una funcin determinada, si todas las
instrucciones que influyen en
su accin estn fsicamente contiguas y encerradas por un bloque. La facilidad de lectura, de
comienzo a fin, es una consecuencia de utilizar solamente tres estructuras de control y de eliminar la
instruccin de desvo de flujo de control, excepto en circunstancias muy especiales tales como la
simulacin de una estructura lgica de control en un lenguaje de programacin que no la posea.
VENTAJAS POTENCIALES
Un programa escrito de acuerdo a estos principios no solamente tendr una estructura, sino
tambin una excelente presentacin.
Un programa escrito de esta forma tiende a ser mucho ms fcil de comprender que programas
escritos en otros estilos.
La facilidad de comprensin del contenido de un programa puede facilitar el chequeo de la
codificacin y reducir el tiempo de prueba y depuracin de programas. Esto ultimo es cierto parcialmente,
debido a que la programacin estructurada concentra los errores en uno de los factores ms generador
de fallas en programacin: la lgica.

Unidad 1: Fundamentos Ingeniera de Software


Un programa que es fcil para leer y el cual est compuesto de segmentos bien definidos tiende
a ser simple, rpido y menos expuesto a mantenimiento. Estos beneficios derivan en parte del hecho
que, aunque el programa tenga una extensin significativa, en documentacin tiende siempre a estar al
da, esto no suele suceder con los mtodos convencionales de programacin.
La programacin estructurada ofrece estos beneficios, pero no se la debe considerar como una
panacea ya que el desarrollo de programas es, principalmente, una tarea de dedicacin, esfuerzo y
creatividad.
TEOREMA DE LA ESTRUCTURA
El teorema de la estructura establece que un programa propio puede ser escrito utilizando
solamente las siguientes estructuras lgicas de control: secuencia, seleccin e iteracin.
Un programa de define como propio si cumple con los dos requerimientos siguientes:
Tiene exactamente una entrada y una salida para control del programa.
Existen caminos seguibles desde la entrada hasta la salida que conducen por cada parte del
programa, es decir, no existen lazos infinitos ni instrucciones que no se ejecutan.
1.5. Definicin e historia de las herramientas CASE
CASE (Computer Assisted Software Engineering)
Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan
asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de
Vida de desarrollo de un Software. Como es sabido, los estados en el Ciclo de Vida de desarrollo de un
Software son: Investigacin Preliminar, Anlisis, Diseo, Implementacin e Instalacin.
CASE: Conjunto de mtodos, utilidades y tcnicas que facilitan la automatizacin del ciclo de
vida del desarrollo de sistemas de informacin, completamente o en alguna de sus fases.
La realizacin de un nuevo software requiere que las tareas sean organizadas y completadas en
forma correcta y eficiente. Las Herramientas CASE fueron desarrolladas para automatizar esos procesos
y facilitar las tareas de coordinacin de los eventos que necesitan ser mejorados en el ciclo de desarrollo
de software.
La mejor razn para la creacin de estas herramientas fue el incremento en la velocidad de
desarrollo de los sistemas. Por esto, las compaas pudieron desarrollar sistemas sin encarar el
problema de tener cambios en las necesidades del negocio, antes de finalizar el proceso de desarrollo.
Tambin permite a las compaas competir ms efectivamente usando estos sistemas
desarrollados nuevamente para compararlos con sus necesidades de negocio actuales. En un mercado
altamente competitivo, esto puede hacer la diferencia entre el xito y el fracaso. Las herramientas CASE
tambin permiten a los analistas tener ms tiempo para el anlisis y diseo y minimizar el tiempo para
codificar y probar.
La introduccin de CASE integradas est comenzando a tener un impacto significativo en los
negocios y sistemas de informacin de las organizaciones.
Con un CASE integrado, las organizaciones pueden desarrollar rpidamente sistemas de mejor
calidad para soportar procesos crticos del negocio y asistir en el desarrollo y promocin intensiva de la
informacin de productos y servicios. Estas herramientas pueden proveer muchos beneficios en todas
las etapas del proceso de desarrollo de software, algunas de ellas son:

Verificar el uso de todos los elementos en el sistema diseado.


Automatizar el dibujo de diagramas.
Ayudar en la documentacin del sistema.
Ayudar en la creacin de relaciones en la Base de Datos.
Generar estructuras de cdigo.

La principal ventaja de la utilizacin de una herramienta CASE, es la mejora de la calidad de los


desarrollos realizados y, en segundo trmino, el aumento de la productividad. Para conseguir estos dos
objetivos es conveniente contar con una organizacin y una metodologa de trabajo, adems de la propia
herramienta.

Unidad 1: Fundamentos Ingeniera de Software


1.6. Clasificacin de las herramientas CASE
No existe una nica clasificacin de herramientas CASE y, en ocasiones, es difcil incluirlas en
una clase determinada. Podran 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 funcin de las fases del ciclo de vida abarcadas, se pueden agrupar
de la forma siguiente:
1. Herramientas integradas, I-CASE (Integrated CASE, CASE integrado):
abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas tambin CASE
workbench.
2. Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) ofront-end, orientadas a la
automatizacin y soporte de las actividades desarrolladas durante las primeras fases del desarrollo:
anlisis y diseo.
3. Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) oback-end, dirigidas a las ltimas
fases del desarrollo: construccin e implantacin.
4. Juegos de herramientas o Tools-Case, son el tipo ms simple de herramientas CASE. Automatizan
una fase dentro del ciclo de vida. Dentro de este grupo se encontraran las herramientas de reingeniera,
orientadas a la fase de mantenimiento.

Anda mungkin juga menyukai