Este documento discute três tópicos principais: 1) a importância de escolher as ferramentas adequadas para projetos de software, considerando tanto as necessidades dos desenvolvedores quanto dos usuários finais; 2) as vantagens do uso de software livre e de código aberto; 3) a identificação e representação adequada de informações espaciais nos dados.
Desenvolvimento de Projectos com Tecnologias Espaciais
1. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Desenvolvimento de Projectos com Tecnologias
Espaciais
Algumas Reflex˜oes
Joana Sim˜oes 1
1e-GEO, CASA
May 23, 2013
1 / 50
3. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Introduc¸˜ao
Quem s˜ao os principais destinat´arios desta comunicac¸˜ao?
3 / 50
4. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Introduc¸˜ao
Quem s˜ao os principais destinat´arios desta comunicac¸˜ao?
pessoas que desenvolvem projectos de software, com
tecnologias espaciais;
4 / 50
5. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Introduc¸˜ao
Quem s˜ao os principais destinat´arios desta comunicac¸˜ao?
pessoas que desenvolvem projectos de software, com
tecnologias espaciais;
pessoas cuja equipa onde est˜ao integradas n˜ao se dedica como
actividade prim´aria `a implementacao de software (ex: cˆamara
municipal, escola, instituto de investigac¸˜ao aplicada, etc);
5 / 50
6. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Escolha de Ferramentas Adequadas
The right tool, for the right job
Do ponto de vista do developer:
6 / 50
7. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Escolha de Ferramentas Adequadas
The right tool, for the right job
Do ponto de vista do developer:
n˜ao existem soluc¸˜oes ”perfeitas”!;
7 / 50
8. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Escolha de Ferramentas Adequadas
The right tool, for the right job
Do ponto de vista do developer:
n˜ao existem soluc¸˜oes ”perfeitas”!;
avaliar qual ´e a melhor tecnologia para os objectivos que se
pretendem;
8 / 50
9. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Escolha de Ferramentas Adequadas
The right tool, for the right job
Do ponto de vista do developer:
n˜ao existem soluc¸˜oes ”perfeitas”!;
avaliar qual ´e a melhor tecnologia para os objectivos que se
pretendem;
ter em conta a linguagem/ferramenta em que se esta mais
”confort´avel”, e pesar o tempo/esforc¸o em aprender uma
nova;
9 / 50
10. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Escolha de Ferramentas Adequadas
The right tool, for the right job
Do ponto de vista do developer:
n˜ao existem soluc¸˜oes ”perfeitas”!;
avaliar qual ´e a melhor tecnologia para os objectivos que se
pretendem;
ter em conta a linguagem/ferramenta em que se esta mais
”confort´avel”, e pesar o tempo/esforc¸o em aprender uma
nova;
remover os custos ligados `a aquisic¸˜ao de software propriet´ario;
10 / 50
11. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Escolha de Ferramentas Adequadas (+)
Do ponto de vista dos recipientes:
11 / 50
12. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Escolha de Ferramentas Adequadas (+)
Do ponto de vista dos recipientes:
normalmente os sistemas mais ”simples” s˜ao aqueles que se
aguentam mais tempo; sistemas muito sofisticados tˆeem
invariavelmente uma manuntenc¸˜ao complicada e cara!
12 / 50
13. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Escolha de Ferramentas Adequadas (+)
Do ponto de vista dos recipientes:
normalmente os sistemas mais ”simples” s˜ao aqueles que se
aguentam mais tempo; sistemas muito sofisticados tˆeem
invariavelmente uma manuntenc¸˜ao complicada e cara!
evitar tecnologias cutting edge, que ainda n˜ao possuem uma
base de conhecimento s´olida em todo o mundo;
13 / 50
14. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Escolha de Ferramentas Adequadas (+)
Do ponto de vista dos recipientes:
normalmente os sistemas mais ”simples” s˜ao aqueles que se
aguentam mais tempo; sistemas muito sofisticados tˆeem
invariavelmente uma manuntenc¸˜ao complicada e cara!
evitar tecnologias cutting edge, que ainda n˜ao possuem uma
base de conhecimento s´olida em todo o mundo;
sempre que poss´ıvel, optar por standards (ex: OGC) e ”fugir”
de formatos e software proprietario; os standards em princ´ıpio
garantem uma continuidade no tempo e no espac¸o;
14 / 50
15. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Escolha de Ferramentas Adequadas (+)
Do ponto de vista dos recipientes:
normalmente os sistemas mais ”simples” s˜ao aqueles que se
aguentam mais tempo; sistemas muito sofisticados tˆeem
invariavelmente uma manuntenc¸˜ao complicada e cara!
evitar tecnologias cutting edge, que ainda n˜ao possuem uma
base de conhecimento s´olida em todo o mundo;
sempre que poss´ıvel, optar por standards (ex: OGC) e ”fugir”
de formatos e software proprietario; os standards em princ´ıpio
garantem uma continuidade no tempo e no espac¸o;
pensar tamb´em nas restric¸˜oes de hardware dos recipientes:
tˆeem acesso `a internet? tˆeem multi core, que resoluc¸˜ao tˆeem?
15 / 50
16. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Software Livre e de C´odigo Aberto
http://www.gnu.org/philosophy/free-sw.html
Para al´em do custo ”zero” e das motivac¸˜oes ”´eticas”:
16 / 50
17. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Software Livre e de C´odigo Aberto
http://www.gnu.org/philosophy/free-sw.html
Para al´em do custo ”zero” e das motivac¸˜oes ”´eticas”:
custos de hardware mais baixos: geralmente o software FOSS
requer menos capacidade computacional para realizar as mesmas
tarefas que em servidores ”convencionais” ou workstations.
17 / 50
18. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Software Livre e de C´odigo Aberto
http://www.gnu.org/philosophy/free-sw.html
Para al´em do custo ”zero” e das motivac¸˜oes ”´eticas”:
custos de hardware mais baixos: geralmente o software FOSS
requer menos capacidade computacional para realizar as mesmas
tarefas que em servidores ”convencionais” ou workstations.
gest˜ao de licen¸cas simplificada: podem obter-se quantas licenc¸as
se quiser, para instalar em toda a parte, o que quer dizer que a
produtividade n˜ao ´e afectada por quest˜oes de licenc¸as.
18 / 50
19. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Software Livre e de C´odigo Aberto (+)
amplo suporte: o suporte para FOSS ´e muitas vezes superior ao de
soluc¸˜oes propriet ´arias. Isto deve-se s que existem dois n ´ıveis de
suporte: o gratuito, providenciado pela comunidade online (em
crescimento) e o pago, que muitas companhias agora disponibilizam
(ex: Novell).
19 / 50
20. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Software Livre e de C´odigo Aberto (+)
amplo suporte: o suporte para FOSS ´e muitas vezes superior ao de
soluc¸˜oes propriet ´arias. Isto deve-se s que existem dois n ´ıveis de
suporte: o gratuito, providenciado pela comunidade online (em
crescimento) e o pago, que muitas companhias agora disponibilizam
(ex: Novell).
qualidade de software: o processo de revis˜ao pelos pares e os
standards da comunidade, adicionados ao facto de que o c´odigo ´e
revelado a todos, tendem a promover a ”excelˆencia” em design e
coding;
20 / 50
21. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Software Livre e de C´odigo Aberto (+)
amplo suporte: o suporte para FOSS ´e muitas vezes superior ao de
soluc¸˜oes propriet ´arias. Isto deve-se s que existem dois n ´ıveis de
suporte: o gratuito, providenciado pela comunidade online (em
crescimento) e o pago, que muitas companhias agora disponibilizam
(ex: Novell).
qualidade de software: o processo de revis˜ao pelos pares e os
standards da comunidade, adicionados ao facto de que o c´odigo ´e
revelado a todos, tendem a promover a ”excelˆencia” em design e
coding;
”vida” extendida: a disponibilidade do c´odigo fonte e o direito de
o modificar (”liberdade” numero 1) possibilita o melhoramento
ilimitado do software. Tambem possiblita port´a-lo para um novo
hardware ou sistema operativo. O direito de distribuir as vers˜oes
modificadas (”liberdade” 3) possibilita as actualizac¸˜oes frequentes.
21 / 50
22. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Software Livre e de C´odigo Aberto (+)
Milestone na historia do FOSS em Portugal:
22 / 50
23. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Software Livre e de C´odigo Aberto (+)
Milestone na historia do FOSS em Portugal:
Recentemente o Tribunal anulou um concurso p´ublico relativo ao
licenciamento e manuntenc¸˜ao de software Microsoft, lanc¸ado por
uma cˆamara municipal.
Ler a hist´oria completa: http://tinyurl.com/bx42shh
23 / 50
24. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Identificar a Informac¸˜ao Espacial
A informac¸˜ao espacial pode j´a estar inclu´ıda nos dados, embora os
stakeholders n˜ao estejam cientes disso. H´a que identific´a-la e
represent´a-la de forma adequada.
24 / 50
25. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Exemplo: Pontos como Coordenadas
25 / 50
28. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Representar a Informac¸˜ao Espacial
Em ´ultima instˆancia a forma como representamos os dados
espaciais, vai determinar as operac¸˜oes que podemos fazer com eles.
28 / 50
29. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Representar as Informac¸˜ao Espacial (+)
Uma ”estac¸˜ao” de arrasto (recolha de amostras de pesca), pode
ser armazenada como:
29 / 50
30. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Representar as Informac¸˜ao Espacial (+)
Uma ”estac¸˜ao” de arrasto (recolha de amostras de pesca), pode
ser armazenada como:
uma sequˆencia de pontos;
30 / 50
31. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Representar as Informac¸˜ao Espacial (+)
Uma ”estac¸˜ao” de arrasto (recolha de amostras de pesca), pode
ser armazenada como:
uma sequˆencia de pontos;
uma linha;
31 / 50
32. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Representar as Informac¸˜ao Espacial (+)
Uma ”estac¸˜ao” de arrasto (recolha de amostras de pesca), pode
ser armazenada como:
uma sequˆencia de pontos;
uma linha;
um pol´ıgono.
32 / 50
33. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Representar a Informac¸˜ao Espacial (+)
Se queremos calcular a ´area arrastada, qual ´e a representac¸˜ao mais
adequada?
33 / 50
34. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Representar a Informac¸˜ao Espacial (+)
Se queremos calcular a ´area arrastada, qual ´e a representac¸˜ao mais
adequada?
pts : s e l e c t area ( b u f f e r ( Makeline ( geometry ) , 0 . 5 ) ) from t r a w l p o i n t s a order by rowid
34 / 50
35. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Representar a Informac¸˜ao Espacial (+)
Se queremos calcular a ´area arrastada, qual ´e a representac¸˜ao mais
adequada?
pts : s e l e c t area ( b u f f e r ( Makeline ( geometry ) , 0 . 5 ) ) from t r a w l p o i n t s a order by rowid
l i n h a : s e l e c t area ( b u f f e r ( a . geometry , 0 . 5 ) ) from t r a w l l i n e s as a
35 / 50
36. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Representar a Informac¸˜ao Espacial (+)
Se queremos calcular a ´area arrastada, qual ´e a representac¸˜ao mais
adequada?
pts : s e l e c t area ( b u f f e r ( Makeline ( geometry ) , 0 . 5 ) ) from t r a w l p o i n t s a order by rowid
l i n h a : s e l e c t area ( b u f f e r ( a . geometry , 0 . 5 ) ) from t r a w l l i n e s as a
p o l i g o n o s e l e c t area ( geometry ) from t r a w l p o l y g o n s
36 / 50
37. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
AGILE
Agile ´e um conjunto de pr´aticas de desenvolvimento de software,
de forma iterativa e incremental, resumido nos 12 princ´ıpios do
manifesto (2001):
http://www.agilemanifesto.org/principles.html
37 / 50
38. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
AGILE
Agile ´e um conjunto de pr´aticas de desenvolvimento de software,
de forma iterativa e incremental, resumido nos 12 princ´ıpios do
manifesto (2001):
http://www.agilemanifesto.org/principles.html
favorecer indiv´ıduos e interacc¸˜oes, em detrimento de processos
e ferramentas;
38 / 50
39. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
AGILE
Agile ´e um conjunto de pr´aticas de desenvolvimento de software,
de forma iterativa e incremental, resumido nos 12 princ´ıpios do
manifesto (2001):
http://www.agilemanifesto.org/principles.html
favorecer indiv´ıduos e interacc¸˜oes, em detrimento de processos
e ferramentas;
favorecer software que funciona, em detrimento de extensa
documentac¸˜ao;
39 / 50
40. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
AGILE
Agile ´e um conjunto de pr´aticas de desenvolvimento de software,
de forma iterativa e incremental, resumido nos 12 princ´ıpios do
manifesto (2001):
http://www.agilemanifesto.org/principles.html
favorecer indiv´ıduos e interacc¸˜oes, em detrimento de processos
e ferramentas;
favorecer software que funciona, em detrimento de extensa
documentac¸˜ao;
favorecer colaborac¸˜ao dos stakeholders, em detrimento de
negociac¸˜ao de contratos;
40 / 50
41. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
AGILE
Agile ´e um conjunto de pr´aticas de desenvolvimento de software,
de forma iterativa e incremental, resumido nos 12 princ´ıpios do
manifesto (2001):
http://www.agilemanifesto.org/principles.html
favorecer indiv´ıduos e interacc¸˜oes, em detrimento de processos
e ferramentas;
favorecer software que funciona, em detrimento de extensa
documentac¸˜ao;
favorecer colaborac¸˜ao dos stakeholders, em detrimento de
negociac¸˜ao de contratos;
favorecer resposta `a mudanc¸a, em detrimento de ”seguir um
plano”;
41 / 50
42. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
AGILE (+)
O desenvolvimento AGILE est´a francamente estabelecido na
ind´ustria de software, mas n˜ao suficientemente na ´area dos SIG.
Numa survey realizada em 2008, apenas 23% dos developers de SIG
utilizavam pr´aticas AGILE (contra 69% dos developers de software
mainstream).
survey: http://edgehopper.com/results-of-agile-gis-survey/
42 / 50
43. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Mitos
Alguns ”mitos” sobre a implementac¸˜ao de metodologias Agile:
43 / 50
44. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Mitos
Alguns ”mitos” sobre a implementac¸˜ao de metodologias Agile:
s´o se aplica em equipas de desenvolvimento de software com
v´arias pessoas, ou em projectos de grande dimens˜ao;
44 / 50
45. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Mitos
Alguns ”mitos” sobre a implementac¸˜ao de metodologias Agile:
s´o se aplica em equipas de desenvolvimento de software com
v´arias pessoas, ou em projectos de grande dimens˜ao;
´e obrigat´orio implementar todas as pr´aticas Agile;
45 / 50
46. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Mitos
Alguns ”mitos” sobre a implementac¸˜ao de metodologias Agile:
s´o se aplica em equipas de desenvolvimento de software com
v´arias pessoas, ou em projectos de grande dimens˜ao;
´e obrigat´orio implementar todas as pr´aticas Agile;
toma muito tempo;
46 / 50
47. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Ferramentas Agile
Algumas Ferramentas Agile:
comunicac¸˜ao simples, falada ou escrita (VoIP, email);
web-based collaborative editors (wiki, etherpad);
versioning systems (git, Subversion, etc);
ferramentas integradas de gest˜ao de projectos (Redmine,
Trac, etc);
47 / 50
48. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Ferramentas Agile (+)
Esta ´e a ”melhor” ferramenta Agile:
48 / 50
49. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Roadmap para o ”sucesso”:
(Alguns) aspectos a ter em conta:
49 / 50
50. Introdu¸c˜ao
Escolha de Ferramentas Adequadas
FOSS
Informa¸c˜ao Espacial
AGILE
Sumario
Referˆencias
Referˆencias
Shore, J. ”The Art of Agile Development”. O’Reilly Media; 1 edition
(November 2, 2007)
Simoes, J. ”Some Thoughts on Writing a Scientific Application”.
CVU, Vol. 4, Issue 2 (May, 2012). url:
http://accu.org/var/uploads/journals/cvu242.pdf
Stallman, R. ”Free Software, Free Society”. FSF (2002). url:
http://www.gnu.org/doc/fsfs-ii-2.pdf
http://www.casa.ucl.ac.uk/joanamargarida/
http://www.doublebyte.net
50 / 50