A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Desenvolvimento de Aplicações Web

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento de Aplicações Web"— Transcrição da apresentação:

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 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ídia Em desenvolvimento desde 1989 – antes da Web! Várias evoluções Independente de plataforma Voltado tanto para o cliente quanto para o implementador

4 Fases do Desenvolvimento de Aplicações
Levantamento de Requisitos Implementação Projeto Conceitual Projeto Abstrato da Interface Projeto da Navegação

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ção Análise dos documentos disponíveis Interaçõ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, Editor Loja 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 - Exemplo Use Case 1: Ler matérias de uma seção
Cenários: 1.1 / 2.3 Descrição: Número de identificação do cenário Número de identificação do usuário 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 envia-la a um amigo 5. O usuário solicita informações sobre o autor 6. A aplicação retorna o nome, a foto e biografia do autor 7. 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 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 resultante Seção: nome Matéria: data de publicação, título, resumo, conteúdo, nome do autor e matérias relacionadas Autor: 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 case O 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ção Cenários: 1.1 / 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.

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 dado Representa uma informação única (simples) que aparece durante a interação Pode ser acompanhada por seu domínio Exemplo: Estado da Interação Estado Inicial da Interação Estados Alternativos da Interação Sub-estados de um Estado da Interação titulo, exemplares: Número

25 Especificação dos UIDs - Notação
Estrutura Representa uma coleção de informações que estão relacionadas de alguma maneira Exemplo: Conjunto Representa um conjunto de itens de dados ou estruturas Matéria (titulo,resumo, data de publicação) ...Matéria (titulo,resumo, data de publicação)

26 Especificação dos UIDs - Notação
Dado Opcional Representa 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 ...Matéria (titulo,resumo?, data de publicação) ...Seção (nome)

27 Especificação dos UIDs - Notação
Entrada do Usuário Representa um item de dado ou estrutura fornecido pelo usuário Exemplos Obrigatória: Opcional: Enumerada: título título? título pagamento [cartão, boleto]

28 Especificação dos UIDs - Notação
Transição do Estado da Interação Transiçã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 <N> <N> <N> (<X>) (<X>) (não muda o foco da interação) (<Y>)

29 Especificação dos UIDs - Notação
Pré-condições e Pós-Condições A 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 Pré-condições: matéria foi aprovada pelo editor

30 Especificação dos UIDs - Exemplo 1
Sub-estados do Estado de Interação Inicial “Usuário Antigo” ”Usuário Novo” senha (login) Transição com seleção de opção (criar conta) ...Matéria(título) nome senha

31 Especificação dos UIDs - Exemplo 2
Transição com condição identificação senha [senha inválida] [senha válida] nome matrícula[nova, renovação] senha

32 Diretrizes para obter o UID
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

33 Diretrizes para obter o UID
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.

34 Diretrizes para obter o UID
Diretriz 2: Separar os itens de dados dentro de estados de interação. <2> <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 O usuário seleciona a seção <3> <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. A aplicação retorna o nome, a foto e a biografia do autor

35 Diretrizes para obter o UID
Diretriz 3: Distinguir os itens de dados fornecidos pelo usuário e os itens de dados retornados pela aplicação. <2> <1> ... Matéria (data de publicação, título, resumo) ...Seção (nome) <3> <4> Matéria (título, data de publicação, conteúdo, Autor (nome), 0..N Matéria Relacionadas (título)) Autor ( nome, foto, biografia)

36 Diretrizes para obter o UID
Diretriz 4: Conectar os estados de interação com transições ...Seção (nome) 1 ... Matéria (data de publicação, título, resumo) 1 Matéria (título, data de publicação, conteúdo, Autor (nome), 0..N Matéria Relacionadas (título)) Autor (nome, foto, biografia)

37 Diretrizes para obter o UID
Diretriz 5: Representar as opções realizadas pelo usuário ...Seção (nome) 1 ... Matéria (data de publicação, título, resumo) 1 (imprimir matéria) Matéria (título, data de publicação, conteúdo, Autor (nome), 0..N Matéria Relacionadas (título)) (enviar matéria) (mostrar dados do autor) Autor (nome, foto, biografia)

38 Levantamento de Requisitos
(cenários, use cases e UIDs) ... ... Projeto Conceitual Projeto de Navegação

39 Estudo de Caso: Publicação OnLine
Levantamento de Requisitos

40 Identificação de Atores e Tarefas
Leitor e Autor Tarefas Ator: 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

41 Especificação dos Cenários
Ator Leitor: Usuário 1 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.

42 Especificação dos Cenários
Ator Leitor: Usuário 1 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.

43 Especificação dos Cenários
Ator Leitor: Usuário 2 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.

44 Especificação dos Cenários
Ator Leitor: Usuário 2 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.

45 Especificação dos Cenários
Ator Leitor: Usuário 2 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.

46 Especificação dos Cenários
Ator Leitor: Usuário 2 Cenário 4 : Consultar minhas matérias favoritas Descrição: Informo meu 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.

47 Especificação dos Cenários
Ator Autor: Usuário 3 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.

48 Especificação dos Use Cases
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.

49 Especificação dos Use Cases
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 senha.

50 Especificação dos Use Cases
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

51 Especificação dos Use Cases
Use Case 4: : Consultar matérias favoritas Cenários: 2.4 Descrição: 1. O usuário informa 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

52 Especificação dos Use Cases
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.

53 Especificação dos Use Cases
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

54 Especificação dos UIDs
UID 1: Ler matérias 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 (imprimir matéria) (enviar (mostrar dados do autor)

55 Especificação dos UIDs
UID 2: Ler matérias em destaque ... Matéria (data de publicação, título, resumo) 1 Matéria (título, seção, data de publicação, conteúdo, Autor (nome)) (Incluir em favoritos) ... comentário Nota: Para incluir uma matéria em favoritos, o usuário deve informar e senha

56 Especificação dos UIDs
UID 3: Ler matérias a partir de uma palavra chave palavra-chave 1..3 opção [ título, conteúdo, resumo) ...Matéria (título, data de publicação, resumo) 1 Matéria (título, data de publicação, conteúdo, Autor (nome))

57 Especificação dos UIDs
UID 4: Consultar matérias favoritas senha [senha válida] [senha inválida] ...Matéria (título, data de publicação, resumo) “Login Inválido” 1 Matéria (título, data de publicação, conteúdo, Autor (nome), comentário)

58 Especificação dos UIDs
UID 5: Consultar informações de um autor nome do autor ...Autor(nome) 1 Autor(nome, foto, biografia, ...Seção(nome), ...Matéria (título, data de publicação, conteúdo))

59 Especificação dos UIDs
UID 6: Criar novas matérias título resumo conteúdo (criar matéria) seção nome do autor ... título da matéria relacionada Pré-condição: o usuário deve estar conectado como Autor e escolher a opção Incluir Matéria

60 Resultado: Esquema Conceitual
Projeto Conceitual 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

61 Esquema Conceitual - Exemplo
Pessoa nome: string string senha: string Seção nome: string pertence_a 1 0..* Matéria titulo: string data_pub: date conteúdo: [text+, foto: image] destaque: boolean resumo: text imprimirMateria enviarMateria Editor publicarMateria() Autor foto: image biografia: text 1 0..* cria Ensaio Entrevista Tradução

62 Esquema Conceitual a partir dos UIDs
Definir um esquema conceitual preliminar a partir dos UIDs com o auxílio de algumas diretrizes pré-definidas As diretrizes são utilizadas para definir classes de objeto definir atributos das classes definir associações entre classes definir operações Realizar ajustes no esquema preliminar

63 Diretriz 1 - Definição de Classes
Para cada UID, definir uma classe para cada estrutura ...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 (imprimir matéria) (enviar (mostrar dados do autor) Esquema de Classes Seção Matéria Matéria Relacionada Autor

64 Diretriz 2 - Definição dos Atributos
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

65 Diretriz 2 - Definição dos Atributos
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

66 Diretriz 2 - Exemplo 1 UID - Ler matéria de uma seção Esquema 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 (imprimir matéria) (enviar (mostrar dados do autor) Seção nome Matéria titulo data_pub conteúdo resumo Matéria Relacionada titulo Autor nome foto biografia

67 Diretriz 2 - Exemplo 2 UID - Consultar matérias favoritas e-mail senha
[senha inválida] senha “Login Inválido” [senha válida] Esquema de Classes ...Matéria (título, data de publicação, resumo) Leitor Matéria 1 Matéria (título, data de publicação, conteúdo, Autor (nome), comentário) comentário

68 “Entre com os dados da seção”
Diretriz 2 - Exemplo 3 UID - Criar uma nova seção (ator Editor) Esquema de Classes senha Seção “Entre com os dados da seção” nome descrição Editor senha “Seção criada com sucesso”

69 Ajustes Se existem classes com nomes diferentes representando a mesma classe (sinônimos) todas as classes, exceto uma, devem ser eliminadas os 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 base essas 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ção um deles deve ser eliminado

70 Ajustes - Exemplos Matéria Matéria Matéria Relacionada Matéria
titulo data_pub conteúdo resumo Matéria titulo data_pub conteúdo resumo Matéria Relacionada titulo Matéria estado: [Ed, Pb, Ap, Rp] Matéria Editada Matéria Publicada Matéria Reprovada Matéria Aprovada

71 Diretriz 3 - Definição de Associações
Para cada atributo a, cujo item de dado correspondente aparece em uma estrutura que não corresponde à sua classe Se 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

72 Diretriz 3 - Definição de Associações
Cardinalidades Se a classe do atributo b for a classe correspondente à estrutura Se 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

73 Diretriz 3 - Exemplo UID - Ler matérias em destaque Esquema de Classes
... Matéria (data de publicação, título, resumo) 1 Matéria (título, seção, data de publicação, conteúdo, Autor (nome)) Seção Matéria 1 (Incluir em favoritos) ... comentário

74 Diretriz 4 - Definição de Associações
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

75 Diretriz 4 - Exemplo UID - Ler matéria de uma seção Esquema 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 (imprimir matéria) (enviar (mostrar dados do autor) Seção nome 1 Matéria titulo data_pub conteúdo resumo 0..N 1 Autor nome foto biografia

76 Diretriz 5 - Definição de Associações
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

77 Diretriz 5 - Definição de Associações
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 é opcional a 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 conjunto a cardinalidade máxima da classe correspondente ao estado de interação destino é N

78 Diretriz 5 - Exemplo UID - Ler matéria de uma seção Esquema de Classes
...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 (imprimir matéria) (enviar (mostrar dados do autor) Seção nome 1 n Matéria titulo data_pub conteúdo resumo 0..n 1 Autor nome foto biografia

79 Diretriz 6 - Definição de Operações
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

80 Diretriz 6 - Exemplo UID - Ler matéria de uma seção Esquema 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 (imprimir matéria) (enviar (mostrar dados do autor) Matéria titulo data_pub conteúdo resumo imprimirMatéria ( ) enviarMatéria ( ) Autor nome foto biografia mostrarDadosAuotr ( )

81 Validação e Ajustes Finais
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

82 Estudo de caso: Publicação Online
Projeto Conceitual

83 Esquema Conceitual a partir dos UIDs
Diretriz 1: Definição das classes UID 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

84 Esquema Conceitual a partir dos UIDs
Diretriz 2: Definição dos atributos UID 1: Seção: nome Matéria: título, data de publicação, resumo, conteúdo Autor: nome, foto, biografia UID 2: Matéria: título, data de publicação, resumo, conteúdo, comentário Autor: nome UID 3: Matéria: título, data de publicação, resumo, conteúdo UID 4: Matéria: título, data de publicação, resumo, conteúdo Leitor: , senha Leitor - Matéria: comentário UID 5: Seção: nome Matéria: título, data de publicação, conteúdo

85 Esquema Conceitual a partir dos UIDs
Atributos resultantes Matéria titulo data_pub conteúdo resumo Leitor seha Seção nome Autor nome foto biografia comentário

86 Esquema Conceitual a partir dos UIDs
Diretrizes 3, 4 e 5: Definição das Associações Associações Resultantes: Matéria titulo data_pub conteúdo resumo Leitor seha Seção nome * * 1 * * * * comentário Autor nome foto biografia 1

87 Esquema Conceitual a partir dos UIDs
Diretriz 6: Definição das Operações Operações Resultantes: Matéria titulo data_pub conteúdo resumo imprimirMateria() enviarMateria() criarMateria() Leitor seha incluirFavorita() Seção nome * * 1 * * Autor nome foto biografia mostrarDadosAutor() * * 1 comentário

88 Esquema Conceitual a partir dos UIDs
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

89 Esquema Conceitual a partir dos UIDs
Diretriz 6: Definição das Operações Operações Resultantes: Matéria titulo data_pub conteúdo resumo imprimirMateria() enviarMateria() criarMateria() seleciona Leitor seha incluirFavorita() Seção nome * * 1 * pertence a * Autor nome foto biografia mostrarDadosAutor() * * 1 está relacionada publica comentário

90 Projeto da Navegação Define uma visão navegacional sobre um domínio conceitual, considerando Os 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


Carregar ppt "Desenvolvimento de Aplicações Web"

Apresentações semelhantes


Anúncios Google