SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
Marino Hilário Catarino 
10 de outubro de 2014 
1
1.Introdução 
2.A Study of Collaboration in Software Design 
3.Assessment of a framework to compare software development methodologies 
4.Let´s Go to the Whiteboard: How and Why Software Developers Use Drawings 
2
Engenharia de Software 
FERRAMENTAS: dão suporte automatizado aos métodos. 
 Existem atualmente ferramentas para sustentar cada um dos métodos 
 Quando as ferramentas são integradas é estabelecido um sistema de suporte ao desenvolvimento de software chamado CASE - Computer Aided Software Engineering 
3
PROCEDIMENTOS: constituem a ligação entre os métodos e ferramentas 
Seqüência em que os métodos serão aplicados 
 Produtos que se exige que sejam entregues 
 Controles que ajudam assegurar a qualidade e coordenar as alterações 
 Referências que possibilitam administrar o progresso do software. 
4
Ciclos de Etapas de Software 
Conjunto de etapas que envolve MÉTODOS, FERRAMENTAS e PROCEDIMENTOS. 
Alguns ciclos de vida mais conhecidos são: 
1.Ciclo de Vida Clássico (Cascata) 
2.Prototipação 
3.Modelo Espiral 
5
James Wu e T.C.N. Graham da Queen’s University , Canada 
Paul W. Smith da IBM Canada 
2003 
É um estudo de colaboração em uma empresa de grande porte de design de software. Estudos etnográficos de equipes de desenvolvimento no campo são relativamente raros. 
A metodologia incluiu: 
 Sombreamento, 
 Entrevistas 
 Registo de eventos de comunicação 
6
O objetivo deste estudo foi investigar a colaboração e uso de ferramentas de design de software. 
Foi motivado por uma percepção de que existem muitas ferramentas para o suporte de software porém apenas um subconjunto limitado de as tarefas e atividades envolvidas nestas ferramentas. 
7
O estudo investiga quatro hipóteses: 
1. O projeto de software é um atividade altamente colaborativa em que os membros da equipe freqüentemente se comunicam. 
2. Projetistas de software preferem ferramentas informais e não ferramentas específicas, tanto para design e comunicação. 
8
3. Os membros da equipe freqüentemente mudam de localização física ao longo do dia. 
4. Os membros da equipe freqüentemente mudam a forma com que se comunicam. 
9
 Bellotti e Bly apresentam um estudo de uma equipe de projeto e destacam a importância da mobilidade no local para design de software colaborativo. 
 Kraut e Streeter pesquisam as práticas de coordenação em 65 projetos diferentes em uma única empresa de software. 
 Seaman e Basili abordam os aspectos da produtividade de comunicação ao estudar as características organizacionais e de processos que influenciam em uma empresa de software ao comunicar as atividades. 
10
Três métodos principais de coleta de dados: 
1. Entrevistas; foram realizadas 17 entrevistas. 
2. Sombreamento; 
3. Registo de eventos de comunicação. 
11
 Membros de uma equipe tem um alto grau de interação visando o apoio ao seu trabalho. 
 São feitas comunicações com freqüência, e muitas vezes alternado entre modalidades de comunicação. 
 Esses eventos consumiram em média 124 minutos, mais de 2 horas da jornada de trabalho, e envolveu em média 3 pessoas. 
12
Preferência marcada para o uso de ferramentas informais, não específicas. Os resultados apresentado nesta seção são de sombreamento e entrevistas; 
O design criativo é amplamente apoiada pelo meio de comunicação informal (como papel e quadro branco); 
Para as tarefas formais do projeto eram utilizados o IBM Lotus Notes e editores de texto. Isto é em partes devido a cultura interna da empresa em estudo: 
◦a empresa havia padronizado o Lotus Notes para compartilhamento de documentos. 
13
Quadro comparativo: 
14
 As entrevistas revelaram uma preferência para a comunicação cara a cara na interação síncrona. 
 Telefone e quadro branco são também muito utilizados. 
15
 Designers mudam de local com freqüência para interações cara a cara com colegas, ou áreas de encontro em comum; 
Em geral as pessoas preferem falar pessoalmente ao invez de usar o telefone, mesmo quando isso implica uma mudança de localização. 
16
Na sequência de uma comunicação cara a cara que continua depois com um e-mail implica uma mudança de interação síncrono para assíncrona. 
Comunicação: 
 Síncrona 90 min/dia; 
 Assíncrona 35 min/dia. 
17
1.O projeto de software é um atividade altamente colaborativa em que os membros da equipe freqüentemente se comunicam. 
(H1) Os membros da equipe observados eram altamente interativos, gastando em média mais de duas horas por dia em tarefas de comunicação. 
2. Projetistas de software preferem ferramentas informais e não ferramentas específicas, tanto para design e comunicação. 
(H2) Designers preferem ferramentas leves de uso geral para o projeto contra ferramentas de design de domínio específico. Nos estágios iniciais do projeto foram utilizados papel e quadro branco. 
18
3. Os membros da equipe freqüentemente mudam de localização física ao longo do dia. 
(H3) Os desenvolvedores mudam de local com freqüência a fim de colaborar. Em média, os desenvolvedores ficam em mais de seis locais por dia. 
4. Os membros da equipe freqüentemente mudam a forma com que se comunicam. 
(H4) Designers frequentemente mudar a maneira pela qual eles se comunicam. Verificaram que é típico para os designers participar de uma reunião cara a cara em um tópico e depois seguir com um e-mail para uma pergunta complementar. 
19
 Uma ferramenta que suporta apenas comunicação assíncrona, via e-mail ou repositório de documento, não aborda as interações predominantemente síncronos. Ignora uma grande parte da atividade diária dos designers; 
20
 Os designers preferem usar ferramentas de uso geral que se adequam às suas necessidades, seja para o projeto ou a comunicação, ao invés de ferramentas específicas devido a mais sobrecarga em sua tarefa ou interação. 
 Mudanças na localização física, sincronicidade e modalidade de comunicação são freqüentes, e as ferramentas atuais não são suficientes para suportar tais mudanças. 
21
Riaan Klopper, Stefan Gruner e Derrick G. Kourie 
University of Pretoria, South Africa 
2007 
Este artigo avalia o processo de tomada de decisão e a metodologia de desenvolvimento de software em uma empresa de engenharia de software. 
A estrutura que foi utilizada na empresa para decidir sobre uma metodologia adequado para a análise e o projeto do processos de negócios e sistemas de software. 
22
 Gregor Snelting criticou fortemente a proliferação inflacionária de "novos" conceitos de engenharia de software e metodologias, especialmente da comunidade acadêmica em nota publicada quase exatamente 10 anos (1997) 
 Snelting afirmou que os conceitos e metodologias são apenas produzidos por causa da publicação, mas nunca foram sujeitos a qualquer tentativa de avaliação empírica. 
 Baseado em Snelting, perguntamos qual das metodologias software disponíveis é útil. 
23
Tomar uma decisão, a partir de uma perspectiva organizacional para escolher a metodologia de desenvolvimento de software não é tarefa fácil. 
 O escopo deste artigo inclui, portanto, a avaliação tanto da estrutura como prescrito pelo Avison e Fitzgerald, e o processo que foi usado. 
24
É importante compreender os conceitos básicos de uma metodologia de software para avaliar um processo. Isso permite que o leitor coloque o processo e estrutura que é investigada em um contexto melhor, e ajuda na compreensão dos resultados apresentados. 
25
Um bom método de software é uma metodologia que: 
Pode ser descrito quantitativamente como qualitativamente; 
 Pode ser usado repetidamente, cada vez conseguir resultados semelhantes; 
 Pode ser ensinada aos outros dentro de um prazo razoável; 
 Pode ser aplicado por outros com um nível razoável de sucesso; 
 Atingir significativamente, e de forma consistente, resultados melhores do que qualquer outras técnicas, ou uma abordagem ad-hoc; 
 São aplicáveis em uma porcentagem relativamente grande de casos. 
26
Argumentos a favor de organizações que usam metodologias de desenvolvimento de software: 
1. Metodologias ajudam a lidar com a complexidade do processo de desenvolvimento de software; 2. Metodologias reduzem os riscos e incertezas, tornando as tarefas de desenvolvimento mais transparente e visível; 3. Metodologias podem fornecer uma estrutura para a aplicação de técnicas e recursos em momentos apropriados durante o processo de desenvolvimento; 4. Metodologias ajudam a capacidade de intercâmbio de desenvolvedores de software. Isto é ainda mais importante quando o desenvolvimento trabalho é terceirizado; 5. Certificação (ISO, CMM, TMM, etc) se torna possível para as organizações. 
27
 Existem várias notações diferentes disponíveis para sistemas de software de modelagem. 
 Parte dos requisitos organizacionais era ter uma notação padronizada aceita internacionalmente e que pudesse modelar tanto o sistema técnico quanto o processos de negócios. 
 O UML foi escolhida como a notação. 
28
O processo de alto nível que foi seguido para facilitar o processo de tomada de decisão para a seleção de uma metodologia de software foi: 
29
Os requisitos organizacionais incluíram o seguinte: 
 A metodologia de software que facilite a comunicação e a compreensão entre as divisões de negócios e de TI; 
 A metodologia de software que iria criar e manter uma biblioteca de processos de negócio em um nível empresarial, que podem ser reutilizados em diferentes projetos estratégicos; 
 A metodologia de software que iria manter um modelo de um sistema de software, a partir da documentação de negócios, onde compreensível, bem como documentação técnica pode ser gerado; 
 A notação comum que pode ser usado para pessoas de negócios e tecnologia da mesma forma; Um ambiente onde as diferentes partes interessadas de um projeto podem colaborar para construir e manter um modelo de software; 
 A metodologia de software que facilite processo de reengenharia de negócios; 
 A metodologia de software que pode integrar com os processos existentes, tais como a metodologia de gerenciamento de projetos, controle de qualidade, controle de mudanças; 
 Um processo padronizado que pode ser repetido para diferentes projetos e ainda produzir "os mesmos" resultados. 
30
Strate Ltd. é a Central de Ativos da África do Sul, com cerca de 140 funcionários, a empresa é responsável pela compensação, liquidação e atividades de ações para a maioria dos comércios eletrônicos realizados na Bolsa de Valores de Joanesburgo (JSE). 
31
 Outro fator que desempenhou um papel importante na escolha da metodologia de software foi a experiência prática que os analistas de negócios já tiveram em trabalhar com ela. 
 O quadro para a comparação de metodologias de software em nosso estudo piloto continha um conjunto inicial de diferentes critérios de avaliação (parâmetros) para aplicar a cada metodologia. 
 Os pesos foram atribuídos a cada critério de avaliação para torná-lo mais relevante para as necessidades específicas da organização que foram recolhidos anteriormente. 
32
O framework sugerido por Avison e Fitzgerald foi escolhido para auxiliar no processo de tomada de decisão. 
A principal razão para a escolha deste framework foi o critério de avaliação precisa que ele proporciona para comparar as diferentes metodologias, em contraste com as outras estruturas que foram consideradas como demasiado vago e subjetivo. 
A Separação de Projeto Lógico: implica que deve haver uma separação de requisitos, e como ela é implementada; 
As técnicas e ferramentas: são as várias estratégias e tecnologias usadas para apoiar a metodologia. Um exemplo pode ser que RUP usa UML. 
33
Os seguintes métodos foram escolhidos para o exercício de comparação: 
Aris 
RUP 
URDAD 
34
A pontuação numérica de entre 1 e 5 foi dada a cada critério, com a seguinte interpretação: 
1.Muito ruim: "O que não atender a exigência desse critério"; 
2.Ruim: "Dificilmente se encontra a exigência desse critério"; 
3.Média: "Modestamente atende a exigência desse critério"; 
4.Bom: "Atende a exigência desse critério muito bem"; 
5.Muito bom: "Atende a exigência dada excepcionalmente bem“. 
35
Atribuição de Pesos: 
A fim de tornar o método mais relevantes para a organização em questão, os requisitos da organização para uma metodologia de desenvolvimento de software também teve de ser integrados nos resultados quantificados. 
Os seguintes ponderações foram atribuídos a cada critério de avaliação baseado na relevância para a organização: 0.5 - relevância “Baixa“; 1.0 - relevância "Normal" e 1.5 - relevância “Alta" 
36
Tabela com o resultado: 
Metodologia: 
37
A partir de todos os resultados, a metodologia URDAD deve ser a metodologia escolhida para a organização, mas a decisão continua a ser um exercício subjetivo. 
38
Mauro Cherubini – École Polytechnique Fédérale de Lausanne 
Gina Venolia e Rob DeLine – Microsoft Research 
Andrew J. Ko – Carnegie Mellon University 
2007 
Este artigo trata em como os desenvolvedores de software utilizam as ferramentas para fazer esboços e diagramas, que representam o seu código. 
39
Diagramas são importantes ferramentas para todo design e disciplina de engenharia, porém como é o uso de diagramas nas atividades de desenvolvimento de software? 
4 questões: 
A. Como os engenheiros usam diagramas em seu trabalho? B. Por que os engenheiros usam diagramas em seu trabalho? C. Que convenções gráficas que os engenheiros usam? D. Qual é a cultura em torno desses desenhos? 
40
Fizeram uma primeira pesquisa com 350 desenvolvedores da Microsoft, onde 60 retornaram um questionário sobre uso de diagramas. Realizaram entrevistas e refinaram as perguntas em 9 cenários. 
Fizeram uma nova pesquisa onde selecionaram 400 pessoas aleatóriamente entre as 8.570 empregados da microsoft. 
41
81% 
11% 
5% 
3% 
Desenvolvedor 
Lider de equipe 
Arquiteto 
Outros 
7% sexo feminino e 85% tinham entre 20 e 39 anos. A médiaéra de 7 anos como desenvolvedor 
42
Convenção visual 
Caixas para representar desde banco de dados a métodos 
Setas para representar relacionamentos 
43
Motivações e cenários 
Os diagramas são feitos principalmente para: Entendimento; Design e para Comunicação 
44
45
Cenários: 
1. Entendimento do código existente: Mais importante, compreensão do código. Uso de quadro branco. 
2. Encontro Ad-hoc: Tirar dúvida do desenvolvedor com a equipe. 
3. Design/refatoração: Desenvolvedor planeja como irá implementar nova funcionalidade, conserto ou bug. Muito importante. 
4. Rever design: Mudança na proposta do design, não é muito frequente. 
5. Novo membro na equipe: Para explicar o projeto para um novo integrante. 
46
6. Explicando para um participante secundário: Explicar para um participante sem relação com a implementação, por exemplo equipe de testes, gerente de projeto ou cliente interno. Os diagramas são muito importantes 
7. Explicando para um cliente: Desenvolvedores com a responsabilidade de explicar o software. Consideram a menos importante. Usam padrões gráficos nos diagramas. 
8. Exposição: Como no método ágil, expor a estrutura ou código. 
9. Documentação: Muito importante, alto grau de formalidade e refinamento nos diagramas. 
47
Nível de investimento ( 4 tipos): 
1 - Provisório: um simples desenho, para entendimento do código ou desingn, rapidamente perdendo o valor. 
48
2 - Esboço repetitivo: algo provisório foi redesenhado em diferente contexto ou em partes, como em encontros Ad-hoc ou em explicações para outros. 
49
3 - Entrega do desenho: Em alguns casos um esboço repetitivo pode ter um investimento de tempo e esforço, assim virando algo permanente. Isto ocorre mais em revisão de design. 
50
4 - Arquivando: Quando o diagrama se torna parte do documento. 
51
A. Como os engenheiros usam diagramas em seu trabalho? 
Desenvolvedores usam meios transitórios para as atividades de exploração e usam soluções permanentes quando se comunicam com outras pessoas ou todo o grupo. 
52
B. Por que os engenheiros usam diagramas em seu trabalho? 
Três razões principais: 
1.Compreender; 
2.Projetar; 
3.Comunicar. 
53
C. Que convenções gráficas os engenheiros usam? 
Os desenvolvedores não seguem qualquer padrão gráfico, na maioria dos casos, os desenvolvedores usaram uma linguagem visual simples caixas-e-flechas cujos elementos assumem significados, dependendo do contexto. 
No entanto, para a documentação, um estilo mais formal foi escolhido, embora os sistemas de notação padrão foram raramente utilizados. 
54
D. Qual é a cultura em torno desses desenhos? 
Os resultados mostram uma adoção limitada de ferramentas de desenho. Apesar da disponibilidade de editores visuais, tais como ferramentas de UML, os desenvolvedores não utilizam amplamente. 
55
1.Captura dos esboços nos quadros brancos; 
2.Integrar engenharia reversa e esboços; 
3.Nível de abstração; 
4.Visualização compartilhada entre a equipe de desenvolvimento. 
56
Como e porque os desenvolvedores usam diagramas? 
A notação informal foi usada para apoiar a comunicação cara a cara e as ferramentas atuais não foram capazes de suportar essa necessidade, porque não ajudam a exteriorizar os modelos mentais de código. 
57
58

Mais conteúdo relacionado

Mais procurados

Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gilmar Pupo
 
261 261 case_ocomon
261 261 case_ocomon261 261 case_ocomon
261 261 case_ocomonricardo17754
 
Adoção de metodologias ágeis para produção de jogos sociais com times distrib...
Adoção de metodologias ágeis para produção de jogos sociais com times distrib...Adoção de metodologias ágeis para produção de jogos sociais com times distrib...
Adoção de metodologias ágeis para produção de jogos sociais com times distrib...Lenin Abadie
 
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane FidelixApresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane FidelixCris Fidelix
 
Es17 predicao de defeitos em software
Es17   predicao de defeitos em softwareEs17   predicao de defeitos em software
Es17 predicao de defeitos em softwareVictor Hugo
 
Engenharia de Software
Engenharia de SoftwareEngenharia de Software
Engenharia de SoftwareSm3nd3s29
 
Comparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisDaniel Ferreira
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixCris Fidelix
 
modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3spawally
 
O uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de softwareO uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de softwareEverton vitor
 
JAD e levantamento de requisitos
JAD e levantamento de requisitosJAD e levantamento de requisitos
JAD e levantamento de requisitosEduardo Castro
 
Aula 01 - Metodologia Científica: projetos, ciência e redes de conversação
Aula 01 - Metodologia Científica: projetos, ciência e redes de conversaçãoAula 01 - Metodologia Científica: projetos, ciência e redes de conversação
Aula 01 - Metodologia Científica: projetos, ciência e redes de conversaçãoDalton Martins
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixCris Fidelix
 

Mais procurados (20)

Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
 
261 261 case_ocomon
261 261 case_ocomon261 261 case_ocomon
261 261 case_ocomon
 
Adoção de metodologias ágeis para produção de jogos sociais com times distrib...
Adoção de metodologias ágeis para produção de jogos sociais com times distrib...Adoção de metodologias ágeis para produção de jogos sociais com times distrib...
Adoção de metodologias ágeis para produção de jogos sociais com times distrib...
 
Documento de requisitos
Documento de requisitosDocumento de requisitos
Documento de requisitos
 
O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012
 
Revista Engenharia de Software n° 44
Revista Engenharia de Software n° 44Revista Engenharia de Software n° 44
Revista Engenharia de Software n° 44
 
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane FidelixApresentação de Engenharia de software I - Prof. Cristiane Fidelix
Apresentação de Engenharia de software I - Prof. Cristiane Fidelix
 
Subm_SamuelPereira_FINAL
Subm_SamuelPereira_FINALSubm_SamuelPereira_FINAL
Subm_SamuelPereira_FINAL
 
Es17 predicao de defeitos em software
Es17   predicao de defeitos em softwareEs17   predicao de defeitos em software
Es17 predicao de defeitos em software
 
Engenharia de Software
Engenharia de SoftwareEngenharia de Software
Engenharia de Software
 
Comparativo entre Processos Ágeis
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos Ágeis
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
 
modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3modelagem sistema da informação Unid 3
modelagem sistema da informação Unid 3
 
O uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de softwareO uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de software
 
JAD e levantamento de requisitos
JAD e levantamento de requisitosJAD e levantamento de requisitos
JAD e levantamento de requisitos
 
Aula2 processos sw
Aula2 processos swAula2 processos sw
Aula2 processos sw
 
Aula 01 - Metodologia Científica: projetos, ciência e redes de conversação
Aula 01 - Metodologia Científica: projetos, ciência e redes de conversaçãoAula 01 - Metodologia Científica: projetos, ciência e redes de conversação
Aula 01 - Metodologia Científica: projetos, ciência e redes de conversação
 
Es 09
Es 09Es 09
Es 09
 
Es06 teste de software
Es06   teste de softwareEs06   teste de software
Es06 teste de software
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
 

Destaque

P2P: not only file sharing
P2P: not only file sharingP2P: not only file sharing
P2P: not only file sharingMarta Fava
 
Prot. 0781 15 pl 011-2015 - altera a lei nº 5.577_2014, que “dispõe sobre a...
Prot. 0781 15   pl 011-2015 - altera a lei nº 5.577_2014, que “dispõe sobre a...Prot. 0781 15   pl 011-2015 - altera a lei nº 5.577_2014, que “dispõe sobre a...
Prot. 0781 15 pl 011-2015 - altera a lei nº 5.577_2014, que “dispõe sobre a...Claudio Figueiredo
 
Tumoreshipofisrios artigo-131120150857-phpapp02 (1)
Tumoreshipofisrios artigo-131120150857-phpapp02 (1)Tumoreshipofisrios artigo-131120150857-phpapp02 (1)
Tumoreshipofisrios artigo-131120150857-phpapp02 (1)Maria Mendonça
 
Apresentação do4help
Apresentação do4helpApresentação do4help
Apresentação do4helpGerson Lopes
 
Prot. 0984 15 pl 012-2015 - altera a redação da lei municipal nº. 2.915, de...
Prot. 0984 15   pl 012-2015 - altera a redação da lei municipal nº. 2.915, de...Prot. 0984 15   pl 012-2015 - altera a redação da lei municipal nº. 2.915, de...
Prot. 0984 15 pl 012-2015 - altera a redação da lei municipal nº. 2.915, de...Claudio Figueiredo
 
Avaliação da adequação da formação Graduada e Pós-Graduada do IESF face às ne...
Avaliação da adequação da formação Graduada e Pós-Graduada do IESF face às ne...Avaliação da adequação da formação Graduada e Pós-Graduada do IESF face às ne...
Avaliação da adequação da formação Graduada e Pós-Graduada do IESF face às ne...mbarroso1
 
Corda Violoncelo - Encordoamento cello mauro calixto - HPGmusical.com
Corda Violoncelo - Encordoamento cello mauro calixto - HPGmusical.comCorda Violoncelo - Encordoamento cello mauro calixto - HPGmusical.com
Corda Violoncelo - Encordoamento cello mauro calixto - HPGmusical.comHpg Musical
 
Viata .Ne Invata !Suuperb
Viata .Ne Invata !SuuperbViata .Ne Invata !Suuperb
Viata .Ne Invata !Suuperbiluzia tacere
 
Making Of Obra De Teatre Tricle sit
Making Of Obra De Teatre Tricle sitMaking Of Obra De Teatre Tricle sit
Making Of Obra De Teatre Tricle sitaosorior
 
Výstava léto 2008: LEONARDO DA VINCI, člověk - vynálezce - génius
Výstava léto 2008: LEONARDO DA VINCI, člověk - vynálezce - géniusVýstava léto 2008: LEONARDO DA VINCI, člověk - vynálezce - génius
Výstava léto 2008: LEONARDO DA VINCI, člověk - vynálezce - géniusKnihovna Lednice
 
Prot. 2646 15 mensagem-veto_026_2015 autógrafo 3.436_15
Prot. 2646 15   mensagem-veto_026_2015 autógrafo 3.436_15Prot. 2646 15   mensagem-veto_026_2015 autógrafo 3.436_15
Prot. 2646 15 mensagem-veto_026_2015 autógrafo 3.436_15Claudio Figueiredo
 
108 - La Mente Universal
108 -  La Mente Universal108 -  La Mente Universal
108 - La Mente UniversalMiguel Amaro
 
Portfólio oliver camisetas e uniformes
Portfólio oliver camisetas e uniformesPortfólio oliver camisetas e uniformes
Portfólio oliver camisetas e uniformesPedro
 
Hezkuntza Lege Berria Eta Gizarte Zientziak
Hezkuntza Lege Berria Eta Gizarte ZientziakHezkuntza Lege Berria Eta Gizarte Zientziak
Hezkuntza Lege Berria Eta Gizarte ZientziakAitor Pagalday
 

Destaque (20)

P2P: not only file sharing
P2P: not only file sharingP2P: not only file sharing
P2P: not only file sharing
 
Prostata
ProstataProstata
Prostata
 
Einav H
Einav HEinav H
Einav H
 
Anexo 3.2.2 jeroglificos
Anexo 3.2.2 jeroglificosAnexo 3.2.2 jeroglificos
Anexo 3.2.2 jeroglificos
 
Jornal OJE edição 14ABR15
Jornal OJE edição 14ABR15Jornal OJE edição 14ABR15
Jornal OJE edição 14ABR15
 
Prot. 0781 15 pl 011-2015 - altera a lei nº 5.577_2014, que “dispõe sobre a...
Prot. 0781 15   pl 011-2015 - altera a lei nº 5.577_2014, que “dispõe sobre a...Prot. 0781 15   pl 011-2015 - altera a lei nº 5.577_2014, que “dispõe sobre a...
Prot. 0781 15 pl 011-2015 - altera a lei nº 5.577_2014, que “dispõe sobre a...
 
Tumoreshipofisrios artigo-131120150857-phpapp02 (1)
Tumoreshipofisrios artigo-131120150857-phpapp02 (1)Tumoreshipofisrios artigo-131120150857-phpapp02 (1)
Tumoreshipofisrios artigo-131120150857-phpapp02 (1)
 
Apresentação do4help
Apresentação do4helpApresentação do4help
Apresentação do4help
 
Sf1n1 2010
Sf1n1 2010Sf1n1 2010
Sf1n1 2010
 
Prot. 0984 15 pl 012-2015 - altera a redação da lei municipal nº. 2.915, de...
Prot. 0984 15   pl 012-2015 - altera a redação da lei municipal nº. 2.915, de...Prot. 0984 15   pl 012-2015 - altera a redação da lei municipal nº. 2.915, de...
Prot. 0984 15 pl 012-2015 - altera a redação da lei municipal nº. 2.915, de...
 
Avaliação da adequação da formação Graduada e Pós-Graduada do IESF face às ne...
Avaliação da adequação da formação Graduada e Pós-Graduada do IESF face às ne...Avaliação da adequação da formação Graduada e Pós-Graduada do IESF face às ne...
Avaliação da adequação da formação Graduada e Pós-Graduada do IESF face às ne...
 
Corda Violoncelo - Encordoamento cello mauro calixto - HPGmusical.com
Corda Violoncelo - Encordoamento cello mauro calixto - HPGmusical.comCorda Violoncelo - Encordoamento cello mauro calixto - HPGmusical.com
Corda Violoncelo - Encordoamento cello mauro calixto - HPGmusical.com
 
Viata .Ne Invata !Suuperb
Viata .Ne Invata !SuuperbViata .Ne Invata !Suuperb
Viata .Ne Invata !Suuperb
 
Making Of Obra De Teatre Tricle sit
Making Of Obra De Teatre Tricle sitMaking Of Obra De Teatre Tricle sit
Making Of Obra De Teatre Tricle sit
 
Výstava léto 2008: LEONARDO DA VINCI, člověk - vynálezce - génius
Výstava léto 2008: LEONARDO DA VINCI, člověk - vynálezce - géniusVýstava léto 2008: LEONARDO DA VINCI, člověk - vynálezce - génius
Výstava léto 2008: LEONARDO DA VINCI, člověk - vynálezce - génius
 
Prot. 2646 15 mensagem-veto_026_2015 autógrafo 3.436_15
Prot. 2646 15   mensagem-veto_026_2015 autógrafo 3.436_15Prot. 2646 15   mensagem-veto_026_2015 autógrafo 3.436_15
Prot. 2646 15 mensagem-veto_026_2015 autógrafo 3.436_15
 
Foto 11 Septiembre
Foto 11 SeptiembreFoto 11 Septiembre
Foto 11 Septiembre
 
108 - La Mente Universal
108 -  La Mente Universal108 -  La Mente Universal
108 - La Mente Universal
 
Portfólio oliver camisetas e uniformes
Portfólio oliver camisetas e uniformesPortfólio oliver camisetas e uniformes
Portfólio oliver camisetas e uniformes
 
Hezkuntza Lege Berria Eta Gizarte Zientziak
Hezkuntza Lege Berria Eta Gizarte ZientziakHezkuntza Lege Berria Eta Gizarte Zientziak
Hezkuntza Lege Berria Eta Gizarte Zientziak
 

Semelhante a Seminario software-marino

SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...Kéllyson Gonçalves da Silva
 
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...Diógenes Almeida
 
Exercicio 1 engenharia de software.
Exercicio 1 engenharia de software.Exercicio 1 engenharia de software.
Exercicio 1 engenharia de software.Renato Breaking
 
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWAREANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWAREKéllyson Gonçalves da Silva
 
Revisita e Análise dos Métodos para Captura de Lições Aprendidas: Uma Contrib...
Revisita e Análise dos Métodos para Captura de Lições Aprendidas: Uma Contrib...Revisita e Análise dos Métodos para Captura de Lições Aprendidas: Uma Contrib...
Revisita e Análise dos Métodos para Captura de Lições Aprendidas: Uma Contrib...Marcirio Chaves
 
Aula 1 Analise e Projeto
Aula 1   Analise e ProjetoAula 1   Analise e Projeto
Aula 1 Analise e ProjetoSergio Silva
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareDaniel Cukier
 
Design System: Criando padrões de design para tomadas de decisões mais alinhadas
Design System: Criando padrões de design para tomadas de decisões mais alinhadasDesign System: Criando padrões de design para tomadas de decisões mais alinhadas
Design System: Criando padrões de design para tomadas de decisões mais alinhadasMJV Technology & Innovation Brasil
 
Gerenciando Projetos De Software De Forma áGil Utilizando Scrum
Gerenciando Projetos De Software De Forma áGil Utilizando ScrumGerenciando Projetos De Software De Forma áGil Utilizando Scrum
Gerenciando Projetos De Software De Forma áGil Utilizando ScrumRaphael Donaire Albino
 
Sistema de Integração de Informações Médicas (SIIM)
Sistema de Integração de Informações Médicas (SIIM)Sistema de Integração de Informações Médicas (SIIM)
Sistema de Integração de Informações Médicas (SIIM)Jerônimo Medina Madruga
 
Scrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de softwareScrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de softwareThiago Reis da Silva
 
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIDevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIAlefe Variani
 
Grupo 3 - Gestão Ágil (3).pptx
Grupo 3 - Gestão Ágil (3).pptxGrupo 3 - Gestão Ágil (3).pptx
Grupo 3 - Gestão Ágil (3).pptxssuser064821
 

Semelhante a Seminario software-marino (20)

SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...
 
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
Proposta De Um Protótipo Para Avaliação Da Maturidade em Gestão Da Inovação D...
 
Exercicio 1 engenharia de software.
Exercicio 1 engenharia de software.Exercicio 1 engenharia de software.
Exercicio 1 engenharia de software.
 
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWAREANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
 
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
 
Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento
 
Revisita e Análise dos Métodos para Captura de Lições Aprendidas: Uma Contrib...
Revisita e Análise dos Métodos para Captura de Lições Aprendidas: Uma Contrib...Revisita e Análise dos Métodos para Captura de Lições Aprendidas: Uma Contrib...
Revisita e Análise dos Métodos para Captura de Lições Aprendidas: Uma Contrib...
 
Aula 1 Analise e Projeto
Aula 1   Analise e ProjetoAula 1   Analise e Projeto
Aula 1 Analise e Projeto
 
Aula 1 analise e projeto
Aula 1   analise e projetoAula 1   analise e projeto
Aula 1 analise e projeto
 
Metodos ageis
Metodos ageisMetodos ageis
Metodos ageis
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de Software
 
Artigo corrigido
Artigo corrigidoArtigo corrigido
Artigo corrigido
 
Design System: Criando padrões de design para tomadas de decisões mais alinhadas
Design System: Criando padrões de design para tomadas de decisões mais alinhadasDesign System: Criando padrões de design para tomadas de decisões mais alinhadas
Design System: Criando padrões de design para tomadas de decisões mais alinhadas
 
Gerenciando Projetos De Software De Forma áGil Utilizando Scrum
Gerenciando Projetos De Software De Forma áGil Utilizando ScrumGerenciando Projetos De Software De Forma áGil Utilizando Scrum
Gerenciando Projetos De Software De Forma áGil Utilizando Scrum
 
Sistema de Integração de Informações Médicas (SIIM)
Sistema de Integração de Informações Médicas (SIIM)Sistema de Integração de Informações Médicas (SIIM)
Sistema de Integração de Informações Médicas (SIIM)
 
Scrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de softwareScrum uma metodologia ágil paragestão e planejamento de projetos de software
Scrum uma metodologia ágil paragestão e planejamento de projetos de software
 
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia IIDevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
DevOps II - Ambientes padronizados e Monitoramento da Aplicação | Monografia II
 
Crystal
CrystalCrystal
Crystal
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Grupo 3 - Gestão Ágil (3).pptx
Grupo 3 - Gestão Ágil (3).pptxGrupo 3 - Gestão Ágil (3).pptx
Grupo 3 - Gestão Ágil (3).pptx
 

Seminario software-marino

  • 1. Marino Hilário Catarino 10 de outubro de 2014 1
  • 2. 1.Introdução 2.A Study of Collaboration in Software Design 3.Assessment of a framework to compare software development methodologies 4.Let´s Go to the Whiteboard: How and Why Software Developers Use Drawings 2
  • 3. Engenharia de Software FERRAMENTAS: dão suporte automatizado aos métodos.  Existem atualmente ferramentas para sustentar cada um dos métodos  Quando as ferramentas são integradas é estabelecido um sistema de suporte ao desenvolvimento de software chamado CASE - Computer Aided Software Engineering 3
  • 4. PROCEDIMENTOS: constituem a ligação entre os métodos e ferramentas Seqüência em que os métodos serão aplicados  Produtos que se exige que sejam entregues  Controles que ajudam assegurar a qualidade e coordenar as alterações  Referências que possibilitam administrar o progresso do software. 4
  • 5. Ciclos de Etapas de Software Conjunto de etapas que envolve MÉTODOS, FERRAMENTAS e PROCEDIMENTOS. Alguns ciclos de vida mais conhecidos são: 1.Ciclo de Vida Clássico (Cascata) 2.Prototipação 3.Modelo Espiral 5
  • 6. James Wu e T.C.N. Graham da Queen’s University , Canada Paul W. Smith da IBM Canada 2003 É um estudo de colaboração em uma empresa de grande porte de design de software. Estudos etnográficos de equipes de desenvolvimento no campo são relativamente raros. A metodologia incluiu:  Sombreamento,  Entrevistas  Registo de eventos de comunicação 6
  • 7. O objetivo deste estudo foi investigar a colaboração e uso de ferramentas de design de software. Foi motivado por uma percepção de que existem muitas ferramentas para o suporte de software porém apenas um subconjunto limitado de as tarefas e atividades envolvidas nestas ferramentas. 7
  • 8. O estudo investiga quatro hipóteses: 1. O projeto de software é um atividade altamente colaborativa em que os membros da equipe freqüentemente se comunicam. 2. Projetistas de software preferem ferramentas informais e não ferramentas específicas, tanto para design e comunicação. 8
  • 9. 3. Os membros da equipe freqüentemente mudam de localização física ao longo do dia. 4. Os membros da equipe freqüentemente mudam a forma com que se comunicam. 9
  • 10.  Bellotti e Bly apresentam um estudo de uma equipe de projeto e destacam a importância da mobilidade no local para design de software colaborativo.  Kraut e Streeter pesquisam as práticas de coordenação em 65 projetos diferentes em uma única empresa de software.  Seaman e Basili abordam os aspectos da produtividade de comunicação ao estudar as características organizacionais e de processos que influenciam em uma empresa de software ao comunicar as atividades. 10
  • 11. Três métodos principais de coleta de dados: 1. Entrevistas; foram realizadas 17 entrevistas. 2. Sombreamento; 3. Registo de eventos de comunicação. 11
  • 12.  Membros de uma equipe tem um alto grau de interação visando o apoio ao seu trabalho.  São feitas comunicações com freqüência, e muitas vezes alternado entre modalidades de comunicação.  Esses eventos consumiram em média 124 minutos, mais de 2 horas da jornada de trabalho, e envolveu em média 3 pessoas. 12
  • 13. Preferência marcada para o uso de ferramentas informais, não específicas. Os resultados apresentado nesta seção são de sombreamento e entrevistas; O design criativo é amplamente apoiada pelo meio de comunicação informal (como papel e quadro branco); Para as tarefas formais do projeto eram utilizados o IBM Lotus Notes e editores de texto. Isto é em partes devido a cultura interna da empresa em estudo: ◦a empresa havia padronizado o Lotus Notes para compartilhamento de documentos. 13
  • 15.  As entrevistas revelaram uma preferência para a comunicação cara a cara na interação síncrona.  Telefone e quadro branco são também muito utilizados. 15
  • 16.  Designers mudam de local com freqüência para interações cara a cara com colegas, ou áreas de encontro em comum; Em geral as pessoas preferem falar pessoalmente ao invez de usar o telefone, mesmo quando isso implica uma mudança de localização. 16
  • 17. Na sequência de uma comunicação cara a cara que continua depois com um e-mail implica uma mudança de interação síncrono para assíncrona. Comunicação:  Síncrona 90 min/dia;  Assíncrona 35 min/dia. 17
  • 18. 1.O projeto de software é um atividade altamente colaborativa em que os membros da equipe freqüentemente se comunicam. (H1) Os membros da equipe observados eram altamente interativos, gastando em média mais de duas horas por dia em tarefas de comunicação. 2. Projetistas de software preferem ferramentas informais e não ferramentas específicas, tanto para design e comunicação. (H2) Designers preferem ferramentas leves de uso geral para o projeto contra ferramentas de design de domínio específico. Nos estágios iniciais do projeto foram utilizados papel e quadro branco. 18
  • 19. 3. Os membros da equipe freqüentemente mudam de localização física ao longo do dia. (H3) Os desenvolvedores mudam de local com freqüência a fim de colaborar. Em média, os desenvolvedores ficam em mais de seis locais por dia. 4. Os membros da equipe freqüentemente mudam a forma com que se comunicam. (H4) Designers frequentemente mudar a maneira pela qual eles se comunicam. Verificaram que é típico para os designers participar de uma reunião cara a cara em um tópico e depois seguir com um e-mail para uma pergunta complementar. 19
  • 20.  Uma ferramenta que suporta apenas comunicação assíncrona, via e-mail ou repositório de documento, não aborda as interações predominantemente síncronos. Ignora uma grande parte da atividade diária dos designers; 20
  • 21.  Os designers preferem usar ferramentas de uso geral que se adequam às suas necessidades, seja para o projeto ou a comunicação, ao invés de ferramentas específicas devido a mais sobrecarga em sua tarefa ou interação.  Mudanças na localização física, sincronicidade e modalidade de comunicação são freqüentes, e as ferramentas atuais não são suficientes para suportar tais mudanças. 21
  • 22. Riaan Klopper, Stefan Gruner e Derrick G. Kourie University of Pretoria, South Africa 2007 Este artigo avalia o processo de tomada de decisão e a metodologia de desenvolvimento de software em uma empresa de engenharia de software. A estrutura que foi utilizada na empresa para decidir sobre uma metodologia adequado para a análise e o projeto do processos de negócios e sistemas de software. 22
  • 23.  Gregor Snelting criticou fortemente a proliferação inflacionária de "novos" conceitos de engenharia de software e metodologias, especialmente da comunidade acadêmica em nota publicada quase exatamente 10 anos (1997)  Snelting afirmou que os conceitos e metodologias são apenas produzidos por causa da publicação, mas nunca foram sujeitos a qualquer tentativa de avaliação empírica.  Baseado em Snelting, perguntamos qual das metodologias software disponíveis é útil. 23
  • 24. Tomar uma decisão, a partir de uma perspectiva organizacional para escolher a metodologia de desenvolvimento de software não é tarefa fácil.  O escopo deste artigo inclui, portanto, a avaliação tanto da estrutura como prescrito pelo Avison e Fitzgerald, e o processo que foi usado. 24
  • 25. É importante compreender os conceitos básicos de uma metodologia de software para avaliar um processo. Isso permite que o leitor coloque o processo e estrutura que é investigada em um contexto melhor, e ajuda na compreensão dos resultados apresentados. 25
  • 26. Um bom método de software é uma metodologia que: Pode ser descrito quantitativamente como qualitativamente;  Pode ser usado repetidamente, cada vez conseguir resultados semelhantes;  Pode ser ensinada aos outros dentro de um prazo razoável;  Pode ser aplicado por outros com um nível razoável de sucesso;  Atingir significativamente, e de forma consistente, resultados melhores do que qualquer outras técnicas, ou uma abordagem ad-hoc;  São aplicáveis em uma porcentagem relativamente grande de casos. 26
  • 27. Argumentos a favor de organizações que usam metodologias de desenvolvimento de software: 1. Metodologias ajudam a lidar com a complexidade do processo de desenvolvimento de software; 2. Metodologias reduzem os riscos e incertezas, tornando as tarefas de desenvolvimento mais transparente e visível; 3. Metodologias podem fornecer uma estrutura para a aplicação de técnicas e recursos em momentos apropriados durante o processo de desenvolvimento; 4. Metodologias ajudam a capacidade de intercâmbio de desenvolvedores de software. Isto é ainda mais importante quando o desenvolvimento trabalho é terceirizado; 5. Certificação (ISO, CMM, TMM, etc) se torna possível para as organizações. 27
  • 28.  Existem várias notações diferentes disponíveis para sistemas de software de modelagem.  Parte dos requisitos organizacionais era ter uma notação padronizada aceita internacionalmente e que pudesse modelar tanto o sistema técnico quanto o processos de negócios.  O UML foi escolhida como a notação. 28
  • 29. O processo de alto nível que foi seguido para facilitar o processo de tomada de decisão para a seleção de uma metodologia de software foi: 29
  • 30. Os requisitos organizacionais incluíram o seguinte:  A metodologia de software que facilite a comunicação e a compreensão entre as divisões de negócios e de TI;  A metodologia de software que iria criar e manter uma biblioteca de processos de negócio em um nível empresarial, que podem ser reutilizados em diferentes projetos estratégicos;  A metodologia de software que iria manter um modelo de um sistema de software, a partir da documentação de negócios, onde compreensível, bem como documentação técnica pode ser gerado;  A notação comum que pode ser usado para pessoas de negócios e tecnologia da mesma forma; Um ambiente onde as diferentes partes interessadas de um projeto podem colaborar para construir e manter um modelo de software;  A metodologia de software que facilite processo de reengenharia de negócios;  A metodologia de software que pode integrar com os processos existentes, tais como a metodologia de gerenciamento de projetos, controle de qualidade, controle de mudanças;  Um processo padronizado que pode ser repetido para diferentes projetos e ainda produzir "os mesmos" resultados. 30
  • 31. Strate Ltd. é a Central de Ativos da África do Sul, com cerca de 140 funcionários, a empresa é responsável pela compensação, liquidação e atividades de ações para a maioria dos comércios eletrônicos realizados na Bolsa de Valores de Joanesburgo (JSE). 31
  • 32.  Outro fator que desempenhou um papel importante na escolha da metodologia de software foi a experiência prática que os analistas de negócios já tiveram em trabalhar com ela.  O quadro para a comparação de metodologias de software em nosso estudo piloto continha um conjunto inicial de diferentes critérios de avaliação (parâmetros) para aplicar a cada metodologia.  Os pesos foram atribuídos a cada critério de avaliação para torná-lo mais relevante para as necessidades específicas da organização que foram recolhidos anteriormente. 32
  • 33. O framework sugerido por Avison e Fitzgerald foi escolhido para auxiliar no processo de tomada de decisão. A principal razão para a escolha deste framework foi o critério de avaliação precisa que ele proporciona para comparar as diferentes metodologias, em contraste com as outras estruturas que foram consideradas como demasiado vago e subjetivo. A Separação de Projeto Lógico: implica que deve haver uma separação de requisitos, e como ela é implementada; As técnicas e ferramentas: são as várias estratégias e tecnologias usadas para apoiar a metodologia. Um exemplo pode ser que RUP usa UML. 33
  • 34. Os seguintes métodos foram escolhidos para o exercício de comparação: Aris RUP URDAD 34
  • 35. A pontuação numérica de entre 1 e 5 foi dada a cada critério, com a seguinte interpretação: 1.Muito ruim: "O que não atender a exigência desse critério"; 2.Ruim: "Dificilmente se encontra a exigência desse critério"; 3.Média: "Modestamente atende a exigência desse critério"; 4.Bom: "Atende a exigência desse critério muito bem"; 5.Muito bom: "Atende a exigência dada excepcionalmente bem“. 35
  • 36. Atribuição de Pesos: A fim de tornar o método mais relevantes para a organização em questão, os requisitos da organização para uma metodologia de desenvolvimento de software também teve de ser integrados nos resultados quantificados. Os seguintes ponderações foram atribuídos a cada critério de avaliação baseado na relevância para a organização: 0.5 - relevância “Baixa“; 1.0 - relevância "Normal" e 1.5 - relevância “Alta" 36
  • 37. Tabela com o resultado: Metodologia: 37
  • 38. A partir de todos os resultados, a metodologia URDAD deve ser a metodologia escolhida para a organização, mas a decisão continua a ser um exercício subjetivo. 38
  • 39. Mauro Cherubini – École Polytechnique Fédérale de Lausanne Gina Venolia e Rob DeLine – Microsoft Research Andrew J. Ko – Carnegie Mellon University 2007 Este artigo trata em como os desenvolvedores de software utilizam as ferramentas para fazer esboços e diagramas, que representam o seu código. 39
  • 40. Diagramas são importantes ferramentas para todo design e disciplina de engenharia, porém como é o uso de diagramas nas atividades de desenvolvimento de software? 4 questões: A. Como os engenheiros usam diagramas em seu trabalho? B. Por que os engenheiros usam diagramas em seu trabalho? C. Que convenções gráficas que os engenheiros usam? D. Qual é a cultura em torno desses desenhos? 40
  • 41. Fizeram uma primeira pesquisa com 350 desenvolvedores da Microsoft, onde 60 retornaram um questionário sobre uso de diagramas. Realizaram entrevistas e refinaram as perguntas em 9 cenários. Fizeram uma nova pesquisa onde selecionaram 400 pessoas aleatóriamente entre as 8.570 empregados da microsoft. 41
  • 42. 81% 11% 5% 3% Desenvolvedor Lider de equipe Arquiteto Outros 7% sexo feminino e 85% tinham entre 20 e 39 anos. A médiaéra de 7 anos como desenvolvedor 42
  • 43. Convenção visual Caixas para representar desde banco de dados a métodos Setas para representar relacionamentos 43
  • 44. Motivações e cenários Os diagramas são feitos principalmente para: Entendimento; Design e para Comunicação 44
  • 45. 45
  • 46. Cenários: 1. Entendimento do código existente: Mais importante, compreensão do código. Uso de quadro branco. 2. Encontro Ad-hoc: Tirar dúvida do desenvolvedor com a equipe. 3. Design/refatoração: Desenvolvedor planeja como irá implementar nova funcionalidade, conserto ou bug. Muito importante. 4. Rever design: Mudança na proposta do design, não é muito frequente. 5. Novo membro na equipe: Para explicar o projeto para um novo integrante. 46
  • 47. 6. Explicando para um participante secundário: Explicar para um participante sem relação com a implementação, por exemplo equipe de testes, gerente de projeto ou cliente interno. Os diagramas são muito importantes 7. Explicando para um cliente: Desenvolvedores com a responsabilidade de explicar o software. Consideram a menos importante. Usam padrões gráficos nos diagramas. 8. Exposição: Como no método ágil, expor a estrutura ou código. 9. Documentação: Muito importante, alto grau de formalidade e refinamento nos diagramas. 47
  • 48. Nível de investimento ( 4 tipos): 1 - Provisório: um simples desenho, para entendimento do código ou desingn, rapidamente perdendo o valor. 48
  • 49. 2 - Esboço repetitivo: algo provisório foi redesenhado em diferente contexto ou em partes, como em encontros Ad-hoc ou em explicações para outros. 49
  • 50. 3 - Entrega do desenho: Em alguns casos um esboço repetitivo pode ter um investimento de tempo e esforço, assim virando algo permanente. Isto ocorre mais em revisão de design. 50
  • 51. 4 - Arquivando: Quando o diagrama se torna parte do documento. 51
  • 52. A. Como os engenheiros usam diagramas em seu trabalho? Desenvolvedores usam meios transitórios para as atividades de exploração e usam soluções permanentes quando se comunicam com outras pessoas ou todo o grupo. 52
  • 53. B. Por que os engenheiros usam diagramas em seu trabalho? Três razões principais: 1.Compreender; 2.Projetar; 3.Comunicar. 53
  • 54. C. Que convenções gráficas os engenheiros usam? Os desenvolvedores não seguem qualquer padrão gráfico, na maioria dos casos, os desenvolvedores usaram uma linguagem visual simples caixas-e-flechas cujos elementos assumem significados, dependendo do contexto. No entanto, para a documentação, um estilo mais formal foi escolhido, embora os sistemas de notação padrão foram raramente utilizados. 54
  • 55. D. Qual é a cultura em torno desses desenhos? Os resultados mostram uma adoção limitada de ferramentas de desenho. Apesar da disponibilidade de editores visuais, tais como ferramentas de UML, os desenvolvedores não utilizam amplamente. 55
  • 56. 1.Captura dos esboços nos quadros brancos; 2.Integrar engenharia reversa e esboços; 3.Nível de abstração; 4.Visualização compartilhada entre a equipe de desenvolvimento. 56
  • 57. Como e porque os desenvolvedores usam diagramas? A notação informal foi usada para apoiar a comunicação cara a cara e as ferramentas atuais não foram capazes de suportar essa necessidade, porque não ajudam a exteriorizar os modelos mentais de código. 57
  • 58. 58