Identificação: UC01 - Avaliar artigo
Sumário: O avaliador realiza avaliações sobre os artigos submetidos. Ator Primário: Usuário Avaliador
Pré-condições: O avaliador deve estar autenticado no sistema e ser avaliador da
categoria que o artigo pertence.
Fluxo Principal:
1. O caso de uso inicia quando o avaliador requisita avaliar artigos.
2. O sistema apresenta quais artigos estão disponíveis.
3. O avaliador indica qual artigo quer avaliar.
4. O sistema mostra a tela onde será dada a nota e os comentários serão feitos.
5. O avaliador insere nota e comentários e clica em Salvar, o caso de uso termina.
Fluxo Alternativo: Não Há.
Fluxo de Exceção: (E1) Caso o ator não informe a nota ou não faz comentários
o sistema avisa que campos obrigatórios não foram preenchidos.
Pós-condições: Uma avaliação foi inserida no sistema.
3.5.2
Manter Usuário
Identificação: UC02 - Manter Usuário
Sumário: O Administrador realiza a manutenção (remoção, alteração e consulta)
dos dados sobre o usuário.
Pré-condições: O Administrador deve estar autenticado no sistema. Fluxo Principal:
1. O caso de uso inicia quando o Administrador requisita a manutenção do usuário.
2. O sistema apresenta as operações que podem ser realizadas: Tornar um usuário avaliador de alguma categoria, tornar o usuário um administrador e remover um usuário.
3. O Administrador seleciona qual das opções ele quer realizar.
Fluxo Alternativo: (A1) Administrador
1. O administrador seleciona um usuário, e solicita ao sistema que torne o usuário um administrador.
2. O sistema pede uma confirmação e caso seja verdadeira altera os dados, caso contrario aborta a operação. Nas duas situações o caso de uso termina.
(A2)Tornar Avaliador
1. O administrador seleciona um usuário.
2. O sistema apresenta a lista das Categorias.
3. O administrador seleciona quais categorias o usuário deve ser moderador.
4. O sistema pede uma confirmação e caso seja verdadeira altera os dados, caso contrario aborta a operação. Nas duas situações o caso de uso termina.
(A3)Remoção
1. O administrador seleciona um usuário, e solicita ao sistema que o remova.
2. O sistema verifica se o usuário pode ser removido, se puder passa para o pró- ximo passo, caso contrario aborta a operação e o caso de uso termina.(E1)
3. O sistema pede uma confirmação e caso seja verdadeira realiza a remoção, caso contrario aborta a operação. Nos dois casos o caso de uso termina.
1. Caso o administrador tente remover um usuário que tenha um artigo publicado o sistema não aceitará a remoção e exibirá um alerta.
Pós-condições: Uma usuário foi modificado ou removido do sistema.
3.5.3
Publicar artigo
Identificação: UC03 - Publicar artigo
Sumário: O ator Tempo dispara um evento que executa a Stored Procedure. Ator Primário: Tempo
Pré-condições: O serviço do SQL Server Agent deve estar instalado e em exe-
cução para que os trabalhos possam ser executados.
Fluxo Principal:
1. O caso de uso inicia todos os dias em uma hora determinada pelo administrador.
2. O SQL Server verifica quais artigos sofreram alguma avaliação, atribui uma mé- dia estes e verifica se existe alguma restrição ao artigo em questão.
Fluxo Alternativo:
(A1) Artigo não tem a quantidade mínima de avaliações definidas no sistema
1. O SQL Server não irá avaliar o artigo.
(A2) Artigo com média maior que a nota mínima e sem restrição
1. O SQL Server altera a situação do artigo para Publicado.
(A3) Artigo com média maior que a nota mínima e com restrição
1. O SQL Server altera a situação do artigo para Aceito com Restrição.
(A4) Artigo com média menor que a nota mínima
Fluxo de Exceção: (E1) Caso ocorra algum erro durante o processo de publica-
ção de artigos o SQL Server avisará o administrador através de e-mail.
Pós-condições: Um ou mais artigos tem nova situação no sistema ou não foram
4
ESPECIFICAÇÃO DE ANÁLISE
A especificação de análise é focada na investigação do problema proposto. O principal objetivo da fase de análise é levar o analista ao entendimento de como o sistema em questão funciona (WAZLAWICK, 2004).
É uma atividade que engloba a maioria das tarefas de engenharia de software, tendo como objetivo identificar a necessidade do usuário, atribuir funções ao hard- ware, ao software, às pessoas, ao banco de dados e aos demais elementos do sis- tema (PRESSMAN, 2007). Serão apresentados os diagramas de classe, interação, transição de estados e pacotes.
4.1
Diagrama de Classes
O diagrama de classe serve para ilustrar classes, interfaces e suas associaçães. Eles são usados para a modelagem estática dos objetos [BEZERRA 2002]. Uma classe possui três partes distintas, o nome que define a classe, os atributos e as operações pertencentes a esta classe. Não necessariamente o diagrama de classe precisa, a princípio, possuir atributos ou operações. Assim, os diagramas de classe podem exibir nas fases inicias da análise apenas o nome das classes, e em uma fase seguinte os atributos e operações. A figura 10 apresenta o diagrama de classes do sistema proposto.
4.2
Dicionário de Dados
As tabelas 5 a 9 apresentam o dicionário de dados das classes do sistema.
Classe Artigo
Contém informações sobre o artigo
ATRIBUTO TIPO DESCRIÇÃO
Id_Usuario Int Identifica o usuário que submeteu o artigo Id_Categoria Int Identifica a qual categoria o artigo pertence Dt_Submissao Date Data em que o artigo foi submetido ao sis-
tema
Fl_Situacao Int Situação atual do artigo, define se um ar- tigo esta publicado ou não
Dc_Title String Titulo do artigo
Dc_Subject String Uma descrição do conteúdo do Artigo. Pode incluir um resumo
Dc_Type String A natureza ou o gênero do conteúdo do re- curso
Dc_Source String Referência de onde o recurso foi gerado Dc_Relation String Referência para um outro recurso relacio-
nado
Dc_Coverage String Inclui um local (nome de um lugar ou coor- denadas geográficas)
Dc_Creator String Entidade responsável pela criação do con- teúdo do recurso
Dc_Publisher String Entidade responsável por disponibilizar o recurso criado
Dc_Contribuitor String Pessoa, organização que contribuir com o conteúdo do recurso criado.
Dc_Rights String Informação sobre os direitos do recurso Dc_Date String Uma data que pode ser a criação ou dispo-
nibilização do recurso
Dc_Format String O tamanho digital composição do recurso Dc_Identifier String O ISBN de um livro, o ASIN de uma mú-
sica, uma URL com o recurso etc
Dc_Language String O idioma do conteúdo intelectual do re- curso.
Classe Avaliação
Contém informações sobre a avaliação
ATRIBUTO TIPO DESCRIÇÃO
Id_Usuario_avaliador Int Identifica o usuário que avaliou o artigo Id_Artigo Int Identifica o artigo avaliado
Vl_Nota_Avaliacao Float Nota dada ao artigo pelo avaliador
Ds_Comentarios String Comentarios feitos pelo avaliador sobre o artigo, critica ou sugestão
Fl_Situacao Int Situação da avaliação, permite saber se a avaliação é valida ou não
Fl_Restricao Int Identifica alguma restrição para publicação do artigo
Tabela 6: Dicionário de dados Avaliação
Classe Usuario
Contém informações sobre o usuário
ATRIBUTO TIPO DESCRIÇÃO
Nm_Usuario String Nome do Usuário
Ds_Login String Nome usado para fazer Login no sistema Ds_Email String e-mail do usuário
Fl_Tipo_Usuário Int Define se o usuário é avaliador ou se é um gerenciador da biblioteca
Fl_Status Int Define se o usuário esta ativo
Dt_Cadastro Date Data de cadastro do usuário no sistema
Tabela 7: Dicionário de dados Usuário
Classe Categoria
Contém informações sobre a categoria
ATRIBUTO TIPO DESCRIÇÃO
Ds_Categoria String Nome da categoria
Fl_Situacao Int Define se a categoria esta ativa
Tabela 8: Dicionário de dados Categoria
Classe Artigo_Situacao
Contém informações sobre a Artigo_Situacao
ATRIBUTO TIPO DESCRIÇÃO
Ds_Situacao String Descrição da situação que o artigo se en- contra
4.3
Diagrama de Interação
Diagramas de Interação representam como grupos de objetos colaboram em al- gum comportamento [BEZERRA 2002]. Tipicamente, um diagrama de interação des- creve o comportamento de um único caso de uso. O diagrama mostra vários objetos e as mensagens que são passadas entre estes objetos em um caso de uso, permitindo assim modelar os aspectos dinâmicos de um sistema. Existem dois tipos de diagrama de interação, diagrama de comunicação e sequência, no caso especifico deste traba- lho será apresentado apenas o diagrama de sequência.
4.3.1
Diagrama de Sequência
Segundo [BEZERRA 2002], o diagrama de sequência mostra a interação existente num conjunto de objetos e seus relacionamentos, dando ênfase à ordenação temporal de mensagens.
Nas figuras 11 a 15 são apresentados os diagramas de sequência construídos na fase de analise.
Os casos de uso Manter Artigo, Manter Categoria, Alterar dados perfil, Alterar Configurações do Sistema, Submeter Artigo e Realizar Consulta seguem o mesmo modelo dos diagramas apresentados abaixo, por isso não serão mostrados.
Diagrama de Sequência Consultar Usuário
Figura 12: Diagrama de Sequência do caso de uso Manter Usuário (Consultar)
Diagrama de Sequência Altera Usuário
Diagrama de Sequência Remover Usuário
Figura 14: Diagrama de Sequência do caso de uso Manter Usuário (Remover)
Diagrama de Sequência Publicar Artigo