Buscar

[02] EngSW - Ciclo de Vida de Software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Teoria de Engenharia de 
Software
Aula 2
Ciclo de Vida de Software
Prof. Rafael Targino
rtargino@unicarioca.edu.br
2
O conteúdo desta aula foi parcialmente 
baseado nos slides disponíveis do livro:
Engenharia de Software
Engenharia de Software – Conceitos e Práticas
Raul Sidnei Wazlawick, Elsevier, 1a edição, 2013
Lista de 
Exercício 
1
Entrega daqui a 
2 semanas
2
3
Conteúdo da Aula
• Grandes Fases do Desenvolvimento de Software
• O que é um Processo?
Engenharia de Software
4
Papéis Envolvidos na Construção de 
Software
Usuário
Cliente
Analista de 
Negócio
Gerente de 
Produto
Engenharia de Software
Testador
Analista de 
Sistema
Programador
Desenvolvedor
3
5
Construindo Software
• O software a ser construído pode ser de diversos 
tamanhos e complexidades...
Engenharia de Software
• Equipes Pequenas
• Uma pessoa diz o que precisa
• Duas pessoas entendem, 
programam e testam o 
software
• Utilizado em trabalhos de 
faculdade e trabalhos free 
lancers para pequenos 
comércios
6
Construindo Software
• O software a ser construído pode ser de diversos 
tamanhos e complexidades...
Engenharia de Software
• Equipes Grandes
• Diversas pessoas dizem o 
que querem
– Nem sempre elas concordam 
entre si
• Diversas pessoas 
entendem e documentam 
o seu entendimento 
– Nem sempre elas entendem 
de forma correta
• Diversas pessoas programam e testam o software
– Nem sempre elas programam o que realmente é o certo
4
7
Diferentes Níveis de Complexidade
Engenharia de Software
8
Processo de Desenvolvimento de 
Software
Engenharia de Software
Análise de 
Requisitos
Projeto de 
Sistemas
Codificação Testes
Processo de Desenvolvimento de Software
5
9
Exercício – Casa dos Sonhos
• Você ganhou na loteria e vai construir a casa 
dos seus sonhos
• O que você gostaria de ter nesta casa?
Engenharia de Software
10
Análise de Requisitos
• Fornecem o que o sistema deve fazer
• Quais são as necessidades do usuário
• Qual o problema está sendo resolvido
• Identificar
– desejos, intenções, procedimentos atuais e 
dados;
• Organizá-los de forma coerente
• Definir de uma forma geral
– o que será tratado pelo software
– interface com o que fica de fora do software
• Entendimento e Representação
– Domínio do problema
– Conceitos
– Funcionalidades 
– Casos de uso
Engenharia de Software
Desejos
Intenções
Procedimentos
Dados
Requisitos
do
Software
6
11
Requisitos de Negócio
• Uma condição ou capacidade necessária que 
o software deve possuir para que o usuário 
possa resolver um problema ou atingir um 
objetivo
• Expressam as características e restrições do 
produto de software do ponto de vista de 
satisfação das necessidades do usuário
Engenharia de Software
12
Exemplos de Requisitos
• O sistema deve calcular o salário do funcionário 
considerando as suas faltas e todos os impostos 
devidos
• O sistema deve permitir que o usuário emita seus 
pedido de compra diretamente
• O sistema deve possuir a possibilidade de aprovação 
de pedidos de empréstimo por parte do analista de 
crédito
• O sistema deve permitir que os fornecedores 
incluam os preços dos seus produtos por uma 
interface via Internet
Engenharia de Software
7
13
Exercício – Telefone sem fio
• No dia 22 de novembro as 20:00hs, na rua 
Francisco da Rocha, um carro a caminho do 
aeroporto, colidiu com um ônibus da linha 
572.
• Estavam no interior do carro, o motorista, 
um senhor de cabelo grisalho, e mais 2 
passageiros, sendo 1 criança.
• Não houve vítimas. A polícia chegou, 
registrou a ocorrência e liberou os motoristas
14
Projeto de Software
• A fase de projeto enfatiza a proposta 
de uma solução que atenda os 
requisitos da análise. 
• Indica COMO será feito o software
• Se a analise é uma investigação para 
tentar descobrir o que o cliente quer, 
o projeto consiste em propor uma 
solução com base no conhecimento 
adquirido na análise.
• Projetar o Software
– Arquitetura
– Interfaces
– Estrutura de Dados
– Procedimentos
Engenharia de Software
Requisitos
do
Software
Arquitetura Interfaces
Estrutura
de
Dados
Detalhes
dos
Procedimentos
Projeto
do
Software
8
15
Utilização de Modelos
• O processo de raciocínio humano 
necessita de modelos
Da Análise ao Projeto
9
17
Construção do Código
• Implementação
• Programação do código
• Tecnologia
– Linguagem
– Ambiente
Engenharia de Software
Arquitetura Interfaces
Estrutura
de
Dados
Detalhes
dos
Procedimentos
Projeto
do
Software
Código
Software
18
Testes
• Estou construindo um sistema correto?
• Estou construindo o sistema certo?
– Teste de código
– Teste de sistema
– Testes com usuários
Engenharia de Software
10
19
Implantação do Software
• Pôr o Software em operação 
– Entrada de dados
– Conversões de dados
– Treinamento de operadores
– Disponibilização de Manuais
– Suporte à operação
• Help Desk
– Acompanhar
• Também chamado de 
Ambiente de Produção
Engenharia de Software
Software
Software
Dados Conversões
Pronto para operar
20
Manutenção de Software
• Manutenção
– Tipos
• Corretiva
• Novos Requisitos
• Novas Tecnologias 
– Alto Custo
• Podem requerer 
mudanças nas fases 
iniciais do 
desenvolvimento
Engenharia de Software
Software
Em Operação
Erros
Software
Nova Versão
Requisitos
11
21
Problemas
• Porque leva tanto tempo para terminar 
programas e sistemas?
• Porque os custos são tão altos?
• Porque temos dificuldade de medir o 
progresso do desenvolvimento do 
software?
• Porque não conseguimos detectar todos 
os erros antes de entregar o software 
aos nossos clientes?
• Porque os usuários estão sempre 
insatisfeitos com o software entregue?
Engenharia de Software
22
Todos esses problemas geraram 
alguns mitos no 
Desenvolvimento de Software
12
23
Uma lista de intenções 
é suficiente para começar 
a produzir o software
Minhas necessidades vão mudar… 
Mas mudanças são fáceis de introduzir 
porque software é bastante flexível
Custo de mudanças é 
muito altoA Especificação do 
Software é a fase 
mais crítica do 
processo
Erros na fase inicial 
têm um custo muito 
alto de correção
Mitos do Software… …do Cliente
Engenharia de Software
24
Programa escrito 
e testado! 
Acabei!
Até que o programa 
esteja “rodando” não
há como medir 
sua qualidade
O único produto de um
projeto de software é o 
conjunto de programas
Quanto mais cedo você 
escrever o código, mais tempo 
irá demorar para completá-lo
De 50 a 70 % do custo de 
produção de um software vai 
ser gasto para operacionalizá-
lo para o usuário
Revisões anteriores à 
codificação
Especificação, 
projeto, plano de 
trabalho
Mitos do Software… …do Programador
Engenharia de Software
13
25
Mitos do Software… …da Gerência
Manuais de Regras 
e Procedimentos 
resolvem os problemas
Ferramentas modernas
de software e hardware 
são suficientes
Estamos atrasados… 
Vamos alocar 
mais gente ao projeto!
Desatualizados, obsoletos
O uso eficiente de 
ferramental exige 
conhecimento
Custos de 
treinamento, 
gerência e 
entendimento do 
processo de trabalho
Engenharia de Software
26
Conteúdo da Aula
• Grandes Fases do Desenvolvimento de Software
• O que é um Processo?
Engenharia de Software
14
27
Exemplo de Processo - Receita de Bolo
1. Bata as clarasem neve e reserve 
2. Bata bem as gemas com a margarina e o açúcar 
3. Adicione o leite e farinha aos poucos sem parar de 
bater
4. Por último agregue as claras em neve e o fermento 
5. Unte uma forma grande de furo central com 
manteiga e farinha
6. Coloque a massa na forma 
7. Asse em forno médio, pré - aquecido, por 
aproximadamente 40 minutos 
Engenharia de Software
28
Representação Receita de Bolo em 
Diagrama
Engenharia de Software
Bater as 
Claras
Bater as 
Gemas
Adicionar o 
Leite e 
Farinha
Adicionar as 
Claras
Untar 
Forma
Colocar no 
Forno
15
29
Qual a Vantagem de se ter uma 
Receita de Bolo?
• Ensinar como se faz o bolo
• Diminuir o risco de dar alguma coisa errada
• O produto final sempre ser o mesmo (ou 
muito parecido)
• Se o bolo ficar muito bom, a receita pode ser 
compartilhada com outras pessoas
Engenharia de Software
30
Qual a vantagem de um Processo de 
Desenvolvimento de Software?
• Ensinar como se faz o software
• Diminuir o risco de dar alguma coisa errada
• O produto final sempre ser o mesmo – no 
caso, sempre ser um produto de qualidade 
de acordo com as especificações do usuário
• Se o software for desenvolvido no tempo e 
custo esperado, o processo pode ser seguido 
em outros projetos
Engenharia de Software
16
31
Exercício – De Acordar até Agora
• Quais foram todas as coisas que vocês 
fizeram hoje desde a hora que acordaram 
até a hora de estarem aqui?
Engenharia de Software
32
• Um processo na Engenharia de Software é 
formado por um conjunto de passos (atividades) 
parcialmente ordenados, relacionados com 
artefatos, pessoas, recursos, estruturas 
organizacionais e restrições, tendo como 
objetivo produzir e manter os produtos de 
software finais requeridos.
O que é um Processo ?
Engenharia de Software
17
33
Atividades - Um Conjunto de Passos 
parcialmente ordenados
• Uma descrição, que deve dizer em palavras 
simples e diretas o que deve ser feito para 
que a atividade seja realizada
• Normalmente produz um artefato de saída a 
partir dos artefatos de entrada
Engenharia de Software
Atividade
34
Artefatos
• Qualquer subproduto produzido durante o 
desenvolvimento do software
• Pode ser um documento, uma lista, um 
diagrama, um desenho, um código fonte, um 
relatório de teste, etc.
Engenharia de Software
Artefatos de 
Entrada
Artefatos de 
Saída
Atividade
18
35
Pessoas
• Cada uma das atividades são executadas por 
uma ou mais pessoas desempenhando um 
Papel específico 
• Uma pessoa pode assumir vários Papéis
Engenharia de Software
Atividade
Artefatos de 
Entrada
Artefatos de 
Saída
Pessoas
36
Recursos
• O que será utilizado na execução de uma 
atividade
– Consumíveis
– Não Consumíveis
Engenharia de Software
Atividade
Artefatos de 
Entrada
Artefatos de 
Saída
Recursos
Pessoas
19
37
Restrições
• Restrições sobre como as atividades podem 
ser executadas
• Estabelecem limites
Engenharia de Software
Atividade
Artefatos de 
Entrada
Artefatos de 
Saída
Recursos Restrições
Pessoas
Representar e Descrever Processos
Engenharia de Software
Diagrama
Documento Estruturado
20
39
Exercícios
• No contexto dos usuários finais de um 
sistema de gestão acadêmica universitária, 
informe uma pessoa que pode assumir dois 
papéis diferentes na utilização do sistema
• Considerando o professor na atividade de 
“Ministrar Aula” defina exemplos de:
– Artefatos de Entrada 
– Responsável pela Atividade (pessoa)
– Participante da Atividade (pessoa)
– Recursos
– Restrições
– Artefatos de Saída
Engenharia de Software
40
Exercício em dupla/trio
• Represente um processo de fazer a vistoria 
de um carro no Detran. Comece pelo início e 
não esqueça nenhuma atividade.
• Informe: 
– Nome da Atividade
– Papel que executa a atividade
– Entradas
– Saídas
– Recursos Utilizados
Engenharia de Software

Continue navegando