Gestão de projectos na Web



Documentos relacionados
Unified Modeling Language. Diagramas de Implementação

4.1. UML Diagramas de casos de uso

Escola Superior de Tecnologia de Setúbal. Projecto Final

Front-End: corresponde ao que será visualizado pelo utilizador via web. Deve ser acessível para todo e qualquer utilizador.

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

ESTRATÉGIAS /ACTIVIDADES. Fazer uma abordagem teórica e simples

Universidade da Beira Interior

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Diagramas de Casos de Uso

Interface Homem Máquina para Domótica baseado em tecnologias Web

Desenvolvendo um Ambiente de Aprendizagem a Distância Utilizando Software Livre

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto

CURSO DESENVOLVEDOR JAVA Edição 2010

Departamento de Informática

Manual do Utilizador. Manual do Utilizador Modelo10 no sisgep. Data última versão: Versão : 1.2. Data criação:

Universidade Fernando Pessoa

2 Diagrama de Caso de Uso

Instituto Superior Politécnico Gaya Escola Superior de Ciência e Tecnologia

Introdução à Programação B Licenciatura em Engenharia Informática. Enunciado do trabalho prático. Quem quer ser milionário? 20 de Dezembro de 2007

PADRÃO PARA MONITORAMENTO DE APLICATIVOS PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ

Capítulo 8. Introdução UML

Aprend.e Sistema integrado de formação e aprendizagem

Programação para Internet II

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo

Curso:... Prova de Sistemas de Informação para Bibliotecas (21105) Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:...

PLANIFICAÇÃO ANUAL ANO LETIVO DE 2013/2014 Curso de Educação e Formação Tipo 3 Nível 2

Engenharia da Programação Problemas (2002/2003)

ANEXO I - TERMO DE REFERÊNCIA NÚCLEO DE EMPREENDIMENTOS EM CIÊNCIA, TECNOLOGIA E ARTES NECTAR.

Introdução a JavaServer Pages. Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Desenvolvimento de sistemas web

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

Integração de Sistemas de Informação Universitários via Web Services

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

2ºCiclo (5º e 6º Anos de escolaridade) 3ºCiclo (7º e 8º Anos de escolaridade)

Micro Mídia Informática Fevereiro/2009

Diagrama de Estrutura Composta

Desenvolvimento Web TCC Turma A-1

Requerimentos e Especificações de Software

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

Livro de Ponto Automático e Controlo de Assiduidade

Base de Dados para Administrações de Condomínios

Engenharia Informática Engenharia Electrotécnica e Computadores Programação Orientada por Objectos Projecto PlayCards

GESTÃO DE INFORMAÇÃO PESSOAL OUTLOOK (1)

Manual do Gestor da Informação do Sistema

Alteração do POC (Decreto de Lei nº. 35/2005) no sispoc

Orientação a Objetos I

Requisitos para a Federação de um serviço web. Serviço Utilizador RCTS Janeiro de 2010

Trabalho de Desenvolvimento de Sistemas de Software GereComSaber 2ª Fase

TIC Tecnologias da Informação e Comunicação 10º Ano

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite

Projecto de Desenvolvimento de Sistemas de Software

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

3. Fase de Planejamento dos Ciclos de Construção do Software

DISCIPLINA: Tecnologias da Informação e Comunicação ANO: 9º. Windows 7 Office 2010 Internet Explorer. Cd-roms COMPETÊNCIAS A DESENVOLVER

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

Edital N.º 11/PROAD/SGP/2015 e complementares

Função dos Sistemas de Bases de Dados Visão dos dados Modelos de dados Linguagem de Definição de Dados Linguagem de Manipulação de Dados Gestão de

Aplicação de Estatísticas de Ensino Superior

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

Projuris Enterprise Visão Geral da Arquitetura do Sistema

REQUISITOS DE SISTEMAS

OCL: Object Constraint Language

Gestão do Risco e da Qualidade no Desenvolvimento de Software

De Arte a Ciência: Regras para o Desenho de Software

Descrição de proposta de abordagem para manutenção de diferentes Estruturas Organizacionais no SIS-MA, através de switch de base de dados.

Especificação Operacional.

Mapa Mental de Engenharia de Software - Diagramas UML

UNIDADE 1 TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Guia de utilização da notação BPMN

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Sistemas para internet e software livre

PARLAMENTO EUROPEU. Comissão dos Assuntos Jurídicos PE v01-00

JavaServer Faces. Parte 2

PROGRAMAÇÃO OO DIAGRAMA DE CLASSES. Engenheiro Anilton S. Fernandes (asfernandes.com) Janeiro 2012

Diretrizes de Qualidade de Projetos

UML: Diagrama de Casos de Uso, Diagrama de Classes

4 Desenvolvimento da ferramenta

Resolução de avarias de MPEG

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

04/07/2015 UML. Prof. Esp. Fabiano Taguchi DEFINIÇÃO DE REQUSIITOS

Introdução a UML. Introdução a UML (Unified Modeling Language)

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Sistema Datachk. Plano de Projeto. Versão <1.0> Z u s a m m e n a r b e i t I d e i a s C o l a b o r a t i v a s

Agrupamento de escolas de Coruche. CURSO PROFISSIONAL Ano lectivo 2013/2014

UML - Unified Modeling Language

MANUAL DE UTILIZAÇÃO. EcclesiaSoft v.01

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Transcrição:

Gestão de projectos na Web Relatório de desenho de alto nível Versão 1.0, 5 de Maio de 2003 Telmo Pedro Gomes Amaral (mee02013@fe.up.pt) (Grupo 15) Aplicações na Web Mestrado em Engenharia Electrotécnica e de Computadores Departamento de Engenharia Electrotécnica e de Computadores Faculdade de Engenharia da Universidade do Porto

Página 2 de 11 Gestão de projectos na Web Relatório de desenho de alto nível - Versão 1.0, 5 de Maio de 2003

Índice ÍNDICE...3 LISTA DE FIGURAS...3 1 INTRODUÇÃO...3 2 ARQUITECTURA LÓGICA...3 2.1 INTERFACE DE UTILIZAÇÃO...4 2.2 LÓGICA DE NEGÓCIO...4 2.3 BASE DE DADOS...5 3 ARQUITECTURA FÍSICA...5 3.1 DIAGRAMA DE COMPONENTES...5 3.2 DIAGRAMA DE DISTRIBUIÇÃO...7 3.3 MODELO RELACIONAL DA BASE DE DADOS...9 4 ARQUITECTURA TECNOLÓGICA...10 4.1 INTERFACE DE UTILIZAÇÃO...10 4.2 LÓGICA DE NEGÓCIO...10 4.3 BASE DE DADOS...10 5 REFERÊNCIAS...10 Lista de figuras FIGURA 1 DIAGRAMA DE PACOTES DO SISTEMA...4 FIGURA 2 COMPOSIÇÃO DO PACOTE DE LÓGICA DE NEGÓCIO...4 FIGURA 3 DIAGRAMA DE COMPONENTES DO SISTEMA...6 FIGURA 4 DIAGRAMA DE DISTRIBUIÇÃO DO SISTEMA...8 FIGURA 5 MODELO RELACIONAL DA BASE DE DADOS...9 1 Introdução Este relatório corresponde ao desenho de alto nível da aplicação de gestão de projectos na Web. Na primeira secção, a arquitectura lógica do sistema é modelizada por um diagrama de pacotes de classes. A seguir, a arquitectura lógica do sistema é modelizada por um diagrama de componentes, um diagrama de distribuição e um modelo relacional da base de dados. Por fim, é feita uma descrição da arquitectura tecnológica do sistema. Na última secção, são listadas alguma referências utilizadas. 2 Arquitectura lógica A arquitectura lógica da aplicação é modelizada pelo diagrama de pacotes de classes (pacotes lógicos) apresentado na Figura 1. Página 3 de 11

<<system>> Aplicação <<layer>> Interface de utilização <<layer>> Lógica de negócio <<layer>> Base de dados Figura 1 Diagrama de pacotes do sistema O pacote Aplicação corresponde ao sistema total. O sistema é composto por três pacotes, correspondentes a três camadas horizontais (camadas técnicas) ligadas por dependências simples. As três camadas horizontais descrevem-se nas secções seguintes. 2.1 Interface de utilização Esta camada corresponde aos componentes da interface gráfica com os utilizadores. Esta interface poderá assumir aspectos e funcionalidades diferentes consoante o tipo de utilizador (por exemplo, um gestor pode modificar qualquer das tarefas de um projecto, ao passo que um colaborador pode apenas marcar como terminadas as tarefas que lhe estão atribuídas). 2.2 Lógica de negócio Esta camada corresponde aos componentes que ligam a interface de utilização à base de dados. A Figura 2 apresenta a composição interna do pacote de classes correspondente. Lógica de negócio + Controlo + LógicaAutenticacao + LógicaProjectos + LógicaTarefas Figura 2 Composição do pacote de lógica de negócio Todas as classes são apresentadas como públicas, dado serem acedidas pelos componentes da interface de utilização, como se verá na secção 3. Página 4 de 11

A classe de controlo instancia as classes de lógica de autenticação, projectos e tarefas, quando necessário, e efectua o controlo das sessões. A classe de lógica autenticação avalia as permissões de acesso dos utilizadores da aplicação, acedendo à informação relevante armazenada na base de dados do sistema. As classes de lógica de projectos e tarefas acedem à base de dados por forma a consultar a informação necessária à geração do conteúdo dinâmico da interface de utilização, ou a actualizar essa informação com os dados provenientes da interface. 2.3 Base de dados Esta camada corresponde à base de dados utilizada na aplicação, onde será armazenada toda a informação relativa a utilizadores, projectos e tarefas. 3 Arquitectura física A arquitectura física do sistema é modelizada por um diagrama de componentes, um diagrama de distribuição e um modelo relacional da base de dados, que se apresentam e descrevem nas secções seguintes. 3.1 Diagrama de componentes A Figura 3 apresenta o diagrama de componentes do sistema, que captura a sua estrutura física. Página 5 de 11

Interface de utilização aplicacao.html <<hyperlink>> <<hyperlink>> <<hyperlink>> Páginas dinâmicas autenticacao.html lista_projectos.jsp escalonamento.jsp applet <<hyperlink>> <<hyperlink>> ficha_projecto.jsp ficha_tarefa.jsp Lógica de negócio LogicaAutenticacao LogicaProjectos LogicaTarefas Controlo Base de dados Base de dados Legenda (correspondência entre ícones dos componentes e seus estereótipos): <<file>> <<library>> <<database>> Figura 3 Diagrama de componentes do sistema Página 6 de 11

O diagrama de componentes apresenta (a cinzento) três pacotes de componentes com nomes idênticos aos dos pacotes de classes apresentados na secção 2. Isto indica que existe uma relação entre a divisão lógica do sistema em camadas horizontais e sua arquitectura física. Os componentes estão representados por ícones, apresentando-se na legenda a correspondência entre os ícones utilizados e os estereótipos que classificam os componentes. As dependências estereotipadas como <<hyperlink>> não pretendem ilustrar de forma completa as possibilidades de navegação entre os componentes da interface de utilização, mas apenas ilustrar a sua organização hierárquica. Todas as outras dependências ilustradas no diagrama são implicitamente estereotipadas como <<use>>, dado representarem situações em que a correcta implementação e o funcionamento de um componente requerem a presença de outro. O componente escalonamento.jsp (uma página Web dinâmica) contém o componente applet, com o qual um colaborador pode interagir por forma a visualizar e/ou modificar o escalonamento de tarefas de um dado projecto. Todas as páginas dinâmicas da interface de utilização dependem do componente de controlo, que define qual a página que deve ser gerada em cada situação. Além disso, cada página dinâmica depende especificamente de um ou mais dos componentes de lógica de autenticação, projectos e tarefas, que definem o conteúdo dinâmico das páginas (por exemplo, o conteúdo da página lista_projectos.jsp depende de quem se encontra autenticado e da informação sobre projectos armazenada na base de dados). Os componentes de lógica de autenticação, projectos e tarefas dependem do componente de controlo, dado serem instanciados por este sempre que necessário. Além disso, os três componentes de lógica dependem da base de dados do sistema, dado que se destinam a aceder à informação nela armazenada. 3.2 Diagrama de distribuição A Figura 4 apresenta o diagrama de distribuição do sistema, que captura a topologia de hardware sobre a qual são executados os componentes de software. Página 7 de 11

Cliente applet Navegador Web Utilizador Internet Servidor Servidor HTTP Ficheiros HTML Servlet container Servlet de controlo JSP engine Ficheiros JSP Base de dados Bibliotecas da lógica de negócio Figura 4 Diagrama de distribuição do sistema Todas as relações apresentadas no diagrama entre nós e instâncias de componentes correspondem a associações de comunicação. O nós Cliente e Servidor correspondem a máquinas diferentes em comunicação através da Internet. O nó Cliente corresponde à máquina com que o utilizador interage e que executa o programa de navegação Web (apresentado como uma instância de um componente executável). O programa de navegação poderá ter que executar uma instância do componente applet, se o utilizador o desejar. O nó Servidor corresponde à máquina que executa instâncias dos componentes Servidor HTTP, Servlet container e JSP engine. Quando é recebido um pedido de uma página Web estática, o servidor HTTP retorna imediatamente a página em causa, contida no pacote de ficheiros HTML. Quando é invocado um método da servet de controlo, o servlet container Página 8 de 11

compila e instancia o servlet, se necessário, e atende o pedido feito. Quando é pedida uma página Web dinâmica, o JSP engine consulta o ficheiro JSP no pacote de ficheiros correspondente e, em conjunto com o servlet container, gera o conteúdo da página. O servlet container e o JSP engine fazem uso do pacote de bibliotecas da lógica de negócio, para acederem à informação necessária armazenada na base de dados. Este pacote contém instâncias dos componentes de lógica de autenticação, projectos e tarefas, criadas quando necessário pelo servlet container. 3.3 Modelo relacional da base de dados A Figura 5 apresenta o modelo relacional da base de dados do sistema. administrador Projectos codigo: int nome: String descricao: String inicio: Date fim: Date 1 0..* < cria 1 0..* < gere 1 gestor Utilizadores codigo: int nome: String descricao: String 1 1 0..* compõem-se de v gestor colaborador 0..* ^ compõem-se de ^ depende de 0..* 0..1 Tarefas codigo: int descricao: String inicio: Date duracao: int estado: String 0..* 0..* < cria < executa 0..1 Figura 5 Modelo relacional da base de dados Este modelo é composto por três tabelas, que guardam informação relativa projectos, tarefas e utilizadores, encontrando-se ligadas por relações. Em cada tabela, estão indicados os atributos e os seus tipos equivalentes em Java, estando o atributo-chave realçado em negrito. As relações cria e gere entre as tabelas Utilizadores e Projectos indicam que um projecto é criado por um só administrador e gerido por um só gestor; porém, um administrador ou gestor pode criar ou gerir vários projectos, respectivamente. A relação de composição entre as tabelas Projectos e Tarefas indica que um projecto é composto por tarefas; porém, cada tarefa pertence a um só projecto. A relação depende de sobre a tabela Tarefas indica que o início de uma tarefa pode depender do fim de um conjunto de outras tarefas. A relação de composição sobre a tabela Tarefas indica que uma tarefa pode ser uma tarefa individual ou uma fase (um conjunto de tarefas). Além disso, uma fase pode conter várias fases ou tarefas individuais. Página 9 de 11

As relações cria e executa entre as tabelas Utilizadores e Tarefas indicam que uma tarefa é criada por um só gestor e executada por um só colaborador; porém, um gestor ou colaborador pode criar ou executar várias tarefas, respectivamente. 4 Arquitectura tecnológica As secções seguintes descrevem as tecnologias que se pretende utilizar na implementação de cada uma das camadas horizontais do sistema. 4.1 Interface de utilização Tal como o diagrama de componentes na Figura 3 sugere, os componentes desta camada serão implementados por páginas Web estáticas (HTML) e dinâmicas, estas últimas recorrendo à tecnologia Java Server Pages (JSP) da Sun Microsystems. Uma das páginas JSP conterá uma applet Java. Tal como o diagrama de distribuição na Figura 4 ilustra, as páginas dinâmicas serão geradas na máquina servidora pelo componente JSP engine, que trabalha em conjunto com o componente servlet container. A applet Java destina-se a proporcionar ao utilizador uma interface gráfica conveniente para a visualização e/ou modificação do escalonamento de tarefas de um projecto, sob a forma de um diagrama de Gantt. Assim, esta applet deverá estar associada a um modelo local dos dados envolvidos. Quando o utilizador pretender tornar definitivas (commit) quaisquer modificações feitas, o modelo local de dados será transferido para a instância associada do componente de lógica de tarefas, o qual se encarregará de actualizar o conteúdo da base de dados. 4.2 Lógica de negócio Tal como o diagrama de distribuição sugere, o componente de controlo desta camada será implementado por uma servlet, a qual será executada no componente servet container. Este último corresponderá ao Tomcat 4.1 da Apache Software Foundation. Os componentes de lógica de autenticação, projectos e tarefas desta camada serão compatíveis com o modelo JavaBeans da Sun Microsystems. Nestes componentes, o acesso à base de dados será conseguido através de um driver JDBC adequado ao sistema de base de dados utilizado. 4.3 Base de dados A base de dados da aplicação será implementada utilizando o sistema MySQL da MySQL AB. 5 Referências António Pinho et al, 2002, S3 - Planeamento e acompanhamento das aulas, Relatório de Desenho de Alto Nível. João Correia Lopes, 2003, transparências usadas na disciplina de Aplicações na Web (MEEC). João Pascoal Faria, 2001, transparências usadas na disciplina de Programação Orientada por Objectos (MEEC), UML Diagramas de pacotes, UML Diagramas de componentes, UML Diagramas de distribuição. Página 10 de 11

Luís Toscano, Sónia Vilela, 2003, SOL ShoesOnLine, Sítio especializado na venda on-line de artigos de calçado. Object Management Group, Inc, 2003, OMG Unified Modeling Language Specification, version 1.5, formal/03-03-01. Página 11 de 11