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

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

Técnicas e Projeto de Sistemas

Apresentações semelhantes


Apresentação em tema: "Técnicas e Projeto de Sistemas"— Transcrição da apresentação:

1 Técnicas e Projeto de Sistemas
Técnico Subsequente Técnicas e Projeto de Sistemas – Técnico Subsequente

2 Técnicas e Projeto de Sistemas – Técnico Subsequente
Roteiro Tema: Processo de Desenvolvimento de Software. Engenharia de Software; Processo de Desenvolvimento de Software; Ciclos de Desenvolvimento de Software; Técnicas e Projeto de Sistemas – Técnico Subsequente

3 Relembrando: Software Definição de Engenharia de Software:

4 Engenharia de Software
Aplicação da disciplina de técnicas no desenvolvimento e manutenção de software. Produto de Software Contexto (Problema) E.S. Técnicas e Projeto de Sistemas – Técnico Subsequente

5 Introdução à Engenharia de Software
A Engenharia de Software objetiva: Prover métodos (“como fazer”), ferramentas e procedimentos (sequência em que os métodos serão aplicados) para o desenvolvimento de software de maneira que ele atinja seus objetivos. Técnicas e Projeto de Sistemas – Técnico Subsequente

6 Engenharia de Software
Um software deve, de forma geral, atender os seguintes objetivos: Funcionalidade; Custo; Tempo; Desempenho; Padrões; Leis; Atender as partes interessadas (stakeholders). Técnicas e Projeto de Sistemas – Técnico Subsequente

7 Engenharia de Software
Mas como posso atingir todos esses objetivos??? Técnicas e Projeto de Sistemas – Técnico Subsequente

8 Engenharia de Software
Seguindo um processo de desenvolvimento de software!! Técnicas e Projeto de Sistemas – Técnico Subsequente

9 Processo de Desenvolvimento de Software
É uma sequência de passos que devem ser seguidos para se atingir determinado objetivo. Processo de desenvolvimento de software: Objetiva a construção de um software; Sub processos: Requisitos, análise, desenho, implementação e teste.

10 ETAPAS DO PROCESSO DE DESENVOLVIMENTO DO SOFTWARE

11 Processo de Desenvolvimento de Software
O ponto de partida então é seguir um ciclo de vida: É uma interação entre os processos; descreve as fases que o software vai passar; Baseado em: Complexidade; Risco; Tamanho da equipe; Necessidade do cliente. Técnicas e Projeto de Sistemas – Técnico Subsequente

12 Técnicas e Projeto de Sistemas – Técnico Subsequente
Principais modelos de ciclo de vida do software: Codifica-remenda; Cascata; Prototipagem evolutiva Incremental; Espiral; Entrega evolutiva; Técnicas e Projeto de Sistemas – Técnico Subsequente

13 Ciclos de Vida de Software
Codifica-remenda: Partindo de uma especificação incompleta Alto risco; Impossível de gerenciar; Não permite assumir compromissos confiáveis Especificação??? Produto Técnicas e Projeto de Sistemas – Técnico Subsequente

14 Codifica-remenda Produto Partindo de uma especificação incompleta, ou mesmo ausente, inicia-se a codificação do software, que por sua vez tende a gerar “algo”. Esse “algo gerado”, na grande maioria das vezes não é o que o cliente deseja, mas vai sendo alterado e consertado até que o produto atinja um estágio que permita seu uso. Nenhum processo é seguido nessa iteração.

15 Clássico ou Cascata: Foi o primeiro modelo a ser conhecido em engenharia de software e está na base de muitos ciclos de vida utilizados nos dias de hoje. Cada passo deve ser completado antes que o próximo passo possa ser iniciado. Mais utilizados em situações nos quais os requisitos são fixos.

16 Ciclos de Vida de Software
Clássico ou Cascata: início Requisitos Análise Desenho Implementação Teste Final Técnicas e Projeto de Sistemas – Técnico Subsequente

17 Clássico ou Cascata (desvantagens):
Sequencial; Rígido; Burocrático; Não prevê correções nas fases posteriores; O cliente só vê o resultado no final do projeto; Indicado para projetos pequenos. Técnicas e Projeto de Sistemas – Técnico Subsequente

18 Espiral O modelo espiral é mais adequado para sistemas complexos e que exijam um alto nível de interações com os usuários, a fim de possibilitar a abordagem de todos os problemas desse software. Usado com mais frequência em grandes projetos. Maior controle sobre os riscos do projeto, tornando o processo de construção de um produto complexo mais seguro.

19 Técnicas e Projeto de Sistemas – Técnico Subsequente
Espiral: 1 2 3 4 Técnicas e Projeto de Sistemas – Técnico Subsequente

20 Prototipagem evolutiva e incremental:
Baseado no modelo espiral; Ao final de cada volta o usuário tem acesso a um protótipo; Útil para aprovações de ideias e coleta de novos requisitos; Desvantagem: Cliente insiste que o protótipo seja, com ligeiras modificações, a versão final do produto. Técnicas e Projeto de Sistemas – Técnico Subsequente

21 Prototipagem evolutiva:
Técnicas e Projeto de Sistemas – Técnico Subsequente

22 Técnicas e Projeto de Sistemas – Técnico Subsequente
Entrega evolutiva: Tem como objetivo promover um desenvolvimento conjunto (desenvolvedor trabalhando junto com o usuário) a fim de descobrir os requisitos de maneira incremental. Técnicas e Projeto de Sistemas – Técnico Subsequente

23 Técnicas e Projeto de Sistemas – Técnico Subsequente
Entrega evolutiva: Diferente do desenvolvimento incremental, esse modelo volta sempre à fase de definição de requisitos, num movimento exploratório de conceitos do produto e necessidades do usuário. início Requisitos Análise Desenho de alto nível Desenho detalhado Implementação Teste Não Produto completo? Sim Final Técnicas e Projeto de Sistemas – Técnico Subsequente

24 Ciclos de Vida de Software
Documentos gerados: Técnicas e Projeto de Sistemas – Técnico Subsequente

25 Ciclos de Vida de Software
Documentos gerados: Requisitos: Visão geral, conceitos de operações, requisitos funcionais, não funcionais... Análise: Detalhamento dos requisitos, diagrama de casos de uso, casos de uso reais, divisão de módulos... Design: Diagrama de BD, DFD (Diagrama de Fluxo de Dados), Classes, Sequencia... Técnicas e Projeto de Sistemas – Técnico Subsequente

26 Ciclos de Vida de Software
Documentos gerados: Implementação: Código comentado, resultado de testes unitários... Teste: Plano de teste, documento de execução de testes... Implantação: Diagrama de implantação, tutoriais, treinamentos... Técnicas e Projeto de Sistemas – Técnico Subsequente

27 Atividade – Valor 2,0 pontos
Em sua opinião, como a engenharia de software pode ajudar no atendimento aos objetivos do software? Descreva os ciclos de vida de software destacando os riscos associados a cada um deles: Codifica-remenda; Cascata; Espiral; Prototipagem evolutiva. Você irá abrir uma empresa de desenvolvimento de software com outros 3 colegas. Qual dos ciclos de vida de software vistos até o momento você utilizaria? Por que? Você consegue descrever um cenário onde seja interessante o uso de todos esses processos de ciclo de vida ou, em sua opinião, é uma “perda de tempo” criar tanta documentação para desenvolver um software? Justifique sua resposta. Técnicas e Projeto de Sistemas – Técnico Subsequente


Carregar ppt "Técnicas e Projeto de Sistemas"

Apresentações semelhantes


Anúncios Google