Universidade Federal da Paraíba Métodos de Projeto de Software 2012.1 futprego Especificação de requisitos e projeto arquitetural futprego.mps.pet.ci.ufpb.br Professora: Danielle Rousy
Agenda Definição do problema Proposta de solução Requisitos Casos de uso Decisões arquiteturais Projeto arquitetural - Visões Padrão de projeto Protótipo
Definição do problema Jogo de tabuleiro Motivação Android® Pregobol (futebol de prego) tradicional Objetivo Regras Os jogadores lançam a bola/moeda um de cada vez, com um toque, com o objetivo de acertar o gol do oponente Motivação Necessidade do cliente Android® Modelagem virtual Falar o que é o pregobol/futprego tradicional Seus objetivos Suas regras (um toque só) os jogadores definem número de gols ou tempo Falar da motivação que não tem pra android, so pra ios Falar um pouco sobre a proposta da solução, que vai ser a modelagem virtual disso
Proposta de solução FutPrego Como? Adaptação do Pregobol para o meio virtual Diferencial Smartphones Android® Google Play - $0,99 Como? Definir equipe de projeto Papéis Tempo Etapas (ciclo): Elicitação Análise Validação Negociação Documentação Gerenciamento Contato constante com o cliente!
Requisitos Requisitos funcionais Exemplos: Ilustrados nos casos de uso Funcionalidades que o sistema deve oferecer Identificador único e prioridades Redução de 17 para 15 (após as revisões) Exemplos: RF001 – Visualizar tela principal RF002 – Escolher número de jogadores RF005 – Definir configurações RF006 – Disparar bola RF012 – Iniciar o jogo RF015 – Visualizar placar final Ilustrados nos casos de uso
Requisitos Requisitos não funcionais Restrições do sistema Exigências do cliente: Usabilidade Confiança Performance Suporte Sistema operacional Influenciam nas decisões arquiteturais
Casos de uso Casos de uso permitem entender o cenário com instâncias de situações nas quais s solução proposta pode ser utilizada Casos de uso básicos UC01 – Ajuda UC02 – Iniciar partida UC03 – Tela inicial UC04 – 1 jogador UC05 – 2 jogadores Alguns diagramas
Casos de uso UC03 – Tela inicial
Casos de uso UC04 – 1 jogador
Casos de uso – UC05 UC05 – 2 jogadores
Casos de uso UC02 – Iniciar partida
Decisões arquiteturais Como os requisitos funcionais serão atendidos na arquitetura? RF002 – Escolher número de jogadores UC04 UC05 RF012 – Iniciar partida UC02 RF006 – Disparar bola
Decisões arquiteturais Desenvolver arquitetura independente de tecnologia Baseada em projeto de arquitetura modular Cada componente é independente dos demais, mas também pode usar as funcionalidades dos demais Módulo para gerenciar conexões Bluetooth Componente de terceiro para tratar a física do jogo Necessidade de um agente inteligente para IA Tempo de resposta
Projeto arquitetural - Visões Visão lógica Pacotes significativos do ponto de vista da arquitetura
Projeto arquitetural - Visões Visão de implementação Camadas Visão de implantação Requisitos mínimos
Diagrama de Classes
Diagrama de Classes
Diagrama de Classes
Padrões de projeto Singleton Uma instância de uma dada classe em toda a execução Reduz consumo de memória e centraliza a utilização da classe em torno de um objeto
Protótipo OBTER AJUDA
Protótipo OBTER AJUDA
Protótipo
Universidade Federal da Paraíba Métodos de Projeto de Software 2012.1 futprego Especificação de requisitos e projeto arquitetural Arnaldo Gualberto (Gerente) 10921064 - arnaldo.g12@gmail.com Ítalo Albuquerque (Analista) 10921376 - italoalbu@gmail.com José Ivan (Arquiteto) 10911040 - joseivan@lavid.ufpb.br Raul Fernandes (Testador) 10921069 - raulfelipe2@gmail.com Sarah Soares (Analista) 10911075 - sarahssoares@gmail.com Teobaldo Júnior (Arquiteto) 11011050 - teojuniorpb@gmail.com Yuri Dantas (Desenvolvedor) 10921071 - ygd@lavid.ufpb.br