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

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

Apêndices. Apêndice 1 - Principais Casos de Uso DiTeD.

Apresentações semelhantes


Apresentação em tema: "Apêndices. Apêndice 1 - Principais Casos de Uso DiTeD."— Transcrição da apresentação:

1 Apêndices

2 Apêndice 1 - Principais Casos de Uso DiTeD

3 Apêndice 1.a - Ciclo de vida de um documento digital no DiTeD

4 Apêndice 1.1 - Depositar Documento (Casos de Uso)

5 Apêndice 1.1d - Descrição completa dos Casos de Uso

6 Apêndice 1.1s - Depositar Documento (Diagrama de Sequências)

7 Apêndice 1.1.1s - Seleccionar Género, Seleccionar Língua (Diagrama de Sequências)

8 Apêndice 1.1.2s - Seleccionar Organizações (Diagrama de Sequências idêntico à selecção de termos) As organizações, quer ao nível da base de dados quer ao nível da lógica de negócio são em todo idênticas aos termos de indexação. Possuem uma hierarquia semelhante, logo uma navegação e um processo de escolha idênticos (Veja o apêndice 1.1.3s que mostra a selecção de termos de indexação).

9 Apêndice 1.1.3s - Seleccionar Termos de Indexação (Diagrama de Sequências)

10 Apêndice 1.1.4s - Seleccionar Autores (Diagrama de Sequências)

11 Apêndice 1.1.5s - Seleccionar Colaboradores (Diagrama de Sequências)

12 Apêndice 1.1.6s - Upload de Ficheiros (Diagrama de Sequências)

13 Apêndice 1.2 - Editar Documento Depositado (Casos de Uso)

14 Apêndice 1.2s - Editar Documento Depositado (Casos de Uso)

15 Apêndice 1.3 - Pesquisar Entidades (Casos de Uso)

16 Apêndice 1.3d - Descrição completa dos Casos de Uso

17 Apêndice 1.3.1s - Navegar por Índices (Diagrama de Sequências)

18 Apêndice 1.3.2s - Pesquisar Entidades (Diagrama de Sequências)

19 Apêndice 1.4 - Administrar Sistema (Casos de Uso)

20 Apêndice 1.4d - Descrição completa dos Casos de Uso

21 Apêndice 1.4.1s - Login/Logout Administrador (Diagrama de Sequências)

22 Apêndice 1.4.2s - Importação de Entidades a Partir de Ficheiros de Texto (Diagrama de Sequências)

23 Apêndice 1.4.3s - Historial (Diagrama de Sequência)

24 Apêndice 1.4.3.1s - Historial Pesquisa (Diagrama de Sequência)

25 Apêndice 1.4.4s - Consultar Estatísticas de Administração (Diagrama de Sequências)

26 Apêndice 1.4.5s - Inserção/Edição/Validação de Documentos A ferramenta de edição de documentos para administração é a mesma que para o utilizador (apêndice 1.2) com a excepção de que não é feita qualquer autenticação prévia, visto que o administrador já fez Login. Além de todos os passos normais que englobam a edição o administrador dispõe ainda do controlo do estado de validade do documento

27 Apêndice 1.4.6s - Criar Entidade (Diagrama de Sequências)

28 Apêndice 1.4.7s - Seleccionar Entidade (Diagrama de Sequências)

29 Apêndice 1.4.8s - Editar Entidade (Diagrama de Sequências)

30 Apêndice 1.4.9s - Eliminar Entidade (Diagrama de Sequências)

31 Apêndice 1.4.10s - Substituir Entidade (Diagrama de Sequências)

32 Apêndice 2 - Diagramas de Classes e Tabelas DB

33 Apêndice 2.1 - Estrutura da Base de Dados (Classes Principais)

34 Person ID Name BirthYear Month Day Email Address PhoneNumber Web-Site Notes Status OtherIdentifier Long String Int String Bool String File ID Name MD5 Size Path Notes DescriptionLocal DescriptionDefault Status Long String Byte[] Long String Bool DocumentsCopy ID AccessRestrictions AccessRestrDuration Notes DescriptionLocal DescriptionDefault Status Long String Date String Bool Administrator ID Name Email Password Long String Binary Document ID PublishingDateYear PublishingDateMonth PublishingDateDay PublishementLocal RecordDate Language (ISO 639-2) Link (página de apresentação) Notes Public Notes Admin Password IsInLocalFileSistem Status Long Integer String Date String Bimary Boolean Organization ID Name Initials Email PhoneNumber Address URL Notes Status OtherIdentifier Long String Bool String 1 * 1 * * 1 Diagrama de Classes DocumentLangParameterss ID Title SubTitle Abstract Notes Long String Text String * 111 111 DPLangDoc DPLangLocalDPLangDefault Primary Authority OtherContributor IDLong 1 1 * * * * * Subject ID Code NameLocal NameDefault Notes Status OtherIdentifier Long String Bool String * * * Primary Authority * * * 1 1 1 Author OtherContributor 1 Editor Copies 0..* 1 Genre ID GenreNameLocal GenreNameDefult Notes Status OtherIdentifier Long String Bool String OtherContributorRole ID RoleNameLocal RoleNameDefault Notes Status OtherIdentifier Long String Bool String

35 Autoridades: –“Autoridades” significa toda a lista de nomes que é controlada, isto é, cujos valores são verificados e registados segundo determinados princípios. Deverá haver três classes de autoridades no sistema: Assuntos, Organizações e Pessoas. –Estruturas das autoridades: As três classes de autoridades devem ter a mesma estrutura em árvore, isto é, deverá haver um nível de topo, com vários nomes, podendo a partir de cada elemento desse nível descender outros elementos, e assim sucessivamente. Não existem restrições a estas estruturas. –Criação e gestão de autoridades: Para cada classe de autoridades os processos de criação e gestão são os mesmos: 1.O administrador local de um sistema poderá criar listas de autoridades iniciais. 2.Cada utilizador, ao registar um novo documento, pode estabelecer ligações a autoridades existentes ou criar novas. 3.O administrador deverá SEMPRE verificar as NOVAS autoridades, podendo em cada caso (para isso, as autoridades novas, isto é, ainda não validadas, deverão ser TODAS visíveis claramente – status): 1.Aceitar a autoridade tal como está 2.Corrigir um destes aspecto na autoridade (nome ou ligação “para cima”), e aceitar 3.Recusar a autoridade. Neste caso deverá ser possível apagá-la e substituir a ligação a outro caso. –As três classes de autoridades são: Subject: Assuntos!!! Aos níveis de topo serão criadas, por exemplo, áreas de assuntos (Eng. Informática, Eng. Física, Medicina, Sociologia, etc., podendo depois ser criados vários sub-níveis). Mas isto não implica nada para a construção do sistema!!! Os nomes de cada elemento serão dados pelo utilizador/administrador, e podem ser mudados em qualquer altura. Para assuntos que não existam na base de dados será derivado um assunto novo do assunto de topo “Outros”. Organization: Nomes de organizações editoras (editores comerciais ou universidades), podendo servir ainda para registar a ligação conhecida mais recente de uma pessoa. No caso de teses, por exemplo, a universidade onde ela for defendida é registada como a organização editora!!! Person: Qualquer pessoa, seja autor ou com outra relação! Tabelas/classes Genre e OtherContributorRole –Estas tabelas serão definidas dinamicamente pela utilização do sistema, isto é, o administrador local pode configurar alguns casos, que os utilizadores podem seleccionar, mas estes podem também criar novos valores, que o administrador pode depois manter, corrigir ou anular –neste caso implica associar os documentos a outros casos já existentes. Exemplos de valores são: Genre: Relatório, Artigo, Tese ou dissertação de mestrado, Tese ou dissertação de doutoramento,... OtherContributorRole: Orientador, Co-Orientador, Presidente de júri, Membro de júri,...

36 Tabelas/classes DocumentCopy, DocumentFile –No sistema cada documento tem uma serie de Copias, ou seja, a cada documento serão submetidos e associados ficheiros cada um associado a uma dada cópia. Cada cópia poderá ter quaisquer ficheiros que o utilizador deseje submeter, por exemplo uma cópia com o o resumo e imagens, uma copia com todos os documentos, outra com aqueles que o autor não permite que sejam visualizados pelo publico. Assim a cada copia será atribuída uma duração de restrições de acesso ao público e um tipo de acesso, público restrito ou interno. –Todos os utilizadores poderão ver os Metadados do documento mas só terão acesso a determinadas copias para download. Telefones, moradas, etc. : cuidado que poderemos ter de registar contactos não normais, como por exemplo telefones estrangeiros. Por isso estes campos são strings!!! Notas: devem-se artilhar as tabelas com campos de notas, para uso interno do administrador (e do próprio autor, claro, que as pode preencher da primeira vez!). Línguas: O sistema será configurado para o uso de três ou duas línguas. A local: Português, a default: o Inglês e para cada documento existirá também a língua do documento. No caso da Língua do documento ser uma das duas primeiras então não será apresentada para preenchimento de campos visto ser uma repetição. Isto aplica-se à tabela DocumentLangParameters onde constam todos os parâmetros que um documento pode dispor em várias línguas

37 Apêndice 2.2 - Classes para Tabelas com línguas ISO 639-2 Lang ID Lang (ISO 639) unique Long String Langs ID Code (ISO 639) Word (Palavra na lingua respectiva) Long String *1

38 Apêndice 2.3 - Classes Core (Classes para controlo de historial) History ID Action Long String Eperson ID EntityID Email Group String Long String Context ID SessionID SessionStartDate OriginIP RequestPath IgnoreAuth String Date String Boolean 1111

39 Apêndice 2.4 - Classes para controlo de Resultados de Pesquisas (Classes de Estado BEANS) FormSimplePreviousNext (abstract) AreMoreNext AreMorePrevious Objects TotalResults1 TotalResults2 TotalResults3 classType callPreviousResults() callNextResults() Initialize() GetParameterToRequest() Bool List Integer String Abstract Method FormStringsIterate (abstract) callPreviousResults() callNextResults() Initialize() Find() NextResults() PreviousResults() GetParametersToRequest() Abstract Method FormAuthorsIterate callPreviousResults() callNextResults() Initialize() Find() NextResults() PreviousResults() Method Na sessão anda sempre uma form destas, com uma form especifica dentro de si e com o nome “FormSimplePreviousNext” Tudo o que se necessita para apresentar resultados está nesta form Basta colocar os links previous e next se as respectivas variaveis estiverem a true FormStringsSearch (abstract) SearchKeys callPreviousResults() callNextResults() InitializeNext() InitializePrevious() Find() NextResults() PreviousResults() String Abstract Method FormAuthorsSearch callPreviousResults() callNextResults() Find() NextResults() PreviousResults() Method FormPreviousNextSearch (abstract) NextResults callPreviousResults() callNextResults() calcFirstResultPrevious() InitializeNext() InitializePrevious() GetParametersToRequest int Abstract Method FormGeneralSearch SearchKeys callPreviousResults() callNextResults() InitializeNext() InitializePrevious() Find() NextResults() PreviousResults() String Abstract Method FormIndexTermIterate callPreviousResults() callNextResults() Initialize() Find() NextResults() PreviousResults() Method …

40 Apêndice 2.5 - Classes para controlo de Resultados de Pesquisas (Controladores Servlets) ControllerGlobalPreviousNext PreviousResults() NextResults() Method ControllerSearchPersons find() Index() Method ControllerStartContributorControllerStartAuthor Tira da Sessão um FormSimplePreviousNext Instância a classe em causa através do parâmetro classType de seguida invoca sobre o objecto FormSimplePreviousNext.callPreviousResults() ou FormSimplePreviousNext.callNextResults() Instâncía a FormSimplePreviousNext Neste caso instancía uma FormAuthorsIterate ou AuthorsSearch De seguida é invocado o método find sobre a instância respectiva. Ela saberá como se inicializar e executar a busca na form acima de si na hierarquia FormAuthorsIterate.find(familyName) FormAuthorsSearch.find(familyName) ControllerGeneralSearch find() Index() Method Controladores para a submissão de documentos

41 Apêndice 2.6s - Mecanismo para garantir segurança nas palavras- chave na BD (Diagrama de Sequências)

42 Apêndice 3 - Arquitectura

43 Action Forms (BEANS) Controllers (servlets) ModelClassesDLProperties User Server (Interfaces Server) Services Factory Service ResultsUtilLog4j Hibernate O/R Model XML Mapping DB Session Monitor (Sessions Factory) DBManager FS FileManager DLExceptions Filters Security line Authentication (IP, MAIL, Password) Authorization Permission List Internet Core (LogManager, HistoryManager, Email Alert) Admin Server (Interfaces Server) Services Factory Apêndice 3.1 (MVC)

44 Apêndice 3.2 - Diagrama de Componentes (Utilizador)

45 Apêndice 3.3 - Diagrama de Componentes (Administrador)

46 Apêndice 3.4 - Arquitectura de Controladores (Servlets) Disposição maneira como está agrupado o código no que respeita a controladores e form beans Admin Interfaces JSP’s Controladores Administrativos User Interfaces JSP’s Controladores Para Utilizadores Controladores Comuns Form Beans Administrativos Form Beans Para Utilizadores Form Beans Comuns Administração Utilizadores Recursos FiltradosRecursos Não Filtrados

47 Apêndice 3.5 - Diagrama de Instalação

48 Apêndice 3.5.1s - Download de um ficheiro - Funcionamento dos Filtros - (Diagrama de Sequência)

49 Apêndice 3.5.2 - Login Geral segurança nas palavras chave As palavras chave e a forma como estas são guardadas faz parte da arquitectura de segurança do sistema. Este diagrama foi apresentado na secção das tabelas da base de dados, de qualquer forma está bastante preso a este capitulo

50 Apêndice 3.5.3s - Login Administrador (Diagrama de Sequência) Este diagrama já foi apresentado em 1.4.1s nos casos de uso, mas tal como a segurança das palavras chave este é um caso bastante virado para a forma como a arquitectura foi montada

51 Apêndice 4 - Hibernate (O/R Model) http://hibernate.sourceforge.net

52 Apêndice 4.1 - Arquitectura do Modelo Geral de funcionamento

53 Apêndice 4.2 - Arquitectura do Modelo mais detalhada

54 Apêndice 5 - Struts http://jakarta.apache.org/struts

55 Apêndice 5.1 - Arquitectura do Modelo Geral de funcionamento

56 Apêndice 5.2 - Arquitectura do Modelo com o DiTeD (Detalhado)


Carregar ppt "Apêndices. Apêndice 1 - Principais Casos de Uso DiTeD."

Apresentações semelhantes


Anúncios Google