engenharia de software
Disclaimer: Este material é meramente um RASCUNHO, que NÃO FOI REVISADO. Use por sua própria conta e risco.
Raul Sidnei Wazlawick raul@inf.ufsc.br Índice
1 Introdução 6
1.1 Desenvolvimento de Sistemas Orientados a Objetos 6
1.2 Linguagem de Modelagem Unificada - UML 7
1.3 Software Elegante e Deselegante 7
1.4 Análise 8
1.5 Projeto 9
1.6 Implementação e Testes 9
1.7 Processo Unificado de Desenvolvimento de Software 9
1.7.1 Análise de Requisitos 10
1.7.2 Análise de Domínio 11
1.7.3 Projeto 11
1.8 Processo Ágil ou Pesado 14
1.9 Resumo 14
1.10 Exercícios 14
2 Concepção 15
2.1 Levantamento de Requisitos 16
2.1.1 Visão Geral do Sistema 18
2.1.2 Requisitos 19
2.2 Organização dos Requisitos 24
2.2.1 Organizando Requisitos em Casos de Uso 24
2.2.2 Organização dos Requisitos em Função de Conceitos 25
2.2.3 Organização dos Requisitos em Consultas 27
2.3 Planejamento dos Ciclos Iterativos 28
2.3.1 Estimação de Esforço 28
2.3.2 Priorizando os Elementos a Abordar 29
2.3.3 Cronograma de Execução e Custos 30
2.3.4 Planejamento Adaptativo e Registro de Pendências 31
2.3.5 Ciclos Iterativos, Subsistemas e Refinamentos Sucessivos 32
2.3.6 Casos de Uso e Ciclos Iterativos 32
2.4 Resumo 33
2.5 Exercícios 33
3 Expansão dos Casos de Uso 34
3.1 Níveis de Detalhamento de um Caso de Uso 35
3.2 Exceções e Fluxos Alternativos 37
3.3 Variantes do Fluxo Principal 39
3.4 O que Deve Constar nos Passos de um Caso de Uso 42
3.4.1 Passos Obrigatórios 43
3.4.2 Passos Complementares 45
3.4.3 Passos Não-Recomendados 45
3.5 Cenários e Casos de Uso 46
3.6 Consultas no Caso de Uso 47
3.7 Descrição Essencial ou Real 48
3.8 Outras Seções de um Caso de Uso Expandido 49
3.8.1 Atores 49
3.8.2 Interessados 50
3.8.3 Pré-condições 50
3.8.4 Pós-Condições de Sucesso 51
3.8.5 Requisitos Correlacionados 51
3.8.6 Variações Tecnológicas 51