999 resultados para Engenharia de software, Brasil
Resumo:
Orientador: Alberto Manuel Rodrigues da Silva
Resumo:
Este projecto foi realizado na Universidade da Madeira, no âmbito do Mestrado em Engenharia Informática e tem como título “Plataforma para o suporte de Blended Peer Assisted Learning”. Ao longo da nossa pesquisa sobre os vários métodos de aprendizagem online, deparamo-nos com uma grande lacuna que abrange a maior parte dos sistema de ensino assistidos por computador, ou seja, todas elas preocupam-se com a passagem de conhecimentos, mas raras são aquelas que têm em atenção o tipo de utilizador, qual a seu percurso académico e profissional, qual a metodologia que fará com que o mesmo capte melhor os conteúdos, etc. Com este objectivo em mente, e tendo em atenção as diversas plataformas e metodologias de ensino existentes, optou-se por elaborar uma arquitectura de uma plataforma capaz de centralizar na mesma, um conjunto de funcionalidades e metodologias que possibilitassem um acompanhamento mais específico do utilizador, proporcionando um maior conhecimento, através do qual poderia encaminhar o utilizador para a estratégia de aprendizagem que mais se adequasse a um utilizador com as suas características. Como se poderá constatar no decorrer desta dissertação, a plataforma desenhada e o módulo desenvolvido têm como base teórica o Peer Assisted Learning (PAL) e as suas estratégias de aprendizagem. O PAL é um conceito relativamente novo, que se encontra em plena ascensão, sendo cada vez maior o número de instituições/organizações que adoptam o PAL como metodologia de ensino para a formação dos seus membros. Este crescimento deve-se em grande parte às várias estratégias PAL que visam uma maior adequação ao tipo de utilizador, contribuindo assim para uma aprendizagem mais rápida e eficaz. Uma vez que a implementação da plataforma na sua totalidade seria de todo impossível, optouse por desenvolver apenas um dos módulos referente à estratégia de PAL – Peer Tutoring (PT). No final, o objectivo principal, passa não só por fornecer as bases necessárias ao desenvolvimento da referida plataforma, mas também pela disponibilização do módulo de PT que servirá de referência para o desenvolvimento das restantes estratégias. Tendo em atenção toda a investigação efectuada, facilmente se depreende as inúmeras vantagens que podem advir da utilização do PAL, das quais se salienta, a adequação da estratégia PAL mais indicada para cada tipo de utilizador.
Resumo:
Os modelos são tradicionalmente utilizados na engenharia de software para documentar aspetos do desenho e, em alguns casos, como base para a geração de parte ou a totalidade dos sistemas informáticos que descrevem. Embora subsista o debate sobre este tipo de abordagens e sobre o papel e qualidades que os modelos devem possuir nesta área de engenharia, a existência de modelos que estejam em conformidade com linguagens de modelação bem definidas permite outro tipo de utilizações que vão além das anteriormente referidas. Assente no conhecimento existente sobre a visualização de dados, nesta dissertação irá ser demonstrado a utilização de técnicas de visualização que permitem extrair informação sobre os modelos numa perspetiva inovadora e que contribui favoravelmente para uma melhor compreensão, análise e validação dos mesmos.
Resumo:
Nesta dissertação defendemos uma forma nova de medir o produto de software com base nas medidas usadas na teoria dos sistemas complexos. Consideramos o uso dessas medidas vantajoso em relação ao uso das medidas tradicionais da engenharia de software. A inovação desta dissertação sintetiza-se em considerar o produto de software como um sistema complexo, dotado de uma estrutura que comporta vários níveis e na proposta da correlação de gama longa como medida da complexidade de estrutura de programas fontes. Essa medida, invariante para a escala de cada nível da estrutura, pode ser calculada automaticamente. Na dissertação, primeiro descrevemos o processo de desenvolvimento do software e as medidas existentes para medir o referido processo e produto e introduzimos a teoria dos sistemas complexos. Concluímos que o processo tem características de sistema complexo e propomos que seja medido como tal. Seguidamente, estudamos a estrutura do produto e a dinâmica do seu. processo de desenvolvimento. Apresentamos um estudo experimental sobre algoritmos codificados em C, que usamos para validar hipóteses sobre a complexidade da estrutura do produto. Propomos a correlação de gama longa como medida da complexidade da estrutura. Estendemos essa medida a uma amostra codificada em Java. Concluímos, evidenciando as limitações e as potencialidades dessa medida e a sua aplicação em Engenharia de Software.
Resumo:
O presente relatório tem por objectivo apresentar e descrever de forma detalhada o projecto “Gestform Mobile – Aplicação Web Mobile para Gestão de Formação”, realizado no âmbito do estágio curricular de fim de curso, do Mestrado Integrado em Engenharia Informática, da Universidade da Madeira. O projecto decorreu na empresa Proinov – Consultoria em Gestão, Formação e Multimédia., de 9 de Fevereiro de 2009 a 31 de Julho de 2010. A Proinov venceu o prémio Madeira Inovação Empresarial 2007/2008, com o “Gestform”. O Gestform é uma ferramenta desenvolvida para gestão de Processos de Formação, baseado na Web e pode ser acedida por todos os intervenientes (formadores, formandos, administradores, etc.) via Internet. Com o avançar das tecnologias móveis, surgiu a necessidade de estender o Gestform para uma versão mobile. Pretendeu-se com este estágio criar a versão mobile pretendida pela Proinov, vocacionada apenas para os formadores e formandos. Com a realização deste projecto consegue-se responder aos objectivos enunciados, particularmente em relação à componente realizada neste estágio. Com a criação de uma aplicação mobile, é possível aceder à Área dos Formandos e dos Formadores em qualquer lugar. É um sistema muito vantajoso pois permite realizar as tarefas simples de forma generalizada, a partir de qualquer dispositivo móvel com acesso à internet.
Resumo:
Este relatório pretende apresentar tanto o projeto desenvolvido assim como a ex-periência vivenciada durante a realização do estágio curricular de conclusão de curso do Mestrado em Engenharia Informática, da Universidade da Madeira. O objetivo de principal foi de desenvolver as minhas áreas de conhecimento, de forma a torna-las em ferramentas úteis para o âmbito profissional. Durante este estágio, foi desenvolvido um projeto de veiculação de anúncios pu-blicitários para toda a rede da empresa ad8biz. Este projeto aborda métodos e técnicas publicitárias assim como, através de Engenharia Reversa, uma possível implementação. Na realização deste projeto foram também abordadas áreas como a Engenharia de Software e Gestão de Projetos, pois foram considerados aspetos relacionados com boas práticas e metodologias de desenvolvimento de software, renegociação de requisitos, e gestão de tarefas.
Resumo:
Smart card applications represent a growing market. Usually this kind of application manipulate and store critical information that requires some level of security, such as financial or confidential information. The quality and trustworthiness of smart card software can be improved through a rigorous development process that embraces formal techniques of software engineering. In this work we propose the BSmart method, a specialization of the B formal method dedicated to the development of smart card Java Card applications. The method describes how a Java Card application can be generated from a B refinement process of its formal abstract specification. The development is supported by a set of tools, which automates the generation of some required refinements and the translation to Java Card client (host) and server (applet) applications. With respect to verification, the method development process was formalized and verified in the B method, using the Atelier B tool [Cle12a]. We emphasize that the Java Card application is translated from the last stage of refinement, named implementation. This translation process was specified in ASF+SDF [BKV08], describing the grammar of both languages (SDF) and the code transformations through rewrite rules (ASF). This specification was an important support during the translator development and contributes to the tool documentation. We also emphasize the KitSmart library [Dut06, San12], an essential component of BSmart, containing models of all 93 classes/interfaces of Java Card API 2:2:2, of Java/Java Card data types and machines that can be useful for the specifier, but are not part of the standard Java Card library. In other to validate the method, its tool support and the KitSmart, we developed an electronic passport application following the BSmart method. We believe that the results reached in this work contribute to Java Card development, allowing the generation of complete (client and server components), and less subject to errors, Java Card applications.
Resumo:
With hardware and software technologies advance, it s also happenning modifications in the development models of computational systems. New methodologies for user interface specification are being created with user interface description languages (UIDL). The UIDLs are a way to have a precise description in a language with more abstraction and independent of how will be implemented. A great problem is that even using these nowadays methodologies, we still have a big distance between the UIDLs and its design, what means, the distance between abstract and concrete. The tool BRIDGE (Interface Design Generator Environment) was created with the intention of being a linking bridge between a specification language (the Interactive Message Modeling Language IMML) and its implementation in Java, linking the abstract (specification) to the concrete (implementation). IMML is a language based on models, that allows the designer works in distinct abstraction levels, being each model a distinct abstraction level. IMML is a XML language, that uses the Semiotic Engineering concepts, that deals the computational system, with the user interface and its elements like a metacommunicative artifact, where these elements must to transmit a message to the user about what task must to be realized and the way to reach this goal. With BRIDGE, we intend to supply a lot of support to the design task, being the user interface prototipation the greater of them. BRIDGE allows the design becomes easier and more intuitive coming from an interface specification language
Resumo:
The software development processes proposed by the most recent approaches in Software Engineering make use old models. UML was proposed as the standard language for modeling. The user interface is an important part of the software and has a fundamental importance to improve its usability. Unfortunately the standard UML does not offer appropriate resources to model user interfaces. Some proposals have already been proposed to solve this problem: some authors have been using models in the development of interfaces (Model Based Development) and some proposals to extend UML have been elaborated. But none of them considers the theoretical perspective presented by the semiotic engineering, that considers that, through the system, the designer should be able to communicate to the user what he can do, and how to use the system itself. This work presents Visual IMML, an UML Profile that emphasizes the aspects of the semiotic engineering. This Profile is based on IMML, that is a declarative textual language. The Visual IMML is a proposal that aims to improve the specification process by using a visual modeling (using diagrams) language. It proposes a new set of modeling elements (stereotypes) specifically designed to the specification and documentation of user interfaces, considering the aspects of communication, interaction and functionality in an integrated manner
Resumo:
To manage the complexity associated with the management of multimedia distributed systems, a solution must incorporate concepts of middleware in order to hide specific hardware and operating systems aspects. Applications in these systems can be implemented in different types of platforms, and the components of these systems must interact each with the other. Because of the variability of the state of the platforms implementation, a flexible approach should allow dynamic substitution of components in order to ensure the level of QoS of the running application . In this context, this work presents an approach in the layer of middleware that we are proposing for supporting dynamic substitution of components in the context the Cosmos framework , starting with the choice of target component, rising taking the decision, which, among components candidates will be chosen and concluding with the process defined for the exchange. The approach was defined considering the Cosmos QoS model and how it deals with dynamic reconfiguration
Resumo:
Product derivation tools are responsible for automating the development process of software product lines. The configuration knowledge, which is responsible for mapping the problem space to the solution space, plays a fundamental role on product derivation approaches. Each product derivation approach adopts different strategies and techniques to manage the existing variabilities in code assets. There is a lack of empirical studies to analyze these different approaches. This dissertation has the aim of comparing systematically automatic product derivation approaches through of the development of two different empirical studies. The studies are analyzed under two perspectives: (i) qualitative that analyzes the characteristics of approaches using specific criteria; and (ii) quantitative that quantifies specific properties of product derivation artifacts produced for the different approaches. A set of criteria and metrics are also being proposed with the aim of providing support to the qualitative and quantitative analysis. Two software product lines from the web and mobile application domains are targets of our study
Resumo:
The use of increasingly complex software applications is demanding greater investment in the development of such systems to ensure applications with better quality. Therefore, new techniques are being used in Software Engineering, thus making the development process more effective. Among these new approaches, we highlight Formal Methods, which use formal languages that are strongly based on mathematics and have a well-defined semantics and syntax. One of these languages is Circus, which can be used to model concurrent systems. It was developed from the union of concepts from two other specification languages: Z, which specifies systems with complex data, and CSP, which is normally used to model concurrent systems. Circus has an associated refinement calculus, which can be used to develop software in a precise and stepwise fashion. Each step is justified by the application of a refinement law (possibly with the discharge of proof obligations). Sometimes, the same laws can be applied in the same manner in different developments or even in different parts of a single development. A strategy to optimize this calculus is to formalise these application as a refinement tactic, which can then be used as a single transformation rule. CRefine was developed to support the Circus refinement calculus. However, before the work presented here, it did not provide support for refinement tactics. The aim of this work is to provide tool support for refinement tactics. For that, we develop a new module in CRefine, which automates the process of defining and applying refinement tactics that are formalised in the tactic language ArcAngelC. Finally, we validate the extension by applying the new module in a case study, which used the refinement tactics in a refinement strategy for verification of SPARK Ada implementations of control systems. In this work, we apply our module in the first two phases of this strategy
Resumo:
The development of smart card applications requires a high level of reliability. Formal methods provide means for this reliability to be achieved. The BSmart method and tool contribute to the development of smart card applications with the support of the B method, generating Java Card code from B specifications. For the development with BSmart to be effectively rigorous without overloading the user it is important to have a library of reusable components built in B. The goal of KitSmart is to provide this support. A first research about the composition of this library was a graduation work from Universidade Federal do Rio Grande do Norte, made by Thiago Dutra in 2006. This first version of the kit resulted in a specification of Java Card primitive types byte, short and boolean in B and the creation of reusable components for application development. This work provides an improvement of KitSmart with the addition of API Java Card specification made in B and a guide for the creation of new components. The API Java Card in B, besides being available to be used for development of applications, is also useful as a documentation of each API class. The reusable components correspond to modules to manipulate specific structures, such as date and time. These structures are not available for B or Java Card. These components for Java Card are generated from specifications formally verified in B. The guide contains quick reference on how to specify some structures and how some situations were adapted from object-orientation to the B Method. This work was evaluated through a case study made through the BSmart tool, that makes use of the KitSmart library. In this case study, it is possible to see the contribution of the components in a B specification. This kit should be useful for B method users and Java Card application developers
Resumo:
The software systems development with domain-specific languages has become increasingly common. Domain-specific languages (DSLs) provide increased of the domain expressiveness, raising the abstraction level by facilitating the generation of models or low-level source code, thus increasing the productivity of systems development. Consequently, methods for the development of software product lines and software system families have also proposed the adoption of domain-specific languages. Recent studies have investigated the limitations of feature model expressiveness and proposing the use of DSLs as a complement or substitute for feature model. However, in complex projects, a single DSL is often insufficient to represent the different views and perspectives of development, being necessary to work with multiple DSLs. In order to address new challenges in this context, such as the management of consistency between DSLs, and the need to methods and tools that support the development with multiple DSLs, over the past years, several approaches have been proposed for the development of generative approaches. However, none of them considers matters relating to the composition of DSLs. Thus, with the aim to address this problem, the main objectives of this dissertation are: (i) to investigate the adoption of the integrated use of feature models and DSLs during the domain and application engineering of the development of generative approaches; (ii) to propose a method for the development of generative approaches with composition DSLs; and (iii) to investigate and evaluate the usage of modern technology based on models driven engineering to implement strategies of integration between feature models and composition of DSLs
Resumo:
The occurrence of problems related to the scattering and tangling phenomenon, such as the difficulty to do system maintenance, increasingly frequent. One way to solve this problem is related to the crosscutting concerns identification. To maximize its benefits, the identification must be performed from early stages of development process, but some works have reported that this has not been done in most of cases, making the system development susceptible to the errors incidence and prone to the refactoring later. This situation affects directly to the quality and cost of the system. PL-AOVgraph is a goal-oriented requirements modeling language which offers support to the relationships representation among requirements and provides separation of crosscutting concerns by crosscutting relationships representation. Therefore, this work presents a semi-automatic method to crosscutting concern identification in requirements specifications written in PL-AOVgraph. An adjacency matrix is used to identify the contributions relationships among the elements. The crosscutting concern identification is based in fan-out analysis of contribution relationships from the informations of adjacency matrix. When identified, the crosscutting relationships are created. And also, this method is implemented as a new module of ReqSys-MDD tool