38 resultados para Engenharia : Software
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:
Construção de software com qualidade tem motivado diversas pesquisas na área de Engenharia de Software. Problemas como a grande complexidade requerida pelas aplicações atuais e a necessidade de gerenciamento de um número cada vez maior de pessoas envolvidas em projetos são obstáculos para serem transpostos. Trabalhos relacionados a tecnologia de processos de software aparecem como uma proposta para se obter maior controle das atividades realizadas com o intuito de se obter maior qualidade. A simulação de processos de software, através da representação dos passos definidos em um modelo, tem sido utilizada no auxílio a gerentes de projetos de sistemas para fornecer-lhes informações preciosas sobre o desenvolvimento de um sistema especificado. A representação de conhecimento a respeito das características relacionadas a um ambiente de desenvolvimento ajuda na obtenção de simulações mais realísticas. A partir do modelo, o simulador obtém uma descrição do ambiente em que deve atuar, baseado no conhecimento que se tem a respeito do ambiente. Esse trabalho apresenta um modelo de simulação de processos de software baseado em conhecimento para ser inserido em um ambiente de engenharia de processos de software. A função do modelo é simular um processo de software instanciado, procurando detectar inconsistências no mesmo que possam gerar problemas durante a sua execução, como aumento de custos e comprometimento da qualidade do(s) produto(s) obtido(s). Após a simulação o projetista pode constatar a necessidade de se refazer o modelo, ajustar parâmetros ou executar o processo de software. O objetivo da simulação, nesse trabalho, é auxiliar as pessoas responsáveis por um ambiente de desenvolvimento a obter modelos de processos validados. O modelo de simulação foi definido para ser utilizado no ambiente PROSOFT, que é um ambiente de desenvolvimento que permite a integração de novas ferramentas para desenvolvimento de software. O ambiente PROSOFT vem recebendo propostas de extensão que tem contribuído para o seu aprimoramento, fornecendo para seus usuários uma quantidade cada vez maior de ferramentas de auxílio a construção de artefatos de software. As propostas mais recentes foram um modelo para construção de sistemas especialistas, a definição de um ambiente cooperativo e um gerenciador de processos de software. ATOs algébricos (construções do PROSOFT) são utilizados para especificar formalmente o modelo de simulação definido neste trabalho. A validação é realizada através de um modelo em UML (Unified Method Language) que foi utilizado como base para a construção de um programa implementado usando a linguagem Java. Isso ocorre porque a ferramenta do PROSOFT (implementada em Java) que seria utilizada para validar as especificações algébricas ainda não está finalizada.
Resumo:
A tecnologia de processos de desenvolvimento de software ´e uma importante área de estudo e pesquisas na Engenharia de Software que envolve a construção de ferramentas e ambientes para modelagem, execução, simulação e evolução de processos de desenvolvimento de software, conhecidos como PSEEs (do inglês: Process-Centered Software Engineering Environments). Um modelo de processo de software é uma estrutura complexa que relaciona elementos gerenciáveis (i.e. artefatos, agentes, e atividades) que constituem o processo de software. Esta complexidade, geralmente, dificulta a percepção e entendimento do processo por parte dos profissionais envolvidos, principalmente quando estes profissionais têm acesso apenas a uma visão geral do modelo. Desta forma, há necessidade de mecanismos para visualização e acompanhamento dos processos, fornecendo informações adequadas aos diferentes estados, abstraindo as informações relevantes tanto as fases presentes no processo de desenvolvimento quanto ao agente envolvido, além de facilitar a interação e o entendimento humano sobre os elementos do processo. Estudos afirmam que a maneira como são apresentadas as informações do modelo de processo pode influenciar no sucesso ou não do desenvolvimento do software, assim como facilitar a adoção da tecnologia pela indústria de software. Este trabalho visa contribuir nas pesquisas que buscam mecanismos e cientes para a visualização de processos de software apresentando a abordagem APSEE-Monitor destinada ao apoio a visualização de processos de software durante a sua execução. O principal objetivo desta pesquisa é apresentar um modelo formal de apoio a visualização de processos capaz de extrair dados de processos e organizá-los em sub-domínios de informações de interesse do gerente de processos. Neste trabalho aplica-se o conceito de múltiplas perspectivas como uma estratégia viável para a abstração e organização das informações presentes no modelo de processos. A solução proposta destaca-se por estender a definção original de perspectivas e fornecer uma estratégia de extração dos dados através de uma especificação formal utilizando o paradigma PROSOFT-Algébrico. Além disso, o trabalho apresenta um conjunto de requisitos relativos a interação entre gerentes de processos e PSEEs, a definição formal das perspectivas, uma gramática que define a linguagem de consulta aos processos, e um protótipo da aplicação.
Resumo:
O traçado de obras com características lineares num espaço geográfico tem, em princípio, um número muito grande de soluções. A seleção de traçados mais convenientes é hoje abordada pela Pesquisa Operacional por meio da Programação Dinâmica tradicional e das técnicas para resolver o problema conhecido como leastcost- path, (caminho de mínimo custo). Por sua vez, o planejamento de espaços geográficos é feito com o auxílio de técnicas de SIG (sistemas de informação geográfica). O estudo algorítmico dos caminhos de mínimo custo não é novidade e até os programas comerciais para SIG mais utilizados têm incorporado comandos que, com certas limitações, resolvem esse problema. Mas, seja qual for a abordagem, sempre é preciso conhecer a priori a funçãoobjetivo (FO), e isto não é tarefa fácil, pois devem ser conjugados objetivos de satisfação de necessidades sociais, políticas, ambientais e econômicas, o que gera um verdadeiro problema de otimização multiobjetivo e multicritério. Este trabalho teve como foco principal elaborar um modelo de decisão para ajudar na formulação da FO, adotando o paradigma multiobjetivo/multicritério, explorando inclusive o relaxamento difuso de pareceres dos decisores. Foram utilizadas apenas ferramentas computacionais (software e hardware) simples, de ampla difusão entre os engenheiros e de baixo custo, como a planilha de cálculo Excel e o programa Idrisi 32, procurando explorar suas aptidões e limitações, sem recorrer à elaboração e/ou utilização de códigos computacionais próprios, sobre os quais muitas pessoas sentem receios até não serem testados suficientemente. Foi obtido um sistema de apoio à decisão eficaz e de fácil utilização e sua possibilidade de aplicação foi testada na definição do traçado ótimo de parte da defesa norte da cidade de Resistencia (Argentina).
Resumo:
O crescimento experimentado pela indústria do software nas últimas décadas, trouxe consigo o aumento das exigências do mercado. É exigido das organizações de software, que os sistemas sejam construídos de acordo com prazo e custos determinados, obedecendo-se certos padrões de qualidade. Para atender tais exigências e assim obter o diferencial competitivo, tornou-se necessário investir no processo de desenvolvimento de software, dada a relação cada vez mais evidente entre a qualidade do produto de software e a eficiência e eficácia do processo de desenvolvimento adotado. Uma estratégia na busca pela maturidade em termos de processos é a definição e adoção de um processo único a ser seguido em todos os projetos de uma organização, denominado processo padrão. Levando-se em consideração a singularidade de cada novo projeto de software, é natural presumir que o processo padrão tenha de ser adaptado para as necessidades específicas de cada situação, de forma a ser aceito, ter seu uso maximizado e garantir a qualidade do software a ser produzido. Este trabalho apresenta, assim, o APSEE-Tail, um modelo para apoiar o engenheiro de processos na tarefa de adaptar o processo padrão de uma organização de software para as particularidades de cada um de seus projetos, possibilitando maior efetividade e eficiência no uso do mesmo. Sua abordagem de adaptação é livre, orientada à atividades e baseada no raciocínio, através da combinação das técnicas de interpretação de regras e CBR (Case Based Reasoning), sobre o conhecimento necessário. Tal conhecimento, neste trabalho, é agrupado em três categorias: diretrizes de adaptação do processo padrão, tipos de característica usados para definir os projetos de software e informações sobre adaptações realizadas anteriormente. Os diferentes componentes envolvidos na definição do APSEE-Tail foram especificados algebricamente, o que constituiu uma base semântica de alto nível de abstração e possibilitou a construção de um protótipo, implementado no ADS (Ambiente de Desenvolvimento de Software) Prosoft-Java e fracamente acoplado ao APSEE, um ambiente de engenharia de software centrado no processo também prototipado no Prosoft-Java, tornando-se assim parte do meta-processo adotado pelo mesmo. O texto apresenta ainda alguma fundamentação teórica sobre a área de Adaptação de Processos de Software, considerações sobre as abordagens pesquisadas, enfatizando as que mais influenciaram o APSEE-Tail, e um exemplo de aplicação do protótipo construído. Por fim, são apresentadas as contribuições e limitações da proposta, na visão do autor, bem como os trabalhos futuros vislumbrados.
Resumo:
Atualmente, um dos grandes desafios para qualquer desenvolvedor de software é projetar um sistema que reutilize ao máximo elementos de código e de projeto existentes, visando diminuir o tempo e o esforço exigidos na produção do software. Entre as inúmeras formas de possibilitar reuso no contexto do desenvolvimento segundo o paradigma da orientação a objetos, destaca-se a abordagem de frameworks. A grande importância da documentação de software utilizada no processo de desenvolvimento aliada às características de frameworks serviram como motivação para este trabalho. A documentação dentro do processo de desenvolvimento de software não faz parte de uma fase definida, mas ocorre durante toda sua existência, em paralelo com outras fases do ciclo de vida. A abordagem de frameworks dentro deste contexto enfoca o tratamento de templates e definições das características dos artefatos de software (incluindo não somente código mas também produtos de análise, projeto, frameworks, componentes, diagramas, entre outros), facilitando e acelerando o processo de documentação. Um framework, devido a suas características peculiares que serão examinadas e explicitadas no trabalho, contém uma série de informações que podem, além de apoiar a documentação, ser úteis para produção de outros artefatos (por exemplo, planejamentos de teste, scripts de bancos de dados, padrões de codificação, entre outros) do processo de desenvolvimento. Assim, em um processo de desenvolvimento evolutivo, que utiliza a geração de artefatos como recurso, a manutenção pode ser integralmente realizada somente na especificação e não diluída nos artefatos gerados. O objetivo deste trabalho é investigar, propor e desenvolver uma ferramenta de documentação e geração de artefatos de software, denominado FrameworkDoc. O termo documentação de software aqui utilizado se refere a documentação de desenvolvimento de software, incluindo artefatos, arquiteturas, ferramentas entre outros. Serão abordados dois principais aspectos: primeiramente, a geração automática de documentação dentro do processo de desenvolvimento de software e depois a geração de outros artefatos deste processo, a partir das definições de alto nível disponíveis através do framework. Exemplos de aplicações do FrameworkDoc em projetos reais são apresentados. No entanto, os documentos e artefatos de software considerados foram definidos de forma suficientemente genérica para serem aproveitados em outros contextos.
Resumo:
Este trabalho de conclusão apresenta um método e uma ferramenta para avaliação da maturidade e da capacitação de ambientes de desenvolvimento de software baseado no uso da abordagem Goal/Question/Metric-GQM combinada aos métodos tradicionais de avaliação já existentes para o modelo Capability Maturity Model-CMM. A aplicação deste método através da ferramenta proposta permitirá a organização avaliada estabelecer o grau de conformidade preliminar dos seus processos em relação às exigências do modelo CMM. Esta avaliação poderá ser utilizada como ponto de partida para o estabelecimento de um processo de melhoria. O modelo CMM descreve uma série de estágios de maturidade que são atingidos através da satisfação de metas estabelecidas para áreas-chave do processo de desenvolvimento de software da organização. A evolução deste modelo, chamada de CMMI, Capability Maturity Model Integrated, possibilita que as organizações optem pela forma de implementação do modelo. Esta opção pode se dar através do uso do CMMI em estágios, vertical utilizando os níveis tradicionais do modelo, ou contínua; horizontal baseada nas áreas-chave de processo. Da mesma forma, a avaliação pode ser realizada sobre qualquer modelo escolhido. O modelo GQM descreve uma estrutura hierárquica baseada na existência de metas de melhoria preestabelecidas das quais são extraídas métricas e questões que as satisfazem. O nível de satisfação dessas metas é obtido através da análise das métricas relativas às questões aplicadas ao foco da avaliação Algumas ferramentas para avaliação dos processos relativos ao modelo CMM são apresentadas, tais como o questionário da maturidade e os modelos existentes para a criação de métodos de avaliação, CMM Apraisal Framework-CAF e Apraisal Requirements for CMMI-ARC. O diferencial apresentado é o estabelecimento de métricas objetivas e regras de interpretação dessas para a definição da satisfação de uma determinada área-chave de processo, ACP, do nível 2 do modelo CMMI. Além dessas contribuições vale destacar o estabelecimento de questões adicionais ao questionário da maturidade com o objetivo de capturar essas métricas e a criação de grafos GQM para cada ACP do nível 2 do CMMI. Esses grafos permitem a visualização do relacionamento existente entre cada ACP do nível 2 do CMMI com suas metas, questões e métricas. A aplicação do método e da ferramenta será demonstrada através da utilização de um estudo de caso aplicado na empresa DWA Informática Ltda.
Resumo:
Neste trabalho, descreve-se o processo de produção de tecnologias educacionais e de Tecnologias da Informação e Comunicação (TICs), relacionando-as ao uso do ensino em Engenharia Geotécnica. Desenvolveu-se um sistema de informação baseado num modelo que integra recursos educacionais produzidos em diferentes formatos eletrônicos e um software baseado na Web para gestão destes recursos e das informações da disciplina Fundações. O software, denominado ENGEO, auxilia a estruturação do conhecimento envolvido no domínio de aplicação, fornecendo ao professor, ou equipe de gestão, ferramentas remotas de administração dos conteúdos e dos recursos educacionais. Aos alunos, a aplicação ENGEO fornece disponibilidade de informações e de conteúdo em um ambiente flexível. Este aplicativo foi desenvolvido para o curso de Engenharia Geotécnica, particularizado para Engenharia de Fundações, com o objetivo de introduzir e incentivar a utilização de sistemas baseados na Web para compartilhamento de conteúdo das disciplinas, implementar Tecnologias de Informação e Comunicação em aplicações para fins educacionais e fomentar discussões a respeito da identidade e perfil do Engenheiro e o papel da TICs no processo de formação do profissional de Engenharia.