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 Foco Objetivos 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 FUNÇÃO Gerente de projetos e desenvolvedor Gabriel Moreira Gerente de projetos e desenvolvedor Marcello Cysneiros Landim Arquiteto de software e desenvolvedor André Diniz de Moraes Analista de sistema e desenvolvedor Igor Rafael Guimarães Medeiros Tiago Mendonça
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 Alta Imperícia com tecnologias utilizadas Garantir tempo necessário ao estudo das tecnologias Em último caso, tentar uma migração para uma tecnologia diferente Médio Indisponibilidade imprevista de alguns dos desenvolvedores. Caso o gerente seja o ausente, recomposição na hierarquia Composição de horas extras ou 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 Risco Estratégia de Diminuição e/ou Plano de Contingência Alta Erros nas estimativas de custos Discutir possível aumento de preço com cliente Mudança nos requisitos 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!