MY MUSIC: APLICATIVO DE COMPOSIÇÃO...

76
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO MUSICAL PARA LEIGOS FABRÍCIO WEITGENANT BLUMENAU 2014 2014/1-07

Transcript of MY MUSIC: APLICATIVO DE COMPOSIÇÃO...

Page 1: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

UNIVERSIDADE REGIONAL DE BLUMENAU

CENTRO DE CIÊNCIAS EXATAS E NATURAIS

CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO

MY MUSIC:

APLICATIVO DE COMPOSIÇÃO MUSICAL PARA LEIGOS

FABRÍCIO WEITGENANT

BLUMENAU 2014

2014/1-07

Page 2: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

FABRÍCIO WEITGENANT

MY MUSIC:

APLICATIVO DE COMPOSIÇÃO MUSICAL PARA LEIGOS

Trabalho de Conclusão de Curso submetido à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso II do curso de Ciência da Computação — Bacharelado.

Prof. Aurélio Faustino Hoppe, Mestre – Orientador

BLUMENAU 2014

2014/1-07

Page 3: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

MY MUSIC:

APLICATIVO DE COMPOSIÇÃO MUSICAL PARA LEIGOS

Por

FABRÍCIO WEITGENANT

Trabalho aprovado para obtenção dos créditos na disciplina de Trabalho de Conclusão de Curso II, pela banca examinadora formada por:

______________________________________________________ Presidente: Prof. Aurélio Faustino Hoppe, Mestre – Orientador, FURB

______________________________________________________ Membro: Prof. Dalton Solano dos Reis, Mestre – FURB

______________________________________________________ Membro: Prof. Marcel Hugo, Mestre – FURB

Blumenau, 10 de julho de 2014.

Page 4: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

Dedico este trabalho à minha família, à minha namorada e aos meus amigos, pois todos sempre me incentivaram para a conclusão do mesmo. Dedico também este trabalho, de maneira especial ao meu padrinho Nelson Gramkow, que sempre foi um grande incentivador e motivador para mim durante todo o meu curso; a partir do começo deste ano passei a guardar sua lembrança em minha memória e o levo em meu coração.

Page 5: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

AGRADECIMENTOS

A Deus pelo Dom da Vida.

À minha família por seu apoio, motivação, compreensão e por seu imenso amor.

A minha namorada, Gesiane Cristina Franke, por seu apoio, motivação, paciência e

compreensão.

Aos meus amigos que sempre manifestaram apoio à minha pessoa para a conclusão

deste trabalho, em especial Elton Cardoso, por suas palavras de motivação e demonstração de

apoio durante todo o desenrolar do TCC.

Ao meu orientador e Mestre, Professor Aurélio Faustino Hoppe, por seu apoio, por

toda a ajuda concedida, pela paciência, compreensão, por acreditar na viabilidade da

continuidade de um trabalho e, também, por confiar à minha pessoa esta continuidade do

trabalho e acreditar no meu potencial.

Page 6: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

Não desanimeis jamais embora venham ventos contrários.

Santa Paulina

Page 7: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

RESUMO

Este trabalho apresenta uma manutenção evolutiva ao aplicativo de composição musical para

leigos, desenvolvido por Alvarenga (2013), para dispositivos Android. Tal manutenção

propôs adicionar mecanismos de cooperação, coordenação e comunicação ao aplicativo,

tornando-o desta forma, um ambiente colaborativo para a criação de composições musicais.

Para atender a estes mecanismos foi utilizado a API QuickBlox, que provê suporte para a

comunicação entre usuários e o compartilhamento de artefatos. A partir dos testes de

usabilidade e experimentos realizados, conclui-se que o aplicativo atendeu às expectativas

quanto a um editor colaborativo, sendo intuitivo e de fácil utilização.

Palavras-chave: Composição musical. CSCW. Cooperação. Coordenação. Comunicação.

Android.

Page 8: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

ABSTRACT

This work presents an adaptive maintenance musical composition for the laity application,

developed by Alvarenga (2013), for Android devices. Such maintenance mechanisms

proposed adding cooperation, coordination and communication to the application, making it

thus a collaborative environment for creating musical compositions. To meet these

mechanisms was used to QuickBlox API that provides support for communication between

users and the sharing of artifacts. From usability tests and experiments, it is concluded that the

application met the expectations of a collaborative editor, with intuitive and easy to use.

Key-words: Musical composition. CSCW. Cooperation. Coordination. Communication.

Android.

Page 9: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

LISTA DE ILUSTRAÇÕES

Figura 1 – Modelo de colaboração 3C ..................................................................................... 18

Figura 2 – Modelo de coordenação mediada por computador ................................................. 18

Figura 3 – Modelo de cooperação mediada por computador ................................................... 19

Figura 4 – Interface para criação de composições musicais ..................................................... 20

Figura 5 – Elementos da janela de edição do CODES ............................................................. 21

Figura 6 – Modelo de entrada da rede neural ........................................................................... 22

Figura 7 – Composição individual com notas musicais na grade ............................................ 23

Quadro 1 – Características dos trabalhos correlatos ................................................................. 24

Figura 8 – Diagrama de casos de uso ....................................................................................... 26

Figura 9 – Diagrama de classes com suporte aos mecanismos de coordenação e cooperação 28

Figura 10 – Diagrama de classes com suporte à comunicação (chat) ...................................... 30

Figura 11 – Diagrama de atividades do download/upload de composição ao servidor ........... 32

Quadro 2 – Cadastro do usuário no servidor ............................................................................ 35

Quadro 3 – Login do usuário no serviço de chat ...................................................................... 36

Quadro 4 – Chamada do método de upload de arquivo ........................................................... 37

Quadro 5 – Método que retorna a lista de usuários cadastrados no servidor ........................... 38

Quadro 6 – Método de seleção dos usuários para associação ao arquivo de upload ............... 39

Quadro 7 – Continuação do método de seleção dos usuários (usuários já selecionados) ........ 40

Quadro 8 – Chamada do método de download de arquivos ..................................................... 41

Quadro 9 – Servidor retornando lista de arquivos disponíveis para download ........................ 42

Quadro 10 – Seleção do arquivo para download e marcação da forma de controle de versão 43

Quadro 11 – Download do arquivo e chamada para o controle de versão ............................... 44

Quadro 12 – Método de controle de versão do arquivo (suporte à coordenação) .................... 45

Quadro 13 – Continuação do método de controle de versão .................................................... 46

Quadro 14 – Seleção de abas da interface do chat do aplicativo ............................................. 47

Quadro 15 – Recebimento das salas de bate-papo cadastradas no servidor ............................. 48

Figura 12 – Interface principal do aplicativo e visualização dos itens de menu ...................... 49

Figura 13 – Tela do cadastro do usuário................................................................................... 50

Figura 14 – Lista dos usuários cadastrados no servidor para associação ao arquivo ............... 51

Figura 15 – Arquivos de composições disponíveis para download ......................................... 52

Page 10: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

Figura 16 – Tela inicial do chat do aplicativo .......................................................................... 53

Quadro 16 – Perfis dos usuários envolvidos no teste de usabilidade ....................................... 55

Quadro 17 – Respostas quanto ao cenário do aplicativo .......................................................... 56

Quadro 18 – Respostas quanto ao mecanismo de cooperação ................................................. 56

Quadro 19 – Respostas quanto ao mecanismo de coordenação ............................................... 57

Quadro 20 – Respostas quanto ao mecanismo de comunicação .............................................. 57

Quadro 21 – Dispositivos utilizados no experimento de compatibilidade ............................... 58

Quadro 22 – Comparação com os trabalhos correlatos ............................................................ 59

Quadro 23 – Caso de uso UC01 ............................................................................................... 65

Quadro 24 – Caso de uso UC02 ............................................................................................... 66

Quadro 25 – Caso de uso UC03 ............................................................................................... 67

Quadro 26 – Caso de uso UC04 ............................................................................................... 68

Quadro 27 – Caso de uso UC05 ............................................................................................... 69

Quadro 28 – Folha de apresentação e convite para o teste de usabilidade ............................... 71

Quadro 29 – Questionário de perfil de usuário ........................................................................ 71

Quadro 30 – Lista de tarefas envolvendo a execução das funcionalidades do aplicativo ........ 72

Quadro 31 – Questionário de usabilidade do aplicativo ........................................................... 74

Page 11: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

LISTA DE SIGLAS

3C – Cooperação, Comunicação e Coordenação

ADT – Android Developer Tools

API – Application Programming Interface

CSCW – Computer Supported Cooperative Work

HTTP – HyperText Transfer Protocol

HTTPS – HyperText Transfer Protocol Secure

JSON – JavaScript Object Notation

REST – REpresentational State Transfer

RF – Requisito Funcional

RNA – Redes Neurais Artificiais

RNF – Requisito Não Funcional

UML – Unified Modeling Language

Page 12: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

SUMÁRIO

1 INTRODUÇÃO .................................................................................................................. 13

1.1 OBJETIVOS DO TRABALHO ........................................................................................ 14

1.2 ESTRUTURA DO TRABALHO ...................................................................................... 14

2 FUNDAMENTAÇÃO TEÓRICA .................................................................................... 16

2.1 COMPOSIÇÃO MUSICAL .............................................................................................. 16

2.2 COMPUTER SUPPORTED COOPERATIVE WORK (CSCW) ....................................... 17

2.3 FERRAMENTA PARA CRIAÇÃO DE COMPOSIÇÕES MUSICAIS PARA

ANDROID ......................................................................................................................... 20

2.4 TRABALHOS CORRELATOS ........................................................................................ 20

2.4.1 CODES ............................................................................................................................ 21

2.4.2 MUSIK ............................................................................................................................ 22

2.4.3 EDITOR MUSICAL ....................................................................................................... 23

2.4.4 Comparação entre os trabalhos correlatos....................................................................... 23

3 DESENVOLVIMENTO DO APLICATIVO .................................................................. 25

3.1 REQUISITOS PRINCIPAIS DO APLICATIVO PROPOSTO ........................................ 25

3.2 ESPECIFICAÇÃO ............................................................................................................ 25

3.2.1 Diagrama de casos de uso ............................................................................................... 25

3.2.1.1 Casos de uso do mecanismo de suporte à cooperação .................................................. 26

3.2.1.2 Casos de uso dos mecanismos de suporte à coordenação e comunicação .................... 27

3.2.2 Diagrama de classes ........................................................................................................ 27

3.2.2.1 Diagrama de classes com suporte à coordenação e à cooperação ................................ 27

3.2.2.2 Diagrama de classes com suporte à comunicação (chat) .............................................. 30

3.2.3 Diagrama de atividades ................................................................................................... 31

3.3 IMPLEMENTAÇÃO ........................................................................................................ 33

3.3.1 Técnicas e ferramentas utilizadas.................................................................................... 33

3.3.2 Etapas da implementação ................................................................................................ 34

3.3.2.1 Implementações com suporte ao mecanismo de cooperação........................................ 34

3.3.2.1.1 Cadastro do usuário .................................................................................................. 34

3.3.2.1.2 Upload de arquivo de composição para o servidor .................................................. 36

3.3.2.2 Implementações com suporte ao mecanismo de coordenação...................................... 41

3.3.2.2.1 Download de arquivo de composição ...................................................................... 41

Page 13: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

3.3.2.3 Implementações com suporte à comunicação ............................................................... 47

3.3.2.3.1 Acessar chat ............................................................................................................. 47

3.3.3 Operacionalidade da implementação .............................................................................. 48

3.3.3.1 Operacionalidade com suporte à cooperação................................................................ 49

3.3.3.1.1 Fazer Login / Cadastrar Usuário .............................................................................. 49

3.3.3.1.2 Enviar Composição ao Servidor .............................................................................. 50

3.3.3.2 Operacionalidade com suporte à coordenação.............................................................. 51

3.3.3.2.1 Baixar Composição do Servidor .............................................................................. 51

3.3.3.3 Operacionalidade com suporte à comunicação ............................................................. 52

3.3.3.3.1 Acessar Chat ............................................................................................................ 53

3.4 RESULTADOS E DISCUSSÃO ...................................................................................... 54

3.4.1 Experimento de usabilidade ............................................................................................ 54

3.4.1.1 Metodologia .................................................................................................................. 54

3.4.1.2 Aplicação do teste ......................................................................................................... 54

3.4.1.3 Análise e interpretação dos dados coletados ................................................................ 55

3.4.1.3.1 Análise quanto ao cenário do aplicativo .................................................................. 55

3.4.1.3.2 Análise quanto ao mecanismo de cooperação .......................................................... 56

3.4.1.3.3 Análise quanto ao mecanismo de coordenação ........................................................ 57

3.4.1.3.4 Análise quanto ao mecanismo de comunicação ....................................................... 57

3.4.2 Experimento de compatibilidade..................................................................................... 58

3.4.3 Comparação com trabalhos correlatos ............................................................................ 58

4 CONCLUSÕES .................................................................................................................. 60

4.1 EXTENSÕES .................................................................................................................... 61

REFERÊNCIAS ..................................................................................................................... 62

APÊNDICE A – Detalhamento dos casos de uso ................................................................. 64

APÊNDICE B – Lista de tarefas e questionário de avaliação de usabilidade .................. 70

Page 14: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

13

1 INTRODUÇÃO

Segundo Med (1996, p. 9), a música, arte de combinar os sons, vem sendo cultivada

desde as mais remotas eras. Os chineses, por exemplo, três mil anos antes de Cristo, já

desenvolviam teorias musicais complexas.

A música não é apenas uma arte, mas também uma ciência. Por isso, os músicos

precisam de uma técnica bem apurada; e esta aprende-se durante longos anos de estudo

(MED, 1996, p. 9). Tais conhecimentos teóricos e práticos, somados à experiência adquirida

ao longo do tempo, possibilitam a estes tipos de profissionais a criação, por exemplo, de

composições musicais. A composição é parte integrante nas disciplinas que estruturam a

ciência musical (MED, 1996, p. 9).

A composição musical é uma ferramenta poderosa para desenvolver a compreensão

sobre o funcionamento dos elementos musicais, pois permite um relacionamento direto com o

material sonoro. Trabalhando-se a partir dessa, pode-se decidir sobre a ordenação temporal e

espacial dos sons, bem como sobre a maneira de produzir os sons (SWANWICK; FRANÇA,

2002, p. 09).

Além do citado, outros compositores profissionais compartilham com os educadores a

crença no potencial educativo da composição. Promover a composição é um dever da

educação musical. A educação musical deve oferecer espaço para a criação, não se limitando

apenas à reprodução de obras de compositores do passado (SWANWICK; FRANÇA, 2002, p.

09).

Para tanto, é necessário que, principalmente as crianças e adolescentes, tenham um

ambiente interativo e estimulante, onde possam desfrutar com liberdade, confiança e

interatividade de instrumentos musicais e objetos. A educação musical deve preservar,

principalmente nas crianças, o instinto de curiosidade, exploração, percepção e fantasia. Nos

processos iniciais da educação musical o objetivo deve ser brincar, explorar, descobrir

possibilidades expressivas dos sons e sua organização, e não dominar técnicas complexas de

composição, o que poderia resultar em um esvaziamento do seu potencial educativo

(SWANWICK; FRANÇA, 2002, p. 10).

Com o avanço da tecnologia da informação, e com o advento da mobilidade, muitas

aplicações foram sendo migradas dos dispositivos estacionários para dispositivos móveis,

como por exemplo, tablets e smartphones. Com as aplicações envolvendo a área da

computação musical não foi diferente. Muitos aplicativos foram e vêm sendo desenvolvidos

para esta área envolvendo a composição, editoração e execução musical. Os dispositivos

Page 15: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

14

móveis auxiliam neste processo, à medida que possibilitam ao usuário o acesso rápido e em

qualquer lugar, do conteúdo de interesse. A tecnologia existente nos tablets e smartphones,

por exemplo, do toque na tela, provém uma interação tão grande, que aplicativos para

composição musical nestes dispositivos acabam-se tornando muitas vezes uma brincadeira

divertida e prazerosa, a partir do momento em que, arrastando componentes numa interface,

sons são gerados e reproduzidos. Muitos aplicativos dão suporte à usuários com pouco ou

nenhum conhecimento da teoria musical, para que esses também possam gerar artefatos

musicais, como uma composição, por exemplo, que possa a vir ser executada e apreciada.

Diante do exposto, este trabalho propôs a continuidade do desenvolvimento de um

aplicativo de composição musical voltada para leigos em música, proposto por Alvarenga

(2013). Com foco no aprendizado musical colaborativo, o aplicativo proverá de suporte à

cooperação, à coordenação e à comunicação, tornando-se, desta forma, um aplicativo multi-

usuário e com ambiente colaborativo.

1.1 OBJETIVOS DO TRABALHO

O objetivo deste trabalho é fazer uma manutenção evolutiva no aplicativo

desenvolvido por Alvarenga (2013), onde leigos em música possam de forma interativa,

realizarem suas próprias composições.

Os objetivos específicos do trabalho são:

a) incluir mecanismos de comunicação (chat), coordenação (controle de versão) e

cooperação (editor colaborativo) ao trabalho de Alvarenga (2013).

1.2 ESTRUTURA DO TRABALHO

Este trabalho está subdividido em quatro capítulos, sendo neste primeiro apresentado

uma introdução ao tema juntamente com a motivação para realização do mesmo, os objetivos

do trabalho e a estrutura o qual é apresentado.

O segundo capítulo contém a fundamentação teórica necessária para a compreensão do

assunto e da solução implementada no aplicativo.

O terceiro capítulo apresenta todo o processo de especificação da manutenção

evolutiva proposta ao aplicativo de composição musical, onde são apresentados os requisitos,

bem como os diagramas de casos de uso, de classes e de atividades. Também é apresentado

detalhes da implementação e da operacionalidade das extensões propostas do ponto de vista

do usuário.

Page 16: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

15

O último capítulo, por sua vez, apresenta as conclusões a respeito dos resultados

obtidos, além de sugestões para trabalhos futuros.

Page 17: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

16

2 FUNDAMENTAÇÃO TEÓRICA

Na seção 2.1 são apresentados os fundamentos da composição musical. A seção 2.2

descreve sobre Trabalho Cooperativo Suportado por Computador (CSCW). A seção 2.3, por

sua vez, traz uma ferramenta de composição musical para leigos desenvolvida por Alvarenga

(2013) e ao qual está sendo desenvolvida a manutenção evolutiva como foco deste trabalho.

Por fim, a seção 2.4 traz três trabalhos correlatos ao aplicativo proposto.

2.1 COMPOSIÇÃO MUSICAL

Segundo Swanwick e França (2002, p. 08), a composição é um processo essencial da

música devido à sua própria natureza: qualquer que seja o nível de complexidade, estilo ou

contexto, é o processo pelo qual toda e qualquer obra musical é gerada. Estes afirmam ainda

que, “esse argumento é suficiente para legitimá-la como atividade válida e relevante na

educação musical”. Porém, esses mesmos autores relatam que, alguns compositores adotam

uma posição contrária, qualificando a composição como atividade exclusive dos grandes

mestres da história da música. Mas, segundo Swanwick e França (2002, p. 09), os próprios

mestres da composição discordam dessa última afirmação dizendo que:

Composição não é um ramo especial do conhecimento que deve ser ensinado àqueles talentosos ou suficientemente interessados. Ela é simplesmente a culminação de um sistema saudável e estável de educação, cujo ideal é formar não um instrumentista, cantor ou arranjador especialista, mas um músico com um conhecimento musical universal... (SWANWICK; FRANÇA, 2002).

Além de ser uma ferramenta poderosa no desenvolvimento da compreensão sobre o

funcionamento dos elementos musicais, a composição também pode promover um

progressivo domínio da técnica e controle dos instrumentos para a realização do resultado

musical desejado, pois fortalece a associação entre a ação e o som (SWANWICK; FRANÇA,

2002, p. 9-10). Ainda, segundo Swanwick e França (2002, p. 10), ao tocarem suas peças, os

alunos tem que descobrir a maneira mais eficaz de abordar o instrumento para expressar sua

concepção musical. Portanto, ela proporciona um desenvolvimento técnico com um propósito

musical direto, oferecendo uma contribuição preciosa para o desenvolvimento musical das

crianças.

A idéia de se referir a uma peça de, talvez, menos de um minuto de duração como composição, ou ‘performance’, quando tudo o que podemos estar ouvindo são algumas notas tocadas em um instrumento de percussão, parece a princípio exagerada para ser levada a sério por alguns músicos. Mas, como professores de música, concentramo-nos nos processos envolvidos, e é provável que as primeiras manifestações sejam extremamente simples se comparadas com o que sabemos ser possível no auge da realização musical. Quando os alunos selecionam e organizam sons em uma peça de música, por mais simples que suas tentativas possam ser, ainda assim estão compondo. (SWANWICK; FRANÇA, 2002).

Page 18: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

17

No âmbito de uma educação musical abrangente, a composição funciona como um

pilar do desenvolvimento musical. A composição, aliada à apreciação (ouvir) e performance

(prática instrumental) são processos fundamentais da música enquanto fenômeno e

experiência (SWANWICK; FRANÇA, 2002, p. 08).

2.2 COMPUTER SUPPORTED COOPERATIVE WORK (CSCW)

Segundo Castilho (2008), CSCW é uma ciência multidisciplinar que estuda as formas

de trabalho em grupo auxiliadas por tecnologia e comunicação.

Como requisitos para aplicações CSCW, pode-se citar (MOECKEL, 2003, p. 8):

a) facilitar a colaboração entre os indivíduos;

b) permitir acesso aos dados independente da localização dos usuários;

c) permitir a recuperação de informações armazenadas na base de dados;

d) gerenciar o controle de acesso quando da tentativa de vários usuários alterarem um

mesmo dado ao mesmo tempo;

e) reconhecer que as mudanças são frequentes neste contexto, e que por isso, deve ser

possível redefinir procedimentos e processos, além de disseminar as mudanças

ocorridas aos envolvidos;

f) garantir que as informações usadas no trabalho cooperativo sejam disseminadas

entre a equipe.

Para Gerosa, Fuks e Lucena (2003), para colaborar, os indivíduos têm que dialogar

(comunicarem-se), organizarem-se e operar em conjunto num espaço compartilhado

(cooperar). As trocas ocorridas durante a comunicação geram compromissos que são

gerenciados pela coordenação, que por sua vez organiza e dispõe as tarefas que são

executadas na cooperação. A Figura 1 apresenta o modelo de colaboração 3C (Comunicação,

Coordenação e Cooperação), que sumariza os conceitos abordados.

Page 19: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

18

Figura 1 – Modelo de colaboração 3C

Fonte: Gerosa, Fuks e Lucena (2003).

Segundo Gerosa, Fuks e Lucena (2003), as tarefas da colaboração são originadas dos

compromissos assumidos na comunicação. O grupo coordena-se através de mecanismos de

coordenação de forma a garantir a execução das tarefas, respeitando suas interdependências.

A Figura 2 exibe o modelo da coordenação de atividades.

Figura 2 – Modelo de coordenação mediada por computador

Fonte: Gerosa, Fuks e Lucena (2003).

Com ou sem mecanismos de coordenação explícitos, informações de percepção são

essenciais para a coordenação do grupo. As informações de percepção são necessárias

principalmente durante a fase dinâmica da coordenação, para transmitir mudanças de planos e

ajudar a gerar o novo entendimento compartilhado (GEROSA; FUKS; LUCENA, 2003).

Tratando-se de mecanismos explícitos de coordenação, o controle de versões (objetos)

mediado por computador, conforme mostra a Figura 2, auxilia no processo do

compartilhamento dos objetos entre os membros do grupo. É de suma importância que cada

membro do grupo esteja ciente de novas versões do projeto e que, versões anteriores possam

Page 20: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

19

ser arquivadas ou descartadas se for o caso (MACEDO; KUTOVA; PIMENTEL, 1999, p.

12).

Comunicação e coordenação, apesar de vitais, não são suficientes. É necessário espaço

compartilhado para criar entendimento compartilhado. Cooperação é a operação conjunta dos

membros do grupo no espaço compartilhado, visando a realização das tarefas. Eles cooperam

produzindo, manipulando e organizando informações e construindo e refinando objetos de

cooperação (GEROSA; FUKS; LUCENA, 2003). A Figura 3 exibe o modelo de cooperação

com elemento de percepção.

Figura 3 – Modelo de cooperação mediada por computador

Fonte: Gerosa, Fuks e Lucena (2003).

O registro da informação que ocorre na cooperação visa aumentar o entendimento

entre as pessoas, reduzindo a incerteza e a equivocalidade. Os indivíduos trabalham as

informações e se comunicam na tentativa de solucionar os desentendimentos (GEROSA;

FUKS; LUCENA, 2003).

Os indivíduos buscam nos elementos de percepção as informações necessárias para montar seu contexto de trabalho e antecipar ações e necessidades, bem como identificar as intenções dos companheiros do grupo, de forma a tornar possível prestar assistência ao trabalho deles quando for possível e necessário. Além disto, os elementos de percepção ajudam a identificar o papel e as tarefas de cada um com relação às metas da colaboração e com os objetos da cooperação. (GEROSA; FUKS; LUCENA, 2003).

Page 21: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

20

2.3 FERRAMENTA PARA CRIAÇÃO DE COMPOSIÇÕES MUSICAIS PARA ANDROID

Segundo Alvarenga (2013), o aplicativo desenvolvido visa fornecer a usuários leigos

em composição musical os recursos necessários para criarem composições simples. A

representação musical utilizada encaixa peças que representam pequenos trechos de música,

em uma grid. Na Figura 4 é exibido um exemplo de música (composição) após seu

carregamento pela ferramenta.

Figura 4 – Interface para criação de composições musicais

Fonte: Alvarenga (2013, p. 43).

A ferramenta possui as opções de abrir uma composição previamente salva, editar,

salvar e reproduzi-las. É possível alterar o volume de cada uma das trilhas de áudio existentes

na composição e alterar e/ou adicionar instrumentos musicais à composição (ALVARENGA,

2013, p. 42-45).

Para o desenvolvimento do aplicativo foi utilizada a ferramenta Android Developer

Tools (ADT), que é um pacote que contém o ambiente de desenvolvimento Eclipse,

juntamente com os plugins necessários para o desenvolvimento de aplicativos Android. Foi

utilizado o componente de código aberto HorizontalVariableListView para a interface

gráfica e testados os componentes MediaPlayer e SoundPool para a execução do áudio.

2.4 TRABALHOS CORRELATOS

A seguir são apresentadas três ferramentas que auxiliam a composição musical por

leigos: CODES (MILETTO et al., 2005), que é um ambiente web para composição musical de

forma cooperativa e colaborativa; o MusiK (PINHATI; FERLIN, 2012), que é uma

Page 22: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

21

ferramenta de auxílio à composição musical baseada em Redes Neurais Artificiais (RNA) e o

Editor Musical (FICHEMAN et al., 2003), que possui formas de composição individual ou

em grupos.

2.4.1 CODES

É um ambiente para prototipação musical cooperativa baseado na Web. Segundo

Miletto et al. (2005), seu propósito é permitir que seus usuários façam experimentos musicais

e interajam entre si na criação de peças musicais simples.

Utiliza padrões sonoros pré-definidos, dispondo de várias timelines, onde para cada

uma delas, pode-se ter um usuário associado. É um ambiente Web, que utiliza a Application

Programming Interface (API) Java Sound e servidor Web Apache Tomcat.

Foi criado a partir da ideia de possibilitar, principalmente, a leigos em composições

musicais criarem suas próprias sequências sonoras, sem que houvesse a necessidade primária

de estudar a teoria musical num todo (ritmos, acordes, melodia, harmonia, escalas, partituras,

e seus símbolos associados). Na Figura 5 têm-se os elementos da janela de edição do CODES.

Figura 5 – Elementos da janela de edição do CODES

Fonte: Miletto et al. (2005).

É possível ainda, adicionar comentários e observações aos trechos dos padrões

sonoros, dentro da linha de tempo. Um usuário pode tornar mudo a sequência sonora de outro

usuário, dispondo de uma opção para tal necessidade. Esta necessidade está associada ao fato

de não haver interferência de uma sequência sonora já criada por um usuário, na sequência

sonora que está sendo criada por um novo usuário.

Page 23: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

22

2.4.2 MUSIK

O MusiK é uma ferramenta de auxílio à composição musical baseada em RNA.

Segundo Pinhati e Ferlin (2012), o objetivo do MusiK é indicar os problemas harmônicos

encontrados em composições musicais a ele apresentadas. A ferramenta permite que o músico

concentre-se na melodia, deixando a ela o encargo quanto à harmonia, minimizando desta

forma, o trabalho de revisão e de esforços quanto à obediência de um estilo.

Assim sendo, a criação de ferramentas computacionais capazes de realizar validação harmônica de forma automatizada surge como uma relevante iniciativa voltada a apoiar supervisores, aprendizes e compositores, não somente no ensino-aprendizagem, mas também no processo de composição musical em si. (PINHATI; FERLIN, 2012).

A Figura 6 apresenta o modelo de representação das entradas da rede neural do MusiK.

Figura 6 – Modelo de entrada da rede neural

Fonte: Pinhati e Ferlin (2012).

Segundo Pinhati e Ferlin (2012), a ideia é que, através de um programa de editoração

de partituras já existente, o usuário possa acionar um mecanismo de validação harmônica

(através de um botão ou opção de menu) que o auxiliará no processo de composição. Outra

funcionalidade para ilustrar o potencial do uso de RNA neste tipo de ferramenta, é que a cada

utilização do MusiK o sistema irá absorver as escolhas do compositor, gravando-as em logs e

aprendendo seu perfil de composição através de adaptações das redes neurais utilizadas, para

que as novas validações sejam realizadas de acordo com o estilo musical do compositor.

Page 24: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

23

2.4.3 EDITOR MUSICAL

O Editor Musical é um ambiente individual e/ou colaborativo para a realização de

composições musicais. Segundo Ficheman et al. (2003), sua principal característica é o

oferecimento de ambientes de aprendizagem colaborativa que permitem o trabalho em

pequenos grupos de usuários, distribuídos em uma rede local ou em rede de longa distância.

O ambiente foi desenvolvido utilizando a tecnologia Java e também utiliza a API Java

Sound. A Figura 7 exibe a interface gráfica para a elaboração da composição musical.

Figura 7 – Composição individual com notas musicais na grade

Fonte: Ficheman et al. (2003).

O ambiente possui papéis bem definidos para os diversos usuários que eventualmente

estejam conectados entre si por meio do Editor Musical, sendo estes o professor, o mediador,

o aluno e o observador.

Conforme exibido na Figura 7, as pautas para dispor as notas a serem utilizadas foram

criadas em forma de grades. Ao colocar uma nota na grade, esta pode ser mais curta (uma

célula da grade) ou mais extensa, ocupando mais de uma célula da grade. O usuário utiliza as

ferramentas que se encontram do lado esquerdo da tela para compor música na grade.

2.4.4 Comparação entre os trabalhos correlatos

O Quadro 1 apresenta de forma comparativa algumas características dos trabalhos

apresentados na seção 2.5.

Page 25: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

24

Quadro 1 – Características dos trabalhos correlatos características / trabalhos

correlatos Miletto et al.

(2005) Pinhati e Ferlin

(2012) Ficheman et al.

(2003) usuário-alvo leigos leigos e avançados leigos

tipo de plataforma web

desktop (plugin p/ software de editoração

de partituras) desktop

suporte à CSCW sim Não sim apoio a atividade musical composição validação harmônica composição

Pode-se observar que dos trabalhos relacionados acima apenas o MusiK (PINHATI;

FERLIN, 2012) não tem como foco a composição musical em si, trabalhando apenas como

um validador harmônico no apoio do processo de composição, que deve ser realizado por um

software de edição de partituras. No que diz respeito à validação harmônica a que se propõe o

MusiK (2012), essa não possui suporte à colaboração e cooperação (suporte CSCW).

Já com relação ao CODES (MILETO et al., 2005) e o Editor Musical (FICHEMAN et

al., 2003), ambos possuem sua interface em forma de timeline, porém o CODES já possui em

sua timeline elementos musicais pré-definidos, como: ritmo, melodia, harmonia e timbre.

A partir deste cenário, é possível perceber que dos dois trabalhos relacionados acima

que possuem suporte à CSCW (CODES e o Editor Musical), o primeiro está disponível na

plataforma web e o segundo, está disponível para desktops. Daí a importância e motivação

deste trabalho em implementar o suporte à CSCW como extensão do aplicativo de

composição musical para leigos proposto por Alvarenga (2013).

Page 26: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

25

3 DESENVOLVIMENTO DO APLICATIVO

Neste capítulo são abordadas as etapas envolvidas na continuidade do

desenvolvimento do aplicativo de composição musical para leigos, criado por Alvarenga

(2013). Na seção 3.1 são enumerados os principais requisitos da manutenção evolutiva. A

seção 3.2 apresenta a especificação técnica do aplicativo. A seção 3.3 apresenta detalhes da

implementação e por fim, a seção 3.4 detalha os resultados alcançados.

3.1 REQUISITOS PRINCIPAIS DO APLICATIVO PROPOSTO

Além dos requisitos já atendidos no aplicativo proposto por (ALVARENGA, 2013), o

aplicativo deverá:

a) dispor de mecanismos para trabalho em grupo, de forma colaborativa, com suporte

à coordenação, cooperação e comunicação, permitindo desta forma o

compartilhamento dos artefatos gerados entre os indivíduos envolvidos no

processo de composição (Requisito Funcional - RF);

b) dispor de um mecanismo de controle de versão para controlar evoluções das

composições criadas (RF);

c) utilizar o ambiente de desenvolvimento Eclipse (Requisito Não Funcional - RNF);

d) utilizar Java como linguagem de programação (RNF);

e) utilizar o SDK do Android para a continuidade do desenvolvimento do aplicativo

(RNF).

3.2 ESPECIFICAÇÃO

Nesta seção é apresentada a especificação das extensões propostas ao aplicativo de

composição musical para leigos desenvolvido por Alvarenga (2013). A especificação foi

realizada utilizando diagramas da Unified Modeling Language (UML), criados na ferramenta

Enterprise Architect 9.0. Os diagramas apresentados a seguir contemplam os diagramas de

casos de uso, de classes e de atividades.

3.2.1 Diagrama de casos de uso

Nesta seção são descritos os casos de uso que contemplam as extensões propostas ao

aplicativo de Alvarenga (2013). Por se tratar de um trabalho de extensão, demais casos de uso

que o aplicativo já contemplava na implementação serão abstraídos (compor música, tocar

música). A Figura 8 contempla os casos de uso que atendem às extensões propostas.

Page 27: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

26

Figura 8 – Diagrama de casos de uso

Os requisitos foram agrupados em cinco casos de uso (Apêncide A), subdivididos com

base nos mecanismos de colaboração do Modelo 3C (cooperação, coordenação e

comunicação) e estão descritos a seguir.

3.2.1.1 Casos de uso do mecanismo de suporte à cooperação

O caso de uso de UC01 - Fazer Login/Logout é utilizado quando o usuário necessita

enviar uma composição ao servidor, opcionalmente para baixar uma composição do servidor

e, obrigatoriamente para acesso ao chat.

O caso de uso UC02 - Cadastrar Usuário é utilizado quando um usuário ainda não

cadastrado deseja se cadastrar no servidor para poder enviar uma composição ao servidor, ou

acessar o chat do aplicativo, por exemplo.

Com suporte ao mecanismo de cooperação, devido à ação de cooperar e colaborar no

processo de composição, o caso de uso UC03 - Enviar Composição ao Servidor

possibilita ao usuário, enviar uma composição previamente armazenada no dispositivo, ao

servidor (desde que o usuário tenha efetuado cadastro/login).

Page 28: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

27

3.2.1.2 Casos de uso dos mecanismos de suporte à coordenação e comunicação

Dando suporte ao mecanismo de coordenação, o caso de uso UC04 - Baixar

Composição do Servidor possibilita ao usuário, baixar uma composição que está

armazenada no servidor.

Por fim, dando suporte ao mecanismo de comunicação, o caso de uso UC05 -

Acessar Chat possibilita ao usuário, acessar o ambiente de comunicação instantânea, para

interagir com um ou mais usuários que estiverem online, ou até mesmo criar salas de bate-

papo.

3.2.2 Diagrama de classes

Nesta seção são descritos os relacionamentos e as estruturas das classes que

contemplam as extensões propostas ao aplicativo. O diagrama de classes é apresentado em

duas subseções, visando um melhor entendimento e detalhamento: diagrama de classes com

suporte à coordenação (download de composições) e à cooperação (upload de composições)

e, um segundo diagrama de classes com o suporte à comunicação (chat).

3.2.2.1 Diagrama de classes com suporte à coordenação e à cooperação

A Figura 9 apresenta o diagrama de classes das funções envolvidas na manutenção

evolutiva que dão suporte aos mecanismos de coordenação e cooperação.

Page 29: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

28

Figura 9 – Diagrama de classes com suporte aos mecanismos de coordenação e cooperação

Page 30: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

29

A classe App é a primeira classe a ser chamada quando o usuário executa a aplicação.

Estendendo a classe Application, a classe App armazena informações como, por exemplo,

um possível usuário logado no servidor, a lista de todos os usuários cadastrados no servidor

para a visualização no módulo de chat do aplicativo, bem como a lista com todas as

mensagens trocadas entre usuários durante um bate-papo no chat. A classe contém ainda a

informação de uma sala de bate-papo em que, possivelmente, o usuário acesse e interaja com

os demais usuários presentes na sala.

A tela principal do aplicativo, quando inicializada, é carregada através da classe

MainActivity (classe que dá suporte aos mecanismos de coordenação e cooperação). Esta

classe é responsável por armazenar as informações necessárias para que o aplicativo possa se

registrar no servidor, habilitando desta forma o aplicativo a trabalhar de forma online. As

informações de registro do aplicativo estão armazenadas nos atributos APP_ID, AUTH_KEY e

AUTH_SECRET e são repassados ao servidor no método onCreate da classe. O método

validaLogin é executado quando o usuário tenta realizar um upload ou acessar o chat do

aplicativo. O método download, responsável por carregar a lista de arquivos disponíveis no

servidor (através do método baixaComposicoes), não exige login, pois, o usuário pode optar

por acessar a lista de arquivos públicos no servidor, o qual não há necessidade de login por

parte do usuário. Ao efetuar um download, o método selecionaArquivo solicita ao usuário a

forma de controle de versão, que é tratada em seguida pelo método

controllVersionSubversion (método que dá suporte ao mecanismo de coordenação). Para

realizar o upload de uma composição ao servidor, o método executado, como o próprio nome

sugere, é o de upload (método que dá suporte ao mecanismo de cooperação). Ainda no

método upload, caso o usuário opte por não tornar o arquivo público, o método

carregaUsuarios é executado, retornando a lista com todos os usuários cadastrados no

servidor do aplicativo, e através do acionamento do método selecionaUsuarios, o usuário

escolhe quem terá permissão para acessar o arquivo que se deseja enviar ao servidor.

Já as classes LoginActivity e RegistrationActivity, responsáveis por carregar as

telas de login e cadastro do usuário, respectivamente, são acionadas pelo método

showAutenticateDialog (também presente na classe MainActivity), dependendo estas da

escolha por parte do usuário sobre qual ação tomar, para, aí sim, uma das classes ser

executada.

Page 31: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

30

3.2.2.2 Diagrama de classes com suporte à comunicação (chat)

A Figura 10 apresenta o diagrama de classes que dá suporte ao mecanismo de

comunicação do Modelo de colaboração 3C (classes pertencentes ao chat do aplicativo).

Figura 10 – Diagrama de classes com suporte à comunicação (chat)

Ao acionar o chat presente no aplicativo, através do menu secundário da interface

principal no mesmo, é instanciado a classe MainChatActivity, carregando esta, a interface

principal do chat do aplicativo. A interface principal do chat é provida de abas para que o

Page 32: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

31

usuário possa indicar se deseja acessar a lista de salas de bate-papo ou a lista de usuários

cadastrados no servidor. Ao acionar uma das abas, o usuário faz com que o método

onTabSelected seja executado, criando desta forma uma instância da classe UsersFragment

(para o caso de seleção da aba de usuários) ou da classe RoomsFragment (para o caso de

seleção da aba de salas de bate-papo).

Caso a classe instanciada seja a UsersFragment, no método onComplete desta classe é

carregado a lista de usuários cadastrados. Ao selecionar um usuário para iniciar uma conversa,

é acionado o método startChat, que definirá o modo de conversa como SINGLE, passando

este como parâmetro ao método start da classe ChatActivity, que criará uma instância da

classe SingleChat. Na classe SingleChat está presente o atributo que identifica o usuário ao

qual se mantém a conversa.

Nos casos em que a classe instanciada através das seleções de abas for a classe

RoomsFragment, é no método loadRooms desta classe que acontece o carregamento da lista

de salas disponíveis para acesso. Ao selecionar uma sala para acesso, é acionado o método

createChatBundle, que definirá o modo de conversa como GROUP, passando este como

parâmetro ao método start da classe ChatActivity, que então, diferentemente da situação

anteriormente descrita, criará uma instância da classe RoomChat.

A classe ChatMessage armazena os atributos pertinentes ao envio de uma mensagem,

como o texto da mensagem, a data e hora de envio, bem como o remetente da mensagem. A

classe ChatAdapter, que extende a classe BaseAdapter, define os padrões de visualização

das mensagens enviadas e recebidas, possuindo uma lista com todos os objetos do tipo

ChatMessage. A classe ChatActivity é quem possui um objeto do tipo ChatAdapter,

usando o método add desta última classe, para adicionar as mensagens listadas na interface à

lista do tipo ChatMessage presente na classe adaptadora.

3.2.3 Diagrama de atividades

O diagrama de atividades apresentado na Figura 11 é responsável por mostrar as

tarefas de uma computação. Tem como objetivo, elucidar o processo de download de uma

composição do servidor, bem como, posteriormente, o upload do arquivo de composição a

esse mesmo servidor.

Page 33: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

32

Figura 11 – Diagrama de atividades do download/upload de composição ao servidor

Conforme apresentado na Figura 11, ao inicializar o aplicativo de composição musical,

se o usuário optar por efetuar o download de um arquivo de composição musical disponível

Page 34: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

33

no servidor, será solicitado ao usuário a seleção da forma de controle de versão, sendo esta:

Criar Nova Versão ou Continuar Versão Atual. Selecionada a opção de controle de

versão, o aplicativo realiza os procedimentos de controle da nova versão (coordenação) e

carrega a composição na timeline do aplicativo, presente na interface principal do mesmo.

Porém, conforme apresentado na Figura 11, se ao inicializar o aplicativo de

composição musical, o usuário optar por iniciar uma nova composição, o mesmo a edita até o

momento que lhe for conveniente. Após finalizar a edição da composição, o usuário necessita

salvá-la localmente no dispositivo móvel e, após isso, o usuário pode optar por finalizar esse

processo de composição ou, pode ainda solicitar o envio (cooperação) do arquivo criado ao

servidor. O aplicativo então solicitará que o usuário faça o login no servidor e, somente após o

login efetuado, o aplicativo, de fato, encaminha o arquivo de composição ao servidor.

3.3 IMPLEMENTAÇÃO

Esta seção descreve as técnicas e ferramentas utilizadas para realizar a manutenção

evolutiva ao aplicativo de composição musical, as etapas de implementação das extensões

propostas, bem como a operacionalidade da implementação. Na seção 3.3.1 tem-se as técnicas

e ferramentas utilizadas na continuidade do desenvolvimento do aplicativo de composição

musical. A seção 3.3.2 traz as etapas da implementação das extensões propostas. Por fim, a

seção 3.3.3 demonstra a operacionalidade da implementação do ponto de vista do usuário.

Para todas essas subseções, utilizou-se uma subdivisão por mecanismo do Modelo de

colaboração 3C.

3.3.1 Técnicas e ferramentas utilizadas

Para implementar as extensões propostas ao aplicativo com o objetivo de realizar uma

manutenção evolutiva, foi utilizado a linguagem de programação Java, com o ambiente de

desenvolvimento Eclipse ADT e o sistema operacional Android. Foi utilizado também para

testes de execução e verificação do funcionamento do aplicativo de composição musical, o

simulador/emulador Genymotion, que simula um dispositivo com sistema operacional

Android. Seu uso deve-se ao fato de um melhor desempenho se comparado ao emulador

nativo presente no Eclipse ADT. Para realizar as implementações de upload/download de

arquivos para um servidor, bem como cadastro e login de usuário, além de um meio de trocar

mensagens de forma instantânea (chat) entre os usuários, foi utilizado a API QuickBlox

(QUICKBLOX MBAAS, 2014).

Page 35: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

34

QuickBlox é uma API para comunicação que visa possibilitar a integração de um

aplicativo em um dispositivo móvel, com módulos de comunicação instantânea (chat), envio e

recebimento de arquivos a um servidor próprio da API, bem como notificações e também

check-in de locais. Além de possibilitar também cadastro de usuários e respectivamente

autenticações no servidor da aplicação. Trabalhando em um formato backend, todas as

requisições (HTTP/HTTPS) enviadas/recebidas entre aplicativo e servidor da API, utilizam

comunicação REST no formato JSON. Ao administrador da aplicação criada no servidor da

API, é disponibilizado uma interface contendo todas as informações armazenadas na

aplicação criada no servidor, bem como gráficos de execução da aplicação e chamadas à API,

para procedimentos como, por exemplo, login de usuário. A API QuickBlox está disponível

para os sistemas operacionais Android, iOS, Windows Phone e Blackberry.

Nas próximas seções serão descritas as técnicas de implementação envolvendo a API

QuickBlox, que possibilitaram a manutenção evolutiva ao aplicativo de composição musical

(envolvendo cadastro de usuário, login de usuário, upload/download de arquivo de

composição, bem como, ainda, comunicação instantânea: chat).

3.3.2 Etapas da implementação

O funcionamento das extensões propostas ao aplicativo foi dividido nesta seção em

três etapas, de acordo com os mecanismos do Modelo de colaboração 3C (cooperação,

coordenação e comunicação). A seguir é feito o detalhamento de cada uma das

implementações que compreendem e contemplam seus respectivos mecanismos de

colaboração do Modelo 3C.

3.3.2.1 Implementações com suporte ao mecanismo de cooperação

Dando suporte ao mecanismo de cooperação, são apresentadas a seguir as

implementações do cadastro do usuário, login do usuário no servidor, bem como o upload de

um arquivo de composição ao servidor.

3.3.2.1.1 Cadastro do usuário

A etapa de cadastro de usuário não necessita ser a primeira etapa a ser executada pelo

usuário, já que este pode trabalhar de forma off-line. No entanto, ao selecionar o item LOGIN

no menu principal, o usuário será direcionado para login/cadastro do usuário.

O Quadro 2 apresenta o bloco de código responsável por criar um novo usuário no

servidor da API QuickBlox.

Page 36: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

35

Quadro 2 – Cadastro do usuário no servidor

Conforme apresentado no Quadro 2, no momento em que o usuário selecionar a opção

Cadastrar é criado uma novo objeto do tipo QBUser, conforme a linha 70, onde são

repassadas as informações de login e password do usuário. Na linha 72 é setado ao objeto

criado do tipo QBUser o email informado no cadastro e, a partir da linha 74 é criado um array

de tags, e adicionado a tag “publico” e uma segunda tag com o nome de login do usuário,

conforme linhas 75 e 76, respectivamente. Para esta primeira, ela é utilizada quando há

necessidade de baixar arquivos que estejam setados no servidor como públicos. Já para a

segunda tag adicionada, a mesma é utilizada quando da associação de um arquivo para um

usuário em específico, por isso do uso do login do mesmo como parte do nome da tag. Na

linha 78 é associado ao usuário a lista de tags. Na linha 82, de fato, as informações do novo

usuário são enviados ao servidor para que seja realizado o cadastro.

Após o envio dos dados do novo usuário ao servidor, é realizado o login do usuário no

serviço de chat do aplicativo. O Quadro 3 demonstra o login do usuário no serviço de chat.

Page 37: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

36

Quadro 3 – Login do usuário no serviço de chat

Conforme apresentado no Quadro 3, o método onComplete (linha 94) é sobrescrito,

sendo este, um dos métodos da interface QBCallback, que é uma interface com a estrutura

para atender ao retorno dos resultados das requisições enviadas ao servidor. Neste caso, após

a solicitação de registro de um novo usuário, o método onComplete é acionado e, o primeiro

teste a ser realizado é verificar se o resultado da requisição enviada foi de sucesso, conforme

verificação realizada na linha 95. Caso o retorno seja de sucesso, então, na linha 96, o usuário

recém criado é armazenado no objeto do tipo QBUser presente na classe App, identificando

que o aplicativo possui o usuário em questão logado.

É na linha 98 que, de fato, é invocado o método loginWithUser da classe

QBChatService, que tornará online o usuário passado como parâmetro (que acabou de ser

cadastrado), no serviço de chat do servidor da API, para comunicação com os demais usuários

conectados no serviço de chat da API.

3.3.2.1.2 Upload de arquivo de composição para o servidor

Nesta etapa, o usuário acessa a opção Sincronizar do menu secundário presente na

interface principal do aplicativo e, seleciona a opção Enviar Composição. Ao selecionar tal

opção, o trecho de código é executado, conforme apresentado no Quadro 4.

Page 38: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

37

Quadro 4 – Chamada do método de upload de arquivo

No início da execução do método de upload de arquivo, na linha 644, é validado se o

usuário que está utilizando o aplicativo de composição musical está logado no servidor da

API. Caso o usuário não tenha efetuado login, então o aplicativo informa-o de que ele precisa

efetuar o login. Após atendida essa condição, é verificado ainda, na linha 645, se a

composição que se deseja efetuar o upload está salva localmente; caso não esteja, da mesma

forma o usuário é informado de que precisa executar tal ação.

Após essas duas validações iniciais, é criada uma caixa de diálogo (linha 647) para

questionar ao usuário se ele deseja tornar o arquivo público, conforme linha 648. Caso o

usuário selecione a opção Sim, então é adicionado ao atributo tagsArquivo apenas a tag

público, conforme linha 665, que significa que qualquer usuário que se conecte no servidor,

poderá acessar o arquivo em questão. O próximo passo é chamar de fato o método da API que

efetuará o carregamento do arquivo para o servidor, passando o arquivo e o atributo de tag

como parâmetro, conforme linha 667 do trecho de código do Quadro 4. Se o retorno da

solicitação em questão ao servidor for de sucesso, então, conforme linha 671, é exibida uma

mensagem informando ao usuário de que o arquivo foi enviado ao servidor.

Page 39: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

38

Porém, se o usuário optar por não tornar o arquivo público, então o aplicativo

carregará uma lista com todos os usuários cadastrados no servidor para seleção e associação.

A chamada para o método de carregamento desta lista de usuários está presente na linha 654;

o método carregaUsuarios é exibido no Quadro 5.

Quadro 5 – Método que retorna a lista de usuários cadastrados no servidor

De acordo com o Quadro 5, é na linha 700 que é solicitado ao servidor os usuários

cadastrados. Caso o retorno à solicitação seja de sucesso, é repassado a uma lista do tipo

QBUser todos os usuários cadastrados (linha 716). Caso a lista não esteja vazia, conforme

condição presente na linha 718, então esta é repassada a uma lista que é atributo da Classe

App do aplicativo através do método addQBUsers (linha 719). Na linha 721 do Quadro 5, é

realizada a chamada ao método selecionaUsuarios que carregará em uma caixa de diálogo

a lista aqui recebida, para que o usuário selecione os usuários desejados para realizar a

associação ao arquivo. O Quadro 6 detalha o método de seleção dos usuários.

Page 40: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

39

Quadro 6 – Método de seleção dos usuários para associação ao arquivo de upload

Na linha 736 é realizada a varredura de toda lista presente na classe App do aplicativo,

alimentada anteriormente. Na linha 737, para cada registro da lista, é verificado se o usuário

na posição em que se encontra o índice da lista não é o próprio usuário logado e ainda se o

usuário que a lista está retornando não é o UserDefault, que é um usuário padrão utilizado

pelo aplicativo como login padrão para acesso público, durante a inicialização do aplicativo.

Na linha 750 é criada uma caixa de diálogo com forma de seleção múltipla, passando o array

de usuários; alimentado na linha 739. No método onClick da seleção múltipla (linha 754) é

repassado ao array usersSelected o(s) usuário(s) selecionado(s) em tempo de execução. O

Quadro 7 apresenta a continuação do método selecionaUsuarios.

Page 41: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

40

Quadro 7 – Continuação do método de seleção dos usuários (usuários já selecionados)

Selecionados os usuários para associação, a caixa de diálogo, através do botão Gravar

Versão (linha 769), no seu evento onClick, inicia o processo de upload do arquivo

propriamente dito. Na linha 778, é varrida a lista de usuários selecionados e alimentado o

atributo já comentado anteriormente, que é o atributo tagsArquivo. Só que para esta

situação, o atributo de tag é alimentado com a descrição do login de cada usuário, para

identificá-lo e filtrá-lo posteriormente quando da solicitação de download dos arquivos

armazenados. Caso o usuário não tenha selecionado nenhum usuário anteriormente, o mesmo

é notificado, conforme linha 806 e retorna a chamada ao método selecionaUsuarios. Após

alimentado o atributo de tag, então, na linha 786 acontece a chamada ao método

uploadFileTask, da classe QBContent da API QuickBlox. Passando o arquivo de

composição e a lista de tags como parâmetro, esse método enviará o arquivo ao servidor e,

para o caso de sucesso, a mensagem presente na linha 790 é emitida ao usuário.

Page 42: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

41

3.3.2.2 Implementações com suporte ao mecanismo de coordenação

Dando suporte ao mecanismo de coordenação, é apresentada a seguir a implementação

do download do servidor de um arquivo de composição, com o controle de versão do arquivo

de composição.

3.3.2.2.1 Download de arquivo de composição

Nesta etapa, o usuário acessa a opção Sincronizar do menu secundário presente na

interface principal do aplicativo e, seleciona a opção Baixar Composição. Ao selecionar tal

opção, o trecho de código é executado, conforme apresenta o Quadro 8.

Quadro 8 – Chamada do método de download de arquivos

Se o aplicativo não possuir nenhum usuário logado no servidor (linha 821), então, é

realizado a chamada do método carregaComposicoes, na linha 822, passando o parâmetro

com valor lógico true, que indicará que o servidor deverá retornar apenas arquivos públicos.

Caso contrário, o parâmetro é passado como falso (linha 825) e, além dos arquivos públicos,

será retornado os arquivos associados ao usuário em questão. O método

carregaComposicoes repassa o parâmetro ao método baixaComposições, que irá retornar a

lista de arquivos de fato, do servidor, conforme exibido no Quadro 9.

Page 43: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

42

Quadro 9 – Servidor retornando lista de arquivos disponíveis para download

Se o download for de arquivos públicos e privados (para os casos em que o usuário já

está logado), então é chamado o método getFiles da classe QBContent, conforme linha 926,

que, ao retorno do servidor, para o caso de sucesso na solicitação da requisição (linha 937),

retorna a lista de arquivos do usuário em questão e as adiciona à lista nomeada files, na

linha 939. Dentro ainda do bloco de retorno com sucesso, é solicitado os arquivos com tags

específicas de usuários (linha 943), para retornar outros arquivos que tenham sido enviados

por outros usuários e que estes tenham associado o usuário em questão ao arquivo, além dos

próprios arquivos públicos que possuem uma tag específica denominada “publico”, conforme

já explicado. Da mesma forma, os arquivos que possam existir com tags que pertençam ao

usuário logado, são adicionados à mesma lista da linha 939. Para os momentos em que não

houver um usuário logado no servidor, o método baixaComposicoes chamará apenas o

método getTaggedList da classe QBContent, que retornará apenas arquivos do próprio

Page 44: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

43

usuário e arquivos com tag de “publico”, excluindo-se desta vez os possíveis arquivos de

outros usuários.

Após a lista de arquivos alimentada, é chamado o método selecionaArquivo,

conforme pode ser visto na linha 961, e que será detalhado no Quadro 10.

Quadro 10 – Seleção do arquivo para download e marcação da forma de controle de versão

No método selecionaArquivo, é criada uma caixa de diálogo (na linha 997), que é

alimentada com a lista de arquivos retornada pelo servidor e que, através do evento onClick

do método setSingleChoiceItems, na linha 1027, o usuário selecionará um arquivo para

download. Ao selecionar um arquivo, as informações de ID do arquivo, bem como o nome do

arquivo são armazenados em variáveis conforme as linhas 1033 e 1034, respectivamente.

Ao criar a caixa de diálogo para a seleção do arquivo, também são adicionados dois

botões, responsáveis pelo método de controle de versão do arquivo que se deseja baixar; são

eles: Criar Nova Versão (linha 999) e Continuar Versão Atual (linha 1009). Ao

Page 45: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

44

selecionar uma das duas opções, já com um arquivo selecionado, o método baixarArquivo é

acionado passando como parâmetro a forma de controle de versão. O Quadro 11 apresenta a

implementação do download do arquivo selecionado, bem como a chamada para o controle de

versão do arquivo.

Quadro 11 – Download do arquivo e chamada para o controle de versão

O método downloadFileTask, presente na linha 1045, no qual é passado como

parâmetro a variável fileID é que efetuará o download do arquivo do servidor da API

QuickBlox para o aplicativo presente no dispositivo móvel. No retorno desta requisição, para

o caso de sucesso (linha 1058), após a instanciação do arquivo do tipo SaveFile (linha 1077),

é realizada a chamada do método controllVersionSubversion, que fará, de fato, o controle

da versão do arquivo baixado (dando desta forma, suporte ao mecanismo de coordenação do

Modelo 3C). O método de controle de versão é apresentado e detalhado no Quadro 12.

Page 46: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

45

Quadro 12 – Método de controle de versão do arquivo (suporte à coordenação)

Um arquivo de composição baixado do servidor dispõe de quatro posições na sua

nomenclatura para que seja trabalhado o controle da versão. A variável _version, na linha

1137 do código fonte, recebe as duas primeiras posições e as variáveis _subversion e

_subsubVersion recebem a terceira e quarta posição, respectivamente. Este conjunto de

quatro caracteres é formado apenas por números e se encontram entre os elementos underline

no nome do arquivo.

Caso a forma de controle de versão seja Criar Nova Versão (linha 1141), então, é

verificado num primeiro momento se as váriaveis de controle de subversão estão zeradas.

Estando zeradas, apenas incrementa-se a variável de versão, conforme linha 1143. Caso

contrário, incrementam-se as variáveis de subversão, dando prioridade ao incremento da

variável _subsubVersion; incrementando assim os valores de fora para dentro do conjunto de

caracteres (da quarta para a terceira posição).

Já para os casos em que a forma de controle de versão for Continuar Versão Atual

(linha 1161), então, ignora-se a variável _version e trabalha-se apenas com as variáveis de

subversão. Caso as variáveis de subversão estejam zeradas, conforme apresenta a linha 1162,

então incrementa-se a variável responsável pela última posição das quatro existentes

(seguindo a idéia de incremento de fora para dentro). Caso a variável responsável pela última

posição do controle já tenha valor assumido e a variável que responde pela terceira posição

ainda esteja zerada, incrementa-se esta última e atribui-se um valor 1 (um) à variável da

Page 47: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

46

última casa, criando assim uma hierarquia e entrando um nível na hierarquia de versão do

arquivo.

Para os casos em que as duas variáveis de subversão já possuam valores e o usuário

opte por Continuar Versão Atual, seria necessário adentrar em mais um nível na hierarquia

de subversão, porém, o controle barrará essa tentativa, retornando um valor default (linha

1170). O Quadro 13 conclui o método do controle de versão com um último tratamento para

sua completude.

Quadro 13 – Continuação do método de controle de versão

Após realizado o controle de versão principal, é montado o nome do arquivo, conforme

mostra a linha 1181, já com os novos valores de versão e subversão do arquivo e, como uma

última validação, na linha 1184, é verificado se existe, possivelmente, um arquivo salvo no

servidor já com a versão e subversão que acabou de ser montada; caso exista, é novamente

recalculado os valores de versão e subversão, até que seja encontrado os próximos valores

disponíveis para atribuição ao nome do arquivo. A pesquisa pelos próximos valores se dá da

mesma forma que o controle principal do método, apresentado no quadro anterior.

Page 48: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

47

3.3.2.3 Implementações com suporte à comunicação

Por fim, dando suporte ao mecanismo de comunicação, é apresentada a seguir a

implementação do chat do aplicativo.

3.3.2.3.1 Acessar chat

Para acesso ao chat do aplicativo o usuário acessa o menu secundário presente na

interface principal do aplicativo e, seleciona a opção Chat. Será carregada a interface

principal do chat com a aba dos usuários cadastrados selecionada por padrão. Além da aba de

usuários, a interface do chat possui ainda a aba das salas de bate-papo. Ao selecionar qualquer

uma das abas o método onTabSelected é executado, conforme apresentado no Quadro 14.

Quadro 14 – Seleção de abas da interface do chat do aplicativo

Na linha 68, conforme apresentado no Quadro 14, é armazenada a aba selecionada na

variável position e na linha seguinte, é recebido o usuário que está logado no servidor. Na

linha 71 é setado a aba selecionada ao atributo viewPager que resultará na visualização da

aba selecionada. Para o carregamento do conteúdo da aba correspondente é feito um teste na

linha 73 para saber se a aba selecionada é das salas de bate-papo. Caso seja, é executado o

método loadRooms da classe RoomsFragment (linha 74).

O método loadRooms irá executar o método getRooms da classe QBChatService, da

API QuickBlox. A classe RoomsFragment implementa um listener do recebimento das salas.

Ao retorna das salas é chamado o método onReceiveRooms, conforme apresenta o Quadro 15.

Page 49: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

48

Quadro 15 – Recebimento das salas de bate-papo cadastradas no servidor

A lista com as salas de bate-papo, recebida como parâmetro (linha 91) é repassada ao

atributo rooms, conforme a linha 96. Entre as linhas 100 e 103 é repassado cada uma das salas

existentes no atributo rooms a uma lista chamada roomsListForAdapter (linha 103), com o

nome da sala como chave da lista. Em seguida, é repassado a lista roomListForAdapter no

método construtor da classe SimpleAdapter, conforme linha 107, com o objetivo de criar

uma lista customizada, tratando cada item desta lista pelo nome da sala de bate-papo.

Entre as linhas 112 e 119 está implementado a ação de selecionar uma das salas que

estão sendo exibidas na interface para o usuário. Ao selecionar uma das salas, na linha 115 é

armazenado em um objeto do tipo Bundle a sala selecionada. Um objeto Bundle é um pacote

que permite enviar um dado mapeado através de uma chave (neste caso a chave é o nome da

sala). Na linha seguinte é setado para o aplicativo a sala em que o usuário logado está

conectado. Na linha 117 é executado o método start da classe ChatActivity que fará o

usuário entrar na sala e a partir daí iniciar a conversa em grupo.

3.3.3 Operacionalidade da implementação

Esta seção apresenta a operacionalidade da implementação do ponto de vista do

usuário e, assim como nas etapas de implementação, foi dividida em três seções de acordo

com os mecanismos do Modelo de colaboração 3C (cooperação, coordenação e

Page 50: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

49

comunicação). A seguir é feito o detalhamento da operacionalidade que compreende e

contempla seu respectivo mecanismo de colaboração do Modelo 3C.

3.3.3.1 Operacionalidade com suporte à cooperação

Dando suporte ao mecanismo de cooperação, são apresentadas a seguir as

operacionalidades do cadastro do usuário, login do usuário no servidor, bem como o upload

de um arquivo de composição ao servidor. A cooperação ocorre através da troca de arquivos

entre usuários.

3.3.3.1.1 Fazer Login / Cadastrar Usuário

Ao inicializar o aplicativo de composição musical para leigos, a interface principal é

exibida conforme demostrado na Figura 12.

Figura 12 – Interface principal do aplicativo e visualização dos itens de menu

A interface principal do aplicativo dispõe, do seu lado esquerdo, dos instrumentos

disponíveis, bem como as notas musicais para formulação de uma composição musical. Ao

centro está colocada a timeline do aplicativo, para onde as notas musicais serão transportadas

e alocadas nas áreas de interesse. Na parte superior da interface principal, é possível

visualizar, conforma a Figura 12, além do título do aplicativo (MyMusic), os dois itens de

menu principais: TOCAR e LOGIN (canto superior direito). E, ao acessar os itens de menu

secundários, através do botão de acesso para itens de menu da maioria dos aplicativos para

Android, é exibida a lista de menu conforme a Figura 12 (canto inferior direito).

Page 51: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

50

Para login e/ou cadastro do usuário, o usuário deve selecionar a opção LOGIN do menu

principal do aplicativo e a tela de autorização será carregada com as opções de Login e

Cadastre-se. O usuário deve selecionar a opção Cadastre-se para realizar o seu cadastro

no servidor do aplicativo. Ao selecionar tal opção, é carregada a tela de cadastro de usuário,

exibida na Figura 13.

Figura 13 – Tela do cadastro do usuário

Na tela de cadastro de usuário, o mesmo deve informar seu login de acesso, senha e

seu endereço de email para que seu cadastro seja efetivado com sucesso no servidor. Ao

finalizar o seu processo de cadastro o usuário deve selecionar a opção Cadastrar onde será

efetuado o cadastro do mesmo. Após esse procedimento, o aplicativo retorna à interface

principal.

3.3.3.1.2 Enviar Composição ao Servidor

Dando continuidade ao detalhamento da operacionalidade do aplicativo na visão do

usuário, esta seção demonstra como o usuário executa o processo de envio de uma

composição ao servidor do aplicativo.

Após salvar a composição no dispositivo, o usuário deve acessar a opção Sincronizar

do menu secundário e, posteriormente, escolher a opção Enviar Composição. Ao executar

esta ação, será lançado ao usuário um questionamento a respeito de tornar ou não público o

arquivo que se deseja enviar.

Caso o usuário deseje tornar o arquivo público para que todas que utilizem o aplicativo

tenham acesso ao mesmo, então o usuário deve selecionar a opção "Sim" e o arquivo será

Page 52: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

51

enviado ao servidor com a tag de público. Após o envio, o aplicativo lançará uma mensagem

ao usuário informando-o de que o arquivo foi enviado com sucesso ao servidor.

Ao selecionar a opção de não tornar o arquivo público, será carregada a tela com a lista

dos usuários cadastrados no servidor, para associação ao arquivo, concedendo-os o direito ao

acesso da composição que está sendo enviada ao servidor. A Figura 14 demonstra a tela

responsável por retornar esses usuários.

Figura 14 – Lista dos usuários cadastrados no servidor para associação ao arquivo

Conforme exibido na Figura 14, o usuário pode selecionar um ou mais usuários para

realizar a associação ao acesso do arquivo de composição. Após selecionados os usuários

desejados, o usuário seleciona a opção Gravar Versão para enviar o arquivo de composição

ao servidor. Como retorno desta operação, para o caso de sucesso, o aplicativo emitirá a

mensagem de “Arquivo carregado para o servidor com sucesso”.

3.3.3.2 Operacionalidade com suporte à coordenação

Dando suporte ao mecanismo de coordenação, é apresentada a seguir a

operacionalidade do download de um arquivo de composição do servidor, com o controle de

versão do arquivo de composição.

3.3.3.2.1 Baixar Composição do Servidor

Para baixar um arquivo de composição disponível no servidor, o usuário deverá

selecionar a opção Sincronizar, disponível no menu secundário do aplicativo e, dentro do

Page 53: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

52

menu Sincronizar selecionar a segunda opção da lista, descrita como Baixar composição,

onde então será carregada a lista das composições disponíveis no servidor, conforme exibido

na Figura 15.

Figura 15 – Arquivos de composições disponíveis para download

Carregada a lista de arquivos do servidor, o usuário deverá selecionar a

composição/versão desejada para posteriormente selecionar a forma de controle da futura

versão do arquivo (Criar Nova Versão ou Continuar Versão Atual). Com a seleção de

uma das duas formas de controle de versão, o aplicativo setará ao arquivo sua nova versão e

carregará na interface principal, o conteúdo armazenado no arquivo baixado, dispondo os

objetos na timeline de composição do aplicativo de composição musical.

Com a composição carregada para o aplicativo, o usuário pode então livremente editá-

la com os instrumentos e notas musicais disponíveis na interface. Após o término do processo

de edição da composição musical, o usuário precisa salvar a composição se desejar enviá-la

em seguida ao servidor do aplicativo. A opção de Salvar a composição (no dispositivo) está

presente na lista do menu secundário.

3.3.3.3 Operacionalidade com suporte à comunicação

Por fim, dando suporte ao mecanismo de comunicação, é apresentada a seguir a

operacionalidade do acesso ao chat do aplicativo.

Page 54: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

53

3.3.3.3.1 Acessar Chat

Para acessar ao chat do aplicativo, passado a etapa de cadastro/login do usuário, o

mesmo deve selecionar a opção Chat, presente no menu secundário do aplicativo (Figura 12)

e o acesso ao chat será carregado, conforme Figura 16.

Figura 16 – Tela inicial do chat do aplicativo

O chat do aplicativo de composição musical dispõe de duas abas: uma com os usuários

cadastrados no servidor para a necessidade de uma conversa de forma individual (caso

visualizado na figura acima) e a outra aba com as salas disponíveis para bate-papos em grupo.

Para iniciar uma conversa individual, basta o usuário selecionar um dos usuários

disponíveis, conforme exibido na imagem acima e iniciar a troca de mensagens como

qualquer outro chat. Para o acesso às salas de bate-papo em grupo, o usuário deve selecionar a

aba SALAS onde então será exibida a lista de salas disponíveis. Com a lista de salas exibida, o

usuário pode adentrar em uma delas apenas selecionando-a, para consequentemente participar

de uma conversa em grupo com os demais usuários que também estiverem na mesma sala. O

usuário tem ainda a opção de criar uma nova sala de bate-papo; basta selecionar a opção

Adicionar Sala, exibida quando da seleção do menu secundário da maioria dos aplicativos

Android.

Page 55: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

54

3.4 RESULTADOS E DISCUSSÃO

Nesta seção é detalhada a metodologia de avaliação, perfil dos usuários, aplicação do

teste, análise a interpretação dos dados coletados e comparação entre as funcionalidades

adicionadas ao aplicativo de composição musical e os trabalhos correlatos.

A seção 3.4.1 descreve o experimento de usabilidade, no qual se avaliou a usabilidade

do aplicativo pelo usuário final. Esta seção foi subdividida pelos mecanismos de colaboração

do Modelo 3C (coordenação, comunicação e cooperação) para se obter desta forma, um

detalhamento mais preciso a respeito dos resultados de cada mecanismo. Na seção 3.4.2 é

descrito o experimento de compatibilidade, no qual se avaliou a compatibilidade do aplicativo

com alguns dispositivos. Por fim, na seção 3.4.3 é feita uma comparação deste trabalho com

os trabalhos correlatos.

3.4.1 Experimento de usabilidade

O experimento de usabilidade foi realizado com 5 usuários, com perfis compatíveis

com o público-alvo do aplicativo, para avaliar a aceitação e a eficiência das funcionalidades

adicionadas ao aplicativo de composição musical.

3.4.1.1 Metodologia

O experimento foi realizado durante o mês de junho por meio de teste individual com

os usuários. O aplicativo de composição musical foi instalado no dispositivo móvel de cada

usuário, sendo todos dispositivos smartphones. Foi fornecido à cada usuário um questionário

de perfil, uma lista de tarefas a serem executadas utilizando o aplicativo e um questionário de

usabilidade (Apêndice B).

Segundo Nielsen (1993), para se obter resultados satisfatórios em testes de usabilidade,

são necessários apenas cinco usuários, alegando que, a partir do quinto usuário, se desperdiça

tempo em observar praticamente os mesmos problemas repetidamente, sem encontrar novos

erros.

3.4.1.2 Aplicação do teste

Cada participante convidado foi orientado sobre os objetivos do teste de usabilidade,

com foco para os mecanismos de colaboração desenvolvidos neste trabalho. Antes de ser

repassado a cada usuário a lista de tarefas a serem executadas com algumas orientações

iniciais, foi solicitado o preenchimento de um questionário de perfil de usuário.

Page 56: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

55

A lista de tarefas procurou contemplar todas as atividades envolvidas nos processos de

cooperação, coordenação e comunicação implementados no aplicativo. Para cada tarefa

solicitada, o usuário foi questionado sobre o sucesso na conclusão da mesma, com

possibilidade do usuário redigir suas sugestões e/ou justificativas à respeito desta.

Ao término da lista de tarefas, foi apresentado aos usuários o questionário de

usabilidade, composto por 12 questões fechadas e 7 questões abertas. As questões fechadas

diziam respeito ao sucesso ou não quanto à execução de cada uma das tarefas solicitadas,

enquanto as questões abertas procuraram captar e absorver dos usuários suas percepções

quanto ao cenário desenhado no aplicativo, bem como suas sugestões/reclamações e/ou

dúvidas à respeito de cada mecanismo de colaboração adicionado ao aplicativo (coordenação,

cooperação e comunicação). Os resultados deste experimento estão descritos na próxima

seção.

3.4.1.3 Análise e interpretação dos dados coletados

A análise dos dados partiu dos dados coletados através do questionário de perfil de

usuário. No Quadro 16, são exibidos perfis dos usuários envolvidos no teste de usabilidade.

Quadro 16 – Perfis dos usuários envolvidos no teste de usabilidade Sexo 80% feminino

20% masculino Idade 40% entre 18 e 25 anos

40% entre 25 e 35 anos 20% mais de 35 anos

Nível de escolaridade 20% ensino médio completo 60% ensino superior incompleto 20% ensino superior completo

Relação com a música 60% escutam música mas não tem nenhum conhecimento da área 40% conseguem identificar instrumentos e ritmos musicais

Após a análise do perfil do usuário, iniciou-se a interpretação e apresentação dos

resultados obtidos a partir do questionário de usabilidade. Os resultados foram subdivididos

inicialmente, pelas questões que envolvem o cenário do aplicativo, seguido das questões que

envolvem cada um dos mecanismos de colaboração, segundo Modelo 3C (coordenação,

cooperação e comunicação). As subseções abaixo apresentam cada um dos resultados.

3.4.1.3.1 Análise quanto ao cenário do aplicativo

No Quadro 17 são apresentados resultados quanto às questões envolvendo o cenário do

aplicativo.

Page 57: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

56

Quadro 17 – Respostas quanto ao cenário do aplicativo Perguntas/Respostas Sim Não 1. Você conseguiu executar todas as tarefas solicitadas? 100% 2. De um modo geral, você achou o aplicativo intuitivo e fácil de usar? 100% 3. Você acha interessante fazer música colaborativamente? 100% 4. Você achou prática a representação visual dos samples? 100% 5. Você gostaria que o aplicativo exportasse as composições criadas para um formato de áudio (ex. MP3)?

100%

A partir dos resultados das questões 1 e 2 do Quadro 17, percebeu-se que os usuários

não tiveram dificuldades na execução da lista das tarefas solicitadas, porém, a principal

sugestão apontada pelos usuários quanto ao cenário do aplicativo foi um menu com lista de

opções mais claras e objetivas, como por exemplo, quanto ao acesso das funcionalidades de

enviar/baixar composição do servidor através do menu Sincronizar.

A questão 3 demonstra o quão interessante foi a utilização de um ambiente agora

colaborativo, através das implementações dos mecanismos de colaboração.

Na questão 4, apesar de todos os usuários acharem prática a representação visual dos

instrumentos e notas musicais disponíveis para composição, 40% destes sugeriram a

substituição da representação textual por símbolos e/ou imagens que os representassem.

Para concluir a avaliação com relação ao cenário, todos os usuários se expressaram a

favor da implementação de um mecanismo que exportasse as composições criadas para algum

formato de áudio, conforme resultado da questão 5.

3.4.1.3.2 Análise quanto ao mecanismo de cooperação

A análise do mecanismo de cooperação envolveu as atividades relacionadas a cadastro

de usuário, montagem e edição de composição, bem como o envio e o recebimento de

composições junto ao servidor. O Quadro 18 apresenta os resultados obtidos.

Quadro 18 – Respostas quanto ao mecanismo de cooperação Perguntas/Respostas Sim Não 1. Você conseguiu cadastrar um usuário? 100% 2. Você conseguiu criar uma composição? 100% 3. Você conseguiu enviar este composição para o servidor? 100% 4. Você cooperou com algum usuário baixando alguma composição do servidor e complementando-a com seus incrementos?

100%

Conforme exibido no Quadro 18, todas as atividades envolvendo o mecanismo de

cooperação, dentre elas, cadastro de usuário, montagem e edição de composição e envio e

recebimento de composição por parte do servidor, foram executadas na sua totalidade. Porém,

destaca-se a sugestão de 40% dos usuários quanto a questão número 3, onde estes sugeriram

Page 58: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

57

que o menu para envio/recebimento das composições deveria ter outra descrição, tornando-o

mais intuitivo para esta função, diferente da atual descrição: Sincronizar.

3.4.1.3.3 Análise quanto ao mecanismo de coordenação

A análise do mecanismo de coordenação envolveu a atividade de download de

composições de outros usuários, do servidor. O Quadro 19 apresenta os resultados obtidos.

Quadro 19 – Respostas quanto ao mecanismo de coordenação Perguntas/Respostas Sim Não 1. Você baixou alguma composição do servidor de outro usuário, gerando desta forma uma nova versão?

100%

2. Você complementou a composição baixada e a enviou novamente ao servidor cooperando com o outro usuário?

100%

Apesar da execução das atividades na sua completude, sugeriu-se o mesmo que na

seção anterior quanto à descrição do menu Sincronizar. Sugestão essa feita pelos mesmos

usuários que sugeriram a mudança quando da análise do mecanismo de cooperação.

Além disto, 20% dos usuários sugeriram que, ao baixar uma composição do servidor,

que o usuário fosse informado e atualizado quanto ao processo de carregamento desta para o

aplicativo.

3.4.1.3.4 Análise quanto ao mecanismo de comunicação

Por fim, a análise do mecanismo de comunicação, envolveu as atividades de acesso ao

chat do aplicativo de composição musical, bem como, interação com um ou mais usuários

através do chat e de suas salas de bate-papo. O Quadro 20 apresenta os resultados obtidos

quanto a este mecanismo.

Quadro 20 – Respostas quanto ao mecanismo de comunicação Perguntas/Respostas Sim Não 1. Você conseguiu acessar o chat do aplicativo? 100% 2. Você interagiu com algum usuário através do chat? 100% 3. Você acessou alguma sala de bate-papo? 100%

Quanto à questão 1 do Quadro 20, esta foi facilmente realizada pelos usuários. Já na

questão 2, 20% dos usuários sugeriram que fosse alterada a visualização do código do usuário

que se está dialogando, pela descrição utilizada como login deste. Quanto a terceira questão

do Quadro 20, 20% dos usuários sugeriram que, fosse exibido o nome da sala ao qual o

usuário está conectado e, 20% dos usuários também sugeriram que fosse implementado um

mecanismo para controlar e selecionar usuários específicos quanto a permissão de acesso à

salas de bate-papo.

Page 59: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

58

3.4.2 Experimento de compatibilidade

O experimento de compatibilidade foi realizado utilizando-se 6 dispositivos Android,

para avaliar a compatibilidade do aplicativo quanto a diferentes hardwares e versões do

Android. Os dispositivos utilizados compreendem a classe de smartphones e são listados no

Quadro 21.

Quadro 21 – Dispositivos utilizados no experimento de compatibilidade

Quantidade Dispositivo Versão do Android

Tamanho da tela

3 Samsung Galaxy SIII Mini 4.1.2 4” (480x800)

1 Samsung Galaxy S Duos 4.0.4 4” (480x800)

1 Samsung Galaxy SII 4.1.2 4.3” (480x800)

1 Samsung Galaxy S4 (dispositivo de desenvolvimento)

4.4.2 5” (1080x1920)

Todas as funcionalidades adicionadas ao aplicativo com o desenvolvimento deste

trabalho, bem como as funcionalidades já implementadas, puderam ser executadas sem

nenhum problema. O único relato a ser feito é em relação à interface principal do aplicativo,

onde a timeline presente, bem como a área com os Samples não foram exibidas corretamente,

em virtude do tamanho de tela dos aparelhos acima mencionados no Quadro 20. Como o

aplicativo, na sua origem, quando do desenvolvimento por Alvarenga (2013), foi otimizado

para uso em tablets, a visualização da interface principal ficou, desta forma, comprometida

quando do uso em smartphones.

3.4.3 Comparação com trabalhos correlatos

Com a análise dos resultados obtidos, reformulou-se o quadro de características dos

trabalhos correlatos (Quadro 1 da seção 2.4.4), adicionando o aplicativo de composição

musical para leigos MyMusic, para fins de comparação. O Quadro 22 apresenta a análise

comparativa entre as características do aplicativo MyMusic com as características existentes

nos trabalhos relacionados.

Page 60: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

59

Quadro 22 – Comparação com os trabalhos correlatos

características / trabalhos correlatos

Miletto et al. (2005)

Pinhati e Ferlin

(2012)

Ficheman et al. (2003)

MyMusic

usuário-alvo leigos leigos e avançados leigos leigos

tipo de plataforma web

desktop (plugin p/ software de

editoração de partituras)

desktop

Android

suporte à CSCW sim não sim sim

apoio a atividade musical

composição validação harmônica

composição composição

Comparando-se aos trabalhos correlatos, mesmo que dois deles (CODES e EDITOR

MUSICAL) também possuam suporte à CSCW, o grande diferencial no aplicativo proposto,

MyMusic, está no uso da plataforma Android.

Page 61: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

60

4 CONCLUSÕES

Este trabalho propôs realizar uma manutenção evolutiva ao aplicativo de composição

musical para leigos desenvolvido por Alvarenga (2013). Foram adicionados mecanismo de

cooperação, coordenação e comunicação ao aplicativo, através do uso da API QuickBlox.

Em relação aos resultados obtidos através dos experimentos realizados, pode-se

concluir que o aplicativo atende a um editor colaborativo, permitindo que usuários interajam e

comuniquem-se entre si para a composição de trechos musicais. A troca de artefatos gerados

entre os usuários por meio dos mecanismos de envio e o recebimento de arquivos do servidor,

possibilitou o compartilhamento dos artefatos e a cooperação entre esses usuários.

Quanto aos objetivos específicos, foi possível tornar o aplicativo em um cenário

colaborativo, com as implementações de controle de versão, envio/recebimento de arquivos

do servidor, bem como comunicação entre usuários por meio de chat. Porém, foi apontado por

alguns usuários a necessidade de um menu mais intuitivo, principalmente com relação ao

envio/recebimento de arquivos do servidor. Foi levantado ainda pelos usuários a possibilidade

de alterar a representação textual dos samples por imagens/icones que os representem.

Em relação às limitações, pode-se destacar a ausência na identificação dos usuários

que estão online em relação aos usuários que não estão acessando o chat. Ainda com relação

ao mecanismo do chat, não é possível manter um controle de acesso de usuários quando da

criação de salas de bate-papo (situação sugerida por um usuário). Um dos maiores desafios e

dificuldades encontradas foi em associar os arquivos enviados ao servidor como público ou

privado, com relação ao acesso de usuários. A implementação desta necessidade utilizando-se

da API QuickBlox estava muito abstrata no seu princípio e a falta de conhecimento da própria

API em si, contribui para o surgimentos dessas dificuldades. Porém, foram superados ao final

das implementações, com o melhor entendimento do funcionamento da API utilizada. Outra

dificuldade surgiu, no princípio das implementações, ao montar um servidor de arquivos para

troca de artefatos com o aplicativo. Não conseguia-se efetuar o download de um arquivo

armazenado no então servidor de arquivos, para o aplicativo. Passadas algumas semanas,

buscando-se alternativas e pensando também na comunicação por chat, encontrou-se a API

QuickBlox, a qual então foi utilizada para implementação da manutenção evolutiva proposta.

Pode-se destacar, como grande vantagem do aplicativo de composição musical para

leigos MyMusic, o fato deste ter se tornado um editor colaborativo para composição musical

por usuários sem experiência na área, associado ao fato deste ser um aplicativo para

dispositivos móveis com sistema operacional Android, sendo este, um sistema operacional

Page 62: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

61

presente em diversos modelos de aparelhos smartphones e também tablets, o que torna

evidente a possibilidade e facilidade de acesso ao uso do aplicativo proposto neste trabalho.

4.1 EXTENSÕES

Como extensões para este trabalho, com relação ao cenário do aplicativo sugerem-se:

a) alterar a representação musical, atualmente textual, para imagens e/ou símbolos

que os identifiquem, tornando-se desta forma, mais intuitivo e também atraente aos

usuários que utilizarem o aplicativo de composição musical;

b) criar um layout de interface que se adeque a diferentes tamanhos de telas com

diferentes resoluções, criando assim uma espécie de interface adaptativa e

responsiva;

c) otimizar o processo de reprodução da composição para eliminar os atrasos que

ocorrem entre cada faixa de tempo dos samples na timeline;

d) exportar as composições criadas para algum formato de áudio a ser definido.

Em relação ao mecanismo de coordenação adicionado ao aplicativo, como um dos

objetivos deste trabalho, sugerem-se:

a) remover o controle de versão do nome do arquivo e passar para um controle de

versão interno, com um mecanismo próprio e independente;

b) poder retornar aos usuários as versões de composições num formato de árvore,

associando desta forma os níveis de versão a uma visualização mais concisa e que

de fato, dê sentido à hierarquia criada dentro dos arquivos.

Por fim, em relação ao mecanismo de comunicação adicionado ao aplicativo, como

outro objetivo também deste trabalho, sugerem-se:

a) adicionar informações da atividade dos usuários no chat do aplicativo; online e off-

line, bem como seus possíveis estados: ocupado, ausente, entre outros;

b) permitir que usuários possam selecionar outros usuários do seu interesse a

acessarem uma sala de bate-papo criado por um destes, restringindo desta forma, o

acesso a usuários não desejados ou que não façam parte de um mesmo grupo de

interesse.

Page 63: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

62

REFERÊNCIAS

ALVARENGA, Gustavo G. Ferramenta para criação de composições musicais para Android. 2013. 58 f. Trabalho de Conclusão de Curso (Bacharelando em Ciências da Computação) – Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau. Disponível em: < http://campeche.inf.furb.br/tccs/2013-I/TCC2013-1-16-VF-GustavoGAlvarenga.pdf>. Acesso em: 09 set. 2013.

CASTILHO, Marcelo. O que é CSCW? [S.l.], 2008. Disponível em: <http://www.dimensaotech.com/2008/11/o-que-e-cscw/>. Acesso em: 12 set. 2013.

FICHEMAN, Irene K. et al. Editor musical: uma aplicação para a aprendizagem de música apoiada por meios eletrônicos interativos. In: SIMPÓSIO BRASILEIRO DE INFORMÁTICA NA EDUCAÇÃO, 2003, Rio de Janeiro. Anais eletrônicos... Rio de Janeiro: UFRJ, 2003. Disponível em: <http://www.nce.ufrj.br/sbie2003/publicacoes/paper20.pdf>. Acesso em: 06 abr. 2013.

GEROSA, Marco A.; FUKS, Hugo; LUCENA, Carlos J. P. Suporte à percepção em ambientes de aprendizagem colaborativa. Revista Brasileira de Informática na Educação, vol. 11, n. 2, nov. 2003. Disponível em: <http://groupware.les.inf.puc-rio.br/public/papers/RBIE-PercepcaoAulaNet.pdf>. Acesso em: 16 set. 2013.

MACEDO, Alessandra A.; KUTOVA, Marcos A. S.; PIMENTEL, Maria G. C. Ambientes cooperativos: tendências e exemplos. Notas Didáticas do ICMC, São Carlos, n. 35, p. 4-41, fev. 1999. Disponível em: <http://www.icmc.usp.br/CMS/Arquivos/arquivos_enviados/BIBLIOTECA_113_ND_35.pdf>. Acesso em: 17 set. 2013.

MED, Bohumil. Teoria da música. 4. ed. Brasília: Musimed, 1996.

MILETTO, Evandro M. et al. CODES: um ambiente para prototipação musical cooperativa baseado na web. In: CONGRESSO DA SOCIEDADE BRASILEIRA DE COMPUTAÇÃO, 25., 2005, São Leopoldo. Anais eletrônicos... São Leopoldo: UNISINOS, 2005. Disponível em: <http://www.researchgate.net/publication/229009479_CODES_Um_Ambiente_para_Prototipao_Musical_Cooperativa_Baseado_na_Web/file/72e7e51543931470e7.pdf>. Acesso em: 06 abr. 2013.

MOECKEL, Alexandre. CSCW: conceitos e aplicações para cooperação. Centro Federal de Educação Tecnológica do Paraná, Curitiba. p. 2-32, jun. 2003. Disponível em: <http://www.pessoal.utfpr.edu.br/moeckel/publicacoes/cscw_gdp2003.pdf>. Acesso em: 15 set. 2013.

NIELSEN, Jakob. Usability Engineering. San Franciso: Morgan Kaufmann Publishing, 1993.

PINHATI, Fernando; FERLIN, Claudia. MusiK – um ambiente inteligente de auxílio à composição. Revista: Publicação técnico-científica do IST-Rio, Rio de Janeiro, v. 03, n. 05, p. 95-111, dez. 2012. Disponível em: <http://www.istrio.net/revista/ojs/index.php/revISTa/article/viewFile/52/11>. Acesso em: 15 set. 2013.

Page 64: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

63

QUICKBLOX MBAAS: cloud backend API as a service for mobile and web apps. [S.l.], jun. 2014. Disponível em: < http://quickblox.com/>. Acesso em: 20 mar. 2014.

SWANWICK, Keith; FRANÇA, Cecília C. Composição, apreciação e performance na educação musical: teoria, pesquisa e prática. EM PAUTA, Porto Alegre: v. 13, n. 21, p. 05-41, 2002. Disponível em: <http://seer.ufrgs.br/index.php/EmPauta/article/download/8526/4948>. Acesso em: 02 jun. 2013.

Page 65: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

64

APÊNDICE A – Detalhamento dos casos de uso

Neste apêndice está o detalhamento dos casos de uso especificados no aplicativo de

composição musical para leigos. Associando ações aos mecanismos de suporte ao Modelo 3C

de colaboração (coordenação, cooperação e comunicação), são apresentados os roteiros de

cada caso de uso, com seus cenários.

O Quadro 23 apresenta o caso de uso UC01 - Fazer Login/Logout. O Quadro 24

apresenta o caso de uso UC02 - Cadastrar Usuário. Já os Quadros 25 e 26, apresentam os

casos de uso UC03 - Baixar Composição do Servidor (suporte à coordenação) e UC04 -

Enviar Composição ao Servidor (suporte à cooperação), respectivamente. Por fim, o

Quadro 27 apresenta o caso de uso UC05 - Acessar Chat (provendo suporte ao mecanismo

de comunicação).

Page 66: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

65

Quadro 23 – Caso de uso UC01 Número 01 Caso de uso Fazer Login/Logout Descrição Caso de uso da funcionalidade que permite um usuário se registrar no

servidor. Ator Usuário

Pré-condições Possuir o aplicativo de composição musical instalado no dispositivo móvel. Estar conectado à internet.

Pós-condições Usuário registrado no servidor ou deslogado do servidor. Cenário principal 1. O Usuário abre o aplicativo no dispositivo móvel;

2. O aplicativo exibe a interface principal; 3. O Usuário seleciona a opção Login no menu principal do

aplicativo; 4. O aplicativo carrega uma caixa de diálogo com as opções de

Login e Cadastre-se; 5. O Usuário seleciona a opção de Login; 6. O Usuário informa o seu login, senha e seleciona a opção

Login; 7. O aplicativo verifica se o usuário informado é um usuário

cadastrado no servidor; 8. O aplicativo registra o Usuário no servidor; 9. Retorna ao passo 2.

Cenário de exceção No passo 6, após o Usuário informar o login e senha e selecionar a opção Login, se o dispositivo móvel não estiver conectado à Internet, o aplicativo informa que ocorreu um erro ao tentar efetuar o login e retorna ao passo 6. No passo 7, se os campos de login e senha não estiverem preenchidos corretamente, o aplicativo informa que ocorreu um erro ao tentar efetuar o login e retorna ao passo 6.

Page 67: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

66

Quadro 24 – Caso de uso UC02 Número 02 Caso de uso Cadastrar Usuário Descrição Caso de uso da funcionalidade que permite um usuário se cadastrar no

servidor. Ator Usuário

Pré-condições Possuir o aplicativo de composição musical instalado no dispositivo móvel. Estar conectado à internet.

Pós-condições Usuário cadastrado e registrado no servidor. Cenário principal 1. O Usuário abre o aplicativo no dispositivo móvel;

2. O aplicativo exibe a interface principal; 3. O Usuário seleciona a opção Login no menu principal do

aplicativo; 4. O aplicativo carrega uma caixa de diálogo com as opções de

Login e Cadastre-se; 5. O Usuário seleciona a opção Cadastra-se; 6. O Usuário informa o seu login, senha, email e seleciona a

opção Cadastrar; 7. O aplicativo valida os campos do cadastro; 8. O aplicativo cadastra e registra o Usuário no servidor; 9. Retorna ao passo 2.

Cenário de exceção No passo 6, após o Usuário informar o login, senha, email e selecionar a opção Cadastrar, se o dispositivo móvel não estiver conectado à Internet, o aplicativo informa que ocorreu um erro ao tentar efetuar o cadastro e retorna ao passo 6. No passo 7, se algum campo do cadastro não foi preenchido corretamente, o aplicativo informa que ocorreu um erro ao tentar efetuar o cadastro e retorna ao passo 6.

Page 68: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

67

Quadro 25 – Caso de uso UC03 Número 03 Caso de uso Baixar Composição do Servidor (suporte à coordenação) Descrição Caso de uso da funcionalidade que permite um usuário baixar uma

composição do servidor. Ator Usuário

Pré-condições Usuário logado no servidor. Pós-condições Timeline carregada com os Samples que compõem a composição. Cenário principal 1. O Usuário abre o menu secundário da interface principal;

2. O Usuário seleciona a opção Sincronizar do menu secundário;

3. O aplicativo abre uma caixa de diálogo com as opções de Enviar Composição e Baixar Composição;

4. O Usuário seleciona a opção de Baixar Composição; 5. O aplicativo retorna para o Usuário uma lista com as

composições armazenadas no servidor, listando as composições enviadas pelo próprio Usuário e também as composições enviadas por outros usuários que tenham associado o Usuário em questão aos seus arquivos de composição.

6. O Usuário seleciona a composição desejada; 7. O Usuário seleciona a opção de Criar Nova Versão ou de

Continuar Versão Atual; 8. O aplicativo efetua o controle da versão de acordo com a

opção selecionada pelo Usuário; 9. O aplicativo dispõe os Samples existentes no arquivo na

Timeline da interface principal. Cenário de exceção No passo 4, após o Usuário selecionar a opção Baixar Composição,

se o dispositivo móvel não estiver conectado à Internet, o aplicativo informa que ocorreu um erro ao tentar carregar a lista de composições e retorna ao passo 3. No passo 8, se o Usuário selecionar a opção de Continuar Versão Atual e a composição selecionada já possuir dois níveis de versão de arquivo, o aplicativo informa de que não é possível criar mais que dois níveis de composição e a operação retorna ao passo 6.

Page 69: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

68

Quadro 26 – Caso de uso UC04 Número 04 Caso de uso Enviar Composição ao Servidor (suporte à cooperação) Descrição Caso de uso da funcionalidade que permite um usuário enviar uma

composição ao servidor. Ator Usuário

Pré-condições Usuário logado no servidor e arquivo salvo localmente após o login do Usuário.

Pós-condições Arquivo de composição armazenado no servidor. Cenário principal 1. O Usuário abre o menu secundário da interface principal;

2. O Usuário seleciona a opção Sincronizar do menu secundário;

3. O aplicativo abre uma caixa de diálogo com as opções de Enviar Composição e Baixar Composição;

4. O Usuário seleciona a opção de Enviar Composição; 5. O aplicativo abre uma caixa de diálogo perguntando ao

Usuário se o mesmo deseja tornar o arquivo público; 6. O Usuário seleciona a opção Não; 7. O aplicativo carrega uma lista com os usuários cadastrados no

servidor; 8. O Usuário marca os usuários que ele deseja associar (que

posteriormente poderão baixar o arquivo); 9. O Usuário seleciona a opção OK; 10. O aplicativo envia o arquivo de composição ao servidor; 11. O aplicativo retorna ao Usuário uma mensagem na tela

informando que a composição foi carregada para o servidor com sucesso;

12. O aplicativo retorna à interface principal. Cenário alternativo No passo 5, se o Usuário selecionar a opção Sim a operação é

direcionada para o passo 10. Cenário de exceção No passo 4, após o Usuário selecionar a opção Enviar Composição,

se o dispositivo móvel não estiver conectado à Internet, o aplicativo informa que ocorreu um erro ao tentar processar a operação e retorna ao passo 3. No passo 9, se o Usuário selecionar a opção OK e não tiver marcado nenhum usuário para associar ao arquivo, o aplicativo informa que é necessário associar ao menos um usuário e a operação retorna ao passo 8.

Page 70: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

69

Quadro 27 – Caso de uso UC05 Número 05 Caso de uso Acessar Chat (suporte à comunicação) Descrição Caso de uso da funcionalidade que permite um usuário acessar o

ambiente de mensagens instantâneas. Ator Usuário

Pré-condições Usuário logado no servidor. Pós-condições Usuário em comunicação com um ou mais usuários. Cenário principal 1. O Usuário abre o menu secundário da interface principal;

2. O Usuário seleciona a opção Chat do menu secundário; 3. O aplicativo carrega a lista de usuários cadastrados no

servidor, bem como a lista de salas de bate-papo; 4. O Usuário seleciona outro usuário para iniciar uma conversa; 5. Os usuários trocam mensagens entre si; 6. O passo 5 se repete até que o Usuário saia do ambiente do

Chat; 7. O aplicativo retorna à interface principal.

Cenário alternativo No passo 4, se o Usuário selecionar a aba de salas de bate-papo, o Usuário deverá selecionar uma sala para ingressar em uma conversa em grupo. O Usuário poderá ainda, criar uma nova sala de bate-papo selecionado a opção + na aba de salas; dando à ela a descrição desejada. A operação segue para o passo 5.

Page 71: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

70

APÊNDICE B – Lista de tarefas e questionário de avaliação de usabilidade

Neste apêndice estão a folha de apresentação com os objetivos do teste, bem como

apresentação do aplicativo de composição musical, além da lista de tarefas que foram

executadas pelos usuários durante o experimento de usabilidade e, concluindo com o

questionário aplicado que avaliou a usabilidade do aplicativo em relação às funcionalidades

propostas, principalmente aquelas com foco nos mecanismos de colaboração.

O Quadro 28 apresenta a folha de apresentação e convite para o teste. O Quadro 29

apresenta o questionário de perfil de usuário. O Quadro 30 apresenta a lista de tarefas

solicitadas envolvendo as funcionalidades do aplicativo. Por fim, o Quadro 31 apresenta o

questionário de usabilidade do aplicativo.

Page 72: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

71

Quadro 28 – Folha de apresentação e convite para o teste de usabilidade

MyMusic – Aplicativo de composição musical para leigos Pesquisa de Usabilidade

Olá!

Você está sendo convidado a participar de uma avaliação de usabilidade do aplicativo de composição musical para leigos MyMusic. Este aplicativo tem por objetivo principal, possibilitar que usuários com pouco ou nenhum conhecimento em composição musical criem seus próprios trechos de músicas, através de alguns instrumentos e notas que o aplicativo dispõe.

Além da criação da composição, o aplicativo está voltado (através deste trabalho) para um ambiente colaborativo, onde um usuário pode interagir com outros usuários. O aplicativo, através desse trabalho de TCC, dispõe agora de chat, envio de arquivos de composição para um servidor como forma de compartilhamento e, também o download destes arquivos. Para tanto, gostaríamos do seu apoio e contribuição, respondendo ao questionário de Perfil de Usuário abaixo para, posteriormente, utilizar o aplicativo e responder ao Questionário de Usabilidade.

Quadro 29 – Questionário de perfil de usuário

PERFIL DE USUÁRIO Observação: As informações aqui preenchidas serão mantidas em sigilo. Sexo: ( ) Masculino ( ) Feminino Idade: ( ) Tenho menos de 18 anos ( ) Tenho entre 18 e 25 anos ( ) Tenho entre 25 e 35 anos ( ) Tenho mais de 35 anos Nível de Escolaridade: ( ) Ensino Fundamental Incompleto ( ) Ensino Fundamental Completo – 1º grau ( ) Ensino Médio Incompleto ( ) Ensino Médio Completo – 2º grau ( ) Ensino Superior Incompleto ( ) Ensino Superior Completo Indique a sua relação com a música: ( ) Não ouço música ( ) Escuto música mas não tenho nenhum conhecimento da área ( ) Consigo identificar instrumentos e ritmos musicais ( ) Sou músico amador

( ) Sou músico profissional

Page 73: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

72

Quadro 30 – Lista de tarefas envolvendo a execução das funcionalidades do aplicativo INSTRUÇÕES Nosso principal objetivo é avaliar a utilização do aplicativo de composição musical quanto aos seus mecanismos de cooperação e colaboração entre os usuários. O aplicativo dispõe não apenas da criação de composição musical, que é a sua base, mas principalmente, como foco deste trabalho, a cooperação e a interação entre os usuários, através da utilização do chat disponível no aplicativo, do envio e recebimento de arquivos de composição de outros usuários e assim por diante. Utilize livremente o aplicativo explorando-o da melhor forma possível, por um período de 10 a 15 minutos e, não havendo nenhuma dúvida ou questionamento, solicitamos que prossiga para as orientações abaixo. Lista de tarefas a serem executadas: A seguir você deve proceder de acordo com o solicitado, indicando ao final se a atividade foi concluída ou não. � As tarefas abaixo contemplam o mecanismo de cooperação presente no aplicativo.

1) Realize o cadastro de um usuário.

A tarefa foi executada? Sim, não? Por quê? ____________________________________________________________________________________________________________________________________________________

2) Monte uma composição no aplicativo com os instrumentos e notas musicais disponíveis e, em seguida salve-a no dispositivo.

A tarefa foi executada? Sim, não? Por quê? ____________________________________________________________________________________________________________________________________________________

3) Envie a composição criada para o servidor.

A tarefa foi executada? Sim, não? Por quê? ____________________________________________________________________________________________________________________________________________________ � Os passos abaixo contemplam o mecanismo de coordenação do aplicativo.

4) Faça o download de uma composição disponível no servidor.

A tarefa foi executada? Sim, não? Por quê? ____________________________________________________________________________________________________________________________________________________

5) Se você conseguiu executar a tarefa anterior, edite a composição complementando-a e ao término, envie-a novamente ao servidor.

A tarefa foi executada? Sim, não? Por quê? ____________________________________________________________________________________________________________________________________________________ � Os passos abaixo contemplam o mecanismo de comunicação do aplicativo.

6) Acesse o chat do aplicativo.

A tarefa foi executada? Sim, não? Por quê? ____________________________________________________________________________________________________________________________________________________

Page 74: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

73

7) Troque mensagens com algum usuário no modo individual ou através das salas de bate-papo.

A tarefa foi executada? Sim, não? Por quê? ____________________________________________________________________________________________________________________________________________________

8) Crie uma nova sala de bate-papo.

A tarefa foi executada? Sim, não? Por quê?

______________________________________________________________________________________________________________________________________________

Page 75: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

74

Quadro 31 – Questionário de usabilidade do aplicativo QUESTIONÁRIO DE USABILIDADE

Das tarefas solicitadas acima, quantas você conseguiu executar? ( ) Todas ( ) A maior parte delas ( ) Metade das tarefas ( ) Menos da metade das tarefas ( ) Nenhuma tarefa De um modo geral, você achou o aplicativo intuitivo e fácil de usar? ( ) Sim ( ) Não Você acha interessante fazer música colaborativamente? Caso a resposta seja não, expresse sua opinião a respeito nas linhas abaixo. ( ) Sim ( ) Não ____________________________________________________________________________________________________________________________________________________ � Com relação ao mecanismo de cooperação do aplicativo:

Você conseguiu cadastrar um usuário? ( ) Sim ( ) Não Você conseguiu criar uma composição? ( ) Sim ( ) Não Você conseguiu enviar esta composição para o servidor? ( ) Sim ( ) Não Você cooperou com algum usuário baixando alguma composição do servidor e complementando com seus incrementos? ( ) Sim ( ) Não � Com relação ao mecanismo de coordenação do aplicativo:

Você baixou alguma composição do servidor de outro usuário, gerando desta forma uma nova versão? ( ) Sim ( ) Não Se a resposta for SIM, você complementou a composição baixada e a enviou novamente ao servidor cooperando com o outro usuário? ( ) Sim ( ) Não � Com relação ao mecanismo de comunicação do aplicativo:

Você conseguiu acessar o chat do aplicativo? ( ) Sim ( ) Não Você interagiu com algum usuário através do chat? ( ) Sim ( ) Não

Page 76: MY MUSIC: APLICATIVO DE COMPOSIÇÃO …dsc.inf.furb.br/arquivos/tccs/monografias/2014_1_fabric...CURSO DE CIÊNCIA DA COMPUTAÇÃO – BACHARELADO MY MUSIC: APLICATIVO DE COMPOSIÇÃO

75

Você acessou alguma sala de bate-papo? ( ) Sim ( ) Não Você achou prática a representação visual dos samples? Se não, como acha que os samples deveriam ser representados? ______________________________________________________________________________________________________________________________________________________________________________________________________________________________ Você gostaria que o aplicativo exportasse as composições criadas para um formato de áudio (ex. MP3)? ______________________________________________________________________________________________________________________________________________________________________________________________________________________________ Por fim, o que você achou do aplicativo? ______________________________________________________________________________________________________________________________________________________________________________________________________________________________ Sugestões, dúvidas, reclamações a respeito do mecanismo de cooperação do aplicativo (cadastro do usuário, processo de composição e envio ao servidor). ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Sugestões, dúvidas, reclamações a respeito do mecanismo de coordenação (download de composição do servidor). ______________________________________________________________________________________________________________________________________________________________________________________________________________________________ Sugestões, dúvidas, reclamações a respeito do mecanismo de comunicação (chat). ______________________________________________________________________________________________________________________________________________________________________________________________________________________________

Obrigado pela participação!