Softbom Software do Corpo de Bombeiros Equipe: André Diniz Gabriel Moreira Igor Medeiros Marcello Valença Tiago Mendonça Agenda Motivação Descrição e Contexto Plano de Projeto Cronograma Riscos Requisitos Casos de Uso Arquitetura Testes Motivação Prover uma solução que facilite o gerenciamento interno de unidades do Corpo de Bombeiros de forma eficiente Colocar em prática os conhecimentos adquiridos na disciplina SGCP Descrição e Contexto Consistência Desenvolvimento de um sistema para unidades do corpo de bombeiros Foco Um software para gerenciar o fluxo e andamento de atividades de um batalhão do corpo de bombeiros Objetivos Prover funções no âmbito de administração interna, operacional e à infra-estrutura de funcionamento Plano de Projeto Recursos Humanos MEMBRO Gabriel Moreira FUNÇÃO Gerente de projetos e desenvolvedor Marcello Cysneiros Landim Arquiteto de software André Diniz de Moraes Analista de sistema e Igor Rafael Guimarães Medeiros Analista de sistema e Tiago Mendonça e desenvolvedor desenvolvedor desenvolvedor Analista de sistema e desenvolvedor Recursos de Hardware Computadores do CIn Computadores pessoais de cada membro da equipe. Recursos de Software Eclipse GanyMed - IDE de Java Java SE Development kit (JDK) - Biblioteca de Java Oracle - Banco de Dados Relacional SQL OpenProj - Utilizado para acompanhar o projeto JUDE - Ferramenta UML JUnit - Para a realização de testes Br Modelo - Para a modelagem do Banco de Dados Assembla.com - Portal de controle de Versões Google Docs Microsoft Word Escopo do Sistema • Manipulação e Visualização dos membros das unidades e suas informações • Registro dos Envolvidos nas Ocorrências •Bombeiros •Vítimas • Um sistema de ocorrências público que a população tenha acesso Planejamento do Projeto • Por onde começar? • Visitar o corpo de bombeiros • Atores do sistema • Funcionalidades básicas • Como se organizar? • Modularizar as tarefas • Permitir visão geral do sistema • Trabalho interativo/incremental Metodologia RUP ◦ Validação de requisitos a cada iteração Fases do Plano Concepção Detalhamento Execução Testes Cronograma Riscos Riscos Classificação do Risco Impacto e Descrição do Risco Estratégia de Diminuição e/ou Plano de Contingência •Garantir Alta Imperícia com tecnologias utilizadas tempo necessário ao estudo das tecnologias •Em último caso, tentar uma migração para uma tecnologia diferente •Caso o gerente seja o ausente, recomposição na hierarquia Médio Alta Indisponibilidade imprevista de •Composição de horas extras ou alguns dos desenvolvedores. alocação de finais de semana para garantir o cumprimento dos prazos. Atrasos no cronograma •Horas extras ou alocação de finais de semana para garantir o cumprimento dos prazos. Riscos Classificação do Risco Impacto e Descrição do Estratégia de Diminuição Risco e/ou Plano de Contingência Alta Erros nas estimativas de custos Alta Mudança nos requisitos Discutir possível aumento de preço com cliente Alocação de horas extra. Requisitos Requisitos Funcionais Administrador Requisitos Funcionais Atendente Requisitos Funcionais Bombeiro Comum Casos de Uso Exemplo – Visualização de Informações dos Bombeiros RF-06 Nome: Visualização de informações dos Bombeiros Descrição: O sistema deverá mostrar as informações do Bombeiro escolhido pelo ator. Atores: Administrador e Bombeiro Comum. Prioridade: Essencial Requisitos Não Funcionais Associados: RNF-01 RNF-02 RNF-03 RNF-05 RNF-07 RNF-08 RNF-09 Entradas e pré-condições: Nome/Matrícula do Bombeiro Procurado Efetuar login no sistema. Selecionar/Buscar o Bombeiro a ser visualizado. Saídas e pós-condições: Dados do Bombeiro Comum procurado (Nome, Matricula, Situação, Patente) Fluxos de eventos Fluxo principal: O ator efetua o login no sistema. O ator consulta o Bombeiro no sistema. O sistema mostra as informações (Nome, Matricula, Situação, Patente) do Bombeiro encontrado. Fluxo secundário: Caso, após o segundo passo, não haja resultados, será exibida uma mensagem de aviso. O sistema voltará para a opção de consulta de Bombeiros. Diagrama de Sequência Diagrama de Classes Arquitetura do Sistema Diagrama de Pacotes MVC (Model-View-Controller) Visão Controle Modelo Distribuição das Classes nos Pacotes Distribuição das Classes nos Pacotes Plano de Testes Tipos de Teste Teste da interface do usuário Teste de integridade de dados e do banco de dados Teste de performance Teste de Carga Teste de segurança e controle de acesso Exemplo – Caso de Teste Exemplo - Procedimento de Teste Prático OBRIGADO!