Herramientas para el Diseño de Sistemas

Anuncio
Herramientas para el Diseño de Sistemas
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 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 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 diseño
Apoyan el proceso de formular las características que el sistema debe tener para satisfacer los
requerimientos deseados durante las actividades de análisis. Incluye:
- Herramienta de especificación: apoyan el proceso de formular las características, como por
ejemplo deben tener una aplicación como entradas, salidas, procesamientos específicos de control.
- Herramienta para presentación: se utilizan para describir la posición de datos, mensajes, y
encabezados sobre las pantallas de las terminales, informes y otros medios de entradas y salidas.
Los analistas utilizan las herramientas para el diseño de sistemas desde el inicio de la era de las
computadoras. Ahora a las herramientas se le están dando un nuevo significado en el diseño de
software.
http://www.monografias.com/trabajos5/inso/inso2.shtml
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.monografias.com/trabajos5/andi/andi.shtml#herra
Herramientas de diseño
Visual Studio .NET 2003
Para obtener el máximo beneficio de Visual Studio .NET, debería familiarizarse con las herramientas
de diseño y características que proporcionan modelado de procesos, orientación sobre la
arquitectura y desarrollo rápido de bases de datos e informes.
Las secciones siguientes presentan las distintas herramientas que puede utilizar para diseñar una
aplicación empresarial.
Modelar con Visio
Mientras diseña y genera la aplicación, existen distintas formas de utilizar Microsoft Visio para
arquitectos empresariales. Por ejemplo, puede hacer ingeniería inversa del código de Visual Studio
en Visual Basic, Visual C++ o Visual C# para crear un diagrama UML y después refinar el modelo
utilizando la herramienta de modelado.
Para obtener más información
en el CD-ROM de Microsoft
ejecutándose para poder ver
instalación de Visual Studio
arquitectos empresariales.
sobre Visio para arquitectos empresariales, vea la ayuda en pantalla
Visio para arquitectos empresariales. Visio debe estar activo y
la ayuda en pantalla de la solución UML de Visio. Al final de la
.NET Enterprise Architect tiene la opción de instalar Visio para
Para obtener más información sobre modelado y UML, vea Modelar la aplicación y los datos.
Utilizar Visual Database Tools
Visual Database Tools le ayuda a crear objetos de base de datos como tablas, columnas, claves,
índices, relaciones y restricciones. Puede conectarse rápidamente a bases de datos existentes (o
crear bases de datos nuevas), crear nuevas tablas (o modificar tablas existentes) y crear, ejecutar y
guardar consultas complejas. Cuando ejecuta una consulta, los cambios se propagan por la base de
datos. También puede crear vistas, disparadores, procedimientos almacenados y funciones. Para
obtener más información, vea Visual Database Tools y Ediciones de Visual Database Tools.
Diseñar con asistentes
Los asistentes son herramientas de automatización que le proporcionan una guía para
completar rápidamente tareas frecuentes y probablemente complejas. Cuando utiliza un asistente
de Visual Studio, está diseñando una aplicación. Cada opción de asistente que selecciona afecta al
código del proyecto o a los valores de configuración.
Visual Studio .NET proporciona varios asistentes para crear una variedad de proyectos que
controlan determinadas situaciones de código. Por ejemplo, existen asistentes de C# para agregar
proyectos, clases, métodos, propiedades, campos e indizadores y para codificar distintas interfaces.
Visual Basic utiliza los asistentes para aplicaciones para crear proyectos de inicio. SQL Server
proporciona varios asistentes para analizar datos, administrar réplicas, asignar características y
crear entidades y relaciones. .NET Framework también ofrece asistentes para administrar
ensamblados y configurar usuarios, equipos y configuraciones de seguridad empresariales.
Básicamente, un asistente es una hoja de propiedades secuenciales y de varias páginas.
Cada página de un asistente le ayuda a establecer opciones, a configurar valores, a personalizar
proyectos, a definir tareas secuenciales e incluso a automatizar el proceso de generación e
implementación del proyecto. Con Visual Studio, puede crear un asistente personalizado para
ayudar a otros programadores a simplificar el proceso de codificación.
Si está utilizando un asistente existente para simplificar una tarea de codificación o está
creando uno nuevo para controlar problemas de personalización periódica, observará que es más
rápido y coherente diseñar con asistentes. Para obtener más información, vea Crear un asistente y
Crear complementos y asistentes.
Utilizar ejemplos para diseñar ideas
Las aplicaciones de ejemplo le proporcionan una gran cantidad de ideas de diseño para su
nueva aplicación. Visual Studio .NET contiene distintos tipos de ejemplos, incluyendo ejemplos
tecnológicos y empresariales.
En los ejemplos tecnológicos se muestra cómo utilizar distintas tecnologías en .NET
Framework. Son ejemplos de tamaño reducido y normalmente se limitan a explicar una única
tecnología. Por ejemplo, en el ejemplo de Configuración se muestra cómo utilizar el espacio de
nombres System.Management, en el de Permisos se explica una implementación de acceso de
seguridad y en el de Subprocesos se describen distintas formas de utilizar subprocesos en .NET
Framework.
En los ejemplos empresariales se muestran aplicaciones distribuidas a gran escala que
describen ideas de arquitectura de aplicaciones importantes. Los ejemplos empresariales están
creados como aplicaciones del mundo real, con un buen diseño relativo a disponibilidad,
confiabilidad, escalabilidad y alto rendimiento. Los ejemplos empresariales también tratan
cuestiones comunes del ciclo de vida del desarrollo de software como implementación,
administración y mantenimiento a largo plazo. Para obtener más información, vea Ejemplos
empresariales y Ejemplos tecnológicos.
Significado sigla CASE
Computer
Aided Assisted Automated
Software Systems
Engineering
¿Qué son las Herramientas CASE?
Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que
dan asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del
Ciclo de Vida de desarrollo de un Software ( Investigación Preliminar, Análisis, Diseño,
Implementación e Instalación.).
CASE es también definido como el Conjunto de métodos, utilidades y técnicas que facilitan
el mejoramiento del ciclo de vida del desarrollo de sistemas de información, completamente o en
alguna de sus fases.
Se puede ver al CASE como la unión de las herramientas automáticas de software y las
metodologías de desarrollo de software formales.
Existe también el CASE integrado que fue comenzando a tener un impacto muy Significativo
en los negocios y sistemas de información de las organizaciones, además con este CASE integrado
las compañías pueden desarrollar rápidamente sistemas de mejor calidad para soportar procesos
críticos del negocio y asistir en el desarrollo y promoción intensiva de la información de productos y
servicios.
Ejemplos de Herramientas Case más utilizadas.
ERwin:
PLATINUM ERwin es una herramienta para el diseño de base de datos, que Brinda
productividad en su diseño, generación, y mantenimiento de aplicaciones. Desde un modelo lógico
de los requerimientos de información, hasta el modelo físico perfeccionado para las características
específicas de la base de datos diseñada, además 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.
ERwin hace fácil el diseño de una base de datos. Los diseñadores de bases de datos sólo
apuntan y pulsan un botón para crear un gráfico del modelo E-R (Entidad _ relación) de todos sus
requerimientos de datos y capturar las reglas de negocio en un modelo lógico, mostrando todas las
entidades, atributos, relaciones, y llaves importantes.
La migración automática garantiza la integridad referencial de la base de datos. ERwin
establece una conexión entre una base de datos diseñada y una base de datos, permitiendo
transferencia entre ambas y la aplicación de ingeniería reversa. Usando esta conexión, ERwin
genera automáticamente tablas, vistas, índices, reglas de integridad referencial (llaves primarias,
llaves foráneas), valores por defecto y restricciones de campos y dominios.
ERwin soporta principalmente bases de datos relacionales SQL y bases de datos que incluyen
Oracle, Microsoft SQL Server, Sybase. El mismo modelo puede ser usado para generar múltiples
bases de datos, o convertir una aplicación de una plataforma de base de datos a otra.
Software para Aplicaciones Compatibles:
* NetDynamics
* PowerBuilder
* PROGRESS
* Visual Basic
Bases de Datos Compatibles:
* CA-Clipper * CA-OpenIngres
* DB2 for MVS * DB2 for OS/390,
* DB2 UDB * dBASE
* FoxPro * HiRDB,
* Informix * InterBase,
* Microsoft Access * Microsoft SQL Server,
* Oracle * Paradox,
* Rdb * red Brick Warehouse,
* SAS * SQL Anywhere,
* SQLBase * Sybase,
* Teradata
Sistemas Operativos Compatibles:
* Windows NT
* Windows 95
* Windows 98
Oracle Designer:
Oracle Designer es un conjunto de herramientas para guardar las definiciones que necesita el
usuario y automatizar la construcción rápida de aplicaciones cliente/servidor gráficas. Integrado con
Oracle Developer, Oracle Designer, que provee una solución para desarrollar sistemas
empresariales de segunda generación.
Todos los datos ingresados por cualquier herramienta de Oracle Designer, en cualquier fase de
desarrollo, se guardan en un repositorio central, habilitando el trabajo fácil del equipo y la dirección
del proyecto.
En el lado del Servidor, Oracle Designer soporta la definición, generación y captura de diseño de los
siguientes tipos de bases de datos, por conexión de Oracle:
 Oracle8, Oracle7
 Personal Oracle Lite
 Rdb
 ANSI 92
 DB2/2 and MVS
 Microsoft SQL Server
 Sybase
Tipos de herramientas
En este apartado tienen cabida un amplio abanico de herramientas dentro de las cuáles se
pueden citar las siguientes:
Herramientas de gestión de proyectos. Facilitan la labor de planificación y seguimiento
de tareas y recursos, para conseguir que el proyecto logre sus objetivos en plazo y presupuesto.
Herramientas de gestión de la configuración. Identifican y definen los elementos de
un sistema, controlan los cambios y las versiones de dichos elementos.
Herramientas de ayuda en las pruebas. Facilitan la tarea de probar el equipo lógico
desarrollado, para asegurar que cumple las especificaciones del diseño.
Herramientas de control de calidad. Dentro de este apartado podrían englobarse la
gran mayoría de las herramientas citadas aquí, ya que de una u otra forma todas van dirigidas a
una mejora de la calidad de las aplicaciones. No obstante, se hace referencia bajo esta
denominación a las herramientas que se centran en la fase de análisis, diseño y construcción.
Herramientas de revamping. Sirven para "maquillar" una aplicación existente en modo
carácter, mediante una interfase gráfica de usuario sobre PC.
Componentes y funcionalidades de otras herramientas
Se describen en este capítulo las funcionalidades más importantes de otras herramientas de
ayuda al desarrollo.
Gestión de proyectos
Las principales funcionalidades de un gestor de proyectos son:











Posibilidad de parametrización o personalización de las opciones de utilización del
programa (opciones de cálculo, selección de datos a visualizar, etc.).
Presentación de diferentes vistas del proyecto (por tareas, por recursos, por
fechas...).
Definición de calendario a nivel de proyecto y de recurso.
Establecimiento de diferentes relaciones entre tareas (final- inicio, final-final, inicioinicio).
Facilidades gráficas para la planificación (diagrama de GANTT, diagrama de PERT).
Resolución de conflictos de los recursos.
Facilidades para la impresión de programas de trabajo.
Posibilidad de desarrollar macros.
Conexión entre varios proyectos.
Facilidades de importación / exportación.
Facilidad de comunicación con otras herramientas (hojas de cálculo, aplicaciones
gráficas, correo electrónico, etc.).
Gestión de la Configuración
Las principales funcionalidades de una herramienta de gestión de la configuración son:





Identificación de cada uno de los elementos de la aplicación: número de versión e
información de carácter general.
Soporte para jerarquías de elementos.
Control de versiones. Utilización de técnicas de bloqueo de objetos o código para
evitar actualizaciones simultáneas por varios desarrolladores.
Definición de las configuraciones. Criterio que se sigue para seleccionar elementos de
una versión.
Posibilidad de recuperación de versiones anteriores de determinados objetos o partes
del código.
Herramientas de ayuda en las pruebas
Los principales componentes de una herramienta de ayuda a las pruebas y sus funcionalidades son:


Utilidades de datos. Describen las características de los datos implicados en la
prueba del software.
Simuladores. Permiten representar partes del sistema no desarrollado todavía o
simular la interacción del mismo con otros sistemas o con el usuario final.



Trazadores. Permiten seguir paso a paso el funcionamiento de un determinado
proceso e introducir paradas dentro de la ejecución para analizar el contenido de
variables.
Sistemas de captura y repetición. Permiten capturar datos para utilizarlos como
entrada de un proceso, interceptar el flujo de ejecución de un programa, retener una
secuencia de acciones desde el teclado o ratón y repetirlos posteriormente.
Comparadores de datos. Sirven para comparar los resultados esperados de la
prueba con los obtenidos.
Estos componentes o módulos pueden formar parte de una misma herramienta de ayuda, las
pruebas, o pueden ser herramientas independientes entre sí.
Herramientas de control de calidad
Los componentes de una herramienta de control de calidad y sus
funcionalidades son las siguientes:
Comprobadores de requisitos. Chequean las
sentencias de los requisitos para verificar que no existe ambigüedad,
inconsistencia o falta de integridad. Estas herramientas sólo
comprueban sobre los requisitos incluidos en la documentación, lo que
no hacen es informar que falta algún requisito importante.

Generadores de condiciones de prueba basados en
las especifica-ciones del diseño. Generan las condiciones por
métodos aleatorios, algorítmicos y/o heurísticos. El método aleatorio
utiliza procedimientos de muestreo estadístico para elegir las
condiciones. El método algorítmico se basa en técnicas de análisis de
causa-efecto y análisis de enlaces. El método heurístico se construye
sobre experiencias previas con errores de aplicaciones.

Trazadores de requisitos a probar. Desarrollan una
traza (log) para un requisito en particular.

Generadores de resultados esperados. Ejecutan las
condiciones de prueba por primera vez. Las salidas obtenidas son
juzgadas por la herramienta como correctas o erróneas y según ésto,
son utilizadas como resultados esperados.

Generadores de métricas. Analizan el código existente
y obtienen métricas sobre el flujo de datos, el control del flujo, la
estructura de datos, la estructura del proceso, el número de líneas de
código, etc.

Verificadores de código. Son analizadores de código a
la búsqueda de variables no inicializadas, índices fuera de rango,
seguimiento de estándares, etc.

Estos módulos pueden formar parte de una misma herramienta
de control de calidad o pueden ser herramientas independientes entre
sí.
Bibliotecas de clases de objetos
La función de estas bibliotecas es obtener de ellas objetos,
módulos o partes del código que se puedan implantar directamente, o
con leves modificaciones, en la aplicación en desarrollo.
Las bibliotecas de clases suelen ser específicas de un
determinado lenguaje, sin embargo, se tiende a eliminar esta
limitación, mediante la creación de bibliotecas siguiendo unas
determinadas especificaciones (Ejemplo: System Object Model - SOM).
Hay bibliotecas de clases que se han diseñado para:






La creación de interfases gráficas de usuario (IGU).
El acceso a bases de datos.
La integración de funcionalidades multimedia.
El tratamiento de documentos.
El intercambio electrónico de datos.
El desarrollo de aplicaciones científicas, matemáticas o de
ingeniería.
Herramientas de revamping
Las principales características de estas herramientas son:
Soporte de un determinado estándar de comunicaciones con
el ordenador central (host) a través de terminales.

Creación, más o menos automática, de las interfases gráficas
de usuario correspondientes a las pantallas host, así como la
navegación entre las mismas.

Validación de la entrada de datos en la ventana gráfica.

Modelo de N Capas
El proceso de los datos se divide en capas, cada capa representa una parte de dicho proceso, por
ejemplo una capa puede ser la interfaz con el usuario, otra capa puede ser las comunicaciones y
otra capa puede ser el proceso de las bases de datos. La identificación y separación en capas,
permite agrupar equipamiento obteniendo el máximo provecho del mismo, facilita establecer
normas, da flexibilidad de crecimiento tecnológico, ayuda a la confección del capacity planning, etc.
Tener una o muchas capas no conviene, hay que buscar el punto de equilibrio, desagregando las
funciones del proceso de datos en las capas definidas. Tiene relación con la plataforma en que se
aplicará.
Ventajas:
-Desagregación de funciones
-Mas todas las ya mencionadas
Desventajas:
-Preparación para ello
-Costo de ordenamiento inicial
Herramientas CASE
Introducción
CASE, o Computer-Aided Software Engineering es un termino que ha estado por décadas. Este
puede ser generalmente aplicado a cualquier sistema o colección de herramientas que ayuda a
automatizar el proceso de diseño y desarrollo de software. Compiladores, editores estructurados,
sistemas de control de código fuente, y herramientas de modelado son todas, estrictamente
hablando herramientas CASE. Ellas impiden a los programadores tratar tan directamente con el
hardware y les permiten trabajar en un alto nivel de abstracción en la definición de un sistema de
software que entonces será construido.
Sistemas CASE
Hay generalmente tres tipos de sistemas CASE: Herramientas de Diseño, Ambientes de
Construcción e Híbridos. Algunas de estas herramientas vienen por default en ambientes UNIX,
como aquellas herramientas y utilidades que sirven para editar y compilar software.
Este tipo de herramientas (make, cvs/rcs, gcc, Text/groff) que vienen con UNIX son herramientas
de desarrollo base, pero los sistemas CASE generalmente no se enfocan en el
codificado/escritura/compilado, en vez de esto se encargan del proceso de diseño, refinamiento,
documentación, construcción y administración de versiones necesarias para desarrollar y
administrar un sistema o paquete de software. En un ambiente de un gran equipo o un gran
paquete donde usted puede tener cinco versiones de este paquete en varios estados de desarrollo
y/o desplegándose en cinco arquitecturas de hardware diferentes, suportando de tres a cuatro
versiones de sistemas operativos, los procesos de trabajo son complejos.
Herramientas de diseño CASE auxilian grandes equipos de ingenieros en la especificación de
sistemas de software y ayudan a automatizar la escritura de arquitecturas, documentación, y
además integrar automáticamente esas piezas generadas en el IDE del desarrollador
Muchas herramientas CASE utilizan el Lenguaje de Modelado Unificado (UML) desarrollador por
Grady Booch, Jim Rumbaugh, e Ivar Jacobsen. Su compañia, Rational Software es una de la más
conocidas en sistemas CASE. La disponibilidad de UML ha revolucionado la habilidad de los
ingenieros de software para crear especificaciones de sistemas que pueden ser relativamente fácil
de traducir en código mantenible y que funcione.
Hay herramientas CASE para casi todo tipo de especialización que uno puede pensar, de diseño de
base de datos a data warehousing, de generación de documentación a desarrollo de sistemas
embedidos como teléfonos celulares.
Herramientas de construcción auxilian equipos grandes en la construcción y administración de
liberación de paquetes de software.
Herramientas híbridas son un nuevo fenómeno, aplicación Servicios Web para crear un sistema
distribuido que puede manejar múltiples estilos de desarrollo y la flexibilidad de agregar nuevas
herramientas y servicios sin mucho trabajo. Buenos ejemplos incluyen Sourceforge, Collab.NET, y
todas sus variantes.
Ejemplos de Herramientas CASE
Herramientas Abiertas



Umbrello
ArgoUML
Gaphor
Herramientas Comerciales/Cerradas





Rational Rose
Together
System Architect
Visual Paradigm
Poseidon
http://www.monouml.org/docs/formal/spanish/x176.html
Descargar