26
Técnicas Es un procedimiento o conjunto de reglas, normas o protocolos, que tienen como objetivo obtener un resultado determinado, ya sea en el campo de la ciencia, de la tecnología, del arte, del deporte, de la educación o en cualquier otra actividad. Esta noción sirve para describir a un tipo de acciones regidas por normas o un cierto protocolo que tiene el propósito de arribar a un resultado específico. En otras palabras, una técnica es un conjunto de procedimientos reglamentados y pautas que se utiliza como medio para llegar a un cierto fin. Herramientas Instrumento, más o menos simple, destinado a realizar un cierto trabajo. En informatica, es un subprograma o módulo encargado de funciones específicas y afines entre sí para realizar una tarea. Una aplicación o programa puede contar con múltiples herramientas a su disposición. Técnicas para de desarrollo de sistemas Técnicas para el levantamiento de Información. Proceso mediante el cual el analista recopila datos e información de la situación actual de un sistema, con el propósito de identificar problemas y oportunidades de mejora. Mediante el uso de una serie de instrumentos y técnica como: Entrevista.

Trabajo Hectyo de Sistema

Embed Size (px)

Citation preview

Page 1: Trabajo Hectyo de Sistema

Técnicas

Es un procedimiento o conjunto de reglas, normas o protocolos, que tienen como objetivo obtener un resultado determinado, ya sea en el campo de la ciencia, de la tecnología, del arte, del deporte, de la educación o en cualquier otra actividad. Esta noción sirve para describir a un tipo de acciones regidas por normas o un cierto protocolo que tiene el propósito de arribar a un resultado específico. En otras palabras, una técnica es un conjunto de procedimientos reglamentados y pautas que se utiliza como medio para llegar a un cierto fin.

Herramientas

Instrumento, más o menos simple, destinado a realizar un cierto trabajo. En informatica, es un subprograma o módulo encargado de funciones específicas y afines entre sí para realizar una tarea. Una aplicación o programa puede contar con múltiples herramientas a su disposición.

Técnicas para de desarrollo de sistemas

Técnicas para el levantamiento de Información.

Proceso mediante el cual el analista recopila datos e información de la situación actual de un sistema, con el propósito de identificar problemas y oportunidades de mejora.

Mediante el uso de una serie de instrumentos y técnica como:

Entrevista.

· La entrevista estructurada: Constituye un interrogatorio, para el cual se han preparado previamente un conjunto de preguntas. Las preguntas se formulan siempre en el mismo orden y en los mismos términos; el interrogador anota las respuestas en forma textual o atendiendo a un código.

· La entrevista no estructurada: Deja al entrevistado mayor margen de libertad e iniciativa, se utilizan preguntas abiertas, no hay formas estándar.

Page 2: Trabajo Hectyo de Sistema

Encuesta.

· Es una técnica de recopilación de cantidades masivas de datos e información sobre las opiniones, conductas, actitudes y características de quienes se encuentran involucrados con un sistema, se basa en un formulario.

· El cuestionario en sistema puede ser utilizado como ayuda o complemento de las entrevistas y observaciones personales.

Observaciones.

· El re levantamiento a través de la observación directa se llama re levantamiento dinámico, por cuanto se obtiene lo que realmente hace la persona.

· Los métodos de revelamiento de información se pueden dividir en estáticos y dinámicos, se denomina estáticos aquellos en los que las personas dicen lo que hacen.

Simulación.

· Es una técnica de re levantamiento de Información dinámica y consiste en hacer circular un documento en un procedimiento y observar cada uno de los pasos y procesos a los cuales es sometido, esto sirve para contrastar con la información relevada por los métodos estáticos.

Técnicas Audiovisuales y de Inspección.

· Se utiliza en casos muy especiales (sobre todo en procesos productivos) en los cuales el proceso o procedimiento está construido por un gran numero de movimientos, se pueden utilizar películas, videos o cualquier método que permita grabar el proceso y luego someterlo a un análisis detallado; puede ser aplicada también para analizar los movimientos en almacenes, puestos de despacho de mercancías, taquillas de atención al publico, departamentos de procesamiento de datos.

Page 3: Trabajo Hectyo de Sistema

Diagramas de flujos de datos (DFD),

Es una técnica de modelización, que nos muestra un sistema como una red de procesos conectados entre ellos por flujos y almacenamientos de datos. Diagrama o modelo entidad-relación 

Es una herramienta para el modelado de datos que permite representar las entidades relevantes de un sistema de información así como sus interrelaciones y propiedades.

Niveles

Diagrama de Contexto: Nivel 0

En el diagrama de contexto se caracterizan todas las interacciones que realiza un sistema con su entorno (entidades

externas), estas pueden ser otros sistemas, sectores internos a la organización, o factores externos a la misma. Se

dibuja un sólo proceso que representa al sistema en cuestión y se escribe su nombre en dicha burbuja como un

sustantivo común más adjetivos. De él solamente parten los flujos de datos que denotan las interrelaciones entre el

sistema y sus agentes externos, no admitiéndose otros procesos ni almacenamientos en el dibujo.

Resulta de gran utilidad para los niveles posteriores de análisis como herramienta de balanceo. Y es conocido como

el Diagrama de Flujo de Datos DFD de Nivel "0"

Diagrama de Nivel Superior: Nivel 1

En el diagrama de nivel superior se plasman todos los procesos que describen al proceso principal. En este nivel los

procesos no suelen interrelacionarse directamente, sino que entre ellos debe existir algún almacenamiento o entidad

externa que los una. Esta regla de construcción sirve como ayuda al analista para contemplar que en un nivel tan

elevado de abstracción (DFD Nivel 1) es altamente probable que la información que se maneja requiera ser

almacenada en el sistema aunque no esté especificado por un Requisito funcional, siendo en realidad un requisito

no-funcional.

Diagrama de Detalle o Expansión: Nivel 2

En un diagrama de nivel 2 o mayor, comienzan a explotarse las excepciones a los caminos principales de la

información dado que aumenta progresivamente el nivel de detalle. De aquí en adelante se permiten los flujos entre

procesos.

El DFD (Diagrama De Flujo De Datos) nivel 2 puede considerarse el máximo para ser validado en forma conjunta

con el usuario dado que en los niveles posteriores el alto grado de complejidad del diagrama puede resultar de muy

difícil lectura para personas ajenas al equipo de sistemas. También se recomienda el diagrama de nivel superior.

Elementos De Un Diagrama De Flujo De Datos

En un DFD se utilizan símbolos gráficos para representar procesos, entidades externas, flujos de datos y almacenes de datos. Veamos cada uno de estos componentes:

PROCESO: Muestra una parte del sistema que transforma entradas en salidas, es decir, muestra cómo es que una o más entradas se transforman en salidas. Actividad definida y predecible que transforma flujos de datos con el fin de conseguir un cierto objetivo. Se representa gráficamente por un círculo. El proceso se nombre o describe con una sola palabra, frase u oración sencilla, que describirá lo que hace el proceso.

FLUJO: Información que circula de un objeto del diagrama a otro. Puede representar un dato elemental o una estructura de datos. Se representa gráficamente por una flecha que entra o sale de un proceso. Se usa para describir el movimiento de bloques de información de una parte a otra del sistema, por lo que representan datos en

Page 4: Trabajo Hectyo de Sistema

movimiento. El nombre del flujo de datos describe el tipo de información que se transporta.

ALMACÉN DE DATOS: Conjunto de datos siempre disponible donde los datos quedan retenidos. Se utiliza para modelar una colección de paquetes de datos en reposo. Se denota por dos líneas paralelas. El nombre que se utiliza para denotar al almacén es el plural del que se utiliza para los datos que almacena. La información almacenada está en reposo. Es independiente de la implementación física.

Elementos del modelo entidad-relación

Entidad

Una entidad es un objeto que existe y se distingue de otros objetos de acuerdo a sus

características llamadas Atributos. Las Entidades pueden ser concretas como una

persona o abstractas como una fecha.

Representa una “cosa” u "objeto" del mundo real con existencia independiente, es decir,

se diferencia unívocamente de cualquier otro objeto o cosa, incluso siendo del mismo tipo,

o una misma entidad.

Algunos Ejemplos:

Una persona. (Se diferencia de cualquier otra persona, incluso siendo gemelos).

Un automóvil. (Aunque sean de la misma marca, el mismo modelo,..., tendrán

atributos diferentes, por ejemplo, el número de bastidor).

Una casa (Aunque sea exactamente igual a otra, aún se diferenciará en su dirección).

Una entidad puede ser un objeto con existencia física como: una persona, un animal, una

casa, etc. (entidad concreta), o un objeto con existencia conceptual como: un puesto de

trabajo, una asignatura de clases, un nombre,etc. (entidad abstracta).

Una entidad está descrita y se representa por sus características o atributos. Por ejemplo,

la entidad Persona puede llevar consigo las características: Nombre, Apellido, Género,

Estatura, Peso, Fecha de nacimiento, etc...

Atributos

Los atributos son las propiedades que describen a cada entidad en un conjunto de

entidades.

Un conjunto de entidades dentro de una entidad, tiene valores específicos asignados para

cada uno de sus atributos, de esta forma, es posible su identificación unívoca.

Ejemplos:

A la colección de entidades Alumnos, con el siguiente conjunto de atributos en común, (id,

nombre, edad, semestre), pertenecen las entidades:

(1, Sofia, 18 años, 2)

Page 5: Trabajo Hectyo de Sistema

(2, Josefa, 19 años, 5)

(3, Gabriela, 20 años, 2)

Cada una de las entidades pertenecientes a este conjunto se diferencia de las demás por

el valor de sus atributos. Nótese que dos o más entidades diferentes pueden tener los

mismos valores para algunos de sus atributos, pero nunca para todos.

En particular, los atributos identificativos son aquellos que permiten diferenciar a una

instancia de la entidad de otra distinta. Por ejemplo, el atributo identificativo que distingue

a un alumno de otro es su número de id.

Para cada atributo, existe un dominio del mismo, este hace referencia al tipo de datos que

será almacenado o a restricciones en los valores que el atributo puede tomar (Cadenas

de caracteres, números, solo dos letras, solo números mayores que cero, solo números

enteros...).

Cuando una entidad no tiene un valor para un atributo dado, este toma el valor nulo, bien

sea que no se conoce, que no existe o que no se sabe nada al respecto del mismo.

Relación

Relación: Una relación es una asociación o relación matemática entre varias Entidades.

Las relaciones también se nombran. Se representan en el Diagrama_Entidad_Relación,

representado también por E-R mediante flechas y rombos. Cada entidad interviene en una

relación con una determinada cardinalidad. La cardinalidad (número de instancias o

elementos de una entidad que pueden asociarse a un elemento de la otra entidad

relacionada) se representa mediante una pareja de datos, en minúsculas, de la forma

(cardinalidad mínima, cardinalidad máxima), asociada a cada uno de las entidades que

intervienen en la relación. Son posibles las siguientes cardinalidades: (0,1), (1,1), (0,n),

(1,n), (m,n). También se informa de las cardinalidades máximas con las que intervienen

las entidades en la relación.

Los Diagramas E-R son lenguajes gráfico para describir conceptos. Informalmente, son

simples Dibujos o Gráficos que describen la información que trata un sistema de

información y el Software que lo automatiza. El tipo de relación se define tomando los

máximos de las cardinalidades que intervienen en la relación.

Conjunto de relaciones

Consiste en una colección, o conjunto, de relaciones de la misma naturaleza.

Page 6: Trabajo Hectyo de Sistema

Correspondencia de cardinalidades

Dado un conjunto de relaciones en el que participan dos o más conjuntos de entidades, la correspondencia de cardinalidad

indica el número de entidades con las que puede estar relacionada una entidad dada.

Una a una (1:1). En una relación uno a uno, cada registro de la Tabla A sólo puede tener un registro coincidente en la Tabla

B y viceversa. Este tipo de relación no es habitual, debido a que la mayoría de la información relacionada de esta forma

estaría en una sola tabla. Puede utilizar la relación uno a uno para dividir una tabla con muchos campos, para aislar parte

de una tabla por razones de seguridad o para almacenar información que sólo se aplica a un subconjunto de la tabla

principal. Por ejemplo, puede crear una tabla que registre los empleados participantes en un partido de fútbol benéfico.

Cada jugador de Fútbol de la tabla Jugadores de fútbol tiene un registro coincidente en la tabla Empleados.

Ejemplo: Nación y Capital

Una a varios(1:N).. La relación uno a varios es el tipo de relación más común. En este tipo de relación, un registro de la

Tabla A puede tener muchos registros coincidentes en la Tabla B, pero un registro de la Tabla B sólo tiene un registro

coincidente en la Tabla A. Ejemplo: cliente y pedidos.

Varios a Uno: Una entidad en A se relaciona exclusivamente con una entidad en B. Pero una entidad en B se puede

relacionar con 0 o muchas entidades en A.

Muchos a muchos(N:N). En una relación mucho a mucho, un registro de la Tabla A puede tener muchos registros

coincidentes en la Tabla B, y viceversa. Este tipo de relación sólo es posible si se define una tercera tabla (denominada

tabla de unión) cuya clave principal (Clave principal: uno o más campos (columnas) cuyos valores identifican de manera

exclusiva cada registro de una tabla. Una clave principal no puede permitir valores Nulo y debe tener siempre un índice

exclusivo.

Claves

Es un subconjunto del conjunto de atributos comunes en una colección de entidades, que permite identificar unívocamente

cada una de las entidades pertenecientes a dicha colección. Asimismo, permiten distinguir entre sí las relaciones de un

conjunto de relaciones.

Dentro de los conjuntos de entidades existen los siguientes tipos de claves:

*Superclave: Es un subconjunto de atributos que permite distinguir unívocamente cada una de las entidades de un conjunto

de entidades. Si se añade un atributo al anterior subconjunto, el resultado seguirá siendo una superclave.

* Clave candidata: Dada una superclave, si ésta deja de serlo quitando únicamente uno de los atributos que la componen,

entonces ésta es una clave candidata.

* Clave primaria: Es una clave candidata, elegida por el diseñador de la base de datos, para identificar unívocamente las

entidades en un conjunto de entidades.

Diccionario de Datos

Es una lista organizada de todos los datos pertinentes al sistema, con un conjunto de definiciones precisas y rigurosas para que tanto el analista como el usuario se entiendan. En el Diccionario de Datos se : - Describe el significado de los flujos y almacenes que muestran los DFD’s 

Page 7: Trabajo Hectyo de Sistema

- Describe la composición de los paquetes de datos que se mueven a través de los flujos de datos - Describe la composición de los paquetes de datos en los almacenes - Especifica los valores y unidades relevantes de piezas elementales de información entre los flujos de datos y los almacenes de datos - Describe los detalles de las relaciones entre las entidades que aparecen en un diagrama Entidad- Interrelación 

Diccionario de datos

Contiene las características lógicas de los sitios donde se almacenan los datos del sistema, incluyendo nombre, descripción, alias, contenido y organización. Identifica los procesos donde se emplean los datos y los sitios donde se necesita el acceso inmediato a la información, se desarrolla durante el análisis de flujo de datos y auxilia a los analistas que participan en la determinación de los requerimientos del sistema, su contenido también se emplea durante el diseño.

Razones para su utilización:

1- Para manejar los detalles en sistemas muy grandes, ya que tienen enormes cantidades de datos, aun en los sistemas mas chicos hay gran cantidad de datos.

Los sistemas al sufrir cambios continuos, es muy difícil manejar todos los detalles. Por eso se registra la información, ya sea sobre hoja de papel o usando procesadores de texto. Los analistas mas organizados usan el diccionario de datos automatizados diseñados específicamente para el análisis y diseño de software.

2- Para asignarle un solo significado a cada uno de los elementos y actividades del sistema.

Los diccionarios de datos proporcionan asistencia para asegurar significados comunes para los elementos y actividades del sistema y registrando detalles adicionales relacionadas con el flujo de datos en el sistema, de tal manera que todo pueda localizarse con rapidez.

3- Para documentar las características del sistema, incluyendo partes o componentes así como los aspectos que los distinguen. Tambien es

Page 8: Trabajo Hectyo de Sistema

necesario saber bajo que circunstancias se lleva a cabo cada proceso y con que frecuencia ocurren. Produciendo una comprensión mas completa. Una vez que las características están articuladas y registradas, todos los participantes en el proyecto tendrán una fuente común de información con respecto al sistema.

4- Para facilitar el análisis de los detalles con la finalidad de evaluar las características y determinar donde efectuar cambios en el sistema.

Determina si son necesarias nuevas características o si están en orden los cambios de cualquier tipo.

Se abordan las características:

* Naturaleza de las transacciones: las actividades de la empresa que se llevan a cabo mientras se emplea el sistema.

* Preguntas: solicitudes para la recuperación o procesamiento de información para generar una respuesta especifica.

* Archivos y bases de datos: detalles de las transacciones y registros maestros que son de interés para la organización.

* Capacidad del sistema: Habilidad del sistema para aceptar, procesar y almacenar transacciones y datos

5- Localizar errores y omisiones en el sistema, detectan dificultades, y las presentan en un informe. Aun en los manuales, se revelan errores.

Contenido de un registro del diccionario

El diccionario tiene dos tipos de descripciones para el flujo de datos del sistema, son los elementos datos y estructura de datos.

Elemento dato: son los bloques básicos para todos los demás datos del sistema, por si mismos no le dan un significado suficiente al usuario. Se agrupan para formar una estructura de datos.

Descripción: Cada entrada en el diccionario consiste de un conjunto de detalles que describen los datos utilizados o producidos por el sistema.

Cada uno esta identificado con:

Page 9: Trabajo Hectyo de Sistema

Un nombre: para distinguir un dato de otro.

Descripción: indica lo que representa en el sistema.

Alias: porque un dato puede recibir varios nombres, dependiendo de quien uso este dato.

Longitud: porque es de importancia de saber la cantidad de espacio necesario para cada dato.

Valores de los datos: porque en algunos procesos solo son permitidos valores muy específicos para los datos. Si los valores de los datos están restringidos a un intervalo especifico, esto debe estar en la entrada del diccionario.

Estructura de datos: es un grupo de datos que están relacionados con otros y que en conjunto describen un componente del sistema.

Descripción:

Se construyen sobre cuatro relaciones de componentes. Se pueden utilizar las siguientes combinaciones ya sea individualmente o en conjunción con alguna otra.

Relación secuencial: define los componentes que siempre se incluyen en una estructura de datos.

Relación de selección: (uno u otro), define las alternativas para datos o estructuras de datos incluidos en una estructura de datos.

Relación de iteración: (repetitiva), define la repetición de un componente.

Relación opcional: los datos pueden o no estar incluidos, o sea, una o ninguna iteración.

Notación

Los analistas usan símbolos especiales con la finalidad de no usar demasiada cantidad de texto para la descripción de las relaciones entre datos y mostrar con claridad las relaciones estructurales. En algunos casos se emplean términos diferentes para describir la misma entidad (alias) estos se representan con un signo igual (=) que vincula los datos.

Page 10: Trabajo Hectyo de Sistema

Herramientas para de desarrollo de sistemas

Herramientas de cuarta generación

son un conjunto muy diverso de métodos y herramientas que tienen por objeto el de facilitar el desarrollo del software, facilitan al que desarrolla el software la propiedad de especificar algunas características del mismo a alto nivel, mas tarde, la herramienta genera automáticamente el código fuente a partir de esta especificación.

Los tipos más comunes de generadores de código cubren uno o varios de los siguientes aspectos:

1.-Acceso a base de datos: utilizando lenguajes de consulta de alto nivel.

Generadores de códigos: a partir de una especificación de los requisitos se genera automáticamente toda la aplicación

2.-Generación de pantallas: permitiendo diseñar la pantalla dibujándola directamente, incluyendo además el control del cursor y la gestión de los errores de los datos de entrada.

3.-Gestión de entornos gráficos.

4.-Generación de informes.:Como otros paradigmas, T4G comienza con el paso de recolección de requerimientos. En el mejor de los casos el cliente debería describir los requerimientos y éstos traducirse directamente a un prototipo operacional pero en general esto no es así. El cliente puede no estar seguro de lo que necesita, puede ser ambiguo en la especificación de hechos que son conocidos y puede ser incapaz o no desear especificar la información en la forma que una herramienta T4G puede construirla, además las herramientas actuales T4G no son lo suficientemente sofisticadas para acomodar realmente lenguaje natural y no lo serán por algún tiempo.

Para aplicaciones pequeñas puede ser posible ir directamente desde el paso de establecimiento de requerimientos a la implementación, sin embargo es necesaria

Page 11: Trabajo Hectyo de Sistema

una estrategia del diseño para el sistema. El uso de T4G sin diseño para grandes proyectos causará las mismas dificultades (poca calidad, pobre mantenimiento, mala aceptación por el cliente) que se encuentran cuando se desarrolla software usando los métodos convencionales.

Ventajas:

1. Permiten elaborar programas en menor tiempo, lo que conlleva a un aumento de la productividad.

2. El personal que elabora software sufre menos agotamiento, ya que generalmente requiere escribir menos.

3. El nivel de concentración que se requiere es menor, ya que algunas instrucciones, que le son dadas a las herramientas, a su vez, engloban secuencias de instrucciones a otro nivel dentro de la herramienta.

4. Cuando hay que dar mantenimiento a los programas previamente elaborados, es menos complicado por requerir menor nivel de concentración.

Desventajas:

1. Las herramientas prefabricadas generalmente son menos flexibles que los lenguaje de alto nivel.

2. Se crea dependencia de uno o varios proveedores externos, lo que se traduce en pérdida de autonomía. A menudo las herramientas prefabricadas contienen librerías de otros proveedores, que conlleva a instalar opciones adicionales que son consideradas opcionales. Los programas que se elaboran generalmente se ejecutan sólo con la herramienta que lo creó (a menos que existan acuerdos con otros proveedores).

3. A menudo no cumplen con estándares internacionales ISO ANSI. Por este motivo invertir tiempo y dinero es un riesgo a futuro, porque no se sabe a ciencia cierta cuanto tiempo permanecerá la herramienta y su fabricante en el mercado.

Los lenguajes de cuarta generación son aquellos lenguajes de programación o entornos de programación diseñados con un propósito específico, por ejemplo, el desarrollo de software comercial.

La cuarta generación de lenguajes es la continuación de la tercera generación (3GL), donde se continúa la tendencia hacia una mayor abstracción y poder en las sentencias.

A los lenguajes de programación de cuarta generación le continúan los de quinta generación (5GL).

Características generales de los 4GL

Page 12: Trabajo Hectyo de Sistema

La cuarta generación incorpora lenguajes y metodologías de más alto nivel, con lo cual, empleando sentencias simples, se generan instrucciones que, en los lenguajes 3GL, hubiesen sido más complicadas. Esto también disminuye la posibilidad de errores al programar.

La idea del avance de la programación es que el programador se concentre en la resolución del problema y no en las complicaciones inherentes al lenguaje. Los lenguajes de cuarta generación son diseñados para reducir el esfuerzo en la programación, además de los tiempos y costos del desarrollo de software: no en todos los casos logran su cometido.

Ejemplos de lenguajes 4GL

De uso general:* Clipper* Cognos PowerHouse 4GL* DataFlex* FoxPro* Lycia Querix 4GL* Omnis Studio SDK* Panther* PowerBuilder* SheerPower4GL* SQLWindows/Team Developer* Uniface* Visual DataFlex* WinDev* XBase++

Lenguajes de consulta de base de datos:* FOCUS* Genero* Informix-4GL* Lycia Querix 4GL* NATURAL* Progress 4GL* Ingres 4GL* SQL

Generadores de reportes:* BuildProfessional* LINC* NATURAL* Oracle Reports* Progress 4GL

Page 13: Trabajo Hectyo de Sistema

* Quest* RPG-II

De manipulación, análisis y reporte de datos* Ab Initio* ABAP* Aubit-4GL* CorVision* Easytrieve* FOCUS* GraphTalk* IDL* IGOR Pro* Informix-4GL* LabVIEW* MAPPER (Unisys/Sperry) ahora parte de BIS* MARK-IV (Sterling/Informatics) ahora VISION:BUILDER de CA* Mathematica* MATLAB* NATURAL* PL/SQL* Progress 4GL* PROIV* Ramis* Scilab* SAS* Synon* XBase++* SQR* Xquery 

Creadores de GUI* 4th Dimension (Software)* Omnis Studio* OpenROAD* Progress 4GL AppBuilder* XUL: puede ser usado con Xquery para crear rápidamente aplicaciones GUI de base de datos

Lenguajes de desarrollo web* ColdFusion* Wavemaker * OutSystems

HERRAMIENTAS CASES

Page 14: Trabajo Hectyo de Sistema

Son un conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información, completamente o en alguna de sus fases.

El empleo de herramientas Case permiten integrar el proceso de ciclo de vida:·                     Análisis de datos y procesos integrados mediante un repositorio.·                     Generación de interfases entre el análisis y el diseño.·                     Generación del código a partir del diseño.·                     Control de mantenimiento.

Tecnología CaseLa tecnología CASE supone la automatización del desarrollo del software, contribuyendo a mejorar la calidad y la productividad en el desarrollo de sistemas de información y se plantean los siguientes objetivos:

Permitir la aplicación práctica de metodologías estructuradas, las cuales al ser realizadas con una herramienta se consigue agilizar el trabajo.

Facilitar la realización de prototipos y el desarrollo conjunto de aplicaciones. Simplificar el mantenimiento de los programas. Mejorar y estandarizar la documentación. Aumentar la portabilidad de las aplicaciones. Facilitar la reutilización de componentes software. Permitir un desarrollo y un refinamiento visual de las aplicaciones, mediante

la utilización de gráficos.

Componentes de una herramienta caseDe una forma esquemática podemos decir que una herramienta CASE se compone de los siguientes elementos:

Repositorio (diccionario) donde se almacenan los elementos definidos o creados por la herramienta, y cuya gestión se realiza mediante el apoyo de un Sistema de Gestión de Base de Datos (SGBD) o de un sistema de gestión de ficheros.

Meta modelo (no siempre visible), que constituye el marco para la definición de las técnicas y metodologías soportadas por la herramienta.

Carga o descarga de datos, son facilidades que permiten cargar el repertorio de la herramienta CASE con datos provenientes de otros sistemas, o bien generar a partir de la propia herramienta esquemas de base de datos, programas, etc. que pueden, a su vez, alimentar otros sistemas. Este elemento proporciona así un medio de comunicación con otras herramientas.

Comprobación de errores, facilidades que permiten llevar a cabo un análisis de la exactitud, integridad y consistencia de los esquemas generados por la herramienta.

Interfaz de usuario, que constará de editores de texto y herramientas de diseño gráfico que permitan, mediante la utilización de un sistema de ventanas, iconos

Page 15: Trabajo Hectyo de Sistema

y menús, con la ayuda del ratón, definir los diagramas, matrices, etc. que incluyen las distintas metodologías.

Estructura general de una herramienta CASE

La estructura CASE se basa en la siguiente terminología : 

• CASE de alto nivel son aquellas herramientas que automatizan o apoyan las fases finales o superiores del ciclo de vida del desarrollo de sistemas como la planificación de sistemas, el análisis de sistemas y el diseño de sistemas. • CASE de bajo nivel son aquellas herramientas que automatizan o apoyan las fases finales o inferiores del ciclo de vida como el diseño detallado de sistemas, laimplantación de sistemas y el soporte de sistemas. • CASE cruzado de ciclo de vida se aplica a aquellas herramientas que apoyan actividades que tienen lugar a lo largo de todo el ciclo de vida, se incluyen actividades como la gestión de proyectos y la estimación.

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 clasificación basada en las fases del ciclo de desarrollo cubre:

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 semi-automatizan 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 sí, ni con la

anterior:

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

implementación.

MetaCASE , 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.

Page 16: Trabajo Hectyo de Sistema

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.

Ejemplos de Herramientas Case más utilizadas.

ERwin

PLATINUM ERwin es una herramienta de diseño de base de datos. Brinda productividad en diseño, generación, y

mantenimiento de aplicaciones. Desde un modelo lógico de los requerimientos de información, hasta elmodelo

físico perfeccionado para las características específicas de la base de datos diseñada, ERwin permite visualizar la

estructura, los elementos importantes, y optimizar el diseño de la base de datos. Genera automáticamente las tablas y miles

de líneas de stored procedure y triggers para los principales tipos de base de datos.

EasyCASE

EasyCASE Profesional, el centro de productos para procesos, modelamiento de datos y eventos, e Ingeniería de Base de

Datos, es un producto para la generación de esquemas de base de datos e ingeniería reversa, trabaja para proveer una

solución comprensible para el diseño, consistencia y documentación del sistema en conjunto.

Oracle Designer

Oracle Designer es un juego de herramientas para guardar las definiciones que necesita el usuario y automatizar la

construcción rápida de aplicaciones cliente/servidor flexibles y gráficas. Integrado con Oracle Developer, Oracle Designer

provee una solución para desarrollar sistemas empresariales cliente/servidor de segunda generación.

PowerDesigner

PowerDesigner es una suite de aplicaciones de Powersoft para la construcción, diseño y modelado de datos a través de

diversas

aplicaciones. Es la herramienta para el análisis, diseño inteligente y construcción sólida de una base de datos y un

desarrollo orientado a modelos de datos a nivel físico y conceptual, que dan a los desarrolladores Cliente/Servidor la más

firme base para aplicaciones de alto rendimiento.

System Architect

System Architect posee un repositorio único que integra todas las herramientas, y metodologías usadas. En la elaboración

de los diagramas, el System Architect conecta directamente al diccionario de datos, los elementos asociados,

Page 17: Trabajo Hectyo de Sistema

comentarios,reglas de validaciones, normalización, etc. Posee control automático de diagramas y datos, normalizaciones y

balanceamiento entre diagramas "Padre e Hijo", además de balanceamiento horizontal, que trabaja integrado con el

diccionario de datos, asegurando la compatibilidad entre el Modelo de Datos y el Modelo Funcional.

SNAP

SNAP es un CASE (Ingeniería de Software Asistida por el Computador) para el desarrollo de aplicaciones en Sistemas

AS/400 de IBM. Proporciona el ambiente integral de trabajo, brindando la posibilidad de construir sistemas de inmejorable

calidad, adheridos a los estándares S.A.A de IBM., totalmente documentados y ajustados a los requerimientos específicos

de la organización, en una fracción del tiempo y coste del que se invertiría, si se utilizaran herramientas tradicionales.

razones para el uso de las herramientas case

aumento en la productividad del analista visible analyst (va) es una herramienta

case que da al analista de sistemas la posibilidad de realizar planeación,

análisis y diseño por medios gráficos, con el propósito de construir aplicaciones

cliente-servidor y bases de datos complejas. esta herramienta permite modelar

los datos, procesos y objetos en diferentes formatos.

visible analyst genera información sobre el modelo en muchas formas distintas,

incluyendo cobol, c, visual basic, sql y xml. (en el sitio web de este libro

encontrará ejercicios de va parcialmente terminados para las experiencias con

hypercase y el caso de la cpu que se sigue en los capítulos de este libro.)

visible analyst permite que sus usuarios dibujen y modifiquen diagramas con

facilidad. de esta manera, el analista es más productivo tan sólo con la

reducción del tiempo considerable que se invierte en dibujar y corregir

manualmente diagramas de flujo de datos hasta que tengan una apariencia

aceptable.

un paquete de herramientas como visible analyst también mejora la

productividad de grupos al dar a los analistas la posibilidad de compartir

fácilmente el trabajo con otros miembros del equipo, quienes sólo tienen que

abrir el archivo en sus pcs y revisar o modificar lo que se haya hecho. esta

facilidad de compartir el trabajo reduce el tiempo necesario para reproducir

diagramas de flujo de datos y distribuirlos entre los miembros del equipo.

por tanto, en vez de requerir una distribución rigurosa y un calendario de

respuestas con fines de retroalimentación, un paquete de herramientas permite

Page 18: Trabajo Hectyo de Sistema

a los miembros del equipo de análisis de sistemas trabajar con los diagramas

siempre que lo necesiten.

las herramientas case también facilitan la interacción entre miembros de un

equipo al hacer que la diagramación sea un proceso iterativo y dinámico más

que uno en el cual los cambios causen molestia y se conviertan en un freno

para la productividad. en este caso la herramienta case para dibujar y grabar

diagramas de flujo de datos ofrece un registro de la evolución de las ideas del

equipo en lo concerniente a los flujos de datos.

mejora de la comunicación analista-usuario para que el sistema propuesto se

concrete y sea útil en la práctica, es esencial una excelente comunicación entre

analistas y usuarios durante todo el ciclo de vida del desarrollo de sistemas. el

éxito de la futura implementación del sistema depende de la capacidad de

analistas y usuarios para comunicarse de una manera eficiente. hasta el

momento, de las experiencias de analistas que utilizan herramientas case se

desprende que su uso fomenta una mayor y más eficiente comunicación

entre usuarios y analistas.

analistas y usuarios por igual informan que las herramientas case ponen a su

alcance un medio para comunicar aspectos del sistema durante su

conceptualización. a través de apoyo automatizado que incluye salida en

pantalla, los clientes pueden apreciar de inmediato cómo están representados

los flujos de datos y otros conceptos del sistema, y pueden solicitar

correcciones o cambios que hubieran tomado demasiado tiempo con

herramientas anteriores.

integración de las actividades del ciclo de vida la tercera razón para el uso de

las herramientas case es integrar las actividades y proporcionar continuidad de

una fase a la siguiente durante todo el ciclo de vida del desarrollo de sistemas.

las herramientas case son especialmente útiles cuando una fase en particular

del ciclo de vida requiere varias iteraciones de retroalimentación y

modificaciones. recuerde que la intervención de los usuarios puede ser

importante en cada una de las fases. la integración de actividades mediante el

uso subyacente de tecnologías facilita a los usuarios la comprensión

Page 19: Trabajo Hectyo de Sistema

de la manera en que se relacionan y dependen entre sí todas las fases del

ciclo de vida.

evaluar de manera precisa los cambios en el mantenimiento la cuarta, y

probablemente una de las razones más importantes para el uso de

herramientas case, es que permiten a los usuarios analizar y evaluar el

impacto de los cambios en el mantenimiento. por ejemplo, el tamaño de un

elemento como un número de cliente podría requerir alargarse. la herramienta

case pueden generar referencias cruzadas de cada pantalla, informe y archivo

en el cual sea utilizado el elemento, dando lugar a un plan de mantenimiento

integral.

Leer más: http://www.monografias.com/trabajos14/herramicase/herramicase.shtml#ixzz2W6kyW5uR

Leer más: http://www.monografias.com/trabajos14/herramicase/herramicase.shtml#ixzz2W6kqNGbF

Leer más: http://www.monografias.com/trabajos14/herramicase/herramicase.shtml#ixzz2W6ke8srD

http://www.um.es/docencia/barzana/IAGP/Enlaces/CASE_principales.html

http://docente.ucol.mx/al961223/public_html/centro6.htm

Apoyan el proceso de formular las características que el sistema debe tener para satisfacer los requerimientos detectados durante las actividades del análisis:

Herramientas de especificación

Apoyan el proceso de formular las características que debe tener una aplicación, tales como entradas, Salidas, procesamiento y especificaciones de control. Muchas incluyen herramientas para crear especificaciones de datos.

Herramientas para presentación

Se utilizan para describir la posición de datos, mensajes y encabezados sobre las pantallas de las terminales, reportes y otros medios de entrada y salida.

Page 20: Trabajo Hectyo de Sistema

Herramientas para el desarrollo de Sistemas

Estas herramientas nos ayudan como analistas a trasladar diseños en aplicaciones funcionales.

Herramientas para Ingeniería de Software

Apoyan el Proceso de formular diseños de Software, incluyendo procedimientos y controles, así como la documentación correspondiente.

Generadores de códigos

Producen el código fuente y las aplicaciones a partir de especificaciones funcionales bien articuladas.

Herramientas para pruebas

Apoyan la fase de la evaluación de un Sistema o de partes del mismo contra las especificaciones. Incluyen facilidades para examinar la correcta operación del Sistema así como el grado de perfección alcanzado en comparación con las expectativas.

La revolución del procesamiento de datos de manera computarizada, junto con las prácticas de Diseño sofisticadas está cambiando de forma dramática la manera en que se trasladan las especificaciones de Diseño d Sistemas de Información funcionales.

http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/