Académique Documents
Professionnel Documents
Culture Documents
Captura de pantalla del editor UML Umbrello Las herramientas CASE (Computer Aided Software Engineering, Ingeniera de Software Asistida por Computadora) son diversas aplicaciones inform ticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el costo de las mismas en t!rminos de tiempo " de dinero# $stas %erramientas pueden a"udar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de reali&ar un dise'o del pro"ecto, c lculo de costos, implementaci(n de parte del c(digo autom ticamente con el dise'o dado, compilaci(n autom tica, documentaci(n o detecci(n de errores entre otras# )a en los a'os *+ un pro"ecto llamado IS,-S dise'( un lengua.e " por lo tanto un producto /ue anali&aba la relaci(n e0istente entre los re/uisitos de un problema " las necesidades /ue !stos generaban, el lengua.e en cuesti(n se denominaba 1SL (1roblem Statement Language) " la aplicaci(n /ue a"udaba a buscar las necesidades de los dise'adores 1SA (1roblem Statement Anal"&er)# Aun/ue !sos son los inicios de las %erramientas inform ticas /ue a"udan a crear nuevos pro"ectos inform ticos, la primera %erramienta CAS$ fue $0celerator /ue sali( a la lu& en el a'o 2345 " traba.aba ba.o una plataforma 1C# Las %erramientas CAS$ alcan&aron su tec%o a principios de los a'os 3+# $n la !poca en la /ue I6M %aba conseguido una alian&a con la empresa de software A,7C"cle para traba.ar con sus mainframes, estos dos gigantes traba.aban con %erramientas CAS$ /ue abarcaban todo el ciclo de vida del software# 1ero poco a poco los mainframes %an ido siendo menos utili&ados " actualmente el mercado de las 6ig CAS$ %a muerto completamente abriendo el mercado de diversas %erramientas m s especficas para cada fase del ciclo de vida del software#
Objetivos
2# 8# 9# 5# ;# =# *# 4# 3# Me.orar la productividad en el desarrollo " mantenimiento del software# Aumentar la calidad del software# :educir el tiempo " costo de desarrollo " mantenimiento de los sistemas inform ticos# Me.orar la planificaci(n de un pro"ecto Aumentar la biblioteca de conocimiento inform tico de una empresa a"udando a la b<s/ueda de soluciones para los re/uisitos# Automati&ar el desarrollo del software, la documentaci(n, la generaci(n de c(digo, las pruebas de errores " la gesti(n del pro"ecto# A"uda a la reutili&aci(n del software, portabilidad " estandari&aci(n de la documentaci(n >esti(n global en todas las fases de desarrollo de software con una misma %erramienta# ?acilitar el uso de las distintas metodologas propias de la ingeniera del software#
Clasificacin
Aun/ue no es f cil " no e0iste una forma <nica de clasificarlas, las %erramientas CAS$ se pueden clasificar teniendo en cuenta los siguientes par metros@ 2# 8# 9# 5# Las plataformas /ue soportan# Las fases del ciclo de vida del desarrollo de sistemas /ue cubren# La ar/uitectura de las aplicaciones /ue producen# Su funcionalidad#
La siguiente clasificaci(n es la m s %abitual basada en las fases del ciclo de desarrollo /ue cubren@ Upper CASE (U-CASE), %erramientas /ue a"udan en las fases de planificaci(n, an lisis de re/uisitos " estrategia del desarrollo, usando, entre otros diagramas UML# Middle CASE (M-CASE), %erramientas para automati&ar tareas en el an lisis " dise'o de la aplicaci(n# Lower CASE (L-CASE), %erramientas /ue semiAautomati&an la generaci(n de c(digo, crean programas de detecci(n de errores, soportan la depuraci(n de programas " pruebas# Adem s automati&an la documentaci(n completa de la aplicaci(n# A/u pueden incluirse las %erramientas de ,esarrollo r pido de aplicaciones# $0isten otros nombres /ue se le dan a este tipo de %erramientas, " /ue no es una clasificaci(n e0clu"ente entre s, ni con la anterior@ Integrated CASE (I-CASE), %erramientas /ue engloban todo el proceso de desarrollo software, desde an lisis %asta implementaci(n# MetaCASE, %erramientas /ue permiten la definici(n de nuestra propia t!cnica de modelado, los elementos permitidos del metamodelo generado se guardan en un repositorio " pueden ser usados por otros analistas, es decir, es como si defini!ramos nuestro propio UML, con nuestros elementos, restricciones " relaciones posibles# CAST (Computer-Aided Software Testing), %erramientas de soporte a la prueba de software# IPSE (Integrated Programming Support Environment), %erramientas /ue soportan todo el ciclo de vida, inclu"en componentes para la gesti(n de pro"ectos " gesti(n de la configuraci(n activa# 1or funcionalidad podramos diferenciar algunas como@ Berramientas de generaci(n semiautom tica de c(digo#
$ditores UML# Berramientas de :efactori&aci(n de c(digo# Berramientas de mantenimiento como los sistemas de control de versionesC D0000000000000000000000000000000000000000000000000000000000000000000000000000 Trabajo de Auditoria Herramientas Case Integrantes !echa "#$%&$'%%( Introduccin Bo" en da, muc%as empresas se %an e0tendido a la ad/uisici(n de %erramientas CAS$ (Ingeniera Asistida por Computadora), con el fin de automati&ar los aspectos clave de todo el proceso de desarrollo de un sistema, desde el principio %asta el final e incrementar su posici(n en el mercado competitivo, pero obteniendo algunas veces elevados costos en la ad/uisici(n de la %erramienta " costos de entrenamiento de personal as como la falta de adaptaci(n de la %erramienta a la ar/uitectura de la informaci(n " a las metodologas de desarrollo utili&adas por la organi&aci(n# 1or otra parte, algunas %erramientas CAS$ no ofrecen o eval<an soluciones potenciales para los problemas relacionados con sistemas o virtualmente no llevan a cabo ning<n an lisis de los re/uerimientos de la aplicaci(n# Herramientas Case Las %erramientas Case son un con.unto de m!todos utilidades " t!cnicas /ue facilitan la automati&aci(n del ciclo de vida del desarrollo del sistema de informaci(n, completamente o en algunas fases, son un con.unto de@ Utilidad# M!todos# E!cnicas# Eambi!n pueden me.orar la productividad en el desarrollo de una aplicaci(n de bases de datos# ) por productividad se entiende tanto la eficiencia en el desarrollo, como la efectividad del sistema desarrollado# La eficiencia se refiere al costo, tanto en tiempo como en dinero, de desarrollar la aplicaci(n# La efectividad se refiere al grado en /ue el sistema satisface las necesidades de los usuarios# 1ara obtener una buena productividad, subir el nivel de efectividad puede ser m s importante /ue aumentar la eficiencia# Com)onentes de una herramienta CASE ,e una forma es/uem tica podemos decir /ue una %erramienta CAS$ se compone de los siguientes elementos@ :epositorio (diccionario) donde se almacenan los elementos definidos o creados por la %erramienta, " cu"a gesti(n se reali&a mediante el apo"o de un Sistema de >esti(n de 6ase de ,atos (S>6,) o de un sistema de gesti(n de fic%eros# Meta modelo (no siempre visible), /ue constitu"e el marco para la definici(n de las t!cnicas " metodologas soportadas por la %erramienta#
Carga o descarga de datos, son facilidades /ue permiten cargar el repertorio de la %erramienta CAS$ con datos provenientes de otros sistemas, o bien generar a partir de la propia %erramienta es/uemas de base de datos, programas, etc# /ue pueden, a su ve&, alimentar otros sistemas# $ste elemento proporciona as un medio de comunicaci(n con otras %erramientas# Comprobaci(n de errores, facilidades /ue permiten llevar a cabo un an lisis de la e0actitud, integridad " consistencia de los es/uemas generados por la %erramienta# Interfa& de usuario, /ue constar de editores de te0to " %erramientas de dise'o gr fico /ue permitan, mediante la utili&aci(n de un sistema de ventanas, iconos " men<s, con la a"uda del rat(n, definir los diagramas, matrices, etc# /ue inclu"en las distintas metodologas# Estructura general de una herramienta CASE La estructura CAS$ se basa en la siguiente terminologa @ CAS$ de alto nivel son a/uellas %erramientas /ue automati&an o apo"an las fases finales o superiores del ciclo de vida del desarrollo de sistemas como la planificaci(n de sistemas, el an lisis de sistemas " el dise'o de sistemas# CAS$ de ba.o nivel son a/uellas %erramientas /ue automati&an o apo"an las fases finales o inferiores del ciclo de vida como el dise'o detallado de sistemas, la implantaci(n de sistemas " el soporte de sistemas# CAS$ cru&ado de ciclo de vida se aplica a a/uellas %erramientas /ue apo"an actividades /ue tienen lugar a lo largo de todo el ciclo de vida, se inclu"en actividades como la gesti(n de pro"ectos " la estimaci(n# *a historia de la Herramientas Case $sto se inicia a principios de los 4+ con la introducci(n de la documentaci(n asistida por computadoras " de %erramientas de diagramaci(n# $stas fueron creadas para usuarios a nivel 1c " para desarrollar diagramas estructurados basado en metodologa de an lisis " dise'o estructurado# +rinci)ios de los ,% ,ocumentaci(n asistida por computadoras# ,iagrama asistida por computadoras# Berramientas de an lisis " dise'o# Habilidades de los ,%@ Comprobaci(n autom tica del an lisis del dise'o ,eposito autom tico de la informaci(n# Inicio de los &% >eneraci(n autom tica del c(digo a partir de las especificaciones del dise'o# !inales de los &% Conductor de metodologa inteligente Interfa& amigable con el usuario# -ebilidades de las Herramientas Case
Las Berramientas Case poseen debilidades tales como problema en los m!todos estructurados %asta su alcance limitado# Confiabilidad en los m.todos estructurados Muc%as %erramientas est n construidas ba.o las metodologas del an lisis estructurado " del ciclo de vida de desarrollo de sistemas# $sta es la principal limitante "a /ue no todas las organi&aciones utili&an m!todos de an lisis estructurados# Conflicto en el uso de los diagramas@ Erata de un conflicto entre las antiguas Berramientas Case " las nuevas, un e.emplo modo ,os " Findows) " conflicto entre %erramientas visuales " no visuales# -iagramas gr/ficos no utili0ados@ Go utili&an todos los recursos gr ficos de las Berramientas Case# !uncin *imitada@ Se limita el uso de las %erramientas al normarlas , esto /uiere decir no se puede utili&ar mas %a"a de lo /ue /uisieran# Tareas Humanas@ Las Eareas siguen siendo criticas, la e0periencia es ma"or /ue la ma/uina# Cambio de tecnolog1a@ :ec%a&o a 1roductos nuevos tendencia de cambio# clasificaci(n teniendo en cuenta las fases ("7o tareas) del ciclo de vida /ue automati&an@ 2))er Case Son %erramientas /ue se utili&an primero, tiene /ue ver con el re/uerimiento o dise'o# *o3er Case Berramienta de 1rogramaci(n # Source Safe ,a seguridad a m(dulos " permite no repetirlos# Cuadro de 4ecesidades 5/sicas Im)ortancia de las herramientas en el desarrollo de sistema 5eneficios 1otencia la me.ora del producto final# ?acilita el desarrollo de los procesos# Me.ora la calidad del sistema# ,isminuci(n de tiempo >aranti&ar la consistencia de los procedimientos# Captura de los datos del sistema -iferencias de las Case 6 otras Herramientas Las %erramientas Case se diferencian de otro software en el eventual desarrollo de elementos automati&ados de modo personal por el usuario entorno gr ficos " no gr ficos, para aplicaci(n de dise'o " e0plotaci(n de software a niveles de 1c o Cliente 7 Servidor, a su ve& la %erramientas Case est n orientadas a los desarrolladores de software " no al cliente final# *as Herramientas fueron dise7ada )ara Soportan un entorno personal dedicado#
Utili&ar >r ficos para especificar " documentar los sistemas# Unir todas las fases del ciclo del software# Utili&ar la inteligencia artificial para reali&ar autom ticamente muc%as de las rutinas, tareas de desarrollo " mantenimiento del software# *a automati0acin del soft3are La tendencia de las Berramientas Case es proporcionar un con.unto de %erramientas bien integradas " /ue a%orren traba.o, enla&ando " automati&ando todas las fases del ciclo de vida del software# Las Berramientas Case es la suma de 8 elementos o tecnologas los tipos son@ Berramientas# Metodologa# Herramienta@ Inclu"e %erramientas de distintas generaciones (9A5A;) 8etodolog1a Se inclu"en las metodologas de desarrollo manual, como el an lisis estructurado, el dise'o estructurado " la programaci(n estructurada# Objetivos de la Herramientas Case Las Case %an cambiado las formas de construir los sistemas de software al proporcionar 9 avances principales# Un entrono de desarrollo interactivo con un tiempo de respuesta r pido, recursos dedicados " una comprobaci(n de errores desde el principio# La automati&aci(n de muc%as tareas de desarrollo " mantenimiento del software# La programaci(n Hisual proporcionada por potentes interfaces graficas# CA2SAS +O9 *AS :2E !9ACASA4 A*;24OS +9O<ECTOS CASE Go siempre %an tenido !0ito los pro"ectos de introducci(n del CAS$# 6ien es cierto /ue debido a /ue los nuevos programas de formaci(n de Analistas "a tienen en cuenta tanto la Metodologa como el uso " pr cticas con sistemas CAS$, est n permitiendo reducir los riegos de fracaso# Go obstante en muc%as organi&aciones actuales no se dispone de Analistas formados, ni de e0periencias CAS$# Son estas organi&aciones las /ue deben poner especial atenci(n en las causas mas frecuentes por las /ue puede fracasar el pro"ecto @ Go se tienen en cuenta las tres primeras etapas# Go se concreta ninguna Metodologa# $l pro"ecto de evaluaci(n es demasiado ambicioso ( crtico# $n la etapa /uinta no se lleva a cabo la ?ormaci(n /ue se precisa# Los Usuarios (Irea de ,esarrollo), no est n motivados# Un pro"ecto de introducci(n de CAS$ es siempre Jun pro"ecto estrat!gicoJ para el Irea de ,esarrollo " como tal JGo tiene vuelta atr sJ# Cuando la decisi(n "a %a sido tomada Jes recomendable Seguir con pasos firmes todas las etapasJ teniendo mu" en cuenta /ue JLos tiempos " esfuer&os para cubrirlas depender n de las personas /ue integran el Irea de ,esarrolloJ#