Anda di halaman 1dari 51

WORKSPACE SEMNTICO:

INTEGRANDO ARTEFATOS E
DESENVOLVEDORES NO AMBIENTE
COLABORATIVO DE
DESENVOLVIMENTO DE SOFTWARE
Edenilson Jos da Silva
Orientador: Prof. Dr. Emerson Cabrera Paraiso

Agenda da Apresentao

Motivaes
Objetivos da Pesquisa
Hipteses de Trabalho
Contribuies
Escopo e Esfera de Abrangncia da Pesquisa
Fundamentao Terica
Estado da Arte
O Workspace Semntico
Experimentos Conduzidos
Contribuies da Pesquisa
Concluso e Trabalhos Futuros

Motivao para execuo do trabalho


Integrao dos artefatos com os desenvolvedores.
Aprimorar o desenvolvimento de software;
Praticado por pequenas equipes.
At 10 componentes (CAMPAGNOLO et al., 2009).

Manter os modelos UML atualizados e os cdigos


sincronizados em tempo real de desenvolvimento de
software.
Diminuir a disparidade entre a especificao realizada na
modelagem e a implantao do software.

Objetivo da Pesquisa

Desenvolver um ambiente de apoio ao


desenvolvimento colaborativo de software, capaz
de integrar semanticamente os artefatos
produzidos ao longo do projeto entre si e aos seus
participantes.

Objetivos Especficos do Trabalho


Estudar a viabilidade da utilizao dos Desktops
Semnticos, no contexto do desenvolvimento
colaborativo de software por pequenas equipes.
Desenvolver um prottipo deste ambiente de
apoio ao desenvolvimento colaborativo de
software.

Avaliar o conceito e o prottipo desenvolvido.

Hipteses

A utilizao do Workspace Semntico contribuir


no aumento da colaborao e da gesto dos
artefatos de projetos desenvolvidos por pequenas
equipes de desenvolvimento de software.
O acompanhamento da escrita do cdigo-fonte
em tempo real e de forma automtica, sendo
confrontada com a modelagem realizada
anteriormente, amplia a visibilidade do que est
sendo realizado.

Contribuies
A principal Contribuio cientfica o novo
conceito: Workspace Semntico (ambiente
semntico que integra os artefatos e
desenvolvedores ligaes semnticas).
O prottipo do Workspace Semntico.

Escopo da Pesquisa
Dimenso da equipe de desenvolvimento:
Pequenas equipes tm maior dificuldade em gerir os artefatos
criados ao longo do desenvolvimento do software.
Poucos recursos e pessoas com vrios papis.
Facilitou os processos de implantao, testes e experimentos do
ambiente.

Enfoque maior no papel do desenvolvedor:


Concentra os artefatos de maior interesse.
Considerado o principal entre os existentes.

Fundamentao Terica
Colaborao e Cooperao.
Pequenas equipes de desenvolvimento de
software at 10 pessoas.
Colaborao no Desenvolvimento de Software.
Contexto, suporte, tarefas, processos de interao, equipes,
indivduos e fatores de carter global;

Apoio a Gesto de Documentos Pessoais - PIM


(TEEVAN et al., 2006).
Prtica e estudo das atividades que as pessoas desempenham, a
fim de adquirir, organizar, manter, recuperar e utilizar itens de
informao que normalmente usurios de computador manipulam
no seu dia-a-dia, tais como documentos digitais, emails, web
pages, contatos de redes sociais entre outros.
9

Fundamentao Terica

Awareness: Uma compreenso das atividades dos


outros, que fornece um contexto para sua prpria
atividade. (DOURISH e BELLOTTI, 1992).
Verificao e validao de software: V&V determina
se os produtos de desenvolvimento de software de
certa atividade esto em conformidade com os
requisitos dessa atividade, e se os produtos
satisfazem seu uso pretendido e as necessidades
do usurio. (IEEE, 2012).

10

Estado da Arte (1/8)

Ferramentas de Apoio ao Desenvolvimento


Colaborativo de Software.
Apoio a Gesto de Artefatos.
Aplicaes do Desktop Semntico.
Ferramentas de Apoio ao Awareness.

Ferramentas de Verificao e Validao de


Software.
11

Estado da Arte (2/8)

Ferramentas - desenvolvimento colaborativo


Nome da
Ferramenta

Principais Caractersticas

STOREY et al.,
2006.

TagSEA.

- Permitir anotao no cdigo com captura de conhecimento


relevante, tagueamento de locais, adio de metadados em uma
ferramenta assncrona;

CUBRANIC et al.,
2005,
CUBRANIC e
MURPHY, 2003.

HIPIKAT

- Acesso a memria do grupo de desenvolvimento de software


construdo atravs dos artefatos criados;

Fonte

LIMA et al., 2010.

ARARA

STOREY et al.,
2005.

BRAUN et al., 2007.

FALBO et al., 1998.

ADS

FALBO et al., 2002;


FALBO et al., 2004;
FALBO et al., 2005.

ODE

- Awareness para o grupo de desenvolvimento onde os requisitos


de software sofrem mudanas constantes;
- Atualizao automtica das mudanas nos artefatos;
- Analise de doze ferramentas de awareness e a criao de um
framework de auxlio para comparar e compreender instrumentos
de awareness, utilizando cinco dimenses principais.
- Anlise de processos de trabalhos cientficos (e-science), dentro
do domnio de prototipagem rpida.
- Integrao do conhecimento em Ambiente de trabalho de
Software.
- Adio do componente semntico atravs da insero de
ontologias que provm uma infraestrutura comum para o
desenvolvimento de um conjunto de agentes.
12

Estado da Arte (3/8)

Apoio a Gesto de Artefatos


Fonte

SCHANDL, 2009.

NESIC, 2010.

Nome da
Ferramenta
SILE MODEL

SDArch

Principais Caractersticas
- Novo modelo de gerenciamento de dados;
- Criao de repositrios para diferentes tipos de dados do desktop;
- Novo modelo semntico de documentos;
- Melhora a interoperabilidade dos dados dos usurios;

DS

- Criao de uma metodologia para extrao da ontologia atravs dos


dados do desktop;

ETEZADI, 2008.

- Realizar a coleta de informaes de entidades semnticas do


desktop dos usurios;
- Plug-in agregado ao DS Iris;

NADEEM, 2007.

- Avaliao do DS Gnowsis e sua utilizao relacionada com a teoria


dos Modelos Mentais;

SCERRI, 2010.

SEMANTA

- Email - extenso virtual do ambiente de trabalho atravs da incluso


de componentes semnticos;

GNOWSIS

- DS disponvel que serviu de base para muitos outros trabalhos;


- Gerenciamento do P.I.M. melhorado;
- Cdigo fonte aberto.

FAHEEN, 2010.

SAUERMANN,
2009.

13

Estado da Arte (4/8)

Aplicaes do Desktops Semnticos


Fonte
LEIFLER e ERIKSSON,
2008.
DEMARTINI e
NIEDERE, 2008.

DEBATTISTA e ABELA,
2011.

Nome da
Aplicao ou
estudo

Principais caractersticas

- Estudo do DS dentro do contexto do


comando militar;
-

Sistema
que
permite
encontrar
especialistas analisando o contedo
indexado por um DS chamado BEAGLE;

BIZZILA

- Sistema que possibilita criar tarefas


colaborativas e facilita a encontrar
possveis colaboradores de acordo com a
tarefa necessria.

14

Estado da Arte (5/8)

Awareness

Fonte

Nome da
Ferramenta

BRAUN et al.,
2007a.

KAP

SARMA, 2008.

PALANTR

BULEJ et al.,
2012.
DUQUE et al.,
2012.

COLLECE

Principais Caractersticas
- Pesquisa em meios de conhecimento intensivo utilizando conceitos dos
DSs e awareness para auxiliar os usurios a tomarem cincia dos
trabalhos de seus pares nos meios de conhecimento de colaborao
cientfica;
- Awareness para o grupo de desenvolvimento de software com a
finalidade evitar conflitos de codificao;
- Framework para avaliar a captura de dados de desempenho baseados
em lgica estocstica;
- Sistema que inclui o gerenciamento de usurios e fornece suporte para
tarefas colaborativas dentro de espaos de trabalho compartilhados.

15

Estado da Arte (6/8)

Verificao de Software (V&V)


Fonte
LI e BOEHM,
2011.

WANG, 2011.

QUAN et al.,
2011.
GONZALES et
al., 2012.

CHOCKLER et
al., 2013.

Nome da
Ferramenta
ou Modelo

Principais Caractersticas

- Estudo emprico que utiliza diversas tcnicas no ensino da V&V que


auxilia os alunos a obter prtica no processo de verificao e validao
de software;

- Framework de classificao que define quatro atributos para verificao


de software;
- Realiza o controle do processo de verificao e validao de software;

MAPFSE

- Framework voltado para a engenharia de software na rea industrial;


- Voltada para aproveitar os contraexemplos na deteco de problemas
na verificao de software;

- Utiliza a CSP para verificar se existe uma soluo para um determinado


EMFTtoCSP problema encontrado;
- Integrada a IDE de desenvolvimento ECLIPSE;
- Atua em sistemas de redes que necessitam de atualizao nos
sistemas de software;
PINCETTE - Integra vrios mtodos da V&V;
- Utiliza simultaneamente as tcnicas estticas e dinmicas para avaliar
um software.
16

Estado da Arte (7/8)

Ferramentas - desenvolvimento colaborativo:


Comparao entre ferramentas que suportam a
atividade.

Apoio a Gesto de Artefatos:


Busca de formas do gerenciamento de P.I.M.

Aplicaes do Desktops Semnticos:


Aplicabilidade dos DSs.

Awareness:
Forma de utilizao em trabalhos com correlao ao WS.

Verificao e Validao de Software:


Trabalhos que implementam esta atividade.

17

Estado da Arte (8/8)

Gesto dos Artefatos Desktops Semnticos:


Estudos indicavam a limitao dos DSs.
Rastreavam documentos de forma geral.
No abriam o contedo.
Ideia de criar o WS; onde seria possvel verificar o
contedos dos artefatos.
Auxlio para a V&V.

18

O Workspace Semntico (1/14)

Ambiente de apoio ao desenvolvimento


colaborativo de software, capaz de integrar
semanticamente os artefatos produzidos ao longo
do projeto entre si e aos seus participantes.

19

O Workspace Semntico (2/14)

Questionrio com Desenvolvedores, Gestores de


Projetos de Software e Profissionais da Informtica:
Obter uma viso geral da rea onde o WS ir atuar,
envolvendo a forma como software desenvolvido,
especialmente o que desenvolvido por pequenas
equipes.

54 respostas:
61% atuam como desenvolvedores.
72% tem varincia neste papel.
96% no utilizam ferramenta que apresenta semelhanas
com o proposto para o Workspace Semntico.
89% utilizariam uma ferramenta com as caractersticas do
Workspace Semntico.

20

O Workspace Semntico (3/14)

Arquitetura do Workspace Semntico:

21

O Workspace Semntico (4/14)

Caractersticas do Workspace Semntico:


Contribuio para o awareness.
Acompanhamento modelo x cdigo-fonte.

Apoio a Verificao de software;


Possibilidade de verificar o projeto sob desenvolvimento.
Seguindo o modelo?

Integrao semntica dos artefatos e dos


desenvolvedores.
Desenvolvedor Criando Cdigo java criao de classe
Hackystat ligao com UML (Astah).

22

O Workspace Semntico (5/14)

Funcionalidades do Workspace Semntico:


Visibilidade da colaborao.
Envio de emails.
Apresentao grfica.

Criao das ligaes semnticas.


Visualizao de manipulao do cdigo.

23

O Workspace Semntico (6/14)


Ligao Semntica:
Integrao dos programas sendo desenvolvidos (cdigofonte), com a modelagem UML (diagrama de classes do
sistema), que ser realizada atravs do contedo destes
dois artefatos.
Ocorre quando existe um relacionamento entre o autor
de uma determinada parte do cdigo-fonte e um item
especfico da modelagem.

24

O Workspace Semntico (7/14)

Prottipo do WS:
NEPOMUK foi escolhido para realizar o gerenciamento do P.I.M.;
OPERAM: mdulo de acompanhamento do desenvolvimento. Nome
em latim tem o significado de trabalhar em conjunto.

25

O Workspace Semntico (8/14)

Diagrama de Implementao do OPERAM:

26

O Workspace Semntico (9/14)

Lista de eventos no OPERAM:


EVENTO
Classes Criadas
Classes Renomeadas
Classes Excludas
Atributos Criados

DESCRIO
Evento: Ao

realizada
Disparado sempre que o desenvolvedor criadurante
uma classeoJava
em seu cdigo
processo
de
fonte;
desenvolvimento
de software
Gerado quando o desenvolvedor modifica
o nome de uma classe;
Ocorre quando uma classe excluda; que monitorado no WS.

Atributos Excludos

Quando um atributo adicionado a uma classe;


Atualizado quando o desenvolvedor modifica o nome de um atributo de uma
classe;
Ocorre quanto um atributo excludo de uma classe;

Mtodos Criados

Disparado sempre que o desenvolvedor cria um novo mtodo em uma classe;

Mtodos Renomeados
Mtodos Excludos

Gerado quando o desenvolvedor modifica o nome de um mtodo;


Ocorre quando um mtodo excludo de uma classe;

Atributos Renomeados

Compilaes Executadas Ocorre quando uma compilao executada por um desenvolvedor;


Erros de Execuo

Gerado quando um erro de execuo ocorre;

Break Points inseridos

Contabiliza a quantidade de Break Points incorporados no cdigo-fonte;

Imports realizados
Tempo gasto em itens do
projeto

Ocorre quando um Import feito para agregar itens ao projeto em


desenvolvimento;
Contabilizado sempre que o desenvolvedor inicia o trabalho em atividades nos
itens do projeto, como classes, atributos ou mtodos e finalizado quando cessa
a interao com o item.
27

O Workspace Semntico (10/14)


Notao BNF das Ligaes Semnticas no OPERAM:
<operador> ::= ,

<diagrama-classes> ::= <item-classe>


<item-classe> ::= (<classe> | <atributo> | <metodo> )
<programa> ::= <item-programa>
<item-programa> ::= (<programa-classe> | <programa-atributo> | <programa-metodo>)
<operacao> ::= (<criar> | <alterar> | <eliminar> | <data>)
<identificacao> ::= <desenvolvedor>
<ligacao> ::= (<-responsvel-por> | <item-eliminado-por> | <ultima-atualizao-por> | foi-alterado-por |
<- relacionado-a> | <item-criado-por> | <-coautor-de> | <ultima-modificacao-por>)
<expressao> ::= (<ligacao> | <identificao> | <operador> | <operao> | <item-classe> | <item-programa>)
<-responsvel-por> ::= (<desenvolvedor> , <criar> , <item-classe>)
<item-eliminado-por> ::= (<desenvolvedor> , <eliminar> , <item-classe>)
<ultima-atualizao-por ::= (<desenvolvedor , <item-classe> , <data>)
<foi-alterado-por> ::= (<desenvolvedor> , <item-classe> , <data>)
<-relacionado-a> ::= (<desenvolvedor> , <item-programa>)
<item-criado-por> ::= (<desenvolvedor> , <item-classe> , <item-programa>)
<-coautor-de> ::= (<desenvolvedor> , <item-classe> , <item-programa> , <desenvolvedor>)
<ultima-modificacao-por> ::= (<desenvolvedor> , <data> , <item-programa> , <item-classe>)

28

O Workspace Semntico (11/14)

Acompanhamento ligaes Semnticas no Operam:

29

O Workspace Semntico (12/14)

Acompanhamento ligaes Semnticas no Operam:


CORES DO KANBAN: Cada cor refere-se a um status:
Vermelho remoo; Amarelo depurao; Verde
criao; Azul refatorao.

30

O Workspace Semntico (13/14)

Acompanhamento ligaes Semnticas no OPERAM:

31

O Workspace Semntico (14/14)

Ligao Semntica entre o Cdigo-fonte e Diagrama


UML:

32

Experimento Piloto IMC (1/6)


Objetivo: validar o prottipo do WS.

Conduzido com acadmicos da PUCPR.


Executado nos laboratrios da instituio.
Desempenharam o papel de programadores,
alternando-se no desenvolvimento.

33

Experimento Piloto IMC (2/6)

Diagrama de Classes do projeto IMC criado no


software ASTAH:

34

Experimento Piloto IMC (3/6)

Experimento IMC no OPERAM aps seis dias de


desenvolvimento:

35

Experimento Piloto IMC (4/6)

Dados Gerenciais do Experimento IMC:


Ao

Desenvolvedor1 Desenvolvedor2 Desenvolvedor3

Classes Criadas

20

05

01

Mtodos Criados

92

02

Mtodos Removidos

07

02

Insero de Break
Points

07

02

02

Execuo de Debug

20

05

03

36

Experimento Piloto IMC (5/6)

Ligaes Semnticas entre o Cdigo-fonte e


Diagrama UML do Experimento IMC:
Ligao Semntica

Descrio

ltima-atualizao-por

CaloriaMeta.java e Desenvolvedor 1

-coautor-de

MetaCaloria.java e Desenvolvedor 1

-coautor-de

MetaCaloria.java e Desenvolvedor 3

37

Experimento Piloto IMC (6/6)

Ligaes Semnticas do Experimento IMC


Mostradas no OPERAM

38

Experimento de Avaliao HEXAPODE (1/8)


Realizado nas dependncias do TECPAR.

Controle de uma plataforma robtica mvel.


Acompanhamento da execuo de uma trajetria
especfica repassada ao rob.
Definio do projeto, cenrio, requisitos, diagrama
de classes e itens do projeto com a equipe do
TECPAR.
39

Experimento de Avaliao HEXAPODE (2/8)

Diagrama de Classes do Projeto HEXAPODE:

40

Experimento de Avaliao HEXAPODE (3/8)

Visualizao em tempo real: desenvolvedores x


classes:

41

Experimento de Avaliao HEXAPODE (5/8)

Dados estatsticos:

Ao
Criar
Renomear
Remover

Ao
Classes Criadas
Classes Renomeadas
Classes Removidas
Mtodos Criados
Mtodos Renomeados
Mtodos Removidos
Atributos Criados
Atributos Renomedos
Atributos Removidos

Classes

Mtodos

Atributos

07

30

63

17

30

01

21

26

Desenvolvedor932 Desenvolvedor933 Desenvolvedor934

3
10
15
1
38
30
6

3
20
2
16
22
20

42

1
1
3
-

01 - A ferramenta funciona integrada a IDE Eclipse, de forma no


intrusiva e recolhendo dados de todos os participantes do projeto
de desenvolvimento de software.

66,66

66,66

03 - Existe a apresentao das atividades desenvolvidas pelos


programadores em uma linha de tempo, que possibilita escolher
entre datas e visualizar o trabalho desenvolvido por cada
componente da equipe.
04 - A ferramenta mostra, de forma grfica e em tempo real, a
visualizao das modificaes realizadas durante a programao
do cdigo-fonte.

66,66

33,34

66,66

33,34

05 - A ferramenta possibilita diferenciar situaes como, por


exemplo, a criao, eliminao e alterao de itens do projeto,
atravs de cores e em tempo real de programao.

33,34

66,66

Discordo
Fortemente

Discordo
33,34

33,34
02 - A ferramenta apresenta a modelagem do sistema em
desenvolvimento, de forma grfica, atravs do diagrama de classes
da UML.

43

Indiferente

Itens sobre o Workspace Semntico

Concordo

Concordo
Fortemente

Experimento de Avaliao HEXAPODE (6/8)

06 - O acompanhamento do desenvolvimento do software


de forma visual til para apoiar os participantes do
projeto de software.

100,00

07 - As ligaes semnticas entre o diagrama de classes


da UML e a codificao realizada em tempo real, so de
utilidade para fornecer informaes aos participantes do
projeto de software.
08 - A utilizao de cores para diferenciar as alteraes
realizadas no cdigo-fonte so importantes para fornecer
suporte aos participantes do projeto de software.
09 - A ferramenta til para os participantes de um
desenvolvimento colaborativo de software.

100,00

10 - A colaborao entre os participantes aumentou com


a utilizao da ferramenta.

44

33,34

66,66

33,34

66,66

66,66

33,34

Discordo
Fortemente

Discordo

Indiferente

Itens sobre o Workspace Semntico

Concordo

Concordo
Fortemente

Experimento de Avaliao HEXAPODE (7/8)

Experimento de Avaliao HEXAPODE (8/8)


Concluses do Experimento de Avaliao:
Auxiliou a avaliar as hipteses da pesquisa de
forma satisfatria.
Contribuio do WS em alguns aspectos:

Andamento da codificao de forma visual.


Estar ciente da programao praticada pelos pares.
Visualizar as ligaes semnticas.
Emisso de relatrios gerenciais.

45

Concluses (1/3)

Primeira Hiptese:
Comprovada parcialmente aumento da colaborao.
Falta de mtricas para medir a colaborao.
No encontradas na literatura e sem definio de mtricas
prprias.

Apresenta indcios que factvel de ser realizada.


O ambiente pode auxiliar no aumento da colaborao
Necessita de novos experimentos.

Segunda Hiptese:
Comprovada;
Acompanhamento da escrita do cdigo-fonte amplia
visibilidade do que est sendo criado pela equipe de
desenvolvimento.
46

Concluses (2/3)

Contribuies:
Ambiente semntico que integra os artefatos e
desenvolvedores.
Contribuio para o aprimoramento da colaborao:
visibilidade, awareness e verificao de software.
Auxlio a reduo da disparidade entre modelagem e
codificao.
Artigos publicados:
SILVA, E.J. ; TORQUATO, E. ; RAMOS, M. P. ; PARAISO, E. C. : OPERAM:
A Collaborative Semantic Workspace for Software Verification. In: IEEE
International Conference on Systems, Man and Cybernetics (SMC 2013)
Manchester, UK. p. 1026-1031. 2013
WANDERLEY, G. M. P.; RAMOS, M. P.; TACLA, C. A.; SATO, G.; SILVA, E.
J.; PARAISO, E. C.: MODUS-SD: User Modeling in Collaborative Software
Development. In: IEEE International Conference on Computer Supported
Cooperative Work in Design. (CSCWD 2012) Wuhan, China. pp. 372-377. 2012.

47

Concluses (3/3)

Trabalhos Futuros:
Estudo de longo termo.
Gerao de Dados para PSP (Personal Software
Process).
Outros profissionais monitorados alm do
desenvolvedor.
Avaliao em grandes equipes.
Criao de dashboards.
Integrao com SVN.
Definio de mtricas para avaliao da colaborao.
Gerenciamento prprio dos dados (Substituio ao
NEPOMUK).
48

Agradecimentos

49

Agradecimentos

Emerson Torquato.
Lohann Coutinho.

Gregory Moro Puppi Wanderley.


Yuri Heupa.

50

WORKSPACE SEMNTICO:
INTEGRANDO ARTEFATOS E
DESENVOLVEDORES NO AMBIENTE
COLABORATIVO DE
DESENVOLVIMENTO DE SOFTWARE.
Edenilson Jos da Silva
Orientador: Prof. Dr. Emerson Cabrera Paraiso

FIM

PERGUNTAS?
51

Anda mungkin juga menyukai