Post on 09-Apr-2017
# Sistemas Cooperativos #Aula 09 – SISTEMAS E DOMÍNIOS
Desenvolvimento colaborativo de software
Prof. Leinylson Fontinele Pereira
Na aula anterior...
SISTEMAS E DOMÍNIOS# Democracia Eletrônica
11:55 Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Introdução
11:55 3 Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
O que vamos aprender?
SISTEMAS E DOMÍNIOS# Desenvolvimento colaborativo de software
11:55 Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Vamos começar?
16:55 5 Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Desenvolvimento de Software: uma atividade colaborativa
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
Desenvolvimento de Software: uma atividade colaborativa
16:47
Para desenvolver software, diferentes habilidades sã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
Desenvolvimento de Software: uma atividade colaborativa
14:50
Os próprios engenheiros de software reconhecem que aatividade de desenvolvimento de software é uma atividadecolaborativa.
Justamente, por causa disto, profissionais e pesquisadores daárea de desenvolvimento de software criaram diversas práticase ferramentas que enfatizam a colaboração e a coordenaçãodas atividades.
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Práticas colaborativas no desenvolvimento de 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
Tradicional X Ágil
15:07Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Sistemas colaborativos no desenvolvimento de software
16:17Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Ferramentas Tradicionais
16:56 12 Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Ferramentas Tradicionais: Sistemas de controle de versão
14:56
Controle da evolução e integridade dos produtos de software por meio do controle eregistro das mudanças
Ex.: CVS e Subversion
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Ferramentas Tradicionais: Sistemas de gestão de defeitos (bugs)
14:59
Técnicas: revisão por pares, teste unitário, teste de usuário
Ex.: Bugzilla, JIRA etc.
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Ferramentas Modernas
16:56 15 Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Ferramentas Modernas: Sistemas p/ desenvolvimento colaborativo
16:39Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
IBM Rational Team Concert
16:41
Aprimora a colaboração da equipe com recursos integrados
Fornece alta visibilidade em atividades do projeto e progresso daequipe com recursos de painéis multinível e relatórios.
Facilita o planejamento e a execução de projetos ágeis e formais comferramentas e modelos de planejamento.
Ajuda a melhorar a produtividade com controle de fonteavançado para equipes distribuídas geograficamente.
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Ferramentas Modernas: Sistemas p/ desenvolvimento colaborativo
16:37Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Microsoft Visual Studio Team System
16:59
Aprimora a colaboração da equipe com recursos integrados
Fornece alta visibilidade em atividades do projeto e progresso daequipe com recursos de painéis multinível e relatórios.
Facilita o planejamento e a execução de projetos ágeis e formais comferramentas e modelos de planejamento.
Ajuda a melhorar a produtividade com controle de fonteavançado para equipes distribuídas geograficamente.
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Desenvolvimento distribuído e global
16:05Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Motivações para o Desenvolvimento distribuído e global
15:11Sistemas 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çofísico (organização ou país)
Avanços da economia e dos sistemas de comunicação
Competição por profissionais competentesTodos estes fatores impulsionam o desenvolvimento distribuído de software!
Problemas do Desenvolvimento distribuído e global
15:17Sistemas 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
16:22Sistemas 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??
A razão p/ os problemas do Desenvolvimento distribuído e global
16:22Sistemas 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 agendadaentre diversos participantes.
A comunicação informal é espontânea, ocorre sem planejamento, porexemplo, quando dois profissionais se encontram durante o “cafezinho”no meio do expediente e começam a conversar sobre o trabalho.
A razão p/ os problemas do Desenvolvimento distribuído e global
15:20Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
A colaboração é inversamente proporcional à distância física, poisreduz 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
Concluindo...
11:55 26 Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Nesta aula conhecemos...
SISTEMAS E DOMÍNIOS# Democracia Eletrônica
11:55 Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Material: https://sites.google.com/site/leinylsonnassau
11:55
Material baseado em:
Sistemas Colaborativos. M. Pimentel, M. A. Gerosa, H. Fuks, 2011.(Cleidson Ronald Botelho de Souza, Sabrina Marczak, Rafael Prikladnicki)
Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Na próxima aula veremos...
SISTEMAS E DOMÍNIOS# Aprendizagem colaborativa com suporte computacional
11:55 Sistemas Cooperativos: Aula 09 – SISTEMAS E DOMÍNIOS: Desenvolvimento colaborativo de software
Alguma Dúvida?
11:55
Até a próxima aula...
leinylson@gmail.com