Técnicas e Projeto de Sistemas
Técnico Subsequente
Aula 03 – 2014
Thatiane de Oliveira Rosa
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
1
Roteiro
• Tema: Processo de Desenvolvimento de Software.
 Engenharia de Software;
 Processo de Desenvolvimento de Software;
 Ciclos de Desenvolvimento de Software;
 Atividade.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
2
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.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
3
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).
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
4
Engenharia de Software
Mas como posso atingir
todos esses
objetivos???
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
5
Engenharia de Software
Seguindo um processo de
desenvolvimento de software!!
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
6
Processo de Desenvolvimento de
Software
• Processo:
 É 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.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
7
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.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
8
Ciclos de Vida de Software
• Codifica-remenda:
Produto
Especificação???
 Alto risco;
 Impossível de gerenciar;
 Não permite assumir compromissos confiáveis
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
9
Ciclos de Vida de Software
• Clássico ou Cascata:
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
10
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.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
11
Ciclos de Vida de Software
• Clássico ou Cascata:
início
Requisitos
Análise
Desenho
Implementação
Teste
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
Final
12
Ciclos de Vida de Software
• Cascata com realimentação:
 Cada fase possibilita um retorno;
 Dificulta o gerenciamento.
• Por que?
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
13
Ciclos de Vida de Software
• Cascata com realimentação:
início
Requisitos
Análise
Desenho
Implementação
Teste
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
Final
14
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.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
15
Ciclos de Vida de Software
• Espiral:
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
16
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.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
17
Ciclos de Vida de Software
• Prototipagem evolutiva:
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
18
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.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
19
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
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
Final
20
Ciclos de Vida de Software
• Quase-espiral:
 Bastante aceito na prática;
 É utilizado como base para outros modelos;
 Mais próximo da realidade.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
21
Ciclos de Vida de Software
• Quase-espiral:
início
Visão Geral
Requisitos
Análise
Desenho
Implementação
Produto
completo?
Sim
Não
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
Teste
Final
22
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.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
23
Ciclos de Vida de Software
• Documentos gerados:
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
24
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...
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
25
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...
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
26
Atividade
1. Em sua opinião, como a engenharia de software pode ajudar
no atendimento aos objetivos do software?
2. 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.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
27
Atividade
3. 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?
4. 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.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
28
Técnicas e Projeto de Sistemas
Técnico Subsequente
Aula 03 – 2014
Thatiane de Oliveira Rosa
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnicas e Projeto de Sistemas –
Técnico Subsequente
29
Download

Técnico Subsequente