fernando krein pinheiro

20
Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial Documento de Requisitos do Protocolo de Transferência de Arquivos via Portal Serial Versão 1.3 Engenharia de Software I Documento de Requisitos Fernando Krein Pinheiro

Upload: vinicius

Post on 18-Feb-2016

227 views

Category:

Documents


0 download

DESCRIPTION

n sei

TRANSCRIPT

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

1

Documento de Requisitos do Protocolo de

Transferência de Arquivos via Portal Serial

Versão 1.3

Engenharia de Software I

Documento de Requisitos

Fernando Krein Pinheiro

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

2

Cronograma

Autor Versão Descrição Data

Fernando Krein Pinheiro 1.0 Inicio do Documento de Requisitos.

28/10/2010

Fernando Krein Pinheiro 1.1 Descrição do Sistema, Casos de Uso.

01/11/2010

Fernando Krein Pinheiro 1.2 Revisão dos Casos de Uso, Restrições.

05/11/2010

Fernando Krein Pinheiro 1.3 Finalização do Documento.

19/11/2010

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

3

Sumário

1. Introdução........................................................................................................................5

1.1 Proposito....................................................................................................................5

1.2 Âmbito........................................................................................................................5

1.3 Definições, Termos e Abreviações..............................................................................5

1.3.1 Usuario..............................................................................................................5

1.3.2 Sistema..............................................................................................................5

1.3.3 Emissor..............................................................................................................5

1.3.4 Receptor............................................................................................................5

1.3.5 CRC (Código de Redundância Ciclica)................................................................5

1.3.6 ACK (Acknowledgement)...................................................................................6

1.3.7 Gatilho...............................................................................................................7

1.3.8 Requisitos..........................................................................................................7

1.4 Referencias.................................................................................................................7

1.5 Organização do Documento.......................................................................................7

2. Descrição Geral...................................................................................................................7

2.1 Perspectiva do Produto..............................................................................................7

2.1.1 Interfaces com o Usuario..................................................................................7

2.1.1.1 Interface Grafica.....................................................................................7

2.1.1.2 Teclado...................................................................................................8

2.1.2 Interface de Hardware.....................................................................................8

2.1.2.1 Teclado..................................................................................................8

2.1.2.2 Monitor..................................................................................................8

2.1.2.3 Portas Seriais.........................................................................................8

2.1.2.4 Cabo de Rede com Conectores DB25....................................................8

2.1.3 Interfaces de Software.....................................................................................8

2.1.4 Interfaces de Comunicação..............................................................................9

2.1.5 Memoria..........................................................................................................9

2.1.6 Operações........................................................................................................9

2.1.7 Exigências de Adaptação ao Local...................................................................9

2.2 Funções do Produto...................................................................................................9

2.3 Características do Utilizador......................................................................................9

2.4 Restrições.................................................................................................................10

2.5 Assunções e Dependencias......................................................................................10

2.6 Divisão de Atribuição das Exigencias.......................................................................10

3. Exigências Especificas.......................................................................................................10

3.1 Interfaces Externas..................................................................................................10

3.1.1 Teclado...........................................................................................................10

3.1.2 Monitor.........................................................................................................10

3.1.3 Portas Seriais.................................................................................................11

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

4

3.1.4 Cabo de Rede com Conectores DB25............................................................11

3.2 Funções...................................................................................................................11

3.2.1 Requisitos Funcionais de Usuario...................................................................11

3.2.1.1 Caso de Uso [1] - Escolher Estado........................................................11

3.2.2 Requisitos Funcionais do Sistema...................................................................12

3.2.2.1 Caso de Uso [2] - Estabelecer Conexão...............................................12

3.2.2.2 Caso de Uso [3] - Ler Arquivo.............................................................12

3.2.2.3 Caso de Uso [4] - Criar Pacotes...........................................................13

3.2.2.4 Caso de Uso [5] - Codificar Pacotes....................................................14

3.2.2.5 Caso de Uso [6] - Enviar Pacote..........................................................15

3.2.2.6 Caso de Uso [7] - Receber Pacote.......................................................15

3.2.2.7 Caso de Uso [8] - Decodificar Pacote..................................................16

3.2.2.8 Caso de Uso [9] - Escrever Arquivo.....................................................17

3.3 Exigências de Desemprenho....................................................................................17

3.3.1 Capacidade.....................................................................................................17

3.3.1.1 Numero de Usuarios...........................................................................18

3.4 Exigências Logicas da Base de Dados.......................................................................18

3.5 Restrições de Desenho.............................................................................................18

3.5.1 Hardware........................................................................................................18

3.5.1.1 Processador........................................................................................18

3.5.1.2 Memória.............................................................................................18

3.6 Atributos do Sistema de Software...........................................................................18

3.6.1 Disponibilidade...............................................................................................18

3.6.2 Segurança.......................................................................................................18

3.6.3 Capacidade de Manutenção...........................................................................18

3.6.4 Portabilidade..................................................................................................19

3.7 Organização das Exigências Especificas..................................................................19

3.7.1 Modos do Sistema..........................................................................................19

3.7.2 Classes do Utilizador.......................................................................................19

3.7.3 Caracteristicas.................................................................................................19

3.8 Comentarios Adicionais...........................................................................................19

4. Informações de Suporte...................................................................................................19

4.1 Âpendices ...............................................................................................................19

4.1.1 Manual do Software......................................................................................19

4.2 Objetivos................................................................................................................20

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

5

1. Introdução 1.1 Proposito.

Este documento tem por objetivo levantar requisitos de um software protocolo para

envio e recebimento de arquivos via porta serial, fornecendo informações necessárias para sua

implementação, testes e correções do software. Este documento também é um trabalho da

disciplina de Engenharia de Software I do curso de Ciência da Computação.

1.2 Âmbito.

O Protocolo de Transferência de Arquivos via Porta Serial ou PTAVPS será em sua

concepção um software que permitira envio e recebimento de qualquer tipo de arquivos pela

porta serial de um computador para outro. Para ser mais preciso quanto ao tipo de arquivos

posso citar: arquivos de vídeo, música, imagens, documentos etc. O software protocolo deverá

além de enviar e receber dados, fazer o tratamento dos mesmo, corrigindo eventuais erros e

falhas na transmissão.

1.3 Definições, Termos e Abreviaturas.

Para que ocorra uma compreensão correta deste documento, é necessário o

conhecimento de alguns termos específicos que são descritos abaixo:

1.3.1 Usuário

Usuário será o utilizador do software, ou seja, será a pessoa que escolhera as

opções na sua interface e fará a manipulação dos arquivos a serem enviados ou

recebidos.

1.3.2 Sistema

O Sistema será o software protocolo em si podendo ser tanto o Emissor como

o Receptor. Sua principal função com o usuário é fornecer uma interface fácil e

intuitiva.

1.3.3 Emissor

Será tratado como Emissor a parte do Sistema que fara o envio e/ou emissão

do arquivo em questão.

1.3.4 Receptor

Será tratado como Receptor a parte do Sistema responsável por receber o

arquivo enviado pelo Emissor.

1.3.5 CRC (Código de Redundância Cíclica)

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

6

CRC ou Código de Redundância Cíclica é um método pré-definido de correção de erros de dados. Esse método consiste em tratar cadeias de bits como representações de polinômios com coeficientes de 0 e 1, para um quadro de k bits teríamos termos variando de xk+1 a x0 ( polinômio de grau k – 1 ) .

No emprego deste método, o emissor e o receptor devem possuir um mesmo polinômio gerador (G(x)) onde o bit de mais alta e mais baixa ordem devem ser iguais a 1, e um quadro de m bits corresponder ao polinômio M(x). Definido o grau r do gerador, acrescentar r bits zero à extremidade de baixa ordem do quadro, de modo que ela passe a conter m + r bits e corresponda ao polinômio xrM(x), em seguida dividir a sequência de bits correspondente a G(x) pela sequência de bits correspondente a xrM(x) utilizando a divisão módulo 2. Então é subtraído o resto da sequência de bits e o seu resultado é o quadro verificado pela soma que deverá ser transmitido. Chamado de polinômio T(x). O polinômio T(x) deverá ser divisível pelo polinômio gerador, ou seja, seu resto deverá ser zero. Em qualquer problema, diminuindo o dividendo pelo resto o resultado é divisível pelo divisor. Assim, o método CRC detectará todos os erros possíveis como: possíveis interferências no meio físico de transporte de dados. Para o Calculo do CRC existem algoritmos pré-definidos o que nesse caso será útil ao programador pois reduzira seu tempo para o desenvolvimento do protocolo. O polinômio gerador usado nesse sistema será: CRC-12: X12 + X11 + X3 + X2 + X + 1.

1.3.6 ACK (Acknowledgement)

O ACK poderá ser considerado como uma confirmação de recebimento de

dados. No caso do Protocolo de Transferência de Arquivos via Porta Serial o ACK será

usado pelo Receptor o qual enviara uma confirmação de recebimento de dados ou

seja o ACK. O ACK será um pacote de dados que conterá algumas informações

referentes ao tipo de pacote que foi enviado o tamanho total do arquivo e o numero

gerado pelo calculo do CRC. Exemplo fictício do pacote ACK.

|---------------------------------------------20 Bytes------------------------------------------------------|

CRC Tipo do Pacote Tamanho Total do Arquivo

|---------5 Bytes-------------|---------------5 Bytes-----------|---------------10 Bytes--------------|

Esses conceitos serão mais bem entendidos nos Casos de Uso [4], [5] e [6].

1.3.7 Gatilho

Gatilho é o ponto de partida para executar determinada ação, ou seja, será um

evento inicial que desencadeara outros mais.

1.3.8 Requisitos

Requisitos são características, funcionalidades que o software deverá atender.

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

7

1.4. Referências

IEEE830

(http://www.urisan.tche.br/~pbetencourt/engsoftI/IEEE830/introducaosrs.html)

PRESSMAN ROGER S., Engenharia de Software 5° Edição.

SOMMERVILLE, Engenharia de Software 6ª Edição.

TANEMBAUM, Andrews. Redes de Computadores 4° Edição.

1.5. Organização do Documento de Requisitos

Este documento segue o modelo padrão da IEEE, seguindo também seus conceitos quanto à qualidade.

O foco da primeira parte do documento, tópico 1, é dar uma visão geral do documento tentando facilitar o entendimento do mesmo pelo leitor. Ainda durante esta etapa é dada uma visão geral do que será o software.

Durante a segunda etapa do documento, tópico 2, passam a ser discutidas as interfaces do software com o meio externo, ou seja, os meios dos quais ele irá receber ou para os quais irá enviar os dados.

A terceira etapa já apresenta os requisitos do sistema, as exigências que o software deverá cumprir com o objetivo de resolver o problema proposto pelo cliente. Durante esta etapa também são discutidas as formas como o software trata os dados recebidos das interfaces externas comentadas no tópico 2.

A quarta e ultima etapa traz o manual do software a ser implementado como uma informação complementar.

Para qualquer dúvida a respeito da estruturação do documento, consultar o sumário na página 2.

2. Descrição Geral

2.1 Perspectivas do Produto

O PTAVPS não faz parte de outro sistema qualquer por isso precisa que alguns sistemas

de hardware trabalhem em conjunto para obtenção de sucesso total.

2.1.1 Interface com o Usuário

Para o funcionamento correto e usabilidade do usuário para com o sistema necessita-

se de algumas interfaces ou periféricos.

2.1.1.1 Interface Gráfica

O software disponibilizará uma interface no modo texto através de um

shell e apenas três opções Emissor, Receptor ou Sair onde: Como já citado

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

8

anteriormente o Emissor fara envio de dados, o Receptor receberá os dados e

Sair será a opção para sair do programa.

2.1.1.2 Teclado

Como a interface do software será em modo texto através do shell o uso

de um teclado é imprescindível para a interação usuário e sistema, o teclado

deverá ser padrão QWERTY e deverá estar dentro das normas da ABNT2.

2.1.2 Interface de Hardware

Para um correto funcionamento do software o computador necessita de alguns

dispositivos. São eles:

2.1.2.1 Teclado

Como visto anteriormente o teclado será de extrema importância para

interação do usuário e o sistema por isso deverá estar instalado corretamente,

funcionando de maneira correta e estar dentro das normas e padrões da ABNT2.

2.1.2.2 Monitor

Para que o usuário possa interagir com o sistema escolhendo as opções se faz

necessário o uso de um monitor podendo este variar de tamanho e peso mas contanto

que esteja instalado de maneira correta e em perfeito funcionamento.

2.1.2.3 Portas Seriais

O computador deverá obrigatoriamente possuir uma saída serial no padrão RS-

232 onde deverá ser conectado um conector DB25.

2.1.2.4 Cabo de Rede com Conectores DB25

Esse item é fundamental para conectar os dois computadores onde o sistema

irá rodar. Os conectores servem para fazer a conexão entre as portas seriais de cada

computador por isso devem seguir o modelo indicado (modelo DB25). O cabo pode ser

encontrado em qualquer loja de eletroeletrônico.

2.1.3 Interface de Software

O software protocolo devido a sua particularidade não poderá fazer uso de outros

softwares para simulação de testes por isso durante sua implementação necessitará que uma

parte esteja rodando em um computador A e outra em um computador B. Nesse caso o

programador devera implementar o sistema emissor em um computador e o receptor em

outro, terminando essa etapa o mesmo fará os testes necessários para verificar seu perfeito

funcionamento posteriormente deverá unir as duas partes do sistema (emissor mais receptor)

fazendo com que o sistema passe a ser um só, possibilitando ao usuário a escolhe de ser

emissor ou receptor.

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

9

2.1.4 Interface de Comunicação

A principal interface de comunicação a ser usado pelo software será a porta serial

padrão RS – 232 e o cabo de rede citado anteriormente. A interface serial é uma porta de

comunicação utilizada para conectar modems, mouses, algumas impressoras, scanners e

outros equipamentos de hardware. Na interface serial, os bits são transferidos em fila, ou seja,

um bit de dados de cada vez.

2.1.5 Memória

O software deverá utilizar a menor quantidade possível de memoria, sendo possível

executa-lo em computadores com apenas 256 MB. Seu desempenho será melhor visto em

computadores que possuam quantidades acima de 512 MB de memoria.

2.1.6 Operações

As operações executadas pelo utilizador será a escolha do modo do sistema (modo

emissor ou receptor). No caso de ocorrer algum evento anormal ou fora do padrão do

software, o mesmo emitira mensagem de auxilio para que o usuário tome uma atitude correta

mediante a situação. Caso o software não executar corretamente por falhas subsequentes de

sistema operacional o usuário deverá executa-lo novamente.

2.1.7 Exigências de Adaptação ao Local

Esse item não é contemplado no documento, portanto não deverá ser no software.

2.2 Funções do Produto

O Software PTAVPS deve prover:

1 – Emissão de Arquivo: onde um usuário poderá escolher um arquivo para envio ao

computador receptor.

2 – Recebimento de Arquivo: onde o usuário poderá receber um arquivo enviado pelo

emissor de outro computador.

3 – Sair onde o usuário sairá do programa e o mesmo fechar automaticamente.

4 – Implementar correção e controle sobre os dados enviados e recebidos.

2.3 Características do Utilizador

Como o software terá aparência simples e buscará ser o mais intuitivo possível

qualquer usuário com o mínimo de conhecimentos em informática poderá usa-lo. Dessa forma

abrangera uma ampla variedade de usuários. Esperasse que o usuário saiba ler e interpretar

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

10

informações e que tenha usado qualquer outro software que possua funções de envio ou

recebimento de arquivos.

2.4 Restrições

O software protocolo não poderá ter dependência alguma com qualquer outro

software instalado no computador, por exemplo: softwares de áudio, vídeo etc. O sistema faz

uso de bibliotecas de sistema UNIX/LINUX por isso a execução em outros sistemas fica restrita

e não poderá ser feita.

2.5 Assunções e Dependências

A interação do sistema deverá ser feita através de dois computadores apenas, onde

um será o Emissor e o outro o Receptor. O sistema que estiver rodando no computador A

deverá possuir apenas um estado (emissor ou receptor). Por exemplo: No caso de o usuário 1

que estiver no computador A ter escolhido a opção de Emissor (para enviar dados)

obrigatoriamente o usuário 2 que esta no computador B deverá ser o Receptor (receber

dados) e vice-versa.

2.6 Divisão de Atribuição de Exigências

O que poderá ser usado em versões futuras do sistema será controle de concorrência

para que o software possa enviar e receber os mesmo tempo, não tendo que esperar uma

operação encerrar para iniciar outra.

3. Exigências Especificas

3.1 Interfaces Externas

Algumas das informações a seguir já foram citadas anteriormente, portanto, em

partes, estarão redundantes mas essa repetição se faz necessária para especificar em detalhes

as exigências impostas pelo sistema. As principais exigências em relação às interfaces externas

são:

3.1.1 Teclado

O teclado deverá seguir as normas e padrões da ABNT2 ser modelo QWERTY,

deve estar instalado corretamente e em perfeito funcionamento.

3.1.2 Monitor

O monitor poderá ser colorido ou não, devera estar devidamente instalado

configurado e em perfeito funcionamento. Tamanho de telas deverá ser de

preferencia igual ou superior a 13,5 polegadas. Poderá ser executado em telas

menores mas não será garantida uma interface perfeita para esse tamanho de

tela.

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

11

3.1.3 Portas Seriais

As portas seriais deverão seguir o padrão RS – 232 e deverão estar

funcionando corretamente.

3.1.4 Cabo de Rede com Conectores DB25

O cabo de rede para conexão entre os dois computadores deverá possuir em

cada uma de suas extremidades um conector tipo DB25. Seu tamanho não deve

ultrapassar 5 metros de comprimento.

3.2 Funções

As funções definem as ações fundamentais do sistema.

3.2.1 Requisitos Funcionais do Usuário

3.2.1.1 Caso de Uso [1] - Escolher Estado

Descrição: O sistema disponibilizará um menu com duas opções; Emissor ou Receptor. Nesse momento o usuário deverá escolher um dos estados, ou seja dependendo da escolha do usuário um computador passara a possuir um estado definido podendo ser emissor ou receptor mas em hipótese alguma poderá assumir os dois estados ao mesmo tempo. Caso o usuário tenha escolhido a opção de emissão o sistema deverá perguntar o caminho do arquivo a ser enviado. Caso o usuário tenha escolhido a opção de receptor o sistema devera reconhecer se existe uma conexão e esperar pelos dados caso não exista conexão uma mensagem de erro é impressa.

Escopo: Protocolo. Ator primário: Usuário. Prioridade: Media. Nível: Tarefa Primária. Frequência: Media. Interesses: Deseja executar um estado de emissor ou receptor. Pré-condições: O usuário deve ter iniciado corretamente o sistema. Condição de sucesso: Uma mensagem de inicio de conexão é emitida e vai para o Caso de Uso [2]. Condição de fracasso: Uma mensagem de erro é impressa na tela e o usuário deverá tentar novamente. Gatilho: Escolher o estado emissor ou receptor. Cenário Principal de Sucesso: 1 - Uma mensagem de inicio de inicio de conexão é emitida na tela. 2 - Vai para o Caso de Uso [2]

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

12

3.2.2 Requisitos Funcionais do Sistema

3.2.2.1 Caso de Uso [2] - Estabelecer Conexão

Descrição: O sistema deve estabelecer conexão. Somente o sistema emissor poderá requisitar e estabelecer uma conexão. O sistema receptor deverá aceitar a conexão e esperar pelos dados.

Escopo: Protocolo. Ator primário: Sistema. Prioridade: Alta. Nível: Tarefa Primária. Frequência: Média. Interesses: O emissor deseja estabelecer uma conexão com o receptor. Pré-condições: O Caso de Uso [1] deverá ter acontecido. Condição de sucesso: A conexão é estabelecida e uma mensagem de sucesso é impressa na tela. Condição de fracasso: Uma mensagem de erro é impressa na tela e outra mensagem aparecerá para usuário tentando instrui-lo como corrigir o erro. Gatilho: Caso de Uso [1] deverá ter acontecido com sucesso. Cenário Principal de Sucesso:

1 – A conexão é estabelecida.

2 – Uma mensagem de sucesso aparece na tela.

3 – Vai para o Caso de Uso [3].

3.2.2.2 Caso de Uso [3] - Ler Arquivo

Descrição: Esse Caso de Uso é feito somente pelo sistema emissor. O sistema emissor devera verificar o tamanho do arquivo informado pelo usuário no Caso de Uso [1], logo após devera alocar memoria dinamicamente conforme o tamanho do arquivo e então abrir o arquivo, ler os dados e armazenar nesse buffer alocado.

Escopo: Protocolo.

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

13

Ator primário: Sistema. Prioridade: Alta. Nível: Tarefa Primária. Frequência: Média. Interesses: Ler os dados e armazena-los em um buffer de memoria. Pré-condições: O Caso de Uso [2] devera ter acontecido com sucesso. Condição de sucesso: O arquivo é verificado, lido e armazenado em buffer de memoria. Condição de fracasso: Uma mensagem de erro é impressa na tela e o sistema tenta novamente ate ler todo o arquivo corretamente. Gatilho: Arquivo deve ser informado pelo usuário no Caso de Uso [1]. Cenário Principal de Sucesso:

1 – O arquivo é lido

2 – Vai para o Caso de Uso [4]

3.2.2.3 Caso de Uso [4] - Criar Pacotes

Descrição: Com os dados já em buffer o sistema emissor deverá criar pacotes de dados. Nesses pacotes além de informações referentes aos dados do arquivo, devem constar ainda tamanho total do arquivo ocupando 10 Bytes, numero de pacote ocupando 5 Bytes, por exemplo, pacote 1, pacote 2, uma certa quantidade de dados do arquivo ocupando 80 Bytes e o código gerado pelo calculo do CRC ocupando 5 Bytes, gerando assim pacotes de 100 bytes. Exemplo fictício de como deverá ser o pacote.

|------------------------------------------ 100 bytes----------------------------------------------|

CRC Dados do Arquivo a ser Enviado 1° Pacote

Tamanho Total do Arquivo

|-5 Bytes--|------------------------ 80 Bytes-----------------------|-5 Bytes --|----10 Bytes-----| Escopo: Protocolo. Ator primário: Sistema. Prioridade: Alta. Nível: Tarefa Primária. Frequência: Alta. Interesses: Criar pacotes de dados para o envio. Pré-condições: O Caso de Uso [3] deve ter acontecido com sucesso. Condição de sucesso: O arquivo é transformado em vários pacotes e vai para o Caso de Uso [5].

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

14

Condição de fracasso: Os pacotes não são criados corretamente uma mensagem de erro aparece e o sistema tenta novamente ate que o arquivo todo seja transformado em pacotes. Gatilho: O arquivo é lido e esta em um buffer de memoria. Cenário Principal de Sucesso:

1 – Os pacotes são criados

2 – Vai para o Caso de Uso [5].

3.2.2.4 Caso de Uso [5] - Codificar Pacote

Descrição: Nesse Caso de Uso o sistema codifica os pacotes gerados no Caso

de Uso [4]. Essa codificação devera ser feita na base 64 e devera ser utilizado o

esquema MIME especificado pelo padrão RFC 2045 nesse padrão é especificado como

funciona a transformação dos dados para a base 64. O princípio da codificação Base 64

consiste em utilizar caracteres EUA-ASCII (caracteres não acentuados) para codificar

qualquer tipo de dado podendo estes ser vídeos, musicas, imagens etc. Exemplo

fictício de como ficará o pacote após a codificação:

|-------------------------------------------------100 Bytes-------------------------------------------------|

Ahbnlooooocrhiwhrowhlrgnuwherhmxielrciughlbernhygwmcnqwehyqexhqlizxehflzweerxhneemnhwbhek,rxhwleiurnhwmlericgwhgrknhbwkjexhnwrimleuh,eçorm

Escopo: Protocolo. Ator primário: Sistema. Prioridade: Alta. Nível: Tarefa Primária. Frequência: Alta. Interesses: Deseja codificar os pacotes para base 64 pelo esquema MIME do padrão RFC 2045. Pré-condições: O Caso de Uso [4] deve ter acontecido com sucesso. Condição de sucesso: Os pacotes são codificados e aguardam o Caso de Uso [6]. Condição de fracasso: Os pacotes não são codificados, uma mensagem de erro é impressa na tela e o sistema tenta codificar novamente, repete o processo ate conseguir codificar todos os pacotes. Gatilho: Quando todos os pacotes forem criados. Cenário Principal de Sucesso:

1 – A codificação é feita com sucesso.

2 – Vai para o Caso de Uso [6].

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

15

3.2.2.5 Caso de Uso [6] - Enviar Pacote

Descrição: O sistema emissor manda um aviso ao receptor de que iniciara a transmissão e então aguarda uma resposta de confirmação (ACK) do receptor após isso a transferência de pacotes é iniciada. Caso não exista o ACK do receptor o emissor deverá esperar três segundos e avisar novamente repetindo este processo três vezes caso não haja resposta alguma por parte do receptor o envio é abortado e uma mensagem de abortado é exibida na tela.

Escopo: Protocolo. Ator primário: Sistema. Prioridade: Alta. Nível: Tarefa Primária. Frequência: Alta. Interesses: O emissor deseja enviar dados para o receptor. Pré-condições: O Caso de Uso [5] deverá ter acontecido com sucesso. Condição de sucesso: O envio de dados é iniciado, então um percentual de envio é mostrado e atualizado conforme os dados vão sendo enviados. Condição de fracasso: O sistema não consegue enviar os dados e aborta. Gatilho: O ACK é enviado pelo receptor. Cenário Principal de Sucesso:

1 – O ACK é enviado pelo receptor.

2 – O envio tem inicio.

3.2.2.6 Caso de Uso [7] - Receber Pacote

Descrição: O sistema receptor recebe o pacote, verifica seu tamanho, aloca memoria, armazena na memoria alocada, vai para o Caso de Uso [8].

Escopo: Protocolo. Ator primário: Sistema. Prioridade: Alta. Nível: Tarefa Primária. Frequência: Alta.

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

16

Interesses: O receptor recebe o pacote. Pré-condições: O Caso de Uso [6] deve ter acontecido com sucesso. Condição de sucesso: O receptor aloca o pacote em memoria. Condição de fracasso: A memoria não pode ser alocada o pacote é perdido. Volta para o Caso de Uso [6]. Gatilho: O Caso de Uso [6] devera ter acontecido com sucesso. Cenário Principal de Sucesso:

1 – O pacote é recebido e verificado

2 – A memoria é alocada, o pacote é armazenado nessa memoria.

3.2.2.7 Caso de Uso [8] - Decodificar Pacote

Descrição: Com o primeiro pacote já recebido o sistema receptor decodifica o mesmo fazendo com que volte ao seu estado original, ou seja, o pacote devera estar no formato descrito no Caso de Uso [4], para decodificar será preciso fazer o processo inverso da codificação, este processo esta descrito no padrão RFC 2045. Então é realizada a conferencia dos cabeçalhos (Tamanho total do arquivo, tamanho do pacote, dados, CRC). O receptor ira verificar o valor do resultado gerado no calculo do CRC e irá compara com o seu valor gerado (lembrando que o resultado dos cálculos tanto do emissor como do receptor devem ser os mesmo, caso contrario, houve algum erro na transmissão dos dados) se tudo estiver certo o receptor manda o ACK para o emissor contendo as informações do cabeçalho de controle para que o sistema emissor posso ter certeza de que realmente ocorreu de maneira certa e continue enviando o restante dos pacotes, caso exista alguma divergência entre os dados o sistema deverá retornar para o Caso de Uso [6]. Escopo: Protocolo. Ator primário: Sistema. Prioridade: Alta. Nível: Tarefa Primária. Frequência: Alta. Interesses: O sistema receptor deseja decodificar os pacotes. Pré-condições: Os pacotes precisam ser recebidos e o Caso de Uso [5] precisa ter acontecido com sucesso. Condição de sucesso: Os pacotes são decodificados e aguardam o Caso de Uso [9]. Condição de fracasso: Os pacotes não são recebidos e, portanto não podem ser decodificados. Gatilho: Os Casos de Uso [5], [6] e [7] precisam ter acontecido. Cenário Principal de Sucesso:

1 – Os pacotes são decodificados

2 – O ACK é enviado pelo receptor e recebido pelo emissor.

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

17

3.2.2.8 Caso de Uso [9] - Escrever em Arquivo

Descrição: Após o recebimento de todos os pacotes e a decodificação dos mesmos, o sistema receptor extrai dos pacotes apenas a parte de dados do arquivo ignorando CRC, tipo de pacote e o tamanho do arquivo. Com todos os dados extraídos o sistema receptor abre um novo arquivo no mesmo diretório de execução do Sistema Protocolo, escreve os dados, salva o arquivo e então é gerado um arquivo igual ao original enviado pelo emissor e assim esta concluída a transferência total do arquivo. O sistema receptor envia o ultimo ACK para informar ao emissor de que o arquivo foi gerado com sucesso e que poderá ser fechada a conexão. A conexão então é fechada pelo emissor é impressa na tela uma mensagem de transferência concluída o sistema fica em estado de espera para a próxima ação do usuário que poderá ser para enviar outro arquivo ou ser fechado.

Escopo: Protocolo. Ator primário: Sistema. Prioridade: Alta. Nível: Tarefa Primária. Frequência: Baixa. Interesses: Deseja escrever em um arquivo os dados recebidos e montar um arquivo igual ao enviado pelo emissor. Pré-condições: Os dados devem ser extraídos corretamente ignorando CRC, tipo do pacote e tamanho do arquivo. Condição de sucesso: Um arquivo igual ao original enviado pelo emissor é gerado. Condição de fracasso: O arquivo não pode ser aberto, escrito, e salvo. Logo não será gerado um arquivo idêntico ao enviado pelo emissor. Gatilho: Apenas a extração dos dados do arquivo. Cenário Principal de Sucesso:

1 – O arquivo é aberto.

2 – Os dados são escritos o arquivo é salvo.

3 – Um arquivo idêntico ao enviado pelo emissor é gerado.

4 – Uma ultima confirmação é enviada ao emissor para avisar de que tudo ocorreu

perfeitamente bem.

5 – A conexão é fechada pelo emissor.

6 – O sistema fica a espera de outra ação do usuário.

3.3 Exigências de Desempenho

3.3.1 Capacidade

Algumas exigências em relação de desempenho e em relação a capacidade suportada

em algumas situações.

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

18

3.3.1.1 Numero de Usuários

O sistema deverá possuir dois usuários; um assumindo o papel de emitir dados

e o outro receber. Nada impede que o sistema seja usado por uma pessoa apenas

desde que a mesma execute uma operação de emissão em um computador e depois

execute uma operação de receptor em outro computador.

3.4 Exigências Logicas da Base de Dados

Este item não é contemplado no escopo do Documento de Requisitos pois o software

Protocolo não necessidade de uma Base de Dados e por isso deve-se desconsiderar quaisquer

aspectos que envolvam Base de Dados.

3.5 Restrições de Desenho

3.5.1 Hardware

3.5.1.1 Processador

O usuário deverá ser capaz de rodar o software em uma máquina com um

processador de 800 MHz ou superior.

3.5.1.2 Memoria

O software deverá rodar de forma estável em um computador de 256 MB de

memória RAM.

3.6 Atributos do Sistema de Software

3.6.1 Disponibilidade

O software em si necessita de uma boa disponibilidade em relação ao sistema

operacional que esta rodando, para o seu perfeito funcionamento. Também é necessário que

os cabos para a conexão física citados anteriormente estejam em perfeitas condições de uso.

3.6.2 Segurança

Para que o software mantenha uma boa segurança, as seguintes medidas devem ser tomadas: O sistema operacional deve além de estar corretamente instalado, também deve possuir as ultimas atualizações de segurança. O antivírus deve estar com sua base de dados atualizada recentemente. É Altamente recomendado que o sistema operacional esteja com seu firewall ativado.

3.6.3 Capacidade de Manutenção

Pelo fato do software estar usando métodos da engenharia, como documento de

requisitos, orientação a objetos, modelagem, o software poderá ser facilmente alterado

para manutenção.

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

19

3.6.4 Portabilidade

O software é 100% portável apenas para maquinas do tipo UNIX/LINUX não sendo

possível executa-lo em maquinas que possuam outros sistemas operacionais.

A linguagem de programação usada para a concepção do software é C estruturado.

3.7 Organizações das Exigências Especificas

3.7.1 Modos do Sistema

O software apresentará somente um modo de utilização, que é descrito através dos

requisitos citados anteriormente.

3.7.2 Classes do Utilizador

O software será projetado somente para usuários "genéricos" descritos na seção 2.3

deste documento, não havendo outros modos do software para tipos de usuários específicos.

3.7.3 Características

A principal característica do software será a dependência das características citadas

nas seções 2.1.1, 2.1.2, 2.1.3 e suas subseções.

3.8 Comentários Adicionais

Os requisitos do software foram levantados seguindo a técnica de Casos de uso,

onde, além de se obter os atuadores e as funcionalidades, já se estabelece os principais

estímulos recebidos pelo sistema e suas principais respostas.

4. Informações de Suporte

4.1 Apêndices

4.1.1 Manual do Software

1° Passo: O usuário devera verificar se o Cabo de Rede com Conectores DB25 estão

conectados as portas seriais dos computadores.

2° Passo: O usuário devera ter instalado e executado o software nas duas maquinas

3° Passo: O Usuário deverá escolher uma das três opções que aparecerão na tela

Essas informações são referentes ao menu de execução do sistema, elas são:

- Emissor

- Receptor

- Sair

Documento de Requisitos do Protocolo de Transferência de Arquivos via Porta Serial

20

No caso do usuário ter escolhido a opção emissor que esta executando no computador

A, no computador B o usuário devera escolher Receptor caso o contrario o software

não funcionara como esperado.

4.2 Objetivos

O objetivo do software é o envio e recebimento de arquivos por uma conexão serial,

bem como tratar eventuais erros de transmissão e controlar os dados de maneira que eles seja

enviados e recebidos de maneira uniforme.