• Nenhum resultado encontrado

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto

N/A
N/A
Protected

Academic year: 2021

Share "Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto"

Copied!
5
0
0

Texto

(1)

LEIC-A, LEIC-T, LETI, MEIC-T, MEIC-A

Engenharia de Software e Sistemas Distribu´ıdos

2

o

Semestre – 2014/2015

Enunciado Geral do Projecto

O que se segue ´e uma descric¸˜ao geral do dom´ınio do projecto a desenvolver no contexto das disciplinas de Engenharia de Software (ES) e de Sistemas Distribu´ıdos (SD). O projecto a con-cretizar efectivamente ser´a descrito nos enunciados respectivos a cada entrega de ES e de SD.

1. Introdu¸c˜ao

A aplicac¸˜ao BUBBLE DOCSpermitir´a a criac¸˜ao, gest˜ao e edic¸˜ao de v´arios tipos de documentos: folhas de c´alculo, texto e apresentac¸˜ao. Os utilizadores da aplicac¸˜ao a desenvolver podem interagir uns com os outros atrav´es da alterac¸˜ao de documentos partilhados entre eles.

O projeto a desenvolver consistir´a no desenho e concretizac¸˜ao parcial da BUBBLE DOCS e

servic¸os associados, de forma a disponibilizar um subconjunto das funcionalidades esperadas num sistema deste g´enero. Na aplicac¸˜ao a desenvolver apenas se vai considerar um ´unico tipo de documento, a folha de c´alculo.

A BUBBLE DOCS estar´a integrada com dois servic¸os externos: um servic¸o de identidade e autenticac¸˜ao, o SD-ID, e um servic¸o de armazenamento fi´avel, o SD-STORE.

2. Dom´ınio da Aplica¸c˜ao

Todas as entidades do dom´ınio geridas pela aplicac¸˜ao tˆem um identificador ´unico. Os identi-ficadores ´unicos que s˜ao administrados pelo sistema s˜ao gerados sequencialmente e comec¸am em zero. Sempre que for necess´ario visualizar uma lista de entidades do dom´ınio, por omiss˜ao, a ordem ´e determinada pelos identificadores das entidades presentes na lista.

2.1. Utilizador

Cada utilizador tem um username, nome e palavra chave. O username ´e o identificador ´unico do utilizador. Cada utilizador tem associado um determinado conjunto de documentos e apenas pode aceder a documentos desse conjunto. Al´em disso, cada utilizador tem associado um

(2)

modo de acesso para cada documento. Existem dois modos de acesso:

• leitura. O utilizador pode ver o conte ´udo do documento mas n˜ao pode alter´a-lo.

• escrita. O utilizador pode ver e alterar o conte ´udo do documento.

Existe um utilizador especial designado como o utilizador root. Este utilizador tem o user-name root, o qual est´a reservado para este utilizador, e o seu nome ´e Super User. O utilizador root pode realizar um conjunto adicional de operac¸ ˜oes que n˜ao est˜ao dispon´ıveis para os utili-zadores normais:

• adic¸˜ao de um novo utilizador.

• remoc¸˜ao de um utilizador existente. Ao remover um utilizador, a aplicac¸˜ao deve tamb´em remover automaticamente da aplicac¸˜ao todas as folhas criadas pelo utilizador. N˜ao ´e poss´ıvel remover o utilizador root.

• aceder aos utilizadores registados na aplicac¸˜ao.

2.2. Documento

Cada documento gerido pela aplicac¸˜ao tem um identificador ´unico, sequencial, que ´e gerado automaticamente pelo sistema. Cada documento tem ainda um nome, o qual n˜ao ´e necessa-riamente ´unico. Cada documento conhece o utilizador que o criou assim como a data da sua criac¸˜ao.

Qualquer utilizador que possa escrever num documento pode alterar o conjunto de utiliza-dores que pode aceder (em modo de leitura ou escrita) ao documento. O utilizador que criou o documento pode sempre alterar este conjunto, independentemente de ainda pertencer ou n˜ao ao conjunto de utilizadores que pode escrever no documento.

2.3. Folha de C´alculo

A folha de c´alculo ´e um dos tipos poss´ıveis de documentos geridos pela aplicac¸˜ao. Uma fo-lha de c´alculo ´e uma matriz de c´elulas. A dimens˜ao da fofo-lha de c´alculo (n ´umero de linhas e colunas) ´e especificado no momento da criac¸˜ao da folha de c´alculo e n˜ao pode ser alterado posteriormente.

2.3.1 Endere¸camento: C´elulas e Intervalos

Cada c´elula de uma folha de c´alculo tem um dado conte ´udo (por omiss˜ao est´a vazia) e tem uma dada posic¸˜ao, designada por enderec¸o da c´elula, na folha de c´alculo. O enderec¸o de uma c´elula ´e representado por dois n ´umeros inteiros, respectivamente a linha e coluna da c´elula na folha de c´alculo, separados pelo s´ımbolo ”;”. Por exemplo, o enderec¸o da c´elula presente na linha 1 e coluna 2 ´e representado por 1;2. As linhas e colunas de uma folha de c´alculo tˆem in´ıcio em 1 (um).

Um intervalo (fechado) ´e uma submatriz da folha de c´alculo e ´e definido utilizando dois enderec¸os que representam a primeira e ´ultima c´elula da submatriz. Um intervalo ´e represen-tado pelo enderec¸o de duas c´elulas separadas pelo s´ımbolo ”:”. Por exemplo, o intervalo que representa as c´elulas da linha 1 entre as colunas 2 e 20 ´e representado por 1;2:1;20.

(3)

2.3.2 Cont´eudo de uma c´elula

Quando um utilizador cria uma folha de c´alculo, todas as c´elulas da folha criada est˜ao vazias, i.e. est˜ao sem qualquer conte ´udo. Uma c´elula pode ter um conte ´udo de trˆes tipos poss´ıveis: literais, referˆencias e func¸ ˜oes. Por quest ˜oes de simplificac¸˜ao, os literais s ´o podem ser n ´umeros inteiros e as func¸ ˜oes devolvem sempre um n ´umero inteiro. Uma referˆencia indica a c´elula da folha de c´alculo com um dado enderec¸o e ´e representada utilizando o simbolo “=“ seguido do enderec¸o da c´elula pretendida.

As func¸ ˜oes s˜ao especificadas pelo utilizador utilizando tamb´em o s´ımbolo “=“ seguido do nome da func¸˜ao e a lista de argumentos separados por v´ırgulas. Existem dois tipos de func¸ ˜oes:

• Func¸ ˜oes bin´arias, que s˜ao func¸ ˜oes que aceitam dois argumentos. Os argumentos podem ser referˆencias (representadas por um enderec¸o) ou literais. Existem as seguintes func¸ ˜oes bin´arias: adic¸˜ao, subtrac¸˜ao, multiplicac¸˜ao e divis˜ao, representadas respectivamente pe-las seguintes cadeias de caracteres ADD, SUB, MUL e DIV. Por exemplo, a func¸˜ao que adiciona o n ´umero 2 ao conte ´udo da c´elula da linha 3 e coluna 1 seria especificada pelo utilizador como =ADD(2,3;1).

• Func¸ ˜oes intervalo, que apenas recebem um argumento. Este argumento ´e um intervalo de c´elulas. As func¸ ˜oes a considerar neste caso s˜ao a m´edia1e piat ´orio, representadas res-pectivamente por AVG e PRD. Por exemplo, a func¸˜ao que calcula da m´edia das c´elulas pertencentes `a linha 2 entre as colunas 3 e 20 ser´a especificada pelo utilizador como =AVG(2;3:2;20).

Por raz ˜oes de simplificac¸˜ao do projecto a desenvolver, pode considerar que os utilizadores nunca criar˜ao uma dependˆencia circular (directa ou indirecta) entre duas ou mais c´elulas da folha de c´alculo. Por isso, a sua soluc¸˜ao n˜ao precisar´a de verificar a existˆencia de uma de-pendˆencia circular. Por exemplo, o caso em que os conte ´udos da c´elulas com o enderec¸os 2;3 e 4,5 s˜ao =4;5 e =2;3 , respectivamente, nunca ir´a acontecer porque representa uma dependˆencia circular entre as duas c´elulas.

Do ponto de vista de c´alculo do valor de uma referˆencia, a referˆencia ´e designada como inv´alida se representar um enderec¸o inv´alido da folha de c´alculo ou a c´elula referenciada esti-ver vazia. Relativamente `as func¸ ˜oes n˜ao ´e realizada qualquer validac¸˜ao dos seus argumentos. Essa validac¸˜ao s ´o ´e feita quando ´e necess´ario calcular o valor da func¸˜ao. Uma func¸˜ao tem ar-gumentos inv´alidos caso tenha arar-gumentos com uma ou mais referˆencias inv´alidas. O valor a apresentar para c´elulas cuja express˜ao cont´em pelo menos uma referˆencia inv´alida deve ser #VALUE.

Uma c´elula pode estar protegida ou n˜ao. N˜ao ´e poss´ıvel alterar o conte ´udo de uma c´elula protegida. S ´o os utilizadores que podem alterar uma folha de c´alculo ´e que podem proteger ou desproteger as c´elulas dessa folha de c´alculo.

3. Servi¸cos Distribu´ıdos

A aplicac¸˜ao BUBBLE DOCS integra-se com dois servic¸os distribu´ıdos, SD-ID e SD-STORE,

atrav´es da tecnologia de Web Services.

1O c´alculo da m´edia deve utilizar a divis˜ao inteira por forma a garantir que a m´edia dos valores das c´elulas

(4)

A Figura 1 apresenta uma vis˜ao global da soluc¸˜ao pretendida. Os utilizadores usam a aplicac¸˜ao BUBBLE DOCS com autenticac¸˜ao no servic¸o SD-ID e com salvaguarda no servic¸o

SD-STORE. SD ES Utilizador SD-ID SD-STORE Bubble Docs

Figura 1: Vis˜ao global da aplicac¸˜ao e dos servic¸os externos, com separac¸˜ao de componentes entre as Unidades Curriculares.

O SD-ID ´e um servic¸o de autenticac¸˜ao distribu´ıda usado pelos utilizadores do BUBBLE

DOCS. Cada utilizador do BUBBLE DOCS mant´em uma conta no SD-ID. ´E essa conta que permite a esse utilizador autenticar-se perante o BUBBLE DOCSpara editar os seus

documen-tos. ´E tamb´em essa conta que permite ao BUBBLE DOCS recorrer a outros servic¸os externos

(tais como o SD-STORE) em nome do utilizador. A principal vantagem do SD-ID ´e evitar que os utilizadores tenham de manter diversas contas (e respetivas senhas secretas), uma para cada aplicac¸˜ao ou servic¸o que o utilizador venha a usar. Ao mesmo tempo, ao oferecer um servic¸o de gest˜ao e autenticac¸˜ao de utilizadores, o servic¸o SD-ID facilita o desenvolvimento de novas aplicac¸ ˜oes e servic¸os.

O SD-STORE´e um servic¸o de armazenamento fi´avel de documentos. A principal preocupac¸˜ao da SD-STORE ´e oferecer a utilizadores e aplicac¸ ˜oes uma alternativa de elevada capacidade de

armazenamento e uma elevada disponibilidade para estes salvaguardarem os seus tos. Cada utilizador registado no SD-ID pode salvaguardar c ´opias fi´aveis dos seus documen-tos. Em caso de necessidade (por exemplo, em caso de perda ou corrupc¸˜ao de um documento), um utilizador pode recuperar a c ´opia mais recente dos seus documentos.

4. Realiza¸c˜ao do Projeto

As tarefas de desenvolvimento v˜ao ser partilhadas pelas duas unidades curriculares: BUBBLE

DOCSser´a desenvolvida em ES; SD-ID e SD-STOREser˜ao desenvolvidos e integrados em SD. A Figura 1 resume a partilha de tarefas.

4.1. Grupos

O projeto ´e realizado em grupos de 6 alunos, que se dividem em 2 grupos de 3 alunos para SD. Os grupos tˆem que ser formados por alunos na mesma situac¸˜ao de inscric¸˜ao:

• Inscritos em ES e SD; • Inscritos apenas em ES; • Inscritos apenas em SD.

Em resumo, os alunos tˆem que trabalhar com colegas na mesma situac¸˜ao de inscric¸˜ao e frequentando as mesmas aulas de laborat ´orio.

(5)

4.2. Trabalhadores-Estudantes

Os alunos que sejam Trabalhadores-Estudantes tˆem que fazer o projecto integrados em grupo, mas apenas tˆem que comparecer na discuss˜ao final.

4.3. Fases de desenvolvimento

O projeto ser´a realizado de forma faseada, existindo 4 datas de avaliac¸˜ao de ES, e 2 datas de SD. A Tabela 1 apresenta o calend´ario de projeto e os pesos de cada entrega na nota final de projecto dos grupos.

Datas ES SD

18 a 20 de Fevereiro Inscric¸ ˜oes dos grupos 11 a 17 de Marc¸o de 2015 Entrega 1 – 15% — 25 a 31 de Marc¸o de 2015 Entrega 2 – 25% — 17 de Abril de 2015 Entrega 3 – 25% Entrega 1 – 40% 13 de Maio de 2015 Entrega 4 – 35% Entrega 2 – 60% 14 a 29 de Maio Discuss ˜oes

Tabela 1: Calend´ario de projeto.

4.4. Avalia¸c˜ao

A avaliac¸˜ao nas duas unidades curriculares ´e independente. O trabalho desenvolvido em cada entrega ser´a visualizado e avaliado nas aulas de laborat ´orio seguintes da respetiva unidade curricular. A entrega final ´e avaliada com visualizac¸˜ao e discuss˜ao. Ap ´os as discuss ˜oes, cada aluno ter´a uma nota individual em cada uma das unidades curriculares que reflectir´a a sua participac¸˜ao no projecto ao longo do semestre.

A nota m´ınima para ES ´e de 8 valores e para SD ´e de 9 valores.

5. Conclus˜ao

Este enunciado geral descreveu o dom´ınio da aplicac¸˜ao BUBBLEDOCSe dos servic¸os SD-ID e SD-STOREe apresentou a forma como o projeto dever´a ser realizado no ˆambito de cada umas

das unidades curriculares. Ser˜ao publicados enunciados a detalhar o que ser´a pedido para cada uma das entregas.

Referências

Documentos relacionados

poderá estar sujeito a outros riscos advindos de motivos alheios ou exógenos ao controle da ADMINISTRADORA ou do GESTOR tais como a ocorrência, no Brasil ou

Ao destacar como problema de pesquisa a existência ou não de evidências do viés Aversão a Perda no processo de tomada de decisão de alunos de graduação do

A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se baseia no fato de que uma

Evento que exigiu o fim da impunidade para os Crimes de Maio de 2006 reuniu vítimas da violência policial de vários Estados e deixou claro que os massacres de pobres e jovens

O modelo conceitual procura mostrar quais são os elementos de informação tratados pelo sistema, para que mais adiante se possa mostrar ainda como essa informação é transformada pelo

A prova do ENADE/2011, aplicada aos estudantes da Área de Tecnologia em Redes de Computadores, com duração total de 4 horas, apresentou questões discursivas e de múltipla

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

Com o objetivo de compreender como se efetivou a participação das educadoras - Maria Zuíla e Silva Moraes; Minerva Diaz de Sá Barreto - na criação dos diversos