Revisa
Revisa
Revisa
Suponen
Nacen a partir
Siglas
Que son

HERRAMIENTAS CASE

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.

Se buscaba reducir problemas de desarrollo en el software y el trabajo al desarrollador.

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.

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.

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

FACTORES

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.

Portabilidad

No depende del hardware ni del software, por lo que es compatible con otros elementos de hardware y software.

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.

ESTRUCTURA O TIPOS

Alto Nivel

Contempla las torres superiores de vida.

Planificación

Análisis

Diseño

Modelado

Bajo Nivel

Contempla las actividades finales.

Construcción o Codificación

Implementación o Pruebas

HERRAMIENTAS

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.

Herramientas de
Software

Redes

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

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.

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.

Comunicaciones

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

Herramientas para
asegurar la Calidad

Métrica para auditar
código fuente.

Complejidad

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

Lenguaje Estándar

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

Calidad

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

Herramientas para
Administrar BD

Repositorio

Administra al SMBD

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

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

Identificación

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

Control de
Versiones

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

Cambios de
Control

Cambios entre
diferentes versiones.

Auditorías

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

Status

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

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 PRO/SIM

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

Predicción en
Tiempo Real
de los Sistemas

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

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.

Herramientas para Diseño y
Desarrollo de Interfaces

Componentes

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.

Entorno GUI

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

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.

Herramientas de Prototipo

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

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.

Generación de
Reportes

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

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.

Herramientas de
Programación

Variedad de lenguajes
que podemos usar.

Compiladores

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

Editores

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

Intérpretes

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

Leguaje OO

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

Gráficos

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

Generadores

Hacer algo en la interfaz y
genera código.

Query's

Consultas a BD.

Lenguajes

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

Herramientas para
Desarrollo Web

Texto

Información que contiene la página web.

Formas

Formularios. Se representan dentro de los frames.

Gráficos

Multimedia.

Scripts

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

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.

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.

Adquisición
de Datos

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

Métricas
Estáticas

Capacidad establecida en la cantidad de datos que manejo.

Métricas
Dinámicas

Capacidad constante, uso variable en los recursos del sistema.

Simulación

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

Funciones
Cruzadas

Poner a prueba todos los componentes de mi sistema.

Herramientas Análisis estático

Pruebas de
Código Base

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

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.

Requerimientos
Base

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

Herramientas de Análisis Dinámico

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

Convergencia

Ejecución
en Flujo

Separación de Procesos
de Hardware con los del Sistema

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.

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

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.

Gráfica de Control de Flujo

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

Estructura

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

Herramientas de Reingeniería en Línea.

Modificación del SMBD en línea.

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

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

Medio o Cruzado

Contempla todas las actividades del ciclo de vida de un sistema.

CLASIFICACIÒN

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

CARACTERÍSTICAS

ELEMENTOS

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.

Generador de Informes

El módulo generador de la documentación se alimenta del repositorio para transcribir las especificaciones allí contenidas.

Repositorio

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.

Metamodelo

Constituye el marco para la definición de las técnicas y metodologías soportadas 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.

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.

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.

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.

PREREQUISITOS

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.

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.

Conocer las Herramientas

En el equipo de trabajo, debe haber un especialista por cada herramienta que se ocupará.

CASE ALTAS

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.

Especificaciones

Es una descripción abstracta del diseño del software, agrega a detalle la especificación de requerimientos del usuario.

Planeación

Traducción de los requerimientos, división de trabajo.

Diseño

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.

CASE BAJAS

Herramientas

Con lo que se va a trabajar, requerimientos de formato estándar. Son bloques de desarrollo.

Marco de Trabajo
Integrado

Especifica el contexto o el ambiente donde se está desarrollando. Al final se deben integrar estos marcos de trabajo.

Servicios de
Portabilidad

Interacción con diferentes herramientas, tanto para software y hardware.

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.

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.

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.).

TAXONOMÍA

BD

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.

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.

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.

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.

Programación

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

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.

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.

Reingeniería

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

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.

Ingeniería del Proceso

Objetos

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

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.

Flujo

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

Modelado y Administración
del Proceso

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.

Vinculación entre
herramientas

Relaciones del Sistema.

Definición de Actividades

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

Planeación del Proyecto

Estimación
costo-beneficio

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

Proyectar
Programación

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

Análisis de Riesgos

Construcción de Tablas
de Riesgos

Análisis

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

Identficación

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

Detalle

Determinar la probabilidad de que este riesgo suceda.

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.

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.

EJEMPLOS

Microsoft Project

Visual Paradigm for UML

ArgoUML

Poseidon

Modelio

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.

PROCESO UNIFICADO

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.

FASES

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.

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.

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).

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.

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.

PRODUCTOS DE
TRABAJO

Inicio

*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.

Elaboración

*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).

Construcción

*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).

Transición

*Incremento de software integrado.
*Reporte de las pruebas beta.
*Retroalimentación general del usuario.

*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.

ROMERO MONTAÑO DIANA SAMANTHA

HERRAMIENTAS AUTOMATIZADAS

SECUENCIA: 2NM50