Categories: All - taxonomía - herramientas - estandarización - reutilización

by Odette Olds 8 years ago

3620

Herramientas Case

Las herramientas automatizadas y CASE se destacan por su capacidad de estandarización y portabilidad, permitiendo una mayor interoperabilidad y compatibilidad en distintos entornos de hardware y software.

Herramientas Case

ROMERO MONTAÑO DIANA SAMANTHA HERRAMIENTAS AUTOMATIZADAS SECUENCIA: 2NM50

*Deben tener una interfaz sencilla. *Por lo menos una persona del equipo debe saber utilizarla. *Para en verdad disminuir el trabajo debe invertirse tiempo previo al proyecto para saber utilizarla. *Debe poderse aprender rápidamente. *Es deseable que sea portable. * Debe ser flexible para adaptarse a cualquier problema o situación. *Ser consistente, es decir, manejar el control de versiones. *Multiusuario. *Segura. *Control de Errores. *Portagráfico. *Facilidad al hacer diferentes pruebas.

PROCESO UNIFICADO

PRODUCTOS DE TRABAJO

*Incremento de software integrado. *Reporte de las pruebas beta. *Retroalimentación general del usuario.
*Modelo del diseño. *Componentes del software. *Incremento integrado del software. *Plan y procedimiento de pruebas. *Casos de pruebas. *Documentación del soporte (manuales de usuario, manuales de instalación, descripción del incremento actual).
*Modelo de caso de uso. *Requisitos suplementarios. *Modelo de análisis. *Descripción de la arquitectura de software. *Prototipo arquitectónico ejecutable. *Modelo de diseño preliminar. *Lista revisada de riesgos. *Plan de proyecto (plan de iteración, flujos de trabajo, productos técnicos, fundamentos, manuales).
*Documentación de la visión. *Modelo inicial de caso de uso. *Glosario inicial del proyecto. *Caso inicial del negocio. *Evaluación inicial del riesgo. *Modelo del negocio si es necesario. *Plan del proyecto, fases e iteraciones.

FASES

Transición
Abarca las últimas etapas de la actividad genérica de construcción y la primera parte de despliegue. El software se entrega a los usuarios finales para realizar pruebas beta y la retroalimentación del usuario reporta tantos defectos como cambios necesarios.
Producción
Coincide con la actividad de despliegue. Durante esta fase se monitorea el uso subsiguiente del software, se proporciona el soporte para el ambiente operativo y se reciben y evalúan los informes de defectos y los requerimientos de cambios.
Construcción
Desarrolla o adquiere los componentes del software que harán que cada caso de uso sea operativo para los usuarios finales. También se realizan las actividades de integración (ensamble de componentes y pruebas de integración).
Elaboración
Abarca la comunicación con el cliente y las actividades de modelado del modelo genérico del proceso. Incluye cinco versiones diferentes de software: modelo caso de uso, modelo de análisis, modelo de diseño, modelo de implementación y modelo de despliegue.
Inicio
Abarca la comunicación con el cliente, y las actividades de planeación. Se identifican los requisitos del negocio para el software, se propone una arquitectura aproximada para el sistema, y se desarrolla un plan, para la naturaleza iterativa e incremental del software.

Reúne los mejores rasgos y las características de modelos de procesos de software. Buscando eficiencia y rápidez.

Reconoce la importancia de la comunicación con el cliente y los métodos a describir el sistema en punto de vista del cliente.
Enfatiza el importante papel de la arquitectura de software, ayudando al arquitecto a enfocarse a los cambios futuros y a la reutilización.

Sugiere un flujo de proceso iterativo e incremental y que proprciona el sentido evolutivo esencial en el desarrollo de software moderno.

HERRAMIENTAS CASE

HERRAMIENTAS AUTOMATIZADAS

Son herramientas que ayudan en el proceso del desarrollo de un sistema de software, desde el inicio de dicho proceso hasta el final del mismo, estas herramientas están destinadas a aumentar la productividad y disminuir los costos del desarrollo, en pocas palabras ayudan a disminuir tiempo y dinero en el desarrollo de un sistema de software.

EJEMPLOS

Modelio
Poseidon
ArgoUML
Visual Paradigm for UML
Microsoft Project

TAXONOMÍA

Métricas y Administración de Herramientas
Productividad/Calidad

Métricas: Se basan en nivel de calidad de desarrollo. Interviene en la planeación, diseño y análisis, se usan en todo el ciclo de vida del sistema. Pruebas: Son las más importantes ya que integro todo lo de mi sistema.

Rastreo de Requerimientos -BD -status
-BD-Status

Levantamiento de requerimientos, sin definirlos. Establecer necesidades del cliente, identificarlas si es posible hacerlas o se sale de lo que pide. Se marcan status o interacciones, de como se van ejecutando los requerimientos.

Análisis de Riesgos
Construcción de Tablas de Riesgos

Detalle

Determinar la probabilidad de que este riesgo suceda.

Identficación

Visualizar riesgos, el tipo de riesgo. Tratar lo de alto y bajo riesgo.

Que tipo de riesgo se está tratando, en que consiste y su nivel de impacto.

Planeación del Proyecto
Proyectar Programación

Proyección que se hace en base al costo-beneficio. Hace estimación del tiempo, por cada actividad.

Estimación costo-beneficio

Lo que se va a gastar, debe ser justificable respecto a un beneficio.

Modelado y Administración del Proceso
Definición de Actividades

Funciones de cada uno de los elementos, actividades que lleva cada uno.

Vinculación entre herramientas

Relaciones del Sistema.

Elementos Clave

Es único e irrepetible. Elemento único del sistema, que me permite relacionarme con los demás, es decir, hace relaciones o vínculos con otros objetos.

Ingeniería del Proceso
Flujo

Dirección que llevan mis objetos según sus relaciones. Dirección que se debe recorrer en cada uno de los casos.

Relaciones

Como interactúan los objetos, pueden ser de uno a uno, uno a muchos, muchos a muchos. Pueden ser de asociación, generalización e inclusión.

Cualquier ente susceptible a ser modificado por el sistema. Tiene características y atributos. Variables a controlar y que tiene relaciones.

BD
Marco de Trabajo

Se refiere al ambiente o contexto donde se va a trabajar. Y el software que se desarrollo donde se encuentre debe de funcionar de manera eficiente.

Reingeniería

Tomar los procesos existentes y ver si son susceptibles a modificarlos. Cuando se modifican, inician desde cero y funciona de manera diferente.

Prototipos y Herramientas de Simulación

Prototipos: Primeras versiones (alfa,beta) hasta llegar a la versión a utilizar. Herramientas: Pruebas de lógica para ver si funciona correctamente.

Integración y Pruebas

Conforman la integridad total del proyecto, las partes a integrar y que estén actualizadas. Pruebas: tiene que estar en función de la calidad del software, hacen registros y portabilidad.

Programación

Cronogramas, administrativo, tareas, tiempos, y que se debe hacer para que el sistema funcione de manera lógica.

Análisis de Diseño

Elaboración de todas las alternativas posibles. Evaluar las alternativas que más convengan. Estas adaptaciones y modificaciones van alterar el diseño.

Soporte

Mantener la información actualizada. Me permite regresar y completar alguna actividad anterior que no se había concluido, en la etapa que sea.

Administración del Proyecto

Tiempos, costos, contratos, responsables. Requiere de la BD para manejar responsivas y los miembros puedan ver que se va a realizar. Se anotan todas las características de la Administración.

Planeación del Sistema

Características del Negocio,requerimientos del cliente. Esto se registra en una BD, para tener un control y cualquier equipo pueda acceder a ello.

CASE BAJAS

Arquitectura de Desarrollo
Establece la línea de comunicación desde hardware hasta software y viceversa. Se contempla la arquitectura a manejar así como sus componentes (memorias, lenguajes, drivers, paquetes, etc.).
Plataformas de Hardware
Sobre que tipo de hardware va a ser funcional mi sistema, debe ser ligero y con instrucciones simples. Está ligada con los servicios de portabilidad.
Servicios de Operación
Cada acción que se hace es una operación, por lo que estos servicios proveen la calidad del sistema, no pueden ser repetitivos y deben dar lo máximo.
Servicios de Portabilidad
Interacción con diferentes herramientas, tanto para software y hardware.
Marco de Trabajo Integrado
Especifica el contexto o el ambiente donde se está desarrollando. Al final se deben integrar estos marcos de trabajo.
Herramientas
Con lo que se va a trabajar, requerimientos de formato estándar. Son bloques de desarrollo.

CASE ALTAS

Actividad de ciclo de vida de ingeniería de software en la que los requerimientos de software son analizados para causar una descripción de la estructura interna del software que servirá como base para su construcción.
Planeación
Traducción de los requerimientos, división de trabajo.
Especificaciones
Es una descripción abstracta del diseño del software, agrega a detalle la especificación de requerimientos del usuario.
Requerimientos
Son declaraciones en lenguaje natural y en diagramas de los servicios que se espera que el sistema provea y de las restricciones bajo las cuales debe operar.

PREREQUISITOS

Conocer las Herramientas
En el equipo de trabajo, debe haber un especialista por cada herramienta que se ocupará.
Organización
Cada una de las herramientas seleccionadas, deben llevar un orden de trabajo, cual va ir primero y sacar aquellas que no se ocuparán.
Colección de Requisitos
Elección de herramientas con las cual se desarrollará el software. Esta debe ser fácil de usar, compatible entre sí y se debe acordar su uso.

DESVENTAJAS

*Confiabilidad en los métodos estructurados. *Falta de niveles estándar para el soporte de la metodología. *Conflictos en el uso de los diagramas. *Diagramas no utilizados. *Función limitada. *Costo de adquisición.

VENTAJAS

*Mejora en la productividad. *Mejora en la eficacia. *Mejora en la calidad del sistema de información. *Disminución de tiempo. *Automatización de tareas tediosas *Garantizar la consistencia de los procedimientos. *Verificar el uso de todos los elementos en el sistema diseñado. * Automatizar el dibujo de diagramas. *Ayudar en la documentación del sistema. *Ayudar en la creación de relaciones en la Base de Datos. *Generar estructuras de código.

ELEMENTOS

Facilidad de Comprobación
Facilidades que permiten llevar a cabo un análisis de la exactitud, integridad y consistencia de los esquemas generados por la herramienta.
Herramientas de Carga y 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.
Metamodelo
Constituye el marco para la definición de las técnicas y metodologías soportadas por la herramienta.
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.
Generador de Informes
El módulo generador de la documentación se alimenta del repositorio para transcribir las especificaciones allí contenidas.
Interfaz de Usuario
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.

CARACTERÍSTICAS

CLASIFICACIÒN

 Herramientas de diagramación.  Depósitos de información.  Generadores de interfaces.  Generadores de código.  Herramientas de administración.

ESTRUCTURA O TIPOS

Medio o Cruzado
Contempla todas las actividades del ciclo de vida de un sistema.
Bajo Nivel
Contempla las actividades finales.

Implementación o Pruebas

HERRAMIENTAS

Herramientas de Reingeniería en Línea.

Modificación del SMBD en línea.

SMBD: Modifica los procesos que contiene y la comunicación entre cliente/servidor.

ONLINE: Estas modificaciones implican que sean entre cliente/servidor.

Herramientas de Análisis y Reestructuración del Código.

Su función es hacer que el código sea más entendible ante el usuario y el programador.

Estructura

Es la base para el desarrollo. Si esta se modifica, debe cambiar todo aquello que se involucre en dicho desarrollo.

Gráfica de Control de Flujo

Nos muestra en donde se realizan las modificaciones de los procesos, y las relaciones de entrada y salida.

Sintáxis

Usa API (Aplication Programming Interface). Conjunto de reglas (código) y especificaciones que las aplicaciones pueden seguir para comunicarse entre ellas. Regula la sintaxis, extiende más la interfaz.

Herramientas de Reingeniería

Análisis y Diseño del Código Fuente

Consiste en tirar un proceso que no sirva, e iniciarlo desde cero. Esta modificación del diseño del código, debe realizar una acción diferente a la que hacía antes de ser modificado.

Herramientas para Pruebas Cliente/Servidor

Comunicación Redes GUI

La GUI de administración de redes permite ver y supervisar el estado de la red desde el escritorio, además de interactuar con perfiles de red reactivos para gestionar la configuración de redes Ethernet e inalámbricas. Esta comunicación de hace mediante una interfaz de línea de comandos (CLI) de las redes.

Herramientas para la Administración de Pruebas

Compara salidas actuales con las salidas esperadas.

Entrega de reportes, estas herramientas miden que se haga la administración de dichas pruebas y reciben resultados.

Herramientas de Análisis Dinámico

Modificación intrusiva del código para insertar pruebas.

Modificación Intrusiva

No se puede predecir en que momento interrumpir el sistema para su modificación. No se sabe a quien va afectar ni cuanto durarán las pruebas, solo puede hacer aproximaciones. Tanto el usuario como el sistema no pueden delimitar estas interrupciones.

Separación de Procesos de Hardware con los del Sistema

Ejecución en Flujo

Convergencia

Herramientas Análisis estático

Requerimientos Base

Son los requerimientos mínimos para que pueda funcionar el sistema.

Especialización del Lenguaje

Nivel de detalle en el que se codifica un lenguaje que solo entenderá el sistema. Se especifica todo los diferentes casos que pueden ocurrir.

Pruebas de Código Base

Aquella base de desarrollo que me sirve para hacer versátil a otros códigos.

Herramientas de Integración y Testeo

Su función que todos los componentes se encuentren entrelazados entre sí. Y garantizar un estándar de calidad que siempre me entregue los mismos resultados.

Funciones Cruzadas

Poner a prueba todos los componentes de mi sistema.

Simulación

Se prueban las funciones, a través de modelos de prototipos.

Métricas Dinámicas

Capacidad constante, uso variable en los recursos del sistema.

Métricas Estáticas

Capacidad establecida en la cantidad de datos que manejo.

Adquisición de Datos

Se refiere a poder captar señales del mundo real, es decir, analógicas, y transformarlas a digital.

Herramientas para Desarrollo Web

Applet

Funciona en Java, en los servlets, es una aplicación cortada, es decir, solo tiene aquella parte que sirve como cliente. La otra parte la tiene el servlet que la usa como servidor.

Scripts

Mandatos de usuario. El usuario lo llama mediante una acción directa y hace que funcione.

Multimedia.

Formas

Formularios. Se representan dentro de los frames.

Texto

Información que contiene la página web.

Herramientas de Programación

Variedad de lenguajes que podemos usar.

Lenguajes

Lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por equipos de cómputo.

Query's

Consultas a BD.

Generadores

Hacer algo en la interfaz y genera código.

Gráficos

Componentes que posibilitan la interacción entre el usuario y la aplicación.

Leguaje OO

Manipula Objetos. Se divide en: Código (puro código) y Interfaz Gráfica (anexa componentes).

Intérpretes

Traduce a través de las capas del SO. No genera código, necesita un compilador.

Editores

Trabajan con Texto. Permiten texto dentro de un lenguaje establecido.

Compiladores

Genera código máquina y lo ejecuta. No pasa por capas del SO.

Herramientas de Prototipo

Hacer prototipos de todo tipo, físico o lógico.

Datos de Diseño

Describe y define completamente los procesos y características de los datos. Se debe verificar errores dentro del diseño, si lo hay, se debe empezar desde cero.

Generación de Reportes

Informa donde existen problemas. Anexa las etiquetas que tuvieron errores y señala donde fue el error.

Etiquetas Emergentes

Surgen sin solicitar permiso alguno. Para saber a que se refiere cada cosa, debo nombrar todas sus partes, y saber el funcionamiento o etiqueta de estados. Estás etiquetas son dinámicas.

Herramientas para Diseño y Desarrollo de Interfaces

Prototipo de Usuarios de la Interfaz

Se prueba la interfaz completa, su funcionamiento, componentes. Contempla requerimientos, todo lo que se hizo, tiene que ver que funcione.

Entorno GUI

Interfaz Gráfica del Usuario. Cuida al usuario, no le importa la lógica o funcionamiento, solo se adecua al usuario.

Considerar todas las partes de la interfaz, lo que se puede ver, sensores que usa, parte léxica, parte semántica, sonido, reconocimiento de palabras, etc.

Herramientas PRO/SIM

Orientadas a sistemas que se van a manipular físicamente. PRO: Conexiones o comunicaciones. SIM: Integración con Hardware (parte mecánica)

Creación de Interfaces para Revisión del Cliente.

Se divide en la versión de interfaz en la que se trabaja, y la interfaz del cliente donde está funcionando.

Predicción en Tiempo Real de los Sistemas

Prototipos o muestras a escalas de lo que se va hacer.

Herramientas para Análisis y Diseño

Consistencia del Performance entre modelos

Cuando hacemos diseños, se deben hacer con varias herramientas, tener un performance de las herramientas manejadas y deben estar balanceadas entre sí.

Herramientas para la Administración de la Configuración del Software.

Configura idioma, tipo de interfaz, y formar ingreso-requerimientos.

Status

Estado del lenguaje a ocupar, si es estable, no genera errores mayores. Lo que nos puede proporcionar.

Auditorías

Que todo funcione bien, pueden ser pro(antes), pre(después), e inesperadas.

Cambios de Control

Cambios entre diferentes versiones.

Control de Versiones

Elección de la mejor versión del software.

Identificación

Depende del entorno, que se quiere, que se ocupará de un lenguaje, identifica características.

Herramientas para Administrar BD

Repositorio

Administra al SMBD

Herramientas para asegurar la Calidad

Métrica para auditar código fuente.

Calidad

Tiene calidad si es seguro y por su taxonomía.

Lenguaje Estándar

Tiene el mismo formato y mismas normas. Así será portable.

Complejidad

Entre más instrucciones complejas se utilicen, el código sea complejo, su longitud es menor.

Herramientas de Software

Comunicaciones

Comunicación con el software, hardware y usuario, o con otro sistema.

Componentes

Son usuarios, BD, todos los demás elementos que conforman el diseño, que no necesariamente son objetos. Se checan vínculos, integración y actuación.

Objetos

Diseñados para diagramas, defino características, relaciones, atributos. Se hace un diseño hasta donde se quiere que ese objeto abarque el sistema.

Redes

Estructuras de comunicación entre cliente/servidor y unilateral, cliente de punto apunto.

Herramientas de Documentación

Incrementa la Productividad redudicendo los tiempos.

Depende del producto de calidad. Al documentar se busca una planeación, tiene que se bien hecha y concordar con el proyecto.

Construcción o Codificación

Alto Nivel
Contempla las torres superiores de vida.

Modelado

Diseño

Análisis

Planificación

FACTORES

Estandarización
Definición de Procesos. Crea acuerdos, normas y políticas, que además permitan la comunicación, operabilidad, interporabilidad, compatibilidad y que sea viable donde sea.
Portabilidad
No depende del hardware ni del software, por lo que es compatible con otros elementos de hardware y software.
Reutilización
Contempla: * Código. *Esquemas o Modelos. *Modelado. *Planificación. *Reducir calidad en trabajo. *Ahorrar tiempo. *Reducir Costos. *Tener Software Estable. *Si un software es viable lo puedo usar porque me da un grado de confianza. *Aumenta la compatibilidad.

Computer Aided Software Engineering, Ingeniería de Software Asistida por Computadora.

OBJETIVOS

•Automatizar el Software. •Aumentar la productividad de las áreas de desarrollo y mantenimiento de los sistemas informáticos. • Mejorar la calidad del software desarrollado. • Reducir tiempos y costos de desarrollo y mantenimiento. • Mejorar la gestión y dominio sobre el proyecto en cuanto a su planificación, ejecución y control. • Mejorar el archivo de datos de conocimientos y sus facilidades de uso, reduciendo la dependencia de analistas y programadores.

Son un conjunto de herramientas y métodos asociados que proporcionan asistencia automatizada en el proceso de desarrollo del software a lo largo de su ciclo de vida.

El desarrollador hace levantamiento de datos, después genera modelos o esquemas a introducir y la herramienta le pregunta que quiere y lo hace de forma automática.
Se buscaba reducir problemas de desarrollo en el software y el trabajo al desarrollador.