Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Técnicas e Projeto de Sistemas
Técnico Subsequente Aula 03 – 2014 Thatiane de Oliveira Rosa 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; Atividade. Técnicas e Projeto de Sistemas – Técnico Subsequente
3
Engenharia de Software
Relembrando a definição: A Engenharia de Software visa fornecer métodos (i.e.: “como fazer”), ferramentas e procedimentos (i.e.: sequência em que os métodos serão aplicados) para o desenvolvimento de software de forma que ele atinja seus objetivos. Técnicas e Projeto de Sistemas – Técnico Subsequente
4
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
5
Engenharia de Software
Mas como posso atingir todos esses objetivos??? Técnicas e Projeto de Sistemas – Técnico Subsequente
6
Engenharia de Software
Seguindo um processo de desenvolvimento de software!! Técnicas e Projeto de Sistemas – Técnico Subsequente
7
Processo de Desenvolvimento de Software
É uma sequência de passos que devem ser seguidos para se atingir determinado objetivo. Processo de desenvolvimento de software: Também chamado simplesmente de processo de software; Objetiva a construção de um software; Sub processos: Requisitos, análise, desenho, implementação e teste. Técnicas e Projeto de Sistemas – Técnico Subsequente
8
Processo de Desenvolvimento de Software
O ponto de partida então é seguir um ciclo de vida: Que é uma interação entre os processos; Baseado em: Complexidade; Risco; Tamanho da equipe; Necessidade do cliente. Técnicas e Projeto de Sistemas – Técnico Subsequente
9
Ciclos de Vida de Software
Codifica-remenda: 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
10
Ciclos de Vida de Software
Clássico ou Cascata: Técnicas e Projeto de Sistemas – Técnico Subsequente
11
Ciclos de Vida de Software
Clássico ou Cascata: 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
12
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
13
Ciclos de Vida de Software
Cascata com realimentação: Cada fase possibilita um retorno; Dificulta o gerenciamento. Por que? Técnicas e Projeto de Sistemas – Técnico Subsequente
14
Ciclos de Vida de Software
Cascata com realimentação: início Requisitos Análise Desenho Implementação Teste Final Técnicas e Projeto de Sistemas – Técnico Subsequente
15
Ciclos de Vida de Software
Espiral: Passos do modelo clássico em iterações; Cada iteração é uma volta na espiral; Requisitos desenvolvidos progressivamente; Usuário com maior contato com as versões; Exige muita disciplina e gestão para que o foco seja mantido. Técnicas e Projeto de Sistemas – Técnico Subsequente
16
Ciclos de Vida de Software
Espiral: Técnicas e Projeto de Sistemas – Técnico Subsequente
17
Ciclos de Vida de Software
Prototipagem evolutiva: Baseado do 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
18
Ciclos de Vida de Software
Prototipagem evolutiva: Técnicas e Projeto de Sistemas – Técnico Subsequente
19
Ciclos de Vida de Software
Entrega evolutiva: Segue o modelo espiral somente a partir da fase desenho detalhado; Modelo bastante utilizado na prática; Exige uma boa fase de requisitos, análise e desenho alto nível. Técnicas e Projeto de Sistemas – Técnico Subsequente
20
Ciclos de Vida de Software
Entrega evolutiva: 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
21
Ciclos de Vida de Software
Quase-espiral: Bastante aceito na prática; É utilizado como base para outros modelos; Mais próximo da realidade. Técnicas e Projeto de Sistemas – Técnico Subsequente
22
Ciclos de Vida de Software
Quase-espiral: início Visão Geral Requisitos Análise Desenho Implementação Produto completo? Sim Não Teste Técnicas e Projeto de Sistemas – Técnico Subsequente Final
23
Ciclos de Vida de Software
Dirigido por tempo: Considera aquilo que se pode desenvolver em determinado tempo; Quando se sabe que o tempo é suficiente para os requisitos; O tempo pode ser discutido entre cliente e empresa de desenvolvimento. 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: Visão geral: Escopo de trabalho, pessoas envolvidas, plano de projeto... 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
Técnicas e Projeto de Sistemas – Técnico Subsequente
Atividade 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; Cascata com retroalimentação; Espiral; Prototipagem evolutiva. Técnicas e Projeto de Sistemas – Técnico Subsequente
28
Técnicas e Projeto de Sistemas – Técnico Subsequente
Atividade 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
29
Técnicas e Projeto de Sistemas
Técnico Subsequente Aula 03 – 2014 Thatiane de Oliveira Rosa Técnicas e Projeto de Sistemas – Técnico Subsequente
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.