Engenharia de Software para Software Livre


http://www.softwarepublico.gov.br/file/16734767/
 
 
Engenharia de Software para Software Livre
Cesar Augusto de Azambuja Brod, Joice Käfer
Brod Tecnologia da Informação Ltda
Rua João Batista de Mello, 419/601 – 95900-000 – Lajeado – RS – Brasil
Programa de Pós-Graduação – Instituto de Informática
Universidade Federal do Rio Grande do Sul
Caixa Postal 15.064 – 91501-970 – Porto Alegre – RS – Brasil
{cesar,joice}@brodtec.com
Abstract
The objectives of this document are to
define what is free and open source software;
explain why the terms “free” and “open” are
used; introduce software development models;
and research which are the processes and
practices used by the free software development
communities. In order to gather this
information, the authors collected data directly
from existing references and from the seven
selected projects web portals. Using this
information as a basis, the authors relate the
free software development practices with
Software Engineering practices.
Resumo
Este trabalho busca definir o que é software de
código livre e aberto, explicar as origens da
diferença entre os termos “livre” e “aberto”,
introduzir modelos de desenvolvimento de
software e levantar quais são os processos e
práticas utilizados pelas comunidades de
desenvolvimento de software livre a partir da
pesquisa direta em referências anteriores e na
informação disponível nos portais de sete
projetos selecionados. Tomando este
levantamento como base, as práticas observadas
nos projetos são relacionadas às práticas de
Engenharia de Software.
1. Introdução
Para aqueles que não estão envolvidos
diretamente com o desenvolvimento de software
livre e aberto pode existir a impressão de que o
mesmo se dá de forma anárquica e
desorganizada, com uma grande dispersão
geográfica de desenvolvedores e a falta de um
processo formal de desenvolvimento e
documentação. Tal dispersão, porém, é um dos
fatores que leva à necessidade da utilização de
ferramentas e repositórios que permitam a
interatividade entre os desenvolvedores e a
organização do código por eles desenvolvido.
Os repositórios de código livre não restringem o
acesso apenas aos desenvolvedores de cada
projeto, expondo o código ao escrutínio de uma
comunidade extremamente ampla, evidenciando
rapidamente possíveis erros. A correção destes
erros pode ser feita tanto pelos desenvolvedores
do projeto quanto por colaboradores eventuais.
Um dos exemplos mais expressivos é o
sistema operacional GNU/Linux que, através da
Internet, foi criado de forma coletiva.
CASTELLS (2003) comenta sobre este fato:
Só uma rede de centenas, milhares de cérebros
trabalhando cooperativamente, com divisão de
trabalho espontânea e coordenação maleável mas
eficiente, poderia levar a cabo a tarefa
extraordinária de criar um sistema operacional
capaz de lidar com a complexidade de
computadores cada vez mais interagindo por meio
da Internet.
O envolvimento de empresas de
tecnologia renomadas como a Sun e a IBM,
respectivamente nos projetos OpenOffice.Org e
Apache, que estão entre os discutidos neste
artigo, também aproximou técnicas e processos
tradicionais de Engenharia de Software a
projetos de software livre e aberto.
Através de uma revisão bibliográfica e da
verificação dos métodos e processos utilizados
em alguns projetos conhecidos, este artigo
procura levantar de que forma a Engenharia de
Software está sendo aplicada em projetos de
software livre e aberto.
Na Seção 2 serão apresentados os
conceitos de software aberto e software livre. As
formas de desenvolvimento adotadas em
projetos de software livre, especialmente os
métodos “Catedral” e “Bazar” são apresentados
na Seção 3. Os processos e ferramentas
utilizadas, assim como exemplos dos projetos
que os utilizam, são discutidos na Seção 4. Com
base nas seções anteriores, a Seção 5 busca
estabelecer uma correlação entre métodos e
processos de Engenharia de Software e o
desenvolvimento de software livre e aberto.

Share:

0 comentários

POPULAR POSTS