b3t10 - Metodologías y Control Versiones Flashcards
Metríca3 es la metodología orientada a procesos creada en la Administración
Qué roles hay en Métrica3?
Directivo
Jefe de Proyecto
Consultor
Analista
Programador
Indica 3 metodologías orientadas a procesos
SSADM
Merise
Metrica3
Indica 3 metodologías orientadas a objetos
En qué metodología se unifica?
Booch Method
OMT
OOSE Jacobson
Se unifican en
RUP -> Rational Unified Process
De qué tipo es la metodología RUP?
Iterativa incremental.
Es un proceso de desarrollo dirigido por casos de uso y centrado en la arquitectura. Quiere decir que primero se prepara la arquitectura y luego se hacen iteraciones. En cada iteración se coge un conjunto de casos de uso y se hacen todas las fases (cada fase podrá tener distinto peso en la iteración, dependiendo de qué iteración sea).
Qué versión abierta de la Eclipse Foundation hay de RUP?
OpenUP
Otro ejemplo de UP, en versión agile sería AUP - Agile Unified Process
Qué tres procesos tiene Metrica3?
Planificación (PSI) del sistema de información
Desarrollo (DSI) del sistema de información
Mantenimiento (MSI) del sistema de información
En qué otros 5 procesos se divide el proceso de Desarrollo (DSI) de Metrica3?
EVS - Estudio de viabilidad
ASI - Analisis
DSI- Diseño
CSI - Construcción
IAS - Iplantación y aceptación
En qué se dividen los procesos en Métrica3? Y estas a su vez?
Se dividen en actividades
Las actividades se dividen en tareas
Cómo se llaman las partes de Métrica3 que son comunes a todos los procesos? Cuáles son?
Se llaman Interfaces
Calidad
Gestión de proyectos
Gestión de la configuración
Seguridad
4 Valores del Manifiesto Ágil
Individuos e interacciones sobre procesos y herramientas
Software funcionando sobre documentación extensiva
Colaboración con el cliente sobre negociación contractual
Respuesta ante el cambio sobre seguir un plan
12 Principios del Manifiesto Ágil
- Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y continua de software con valor.
- Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
- Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al período de tiempo más corto posible.
- Los responsables del negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.
- Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo.
- El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara.
- El software funcionando es la medida principal de progreso.
- Los procesos ágiles promueven el desarrollo sostenido. Los promotores, desarrolladores y usuarios debemos mantener un ritmo constante de forma indefinida.
- La atención continua a la excelencia técnica y al buen diseño mejora la agilidad.
- La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
- Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
- A intervalos regulares, el equipo reflexiona sobre cómo ser más efectivo para, a continuación, ajustar y perfeccionar su comportamiento en consecuencia.
Metodologías ágiles
XP
SCRUM
FDD
KANBAN
SCRUM
Tipo: iterativa incremental
Roles:
- Cerdos: Product owner, Scrum master (facilitador), Scrum team (5-9) personas con habilidades transversales
- Gallinas: Stakeholder
Prácticas y artefactos
- Product backlog
- Sprint backlog
- Burndown chart
- Sprint Planning
- Daily scrum (15 min)
- Sprint review (al final del sprint, 1h)
- Sprint retrospective (revisión y mejora, 1h)
Xtreme Programing
- Potencia relaciones interpersonales.
- Historias de usuario (se agrupan en epicas) (se desgranan en tareas)
- Roles: Programador, cliente, encargado de pruebas (tester), encargado de seguimiento (tracker), entrenador (coach), consultor, gestor (big boss)
- Prácticas: Programación en parejas, refactoring, estiman los técnicos, el cliente prioriza, integración contínua, cliente in situ, max 40h /semana, pruebas unitarias primero (TDD), entregas pequeñas
Productos de integración contínua
- Pipelines -> Jenkins
- Construcción -> Maven
- Repositorios de codigo fuente -> GIT, SVN, TFS (teams foundation)
- Repos binarios -> Artifactory(jfrog), Nexus(sonatype), Archiva
- Análisis código -> SonarQube
- Test unitarios -> JUnit
- Runtime -> JBOSS
CI -> hasta test
CD -> hasta deploy
Qué son las pruebas de caja blanca y caja negra?
Caja blanca -> se conoce el detalle del algoritmo del código, se prueban los caminos, bifurcaciones, etc.. no que el resultado sea correcto
Caja negra -> no se conoce el detalle del algoritmo, se analizan las entradas y salidas
Herramientas de pruebas
Funcionales
Unitarias
Carga
Análisis código estático
Funcionales -> Selenium, Soap-UI, Postman, Watir (Ruby), WatiN (.NET)
Unitarias -> JUnit, NUnit, TestNG, Jasmin, Mocha, Jest
Carga -> JMeter, HP LoadRunner, LoadUI
Análisis código estático -> SonarQube, PMD, Checkstyle, FindBugs
Tipos de pruebas funcionales
Unitarias: de cada componente
Integración: varios componentes / subsistema
Aceptación: orientadas al usuario desde el pto. de vista funcional
Regresión: todo sigue funcioando ante un cambio
Alpha: por el usuario con el desarrollador como observador en entorno controlado
Beta: por el usuario en su entorno de trabajo y sin observadores
Tipos de pruebas no funcionales
Compatibilidad
Rendimiento
Seguridad
Usabilidad
…
Definiciones de Métrica3 de los tipos de pruebas
Pruebas Unitarias.
Pruebas de Integración.
Pruebas del Sistema.
Pruebas de Implantación.
Pruebas de Aceptación.
Pruebas de Regresión.
Leer
https://manuel.cillero.es/doc/metodologia/metrica-3/tecnicas/pruebas/
Diferenciar bien entre las pruebas de
Rendimiento
Volumen
Sobrecarga
que están dentro de las pruebas de Sistema de Metrica3
- Pruebas de rendimiento. Consisten en determinar que los tiempos de respuesta están dentro de los intervalos establecidos en las especificaciones del sistema.
- Pruebas de volumen. Consisten en examinar el funcionamiento del sistema cuando está trabajando con grandes volúmenes de datos, simulando las cargas de trabajo esperadas.
- Pruebas de sobrecarga. Consisten en comprobar el funcionamiento del sistema en el umbral límite de los recursos, sometiéndole a cargas masivas. El objetivo es establecer los puntos extremos en los cuales el sistema empieza a operar por debajo de los requisitos establecidos.
En métrica3 hablan de elementos conductores cuando se refieren a mucks, para simular precondiciones en las pruebas unitarias.
Qué dos tipos de sistemas de control de versiones hay? Indica productos de cada
- Centralizados: CVS, SVN Subversion (servidor svn), TortoiseSVN (cliente svn), TFS de Microsoft (Team Foundation Server) (antes era Sourcesafe)
- Distribuidos: GIT, Sourcetree(cliente git), Mercurial, Bazaar, Darcs, BitKeeper