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

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

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 Desenvolvimento de Aplicações Web

2 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 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 4 Fases do Desenvolvimento de Aplicações Levantamento de Requisitos Projeto Conceitual Projeto da Navegação Implementação Projeto Abstrato da Interface

5 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 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 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 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 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 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 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 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 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 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çã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 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 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 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 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 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 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 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 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 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 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 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 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 Exemplo:...Matéria (titulo,resumo, data de publicação) Matéria (titulo,resumo, data de publicação)

26 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 Exemplo:...Seção (nome)...Matéria (titulo,resumo?, data de publicação)

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

28 28 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 Especificação dos UIDs - Notação ( ) (não muda o foco da interação) ( )

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

30 30 Especificação dos UIDs - Exemplo 1 Usuário Novo Usuário Antigo 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

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

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

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

36 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 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 (imprimir matéria) (enviar matéria) (mostrar dados do autor)

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

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

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

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

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

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

52 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 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 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 (imprimir matéria) (enviar matéria) (mostrar dados do autor)

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

56 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 57 UID 4: Consultar matérias favoritas Especificação dos UIDs...Matéria (título, data de publicação, resumo) senha 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 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 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ítuloresumoconteúdo seção nome do autor... título da matéria relacionada (criar matéria)

60 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 61 Esquema Conceitual - Exemplo Matéria titulo: string data_pub: date conteúdo: [text+, foto: image] destaque: boolean resumo: text imprimirMateria enviarMateria Seção nome: string 1 0..* pertence_a EnsaioTraduçãoEntrevista Autor foto: image biografia: text 1 Pessoa nome: string string senha: string Editor publicarMateria() cria 0..*

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

63 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 (imprimir matéria) (enviar matéria) (mostrar dados do autor) Esquema de Classes Seção Matéria Relacionada Autor

64 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 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 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 (imprimir matéria) (enviar matéria) (mostrar dados do autor) Esquema de Classes Matéria titulo data_pub conteúdo resumo Seção nome Autor nome foto biografia Matéria Relacionada titulo

67 67 UID - Consultar matérias favoritas Diretriz 2 - Exemplo 2...Matéria (título, data de publicação, resumo) senha 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 68 UID - Criar uma nova seção (ator Editor) Diretriz 2 - Exemplo 3 Entre com os dados da seção senha Seção criada com sucesso Esquema de Classes Seção Editor senha descrição nome

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

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

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

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

73 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çãoMatéria 1

74 74 Para cada UID, para cada estrutura s 1 que contém outra estrutura s 2, criar uma associação entre as classes que correspondem às estruturas s 1 e s 2 Analisar se a associação resultante é semanticamente correta Determinar as cardinalidades da associação Se a estrutura s 2 é uma estrutura singular, então a cardinalidade máxima da classe que corresponde a s 2 na associação é 1 Se a estrutura s 2 é um conjunto, então a cardinalidade máxima da classe que corresponde a s 2 na associação é N Se a estrutura s 2 é um opcional, então a cardinalidade mínima da classe que corresponde a s 2 na associação é 0 Diretriz 4 - Definição de Associações

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

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

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

79 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 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 (imprimir matéria) (enviar matéria) (mostrar dados do autor) Esquema de Classes Matéria titulo data_pub conteúdo resumo imprimirMatéria ( ) enviarMatéria ( ) Autor nome foto biografia mostrarDadosAuotr ( )

81 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 82 Estudo de caso: Publicação Online Projeto Conceitual

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

84 84 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 Autor: nome 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 Autor: nome, foto, biografia Esquema Conceitual a partir dos UIDs

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

86 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 Autor nome foto biografia Matéria titulo data_pub conteúdo resumo Leitor seha 1 * 1 * * * * *

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

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

90 90 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 Projeto da Navegação


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google