Está en la página 1de 18

UNIVERSIDAD TÉCNICA PARTICULAR DE LOJA

La Universidad Católica de Loja

Titulación de Ingeniería Informática

INGENIERÍA DE SOFTWARE

Segundo Bimestre

Tarea: Informe de actividad 2

Estudiantes:

Nombre
Nombre
Nombre
Jorge Ismael Flores Cumbicus

e-mail: jfismael@outlook.com

2017
Contenido

Actividad 2 ................................................................................................................................. 2

Implementación de aplicaciones utilizando herramientas de administración de la

configuración .......................................................................................................................... 2

Selección de herramienta .................................................................................................... 2


Configuración de la herramienta BitBucket ....................................................................... 3
Configuración de Git .......................................................................................................... 5
Clonando el repositorio de BitBucket para trabajar en nuestro equipo (repo local) .......... 8
Configurando sucursales para trabajar en equipo ............................................................. 10
Uniendo los cambios ........................................................................................................ 12
Implementación de la aplicación ...................................................................................... 14
Herramientas para el Proceso de Gestión de Configuración del Software .......................... 14

Ventajas ............................................................................................................................ 15
Desventajas ....................................................................................................................... 15
Bibliografía .............................................................................................................................. 17
Actividad 2
Implementación de aplicaciones utilizando herramientas de administración de la
configuración
Selección de herramienta
La gestión de configuración del software es un conjunto de actividades diseñadas para
identificar y definir los elementos en el sistema que probablemente cambien, controlando el
cambio de estos elementos a lo largo de su ciclo de vida, siendo uno de los procesos clave para
toda organización dedicada a la ingeniería del software. En la actualidad existe una gran
variedad de herramientas que apoyan a este proceso cada una de ella con características propias
y que se adaptan a diferentes metodologías de desarrollo (Wikiversity, 2016).

(Geovanny Hernández & Danny Chacón, n.d.) Dentro de las herramientas que nos permiten
realizar la administración de la configuración tenemos las siguientes:

Git: Su objetivo es mantener gran cantidad de archivos para un extenso número de


programadores. Al realizar la gestión de configuraciones toma una “foto” del estado de cada
archivo; si posee modificaciones y si el archivo no ha sufrido cambios, no realiza una copia del
mismo.

BitBucket: Herramienta que combinadas con Git, hacen que el versionado del código fuente
sea una tarea más organizada y fácil de controlar y hace que la integración al proyecto principal
sea una tarea simple y en un corto tiempo. Herramientas que facilitan el trabajo en equipo para
llevar el control de versiones utilizando un repositorio en la nube.

Subversión: Herramienta de control de versiones, que utiliza un árbol de archivos en un


repositorio que guarda todos los cambios que se realice a los archivos y a los directorios, y
además facilita realizar revisiones de las modificaciones de los componentes del sistema.

CVS: es una forma de trabajo relacionada con el desarrollo de software, que guarda el código
fuente, almacena las versiones de todos los archivos, y lleva un registro del acceso de los
participantes; además permite combinar el código de dos o más programadores que trabajen en
un mismo archivo.

Mercurial: es un sistema multiplataforma de control versiones, desarrollado en su mayoría en


lenguaje Python; facilita la gestión de una gran cantidad de archivos usando un repositorio
distribuido, a diferencia de los sistemas de control de versiones tradicionales.

Bazaar: esta herramienta fue diseñada principalmente para facilitar la contribución en grandes
proyectos de software libre; soporta flujos de trabajos distribuidos o centralizados, y puede ser
usado por un único programador o por varios a través de la red.

El objetivo principal de éstas herramientas es realizar a mano el control y seguimiento de las


versiones del código fuente trae muchos conflictos como ser:
 Tener muchas copias del mismo proyecto y luego olvidar cual es la copia que funciona.
 Si el dispositivo donde está guardado el proyecto deja de funcionar todo el esfuerzo
habrá sido en vano.
 Si estás trabajando con un equipo donde todos modifican el código, será un dolor de
cabeza integrar el código de cada uno al proyecto principal.

Por ello el desarrollo de software es una tarea que requiere de buenas prácticas y herramientas
adecuadas que permitan a un equipo o persona realizar la construcción del software de la mejor
manera teniendo el control de las versiones del código fuente. Para realizar el trabajo de la
actividad hemos seleccionado las herramientas Git y Bitbucket, que como habíamos indicado
anteriormente éstas dos herramientas combinadas hacen que el versionado del código fuente
sea una tarea más organizada y fácil de controlar individualmente o en equipo.

Ilustración 1 Tomada de wikiversity, los equipos cliente cuenta con Git para
gestionar el repositorio local en la nube de Bitbucket

Se seleccionó éstas herramientas porque entre sus principales ventajas destacan:

 Se puede disponer del código fuente en cualquier lugar, y también recuperar


rápidamente el contenido del repositorio de trabajo de alguna otra persona.
 Es multiplataforma, basada en PHP y con soporte para bases de datos MySQL,
PostgreSQL y MS SQL.
 Facilidad de uso e intuitivas.
 Licencia gratuita, ya que es GPL v2 esta define a la aplicación como software libre, con
libertad de uso, modificación y distribución.
 Cualquiera puede editar.
 Soportan varios procesos de desarrollo.
 Integración con varias herramientas como Git, Subversion, Bugzilla, Visual Studio.
 Seguimiento en tiempo real de la evolución de los proyectos, chat, entre otras.

Configuración de la herramienta BitBucket


Para la realización de la configuración de la herramienta se llevó a cabo los siguientes pasos:
Una vez creada una cuenta en Bitbucket.org se procede a crear un equipo de trabajo.

Ilustración 2 Creando el equipo de trabajo DevActividad2 en BitBucket

A continuación, se procede a crear un proyecto

Ilustración 3 Proyecto para el desarrollo de aplicación

Seguido a ello, se creó el repositorio sobre el cual trabajaríamos el código fuente de la


aplicación, gestionando el versionado con Git.
Ilustración 4 Repositorio principal (nube) para gestionar el versionado de la aplicación

Con lo antes realizado ya podremos trabajar sobre el repositorio en la nube una vez subido el
proyecto local, lo cual se indica a continuación a través de Git.

Configuración de Git
Proyecto a realizar la administración de la configuración

Ilustración 5 Proyecto Aplicación Postulación Ferias Loja - MVC

Instalado Git, abrimos CMD y con ello ejecutamos los comandos necesarios para crear el
repositorio local sobre el proyecto creado y la sincronización en el repositorio que se
encuentra en la nube BitBucket.

Accedemos a la ruta donde se encuentra el proyecto e creamos el git

Ilustración 6 Inicializamos el repositorio local Git

Añadimos los cambios para ser subidos al repositorio en la nube de BitBucket

Ilustración 7 Revisión del estado del repositorio local


Ilustración 8 Añadiendo los cambios a ser subidos

Hacemos un commit indicando los cambios que realizamos

Ilustración 9 Primer commit que se realizó

Se agrega el repositorio remoto

Ilustración 10 Agregando el repositorio remoto al repositorio local

Como estamos agregando un repositorio remoto, se nos pedirá iniciar sesión con los datos de
la cuenta.
Ilustración 11 Iniciando sesión para agregar el repositorio remoto

Seguido a ello, ejecutamos el comando que nos permite subir el repositorio local a la nube, o
en su defecto los cambios que se realice.

Ilustración 12 Subiendo el repositorio local a bitbucket


Como se puede apreciar, el contenido del repositorio local ahora se encuentra en la nube el
cual será modificado por los demás comapñeros del grupo, o quienes deseen aportar ya que el
proyecto está en estado público.

Clonando el repositorio de BitBucket para trabajar en nuestro equipo (repo local)


Crear una carpeta en cualquier ruta (ruta del repositorio)
Ilustración 13 Repositorio local en la nube de BitBucket
C:\AppOther

Abrir la consola de comando CMD

Ejecutar el comando cd <ruta del repositorio>

cd C:\AppOther

Una vez ingresado a la ruta, ejecutar el comando git clone <su ruta repositorio remoto>

Ilustración 14 Ruta repositorio remoto a clonar

Para el caso:

git clone https://NandoAvi@bitbucket.org/devactividad2/repositorio.git

Una vez clonado el repositorio tendrán C:\AppOther\repositorio, les recomiendo mover todo
el contenido de la carpeta \repositorio a la carpeta C:\AppOther, caso contario tendrán que
hacer nuevamente la consola de comandos: cd C:\AppOther\repositorio

Realizado lo anterior debemos tener así

Ilustración 15 Repositorio remoto clonado en ruta local

Podemos ejecutar

C:\AppOther>git status
Y tendremos los resultados siguientes, puesto que no existe ningún cambio aún

On branch master

Your branch is up to date with 'origin/master'.

Ahora debemos configurar usuario y contraseña globales

git config --global user.name "su usuario bitbucket"


git config --global user.email "su correo bitbucket"

Configurando sucursales para trabajar en equipo


Primero se debe agregar los usuarios al repositorio y conceder sus permisos (Para este caso –
permiso “Admin”)

Ilustración 16 Agregando usuarios al repositorio BitBucket

O también

Ilustración 17 Agregando permisos a usuarios

Concedidos los permisos el usuario debe crear una sucursal y configurarla con su repositorio
local.

Para este caso (branch name = nando)


Ilustración 18 Creando sucursal nando

Creada la sucursal nando en bitbucket, se procede a sincronizar la sucursal con el repositorio


local

Estando dentro del repositorio ejecutar:

git fetch && git checkout <nombre branch creado>

Si todo va bien obtendrán:

From https://bitbucket.org/devactividad2/repositorio
* [new branch] nando -> origin/nando
Switched to a new branch 'nando'
Branch 'nando' set up to track remote branch 'nando' from 'origin'.

Añadimos la sucursal encontrada:

git add .

Realizamos un commit

git commit -m "Añadiendo sucursal nando"

Se nos indicará que la sucursal, está lista para operar con el usuario que la creo
On branch nando
Your branch is up to date with 'origin/nando'.
nothing to commit, working tree clean

Lo podemos constatar, realizando:


git push
Everything up-to-date
A partir de ahora podemos realizar los cambios o elaborar nuevas características para subirlas
a la sucursal creada para que luego sean aprobadas (pull resquest)

Estos comandos se deben ejecutar para cuando se realice cambios y se desea subirlos al
repositorio, se muestra datos de consola de comandos para el ejemplo:

C:\AppOther>git status
On branch nando
Your branch is up to date with 'origin/nando'.

Changes not staged for commit:


(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

modified: ComandoGIT.txt

no changes added to commit (use "git add" and/or "git commit -a")

C:\AppOther>git add .

C:\AppOther>git commit -m "Agregando sucursal nando"


[nando 55307bd] Agregando sucursal nando
1 file changed, 2 insertions(+), 1 deletion(-)

C:\AppOther>git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 310 bytes | 310.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote:
remote: Create pull request for nando:
remote: https://bitbucket.org/devactividad2/repositorio/pull-requests/new?source=nando&t=1
remote:
To https://bitbucket.org/devactividad2/repositorio.git
c35be1a..55307bd nando -> nando
Ilustración 19 Subiendo un nuevo cambio a sucursal nando

Uniendo los cambios


Cuando realicen un cambio y lo haya subido al repositorio, con lo permiso necesarios podrán
realizar un [Create full resquest] para luego realizar la unión [Merge]

Una vez que se realice la unión, se podrá revisar los cambios efectuados.

Ilustración 20 Creando pull resquest y merge

Ilustración 21 Revisión de cambios

Ilustración 22 Revisión de usuario que realizó cambios


Implementación de la aplicación
El despliegue del proyecto se lo realizó utilizando servicios de Microsoft Azure, la aplicación
se la puede utilizar en: http://postulacionferiasloja.azurewebsites.net/

Se añaden algunas capturas de pantalla

Aquí en adelante poner su aporte

Herramientas para el Proceso de Gestión de Configuración del Software

La gestión de configuración del software es un conjunto de actividades diseñadas para


identificar y definir los elementos en el sistema que probablemente cambien, controlando el
cambio de estos elementos a lo largo de su ciclo de vida, siendo uno de los procesos clave para
toda organización dedicada a la ingeniería del software.

En la actualidad existe una gran variedad de herramientas que apoyan a este proceso cada una
de ella con características propias y que se adaptan a diferentes metodologías de desarrollo.

Control de versiones
Realizar a mano el control y seguimiento de las versiones del código fuente trae muchos
conflictos como ser:

 Tener muchas copias del mismo proyecto y luego olvidar cual es la copia que funciona.
 Si el dispositivo donde está guardado el proyecto deja de funcionar todo el esfuerzo habrá
sido en vano.
 Si estás trabajando con un equipo donde todos modifican el código, será un dolor de cabeza
integrar el código de cada uno al proyecto principal.

Por ello el desarrollo de software es una tarea que requiere de buenas prácticas y herramientas
adecuadas que permitan a un equipo o persona realizar la construcción del software de la mejor
manera teniendo el control de las versiones del código fuente.
Git y BitBucket, dos herramientas que combinadas hacen que el versionado del código fuente
sea una tarea más organizada y fácil de controlar y hace que la integración al proyecto principal
sea una tarea simple y en un corto tiempo.
Ventajas de las herramientas git y bitpucket

 Simplicidad y el aprovechamiento de los permisos preexistentes de acceso.


 Preparar un repositorio es muy sencillo, simplemente pones el repositorio básico en algún
lugar donde todos tengan acceso a él y ajustas los permisos de lectura/escritura según
proceda, tal y como lo harías para preparar cualquier otra carpeta compartida.
 Puedes disponer del código fuente en cualquier lugar, y también recuperar rápidamente el
contenido del repositorio de trabajo de alguna otra persona.
 Integrar el proyecto cuando se trabaja en equipo ahora es más sencillo y reduce el tiempo
de integración.

Desventajas de las herramientas git

 Aprendizaje : Es algo por lo que tendremos que pasar cada vez que queramos incluir
alguna nueva tecnología en un flujo de trabajo ya establecido. Deberemos formar al
equipo de desarrollo o a aquellas personas a las que tendremos que dar acceso a nuestro
trabajo en el servicio de control de versiones; para evitar así posibles errores en la
realización de cambios (salvables por su puesto al estar ahí el registro de cambios y
versiones

 La principal desventaja de los repositorios basados en carpetas y archivos es su


dificultad de acceso desde distintas ubicaciones. Por ejemplo, si quieres enviar (push)
desde tu portátil cuando estás en casa, primero tienes que montar el disco remoto; lo
cual puede ser dificil y lento, en comparación con un acceso basado en red.

 Cabe destacar también que una carpeta compartida no es precisamente la opción más
rápida. Un repositorio local es rápido solamente en aquellas ocasiones en que tienes un
acceso rápido a él. Normalmente un repositorio sobre NFS es más lento que un
repositorio SSH en el mismo servidor, asumiendo que las pruebas se hacen con Git
sobre discos locales en ambos casos.

 El aspecto negativo de SSH es su imposibilidad para dar acceso anónimo al repositorio.


Todos han de tener configurado un acceso SSH al servidor, incluso aunque sea con
permisos de solo lectura; lo que no lo hace recomendable para soportar proyectos
abiertos.

 La pega del protocolo Git, es su falta de autentificación. No es recomendable tenerlo


como único protocolo de acceso a tus proyectos. Habitualmente, lo combinarás con un
acceso SSH para los pocos desarrolladores con acceso de escritura que envien (push)
material.
Desventajas de las herramientas bitpucket

 Se necesita de internet que no sea muy lento para poder subir los cambios al repositorio
de bitbucket.

Recomendación
A lo largo de este artículo hemos visto las ventajas y desventajas de las herramientas sugeridas
para el proceso de gestión de la configuración del software.
Con la práctica realizada se demuestra el poder de estas herramientas sugeridas en este artículo,
las cuales nos resuelven diversos problemas que se presentan en el proceso de gestión de
configuración del software, se recomienda realizar prácticas con este conjunto de herramientas.
Bibliografía
Geovanny Hernández & Danny Chacón. (n.d.). Herramientas para la gestión de
configuraciones en el desarrollo de software. Retrieved from
http://www.umariana.edu.co/ojs-
editorial/index.php/BoletinInformativoCEI/article/viewFile/1084/1007

Wikiversity. (2016). Herramientas para el Proceso de Gestión de Configuración del Software


- Wikiversidad. Retrieved January 15, 2018, from
https://es.wikiversity.org/wiki/Herramientas_para_el_Proceso_de_Gestión_de_Configur
ación_del_Software

También podría gustarte