Foratdidees’s Blog

19 Març 2009

Sistemes de control de versions pel desenvolupament de projectes

Filed under: Control de versions — Etiquetes: — paurullan @ 6:19 am

L’objectiu de les enginyeries és arreglar problemes per fer més fàcil la vida de la gent. Sigui un pont per creuar un riu o un navegador web qualsevol projecte té un cos de coneixement que tots els membres de l’equip de desenvolupament han de compartir. Definim una versió com l’estat de les dades d’un projecte a un cert moment en el temps. Així entendrem un sistema de control de versions (SCV) com una eina informàtica per facilitar el progrés i la feina en equip durant el progrés d’un projecte.

Sigui un conflicte una situació inconvenient on dos membres distints estan modificant la mateixa secció del treball. El problema dels conflictes és que potser les noves dades no són fàcilment integrables al conjunt global del projecte. Entenem resoldre un conflicte com el procés d’arreglar un conflicte. Existeixen algorismes que automàticament superen un conjunt de situacions de conflicte però hi ha casos on hauran de ser els propis desenvolupadors qui busquin solució al conflicte. Els sistemes i mètodes de resoŀlució de conflictes són un dels principals punts distintius entre els diferents sistemes de control de versions.

Anomenam repositori al conjunt de dades del projecte. Dins el repositori desam documentació, dades estadístiques, codi font, jocs de proves o qualsevol element útil per l’èxit del projecte. Cadascun dels desenvolupadors i participants tindrà accés a les distintes seccions del repositori per poder executar les seves tasques. Sobre aquest repositori els desenvolupadors aniran afegint el material i creant distintes versions, escrivint així un historial de tot el treball fet al llarg del desenvolupament.

L’historial del projecte és un recurs que es comporta com una màquina del temps. Tota dada, línia de codi o document que fiquem dins el sistema serà accessible al llarg del temps. D’aquesta manera no cal passar pena de repartir tasques o fer proves doncs sempre podrem recuperar la feina anterior. Experimentar és molt més agradable ja que el pitjor que podem fer és perdre l’estona i mai posarem en perill el repositori del projecte. Això no arregla el problema de les còpies de seguretat: hem de desar periòdicament el nostre repositori. El que el sistema de control de versions ens assegura és que podem llegir la versió de fa un mes, comparar-la amb la versió actual o saber qui va crear un fitxer concret.

Un dels avantatges de tenir un historial complet és poder usar-lo com informació d’entrada per extreure mètriques sobre el nostre projecte. Gràcies a que desam tota la informació rellevant des de l’inici del repositori és possible obtenir dades útils per tècniques pròpies de l’enginyeria: càlcul de costos, volum de feina per membre o temps aproximat de termini del projecte. Amb tècniques estadístiques es poden fer intents d’entendre els factors d’èxit d’un projecte o intentar pronosticar com anirà. Sense entrar en una discussió sobre la utilitat, certesa i precisió d’aquestes valoracions el fet de disposar de les dades és un punt tan important que cap projecte s’hauria de fer sense un sistema de control de versions.

Els dos principals paradigmes de sistemes de control de versions són el centralitzat i el distribuït. La seva major diferència consisteix en el grau de dependència que tenen els desenvolupadors i el repositori del projecte. Aquestes diferències són de caire tècnic però tenen conseqüències a nivell social i logístic. Els centralitzats es caracteritzen per tenir un sol repositori comú a tots els membres. En el cas dels distribuïts cada membre té una còpia de tot el conjunt de coneixement del projecte: cada participant és una illa en si mateix. Si cada desenvolupador té el nivell de flexibilitat de poder dirigir el projecte en la direcció que ell cregui es redueixen les complicacions jeràrquiques. Dins el camp de l’enginyeria aquest fet és positiu: les disputes es resolen per arguments científics i no socials.

La intenció d’aquest informe consisteix en fer una repassada tècnica al que són els sistemes de controls de versions, el flux de feina al llarg d’un projecte i les seves implicacions dins la ciència i en concret a l’enginyeria del programari. Els SCV tenen característiques que els fan molt interessants per qualsevol tipus de projectes, des del disseny i la planificació a l’enginyeria fins a la redacció de textos. Per acabar es repassa com influencia el SCV dins el desenvolupament de programari lliure i de com escollir un sistema descentralitzat pot significar un canvi radical a la manera de treballar.

3 Març 2009

Els pla de Bolonya, o com perdre la fe en la universitat

Filed under: Política, Universitat — paurullan @ 9:08 pm

Des del tractat de Maastricht la Unió Europea segueix un camí d’unificació a nivell de processos, lleis i sistemes funcionals. Al camp de l’educació el major procés és l’Espai Europeu d’Educació Superior (EEES) o més conegut com a Procés de Bolonya. Aquest tractat, firmat a la ciutat de Bolonya l’any 1999, proposa un conjunt de mesures per harmonitzar l’educació universitària a nivell europeu. Desgraciadament el que actualment es té al cap quan parlam de Bolonya és un fallit intent de modernitzar la universitat. Les causes d’aquesta fallida van des d’un procés on no s’ha escoltat l’opinió de la comunitat universitària fins a greus problemes de finançament.

El tema central de l’EEES és facilitar la mobilitat dels estudiants i professionals per tot el territori europeu. La igualació de títols universitaris entre països facilita l’administració i contractació de gent de qualsevol dels membres del pla. Un cop la Unió Europea obrí les fronteres per explotar el comerç entre els estats de l’aliança la següent passa lògica era la convergència de persones amb formació i educació superior.

Els problemes varen aparèixer durant el desenvolupament dels nous plans d’estudis: l’estil d’ensenyament proper i continu demana una forta inversió d’infraestructura i beques. El fet que els plans d’estudis tinguin una gran càrrega de treball setmanal impossibilita que els estudiants combinin feines remunerades amb el curs acadèmic. Sense un sistema de patronatge i l’amenaça d’uns màsters cars una important part de la societat no tindrà accés a l’educació superior. Sense el correcte finançament la universitat cor el perill de convertir-se en un luxe pels joves espanyols.

L’altre gran problema del procés de Bolonya ha sigut la poca transparència amb que s’ha duit a terme la redacció dels plans d’estudis: totes les decisions que s’han pres sense tenir cap tipus de debat social. Els propis alumnes sofreixen una completa desinformació. La universitat ha ignorat les opinions dels seus membres, siguin professors o estudiants.

El Govern ha donat el privilegi a les universitats que siguin elles mateixes qui redactin el conjunt de les assignatures. El fet que la nostra universitat no comparteixi pla d’estudis amb les altres institucions a nivell estatal dificulta artificialment la mobilitat dels alumnes. La mateixa mobilitat que impulsà i inicià tot el procés.

En resum: si feim el pensament enrere la idea inicial del procés de Bolonya és bona. Però no així. La falta de previsió, transparència i debat han portat a una destrucció de la universitat com a eina d’aprenentatge. Si l’EEES segueix endavant en la seva forma actual la qualitat de vida i ensenyança pot veure’s greument ferida i corrompuda.

Bloc a WordPress.com.