• Nenhum resultado encontrado

Análise da performance da constelação de satélites Galileo

N/A
N/A
Protected

Academic year: 2021

Share "Análise da performance da constelação de satélites Galileo"

Copied!
73
0
0

Texto

(1)

Universidade de Lisboa

Faculdade de Ciˆencias

Departamento de Inform´

atica

An´

alise da performance da constela¸

ao de

sat´

elites Galileo

projecto realizado na

Critical Software S.A.

por

Artur C´

esar Rodrigues Ribeiro

Mestrado em Engenharia Inform´

atica

(Vers˜

ao P´

ublica)

(2)
(3)

Universidade de Lisboa

Faculdade de Ciˆencias

Departamento de Inform´

atica

An´

alise da performance da constela¸

ao de

sat´

elites Galileo

projecto realizado na

Critical Software S.A.

por

Artur C´

esar Rodrigues Ribeiro

Projecto orientado por Fl´avio Moreira e co-orientado pelo Prof. Thibault Langlois

Mestrado em Engenharia Inform´

atica

(4)
(5)

Declara¸

ao

Artur C´esar Rodrigues Ribeiro, aluno no 28301 da Faculdade de Ciˆencias da Universidade de Lisboa, declara ceder os seus direitos de c´opia sobre o seu Relat´orio do Projecto em Engenharia Inform´atica, intitulado ”An´alise da performance da con-stela¸c˜ao de sat´elites Galileo”, realizado no ano lectivo de 2006/2007 `a Faculdade de Ciˆencias da Universidade de Lisboa para o efeito de arquivo e consulta nas suas bibliotecas e publica¸c˜ao do mesmo em formato electr´onico na Internet.

FCUL, 17 de Julho de 2007

Fl´avio Moreira, supervisor do projecto de Artur Ribeiro, aluno da Faculdade de Ciˆencias da Universidade de Lisboa, declara concordar com a divulga¸c˜ao do Re-lat´orio do Projecto em Engenharia Inform´atica, intitulado ”An´alise da performance da constela¸c˜ao de sat´elites Galileo”.

(6)
(7)

Resumo

Os sistemas de navega¸c˜ao por sat´elite, norte-americano e russo, o NAVSTAR GPS e o GLONASS respectivamente, foram concebidos para fins militares, apesar de neste momento a sua utiliza¸c˜ao para fins civis j´a estar licenciada. O sistema norte-americano foi o mais divulgado para fins civis, mas a possibilidade de re-codifica¸c˜ao do sinal, a qualquer altura, (j´a aconteceu durante a guerra do Golfo), deixam a Eu-ropa dependente da vontade do governo norte-americano, assim como impossibilita a implementa¸c˜ao de aplica¸c˜oes cr´ıticas que utilizem navega¸c˜ao por sat´elite, como por exemplo levantar e aterrar um avi˜ao sem piloto.

O sistema de posicionamento Galileo, a ser desenvolvido pela Agˆencia Espacial Europeia, constitui a solu¸c˜ao para a dependˆencia europeia no sistema de navega¸c˜ao norte-americano. O sistema engloba o lan¸camento de 30 sat´elites, de ´orbita circular interm´edia, que ir˜ao disponibilizar uma precis˜ao superior ao actual sistema NAVS-TAR (Galileo ter´a precis˜ao de 1 metro, GPS tem margem de erro de 10 a 20 metros), alargando as possibilidades de aplica¸c˜ao pr´atica.

O projecto do est´agio PEA (Performance Evaluation and Analysis - An´alise da performance da constela¸c˜ao de sat´elites) encontra-se inserido no ˆambito do projecto Galileo, especificamente, do sistema de controle em terra. Consiste no desenho de-talhado, produ¸c˜ao e valida¸c˜ao de uma ferramenta de reporting, de suporte `a an´alise da performance da constela¸c˜ao de sat´elites.

PALAVRAS-CHAVE:

ESA, Galileo, An´alise, Reporting, Eclipse RCP

(8)
(9)

Abstract

The satelite navigation systems north-american and russian, NAVSTAR GPS and GLONASS, respectively, were created for military purposes, although they are also currently being used on civilian applications. The NAVSTAR system was the most divulged for civilian purposes, but the possibility of signal re-codification at any time (already happened during Golf war), cause Europe to be dependent of the north-american government will, as it does not allow any critical application implementation.

The Galileo navigation system, being developed by ESA (European Space Agency), is the solution for this problem as it will allow Europe to have its own independent navigation system and to begin further development of advanced navigation sys-tems, such that it will be possible in the future to lift of and land a plane, without a pilot’s help. The Galileo system is composed of a satelite constelation comprising 30 satelites, commanded and controled by several ground stations with costumized software.

The intership project’s Performance Evaluation and Analysis will be part of the Galileo ground segment. It consists on the implementation of a reporting tool that will support the performance analysis of the Galieleo spacecraft constellation. Specifically, the internship includes the Detail Design, Production and Validation of such system.

KEYWORDS:

ESA, Galileo, Analysis, Reporting, Eclipse RCP

(10)
(11)

Conte´

udo

Lista de Figuras viii

Lista de Tabelas x 1 Introdu¸c˜ao 1 1.1 Objectivo . . . 1 1.2 Audiˆencia . . . 1 1.3 Acr´onimos . . . 1 1.4 Institui¸c˜ao de Acolhimento . . . 2 1.4.1 Miss˜ao . . . 2

1.4.2 Areas de competˆ´ encia . . . 2

1.5 Organiza¸c˜ao do documento . . . 4

2 Trabalho Realizado 5 2.1 Descri¸c˜ao do projecto . . . 5

2.1.1 Projecto Galileo . . . 5

2.1.2 Galileo Software Standard . . . 8

2.1.3 Requisitos de software . . . 10

2.2 Tecnologias . . . 13

2.2.1 Eclipse RCP . . . 13

2.2.2 JasperReports . . . 15

2.3 Plano detalhado do est´agio . . . 18

2.3.1 Plano previsto . . . 18

2.3.2 Calend´ario final . . . 18

2.3.3 Resumo dos documentos produzidos . . . 20

2.4 Processos e ferramentas . . . 22

2.4.1 Metodologias . . . 22

2.4.2 Ferramentas utilizadas . . . 24

2.5 Desenho Detalhado . . . 25

2.5.1 Input ao Desenho Detalhado . . . 25

2.5.2 Actividades desenvolvidas . . . 25

2.5.3 Output do Desenho Detalhado . . . 36 v

(12)

2.6 Implementa¸c˜ao . . . 38 2.6.1 Input `a Implementa¸c˜ao . . . 38 2.6.2 Actividades desenvolvidas . . . 38 2.6.3 Output da Implementa¸c˜ao . . . 46 2.7 Valida¸c˜ao . . . 47 2.7.1 Input `a Valida¸c˜ao . . . 47 2.7.2 Actividades desenvolvidas . . . 47 2.7.3 Output da Valida¸c˜ao . . . 49 3 Conclus˜ao 50

A PEA Software Detail Design Document (SDD) 52 B PEA Software Operations Manual (SOM) 53 C PEA Software Validation Test Specification (SVTS) 54 D PEA Software Test Report (STR) 55

Bibliografia 56

(13)
(14)

Lista de Figuras

2.1 Galileo Segments . . . 6

2.2 Spacecraft Constellation Control Facility (SCCF) . . . 7

2.3 Performance Evaluation and Analysis (SCCF-PEA) . . . 8

2.4 Rela¸c˜ao entre as diferentes revis˜oes e componentes . . . 10

2.5 Conte´udos de um relat´orio: telemetria em formato tabular e gr´afico . 12 2.6 Processo de gera¸c˜ao de relat´orios . . . 16

2.7 Plano previsto das tarefas de est´agio . . . 19

2.8 Calend´ario final das tarefas de est´agio . . . 20

2.9 Esfor¸co final das tarefas de est´agio . . . 21

2.10 Elementos de um relat´orio . . . 27

2.11 Arquitectura do sistema PEA . . . 28

2.12 Arquitectura do cliente PEA . . . 29

2.13 Arquitectura do componente Report Design . . . 30

2.14 Arquitectura do componente PEA MMI . . . 32

2.15 Processo de gera¸c˜ao de relat´orios adaptado ao PEA . . . 33

2.16 Camadas do processo de gera¸c˜ao de relat´orios . . . 34

2.17 PEA Mockup . . . 35

2.18 Layout de uma MMI Galileo . . . 35

2.19 Elementos do Template . . . 37

2.20 ReportDesigner - DesignCore . . . 40

2.21 PEA MMI - Configuration . . . 41

2.22 PEA MMI - Editor de relat´orios . . . 42

2.23 PEA MMI - Reporting . . . 43

2.24 PEA MMI - Servi¸co CORBA . . . 44

(15)
(16)

Lista de Tabelas

1.1 Lista de Acr´onimos . . . 1

2.1 Ciclos de vida: Reviews e fases de alto n´ıvel . . . 9

2.2 Calend´ario final de est´agio . . . 19

2.3 Documentos realizados . . . 21

2.4 Ferramentas . . . 24

2.5 Plano inicial de est´agio . . . 46

(17)
(18)

Cap´ıtulo 1

Introdu¸

ao

1.1

Objectivo

Este relat´orio pretende apresentar todo o trabalho realizado durante o est´agio intit-ulado ”An´alise da Performance da constela¸c˜ao de Sat´elites Galileo”(este documento ´e a vers˜ao p´ublica: n˜ao cont´em os documentos produzidos no est´agio em anexo).

1.2

Audiˆ

encia

O relat´orio destina-se ao docente respons´avel do Projecto de Engenharia Inform´atica e aos orientadores da empresa e da faculdade.

1.3

Acr´

onimos

A tabela 1.1 cont´em a lista de todos os acr´onimos usados no relat´orio. CSW Critical Software, S.A.

ESA European Space Agency GSWS Galileo Software Standards GCS Ground Control Segment

SCCF Spacecraft Constellation Control Facility MMI Man Machine Interface

MIB Manegement Information Base MVC Model View Controller

PEA Performance Evaluation and Analysis RCP Rich Client Platform

TM Telemetry TC Telecommand

UML Unified Modelling Language Tabela 1.1: Lista de Acr´onimos

(19)

Cap´ıtulo 1. Introdu¸c˜ao 2

1.4

Institui¸

ao de Acolhimento

1.4.1

Miss˜

ao

A miss˜ao da Critical Software ´e fornecer solu¸c˜oes, servi¸cos e tecnologias fi´aveis e inovadoras, para sistemas de informa¸c˜ao cr´ıticos em empresas e organiza¸c˜oes de diversos sectores, respondendo `as necessidades de clientes de diversos mercados, designadamente, telecomunica¸c˜oes, sector p´ublico, ind´ustria, sector aeroespacial e defesa. Presta tamb´em servi¸cos de consultoria e auditoria nas ´areas das Tecnologias de Informa¸c˜ao. A empresa foi fundada em 1998 e emprega cerca de 200 pessoas, em escrit´orios localizados em Coimbra, Lisboa e Porto, em San Jose na Calif´ornia e em Southampton no Reino Unido.

O sucesso da CSW reside na utiliza¸c˜ao de n´ıveis elevados de qualidade e inova¸c˜ao tecnol´ogica como agentes na introdu¸c˜ao de vantagens competitivas nos sistemas de informa¸c˜ao e no neg´ocio dos clientes e parceiros. O resultado pr´atico ´e um portof´olio s´olido de solu¸c˜oes de elevada qualidade e conte´udo inovador, desenvolvidas dentro dos prazos e or¸camentos com n´ıvel crescente de parcerias estrat´egicas com clientes de grande dimens˜ao a n´ıvel nacional e internacional.

1.4.2

Areas de competˆ

´

encia

As ´areas de competˆencia permitem `a empresa responder com flexibilidade aos de-safios mais complexos dos clientes e parceiros. A empresa est´a dividida de uma forma estrat´egica em quatros ´areas de competˆencia:

• Enterprise Application Integration & Databases (EAI&DB); • Redes e Comunica¸c˜oes;

• Sistema de Informa¸c˜ao Fabris ou MES; • Confiabilidade;

• Computa¸c˜ao de Alto Desempenho ou HPC; • Software de Ground Segment.

A ´area de EAI&DB lida com problemas complexos de integra¸c˜ao e desenvolvimento de aplica¸c˜oes, aplica¸c˜oes em camadas m´ultiplas, aplica¸c˜oes orientadas `a internet, desenho e optimiza¸c˜ao de bases de dados, data warehouse e data mining e solu¸c˜oes de integra¸c˜ao shop-flor utilizando para o efeito tecnologias abertas, recorrendo a boas pr´aticas recomendadas pelas normas internacionais e investigando o estado de arte.

(20)

Cap´ıtulo 1. Introdu¸c˜ao 3 A ´area de Redes e Comunica¸c˜oes centra-se no planeamento, desenho e desenvolvi-mento de solu¸c˜oes de comunica¸c˜ao. A comunica¸c˜ao eficiente ´e um ponto essencial nas organiza¸c˜oes, sendo os sistemas de informa¸c˜ao e as redes cada vez mais, tratados de uma forma integrada. Deste modo, existe uma grande necessidade de integra¸c˜ao e media¸c˜ao de sistemas, complementada pela necessidade de gerir, integrar e interligar m´ultiplos elementos da rede, protocolos e sistemas.

A ´area de Sistemas de Informa¸c˜ao Fabris centra-se nos requisitos dos sistemas de informa¸c˜ao de processos industriais e da sua integra¸c˜ao com as linhas de produ¸c˜ao. Os engenheiros desta ´area configuram solu¸c˜oes que respondem aos requisitos es-pec´ıficos dos diferentes processos industriais, desenvolvendo solu¸c˜oes numa plataforma comum, com componentes pr´e-desenvolvidos, validados e m´odulos testados.

A ´area de Confiabilidade centra-se na preocupa¸c˜ao crescente sobre os aspectos de confiabilidade de sistemas de software e computadores. Actualmente, esta ´e uma quest˜ao vital devido `a crescente importˆancia do software na vida quotidiana e ao seu papel de controlo de processos e aplica¸c˜oes empresariais e cr´ıticas. A ´area de Confiabilidade abrange competˆencias em t´ecnicas de RAMS (Reliability, Availability, Maintainability and Safety), FDIR (Fault Detection, Isolation and Recovery) e ISVV (Independent Software Verification and Validation). Em particular, como fornece-dora de ISVV, a empresa faz verifica¸c˜ao de software e servi¸cos de valida¸c˜ao para v´arios mercados como o aeroespacial, autom´ovel, defesa, sa´ude, telecomunica¸c˜oes e finan¸cas. A sua posi¸c˜ao independente permite `a CSW ter um estatuto ´unico neste mercado.

A ´area de Computa¸c˜ao de Alto Desempenho (HPC) dedica-se `a resolu¸c˜ao de problemas de desempenho dos Sistemas de Informa¸c˜ao de empresas e organiza¸c˜oes. Nos servi¸cos est˜ao inclu´ıdos a optimiza¸c˜ao, afina¸c˜ao e parameteriza¸c˜ao de processos, desenvolvimento de aplica¸c˜oes paralelas e paraleliza¸c˜ao de c´odigo. Os problemas solucionados abrangem o controlo de grandes volumes de dados, processos de escala (mais dados, mesmo tempo), acelera¸c˜ao de processos (mesmos dados, menos tempo) e a implementa¸c˜ao de processos complexos e algoritmos.

A ´area de Software de Ground Segment fornece solu¸c˜oes para o sector das comu-nica¸c˜oes e User Segment, sobretudo para os sectores espacial, aeron´autico e defesa. Especificamente ´e uma ´area com competˆencias em processamento de dados, moni-toriza¸c˜ao e control concorrente; controlo de miss˜ao; e recentemente, experiˆencia em Sistemas Operativos espec´ıficos de Controlo de miss˜ao (SCOS-2000), da Agˆencia Espacial Europeia (ESA - European Space Agency), desenvolvendo projectos para algumas das mais importantes empresas e agˆencias do sector espacial incluindo a Acaltel Space, EADS Astrium, EADS Casa Espacio, entre outras. E uma ´` area onde a Critical Software faz tamb´em investimento em investiga¸c˜ao e desenvolvi-mento de aplica¸c˜oes relacionadas com infraestruturas de monitoriza¸cao de controlo.

(21)

Cap´ıtulo 1. Introdu¸c˜ao 4 Alguns dos projectos de referˆencia de interesse incluem o desenvolvimento de uma plataforma de GIS (Sistema de Informa¸c˜ao Geogr´afica, do inglˆes Geographic Infor-mation System); um sistema de monitoriza¸c˜ao e controle de uma rede de sensores; e um sistema de simula¸c˜ao de UAVs (Ve´ıculo a´ereo n˜ao tripulado, do inglˆes Unmanned Aerial Vehicle). ´E nesta ´area que o est´agio se enquadra.

1.5

Organiza¸

ao do documento

Este documento est´a organizado da seguinte forma:

• Captulo 1 - Introdu¸c˜ao, ao documento, incluindo uma descri¸c˜ao sobre a institui¸c˜ao de acolhimento.

• Captulo 2 - Trabalho Realizado, descri¸c˜ao de todo o est´agio, projecto, tecnologias, metodologias, ferramentas e plano detalhado, incluindo uma de-scri¸c˜ao detalhada de cada fase:

Desenho Detalhado, desenho e arquitectura do software.

Implementa¸c˜ao, implementa¸c˜ao, m´etricas e manual de opera¸c˜oes do soft-ware.

Valida¸c˜ao, especifica¸c˜ao de testes e registo de falhas.

• Captulo 3 - Conclus˜ao, cont´em um resumo e coment´arios sobre o Projecto, terminando com um vis˜ao global do futuro do projecto.

(22)

Cap´ıtulo 2

Trabalho Realizado

Este cap´ıtulo descreve detalhadamente o est´agio realizado, come¸cando por uma de-scri¸c˜ao do Projecto PEA e introdu¸c˜ao `as tecnologias e conceitos te´oricos envolvidos, seguida da apresenta¸c˜ao dos m´etodos e ferramentas utilizados na execu¸c˜ao das tare-fas.

2.1

Descri¸

ao do projecto

O projecto PEA enquadra-se na miss˜ao Galileo da ESA. Nesta sec¸c˜ao ´e feita uma introdu¸c˜ao ao contexto, com a descri¸c˜ao da miss˜ao, os componentes, os processos e os standards. Por fim, ´e apresentado um resumo dos objectivos e requisitos do PEA, que constituiram o ponto de partida para o est´agio.

2.1.1

Projecto Galileo

O est´agio insere-se no ˆambito da miss˜ao Galileo, da ESA. Consiste na implementa¸c˜ao de um sistema global de posicionamento, com o lan¸camento de 30 sat´elites e a gest˜ao dos mesmos a partir da Terra. Particularmente, a miss˜ao divide-se em trˆes segmentos:

• Space Segment, o segmento que inclui os sat´elites;

• Ground Mission Segment (GMS) respons´avel pelo controlo da navega¸c˜ao; • Ground Control Segment (GCS) respons´avel pela manuten¸c˜ao da constela¸c˜ao

de sat´elites e onde se insere o projecto.

Os trˆes segmentos referidos podem ser visualizados na figura 2.1.

O GCS encontra-se dividido em v´arias Facilities, uma delas, o Spacecraft Con-stellation Control Facility (SCCF) que disponibiliza monitoriza¸c˜ao em tempo real da constela¸c˜ao de sat´elites, atrav´es dos dados recebidos e enviados: respectivamente Telemetria (TM) e Telecomandos (TC).

(23)

Cap´ıtulo 2. Trabalho Realizado 6

Figura 2.1: Galileo Segments

Telemetria ´e a tecnologia usada para obten¸c˜ao e processamento de dados `a distˆancia, para sistemas complexos, como ´e o caso da rede de sat´elites Galileo, permitindo monitoriza¸c˜ao autom´atica, gest˜ao de alertas e grava¸c˜ao dos dados rece-bidos para opera¸c˜oes eficientes e seguras. Tipicamente diz respeito a comunica¸c˜ao sem fios (utilizando frequˆencia r´adio). A Agˆencia Espacial Europeia usa o sistem de telemetria / telecomandos para enviar e recolher dados dos sat´elites. A telemetria ´e tamb´em uma tecnologia vital na fase de desenvolvimento de misseis, sat´elites e ve´ıculos a´ereos, tendo em conta que o sistema pode ser destru´ıdo depois ou durante o teste. Os parˆametros de telemetria podem ent˜ao ser usados pelos engenheiros para analisar e melhorar a performance do sistema. Sem telemetria estes dados poderiam n˜ao estar dispon´ıveis. Os telecomandos consistem no envio de instru¸c˜oes de controle aos sat´elites, provenientes do segmento Galileo em terra, precisamente a opera¸c˜ao inversa `a recep¸c˜ao de telemetria.

As v´arias funcionalidades do SCCF incluem:

• Processamente TM&TC: gest˜ao da transmiss˜ao e recep¸c˜ao dos TM e TC; • Automa¸c˜ao: recep¸c˜ao e processamento autom´atico dos dados TM e TC; • Monitoriza¸c˜ao do progresso das opera¸c˜oes: monitoriza¸c˜ao on-line das opera¸c˜oes

realizadas pelos sat´elites;

• Manuten¸c˜ao do software on-board : gest˜ao do software on-board ; • Hist´orico das opera¸c˜oes: salvaguarda de todos os TM e TC recebidos;

• An´alise da Performance (Performance Evaluation and Analysis – PEA) – onde se insere o est´agio, consiste numa ferramenta off-line capaz de produzir

(24)

re-Cap´ıtulo 2. Trabalho Realizado 7 lat´orios para an´alise dos dados TM e TC enviados e recebidos da constela¸c˜ao de sat´elites.

Um esquema dos elementos do SCCF e sua contextualiza¸c˜ao pode ser visualizado na figura 2.2.

Figura 2.2: Spacecraft Constellation Control Facility (SCCF)

Particularmente o elemento PEA do SCCF ´e respons´avel pela an´alise da perfor-mance dos TM e TC. Para tal, este elemento dever´a permitir a gera¸c˜ao de relat´orios, por pedido ou automaticamente, sobre os dados guardados no hist´orico. O PEA consiste numa arquitectura cliente/servidor, sendo o servidor respons´avel por v´arios componentes:

• Interface com os outros componentes;

• Manuten¸c˜ao de uma s´erie de bases de dados que ir˜ao guardar uma c´opia de todo o hist´orico TM e TC da constela¸c˜ao de sat´elites;

• O servidor ainda ir´a gerar relat´orios automaticamente.

O cliente PEA ´e apenas respons´avel pela interface com o utilizador, disponibilizando as funcionalidades: gest˜ao dos relat´orios e de configura¸c˜ao das defini¸c˜oes do pr´oprio PEA. Na figura 2.3 encontram-se a arquitectura do PEA, onde se podem identificar os v´arios componentes. O ˆambito do est´agio “An´alise da performance da constela¸c˜ao de sat´elites Galileo” ´e o desenho, implementa¸c˜ao e valida¸c˜ao do cliente PEA.

(25)

Cap´ıtulo 2. Trabalho Realizado 8

Figura 2.3: Performance Evaluation and Analysis (SCCF-PEA)

2.1.2

Galileo Software Standard

O standard de desenvolvimento de software do Galileo (GSWS), define procedimen-tos a serem seguidos pela engenharia, product assurance e gest˜ao de configura¸c˜oes de software applic´aveis a todos os produtos a serem produzidos no ˆambito do Projecto Galileo, incluindo assim, o projecto de est´agio.

O standard define detalhadamente todas as opera¸c˜oes a diferentes n´ıveis, envolvi-das no processo de desenvolvimento de software. Descreve todo o ciclo de vida de cada projecto. Os processos de revis˜ao encontram-se tamb´em detalhados no GSWS, assim como cada fase do ciclo de vida de um projecto, e que respectivas actividades de engenheaia s˜ao aplic´aveis a cada fase. Isto inclui especifica¸c˜oes de gest˜ao de configura¸c˜oes, qualidade, verifica¸c˜ao e valida¸c˜ao. Por fim, o GSWS inclui templates para todos os documentos necess´arios em todas as fases de desenvolvimento.

Existe, adicionalmente uma classifica¸c˜ao atribu´ıda a cada producto de Software, de acordo com o seu n´ıvel de criticalidade: DAL (Development Assurance Level ). Esta classifica¸c˜ao pode ir de A e E, e decidir que tecnologias, ciclos de vida, e aplicabilidade do standard, ser˜ao necess´arios.

O projecto PEA foi classificado como DAL-E, ou seja, de criticalidade baixa. No ˆ

ambito deste relat´orio, interessa detalhar o processo de desenvolvimento de software gen´erico especificado pelo GSWS, e o adoptado para o projecto de acordo com o n´ıvel DAL-E.

(26)

Cap´ıtulo 2. Trabalho Realizado 9 Ciclos de vida

Seja qual for o ciclo de vida selecionado para qualquer projecto, este encontra-se sempre inserido num ciclo de mais alto-n´ıvel, do componente onde se insere. A tabela 2.1 introduz todas as revis˜oes de um ciclo gen´erico e respectiva correspondˆencia com as fases de desenvolvimento, de alto n´ıvel.

Tabela 2.1: Ciclos de vida: Reviews e fases de alto n´ıvel

A rela¸c˜ao entre as revis˜oes de cada componente, facility e segmento, pode ser vista na imagem 2.4, relativamente aos elementos do GCS, como ´e o caso do PEA. As fases de revis˜ao que se encontram na imagem, tamb´em est˜ao mapeadas para as fases de alto n´ıvel em formato tabular: 2.1. Um ciclo de vida define as fases e a actividades de um projecto de software, desde o concep¸c˜ao at´e `a entrega. Especifica as rela¸c˜oes entre as fases do projecto, o modo de transi¸c˜ao, comunica¸c˜ao, milestones, baselines, revis˜oes e entregas.

Especificamente no Galileo, as fases adoptadas para um ciclo de vida gen´erico sao as seguintes:

• Planeamento; • Especifica¸c˜ao; • Desenho

(27)

Cap´ıtulo 2. Trabalho Realizado 10

Figura 2.4: Rela¸c˜ao entre as diferentes revis˜oes e componentes • Implementa¸c˜ao

• Integra¸c˜ao e Valida¸c˜ao t´ecnica • Valida¸c˜ao dos requisitos • Aceita¸c˜ao

• Opera¸c˜ao • Manuten¸c˜ao

No caso do projecto PEA, classificado como DAL-E, onde n˜ao se encontram grandes restri¸c˜oes relativamente `a escolha do ciclo de vida (pode ser em cascata ou incre-mental), foi selecionado o ciclo de vida em cascata, incluindo todas estas fases.

O plano de est´agio inclu´ıa a fase de Desenho, implementa¸c˜ao e valida¸c˜ao, mas como ser´a descrito mais a frente na sec¸c˜ao sobre o Plano de est´agio, a fase oficial do projecto, durante o periodo de est´agio, foi o Desenho. No entanto apesar de n˜ao se enquandrar no contexto oficial do projecto o est´agio respeitou o plano inicial, concluindo a implementa¸c˜ao de um prot´otipo do software, e uma primeira fase de valida¸c˜ao, seguindo sempre o GSWS.

2.1.3

Requisitos de software

Como j´a foi referido, o objectivo do projecto PEA, consiste na implementa¸c˜ao de uma ferramenta que permita a an´alise da performance dos sat´elites da constela¸c˜ao Galileo. Especificamante esta ferramenta deve ser capaz de produzir relat´orios que permitam esta an´alise, contendo, num caso limite, qualquer tipo de dados (TM ou TC) dos sat´elites, de per´ıodos que podem ascender a 20 anos. Resumindo o conte´udo dos requisitos de software do PEA, existem trˆes funcionalidades principais:

(28)

Cap´ıtulo 2. Trabalho Realizado 11 1. Relat´orios autom´aticos - gerados numa data no futuro, com dados pre-definidos; 2. Relat´orios configur´aveis - separar conte´udo de apresenta¸c˜ao, e tornar ambas

as defini¸c˜oes persistentes;

3. Suporte para diferentes ouputs de relat´orio - relat´orios em formatos de ficheiros diferentes.

Os relat´orios dever˜ao poder ser gerados automaticamente segundo periodicidades pre-definidas, ou gerados manualmente para casos especiais. Independentemente do tipo de gera¸c˜ao, os relat´orios dever˜ao ser produzidos de forma a poderem ser impressos, mesmo que n˜ao sejam usados como tal.

Os operadores que utilizar˜ao o PEA dever˜ao poder configurar os relat´orios, de modo a poder reutilizar elementos dos relat´orios e facilitar a pr´opria tarefa de criar um relat´orio sobre determinados dados TM ou TC. Esta flexibilidade encontra-se definida nos requisitos do projecto, onde ´e especificado a necessidade de imple-menta¸c˜ao de elementos com caracteristicas e fun¸c˜oes distintas, que juntos poder˜ao constituir um relat´orio. Um resumo destes elementos, como especificado pelos req-uisitos econtra-se descrito de seguida:

• Template - Consiste na separa¸c˜ao clara daquilo que ser´a o estilo e layout do relat´orio. Todos os elementos de conte´udo est´atico e defini¸c˜oes de estilo dever˜ao estar definidos no template (font, cor, tamanhos, etc.);

• Dataset - Representa o defini¸c˜ao dos dados a serem inseridos num determinado relat´orio (cont´em o tempo, e especifica¸c˜oes sobre os dados: TM ou TC); • Filtro - Dever´a ser poss´ıvel filtrar os dados de TM ou TC a inserir num

re-lat´orio, tendo em conta que estes poder˜ao ter uma dimens˜ao consider´avel; • Relat´orio - O produto final dos 3 elementos descritos acima. Um dataset ser´a

filtrado com um filtro, e utilizado para prencher um relat´orio de acordo com os estilos e conte´udos especificados no Template. Pode ser visto na imagem 2.5.

O objectivo de ter todos estes elementos especificados como requisitos, pretende fornecer uma flexibilidade aos operadores respons´aveis pela cria¸c˜ao de relat´orios. De-ver´a ser poss´ıvel criar v´arios tipos de templates, datasets e filtros, guard´a-los, reuti-liz´a-los e combin´a-los entre si para a produ¸c˜ao de relat´orios espec´ıficos ou peri´odicos. Adicionalmente o PEA dever´a implementar procedimentos que permitam expor-tar um relat´orio gerado para diferentes formatos, em ficheiros num disco local, como alternativa `a impress˜ao. Os formatos suportados dever˜ao permitir a edi¸c˜ao posterior de relat´orios.

(29)

Cap´ıtulo 2. Trabalho Realizado 12

(30)

Cap´ıtulo 2. Trabalho Realizado 13

2.2

Tecnologias

Durante o est´agio foram utilizados v´arios tipos de conceitos te´oricos e tecnologias, alguns j´a pre-selecionados para determinadas fases, e outros selecionados no decorrer do est´agio. Esta sec¸c˜ao descreve todos os conceitos te´oricos e tecnologias aplicadas durante o est´agio, que ser˜ao referenciadas nas sec¸c˜oes que descrevem o trabalho realizado.

Na fase de desenho detalhado, a arquitectura do sistem foi descrita atrav´es da utiliza¸c˜ao da linguagem de modela¸c˜ao UML2.0. Mas esta fase tamb´em inclu´ıu uma mockup da GUI (Graphical User Interface) do PEA, implementada em Java, atrav´es da framework Eclipse RCP1 (Rich Client Platform), que mais tarde, na fase de

implementa¸c˜ao foi a framework utilizada para dar continuidade ao desenvolvimento da GUI, fazendo com que a ´unica linguagem de programa¸c˜ao utilizada durante o est´agio fosse Java.

Interessa reter esta tecnologia utilizada, e o padr˜ao de desenho sob o qual est´a estruturada: Arquitectura MVC (Model-View-Controller ). Este padr˜ao de desenho e a pr´opria framework eclipse RCP, ser˜ao descritas com maior detalhe mais abaixo. Nesta fase de implementa¸c˜ao foi tamb´em usado software Open-source para facil-itar a implementa¸c˜ao dos procedimentos de gera¸c˜ao de relat´orios. Foi utilizada uma bilblioteca chamada JasperReports2, que integra um motor de reporting e todas as

funcionalidades e especifica¸c˜oes necess´arias `a produ¸c˜ao de relat´orios. Como sendo um dos aspectos fundamentais da aplica¸c˜ao final, este software encontra-se tamb´em detalhado na sec¸c˜ao seguinte.

2.2.1

Eclipse RCP

A plataform Eclipse RCP ´e uma framework que tira partido dos melhores aspectos da arquitectura Eclipse. E composta por um conjunto de plug-ins, baseados na´ arquitectura de plug-ins do eclipse, que define uma base para o desenvolvimento de aplica¸c˜oes cliente mais complexas.

Fornece um sistema de janelas baseado nos conceitos de workbench, pespectiva, vistas, editores e ac¸c˜oes. V´arios componentes gr´aficos e de interface com o utilizador s˜ao disponibilizados atrav´es dos toolkits SWT e JFace.

Uma aplica¸c˜ao constru´ıda sob a plataforma eclipse RCP, poder´a utilizar qualquer plug-in do pr´oprio eclipse, ou qualquer plug-in desenvolvido por terceiros.

• Workbench – O workbench plug-in implementa a GUI workbench e define um n´umero de pontos de ”Extension Points”que suportam contribui¸c˜oes de

1http://www.eclipse.org

(31)

Cap´ıtulo 2. Trabalho Realizado 14 outros plug-ins, como por exemplo, menus e ac¸c˜oes para a Toolbar, opera¸c˜oes de drag&drop, di´alogos, wizards, vistas e editores.

• Perspectivas – Uma perspectiva ´e um conjunto de vistas e editores com uma determinada disposi¸c˜ao na janela do workbench. Define a visibilidade inicial, o layout e a visibilidade das ac¸c˜oes existentes. S´o uma perspectiva poder´a estar activa de cada vez.

• Editores – Um editor permite ao utilizador, abrir, editar e guardar objectos que sigam um ciclo de vida ”abrir-guardar-fechar”. Contribui com ac¸c˜oes para os menus e toolbars do workbench.

• Vistas – S˜ao as partes em que ´e poss´ıvel arrastar para qualquer posi¸c˜ao e que constituem o layout principal da janela do workbench, como definido na perspectiva.

• Ac¸c˜oes – O mecanismo de ac¸c˜oes ´e suportado pelo JFace. Permite que co-mandos do utilizador sejam completamente independentes da sua componente espec´ıfica na MMI. Uma ac¸c˜ao representa um comando que pode ser activado por um bot˜ao, op¸c˜ao no menu, ou item da toolbar. Cada ac¸c˜ao conhece as suas propriedades na MMI, que podem ser usadas para construir widgets apro-priadas para apresentar a ac¸c˜ao. Esta separa¸c˜ao permite que a mesma ac¸c˜ao seja usada em v´arios sitios na mesma MMI, e significa que ´e f´acil mudar a apresenta¸c˜ao de uma ac¸c˜ao dentro da MMI, sem ter de se mudar o pr´oprio c´odigo da ac¸c˜ao.

SWT

O SWT (Standard Widget Toolkit) ´e uma framework open source para desenvolvi-mente de GUIs em Java. Representa uma alternativa ao AWT e Swing para de-senvolvimento de applica¸c˜oes gr´aficas em java. A framework est´a escrita em Java, acendendo a bibliotecas espec´ıficas da plataforma atrav´es do Java Native Interface, melhorando assim a performance da GUI.

O toolkit define uma API port´avel dispon´ıvel para todas as plataformas supor-tadas, implementando a API, em cada plataforma, acedendo a widgets nativas, sempre que poss´ıvel. Este mecanismo permite o toolkit reflectir qualquer altera¸c˜ao no look and feel da GUI do sistema operativo onde est´a a correr, enquanto mant´em um modelo de programa¸c˜ao consistente para todas as plataformas.

JFace

O JFace ´e um toolkit de interface com o utilizador constru´ıdo sob o SWT, disponi-bilizando classes que suportam muitas das mais comuns tarefas de programa¸c˜ao. ´E

(32)

Cap´ıtulo 2. Trabalho Realizado 15 um sistema independente das pr´oprias janelas da GUI, tanto na API, como na sua implementa¸c˜ao, sendo desenhado para trabalhar com o SWT sem o esconder. O JFace inclui no toolkit os componentes comuns de interface com o utilizador, como registo de imagens, fontes, di´alogos, preferˆencias e gest˜ao de opera¸c˜oes longas com feedback na GUI.

O padr˜ao Model-View-Controller

O padr˜ao MVC ´e largamente utilizado em aplica¸c˜oes que implementem uma interface com o utilizador. A plataforma eclipse RCP oferece suporte para esta arquitectura. As sec¸c˜oes seguintes descrevem este paradigma aplicado `a eclipse RCP, detalhando a liga¸c˜ao entre as camadas da arquitectura e os componentes da plataforma que suportam o seu desenvolvimento.

A View Corresponde ao interface com o utilizador. Na plataforma Eclipse, ´e normalmente implementada pelo SWT, que suporta os widgets necess´arios para construir qualquer interface.

A RCP oferece dois tipos principais de partes da interface:

• Vistas, as partes m´oveis do interface que definem o layout do workbench. • Editores, as partes que tˆem um input associado, dentro da janela do workbench

e m´etodos de ciclo de vida adicionais, tais como editar e guardar.

O Controller E a camada do MVC respons´´ avel por receber o input do utilizador e propag´a-lo para o Model. As ac¸c˜oes do JFace s˜ao utilizadas para este objectivo, em eclipse RCP. Executar uma ac¸c˜ao corresponde a chamar o m´etodo run() da classe em quest˜ao. Cada ac¸c˜ao ´e auto-suficiente, com um identificador, uma tool tip e um icon. Desta maneira poder´a ser contribu´ıda para s´ıtios diferentes na GUI, tanto para bot˜oes como para menus.

O Model Encapsula os dados que ser˜ao mostrados na View. A biblioteca JFace fornece, para cada widget, um Viewer correspondente que estabelece a liga¸c˜ao en-tre os objectos do dom´ınio e a pr´opria widget, sem ser preciso modificar esses ob-jectos. Cada viewer necessita da especifica¸c˜ao de v´arias classes que estabelecem propriedades espec´ıficas dos dados: como apresent´a-los, como gerir o conte´udo, por exemplo.

2.2.2

JasperReports

O motor de reporting utilizado, JasperReports, ´e capaz de produzir relat´orios com formato pronto para impress˜ao, ou para ser exportado para diferentes formatos,

(33)

Cap´ıtulo 2. Trabalho Realizado 16 como PDF, XLS e RTF. Suporta tamb´em diferentes fontes de dados, usados na gera¸c˜ao dos relat´orios, como SGBD ou ficheiros XML.

Os relat´orios s˜ao produzidos atrav´es de um report design e um datasource. O report desgin ´e utilizado como um template, especificando todo o layout do relat´orio e que dados ser˜ao inclu´ıdos, atrav´es do uso de queries e campos internos que foncionam como links para os dados a inserir no relat´orio. Este report design ´e definido num ficheiro XML, que cont´em o esquema espec´ıfico.

Processo de reporting

O processo interno do motor de reporting, para gerar um relat´orio passa por uma s´erie de opera¸c˜oes espec´ıficas sobre o template inicial e a fonte de dados, cujos conceitos est˜ao explicados de seguida (encontram-se tamb´em esquematizados em 2.6):

Figura 2.6: Processo de gera¸c˜ao de relat´orios

(34)

Cap´ıtulo 2. Trabalho Realizado 17 • Compila¸c˜ao - Depois do parsing, o template precisa de ser compilado de modo a validar a sua consistˆencia e preparar todas as express˜oes e queries, numa forma de pr´e-processada, acelarando o processo seguinte.

• Preenchimento - Consiste na execu¸c˜ao das queries descritas no template, numa pre-determinada fonte de dados, preenchendo o relat´orio de acordo com o layout e estilo tamb´em definidos no template.

• Exportar ou pre-visualizar - Depois do relat´orio ser preenchido, poder´a ser exportado ou pre-visualizado.

(35)

Cap´ıtulo 2. Trabalho Realizado 18

2.3

Plano detalhado do est´

agio

No relat´orio preliminar foi entregue o plano inicial previsto, para as tarefas de est´agio. Nesta sec¸c˜ao ´e feita uma compara¸c˜ao entre esse plano e o calend´ario fi-nal de est´agio.

2.3.1

Plano previsto

O est´agio encontra-se dividido nas seguintes tarefas:

1. Introdu¸c˜ao – consiste na ambienta¸c˜ao `a empresa e `as condi¸c˜oes de trabalho; 2. Desenho detalhado – desenvolvimento do modelo da arquitectura do sistema

(UML 2.0), estudo das tecnologias a utilizar, esbo¸co e prototipagem da GUI; 3. Relat´orio Preliminar de est´agio;

4. Implementa¸c˜ao: concretiza¸c˜ao do componente PEA cliente e de todas as suas funcionalidades (Linguagem Java, plataforma Eclipse RCP);

5. Manual de Opera¸c˜oes: Realiza¸c˜ao do Manual de Opera¸c˜oes de Software (SOM); 6. Valida¸c˜ao: Realiza¸c˜ao dos testes de valida¸c˜ao do software;

7. Relat´orio Final de est´agio.

A fase de Desenho Detalhado foi composta por duas actividades: esbo¸co/an´alise de tecnologias e arquitectura/prototipagem. Na imagem 2.7 encontra-se a calen-dariza¸c˜ao das fases do projecto.

2.3.2

Calend´

ario final

As tarefas de est´agio coincidiam inicialmente com o calend´ario do projecto, mas como ´e de dominio p´ublico, o projecto Galileo tem vindo a sofrer atrasos sucessivos nas v´arias fases de desenvolvimento, totalizando neste momento 2 anos de atraso em rela¸c˜ao ao que estava idealizado `a 6 anos (o lan¸camento dos sat´elites estaria previsto para 2008, neste momento acredita-se que deva acontecer perto de 2010). O projecto PEA encontra-se na mesma situa¸c˜ao que a globalidade dos componentes do Galileo visto acompanhar os atrasos de entrega de outros componentes do mesmo n´ıvel no SCCF, que foi um dos sistemas que sofreu mais atrasos devido `a sua complexidade e criticalidade (´e o sistema de controlo principal da miss˜ao Galileo).

O calend´ario final encontra-se detalhado com as datas de fim para cada fase na tabela 2.2.

A fase de Desenho foi a ´unica que se enquadrou com o projecto oficial, tendo as fases de implementa¸c˜ao e valida¸c˜ao sido realizadas no ˆambito do est´agio. Apesar

(36)

Cap´ıtulo 2. Trabalho Realizado 19

Figura 2.7: Plano previsto das tarefas de est´agio Data Tarefa

1 a 8 de Setembro Ambienta¸c˜ao.

11 a 29 Setembro Detail Design – GUI Tech/Mockups. 2 Outubro a 27 Novembro Detail Design – Modelo UML/Prot´otipo. 27 a 29 Novembro Relat´orio preliminar.

1 Dezembro a 26 Fevereiro Detail Design – Modelo UML/Mockup. 1 Dezembro a 10 de Maio Implementa¸c˜ao.

10 a 16 de Maio SOM. 16 a 25 de Maio Valida¸c˜ao. 25 a 31 Maio Relat´orio Final.

Tabela 2.2: Calend´ario final de est´agio

de nem todas as tarefas terem sido realizadas de acordo com o calend´ario oficial do projecto, n˜ao deixaram de ser uma mais valia para o desenvolvimento do mesmo (im-plementa¸c˜ao e valida¸c˜ao) tendo em conta que a fase de Desenho Detalhado adquiriu uma maturidade bastante elevada, o que leva a crer que de acordo com os requisitos actuais, n˜ao haver´a altera¸c˜oes de esfor¸co elevado a fazer ao pr´otipo de modo a obter o produto final. No entanto est´a previsto que no futuro o projeto PEA tenha novos requisitos e/ou funcionalidades adicionais.

Apesar do est´agio ter coincidido com a fase de desenho detalhado, todas as fases foram conclu´ıdas, com especial relevˆancia para a fase de implementa¸c˜ao, como sendo a fase de maior esfor¸co no est´agio. Na imagem 2.8 encontra-se o diagrama do calend´ario final de est´agio, onde se pode observar o esfor¸co elevado das fases de desenho e implementa¸c˜ao, em contraste com as restantes.

(37)

Cap´ıtulo 2. Trabalho Realizado 20

Figura 2.8: Calend´ario final das tarefas de est´agio Esfor¸co final

No total o est´agio compreendeu 296 dias de trabalho. Cada dia de trabalho corre-sponde a 8 horas. Os esfor¸co de desenho e implementa¸c˜ao englobam 89% do esfor¸co final, sendo o resto distribu´ıdo homogeneamente pelas restantes tarefas:

• Ambienta¸c˜ao: 5 dias (2%)

• Desenho Detalhado: 125 dias (42%) • Relat´orio preliminar: 3 dias (2%) • Implementa¸c˜ao: 139 dias (47%) • SOM: 13 dias (4%)

• Valida¸c˜ao: 9 dias (3%) • Relat´orio final: 5 dias (2%)

Na imagem 2.9 pode ser visualizada a representa¸c˜ao gr´afica da distribui¸c˜ao de esfor¸co.

2.3.3

Resumo dos documentos produzidos

Para al´em da necess´aria leitura de documentos (inclu´ıdos nas referˆencias), foram produzidos 13 documentos, listados na tabela 2.3.

(38)

Cap´ıtulo 2. Trabalho Realizado 21

Figura 2.9: Esfor¸co final das tarefas de est´agio Data Documento

13 Setembro GUI Software Evaluation Report - Avalia¸c˜ao do software a utilizar na GUI

18 Setembro GUI Mockup – Elabora¸c˜ao de uma primeira GUI Mockup em MS Powerpoint

26 Setembro Detail Design – Modelo UML – Primeira vers˜ao da ar-quitectura do cliente PEA

27 Outubro Modelo UML e GUI Mockup - 2a vers˜ao

16 Novembro SEB Baseline Requirement Analysis – An´alise de 2 novos requisitos e consequente impacto nas fases seguintes 23 Novembro Apresenta¸c˜ao do Trabalho Realizado - Apresenta¸c˜ao

elaborada em MS Powerpoint 31 Novembro Relat´orio Preliminar

10 Maio Prot´otipo - C´odigo Fonte do cliente PEA (Prot´otipo) 15 Maio Apresenta¸c˜ao interna final do Trabalho Realizado

-Elaborada em MS Powerpoint

16 Maio Manual de Opera¸c˜oes - Manual do utilizador da MMI do PEA

25 Maio Especifica¸c˜ao de Testes de Valida¸c˜ao de Software - Doc-umento com o plano de valida¸c˜ao do software

25 Maio Relat´orio de Testes - Documento de registo das falhas encontradas no Software durante a valida¸c˜ao

31 Maio Relat´orio Final

(39)

Cap´ıtulo 2. Trabalho Realizado 22

2.4

Processos e ferramentas

Esta sec¸c˜ao apresenta uma descri¸c˜ao detalhada sobre metodologias, ferramentas e calend´ario final detalhado.

2.4.1

Metodologias

Durante o est´agio, foram seguidos processos e metodologias, na sua maioria definidas por um standard interno, criado pelo Sistema de Gest˜ao de Qualidade interno, da Critical Software. Nesta sub-sec¸c˜ao ´e feita um introdu¸c˜ao sobre este sistema de qual-idade para depois se poder detalhar qual o processo de desenvolvimento e pr´aticas envolvidas, que contribuiram para a gest˜ao da qualidade do pr´oprio projecto. Sistema de gest˜ao de qualidade

Para a Critical Software, a aposta na qualidade de software foi uma decis˜ao de grande importˆancia e de car´acter estrat´egico tendo em conta a sua competˆencia chave: desenvolvimento de solu¸c˜oes de alta seguran¸ca, fiabilidade, disponibilidade e desempenho de sistemas cr´ıticos permitindo a competitividade com outras empresas de grande importˆancia.

Desde o princ´ıpio, que na empresa, existiu preocupa¸c˜ao em definir regras b´asicas, procedimentos e ferramentas que pudessem garantir consistˆencia nas tarefas e cumpri-mento de normas exigidas aos projectos.

Numa primeira fase, o n´umero reduzido de colaboradores, de projectos e a prox-imidade entre as pessoas n˜ao exigia um Sistema de Gest˜ao de Qualidade (SGQ) com mais do que alguns processos de gest˜ao e implementa¸c˜ao. No entanto, no decorrer do crescimento da empresa, sentiu-se a necessidade de criar um SGQ adequado `as necessidades dos projectos que respondesse `as novas exigˆencias da Critical.

Segundo o manual de qualidade da Critical, as pr´aticas rigorosas de gest˜ao, coordena¸c˜ao e controlo de projectos e processos de engenharia do SGQ baseiam-se nas seguintes normas de qualidade internacionalmente conhecidas:

• ECSS: normas europeias, definidas pela ESA, para o desenvolvimento de pro-jectos no sector aeroespacial;

• ISO 9001:2000: normas internacionais para a garantia de qualidade em pro-dutos e servi¸cos;

• TickIT: interpreta¸c˜ao da norma ISO 9001:2000 especialmente vocacionada para o desenvolvimento de software;

• ISO 12207: normas internacionais para processos de ciclos de vida no desen-volvimento de software;

(40)

Cap´ıtulo 2. Trabalho Realizado 23 • ISO 15504: normas internacionais para a avalia¸c˜ao da maturidade e capacidade

de processos;

A Qualidade representa assim um importante factor distintivo e uma vantagem competitiva para a empresa, num mercado que ´e extremamente concorrente. As vantagens para os clientes traduzem-se na condu¸c˜ao de projectos dentro dos prazos e or¸camentos, elevada qualidade das solu¸c˜oes entregues e redu¸c˜ao de custos.

Os processos de qualidade na CSW incluem a organiza¸c˜ao e gest˜ao, em que a engenharia e suporte s˜ao adaptados `as necessidades espec´ıficas de cada cliente e projecto. Esta flexibilidade permite `a empresa dar uma resposta adequada a projectos de natureza e n´ıveis de criticalidade distintas.

O processo de melhoria do SGQ ´e cont´ınuo e definido com base nos coment´arios e n´ıveis de satisfa¸c˜ao dos seus clientes, com a colabora¸c˜ao directa do retorno da utiliza¸c˜ao pelas v´arias ´areas de engenharia da empresa e por fim, de acordo com normas e pr´aticas internacionais de engenharia de software.

Processos utilizados durante o est´agio

Durante o est´agio, al´em dos pr´oprios processos definidos para a engenharia de software pelo sistema de qualidade, aos quais o projecto se enquadrava, interessa tamb´em detalhar metodologias utilizadas no desenvolvimento do PEA:

• Reuni˜oes semanais - Sempre que poss´ıvel, e desde quase do ´ınicio do est´agio, todas as semanas, a equipa do projecto reunia-se para discutir o progresso tas tarefas delegadas, actualizar o estado do projecto, delegar novas tarefas e discutir aspectos, problemas t´ecnicos ou gerais, relacionados com o projecto. • Utiliza¸c˜ao CVS - Todos os documentos, de revis˜oes, de gest˜ao, de qualidade,

c´odigo fonte produzido ou utilizado durante o est´agio encontram-se guardados num reposit´orio CVS (Concurrent Version System), especificamente, numa directoria especifica do projecto. Este sistema, al´em da vantagem ´obvia de suportar a gest˜ao de vers˜oes diferentes e acesso concorrente, permite que seja utilizado como um reposit´orio de toda a informa¸c˜ao e desenvolvimento do projecto num local centralizado. A gest˜ao de vers˜oes permite tamb´em acesso a vers˜oes do trabalho mais antigas que poder˜ao ter sido entregas ao cliente, que interessa rever, ou reverter.

• Sistema de informa¸c˜ao - Todos os documentos produzidos foram registados no sistema de informa¸c˜ao da empresa, que para os quais, lhes atribui um iden-tificador ´unico a ser registado no CVS como tal. Este sistema de informa¸c˜ao suporta tamb´em gest˜ao de recursos eventos, e mesmo no desenvolvimento dos projectos. Durante o est´agio, di´ariamente, as horas gastas nas diferentes fases

(41)

Cap´ıtulo 2. Trabalho Realizado 24 do projecto e outras actividas extra (forma¸c˜oes, acividades de conv´ıvo, etc) foram registadas no sistema, podendo ser posteriormente consultadas.

• Revis˜oes formais - O sistema de gest˜ao de qualidade define um processo de revis˜ao de documentos formal, com o preenchimento de um relat´orio da revis˜ao, onde se regista todos os aspectos relevantes da revis˜ao: propriedades e vers˜ao do documento, pessoas, tempo gasto e falhas encontradas. Este processo foi utilizado para dois documentos produzidos durante o est´agio: o DDD (Detail Design Document), e o SOM (Software Operations Manual).

2.4.2

Ferramentas utilizadas

As ferramentas utilizadas para a produ¸c˜ao de relat´orios, apresenta¸c˜oes, modelo UML, prot´otipo e valida¸c˜ao est˜ao descritas na tabela 2.4. Todas as ferramentas, foram utilizadas em Microsoft Windows. No entanto, foi tamb´em utilizado Linux no decorrer do est´agio, e especialmente na fase final de implementa¸c˜ao, e valida¸c˜ao, visto que a plataforma alvo para o software, era especificamente o sistema operativo SLES 9.0 SP2.

Nome Vers˜ao Notas

MS Office 2003 Edi¸c˜ao de texto, Apresenta¸c˜oes, Folhas de c´alculo

CVS 2.0 Reposit´orio e ferramenta de gest˜ao de vers˜oes Enterprise Architect 6.0.781 Ferramenta de modula¸c˜ao UML

Eclipse IDE 3.2.1 Ambiente Integrado para Desenvolvimento -Linguagem Java

(42)

Cap´ıtulo 2. Trabalho Realizado 25

2.5

Desenho Detalhado

Este cap´ıtulo descreve as actividades desenvolvidas na fase de desenho detalhado, realizada no ˆambito do projecto PEA. Consiste na descri¸cao da arquitectura detal-hada.

2.5.1

Input ao Desenho Detalhado

A fase de desenho detalhado, teve como input v´arios documentos criados em fases anteriores, de proposta e de especifica¸c˜ao de requisitos de software, alguns realiza-dos pelo cliente, outros pela CSW (Critical Software). Os requisitos criarealiza-dos pelo cliente, originaram uma proposta t´ecnica por parte da CSW onde se definiu a arqui-tectura de alto n´ıvel inicial, assim como alternativas tecnol´ogicas a adoptar. Este documento (proposta t´ecnica) foi um ponto de partida para o ´ınicio do desenho de-talhado. Adicionalmente, durante o desenho detalhado do lado da CSW, o cliente foi actualizando o documento de Arquitectura, que foi utilizado tambem como input para o desenho final.

Em resumo os principais documentos utilizados como input, formal e informal, para a fase de desenho detalhado est˜ao descritos em baixo:

• PEA ERD (PEA Element Requirement Document) - O documento oficial de requisitos de software para o projecto PEA.

• PEA TP (PEA Technical Proposal) - A proposta t´ecnica realizada pela CSW para o projecto PEA, descrevendo a arquitectura de alto n´ıvel e as tecnologias a utilizar.

• PEA ADD (PEA Architectural Design Document) - Documento de arquitec-tura de alto n´ıvel do sistema PEA como um todo. (O cliente ´e respons´avel pelo servidor, e a CSW pelo cliente PEA).

2.5.2

Actividades desenvolvidas

A fase de desenho detalhado consisitiu numa grande parte do esfor¸co de todo o est´agio, principalmente devido a ter sofrido mais do que uma iterac¸c˜ao. Isto deveu-se ao facto dos requisitos iniciais n˜ao terem sido uma baseline est´avel, sendo sujeitos a altera¸c˜oes e re-interpreta¸c˜oes durante grande parte dos primeiros meses de desen-volvimento, causando altera¸c˜oes constantes no desenho detalhado do sistema.

No total foram efectuadas duas grandes itera¸c˜oes (arquitectura e mockup) que v˜ao ser descritas nesta sec¸c˜ao como uma s´o, por simplifica¸c˜ao. A arquitectura do sistema consistiu no defini¸c˜ao dos componentes de software, e consequente diagra-mas de classes para cada componente. Esta fase teve de ser precedida de uma

(43)

Cap´ıtulo 2. Trabalho Realizado 26 pequena fase de investiga¸c˜ao, que teve como objectivo confirmar as tecnologias j´a pr´e-selecionadas na proposta t´ecnica, ou mesmo analisar novas alternativas. Ap´os o desenho da arquitectura, foi criada uma mockup da MMI (Man-Machine Interface) na tecnologia escolhida (eclipse RCP). Para documentar as opera¸c˜oes idealizadas nesta mockup, foi criado um manual de opera¸c˜oes preliminar. Nas sub-sec¸c˜oes seguintes e feita uma descri¸c˜ao do trabalho realizado em cada actividade relevante. Investiga¸c˜ao de tecnologias

Esta actividade teve como objectivo decidir qual ou quais o software open source a utilizar de modo a reduzir o esfor¸co do projecto e endere¸car as necessidades levan-tadas pelos requisitos.

As ferramentas escolhidas para incluir no desenvolvimento do PEA foram as mesmas que foram inicialmente selecionadas no proposta t´ecnica, nomeadamente a biblioteca de Reporting JasperReports e de charting JFreeChart3. Ambos para

serem integrados no desenvolvimento em Eclipse RCP. A plataforma eclipse fun-ciona como a framework para o desenvolvimento da interface do projeto PEA, e o JasperReports (com JFreeChart embebido) como o motor de reporting.

A principal funcionalidade do cliente PEA, consiste na gera¸c˜ao de relat´orios sobre os dados de telemetria e telecomandos da constela¸c˜ao de sat´elites Galileo. Esta funcionalidade ´e endere¸cada pelas tecnologias escolhidas jasperReports e eclipse RCP, j´a descritas anteriormente na sec¸c˜ao sobre tecnologias.

Arquitectura detalhada

Conceitos A opera¸c˜ao mais importante da interface do PEA ´e a an´alise dos dados, atrav´es da gera¸c˜ao de relat´orios. Na MMI, os operadores poder˜ao ser capazes de selecionar telemetria ou telecomandos para a gera¸c˜ao de um relat´orio que ira mostrar os dados em tabelas e/ou em gr´aficos, facilitando a an´alise.

Um relat´orio ´e constitu´ıdo por um template, uma lista de datasets e, opcional-mente, um filtro a ser aplicado a todos os datasets de um relat´orio. Estes elemen-tos j´a foram descritos anteriormente como os conceitos que estavam inicialmente definidos. No entanto, no decorrer do desenho detalhado, o que estava por definir era a rela¸c˜ao precisa que existiria entre eles. A imagem 2.10 representa esta liga¸c˜ao entre os v´arios elementos do relat´orio.

Arquitectura do cliente A arquitectura de alto n´ıvel do sistema PEA inclui um servidor e um cliente, permitindo a existˆencia de multi-utilizadores. O servidor ´e respons´avel pela gest˜ao de duas bases de dados, uma de reporting e outra de

(44)

Cap´ıtulo 2. Trabalho Realizado 27

Figura 2.10: Elementos de um relat´orio

configura¸c˜ao. O cliente ´e o principal utlizador destas bases de dados, permitindo ao operador a gest˜ao de todos os elementos que se encontram nas BD.

O cliente PEA foi tamb´em dividido em duas aplica¸c˜oes distintas: uma com interface com o utilizador, permite a gera¸c˜ao de relat´orios e configura¸c˜ao do sistema (PEA MMI client); outra apenas para ser corrida da linha de comandos, incluindo apenas a gera¸c˜ao de relat´orios (PEA command line client). A gera¸c˜ao de relat´orios em si ´e implementada no cliente, e quando o servidor necessitar de gerar relat´orios para satisfazer pedidos calendarizados, ser´a utilizado o PEA command line client embebido, para gera¸c˜ao autom´atica de relat´orios. Ambos os clientes partilham o mesmo motor e processo de reporting, mas o PEA MMI cont´em duas camadas adicionais, de interface com o utlizador e de comunica¸c˜ao com o servidor.

O conceito de cliente PEA, engloba as duas aplica¸c˜oes cliente (MMI e command line). Para referir a qualquer uma das aplica¸c˜oes espec´ıficamente, ser˜ao referidas como cliente PEA MMI, ou cliente PEA da linha de comandos.

O PEA MMI client, permite aos utilizadores definir, gerar e pr´e-visualizar re-lat´orios, assim como gerir ficheiros de configura¸c˜ao e as pr´oprias BDs do servidor (backups, restauros, apagar dados e gest˜ao de vers˜oes). De modo a obter estes pe-didos, o cliente usa os servi¸cos disponibilizados pela interface definida pelo servidor, chamada PEA-IF, e implementada usando tecnologia CORBA.

Por fim, na imagem 2.11 ´e poss´ıvel ver a rela¸c˜ao entre o servidor e o cliente atrav´es do interface PEA-IF, assim como todas as bibliotecas COTS (Commercial off-the-shelf ) usadas no PEA:

• JasperReports – O motor de reporting; • JFreeChart – O motor de gera¸cao de gr´aficos;

• ExternalWidgets – Colec¸c˜ao de widgets SWT open source a serem usadas no PEA (selec¸c˜ao de datas, pr´e-visualiza¸c˜ao de relat´orios);

(45)

Cap´ıtulo 2. Trabalho Realizado 28

Figura 2.11: Arquitectura do sistema PEA

O cliente foi desenhado tendo em conta trˆes aspectos chave: a framework eclipse RCP escolhida para a implementa¸c˜ao; o padr˜ao de desenho MVC; e o motor de reporting jasperReports.

Tanto o cliente MMI como o de linha de comandos necessitam de funcionalidades de compila¸c˜ao, processamento e gera¸c˜ao de relat´orios. Estas funcionalidades em co-mum entre os dois clientes foram identificadas e agrupadas num terceiro componente, a ser partilhado entre os dois, chamado reportDesigner.

Em resumo, o cliente PEA tem trˆes componentes: • PEA Command Line Client;

• PEA MMI Client; • Report Designer.

Estes componentes tˆem uma interface definida entre eles, para normaliza¸c˜ao das funcionalidades expostas pelo reportDesigner aos outros dois componentes. Na imagem ´e possivel ver a rela¸c˜ao entre estes componentes

(46)

Cap´ıtulo 2. Trabalho Realizado 29

Figura 2.12: Arquitectura do cliente PEA

ReportDesigner O componente reportDesigner cont´em todas as funcionalidades relacionadas com o processamento e gera¸c˜ao de relat´orios no PEA. Cont´em tamb´em a especifica¸c˜ao do modelo de dados do template e consequente processamento, tanto para a representa¸c˜ao de templates interna ao PEA, como para processamento de templates do jasperReports. S˜ao duas funcionalidades distintas que foram imple-mentadas em sub-componentes distintos, unidos por um terceiro que funciona como o core do componente:

• DesignCore - A interface que o componente reportDesigner exp˜oe para os out-ros componentes, e sua implementa¸c˜ao, encontram-se neste sub-componente. • TemplateDesign - Cont´em a especifica¸c˜ao do modelo e design do template para

todo o cliente PEA. Todos os outros componentes do cliente PEA usar˜ao esta especifica¸c˜ao para representa¸c˜ao do template em mem´oria. Contem tamb´em a implementa¸c˜ao de uma das duas opera¸c˜oes mais importante deste componente: o processamento e mapeamento de um template do PEA para um template do jasperReports.

(47)

Cap´ıtulo 2. Trabalho Realizado 30 • JasperDesign – Este sub-componente contem a segunda opera¸c˜ao de proces-samento e mapeamento de estruturas de templates, neste caso, o oposto ao sub-componente templateDesign, processa um template do jasperReports para um template do PEA.

As dependˆencias entre estes sub-componentes pode ser vista na imagem 2.13.

Figura 2.13: Arquitectura do componente Report Design

PEA MMI O cliente PEA MMI foi dividido em v´arios sub-componentes de acordo com as principais funcionalidades. Como j´a referido, as opera¸c˜oes no PEA dividem-se entre opera¸c˜oes de reporting e de configura¸c˜ao. Cada um destes grupos encontra-se implementado em sub-componentes distintos. Adicionalmente, o cliente PEA MMI necessita de comunicar com o servidor, implementando um stub de CORBA, inserido tamb´em num sub-componente pr´oprio. Por fim, a utiliza¸c˜ao da eclipse framework ´e outro dos aspectos mais relevantes, levando `a implementa¸c˜ao e con-figura¸c˜ao do workbench num sub-componente `a parte. Tirando partido da arquitec-tura eclipse, cada sub-componente foi implementado num plug-in, sendo o cliente PEA MMI final a compila¸c˜ao de todos estes plug-ins. Podemos fazer uma divis˜ao entre estes plugins, identificando aqueles que est˜ao relacionados com a GUI em si, e aqueles que fazem parte das camadas mais inferiores, e que disponibilizam servi¸cos para os plugins da interface. Os plugins respons´aveis pela implementa¸c˜ao dos ele-mentos da GUI:

• Workbench Plugin - Corresponde ao workbench da eclipse RCP, contendo as configura¸c˜oes do layout inicial.

(48)

Cap´ıtulo 2. Trabalho Realizado 31 • Configuration Plugin - Respons´avel por toda a gest˜ao de configura¸c˜ao do sis-tema PEA (ficheiros e actividades de configura¸c˜ao). Estas funcionalidades est˜ao todas compiladas numa perspectiva chamadada Configuration. Esta per-spectiva contem as defini¸c˜oes para o editor e vista de ficheiros de configura¸c˜ao. • Reporting Plugin - Respons´avel por toda a gest˜ao dos elementos de reporting do sistema, guardados na base de dados de reporting, do servidor. Suporta tamb´em as opera¸c˜oes de processamento, gera¸c˜ao, pr´e-visualiza¸c˜ao e exporta¸c˜ao de relat´orios. Estas funcionalidades foram todas compiladas numa perspectiva ´

unica chamada Reporting.

Os servi¸cos de suporte do cliente PEA MMI resumem-se `a implementa¸c˜ao da comunica¸c˜ao CORBA com o servidor:

• CORBA Services - Este sub-componente contem toda a implementa¸c˜ao e su-porte aos objectos CORBA da interface com o servidor.

Na realidade, ´e poss´ıvel retirar determinados plugins do sistema, sem retirar funcionalidades a outros plugins nem prejudicar o funcionamento do sistema em si (exemplo: retirando-se o plug-in de configura¸c˜ao, o sistema continuaria a funcionar, mas com opera¸c˜oes de reporting apenas).

A rela¸c˜ao entre todos este componentes, incluindo a plataforma eclipse RCP, pode ser vista na imagem 2.14.

PEA Command Line Client O cliente PEA da linha de comandos ´e uma aplica¸c˜ao standalone, desenhada de modo a ser executada a partir da linha de coman-dos, pelo servidor, para impress˜ao autom´atica de relat´orios. A sua implementa¸c˜ao em Java inclui uma classe principal (PEAPrintClient ) que implementa o m´etodo main, invocando o processo de gera¸cao de relat´orios implementado no componente reportDesigner, a partir de um determinado template e datasets.

Integra¸c˜ao do JasperReports O processo de gera¸c˜ao de relat´orios, no PEA, utiliza os mesmos conceitos do jasperReports, j´a introduzidos: parsing, compila¸c˜ao, preenchimento e exporta¸c˜ao.

A diferen¸ca entre o processo no jasperReports, e aquele que foi adoptado no PEA, ´e o template, e a fonte dos dados utilizados no preenchimento do relat´orio. O cliente PEA acede aos templates e dados atrav´es da interface PEA-IF, descarregando-os em formato XML. Os templates em XML guardados no servidor, ter˜ao o formato definido pelo jasperReports, tirando partido de uma ampla especifica¸c˜ao de elemen-tos de um relat´orio. O processo do PEA ´e ent˜ao uma adapta¸c˜ao do processo do jasperReports, `as necessidades do PEA, como se pode ver na imagem 2.15.

(49)

Cap´ıtulo 2. Trabalho Realizado 32

Figura 2.14: Arquitectura do componente PEA MMI

A diferen¸ca principal existe em tempo de preenchimento: os dados utilizados para preencher o template, s˜ao descarregados pelo PEA-IF em formato XML, contendo a lista de datasets a inserir, todos concatenados num s´o ficheiro.

O template pode ser descarregado do servidor ou criado atrav´es do editor de tem-plates do cliente PEA MMI. Todo este processo ´e utilizado para todas as opera¸c˜oes sobre templates e pedidos de relat´orios. Quando um template ´e criado, ou aberto

(50)

Cap´ıtulo 2. Trabalho Realizado 33

Figura 2.15: Processo de gera¸c˜ao de relat´orios adaptado ao PEA

para edi¸c˜ao, tem de ser convertido pelo motor de reporting do PEA, entre os for-matos de jasperReports, e o pr´oprio formato interno ao PEA. Se o template ou relat´orio for pr´e-visualizado, ter´a de ser preenchido, ou com dados de teste, ou com os dados finais, respectivamente, usando o mesmo processo. Quando um template ´e preenchido, ´e obtida uma instˆancia do objecto JasperPrint, que permite a sua pre-visualiza¸c˜ao ou exporta¸c˜ao. Para mostrar o template ou relat´orio preenchido na MMI, ´e utilisada uma widget de SWT externa (SWT JasperViewer).

Na imagem 2.16 s˜ao apresentadas as opera¸c˜oes de gest˜ao de templates e cria¸c˜ao de relat´orios, divididas em trˆes camadas: comunica¸c˜ao, processamento e apresenta¸c˜ao. Na camada de comunica¸c˜ao encontramos a implementa¸c˜ao do PEA-IF, respons´avel pelas as opera¸c˜oes de download/upload dos templates e datasets em XML. Na ca-mada de processamento encontram-se o motor de reporting do jasperReports e do PEA, enquanto que na camada de apresenta¸c˜ao encontramos os componentes de-senvolvidos em eclipse RCP para apresenta¸c˜ao e gestao de templates e relat´orios:

(51)

Cap´ıtulo 2. Trabalho Realizado 34

Figura 2.16: Camadas do processo de gera¸c˜ao de relat´orios

editores de templates e relat´orios e vistas de templates e relat´orios autom´aticos. Mockup da MMI

A mockup realizada no desenho detalhado definiu a primeira vers˜ao da interface do PEA que mais tarde iria ser melhorada para a vers˜ao prot´otipo.

No entanto, as principais ideias concretizadas nesta mockup, mantiveram-se at´e `

a vers˜ao final: a interface cont´em duas perspectivas, cada uma relativa a um dos dois grupos de funcionalidades que existem no PEA: configura¸c˜ao e reporting.

A perspectiva de reporting como constru´ıda para a mockup pode ser visualizada na imagem 2.17.

A perspectiva de reporting cont´em uma ´area para editores abertos (poder˜ao ser v´arios), ao centro e uma vista para cada elemento de reporting: templates, datasets, filtros e schedules (relat´orios a serem gerados no futuro), `a direita; adicionalmente aos menus e toolbars, em cima.

Ambas as perspectivas no cliente PEA MMI, foram desenhadas de acordo com um documento de guidelines elaborado para as aplica¸c˜oes com MMIs, da miss˜ao Galileo. Uma das guidelines diz respeito ao layout dos displays na MMI. Na imagem 2.18 encontra-se um diagrama desta estrutura.

A layout da MMI do PEA n˜ao utiliza a ´area de alerta, porque ´e apenas uma ferramenta de reporting, e como tal, n˜ao existem dados de aviso ao utilizador. Toda as outras ´areas foram adaptadas ao PEA usando os elementos da plataforma eclipse RCP.

• Menu/Toolbar Area - MenuBar e toolbar do Eclipse RCP.

• Editor Area - O layout das duas perspectivas foi configurado de modo a abrir editores nesta ´area.

• Status View - No PEA n˜ao existe a no¸c˜ao de status, com a excep¸c˜ao dos pedidos de relat´orios a serem gerados autom´aticamente (schedules). A vista

(52)

Cap´ıtulo 2. Trabalho Realizado 35

Figura 2.17: PEA Mockup

Figura 2.18: Layout de uma MMI Galileo

de schedules foi colocada nesta zona. Na perspectiva de configura¸c˜ao esta vista n˜ao existe, visto ser relativa `a perspectiva de reporting.

(53)

Cap´ıtulo 2. Trabalho Realizado 36 configura¸c˜ao, e que permitem acesso `as opera¸c˜oes do seu ciclo de vida (editar, apagar) foram colocadas nesta ´area, tanto na perspectiva de reporting como na perspectiva de configura¸c˜ao, com a diferen¸ca que, nesta ´ultima, pelo facto de n˜ao existir status view, ocupa ambas as views.

• Alert View - N˜ao foi implementada no PEA.

2.5.3

Output do Desenho Detalhado

Formato dos relat´orios Nesta fase ficou definido precisamente qual seria o for-mato dos relat´orios, e os seus conte´udos. Particularmente, o elemento que define todas estas propriedades ´e o template, que al´em de todos os elementos de estilo, tem tamb´em a defini¸c˜ao sobre que dados ser˜ao inclu´ıdos no relat´orio, assim como a defini¸c˜ao dos campos est´aticos.

Os campos est´aticos de um relat´orio s˜ao:

• Campos de texto a incluir no relat´orio: cabe¸calhos, notas de fundo de p´agina, t´ıtulo e sum´ario;

• Os estilos (font, cor, tamanho, linha e fundo).

Estes elementos podem ser considerados gen´ericos e aplic´aveis a qualquer re-lat´orio em geral. Os elementos espec´ıficos do PEA consistem na defini¸c˜ao dos dados em si. O template inclui uma lista com o tipo de dados que ir´a conter. Existem trˆes tipos bem definidos:

• Tabelas de telemetria; • Tabelas de telecomandos; • Gr´aficos de telemetria.

Estes elementos poder˜ao aparecer com multiplicidade indefinida em qualquer template e por qualquer ordem. N˜ao existe limite no software para estes campos, ou seja, n˜ao foram implementados limites no PEA para estes elementos. Os limites dever˜ao ser impostos pelo hardware da m´aquina onde o PEA estar´a instalado, de modo a se obter f´acil escalabilidade: para aumentar a capacidade m´axima bastar´a melhorar o hardware, sem qualquer altera¸c˜ao ao software.

Na imagem 2.19 ´e representado de uma forma visual a posi¸c˜ao de cada elemento num relat´orio.

(54)

Cap´ıtulo 2. Trabalho Realizado 37

Figura 2.19: Elementos do Template

Documentos O fim da fase de desenho detalhado coincidiu com a conclus˜ao do documento de desenho e da mockup da interface. Uma descri¸c˜ao destes outputs do desenho detalhado ´e apresentada a seguir:

• DDD (Detail Design Document ) - Documento oficial que inclui o desenho detalhado de todo o sistema PEA, incluindo a parte do servidor e do cliente. No ˆambito do est´agio foi apenas elaborada a sec¸c˜ao de desenho detalhado do cliente. Este documento foi uma entrega oficial do projecto PEA (ver anexo A).

• Mockup - Implementa¸c˜ao de uma interface n˜ao funcional do cliente PEA de modo a testar os conceitos operacionais e a usabilidade pretendida. Foi tamb´em uma entrega oficial, que consistiu na apresenta¸c˜ao da mockup numa workshop que integrava, al´em do cliente os futuros utilizadores do sistema, pelo gestor do projecto (Os ecr˜as da mockup podem ser visualizados no manual de opera¸c˜oes: ver anexo B).

Imagem

Figura 2.1: Galileo Segments
Figura 2.2: Spacecraft Constellation Control Facility (SCCF)
Figura 2.3: Performance Evaluation and Analysis (SCCF-PEA)
Tabela 2.1: Ciclos de vida: Reviews e fases de alto n´ıvel
+7

Referências

Documentos relacionados

O primeiro conjunto de artigos, uma reflexão sobre atores, doenças e instituições, particularmente no âmbito da hanse- níase, do seu espaço, do seu enquadramento ou confinamen- to

3 O presente artigo tem como objetivo expor as melhorias nas praticas e ferramentas de recrutamento e seleção, visando explorar o capital intelectual para

No código abaixo, foi atribuída a string “power” à variável do tipo string my_probe, que será usada como sonda para busca na string atribuída à variável my_string.. O

Os navegadores foram surpreendidos pela tempestade – oração subordinante Que viajavam para a Índia – oração subordinada adjetiva relativa

10.. No poema, a palavra “vassoura” surge como um nome mas também como um verbo, tal como podemos confirmar no verso “Uma vassoura vassoura”.. 14. Esta frase é do tipo

• The definition of the concept of the project’s area of indirect influence should consider the area affected by changes in economic, social and environmental dynamics induced

Além de serem gravados no cartão, os dados são transmitidos através de um módulo de rádio frequência transmissor para um receptor do modelo, onde há um outro PIC capaz de

São muitos os problemas ambientais causados pelo crescimento urbano, o poder público não acompanha esse crescimento com investimentos em obras de infraestrutura, são ocupados