Você está na página 1de 19

UNIVERSIDADE ESTADUAL DE SANTA CRUZ CURSO DE CINCIA DA COMPUTAO

THALLES SANTOS SILVA - 200920081 TIAGO XAVIER CRUZ - 200920082

DOCUMENTAO TCNICA DO SISTEMA DISTRIBUIDO CHAT

ILHUS 2012

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos

Sumrio
Lista de Figuras .................................................................................................. 2 Lista de Tabelas ................................................................................................. 3 1. Objetivos ...................................................................................................... 4 2. O protocolo MIP ........................................................................................... 4
2.1. 2.2. 2.3. 3.1. 3.2. 4.1. 4.2. 4.3. 4.4. 4.5. Tipo de mensagens ........................................................................................ 4 Formato da mensagem ................................................................................... 4 Funes.......................................................................................................... 5 Requisitos funcionais ...................................................................................... 7 Requisitos no funcionais ............................................................................... 7 Cliente ............................................................................................................ 8 Servidor .......................................................................................................... 9 Diagramas de casos de uso ......................................................................... 10 Expanso dos casos de uso ......................................................................... 15 Diagramas de sequncia .............................................................................. 16

3. Requisitos do sistema .................................................................................. 7

4. Casos de uso ............................................................................................... 8

5. Diagrama de classe ................................................................................... 16 6. Banco de dados ......................................................................................... 16


6.1. 6.2. 6.3. 6.4. 6.5. Modelo lgico ............................................................................................... 16 Modelo fsico ................................................................................................ 16 Dicionrio de dados ...................................................................................... 17 Tabela de atributos ....................................................................................... 17 Scripts SQL .................................................................................................. 17

7. Prottipo de interface ................................................................................. 17 8. Referncias................................................................................................ 17 9. Apndice .................................................................................................... 17


9.1. 9.1.1. 9.1.2. 9.2. 9.3. Tabelas de expanso dos casos de uso ....................................................... 17 Aplicao Cliente ...................................................................................... 17 Aplicao Servidor .................................................................................... 18 Diagramas de sequncia do projeto ............................................................. 18 Scripts SQL do banco de dados ................................................................... 18

Thalles Santos, Tiago Xavier

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos

Lista de Figuras
FIGURA 1 USURIOS DO SISTEMA 2012 ..................................................................................... 10 FIGURA 2 GERENCIAMENTO DE ACESSO 2012 ........................................................................... 11 FIGURA 3 GERENCIAMENTO DE DADOS 2012............................................................................. 12 FIGURA 4 INTERAO COM O SERVIDOR 2012 ........................................................................... 12 FIGURA 5 GERENCIAMENTO DE GRUPOS 2012 .......................................................................... 13 FIGURA 6 GERENCIAMENTO DE USURIOS 2012 ........................................................................ 14 FIGURA 7 FUNCIONALIDADES DA APLICAO SERVIDOR 2012 .................................................... 14 FIGURA 8 INTERAO COM A APLICAO CLIENTE 2012 ............................................................ 15 FIGURA 9 DIAGRAMA DE SEQUNCIA DO CASO DE USO ACESSAR SISTEMA 2012 ......................... 16 FIGURA 10 DIAGRAMA DE CLASSE PARA A APLICAO CLIENTE- 2012 ........................................... 16 FIGURA 11 DIAGRAMA DE CLASSE PARA A APLICAO SERVIDOR - 2012 ....................................... 16 FIGURA 12 MODELO DE ENTIDADE RELACIONAL DO PROJETO - 2012 .............................................. 16 FIGURA 13 MODELO FSICO DO BANCO DE DADOS 2012 ............................................................. 16 FIGURA 14 JANELA DE LOGIN 2012 ........................................................................................... 17 FIGURA 15 DIAGRAMA DE SEQUNCIA DO CASO DE USO 2012 .................................................... 18

Thalles Santos, Tiago Xavier

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos

Lista de Tabelas
TABELA 1 IDENTIFICADORES PARA OS MODOS MULTICAST E BROADCAST - 2012 ............................... 6 TABELA 2 - REQUISITOS FUNCIONAIS DO SISTEMA 2012 .................................................................. 7 TABELA 3 - REQUISITOS NO FUNCIONAIS DO SISTEMA - 2012 ............................................................ 8 TABELA 4 CASOS DE USO PARA A APLICAO CLIENTE - 2012 ......................................................... 9 TABELA 5 CASOS DE USO PARA A APLICAO SERVIDOR - 2012 ...................................................... 9 TABELA 6 EXPANSO DO CASO DE USO ACESSAR SISTEMA 2012 ............................................... 15 TABELA 7 EXPANSO DO CASO DE USO ACESSAR SISTEMA 2012 ............................................... 17 TABELA 8 EXPANSO DO CASO DE USO SOLICITAO DE REDEFINIO DE SENHA 2012 .............. 18 TABELA 9 EXPANSO DO CASO DE USO REDEFINIR SENHA 2012 .. ERRO! INDICADOR NO DEFINIDO. TABELA 10 EXPANSO DO CASO DE USO ENVIAR MENSAGEM 2012 ..............ERRO! INDICADOR NO DEFINIDO. TABELA 11 EXPANSO DO CASO DE USO RECEBER MENSAGEM 2012 ...........ERRO! INDICADOR NO DEFINIDO. TABELA 12 EXPANSO DO CASO DE USO ATUALIZAR LISTA DE USURIOS 2012 .... ERRO! INDICADOR NO DEFINIDO. TABELA 13 EXPANSO DO CASO DE USO 2012 ............................ ERRO! INDICADOR NO DEFINIDO. TABELA 14 EXPANSO DO CASO DE USO 2012 ............................ ERRO! INDICADOR NO DEFINIDO. TABELA 15 EXPANSO DO CASO DE USO 2012 ............................ ERRO! INDICADOR NO DEFINIDO. TABELA 16 EXPANSO DO CASO DE USO 2012 ............................ ERRO! INDICADOR NO DEFINIDO. TABELA 17 EXPANSO DO CASO DE USO 2012 ............................ ERRO! INDICADOR NO DEFINIDO. TABELA 18 EXPANSO DO CASO DE USO 2012 ............................ ERRO! INDICADOR NO DEFINIDO. TABELA 19 EXPANSO DO CASO DE USO 2012 ............................ ERRO! INDICADOR NO DEFINIDO. TABELA 20 EXPANSO DO CASO DE USO 2012 ............................ ERRO! INDICADOR NO DEFINIDO. TABELA 21 EXPANSO DO CASO DE USO 2012 ............................ ERRO! INDICADOR NO DEFINIDO. TABELA 22 EXPANSO DO CASO DE USO 2012 ............................ ERRO! INDICADOR NO DEFINIDO. TABELA 23 EXPANSO DO CASO DE USO 2012 ............................ ERRO! INDICADOR NO DEFINIDO. TABELA 24 EXPANSO DO CASO DE USO 2012 ............................ ERRO! INDICADOR NO DEFINIDO.

Thalles Santos, Tiago Xavier

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos

1. Objetivos
Este trabalho tem como objetivo, o desenvolvimento de um sistema distribudo de mensagens instantneas de texto. Este sistema deve ser capaz de fornecer, de forma transparente ao usurio, a possibilidade de manter uma conversao em modo texto em tempo real, garantindo consistncia e segurana sobre os dados que sero manipulados. Este trabalho que compe avaliaes das disciplinas de Sistemas Distribudos e Redes de Computadores do curso de Cincia da Computao da UESC tem como principal intuito, disseminar entre os participantes da equipe de desenvolvimento, conceitos e tcnicas na construo de Sistemas Distribudos, atravs da utilizao de Middlewares de Comunicao e utilizando diretamente os servios da camada de Transporte, via Sockets.

2. O protocolo MIP
O protocolo de aplicao MIP um padro que ser desenvolvido para permitir a comunicao entre os clientes e o servidor de um mensageiro instantneo. 2.1. Tipo de mensagens Para melhorar o desempenho e o tratamento dos dados recebidos o protocolo MIP trabalha com dois tipos de mensagem, mensagens de dados e mensagens de controle. Mensagem de dados Este tipo de mensagem usado para permitir que dados de texto sejam transmitidos entre as aplicaes. Uma mensagem de dado carrega os atributos necessrios para garantir a entrega da mesma. No tpico Formato da mensagem possvel visualizar os campos que compem uma mensagem de dados. Mensagem de controle Este tipo de mensagem usado para permitir que as aplicaes troquem dados de controle com o servidor, como requisies a determinados servios. Uma mensagem de controle carrega todos os campos necessrios para que uma determinada solicitao seja feita e toda mensagem de controle tem como nico destino o servidor. No tpico Formato da mensagem possvel visualizar os campos que compem uma mensagem de controle. 2.2. Formato da mensagem Definir a forma como esto dispostos os campos de um pacote de mensagem de um determinado protocolo de grande importncia, pois atravs desta padronizao que os desenvolvedores podero compreender como os campos de informaes esto dispostos e consequentemente atribuir um tratamento adequado. Outra funo importante que a padronizao do formato da mensagem evita que as informaes nos campos possam ser interpretadas de maneira incorreta. O desenvolvedor que implementar o protocolo seguido as especificaes necessrias, certamente ir obter o resultado desejado. Thalles Santos, Tiago Xavier 4

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos

Mensagem de controle o Cdigo 1 byte Este campo contm um cdigo para identificao do tipo da mensagem. o Comando 16 bytes Contm o comando ou a funo que ser tratada pelo destino. o Identificador de origem 8 bytes Cdigo de identificao do usurio de origem o Dado 64 bytes Mensagem de dado o Cdigo 1 byte o Comando 16 bytes o Identificador de origem 8 bytes o Identificador de destino 8 bytes o Dado 150 bytes

2.3. Funes Os procedimentos apresentados neste tpico descrevem os principais servios disponibilizados pelo protocolo MIP. Conectar CONECT_USER: O comando conectar usado pelo host cliente para requisitar a conexo ao servidor, ou seja, para que o cliente possa se conectar no sistema. Este comando enviado dentro de uma mensagem de controle, onde no campo de dados inserido o email do usurio acompanhado pela senha de acesso. O servidor por sua vez, verifica a autenticidade dos das informaes, libera o acesso e retorna um cdigo de identificao ao host cliente. Este cdigo enviado usando o modo de broadcast, descrito abaixo, a fim de informar aos demais usurios logados que um novo usurio est conectado. Desconectar DISCONECT_USER: O comando desconectar usado pelo host cliente para finalizar sua conexo ao sistema, e nesse caso, nenhuma informao inserida no campo de dados da mensagem. Entretanto, esta mensagem enviada via broadcast de modo a informar aos demais usurios logados ao sistema que este usurio em especfico acabou de se desconectar. Este comando tambm utiliza o tipo de mensagem de controle para suas requisies. Enviar mensagem SEND_MSG: Este comando utilizado pelos hosts para enviar mensagens de texto usando pacotes do tipo mensagem de dado. Para que isso ocorra, necessrio que os campos do pacote sejam preenchidos corretamente, da seguinte forma: dentro do campo identificador de origem dever ser inserido o identificador do cliente que est enviando a mensagem, j no campo destino dever ser informado o identificador do cliente a qual a mensagem se destina. Quando for necessrio mandar uma mensagem usando broadcast ou Thalles Santos, Tiago Xavier 5

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos multicast o campo identificador de destino dever ser preenchido com o cdigo do respectivo modo. Para o modo broadcast h um identificador especfico que pode ser usado, quanto ao modo multicast um identificador que qualifica um determinado grupo de usurios ser usado, como mostrado na Tabela. Alm disso, o cdigo da mensagem tambm ir sinalizar a ocorrncia de um multicast.
Tabela 1 Identificadores para os modos multicast e broadcast - 2012

Cdigo de identificao
B0000000 G0000001 G0000002

Descrio
Broadcast Multicast para o Grupo A Multicast para o Grupo B

Nos cdigos de identificao para multicast presentes na Tabela, o primeiro caractere indica que se trata de um endereo de grupo a sequncia restante indica o nmero do grupo especfico. Receber mensagem RECEIVER_MSG: Ver usurios USERS: Comando utilizado pelos hosts clientes para solicitar ao servidor a identificao de todos os usurios conectados ao sistema. Usado geralmente logo aps solicitar a conexo com o sistema, onde o cliente envia a requisio de usurios logados ao servidor e este, por sua vez, responde enviando ao cliente pacotes contendo todos os usurios logados. Adicionar usurios ADD_USER: Comando usado para solicitar ao servidor o cadastro de um novo usurio no sistema. Para isso o cliente enviar ao servidor um pacote contendo os dados do novo usurio (email e senha), o qual responder se o usurio poder ou no ser cadastrado. Caso no seja possvel, uma mensagem enviada informando a causa ao cliente, caso seja, o servidor enviar uma mensagem informando o cdigo de identificao do novo usurio via broadcast, para que todos usurios logados tenham conhecimento do mesmo. Remover usurios DROP_USER: Comando usado para remover um usurio em especfico no cadastro de usurios do sistema. Para que isto seja possvel o cliente dever enviar ao servidos os dados do usurio (email e senha) a ser removido. O servidor responde com uma mensagem de notificao. Alterar usurio UPDATE_USER: Comando usado para atualizar o cadastro de um usurio em especfico. necessrio que o cliente informe ao servidor qual usurio e quais os dados que sero atualizados. Nome do usurio USER_NAME: Comando usado para solicitar ao servidor o nome de um usurio em especfico, passando o cdigo de identificao deste usurio. Criar grupo NEW_GROUP: Comando usado para solicitar ao servidor a criao de um grupo especfico, observando que o usurio solicitante estar automaticamente vinculado ao grupo como administrador. Remover grupo DROP_GROUP: Comando que permite ao usurio administrador do grupo solicitar ao servidor a remoo de um grupo em especfico. Thalles Santos, Tiago Xavier 6

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos Alterar grupo UPDATE_GROUP: Comando usado para solicitar ao servidor alteraes em determinados parmetros de um grupo especfico. Insere um usurio no grupo JOIN_GROUP: Comando usado pelos usurios integrantes de um grupo para solicitar ao servidor a juno de um novo usurio no grupo. Remove um usurio do grupo NJOIN_GROUP: Comando usado pelos usurios integrantes de um grupo para solicitar ao servidor a remoo de um determinado usurio no grupo.

3. Requisitos do sistema
3.1. Requisitos funcionais As informaes descritas na proposta do projeto foram organizadas na forma de uma lista de requisitos funcionais (Tabela), onde cada um deles conta com uma descrio bsica e um cdigo de identificao associado a ele. O cdigo de um requisito funcional composto por pelos caracteres RF indicando que se trata de um requisito funcional do sistema, associado a um nmero de sequncia. Ao longo deste documento, toda referencia encontrada com essas caractersticas sero tratadas como uma funcionalidade descrita na Tabela.
Tabela 2 - Requisitos funcionais do sistema 2012

Cdigo
RF-1 RF-2 RF-3 RF-4 RF-5 RF-6 RF-7 RF-8 RF-9 RF -10

Descrio
Permitir ao usurio conectar-se ao sistema usando um identificador de usurio e uma senha. Permitir ao usurio identificar todos os demais usurios logados ao sistema. Permitir ao usurio servios cadastrais como criao, edio e excluso de usurios. Permitir ao usurio enviar e receber mensagens de texto. Permitir ao usurio a criao, edio e remoo de grupos de amigos. Permitir ao usurio a insero e remoo de novos amigos em um determinado grupo. Permitir servios de envio de mensagens para todos os usurios logados, bem como o envio de mensagens h um grupo em especfico. Permitir ao usurio recuperar o acesso ao sistema, caso tenha perdido sua senha. Prover um servidor para atender as requisies do usurio O usurio poder trocar mensagens com diferentes usurios simultaneamente.

Essa lista ser usada como um guia de referencia para os analistas, pois estes a usaro para o projeto das funcionalidades do sistema na forma de diagramas de casos de uso. Alm disso, servir tambm para que haja um controle sobre todos os requisitos atendidos pelo sistema. 3.2. Requisitos no funcionais Assim como a lista de requisitos funcionais (Tabela), este documento Thalles Santos, Tiago Xavier 7

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos apresenta tambm outra lista que trata os requisitos referentes a questes como desempenho, segurana, confiabilidade, estabilidade, alm de tratamento de erros. Esta chamada de requisitos no funcionais e tambm possui uma breve descrio do requisito associado a um cdigo de identificao. O cdigo de identificao de um requisito no funcional tratado por este sistema e descrito neste documento formado pelos trs caracteres RNF (Requisito No Funcional) e por um nmero em sequncia. Este cdigo ser vlido por toda a extenso deste documento, sempre que referenciar um requisito no funcional.
Tabela 3 - Requisitos no funcionais do sistema - 2012

Cdigo
RNF-1 RNF-2 RNF-3 RNF-4

Descrio
Permitir que os identificadores de usurio a as senhas possam ser criptografadas. Todas as mensagens de texto devero ser encaminhadas ao servidor, este ser responsvel por redirecion-la ao usurio correto. Prover uma interface simples e amigvel. Servidor dever atender vrias requisies simultaneamente.

4. Casos de uso
Nesta seo do documento apresentam-se as principais operaes que um usurio poder efetuar no sistema. Estas operaes ou funcionalidades so descritas atravs dos chamados casos de uso. Um modelo de casos de uso um modelo das funes pretendidas do sistema e suas vizinhanas, que serve como contrato entre o cliente e os desenvolvedores. Os casos de uso concentram-se nas relaes entre as funes do sistema e os usurios que delas participam de alguma forma. Podemos dizer que um caso de uso captura as aes para a realizao de uma funo do sistema, enfocando as interaes entre os usurios e o sistema. Percebe-se tambm que um caso de uso expressa o que acontece quando uma funcionalidade do sistema executada, incluindo suas possveis variaes. Geralmente no h preocupao em especificar detalhadamente como os participantes executam as aes, entretanto a ordem delas pode algo relevante. Neste sistema em especfico, percebe-se a necessidade de agrupar os casos de uso em listas diferentes. Existem basicamente duas aplicaes sendo desenvolvidas, uma chamada aplicao cliente e a outra aplicao servidora. Cada aplicao ser executada em uma mquina diferente, realizando operaes distintas. Embora o nome de suas funcionalidades seja idntico, os passos que cada uma ir executar seguem rotinas diferenciadas. Os prximos tpicos iro apresentar as listas de casos de uso para ambas as aplicaes. 4.1. Cliente A aplicao cliente pode ser considerada a parte do sistema mais prxima do usurio, ela ser a intermediadora entre o usurio e o servidor. Entretanto, por Thalles Santos, Tiago Xavier 8

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos se tratar de uma aplicao distribuda, o usurio no ter conhecimento da aplicao servidor, esta estar transparente ao mesmo. A Tabela lista os principais casos de uso tratados pela aplicao cliente do sistema. Em seus campos esto relacionados o cdigo do caso de uso, os requisitos funcionais e no funcionais envolvidos e, por ultimo, o nome do caso de uso. O objetivo principal proporcionar uma viso geral sobre o nmero total de casos de uso e sua associao com os requisitos da aplicao cliente do sistema.
Tabela 4 Casos de uso para a aplicao cliente - 2012

Cdigo
C-01 C-02 C-03 C-15 C-04 C-05 C-16 C-17 C-09 C-10 C-11 C-06 C-12 C-13 C-14 C-07 C-08 C-18

Requisitos
RF-1, RNF-1, RF-9. RF-1, RNF-1, RF-9, RF-8. RF-1, RNF-1, RF-9, RF-8. RF-1, RNF-1, RF-9. RF-4, RF-7, RF-10, RNF2, RNF-3, RNF-4. RF-4, RF-7, RF-10, RNF2, RNF-3, RNF-4. RF-4, RF-7, RF-10, RNF2, RNF-3, RNF-4. RF-4, RF-7, RF-10, RNF2, RNF-3, RNF-4. RF-2, RF-3, RF-9, RNF-4. RF-2, RF-3, RF-9, RNF-4. RF-2, RF-3, RF-9, RNF-4. RF-2, RNF-4. RF-5, RF-6, RF-9, RNF-4. RF-5, RF-6, RF-9, RNF-4. RF-5, RF-6, RF-9, RNF-4. RF-5, RF-6, RF-9, RNF-4. RF-5, RF-6, RF-9, RNF-4. RF-1, RNF-1, RF-9.

Nome do caso de uso


Acessar Sistema Solicitar Redefinio de Senha Redefinir Senha Alterar Senha Enviar Mensagem Receber Mensagem Enviar Pacote Receber Pacote Criar Usurio Editar Usurio Excluir Usurio Atualizar Lista de Usurios Criar Grupo Editar Grupo Excluir Grupo Associar Usurio ao Grupo Desassociar Usurio ao Grupo Efetuar Logout

4.2. Servidor A aplicao servidora, por sua vez, uma parte interna do sistema que ficar transparente ao usurio. Como visto anteriormente sua funo ser distribuir e atender a servios de diferentes aplicaes cliente, para isso uma srie de funcionalidades, assim como para o cliente, so atribudas. A Tabela lista os principais casos de uso tratados pela aplicao servidor do sistema. Em seus campos esto relacionados o cdigo do caso de uso, os requisitos funcionais e no funcionais envolvidos e, por ultimo, o nome do caso de uso. O objetivo principal proporcionar uma viso geral sobre o nmero total de casos de uso e sua associao com os requisitos da aplicao servidor do sistema.
Tabela 5 Casos de uso para a aplicao servidor - 2012

Cdigo
C-19 C-20

Requisitos
RF-9 RF-1, RNF-1, RF-9, RF-8.

Nome do caso de uso


Atender Servio Servio de Acesso

Thalles Santos, Tiago Xavier

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos
C-21 C-22 C-23 C-16 C-17 RF-4, RF-7, RF-10, RNF2, RNF-3, RNF-4. RF-2, RF-3, RF-9, RNF-4. RF-5, RF-6, RF-9, RNF-4. RF-4, RF-7, RF-10, RNF2, RNF-3, RNF-4. RF-4, RF-7, RF-10, RNF2, RNF-3, RNF-4. Servio de Mensagens Servio de Usurios Servio de Grupos Enviar Pacote Receber Pacote

4.3. Diagramas de casos de uso Os diagramas de casos de uso so uma representao grfica para apresentar as funcionalidades do sistema e como estas se relacionam com os usurios. Este diagrama, juntamente com as outras representaes para o modelo de casos de uso, essencial para que clientes e analistas possam se entender durante a fase de anlise de um software. As demais Figuras apresentam as principais funcionalidades do sistema, juntamente com seus atores associados.

Figura 1 Usurios do sistema 2012

Thalles Santos, Tiago Xavier

10

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos

Figura 2 Gerenciamento de Acesso 2012

Thalles Santos, Tiago Xavier

11

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos

Figura 3 Gerenciamento de Dados 2012

Figura 4 Interao com o Servidor 2012

Thalles Santos, Tiago Xavier

12

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos

Figura 5 Gerenciamento de Grupos 2012

Thalles Santos, Tiago Xavier

13

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos

Figura 6 Gerenciamento de Usurios 2012

Figura 7 Funcionalidades da Aplicao Servidor 2012

Thalles Santos, Tiago Xavier

14

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos

Figura 8 Interao com a Aplicao Cliente 2012

4.4. Expanso dos casos de uso na fase de expanso dos casos de uso que o analista ter uma noo bsica sobre o funcionamento dos principais casos de uso do sistema. Esta expanso consiste na explicitao de todas as diferentes funcionalidades do sistema, que permitir inferir e identificar mais claramente outras necessidades. A Tabela apresenta a descrio ou expanso do caso de uso Acessar Sistema tratado pela Aplicao Cliente. Atravs da expanso dos casos de uso o analista poder verificar quais so as funcionalidades mais desafiadoras e tambm estas podero ser usadas para a criao dos diagramas de sequncia de cada um dos casos abordados.
Tabela 6 Expanso do caso de uso Acessar Sistema 2012

Item
Cdigo Caso de Uso Descrio Atores Precondio Ps-condies Fluxo principal Fluxo alternativo Subcasos de uso Nota C-01 Acessar Sistema

Descrio

As demais tabelas com as expanses dos casos de uso podem ser encontradas no Apndice (Seo n 9) deste documento.

Thalles Santos, Tiago Xavier

15

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos 4.5. Diagramas de sequncia Um diagrama de sequncia de um sistema uma representao grfica que tem como objetivo mostrar como as mensagens so comunicadas no decorrer do tempo entre os objetos do sistema quando um ator realizar uma operao. Este diagrama composto por linhas verticais, barras verticais, linhas horizontais e linhas horizontais tracejadas, cada um com suas respectivas representaes. Linhas verticais Tem como funo representar o tempo de vida de um objeto. Barras verticais Tem como funo preencher as linhas verticais e indicam o momento em que um dado objeto passou a existir. Linhas horizontais So as mensagens trocadas entre os objetos, possuem um rtulo que informa o nome da mensagem e, opcionalmente, os parmetros desta mensagem. Linhas horizontais tracejadas a representao para as mensagens de retorno geradas pelo sistema. As Figuras presentes no Apndice (Seo n 9) mostram os diagramas de sequncia dos principais casos de uso do sistema.
Figura 9 Diagrama de sequncia do caso de uso Acessar Sistema 2012

5. Diagrama de classe
Os diagramas de classes proveem as bases de qualquer metodologia de anlise e projeto de sistemas de software orientados a objetos. No h, portanto, um sistema minimamente documentado para o qual no tenhamos desenvolvido um diagrama de classes. Este diagrama a viso esttica do sistema, especificando as relaes atemporais (que no variam com o tempo, da a ideia de viso esttica) entre os conceitos que compem o domnio. A Figura mostra a viso esttica para a Aplicao Cliente, ela descreve os principais conceitos presentes no sistema e que so de grande importncia para o entendimento do comportamento do mesmo. A Figura, por sua vez, apresenta o diagrama de classe para a Aplicao Servidor.
Figura 10 Diagrama de classe para a Aplicao Cliente- 2012 Figura 11 Diagrama de classe para a Aplicao Servidor - 2012

6. Banco de dados
6.1. Modelo lgico
Figura 12 Modelo de entidade relacional do projeto - 2012

6.2. Modelo fsico


Figura 13 Modelo fsico do banco de dados 2012

Thalles Santos, Tiago Xavier

16

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos 6.3. Dicionrio de dados 6.4. Tabela de atributos 6.5. Scripts SQL

7. Prottipo de interface
Figura 14 Janela de login 2012

8. Referncias
[ADILSON DA SILVA LIMA] UML 2.0 Do Requisito Soluo, 3 Edio, Editora rica, 2008. [ANDREW S. TANEMBAUM, MAARTEN VAN STEEN] Sistemas Distribudos Princpios e Paradigmas, 2 Edio. [ANDREW S. TANEMBAUM] Redes de Computadores, 4 Edio. Material da disciplina presente no Moodle Sistemas distribudos 2012.2

9. Apndice
9.1. Tabelas de expanso dos casos de uso 9.1.1. Aplicao Cliente
Tabela 7 Expanso do caso de uso Acessar Sistema 2012

Item
Cdigo Caso de Uso Descrio Atores Precondio

Descrio
C-01 Acessar Sistema O Usurio solicita acesso ao sistema por meio de seu email e senha. Usurio Estar janela de login, possuir email e senha cadastrados no sistema. O Sistema deve est conectado ao servidor.

Thalles Santos, Tiago Xavier

17

Documentao Tcnica
Mensageiro Instantneo - Projeto da disciplina Sistemas Distribudos
Ps-condies O Servidor abre uma seo para o Usurio. 1. O Usurio seleciona o campo email e digita o email. 2. O Usurio Seleciona o campo senha e digita a senha. 3. O Usurio seleciona a opo entrar. 4. O Sistema verifica que os campos obrigatrios foram preenchidos. 5. O Sistema inicia o caso de uso Enviar Pacote para envia uma mensagem ao servidor solicitando a permisso de acesso ao usurio. 6. O Sistema inicia o caso de uso Receber Pacote para aguardar a resposta do servidor. 7. O Servidor responde a requisio informando o cdigo de identificao do Usurio. 8. O Sistema realiza as configuraes necessrias. 4.1 O Sistema verifica que os campos obrigatrios no foram preenchidos. 4.2 O Sistema emite uma mensagem informando os campos no preenchidos. 4.3 Retoma o passo 1 do fluxo principal. 7.1 O Servidor responde a requisio no informando o cdigo de requisio. 7.2 O Sistema exibe uma mensagem informando que o usurio solicitante no est cadastrado. Enviar Pacote, Receber Pacote. O Ator Gerente, excepcionalmente, ter o seu cadastro realizado pelo DBA da empresa para o primeiro acesso. Os demais usurios tero seu cadastro efetuado pelo gerente do projeto.

Fluxo principal

Fluxo alternativo 1

Fluxo alternativo 2 Subcasos de uso Nota

Tabela 8 Expanso do caso de uso Solicitao de Redefinio de Senha 2012

Item
Cdigo Caso de Uso Descrio Atores Precondio Ps-condies Fluxo principal Fluxo alternativo Subcasos de uso Nota

Descrio
C-02 Solicitar Redefinio de Senha

9.1.2. Aplicao Servidor 9.2. Diagramas de sequncia do projeto


Figura 15 Diagrama de sequncia do caso de uso 2012

9.3. Scripts SQL do banco de dados

Thalles Santos, Tiago Xavier

18