998 resultados para Desenvolvimento de software
Resumo:
O aumento da escala e funcionalidade dos sistemas de computação e sua crescente complexidade envolvem um aumento significante de custos e exigem recursos humanos altamente qualificados para o desenvolvimento de software. Integrando-se o uso de métodos formais ao desenvolvimento de sistemas complexos, permite-se realizar análises e verificações destes sistemas, garantindo assim sua correção. Existem diversos formalismos que permitem descrever sistemas, cada qual com diferentes níveis de abstração. Quando consideramos sistemas complexos, surge a necessidade de um modelo que forneça construções abstratas que facilitem o entendimento e a especificação destes sistemas. Um modelo baseado em objetos fornece um nível de abstração que tem sido muito aplicado na prática, onde os dados e os processos que os manipulam são descritos juntos em um objeto. Gramática de Grafos Baseada em Objetos (GGBO) é um modelo baseado em objetos, que além de ser uma linguagem visual, apresenta a vantagem de as especificações adquirirem um estilo baseado em objetos, que é bastante familiar à maioria dos desenvolvedores. Porém, as GGBOs não possuem ainda ferramentas para verificação automática de propriedades desejadas nos sistemas modelados. Uma alternativa para resolver isso é definir uma tradução (que preserve a semântica) desta linguagem para outra, para a qual existam verificadores automáticos. Um formalismo bastante conhecido e estabelecido para descrição de sistemas concorrentes, para o qual existem verificadores automáticos, é o cálculo-π. Porém, sob o aspecto de especificação de sistemas complexos, GGBOs parecem ser mais adequadas como linguagem de especificação que o cálculo-π, pois são visuais, mais intuitivas e possuem um estilo baseado em objetos. Neste trabalho foi definido um formalismo (baseado nas GGBOs), denominado Gramática de Hipergrafos Baseada em Objetos e uma tradução deste formalismo para o cálculo-π, aliando assim as vantagens desses dois métodos. Além disso, para validar a tradução definida, foram feitas provas de que a semântica das gramáticas de hipergrafos baseadas em objetos é preservada na tradução.
Resumo:
Apesar de o CMMI (Capability Maturity Model Integration) prover uma cobertura mais detalhada do ciclo de vida dos produtos que o uso isolado de outros processos de melhoria, ainda assim não pode ser visto como uma metodologia pronta para ser utilizada pelas organizações. Cada organização deve mapear as áreas de processo do nível CMMI desejado (caso a opção seja a representação por estágios, como veremos adiante) à sua metodologia, aos seus métodos e técnicas de desenvolvimento de produtos e sistemas, levando também em consideração os objetivos de negócio da organização. Tanto o CMMI como as demais normas e modelos de qualidade, dizem “o que” e não “como” fazer. Determinar este “como” é um trabalho adicional bastante grande que as organizações devem realizar quando da adoção destas normas. Para isto, normalmente as organizações buscam no mercado empresas de consultoria que possuem experiência na área. Essas consultorias são bastante indicadas porque aumentam significativamente a qualidade e a velocidade dos resultados. Este trabalho pretende facilitar as organizações interessadas na implementação de um modelo de qualidade, fornecendo descrições sobre alguns dos modelos de qualidade mais utilizados atualmente, bem como modelos de processos, guias e formulários que podem ser utilizados diretamente ou como uma base para a implementação do modelo desejado. Embora se aplique à implementação de qualquer modelo de qualidade, mais especificamente, este trabalho destina-se a auxiliar organizações que visem implementar o modelo CMMI nível 2 (doravante usaremos também a abreviação CMMI-N2). Para tanto, descreve de forma mais detalhada este modelo e fornece um caminho para a implementação do mesmo, incluindo a descrição de um processo mínimo de desenvolvimento de software, com base no RUP (Rational Unified Process) e o uso de um modelo de ciclo de vida de melhoria de processos, o IDEAL. Neste trabalho, propõe-se que seja utilizado o modelo IDEAL para a implementação do modelo de qualidade devido ao fato de este modelo ter sido concebido originalmente como um modelo de ciclo de vida para melhoria de processos de software com base no SW-CMM (Capability Maturity Model for Software). Associado a esse modelo, é sugerido que se utilize algumas técnicas e processos de gerência de projetos para cada área de processo do CMMI-N2, visando implantar cada área de processo através de um projeto. Para a implementação são propostos guias, modelos (formulários) de implementação e uma tabela que mapeia todas as áreas de processo do CMMI-N2, seus objetivos, práticas, produtos de trabalho e as ferramentas associadas.
Alinhamento de expectativas e desempenho organizacional: um estudo sobre os métodos ágeis de gestão.
Resumo:
A adoção dos métodos ágeis de gestão do desenvolvimento de software tem sido uma tendência mundial, considerando-se as empresas do setor de tecnologia. Empresas brasileiras atuando neste mercado não estão apartadas deste quadro, uma vez que o objetivo desses métodos é endereçar um cenário comum a qualquer uma dessas organizações: lidar com a dificuldade de modelar adequadamente os problemas usualmente complexos que são objetivo da construção de um software e com a mudança constante de requisitos que esta situação representa, potencializada ainda mais pela dinâmica frenética da disseminação da informação no século XXI, além de modificar um quadro crônico de fracassos e falhas no setor, visando entregar produtos de qualidade aos seus clientes com o máximo de velocidade. Aspectos internos como o aumento de produtividade e a redução de retrabalho também fazem parte dos objetivos de adoção destas metodologias. O presente estudo visa avaliar os aspectos humanos e culturais envolvidos e identificar a convergência entre as expectativas da empresa e dos empregados quando da adoção de métodos ágeis de gestão, a partir de pesquisa de campo que capturou as reações de um grupo de entrevistados à implantação desses métodos na Módulo Security Solutions, empresa brasileira de tecnologia e serviços, após dois anos de uso interno abrangente. Os resultados apontam para o sucesso da implantação, com reação positiva dos empregados, a despeito da necessidade de endereçamento de aspectos humanos para ajuste do modelo e do impacto negativo da cultura local e organizacional terem sido amplamente percebidos.
Resumo:
A Porto Santo Line é a empresa responsável pela ligação marítima entre as ilhas Madeira e Porto Santo, oferecendo, para além do transporte, um conjunto de serviços e produtos que estão associado à sua actividade principal. A sua base de clientes inclui não só os residentes de ambas as ilhas, mas também muitos dos turistas que visitam o arquipélago. O posicionamento desta empresa no mercado é feito das formas tradicionais, onde se inclui uma rede de balcões e um site através do qual os clientes podem aceder aos produtos e serviços que constitui a oferta da Porto Santo Line. Num esforço de reforçar a sua presença no mercado e de intensificar a sua aposta na inovação, a empresa tem procurado encontrar novas formas e novos canais para chegar aos seus clientes. Este projecto visa dotar a Porto Santo Line de uma aplicação que estenda a sua presença no mercado, oferecendo aos seus clientes a possibilidade de aceder aos seus produtos e serviços através de equipamentos móveis. Este relatório documenta a realização deste projecto, dando principal enfase ao processo adoptado, assim como ao desenho do sistema e sua avaliação. Procurou-se igualmente evidenciar ao longo do relatório, as considerações mais relevantes na elaboração de um projecto com estas características.
Resumo:
Esta tese descreve o desenvolvimento de duas aplicações de software cujo objetivo consiste em demonstrar o funcionamento de duas ferramentas base de Sistemas Digitais. A primeira aplicação, denominada KarnUMa, pretende demonstrar o funcionamento dos Mapas de Karnaugh, que são utilizados na simplificação de expressões algébricas Booleanas. Esta aplicação está disponível em duas versões com destino a duas plataformas distintas: a primeira KarnUMa, disponível para computador, e a segunda Pocket KarnUMa, disponível para terminais móveis sob a forma de Midlet ou Android Package. A segunda aplicação desenvolvida, denominada ParTec, terá como objetivo demonstrar o funcionamento da Técnica das Partições, que é utilizada na eliminação de estados redundantes nas máquinas de estados. Esta segunda aplicação tem apenas o computador como plataforma de destino. Este documento conta com um levantamento das aplicações atualmente existentes nas áreas de interesse, uma descrição das tecnologias utilizadas no desenvolvimento do software, uma apresentação desse mesmo software descrevendo o que este tem de inovador e por fim uma descrição da forma como as aplicações foram publicadas.
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:
The industrial automation is directly linked to the development of information tecnology. Better hardware solutions, as well as improvements in software development methodologies make possible the rapid growth of the productive process control. In this thesis, we propose an architecture that will allow the joining of two technologies in hardware (industrial network) and software field (multiagent systems). The objective of this proposal is to join those technologies in a multiagent architecture to allow control strategies implementations in to field devices. With this, we intend develop an agents architecture to detect and solve problems which may occur in the industrial network environment. Our work ally machine learning with industrial context, become proposed multiagent architecture adaptable to unfamiliar or unexpected production environment. We used neural networks and presented an allocation strategies of these networks in industrial network field devices. With this we intend to improve decision support at plant level and allow operations human intervention independent
Resumo:
We propose a robotics simulation platform, named S-Educ, developed specifically for application in educational robotics, which can be used as an alternative or in association with robotics kits in classes involving the use of robotics. In the usually known approach, educational robotics uses robotics kits for classes which generally include interdisciplinary themes. The idea of this work is not to replace these kits, but to use the developed simulator as an alternative, where, for some reason, the traditional kits cannot be used, or even to use the platform in association with these kits. To develop the simulator, initially, we conducted research in the literature on the use of robotic simulators and robotic kits, facing the education sector, from which it was possible to define a set of features considered important for creating such a tool. Then, on the software development phase, the simulator S-Educ was implemented, taking into account the requirements and features defined in the design phase. Finally, to validate the platform, several tests were conducted with teachers, students and lay adults, in which it was used the simulator S-Educ, to evaluate its use in educational robotics classes. The results show that robotic simulator allows a reduction of financial costs, facilitate testing and reduce robot damage inherent to its use, in addition to other advantages. Furthermore, as a contribution to the community, the proposed tool can be used to increase adhesion of Brazilian schools to the methodologies of educational robotics or to robotics competitions
Resumo:
We propose an online configurable multiplatform development environment specifically developed for educational robotics applications. The environment, which appears as an extension of RoboEduc software, allows the programming of several programmable robots to be performed using the R-Educ language. We make it possible for the user to program in the language R-Educ and then translate the code to a language previously registered, compiled and then sent or executed by the robot. To develop this work, we conducted a bibliographic research about the main programming languages used in robotics, as well as their definitions and paradigms, from which it was possible to define a set of patterns considered important for the creation of this environment. Then, in the software development phase, we implemented the development environment, bearing in mind the requirements and functionality defined in the design phase. Finally, to validate the platform, we conducted some trials of programming languages and verificate if the complete cycle was satisfied - registration of language, programming in R-Educ, compilation for the registered language, compilation to the machine code and send the code for the robot
Resumo:
The nature of this thesis is interventionist and aims to create an alternative on how to control and evaluate the public policies implementation developed at the Institute for Technical Assistance and Rural Extension of Rio Grande do Norte State. The cenarium takes place in a public institution , classified as a municipality that belongs to the Rio Grande do Norte government and adopts the design science research methodology , where it generates a set of artifacts that guide the development of a computerized information system . To ensure the decisions, the literature was reviewed aiming to bring and highlight concepts that will be used as base to build the intervention. The use of an effective methodology called Iconix systems analysis , provides a software development process in a short time . As a result of many artifacts created by the methodology there is a software computer able of running on the Internet environment with G2C behavior, it is suggested as a management tool for monitoring artifacts generated by the various methods. Moreover, it reveals barriers faced in the public companies environment such as lack of infrastructure , the strength of the workforce and the executives behavior
Resumo:
A maioria da soluções apresentadas como candidatas à implementação de serviços de distribuição de áudio e vídeo, têm sido projetadas levando-se em consideração determinadas condições de infra-estrutura, formato dos fluxos de vídeo a serem transmitidos, ou ainda os tipos de clientes que serão atendidos pelo serviço. Aplicações que utilizam serviços de distribuição de vídeo normalmente precisam lidar com grandes oscilações na demanda pelo serviço devido a entrada e saída de usuários do serviço. Com exemplo, basta observar a enorme variação nos níveis de audiência de programas de televisão. Este comportamento coloca um importante requisito para esta classe de sistemas distribuídos: a capacidade de reconfiguração como conseqüência de variações na demanda. Esta dissertação apresenta um estudo que envolveu o uso de agentes móveis para implementar os servidores de um serviço de distribuição de vídeo denominada DynaVideo. Uma das principais características deste serviço é a capacidade de ajustar sua configuração em conseqüência de variações na demanda. Como os servidores DynaVideo podem replicar-se e são implementados como código móvel, seu posicionamento pode ser otimizado para atender uma dada demanda e, como conseqüência, a configuração do serviço pode ser ajustada para minimizar o consumo de recursos necessários para distribuir vídeo para seus usuários. A principal contribuição desta dissertação foi provar a viabilidade do conceito de servidores implementados como agentes móveis Java baseados no ambiente de desenvolvimento de software Aglet.
Resumo:
Aspect Oriented approaches associated to different activities of the software development process are, in general, independent and their models and artifacts are not aligned and inserted in a coherent process. In the model driven development, the various models and the correspondence between them are rigorously specified. With the integration of aspect oriented software development (DSOA) and model driven development (MDD) it is possible to automatically propagate models from one activity to another, avoiding the loss of information and important decisions established in each activity. This work presents MARISA-MDD, a strategy based on models that integrate aspect-oriented requirements, architecture and detailed design, using the languages AOV-graph, AspectualACME and aSideML, respectively. MARISA-MDD defines, for each activity, representative models (and corresponding metamodels) and a number of transformations between the models of each language. These transformations have been specified and implemented in ATL (Atlas Definition Language), in the Eclipse environment. MARISA-MDD allows the automatic propagation between AOV-graph, AspectualACME, and aSideML models. To validate the proposed approach two case studies, the Health Watcher and the Mobile Media have been used in the MARISA-MDD environment for the automatic generation of AspectualACME and aSideML models, from the AOV-graph model
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:
Este trabalho apresenta uma extensão do provador haRVey destinada à verificação de obrigações de prova originadas de acordo com o método B. O método B de desenvolvimento de software abrange as fases de especificação, projeto e implementação do ciclo de vida do software. No contexto da verificação, destacam-se as ferramentas de prova Prioni, Z/EVES e Atelier-B/Click n Prove. Elas descrevem formalismos com suporte à checagem satisfatibilidade de fórmulas da teoria axiomática dos conjuntos, ou seja, podem ser aplicadas ao método B. A checagem de SMT consiste na checagem de satisfatibilidade de fórmulas da lógica de primeira-ordem livre de quantificadores dada uma teoria decidível. A abordagem de checagem de SMT implementada pelo provador automático de teoremas haRVey é apresentada, adotando-se a teoria dos vetores que não permite expressar todas as construções necessárias às especificações baseadas em conjuntos. Assim, para estender a checagem de SMT para teorias dos conjuntos destacam-se as teorias dos conjuntos de Zermelo-Frankel (ZFC) e de von Neumann-Bernays-Gödel (NBG). Tendo em vista que a abordagem de checagem de SMT implementada no haRVey requer uma teoria finita e pode ser estendida para as teorias nãodecidíveis, a teoria NBG apresenta-se como uma opção adequada para a expansão da capacidade dedutiva do haRVey à teoria dos conjuntos. Assim, através do mapeamento dos operadores de conjunto fornecidos pela linguagem B a classes da teoria NBG, obtem-se uma abordagem alternativa para a checagem de SMT aplicada ao método B
Resumo:
This paper proposes a systematic approach to management of variability modelsdriven and aspects using the mechanisms of approaches Aspect-Oriented Software Development (AOSD) and Model-Driven Development (MDD). The main goal of the approach, named CrossMDA-SPL, is to improve the management(gerência), modularization and isolation ou separation of the variability of the LPSs of architecture in a high level of abstraction (model) at the design and implementing phases of development Software Product Lines (SPLs), exploiting the synergy between AOSD and MDD. The CrossMDA-SPL approach defines some artifacts basis for advance the separation clear in between the mandatory (bounden) and optional features in the architecture of SPL. The artifacts are represented by two models named: (i) core model (base domain) - responsible for specify the common features the all members of the SPL, and (ii) variability model - responsible for represent the variables features of SPL. In addition, the CrossMDA-SPL approach is composed of: (i) guidelines for modeling and representation of variability, (ii) CrossMDA-SPL services and process, and (iii) models of the architecture of SPL or product instance of SPL. The guidelines use the advantages of AOSD and MDD to promote a better modularization of the variable features of the architecture of SPL during the creation of core and variability models of the approach. The services and sub-processes are responsible for combination automatically, through of process of transformation between the core and variability models, and the generation of new models that represent the implementation of the architecture of SPL or a instance model of SPL. Mechanisms for effective modularization of variability for architectures of SPL at model level. The concepts are described and measured with the execution of a case study of an SPL for management systems of transport electronic tickets