Análisis de sistemas
Qué es una herramienta 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. Qué significa el término CASE? Computer Aided Assisted Automated Software Systems Engineering Mencione y explique por lo menos tres objetivos de las herramientas CASE
Una mejora en la calidad, fiabilidad, utilidad y rend imiento. Hace el trabajo de diseño de software más fácil y agradable. Reducción del costo de producción de software.
Por su cobertura, cómo se dividirán las herramientas CASE? Explique brevemente cada división
Toolkits Conjunto de herramientas software (integradas) que automatizan alguna fase del ciclo de vida (análisis, diseño, gestión, ...). Comparten la BD de soporte y la interfaz de usuario.
Workbenchs Conjunto de herramientas software integradas qu e automatizan el ciclo de vida en más de una fase, típicamente en todas las fases de desarrollo: análisis + diseño + implementación (incluyendo la documentación asociada). Es decir, asisten en todo el proceso y proporcionan un producto documentado y operativo. Además de compartir la BD de soporte y la interfaz de usuario, están basadas en una misma metodología.
Mencione por lo menos 3 ejemplos de las herramientas CASE vistas en clase
Diccionario de datos Diagrama de flujo de datos Herramientas Case-Uml
Mencione por lo menos tres ejemplos de herramientas CASE orientadas a UML CASE-UML
Rational Rose, Argo/UML, Together, UModel.
Modelos de proceso de software Es una representación simplificada de un proceso de software que contiene una estrategia global para abordar el desarrollo del software. Modelos de proceso de software: Codificar y corregir Que es una metodología: Es un proyecto de desarrollo de software la metodología define Quien debe hacer Que, Cuando y Como debe hacerlo. No existe una metodología de software universal. Que tipos de metodologías existen: Predictiva-adaptativas Metodologías tradicionales: Son aquella que está guiadas por una fuerte planificación durante todo el proceso de desarrollo, donde se realiza una intensa etapa de análisis y diseño antes de la construcción del sistema.
Metodologías predictivas: - Planificación - Documentación - Vida critica - Ciclo de vida
Metodologías adaptativas (agiles): También conocida como metodologías agiles-son un grupo de procesos y técnicas de gestión de proyectos especialmente pensados para cuando el objetivo no puede definirse bien, es constante, cuando las variables de mayor impacto no son predecibles (por ejemplo, cuando son dependientes de asunto humanos).
Elementos de una metodología:
RATI ONAL UNI F I E D PROCESS (RUP). Características esenciales Los autores de RUP destacan que el proceso de software propuesto por RUP tiene tres características esenciales: está dirigido por los Casos de Uso, está centrado en la arquitectura, y es iterativo e incremental. Casos de Uso Los Casos de Uso representan los requisitos funcionales del sistema. La arquitectura involucra los aspectos estáticos y dinámicos más significativos del sistema, está relacionada con la toma de decisiones que indican cómo tiene que ser construido el sistema y ayuda a determinar en qué orden. Iterativo e incremental. El trabajo se divide en partes más pequeñas o mini proyectos. Permitiendo que el equilibrio entre Casos de Uso y arquitectura se vaya logrando durante cada mini proyecto, así durante todo el proceso de desarrollo
Fases e Hitos: Incio Objetivos(vision)
Elaboración-Arquitectura Construcción-Capacidad operacional inicial Transaccion-Release del producto Elemento en RUP: Workflows de Primarios - Disciplinas
-
Modelado del negocio
-
Requisitos
-
Análisis y diseño
-
Implementación
-
Pruebas
-
Despliegue
Workflows de apoyo - Entorno
-
Gestión de proyectos
-
Gestión de configuración y cambios
Roles:
-
Análisis
-
Despliegue
-
Prueba profesional
-
Gerencia
-
Otros
Roles, actividades, artefactos
Cuál es la herramienta CASE creada por las personas que desarrollaron UML? Rational Rose 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. CASE: Computer, Aided Assisted Automated, Software Systems, Engineering Tres objetivos de las herramientas CASE Una mejora en la calidad, fiabilidad, utilidad y rendimiento. Hace el trabajo de diseño de software más fácil y agradable. Reducción del costo de producción de software. Dos componentes de una herramienta CASE Generador de código: Normalmente se suele utilizar sobre ordenadores personales o estaciones de trabajo, por lo que el paso posterior del código al host puede traer problemas, al tener que compilar en ambos entornos. Herramienta de prototípico: El objetivo principal de esta herramienta es poder mostrar al usuario, desde los momentos iníciales del diseño, el aspecto que tendrá la aplicación una vez desarrollada.
Cuál será el grado de integración que tendrán las herramientas CASE en el futuro La integración de datos permite disponer de herramientas CASE con diferentes estructuras de diccionarios locales, de presentación confiere a todas las herramientas CASE el mismo aspecto, de herramientas permite disponer de herramientas CASE capaces de invocar a otras CASE de forma automática
MODE LO PR OTOTI POS
El Modelo de prototipos que pertenece a los modelos de desarrollo evolutivo, El prototipo debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar mucho dinero
Etapas
Plan rápido Modelado, diseño rápido Construcción del Prototipo Desarrollo, entrega y retroalimentación Comunicación
CICLO DE VI DA DEL SOFTWARE
Este fue el modelo inicial planteado para organizar el proceso de desarrollo, aunque antiguo, tiene vigencia en algunos proyectos o como parte de otros modelos, da la medida de los pasos tradicionales de cualquier modelo: análisis, diseño, codificación, prueba y mantenimiento. Sus etapas son: ing de software, análisis, diseño, codificación, prueba y mantenimiento.
ME TODOS DE RE COLE CCI ON DE RE QUE RI MI E NTOS Entrevista es un método importante para recopilar datos sobre los requisitos del sistema de información, tipos de preguntas abiertas y cerradas Cuestionarios son útiles en la recopilación de información de los miembros de la organización clave sobre Actitudes Creencias Comportamientos Características ¿QUÉ E S PSP? Un PSP es un proceso personal para desarrollar software
FACTIBILIDAD Es una de las primeras etapas del desarrollo de un sistema informático. El estudio incluye los objetivos, alcances y restricciones sobre el sistema Tipos de factibilidades Factibilidad técnica: si existe o está al alcance la tecnología necesaria para el sistema. Factibilidad económica: relación beneficio costo. Factibilidad operacional u organizacional: si el sistema puede funcionar en la organización. Los tipos de factibilidades básicamente son: Factibilidad técnica: si existe o está al alcance la tecnología necesaria para el sistema. Factibilidad económica: relación beneficio costo. Factibilidad operacional u organizacional: si el sistema puede funcionar en la organización. DIAGRAMA DE FLUJO DE DATOS (DFD) El diagrama de Flujo de Datos (DFD) proporciona una representación del sistema a nivel lógico y conceptual Objetivo Construir un modelo lógico del Sistema que facilite su comprensión tanto al equipo de desarrollo como a sus usuarios
Notación
ENTIDAD EXTERNA Representa entes ajenos a la aplicación. Los que aportan o reciben información PROCESO
0 EXT1 GEST USUARIO
EXT2 ENCARGADO
Actividad que transforman o manipula datos Localización expresa la unidad o área dentro de la organización donde se realiza el proceso
1 LOCALIZACIÓN ALMACÉN DE DATOS Depósito de información dentro del sistema
ID NOMBRE
FLUJO DE DATOS Establecen la comunicación entre procesos, almacenes y entidades externas. Llevan la información necesaria para esos objetos DIAGRAMA DE CONTEXTO El objetivo es realizar una declaración formal del dominio. Un solo proceso representará el área que se está estudiando, El contexto queda definido por los flujos de entrada y salida y las entidades externas, Las entidades externas han de aparecer en este nivel y no en ningún otro. ejemplo DIAGRAMA DE CONTEXTO
PEDIDO LIBROS
0
SANCIÓN
GESTIONAR BIBLIOTECA
USUARIO
USUARIO
DEVOLUCIÓN LIBROS ALTAS/BAJAS LIBROS
DICCIONARIO DE DATOS El diccionario de datos es un listado organizado de todos los datos pertinentes al sistema, con definiciones precisas y rigurosas para que tanto el usuario como el analista tengan un entendimiento común de todas las entradas, salidas, componentes de los almacenes y cálculos intermedios. UML (UNIFICADO MODELADO LENGUAJE) es un lenguaje visual para especificar, construir y documentar sistemas Objetivos Los principales objetivos en los orígenes de UML fueron obtener un lenguaje simple que permitiera modelar aplicaciones en cualquier dominio, obtener un lenguaje legible, ya que sería utilizado por las personas, así como permitir la generación automática de código. Beneficios Produce un aumento en la calidad del desarrollo. Reduce los costos del proyecto. Mejora en un 50% o más los tiempos totales de desarrollo. Permite especificar la estructura y el comportamiento del sistema ENTRE OTROS. Modelo: abstracción semánticamente cerrada de un sistema. Vista: proyección de la organización y estructura de un modelo del sistema, centrada en un aspecto del sistema. Diagrama: representación gráfica de un conjunto de elementos, normalmente mostrado como un grafo conexo de nodos y arcos. Diagramas Diagramas estructurales: representan partes estáticas de un sistema, tales como clases, objetos, componentes, etc. Diagramas de comportamiento: especifican las partes dinámicas de un sistema tales como estados del sistema, flujo de control de actividades, secuencia de mensajes, etc. Diagramas estructurales Diagramas de clases: conjunto de clases, interfaces y colaboraciones, y las relaciones entre ellas. Diagramas de objetos: instantáneas de las instancias de los elementos encontrados en los diagramas de clases. BIBLIOTECARIO
•
•
•
•
Diagramas de componentes: conjunto de componentes y sus relaciones. Diagramas de despliegue: conjunto de nodos y sus relaciones. Diagramas de comportamiento Diagramas de casos de uso: conjunto de casos de uso y actores y sus relaciones. Son importantes para organizar y modelar el sistema. Diagramas de interacción: Diagramas de secuencia: conjunto de objetos y los mensajes enviados y recibidos por ellos. Resalta ordenación temporal de los mensajes. Diagramas de colaboración: Resalta organización estructural de objetos que envían y reciben mensajes. Diagramas de estados: representan máquinas de estados, construida por estados, transiciones, eventos y actividades.Útiles para modelar sistemas reactivos. Diagramas de actividades: muestran el flujo de actividades de un sistema. Importantes para modelar la función de un sistema, así como para resaltar el flujo de control entre objetos. Vistas Vista de casos de uso: comportamiento del sistema tal y como es percibido por usuarios, analistas y encargados de pruebas. • •
•
•
▫
▫
•
•
•
•
Vista de diseño: comprende el vocabulario del problema y su solución, y soporta los requisitos funcionales del sistema
Vista de procesos: hilos y procesos que forman mecanismos de sincronización y concurrencia del sistema. Se hace mayor énfasis en las clases activas. Vista de implementación: componentes y archivos que se utilizan para ensamblar y hacer disponible el sistema físico. Vista de despliegue: nodos que forman la topología hardware sobre la que se ejecuta el sistema. Distribución, entrega e instalación de las partes. CLASE DE UML Una clase está compuesta de tres secciones La primera sección contiene el nombre de la clase, La segunda sección muestra la estructura (atributos), La tercera sección muestra el comportamiento (operaciones) Modificadores de Acceso: Los miembros públicos se denotan con el signo “+” -nombre -ubicacion -dias Los miembros privados se denotan con el signo “–” -inicio Máquina de Café -fin +AgregarAlumno() DE SECUENCIA CASO DE USO +BorrarAlumno() •
•
•
Curso
+GenerarListadoCurso() +EstaCompleto()
COLABORACION