Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de...

90
Desenvolvimento de Aplicações Web

Transcript of Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de...

Page 1: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

Desenvolvimento de Aplicações Web

Page 2: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

2

Dificuldades no Desenvolvimento de Aplicações Web

Falta de aptidões na equipe Material fonte disponível de má qualidade Incertezas sobre aspectos legais (p.ex.,

copyright) Poucos mecanismos para atualização

contínua da informação Desenvolvimento “ad-hoc” Falta de definição sobre os processos de

produção de conteúdos

Page 3: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

3

Algumas propostas do OOHDM

OOHDM – Object Oriented Hypermedia Desig Method

Método de autoria para sistemas hipermídiaEm desenvolvimento desde 1989 – antes da Web!Várias evoluçõesIndependente de plataformaVoltado tanto para o cliente quanto para o

implementador

Page 4: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

4

Fases do Desenvolvimento de Aplicações

Levantamento de Requisitos

Projeto Conceitual

Projeto da Navegação

Implementação

Projeto Abstrato da

Interface

Page 5: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

5

Levantamento de Requisitos

Identificação dos atores e tarefas Especificação dos cenários Especificação das Use Cases Especificação dos Diagramas de

Interação do Usuário (UIDs) Validação dos Use Cases e dos UIDs

Page 6: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

6

Identificação de Atores e Tarefas

O projetista interage com o domínio para identificar os atores e as tarefas que serão apoiadas pela aplicaçãoAnálise dos documentos disponíveisInterações com clientes e usuários

» Técnicas: – Entrevista– Brainstorming

» Aspectos a considerar: – Tempo disponível para o projeto– Disponibilidade do pessoal participante

Page 7: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

7

Atores

São entidades que trocam informações com a aplicação

Um ator representa um papel específico de um usuário da aplicação

Exemplos: Publicação

» Leitor, Autor, EditorLoja

» Cliente, Administrador Universidade

» Aluno, Professor, Coordenador

Page 8: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

8

Tarefas

Tarefa significa o objetivo que o usuário deseja alcançar usando a aplicação.

Representa potenciais cenários Exemplos:

Publicação: ator leitor» Ler matérias de uma seção» Consultar indicadores financeiros

Loja: ator cliente» Comprar produtos em promoção

Universidade: ator aluno» Consultar disciplinas ofertadas

Page 9: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

9

Cenários

São descrições narrativas que explicam detalhadamente como a aplicação pode ser utilizada para realizar tarefas

Descrevem as tarefas sob o ponto de vista do usuário que a realiza

Podem ser especificados pelo usuário ou projetista, com propósitos diferentes

Page 10: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

10

Especificação dos Cenários Devem ser especificados os cenários das

tarefas que serão executadas através da aplicação.

Cada usuário especifica os cenários que descrevem as tarefas que deseja realizar

Devem ser especificadas as informações que serão trocadas entre o usuário e a aplicação

Não é necessário abordar aspectos de interface nem de navegação

Page 11: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

11

Cenários - Exemplo 1 Cenário 1 (usuário 1): Ler matéria sobre esportes Contexto: Sou um admirador de atividades ligadas ao

esporte. Quero estar bem informado sobre tênis, meu esporte favorito.

Objetivo: Ler notícias relacionadas ao tênis Descrição:

Quero encontrar matérias sobre tênis. Para isso, eu seleciono a seção esportes e espero obter uma lista com as matérias existentes sobre este assunto. Caso exista uma matéria relacionada ao tênis, eu a seleciono e a aplicação retorna o texto da matéria e o nome do autor. Seria interessante ter as opções de imprimir a matéria e de enviá-la a um amigo.

Page 12: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

12

Cenários - Exemplo 2

Cenário 3 (usuário 2): Ler matéria de uma seção Contexto: Gosto de estar atualizado lendo matérias

de um jornal. Objetivo: Ler matérias Descrição:

Escolho uma seção e a aplicação me retorna todas as matérias deste seção. A lista de matérias deve conter a data de publicação, o título e um resumo de cada matéria. Se tiver interesse em ler a matéria completa, eu a seleciono e vejo o seu conteúdo e o nome de seu autor. Quero ver também, caso exista, uma lista de matérias relacionadas à matéria que eu selecionei, e ter a possibilidade de acessar informações sobre o autor, como seu nome completo, foto e biografia. Se desejar ler uma outra matéria da mesma seção, retorno à lista e seleciono outra.

Page 13: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

13

Especificação dos Use Cases

Um use case descreve um uso da aplicação, sem considerar aspectos internos da aplicação

Use cases são especificados a partir dos cenários dos usuários

Os cenários que descrevem uma mesma tarefa são agrupados em um único use case

No use case são incluídas todas as informações encontradas nos seus cenários

Um cenário pode ser visto como uma instância específica de um use case

Use cases podem ser incrementados com informações de outros use cases

Page 14: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

14

Use Case 1: Ler matérias de uma seção Cenários: 1.1 / 2.3 Descrição:

Use Case - Exemplo

Número de identificação do usuário

Número de identificação do cenário

1. O usuário seleciona uma das seções apresentadas pela aplicação2. A aplicação retorna uma lista das matérias da seção selecionada, contendo a data de publicação, o título e o resumo de cada matéria3. O usuário seleciona a matéria de interesse4. A aplicação retorna o título, a data de publicação, o conteúdo da matéria, o nome do autor, e uma lista das matérias relacionadas, caso exista. Se desejar, o usuário pode imprimir a matéria ou envia-la a um amigo5. O usuário solicita informações sobre o autor6. A aplicação retorna o nome, a foto e biografia do autor7. Se o usuário tiver interesse em ler outra matéria da mesma seção, pode retornar ao passo 3.

Page 15: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

15

Diretrizes para obter o Use Case

Identificar os cenários relacionados à tarefa que está sendo analisada

Para cada cenário, identificar os itens de dados trocados entre o usuário e a aplicação durante a interação

Para cada cenário, identificar todos os itens de dados que estão associados entre si

Para cada cenário, identificar os itens de dados que estão organizados como um conjunto

Identificar as seqüências de ações que aparecem nos cenários. Elas serão incluídas no use case

Identificar as operações realizadas com os itens de dados que aparecem nos cenários. Elas serão incluídas no use case

Page 16: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

16

Diretrizes para o Use Case - Exemplo

Tarefa: Ler matérias de uma seção

Diretriz 1: Identificar cenários relacionados à tarefa

Cenário 1 do usuário 1

Cenário 3 do usuário 2

Diretriz 2: Para cada cenário, identificar os itens de dados trocados entre o usuário e a aplicação durante a interação

Itens de dados fornecidos pelo usuário

Itens de dados retornados pela aplicação

Page 17: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

17

Diretrizes para o Use Case - Exemplo

Aplicando a diretriz 2:

Cenário 1 do usuário 1:Quero encontrar matérias sobre tênis. Para isso, eu

seleciono a seção esportes e espero obter uma lista com as matérias existentes sobre este assunto. Caso exista uma matéria relacionada ao tênis, eu a seleciono e a aplicação retorna o texto da matéria e o nome do autor. Seria interessante ter as opções de imprimir a matéria e de enviá-la a um amigo.

Page 18: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

18

Diretrizes para o Use Case - Exemplo

Aplicando a diretriz 2:

Cenário 3 do usuário 2:Escolho uma seção e a aplicação me retorna todas as

matérias deste seção. A lista de matérias deve conter a data de publicação, o título e um resumo de cada matéria. Se tiver interesse em ler a matéria completa, eu a seleciono e vejo o seu conteúdo e o nome de seu autor. Quero ver também, caso exista, uma lista de matérias relacionadas à matéria que eu selecionei, e ter a possibilidade de acessar informações sobre o autor, como seu nome completo, foto e biografia. Se desejar ler uma outra matéria da mesma seção, retorno à lista e seleciono outra.

Page 19: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

19

Diretrizes para o Use Case - Exemplo

Diretriz 3: Para cada cenário, identificar todos os itens de dados que estão associados entre si

Cenário 1 do usuário 1» seção» texto da matéria, nome do autor

Cenário 3 do usuário 2» seção» data de publicação, título, resumo, conteúdo, nome do autor e

matérias relacionadas» nome completo, foto e biografia

Itens de dados para o use case resultanteSeção: nomeMatéria: data de publicação, título, resumo, conteúdo, nome do

autor e matérias relacionadasAutor: nome completo, foto e biografia

Page 20: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

20

Diretrizes para o Use Case - Exemplo

Diretriz 4: Para cada cenário, identificar os itens de dados que estão organizados como um conjunto

Cenário 1 do usuário 1» lista com matérias

Cenário 3 do usuário 2» todas as matérias, lista de matérias relacionadas

Itens de dados organizados como um conjunto:Matéria Matérias relacionadas

Page 21: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

21

Diretrizes para o Use Case - Exemplo

Diretriz 5: Identificar as seqüências de ações que aparecem nos cenários. Elas serão incluídas no use caseO usuário seleciona a seção. A aplicação retorna uma lista de

matérias. O usuário seleciona uma matéria. A aplicação apresenta o conteúdo, o nome do autor e uma lista de matérias relacionadas, caso exista. O usuário pode ver as informações sobre o autor. Se desejar, o usuário pode retornar a lista de matérias para selecionar outra matéria.

Diretriz 6: Identificar as operações realizadas com os itens de dados que aparecem nos cenários. Elas serão incluídas no use case Imprimir matéria Enviar matéria para um amigo

Page 22: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

22

Diretrizes para o Use Case - Exemplo

Use Case: Ler matérias de uma seçãoCenários: 1.1 / 2.3 / ...Descrição:1. O usuário seleciona uma das seções apresentadas pela

aplicação2. A aplicação retorna uma lista das matérias da seção

selecionada, contendo a data de publicação, o título e o resumo de cada matéria

3. O usuário seleciona a matéria de interesse4. A aplicação retorna o título, a data de publicação, o

conteúdo da matéria, o nome do autor e uma lista das matérias relacionadas, caso exista. Se desejar, o usuário pode imprimir a matéria ou enviá-la para um amigo

5. O usuário solicita informações sobre o autor6. A aplicação retorna o nome, a foto e a biografia do autor7. Se o usuário tiver interesse em ler outra matéria da mesma

seção, pode retornar ao passo 3.

Page 23: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

23

Especificação dos UIDs

Os diagramas de interação do usuário (UIDs) representam graficamente as interações entre o usuário e a aplicação

Define-se um UID para cada Use case Um UID não considera aspectos específicos de interface

com usuário, nem aspectos da navegação

Um UID é composto por um conjunto de estados de

interação conectados através de transições

Page 24: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

24

Especificação dos UIDs - Notação

Estado de Interação (entre o usuário e o sistema)

Item de dadoRepresenta uma informação única (simples) que aparece

durante a interação

Pode ser acompanhada por seu domínio

Exemplo:

Estado da Interação

Estado Inicialda Interação

Estados Alternativosda Interação

Sub-estados de um Estado da Interação

titulo, exemplares: Número

Page 25: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

25

Especificação dos UIDs - Notação

EstruturaRepresenta uma coleção de informações que estão

relacionadas de alguma maneiraExemplo:

Conjunto

Representa um conjunto de itens de dados ou estruturas

Exemplo:...Matéria (titulo,resumo,

data de publicação)

Matéria (titulo,resumo,data de publicação)

Page 26: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

26

Especificação dos UIDs - Notação

Dado OpcionalRepresenta um item de dado, estrutura ou texto opcionalÉ representado pelo símbolo “ ? ”Exemplo:

Saída do Sistema

Representa um item de dado ou estrutura retornado pelo

sistema

Exemplo: ...Seção (nome)

...Matéria (titulo,resumo?,data de publicação)

Page 27: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

27

Entrada do UsuárioRepresenta um item de dado ou estrutura fornecido pelo

usuárioExemplos

» Obrigatória:

» Opcional:

» Enumerada:

Especificação dos UIDs - Notação

pagamento [cartão, boleto]

título

título? título

Page 28: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

28

Transição do Estado da InteraçãoTransição simples - o usuário pode retornar ao estado de

interação origem

Transição cortada - o usuário não pode retornar ao estado de interação origem

Transição com seleção de N elementos

Transição com seleção da opção X

Transição com condição Y

Especificação dos UIDs - Notação

<N>

<N>

<N>

(<X>) (<X>)

(não muda o foco da interação)

(<Y>)

Page 29: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

29

Pré-condições e Pós-CondiçõesA associação de pré-condições a um UID significa que

ele só pode ser executado se essas pré-condições forem satisfeitas

A definição de pós-condições descreve as condições que precisam ser satisfeitas após a execução da interação descrita nos UIDs

Exemplo:

Notas textuais anexadas ao UID servem para especificar alguma informação importante que não

pode ser representada graficamente no UID

Especificação dos UIDs - Notação

Pré-condições: matéria foi aprovada pelo editor

Page 30: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

30

Especificação dos UIDs - Exemplo 1

”Usuário Novo”“Usuário Antigo”

e-mail senha

...Matéria(título)

(login) Transição com seleção de opção

(criar conta)

Sub-estados do Estado de Interação Inicial

senha

nome

e-mail

Page 31: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

31

Especificação dos UIDs - Exemplo 2

identificação

senha

[senha válida][senha inválida]

nome

e-mail

senha

matrícula[nova, renovação]

Transição com condição

Page 32: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

32

Identificar informações (itens de dados) trocadas entre o usuário e a aplicação

Separar os itens de dados dentro de estados de interação Itens de dados são incluídos no mesmo estado de

interação, a menos que eles dependam de itens de dados anteriores. Neste caso, os itens de dados dependentes são incluídos em outro estado de interação

Distinguir os itens de dados fornecidos pelo usuário e os itens de dados retornados pela aplicação

Conectar os estados de interação com transições Representar as opções realizadas pelo usuário

Diretrizes para obter o UID

Page 33: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

33

Tarefa: Ler matérias de uma seção Diretriz 1: Identificar as informações (itens de dados)

trocadas entre o usuário e a aplicação Use Case 1: 1. O usuário seleciona a seção 2. A aplicação retorna uma lista das matérias da seção

selecionada, contendo a data de publicação, o título e o resumo de cada matéria

3. O usuário seleciona a matéria de interesse 4. A aplicação retorna o título, a data de publicação, o conteúdo da

matéria, o nome do autor e uma lista das matérias relacionadas, caso exista. Se desejar, o usuário pode imprimir a matéria ou enviá-la para um amigo

5. O usuário solicita informações sobre o autor 6. A aplicação retorna o nome, a foto e a biografia do autor 7. Se o usuário tiver interesse em ler outra matéria da mesma

seção, pode retornar ao passo 3.

Diretrizes para obter o UID

Page 34: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

34

Diretriz 2: Separar os itens de dados dentro de estados de interação.

Diretrizes para obter o UID

O usuário seleciona a seção

<1>A aplicação retorna uma lista das matérias da seção selecionada, contendo a data de publicação, o título e o resumo de cada matéria

A aplicação retorna o título, a data de publicação, o conteúdo da matéria, o nome do autor e uma lista das matérias relacionadas.

A aplicação retorna o nome, a foto e a biografia do autor

<2>

<3><4>

Page 35: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

35

Diretriz 3: Distinguir os itens de dados fornecidos pelo usuário e os itens de dados retornados pela aplicação.

Diretrizes para obter o UID

...Seção (nome)

<1>... Matéria (data de publicação, título, resumo)

Matéria (título, data de publicação, conteúdo, Autor (nome), 0..N Matéria Relacionadas (título))

Autor ( nome, foto, biografia)

<2>

<3><4>

Page 36: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

36

Diretriz 4: Conectar os estados de interação com transições

Diretrizes para obter o UID

...Seção (nome)

... Matéria (data de publicação, título, resumo)

Matéria (título, data de publicação, conteúdo, Autor (nome), 0..N Matéria Relacionadas (título))

Autor (nome, foto, biografia)

1

1

Page 37: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

37

Diretriz 5: Representar as opções realizadas pelo usuário

Diretrizes para obter o UID

...Seção (nome)

... Matéria (data de publicação, título, resumo)

Matéria (título, data de publicação, conteúdo, Autor (nome), 0..N Matéria Relacionadas (título))

Autor (nome, foto, biografia)

1

1(imprimirmatéria)

(enviarmatéria) (mostrar dados do autor)

Page 38: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

38

Levantamento de Requisitos

Requisitos

(cenários, use cases e UIDs)

...

ProjetoConceitual

Projeto deNavegação

...

Page 39: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

Estudo de Caso: Publicação OnLine

Levantamento de Requisitos

Page 40: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

40

AtoresLeitor e Autor

TarefasAtor: Leitor

» Ler matérias de uma seção

» Ler matérias em destaque

» Ler matérias sobre um determinado assunto (palavra-chave)

» Consultar informações de um autor

Ator: Autor

» Criar novas matérias

Identificação de Atores e Tarefas

Page 41: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

41

Cenário 1 : Consultar informações de um autor Descrição:

Gostaria de obter informações sobre os autores das

matérias. Para isto, eu informo o nome do autor e a

aplicação me retorna o nome completo, a foto, a biografia

do autor, as seções onde ele publica e uma lista das

matérias publicadas por ele. Esta lista de matérias

deve apresentar o título, a data de publicação e o

conteúdo da matéria.

Especificação dos Cenários

Ator Leitor: Usuário 1

Page 42: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

42

Cenário 2 : Ler matérias sobre esportes Descrição:

Quero encontrar matérias sobre tênis. Para isso, eu

seleciono a seção esportes e espero obter uma lista com

as matérias existentes sobre este assunto. Caso exista

uma matéria relacionada ao tênis, eu a seleciono e a

aplicação retorna o texto da matéria e o nome do autor.

Seria interessante ter as opções de imprimir a matéria e

de enviá-la a um amigo.

Especificação dos Cenários

Ator Leitor: Usuário 1

Page 43: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

43

Cenário 1 : Ler matérias em destaque Descrição:

Gostaria de obter informações sobre os autores das

matérias. Para isto, eu informo o nome do autor e a

aplicação me retorna o nome completo, a foto, a biografia

do autor, as seções onde ele publica e uma lista das

matérias publicadas por ele. Esta lista de matérias

deve apresentar o título, a data de publicação e o

conteúdo da matéria.

Especificação dos Cenários

Ator Leitor: Usuário 2

Page 44: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

44

Cenário 2 : Ler matérias a partir de uma palavra-chave

Descrição:Quero encontrar matérias sobre um assunto específico.

Para isto, desejo entrar com uma palavra-chave e ter a

opção de buscar essa palavra-chave no conteúdo ou no

resumo das matérias. A partir da seleção de uma dessas

opções, a aplicação me apresenta uma lista com as

matérias que possuem esta palavra-chave. Eu seleciono

uma matéria e vejo seu conteúdo e o nome do seu ator.

Especificação dos Cenários

Ator Leitor: Usuário 2

Page 45: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

45

Cenário 3 : Ler matérias de uma seção Descrição:

Escolho uma seção e a aplicação me retorna todas as matérias deste seção. A lista de matérias deve conter a data de publicação, o título e um resumo de cada matéria. Se tiver interesse em ler a matéria completa, eu a seleciono e vejo o seu conteúdo e o nome de seu autor. Quero ver também, caso exista, uma lista de matérias relacionadas à matéria que eu selecionei, e ter a possibilidade de acessar informações sobre o autor, como seu nome completo, foto e biografia. Se desejar ler uma outra matéria da mesma seção, retorno à lista e seleciono outra.

Especificação dos Cenários

Ator Leitor: Usuário 2

Page 46: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

46

Cenário 4 : Consultar minhas matérias favoritas Descrição:

Informo meu e-mail e senha e a aplicação apresenta uma

relação das matérias que eu selecionei anteriormente.

Nesta relação aparece o título, resumo e a data em que a

matéria foi publicada. Seleciono uma das matérias

apresentadas e vejo o seu conteúdo, nome do seu autor e

os comentários que acrescentei sobre ela.

Especificação dos Cenários

Ator Leitor: Usuário 2

Page 47: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

47

Cenário 1 : Criar novas matérias Descrição:

Escolho a opção incluir matérias. Informo todos os dados sobre uma matéria: título, resumo, conteúdo, seção, nome do autor, e as matérias relacionadas. Após entrar com todos os dados, seleciono a opção criar matéria e a aplicação disponibiliza a matéria para avaliação do editor.

Especificação dos Cenários

Ator Autor: Usuário 3

Page 48: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

48

Use Case 1: Ler matérias de uma seção Cenários: 1.2, 2.3 Descrição: 1. O usuário seleciona uma das seções apresentadas pela

aplicação 2. A aplicação retorna uma lista das matérias da seção

selecionada, contendo a data de publicação, o título e o resumo de cada matéria

3. O usuário seleciona a matéria de interesse 4. A aplicação retorna o título, a data de publicação, o conteúdo da

matéria, o nome do autor e uma lista das matérias relacionadas, caso exista. Se desejar, o usuário pode imprimir a matéria ou enviá-la para um amigo

5. O usuário solicita informações sobre o autor 6. A aplicação retorna o nome, a foto e a biografia do autor 7. Se o usuário tiver interesse em ler outra matéria da mesma

seção, pode retornar ao passo 3.

Especificação dos Use Cases

Page 49: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

49

Use Case 2: Ler matérias em destaque Cenários: 2.1 Descrição:

1. A aplicação apresenta uma lista das matérias em destaque, contendo a data de publicação, o título e o resumo de cada matéria

2. O usuário seleciona a matéria de interesse

3. A aplicação retorna o título, a seção, a data de publicação, o conteúdo da matéria e o nome do autor da matéria selecionada

4. Se desejar, o usuário pode incluir a matéria selecionada em sua lista de matérias favoritas e acrescentar comentários a ela, informando seu e-mail e senha.

Especificação dos Use Cases

Page 50: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

50

Use Case 3: : Ler matérias a partir de uma palavra chave Cenários: 2.2 Descrição:

1. O usuário entra com uma palavra chave e seleciona uma

das opções: título, conteúdo ou resumo

2. A aplicação retorna uma lista das matérias que possuem a

palavra chave em um das opções selecionadas, contendo o

título, a data de publicação e o resumo de cada matéria

3. O usuário seleciona a matéria de interesse

4. A aplicação retorna o título, a seção, a data de publicação,

o conteúdo da matéria e o nome do autor da matéria

selecionada

Especificação dos Use Cases

Page 51: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

51

Use Case 4: : Consultar matérias favoritas Cenários: 2.4 Descrição:

1. O usuário informa e-mail e senha

2. Se a senha for válida, a aplicação retorna uma lista das

matérias que possuem a palavra chave em um das opções

selecionadas, contendo o título, a data de publicação e o

resumo de cada matéria. Senão, retorna mensagem de login

inválido

3. O usuário seleciona a matéria de interesse

4. A aplicação retorna o título, a data de publicação, o conteúdo da

matéria, o nome do autor e os comentários existentes sobre a

matéria selecionada

Especificação dos Use Cases

Page 52: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

52

Use Case 5: : Consultar informações de um autor Cenários: 1.1 Descrição:

1. O usuário informa o nome ou parte do nome do autor

2. A aplicação retorna uma lista das matérias que

possuem o nome informado

3. O usuário seleciona um autor

4. A aplicação retorna o nome, a foto, a biografia, uma lista

das seções onde o autor publica, e uma lista das

matérias publicadas pelo autor, contendo: título, data de

publicação, conteúdo.

Especificação dos Use Cases

Page 53: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

53

Use Case 6: : Criar novas matérias Cenários: 3.1 Descrição:

1. O usuário informa escolhe a opção incluir matéria e

informa o título, o resumo, op conteúdo, a seção, o nome

do autor, e as matérias relacionadas à matéria que está

sendo criada

2. O usuário escolhe a opção criar matéria

3. A aplicação disponibiliza a matéria criada para avaliação

do editor

Especificação dos Use Cases

Page 54: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

54

UID 1: Ler matérias de uma seção

Especificação dos UIDs

...Seção (nome)

... Matéria (data de publicação, título, resumo)

Matéria (título, data de publicação, conteúdo, Autor (nome), 0..N Matéria Relacionadas (título))

Autor (nome, foto, biografia)

1

1(imprimirmatéria)

(enviarmatéria) (mostrar dados do autor)

Page 55: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

55

UID 2: Ler matérias em destaque

Especificação dos UIDs

(Incluir em favoritos)

Matéria (título, seção, data de publicação, conteúdo, Autor (nome))

... Matéria (data de publicação, título, resumo)

1

... comentário

Nota: Para incluir uma matéria em favoritos, o usuário deve informar e-mail e senha

Page 56: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

56

UID 3: Ler matérias a partir de uma palavra chave

Especificação dos UIDs

1

...Matéria (título, data de publicação, resumo)

1..3 opção [ título, conteúdo, resumo)

Matéria (título, data de publicação, conteúdo, Autor (nome))

palavra-chave

Page 57: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

57

UID 4: Consultar matérias favoritas

Especificação dos UIDs

...Matéria (título, data de publicação, resumo)

senhae-mail

Matéria (título, data de publicação, conteúdo, Autor (nome), comentário)

1

“Login Inválido”

[senha inválida][senha válida]

Page 58: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

58

UID 5: Consultar informações de um autor

Especificação dos UIDs

Autor(nome, foto, biografia, ...Seção(nome), ...Matéria(título, data de publicação, conteúdo))

nome do autor

...Autor(nome)

1

Page 59: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

59

UID 6: Criar novas matérias

Especificação dos UIDs

Pré-condição: o usuário deve estar conectado como Autor e escolher a opção Incluir Matéria

título resumo conteúdo

seção nome do autor

... título da matéria relacionada

(criar matéria)

Page 60: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

60

Atividade responsável pela análise do domínio da aplicação

Preocupação com a estrutura conceitual da informação, não com a aparência ou formas de uso

Poderá ser potencialmente usada por diversas aplicações no mesmo domínio

Definição de forma independente da plataforma de hardware e software

Resultado: Esquema Conceitual

Projeto Conceitual

Page 61: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

61

Esquema Conceitual - Exemplo

Matéria

titulo: stringdata_pub: dateconteúdo: [text+, foto: image]destaque: booleanresumo: text

imprimirMateriaenviarMateria

Seçãonome: string

1

0..*

pertence_a

Ensaio TraduçãoEntrevista

Autor

foto: imagebiografia: text

1

Pessoanome: stringe-mail: stringsenha: string

Editor

publicarMateria()

cria0..*

Page 62: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

62

Definir um esquema conceitual preliminar a partir dos UIDs com o auxílio de algumas diretrizes pré-definidas

As diretrizes são utilizadas paradefinir classes de objeto

definir atributos das classes

definir associações entre classes

definir operações

Realizar ajustes no esquema preliminar

Esquema Conceitual a partir dos UIDs

Page 63: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

63

Para cada UID, definir uma classe para cada estrutura

Diretriz 1 - Definição de Classes

...Seção (nome)

... Matéria (data de publicação, título, resumo)

Matéria (título, data de publicação, conteúdo, Autor (nome), 0..N Matéria Relacionadas (título))

Autor (nome, foto, biografia)

1

1(imprimirmatéria)

(enviarmatéria) (mostrar dados do autor)

Esquema de Classes

Seção

Matéria

Matéria Relacionada

Autor

Page 64: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

64

Para cada item de dado (retornado pela aplicação ou fornecido pelo usuário) que aparece em cada UID, definir um atributo de acordo com:Se, dada uma instância da classe X, é possível obter o valor

do atributo A

»o item de dado será um atributo da referida classe, se é possível obter seu valor para apenas uma classe

Se, dadas as classes X e Y, é possível obter o valor do atributo A

»o item de dado será um atributo de uma associação entre essas classes

Diretriz 2 - Definição dos Atributos

Page 65: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

65

Se o atributo correspondente ao item de dado não depender de nenhuma classe existente, ou da combinação das mesmas

»O item de dado será um atributo de uma nova classe que deverá ser criada

Diretriz 2 - Definição dos Atributos

Page 66: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

66

UID - Ler matéria de uma seção

Diretriz 2 - Exemplo 1

...Seção (nome)

... Matéria (data de publicação, título, resumo)

Matéria (título, data de publicação, conteúdo, Autor (nome), 0..N Matéria Relacionadas (título))

Autor (nome, foto, biografia)

1

1(imprimirmatéria)

(enviarmatéria) (mostrar dados do autor)

Esquema de Classes

Matériatitulodata_pubconteúdoresumo

Seçãonome

Autornomefotobiografia

Matéria Relacionada

titulo

Page 67: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

67

UID - Consultar matérias favoritas

Diretriz 2 - Exemplo 2

...Matéria (título, data de publicação, resumo)

senhae-mail

Matéria (título, data de publicação, conteúdo, Autor (nome), comentário)

1

“Login Inválido”

[senha inválida]

[senha válida] Esquema de Classes

Leitor Matéria

comentário

Page 68: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

68

UID - Criar uma nova seção (ator Editor)

Diretriz 2 - Exemplo 3

“Entre com os dados da seção”

senhae-mail

“Seção criada com sucesso”

Esquema de Classes

Seção

Editore-mailsenha

descriçãonome

Page 69: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

69

Se existem classes com nomes diferentes representando a mesma classe (sinônimos) todas as classes, exceto uma, devem ser eliminadasos atributos das classes eliminadas são adicionadas à classe

mantida, se esta não representar esses atributos Se existem classes diferentes representando estados

diferentes de uma mesma classe baseessas classes podem tornar-se subclasses da classe base ou

podem ser eliminadas, dando origem a um novo atributo que representará o estado da classe base

Se dois atributos com nomes diferentes, pertencentes a mesma classe, representam a mesma informaçãoum deles deve ser eliminado

Ajustes

Page 70: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

70

Ajustes - Exemplos

Matériatitulodata_pubconteúdoresumo

Matéria Relacionada

titulo

Matériatitulodata_pubconteúdoresumo

Matéria Editada

Matéria Aprovada

Matéria Publicada

Matéria Reprovada

Matériaestado: [Ed, Pb, Ap, Rp]

Page 71: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

71

Para cada atributo a, cujo item de dado correspondente aparece em uma estrutura que não corresponde à sua classeSe existir um outro atributo b, cujo item de dado aparece na

mesma estrutura mas pertence a uma classe diferente da classe do atributo a e

É possível obter as informações de uma única instância da classe do atributo a a partir de uma instância da classe do atributo b

»Criar uma associação entre a classe que contém a e a classe que contém b

Analisar se esta associação está semanticamente correta

Determinar as cardinalidades da associação

Diretriz 3 - Definição de Associações

Page 72: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

72

Cardinalidades Se a classe do atributo b for a classe correspondente à

estruturaSe o item de dado que representa o atributo a é um item de

dado simples

»a cardinalidade máxima da classe que contém a na associação é 1

Se o item de dado que representa o atributo a é um conjunto

»a cardinalidade máxima da classe que contém a na associação é N

Se o item de dado que representa o atributo a é opcional

»a cardinalidade mínima da classe que contém a na associação é 0

Diretriz 3 - Definição de Associações

Page 73: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

73

Diretriz 3 - Exemplo

(Incluir em favoritos)

Matéria (título, seção, data de publicação, conteúdo, Autor (nome))

... Matéria (data de publicação, título, resumo)

1

... comentário

UID - Ler matérias em destaque

Esquema de Classes

Seção Matéria1

Page 74: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

74

Para cada UID, para cada estrutura s1 que contém outra estrutura s2, criar uma associação entre as classes que correspondem às estruturas s1 e s2

Analisar se a associação resultante é semanticamente correta

Determinar as cardinalidades da associação Se a estrutura s2 é uma estrutura singular, então a cardinalidade

máxima da classe que corresponde a s2 na associação é 1

Se a estrutura s2 é um conjunto, então a cardinalidade máxima da classe que corresponde a s2 na associação é N

Se a estrutura s2 é um opcional, então a cardinalidade mínima da classe que corresponde a s2 na associação é 0

Diretriz 4 - Definição de Associações

Page 75: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

75

Diretriz 4 - Exemplo UID - Ler matéria de uma seção

...Seção (nome)

... Matéria (data de publicação, título, resumo)

Matéria (título, data de publicação, conteúdo, Autor (nome), 0..N Matéria Relacionadas (título))

Autor (nome, foto, biografia)

1

1(imprimirmatéria)

(enviarmatéria) (mostrar dados do autor)

Esquema de Classes

Matériatitulodata_pubconteúdoresumo

Seçãonome

Autornomefotobiografia

1

0..N

1

Page 76: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

76

Para cada transição do estado de interação (representada por uma seta) em cada UID, se existem diferentes classes representando o estado de interação fonte e o estado de interação destino, definir uma associação entre as classes correspondentes

Analisar se a associação resultante é semanticamente correta

Determinar as cardinalidades da associação

Diretriz 5 - Definição de Associações

Page 77: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

77

Cardinalidades Se N itens de dados podem ser selecionados no

estado de interação de origem, a cardinalidade máxima da classe correspondente ao

estado de interação origem é N Se a estrutura ou item de dado retornado no estado de

interação destino é opcionala cardinalidade mínima da classe correspondente ao

estado de interação destino é 0 Se a estrutura ou item de dado retornado no estado de

interação destino é um conjuntoa cardinalidade máxima da classe correspondente ao

estado de interação destino é N

Diretriz 5 - Definição de Associações

Page 78: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

78

Diretriz 5 - Exemplo UID - Ler matéria de uma seção

...Seção (nome)

... Matéria (data de publicação, título, resumo)

Matéria (título, data de publicação, conteúdo, 0..N Matéria Relacionadas (título))

Autor (nome, foto, biografia)

1

1(imprimirmatéria)

(enviarmatéria) (mostrar dados do autor)

Esquema de Classes

Matériatitulodata_pubconteúdoresumo

Seçãonome

Autornomefotobiografia

1

0..n

1

n

Page 79: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

79

Para cada opção que aparece anexada a uma

transição de estado em cada UID, verificar se existe

uma operação que deve ser criada para alguma das

classes correspondentes aos estados de interação

Validar as operações criadas na fase de ajustes

Diretriz 6 - Definição de Operações

Page 80: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

80

Diretriz 6 - Exemplo UID - Ler matéria de uma seção

...Seção (nome)

... Matéria (data de publicação, título, resumo)

Matéria (título, data de publicação, conteúdo, Autor (nome), 0..N Matéria Relacionadas (título))

Autor (nome, foto, biografia)

1

1(imprimirmatéria)

(enviarmatéria) (mostrar dados do autor)

Esquema de Classes

Matériatitulodata_pubconteúdoresumoimprimirMatéria ( )enviarMatéria ( )

Autornomefotobiografia

mostrarDadosAuotr ( )

Page 81: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

81

Identificar generalizações e agregações

Definir cardinalidades ainda não definidas para as

associações

Validar as operações definidas

Verificar se faltou atributos para a classe, neste caso,

incluir os atributos necessários

Validação e Ajustes Finais

Page 82: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

82

Estudo de caso: Publicação Online

Projeto Conceitual

Page 83: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

83

Diretriz 1: Definição das classesUID 1: Seção, Matéria, Matéria Relacionada, Autor

UID 2: Matéria, Autor

UID 3: Matéria, Autor

UID 4: Matéria, Autor

UID 5: Matéria, Autor, Seção

UID 6: --

Classes Resultantes:Seção

Matéria

Autor

Esquema Conceitual a partir dos UIDs

Page 84: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

84

Diretriz 2: Definição dos atributosUID 1: Seção: nome

Matéria: título, data de publicação, resumo, conteúdoAutor: nome, foto, biografia

UID 2: Matéria: título, data de publicação, resumo, conteúdo, comentárioAutor: nome

UID 3: Matéria: título, data de publicação, resumo, conteúdoAutor: nome

UID 4: Matéria: título, data de publicação, resumo, conteúdoLeitor: e-mail, senhaLeitor - Matéria: comentário

UID 5: Seção: nomeMatéria: título, data de publicação, conteúdoAutor: nome, foto, biografia

Esquema Conceitual a partir dos UIDs

Page 85: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

85

Esquema Conceitual a partir dos UIDs

Atributos resultantes

comentário

Seção

nome

Autornomefotobiografia

Matéria

titulodata_pubconteúdoresumo

Leitoremailseha

Page 86: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

86

Esquema Conceitual a partir dos UIDs Diretrizes 3, 4 e 5: Definição das Associações Associações Resultantes:

comentário

Seção

nome

Autornomefotobiografia

Matéria

titulodata_pubconteúdoresumo

Leitoremailseha

1

*

1 *

* *

* *

Page 87: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

87

Esquema Conceitual a partir dos UIDs Diretriz 6: Definição das Operações Operações Resultantes:

comentário

Seção

nome

Autornomefotobiografia

mostrarDadosAutor()

Matéria

titulodata_pubconteúdoresumo

imprimirMateria()enviarMateria()criarMateria()

Leitoremailseha

incluirFavorita()

1

*

1 *

* *

* *

Page 88: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

88

Ajustes: Inclusão do atributo destaque na classe Matéria

Inclusão da operação excluirFavorita na classe Leitor

O atributo comentário da classe de associação entre Leitor e

Matéria foi renomeado para texto

A classe de associação recebeu o nome de Comentário

Inclusão das operações incluirComentário e

removerComentário na classe de associação Comentário

Esquema Conceitual a partir dos UIDs

Page 89: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

89

Esquema Conceitual a partir dos UIDs Diretriz 6: Definição das Operações Operações Resultantes:

comentário

Seção

nome

Autornomefotobiografia

mostrarDadosAutor()

Matéria

titulodata_pubconteúdoresumo

imprimirMateria()enviarMateria()criarMateria()

Leitoremailseha

incluirFavorita()

1

*

1 *

* *

* *

pertence a

publica

seleciona

está relacionada

Page 90: Desenvolvimento de Aplicações Web. 2 Dificuldades no Desenvolvimento de Aplicações Web Falta de aptidões na equipe Material fonte disponível de má qualidade.

90

Define uma visão navegacional sobre um domínio

conceitual, considerandoOs perfis dos usuários e

as tarefas que devem ser apoiadas

Especifica as informações que serão processadas e a

possível navegação entre elas.

Resultado: Esquema de Contextos

Esquema Navegacional

Esquema de Classes em Contexto

Cartões de Especificação

Projeto da Navegação