A
GRADECIMENTOS
! " # $ ! %
& '( %
# ) * + # + (
, ! - +# !. / 0
( 0 1 2 , 3
R
ESUMO
'( 4 5 " 5
1 '& , 2
'&
, ( 6 3 " 2
'( '( 7 6 '(
6 '( 1 # ,
'( '( 4 5
'( " 6 2 ( 8
"
" 2 " 3 (
'( , 9
: ! 9 + ; +
'( 4 "
1 '( " '(
6 5 1 & "
6 '( '( 4
'( 4 9 '(
A
BSTRACT
; <
9 6
= 9
9 ; > 9
9 > 7
1 9 > < ;
;
9 ;
; 9
<
9 ; : ! 9 9 > + ;
+ 9 9 >
1 ;
; < 1
6 9 >
Í
NDICE
@
:
"
A
B C
'( B
B B !
'( B
#
BD
B
'(
"
BE
<
9
B
2
+
;
+
F
G
"
2
E
G B
"
2
G
G B B @
2
( /
G
G B !
GB
G B G !
G
G B F !
G
G B D
GG
G B H !
GF
G B E
'(
GD
G
GH
G B !
I
GH
G
,
J
,
GE
F
2
'( F
F B
= FG
F
+
;
+
FD
F G !
6
FE
F G B !
FE
F G J
FE
D C
'(
6
FA
D B L '( M<
"
N D
D L '( MJ
"
N DG
D G L
/
'( M+
N DD
D G B <
ML
N DH
D G <
ML
N D
D F L
/
'( M$
"
N DA
D D L '( M+
6
N H
D H L '( MJ
6
N HB
H J
& HG
1 C?
2
'( HD
@
2
HD
@
2
( /
H
!
E
!
EB
!
E
EG
!
E
'(
EA
,
,
A
/
B H
1 CC?
'( B E
B E
!
BB
O
BB
)
BB
1 CCC? !
'(
'( BBH
L
ISTA DE FIGURAS
B C
5
'
9
:
!
-
. BE
!
'(
'
9
L
!
-
. BA
G
2
+
;
+
D
F !
'( GB
D !
'( G
H !
'( GG
E !
'( GF
!
I
'( GH
A
,
,
'( M
N -
. GE
B
/
'( GA
BB
C
1
:
)
;
FF
B "
'( FA
BG !
'(
-
/
'
'( . D
BF L '( P<
"
P
'( D
BD L '( PJ
"
P
'( DG
BH L
/
'( P+
P
'( DD
BE
2
8
DE
B L
/
'(
P
"
P
'( DA
BA L '(
6
'( H
G
LOSSÁRIO
C J %
5 '& 6 '(
0 '& QBR
'( % "/
5
! " $ % 9 7 2
9 2 6 '& 0 2
Q R QGR
# L '( " 2 9
9
'( QFR
$ L 9 0 % , / 5 5 0
4 2 ( & '&
6 6 2 ; %
QDR
!, 9 2 '(
QHR
4 2 4
2
6 QER
% & ! %
5 " 9 $ '( 9
' 9
1.
I
NTRODUÇÃO
# , % / '(
'( 4 5 '( " '(
'( " 8 %
! # C "
) % * + #
+ ( , ! - +# !. 2
% '(
0 $ ( # S 6 '(
'( 4 '(
3 '( / 2 '(
8 % - '& '( . '(
% 6 "
'( 2 '( 2
6 '( 2 %" #
'( 6 "
0 '( % ?
0 3 2 '& 2
'( T 2
" "
< 5 0 " 2
6
'( L / 2 3
'& 9 ,
'( 2 3 6 / '(
'( 6 " 2
'& "/
) % , 5 '( 3
/ '( 5
'( 5 6
1.1
M
OTIVAÇÃO
6 '( , , "
" & : # # -:##.
) '( 5
2 2
'& " 2 " 2 * %
= Q R
+
" U 2 $ ( # %
# / 6 0 B &
V '( 0 BAA
'( $ ( #
B 0 "1 & J) EV 3
& BAA 2 %" "
'( "
& QAR
* 5 ' 5
'& J " - J.
# % 6 &
8
U $ ( #
5 0 5
< 6 '&
8 U 2
0 '( 0
, '(
5 G7 E7J# 2 J 5 #
@ ' # ( % '
@ ' # ( '( *
5 6 2 6 & : # #
2
' , 5 '(
,
'( ' ( 0
1 J ( # '( 8
% % 5 6 V 5 )
'( 2 * 5 $ (
# 5 '( '(
6 '( 2 * 5 '
'( # * # 5
+ ( , ! * 5 5 5 '(
+ 0 - + . 0 # 5
+ ( , ! - #+ !. (
/ , '(
6 '( '& * 1
'( 4 "
* 5 ( , 5 '( 2 '(
8 " 5 5 '&
2 2 6 '(
$ '( '& 2 5 (
% 5 6 5 '( 2
0 " 0
'( '& '( 4
L / 2 '( " 1
% % '( '( "
'( 5 ,
3 (
'( " 0 "
( 0
'& '( " "
'( 4 6 '( "
'( " 3 & 6
1 * '( "
'& '( 6 2 * 5
" 6 6 '( 2
1 (
'(
2.
E
STADO DA ARTE
'( %
2 1 2 '(
?
'( " 2 1
-'( .
9 2 5 2 3 '( 2
2 "
2 C !
5 C !
/
% $ ( # 0
) 1 '(
" 2
# " 2 ( , '(
2 " 6 5 2
'& 1 '( '(
2 4 2 '( '(
6
5 - '(
. ?
/ '& '& T 1 *
'( " - 2 '(
.T 1 * 3
" 5 C T
0 '(
/ 9 2
2 3 " L 5
:CL ! (
2.1.
P
LATAFORMA DE INFORMAÇÃO GEOGRÁFICA
, 0 2 / 2 1 "
0 '( "
%
0 2 6 '( C : !
) : ! 5 '(
9 0 C
'& 9 6 : ! QB R
6 '( % 5 5 2
0 1 ( ) 5 1 *
4 1 '( 0
'& : ! '( 2
'& 2 '( C J 5 0
6 2 '&
2
'( ! ) * & ! # +
,! ( (
!-C : ! 6 5
/ ; 2 2
1 '( '( T
/ ;
1 '( '( T
/ % 1
1 '( , '( 6
% % - 4
9 8 .T
/ 1 %" " - "
.T
/ 0 6
2 " '(
( , 6 5 3 '( % " T
/ 2 ( 6 % 2 ( 2
" '(
'( W!@ 5
- ( ' " . '(
0 : #
5 2 : ! 5
6 & 6 %
: ! 6 '(
%" "
< : ! 1
? ( C ( M: !
# N ( 1
1 '( '( C
U 0 QBBR ( XB
2 5 5 2
% 6
) : # 5 C
QB R < 2 5 C
'(
3 '( : # ( ' '( 1
'( : # :
! 5 J 5
% 2 ( ( 6 2 2 0
'( '( 4 "
: # '( Y!@
-'( " . 2 '(
: ! 2 " 2 " 5
: !
$ ' 9 0 5 L ! QBGR #
' 5 '(
, / (
! 2 ( : ! 2
5 ) '(
- 2 '( .
2 % 5 '( 6
'( 2 " 6
5 6 '(
'( , - 6 '( '(
0 2 5 2 % . 2 L !
( 2 2 C
.( + & ! / ! *0 * & !
-0 5 1 ' " Z
! QBFR @ L ! QBDR ! U QBHR
C '&
3 0 C
! 0 '
8 " :CL
:+ LL QBER U:CL QB R LC: QBAR 2
" " 2 0 6 '( 0
'& " 5
3 '( 6
7 ( 5
-. ' " < 5 *
( ( 6 2 ' "
2 / / '(
C
( 6 "
'& 6 " '(
4 3 '& # #
! -##!. '( 4 + (
6 / 2 :CL 6 ##! 5
'( " 2 '(
+ ( L ( 5 0 6 %
'(
" 5 5
6 6 W
>
J Q R
$ '( 2 0 2
"
6 C 0 6 '( '(
1 5
8 %
'( 6 C : !
/ T
/ 1 * 0 + ( , !
'( T
/ 1 * 0 2
1 & '( " " + ( T
/ 4 '( '( 4
1 0 5 C - .T
/ '( 2 2 5
6 '( T
/ C 1 9 2
0 1 4 1 '(
2.2.
T
ECNOLOGIAS DE DESENVOLVIMENTO PARA A WEB
2 C : !
'( " "
C 1
'( ' , =<!@
" '( C [ 2 '(
/
- 5 1 . '( 6
!;LU@ '( = '(
, 5
!;LU@ = /
6
% '(
0 1 "
, = 7!;LU@ / 2
" 2
2
1 * 6 '( '( 2 %
" " 6 2 " '(
% 1 2
5 W!@
'( 6( % 1
6 6
%" = !;LU@ , "
% 1 '( = 1 / 2 (
& " 6 '&
% 0
'(
6 + ; + 9 >
9 6 9 2
5 2
'& 5 2 6 4
, "
- = 7!;LU@ 6 .
9 > + ; + ( ( =
( ( 5 2
'( 6 6 2
0 '(
- + ;.
# '( 0 " % + ; +
'( 6 2 5
'& 0 % 1 1 + ;
5 + L '( + ; 2
# 2 '( /
2 =
5 + ; + 5 5
1( 3 " = 5 "
'& 1( 4 4 2
6 '( , 1 "
, '&
6 2 5 / 2 + ;
+ 6 2 % 0
% 2 2 + ; '(
C % + ; +
=
K + ; > Q BR
-( C + . 2 '( + ;
+ 0
!;LU@
-6 = . # 6
'( 1 '( '(
'( 2 2
'( 3 C : !
'( 9
C ( 2
2 2 "2 < 5 2 '( %
'& ' 0
' 2 3 '(
C C : !
2 ( 5 ( 3 6 '( 2 C
, '( + ; +
" '( : ! # 0
"/ = 6
Z!F+7:!Q R 2 " '& 2 '(
C : ! # '( + ;
+ 1 '(
/ 3 ( 2
'& 2 Z!F+7:!
C : ! '( 4
4 '(
2 5 '(
$
+ ; + % C
2 = "
2 * '( + ;
6 '&
0 1 *
'( + ;
2 + ; + (
6 2 M 0 N
0 '& ,
/ % 0 9
# " ( 2
2 '( + ; + %" ' 2
'( = / "/
2.2.1. Arquitectura do Ruby on Rails
( 2 0
J + ; + 5 2
! /O 9/J -!OJ. ( 9 2
'( , '( * ?
Figura 3. Arquitectura do Ruby on Rails [23]
/ )! ,! - 1 1
'& + ; + ( 5 " 2
1 '( 3 '( 5 6
4 2 5 + ;
+ 9 #
2 *
2 6
1 * '(
/ , - '( '& 6
* " 9 ) + ; + 6
+=<!@ 2 ( =<!@ + ;
/ ) % 6 '( 2 !OJ 5 '(
- 2 6 0
, . L 5 " 0 '( 2 ' '(
, - $
"
- 1 2 . 6
3.
A
NÁLISE DE REQUISITOS
" 2 5 2 2 %
9 '( 2
'& 2 '&
'(
'( 5 $ ! (
" '& "
1 / 2 "/ %
5
# + 2 C '( = /!"2
J $ 6
2
'( 2 %
'( 2 2
(
6 % 2
24 0 3 2 " 6
) / ' " 6 2 2 /
5 2 (
" '( - +# !. 2
" 2
/
" 2
6 / 5 '(
5
'( '( # 5
6 ( 6
'( 5 '(
2 '( '(
L 5 "
2 ?
/ @ 2 ( / T
/ ! T
/ ! T
/ ! T
/ T
/ ! T
/ '(
/ 2 ( 1
' 2 6 % " 6
( '( 2
6( " 0
2
& 3 # #
! - 6
3 ( 2 " 4
2 , .
, '( 2 5
" 5 I Q FR
" '(
5 " 2 #
1
2 6
6 ' '( 2 (
5 ,
0 '( 2 "
'( 2 " 0 6
%"
2 "
< 6 2 '(
' '( , '(
2 C / 3 1
2
2 % 2 ,
3.1.
P
ROCESSO DE ANÁLISE DE REQUISITOS
# / 0 1 5 "
2 5
4 1 5
1 C?
2 '(
3.1.1. Lista de requisitos funcionais e não-funcionais
# 2 " 2 '(
6 / '( '& 2
'( 1 6 '(
( , 2 5
1 '( 0
'(
/ 2 2 2 ( /
+ 2 0
6 '( 2 2 ( / 0
'& 3 '( Q HR
#1 2 '( ?
12' $ ! ! 3 / ! *0 & ! *0 4
5 ! ! / (
'( ? " " " 6 '(
'( 2
2 8 " 6
? !
# 1 2 ( / ?
Descrição: Na maior parte dos casos, os estudos efectuados com este sistema serão
feitos por pessoas que não irão dar um uso continuado ao sistema. Sendo assim,
torna-se muito importante que a curva de aprendizagem da interacção com o sistema
não seja acentuada.
Prioridade: Muito alta
'( '(
6 2 Q HR
3.1.2. Mapa de desempenho
) '( ! $ 5
2 '( '(
Técnico de escritório
Actores Papéis
Levantando dados
Simulando cenários
Tradutor Traduzindo o sistema
Players
Técnico no terreno Técnico no terreno
Figura 4. Mapa de desempenho da aplicação
) ( 6 2 '( #
6 " )
'( % '&
1 Q ER
5 ( 2 (
'( 2 '( '(
3.1.3. Mapa de actores e tarefas
#
0 '(
Figura 5. Mapa de actores e tarefas da aplicação
5 0 %" 2
2 6
"/
3.1.4. Mapa de actividades
# 3 '(
'& (
1 " '&
Construção do mapa
Levantamento de dados Simulação de cenários
Levantamento de dados no terreno Importação de dados a partir de GIS
Definição de novos cenários Análise dos resultados dos cenários
inclui inc lui in clui precede
inclui inclui
preced e precede precede (opcional) (opcional) Tradução do sistema
Figura 6. Mapa de actividades da aplicação
/ 2 2
2 *
S '& '( 2
24 3 6
3.1.5. Perfis das actividades
C 5 " 2
) % '( 5 6
@ ; J
! '( '(
2 ? ,
Q R
#1 ?
Actividade: Análise dos resultados dos cenários
Propósito: analisar e comparar resultados dos diferentes cenários obtidos, tanto entre
si, como com a actual iluminação pública existente na área.
Tempo e Lugar: esta actividade deverá ocorrer repetidamente no escritório,
utilizando o sistema, sendo interligada com a definição dos detalhes de cada cenário.
Participantes: Um técnico que terá de ter conhecimentos algo avançados na área da
electricidade (e conhecimentos básicos de informática de modo a poder utilizar o
sistema), e que provavelmente terá de comunicar os seus resultados obtidos a pessoas
actividade em particular poderá ter maior envolvência destas pessoas, que deverão
basear as suas decisões nos relatórios/conclusões que resultam desta actividade.
Desempenho: O sistema deverá tentar apontar ao utilizador os principais dados
relevantes na comparação entre vários cenários, sem negar a possibilidade de o
utilizador verificar todas as diferenças de forma detalhada.Os resultados deverão ser
apresentados de forma bastante elucidativa, recorrendo sempre que possível a
representações gráficas, permitindo também a geração de relatórios extensos.
3.1.6. Mapa de actividades e tarefas
# G B F - .
6 '( G B G - .
2 2
Figura 7. Mapa de actividades e tarefas da aplicação
2 5 ( 2
( '(
! 6 '(
/ 3 ( '(
6 (
3.1.7. Descrição das tarefas
C ( , 5 '& 5 0
'( 5 0
6 '( M N 5 M '(
N 2 1 0
6 '( '& 6
2 M N %
@ ; J 2 Q AR #
'( / '(
#1 '( ?
T8: Movendo segmento no plano actual
Intenções do utilizador Responsabilidades do sistema
1. Fornecer lista ou visualização dos segmentos 2. Escolher segmento
3. Escolher nova
localização geográfica do segmento
4. Gravar as alterações
3.2.
D
ESENHO DA INTERFACE
3.2.1. Modelos Wisdom
6 '( 5 I Q FR 5 '( "
'( '( 2
' '( 2 ( 5
/ 3 ( 2 2 M '& N ? B.
'( 6 '(
'( 4 1 " T . '( 6 '( "
T G. 6 '( '( T F. '( 2
- 8 " . / "
2 2 '( 3 '( '(
2 6 # '( 1 6
2 '( 2 % 0 $ ( #
2 '(
'( " 6 0 + ( , !
6( + *0 % !
$ 5 2 '(
" ) 5 '( 6 2 2
'& 0 '(
'( " '&
3.2.2. Protótipos Abstractos Canónicos
'( , J , Q DR
I '&
6 '( " ' '( 5
' * ? 2 2 6
" '& T ' 2 "
'& '( " T '
" ' 0
'( - '& . / 2
'( 2 6
'( 2 "
7( 8 & 8 *0 9 : , * !
-) 5 2 5
' '( 2 ( ' 2 6 M
N M 8 N C / 3 ' '
'( "
) ' '( '( 2 6 '(
( " " '&
% 2 6 2 "
3.3.
B
ASE DE DADOS
J 2 * " 2
'(
!;LU@?
Figura 10. Diagrama de entidade-relacionamento da aplicação
/ 1 ! ? % 8 "
" 2 (
/ ! ? ( 2 8
" ( * 5
/ ? 2 6
'( "
% 2 * " "/
/ ? " '( '& 3 '(
1 " B 2 '( 1
7 1 ,
7 1 " S 6( 2
* '& " - 2 7
2 .
/; ! ? 0 8
/;<! ? 0 8
/= ? 0
/ ! ? 2 6
M , N 2
2 ,
1 '& % "
"
0 '( 2
/ *0 8 ? '( ,
0 % 2
,
/ *0 / 5 ? '(
1 0 ' '( , 5 2
5 0 *
/ > / ? 0 2
'& ' '( " "
" 6
/ *0 / ? '( " 6
0 '
/? 3 ? 6 '(
/ 0 ? ( 6 '(
M N
L 2
3 M N K M N
)
1 C? 2 '(
4.
P
ROCESSO DE DESENVOLVIMENTO E
ARQUITECTURA DA APLICAÇÃO
0 / 1
2 '( 2 3 + ;
+ = 2 '(
# '( " -: ! .
" '( C
: ! 9 /
0 0 1
9 '(
% " 2 '(
6" " " 2
1 2 0 '(
'& '(
'(
2 2 '(
6 T '& / 1 1
'( 2
0
L 0 5 5 '( 2
'( %" '& /
, '(
/ 5 '( 3 2 !OJ
4.1.
A
BORDAGEM INICIAL SOBRE
PHP
'( ' 0 '(
: ! 5 2 5 2 C '(
0 2 '(
C ! - / 2 %
( ( 0 3 '( .
C : ! 5 '( ; ?
5 '( : ) ; - M N
5 0 0 '(
. < ) ; - 2 5
: ! .
1 '( : ) ;
'( : ) ;
6 / '( 2
: ) ; 5 '( 2
> , 2
'( " ;
0
; ) %
2 6
5 ,
# < ) ;
'( 2
7 5 2 5 2
C : ! "
'(
, 1
''( / 5 ! ! !
# $ linhas poligonais
6 '(
2 "/ '(
'( '(
1 4
'( 5 '(
# 4 '( = 2
1 5
4.2.
A
BORDAGEM INICIAL SOBRE
R
UBY ON
R
AILS
) + ; + ' '(
0 9 QG R 0
+ L '& / /
% " "
-. " 0 " 1 '(
'( 2 " "
8 '(
'( : ! / 5 Z!F+7:! Q R
1 32
5 & 2
+ ; + ; 1
2 , !;< '(
5 ?77 ?G 7 ;\< -G 5 4
2 '( " .
J ,1 /
2 0 =
- / 2 ; %" ( ( 2
0 . 0 ,
" 5
'( '( 3
"
) 2 0 '(
5 '& '& + L %
-% '& 2 , + ; % , % .
C / ? 6 '(
0 '( + L 2
, % , % 5 1
/ 2 0 0
4.3.
M
ODELOS E CONTROLADORES UTILIZADOS
,
E O SEU
FUNCIONAMENTO
4.3.1. Modelos
< 6 '( 3
% 0 L
'( * ?& ! !
! *0 *0 8 ! @ ! @
*0 / @ > / 3 5 *
3 K " 2 5
? L ( 5
" "
5 ( 2 ( 0
6 6 '( "
'(
/ 2
I %" "
2
" - 1? 6 '&
. 2 1
3 - 1? . ) I
1 C? + 2 '(
4.3.2. Controladores
) 6 5
'& 0
-& <! ! ! *0 *0
8 ! ! @ *0 / @ > / @
3 . 1 '( 5 / - ? LC ]
L '( C '( 4 . 2 '& 2 "
'( '&
9 - '( " M N
, " T " '( " T "
'( .T % 1 2
'( 6 , "
% 1 (
2 5 '&
2 %" , 2 6 '( "
) 4 2 '&
5 2 9 1 " '(
" 0 # '& 3 '&
6 '( 5
'& 2 , 6 2 '(
" ( '& '( 6
5
" '( " 5 - 6
! + ; + + I
< QGBR.? & &
6 '( 3 '( '(
, J , -2 1 C?
+ 2 '( . ' '( 2 *
# * '& 2 2 2
, 9
2 0 <
$ 5 *0 2 8 5 '(
5.
I
NTERACÇÃO COM O UTILIZADOR
'( / " '& % '(
6 '( 2
" 2
-! 1 C? + 2 '( .
'& '( ( ?
/ ? 5 2 '( 1 '(
'( 6
Figura 12. Página inicial da aplicação
/A / ? 5 0 6 " 2
1 6
/ ? 6 " % "
" 1 # '( / '& 2 (
'( ? / '( 2 6
6 T / '&
2 6 '& '(
6 "
/ 1 8 ? ( 6 '(
5 ,
/ B ! ? 5 0 6
2 '( 0 '( # '( "
F / '& ?;<! = ; ! !
2 2
/ 5 '& 6
'& 3 '( ? 3
& 1 2
& 6 T 1 3 2 6
/ 3 '& 2 ( "
/ 2 '& " 2
' '( !
'( / '& '(
'& '( 2 2 '& 2
'( " '& 5
6 2 ( # '(
( 2 6
4 " 7 '& 9 QG R
6( 6 '( ( 5
0 '& '( - " &
2 '& ( 0
, 6 . 2 5 0 3 '(
'& J 1 %
" 2 6 6 !!
3 4 '& 5 2 '( % 6
( '( 6 " 4
" " 2
, 6 '( ( MK N QGGR
2 2 ' " 2 5
0 2 5 0 # '
2 '( ( " 2 0
'& 5 0 6 2 '(
'( 2
5 / 2 ' 3
'( 6 2
'( ! 6 J '( (
' 2 6 6
'( 3 '( 6 J 6
! 5/ 6 2
( '( '( (
# ' 5 '(
5.1.
S
ECÇÃO
“T
ARIFÁRIO
”
'( M< " N 4 " 4
? 6 '( 6
4 2 4 #$+7>I
'( ' T 6 J
6 '& 6 * " 2 ?
5 0 6 '&
"
Figura 14. Secção "Tarifário" da aplicação
) 6 '( '& 0 3
6 1 " 3 '(
2 2 '( 1 " 2 " '(
" '( M: " N '&
5 % 1 3
'(
-. # %
5.2.
S
ECÇÃO
“C
ENÁRIOS
”
< '( " '( " 6
" 4 ) " 5 "
M N 3
2 " " (
& ( 2 5
Figura 15. Secção "Cenários" da aplicação
6( 2 "
'( " " (
"
'( L /
" '( " 6 ( ? M
, " N
J 6 2 & ( " 5 6(
5 2 '&
$ 5 '( "
, 6 2 " 6 (
( 6 "
6 2 6 ( (
2 " 5
" " 6 0
0 '( " '(
" 2 2 5
* '(
5.3.
S
UB
-S
ECÇÃO
“
REDE ACTUAL
”
# ' '( " * " ? 2
' T " M " N 1 T
" ( # * "
5 , *
? % 2 T 2
-.T 2
Figura 16. Sub-secção "Rede actual" da aplicação
" *
# 6
'& 2 1 /
? L L
# % '(
0 6 ML N
6 '&
J "
5 6( 6 '(
5 ' ( " 1
"1 0 ( /
- 6 .
L 0
5.3.1. Tabulador “Segmento”
'( 1 / ?
6 5 0
6*/ 5 6
'( ? T 8 " 6
4 " 2 5 5
6 / %
) 6 ( 7
C
5 ( 2
'& M N MC N
8 2 1
8 0 8 6(
( 0 2 %
" '& 2 8 '& 2
8 0
( M N 8 2
6 '& 2 ( ) 6 (
8 ( "
% J 3 8 (
M# 8 N % " 6
8 % 2 6
Figura 17. Janela de pesquisa por lâmpadas
'& ( M:
N 2 " 6 % '(
'( ? %
'& *
( M: N /
* '( % "
'& (
6 '(
6 2 M N
6*/ ( 6
6 ? MJ 2
N 2 '& 4 2 - .
5 2
2 ( / 2 :
! % '( %" ( 2
2 0 6 T 2 6 2
2 " '( 6(
'( 4 2 '( 2
6 ( M:
6
M N
'& - '( '( .
" M " N 5 6 "
5.3.2. Tabulador “Sistemas de controlo”
5
- 5 % 2
3 8 "
L . '& J
% , '& *
% & 7 ' 0
' / 2 6
2 5 J
% 1 6 % &
7 5 1 1 2 6 "
* 2
5 & 0
( M: N '& ( "
5.4.
S
UB
-S
ECÇÃO
“U
M CENÁRIO
”
6 ' '( M N '(
" ( ( '
, 2 5 1 - / 0 F D 2 1 *
. ' 5 '(
? " ( 5 0
4 " 2
< 5 ( 5 0 %
5 '(
Figura 18. Sub-secção detalhando "um cenário" da aplicação
0 6 5
'( M " N
% 2 '
T % J 2
'( , ( 5
'( 6 6
5.5.
S
ECÇÃO
“
REGISTO DE UTILIZADORES
”
# ' '(
% 6 2
6 '( 5
M$ 6 N (
' '( / 6
"
Figura 19. Secção de registo de novos utilizadores na aplicação
) 6 " 2 6 '(
/ - . ' /
" " '( "
> 6 " ( %"
0
5 6 &
0 2 " 0
% 6 ' < '(
5.6.
S
ECÇÃO
“
CONTROLO DE UTILIZADORES
”
# ' '( / 1 2
" '( 0 ( 6 2
0 ( ( - . '&
'(
Figura 20. Secção de controlo de utilizadores por parte do administrador do sistema
) ' '(
6 ' ,
4 " 0 & S/ '(
& 6
, 6 &
) 0 & 1 ( ?
/ ! ? '&
/ B ? '& 1
'( 6
/C ? 3 '( "
" '( '( ' '(
2 6 '(
2 2 '& [ , '( (
# 0 & 5 3 '(
" -2 6 2
.
/C ? 3 '( 6 '( 2
( 0
/ ! ! D ? '& 1 "
0 & 1 "
'( 1 6
'( 2 6 2 2
6 (
& 0 '( "
6 '( '( 4
5 C 0 & 6
" MO N
0 ML & N 6 2
% & 6 (
, T 2 & 6
2 ' '( 0 &
10 '(
2 6 '&
S " 2 3 , ( (
6 "
2 & 0 &
6
5 2 ' '( ( "
2 , , 5 0 2
1 '( 6
" " 2 6 %
6.
C
ONCLUSÕES
) '( 2
, 0 '( " '(
'( 6 '( "
'( " '(
" 2
'( 4
) 6 2 5 0
2 '( 9 ) L
0 4 '& "
-: ! . 6
'( 2
5 ! '(
* 2 ,
'( 9 * 2 2 2
6 '( ( (
" 0 6"/
6 5 6 '( '( 5
6 - 1 (
, 2 3 "
0 . 5 5 0 2 % 2 2
0 0 3 6 '( 1 "
C : !
J % '(
" 0 "/ '(
6 / / '&
5 "
2 " '(
, 2 0 "
"
$ 2 '(
'( % 2 2 %" 0
( * 2 2 8
'( '& 3 '( 2
2 ( ( 5 ( "
5 ( " , '(
6
% 0 $ ( # 2 '(
2 ( '( " 0
# 2 (
6 '( 1 '(
0 6
5 2 2 " 0
ANEXO
I
:
D
OCUMENTO DE REQUISITOS DA
APLICAÇÃO
Lista de requisitos funcionais
12' $ ! ! 3 / ! *0 & ! *0 4
5 ! ! / (
'( ? " " " 6 '(
'( 2
2 8 " 6
? !
R02: O sistema deverá permitir a simulação de diversos cenários possíveis para o
melhoramento da iluminação pública na área a analisar.
Descrição: Nestes cenários o utilizador terá a opção de alterar manualmente as
condições existentes de iluminação pública na área, simulando o que aconteceria se
fossem implementadas na vida real as alterações.
Prioridade: Muito alta
R03: O sistema deverá fazer o cálculo do consumo de energia, dos custos, e do
Descrição: Estes resultados são o principal objectivo da simulação, e deverão ser
apresentados tendo em conta um período de vários anos após a implementação real
do cenário.
Prioridade: Muito alta
R04: O sistema deverá poder sugerir ao utilizador qual o tipo de lâmpada ideal a
utilizar para um determinado segmento, dependendo dum conjunto de restrições à
escolha do utilizador.
Descrição: Esta opção deverá ser uma alternativa à definição manual do tipo de
lâmpadas por parte do utilizador, fazendo assim com que a aplicação consiga
optimizar o tipo de lâmpadas a utilizar, dependendo do critério que o utilizar
pretenda optimizar.
Prioridade: Muito alta
R05: O sistema deverá permitir fazer a comparação entre diversos cenários.
Descrição: A comparação entre diversos cenários deverá ajudar o utilizador a tomar
uma decisão sobre qual o cenário a escolher para implementar na vida real.
Prioridade: Média
R06: O sistema deverá armazenar um catálogo de toda informação relevante à
simulação sobre cada equipamento.
Descrição: Todos os equipamentos que podem ser utilizados na simulação (lâmpadas,
luminárias, reguladores, sensores) deverão ser catalogados pelo programa, com toda
a informação relevante à simulação para os cálculos necessários, e para a correcta
identificação do equipamento em questão por parte do utilizador.
R07: O sistema deverá implementar uma visualização geográfica dos ramais de
iluminação na área a analisar.
Descrição: Esta visualização deverá ser interactiva e permitir ao utilizador uma mais
fácil compreensão da área geográfica sobre a qual definirá cenários. Este requisito é
importante também do ponto de vista do desafio tecnológico que representa, no
âmbito deste trabalho se tratar dum projecto de fim de curso.
Prioridade: Alta
R08: O sistema deverá permitir definir um tarifário de electricidade comum para
toda a área a analisar.
Descrição: Este tarifário de electricidade é importante para o cálculo dos custos ao
longo do tempo.
Prioridade: Alta
R09: O sistema deverá permitir definir um horário de funcionamento e de
intensidade de luz de cada segmento.
Descrição: Para cada segmento, o sistema deverá verificar se existe equipamento que
permita desligar e ligar a electricidade num determinado horário, e/ou que permita
gerir a intensidade da luz. Caso exista esse equipamento, o sistema deverá permitir
que o utilizador defina o horário.
Prioridade: Média
Descrição: Dado que é possível que o sistema venha a ser implementado noutras
regiões de outros países, é necessário que este esteja preparado para que a tradução
para novos idiomas seja fácil de implementar.
Prioridade: Baixa
R11: O sistema deverá permitir a importação de dados sobre a iluminação já
existente na área, a partir de sistemas de informação geográfica (GIS).
Descrição: Em determinados casos, poderá já existir informação armazenada em GIS
sobre a iluminação já existente, em particular o posicionamento geográfico dos
ramais/segmentos. Neste caso, torna-se importante poder reaproveitar esses dados
automaticamente, em vez de forçar o utilizador a ter de introduzi-los manualmente.
Este requisito até certo ponto também representa um desafio tecnológico.
Prioridade: Média
Lista de requisitos não-funcionais
R12: O sistema deverá ser fácil de operar e aprender.
Descrição: Na maior parte dos casos, os estudos efectuados com este sistema serão
feitos por pessoas que não irão dar um uso continuado ao sistema. Sendo assim,
torna-se muito importante que a curva de aprendizagem da interacção com o sistema
não seja acentuada.
Prioridade: Muito alta
R13: O sistema deverá ser eficiente e eficaz.
Descrição: O sistema tem que devolver resultados correctos, e num intervalo de
tempo minimamente aceitável. Deverá também ter um comportamento estável e
Prioridade: Média
R14: O sistema deverá estar pronto para funcionar em diversos ambientes
Descrição: Como este sistema deverá ser implementado em várias localizações
distintas, as tecnologias disponíveis tais como o hardware e o sistema operativo
podem ser diferentes em cada localização, e o sistema deverá estar minimamente
preparado para estas diferentes condições.
Prioridade: Baixa
R15: O sistema deverá ser desenvolvido com o intuito de proporcionar expansões
futuras
Descrição: A ideia principal é desenvolver uma base que sirva para a simulação do
consumo de energia na iluminação pública, mas pode ser que no futuro esta base seja
alargada para outros âmbitos, como a simulação de outros tipos de consumo de
energia.
Mapa de desempenho
Técnico de escritório
Actores
Papéis
Levantando dados
Simulando cenários
Tradutor Traduzindo o sistema
Players
Mapa de actividades
Construção do mapa
Levantamento de dados Simulação de cenários
Levantamento de dados no terreno Importação de dados a partir de GIS
Definição de novos cenários Análise dos resultados dos cenários
inclui
inc lui in
clui
precede
inclui inclui
pre
cede
precede
precede
(opcional)
Perfis das actividades
Actividade: Levantamento de dados
Propósito: levantar todos os dados necessários à fase posterior de simulação,
incluindo a localização e o tipo de equipamentos existentes no terreno, associados a
toda a informação geográfica que seja possível obter.
Tempo e Lugar: possivelmente um trabalho demorado, dependendo do tamanho da
área a analisar. Alguma informação provavelmente deverá ser recolhida no terreno,
mas será sempre necessário agregar a informação no escritório.
Participantes: possivelmente um técnico/funcionário com conhecimentos
informáticos suficientes para saber importar e agregar a informação já existente em
sistemas informáticos, e um técnico/funcionário ou grupo de técnicos para fazer o
levantamento dos equipamentos no terreno. Este(s) técnico(s) deverão ter
conhecimentos na área da electricidade suficientes para poder reconhecer as
tecnologias existentes. No entanto, pode ser irrealista esperar que a entidade que irá
necessitar do estudo sobre a iluminação pública (em princípio a Câmara Municipal),
tenha já técnicos e funcionários especificamente para estas funções, portanto é
possível que destaquem pessoal a partir de outras áreas, sem que estes tenham os
conhecimentos necessários.
Desempenho: devido a este trabalho ser feito de base apenas uma única vez, excepto
eventuais pequenas actualizações conforme forem instalados novos equipamentos,
este levantamento não deverá ser feito sobre grande pressão de horários – a não ser
que haja alguma decisão administrativa com alta prioridade, pendente do estudo da
iluminação pública na área. No entanto, como é possível que os técnicos/funcionários
encarregados sejam destacados a partir de outras áreas, estes podem ter outros
Actividade: Construção do mapa
Propósito: importar/construir um mapa baseado em ortofotos, fotos de satélite, ou
um mapa com informação vectorial da área a analisar, caso o tipo de mapa
pretendido não esteja já disponível por defeito no sistema, ou o mapa disponível no
sistema não tenha a qualidade mínima necessária para o trabalho a efectuar. Caso isso
já aconteça, esta actividade não é necessária.
Tempo e Lugar: usualmente esta actividade deverá ocorrer uma única vez no
escritório, antes da importação da informação relativa à localização geográfica dos
equipamentos, embora seja possível que posteriormente se queira introduzir novos
tipos de mapas no sistema.
Participantes: o técnico/funcionário com maiores conhecimentos informáticos,
possivelmente com a ajuda da pessoa ou entidade que lhes fornecerá os mapas.
Desempenho: ao se tratar de uma tarefa única, a rapidez da construção do mapa não
é uma grande prioridade – no entanto será sempre preferível a importação de um
mapa completo de uma vez, ou peças agregadas a informação geográfica, do que a
importação de peças separadas que tenham de ser encaixadas manualmente, que
pode ser um processo muito moroso.
Actividade: Importação de dados a partir de GIS
Propósito: importar para o sistema a localização de parte ou todos os ramais e
equipamentos existentes no terreno, a partir da informação que já exista armazenada
noutro sistema, que pode ou não ser propriedade da entidade que irá realizar o
estudo sobre a iluminação pública.
Tempo e Lugar: tal como a construção do mapa, esta actividade deverá ocorrer uma
única vez no escritório, no entanto é possível que aconteça uma situação em que não
seja possível importar a informação toda de uma vez, ou que seja mais conveniente
Participantes: o técnico/funcionário com maiores conhecimentos informáticos,
possivelmente com a ajuda da pessoa ou entidade que lhes fornecerá os dados a
partir de GIS.
Desempenho: esta actividade tem a condicionante de os dados originais poderem ter
informação a mais da que é necessária para o estudo da iluminação pública, portanto
o utilizador poderá ter a tarefa de filtrar qual a informação a utilizar, e qual a deitar
fora. Os dados originais podem estar em muitos formatos diferentes, que o sistema
poderá não prever completamente.
Actividade: Levantamento de dados no terreno
Propósito: percorrer a área a estudar, e levantar todos os dados dos ramais e
equipamentos utilizados que não estejam já introduzidos no sistema.
Tempo e Lugar: nas ruas da área a estudar. É conveniente que o levantamento seja
feito recorrendo a algum tipo de equipamento informático portátil, caso contrário o
levantamento terá de ser feito recorrendo a anotações em papel, que depois têm de
ser compiladas no escritório. Dependendo do tamanho da área, toda esta actividade
poderá demorar vários dias.
Participantes: o(s) técnico/funcionário(s) com maiores conhecimentos na área de
electricidade, sendo que esta actividade pode necessitar mesmo de alguém com um
nível de conhecimento avançado.
Desempenho: Torna-se importante que esta actividade seja feita de modo rápido, e
que a interacção com o sistema não prejudique esta rapidez, porque destacar uma
pessoa durante vários dias para esta actividade significa retirá-la de outra actividade
onde possa ser útil. É preciso também ter em atenção para que as pessoas estejam
conscientes de quais as informações que já se encontram do sistema, para não
desempenharem o trabalho inútil de voltar a percorrer ruas já reconhecidas, a não ser
Actividade: Simulação de cenários
Propósito: fazer o estudo de vários cenários possíveis de modificações à iluminação
pública, e escolher de entre eles a solução ideal para optimizar o consumo de energia
e/ou custo e/ou impacto no meio ambiente da rede de iluminação pública na área.
Tempo e Lugar: esta actividade deverá ocorrer em várias sessões no escritório, em
que a pessoa encarregada de efectuar o estudo irá aperfeiçoando os cenários
existentes ou experimentando com a criação de novos cenários, até obter o resultado
pretendido. O mais provável é que esta actividade seja feita em várias sessões
separadas, pois o utilizador poderá ter a tendência de fazer esboços de cenários
temporários, pedir opiniões a outras pessoas, e então voltar à actividade.
Participantes: Um técnico que terá de ter conhecimentos algo avançados na área da
electricidade (e conhecimentos básicos de informática de modo a poder utilizar o
sistema), e que provavelmente terá de comunicar os seus resultados obtidos a pessoas
com maior poder de decisão, possivelmente com cargos políticos.
Desempenho: Nesta actividade algo complexa o sistema terá de permitir que o
utilizador consiga definir todos os aspectos que ele pretenda alterar no cenário, assim
como sugerir a utilização de equipamentos que, dado os objectivos pretendidos pelo
utilizador, possam optimizar esses mesmo objectivos. O sistema terá também de
permitir a análise flexível e rapidamente perceptível dos resultados, de modo a ajudar
da melhor forma a decisão de qual o melhor cenário a implementar. Apesar de a
definição de cenários e a análise de resultados serem considerados duas actividades
separadas, elas estão ligadas, e poderá ser útil ter pequenos indicadores de como é
que os resultados são afectados, à medida que se definem os cenários.
Actividade: Definição de novos cenários
Propósito: definir um cenário com uma determinada particularidade, ou abordagem
à iluminação da área.
Tempo e Lugar: esta actividade deverá ocorrer repetidamente no escritório,
Participantes: Um técnico que terá de ter conhecimentos algo avançados na área da
electricidade (e conhecimentos básicos de informática de modo a poder utilizar o
sistema), e que provavelmente terá de comunicar os seus resultados obtidos a pessoas
com maior poder de decisão, possivelmente com cargos políticos.
Desempenho: Outra das preocupações para além de dar ao utilizador a facilidade de
alterar todos os detalhes em que consiste um cenário, é também fazer com que os
cenários sejam facilmente identificados entre si, realçando as diferenças. É importante
que haja ferramentas que possam acelerar o processo de definição de um cenário,
como a alteração de detalhes em vários ramais semelhantes ao mesmo tempo, já que a
alteração de detalhes ramal-a-ramal, apesar de muitas vezes ser necessário, pode ser
muito demorada.
Actividade: Análise dos resultados dos cenários
Propósito: analisar e comparar resultados dos diferentes cenários obtidos, tanto entre
si, como com a actual iluminação pública existente na área.
Tempo e Lugar: esta actividade deverá ocorrer repetidamente no escritório,
utilizando o sistema, sendo interligada com a definição dos detalhes de cada cenário.
Participantes: Um técnico que terá de ter conhecimentos algo avançados na área da
electricidade (e conhecimentos básicos de informática de modo a poder utilizar o
sistema), e que provavelmente terá de comunicar os seus resultados obtidos a pessoas
com maior poder de decisão, possivelmente com cargos políticos. Note-se que esta
actividade em particular poderá ter maior envolvência destas pessoas, que deverão
basear as suas decisões nos relatórios/conclusões que resultam desta actividade.
Desempenho: O sistema deverá tentar apontar ao utilizador os principais dados
relevantes na comparação entre vários cenários, sem negar a possibilidade de o
utilizador verificar todas as diferenças de forma detalhada.Os resultados deverão ser
apresentados de forma bastante elucidativa, recorrendo sempre que possível a
Descrição das tarefas
T1: Traduzindo o sistema para um novo idioma/modificando um idioma existente
Intenções do utilizador Responsabilidades do sistema
1. Fornecer informação a traduzir 2. Traduzir informação
2.1 Inserir nome do idioma 2.2 Traduzir linhas*
3. Gravar as alterações
T2: Escolhendo o idioma do sistema
Intenções do utilizador Responsabilidades do sistema
1. Fornecer lista de idiomas disponíveis 2. Escolher idioma
3. Aplicar as alterações no sistema
T3: Importando um mapa
Intenções do utilizador Responsabilidades do sistema
1. Pedir informações necessárias à importação do mapa
2. Introduzir formato do mapa 3. Introduzir localização do mapa
4. Adicionar o mapa ao sistema
T4: Apagando segmento(s) no plano actual
Intenções do utilizador Responsabilidades do sistema
1. Fornecer lista ou visualização dos segmentos
2. Escolher segmentos a apagar
3. Apagar os segmentos
T5: Criando/alterando sistema(s) de controlo no plano actual
Intenções do utilizador Responsabilidades do sistema
1. Fornecer lista ou visualização dos ramais 2. Escolher ramais
3. Fornecer lista dos sistemas de controlo 4. Escolher sistemas de controlo
5. Definir funcionamento do sistema de controlo
6. Gravar as alterações
7. Actualizar toda a informação e visualizações afectadas
T6: Criando ramal no plano actual
Intenções do utilizador Responsabilidades do sistema
1. Pedir informações necessárias à criação do ramal
2. Introduzir segmentos* 2.1 Criar novo segmento
2.2 Introduzir localização geográfica do segmento
2.3 Fornecer lista das luminárias 2.4 Introduzir número de luminárias no
segmento
2.5 Escolher luminária
2.6 Fornecer lista das lâmpadas 2.7 Escolher lâmpada
3. Fornecer lista dos sistemas de controlo 4. Escolher sistema de controlo
5. Definir funcionamento do sistema de controlo
6. Gravar as alterações
T7: Criando/alterando segmento(s) no plano actual
Intenções do utilizador Responsabilidades do sistema
1. Fornecer lista ou visualização dos segmentos
2. Escolher segmentos
3. Fornecer lista das luminárias
4. Escolher luminária
5. Fornecer lista das lâmpadas 6. Escolher lâmpada
7. Gravar as alterações
8. Actualizar toda a informação e visualizações afectadas
T8: Movendo segmento no plano actual
Intenções do utilizador Responsabilidades do sistema
1. Fornecer lista ou visualização dos segmentos
2. Escolher segmento
3. Escolher nova localização geográfica do segmento
4. Gravar as alterações
5. Actualizar toda a informação e visualizações afectadas
T9: Imprimindo relatório
Intenções do utilizador Responsabilidades do sistema
1. Fornecer opções da geração de relatórios 2. Escolher tipo de informação a ser
apresentada no relatório
3. Gerar relatório
4. Mostrar uma visualização do relatório ao utilizador
5. Confirmar que o relatório está correcto
T10: Introduzindo/alterando tarifário da àrea
Intenções do utilizador Responsabilidades do sistema
1. Pedir informações necessárias à definição do tarifário
2. Introduzir tarifário
3. Guardar alterações
4. Actualizar toda a informação e visualizações afectadas
T11: Criando/alterando uma lâmpada
Intenções do utilizador Responsabilidades do sistema
1. Pedir informações necessárias à introdução de uma nova lâmpada
2. Introduzir modelo e referências da lâmpada
3. Fornecer lista das tecnologias de lâmpadas
4. Escolher tecnologia de lâmpada 5. Introduzir dados relativos à lâmpada
6. Guardar alterações
T12: Criando/alterando uma luminária
Intenções do utilizador Responsabilidades do sistema
1. Pedir informações necessárias à introdução de uma nova luminária
2. Introduzir modelo e referências da luminária
3. Introduzir dados relativos à luminária
T13: Criando/alterando um sistema de controlo
Intenções do utilizador Responsabilidades do sistema
1. Pedir informações necessárias à introdução de um novo sistema de controlo
2. Introduzir modelo e referências do sistema de controlo
3. Fornecer lista dos tipos de sistemas de controlo
4. Escolher tipo de sistema de controlo 5. Introduzir dados relativos ao sistema de controlo
6. Guardar alterações
T14: Importando um cenário
Intenções do utilizador Responsabilidades do sistema
1. Pedir localização do cenário 2. Introduzir localização do cenário
3. Importar as informações do cenário em memória
4. Calcular diferenças entre o cenário e o plano actual, e actualizar as visualizações afectadas
T15: Alterando segmento(s) no cenário
Intenções do utilizador Responsabilidades do sistema
1. Fornecer lista ou visualização dos segmentos
2. Escolher segmentos
3. Mostrar informação actual dos segmentos 4. Alterar informação
4.1. Fornecer lista das luminárias que podem ser utilizadas
4.2 Escolher luminária
4.3. Fornecer lista das lâmpadas que podem ser utilizadas
4.4 Escolher lâmpadas
5. Guardar alterações
6. Calcular o novo resultado das diferenças entre o cenário e o plano actual, e actualizar as visualizações afectadas
T16: Optimizando segmento(s) no cenário
1. Fornecer lista ou visualização dos segmentos
2. Escolher segmentos
3. Fornecer critérios que podem ser utilizados para a optimização
4. Escolher critérios a utilizar
5. Escolher melhor lâmpada que se enquadra no critério pedido
6. Aceitar a sugestão
7. Guardar alterações
8. Calcular o novo resultado das diferenças entre o cenário e o plano actual, e actualizar as visualizações afectadas
T17: Alterando sistema de controlo de um ramal
Intenções do utilizador Responsabilidades do sistema
1. Fornecer lista ou visualização dos ramais 2. Escolher ramal
3. Alterar sistema de controlo
3.1. Fornecer lista dos sistemas de controlo disponíveis
3.2. Escolher novo sistema de controlo 3.3. Definir novo funcionamento do sistema de controlo
4. Guardar alterações
T18: Fazendo análise dos resultados de um cenário
Intenções do utilizador Responsabilidades do sistema
1. Fornecer opções de visualização dos resultados
2. Escolher opções de visualização dos resultados
3. Gerar um relatório detalhado dos resultados
T19: Comparando diferentes cenários
Intenções do utilizador Responsabilidades do sistema
1. Fornecer lista ou visualização dos cenários 2. Escolher cenários
3. Escolher opções de visualização dos resultados
Diagramas Wisdom
Protótipos abstractos canónicos
ANEXO
II
:
FICHEIROS DA APLICAÇÃO
Diagramas de pastas e ficheiros
# 2
'( ( "
Modelos e controladores
) /
7 7 7 7 )
/ 1 , - / 0 F G . 2
5 "
Vistas
) (
2 " 9 7 7 9
7 7 9 7 5 2 *
\ 2 5 2 '&
1 ?
/ +=<!@ 2 " 9 L(
> 5( ! - " '( . ( ! - "
'( . / ( ! - " " . ( !
- " '( " . E 3 ( ! - "
6 .
/ +=<!@ 2 ! 2 ( " 2
6 " " # ( "
' - \ . ( ? E ( !
- 2 " '& '( 2 "
2 . E ! ( ! - '&
" " 2 .
E ( ! - " M " N '(
" . "
( '(
/ + L 2 , %
% 1 # + L 5
1 6 % '& 2
2 2 , % T 1 * % /
% 1 ( " 9 -2 5 .
7 7 9 7 * F + L
7 7 9 7 5 " 6 '(
" 6 E ! '(
" TE ( ! E ! ( ! E ( !
* 6
7 7 9 7 T E ! E/ E ( 4 % 1 2 5
"
6 '( 5
0 % +=<!@
7 7 9 7 &E ! ( !
&E ! ( ! 2 3 ML N ML
J N " 7 7 9 7
3 "
'( " 5
! + I -7 7 9 79 . 8 2
( " '( 5
E & E & ( ! E & E & ( !
7 7 9 7 ( ! 2 "
6 '( T E ( ! @
5 6 7 7 9 7 ; 2
0 6 '( 2 " 5
Outros ficheiros
5 '( 5
: 5
+ ; + '( % 5
4 '(
Ficheiros javascript sobre a API do Google Maps
+ ; + 6
, 0 '( 2
& C : ! " 0
5 '& % 2 6 '( ! Z!F+
L , '( "
% 2 C : ! ?
! E (4 ! E (4 # *
" '& * '( 5 "
'& ?
" '(
# '& ?
/ J 3 '(
7 " " '
M " N C 5 5 % 1
, 2
'( " 6(
" ; 8
2 5 " 5 + L + ; + + L (
1 % 1 + L 0 (
E ! E/ E ( 4 E ! E/ E ( 4
/ 6 6 2 6
C 6
6
-6 ( > 2 .
/ 6 6 2 6 ' 3
T % 6 2 6
7 5 " 6
0 7 " 6
/ J M " N
\ % ' "
/ ! % 1 6 2 5 '(
7 7 5 7 7 5
7 7 ) 6 6
'& 6 '( (
5 4 '& 2 ( 1
Outros ficheiros javascript
5 ( 6
% ?
/ & E (4 2 '& 2 *
" '( " 2 ( *
'(
'( " '( "
-^ ;_. 2 5 ! $ /
" '( 2 ( *
/ (4 2 '& " MJ " N 2 5 0
" "
/ E 3 (4 2 '& " MJ
$ 6 N 2 '( &
/ / (4 2 '& " M< " N 2
6 " " "
/ (4 2 '& '( 2 M% N
" 9 6 2 8
" " '( 2
# 5 '( , /
J 9 " L QGFR
) % ( " '(
1 (4 2 " % %
QGDR J (
'(
< % 6 ( % 7 7% 7
Ficheiros de configuração diversos
7 7 5 5 0
5 2 + ; + 1
5 2 ' * QGHR 2
- 1? 7 7 7 \
7 7 7 \ . '( ( 6
'( 2 2 5 / 5 " (
# 7 7 5 % '( 5
2 2 '( % ? & ( ! 2
'( 3
# 7 7 ; 7 / ? ( 2
JLL '( % '(
" # 7 7 7
( % '( 1 2 0
7 7 7 ( % + ; +
6 '( ? + I -7 7 79 7. Z!F+
1 '( & ( ( & 2
A
NEXO
III:
M
ANUAL DE INSTALAÇÃO
# '( " 3
'( '( / 2
'( J
'( '( 4 # "2
! I 9 W L > G
" 0 "/ & I 9 T
5 % '& @ 1
! )L W 2 K + ;L > 5 0 &
1. Instalação do BitNami RubyStack
#1 % J - 6 9
# M N?
! M+ ; ) + N - ( 5 " = .?
C 6 / ? /
5 " " " ?
# =<< 2 "
# LL@ 2 " FFG?
C 6 0 9 2 ( - 1? 999 999 .
J % "
# !;LU@ 2 " GG2H?
C 6 6 /
1 K + ; > # 6 "
C " ( / 3 '( 2 " ?
( 5 " ' K + ;L > 1 '(
2. Instalar os ficheiros da aplicação
J 4 M N - , / '&
'( . J J?` L ` `K
+ ;L > % `
3. Instalar a versão do Rails adequada
'( + B D ( 5 B V 0 &
2 ( 6 '& K
+ ;L > 5 " ( B D
# 6 ?
!! ! ' ()*)+
J ' " ( 9 '( ( + 2
" " S " 2 % %" 3 C
?
4. Instalar a base de dados
/ 6 '( !;LU@
'( 2 " <
K + ;L > '( 5 J '(
0 6 9 4 (
?77 ; 2 7 9
, 5 " '( 3 5
/_ 9 ) '( 5 *
/ ? ?GG2H ? 9 5
9 6 '& K + ;L >?
< '( 5 " 6
(
0 " '( 5 "
/ 2 % J 5 '( M#1 N
" 6 ?
5. Editar as configurações de acesso à base de dados
S " '& '( 3
6 !;LU@ 2 '( K
+ ; >
J?` L ` `K
+ ;L > % ` ` ` ; 9 '&
M N 2 6 " 3 9
6. Reiniciar o serviço BitNami RubyStack
# " 5 ML K
+ ;L > N ML K + ;L > N
7. Lançar a aplicação
'( " ' " 2 '
1 G. 6 2
' ?
$ , ' -.
'( " 0 9 5 '
?77 ( 1 2 2 6 '(
- ? 5 '( LC
6 5 .
" / '(
8. Geração de uma chave na API do Google Maps
) 4 " a '( 5 '(
C : ! 0 2 2 '( %
1? 999 999 - '( 6 2
% 0 3 '( 4 0 . C
: !
?77 7 7 7 ?
" 1
J?` L ` `K + ;L > % ` ` `
9 ` ` J?` L ` `K
+ ;L > % ` ` ` 9 ` ` /
/,, ) ! ) , 0 ! 1 2 3 1*)&2 3% $1 " ?
A
NEXO
IV:
B
IBLIOGRAFIA
QBR
?77999 9 7 7 b ] 9 K c
C ]FGF E U >L ;? C - C.
Q R ?77999 % 7YK7 7I C 9 > 1/
J % ? I C 9 >b
QGR ?77999 % 9> 79 \ / 9 > - I. / I 9 >b
QFR999 79 / I C :CLb
QDR ?77999 7 7 / < ) L
- .
QHR ?77999 9 7<#+!7 7 \ / I / b I
< I J ;
QER ?77 7 % 17 % 1 7 / 7 7/ J C
< > % 1
Q R $ M$ 9 > J ) J J N
BAA
QAR C M C ; + ) :
: BAA / FN H
QB R ?77 7 7 7/ : ! C : J
QBBR ?77999 7 7 7/ : ! C
QB R ?77 7 7/ : # J)! C
QBDR ?77 7/ @ L !
QBHR ?77999 2 7/ ! U !
QBER ?77 7/ :+ LL :CL
QB R ?77999 2 7/ U:CL J ;
QBAR ?77999 7 1 b ] c@] / LC:
Q R ?77999 > / >
Q BR ?77 7 >7 ; >/ K + ;L >
Q R ?77; F ; 7/ Z!F+
Q GR ?779 > ; 7 7 7$ + !OJ/
$ + !OJ + ; +
Q FR M! '( ) % J
$ 6 C $ 6 N B
Q DR J @ MJ ; O
C N G
Q HR ?77999 7 ; 7 7 B7 BBD7 2 /
e # K + M+ 2 ( /
" 3 9 N
Q ER J @ M$ + N H
Q R J @ M ; ! ? < 9 C ;
< ; 9 $ /J N H
Q AR J @ ML L ; $ J $ C N
QG R ?77 ; 7 7 1 / + 9 + ;
C +
QGBR ?77999 9 7 7 179 7/ + I
QG R ?77999 9 7 7 9 b C ] /
QGGR ?77999 9 7 7 9 b C ]
K / C @ ; I
QGFR ?77999 7 7 7< 2 7 /J / ; /
CO/9 9 /9 / L 7/ J ; CO 9 9 9
QGDR ?77999 ; % 7/ ; L 9 >? # ; % 1
)! ; 9
QGHR < 45 ! 6 7 ! 6 8 ! 9 #