• Orientades a programes web. En aquest tipus podem incloure totes les apli- cacions web que treballen sempre amb el mateix conjunt de widgets: els de- finits per HTML. L’avantatge de ser multiplataforma i molt fàcil d’utilitzar li atorga el desavantatge de tenir una interacció reduïda i una dificultat de programació elevada. Avui dia es desenvolupen diferents iniciatives per millorar la interfície d’usuari de la web (AJAX, XForms, etc.), però continua havent-hi un problema d’interacció. En una aplicació que requereix una relació propera amb l’usuari d’intercanvi de dades pot provocar grans pèr- dues de temps i funcionalitat.
Pel que respecta al programari concret a desenvolupar, s’ha decidit construir una aplicació per Moodle, suite de codi obert que permet crear llocs web de formació en línia de forma senzilla i eficaç. Les raons per desenvolupar una aplicació per Moodle han estat quatre: que els programaris d’e‐learning destinats a formació no presencial basats en Internet són essencials en les activitats formatives, que Moodle és probablement el líder entre tots els programaris d’e‐learning, que en els darrers temps han aparegut solucions per a dispositius mòbils que possibiliten l’accés als recursos de formació en mobilitat i, finalment, que Moodle disposa d’una nova API que és ideal per desenvolupar una aplicació que consumeixi els serveis que ofereix a través de la xarxa fent ús de Web Services.
Per tal de poder instal·lar el programari es necessitarà disposar d’un servidor on s’instal·larà el Sistema Gestor de Bases de dades SQL Server 2008. Considerant el volum de dades inicial i la concurrència prevista, en el mateix servidor físic es podrà instal·lar l’aplicació sencera. El Servidor haurà de tenir el Sistema operatiu Windows 2008 Web Server amb Internet Information Server. També haurà de tenir instal·lat Microsoft Framework 4.0.
En altres ocasions ens podem trobar que no existeix documentació o bé que aquesta no ha estat actualitzada a mesura que s'han anat fent canvis i no està al dia. En aquests casos el sistema sol estar construït, i l'objectiu de l'aplicació del mètode és de cares a obtenir una estimació per a una possible modificació del programari o una ampliació de les seves funcionalitats. En aquesta situació encara és possible derivar els requeriments funcionals a partir de l'anàlisi del programari instal·lat en el sistema informàtic. Aquesta tasca, però, pot representar una mica més d'esforç en comparació amb les primeres situacions comentades.
Tot i tenir la infraestructura bàsica i el codi en anglès, el programari ha d’estar preparat per a ser fàcilment adaptable a altres idiomes, en particular si el públic objectiu del nostre projecte és l’usuari del carrer. És fonamental que les biblioteques que emprem en el desen- volupament es puguin integrar fàcilment amb les eines de traducció, com per exemple GNU gettext. La nostra tasca no consisteix només a traduir la nostra aplicació, que tècnicament s’anomena localització (o l10n), sinó que, a més, s’han de modificar altres paràmetres de caràcter cultural com la moneda, els formats de data, etc. Hem de facilitar l’anomenada internacionalització (i18n) del programari, que consisteix precisament a utilitzar els mitjans tècnics perquè la lo- calització sigui possible.
Es va decidir programar en Java perquè, a part que Java assegura la portabilitat desitjada a l’aplicació, l’avantatge de desenvolupar el programari en Java és l’existència de classes de Java per a la programació de sockets. La classe Socket de Java implementa tota la funcionalitat dels sockets en l’espai de noms d’internet. La classe ServerSocket està pensada per a ser usada a l’extrem de la comunicació del servidor, connectar el socket a una adreça i gestionar les peticions de connexió. A més, Java ofereix un ampli ventall de classes (PrintStreams, BufferedReader, etc.) per a processar els Streams de bytes en trànsit en una connexió a internet.
Una vegada realitzades les tasques del desenvolupament emprant les bases de la filosofia del programari lliure, podem assegurar que es tracta d’una experiència molt enriquidora que ens serveix per poder tenir una visió global i total del procés d’enginyeria del programari. S’ha fet ús d’eines de gestió de projectes, de ferramentes de desenvolupament de programari i d’interacció amb d’altres persones mitjançant diverses eines de comunicació. L’inconvenient més gran a què ens hem enfrontat ha estat la baixa - per no ser incisius, ja que realment ha estat nul·la – col·laboració en el procés de creació de l’aplicació. De totes maneres era una situació previsible, ja que és complicat incorporar a persones a un projecte que no se sap a priori quines garantíes d’èxit té. Esperem que després de l’alliberament aquesta situació canvie i el nombre de col·laboradors/usuaris s’amplie i es cree una comunitat activa per al projecte.
En aquest capítol es tractarà de diversos aspectes que alleugereixen els problemes abans esmentats. Així doncs, des del punt de vista d’un programa en el context d’una aplicació que el contingui (o des del punt de vista que sigui l’únic), és important l’adaptació a la mida real de les dades que s’han de processar i la seva disposició en estructu- res dinàmiques, l’organització del codi perquè reflecteixi l’algoritme que implementa i, finalment, tenir el suport del sistema operatiu per a la coordinació amb altres programes dins i fora de la mateixa apli- cació i, també, per a la interacció amb l’usuari.
Anteriorment em definit les etapes per les quals passa un projecte informàtic, aquestes etapes es veuen com un cicle de vida sencer, sobretot si s'hi uneix l'inevitable manteniment de les aplicacions i la retirada al final de la seva vida útil. Mitjançant el cicle de la vida marquem el caràcter evolutiu pales en tots els projectes informàtics. Existeixen diverses metodologies en molts casos referents a l'enginyeria de programari que parteixen de diferents punts de vista sobre el cicle de la vida d'una aplicació. Aquest punts de vista poden ser utilitzats si tenim un projecte d'administració, encara que cal tenir present que evolutivament han estat dissenyats per el desenvolupament de programari.
Per tal de lluitar amb l'èxit imparable de l'Iphone, Google va decidir emprendre un camí radicalment diferent al de la companyia de la poma: enlloc de desenvolupar un programari propietari lligat a una plataforma de maquinari també propietària, Google va utilitzar el sistema operatiu de codi font obert més important del món (Linux) com a base per a oferir a qualsevol fabricant de maquinari un sistema operatiu amb unes característiques similars de les de l'Iphone a cost 0 i amb infinites possibilitats d'adaptació. D'aquesta manera, fabricants com Samsung, LG, HTC o Motorola han vist la oportunitat de crear productes que poden competir amb l'Iphone, però alhora disposar de la possibilitat de diferenciar-se respecte als dispositius de la competència. Tot això ha provocat que, en un temps rècord, l'Android s'hagi convertit en el sistema operatiu més utilitzat (pel que fa a unitats venudes) en el grup dels telèfons intel·ligents.
No és possible realitzar cap treball de temàtica lliure. Les funcionalitats concretes a desenvolupar dins de l’escenari escollit, les proposarà l’estudiant al principi de curs i es pactaran amb el consultor corresponent. Les aplicacions proposades com a exemple (TreeNotes i Picasa) poden servir per a agafar idees, però l'estudiant té llibertat per a proposar quines característiques tindrà la seva aplicació, i com serà la interfície gràfica. En quant a la interfície de l’aplicació, l’estudiant pot escollir una entre les diferents que ofereix la plataforma .NET (client WinForms, pàgina ASP.NET, client embedded, etc.), o crear-ne més d’una.
La idea neix, principalment com un tema personal i perquè no, com a hobby, amb l'objectiu solucionar els problemes que sorgeixen quan es navega amb GPS per dins dels parcs i reserves nacionals, ja que no tenen les rutes ben definides i molt sovint busquen alternatives poc eficients. A més hi ha infinitat d'animals, sobretot molts tipus d'antílops que s'assemblen entre ells, i en el moment que es troben al parc, s'ha de buscar per exemple en un llibre de fauna de la zona, per poder esbrinar l'animal que es tracta. En aquest sentit seria molt útil poder trobar l'animal en qüestió en una aplicació simplement buscant la imatge amb el simple gest d'un dit.
El procés de disseny centrat en l’usuari aplicat al desenvolupament de pro- gramari inclou necessariament l’avaluació de la usabilitat, el coneixement dels usuaris i la recomanació i incorporació de millores; aquest procés també s’anomena enginyeria de la usabilitat. Es diu que la usabilitat és una enginyeria perquè segueix un procés en què es mesura, s’analitza i es compara de manera rigorosa amb dades obtingudes de l’observació i les interaccions dels usuaris. Els enginyers de la usabilitat s’ocupen de la millora tant de la usabilitat de les interfícies d’usuari com de l’experiència dels usuaris amb els productes in- teractius.
En el primer mòdul de l'assignatura, es presenten els conceptes econòmics necessaris per estudiar l'estructura econòmica de la indústria del programari en general, i en particular per articular un model de negoci a partir del programari lliure.
• La Llei 39/2015, d’1 d’octubre, de règim jurídic del sector públic, que recull lo previst a la derogada Llei 11/2007 de 22 de juny, d’ac- cés electrònic dels ciutadans a l’administració, (coneguda com LAESCP). En aquest context, el programari lliure, els estàndards i les tecnolo- gies de fonts obertes estan considerats com la millor opció per al desenvolupament d’un mo- del tecnològic d’e-Administració a la mida de les necessitats i els objectius específics de l’Ad- ministració públic basat en criteris estratègics de transparència, control, seguretat, interope- rabilitat, accés i conservació de la informació, economia, reutilització o cooperació entre or- ganitzacions, contra els quals difícilment poden competir les tecnologies tancades.
Per a empreses i equips de desenvolupament de programari que volen millorar la productivitat en els seus projectes, Devilish és una plataforma de desenvolupament de programari que integra múltiples eines que faciliten els processos i pràctiques implicades, com ara la gestió de projectes i equips, la gestió del cicle de vida, o la comunicació, entre d’altres, i així repercutint en uns millors temps d’entrega i beneficis reportats pel projecte. A diferencia de JIRA o VSTS, Devilish és una plataforma gratuïta, no lligada a cap tecnologia o llenguatge concret, orientada purament al desenvolupament de programari, per a tot tipus d’equips i que segueix de manera clara la filosofia agile.
El procés de cerca i anàlisi d'aplicacions de programari lliure ha resultat especialment interessant pel fet de poder comprovar la quantitat de projectes de codi lliure que estan en marxa actualment en l'àmbit dels SIG. Si es comprova l'estat d'aquestes aplicacions es pot veure la ràpida evolució que han tingut. Tot i que encara estan lluny de poder competir amb alguns programaris propietaris si que ofereixen funcionalitats molt interessants que poden ser útils per a molts projectes de SIG.
La següent definició dels gestors de contrasenyes intenta incloure tots els punts que, al meu entendre, defineixen aquests: Els gestors de contrasenyes són un programari, aplicació o ser[r]
La disponibilitat del codi font dels aplicatius amb llicència BSD, fa que no es depengui del fabricant del programari per la continuïtat del producte. Si el fabricant desaparegués, la inversió feta en el desenvolupament del programari propi (sobre un SGBD concret per exemple) estaria assegurada, ja que aquest motor de base de dades seguiria tenint el manteniment d’una comunitat d’usuaris (distribuïda probablement per tot el mon), que estaria interessada en solucionar els problemes que sorgissin, i fins i tot de continuar la seva evolució. També s’ha de considerar que el desenvolupament dels mòduls d’idioma o altres característiques que poden no ser rentables per un fabricant concret, pot ser desenvolupats pels ‘tercers’ que estiguin interessats.
Actualment un pot trobar diversos articles que mostres l'ús que fan les universitats de plataformes per l'aprenentatge per mitja d'Internet [6][7][8], però es difícil trobar el programari que fan servir per altres tasques com pot ser la gestió acadèmica o dels estudiants. Això es degut a que les universitats han desenvolupat o comprat a tercers el desenvolupament de programari especific per realitzar aquestes tasques.