827 resultados para engenharia de software
Resumo:
Jogos educacionais constituem em uma importante ferramenta de ensino na área de Engenharia de Software, onde, muitas vezes, os alunos não passam por nenhum mecanismo de treinamento prático. Um jogo educacional de qualidade tem que ter objetivos educacionais bem definidos, motivar os alunos e efetivar a aprendizagem dos conteúdos. A aplicação de jogos no Ensino de Engenharia de Software deve ser realizada de forma sistemática e controlada com base em avaliação. A técnica Estatística de Experimentação permite a medição e a análise das variáveis envolvidas no processo de aplicação de jogos para que estes possam ser aplicados com qualidade. Para definir melhor os experimentos no uso de jogos para o ensino de Engenharia de Software, este trabalho propõe diretrizes para o planejamento de experimentos em jogos educacionais, de forma que permita verificar a influência e a significância da utilização desses jogos no ensino e aprendizado dos conceitos de Engenharia de Software. Um experimento com o SimulES-W foi realizado seguindo essas diretrizes, onde foi possível ser demonstrada sua aplicabilidade e simplicidade em sua definição. A experiência de uso do SimulES-W mostra que aprender com jogos de computador é divertido, interativo e que, apesar dos resultados obtidos não serem significativos estatisticamente, de certa forma contribui para o ensino da Engenharia de Software, não sendo necessariamente um conhecimento prévio do conteúdo.
Resumo:
Dissertação apresentada à Universidade Fernando Pessoa como partes dos requisitos para a obtenção do grau de Mestre em Engenharia Informática, ramo de Computação Móvel
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:
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:
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:
Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP)
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:
Reporta resultados da aplicação de princípios da gestão do conhecimento na condução de um projeto de definição, modelagem e implementação de processo de desenvolvimento de software, no contexto de uma organização do setor público. O processo resultante, denominado SIGA-ME, se mostrou capaz de harmonizar práticas variadas, integrar processos técnicos de TI e formalizar papeis e responsabilidades dos participantes envolvidos. Estão relatadas neste trabalho as principais dificuldades encontradas e lições aprendidas registradas ao longo do trabalho, que adotou como estratégia o levantamento dos pontos de interesse das áreas envolvidas, a validação de práticas em projetos reais, o desenho do processo através da notação BPMN e a utilização do MediaWiki como ferramenta de comunicação, colaboração e compartilhamento de conhecimento.
Resumo:
A especificação dos requisitos de software pressupõe que se conheçam os requisitos do sistema do que será parte. Os requisitos do sistema, por sua vez, pressupõem o conhecimento do negócio (business) onde o sistema será utilizado. Para que estes conhecimentos sejam obtidos é importante o envolvimento dos stakeholders tanto no nível de sistema quanto no nível de negócio. As literaturas sobre Engenharia de Requisitos, Engenharia de Software e Engenharia de Sistemas concordam que o envolvimento dos stakeholders é fundamental. O tratamento dispensado ao assunto, no entanto, é pequeno, dada a importância do tema. Esta dissertação, utilizando conceitos da Engenharia de Métodos Situacionais e de Design Science, apresenta o ZEP Framework, um artefato, produzido com o software EPF Composer, que permite a criação de métodos para envolver o stakeholder. Estes métodos, para serem criados, devem levar em consideração as peculiaridades da organização, dos recursos disponíveis e do projeto em si. São apresentados, ainda, alguns cenários, na área de Turismo, como exemplos da utilização do framework.
Resumo:
O contexto da era da informação exige novas habilidades para competir com sucesso, tanto para empresas industriais como para as de serviços. Desde o seu surgimento, a Engenharia de Software tem enfrentado o desafio em estimar, controlar e gerenciar custos no processo de desenvolvimento de software. Os custos são parte de um projeto de software e nem sempre são claramente mensurados. Algumas desenvolvedoras de software são caracterizadas como prestadoras de serviços e as organizações que prestam serviços possuem as mesmas dificuldades em termos gerenciais que as indústrias, elas precisam de sistemas de gestão adequados para gerir seus custos, logo seus recursos. Nesse contexto é que os sistemas de informações contábeis estão inseridos, fornecendo respostas que os gestores necessitam para tomar decisões. Os custos são exemplos desse tipo de informação, pois o seu conhecimento é indispensável para uma boa gerência dos recursos organizacionais. O Custeio Baseado em Atividades (ABC) é uma ferramenta contábil útil para o gerenciamento estratégico dos custos uma vez que os sistemas de custeio tradicionais já não atendem essa necessidade das organizações. Diante desse cenário, o objetivo geral dessa dissertação é aplicar a metodologia de custeio baseado em atividades em um projeto de desenvolvimento de software com a finalidade de gestão de custos. Este pesquisa caracteriza-se como qualitativa descritiva e faz uso do método do estudo de caso. Através desse estudo foi possível comprovar a utilidade do ABC como instrumento de auxílio na gestão de custos nas organizações que prestam serviços em desenvolvimento de software, pois possibilita a visualização da maneira que os recursos são consumidos pelas atividades que agregam e não agregam valor ao negócio e ao cliente.
Resumo:
Dissertação para obtenção do Grau de Doutor em Engenharia Informática