b3t10 - Metodologías y Control Versiones Flashcards

1
Q

Metríca3 es la metodología orientada a procesos creada en la Administración

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qué roles hay en Métrica3?

A

Directivo
Jefe de Proyecto
Consultor
Analista
Programador

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Indica 3 metodologías orientadas a procesos

A

SSADM
Merise
Metrica3

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Indica 3 metodologías orientadas a objetos
En qué metodología se unifica?

A

Booch Method
OMT
OOSE Jacobson

Se unifican en
RUP -> Rational Unified Process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

De qué tipo es la metodología RUP?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qué versión abierta de la Eclipse Foundation hay de RUP?

A

OpenUP
Otro ejemplo de UP, en versión agile sería AUP - Agile Unified Process

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qué tres procesos tiene Metrica3?

A

Planificación (PSI) del sistema de información
Desarrollo (DSI) del sistema de información
Mantenimiento (MSI) del sistema de información

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

En qué otros 5 procesos se divide el proceso de Desarrollo (DSI) de Metrica3?

A

EVS - Estudio de viabilidad
ASI - Analisis
DSI- Diseño
CSI - Construcción
IAS - Iplantación y aceptación

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

En qué se dividen los procesos en Métrica3? Y estas a su vez?

A

Se dividen en actividades
Las actividades se dividen en tareas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Cómo se llaman las partes de Métrica3 que son comunes a todos los procesos? Cuáles son?

A

Se llaman Interfaces

Calidad
Gestión de proyectos
Gestión de la configuración
Seguridad

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

4 Valores del Manifiesto Ágil

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

12 Principios del Manifiesto Ágil

A
  1. Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y continua de software con valor.
  2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
  3. Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al período de tiempo más corto posible.
  4. Los responsables del negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.
  5. 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.
  6. 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.
  7. El software funcionando es la medida principal de progreso.
  8. Los procesos ágiles promueven el desarrollo sostenido. Los promotores, desarrolladores y usuarios debemos mantener un ritmo constante de forma indefinida.
  9. La atención continua a la excelencia técnica y al buen diseño mejora la agilidad.
  10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
  11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
  12. A intervalos regulares, el equipo reflexiona sobre cómo ser más efectivo para, a continuación, ajustar y perfeccionar su comportamiento en consecuencia.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Metodologías ágiles

A

XP
SCRUM
FDD
KANBAN

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

SCRUM

A

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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Xtreme Programing

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Productos de integración contínua

A
  • 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

17
Q

Qué son las pruebas de caja blanca y caja negra?

A

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

18
Q

Herramientas de pruebas

Funcionales
Unitarias
Carga
Análisis código estático

A

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

19
Q

Tipos de pruebas funcionales

A

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

20
Q

Tipos de pruebas no funcionales

A

Compatibilidad
Rendimiento
Seguridad
Usabilidad

21
Q

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.

A

Leer
https://manuel.cillero.es/doc/metodologia/metrica-3/tecnicas/pruebas/

22
Q

Diferenciar bien entre las pruebas de
Rendimiento
Volumen
Sobrecarga

que están dentro de las pruebas de Sistema de Metrica3

A
  • 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.
23
Q

En métrica3 hablan de elementos conductores cuando se refieren a mucks, para simular precondiciones en las pruebas unitarias.

24
Q

Qué dos tipos de sistemas de control de versiones hay? Indica productos de cada

A
  • 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
25
Quíen inventa GIT?
Linus Torvalds para el desarrollo del kernell de Linux
26
Qué características tiene GIT?
Distribuido Soporte avanzado de ramas y mezclas
27
Qué protocolos soporta GIT?
Compatible con **HTTPs** y **SSH**, local protocol y también usa un protocolo propio (**GIT Protocol** por el 9418)
28
Sobre qué tipos de objetos aplica GIT la criptografía sha-1?
Uso de criptografía sha-1 sobre objects tree (como directorios) blobs (como files) commit (snapshots? tag
29
Qué son los siguientes conceptos GIT history commit .gitignore HEAD
history -> los commits apuntan al commit anterior, formando un historial de lo que ha ocurrido commit: snapshot .gitignore -> se añade lo que se quiere que quede fuera del control de versiones HEAD -> Puntero que apunta al último commit
30
Qué pasos tiene un flujo de trabajo en GIT
1. Crear un repositorio en local (git init) 2. Clonar un repositorio 3. Configuración básica
31
Como se hace la configuración básica de GIT? y qué campos típicos se configuran?
git config --global user.name "pepe" git config --global user.mail "pepe@gmail.com" fichero .gitignore
32
Qué hacen los siguientes comandos de git git status git init git clone url git remote -v git log git add git commit -m nombre git branch nombreRama git checkout git diff git merge git tag git push git fetch git pull git reset git rebase
git status -> comprobar el estado del repositorio local, en qué rama estás, ... git init -> crear repositorio git en local desde cero. La rama principal se llama master, aunque se puede cambiar. Se le suele nombrar también main, trunk, development ... **El repo está vacío pero se crea un directorio oculto llamado ".git" con los metadatos del repositorio local** git clone url -> crea un repositorio local a partir de un repositorio remoto. Te crea por defecto la rama origin/main (o master, o development, ... según el producto) git remote -v -> indica con qué repositorio remoto está enlazado el repositorio local git log -> te muestra el histórico de commits, con su hash git add -> añade desde el working directory al staging area, haciendo que ya tenga "seguimiento" git commit -m nombre -> hace un commit poniéndole git branch nombreRama-> crea una rama git checkout -> moverse de rama. Con -b te crea la rama y te mueve a ella. Las ramas están en el Local Repo y se actualiza en el Working directory, saltando el staging area git diff -> mostrar diferencias entre commits git merge -> mezclar dos ramas git tag -> para crear etiquetas sobre commits git push -> para mezclar tu rama master del repo local con la del repo remoto git fetch -> te trae los metadatos del repo remoto, y sabes si estás actualizado o no git pull -> se baja el repo remoto al repo local, a la rama master git reset -> deshacer commits git rebase -> para mezclar commits entre ramas
33
Qué tres tipos de git reset hay?
git reset --soft -> deshace el commit en repo local tal y lo deja en el staging area, como si no se hubiese hecho el git commit git reset --mixed -> deshace el commit en repo local tal y lo deja en el working directory, como si no se hubiese hecho el git add git reset --hard -> deshace el commit y elimina los ficheros cuando se hace un reset de un commit, hay que tener en cuenta que se hace de ese commit y de todos los posteriores. No se puede "extraer" un commit de en medio
34
Qué es la herramienta Git Revert?
Para revertir commits, pero a diferencia del git reset, no elimina nada de la historia En lugar de eliminar el commit de la historia del proyecto, introduce un commit nuevo que hace lo inverso al commit que se quiere eliminar
35
Qué plataformas para repositorios remotos hay? (forjas)
GitHub BitBucket Gitlab Source Forge GForge Redmine Google Code
36
Flujo colaborativo en GitHub git fork git pullrequest
git fork -> se hace una foto al repo remoto y de ahí se hace el clone a tu repo local. Cuando se quiera subir el código se hace con pull request git pullrequest -> sube los cambios para que el dueño del repo remoto vea si los quiere mergear.
37
Herramientas de CI/CD
Jenkins Travis CI Circle CI TeamCity CodeShip Bamboo
38
Qué tres espacios hay en el repositorio local de git? Para qué es cada uno?
Working directory Staging area (o index) -> zona para tener lo que se querrá commitear Local repo
39
Echar un vistazo a los comandos mercurial
https://zbrain-academy.es/pluginfile.php/76387/mod_resource/content/1/Git%20and%20Mercurial%20commands.pdf