desenvolvimento de aplicações web. 2 dificuldades no desenvolvimento de aplicações web falta de...

Post on 17-Apr-2015

105 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

4

Fases do Desenvolvimento de Aplicações

Levantamento de Requisitos

Projeto Conceitual

Projeto da Navegação

Implementação

Projeto Abstrato da

Interface

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

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

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

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

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

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

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.

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.

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

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.

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

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

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.

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.

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

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

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

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.

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

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

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)

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)

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

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

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

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

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

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

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

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>

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>

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

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)

38

Levantamento de Requisitos

Requisitos

(cenários, use cases e UIDs)

...

ProjetoConceitual

Projeto deNavegação

...

Estudo de Caso: Publicação OnLine

Levantamento de Requisitos

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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]

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

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)

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

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..*

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

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

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

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

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

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

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

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

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]

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

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

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

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

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

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

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

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

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

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 ( )

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

82

Estudo de caso: Publicação Online

Projeto Conceitual

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

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

85

Esquema Conceitual a partir dos UIDs

Atributos resultantes

comentário

Seção

nome

Autornomefotobiografia

Matéria

titulodata_pubconteúdoresumo

Leitoremailseha

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 *

* *

* *

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 *

* *

* *

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

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

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

top related