O documento discute o desenvolvimento colaborativo de software como uma atividade que envolve diversos especialistas trabalhando juntos. Apresenta práticas colaborativas como programação em pares e construção colaborativa de modelos. Também discute desafios do desenvolvimento distribuído e como sistemas colaborativos podem ajudar a superar problemas relacionados à distância física entre equipes.
Sistemas Cooperativos Aula 09 - Sistemas e Domínios (Desenvolvimento colaborativo de software)
1. # Sistemas Cooperativos #
Aula 09 – SISTEMAS E DOMÍNIOS
Desenvolvimento colaborativo de software
Prof. Leinylson Fontinele Pereira
2. Naaulaanterior...
SISTEMAS E DOMÍNIOS
# Democracia Eletrônica
11:55 Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
3. Introdução
11:55 3 Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
4. O que vamosaprender?
SISTEMAS E DOMÍNIOS
# Desenvolvimento colaborativo de software
11:55 Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
5. Vamos começar?
16:55 5 Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
6. Desenvolvimentode Software:umaatividadecolaborativa
16:34
Atuação de diversos especialistas:
Gerente/Coordenador do projeto
Analista de negócio
Engenheiro de requisitos
Analista de sistema
Arquiteto de software
Projetista de interface gráfica
Codificador
Testador/Garantia de qualidade
outras áreas: marketing, finanças, vendas...
Os sistemas de software modernos são muito complexos para serem desenvolvidos por uma única pessoa.
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
7. Desenvolvimentode Software:umaatividadecolaborativa
16:47
Para desenvolver software, diferenteshabilidadessão necessárias
Analistas
• tem de compreender o problema e o cliente
Projetistas
• precisam considerar diferentes qualidades (tolerância a falhas, segurança,
escalabilidade,flexibilidade,etc)
Gerentes
• precisa garantir que as atividades estão alinhadas e terminarão nas datas previstas.
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
8. Desenvolvimentode Software:umaatividadecolaborativa
14:50
Os próprios engenheiros de software reconhecem que a
atividade de desenvolvimento de software é uma atividade
colaborativa.
Justamente, por causa disto, profissionais e pesquisadores da
área de desenvolvimento de software criaram diversas práticas
e ferramentas que enfatizam a colaboração e a coordenação
das atividades.
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
9. Práticascolaborativasno desenvolvimentode software
15:23
Processo de software:
Coordenação da colaboração entre os vários profissionais com tarefas específicas (papéis)
Define:
• Sequência de atividades
• Os modelos e produtos a serem entregues
Programação em pares:
Prática proposta no método ágil XP (e)
Dupla de programadores num único computador:
• Júnior codifica, sênior acompanha a codificação e foca nas estratégias
código de qualidade + evolução da equipe
Construção colaborativa de modelos (além do código)
Diagramas de casos de uso, classes, etc
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
13. FerramentasTradicionais:Sistemasde controlede versão
14:56
Controle da evolução e integridade dos produtos de software por meio do controle e
registro das mudanças
Ex.: CVS e Subversion
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
17. IBMRational TeamConcert
16:41
Aprimora a colaboração da equipe com recursosintegrados
Fornece alta visibilidade em atividades do projeto e progresso da
equipe com recursos de painéis multinível e relatórios.
Facilita o planejamento e a execução de projetos ágeis e formais com
ferramentas e modelos de planejamento.
Ajuda a melhorar a produtividade com controle de fonte
avançado para equipes distribuídas geograficamente.
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
19. Microsoft Visual StudioTeam System
16:59
Aprimora a colaboração da equipe com recursosintegrados
Fornece alta visibilidade em atividades do projeto e progresso da
equipe com recursos de painéis multinível e relatórios.
Facilita o planejamento e a execução de projetos ágeis e formais com
ferramentas e modelos de planejamento.
Ajuda a melhorar a produtividade com controle de fonte
avançado para equipes distribuídas geograficamente.
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
21. Motivaçõesparao Desenvolvimentodistribuídoe global
15:11
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Mercado global novas formas de competição e colaboração
Torna-se cada vez mais custoso desenvolver no mesmo espaço
físico (organização ou país)
Avanços da economia e dos sistemas de comunicação
Competição por profissionais competentes
Todosestesfatoresimpulsionamo desenvolvimentodistribuídode software!
22. Problemasdo Desenvolvimentodistribuídoe global
15:17
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Diferenças culturais
Idioma, feriados, normas e comportamentos
Distância geográfica
Fuso horário, dificulta a comunicação entre os engenheiros de software
Conhecimento técnico
Processo distribuído de desenvolvimento
Infraestrutura
Rede de comunicação de dados, ambientes de software
23. 16:22
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Como os Sistemas Colaborativos podem
diminuir os problemas relacionados ao
desenvolvimento distribuído e global??
24. A razãop/ os problemasdo Desenvolvimentodistribuídoe global
16:22
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
A comunicação formal é a atividade de comunicação pré-definida,
acordada entre as partes, como por exemplo, uma reunião agendada
entre diversos participantes.
A comunicação informal é espontânea, ocorre sem planejamento, por
exemplo, quando dois profissionais se encontram durante o “cafezinho”
no meio do expediente e começam a conversar sobre o trabalho.
25. A razãop/ os problemasdo Desenvolvimentodistribuídoe global
15:20
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
A colaboração é inversamente proporcional à distância física, pois
reduz as oportunidades p/ a comunicação informal que são essenciais:
Na coordenação das atividades;
No compartilhamento de informações sobre o andamento das atividades
No compartilhamento de conhecimento;
Na discussão dos problemas encontrados no processo de desenvolvimento
29. Napróximaaulaveremos...
SISTEMAS E DOMÍNIOS
# Aprendizagem colaborativa com suporte computacional
11:55 Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software