999 resultados para Processo de software


Relevância:

80.00% 80.00%

Publicador:

Resumo:

The software quality represents a more and more important attribute for the survival and growth of software industries. In order to ensure the quality of products manufactured, various practices have been incorporated into the development process. In this context, some successful software organizations have invested in an approach to human resource management, which consists in integrating the management activities with a personal process called Personal Software Process - PSP, which has led to the maintenance of greater discipline and control over all development phases. Given this, this work presents a proposal for integration of techniques set out in the PSP with a web system previously developed, which is called System to Aid Project Management - SAPM.

Relevância:

70.00% 70.00%

Publicador:

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

Relevância:

70.00% 70.00%

Publicador:

Resumo:

Dentre as principais áreas que constituem a Ciência da Computação, uma das que mais influenciam o mundo atual é a Engenharia de Software, envolvida nos aspectos tecnológicos e gerenciais do processo de desenvolvimento de software. Software tornou-se a base de sustentação de inúmeras organizações dos mais diversos ramos de atuação espalhados pelo planeta, consistindo de um elemento estratégico na diferenciação de produtos e serviços atuais. Atualmente, o software está embutido em sistemas relacionados a infindável lista de diferentes ciências e tecnologias. A Tecnologia de Processo de Software surgiu em meados da década de 1980 e representou um importante passo em direção à melhoria da qualidade de software através de mecanismos que proporcionam o gerenciamento automatizado do desenvolvimento de software. Diversas teorias, conceitos, formalismos, metodologias e ferramentas surgiram nesse contexto, enfatizando a descrição formal do modelo de processo de software, para que possa ser automatizado por um ambiente integrado de desenvolvimento de software. Os modelos de processos de software descrevem o conhecimento de uma organização e, portanto, modelos que descrevem experiências bem sucedidas devem ser continuamente disseminados para reutilização em diferentes projetos. Apesar da importância desse tópico, atualmente apenas uma pequena porção do conhecimento produzido durante o desenvolvimento de software é mantido para ser reutilizado em novos projetos. Embora, à primeira vista, o desafio de descrever modelos reutilizáveis para processos de software pareça ser equivalente ao problema tratado pela tradicional área de reutilização de produtos software, isso é apenas parcialmente verdade, visto que os processos envolvem elementos relacionados com aspectos sociais, organizacionais, tecnológicos e ambientais. A crescente complexidade da atual modelagem de processos vem influenciando a investigação de tecnologias de reutilização que sejam viáveis nesse campo específico. A investigação conduzida nesse trabalho culminou na especificação de um meta-modelo que tem como objetivo principal aumentar o nível de automação fornecido na reutilização de processos, apoiando a modelagem de processos abstratos que possam ser reutilizados em diferentes contextos. O meta-modelo proposto por esse trabalho - denominado APSEE-Reuse - fornece uma série de construtores sintáticos que permitem que os diferentes aspectos desse contexto sejam descritos segundo múltiplas perspectivas, complementares entre si, contribuindo para diminuir a complexidade do modelo geral. A solução proposta destaca-se por fornecer um formalismo para modelagem de processos, o qual é integrado à uma infraestrutura de automação de processos de software, permitindo que a reutilização esteja intimamente relacionada com as outras etapas do ciclo de vida de processos. Os diferentes componentes envolvidos na definição do modelo APSEE-Reuse proposto foram especificados algebricamente, constituindo uma base semântica de alto 15 nível de abstração que deu origem a um conjunto de protótipos implementados no ambiente PROSOFT-Java. O texto ainda discute os experimentos realizados com o meta-modelo proposto na especificação de diferentes estudos de casos desenvolvidos a partir de exemplos retirados na literatura especializada, e de processos que fornecem soluções em contextos e necessidades específicas de projetos desenvolvidos no PPGC-UFRGS. Finalmente, são apresentadas considerações acerca dos trabalhos relacionados, os elementos críticos que influenciam a aplicabilidade do modelo e as atividades adicionais vislumbradas a partir do trabalho proposto.

Relevância:

70.00% 70.00%

Publicador:

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.

Relevância:

70.00% 70.00%

Publicador:

Resumo:

Este trabalho apresenta uma arquitetura para Ambientes de Desenvolvimento de Software (ADS). Esta arquitetura é baseada em produtos comerciais de prateleira (COTS), principalmente em um Sistema de Gerência de Workflow – SGW (Microsoft Exchange 2000 Server – E2K) - e tem como plataforma de funcionamento a Internet, integrando também algumas ferramentas que fazem parte do grande conjunto de aplicativos que é utilizado no processo de desenvolvimento de software. O desenvolvimento de um protótipo (WOSDIE – WOrkflow-based Software Development Integrated Environment) baseado na arquitetura apresentada é descrito em detalhes, mostrando as etapas de construção, funções implementadas e dispositivos necessários para a integração de um SGW, ferramentas de desenvolvimento, banco de dados (WSS – Web Storage System) e outros, para a construção de um ADS. O processo de software aplicado no WOSDIE foi extraído do RUP (Rational Unified Process – Processo Unificado Rational). Este processo foi modelado na ferramenta Workflow Designer, que permite a modelagem dos processos de workflow dentro do E2K. A ativação de ferramentas a partir de um navegador Web e o armazenamento dos artefatos produzidos em um projeto de software também são abordados. O E2K faz o monitoramento dos eventos que ocorrem dentro do ambiente WOSDIE, definindo, a partir das condições modeladas no Workflow Designer, quais atividades devem ser iniciadas após o término de alguma atividade anterior e quem é o responsável pela execução destas novas atividades (assinalamento de atividades). A arquitetura proposta e o protótipo WOSDIE são avaliados segundo alguns critérios retirados de vários trabalhos. Estas avaliações mostram em mais detalhes as características da arquitetura proposta e proporcionam uma descrição das vantagens e problemas associados ao WOSDIE.

Relevância:

70.00% 70.00%

Publicador:

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.

Relevância:

70.00% 70.00%

Publicador:

Resumo:

A presente tese visa contribuir na construção de ambientes de desenvolvimento de software através da proposição de uma arquitetura reflexiva para ambiente de suporte a processo, nomeada WRAPPER (Webbased Reflective Architecture for Process suPport EnviRonment). O objetivo desta arquitetura é prover uma infra-estrutura para um ambiente de suporte a processo de software, integrando tecnologias da World Wide Web, objetos distribuídos e reflexão computacional. A motivação principal para esta arquitetura vem da necessidade de se obter maior flexibilidade na gerência de processo de software. Esta flexibilidade é obtida através do uso de objetos reflexivos que permitem a um gerente de processo obter informações e também alterar o processo de software de forma dinâmica. Para se obter um ambiente integrado, a arquitetura provê facilidades para a agregação de ferramentas CASE de plataformas e fabricantes diversos, mesmo disponibilizadas em locais remotos. A integração de ferramentas heterogêneas e distribuídas é obtida através do uso de tecnologias Web e de objetos distribuídos. Reflexão computacional é usada no ambiente tanto para extrair dados da execução do processo, quanto para permitir a adaptação do mesmo. Isto é feito através da introdução e controle de meta-objetos, no metanível da arquitetura, que podem monitorar e mesmo alterar os objetos do nível base. Como resultado, a arquitetura provê as seguintes características: flexibilidade na gerência de processo, permitindo o controle e adaptação do processo; distribuição do ambiente na Web, permitindo a distribuição de tarefas do processo de software e a integração de ferramentas em locais remotos; e heterogeneidade para agregar componentes ao ambiente, permitindo o uso de ferramentas de plataformas e fornecedores diversos. Neste contexto, o presente trabalho apresenta a estrutura da arquitetura reflexiva, bem como os mecanismos usados (e suas interações) para a modelagem e execução de processo dentro do ambiente de suporte ao processo de software.

Relevância:

70.00% 70.00%

Publicador:

Resumo:

Desde o início dos anos 90, uma tendência no desenvolvimento de software tem despertado a atenção dos pesquisadores: a distribuição do desenvolvimento. Esse fenômeno é um reflexo de mudanças sociais e econômicas, que têm levado organizações a distribuírem geograficamente seus recursos e investimentos, visando aumento de produtividade, melhorias na qualidade e redução de custos no desenvolvimento de software. Em virtude dessa distribuição, equipes geograficamente dispersas cooperam para a obtenção de um produto final de software. A distribuição física das equipes agrava problemas já inerentes à gerência do processo de software. O desenvolvimento de ambientes, modelos e ferramentas para gerenciar processos conduzidos nesse contexto é um desafio cada vez mais importante nos estudos em Tecnologia de Processos de Software. Os ambientes de suporte a processos devem prover infra-estrutura para processos distribuídos. Este trabalho propõe um modelo de gerência de processos distribuídos, denominado APSEE-Global, que estende o APSEE, um ambiente de engenharia de software centrado no processo desenvolvido no contexto do grupo de pesquisa Prosoft, provendo um conjunto de funcionalidades para suporte a processos distribuídos. O APSEE-Global viabiliza o aumento da autonomia das equipes que participam do projeto, pela possibilidade de adotarem modelos de processo distintos e pela gerência descentralizada do processo de desenvolvimento; permite a documentação e facilita a análise e a gerência das relações entre as equipes; e provê um canal de comunicação formal para acompanhamento da execução do processo distribuído. Os diferentes componentes do APSEE-Global foram especificados formalmente, o que constitui uma base semântica de alto nível de abstração que deu origem à implementação de um protótipo integrado ao ambiente de desenvolvimento de software Prosoft. A especificação do modelo foi realizada pela combinação dos formalismos Prosoft-Algébrico e Gramática de Grafos.

Relevância:

70.00% 70.00%

Publicador:

Resumo:

A Educação a Distância (EAD) vem recebendo atenção dos pesquisadores de várias áreas, na busca de modelos e ferramentas que possam aumentar a eficiência desta modalidade de educação. Mas, ferramentas tecnologicamente avançadas não são suficientes para isso. A atuação do docente é fundamental para o sucesso de um curso a distância. O problema é que falta preparo a muitos professores que atuam em EAD, para planejar os cursos, estimar recursos e organizar o conteúdo. Além da dificuldade na criação dos cursos, os professores também enfrentam o problema de avaliar os cursos já oferecidos. Esta tese apresenta um modelo para gerência de cursos a distância. O modelo deProcesso de Curso”, nomenclatura proposta neste trabalho, engloba o projeto, criação, execução e avaliação de cursos a distância. O modelo proposto pretende ser uma alternativa de solução para a seguinte questão de pesquisa: Que elementos um modelo, embasado pela Engenharia de Software, precisa conter para representar as atividades envolvidas na gerência de cursos a distância? A definição desse modelo foi fundamentada em duas áreas distintas: A Ciência da Computação e a Informática na Educação, mais especificamente na Engenharia de Software e na Educação a Distância. Como a tese baseia-se na analogia de Processo de Software e Processo de Curso e, por isso, o estudo da área de Tecnologia de Processo de Software foi de fundamental importância. O modelo de Processo de Curso é constituído pelas atividades que compõem um curso a distância (projeto, execução, avaliação e outras), os agentes que realizam essas atividades, produtos gerados e recursos necessários para a realização da atividade. Um dos destaques dessa abordagem é a possibilidade de reutilização de cursos anteriores, utilizando conceitos herdados da Engenharia de Software. A comprovação da viabilidade de implementação do modelo foi realizada através da implementação, no ambiente PROSOFT-APSEE, de um protótipo para gerência de cursos a distância. Para avaliar o modelo e o protótipo, foram selecionados professores especialistas que modelaram cursos no PRO-EAD e responderam a um questionário de avaliação Acredita-se que as contribuições deste trabalho tragam avanços significativos na busca de métodos e ferramentas que venham a auxiliar os professores na criação de cursos a distância com mais qualidade.

Relevância:

70.00% 70.00%

Publicador:

Resumo:

This dissertation presents a model-driven and integrated approach to variability management, customization and execution of software processes. Our approach is founded on the principles and techniques of software product lines and model-driven engineering. Model-driven engineering provides support to the specification of software processes and their transformation to workflow specifications. Software product lines techniques allows the automatic variability management of process elements and fragments. Additionally, in our approach, workflow technologies enable the process execution in workflow engines. In order to evaluate the approach feasibility, we have implemented it using existing model-driven engineering technologies. The software processes are specified using Eclipse Process Framework (EPF). The automatic variability management of software processes has been implemented as an extension of an existing product derivation tool. Finally, ATL and Acceleo transformation languages are adopted to transform EPF process to jPDL workflow language specifications in order to enable the deployment and execution of software processes in the JBoss BPM workflow engine. The approach is evaluated through the modeling and modularization of the project management discipline of the Open Unified Process (OpenUP)

Relevância:

70.00% 70.00%

Publicador:

Resumo:

Software Repository Mining (MSR) is a research area that analyses software repositories in order to derive relevant information for the research and practice of software engineering. The main goal of repository mining is to extract static information from repositories (e.g. code repository or change requisition system) into valuable information providing a way to support the decision making of software projects. On the other hand, another research area called Process Mining (PM) aims to find the characteristics of the underlying process of business organizations, supporting the process improvement and documentation. Recent works have been doing several analyses through MSR and PM techniques: (i) to investigate the evolution of software projects; (ii) to understand the real underlying process of a project; and (iii) create defect prediction models. However, few research works have been focusing on analyzing the contributions of software developers by means of MSR and PM techniques. In this context, this dissertation proposes the development of two empirical studies of assessment of the contribution of software developers to an open-source and a commercial project using those techniques. The contributions of developers are assessed through three different perspectives: (i) buggy commits; (ii) the size of commits; and (iii) the most important bugs. For the opensource project 12.827 commits and 8.410 bugs have been analyzed while 4.663 commits and 1.898 bugs have been analyzed for the commercial project. Our results indicate that, for the open source project, the developers classified as core developers have contributed with more buggy commits (although they have contributed with the majority of commits), more code to the project (commit size) and more important bugs solved while the results could not indicate differences with statistical significance between developer groups for the commercial project

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Esta tese propõe uma abordagem sistemática para gerenciar riscos em projetos de software, por meio da adaptação de processos. O objetivo da abordagem é permitir a elaboração de um processo específico para um dado projeto, visando minimizar a exposição do projeto aos riscos, identificados de acordo com o contexto do projeto. As atividades, possíveis de serem executadas em processos de projetos de uma organização, são estruturadas em um framework de processo (PRiMA-F), que inclui também os padrões de processo e organizacionais usados para descrever ações preventivas e corretivas aos riscos. A estruturação do framework básico, construído pela organização, poderá permitir distintas instanciações, como por exemplo, processos de acordo com o paradigma ágil ou planejado, ou em conformidade com normas de qualidade, como CMM e outras; além dos padrões organizacionais e de processo para gestão de riscos de projeto. PRiMA-F define o escopo maior do processo de software da organização e este é adaptado de acordo com os riscos identificados para o projeto e suas necessidades específicas, dando origem ao processo a ser usado no projeto. adaptação. Os guias descrevem como adaptar elementos de processo de acordo com o tamanho e o formalismo do projeto. Configurações de processo são modelos prédefinidos, visando atender projetos típicos ou modelos de qualidade. Prima-F pode ser estendida para novos riscos, padrões e processos, de acordo com as necessidades da organização. Utilizando o paradigma Goal/Question/Metric, no framework de processo (PRiMAF), são definidas métricas do processo de software, associadas aos riscos, para serem usadas para acompanhar o progresso dos fatores de risco, possibilitando ao gerente de projeto tomar ações corretivas, quando necessário e no momento adequado. As ações corretivas são descritas usando padrões organizacionais e de processo. Uma ferramenta de apoio à sistemática proposta (PRiMA-Tool) foi desenvolvida. Estudos de caso foram elaborados para validar a sistemática proposta

Relevância:

60.00% 60.00%

Publicador:

Resumo:

O material apresenta o gerenciamento de threads no Windows. Um sistema operacional envolve atividades assíncronas e algumas vezes paralelas, sendo que a noção de processo de software é usada em sistemas operacionais para expressar o gerenciamento e controle de suas atividades. Processo é um dos conceitos fundamentais no projeto de um sistema operacional moderno. Threads podem ser gerenciados pelo sistema operacional ou pela aplicação do usuário. Além desses conceitos, o material destaca a motivação para o uso de threads; o parâmetro CreateThread; e a prioridade e escalonamento.

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)

Relevância:

60.00% 60.00%

Publicador:

Resumo:

Uma série de iniciativas para melhoria do processo de software surgiu recentemente visando melhorar a qualidade e a produtividade em organizações de desenvolvimento de software. Alguns modelos e normas têm buscado a implantação de melhorias no processo de desenvolvimento de software, o MPS.BR é um deles. Esse modelo de melhoria de processo é voltado para as micro, pequenas e médias empresas, de forma a atender as suas necessidades de negócio e foi o modelo escolhido para ser explorado nesse trabalho. Várias são as vantagens adquiridas com a implantação de um modelo de melhoria, umas delas é a definição de um processo sistemático de desenvolvimento de software, que auxilie tanto na qualidade e produtividade do processo quanto na qualidade do produto desenvolvido. Com um modelo de processo definido a organização pode contar com diversos benefícios associados à padronização, como, por exemplo, a otimização, a redução de custos com retrabalho, a redução de defeitos nos produtos, dentre outros. Mas não existem modelos prontos que possam ser aplicados diretamente a uma empresa específica de desenvolvimento de software e, por isso, é necessário modelar o processo, customizando-o, com o objetivo final de gerar um modelo que adequadamente represente o processo da organização. Uma das dificuldades para a implantação de modelos como o MPS.BR é a falta de metodologia que mostre como a implantação de melhoria deve ser feita e não apenas o que deve ser feito. Este trabalho propõe uma metodologia para a implementação do modelo MPS.BR baseada no modelo de implantação IDEAL, através de uma ferramenta específica, chamada WebAPSEE. A metodologia foi experimentada no CTIC - Centro de Tecnologia da Informação e Comunicação da UFPA que ao final do trabalho foi avaliado Nível G do MPS.BR.