PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Prof. Fabiano Papaiz IFRN
Um Processo de Desenvolvimento de Software, ou simplesmente Processo de Software, é um conjunto de atividades realizadas por pessoas cujo objetivo é desenvolvimento ou evolução de um software. As atividades genéricas deste processo são: 1. Especificação (ou Engenharia de Requisitos) 2. Desenvolvimento (ou Construção, Implementação) 3. Validação 4. Evolução
1-ESPECIFICAÇÃO
1. Atividade: Especificação: Essa atividade tem o objetivo de estabelecer quais funcionalidades serão requeridas pelo software É uma atividade muito importante porque qualquer erro na especificação irá produzir problemas nas atividades seguintes O artefato mais importante desta atividade é a Documentação dos Requisitos
1. Atividade: Especificação: As fases dessa atividade são: Estudo de Viabilidade Levantamento e Análise de Requisitos Especificação de Requisitos Validação de Requisitos
1. Atividade: Especificação: Fase-1: Estudo de Viabilidade É verificado se as necessidades dos usuários podem ser satisfeitas através de um software É analisado se o sistema proposto é viável economicamente O ideal é que seja é um estudo rápido e barato Como resultado (artefato) dessa fase, é gerado um documento com a decisão de prosseguir ou não com o desenvolvimento do software
1. Atividade: Especificação: Fase-2: Levantamento e Análise de Requisitos Seu objetivo é identificar os requisitos do software a ser desenvolvido Artefatos: pode envolver a criação de protótipos ou modelos para auxiliar os analistas na compreensão do software
1. Atividade: Especificação: Fase-3: Especificação de Requisitos Seu objetivo é detalhar os requisitos coletados gerando um artefato contendo o conjunto de requisitos do software
1. Atividade: Especificação: Fase-4: Validação de Requisitos Verifica-se a consistência dos requisitos obtidos Os erros encontrados são corrigidos Artefato: Documentação de Requisitos
1. Atividade: Especificação:
2-DESENVOLVIMENTO
2. Atividade: Desenvolvimento As fases dessa atividade são: Projeto de Arquitetura Os subsistemas que constituem o software e suas relações são identificados e documentados Especificação Abstrata Para cada subsistema é produzida uma especificação abstrata de suas funções e restrições Projeto de Interface Para cada subsistema, sua interface com outros subsistemas é projetada e documentada. Aqui Interface se refere à forma como o subsistema trocará informações com os demais subsistemas
2. Atividade: Desenvolvimento As fases dessa atividade são: (continuação) Projeto de Componentes As funcionalidades são moduladas em diferentes componentes e as interfaces destes componentes são projetadas Projeto de Estrutura de Dados Projeta-se e documenta-se as estruturas de dados que serão utilizadas na implementação do software (como BD) Projeto de Algoritmos O código fonte do software é projetado, construído e documentado
2. Atividade: Desenvolvimento
3-VALIDAÇÃO
3. Atividade: Validação As fases dessa atividade são: Teste de Unidade Os componentes são testados individualmente para garantir que funcionam corretamente Teste de Módulo Um conjunto de componentes dependentes são testados Teste de Subsistema Engloba os testes de um conjunto de módulos
3. Atividade: Validação As fases dessa atividade são: (continuação) Teste de Sistema Os subsistemas são integrados para constituírem o software final e são realizados testes para encontrar possíveis erros oriundos desta integração São validados também os requisitos funcionais do software Teste de Aceitação É o teste final antes do software ser colocado para uso operacional ( em produção ) O Software é testado com dados reais fornecidos pelos usuários
3. Atividade: Validação
3. Atividade: Validação
4-EVOLUÇÃO
4. Atividade: Evolução Também conhecida como Manutenção do Software Após um software ser colocado em produção, dificilmente ele não precisará ser modificado (evoluído) no futuro Esta atividade tem o objetivo de planejar, controlar e desenvolver as modificações necessárias em um software existente, seja através da alteração de um de seus módulos ou da criação de novos módulos
4. Atividade: Evolução
FIM