971 resultados para Cross-platform software development
Resumo:
Atualmente, verifica-se um aumento na necessidade de software feito à medida do cliente, que se consiga adaptar de forma rápida as constantes mudanças da sua área de negócio. Cada cliente tem os seus problemas concretos que precisa de resolver, não lhe sendo muitas vezes possível dispensar uma elevada quantidade de recursos para atingir os fins pretendidos. De forma a dar resposta a estes problemas surgiram várias arquiteturas e metodologias de desenvolvimento de software, que permitem o desenvolvimento ágil de aplicações altamente configuráveis, que podem ser personalizadas por qualquer utilizador das mesmas. Este dinamismo, trazido para as aplicações sobre a forma de modelos que são personalizados pelos utilizadores e interpretados por uma plataforma genérica, cria maiores desafios no momento de realizar testes, visto existir um número de variáveis consideravelmente maior que numa aplicação com uma arquitetura tradicional. É necessário, em todos os momentos, garantir a integridade de todos os modelos, bem como da plataforma responsável pela sua interpretação, sem ser necessário o desenvolvimento constante de aplicações para suportar os testes sobre os diferentes modelos. Esta tese debruça-se sobre uma aplicação, a plataforma myMIS, que permite a interpretação de modelos orientados à gestão, escritos numa linguagem específica de domínio, sendo realizada a avaliação do estado atual e definida uma proposta de práticas de testes a aplicar no desenvolvimento da mesma. A proposta resultante desta tese permitiu verificar que, apesar das dificuldades inerentes à arquitetura da aplicação, o desenvolvimento de testes de uma forma genérica é possível, podendo as mesmas lógicas ser utilizadas para o teste de diversos modelos distintos.
Resumo:
Nos últimos anos tem-se verificado um acentuado aumento na utilização de dispositivos moveis a nível internacional, pelo que as aplicações desenvolvidas para este tipo específico de dispositivos, conhecidas por apps, tem vindo a ganhar uma enorme popularidade. São cada vez mais as empresas que procuram estar presentes nos mais diversos sistemas operativos móveis, com o objectivo de suportar e desenvolver o seu negócio, alargando o seu leque de possíveis consumidores. Neste sentido surgiram diversas ferramentas com a função de facilitar o desenvolvimento de aplicações móveis, denominadas frameworks multi-plataforma. Estas frameworks conduziram ao aparecimento de plataformas web, que permitem criar aplicações multi-plataforma sem ser obrigatório ter conhecimentos em programação. Assim, e a partir da análise de vários criadores online de aplicações móveis identificados e das diferentes estratégias de desenvolvimento de aplicações móveis existentes, foi proposta a implementação de uma plataforma web capaz de criar aplicações nativas Android e iOS, dois dos sistemas operativos mais utilizados na actualidade. Apos desenvolvida a plataforma web, designada MobileAppBuilder, foi avaliada a sua Qualidade e as aplicações criadas pela mesma, através do preenchimento de um questionário por parte de 10 indivíduos com formação em Engenharia Informática, resultando numa classificação geral de ”excelente”. De modo a analisar o desempenho das aplicações produzidas pela plataforma desenvolvida, foram realizados testes comparativos entre uma aplicação da MobileAppBuilder e duas homologas de dois dos criadores online estudados, nomeadamente Andromo e Como. Os resultados destes testes revelaram que a MobileAppBuilder gera aplicações menos pesadas, mais rápidas e mais eficientes em alguns aspetos, nomeadamente no arranque.
Resumo:
13th International Conference on Autonomous Robot Systems (Robotica), 2013
Resumo:
Recent embedded processor architectures containing multiple heterogeneous cores and non-coherent caches renewed attention to the use of Software Transactional Memory (STM) as a building block for developing parallel applications. STM promises to ease concurrent and parallel software development, but relies on the possibility of abort conflicting transactions to maintain data consistency, which in turns affects the execution time of tasks carrying transactions. Because of this fact the timing behaviour of the task set may not be predictable, thus it is crucial to limit the execution time overheads resulting from aborts. In this paper we formalise a FIFO-based algorithm to order the sequence of commits of concurrent transactions. Then, we propose and evaluate two non-preemptive and one SRP-based fully-preemptive scheduling strategies, in order to avoid transaction starvation.
Resumo:
Presented at Embed with Linux Workshop (EWiLi 2015). 4 to 9, Oct, 2015. Amsterdam, Netherlands.
Resumo:
O objetivo deste trabalho é o desenvolvimento de frameworks de testes automáticos de software. Este tipo de testes normalmente está associado ao modelo evolucionário e às metodologias ágeis de desenvolvimento de software, enquanto que os testes manuais estão relacionados com o modelo em cascata e as metodologias tradicionais. Como tal foi efetuado um estudo comparativo sobre os tipos de metodologias e de testes existentes, para decidir quais os que melhor se adequavam ao projeto e dar resposta à questão "Será que realmente compensa realizar testes (automáticos)?". Finalizado o estudo foram desenvolvidas duas frameworks, a primeira para a implementação de testes funcionais e unitários sem dependências a ser utilizada pelos estagiários curriculares da LabOrders, e a segunda para a implementação de testes unitários com dependências externas de base de dados e serviços, a ser utilizada pelos funcionários da empresa. Nas últimas duas décadas as metodologias ágeis de desenvolvimento de software não pararam de evoluir, no entanto as ferramentas de automação não conseguiram acompanhar este progresso. Muitas áreas não são abrangidas pelos testes e por isso alguns têm de ser feitos manualmente. Posto isto foram criadas várias funcionalidades inovadoras para aumentar a cobertura dos testes e tornar as frameworks o mais intuitivas possível, nomeadamente: 1. Download automático de ficheiros através do Internet Explorer 9 (e versões mais recentes). 2. Análise do conteúdo de ficheiros .pdf (através dos testes). 3. Obtenção de elementos web e respetivos atributos através de código jQuery utilizando a API WebDriver com PHP bindings. 4. Exibição de mensagens de erro personalizadas quando não é possível encontrar um determinado elemento. As frameworks implementadas estão também preparadas para a criação de outros testes (de carga, integração, regressão) que possam vir a ser necessários no futuro. Foram testadas em contexto de trabalho pelos colaboradores e clientes da empresa onde foi realizado o projeto de mestrado e os resultados permitiram concluir que a adoção de uma metodologia de desenvolvimento de software com testes automáticos pode aumentar a produtividade, reduzir as falhas e potenciar o cumprimento de orçamentos e prazos dos projetos das organizações.
Resumo:
Atualmente, as empresas distinguem-se das demais pelos produtos e serviços fornecidos com qualidade e dentro dos prazos estabelecidos. Uma empresa de desenvolvimento de software não foge a essa regra e para isso os processos envolvidos nas diversas fases de levantamento, desenvolvimento, implementação e suporte devem estar documentados, ser do conhecimento geral da Organização e colocados em prática diariamente nas diversas atividades dos colaboradores. Para isso deve contribuir uma melhoria contínua desses mesmos processos. O CMMI-DEV, Capability Maturity Model Integration for Development, possibilita a introdução de boas práticas nas diversas áreas do processo de desenvolvimento de software, mas também a avaliação dessas áreas e respetiva identificação de aspetos a necessitarem de ser melhorados ou até disseminados por toda a organização. Este trabalho envolveu efetuar uma análise teórica do CMMI-DEV e sua posterior utilização prática num ambiente de trabalho empresarial para avaliação dos processos dessa empresa. Para a concretização deste segundo aspeto, foi elaborado um questionário para avaliar os processos de uma organização, segundo o modelo CMMI-DEV 1.3, avaliada a facilidade de utilização do questionário de avaliação dos processos por parte dos inquiridos. Foi realizada ainda uma análise aos resultados obtidos nos referidos questionários.
Resumo:
A integração contínua é uma prática no desenvolvimento de software que já existe há algum tempo mas ainda não é muito conhecida nem usada. Esta prática no desenvolvimento de software surgiu com a programação extrema e tem evoluído ao longo dos últimos anos, adaptando-se às novas tecnologias. O estudo aqui apresentado pretende essencialmente mostrar a real importância e o valor acrescido que a integração contínua pode trazer a um projeto de desenvolvimento de software. O trabalho aqui exposto surge no âmbito de um projeto interno, realizado pelo autor na empresa Konkconsulting, cuja finalidade se prende com o conhecimento mais aprofundado da integração contínua e com o levantamento das necessidades e criação de soluções, de modo a conseguir a sua utilização nos produtos que irão ser desenvolvidos pela empresa. Nesta dissertação, é proposto um conjunto de ferramentas para responder às necessidades imediatas da empresa na implementação de integração contínua num dos seus projetos. Estas ferramentas devem ser de simples e de fácil utilização, de modo a ajudar os programadores durante os desenvolvimentos e responder às necessidades da utilização da integração contínua em um projeto a ser desenvolvido pela empresa, mas ao mesmo tempo, podendo ser facilmente incorporadas em futuros projetos.
Resumo:
Durante os últimos anos tem-se assistido a um crescimento exponencial da utilização dos dispositivos móveis. Atualmente, a presença destes dispositivos está tão consolidada na sociedade em que nos encontramos que é praticamente impossível estar num espaço público sem encontrar uma pessoa a utilizar um exemplar deste tipo de dispositivos, na forma de um Smartphone ou um Tablet. Nesse sentido, um grande número de organizações de desenvolvimento de software tem vindo a apostar na criação de aplicações para servir este mercado com enorme potencial. De forma a iniciar o desenvolvimento aplicacional nesta área, cabe às organizações escolherem a metodologia de desenvolvimento que mais se adapta às suas necessidades e ao contexto que desejam explorar. Por vezes, a abordagem adotada acaba por ser tornar inadaptada a longo prazo, podendo as aplicações começar a apresentar níveis de desempenho e problemas comportamentais indesejados, de acordo com as alterações realizadas e as necessidades evidenciadas no seu processo de evolução, sendo necessário explorar outras alternativas metodológicas. No contexto apresentado surge a temática da presente dissertação, que se propõe à criação de um plano de migração tecnológica genérico direcionado a um conjunto aplicações móveis em estudo, desenvolvidas através de uma metodologia híbrida, adaptada ao desenvolvimento de aplicações compatíveis com as diversas plataformas móveis. O plano devia então ser construído com o intuito de efetuar a migração das aplicações para uma metodologia nativa, adaptada ao desenvolvimento de aplicações móveis específicas a uma determinada plataforma móvel, que no presente caso seria sob a plataforma Android. No decorrer do trabalho realizado foram desenvolvidos mecanismos e componentes genéricos que permitiram implementar um módulo de migração responsável por construir um projeto nativo base de Android através de um projeto híbrido, construído segundo as suas tecnologias específicas. Finalizada a implementação, foram realizados testes comparativos entre a aplicação alvo de migração e o protótipo nativo conseguido e foi apresentada uma série de resultados que permitiram concluir a adequação da metodologia nativa para ultrapassar a problemática evidenciada. Além disso, foi também possível concluir que o sistema de migração genérico resultante do trabalho desta dissertação permite reduzir significativamente o tempo de desenvolvimento necessário em migrações de outras aplicações que se enquadrem na mesma problemática.
Resumo:
Dissertação para obtenção do Grau de Doutor em Engenharia Informática
Resumo:
Dissertação para obtenção do Grau de Mestre em Engenharia Informática
Resumo:
Human-Computer Interaction have been one of the main focus of the technological community, specially the Natural User Interfaces (NUI) field of research as, since the launch of the Kinect Sensor, the goal to achieve fully natural interfaces just got a lot closer to reality. Taking advantage of this conditions the following research work proposes to compute the hand skeleton in order to recognize Sign Language Shapes. The proposed solution uses the Kinect Sensor to achieve a good segmentation and image analysis algorithms to extend the skeleton from the extraction of high-level features. In order to recognize complex hand shapes the current research work proposes the redefinition of the hand contour making it immutable to translation, rotation and scaling operations, and a set of tools to achieve a good recognition. The validation of the proposed solution extended the Kinects Software Development Kit to allow the developer to access the new set of inferred points and created a template-matching based platform that uses the contour to define the hand shape, this prototype was tested in a set of predefined conditions and showed to have a good success ration and has proven to be eligible for real-time scenarios.
Resumo:
Real-time collaborative editing systems are common nowadays, and their advantages are widely recognized. Examples of such systems include Google Docs, ShareLaTeX, among others. This thesis aims to adopt this paradigm in a software development environment. The OutSystems visual language lends itself very appropriate to this kind of collaboration, since the visual code enables a natural flow of knowledge between developers regarding the developed code. Furthermore, communication and coordination are simplified. This proposal explores the field of collaboration on a very structured and rigid model, where collaboration is made through the copy-modify-merge paradigm, in which a developer gets its own private copy from the shared repository, modifies it in isolation and later uploads his changes to be merged with modifications concurrently produced by other developers. To this end, we designed and implemented an extension to the OutSystems Platform, in order to enable real-time collaborative editing. The solution guarantees consistency among the artefacts distributed across several developers working on the same project. We believe that it is possible to achieve a much more intense collaboration over the same models with a low negative impact on the individual productivity of each developer.
Resumo:
Information technologies (ITs), and sports resources and services aid the potential to transform governmental organizations, and play an important role in contributing to sustainable communities development, respectively. Spatial data is a crucial source to support sports planning and management. Low-cost mobile geospatial tools bring productive and accurate data collection, and their use combining a handy and customized graphical user interface (GUI) (forms, mapping, media support) is still in an early stage. Recognizing the benefits — efficiency, effectiveness, proximity to citizens — that Mozambican Minister of Youth and Sports (MJD) can achieve with information resulted from the employment of a low-cost data collection platform, this project presents the development of a mobile mapping application (app) — m-SportGIS — under Open Source (OS) technologies and a customized evolutionary software methodology. The app development embraced the combination of mobile web technologies and Application Programming Interfaces (APIs) (e.g. Sencha Touch (ST), Apache Cordova, OpenLayers) to deploy a native-to-the-device (Android operating system) product, taking advantage of device’s capabilities (e.g. File system, Geolocation, Camera). In addition to an integrated Web Map Service (WMS), was created a local and customized Tile Map Service (TMS) to serve up cached data, regarding the IT infrastructures limitations in several Mozambican regions. m-SportGIS is currently being exploited by Mozambican Government staff to inventory all kind of sports facilities, which resulted and stored data feeds a WebGIS platform to manage Mozambican sports resources.
Resumo:
According to a recent Eurobarometer survey (2014), 68% of Europeans tend not to trust national governments. As the increasing alienation of citizens from politics endangers democracy and welfare, governments, practitioners and researchers look for innovative means to engage citizens in policy matters. One of the measures intended to overcome the so-called democratic deficit is the promotion of civic participation. Digital media proliferation offers a set of novel characteristics related to interactivity, ubiquitous connectivity, social networking and inclusiveness that enable new forms of societal-wide collaboration with a potential impact on leveraging participative democracy. Following this trend, e-Participation is an emerging research area that consists in the use of Information and Communication Technologies to mediate and transform the relations among citizens and governments towards increasing citizens’ participation in public decision-making. However, despite the widespread efforts to implement e-Participation through research programs, new technologies and projects, exhaustive studies on the achieved outcomes reveal that it has not yet been successfully incorporated in institutional politics. Given the problems underlying e-Participation implementation, the present research suggested that, rather than project-oriented efforts, the cornerstone for successfully implementing e-Participation in public institutions as a sustainable added-value activity is a systematic organisational planning, embodying the principles of open-governance and open-engagement. It further suggested that BPM, as a management discipline, can act as a catalyst to enable the desired transformations towards value creation throughout the policy-making cycle, including political, organisational and, ultimately, citizen value. Following these findings, the primary objective of this research was to provide an instrumental model to foster e-Participation sustainability across Government and Public Administration towards a participatory, inclusive, collaborative and deliberative democracy. The developed artefact, consisting in an e-Participation Organisational Semantic Model (ePOSM) underpinned by a BPM-steered approach, introduces this vision. This approach to e-Participation was modelled through a semi-formal lightweight ontology stack structured in four sub-ontologies, namely e-Participation Strategy, Organisational Units, Functions and Roles. The ePOSM facilitates e-Participation sustainability by: (1) Promoting a common and cross-functional understanding of the concepts underlying e-Participation implementation and of their articulation that bridges the gap between technical and non-technical users; (2) Providing an organisational model which allows a centralised and consistent roll-out of strategy-driven e-Participation initiatives, supported by operational units dedicated to the execution of transformation projects and participatory processes; (3) Providing a standardised organisational structure, goals, functions and roles related to e-Participation processes that enhances process-level interoperability among government agencies; (4) Providing a representation usable in software development for business processes’ automation, which allows advanced querying using a reasoner or inference engine to retrieve concrete and specific information about the e-Participation processes in place. An evaluation of the achieved outcomes, as well a comparative analysis with existent models, suggested that this innovative approach tackling the organisational planning dimension can constitute a stepping stone to harness e-Participation value.