Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* * * Modelos de Processo de Software * * * Modelos de Processo de Softwares É uma representação abstrata de um processo de software. Cada modelo representa um processo a partir de uma perspectiva particular. Não são descrições definitivas de processo de software, mas sim abstrações úteis, que podem ser usadas para explicar diferentes abordagens de desenvolvimento de software. * * * Modelos de Processo de Softwares Modelo em Cascata; Desenvolvimento Evolucionário ou Prototipado; Desenvolvimento Formal de Sistemas; Desenvolvimento Orientado a Reuso; * * * O Modelo em “Cascata” Primeiro modelo publicado do processo de desenvolvimento de software; Originou-se de outros processos de engenharia; Retrata um desenvolvimento gradual e possui seqüência de passos em ordem que devem ser seguidos. * * * O Modelo em “Cascata” * * * O Modelo em “Cascata” Principais estágios: Análise e Definição de Requisitos: as funções, as restrições e os objetivos do sistema sõ estabelecidos por meio de consulta aos usuários do sistema. Em seguida, são definidos em detalhes e servem como uma especificação do sistema. * * * O Modelo em “Cascata” Principais estágios: Projeto de Sistemas e Software: o processo de projeto de sistemas agrupa os requisitos em sistemas de hardware e software. Envolve a identificação e a descrição das abstrações fundamentais do sistema de software e suas relações. * * * O Modelo em “Cascata” Principais estágios: Implementação e Testes de Unidade: Durante este estágio, o projeto do software é compreendido como um conjunto de programas ou unidades de programa. O teste de unidade envolve verificar se cada uma das unidades atendem à sua especificação. * * * O Modelo em “Cascata” Principais estágios: Integração e Teste de sistemas: as unidades de programa ou programas individuais são integrados e testados como um sistema completo a fim de garantir que os requisitos de software foram atendidos. Depois do teste, o software é entregue ao cliente. * * * O Modelo em “Cascata” Principais estágios: Operação e manutenção: O sistema é instalado e colocado em operação. Envolve corrigir erros que não foram descobertos em estágios anteriores, melhorando a implemen-tação e descobrindo novos requisitos * * * O Modelo em “Cascata” Cada fase resulta em um ou mais documentos que deve ser aprovado; Existe uma conseqüência nas fases; As vezes o processo atrasa e necessita de uma suspensão dos requisitos; Demandam requisitos bem especificados; Recomendado para projetos maiores de sistemas. * * * Desenvolvimento Evolucionário Tem com base a idéia de desenvolver uma implementação inicial, expor o resultado ao comentário do usuário e fazer seu aprimoramento por meio de muitas versões, até que tenha sido desenvolvido; A especificação, desenvolvimento e validação são executados concorrentemente para gerar um retorno rápido; * * * Desenvolvimento Evolucionário * * * Desenvolvimento Evolucionário Pode ser: Exploratório: tem como objetivo trabalhar com o cliente a fim de explorar seus requisitos e entregar um sistema final. São feitas partes inicias e acrescentadas novas de acordo com o desenvolvimento. Protótipos descartáveis: tenta compreender os melhor os requisitos a partir de protótipos e então desenvolver uma especificação de requisitos completa. * * * Desenvolvimento Evolucionário Problemas: O processo não é visível: como o sistema é desenvolvido rapidamente, não há tempo de documentar as versões; Os sistemas são mal-estruturados: mudanças constantes podem corromper a estrutura do software; Requer ferramentas e técnicas especiais: que nem sempre são disponíveis ou são aplicáveis ao caso. * * * Desenvolvimento Formal de Sistemas É uma abordagem do desenvolvimento de software que tem algo em comum com o modelo em cascata, mas cujo o processo de desenvolvimento se baseia na transformação matemática formal de uma especificação do sistema em um programa executável. * * * Desenvolvimento Formal de Sistemas Difere do Modelo em Cascata: A especificação de requisitos de software é redefinida em uma especificação formal detalhada, que é expressa em notação matemática; O processo de desenvolvimento de projeto, implementação e teste de unidade são substituídos por um processo de desenvolvimento transformacional, em que a especificação é refinada, por meio de uma série de transformações, em um programa. * * * Desenvolvimento Formal de Sistemas * * * Desenvolvimento Formal de Sistemas Essa abordagem é particularmente adequada ao desenvolvimento de sistemas que tenham rigorosas exigências de segurança, confiabilidade e garantia. No entanto, para a maioria dos sistemas não há um ganho significativo de custo ou qualidade. Necessita de perícia especializada. * * * Desenvolvimento Orientado a Reuso O reuso é comum no projeto. Mas a engenharia de software formaliza o reuso com uma ampla base de componentes reutilizáveis e com alguma infra-estrutura de integração para estes componentes; Acelera a produção de resultados, especialmente em prototipagens. * * * Desenvolvimento Orientado a Reuso * * * Desenvolvimento Orientado a Reuso Análise de componentes: considerando a especificação dos requisitos, é feita uma busca de componentes para implementar essa especificação; Modificação dos requisitos: adequação dos requisitos aos componentes encontrados. Se não puderem ser alterados, repete-se a análise; * * * Desenvolvimento Orientado a Reuso Projeto de sistema com reuso: é desenvolvida uma infra-estrutura ou reutilizada uma preexistente. Organizam os componentes que serão utilizados e projetam o que faltam; Desenvolvimento e integração: os componentes faltantes serão desenvolvidos e todos integrados a fim de criar um sistema. * * * Desenvolvimento Orientado a Reuso Reduz a quantidade de software a ser desenvolvido e, conseqüentemente, diminui custos e riscos; Acelera a entrega do software; Os requisitos podem se perder durante a adaptação; Pode se perder o controle da versão dos componentes utilizados no sistema.
Compartilhar