1 / 36

Engenharia de Software prefácio

Engenharia de Software prefácio. joa & srlm. Free Software Engineering: A Field to Explore. Gonzáles-Barahona and Robles UPGRADE Vol. IV No. 4 August 2003. Free Software Projects. Nascem como iniciativa isolada e particular Usuários são co-desenvolvedores Divulgação “boca-a-boca”

lali
Télécharger la présentation

Engenharia de Software prefácio

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Engenharia de Softwareprefácio joa & srlm

  2. Free Software Engineering: A Field to Explore Gonzáles-Barahona and Robles UPGRADE Vol. IV No. 4 August 2003

  3. Free Software Projects • Nascem como iniciativa isolada e particular • Usuários são co-desenvolvedores • Divulgação “boca-a-boca” • Teste massificado pelos usuários • Gerência de versões é complexa e “bem-definida”

  4. Open Source Projects • (Sun apr 16 00:10:21 BRT 2006)  133,421 projects! • Communications(13469) • Database(5388) • Desktop Environment(2822) • Education(3252) • Formats and Protocols(1292) • Games/Entertainment(12694) • Internet(21951) • Multimedia(11518) • Office/Business(6136) • Other/Nonlisted Topic(2065) • Printing(417) • Religion and Philosophy(274) • Scientific/Engineering(9942) • Security(2494) • Sociology(355) • Software Development(18587) • System(17790) • Text Editors(2436)

  5. Causas de Descontinuidade de Projetos SW Livre • Falta de interesse, tempo ou motivação • mudança de liderança nos projetos impactam sua continuidade • Code Forking • cada usuário tem acesso ao código e pode alterá-lo e redistribuí-lo sem o conhecimento do líder do projeto

  6. Free Software EngineeringResume • “A Field to Explore” • “is still in its infancy” (2003!) • “How to create free software? Issues: • Classification of free software projects • Creation of a methodology • Methods + classification + models ++ Simulation (intelligent agents) = Free SW Engineering”

  7. or, We’ve documented all our processes—what’s left to do? Process Implementation Sarah Sheard Software Productivity Consortium Thursday, July 3, 2003

  8. So what does it take? 1. Manage as a project 2. Obtain management support 3. Establish policy 4. Establish measurement baseline 5. Train employees and managers 6. Tailor processes 7. Maintain process assets 8. Ensure processes are being used 9. Learn Lessons 10. Improve Processes 11. Appraise the organization

  9. Process Implementation Requires Everyone! • Senior management sets the tone and ensures other managers make PI happen • SEPG drives the process improvement program to its goals • Projects review processes, tailor standard processes, use their tailored versions, and recommend improvements • QA audits independently

  10. Funciona para SW Livre? • Adaptação de Processos de 1990? • 2006! Distributed Development... • O que fazer? • Ler • Praticar • Montar experimentos reais e avaliar...

  11. A Framework for creating hybrid-open source software communities Srinarayan Sharma et. al. Info Systems (2002), 12.

  12. Introduction • OSS model is a fundamentally new and revolutionary way to develop software • organizations are having difficulty building a business model around the open source paradigm • not all OSS initiatives have been successful • Framework for creating Hybrid-OSS communities

  13. The OSS model • Three dimensions: • structure, process and culture Division of labour Co-ordination mechanisms Distribution od decision-making Organizational boundaries Informal structure Political structure Legitimate basis of authority Eletronic communication Multicultural community Values: reciprocity, gift giving, reputation, ideology Core assumptions structure culture process

  14. OSS development process • Problem discovery • Finding volunteers • Solution identification • Code development and testing • Code change review • Code commit and documentation • Release management

  15. Framework for creating Hybrid-OSS communities Principles: • Community building • Community governance • Shared governance • Membership management • Incentives and rewards • Community infrastructure

  16. Discussion ...  open source communities versus Software Factories? • personal time and autonomy ...  freelancers ...  project-oriented • ... there are several avenues for future research • ... to refine the proposed framework and validate it empirically

  17. Porto DigitalUFPE/UFRPE – CESARIN953 - desenvolvimento distribuído de software em indústria, comunidades acadêmicas e científicasuma fábrica de software livre... joa@ufrpe.br silvio@cesar.org.br

  18. linhas-mestrasIN953 – Engenharia de Software • Process Implementation – Software Factories(Gibeon, Ana Paula, Thayssa) • F/L/OSS(Alan) • OSS Business Model(Alan, Ana Paula, Aisa) • Scientific Relevant Projects(Convidados) • Business & Humanitas(TODOS!)

  19. fábricas de softwareprincípiosconceitosilusões

  20. fábrica de sw na prática • Operação profissional • Processo de desenvolvimento transparente • Retorno rápido ao cliente • Alta produtividade • Ferramentas e processos padronizados • Alta qualidade • Dados históricos, previsibilidade e análise de risco • Reusabilidade de código [1968 G&E, R. W. Berner] [2003 IEEE Computer Vol.36 Num.3, B. Boehm] [2005 IEEE Software Vol. 22 Num 2, PostModern SW Design]

  21. Cathedral and Bazaar e Desenvolvimento de Software segundo Eric Raymond, 1997 • Alguns projetos são como Cathedrals • altamente centralizados em poucas pessoas que decidem projeto e implementação • para fazer parte deve-se aceitar as definições • http://catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/

  22. Outros são como Bazaars (sw livre) • Sem planejamento detalhado mas orientados! • Linux Kernel (www.linux.org): “hierarchical” • Linus Torvalds, “The Benevolent Dictator” • APACHE Foundation (www.apache.org): “meritocracy” • Para fazer parte você deve ter colaborado continuamente em projetos da fundação • GCC (gcc.gnu.org): “steering Commitee”

  23. Conceitos The factory is an organization inhabited by people engaged in a common effort, work is organized one way or the other, standardization is used for coordination and formalization, and systematization is important, but there will be several options for the design of a particular software factory [Aaen, Botcher, Mathiassen, Software Factories, 1997] http://www.cin.ufpe.br/~in953/papers/Software_Factories_17.pdf

  24. ...considerações... The four approaches are important contributions towards this goal. At the same time the approaches individually may lead to unfortunate illusions. Learning from the relative strengths and weaknesses between the approaches may help us avoid becoming victims of these illusions [Aaen, Botcher, Mathiassen, Software Factories, 1997] http://www.cin.ufpe.br/~in953/papers/Software_Factories_17.pdf

  25. ...e ilusões... fábrica de software≠produção em massa padronização, formalização, especialização, controle ≠ produção de software com qualidade o que fazer?

  26. building a software factory...[Making the software factory work... 1990-1999]http://www.cin.ufpe.br/~in953/papers/MakingTheSoftwareFactoryWorkLessonsFromADecadeOfFactory.pdf • to define a detailed software development process • staff members were given extensive training in the new process • process specification separated from process execution • data collection and analysis • interviews • software process assesments • process attributes for each project • configuration management system • project tracking data

  27. o PROCESSO é complexo! (c) MERX LLC

  28. processo é complexo... Ex.: Ampla Prospecção Contrato Execução Entrega Encerramento

  29. e as pessoas?... (c) MERX LLC

  30. What is institutionalization? No, not that kind!

  31. o que “sabemos” aqui? • TODO o pressman ou sommerville (Software Engineering) • ou seja: • requisitos, especificações, refinamento, validação e verificação, métodos, técnicas, linguagens e ferramentas, componentes, reutilização, manutenção, modelagem de processos, qualidade, reengenharia,, verificação, validação e teste... além de programação JAVA++!... • {faltaria o quê?}

  32. o que fazer... • montar uma fábrica de software livre? • como? em 4 meses? • funciona? http://200.199.23.162/in953/

  33. para casa... Leitura de referências desta aula 10 + 8 papers + Navegação Fábricas Passadas = 1ª NOTA 24.abr.06

  34. Summer of Code 2006: receba US$ 4500,00 para contribuir com softwares livres • http://code.google.com/soc/Summer of Code • Welcome to the Summer of Code 2006 site. As organizations begin to sign up for Summer of Code, you will see a list of organizations and links to their ideas for student projects. We are not taking student applications just yet, see the FAQ for more details. You can talk to us in either on Summer-Discuss-2006 or on IRC in #summer-discuss on SlashNET.

More Related