Академический Документы
Профессиональный Документы
Культура Документы
Que es la Herramienta
CASE?
(Computer Aided Software Engineering, Ingeniera de Software Asistida
por Ordenador)
Su Historia
Aunque sos son los inicios de las herramientas
informticas que ayudan a crear nuevos proyectos
informticos, la primera herramienta CASE fue Excelerator
que sali a la luz en el ao 1984 y trabajaba bajo una
plataforma PC.
Las herramientas CASE alcanzaron su techo a principios de
los aos 90. En la poca en la que IBM haba conseguido
una alianza con la empresa de software AD/Cycle para
trabajar con sus mainframes, estos dos gigantes trabajaban
con herramientas CASE que abarcaban todo el ciclo de vida
del software. Pero poco a poco los mainframes han ido
siendo menos utilizados y actualmente el mercado de las
Big CASE ha muerto completamente abriendo el mercado
de diversas herramientas ms especficas para cada fase
del ciclo de vida del software.
Tecnologa CASE
Objetivos
Automatizar
-El desarrollo del software
-La documentacin
-La generacin del cdigo
-El chequeo de errores
-La gestin del proyecto
Permitir
-La reutilizacin del software
-La portabilidad del software
-La estandarizacin de la documentacin
INTERFAZ DE USUARIO
Repositorio
GENERADOR DE
INFORMES
Metamodelo
HERRAMIENTAS
DE CARGA Y
DESCARGA DE
DATOS
FACILIDADES DE COMPROBACI N
Clasificacin de herramientas
CASE
Clasificacin por cobertura
Toolkits
Conjunto de herramientas software (integradas) que
automatizan alguna fase del ciclo de vida (anlisis,
diseo, gestin, ...). Comparten la BD de soporte y la
interfaz de usuario.
Workbenchs
Conjunto de herramientas software integradas que
automatizan el ciclo de vida en ms de una fase,
tpicamente en todas las fases de desarrollo: anlisis +
diseo + implementacin (incluyendo la documentacin
asociada). Es decir, asisten en todo el proceso y
proporcionan un producto documentado y operativo.
Adems de compartir la BD de soporte y la interfaz de
usuario, estn basadas en una misma metodologa.
Segn grado de
Toolkits (Juego
de herramientas)
integracin:
Conjunto de herramientas software que automatizan
ICASE (Integrated-CASE)
Contienen elementos de Upper y Lower CASE: contemplan
todo el ciclo de desarrollo.
Clasificacin por
funcionalidad
Analizadores estticos.
Depuradores.
Generadores de datos.
Comparadores (e.g. de ficheros).
Herramientas de soporte.
Herramientas de mantenimiento.
Ingeniera inversa.
Reingeniera.
Diseadores de pantallas
Generadores de mens
Generadores de informes
Lenguajes de
especificacin ejecutables
Ejemplos:
DESIGNER de ORACLE
EASY CASE de Evergreen
Rational ROSE
EXCELERATOR de Intersolv
OBJECT MAKER de Mark IV.
OMTool de GTE.
PARADIGM Plus de Platinum
SILVERRUN de CSA Research
SYSTEM Architect de Popkin
Sofware & Systems
futuro
Las herramientas CASE evolucionan hacia tres
tipos de integracin:
La integracin de datos permite disponer de
herramientas CASE con diferentes estructuras de
diccionarios locales para el intercambio de datos.
La integracin de presentacin confiere a todas
las herramientas CASE el mismo aspecto.
La integracin de herramientas permite disponer
de herramientas CASE capaces de invocar a otras
CASE de forma automtica.
Herramientas CASE ms
utilizadas
ERwin
PLATINUM ERwin es una herramienta para el diseo de base
de datos, que Brinda productividad en su diseo, generacin,
y mantenimiento de aplicaciones. Desde un modelo lgico
de los requerimientos de informacin, hasta el modelo fsico
perfeccionado para las caractersticas especficas de la base
de datos diseada, adems ERwin permite visualizar la
estructura, los elementos importantes, y optimizar el diseo
de la base de datos. Genera automticamente las tablas y
miles de lneas de stored procedure y triggers para los
principales tipos de base de datos.
ERwin soporta principalmente bases de datos relacionales
SQL y bases de datos que incluyen Oracle, Microsoft SQL
Server, Sybase. El mismo modelo puede ser usado para
generar mltiples bases de datos, o convertir una aplicacin
de una plataforma de base de datos a otra.
Herramientas CASE ms
utilizadas
EasyCASE
Esta herramienta permite automatizar las fases
de anlisis y diseo dentro del desarrollo de una
aplicacin, para poder crear las aplicaciones
eficazmente desde el procesamiento de
transacciones a la aplicacin de bases de datos
de cliente/servidor, as como sistemas de tiempo
real.
Herramientas CASE ms
utilizadas
Oracle Designer
Oracle Designer es un conjunto de herramientas
para guardar las definiciones que necesita el
usuario y automatizar la construccin rpida de
aplicaciones cliente/servidor grficas. Integrado
con Oracle Developer, Oracle Designer, que
provee una solucin para desarrollar sistemas
empresariales de segunda generacin.
En el lado del Servidor, Oracle Designer soporta
la definicin, generacin y captura de diseo de
diferentes tipos de bases de datos, por medio de
conexin desde Oracle.
Ejemplos de Interfaces de
Herramientas CASE
Ejemplos de Interfaces de
Herramientas CASE
Ejemplos de Interfaces de
Herramientas CASE
Conclusin
Sin lugar a dudas las herramientas CASE han venido a revolucionar
la forma de automatizar los aspectos clave en el desarrollo de los
sistemas de informacin, debido a la gran plataforma de seguridad
que ofrecen a los sistemas que las usan y es que stas, brindan toda
una gama de componentes que incluyen todas o la mayora de los
requisitos necesarios para el desarrollo de los sistemas, han sido
creadas con una gran exactitud en torno a las necesidades de los
desarrolladores de sistemas para la automatizacin de procesos
incluyendo el anlisis, diseo e implantacin.
Las Herramientas CASE como se pudo haber visto tienen varias
clasificaciones. Debido a la gran demanda que tienen las CASE su
exigencia en cuanto a su uso ha ido aumentando, por lo que toda
CASE debe entre otras cosas:
Programaci
n Extrema
(XP)
Proceso de desarrollo de
software
El tpico proceso de desarrollo de software
consta de las siguientes fases:
El problema de la
productividad
Los documentos y diagramas se producen de las
fases desde la Conceptualizacin hasta el Diseo.
Estos documentos incluyen la descripcin de los
requisitos, diagramas UML como casos de uso,
diagramas de clases, de actividad, etc.
Se produce un montn de papeles considerable.
Este montn de papeles pierde su valor en cuanto
se empieza a crear el cdigo, sobre todo si es un
sistema que va cambiando con frecuencia dado
que no hay tiempo para actualizar toda la
documentacin y los cambios se hacen slo en el
cdigo.
Se pierde la conexin entre documentacin y
cdigo.
Retrasos y desviaciones:
versiones cortas.
Cancelan el proyecto:
entregas peridicas.
Sistemas deteriorados y
defectos: pruebas continuas.
Requisitos mal comprendidos:
cliente dentro del equipo.
Cambios de negocio:
versiones cortas.
Falsa riqueza de
caractersticas: realizar tareas
prioritarias.
Cambios de personal: anima
el contacto y la integracin.
Qu es XP?
Un proceso ligero, de bajo riesgo,
flexible, predecible, cientfico y
divertido de desarrollar software.
Kent Beck (Extreme Programming
Explained)
Naci en 1996
Proyecto C3 de DaimlerChrysler
Caractersticas de XP
Metodologa creada a base de prueba y
error.
Surge considerando 4 valores que pueden
mejorar cualquier proyecto de software:
Simplicidad, Comunicacin,
Realimentacin, Coraje.
Expresada en forma de 12 prcticas
(algunas existentes desde hace aos), que
se soportan las unas a las otras y
conforman un conjunto completo.
XP en la prctica (i)
Retroalimentacin a escala fina:
Desarrollo guiado por pruebas
Planificacin iterativa
Cliente como parte del equipo
Programacin en pares
Proceso continuo:
Integracin continua
Refactorizacin
Liberacin pequea, entregas frecuentes
XP en la prctica (ii)
Entendimiento compartido:
Diseo simple
Metforas del sistema
Propiedad colectiva del cdigo
Estndares de codificacin
Ciclo de la XP
Proceso de desarrollo de
software con XP (ii)
Relatos (historias) de
Usuario (i)
Planificacin
En el juego de
planificacin, el
cliente y los
programadores
negocian el alcance
del proyecto para
cada iteracin.
El factor crtico es
permitir al cliente
tomar las decisiones
de negocio y al equipo
de desarrollo tomar
las decisiones
tcnicas.
Diseo simple
El diseo debe ser lo ms simple
posible: no introducir estructura, ni
funcionalidad antes de tiempo.
Se puede aadir complejidad ms
adelante.
Inconveniente: Vencer la tendencia al
gran diseo previo
Integracin continua
Todos los cambios deben ser integrados a
la base del cdigo al menos diariamente.
Las pruebas deben correr al 100% antes y
despus de la integracin.
Cada nueva versin debe tener la mnima
funcionalidad extra que tiene sentido.
Encaja con release early, release often
Ventajas: tener realimentacin de los
usuarios y ofrecer pronto nueva
funcionalidad (+xito).
Programacin en pares
Refactorizacin (i)
Es una tcnica
disciplinada de
reestructurar
cualquier cdigo
existente, alterando
su estructura interna
sin modificar su
comportamiento
externo.
Si su software fuera un
edificio, se parecera mas a
uno de la izquierda o de la
derecha?
Refactorizacin (ii)
Add Parameter
A method needs more information from its caller.
http://www.dsic.upv.es/asignaturas/facultad/lsi/ejemploxp/
Pres entacin de
Pres entacin de
Documento de
Documento de
Micros oft Word
Documento de
Micros oft Word
Documento de
Micros oft Word
Implementacin:
Base de Datos
Interfaces de
Usuario
Cdigo Fuente
Pruebas
Documento de
MHTML Document Micros oft Word
Documento de
Micros oft Word
Documento de
Micros oft Word
ltimas ideas
Arquitectura de software
dirigida por modelos
(Model-Driven Architecture)
HERRAMIENTAS CASE
CASE-UML
Rational Rose, Argo/UML, Together, UModel,
MagicDraw, MetaEdit+, Poseidon
CASE-Tiempo Real
Rapsody, Rational Rose Real Time, RapidRMA
CASE-MDA
OptimalJ, AndroMDA, Ameos, Together Architect,
Codagen, ArcStyler, MDE Studio, Objecteering
Herramientas CASE-MDA
Unas 120 herramientas CASE se basan en UML y
slo un 10% soporta parcialmente MDA.
Limitaciones en procesos de:
ingeniera directa (forward engineering)
ingeniera reversa (reverse engineering)
transformaciones (refinamientos, refactoring)
anlisis de consistencia
No proveen asistencia en reenginera de
sistemas legacy
MDA y Reingeniera
Domain Model
CIM
PIM Metamodel
Classifi er
PIM Metamodel
Associati on
Relations hip
Class
Generalizat ion
Generalization
0..*
Assoc EndAdaptee
1..*
Target Adapter
0. .*
AdapteeAdapter
Target
OCL
Constraints
Adaptee
Target
Adapter
{or}
0..*
Attribute
0..*
1
1
1
AssocEndAdapter
0..*
Adaptees
GetAdaptees
O
perat ion
1
AssociationEnd
Class
<instance of>
OCL
Constraints
AdapteeAdapter
1..*
1
Adapter
0..*
1
0..*
1..*
T
argetAdapter
1
AdapterAdapt ee
1..*
Adaptee
SetAdaptees
<instance of>
PIM
Refactoring
Patterns
Rules + Strategies
Components
PSM Metamodel
Nam
edEle
ment
+sup
plier
1..*
+clien
t
1..*
Op
aqueExpression
0..1
(fro
m Kernel)
DirectedRelationship
Depende
ncy
+supplier
Abstractio
n
NamedElement
OCL
Constraints
U
sa
ge
+m
apping
1.. *
1.. *
0..1 0..1
OpaqueExpression
(from Ker nel)
ct
* +contra
Dependency
OCL
Constraints
+client
Realiza
tio
n
Su
bstitutio
n
Rules
(from Kernel )
*
*
0..1
PSM Metamodel
*
Abstraction
Usage
Realization
Classifier
1
1
<instance of>
<instance of>
PSM
Refactoring
Rules + Strategies
Components
ISM Metamodel
ISM Metamodel
Rules
+declari ngClass
0..1
Interface
+declari ngInterface
0..*
+declaredClass
JavaClass
isPublic
isAbstract
isFi nal
+jav
aExceptions
TypedElement
+client
+declarin gClass
OCL
Constraints
DataType
(Jav
a_Li br ary)
+declaringClass
+declaringInterface
Interface
0..*
+declaredClass
JavaClass
isPubli c
isAbstract
isFinal
+declaringClass
+declaredClass
*
*
Member
isFi nal
isStatic
*
NewClass
1..*
Method
i sAbst ract
i sNative
i sSyncronized
i sConstr uctor
0..1
+declaringInterfac e
+declaredInterface
+localAtt
Field
*
{ordered}
OCL
Constraints
+client
*
Member
i Final
s
is Static
Method
isAbstract
isNative
isSyncronized
isConstructor
JavaParameter
<instance of>
<instance of>
Refactoring
Rules + Strategies
ISM
Herramientas CASE y
tecnologas MDA
Tecnologas MDA
UML (Unified Modeling Language)
UML Profiles
MOF (Meta Object Facility)
Herramientas CASE y
tecnologas MDA
XMI
Es un estndar de OMG para intercambio de modelos
UML. Es usado para mapear MOF a XML (eXtensible
Markup Language). Especifica cmo los modelos MOF
pueden ser representados en la forma de XML tags; los metamodelos MOF se traducen a XML Document Type Definition
(DTD) y los modelos se traducen a XML documentos que se
corresponden con los DTDs.
Este XML basado en XMI permite el intercambio entre
varias herramientas y repositorios: UML, software(Java, C#)
tecnologas de components (EJB, IDL) y bases de datos.
Herramientas CASE y
tecnologas MDA
CWM
Define un formato comn de intercambio para
metadatos en data warehouse. Provee un lenguaje
comn y definiciones de metamodelos para datos en
datawarehouse. El metamodelo tiene mucho en
comn con el metamodelo UML y agrega metaclases,
por ejemplo, para modelar bases de datos
relacionales. En el contexto de MDA, la
especificacin CWM es til para la integracin
legacy.