Template para a Entrega do Projeto Final
Template para a Entrega do Projeto Final
Estrutura de Arquivos e Pastas
A seguir é apresentada a estrutura de pastas esperada para entrega do projeto:
├── README.md <- arquivo com o relatório do projeto
│
├── images <- arquivos de imagens usadas no documento
│
└── resources <- outros recursos (se houver)
Na raiz deve haver um arquivo de nome README.md
contendo a apresentação da equipe e relatório do projeto, como detalhado na seção seguinte.
Modelo para Apresentação da Equipe e Relatório do Projeto
Segue abaixo o modelo de como devem ser documentadas as entregas. Tudo o que for indicado entre <...>
indica algo que deve ser substituído pelo indicado.
Além disso, tudo o que aparecer neste modo de citação também se refere algo que deve ser substituído pelo indicado. No modelo são colocados exemplos ilustrativos, que serão substituídos pelos da sua apresentação.
Para a construção dos diagramas, devem ser usados modelos disponíveis em: Diagramas de Referência do Projeto Final. Há versões em PPT e ODT no diretório resources/.
Modelo para Apresentação da Equipe e Relatório do Projeto
Projeto <Título>
Equipe
<nome completo>
Nível 1
Apresente aqui o detalhamento do Nível 1 conforme detalhado na especificação com, no mínimo, as seguintes subseções:
Diagrama Geral do Nível 1
Apresente um diagrama conforme o modelo a seguir:
Detalhamento da interação de componentes
O detalhamento deve seguir um formato de acordo com o exemplo a seguir:
- O
componente X
inicia o leilão publicando no barramento a mensagem de tópico “leilão/<número>/início
” através da interfaceGerente Leilão
, iniciando um leilão. - O
componente Y
assina no barramento mensagens de tópico “leilão/+/início
” através da interfaceParticipa Leilão
. Quando recebe uma mensagem…
Para cada componente será apresentado um documento conforme o modelo a seguir:
Componente <Nome do Componente>
Interfaces
- Listagem das interfaces do componente.
As interfaces listadas são detalhadas a seguir:
Detalhamento das Interfaces
Interface <nome da interface>
Resumo do papel da interface.
Tópico: <tópico que a respectiva interface assina ou publica>
Classes que representam objetos JSON associados às mensagens da interface:
<Formato da mensagem JSON associada ao objeto enviado/recebido por essa interface.>
Detalhamento da mensagem JSON:
Atributo | Descrição |
---|---|
<nome do atributo> |
<objetivo do atributo> |
Exemplo
Interface DadosPedido
Interface para envio de dados do pedido com itens associados.
Tópico: pedido/{id}/dados
Classes que representam objetos JSON associados às mensagens da interface:
{
"number": 16,
"duoDate": "2009-10-04",
"total": 1937.01,
"items": {
"item": {
"itemid": "1245",
"quantity": 1
},
"item": {
"itemid": "1321",
"quantity": 1
}
}
}
Detalhamento da mensagem JSON:
Order Atributo | Descrição ——-| ——– number | número do pedido duoDate | data de vencimento total | valor total do pedido items | itens do pedido
Item Atributo | Descrição ——-| ——– itemid | identificador do item quantity | quantidade do item
Nível 2
Apresente aqui o detalhamento do Nível 2 conforme detalhado na especificação com, no mínimo, as seguintes subseções:
Diagrama do Nível 2
Apresente um diagrama conforme o modelo a seguir:
Detalhamento da interação de componentes
O detalhamento deve seguir um formato de acordo com o exemplo a seguir:
- O componente
Entrega Pedido Compra
assina no barramento mensagens de tópico “pedido/+/entrega
” através da interfaceSolicita Entrega
.- Ao receber uma mensagem de tópico “
pedido/+/entrega
”, dispara o início da entrega de um conjunto de produtos.
- Ao receber uma mensagem de tópico “
- Os componentes
Solicita Estoque
eSolicita Compra
se comunicam com componentes externos pelo barramento:- Para consultar o estoque, o componente
Solicita Estoque
publica no barramento uma mensagem de tópico “produto/<id>/estoque/consulta
” através da interfaceConsulta Estoque
e assina mensagens de tópico “produto/<id>/estoque/status
” através da interfacePosição Estoque
que retorna a disponibilidade do produto.
- Para consultar o estoque, o componente
Para cada componente será apresentado um documento conforme o modelo a seguir:
Componente <Nome do Componente>
Interfaces
- Listagem das interfaces do componente.
As interfaces listadas são detalhadas a seguir:
Detalhamento das Interfaces
Interface <nome da interface>
Método | Objetivo |
---|---|
<id do método> |
<objetivo do método e descrição dos parâmetros> |
Exemplos:
Interface ITableProducer
Interface provida por qualquer fonte de dados que os forneça na forma de uma tabela.
Método | Objetivo |
---|---|
requestAttributes |
Retorna um vetor com o nome de todos os atributos (colunas) da tabela. |
requestInstances |
Retorna uma matriz em que cada linha representa uma instância e cada coluna o valor do respectivo atributo (a ordem dos atributos é a mesma daquela fornecida por requestAttributes . |
Interface IDataSetProperties
Define o recurso (usualmente o caminho para um arquivo em disco) que é a fonte de dados.
Método | Objetivo |
---|---|
getDataSource |
Retorna o caminho da fonte de dados. |
setDataSource |
Define o caminho da fonte de dados, informado através do parâmetro dataSource . |
Multiplas Interfaces
Escreva um texto detalhando como seus componentes podem ser preparados para que seja possível trocar de interface apenas trocando o componente View e mantendo o Model e Controller.
É recomendado a inserção de, pelo menos, um diagrama que deve ser descrito no texto. O formato do diagrama é livre e deve ilustrar a arquitetura proposta.