A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Processos de SW: ciclo de vida, processos, modelos Professor: Rômulo César FACULDADE DOS GUARARAPES.

Apresentações semelhantes


Apresentação em tema: "Processos de SW: ciclo de vida, processos, modelos Professor: Rômulo César FACULDADE DOS GUARARAPES."— Transcrição da apresentação:

1 Processos de SW: ciclo de vida, processos, modelos Professor: Rômulo César FACULDADE DOS GUARARAPES

2 Processo do Software l Grupo de atividades coerentes para especificação, projeto, implementação e teste de sistemas de software.

3 Objetivos l Introduzir os processos de modelagem de software l Descrever alguns modelos de processos e quando eles devem ser usados l Descrever em linhas gerais o processo modelo para os requisitos de engenharia, de desenvolvimento de softare, seu teste e evolução l Indroduzir a tecnologia CASE para o auxílio dos processos de software

4 Tópicos cobertos l Modelos do processo de software l Iteração entre os processos l Especificação de software l Projeto e implementação de software l Validação do software l Evolução do software l Processos automatizados de desenvolvimento

5 O processo do software l Um conjunto estruturado de atividades necessárias para desenvolver um sistema de software Especificação Projeto Validação Evolução l Um modelo de processo de software é uma representação abstrata do processo. Ela apresenta uma descrição do processo de algumas perspectivas particulares

6 Modelos genéricos de processos de software l O modelo cascata (waterfall) Fases separadas e distintas de especificação e desenvolvimento l Desenvolvimento evolucionário (ou prototipação) Especificação e desenvolvimento são intercalados l Modelo de sistema formal Um modelo de sistema matemático é formalmente transformado numa implementação l Desenvolvimento baseado em reuso O sistema é construído a partir de componentes existentes

7 Modelo Cascata Sistemático e seqüencial

8 Cascata- Fases do Modelo l Análise de requisitos e definições l Projeto do sistema e do software l Implementação e teste de unidades l Integração e testes do sistema l Manutenção e operação l Uma deficiência do modelo cascata é a dificuldade em acomodar mudanças depois que o processo se inicia.

9 Análise e Engenharia de Sistemas l Estabelecer os requisitos básicos para todos os sistemas que envolvem o software, como hardware, pessoas e bancos de dados. l Envolve a coleta dos requisitos em nível do sistema, com uma pequena quantidade de projeto e análise de alto nível.

10 Analise de Requisitos de Sw l Concentra a coleta de requisitos no sw. l Leva à compreensão do domínio da informação, a função, desempenho e interfaces exigidos. l Os requisitos para o sistema e para o sw são documentados e revistos com o cliente.

11 Projeto l Estrutura de dados l Arquitetura de sw l Detalhes procedimentais l Caracterização da interface l É avaliado antes de começar a ser implementado l Junto com as etapas anteriores torna-se parte da documentação do sistema

12 Codificação l Projeto traduzido para a linguagem do computador. l Se o projeto for executado detalhadamente, a codificação pode ser executada mecanicamente?

13 Testes l Concentra-se nos aspectos lógicos internos do sw. l Garante que todas as instruções tenham sido testadas. l A entrada definida produz os resultados exigidos? l Garbage in, garbage out?

14 Manutenção l Sw embutido nem sempre tem esta parte. l Erros encontrados. l Mudanças no ambiente externo. l Acréscimos funcionais. l Desempenho

15 Problemas com a Cascata l O mais antigo e amplamente usado. l Projetos reais raramente seguem o fluxo seqüencial que ele propõe. Ocorrem iterações que trazem problemas na aplicação do paradigma. l É difícil para o cliente declarar todas as exigências explicitamente. É difícil acomodar as incertezas naturais que existem no começo de muitos projetos. l O cliente deve ter paciência. Uma versão do sw só estará disponível em um ponto tardio do cronograma. Um erro crasso, pode ser desastroso. l Só é apropriado quando os requisitos são bem conhecidos.

16 Desenvolvimento evolucionário l Desenvolvimento exploratório O objetivo é trabalhar com o cliente e desenvolver um sistema final a partir das especificações iniciais. Deve iniciar com requisitos bem compreendidos. l Jogar fora a prototipação O objetivo é entender os requisitos do sistema. Deve iniciar com requisitos pouco compreendidos.

17 Desenvolvimento evolucionário

18 Prototipação Coleta e refinamento dos requisitos Refinamento do protótipo Engenharia do produto Avaliação do protótipo pelo cliente Construção do protótipo Projeto rápido Fim Início

19 Desenvolvimento evolucionário l Problemas Falta de visibilidade sobre o processo. Sistema geralmente pouco estruturado. Habilidades especiais (ex. em linguagens para uma rápida prototipação) são requeridas. l Aplicabilidade Para sistemas interativos pequenos ou médios. Para partes de de grandes sistemas (ex. A interface com o usuário). Para sistemas com pouco tempo de vida.

20 Modelo de desenvolvimento formal l Baseado na transformação de uma especificação matemática através de diferentes representações em um programa executável. l As transformações preservam a corretude das especificações, sendo fácil demonstrar que que o programa segue estas últimas. l Baseado na abordagem Cleanroom para o desenvolvimento de software.

21 Modelo de desenvolvimento formal

22 Desenvolvimento formal l Problemas São necessárias habilidades especiais e treinamento para aplicar a técnica. Dificuldade para formalizar especificamente alguns aspectos do sistema, como a interface com o usuário. l Aplicabilidade Sistemas críticos, especialmente aqueles em que uma versão segura deve ser feita antes do sistema entrar em operação.

23 Desenvolvimento orientado a reutilização l Baseado na sistemática do reuse, onde os sistemas são integrados a partir de componentes existentes ou sistemas (Software de Pratileiras) l Estágios do processo Análise dos componentes Modificação dos requisitos Projeto do sistema com reutilização Desenvolvimento e integração l Esta abordagem está se tornando mais importante, porém ainda há pouca experiência com ela.

24 Reuse-oriented development

25 Processo de iteração l Os requisitos do sistema sempre evoluem ao longo do projeto, então o processo de iteração dos estágios anteriores é retrabalhado e vira parte do processo para grandes sistemas. l Iteração pode ser aplicada a qualquer modelo genérico de ciclo de vida. l Duas abordagens semelhantes: Desenvolvimento incremental Desenvolvimento espiral

26 Desenvolvimento incremental l Ao invés de entreagar o sistema uma única vez, o desenvolvimento e a entrega são partidos em incrementos, que fornecem parte das funcionalidades requeridas. l Os requisitos do usuários são dispostos hierarquicamente, e os requisitos de prioridades mais altas são incluídos nas primeiras entregas. l Quando o desenvolvimento de um incremento é iniciado, os requisitos são congelados de forma que os requisitos para incrementos posteriores possam continuar a evoluir.

27 Incremental development

28 Vantagens do desenvolvimento incremental l Valor ao cliente tende a ser entregue a cada incremento, então a funcionalidade dos sistema tende a ser avaliada mais cedo. l Os primeiros incrementos funcionam como um protótipo para ajudar a esclarecer os requisitos para os próximos incrementos. l Baixo risco de o projeto falhar completamente. l As tarefas de mais alta prioridade, tendem a receber mais testes.

29 Extreme programming (XP) l Nova abordagem de desenvolvimento baseada no desenvolvimento e entrega de pequenos incrementos de funcionalidade. l Funciona com melhorias contínuas no código, envolvimento do usuário no time de desenvolvimento e programação em pares. l Os testes aparecem antes da codificação.

30 Desenvolvimento em espiral l O Processo é representado como um espiral ao invés de uma sequência de atividades com voltas para trás. Cada volta no espiral representa uma fase no processo. l Não há fases fixas como especificação ou projeto. As voltas no espiral são escolhidas dependendo do que é requisitado l Os riscos são explicitamente avaliados e resolvidos durante todo o processo

31 Spiral model of the software process

32 Setores do modelo espiral l Definição dos objetivos Os objetivos específicos para a fase são identificados. l Avaliação e redução de riscos Os riscos são avaliados e as atividades organizadas para reduzir os riscos chave. l Desenvolvimento e validação Um modelo de desenvolvimento para o sistema é escolhido, que pode ser qualquer um dos modelos genéricos. l Planejamento O projeto é revisto e a próxima fase da espiral é planejada.

33 Resumo em Equipe l Processo de Software; l O modelo cascata; - Análise e Engenharia de Sistemas - Analise de Requisitos de Sw - Projeto -Codificação -Testes - Manutenção l Desenvolvimento evolucionário; l Desenvolvimento em espiral.


Carregar ppt "Processos de SW: ciclo de vida, processos, modelos Professor: Rômulo César FACULDADE DOS GUARARAPES."

Apresentações semelhantes


Anúncios Google