SlideShare une entreprise Scribd logo
1  sur  9
5.2
Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de
Software Asistida por Ordenador) son diversas aplicaciones informáticas destinadas a
aumentar la productividad en el desarrollo de software reduciendo el coste de las
mismas en términos de tiempo y de dinero. Estas herramientas nos pueden ayudar en
todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso
de realizar un diseño del proyecto, calculo de costes, 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.

Historia

Ya en los años 70 un proyecto llamado ISDOS diseñó un lenguaje y por lo tanto un
producto que analizaba la relación existente entre los requisitos de un problema y las
necesidades que éstos generaban, el lenguaje en cuestión se denominaba PSL (Problem
Statement Language) y la aplicación que ayudaba a buscar las necesidades de los
diseñadores PSA (Problem Statemente Analyzer).

Aunque ésos son los inicios de las herramientas informáticas que ayudan a crear nuevos
proyectos informáticos, la primera herramienta CASE fue Excelerator que salió a la luz
en el año 1984 y trabajaba bajo una plataforma PC.

Las herramientas CASE alcanzaron su techo a principios de los años 90. En la época en
la que IBM había 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 más específicas para cada
fase del ciclo de vida del software.

Objetivos

1. Mejorar la productividad en el desarrollo y mantenimiento del software.

2. Aumentar la calidad del software.

3. Mejorar el tiempo y coste de desarrollo y mantenimiento de los sistemas
informáticos.

4. Mejorar la planificación de un proyecto
5. Aumentar la biblioteca de conocimiento informático de una empresa ayudando a la
búsqueda de soluciones para los requisitos.

6. Automatizar, desarrollo del software, documentación, generación de código, pruebas
de errores y gestión del proyecto.

7. Ayuda a la reutilización del software, portabilidad y estandarización de la
documentación

8. Gestión global en todas las fases de desarrollo de software con una misma
herramienta.

9. Facilitar el uso de las distintas metodologías propias de la ingeniería del software.

Clasificación

Aunque no es fácil y no existe una forma única de clasificarlas, las herramientas CASE
se pueden clasificar teniendo en cuenta los siguientes parámetros:

1. Las plataformas que soportan.

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

3. La arquitectura de las aplicaciones que producen.

4. Su funcionalidad.

La siguiente clasificación es la más habitual basada en las fases del ciclo de desarrollo
que cubren:

• Upper CASE (U-CASE), herramientas que ayudan en las fases de planificación,
análisis de requisitos y estrategia del desarrollo, usando, entre otros diagramas UML.

• Middle CASE (M-CASE), herramientas para automatizar tareas en el análisis y diseño
de la aplicación.

• Lower CASE (L-CASE), herramientas que semiautomatizan la generación de código,
crean programas de detección de errores, soportan la depuración de programas y
pruebas. Además automatizan la documentación completa de la aplicación. Aquí pueden
incluirse las herramientas de Desarrollo_rápido_de_aplicaciones.
Existen otros nombres que se le dan a este tipo de herramientas, y que no es una
clasificación excluyente entre si, ni con la anterior:

• Integrated CASE (I-CASE), herramientas que engloban todo el proceso de desarrollo
software, desde análisis hasta implementación.

• Meta CASE, herramientas que permiten la definición de nuestra propia técnica de
modelado, los elementos permitidos del metamodelo generado se guardan en un
repositorio y pueden ser usados por otros analistas, es decir, es como si definiéramos
nuestro propio UML, con nuestros elementos, restricciones y relaciones posibles.

• CAST (Computer-Aided Software Testing), herramientas de soporte a la prueba de
software.

• IPSE (Integrated Programming Support Environment), herramientas que soportan todo
el ciclo de vida, incluyen componentes para la gestión de proyectos y gestión de la
configuración.

Por funcionalidad podríamos diferenciar algunas como:

• Herramientas de generación semiautomática de código.

• Editores UML.

• Herramientas de Refactorización de código.

• Herramientas de mantenimiento como los sistemas de control de versiones•




5.2.1 Herramientas case estructuradas

Aparecieron a fines de los 60’s con la Programación Estructurada, posteriormente
a

mediados de los 70’s extendidas con el Diseño Estructurado y a fines de los 70’s
con el

Análisis Estructurado. Versiones más recientes incorporan Diagramas Entidad-
Relación
y Diagramas de Transición de Estados.

Ejemplos de metodologías estructuradas impulsadas por organismos
gubernamentales lo

constituyen: MERISE (Francia), METRICA (España), SSADM (Reino Unido).

Otras metodologías estructuradas en el ámbito académico y comercial son: Gane
&

Sarson, Ward & Mellor, Yourdon & DeMarco y Information Engineering. Esta
última

propuesta por James Martin pone un énfasis adicional en el modelado de datos y la

incorporación de los desarrollos informáticos dentro del contexto organizacional




5.2.2
Muchos de los beneficios son alcanzados únicamente cuando el Análisis y Diseño son
utilizados con herramientas CASE Orientadas a Objetos, basados en repositorios que
generan códigos.

Fomenta la reutilización y extensión del código.

Permite crear sistemas más complejos.

Relacionar el sistema al mundo real.

Facilita la creación de programas visuales.

Construcción de prototipos

Agiliza el desarrollo de software

Facilita el trabajo en equipo
Facilita el mantenimiento del software

Lo interesante de la Programación Orientada a Objetos es que proporciona conceptos y
herramientas con las cuales se modela y representa el mundo real tan fielmente como
sea posible.

Reutilización.- Las clases son diseñadas de tal manera que ellas puedan ser reutilizadas
en muchos sistemas. Para maximizar la reutilización las clases deben ser construidas de
manera que puedan ser personalizadas. Un repositorio debería ser cargado con una
colección de clases reutilizables. Un objetivo permanente de las técnicas Orientadas a
Objetos, es conseguir la reutilización masiva en la construcción de software.

Estabilidad.- Las clases diseñadas para la reutilización repetida, llegan a ser estables de
la misma manera que los microprocesadores y otros chips que son bastante estables. Las
aplicaciones serán construidas utilizando chips de software. El Diseñador piensa de
Comportamiento de Objeto, no en Niveles de Detalle. El encapsulamiento oculta los
detalles y hace fácil el uso de clases complejas. Las clases son semejantes a las cajas
negras. El desarrollador utiliza la caja negra sin mirar su interior. El tiene un
entendimiento del comportamiento de la caja negra y cómo comunicarse con ella.

Construcción de Objetos de complejidad Creciente.- Los objetos se construyen fuera de
los objetos. Una buena manera de fabricar es construir tomando una lista de materiales
de partes y subpartes existentes. Esto posibilita construir componentes de software
complejos y los mismos se utilizarán para construir otros bloques de software más
complejos.

Confiabilidad.- EL software construido a partir de una librería de clases estables, es
probable que se encuentre libre de errores, respecto a construir software desde el inicio.
Cada método en una clase es en sí mismo simple y diseñado para ser confiable.

Verificación de Correcciones.- El Diseño Orientado a Objetos con técnica formal para
la creación de métodos, puede generar potencialmente software de alta confiabilidad.
Técnicas para verificar y garantizar la operación correcta de una clase, probablemente
estén disponibles en nuevas generaciones de herramientas CASE Orientadas a Objetos.

Diseño Rápido.- Las aplicaciones son creadas tomando componentes preexistentes.
Muchos componentes son construidos de tal forma que, puedan ser observados,
personalizados, para un diseño particular. Los componentes pueden ser vistos,
customizados y enlazados en la pantalla de la herramienta CASE.

Nuevos Mercados de Software.- Las compañías de software, deberían proporcionar
librerías de clases para áreas específicas, fácilmente adaptables a las necesidades de la
organización. La era de los paquetes monolíticos esta siendo reemplazada por software
que incorpora clases y encapsula paquetes de diferentes vendedores.

Diseño de Alta Calidad.- Los diseños son a menudo de alta calidad, ya que ellos se
construyen a partir de componentes que han sido aprobados y refinados repetidamente.

Integridad.- Las estructuras de Datos pueden ser utilizadas solamente con métodos
específicos. Esto es particularmente importante en sistemas distribuidos y sistemas
CLIENTE/SERVIDOR, donde usuarios desconocidos pueden tratar de accesar al
sistema.

Facilidad de Programación.- Los programas son construidos utilizando pequeñas plazas
de software las cuales son generalmente fáciles de crear.

Fácil Mantenimiento.- Los programas de mantenimiento generalmente cambiarán los
métodos correspondientes a una clase. Cada clase realiza sus operaciones
independientemente de otras clases.

Creatividad.- Implementadores hábiles en poderosas herramientas CASE Orientadas a
Objetos laborando sobre estaciones de trabajo, encuentran que puede generar
rápidamente muchas ideas. Las herramientas estimulan la creación e implementan las
invenciones. La genialidad individual puede ser más creativa.

Ciclo de Vida Dinámico.- Los objetivos de desarrollo de un sistema, a menudo cambian
durante la implementación. Las herramientas CASE Orientadas a Objetos, hacen los
cambios durante el ciclo de vida rápidamente. Esto permite a los diseñadores de
sistemas satisfacer mejor a los usuarios finales, adaptarse a los cambios, refinar los
objetivos y mejorar constantemente el diseño durante la implementación.

Refinamiento durante la Construcción.- Las personas creativas cambian constantemente
el diseño de su trabajo mientras se está implementando. Esto conduce a más y mejores
resultados. Los trabajos creativos objetivos, son una y otra vez refinados. Las
herramientas CASE Orientadas a Objetos proporcionan a los constructores de software
la capacidad para refinar el diseño durante la implementación.

Modelamiento más realístico.- El Análisis Orientado a Objetos modela la empresa o
área de negocio de una manera más coherente y minuciosa que los métodos
tradicionales de análisis. El análisis se traslada directamente al diseño e
implementación. En técnicas convencionales, el entorno del problema cambia cuando
vamos del análisis al diseño y del diseño a la programación. Con técnicas de Análisis,
Diseño e Implementación Orientados a Objetos utiliza el mismo paradigma y lo refinan
sucesivamente.
Interfase Gráfica Seductiva al Usuario.- Se debería utilizar interfaces gráficas para
usuarios, tal que ésta apunte al icono que relacione al objeto.

Independencia de Diseño.- Las clases son diseñadas independientemente de plataforma
de operación, hardware o software. Las clases emplean requerimientos y respuestas de
forma. Esto permite que ellos sean utilizados con múltiples sistemas operativos, DBMS,
manejadores de redes, interfaces gráficas para usuarios, etc.

Interoperatividad.- Software de diferentes vendedores pueden trabajar juntos. Un
vendedor puede utilizar clase de otros vendedores. La interoperatividad de software de
diferentes vendedores es uno de los objetivos más importantes de los estándares de la
Orientación a Objetos. Software desarrollados independientemente en lugares
separados, deberían ser capaces de trabajar juntos y presentarse como una unidad simple
al usuario.

Computación Cliente / Servidor.- En el sistema Cliente / Servidor, las clases en el
software cliente deberían enviar sus requerimientos a las clases de software servidor y
recibir respuestas. Una clase servidor puede ser utilizada por muchos clientes. Esto
puede accesar al software únicamente a través de los métodos (así los datos se protegen
de corrupciones).

Computación masivamente Distribuida.- Redes alrededor del mundo emplearán
directorios de software de objetos accesibles. El diseño orientado al objeto, es la clave
para la computación masivamente distribuida. Las clases en una máquina interactuarán
con cualquier otra, sin necesidad de saber dónde residen. Ellas envían y reciben
mensajes en formatos estándares.

Computación Paralela.- La velocidad de las maquinas., pueden ser ampliamente
mejoradas mediante la instalación de computadoras en paralelo. Se pueden tener
procesamientos simultáneos y concurrentes en múltiples chips de procesadores
(eventualmente, un chip puede tener muchos procesadores). Objetos en diferentes
procesadores se ejecutarán simultáneamente, cada uno de ellos actuando
independientemente.

Alto Nivel de Automatización de Bases de datos.- Las estructuras en Base de Datos OO,
están ligadas a métodos que toman acciones automáticas. Una Base de Datos OO, tiene
su inteligencia construida en la forma de métodos, mientras que otras bases de datos no.

Performance de Máquinas.- La Bases de Datos Orientada a Objetos han demostrado una
mayor performance que las bases de datos relacionales para ciertas aplicaciones con
estructuras de datos más complejas. Las bases de datos Orientados a Objetos, la
computación concurrente y el diseño Orientado a Objetos prometen mayores saltos en la
performance de las máquinas LAN’S basadas en sistemas Cliente/Servidor. Emplearán
servidores de Base de Datos concurrentes y orientadas al objeto.

Migración.- Existiendo o no aplicaciones orientadas a objetos, ellos pueden ser
preservados convenientemente con una cobertura Orientada a Objetos, comunicándose
entre ellos mediante mensajes estándares Orientados a Objetos.

Mejores herramientas CASE.- Las herramientas Case utilizarán técnicas gráficas para
diseñar las clases y sus interacciones, y para utilizar objetos existentes adaptados en
nuevas aplicaciones. Las herramientas deberían facilitar el modelamiento en términos
de eventos, triggers (iniciadores), estado de los objetos, etc. Las herramientas de los
CASE Orientados a Objetos generan códigos tan pronto como una clase sea definida y
permitirá al diseñador probar y utilizar el método creado. Las herramientas deberán ser
diseñadas para estimular la máxima creatividad y continuo refinamiento del diseño
durante la construcción.

Industriales de Librerías de Clases.- Las compañías de software comercializarán
librerías para diferentes áreas de aplicación. Las librerías de clases independientes de las
aplicaciones, serán también importantes y éstas serán proporcionadas como facilidades
de herramientas CASE (VIC).

Librerías de Clases Corporativas.- Las corporaciones, crearán sus propias librerías de
clases que reflejen sus estándares internos y requerimientos de aplicación. La
identificación TOP-DOWN de los OBJETOS del negocio, es un aspecto importante de
la ingeniería de la Información.

Los diferentes beneficios afectan a diferentes desarrolladores de diversas maneras.
Examinaremos los beneficios percibidos por:

Un Inventor.- El inventor de software requiere el conjunto de herramientas del CASE
Orientadas a Objetos, para generar códigos tan rápidos como él sobre la pantalla.

Fábrica de Software.- Para crear productos ricos e interesantes, el fabricante de software
requiere incorporar software de otros vendedores en sus propios diseños.

Jefe de Informática.- El objetivo es ensamblar aplicaciones de alta calidad tomando
partes reutilizables y utilizando un generador para todo código nuevo.

Un Equipo de Proyecto de Sistemas de Información.- Las herramientas CASE
Orientadas a Objetos posibilitan al equipo ajustar continuamente o diseñar la aplicación
mientras se está construyendo para satisfacer las necesidades del usuario, tan fielmente
como sean posibles.
Un Integrador de Sistemas.- Un integrador de sistemas tiene que ver con:

Construcción del Sistema de Redes.

Maquinas y software de diferentes vendedores.

Un problema mayúsculo, es buscar que los software de los diferentes vendedores
trabajen juntos.

Uno de los beneficios más importantes de la Orientación a Objetos es su nivel de
reutilización. Las técnicas Orientadas a Objetos permiten alcanzar la reutilización de
dos maneras:

1. Construir software tomando componentes (clases) que ya existen.

2. Crear clases modificadas utilizando herencia que les permite reutilizar métodos y
estructuras de datos de clases de nivel superior.

Contenu connexe

Tendances

Semana 8 técnicas y herramientas para el desarrollo de sw
Semana 8 técnicas y herramientas para el desarrollo de swSemana 8 técnicas y herramientas para el desarrollo de sw
Semana 8 técnicas y herramientas para el desarrollo de swedithua
 
Plataformas y frameworks web mobile
Plataformas y frameworks web mobilePlataformas y frameworks web mobile
Plataformas y frameworks web mobileFernando Solis
 
Libro Herramientas Case
Libro Herramientas CaseLibro Herramientas Case
Libro Herramientas CaseFSILSCA
 
Aplicaciones web mobile
Aplicaciones web mobileAplicaciones web mobile
Aplicaciones web mobileFernando Solis
 
4tageneracion 090512224610-phpapp02
4tageneracion 090512224610-phpapp024tageneracion 090512224610-phpapp02
4tageneracion 090512224610-phpapp02Lupunkd Ruiz Angulo
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativoKleo Jorgee
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Yaskelly Yedra
 
Presentación Fundamentos Básicos del Diseño de Software Pedro Luces
Presentación Fundamentos Básicos del Diseño de Software Pedro LucesPresentación Fundamentos Básicos del Diseño de Software Pedro Luces
Presentación Fundamentos Básicos del Diseño de Software Pedro LucesPedroLuces3
 
Fundamentos de diseño de software
Fundamentos de diseño de softwareFundamentos de diseño de software
Fundamentos de diseño de softwareLuis Jesus Curbata
 
Conceptos Básicos de Ingeniería del Software y Control de Proyectos
Conceptos Básicos de Ingeniería del Software y Control de ProyectosConceptos Básicos de Ingeniería del Software y Control de Proyectos
Conceptos Básicos de Ingeniería del Software y Control de Proyectosedwinlemmon
 

Tendances (18)

ingenieria de software
ingenieria de softwareingenieria de software
ingenieria de software
 
Herramientas Case
Herramientas CaseHerramientas Case
Herramientas Case
 
Silabo prog-movil-sis
Silabo prog-movil-sisSilabo prog-movil-sis
Silabo prog-movil-sis
 
00060335
0006033500060335
00060335
 
Semana 8 técnicas y herramientas para el desarrollo de sw
Semana 8 técnicas y herramientas para el desarrollo de swSemana 8 técnicas y herramientas para el desarrollo de sw
Semana 8 técnicas y herramientas para el desarrollo de sw
 
Plataformas y frameworks web mobile
Plataformas y frameworks web mobilePlataformas y frameworks web mobile
Plataformas y frameworks web mobile
 
Mapa mental metodología de la programación
Mapa mental metodología de la programaciónMapa mental metodología de la programación
Mapa mental metodología de la programación
 
Libro Herramientas Case
Libro Herramientas CaseLibro Herramientas Case
Libro Herramientas Case
 
Aplicaciones web mobile
Aplicaciones web mobileAplicaciones web mobile
Aplicaciones web mobile
 
MDE & DSLs
MDE & DSLsMDE & DSLs
MDE & DSLs
 
4tageneracion 090512224610-phpapp02
4tageneracion 090512224610-phpapp024tageneracion 090512224610-phpapp02
4tageneracion 090512224610-phpapp02
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Cuadro Comparativo
Cuadro ComparativoCuadro Comparativo
Cuadro Comparativo
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)
 
Modelamiento software
Modelamiento softwareModelamiento software
Modelamiento software
 
Presentación Fundamentos Básicos del Diseño de Software Pedro Luces
Presentación Fundamentos Básicos del Diseño de Software Pedro LucesPresentación Fundamentos Básicos del Diseño de Software Pedro Luces
Presentación Fundamentos Básicos del Diseño de Software Pedro Luces
 
Fundamentos de diseño de software
Fundamentos de diseño de softwareFundamentos de diseño de software
Fundamentos de diseño de software
 
Conceptos Básicos de Ingeniería del Software y Control de Proyectos
Conceptos Básicos de Ingeniería del Software y Control de ProyectosConceptos Básicos de Ingeniería del Software y Control de Proyectos
Conceptos Básicos de Ingeniería del Software y Control de Proyectos
 

Similaire à Herramientas case

Trabajo ricardo rivadeneira, nexar mendoza .
Trabajo  ricardo rivadeneira, nexar mendoza .Trabajo  ricardo rivadeneira, nexar mendoza .
Trabajo ricardo rivadeneira, nexar mendoza .jefry
 
Trabajo ricardo rivadeneira, nexar mendoza .
Trabajo  ricardo rivadeneira, nexar mendoza .Trabajo  ricardo rivadeneira, nexar mendoza .
Trabajo ricardo rivadeneira, nexar mendoza .jefry
 
Herramientas Case
Herramientas CaseHerramientas Case
Herramientas Caseguestf131a9
 
Introduccion
IntroduccionIntroduccion
IntroduccionZuleima
 
Herramientas del Ciclo de Vida de Prototipos
Herramientas del Ciclo de Vida de PrototiposHerramientas del Ciclo de Vida de Prototipos
Herramientas del Ciclo de Vida de PrototiposSaúl Torres Molina
 
Herramientas Case
Herramientas CaseHerramientas Case
Herramientas Caseguest15d257
 

Similaire à Herramientas case (20)

Herramienta case
Herramienta caseHerramienta case
Herramienta case
 
Herramienta case
Herramienta caseHerramienta case
Herramienta case
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Case
CaseCase
Case
 
Trabajo ricardo rivadeneira, nexar mendoza .
Trabajo  ricardo rivadeneira, nexar mendoza .Trabajo  ricardo rivadeneira, nexar mendoza .
Trabajo ricardo rivadeneira, nexar mendoza .
 
Trabajo ricardo rivadeneira, nexar mendoza .
Trabajo  ricardo rivadeneira, nexar mendoza .Trabajo  ricardo rivadeneira, nexar mendoza .
Trabajo ricardo rivadeneira, nexar mendoza .
 
Herramienta teresa
Herramienta teresaHerramienta teresa
Herramienta teresa
 
Herramienta case
Herramienta  caseHerramienta  case
Herramienta case
 
Herramienta teresa
Herramienta teresaHerramienta teresa
Herramienta teresa
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Herraientacaseing
HerraientacaseingHerraientacaseing
Herraientacaseing
 
Herramientas Case
Herramientas CaseHerramientas Case
Herramientas Case
 
4ta Generacion
4ta Generacion4ta Generacion
4ta Generacion
 
Introduccion
IntroduccionIntroduccion
Introduccion
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Herramientas CASE
Herramientas CASEHerramientas CASE
Herramientas CASE
 
Herramientas case word
Herramientas case wordHerramientas case word
Herramientas case word
 
Herramientas del Ciclo de Vida de Prototipos
Herramientas del Ciclo de Vida de PrototiposHerramientas del Ciclo de Vida de Prototipos
Herramientas del Ciclo de Vida de Prototipos
 
Herramientas Case
Herramientas CaseHerramientas Case
Herramientas Case
 

Dernier

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Dernier (13)

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

Herramientas case

  • 1. 5.2 Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Ordenador) son diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el coste de las mismas en términos de tiempo y de dinero. Estas herramientas nos pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar un diseño del proyecto, calculo de costes, 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. Historia Ya en los años 70 un proyecto llamado ISDOS diseñó un lenguaje y por lo tanto un producto que analizaba la relación existente entre los requisitos de un problema y las necesidades que éstos generaban, el lenguaje en cuestión se denominaba PSL (Problem Statement Language) y la aplicación que ayudaba a buscar las necesidades de los diseñadores PSA (Problem Statemente Analyzer). Aunque ésos son los inicios de las herramientas informáticas que ayudan a crear nuevos proyectos informáticos, la primera herramienta CASE fue Excelerator que salió a la luz en el año 1984 y trabajaba bajo una plataforma PC. Las herramientas CASE alcanzaron su techo a principios de los años 90. En la época en la que IBM había 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 más específicas para cada fase del ciclo de vida del software. Objetivos 1. Mejorar la productividad en el desarrollo y mantenimiento del software. 2. Aumentar la calidad del software. 3. Mejorar el tiempo y coste de desarrollo y mantenimiento de los sistemas informáticos. 4. Mejorar la planificación de un proyecto
  • 2. 5. Aumentar la biblioteca de conocimiento informático de una empresa ayudando a la búsqueda de soluciones para los requisitos. 6. Automatizar, desarrollo del software, documentación, generación de código, pruebas de errores y gestión del proyecto. 7. Ayuda a la reutilización del software, portabilidad y estandarización de la documentación 8. Gestión global en todas las fases de desarrollo de software con una misma herramienta. 9. Facilitar el uso de las distintas metodologías propias de la ingeniería del software. Clasificación Aunque no es fácil y no existe una forma única de clasificarlas, las herramientas CASE se pueden clasificar teniendo en cuenta los siguientes parámetros: 1. Las plataformas que soportan. 2. Las fases del ciclo de vida del desarrollo de sistemas que cubren. 3. La arquitectura de las aplicaciones que producen. 4. Su funcionalidad. La siguiente clasificación es la más habitual basada en las fases del ciclo de desarrollo que cubren: • Upper CASE (U-CASE), herramientas que ayudan en las fases de planificación, análisis de requisitos y estrategia del desarrollo, usando, entre otros diagramas UML. • Middle CASE (M-CASE), herramientas para automatizar tareas en el análisis y diseño de la aplicación. • Lower CASE (L-CASE), herramientas que semiautomatizan la generación de código, crean programas de detección de errores, soportan la depuración de programas y pruebas. Además automatizan la documentación completa de la aplicación. Aquí pueden incluirse las herramientas de Desarrollo_rápido_de_aplicaciones.
  • 3. Existen otros nombres que se le dan a este tipo de herramientas, y que no es una clasificación excluyente entre si, ni con la anterior: • Integrated CASE (I-CASE), herramientas que engloban todo el proceso de desarrollo software, desde análisis hasta implementación. • Meta CASE, herramientas que permiten la definición de nuestra propia técnica de modelado, los elementos permitidos del metamodelo generado se guardan en un repositorio y pueden ser usados por otros analistas, es decir, es como si definiéramos nuestro propio UML, con nuestros elementos, restricciones y relaciones posibles. • CAST (Computer-Aided Software Testing), herramientas de soporte a la prueba de software. • IPSE (Integrated Programming Support Environment), herramientas que soportan todo el ciclo de vida, incluyen componentes para la gestión de proyectos y gestión de la configuración. Por funcionalidad podríamos diferenciar algunas como: • Herramientas de generación semiautomática de código. • Editores UML. • Herramientas de Refactorización de código. • Herramientas de mantenimiento como los sistemas de control de versiones• 5.2.1 Herramientas case estructuradas Aparecieron a fines de los 60’s con la Programación Estructurada, posteriormente a mediados de los 70’s extendidas con el Diseño Estructurado y a fines de los 70’s con el Análisis Estructurado. Versiones más recientes incorporan Diagramas Entidad- Relación
  • 4. y Diagramas de Transición de Estados. Ejemplos de metodologías estructuradas impulsadas por organismos gubernamentales lo constituyen: MERISE (Francia), METRICA (España), SSADM (Reino Unido). Otras metodologías estructuradas en el ámbito académico y comercial son: Gane & Sarson, Ward & Mellor, Yourdon & DeMarco y Information Engineering. Esta última propuesta por James Martin pone un énfasis adicional en el modelado de datos y la incorporación de los desarrollos informáticos dentro del contexto organizacional 5.2.2 Muchos de los beneficios son alcanzados únicamente cuando el Análisis y Diseño son utilizados con herramientas CASE Orientadas a Objetos, basados en repositorios que generan códigos. Fomenta la reutilización y extensión del código. Permite crear sistemas más complejos. Relacionar el sistema al mundo real. Facilita la creación de programas visuales. Construcción de prototipos Agiliza el desarrollo de software Facilita el trabajo en equipo
  • 5. Facilita el mantenimiento del software Lo interesante de la Programación Orientada a Objetos es que proporciona conceptos y herramientas con las cuales se modela y representa el mundo real tan fielmente como sea posible. Reutilización.- Las clases son diseñadas de tal manera que ellas puedan ser reutilizadas en muchos sistemas. Para maximizar la reutilización las clases deben ser construidas de manera que puedan ser personalizadas. Un repositorio debería ser cargado con una colección de clases reutilizables. Un objetivo permanente de las técnicas Orientadas a Objetos, es conseguir la reutilización masiva en la construcción de software. Estabilidad.- Las clases diseñadas para la reutilización repetida, llegan a ser estables de la misma manera que los microprocesadores y otros chips que son bastante estables. Las aplicaciones serán construidas utilizando chips de software. El Diseñador piensa de Comportamiento de Objeto, no en Niveles de Detalle. El encapsulamiento oculta los detalles y hace fácil el uso de clases complejas. Las clases son semejantes a las cajas negras. El desarrollador utiliza la caja negra sin mirar su interior. El tiene un entendimiento del comportamiento de la caja negra y cómo comunicarse con ella. Construcción de Objetos de complejidad Creciente.- Los objetos se construyen fuera de los objetos. Una buena manera de fabricar es construir tomando una lista de materiales de partes y subpartes existentes. Esto posibilita construir componentes de software complejos y los mismos se utilizarán para construir otros bloques de software más complejos. Confiabilidad.- EL software construido a partir de una librería de clases estables, es probable que se encuentre libre de errores, respecto a construir software desde el inicio. Cada método en una clase es en sí mismo simple y diseñado para ser confiable. Verificación de Correcciones.- El Diseño Orientado a Objetos con técnica formal para la creación de métodos, puede generar potencialmente software de alta confiabilidad. Técnicas para verificar y garantizar la operación correcta de una clase, probablemente estén disponibles en nuevas generaciones de herramientas CASE Orientadas a Objetos. Diseño Rápido.- Las aplicaciones son creadas tomando componentes preexistentes. Muchos componentes son construidos de tal forma que, puedan ser observados, personalizados, para un diseño particular. Los componentes pueden ser vistos, customizados y enlazados en la pantalla de la herramienta CASE. Nuevos Mercados de Software.- Las compañías de software, deberían proporcionar librerías de clases para áreas específicas, fácilmente adaptables a las necesidades de la
  • 6. organización. La era de los paquetes monolíticos esta siendo reemplazada por software que incorpora clases y encapsula paquetes de diferentes vendedores. Diseño de Alta Calidad.- Los diseños son a menudo de alta calidad, ya que ellos se construyen a partir de componentes que han sido aprobados y refinados repetidamente. Integridad.- Las estructuras de Datos pueden ser utilizadas solamente con métodos específicos. Esto es particularmente importante en sistemas distribuidos y sistemas CLIENTE/SERVIDOR, donde usuarios desconocidos pueden tratar de accesar al sistema. Facilidad de Programación.- Los programas son construidos utilizando pequeñas plazas de software las cuales son generalmente fáciles de crear. Fácil Mantenimiento.- Los programas de mantenimiento generalmente cambiarán los métodos correspondientes a una clase. Cada clase realiza sus operaciones independientemente de otras clases. Creatividad.- Implementadores hábiles en poderosas herramientas CASE Orientadas a Objetos laborando sobre estaciones de trabajo, encuentran que puede generar rápidamente muchas ideas. Las herramientas estimulan la creación e implementan las invenciones. La genialidad individual puede ser más creativa. Ciclo de Vida Dinámico.- Los objetivos de desarrollo de un sistema, a menudo cambian durante la implementación. Las herramientas CASE Orientadas a Objetos, hacen los cambios durante el ciclo de vida rápidamente. Esto permite a los diseñadores de sistemas satisfacer mejor a los usuarios finales, adaptarse a los cambios, refinar los objetivos y mejorar constantemente el diseño durante la implementación. Refinamiento durante la Construcción.- Las personas creativas cambian constantemente el diseño de su trabajo mientras se está implementando. Esto conduce a más y mejores resultados. Los trabajos creativos objetivos, son una y otra vez refinados. Las herramientas CASE Orientadas a Objetos proporcionan a los constructores de software la capacidad para refinar el diseño durante la implementación. Modelamiento más realístico.- El Análisis Orientado a Objetos modela la empresa o área de negocio de una manera más coherente y minuciosa que los métodos tradicionales de análisis. El análisis se traslada directamente al diseño e implementación. En técnicas convencionales, el entorno del problema cambia cuando vamos del análisis al diseño y del diseño a la programación. Con técnicas de Análisis, Diseño e Implementación Orientados a Objetos utiliza el mismo paradigma y lo refinan sucesivamente.
  • 7. Interfase Gráfica Seductiva al Usuario.- Se debería utilizar interfaces gráficas para usuarios, tal que ésta apunte al icono que relacione al objeto. Independencia de Diseño.- Las clases son diseñadas independientemente de plataforma de operación, hardware o software. Las clases emplean requerimientos y respuestas de forma. Esto permite que ellos sean utilizados con múltiples sistemas operativos, DBMS, manejadores de redes, interfaces gráficas para usuarios, etc. Interoperatividad.- Software de diferentes vendedores pueden trabajar juntos. Un vendedor puede utilizar clase de otros vendedores. La interoperatividad de software de diferentes vendedores es uno de los objetivos más importantes de los estándares de la Orientación a Objetos. Software desarrollados independientemente en lugares separados, deberían ser capaces de trabajar juntos y presentarse como una unidad simple al usuario. Computación Cliente / Servidor.- En el sistema Cliente / Servidor, las clases en el software cliente deberían enviar sus requerimientos a las clases de software servidor y recibir respuestas. Una clase servidor puede ser utilizada por muchos clientes. Esto puede accesar al software únicamente a través de los métodos (así los datos se protegen de corrupciones). Computación masivamente Distribuida.- Redes alrededor del mundo emplearán directorios de software de objetos accesibles. El diseño orientado al objeto, es la clave para la computación masivamente distribuida. Las clases en una máquina interactuarán con cualquier otra, sin necesidad de saber dónde residen. Ellas envían y reciben mensajes en formatos estándares. Computación Paralela.- La velocidad de las maquinas., pueden ser ampliamente mejoradas mediante la instalación de computadoras en paralelo. Se pueden tener procesamientos simultáneos y concurrentes en múltiples chips de procesadores (eventualmente, un chip puede tener muchos procesadores). Objetos en diferentes procesadores se ejecutarán simultáneamente, cada uno de ellos actuando independientemente. Alto Nivel de Automatización de Bases de datos.- Las estructuras en Base de Datos OO, están ligadas a métodos que toman acciones automáticas. Una Base de Datos OO, tiene su inteligencia construida en la forma de métodos, mientras que otras bases de datos no. Performance de Máquinas.- La Bases de Datos Orientada a Objetos han demostrado una mayor performance que las bases de datos relacionales para ciertas aplicaciones con estructuras de datos más complejas. Las bases de datos Orientados a Objetos, la computación concurrente y el diseño Orientado a Objetos prometen mayores saltos en la
  • 8. performance de las máquinas LAN’S basadas en sistemas Cliente/Servidor. Emplearán servidores de Base de Datos concurrentes y orientadas al objeto. Migración.- Existiendo o no aplicaciones orientadas a objetos, ellos pueden ser preservados convenientemente con una cobertura Orientada a Objetos, comunicándose entre ellos mediante mensajes estándares Orientados a Objetos. Mejores herramientas CASE.- Las herramientas Case utilizarán técnicas gráficas para diseñar las clases y sus interacciones, y para utilizar objetos existentes adaptados en nuevas aplicaciones. Las herramientas deberían facilitar el modelamiento en términos de eventos, triggers (iniciadores), estado de los objetos, etc. Las herramientas de los CASE Orientados a Objetos generan códigos tan pronto como una clase sea definida y permitirá al diseñador probar y utilizar el método creado. Las herramientas deberán ser diseñadas para estimular la máxima creatividad y continuo refinamiento del diseño durante la construcción. Industriales de Librerías de Clases.- Las compañías de software comercializarán librerías para diferentes áreas de aplicación. Las librerías de clases independientes de las aplicaciones, serán también importantes y éstas serán proporcionadas como facilidades de herramientas CASE (VIC). Librerías de Clases Corporativas.- Las corporaciones, crearán sus propias librerías de clases que reflejen sus estándares internos y requerimientos de aplicación. La identificación TOP-DOWN de los OBJETOS del negocio, es un aspecto importante de la ingeniería de la Información. Los diferentes beneficios afectan a diferentes desarrolladores de diversas maneras. Examinaremos los beneficios percibidos por: Un Inventor.- El inventor de software requiere el conjunto de herramientas del CASE Orientadas a Objetos, para generar códigos tan rápidos como él sobre la pantalla. Fábrica de Software.- Para crear productos ricos e interesantes, el fabricante de software requiere incorporar software de otros vendedores en sus propios diseños. Jefe de Informática.- El objetivo es ensamblar aplicaciones de alta calidad tomando partes reutilizables y utilizando un generador para todo código nuevo. Un Equipo de Proyecto de Sistemas de Información.- Las herramientas CASE Orientadas a Objetos posibilitan al equipo ajustar continuamente o diseñar la aplicación mientras se está construyendo para satisfacer las necesidades del usuario, tan fielmente como sean posibles.
  • 9. Un Integrador de Sistemas.- Un integrador de sistemas tiene que ver con: Construcción del Sistema de Redes. Maquinas y software de diferentes vendedores. Un problema mayúsculo, es buscar que los software de los diferentes vendedores trabajen juntos. Uno de los beneficios más importantes de la Orientación a Objetos es su nivel de reutilización. Las técnicas Orientadas a Objetos permiten alcanzar la reutilización de dos maneras: 1. Construir software tomando componentes (clases) que ya existen. 2. Crear clases modificadas utilizando herencia que les permite reutilizar métodos y estructuras de datos de clases de nivel superior.