Utilize este identificador para referenciar este registo: http://hdl.handle.net/10400.21/1140
Título: Projecto timecloud: software de gestão de tempo laboral numa plataforma cloud
Autor: Neto, João Paulo Encarnação
Orientador: Pereira, Paulo Alexandre Leal Barros
Palavras-chave: Software de gestão de tempo laboral
Aplicação cloud
Solução SaaS
Google app engine
Interface REST
Timesheets management software
Cloud application
SaS solution
REST interface
Data de Defesa: Nov-2011
Citação: Neto, João Paulo Encarnação - Projecto timecloud: software de gestão de tempo laboral numa plataforma cloud. Lisboa: Instituto Superior de Engenharia de Lisboa, 2011. Dissertação de mestrado.
Resumo: O presente projecto tem como objectivo a disponibilização de uma plataforma de serviços para gestão e contabilização de tempo remunerável, através da marcação de horas de trabalho, férias e faltas (com ou sem justificação). Pretende-se a disponibilização de relatórios com base nesta informação e a possibilidade de análise automática dos dados, como por exemplo excesso de faltas e férias sobrepostas de trabalhadores. A ênfase do projecto está na disponibilização de uma arquitectura que facilite a inclusão destas funcionalidades. O projecto está implementado sobre a plataforma Google App Engine (i.e. GAE), de forma a disponibilizar uma solução sob o paradigma de Software as a Service, com garantia de disponibilidade e replicação de dados. A plataforma foi escolhida a partir da análise das principais plataformas cloud existentes: Google App Engine, Windows Azure e Amazon Web Services. Foram analisadas as características de cada plataforma, nomeadamente os modelos de programação, os modelos de dados disponibilizados, os serviços existentes e respectivos custos. A escolha da plataforma foi realizada com base nas suas características à data de iniciação do presente projecto. A solução está estruturada em camadas, com as seguintes componentes: interface da plataforma, lógica de negócio e lógica de acesso a dados. A interface disponibilizada está concebida com observação dos princípios arquitecturais REST, suportando dados nos formatos JSON e XML. A esta arquitectura base foi acrescentada uma componente de autorização, suportada em Spring-Security, sendo a autenticação delegada para os serviços Google Acounts. De forma a permitir o desacoplamento entre as várias camadas foi utilizado o padrão Dependency Injection. A utilização deste padrão reduz a dependência das tecnologias utilizadas nas diversas camadas. Foi implementado um protótipo, para a demonstração do trabalho realizado, que permite interagir com as funcionalidades do serviço implementadas, via pedidos AJAX. Neste protótipo tirou-se partido de várias bibliotecas javascript e padrões que simplificaram a sua realização, tal como o model-view-viewmodel através de data binding. Para dar suporte ao desenvolvimento do projecto foi adoptada uma abordagem de desenvolvimento ágil, baseada em Scrum, de forma a implementar os requisitos do sistema, expressos em user stories. De forma a garantir a qualidade da implementação do serviço foram realizados testes unitários, sendo também feita previamente a análise da funcionalidade e posteriormente produzida a documentação recorrendo a diagramas UML.
The project aims at providing a service platform for managing and accounting work hours, allowing workers to set their work time, vacations and absences . The system enables the production of work reports and the automatic analysis of the data, e.g. excessive absences oroverlapping vacations of workers. The emphasis is to provide an architecture that facilitates the inclusion of such functionalit ies . The project implementation targets Google App Engine (i.e. GAE) in order to provide a solution based on the Software as a Service paradigm, providing high availability and automatic data replication. The platform ’s choice resulted from the analysis of the current main cloud platforms: Google App Engine, Windows Azure and Amazon Web Services. The analysis considered the features of each platform, namely programming model, data model, provided services and costs. The result is a layered solution composed of the following modules : interface, business logicand data management. The platform’s interface is designed according to the REST architectural constraints, and supports JSON and XML format s. It also includes an authorization component, based on Spring-Security. Authentication is performed through Google Accounts. In order to increase decoupling, the solution resorts to the Dependency Injection design pattern, whichprovides technology independence at the different layers. It was also implemented a prototype to provide the current work’s proof of concept. The prototype issues AJAX requests to the platform services and its implementation is simplified by the use of several javascript libraries and design patterns, such as the model-view-viewmodel, used through a data binding mechanism. T he project development used a Scrum based agile approach, in order to implement the system requirements, which were expressed in user stories. Unit tests were produced in order to ensure the quality of the developed code, and UML was used to document and analyze the implemented functionalities.
Peer review: yes
URI: http://hdl.handle.net/10400.21/1140
Aparece nas colecções:ISEL - Eng. Elect. Tel. Comp. - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Dissertação.pdf2,37 MBAdobe PDFVer/Abrir


FacebookTwitterDeliciousLinkedInDiggGoogle BookmarksMySpace
Formato BibTex MendeleyEndnote 

Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.