Beruflich Dokumente
Kultur Dokumente
Introduccin
CASE: ingeniera de software asistida por computadoras o ingeniera de
sistemas asistida por computadoras.
Surgieron para dar solucin a problemas relacionados a proyectos de
generacin de software:
Plazos incumplidos
Presupuestos incumplidos
Insatisfaccin del usuario
Escasa productividad
Baja calidad de los desarrollos
Historia
Desde que a finales de los 60 sucedi la crisis del software, los expertos se
pusieron a buscar soluciones creando tcnicas, metodologas y herramientas
para revertir la situacin.
Entre todas ellas surgi la tecnologa CASE.
Esta tecnologa surge en los 70 cuando empezaron a aparecer las primeras
metodologas estructuradas que introdujeron tcnicas graficas y diagramas de
flujos de datos que hacerlos a mano eran muy complejos y si haba que hacer
algn cambio consuma mucho tiempo y se inician las investigaciones de
entornos de desarrollo.
A mediados de los 80 se populariza y surgen las primeras herramientas de
documentacin y diagramacin automtica.
En los ochenta tambin surgen los conceptos de repositorio como ncleo de un
entorno case, generadores de programas y aplicaciones que automatizan las
ltimas fases del ciclo de vida y tambin gestores de proyecto.
La primera generacin de estas herramientas fracas debido a:
Definicin
Son un conjunto de herramientas y tecnologas que soportan un enfoque de
ingeniera para las distintas fases del desarrollo de software
Son un conjunto de herramientas y mtodos asociados que proporcionan
asistencia automatizada en el proceso de desarrollo del software a lo largo del
ciclo de vida.
Son un conjunto de mtodos, utilidades y tcnicas que facilitan la
automatizacin de ciclo de vida del desarrollo de SI, completamente o en
alguna de sus fases.
Importancia de las herramientas en el desarrollo de sistemas
Mejora la productividad del analista
o En relacin a que se pueden hacer las mismas actividades
(analizar, desarrollar y documentar) en un tiempo mejor que si no
se las usaran y con menos intensidad del trabajo requerido.
o Ej: carpintero con piedra en lugar de un martillo.
Mejora la eficiencia
o Las herramientas ayudan a mejorar la forma en que se va a hacer
una tarea.
o Ej: carpintero si tiene que poner un tornillo va a buscar una
herramienta que le permita hacer esa tarea ms eficientemente,
un destornillador.
Mejora la calidad del SI
o Cuando las herramientas mejoran los procesos, esto tambin
ocurre con los resultados.
o Ej: si carpintero uso las herramientas adecuadas va a tener mesa
bien terminada.
Objetivos
Estandarizar la documentacin
Aumentar la portabilidad de las aplicaciones
Facilitar la reutilizacin de componentes software
Permitir un desarrollo visual de las aplicaciones, mediante el uso de
graficos.
Automatizar:
o El desarrollo de software
o La documentacin
o La generacin del cdigo
o El chequeo de errores
o La gestin del proyecto
Componentes o elementos
Repositorio
o Es un deposito centralizado de informacin.
o Amplia el concepto de diccionario de dato para incluir toda la
informacin (elementos definidos o creados por la propia
herramienta) que se va generado a lo largo del ciclo de vida del
sistema.
o Gracias a este se hacen comprobaciones de integridad y
consistencia:
Que no existan datos no definidos
Que no existan datos autodefinidos (datos que se usan en
una definicin pero no se los defini antes)
Que todos los alias sean correctos y estn actualizados.
o Tambin comprobaciones de seguridad, versionado, acceso por
clave etc.
Generador de documentacin
o Permite obtener toda la documentacin que describe el SI
desarrollado.
o Caractersticas:
Generacin automtica a partir de los datos del repositorio.
Combinacin de informacin textual y grafica para facilitar
la comprensin.
Meta modelo
o Define las tcnicas y metodologas soportadas por la herramienta
Interfaz de usuario
o Cuenta con editores de texto, herramientas de diseo grafico.
Comprobacin de errores
Clasificacin
Segn el ciclo de vida:
Herramientas integradas- Integrated CASE:
Abarcan todas las fases del ciclo de vida del desarrollo de
sistemas.
Son llamadas CASE Workbench
Se basan en una metodologa
Tienen un repositorio
Aportan tcnicas estructuradas para todas las fases del ciclo de
vida.
Herramientas que abarcas alguna(s) fases del ciclo de vida:
Upper CASE:
Abarcan las primeras fases de anlisis de requerimientos y
diseo lgico
Lower CASE:
Abarca el diseo detallado y la generacin de cdigo
(construccin e implantacion)
Juego de herramientas o toolkits
Son el tipo ms simple de herramientas CASE.
Automatizan una fase dentro del ciclo de vida
Dentro de estas tenemos:
Herramientas de reingeniera
Herramientas orientadas a la fase de mantenimiento.
*Si se tiene presin por resultados a corto plazo es til usar una
lower.
*Proyectos de gran envergadura recomendable usar uperr y lower.
Segn su integracin:
Toolkits (Juego de herramientas)
o Automatizan alguna fase del ciclo de vida.
o Integracion baja.
Workbench (Banco de trabajo)
o Automatizan el ciclo de vida en mas de una fase generalmente
anlisis, diseo, implementacin y documentacin.
o Nos generan un producto documentado y operativo.
o Integracion media.
IPSE
o Cubren todo el ciclo de vida y adems cubren la gestin de
proyectos y de la configuracin.
o Integracion alta.
Por su funcionalidad:
Herramientas de planificacin de sistemas de gestin
o
o
Herramientas de soporte
o Se tienen:
Herramientas
Herramientas
Herramientas
Herramientas
de documentacin
para software de sistemas
de control de calidad
de bases de datos
Principales usuarios
Analistas
Desarrolladores
Ingenieros de software
Soporte parcial del ciclo de vida, lo que permite automatizar solo parte
de las actividades de desarrollo.
Incompatibilidad entre las herramientas.
Escasa e inadecuada documentacin generada por la herramienta
Funcionamiento definiciente en entornos multiusuarios ya que muchas
herramientas surgieron para ordenadores personales
Poca capacidad personalizacin
Costo de adquisicin alto, no solo de la herramienta sino de la
plataforma que exige.
Falsas expectativas.
Caractersticas deseables
Soporte multi-usuario
Personalizacin
Control de documentos y versiones
Gestin de proyectos
Estadsticas de productividad y mtricas del software
Pruebas
Simulacin y prototipado
Rational ROse
Ingeniera directa:
o Es el proceso de produccin de cdigo a partir de sus
especificaciones.
Ingeniera inversa:
o Conjunto de tareas destinadas a obtener las especificaciones de
un SI, partiendo del propio sistema.
o Es una actividad tpica del mantenimiento, cuando no existen las
especificaciones de diseo de la aplicacin a mantener.
Metodologa de planificacin y desarrollo de aplicaciones:
o Es el conjunto de mtodos que basados en unos principios, se
integran en le marco del ciclo de vida de los sistemas.
o La metodologa debe incluir:
Las tareas a realizar
Los responsables de cada una de ellas
Los productos a obtener en el desarrollo de un SI
Tambin puede hacer referencia a las tcnicas a usar.
Reingeniera de sistemas:
o Es la modificacin de los componentes de una aplicacin, sin
cambiar sus funcionalidades por ejemplo: mejora de la
codificacin de un programa.
o Tambin se emplea este trmino para hacer referencia
conjuntamente a la ingeniera directa e inversa.
Sistemas de informacin
o Conjunto de elementos fsicos, lgicos, de comunicacin, datos y
personal que , interrelacionados permiten el almacenamiento,
transmisin y procesamiento de la informacin.
Workbench
o Es una interface grafica que permite modelar procesos y datos.
o Est basada en el mismo principio de la programacin visual: no
usa lenguajes procedurales sino iconos( los cuales son objetos que
se almacenan en el repositorio)
o Permite aplicar recursividad es decir ver los modelos en diferentes
niveles de detalle.
o Permite manejar diferentes metodologas de anlisis y diseo.
Opciones de integracion
Nota: pocas herramientas case se usan de manera aislada por eso surge la
integracion entre ellas
a) Intercambio de datos (punto a punto)
Exportar datos de herramienta A a herramienta B, pasando por un
traductor
Desventaja
Solo parte de los datos exportados es utilizable porla herramienta
receptora, ya que no fue diseada para ser totalmente compatible
b) Acceso comun a herramientas
Permite al usuario utilizar distintas herramientas, de forma similar a la
anterior (osea con intercambio de datos)
Nota: es ponerle, a las 2 herramientas que intercambian datos, una
interfaz grafica comn.
c) Integracion de datos
Gestion comn de datos
o Contiene una nica BD logica.
Datos compartidos
o Las herramientas del nivel de datos compartidos tienen
estructuras de datos y semntica compatible
o Entonces da la ventaja de poder compartir datos sin necesidad de
la etapa de traduccin
Interoperabilidad
o Las herramientas que combinan las caractersticas de acceso
comn y la capacidad de compartir datos, tienen la capacidad de
interoperacion.
d) Integracin total
Para lograr la integracin total el entorno case debe aadir estas 2
caractersticas:
o Gestin de metadatos
o Capacidad de control
Los metadatos
Representan informacin sobre los datos generados por las distintas
herramientas case