Você está na página 1de 20

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial

Documento de Requisitos do Protocolo de


Transferncia de Arquivos via Portal Serial
Verso 1.3

Engenharia de Software I
Documento de Requisitos
Fernando Krein Pinheiro

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial

Cronograma
Autor
Fernando Krein Pinheiro

Verso
1.0

Fernando Krein Pinheiro

1.1

Fernando Krein Pinheiro

1.2

Fernando Krein Pinheiro

1.3

Descrio
Inicio do Documento
de Requisitos.
Descrio do
Sistema, Casos de
Uso.
Reviso dos Casos de
Uso, Restries.
Finalizao do
Documento.

Data
28/10/2010
01/11/2010

05/11/2010
19/11/2010

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial

Sumrio
1. Introduo........................................................................................................................5
1.1 Proposito....................................................................................................................5
1.2 mbito........................................................................................................................5
1.3 Definies, Termos e Abreviaes..............................................................................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 (Cdigo de Redundncia Ciclica)................................................................5
1.3.6 ACK (Acknowledgement)...................................................................................6
1.3.7 Gatilho...............................................................................................................7
1.3.8 Requisitos..........................................................................................................7
1.4 Referencias.................................................................................................................7
1.5 Organizao do Documento.......................................................................................7
2. Descrio 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 Comunicao..............................................................................9
2.1.5 Memoria..........................................................................................................9
2.1.6 Operaes........................................................................................................9
2.1.7 Exigncias de Adaptao ao Local...................................................................9
2.2 Funes do Produto...................................................................................................9
2.3 Caractersticas do Utilizador......................................................................................9
2.4 Restries.................................................................................................................10
2.5 Assunes e Dependencias......................................................................................10
2.6 Diviso de Atribuio das Exigencias.......................................................................10
3. Exigncias Especificas.......................................................................................................10
3.1 Interfaces Externas..................................................................................................10
3.1.1 Teclado...........................................................................................................10
3.1.2 Monitor.........................................................................................................10
3.1.3 Portas Seriais.................................................................................................11
3

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial


3.1.4 Cabo de Rede com Conectores DB25............................................................11
3.2 Funes...................................................................................................................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 Conexo...............................................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 Exigncias de Desemprenho....................................................................................17
3.3.1 Capacidade.....................................................................................................17
3.3.1.1 Numero de Usuarios...........................................................................18
3.4 Exigncias Logicas da Base de Dados.......................................................................18
3.5 Restries de Desenho.............................................................................................18
3.5.1 Hardware........................................................................................................18
3.5.1.1 Processador........................................................................................18
3.5.1.2 Memria.............................................................................................18
3.6 Atributos do Sistema de Software...........................................................................18
3.6.1 Disponibilidade...............................................................................................18
3.6.2 Segurana.......................................................................................................18
3.6.3 Capacidade de Manuteno...........................................................................18
3.6.4 Portabilidade..................................................................................................19
3.7 Organizao das Exigncias 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. Informaes de Suporte...................................................................................................19
4.1 pendices ...............................................................................................................19
4.1.1 Manual do Software......................................................................................19
4.2 Objetivos................................................................................................................20

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial

1. Introduo
1.1 Proposito.
Este documento tem por objetivo levantar requisitos de um software protocolo para
envio e recebimento de arquivos via porta serial, fornecendo informaes necessrias para sua
implementao, testes e correes do software. Este documento tambm um trabalho da
disciplina de Engenharia de Software I do curso de Cincia da Computao.
1.2 mbito.
O Protocolo de Transferncia de Arquivos via Porta Serial ou PTAVPS ser em sua
concepo 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 vdeo, msica, imagens, documentos etc. O software protocolo dever
alm de enviar e receber dados, fazer o tratamento dos mesmo, corrigindo eventuais erros e
falhas na transmisso.
1.3 Definies, Termos e Abreviaturas.
Para que ocorra uma compreenso correta deste documento, necessrio o
conhecimento de alguns termos especficos que so descritos abaixo:
1.3.1

Usurio

Usurio ser o utilizador do software, ou seja, ser a pessoa que escolhera as


opes na sua interface e far a manipulao 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 funo com o usurio fornecer uma interface fcil e
intuitiva.
1.3.3

Emissor

Ser tratado como Emissor a parte do Sistema que fara o envio e/ou emisso
do arquivo em questo.
1.3.4

Receptor

Ser tratado como Receptor a parte do Sistema responsvel por receber o


arquivo enviado pelo Emissor.
1.3.5

CRC (Cdigo de Redundncia Cclica)

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial


CRC ou Cdigo de Redundncia Cclica um mtodo pr-definido de correo
de erros de dados. Esse mtodo consiste em tratar cadeias de bits como
representaes de polinmios com coeficientes de 0 e 1, para um quadro de k bits
teramos termos variando de xk+1 a x0 ( polinmio de grau k 1 ) .
No emprego deste mtodo, o emissor e o receptor devem possuir um mesmo
polinmio 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 polinmio 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 polinmio xrM(x), em seguida dividir
a sequncia de bits correspondente a G(x) pela sequncia de bits correspondente a
xrM(x) utilizando a diviso mdulo 2. Ento subtrado o resto da sequncia de bits e o
seu resultado o quadro verificado pela soma que dever ser transmitido. Chamado
de polinmio T(x). O polinmio T(x) dever ser divisvel pelo polinmio gerador, ou
seja, seu resto dever ser zero. Em qualquer problema, diminuindo o dividendo pelo
resto o resultado divisvel pelo divisor. Assim, o mtodo CRC detectar todos os erros
possveis como: possveis interferncias no meio fsico 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 polinmio 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 confirmao de recebimento de


dados. No caso do Protocolo de Transferncia de Arquivos via Porta Serial o ACK ser
usado pelo Receptor o qual enviara uma confirmao de recebimento de dados ou
seja o ACK. O ACK ser um pacote de dados que conter algumas informaes
referentes ao tipo de pacote que foi enviado o tamanho total do arquivo e o numero
gerado pelo calculo do CRC. Exemplo fictcio do pacote ACK.
|---------------------------------------------20 Bytes------------------------------------------------------|
CRC

Tipo do Pacote

Tamanho Total do Arquivo

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


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

1.3.7

Gatilho

Gatilho o ponto de partida para executar determinada ao, ou seja, ser um


evento inicial que desencadeara outros mais.
1.3.8

Requisitos
Requisitos so caractersticas, funcionalidades que o software dever atender.
6

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial

1.4. Referncias

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

PRESSMAN ROGER S., Engenharia de Software 5 Edio.

SOMMERVILLE, Engenharia de Software 6 Edio.

TANEMBAUM, Andrews. Redes de Computadores 4 Edio.

1.5. Organizao do Documento de Requisitos


Este documento segue o modelo padro da IEEE, seguindo tambm seus
conceitos quanto qualidade.
O foco da primeira parte do documento, tpico 1, dar uma viso geral do
documento tentando facilitar o entendimento do mesmo pelo leitor. Ainda durante
esta etapa dada uma viso geral do que ser o software.
Durante a segunda etapa do documento, tpico 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 exigncias que o
software dever cumprir com o objetivo de resolver o problema proposto pelo cliente.
Durante esta etapa tambm so discutidas as formas como o software trata os dados
recebidos das interfaces externas comentadas no tpico 2.
A quarta e ultima etapa traz o manual do software a ser implementado como
uma informao complementar.
Para qualquer dvida a respeito da estruturao do documento, consultar o
sumrio na pgina 2.

2. Descrio Geral
2.1 Perspectivas do Produto
O PTAVPS no faz parte de outro sistema qualquer por isso precisa que alguns sistemas
de hardware trabalhem em conjunto para obteno de sucesso total.
2.1.1

Interface com o Usurio

Para o funcionamento correto e usabilidade do usurio para com o sistema necessitase de algumas interfaces ou perifricos.
2.1.1.1 Interface Grfica
O software disponibilizar uma interface no modo texto atravs de um
shell e apenas trs opes Emissor, Receptor ou Sair onde: Como j citado
7

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial


anteriormente o Emissor fara envio de dados, o Receptor receber os dados e
Sair ser a opo para sair do programa.
2.1.1.2 Teclado
Como a interface do software ser em modo texto atravs do shell o uso
de um teclado imprescindvel para a interao usurio e sistema, o teclado
dever ser padro 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. So eles:
2.1.2.1 Teclado
Como visto anteriormente o teclado ser de extrema importncia para
interao do usurio e o sistema por isso dever estar instalado corretamente,
funcionando de maneira correta e estar dentro das normas e padres da ABNT2.
2.1.2.2 Monitor
Para que o usurio possa interagir com o sistema escolhendo as opes se faz
necessrio 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 sada serial no padro RS232 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 conexo 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 eletroeletrnico.
2.1.3

Interface de Software

O software protocolo devido a sua particularidade no poder fazer uso de outros


softwares para simulao de testes por isso durante sua implementao 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 necessrios 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 usurio a escolhe de ser
emissor ou receptor.

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial


2.1.4

Interface de Comunicao

A principal interface de comunicao a ser usado pelo software ser a porta serial
padro RS 232 e o cabo de rede citado anteriormente. A interface serial uma porta de
comunicao utilizada para conectar modems, mouses, algumas impressoras, scanners e
outros equipamentos de hardware. Na interface serial, os bits so transferidos em fila, ou seja,
um bit de dados de cada vez.
2.1.5

Memria

O software dever utilizar a menor quantidade possvel de memoria, sendo possvel


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

Operaes

As operaes executadas pelo utilizador ser a escolha do modo do sistema (modo


emissor ou receptor). No caso de ocorrer algum evento anormal ou fora do padro do
software, o mesmo emitira mensagem de auxilio para que o usurio tome uma atitude correta
mediante a situao. Caso o software no executar corretamente por falhas subsequentes de
sistema operacional o usurio dever executa-lo novamente.

2.1.7

Exigncias de Adaptao ao Local


Esse item no contemplado no documento, portanto no dever ser no software.

2.2 Funes do Produto


O Software PTAVPS deve prover:
1 Emisso de Arquivo: onde um usurio poder escolher um arquivo para envio ao
computador receptor.
2 Recebimento de Arquivo: onde o usurio poder receber um arquivo enviado pelo
emissor de outro computador.
3 Sair onde o usurio sair do programa e o mesmo fechar automaticamente.
4 Implementar correo e controle sobre os dados enviados e recebidos.

2.3 Caractersticas do Utilizador


Como o software ter aparncia simples e buscar ser o mais intuitivo possvel
qualquer usurio com o mnimo de conhecimentos em informtica poder usa-lo. Dessa forma
abrangera uma ampla variedade de usurios. Esperasse que o usurio saiba ler e interpretar

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial


informaes e que tenha usado qualquer outro software que possua funes de envio ou
recebimento de arquivos.
2.4 Restries
O software protocolo no poder ter dependncia alguma com qualquer outro
software instalado no computador, por exemplo: softwares de udio, vdeo etc. O sistema faz
uso de bibliotecas de sistema UNIX/LINUX por isso a execuo em outros sistemas fica restrita
e no poder ser feita.
2.5 Assunes e Dependncias
A interao do sistema dever ser feita atravs 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 usurio 1
que estiver no computador A ter escolhido a opo de Emissor (para enviar dados)
obrigatoriamente o usurio 2 que esta no computador B dever ser o Receptor (receber
dados) e vice-versa.
2.6 Diviso de Atribuio de Exigncias
O que poder ser usado em verses futuras do sistema ser controle de concorrncia
para que o software possa enviar e receber os mesmo tempo, no tendo que esperar uma
operao encerrar para iniciar outra.

3. Exigncias Especificas
3.1 Interfaces Externas
Algumas das informaes a seguir j foram citadas anteriormente, portanto, em
partes, estaro redundantes mas essa repetio se faz necessria para especificar em detalhes
as exigncias impostas pelo sistema. As principais exigncias em relao s interfaces externas
so:
3.1.1

Teclado

O teclado dever seguir as normas e padres da ABNT2 ser modelo QWERTY,


deve estar instalado corretamente e em perfeito funcionamento.
3.1.2

Monitor

O monitor poder ser colorido ou no, 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 no ser garantida uma interface perfeita para esse tamanho de
tela.
10

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial


3.1.3

Portas Seriais

As portas seriais devero seguir o padro RS 232 e devero estar


funcionando corretamente.
3.1.4

Cabo de Rede com Conectores DB25

O cabo de rede para conexo entre os dois computadores dever possuir em


cada uma de suas extremidades um conector tipo DB25. Seu tamanho no deve
ultrapassar 5 metros de comprimento.
3.2 Funes
As funes definem as aes fundamentais do sistema.
3.2.1 Requisitos Funcionais do Usurio
3.2.1.1 Caso de Uso [1] - Escolher Estado

Descrio: O sistema disponibilizar um menu com duas opes; Emissor ou


Receptor. Nesse momento o usurio dever escolher um dos estados, ou seja
dependendo da escolha do usurio um computador passara a possuir um estado
definido podendo ser emissor ou receptor mas em hiptese alguma poder assumir os
dois estados ao mesmo tempo. Caso o usurio tenha escolhido a opo de emisso o
sistema dever perguntar o caminho do arquivo a ser enviado. Caso o usurio tenha
escolhido a opo de receptor o sistema devera reconhecer se existe uma conexo e
esperar pelos dados caso no exista conexo uma mensagem de erro impressa.
Escopo: Protocolo.
Ator primrio: Usurio.
Prioridade: Media.
Nvel: Tarefa Primria.
Frequncia: Media.
Interesses: Deseja executar um estado de emissor ou receptor.
Pr-condies: O usurio deve ter iniciado corretamente o sistema.
Condio de sucesso: Uma mensagem de inicio de conexo emitida e vai para o Caso
de Uso [2].
Condio de fracasso: Uma mensagem de erro impressa na tela e o usurio dever
tentar novamente.
Gatilho: Escolher o estado emissor ou receptor.
Cenrio Principal de Sucesso:
1 - Uma mensagem de inicio de inicio de conexo emitida na tela.
2 - Vai para o Caso de Uso [2]
11

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial

3.2.2 Requisitos Funcionais do Sistema

3.2.2.1 Caso de Uso [2] - Estabelecer Conexo

Descrio: O sistema deve estabelecer conexo. Somente o sistema emissor


poder requisitar e estabelecer uma conexo. O sistema receptor dever aceitar a
conexo e esperar pelos dados.
Escopo: Protocolo.
Ator primrio: Sistema.
Prioridade: Alta.
Nvel: Tarefa Primria.
Frequncia: Mdia.
Interesses: O emissor deseja estabelecer uma conexo com o receptor.
Pr-condies: O Caso de Uso [1] dever ter acontecido.
Condio de sucesso: A conexo estabelecida e uma mensagem de sucesso
impressa na tela.
Condio de fracasso: Uma mensagem de erro impressa na tela e outra mensagem
aparecer para usurio tentando instrui-lo como corrigir o erro.
Gatilho: Caso de Uso [1] dever ter acontecido com sucesso.
Cenrio Principal de Sucesso:
1 A conexo 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

Descrio: Esse Caso de Uso feito somente pelo sistema emissor. O sistema
emissor devera verificar o tamanho do arquivo informado pelo usurio no Caso de Uso
[1], logo aps devera alocar memoria dinamicamente conforme o tamanho do arquivo
e ento abrir o arquivo, ler os dados e armazenar nesse buffer alocado.
Escopo: Protocolo.
12

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial


Ator primrio: Sistema.
Prioridade: Alta.
Nvel: Tarefa Primria.
Frequncia: Mdia.
Interesses: Ler os dados e armazena-los em um buffer de memoria.
Pr-condies: O Caso de Uso [2] devera ter acontecido com sucesso.
Condio de sucesso: O arquivo verificado, lido e armazenado em buffer de
memoria.
Condio 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 usurio no Caso de Uso [1].
Cenrio 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

Descrio: Com os dados j em buffer o sistema emissor dever criar pacotes


de dados. Nesses pacotes alm de informaes 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 cdigo gerado pelo calculo do CRC ocupando 5
Bytes, gerando assim pacotes de 100 bytes. Exemplo fictcio de como dever ser o
pacote.
|-----------------------------------------CRC

100

bytes----------------------------------------------|

Dados do Arquivo a ser Enviado

1
Pacote

Tamanho Total
do Arquivo

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


Escopo: Protocolo.
Ator primrio: Sistema.
Prioridade: Alta.
Nvel: Tarefa Primria.
Frequncia: Alta.
Interesses: Criar pacotes de dados para o envio.
Pr-condies: O Caso de Uso [3] deve ter acontecido com sucesso.
Condio de sucesso: O arquivo transformado em vrios pacotes e vai para o Caso
de Uso [5].

13

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial


Condio de fracasso: Os pacotes no so 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.
Cenrio Principal de Sucesso:
1 Os pacotes so criados
2 Vai para o Caso de Uso [5].

3.2.2.4 Caso de Uso [5] - Codificar Pacote

Descrio: Nesse Caso de Uso o sistema codifica os pacotes gerados no Caso


de Uso [4]. Essa codificao devera ser feita na base 64 e devera ser utilizado o
esquema MIME especificado pelo padro RFC 2045 nesse padro especificado como
funciona a transformao dos dados para a base 64. O princpio da codificao Base 64
consiste em utilizar caracteres EUA-ASCII (caracteres no acentuados) para codificar
qualquer tipo de dado podendo estes ser vdeos, musicas, imagens etc. Exemplo
fictcio de como ficar o pacote aps a codificao:
|-------------------------------------------------100 Bytes-------------------------------------------------|
Ahbnlooooocrhiwhrowhlrgnuwherhmxielrciughlbernhygwmcnqwehyqexhqlizxehfl
zweerxhneemnhwbhek,rxhwleiurnhwmlericgwhgrknhbwkjexhnwrimleuh,eorm
Escopo: Protocolo.
Ator primrio: Sistema.
Prioridade: Alta.
Nvel: Tarefa Primria.
Frequncia: Alta.
Interesses: Deseja codificar os pacotes para base 64 pelo esquema MIME do padro
RFC 2045.
Pr-condies: O Caso de Uso [4] deve ter acontecido com sucesso.
Condio de sucesso: Os pacotes so codificados e aguardam o Caso de Uso [6].
Condio de fracasso: Os pacotes no so 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.
Cenrio Principal de Sucesso:
1 A codificao feita com sucesso.
2 Vai para o Caso de Uso [6].

14

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial

3.2.2.5 Caso de Uso [6] - Enviar Pacote

Descrio: O sistema emissor manda um aviso ao receptor de que iniciara a


transmisso e ento aguarda uma resposta de confirmao (ACK) do receptor aps isso
a transferncia de pacotes iniciada. Caso no exista o ACK do receptor o emissor
dever esperar trs segundos e avisar novamente repetindo este processo trs vezes
caso no haja resposta alguma por parte do receptor o envio abortado e uma
mensagem de abortado exibida na tela.
Escopo: Protocolo.
Ator primrio: Sistema.
Prioridade: Alta.
Nvel: Tarefa Primria.
Frequncia: Alta.
Interesses: O emissor deseja enviar dados para o receptor.
Pr-condies: O Caso de Uso [5] dever ter acontecido com sucesso.
Condio de sucesso: O envio de dados iniciado, ento um percentual de envio
mostrado e atualizado conforme os dados vo sendo enviados.
Condio de fracasso: O sistema no consegue enviar os dados e aborta.
Gatilho: O ACK enviado pelo receptor.
Cenrio Principal de Sucesso:
1 O ACK enviado pelo receptor.
2 O envio tem inicio.

3.2.2.6 Caso de Uso [7] - Receber Pacote

Descrio: 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 primrio: Sistema.
Prioridade: Alta.
Nvel: Tarefa Primria.
Frequncia: Alta.
15

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial


Interesses: O receptor recebe o pacote.
Pr-condies: O Caso de Uso [6] deve ter acontecido com sucesso.
Condio de sucesso: O receptor aloca o pacote em memoria.
Condio de fracasso: A memoria no pode ser alocada o pacote perdido. Volta para
o Caso de Uso [6].
Gatilho: O Caso de Uso [6] devera ter acontecido com sucesso.
Cenrio 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

Descrio: 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 codificao, este processo esta descrito no padro RFC 2045. Ento
realizada a conferencia dos cabealhos (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 clculos
tanto do emissor como do receptor devem ser os mesmo, caso contrario, houve algum
erro na transmisso dos dados) se tudo estiver certo o receptor manda o ACK para o
emissor contendo as informaes do cabealho 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 divergncia entre os dados o
sistema dever retornar para o Caso de Uso [6].
Escopo: Protocolo.
Ator primrio: Sistema.
Prioridade: Alta.
Nvel: Tarefa Primria.
Frequncia: Alta.
Interesses: O sistema receptor deseja decodificar os pacotes.
Pr-condies: Os pacotes precisam ser recebidos e o Caso de Uso [5] precisa ter
acontecido com sucesso.
Condio de sucesso: Os pacotes so decodificados e aguardam o Caso de Uso [9].
Condio de fracasso: Os pacotes no so recebidos e, portanto no podem ser
decodificados.
Gatilho: Os Casos de Uso [5], [6] e [7] precisam ter acontecido.
Cenrio Principal de Sucesso:
1 Os pacotes so decodificados
2 O ACK enviado pelo receptor e recebido pelo emissor.

16

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial

3.2.2.8 Caso de Uso [9] - Escrever em Arquivo

Descrio: Aps o recebimento de todos os pacotes e a decodificao 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 extrados
o sistema receptor abre um novo arquivo no mesmo diretrio de execuo do Sistema
Protocolo, escreve os dados, salva o arquivo e ento gerado um arquivo igual ao
original enviado pelo emissor e assim esta concluda a transferncia 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 conexo. A conexo ento fechada
pelo emissor impressa na tela uma mensagem de transferncia concluda o sistema
fica em estado de espera para a prxima ao do usurio que poder ser para enviar
outro arquivo ou ser fechado.
Escopo: Protocolo.
Ator primrio: Sistema.
Prioridade: Alta.
Nvel: Tarefa Primria.
Frequncia: Baixa.
Interesses: Deseja escrever em um arquivo os dados recebidos e montar um arquivo
igual ao enviado pelo emissor.
Pr-condies: Os dados devem ser extrados corretamente ignorando CRC, tipo do
pacote e tamanho do arquivo.
Condio de sucesso: Um arquivo igual ao original enviado pelo emissor gerado.
Condio de fracasso: O arquivo no pode ser aberto, escrito, e salvo. Logo no ser
gerado um arquivo idntico ao enviado pelo emissor.
Gatilho: Apenas a extrao dos dados do arquivo.
Cenrio Principal de Sucesso:
1 O arquivo aberto.
2 Os dados so escritos o arquivo salvo.
3 Um arquivo idntico ao enviado pelo emissor gerado.
4 Uma ultima confirmao enviada ao emissor para avisar de que tudo ocorreu
perfeitamente bem.
5 A conexo fechada pelo emissor.
6 O sistema fica a espera de outra ao do usurio.
3.3 Exigncias de Desempenho
3.3.1 Capacidade
Algumas exigncias em relao de desempenho e em relao a capacidade suportada
em algumas situaes.
17

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial


3.3.1.1 Numero de Usurios
O sistema dever possuir dois usurios; 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 operao de emisso em um computador e depois
execute uma operao de receptor em outro computador.
3.4 Exigncias Logicas da Base de Dados
Este item no contemplado no escopo do Documento de Requisitos pois o software
Protocolo no necessidade de uma Base de Dados e por isso deve-se desconsiderar quaisquer
aspectos que envolvam Base de Dados.
3.5 Restries de Desenho
3.5.1 Hardware
3.5.1.1 Processador
O usurio dever ser capaz de rodar o software em uma mquina com um
processador de 800 MHz ou superior.
3.5.1.2 Memoria
O software dever rodar de forma estvel em um computador de 256 MB de
memria RAM.
3.6 Atributos do Sistema de Software
3.6.1 Disponibilidade
O software em si necessita de uma boa disponibilidade em relao ao sistema
operacional que esta rodando, para o seu perfeito funcionamento. Tambm necessrio que
os cabos para a conexo fsica citados anteriormente estejam em perfeitas condies de uso.

3.6.2 Segurana

Para que o software mantenha uma boa segurana, as seguintes medidas devem
ser tomadas: O sistema operacional deve alm de estar corretamente instalado, tambm
deve possuir as ultimas atualizaes de segurana. O antivrus 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 Manuteno

Pelo fato do software estar usando mtodos da engenharia, como documento de


requisitos, orientao a objetos, modelagem, o software poder ser facilmente alterado
para manuteno.

18

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial

3.6.4 Portabilidade
O software 100% portvel apenas para maquinas do tipo UNIX/LINUX no sendo
possvel executa-lo em maquinas que possuam outros sistemas operacionais.
A linguagem de programao usada para a concepo do software C estruturado.
3.7 Organizaes das Exigncias Especificas
3.7.1 Modos do Sistema
O software apresentar somente um modo de utilizao, que descrito atravs dos
requisitos citados anteriormente.
3.7.2 Classes do Utilizador
O software ser projetado somente para usurios "genricos" descritos na seo 2.3
deste documento, no havendo outros modos do software para tipos de usurios especficos.

3.7.3 Caractersticas
A principal caracterstica do software ser a dependncia das caractersticas citadas
nas sees 2.1.1, 2.1.2, 2.1.3 e suas subsees.
3.8 Comentrios Adicionais

Os requisitos do software foram levantados seguindo a tcnica de Casos de uso,


onde, alm de se obter os atuadores e as funcionalidades, j se estabelece os principais
estmulos recebidos pelo sistema e suas principais respostas.

4. Informaes de Suporte
4.1 Apndices
4.1.1 Manual do Software
1 Passo: O usurio devera verificar se o Cabo de Rede com Conectores DB25 esto
conectados as portas seriais dos computadores.
2 Passo: O usurio devera ter instalado e executado o software nas duas maquinas
3 Passo: O Usurio dever escolher uma das trs opes que aparecero na tela
Essas informaes so referentes ao menu de execuo do sistema, elas so:
- Emissor
- Receptor
- Sair

19

Documento de Requisitos do Protocolo de Transferncia de Arquivos via Porta Serial


No caso do usurio ter escolhido a opo emissor que esta executando no computador
A, no computador B o usurio devera escolher Receptor caso o contrario o software
no funcionara como esperado.

4.2 Objetivos
O objetivo do software o envio e recebimento de arquivos por uma conexo serial,
bem como tratar eventuais erros de transmisso e controlar os dados de maneira que eles seja
enviados e recebidos de maneira uniforme.

20