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:

Modelo de diagrama no nível 1

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 interface Gerente Leilão, iniciando um leilão.
  • O componente Y assina no barramento mensagens de tópico “leilão/+/início” através da interface Participa Leilão. Quando recebe uma mensagem…

Para cada componente será apresentado um documento conforme o modelo a seguir:

Componente <Nome do Componente>

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:

Diagrama Classes REST

<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:

Diagrama Classes REST

{
  "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:

Modelo de diagrama no nível 2

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 interface Solicita Entrega.
    • Ao receber uma mensagem de tópico “pedido/+/entrega”, dispara o início da entrega de um conjunto de produtos.
  • Os componentes Solicita Estoque e Solicita 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 interface Consulta Estoque e assina mensagens de tópico “produto/<id>/estoque/status” através da interface Posição Estoque que retorna a disponibilidade do produto.

Para cada componente será apresentado um documento conforme o modelo a seguir:

Componente <Nome do Componente>

Componente

Interfaces

  • Listagem das interfaces do componente.

As interfaces listadas são detalhadas a seguir:

Detalhamento das Interfaces

Interface <nome da interface>

Diagrama da Interface

Método Objetivo
<id do método> <objetivo do método e descrição dos parâmetros>

Exemplos:

Interface ITableProducer

Diagrama da Interface

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

Diagrama da Interface

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.