ESPECIFICAÇÃO DE SOFTWARE Integrantes do grupo: Joel Edu Sánchez Castro Fernando Hattori Miguel Angel Galarreta Valverde Felipe Martins dos Santos 1
SUMÁRIO DESCRIÇÃO...3 REQUISITOS...3 REQUISITOS FUNCIONAIS (RF)...3 RF01...4 RF02...4 RF03...4 RF04...4 RF05...4 RF06...4 RF07...5 RF08...5 RF09...5 RF10...5 RF11...5 REQUISITOS NÃO FUNCIONAIS (RNF)...6 RNF01...6 RNF02...6 RNF03...6 VIABILIDADE...7 RESTRIÇÕES...7 PROTÓTIPO DO SOFTWARE...7 BREVE DESCRIÇÃO...7 2
DESCRIÇÃO O software especificado neste documento é uma ferramenta de modelagem gráfica tri-dimensional mais simples que as encontradas atualmente no mercado de software, com um público alvo sendo crianças entre 6 e 12 anos. O software permitirá que essas crianças que estão começando a utilizar computadores tenham uma maneira de aprender se divertindo. Além disso, possibilitará que as crianças se familiarizem com a geometria. REQUISITOS Os requisitos do software serão classificados em requisitos funcionais e requisitos não funcionais nos próximos itens. REQUISITOS FUNCIONAIS (RF) Os 11 itens a seguir descrevem os requisitos funcionais do software: Código Nome RF01 Criar objetos básicos em 3D Alta RF02 Aplicar de cor a objetos criados Alta Prioridade RF03 Aplicar textura a objetos criados Média RF04 Rotacionar objetos Alta RF05 Transladar objetos Alta RF06 Alterar escala de objetos Alta RF07 Realizar zoom/in e zoom/out em objetos Alta RF08 Iluminar os objetos Alta RF09 Criar Objetos personalizados Média RF10 Apagar objetos Alta RF11 Utilizar geometria sólida construtiva Baixa 3
RF01 O programa permitirá as crianças criar objetos básicos em 3D com apenas um clique do mouse, estes serão mostrados como botões na janela principal, os objetos serão: esferas, cubos, pirâmides, cilindros e outros. RF02 As crianças poderão trocar as cores dos objetos que foram criados no programa, selecionando o objeto e aplicando uma cor que o programa tem por padrão. RF03 Prioridade: Média As crianças terão a opção de trocar a textura dos objetos e assim tentarão recriar os objetos que existem na vida cotidiana, o programa terá diferentes texturas para que a criança possa escolher uma delas. RF04 As crianças poderão rotacionar objetos de maneira interativa e rápida, para que a criança observe a ação de rotacionar um objeto. RF05 As crianças poderão transladar os objetos por todo a área do programa colocando os objetos onde desejarem. RF06 A alteração de escala é uma transformação que permite manipular o tamanho dos objetos em diferentes eixos do ambiente 3D. Para que a ferramenta permita uma maior personalização dos objetos criados com relação aos seus tamanhos originais, a implementação desta funcionalidade se faz necessária. 4
RF07 Na manipulação de objetos complexos, às vezes é útil visualizar melhor pequenos detalhes de objetos individualmente. Para isso, deverá existir a funcionalidade de zoom in que permite visualizar os objetos como se estivessem mais próximos da câmera. De maneira similar, para visualizar a cena modelada como um todo, é necessária a existência da funcionalidade zoom out que permite uma visualização mais afastada dos objetos. RF08 Na computação gráfica, a iluminação é um item essencial para se alcançar o realismo. O software deverá fornecer a iluminação das cenas modeladas e exibir as sombras dos objetos. Deverão ser permitidos também alguns ajustes de iluminação. RF09 Prioridade: Média Para entusiasmar os usuários que estiverem utilizando o software, deverão existir algumas formas personalizadas já implementadas. Assim, com pouco tempo de utilização já poderão ser criados objetos mais avançados do que cubos ou esferas. A prioridade deste requisito é menor pois com as formas básicas os usuários poderão conseguir esses resultados. RF10 O software deve permitir que objetos selecionados possam ser apagados da cena. Assim, o usuário poderá eliminar algum objeto que foi inserido indevidamente na cena que está sendo modelada, além de experimentar diferentes resultados com ou sem um determinado objeto. RF11 Prioridade: Baixa A Geometria Sólida Construtiva é um modelo para construção de formas mais complexas a partir de formas simples, através dos resultados de união, intersecção e subtração. Devido à maior complexidade deste requisito, sua 5
implementação terá baixa prioridade e será realizada como um incremento próximo do final do projeto. REQUISITOS NÃO FUNCIONAIS (RNF) Os 3 itens a seguir descrevem os requisitos não funcionais do software: Código Nome RNF01 Desenhar uma interface adequada para crianças Alta RNF02 Tempo de resposta de 5 segundos para as operações básicas Alta RNF03 O software deverá apresentar mensagens claras e palavras simples. Alta RNF01 Prioridade O sistema deve possuir uma interface amigável e adequada para crianças. Isso significa possuir várias características próprias diferentes de outros tipos de aplicativos não voltados às crianças, como por exemplo: botões grandes e com desenhos auto explicativos, diminuindo a necessidade de conteúdo de texto explicando as funcionalidades do sistema. RNF02 O sistema deve possuir baixo tempo de espera de resposta para as operações mais básicas, pois se este tempo for elevado demais, o usuário se sentirá frustado e, então, a aplicação não terá cumprido seus objetivos. O tempo máximo deverá ser de 5s para as operações mais básicas, como criação de formas simples, aplicação de cor, rotação, translação, alterar escala e excluir objetos. Para as outras operações mais complexas, o tempo de resposta não será limitado por causa da complexidade computacional esperada. RNF03 O sistema deve possuir mensagens claras e com uso de vocabulário simples. Pois o objetivo da aplicação é ser utilizada por crianças, ou seja, é necessária uma aproximação da fala coloquial nas mensagens do sistema. 6
VIABILIDADE O sistema possui o objetivo de incentivar a imaginação e o contato com geometria 3D em crianças através de um software de criação de objetos gráficos. Estes tipos de aplicação constituem, para a criança, a maneira mais produtiva de aprender a criar objetos para representar o mundo real, através da simulação a criança tem possibilidade de desenvolver sua imaginação. Sua implementação é viável, dada a disponibilidade de recursos computacionais da Universidade de São Paulo e pessoais dos envolvidos no projeto. Além disso, o cronograma do projeto já foi idealizado e possui tempo suficiente no caso de alguns dos riscos previstos realmente acontecerem, apesar dos curtos prazos. RESTRIÇÕES O software deverá manter o foco em modelagem tri-dimensional restrita para crianças. Não deverá ser visto como uma ferramenta comercial concorrente a diversas outras já existentes no mercado. O software também possui restrições no tempo de desenvolvimento que vai até o final do primeiro semestre letivo de 2010. PROTÓTIPO DO SOFTWARE BREVE DESCRIÇÃO O software possui uma janela principal, composta de menus que dividem as funcionalidades. O menu à esquerda chamado Formas básicas permite que o usuário crie objetos clicando sobre eles. Na parte inferior deste menu é possível clicar em Formas Personalizadas permitindo a visualização das formas personalizadas existentes e incluí-las na cena caso desejado. Do lado direito aparece o menu de cores, que só é exibido quando o usuário clica em Cor. No menu superior, clicando em Texturas, serão exibidas texturas padrões do software. Ainda no menu superior, clicando em Mover, é exibido um menu com botões das operações básicas de movimento, basta então escolher uma delas e aplicar a um dos objetos na cena. O botão Sair encerra o programa. A tela escura e centraliza é onde os objetos criados aparecem e representa o espaço de modelagem. Clicando no botão Visualizar na parte inferior da janela é exibido apenas o espaço tridimensional. 7
A imagem a seguir representa o protótipo do software: 8