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

Pipelines
Construcción
Repositorios de codigo fuente
Repos binarios
Análisis código
Test unitarios
Runtime

A
  • Pipelines -> Jenkins, Spinnaker (Netflix)
  • Construcción -> Maven
  • Repositorios de codigo fuente -> GIT, SVN, TFS (teams foundation)
  • Repos binarios -> Artifactory(jfrog), Nexus(sonatype), Apache Archiva
  • Análisis código -> SonarQube
  • Test unitarios -> JUnit
  • Runtime -> JBOSS

CI -> hasta test
CD -> hasta deploy

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

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

Quíen inventa GIT?

A

Linus Torvalds para el desarrollo del kernell de Linux

26
Q

Qué características tiene GIT?

A

Distribuido
Soporte avanzado de ramas y mezclas

27
Q

Qué protocolos soporta GIT?

A

Compatible con HTTPs y SSH, local protocol y también usa un protocolo propio (GIT Protocol por el 9418)

28
Q

Sobre qué tipos de objetos aplica GIT la criptografía sha-1?

A

Uso de criptografía sha-1 sobre objects

tree (como directorios)
blobs (como files)
commit (snapshots?
tag

29
Q

Qué son los siguientes conceptos GIT

history
commit
.gitignore
HEAD

A

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
Q

Qué pasos tiene un flujo de trabajo en GIT

A
  1. Crear un repositorio en local (git init)
  2. Clonar un repositorio
  3. Configuración básica
31
Q

Como se hace la configuración básica de GIT? y qué campos típicos se configuran?

A

git config –global user.name “pepe”
git config –global user.mail “pepe@gmail.com”
fichero .gitignore

32
Q

Qué hacen los siguientes comandos de git

git status
git init
git clone url
git remote -v
git remote add / rm / rename
git log
git add
git commit -m nombre
git commit –ammend
git branch nombreRama
git checkout
git diff
git merge
git tag
git push
git fetch
git pull
git reset
git rebase
git blame
git mv

A

git status -> comprobar el estado del repositorio local, enumera los archivos que se han preparado, los que están sin preparar y los archivos sin seguimiento.
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 las conexiones remotas con otros repositorios que hay configuradas en /git/config
git remote add / rm / rename -> añade una conexión a un repo remoto en git/config // la borra // renombra una
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 commit –ammend -> para sustituir el último commit, por uno nuevo, cuando nos hemos dejado algo olvidado en ese
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
git blame -> visualizar los metadatos de autor adjuntos a líneas específicas confirmadas en un archivo
git mv -> renombrar un fichero

33
Q

Qué tres tipos de git reset hay?

A

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
Q

Qué es la herramienta Git Revert?

A

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
Q

Qué plataformas para repositorios remotos hay? (forjas)

A

GitHub
BitBucket
Gitlab
Source Forge
GForge
Redmine
Google Code

36
Q

Flujo colaborativo en GitHub

git fork
git pullrequest

A

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
Q

Herramientas de CI/CD

A

Spinnaker
Jenkins
Travis CI
Circle CI
TeamCity
CodeShip
Bamboo

38
Q

Qué tres espacios hay en el repositorio local de git? Para qué es cada uno?

A

Working directory
Staging area (o index) -> zona para tener lo que se querrá commitear
Local repo

39
Q

Echar un vistazo a los comandos mercurial
Qué diferencia hay principal con git?

A

https://zbrain-academy.es/pluginfile.php/76387/mod_resource/content/1/Git%20and%20Mercurial%20commands.pdf

Empiezan con hg
Son todos iguales salvo git branch, que es hg bookmarks y git checkout que es hg bookmark (nombre bookmark) para moverte a uno

40
Q

Diferencias entre Continuous Integration, Continuous Deployment y Continuous Delivery

A

Integración Continua se enfoca en la automatización de la integración y las pruebas de código, Entrega Continua se centra en la automatización de la entrega de software a entornos de pruebas, y Despliegue Continuo automatiza la implementación del software en producción.