A maior rede de estudos do Brasil

Grátis
17 pág.
[02] EngSW - Ciclo de Vida de Software v1 6

Pré-visualização | Página 1 de 2

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
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
14
Utilização de Modelos
• O processo de raciocínio humano 
necessita de modelos
8
Da Análise ao Projeto
16
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
9
17
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
18
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
10
19
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
20
Conteúdo da Aula
• Grandes Fases do Desenvolvimento de Software
• O que é um Processo?
Engenharia de Software
11
21
Exemplo de Processo - Receita de Bolo
1. Bata as claras em 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
22
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
12
23
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
24
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
13
25
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
26
• 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
14
27
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
28
Artefatos
• Qualquer subproduto produzido durante o 
desenvolvimento do software
• Pode ser um documento, uma lista, um 
diagrama, um desenho, um código