Caracterização de um processo de software para projetos de software livre

Detalhes bibliográficos
Ano de defesa: 2003
Autor(a) principal: Reis, Christian Robottom
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Biblioteca Digitais de Teses e Dissertações da USP
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://www.teses.usp.br/teses/disponiveis/55/55134/tde-12112014-100100/
Resumo: Software Livre é software fornecido com código fonte, e que pode ser livremente usado, modificado e redistribuído. Projetos de Software Livre são organizações virtuais formadas por indivíduos que trabalham juntos no desenvolvimento de um software livre específico. Estes indivíduos trabalham geograficamente dispersos, utilizando ferramentas simples para coordenar e comunicar seu trabalho através da Internet. Este trabalho analisa esses projetos do ponto de vista de seu processo de software; em outras palavras, analisa as atividades que realizam para produzir, gerenciar e garantir a qualidade do seu software. Na parte inicial do trabalho é feita uma extensa revisão bibliográfica, comentando os principais trabalhos na área, e são detalhadas as características principais dos projetos de software livre. O conteúdo principal deste trabalho resulta de dois anos de participação ativa na comunidade, e de um levantamento realizado através de questionário, detalhando mais de quinhentos projetos diferentes. São apresentadas treze hipóteses experimentais, e os resultados do questionário são discutidos no contexto destas hipóteses. Dos projetos avaliados nesse levantamento, algumas características comuns foram avaliadas. As equipes da grande maioria dos projetos são pequenas, tendo menos de cinco participantes. Além disso, existe uma distribuição equilibrada entre algumas formas de organização descritas na literatura, incluindo o \'ditador benevolente\' de Eric S. Raymond e o \'comité\' exemplificado pelo projeto Apache. Dentre um conjunto de domínios de aplicação determinados, os projetos de software livre se concentram nas áreas de engenharia e desenvolvimento de software, redes e segurança, e aplicações multimídia. Com relação às atividades do processo de software, pode-se dizer que a maioria dos projetos tem requisitos fundamentalmente definidos pelos seus autores, e que a base de usuários de grande parte dos softwares é composta dos seus desenvolvedores e da comunidade de software livre. Uma parcela significativa dos projetos baseia-se em outros softwares pré-existentes, e em padrões publicados previamente. Pouca ênfase é dada à usabilidade, assim como às atividades de garantia de qualidade convencionais. Surpreendentemente, também recebem pouca atenção as atividades de revisão de código e teste sistemático. Entre as ferramentas que os projetos utilizam, se destacam as listas de discussão e os sistemas de controle de versão. Foi estabelecida uma correlação entre a dimensão da equipe do projeto e as atividades de engenharia de software que realiza, mas não se confirmou um vínculo entre estas atividades e a idade do projeto. Foram também estabelecidas relações entre o número de linhas de código do software do projeto e a sua idade, tamanho e domínio de aplicação. Estes resultados são exibidos neste trabalho, e estarão publicamente disponíveis no site Web do projeto. O trabalho conclui descrevendo partes essenciais do processo de software em projetos de software livre, e oferecendo sugestões para trabalhos posteriores.
id USP_877af3e8d54d7051d4ce2315648aa0e6
oai_identifier_str oai:teses.usp.br:tde-12112014-100100
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str
spelling Caracterização de um processo de software para projetos de software livreCharacterizing a software process for Free Software projects.Ciclo de VidaDesenvolvimento de Software DescentralizadoEngenharia de SoftwareFree SoftwareModelo de Processo de SoftwareOpen SourceOpen SourceProcesso de SoftwareSoftware LifecycleSoftware LivreSoftware ProcessSoftware Process Model Software Engineering. Distributed Software DevelopmentSoftware Livre é software fornecido com código fonte, e que pode ser livremente usado, modificado e redistribuído. Projetos de Software Livre são organizações virtuais formadas por indivíduos que trabalham juntos no desenvolvimento de um software livre específico. Estes indivíduos trabalham geograficamente dispersos, utilizando ferramentas simples para coordenar e comunicar seu trabalho através da Internet. Este trabalho analisa esses projetos do ponto de vista de seu processo de software; em outras palavras, analisa as atividades que realizam para produzir, gerenciar e garantir a qualidade do seu software. Na parte inicial do trabalho é feita uma extensa revisão bibliográfica, comentando os principais trabalhos na área, e são detalhadas as características principais dos projetos de software livre. O conteúdo principal deste trabalho resulta de dois anos de participação ativa na comunidade, e de um levantamento realizado através de questionário, detalhando mais de quinhentos projetos diferentes. São apresentadas treze hipóteses experimentais, e os resultados do questionário são discutidos no contexto destas hipóteses. Dos projetos avaliados nesse levantamento, algumas características comuns foram avaliadas. As equipes da grande maioria dos projetos são pequenas, tendo menos de cinco participantes. Além disso, existe uma distribuição equilibrada entre algumas formas de organização descritas na literatura, incluindo o \'ditador benevolente\' de Eric S. Raymond e o \'comité\' exemplificado pelo projeto Apache. Dentre um conjunto de domínios de aplicação determinados, os projetos de software livre se concentram nas áreas de engenharia e desenvolvimento de software, redes e segurança, e aplicações multimídia. Com relação às atividades do processo de software, pode-se dizer que a maioria dos projetos tem requisitos fundamentalmente definidos pelos seus autores, e que a base de usuários de grande parte dos softwares é composta dos seus desenvolvedores e da comunidade de software livre. Uma parcela significativa dos projetos baseia-se em outros softwares pré-existentes, e em padrões publicados previamente. Pouca ênfase é dada à usabilidade, assim como às atividades de garantia de qualidade convencionais. Surpreendentemente, também recebem pouca atenção as atividades de revisão de código e teste sistemático. Entre as ferramentas que os projetos utilizam, se destacam as listas de discussão e os sistemas de controle de versão. Foi estabelecida uma correlação entre a dimensão da equipe do projeto e as atividades de engenharia de software que realiza, mas não se confirmou um vínculo entre estas atividades e a idade do projeto. Foram também estabelecidas relações entre o número de linhas de código do software do projeto e a sua idade, tamanho e domínio de aplicação. Estes resultados são exibidos neste trabalho, e estarão publicamente disponíveis no site Web do projeto. O trabalho conclui descrevendo partes essenciais do processo de software em projetos de software livre, e oferecendo sugestões para trabalhos posteriores.Free Software (or Open Source) is software provided with source code that may be freely used, modified and redistributed. Free Software Projects are virtual communities of developers that work on a specific free software product. These developers work geographically dispersed, using simple tools to communicate and coordinate their actions over the Internet. This work analyzes these projects with respect to their software process; in other words, the activities they do to produce, manage and ensure the quality of their software. In the initial sections, I perform a large review of related work in this field, and provide an overview of the main characteristics of free software projects. The main contents of this dissertation is based on two years of participation in free software projects, and on a survey based on a questionnaire that describes over five hundred different free software projects. 1 present thirteen initial hypothesis, using them as a framework to analyze the results of the survey. Among the projects evaluated in this survey, some common aspeets were observed. For instance, most projects have a small team, with less than five developers. I also found a balanced distribution of leadership systems described in other works, including Eric Raymond\'s \'benevolent dictator\' and the committee exemplified by the Apache project. The domains in which these projects tend to concentrate are software engineering and development, networks and security, and multimédia applications. Concerning the software process activities, most projects have their functional requirements established by their authors: the user base for most of the projects includes the development team and the free software community. A large proportion of the projects surveyed are based on pre-existing software, or on previously published standards. Little emphasis is placed on usability and conventional fornis of quality assurance. Remarkably, this lack of emphasis on conventional process includes activities like review and testing. Among the tools used by the projects, mailing lists and versioning systems such as CVS come out ahead by a strong margin. A correlation was identified between the size of the project\'s team and the software engineering activities that it realizes, but I could not establish a link between the age of the project and these activities. Other correlations were established between the size of the project\'s codebase (in terms of lines of code) and its age, size and application domain. The dissertation concludes describing essential parts of the software process in free software projects, and offering suggestions for future work.Biblioteca Digitais de Teses e Dissertações da USPFortes, Renata Pontin de MattosReis, Christian Robottom2003-04-23info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://www.teses.usp.br/teses/disponiveis/55/55134/tde-12112014-100100/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesspor2016-07-28T16:11:55Zoai:teses.usp.br:tde-12112014-100100Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212016-07-28T16:11:55Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Caracterização de um processo de software para projetos de software livre
Characterizing a software process for Free Software projects.
title Caracterização de um processo de software para projetos de software livre
spellingShingle Caracterização de um processo de software para projetos de software livre
Reis, Christian Robottom
Ciclo de Vida
Desenvolvimento de Software Descentralizado
Engenharia de Software
Free Software
Modelo de Processo de Software
Open Source
Open Source
Processo de Software
Software Lifecycle
Software Livre
Software Process
Software Process Model Software Engineering. Distributed Software Development
title_short Caracterização de um processo de software para projetos de software livre
title_full Caracterização de um processo de software para projetos de software livre
title_fullStr Caracterização de um processo de software para projetos de software livre
title_full_unstemmed Caracterização de um processo de software para projetos de software livre
title_sort Caracterização de um processo de software para projetos de software livre
author Reis, Christian Robottom
author_facet Reis, Christian Robottom
author_role author
dc.contributor.none.fl_str_mv Fortes, Renata Pontin de Mattos
dc.contributor.author.fl_str_mv Reis, Christian Robottom
dc.subject.por.fl_str_mv Ciclo de Vida
Desenvolvimento de Software Descentralizado
Engenharia de Software
Free Software
Modelo de Processo de Software
Open Source
Open Source
Processo de Software
Software Lifecycle
Software Livre
Software Process
Software Process Model Software Engineering. Distributed Software Development
topic Ciclo de Vida
Desenvolvimento de Software Descentralizado
Engenharia de Software
Free Software
Modelo de Processo de Software
Open Source
Open Source
Processo de Software
Software Lifecycle
Software Livre
Software Process
Software Process Model Software Engineering. Distributed Software Development
description Software Livre é software fornecido com código fonte, e que pode ser livremente usado, modificado e redistribuído. Projetos de Software Livre são organizações virtuais formadas por indivíduos que trabalham juntos no desenvolvimento de um software livre específico. Estes indivíduos trabalham geograficamente dispersos, utilizando ferramentas simples para coordenar e comunicar seu trabalho através da Internet. Este trabalho analisa esses projetos do ponto de vista de seu processo de software; em outras palavras, analisa as atividades que realizam para produzir, gerenciar e garantir a qualidade do seu software. Na parte inicial do trabalho é feita uma extensa revisão bibliográfica, comentando os principais trabalhos na área, e são detalhadas as características principais dos projetos de software livre. O conteúdo principal deste trabalho resulta de dois anos de participação ativa na comunidade, e de um levantamento realizado através de questionário, detalhando mais de quinhentos projetos diferentes. São apresentadas treze hipóteses experimentais, e os resultados do questionário são discutidos no contexto destas hipóteses. Dos projetos avaliados nesse levantamento, algumas características comuns foram avaliadas. As equipes da grande maioria dos projetos são pequenas, tendo menos de cinco participantes. Além disso, existe uma distribuição equilibrada entre algumas formas de organização descritas na literatura, incluindo o \'ditador benevolente\' de Eric S. Raymond e o \'comité\' exemplificado pelo projeto Apache. Dentre um conjunto de domínios de aplicação determinados, os projetos de software livre se concentram nas áreas de engenharia e desenvolvimento de software, redes e segurança, e aplicações multimídia. Com relação às atividades do processo de software, pode-se dizer que a maioria dos projetos tem requisitos fundamentalmente definidos pelos seus autores, e que a base de usuários de grande parte dos softwares é composta dos seus desenvolvedores e da comunidade de software livre. Uma parcela significativa dos projetos baseia-se em outros softwares pré-existentes, e em padrões publicados previamente. Pouca ênfase é dada à usabilidade, assim como às atividades de garantia de qualidade convencionais. Surpreendentemente, também recebem pouca atenção as atividades de revisão de código e teste sistemático. Entre as ferramentas que os projetos utilizam, se destacam as listas de discussão e os sistemas de controle de versão. Foi estabelecida uma correlação entre a dimensão da equipe do projeto e as atividades de engenharia de software que realiza, mas não se confirmou um vínculo entre estas atividades e a idade do projeto. Foram também estabelecidas relações entre o número de linhas de código do software do projeto e a sua idade, tamanho e domínio de aplicação. Estes resultados são exibidos neste trabalho, e estarão publicamente disponíveis no site Web do projeto. O trabalho conclui descrevendo partes essenciais do processo de software em projetos de software livre, e oferecendo sugestões para trabalhos posteriores.
publishDate 2003
dc.date.none.fl_str_mv 2003-04-23
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://www.teses.usp.br/teses/disponiveis/55/55134/tde-12112014-100100/
url http://www.teses.usp.br/teses/disponiveis/55/55134/tde-12112014-100100/
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1865492084398489600