Fase de Concepção (Início, Planejamento)
Objetivos Conhecer a empresa Levantar requisitos Organizar requisitos Casos de Uso Manutenção de Entidades Consultas / Relatórios Esboçar o modelo conceitual do sistema Planejar o desenvolvimento Iterações Cronograma Recursos
Conhecimento da Empresa O que a empresa quer com o projeto? Por que ele está sendo proposto? Por que a empresa vai gastar dinheiro com o projeto? O projeto é realizável? A equipe de desenvolvimento tem condições de realizar este projeto? Em caso de uma empresa produtora de software para clientes externos:O cliente tem dinheiro para pagar o desenvolvimento? Há tempo disponível? Comprar ou desenvolver?
Conhecimento da Empresa (2) Se as respostas são positivas, o passo seguinte é elaborar o sumário executivo do projeto Primeiro artefato
Artefatos Sumário Executivo Documento de Requisitos Casos de Uso Modelo Conceitual
Sumário Executivo
Sumário Executivo É um documento de 3 páginas, no máximo, que responde às seguintes perguntas O quê? [Onde?] Por quê? Como? Também chamado de Visão Geral do Sistema Estudo de Caso: sistema de locação de vídeo
Sumário Executivo documento de texto em formato livre
Documento de Requisitos
Levantamento de Requisitos Entrevistas Análise de Documentos Estudo Bibliográfico Comparativo
Requisitos Requisitos funcionais correspondem à listagem de todas as coisas que o sistema deve fazer para bem gerir o negócio do usuário Requisitos não funcionais são restrições que se colocam sobre como o sistema deve realizar seus requisitos funcionais
Requisitos Funcionais Requisitos funcionais evidentes são efetuados com conhecimento do usuário Requisitos funcionais ocultos são efetuados pelo sistema sem o conhecimento explícito do usuário
Requisitos Não Funcionais Obrigatórios Desejáveis
Requisitos Não Funcionais de interface de implementação de eficiência de tolerância a falhas de segurança de compatibilidade etc
Requisitos Não Funcionais Associados a requisitos funcionais Suplementares
Requisitos Não Funcionais Permanentes Transitórios
Requisitos Funcionais Código do requisito funcional (Ex.: F1, F2, F3, ...) Nome do requisito funcional (especificação curta) Descrição (especificação longa, ou detalhamento do requisito) Categoria funcional: evidente ou oculto
Requisitos Não Funcionais Código de requisito não funcional associado (Ex.: NF1.1, NF1.2, ... NF2.1, NF2.2, ...) Nome do requisito não funcional (especificação curta) Restrição (Categoria): especificação (longa) do requisito não funcional, por tipo de restrição Obrigatoriedade: se o requisito é desejável ou obrigatório Permanência: se o requisito é permanente ou transitório
Requisitos Não Funcionais (2) Suplementares S<índice i >
Requisitos Funcionais e Não Funcionais Associados
Requisitos Suplementares
Desafios da Análise de Requisitos Como descobrir os requisitos Como comunicar os requisitos para as outras fases e as equipes do projeto Como lembrar dos requisitos durante o desenvolvimento e verificar se foram todos atendidos Como gerenciar a mudança
Organização dos Requisitos Casos de Uso Manutenção de Conceitos (Entidades) Consultas/Relatórios
Casos de Uso
Caso de Uso Um cenário de interação usuário-sistema Ordenação de um subconjunto de requisitos funcionais, e seus requisitos não-funcionais associados, relacionado com o caso de uso Pouco detalhado na fase de concepção Bastante detalhado na fase de elaboração (refinamento de casos de uso) Dado um requisito funcional, ele deve aparecer em pelo menos um caso de uso Critério de validação de requisitos funcionais
Organizando Requisitos em Casos de Uso
Diagrama de Casos de Uso UML
Diagrama de Caso de Uso Em geral, na fase de concepção, um caso de uso não é decomposto Decomposição é detalhamento (fase de elaboração) Atores primários e secundários Funcionário: primário Cliente: secundário
Granulosidade de um Caso de Uso Um caso de uso deve ser uma unidade lógica de trabalho Critérios de tamanho de um caso de uso [Larman] De 3 a 10 passos Duração de minutos a 1 hora Um caso de uso deve ser interativo, com informações fluindo para dentro e para fora do sistema Um caso de uso deve produzir uma alteração consistente na informação armazenada Uma seqüência de consultas puras ao sistema não caracteriza um caso de uso
Granulosidade de um Caso de Uso Algumas operações relativamente simples e elementares (de um único passo), como o registro de uma fita, ou de um pagamento, não devem ser consideradas como casos de uso por si só (um único passo)
Modelo Conceitual Preliminar
Modelo Conceitual A entrada para o modelo conceitual são os casos de uso Cada conceito ou entidade, assim como seus relacionamentos, deve aparecer direta ou indiretamente nas descrições dos casos de uso
Modelo Conceitual Preliminar
Modelo Conceitual Note que o modelo está incompleto Faltando contemplar o caso de uso Devolver Fitas
Manutenção de Conceitos ou Entidades
Cada conceito normalmente tem associadas operações de: inserção (I) alteração (A) exclusão (E) consulta (C)
Manutenção
Consultas / Relatórios
Organização de Requisitos em Consultas
Planejamento das Iterações
Planejamento do Desenvolvimento Alocar o desenvolvimento em ciclos iterativos de mesma duração Estimativa de Esforço
Estabelecendo Prioridades Casos de Uso Críticos Casos de Uso de Apoio Manutenção de Conceitos Consultas
Planejamento dos Ciclos Iterativos (Fase de Elaboração)
Cronograma de Execução Considerar Tempo total estimado para o projeto (em hora/pessoa) Tempo disponível (em semanas ou meses) Tamanho da equipe Estruturação da equipe
Planejamento com 4 equipes
Planejamento com 2 equipes
Observações Note que, associando requisitos não-funcionais a requisitos funcionais, a maior parte dos requisitos não-funcionais é implementada na fase de elaboração Fase de construção: requisitos suplementares Note também que, trabalhando com várias equipes, somente as atividades de implementação-testes são seqüênciais Atividades de análise-projeto podem ocorrer em paralelo
Projeto do Curso
Projeto Fase Início (Concepção, Planejamento) Documento constando de: Sumário Executivo Requisitos Funcionais e (Não-funcionais Associados) Requisitos suplementares Casos de uso Modelo Conceitual Manutenção de Entidades Consultas / Relatórios Planejamento das Iterações Prazo de entrega: 05/09