trabajo hectyo de sistema
TRANSCRIPT
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.
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.
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
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)
(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.
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
- 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
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:
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.
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
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
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
* 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
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
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.
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,
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
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
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.
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/