Você está na página 1de 6

Unibratec

Engenharia de Requisitos
Software Livre (Requisitos)

Software Livre
O termo software livre foi criado pela cultura hacker dos Estados Unidos entre
asdcadas de 60 e 70. Segundo Rasch (2000), sua criao teve origem nos laboratrios
deinformtica de algumas universidades, como Stanford, Berkeley, Carnegie Mellon
eMIT. A principal caracterstica desse ambiente era a colaborao e, por isso, acesso
aocdigo fonte dos programas era um requisito necessrio. Foi criada uma cultura
derepassar as melhorias feitas nos cdigos aos demais programadores, que, por sua
vez,tinham no reconhecimento dos outros a principal motivao.
Atualmente, h diversos projetos de software livre em vrios pases. Eles
renemum conjunto de colaboradores, muitas vezes voluntrios. O grau de motivao
dessaequipe pode resultar ou no no sucesso do projeto. Por isto, o criador de um
softwarelivre, tambm chamado mantenedor, deve estar atento motivao dos
colaboradores.
A pesquisa SOFTEX (2005), apresenta iniciativas de desenvolvimento e uso
desoftware livre no Brasil. Em especial, so descritas as iniciativas relacionadas
aodesenvolvimento tecnolgico para a incluso digital, que tm recebido amplo apoio
doestado e de empresas fomentadoras de pesquisa.
O Brasil tem desenvolvido alguns projetos com sucesso, como: o Kurumin,
umadistribuio do Linux baseado no Knoppix, totalmente em portugus e de fcil uso.
Txt2tag, ferramenta para formatao e converso de texto.Rau-tu, sistema
colaborativode perguntas e respostas, entre outros.
O Brasil tem muito a ganhar com o desenvolvimento desoftware de cdigo
aberto. Isto porque os projetos de software livre incentivamsignificativamente a
distribuio de informaes e, consequentemente, doconhecimento. Alm disso,
projetos de software livre no envolvem somente a reduode custos com licenas de
software, mas tambm o incremento do grau decompetitividade do pas.
Comunidade de Software Livre e seus Integrantes
A comunidade de software livre composta por membros
altamentecolaborativos que mesmo estando envolvidos em um mesmo projeto, no
seconhecem pessoalmente j que na maioria dos casos se encontram separados
porgrandes
distncias
geogrficas,
interagindo
apenas
atravs
de
ferramentasdisponveis na Internet.

Outra caracterstica muito importante desta comunidade o fato de que


agrande parte das pessoas envolvidas em projetos de software livre trabalha
comovoluntrio e no recebe retorno financeiro.
Apesar das vantagens advindas pela opo por software livre, O fato de estar
fazendo um trabalho voluntrio traz algumas implicaesque acabam por se tornar
diferenas cruciais entre um projeto de software livre eum projeto tradicional. Alguns
destas diferenas esto relacionadas a:

Prazo de entrega: Como o membro est realizando um trabalho


voluntrio,ele se utiliza de seu tempo livre para trabalhar no projeto e no
tem umcompromisso com prazos de entrega.

Motivao dos desenvolvedores: Tambm pelo fato deste ser um


trabalhovoluntrio, o projeto algo que o programador tem interesse em
fazer,mesmo que este interesse se manifeste apenas por uma determinada
rea doprojeto e no pelo todo, ainda o suficiente para que a motivao
desteindivduo seja alta. provvel tambm que ele venha a ter um
bomconhecimento do domnio o qual mostrou interesse.

Perodo entre lanamento de novas verses: Como no h


compromissocom prazos, o produto s ser lanado quando seus
desenvolvedoresacharem que ele est suficientemente maduro, o que nem
sempre ocorre emprojetos tradicionais que sempre esto dependentes de
prazos muita vezesapertados, o que pode vir a gerar o lanamento
prematuro de um software.

Testes, manuteno, planejamento e documentao: Estas tarefas


paraevoluo em um projeto de software livre nem sempre so
consideradas tointeressantes quando programar, o que acaba por gerar
uma falta deatividade nestas reas. A qualidade do cdigo em um projeto
de softwarelivre mantida geralmente por massivos testes paralelos (grupo
de usuriostestando o software e reportando bugs encontrados), ao invs
de testessistemticos.
Estilos de Desenvolvimento

Para o produto ser considerado Software Livre, ecapaz de receber um


certificado OSI (Open SourceInitiative), este deve estar de acordo com todos
oscritrios da especificao sem exceo.
Inicialmente vale salientar que no existe um processo de desenvolvimentode
software livre que seja considerado padro, diferentes desenvolvedores
ecomunidades empregaro tcnicas, mtodos e ferramentas diferentes. Apesar de um

projeto de software livre pode tervrias formas, mas dois estilos de desenvolvimento
so considerados dominantesna comunidade: a catedral e o bazar.

Catedral :Sistemas desenvolvidos neste estilo so normalmente fruto do


trabalho deum grupo pequeno de programadores ou mesmo de um
nico programador.Contribuies de cdigo ou ideias vindas da
comunidade so aceitas, mas estasno so a principal preocupao dos
autores originais. Estes monopolizam grandeparte das decises de
design, implementao e a data de liberao de determinadaverso, o
que faz com que o tempo entre o lanamento de verses se torne maior
ea contribuio por parte da comunidade diminua.
Bazar :Ao contrrio da catedral, este estilo bem menos conservador, e
trabalhacom ciclos de desenvolvimento bem menores. Muitos projetos
deste tipo aindaso controlados por um pequeno grupo de
desenvolvedores, mas a contribuio decdigo muito encorajada e
inclusive esse fato um dos motivos que leva o ciclode
desenvolvimento a ser to pequeno. Este estilo de desenvolvimento faz
usointensivo de ferramentas de Groupware (bate-papos, listas de
discusso, IRC)entre seus participantes como uma forma de estimular a
troca de idias. comumtambm a existncia de um repositrio global
de cdigo onde as contribuies sofeitas.
Requisitos

Um projeto normalmente surge devido a uma necessidade ou


mesmocuriosidade de um grupo de. Muitos projetos grandes comearam apenascom a
vontade de aprender por parte dos autores originais, cabe ao grupo de autores
disponibilizarem essa ideia para a comunidade de software livre e pedir ajuda para
possveisinteressados. Caso exista alguma especificao ou cdigo pronto, este
disponibilizado para a comunidade.
Existem trs grandes fontes para obteno derequisitos em um projeto de
software livre:
Os prprios autores: se encarregam de elaborar os requisitos

iniciais do projeto, como o autor est consciente do problema,


normal que este consiga fazer um design bom o suficiente
para resolv-lo, mas sempre existir o problema de que
requisitos levantados por uma pessoa ou um grupo pequeno de
pessoas, nem sempre estaro de acordo com as necessidades
da comunidade inteira.

Os usurios :Quanto maior for a base de usurios, maior ser o retorno


obtido, este retorno vem das experincias destes usurios com o
projeto, e pode vir na forma de comunicao de erros, sugesto de
melhorias e dvidas. Com esse retorno, possvel complementar os

requisitos iniciais do sistema de forma que isso reflita num cdigo muito
mais robusto que o original.

Alguns padres: muitos projetos de software livres se iniciam do desejo


de se implementar padres j existentes. Desta forma a elicitao no
ocorre, pois o requisito (o padro) j est definido.

No necessrio que um determinado usurio seja um desenvolvedor


paracontribuir com um projeto de software livre. Na verdade, apenas uma
pequenaparcela de usurios de um projeto contribui efetivamente com cdigo, mas
umaparcela bem maior contribui com relatos de erros e sugestes de melhoria.
Este retorno dado pelos usurios um ciclo constante de encontrar
erro,reportar, corrigir e lanar a correo na prxima verso do produto. Quanto
maioro nmero de usurios de um determinado projeto, maior a eficincia desta
sequncia, o que novamente nos leva ao fato de que a disponibilizao adequadade
um projeto pode influenciar muito em seu sucesso.

Devido a dinmica do processo de desenvolvimento,


comunicao,distribuio e suporte, a frequncia da liberao de novas
verses de um produtode software livre bem maior que a de um
comercial.
Independente do estilo do projeto (bazar ou catedral, de acordo
comSommerville [Sommerville92] um softwareproduzido adequadamente
deve possuir quatro atributos:
Manutenabilidade- um software que necessite ter uma expectativa
de vidaalta, deve ser bem documentado e escrito, de modo a facilitar
mudanas nocdigo quanto estas forem necessrias.
Confiana- um software deve fazer o que lhe esperado pelos
usurios,no sendo aceitvel que este falhe mais do que o permitido pelas
suasespecificaes.
Eficincia- no deve ser feito mal uso dos recursos computacionais
dosistema, como memria e CPU.
Uma interface apropriada com o usurio - deve-se ter em mente o
nvelde conhecimento do usurio final para se realizar a elaborao da
interface.Esta interface deve ser feita de forma que o usurio consiga tirar
mximoproveito do software.
Um software livre procura satisfazer estes quatro atributos com
algumas desuas caractersticas mais fortes; desenvolvimento paralelo,

retorno por parte dosusurios, alto nvel de motivao dos participantes e


lanamento frequentes deverses.
Referencias
http://www2.dbd.puc-rio.br/pergamum/tesesabertas/0210500_04_cap_02.pdf
http://homepages.dcc.ufmg.br/~ivre/Artigo1.pdf

Você também pode gostar