Final Flashcards
Herramientas de seguimiento de requisitos
Proponen un enfoque sistemático para el aislamiento de requisitos
Herramientas de administración de proyectos
Suelen ser extensiones de las herramientas de planificación de proyectos
Herramientas de análisis de riesgos
Ayudan a crear una tabla de riesgos para definirlos y analizarlos
Herramientas de planificación de proyectos
Funcionan como guía para planificar los proyectos, es decir, definir las áreas, crear las tareas, etc
Modelado de proceso y herramientas de administración
Representa los elementos claves del proceso
Herramientas de ingeniería de información
Representan objetos de datos del negocio, sus relaciones y cómo afectan a la compañía
Herramientas CASE
Son herramientas destinadas a aumentar la productividad durante el desarrollo del sw
Misión del puesto ANALISTA FUNCIONAL
Establecer los requisitos funcionales del sistema
Características de un analista funcional
comunicación resolución de problemas pasión por la tecnología conocimiento de tecnología gestión de proyectos lectura de mucha documentación
Qué debe hacer el analista funcional?
Resolver problemas del negocio diseñando un sistema de procesos que ejecute la estrategia del negocio
recolectar y analizar los nuevos requerimientos y compararlos contra procesos y sistemas existentes
documentar la solución
guiar los procesos de modelado y diseño
Prototipo de UI
Ayuda a comprender las interacciones que tendrán los usuarios con el sistema
Glosario
Para definir terminos importantes que usan los ingenieros durante la descripcion del sw
Pautas para el modelado de cu
las denominaciones deben comenzar con un verbo de fuerza
se debe utilizar la terminología del dominio
se debe organizar respetando el orden temporal
Para qué se usa el diagrama de cu?
Para obtener una vista global de todo lo que debe realizar un sistema
Generalización
un cu hijo hereda todos los comportamientos de un cu padre
Extensión
un cu se extiende de otro. Sirve para factorizar una variante de comportamiento
Inclusión
un cu incluye a otro. Sirve para factorizar un comportamiento común
Actor
es un rol o un conjunto coherente de roles que están en contacto con el caso de uso
Caso de uso
especifica un comportamiento de un sistema o parte de este.
Buenas prácticas del proceso unificado
- Desarrollo iterativo e incremental
- administración de requisitos
- uso de arquitectura de componentes
- control de cambios
- verificación de calidad
- modelado visual
Disciplina deployment
Producir el despliegue del producto y distribuirlo al cliente
Mayormente en fase de transición
Disciplina de testing:
Se prueba la calidad del sistema
Los factores a testear son: funcionalidad, fiabilidad y rendimiento
Plan de test: puede ser global, se describen los objetivos y mecanismos del proyecto en general, o especifico, se describen los objetivos y mecanismos de una parte especifica
Disciplina de implementación:
Se obtiene el sistema ejecutable y se terminan sus pruebas,
Durante la etapa de elaboración, pero se refina durante construcción y transición.
Disciplina de análisis y diseño:
Durante esta disciplina se termina de comprender el problema.
Sucede durante la etapa de elaboración
Los artefactos son: modelo de análisis y arquitectura base
Los roles son: arquitecto, analista de sist. Y analista de bd
Disciplina de requisitos:
Establece junto con el cliente las necesidades del sistema, proporciona a los desarrolladores todos los elementos necesarios para entender los requisitos y define las fronteras del sistema.
Sucede durante la etapa de inicio.
Los artefactos son: modelo de cu, especificaciones de cu y prototipo de interfaz de usuario
Los roles son: especificador de requisitos, frontender, ingeniero de requisitos y analista de sistemas
Modelos de la disciplina de modelado del negocio:
Modelo del dominio, diagrama de actividades del negocio, modelo de estructura del negocio, modelo de objetos del negocio y modelo de CU del negocio
La práctica de una disciplina implica:
Roles, objetivo, oportunidad, modelos, estrategia y transferencia
Disciplinas de soporte:
Gestion del ambiente
Gestión del proyecto
Gestión de configuración
Fases del UP:
Inicio: es la fase mas corta, en la cual se toma noción del problema y de sus restricciones
Elaboración: se crea una arquitectura base y se planifica el proyecto
Construcción: es la fase mas larga, se construye el producto, el resultado es una versión ejecutable
Transición: es la fase en la que se entrega el sw al cliente. Se debe asegurar de que este se pueda valer por si mismo y entregar toda la documentación necesaria
Metodología:
conjunto de métodos que se aplican durante un proceso para alcanzar un resultado
Método
procedimiento para realizar una actividad
Por qué el UP es:
Dirigido por casos de uso:
Porque los casos de uso son la base para la implementación de disciplinas y fases del pu
Por qué el UP es:
Centrado en la arquitectura:
Porque la arquitectura es la vista de diseño de las características principales del sistema, dejando de lado los detalles y avanzando de forma paralela a los casos de uso
Por qué el UP es:
Iterativo e incremental:
Porque el trabajo se divide en mini proyectos de un tiempo determinado (entre dos y seis semanas) llamados iteraciones
Eje vertical
eje estático. Son las disciplinas
Eje horizontal:
eje dinámico. Es el tiempo
Objetivo del proceso unificado:
Asegurar la calidad del sw y que este responda a las necesidades de los stakeholders, dentro de un presupuesto y tiempo determinado
Roles
función especifica desempeñada por un ing de sw
Artefacto
toda la información que se genera o modifica durante el ciclo de vida del sw
Disciplina
conjunto de roles, artefactos y actividades vinculados a un área
Elementos del PU:
Fases, disciplinas, roles y artefactos
Proceso unificado:
Define quien hace que, cuando y como para un proyecto de sw
Las 4 p del proceso unificado
Personas: quienes trabajan en el proyecto y los interesados
Proyecto: el elemento organizativo para el desarrollo del sw
Proceso: las actividades a llevar a cabo para el desarrollo del sw
Producto: los artefactos que se crean durante el proyecto
Herramientas: sw utilizado para automatizar las actividades
Modelado ágil y xp:
La programación se basa en los deseos del cliente, el cliente es quien decide cuales serán las prioridades,
Equipo: jefe de proyecto, desarrolladores y cliente
Objetivo: reducir el riesgo en el ciclo de vida del sw trabajando en grupos de desarrollo pequeños
Desarrollo guiado por test:
Consiste en escribir primero las pruebas, después el código fuente que supere esas pruebas y luego refactorizar el código
El resultado depende de la calidad de las pruebas
Fases del modelo en espiral:
Fijar objetivos, evaluación y reducción de riesgos, desarrollo y validación, planeamiento
Desarrollo por prototipos:
Exploratorios: produce un sw que puede ponerse en producción y sus especificaciones
Throw away: produce solo la especificación
Desarrollo evolutivo:
Se van generando nuevas versiones mas completas y complejas
modelo V:
Lado izquierdo: descomposición de necesidades y creación de especificaciones
Lado derecho: integración de piezas y su verificación
objetivo: Mejorar la comunicación, mejorar la calidad, reducir el riesgo, reducir los gastos
Ideal para:
Proyectos a corto plazo y personas que nunca han programado siguiendo una metodología
Cuando aplicar el modelo cascada?
Cuando los requisitos son estables, completos y bien definidos
Falencia del modelo cascada:
Es difícil asimilar e implementar cambios una vez comenzado el proyecto
ej de modelos de procesos:
Cascada, V, ágil y xp, up, desarrollo evolutivo, desarrollo incremental
por qué los modelos deben tener una meta explicita?
Para validación y verificación. Porque sin una meta explicita podríamos, por ejemplo, verificar un modelo de análisis como si fuera de diseño
Equipo para modelar un sist:
Experto en modelaje, experto del dominio del problema, cliente
Dimensión de calidad de los modelos:
Meta explicita, fácil comunicación, consistente, tiene integridad, fácil de mantener y sus nombres deben tener relevancia
qué es un modelo de proceso:
Es un marco técnico y de gestión que permite asignar personas, herramientas y métodos a una tarea de un proyecto de sw
Recursos de un proyecto de sw:
Tiempo, tecnología, fondos, personas, materiales e informació
Factores que inciden negativamente en la producción de sw:
Exceso de complejidad Cambios no controlados Especificación de requisitos de forma informal Arquitectura inestable Comunicación deficiente Inconsistencias entre los requisitos
Pasos del modelo de proceso:
Especificación: se establecen y especifican las necesidades del sistema
Diseño: se crea un modelo de papel del sistema
Refinamiento del diseño: se crea una arquitectura base
Comprobación: se verifica que el sistema cumpla con los requisitos establecidos
Instalación: se entrega el sw al cliente y se asegura su funcionalidad
Mantenimiento: se solucionan los errores a medida que surgen
Herramientas de métricas y gestión:
Califican los nros locales, los comparan contra valores medios de la industria y proponen estrategias para mejorar
Herramientas de análisis y diseño:
Capacitan al ingeniero de sw para crear modelos del sistema
Modelo del dominio:
Es un artefacto de la disciplina de análisis. Es un modelo estático cuyo objetivo es reflejar todos las clases más importantes para el sistema y cómo se relacionan entre sí.
Pasos del modelo del dominio:
Identificar las clases
Graficarlas
Incluir los atributos y relaciones
Clase conceptual:
Cualquier elemento de importancia para el dominio del sistema, esto incluye objetos intangibles
SCRUM
Es un proceso ágil que nos permite aportar un alto nivel de negocio en un menor tiempo. Trabajando con SCRUM, cada 2 semanas o un mes, cualquiera puede ver el sw en funcionamiento y decidir si liberarlo o seguir mejorandolo
Product owner:
Es la persona encargada de tomar las decisiones del cliente, su responsabilidad es el valor del producto
SCRUM Team:
Es un grupo de profesionales encargado del incremento de cada sprint.
La cantidad de personas que lo integren no debe ser menor a 3 ni mayor a 9.
Comparten las responsabilidades y los logros
Todos deben tener conocimiento de SCRUM
Todos comprenden la visión del product owner
Todos participan en las decisiones
SCRUM Master:
Es la persona encargada de hacer que la metodología SCRUM se cumpla.
Debe guiar y asesorar al SCRUM team y al product owner, y asegurarse de que entiendan la metodología.
Debe ayudar siempre que se presenten dificultades del proyecto o del equipo
Debe revisar y validar la pila del producto
Puede no ser necesario si la organización está evolucionada hacia un marco de SCRUM mas avanzado y las responsabilidades están institucionalizadas en la empresa
Pila del proyecto:
Lista de los requisitos del usuario
Pila de sprint:
Lista de las tareas con el detalle del esfuerzo que lleva cada una
Incremento
Resultado de un sprint completamente terminado y operativo
Para qué sirve el gráfico burn- down?:
Para comprobar el avance
Sprint
Es un ciclo o una iteración de la metodología SCRUM cuyo resultado es un incremento del producto. Se le da inicio en las reuniones de planificación de sprint donde se define su objetivo y cómo se llevará a cabo.
SCRUM diario:
Es una reunión corta al principio del día de trabajo donde cada miembro del equipo responde a tres puntos:
Qué hizo el día anterior
Qué va a hacer hoy
Qué necesita para realizar ese trabajo
User story:
Una user story indica cierta funcionalidad del sistema que resulta de valor para el usuario final
Se escribe así:
Como , me gustaría para
Kanban o tarjeta señalizadora:
Es una herramienta para trabajar de forma más eficaz. Sirve para comprender mejor el trabajo que uno está realizando mediante un mapa del flujo de valor que nos va a permitir establecer los límites del trabajo en curso
Objetivos de Kanban:
Visualizar el flujo de trabajo
Limitar el WIP
Medir el lead time
WIP
Es el parámetro que determina la cantidad máxima de tareas “en curso” que puede haber de forma simultánea en un proyecto
Lead time:
Es el tiempo medio de la realización de tareas
Reglas del Kanban:
Mostrar el proceso
Limitar el WIP
Optimizar el flujo de trabajo
Scrumban:
Es la combinación de ambas metodologías (Kanban y Scrum).
Toma las mejores prácticas ágiles de cada una.
Un tablero de Scrumban es una extensión del tablero Kanban para su aplicación en un sprint de SCRUM
4+1 vistas:
Es un modelo para la descripción de la arquitectura de los sistemas de sw mediante la utilización de múltiples vistas concurrentes: escenarios o CU, vista lógica, vista de procesos, vista física y vista de desarrollo
4+1 : Escenarios o CU:
Describe las interacciones del sistema
4+1: Vista lógica:
Describe los modelos de objetos de diseño
4+1: Vista de procesos:
Describe los aspectos de concurrencia y sincronización
4+1: Vista física:
Describe el mapeo del sw en el hw
4+1: Vista de desarrollo:
Describe la organización estática del sw
Modelo
Es la representación de los aspectos del sistema relevantes para su objetivo con un apropiado nivel de detalle
Diagrama
Es la representación gráfica de los aspectos del modelado
Metodología:
Es un conjunto de técnicas y herramientas que ayudan a los ingenieros de sw a la creación de un producto
¿Por qué modelar?
Para entender mejor el problema
Para llevar un mejor control
UML:
Es un lenguaje de modelado visual para describir, construir y documentar sw
Es unificado porque parte de muchos métodos y notaciones
Permite seleccionar sólo aquellas partes del lenguaje que realmente sean útiles
UML es una metodología?
NO, es un lenguaje
¿Dónde usamos UML?
En todas las fases de la etapa de desarrollo
Para qué sirve UML?
Para establecer los límites del sistema
Para ilustrar los CU
Para modelar el comportamiento de los objetos
Para representar la estructura del sistema
Diagrama de paquetes:
Se representan los paquetes del sistema, sus jerarquías y elementos
Diagrama de clases: Visibilidad:
Pública: Cualquier clase puede acceder a las características
Privada: sólo la propia clase puede acceder a la característica
Protegida: Sólo las clases descendientes pueden acceder a la característica
Paquete: Sólo las clases dentro del paquete pueden acceder a la característica
Diagrama de clases: Relaciones:
Asociación: Dos clases son creadas al mismo tiempo y tienen una relación que debe conservarse por algún tiempo
Composición: Una clase es parte de otra pero la relación es tan fuerte que una no existe sin la otra
Agregación: Una clase es parte de la otra
Clase de asociación: Una clase que surge de la relación entre otras dos
Dependencia: Una clase depende de otra
Herencia: Una jerarquía donde dos o más clases hijas heredan el comportamiento de una clase padre
Herencia múltiple: una clase que hereda de dos o más padres
Diagrama de objetos:
Es un caso especial del diagrama de clases donde solo se muestra un porción de los elementos de dicho diagrama
Diagrama de secuencia:
Muestra los mensajes entre los objetos en un escenario específico
Diagrama de comunicación:
Muestra las interacciones entre los objetos y sus enlaces
Diagrama de estados:
Muestra todos los posibles estados de un objeto
Sus elementos son: Acción, transición, eventos, estados
Diagrama de actividades:
Muestra una actividad a lo largo del tiempo
Sus elementos son: Acciones y nodos de actividad
Diagramas de tiempo:
Es una fusión del diagrama de estados y de secuencia porque muestra todos los estados que puede tener un objeto y los mensajes que lo modifican
Diagramas de interacción global:
Es una fusión del diagrama de actividades y secuencia
Diagramas de componentes:
Muestra la parte física del sistema
Diagramas de despliegue:
Muestra una vista estática de la configuración de los nodos de hw del sistema
Clase de análisis:
Es una clase conceptual y se enfoca sólo en los requisitos funcionales
Clase interfaz:
Modela la interfaz entre el sistema y el actor
Clase control:
Modela los aspectos dinámicos del sistema
Extracción de las clases para el modelo de análisis:
1- Extraer las clases conceptuales
2-Extraer las clases borde (interfaz)
3- Extraer las clases control
Una vez completados los tres pasos se procede a su análisis o refinamiento
SysML
Es un lenguaje de modelado visual derivado del UML específicamente para las tareas del ingeniero de sistemas
Por qué el UML no alcanza para el ingeniero?
Porque el UML fue concebido específicamente para sistemas de sw, y aunque las tareas del ingeniero pueden incluir elementos de sw, también abarca hw
Vistas de SysML:
Comportamiento, estructura, requerimientos parámetros
Diagramas de SysML:
Diagrama de bloques, paramétrico, de actividades, de requisitos, de estados, de CU, de paquetes y de interacción
BPM
Es una herramienta empresarial enfocada en los procesos de negocio que nos permite la organización automática de trabajo
Qué es el KPI?
Es un indicador clave de desempeño, y lo mide enfocándose en el cómo.
Acto de medir el KPI en tiempo real
Monitoreo de actividades de negocio
SMART
Específicos Medibles Alcanzables Realistas a Tiempo
3 beneficios de BPM:
Control de riesgos
Automatización de procesos
Reducción de costos
Modelo entidad-relación
Es un modelo de datos que consiste en un grupo de objetos llamados entidades y sus relaciones. Se implementa de forma gráfica en el diagrama entidad relación. Es un modelo conceptual.
MER y MR. Cuál conceptual y cuál lógico:
MER - conceptual, MR- lógico
Cómo pueden ser los atributos?:
Simples o compuestos Derivables Monovaluados o multivaluados Obligatorios u optativos Descriptivos o identificatorios
Pasos para la creación del diagrama entidad-relación:
1- Identificar las entidades 2- Describir las entidades 3- Establecer las relaciones entre las entidades 4- Dibujar el modelo de datos 5- Realizar las comprobaciones
Programación orientada a objetos:
Es un paradigma de programación que organiza el sw en función a los objetos.
Binding dinámico:
Es una característica de la programación orientada a objetos, permite decidir en tiempo de ejecución qué método responderá a un determinado mensaje
Liderazgo:
Capacidad que tiene una persona de influir y organizar a un grupo de trabajo
Principio de ocultamiento:
Hace referencia a que sólo el propio objeto puede acceder a sus atributos, los demás no pueden modificarlos ni obtenerlos a no ser que se haga por el paso de un mensaje
Tarjeta CRC:
Es una herramienta del diseño de sw orientado a objetos donde se escribe cada objeto en una tarjeta que estará dividida en tres partes: el nombre de la clase, sus responsabilidades y sus colaboradores
DevOps:
Es una metodología de trabajo en la cual se unifican el desarrollo de sw y la operación del sw.
Utiliza patrones orientados principalmente a la automatización y monitoreo de todas las etapas de construcción del sw.
En una buena práctica de esta metodología se permitirá a los desarrolladores enfocarse en lo que mejor saben hacer, escribir sw.
Habilidades necesarias para DevOps:
Experiencia con herramientas específicas
Habilidad para tratar con otros
Reingeniería de procesos
Scripting
Docker:
Es una herramienta de DevOps. Es un proyecto de código abierto que permite automatizar el despliegue de aplicaciones por medio de contenedores
Qué es un contenedor?
Es algo que se contiene en sí mismo y puede ser trasladado de un lado a otro de forma independiente
Kubernetes:
Es una herramienta de DevOps. Es una plataforma portable y extensible que permite administrar cargas de trabajo y servicios