993 resultados para Engenharia de software experimental
Resumo:
A colaboração na pesquisa é uma das tarefas centrais da área acadêmica. Atualmente, muitos pesquisadores estão utilizando meios modernos de troca de arquivos digitais através de ferramentas assíncronas e também com o uso de ferramentas mais sofisticadas, do tipo síncronas. Juntamente com o fato da crescente quantidade de artigos sendo gerados, mais complexos, diversificados e aumentando de forma desorganizada, o que trás ao pesquisador uma tarefa difícil para organizá-los de forma a se extrair o melhor conteúdo destes, isto ocorre porque uma subárea da Engenharia de Software (ES) ainda é bastante mal aproveitada, a Engenharia de Software Experimental (ESE). Utilizando-se de um dos tipos de experimentos que a ESE oferece, as revisões sistemáticas entram como uma solução bastante robusta, na qual o pesquisador pode identificar o conhecimento existente em uma área e planejar devidamente sua pesquisa, evitando a repetição de erros em pesquisas já efetivadas por outros pesquisadores no passado. Contudo, estas duas abordagens, a colaboração virtual de pesquisadores e a utilização de revisões sistemáticas, contem problemas: na primeira, sistemas colaborativos são geralmente difíceis de configurar e usar; na segunda, apesar da robustez da metodologia de revisões sistemáticas, ainda se torna necessário uma rigorosa revisão na literatura para se conseguir um resultado satisfatório. Assim, com o foco de unir estas duas abordagens, este trabalho propõe uma maneira de produzir revisões sistemáticas de forma organizada e com a possibilidade de interação entre usuários, com o desenvolvimento de um sistema interativo, no qual as revisões sistemáticas possam ser geradas por usuários em colaboração com outros e também ser avaliadas seguindo a orientação de um profissional da área, tornando o seu conteúdo mais consistente e de melhor qualidade. O sistema não possui níveis de acesso, ou seja, qualquer pessoa pode se cadastrar e usufruir de seus recursos, seja na área acadêmica ou mesmo na área profissional
Resumo:
Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP)
Resumo:
A demanda por aplicações de workflow tem crescido rapidamente. Por um lado há uma evolução em ambientes com plataformas de sistemas maduras e disseminadas, por outro, processos de redesenho administrativo têm contribuído no aumento desta demanda. Apesar disto, profissionais de TI ainda encontram alguns problemas, e por isto, têm se aproximado de workflow com receio. Na administração pública de Porto Alegre, a otimização dos processos organizacionais de atendimento às demandas individuais dos cidadãos - que geram um registro em papel que constitui o que se denomina processo administrativo ou expediente, ou seja, um volume físico de papéis tramitando manualmente pelas estruturas que atuam no atendimento da demanda - redundou no emprego de ferramentas de automação para introduzir maior produtividade e eficiência na mudança dos métodos de trabalho. Mas alguns problemas se destacaram quando foi iniciado o desenvolvimento de aplicações de automação de processos. Uma face deles se mostrou em problemas conceituais que vão desde a confusão entre workflow e outras áreas, como BPR ou GED, à falta de domínio sobre as abstrações fundamentais na elicitação de workflow. Outra face se mostrou nos WMS, verdadeiros ambientes proprietários, fechados e pesados, de difícil utilização e pouco flexíveis para os desenvolvedores utilizarem em seu ambiente. Finalmente, outro problema foi a integração de aplicações de workflow com sistemas de informação, buscando informações e eventos em aplicações legadas, algumas existentes por décadas. Frente a isto, este trabalho aborda a produção de workflow sob a ótica dos desenvolvedores - analistas, projetistas e programadores - que necessitam criar aplicações corporativas em seus ambientes de Engenharia de Software. Neste cenário, a linha divisória entre a elaboração de uma aplicação de workflow e um sistema de informação se torna tênue, e compreender os aspectos envolvidos, dominá-los e utilizá-los neste ambiente é primordial para o sucesso e disseminação de aplicações de automação de processos. Este trabalho propõe uma extensão do Diagrama de Atividades da UML para modelar e elicitar o controle de atividades, a criação de um motor de workflow para executar a máquina de estados do Diagrama de Atividades, a ser utilizado como componente na arquitetura das aplicações. A utilização do motor de workflow e do Diagrama de Atividades estendido são apresentados num case de automação de um processo da Secretaria do Planejamento Municipal da Prefeitura Municipal de Porto Alegre que atende a solicitações diretas dos cidadãos.
Resumo:
Esta videoaula é uma apresentação do conteúdo que será trabalhado durante a disciplina de Engenharia de Software. O objetivo principal da disciplina é ensinar os alunos a projetar um sistema orientado a objetos usando a linguagem de modelagem UML. O objetivo secundário é ensiná-los a desenvolver um sistema de forma iterativa e incremental. Os diagramas abordados durante o curso são Casos de Uso, Diagramas Conceituais e de Classes, Diagrama de Seqüência, Diagrama de Colaboração e de Estado. Para exemplificar e transmitir tais ensinamentos será usado um sistema de reserva de uma rede de hotéis. Este material é voltado aos estudantes de graduação que estão cursando disciplinas de Engenharia de Software.
Resumo:
Os hidrogeradores são peças chaves no circuito brasileiro de energia, sua indisponibilidade e mau funcionamento podem causar multas altíssimas a concessionárias aplicadas pela ANEEL por não atenderem a demandas e até por paradas impróprias para efetivar manutenções, além de agravar confiabilidade na garantia do fornecimento aos consumidores finais. Para garantir que isso não venha acontecer, a manutenção preditiva fornece técnicas que podem apontar as falhas analisando os “sinais vitais” originados pelo próprio equipamento. Desta forma as condições mecânicas e operacionais são periodicamente monitoradas e quando as tendências são detectadas insalubres, as peças incômodas na máquina são identificadas e programadas para manutenção. Para que essa tendência seja encontrada, utiliza-se da lógica fuzzy para modelar o comportamento dos hidrogeradores, sendo mais especifico: mancais, estator e anel coletor, inferindo conclusões prováveis de falhas. Neste trabalho, mostra o processo de construção do sistema que auxilia no diagnóstico da manutenção preditiva, desde sua metodologia de desenvolvimento por macro-atividades, definição arquitetural, conformidade dos requisitos e análise do conhecimento inserido a inteligência do sistema. O sistema foi desenvolvido em plataforma labview para servir como ferramenta de apoio. Todo o conhecimento inserido no sistema foi obtido com o corpo especialista de Eletronorte e outra parte na literatura, foi necessário aplicar o conceito de regras ao maquina de inferência fuzzy, para uma forma linguística de fácil compreensão, para que os próprios especialistas ampliem e evolua o software.
Resumo:
Indicadores de desempenho são importantes recursos para a gestão da qualidade no desenvolvimento de software. O volume de dados produzido por esses indicadores tende a aumentar significativamente com o tempo de monitoração, dificultando análises e tomadas de decisão. As bases históricas tornam-se complexas, considerando a quantidade de dados monitorados e a diversidade de indicadores (diferentes tipos, granularidade e frequência). Este trabalho propõe o uso de técnicas de aprendizagem de máquina para análise dessas bases, utilizando redes neurais artificiais combinadas com técnicas de visualização de informação. É utilizado um modelo de indicadores, com base nos processos do modelo de referência MPS para Software (MPS-SW), agrupados segundo as perspectivas estratégicas do Balanced Scorecard (BSC).
Resumo:
Este trabalho identifica o Código de Ética e Prática Profissional da engenharia de software como o conjunto de práticas para consideração de fatores humanos na engenharia de software. A seguir, estende o Kernel da especificação Essence, e o utiliza para conduzir a aplicação desse conjunto de práticas. A prova de conceito indica que o conjunto de práticas identificadas não garante a consideração de fatores humanos na engenharia de software. Considerar a ética nas interações existentes na empreitada de engenharia de software não é um simples caso de utilização de checklists como forma de verificar o que deve ser feito para certificar que algo foi realizado. Considerar a ética é mais do que isso. É necessário que todas as pessoas tenham consciência da importância da ética, do respeito de um ao outro e à sociedade.
Resumo:
As pesquisas e as práticas em inteligência analítica na Engenharia de Software têm crescido nas últimas décadas. As informações contidas em um repositório de software podem auxiliar engenheiros de software em suas atividades durante todas as fases do desenvolvimento de software. O uso da inteligência analítica está ajudando os profissionais da Engenharia de Software a obterem informações relevantes do repositório de software, direcionando-os para melhores tomadas de decisões. Por se tratar de um bem intangível, pode ser difícil compreender as informações geradas pelo software. Este trabalho realizou um mapeamento sistemático da literatura sobre inteligência analítica na Engenharia de Software, o que propiciou a elaboração de um arcabouço conceitual para utilização da inteligência analítica capaz de auxiliar nas atividades da Engenharia de Software. Com a finalidade de validar este arcabouço conceitual, foi construído um protótipo de uma aplicação que analisou dados de um software livre. Tal protótipo foi validado e comentado por um grupo focal formado por desenvolvedores e gestores de projetos de software de uma grande empresa da área de Tecnologia da Informação. Concluiu-se que a inteligência analítica é fortemente utilizada durante a fase de manutenção e vem crescendo sua utilização na área de Gestão e na Prática Profissional. Constatou-se que os commits podem ser bons indicadores da evolução de software e que a ferramenta desenvolvida neste trabalho permite compreender o que está sendo alterado no sistema e por que a alteração ocorreu.
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:
Um corpo de conhecimento em Engenharia de Software requer a replicação de experimentos controlados. O conhecimento gerado por um experimento é registrado no chamado pacote de laboratório, o qual deve ser revisado por um eventual grupo de pesquisa com a intenção de replicá-lo. Entretanto, pesquisadores enfrentam dificuldades ao revisar pacotes de laboratório, o que leva a problemas de compartilhamento de conhecimento entre grupos de pesquisa. Além disso, a falta de padronização é um obstáculo à integração de um estudo isolado em um corpo de conhecimento comum. Nesse contexto, é proposto um workflow para gerar pacotes de laboratório baseados na ExperOntology, uma ontologia do domínio de experimentos controlados, visando a contribuir na revisão e no entendimento de pacotes de laboratório.
Resumo:
RESUMO: Hoje em dia o software tornou-se num elemento útil na vida das pessoas e das empresas. Existe cada vez mais a necessidade de utilização de aplicações de qualidade, com o objectivo das empresas se diferenciarem no mercado. As empresas produtoras de software procuram aumentar a qualidade nos seus processos de desenvolvimento, com o objectivo de garantir a qualidade do produto final. A dimensão e complexidade do software aumentam a probabilidade do aparecimento de não-conformidades nestes produtos, resultando daí o interesse pela actividade de testes de software ao longo de todo o seu processo de concepção, desenvolvimento e manutenção. Muitos projectos de desenvolvimento de software são entregues com atraso por se verificar que na data prevista para a sua conclusão não têm um desempenho satisfatório ou por não serem confiáveis, ou ainda por serem difíceis de manter. Um bom planeamento das actividades de produção de software significa usualmente um aumento da eficiência de todo o processo produtivo, pois poderá diminuir a quantidade de defeitos e os custos que decorrem da sua correcção, aumentando a confiança na utilização do software e a facilidade da sua operação e manutenção. Assim se reconhece a importância da adopção de boas práticas no desenvolvimento do software. Para isso deve-se utilizar uma abordagem sistemática e organizada com o intuito de produzir software de qualidade. Esta tese descreve os principais modelos de desenvolvimento de software, a importância da engenharia dos requisitos, os processos de testes e principais validações da qualidade de software e como algumas empresas utilizam estes princípios no seu dia-a-dia, com o intuito de produzir um produto final mais fiável. Descreve ainda alguns exemplos como complemento ao contexto da tese. ABSTRACT: Nowadays the software has become a useful element in people's lives and it is increasingly a need for the use of quality applications from companies in order to differentiate in the market. The producers of software increase quality in their development processes, in order to ensuring final product quality. The complexity and size of software, increases the probability of the emergence of non-conformities in these products, this reason increases of interest in the business of testing software throughout the process design, development and maintenance. Many software development projects are postpone because in the date for delivered it’s has not performed satisfactorily, not to be trusted, or because it’s harder to maintain. A good planning of software production activities, usually means an increase in the efficiency of all production process, because it can decrease the number of defects and the costs of it’s correction, increasing the reliability of software in use, and make it easy to operate and maintenance. In this manner, it’s recognized the importance of adopting best practices in software development. To produce quality software, a systematic and organized approach must be used. This thesis describes the main models of software development, the importance of requirements engineering, testing processes and key validation of software quality and how some companies use these principles daily, in order to produce a final product more reliable. It also describes some examples in addition to the context of this thesis.
Resumo:
Em suma este trabalho de projeto visa a criação de uma ferramenta que permita a gestão dos transportes para a recolha de matéria-prima necessária ao bom funcionamento da fábrica de produção automóvel Volkswagen Autoeuropa num ambiente dinâmico, sendo esta desenvolvida para responder às necessidades da empresa. Assim foi desenvolvido o protótipo Milk Run Software que consiste basicamente na integração de informação fornecida pela empresa relativa a consumos de materiais provenientes de ordens de produção, fornecedores e transportes. Com base nestes dados e recurso a sistemas externos é efetuada a georreferenciação de fornecedores para que exista a noção de proximidade entre estes, além disso foi construído um sistema de decisão, para que com base nos consumos (peças, pesos e volumes), se consigam determinar e gerir as rotas de transportes da empresa Volkswagen Autoeuropa com base no conceito Milk Run, que consiste na otimização do transporte de peças para montagem de veículos, no qual tem em conta a localização geográfica, o volume ou peso a transportar, as limitações físicas dos veículos de transporte, bem como o número de paragens máximas (cargas a efetuar no percurso). Neste projeto são utilizadas diversas técnicas de análise protagonizadas para a construção de ferramentas com o recurso à Engenharia de Software, e a algumas técnicas na área de pesquisa em espaços de estado para auxiliar o conceito Milk Run para resolução dos problemas encontrados.
Resumo:
The main objective of this work was to investigate the application of experimental design techniques for the identification of Michaelis-Menten kinetic parameters. More specifically, this study attempts to elucidate the relative advantages/disadvantages of employing complex experimental design techniques in relation to equidistant sampling when applied to different reactor operation modes. All studies were supported by simulation data of a generic enzymatic process that obeys to the Michaelis-Menten kinetic equation. Different aspects were investigated, such as the influence of the reactor operation mode (batch, fed-batch with pulse wise feeding and fed-batch with continuous feeding) and the experimental design optimality criteria on the effectiveness of kinetic parameters identification. The following experimental design optimality criteria were investigated: 1) minimization of the sum of the diagonal of the Fisher information matrix (FIM) inverse (A-criterion), 2) maximization of the determinant of the FIM (D-criterion), 3) maximization of the smallest eigenvalue of the FIM (E-criterion) and 4) minimization of the quotient between the largest and the smallest eigenvalue (modified E-criterion). The comparison and assessment of the different methodologies was made on the basis of the Cramér-Rao lower bounds (CRLB) error in respect to the parameters vmax and Km of the Michaelis-Menten kinetic equation. In what concerns the reactor operation mode, it was concluded that fed-batch (pulses) is better than batch operation for parameter identification. When the former operation mode is adopted, the vmax CRLB error is lowered by 18.6 % while the Km CRLB error is lowered by 26.4 % when compared to the batch operation mode. Regarding the optimality criteria, the best method was the A-criterion, with an average vmax CRLB of 6.34 % and 5.27 %, for batch and fed-batch (pulses), respectively, while presenting a Km’s CRLB of 25.1 % and 18.1 %, for batch and fed-batch (pulses), respectively. As a general conclusion of the present study, it can be stated that experimental design is justified if the starting parameters CRLB errors are inferior to 19.5 % (vmax) and 45% (Km), for batch processes, and inferior to 42 % and to 50% for fed-batch (pulses) process. Otherwise equidistant sampling is a more rational decision. This conclusion clearly supports that, for fed-batch operation, the use of experimental design is likely to largely improve the identification of Michaelis-Menten kinetic parameters.
Resumo:
Trabalho apresentado no âmbito do Mestrado em Engenharia Informática, como requisito parcial para obtenção do grau de Mestre em Engenharia Informática