INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Técnicas e Projeto de Sistemas – Técnico Subsequente
1
Técnicas e Projeto de Sistemas
Técnico SubsequenteAula 03 – 2014
Thatiane de Oliveira Rosa
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
2
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
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
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
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
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
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
5
Engenharia de Software
Técnicas e Projeto de Sistemas – Técnico Subsequente
Mas como posso atingir todos esses objetivos???
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
6
Engenharia de Software
Técnicas e Projeto de Sistemas – Técnico Subsequente
Seguindo um processo de desenvolvimento de software!!
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
7
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.
Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
8
• 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
Processo de Desenvolvimento de Software
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
9
Ciclos de Vida de Software
• Codifica-remenda:
Alto risco;
Impossível de gerenciar;
Não permite assumir compromissos confiáveis
Técnicas e Projeto de Sistemas – Técnico Subsequente
Especificação??? Produto
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
10
Ciclos de Vida de Software
• Clássico ou Cascata:
Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
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
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
12
Ciclos de Vida de Software
• Clássico ou Cascata:
Técnicas e Projeto de Sistemas – Técnico Subsequente
início
Final
Requisitos
Análise
Desenho
Implementação
Teste
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
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
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
14
Ciclos de Vida de Software
• Cascata com realimentação:
Técnicas e Projeto de Sistemas – Técnico Subsequente
início
Final
Requisitos
Análise
Desenho
Implementação
Teste
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
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
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
16
Ciclos de Vida de Software
• Espiral:
Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
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
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
18
Ciclos de Vida de Software
• Prototipagem evolutiva:
Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
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
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
20
Ciclos de Vida de Software
• Entrega evolutiva:
Técnicas e Projeto de Sistemas – Técnico Subsequente
início
Final
Requisitos
Análise
Desenho de alto nível
Implementação
Teste
Desenho detalhado
Produto completo?
Sim
Não
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
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
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
22
Ciclos de Vida de Software
• Quase-espiral:
Técnicas e Projeto de Sistemas – Técnico Subsequente
início
Final
Requisitos
Análise
Desenho
Implementação
Teste
Visão Geral
Produto completo?
Sim
Não
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
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
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
24
Ciclos de Vida de Software
• Documentos gerados:
Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
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
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
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
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
27
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.
Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
28
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.
Técnicas e Projeto de Sistemas – Técnico Subsequente
INSTITUTO FEDERAL DEEDUCAÇÃO, CIÊNCIA E TECNOLOGIATOCANTINSCampus Araguaína
Técnicas e Projeto de Sistemas – Técnico Subsequente
29
Técnicas e Projeto de Sistemas
Técnico SubsequenteAula 03 – 2014
Thatiane de Oliveira Rosa
Top Related