Buscar

0 COMPILADO Processo de Desenvolvimento de Software COMPLETO AULAS RESUMOS REVISAO PROVAS AV1 AV2 AV3 SaibaMais EXTRAS Graduacao Gestao Tecnologia da Informacao

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 298 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 298 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 298 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

AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 1
Prof. MARCELO VASQUES
mvasqueso@gmail.com
OBJETIVOS DA AULA
• Apresentar os conceitos de:
– Sistema de Informação.
– Software
– Processo de Desenvolvimento de SW
• Abordar os problemas do Software atual e 
origens no processo de desenvolvimento
2
BLIBLIOGRAFIA
• CAPÍTULO 1
• LIVRO: ENGANHARIA DE SOFTWARE –
Fundamentos, métodos e padrões
• 3ª. Edição / 2009 / editota LTC
• Wilson de Pádua Paula Filho
3
SISTEMA DE INFORMAÇÃO
• Sistema = Conjunto de partes, independentes, 
cada qual com seu objetivo e colaborando por um 
objetivo comum.
• Informação = Dados (fatos isolados) agrupados e 
relacionados (processados), com sentido lógico.
– Dados: chq 1235 de 1.250,00, chq 1236 de 
750,00
– Dado: saldo Anterior é 5.000,00
– Informação: Saldo Atual é 3.000,00
• Sistema de Informação = Conjunto de elementos 
inter-relacionados que coleta (entrada), manipula 
(processamento), armazena a dissemina (saída) 
informações
4
SISTEMA DE INFORMAÇÃO
• Manual
– Processa pouco volume de dados
• Baseado em computador (Usa TI)
– Hardware (componentes físicos – desgastes)
– Software (componentes lógicos)
– Banco de dados (armazenamento)
– Telecomunicações (rede, internet)
– Pessoas (mais importante. Fazem a diferença)
– Procedimentos e processos (organização)
5
SISTEMA DE INFORMAÇÃO
• O valor de um SI depende da qualidade de seus 
componentes. 
– Excelentes algoritmos codificados em seu 
software X péssimo desempenho por defeito na 
especificação do hardware, rede ou BD 
– Cada um de seus elementos pode por em 
cheque a confiabilidade e usabilidade do SI
• O engenheiro de software precisa saber a quem 
chamar quando o problema não for especificamente 
no software.
6
SISTEMA DE INFORMAÇÃO
• A Tecnologia não faz milagre !!!
• Os problemas com sistema de informática podem 
ter várias causas
– As pessoas que operam o sistema podem ser 
mal qualificadas. Investimento em 
treinamento
– Processos de negócios inadequados (no qual 
o sistema esta inserido)
– Deficiência do próprio sistema. Tecnologia 
inadequada
7
SOFTWARE
• Porção lógica de um SI, que comanda a 
operação do computador.
• Tipos de Software, quanto a natureza
– Software de Sistema: controlam as operações 
do computador: software da BIOS, S.O., L.P.
– Software aplicativo: interface direta com usuário
• Software hoje – Como administrar?
– Grandes e Complexos (envolvem toda 
organização)
– Demandam rápidas mudanças.
8
• Responsável por prover o produto mais importante 
de nossa sociedade: a informação.
• Melhorias nos últimos 50 anos: Hw, BD, Redes –
aumento capacidade de processamento + 
diminuição dos custos
• Por que SW não acompanhou?
– Por que levar tanto tempo para concluir o SW?
– Por que os custos do SW são tão elevados?
– Por que não achamos o erros antes da entrega?
– Por que os custos de manutenção são altos?
SOFTWARE
9
• Processo de desenvolvimento do HW é um 
sucesso. O do SW não. Por que?
Hardware Software
Fabricado Manufaturado
Falhas Inicio e fim Falhas ao ser alterado
Substitui peças Tem que ser alterado
Montagem: 
componentes padrões
Desenvolvido: difícil
padronizar para re-uso.
SOFTWARE
10
• O desenvolvimento do SW depende MUITO do 
componente humano. 
– Há pouca automação no desenvolvimento.
– Visão de projeto inadequada.
• Histórico: gestor de TI sem formação em 
ADM.
• Gestão (planejamento, organização e 
controle) de prazos e custos ineficiente
– Pressão dos usuários/clientes: rapidez.
• Daí os problemas
– Prazos, Custos, Comunicação
SOFTWARE
11
REALIDADE. CRISE DO SW
Fatos reais - Projetos de Software
+ 30% dos projetos – CANCELADOS
+ 70% dos projetos – FALHAM as funcionalidades
Orçamento e Custo EXTRAPOLAM
Custos – em mais de 180% a previsão
Prazos – em mais de 200% o cronograma
Custos do DESENVOLVIMENTO
80% - identificar e corrigir defeitos de programação
12
13
CICLO DE VIDA DO SW
• 1. Começo: percepção de necessidades.
• 2. Desenvolvido, transformado-se em um 
conjunto de itens a ser entregue ao usuário
• 3. Entra em operação, sendo usado dentro 
de um processo de negócio e sujeito a 
atividades de manutenção.
• 4. Fim: é retirado de operação ao final de 
sua vida útil.
14
COMO DESENVOLVER?
• Passado
– Necessidades → Programação (CAOS)
• Hoje
– Projeto e Processo de desenvolvimento
• Qual a finalidade do SW?
• Quais as funções o SW terá? 
• Como essas funções se integrarão?
• Como o SW se integrará ao contexto da 
empresa?
• Quanto tempo terei para construí-lo?
15
PROCESSO
Conceito de Processo
• Maneira pela qual se realiza uma operação, 
segundo determinadas normas
O método da engenharia se baseia em uma ação 
sistemática e não improvisada.
ATIVIDADES
 TAREFAS
 SUBPROCESSOS
 PROCESSO
16
PROCESSO DE DESENVOLVIMENTO
Concepção Requisitos Análise Projeto
Codificação Testes Homologação Implantação
Manutenção
Organização das fases, estabelecendo:
• Quais são elas?
• Finalidade de cada uma?
• Ordem e ligação entre elas?
• Funcionamento do processo
• Documentação e modelos de cada fase
17
CONCEITOS FUNDAMENTAIS
• Escopo – Abrangência
– Compreende o que será considerado para o 
desenvolvimento.
– Quanto maior o escopo, maior é a 
complexidade e dificuldade de gerenciar o 
desenvolvimento.
• Requisito = Necessidades do usuário
– Compreende as funcionalidades que o sistema 
deve possuir.
• Fundamental – Definir os requisitos que farão 
parte do escopo.
18
CONCEITOS FUNDAMENTAIS
• Problemas e erros de requisitos são os 
mais caros de resolver.
– Quanto mais o tempo passa, pior
• Problemas 
– Má definição do escopo do sistema (má 
atuação profissional).
– Rápida mudança de escopo (atualidade)
• Ou seja Atenção TOTAL aos Requisitos 
19
ENGENHARIA DE REQUISITOS
• Problema – levantamento e documentação de 
requisitos
– Boa documentação – boas chances de atender 
aos requisitos
– Boa especificação de requisitos - fundamental 
• Engenharia de Requisitos
– Técnicas de levantamento de requisitos
– Documentação.
– Análise de Requisitos
20
GESTÃO DOS REQUISITOS
• Problema: Instabilidade nos Requisitos
– Novos requisitos e Alterações de requisitos 
com o desenvolvimento já adiantado.
– Alto custo, Re-trabalho, perda de trabalho feito
– O mesmo que alterar a planta estrutural de 
uma casa, após iniciada a construção.
• A boa engenharia de requisitos tende a 
reduzir a instabilidade, obtendo os 
requisitos no momento oportuno.
21
PRAZOS E CUSTOS
• Requisitos → Prazos e custos
– A quantidade e complexidade dos requisitos 
mandam na relação de causa e efeito sobre 
prazos e custos.
– Ouve-se muito: “não me interessa o que você 
vai dizer ! Preciso disso em 1 mês”. 
• A questão: No início só temos requisitos.
– É difícil medir os programas necessários com 
base me requisitos.
– Após projeto detalhado se conhece melhor os 
detalhes. Mas usuário não espera.
22
PRAZOS E CUSTOS
• É preciso
– Planejamento e controle de projetos
• Análise dos riscos (probabilidade de sua ocorrência 
e ações corretivas, caso aconteçam)
• Acompanhar o progresso do projeto
– Renegociação dos prazos e custos
– Garantir a qualidade do processo
• Garantia = conformidade com requisitos
• Qualidade do produto é influencia da pela qualidade 
no processo
• Quanto ANTES um problema for identificado e 
resolvido, melhor (menos custo)
23
PROBLEMAS NO PROCESSO
• Software atual é: complexo, grande e com 
interface com demais sistemas.
• Necessidade de equipe grande, competente 
e interdisciplinar.
• O tempo geralmente é grande.
• Ou seja a gestão do processo de 
desenvolvimento está mais complexa
• Facilitador: Ferramentas de automação 
(case)
24
• Detalhamento do conceito de Requisito
• Análise de Viabilidade do Sistema
• Técnicas de Levantamento de 
Requisitos
25
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTODE SOFTWARE 
AULA 2
Prof. MARCELO VASQUES
mvasqueso@gmail.com
OBJETIVOS DA AULA
• Apresentar Estudo de Viabilidade
• Definir conceito e tipos de Requisitos
• Descrever atividades para análise de 
requisitos
• Apresentar técnicas para elicitar e analisar 
Requisitos
2
REVISÃO
• Processo de desenvolvimento
• Conjunto de fases, cada qual com 
uma finalidade, que descrevem 
passo a passo, formalmente, o que 
devem ser feito para desenvolver 
um sistema.
• Cria um padrão, para todos 
seguirem
• Confere qualidade ao software
3
ESTUDO DE VIABILIDADE
• Concepção
✓ Semente → Necessidade, idéia
✓ O que é o sistema? – definições 
iniciais
✓ É viável? → Vale a pena?
• Estudo ou Análise de Viabilidade
✓ Benefício deve superar o Custo?
➢ Empresa
➢ Negócio a que se destina
4
ANÁLISE 
DE
VIABILIDADE
Entrada:
1.Conjunto preliminar de requisitos de negócio
2.Esboço da Descrição do Software
3.Como apóia a área de negócios
Saída:
1.Viável? (técnica, operacional e financeiramente)
ESTUDO DE VIABILIDADE
5
• O SW contribui para os objetivos da 
organização? Beneficia os interessados?
– Viabilidade Operacional
• O SW pode ser implementado com TI atual?
– Viabilidade Técnica
• Restrições de custo serão atendidas?
– Viabilidade econômica
• Restrições de prazo serão atendidas?
– Cronograma
ANÁLISE DE VIABILIDADE
6
VIABILIDADE ECONÔMICA
• Apurar o retorno sobre o investimento (ROI)
– % que mede a relação entre o quanto se 
ganha (pretende ganhar) e quanto se investe.
• ROI=(Lucro Liquido)/Investimento
– Lucro Liquido = receitas – despesas (todas)
– Investimento = Tudo que será investido para o 
sistema: Softwares, Hardware, Redes, obras 
e etc.
– Quanto MAIOR O VALOR, melhor o ROI
7
▪Investimento = R$ 40.000,00
▪Desenvolvimento: 20.000
▪Softwares: 5.000
▪Hardware + rede + Internet: 10.000
▪Mobiliário: 5.000
▪Receitas (Vantagens) com sistema: R$ 15.000,00
▪Despesas com sistema = R$ 5.000,00
▪Lucro Líquido com sistema = R$ 10.000,00
▪ROI = 10.000,00 / 40.000,00 = ¼ = 0,25
▪Conclusão: O investimento se paga em 4 anos.
VIABILIDADE ECONÔMICA
8
• Elicitação → Elicitar = descobrir, tornar 
explícito.
– Expliciar o que? Resposta: Requisitos
• Requisitos (necessidade do usuário)
– Descrições dos serviços fornecidos pelo 
sistema.
– Restrições e características desses 
serviços
Refletem a necessidades dos seus 
usuários
ENGENHARIA DE REQUISITOS
9
• Requisito de usuário (abstratos- nível alto)
– Descrição dos serviços esperados do sistema 
e restrições sobre as quais ele deve operar
– “O sistema deve controlar o bloqueio de 
exemplares pelo professor”
• Requisito de Sistema (detalhado)
– Definição estruturada e detalhada dos 
serviços e restrições operacionais
– Detalhar as funções de Bloqueio de 
exemplares
CLASSIFICAÇÃO:REQUISITOS
• Funcionais
– Declarações de serviços que o sistema 
deve fornecer e como deve se comportar.
– Pode estabelecer o que o sistema NÃO 
deve fazer
• Não Funcionais
– Restrições sobre os serviços ou funções 
oferecidos pelo sistema
– Características ou qualidades
REQUISITOS DE SISTEMAS
• Funcionais
– RF: Sistema deve informar melhor aluno
– RF: Sistema deve permitir incluir e excluir 
fornecedores
• Não Funcionais
– RNF: A impressão do boleto deve ser em no 
máximo 10 segundos
– RNF: as dimensões dos relatórios devem ser 
configuráveis
– Restrições de hardware, ambiente e etc
EXEMPLOS DE REQUISITOS
• Exemplo: Sistema de Caixa Eletrônico
– Tipos de transações suportadas na Conta
• Funcional
– Tempo de resposta, facilidade de uso e 
tempo médio entre as falhas
• NÃO Funcional
EXEMPLOS DE REQUISITOS
13
• Quando usar?
– Primeira técnica a ser usada com alto escalão
para entendimento da organização
(organograma).
• Fechadas (questionário) ou abertas (roteiro)
• Individual ou pequeno grupo
• V - Eficiente
• D - Cara (falta de tempo das pessoas).
• V- Permite observar postura corporal. “Olhar nos
olhos”.
• D - Cuidado: não se perder (roteiro)
ENTREVISTA
14
• Quando usar?
– Muitos usuários e há necessidade de uma análise
estatística.
– Falta de tempo dos envolvidos para entrevistas.
– Usuários estão geograficamente distantes (pesquisa de
satisfação na Estácio)
• Evitar: perguntas abertas.
– O que você do procedimento atual... ?
• Focar: perguntas direcionadas ao que se deseja
saber. Exp: Considera o procedimento atual
– ( ) Ruim ( ) Satisfatório ( ) Ótimo
QUESTIONÁRIO
15
• Reuniões onde participam todos os
envolvidos
• Objetivo: permitir que todos expressem
suas idéias de forma a obter o consenso.
• Todos expressão de forma desorganizada
mesmo
• Organizam-se as idéias
• Identifica-se conflitos entre áreas
• Visões diferentes do requisito nas
empresas.
BRAINSTORM
16
• É na verdade um modelo da UML, usado
para: definir o escopo do sistema, identificar
quem interage com o sistema (atores)
identificar os requisitos (casos de uso),
validar os requisitos com os usuários
• Não é em si uma técnica de levantamento
de dados, mas o resultado produzido após.
• E esse resultado, que é o modelo
(desenho) pode ser usado para validar os
requisitos com os usuários.
CASO DE USO (CUIDADO)
17
18
• Observação “in locco” – analista se insere
no dia a dia da empresa. Constatar o que
foi levantado e entender funcionamento na
prática.
• Análise de documentos
• JAD – excelente para projetos que
necessitam discussão de várias áreas da
empresa.
OUTRAS TÉCNICAS
19
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 3
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
▪ Conhecer as atividades de análise do
processo de desenvolvimento
▪ Entender as técnicas de modelagem OO
(Análise)
▪ Conhecer os fundamentos essenciais da UML
2
OBJETIVOS DA AULA
• Estudar, entender e modelar o problema
• Modelar = criar modelos para apresentar 
os requisitos
–Modelos= abstração da realidade
–Exemplos: maquetes, protótipos
• Independe de tecnologia
• Estrutural
• Comportamental
3
FASE: ANÁLISE
TÉCNICAS DE ANÁLISE
• Estruturada / Essencial (obsoleta)
–Eventos que afeta o sistema → funções
–Foco: funcional
–3 visões: funções, dados e controle
–Sistema = conjunto de processos
• Orientada a objeto (atual)
–O mundo é composto por objetos
4
• ESTRUTURADO / ESSENCIAL
–Sistema = Módulos que interagem
–2 perspectivas isoladas: dados e funções
• ORIENTADO A OBJETO
–Sistema = objetos que interagem
–Única perspectiva integrada: atributos e
métodos
• MOTIVAÇÃO
–Objetos existem antes de existir
aplicações dele no negócio.
5
MUDANÇA DE ENFOQUE
Sistema
Módulo Módulo Módulo
Objeto
Objeto
Objeto
Objeto
Módulo Classe
Procedimento
Dados
Atributos
Métodos
6
MUDANÇA DE ENFOQUE
Atributos
Método Método
Método Método
7
ENCAPSULAR = ESCONDER
OBJETOS E CLASSES 
▪Objeto: Dados + Funções
▪Encapsulamento
▪Classe = Objetos com as mesmas
características
▪Análise O.O = modelar o problema
usando o conceito de objeto/classe.
8
FUNCIONAMENTO O.O
▪Objetos trocam mensagens
▪Métodos=serviços que a classe
presta
▪ Interação = como as mensagens
trafegarão para a execução de uma
tarefa.
9
UML
▪Unified Modeling Language
▪Linguagem de modelagem unificada,
utilizada em engenharia de software
▪Não é uma metodologia.
▪NÃO diz para você o que fazer
primeiro e em seguida ou como
projetar seu sistema
▪Compreende uma série de diagramas
10
DIAGRAMAS UML
11
Diagrama de Casos de Uso
12
12
AULA 1 – Prof. MARCELO VASQUES
• Declaração textual do procedimento 
correspondente ao caso de uso.
• Passo a passo para realização do caso de 
uso
• Mostra a interação do usuário com o 
sistema.
• Detalha o requisito
• Complementa o diagrama.
• FUNDAMENTAL.
Especificação Casos de Uso
Diagrama de Casos de Uso
14
14
Atendente
Emprestar
FITA
Pesquisar
SÓCIO
Selecionar
FITA
<Uses>
<Uses>
AULA 1 – Prof. MARCELO VASQUES
Especificação Casos de Uso
Definição do Casode uso : Emprestar Fita
Roteiro do Caso – Fluxo Principal
1. Atendente informa identificação do Sócio ao Sistema
2. Executar caso de uso “Pesquisar Sócio”
3. Para cada fita a ser emprestada
1. Atendente informa fita
2. Executar caso de uso “Pesquisar Fita”
4. Atendente confirma os dados 
5. sistema registra os empréstimos.
Fluxos Alternativos
2a. – Cliente não cadastrado. Sistema exibe esta msg e encerra o caso
2b. - Cliente está em Débito. Sistema exibe esta mensagem e encerra
caso.
3a. Fita não está cadastrada. Sistema exibe msg e encerra o caso
DIAG CLASSES-Conceitual
16
DIAG CLASSES-Especificação
17
DIAG CLASSES-Implementação
18
DIAGRAMA DE SEQUENCIA
: TelaSaque
Correntista
senha
C1: ContaCorrente
validarSenha(senha)
saque
verificarSaldo()
bloquearValor(saque)
debitarValor(saque)
aviso de liberação
L1: Lancamento
efetuarLancamento(C1)
efetuarLancamento(C1)
19
TRIPÉ DA ANÁLISE
Diagrama de Casos de Uso Diagrama de Classe
Diagrama de Seqüência
20
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 4
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
OBJETIVOS DA AULA
▪ Conhecer as atividades de desenho ou 
arquitetura do sotfware dentro do processo 
de desenvolvimento
▪ Entender a necessidade de desenhar a 
solução analisando os requisitos e soluções 
da fase de Análise
▪ Apresentar as diferentes visões a serem 
consideradas na fase de desenho ou projeto 
do software
• Fase: Desenho ou Design ou Projeto
– Atenção aos requisitos → via modelos de 
análise
– COMO a solução deve ser implementada
– COMO FAZER – detalhes de funcionamento 
interno. 
• Fase que antecedeu o Projeto
– Análise (O QUE Fazer)
– Usar os modelos da analise (casos de uso, 
classe e sequência, no caso de análise OO 
usando UML)
DESENHO DO SOFTWARE
CONTEXTO
• Aumento do tamanho e da
complexidade do software
• Pressão para: Redução do tempo e
custo
–Desenvolvimento
–Manutenção
• Apelo ao Software green – TI verde
VISÕES DO PROJETO
• EXTERNA
–Visão do usuário
–Modelo de interação → interface
• INTERNA
–Componentes do sistema
–Relação entre os componentes
(acoplamento)
–Funcionamento do componente
– Interconexões com outros sistemas
NÍVEIS DE DESENHO
• ESTRATÉGICO
–Modelo da Arquitetura. Forma do sistema.
Partes e relacionamentos. Sistemas e
sub-sistemas.
• TÁTICO OU DESENHO LÓGICO
–Decisões tomadas no nível estratégico
–Reutilização ou não de componentes
• OPERACIONAL OU DESENHO
DETALHADO
• Comportamento do componente
ARQUITETURA do SW
▪1. Estruturação do sistema
▪Estruturado em subsistemas
▪Subsistema=unidade independente
▪Comunicação entre subsistemas
▪2. Modelagem de controle
▪Modelo de relacionamento entre as
partes de um sistema
▪3. Decomposição modular
▪Cada subsistema é divido em
módulos
DECOMPOSIÇÃO EM MÓDULOS
▪Modelo orientado a objetos
▪Diagrama de classes
▪Diagrama de componente
▪Interação
▪Diagrama de sequencia.
▪Diagrama de Atividade
DIAG CLASSES-Implementação
9
DIAGRAMA DE 
COMPONENTES
▪Mostra os módulos do sistema
▪Esta relacionado a LP a usar
▪Determina como os componentes
irão interagir.
▪Um componente representa um
empacotamento físico de elementos
relacionados logicamente
(normalmente classes
DIAGRAMA DE 
COMPONENTES
DIAGRAMA DE 
COMPONENTES
META: REUTILIZAÇÃO
▪Idéia: usar o que já existe
▪Visa redução de tempo e R$
▪Garante a segurança: componente
usado e testado
NÍVEIS DE REUTILIZAÇÃO 
DEMAIS ATIVIDADES
▪Definições
▪Interface com usuário
▪Arquitetura de hardware e SO.
▪Linguagem de programação
▪Estrutura de rede e comunicações
▪SGBD – banco de dados
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 5
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
▪ Conhecer as atividades de Testes do 
processo de desenvolvimento
▪ Entender as necessidades da etapa de teste
na melhoria da qualidade do sistema
▪ Analisar os diversos tipos de testes
OBJETIVOS DA AULA
2
3
AS FASES DO PROCESSO 
Requisitos
Testes Desenho
Implementação
Análise 
Manutenção
Implantação
Concepção
4
O CICLO DE VIDA
Requisitos
Testes
Desenho
Implementação
Análise 
Concepção
• Onde estão os erros?
Manutenção
Implantação
• A fase de teste tem como objetivo detectar 
possíveis defeitos ou erros que possam 
surgir NA da fase de implementação. 
• Nessa fase, DE TESTES deve-se coletar 
os resultados e analisá-los E 
CONSERTÁ-LOS antes de sua 
implantação. 
• Fase fundamental, muitas vezes relegada a 
segundo plano ou mesmo esquecida →
Incremento na QUALIDADE, na medida 
em que avaliamos sob várias óticas.
5
1ª. DEFINIÇÃO DE TESTE
6
1ª. DEFINIÇÃO DE TESTE
FASE: TESTES
• Objetivo: encontrar erros não descobertos
– Bem sucedido: Acha erro não previsto
– É preciso usar o produto
• Análise e verificação de todos os
componentes do sistema.
– Validar se estão em conformidade com os
requisitos anteriormente definidos.
– Para uma melhor analise, o teste deve ser feito
por uma equipe independente, diferente da
equipe desenvolvedora.
7
MODALIDADES DE TESTES
• Classificação quanto ao uso do código
– Testes estáticos ou Verificações
• ANTES da implementação
• Inspeções, revisões, auditorias
• Testes nas fases iniciais – qualidade
• Qualidade no “processo”
– Testes dinâmicos ou Validações
• DURANTE OU APÓS a implementação
• Precisa de parte ou todo sistema encarnado
• Qualidade no “produto”
8
MODALIDADES DE TESTES
9
Requisitos
Testes
Desenho
Implementação
Análise 
Concepção
• Onde estão os erros?
Manutenção Implantação
TESTES ESTÁTICOS
• REVISÕES
• AUDITORIAS
TESTES ESTÁTICOS
• REVISÃO DE CÓDIGOTESTES DINÂMICOS
• EXECUÇÃO 
MODALIDADES DE TESTES
• Classificação quanto objetivo
– Teste de Unidade (programação)
• Em Unidades de programas.
• Busca de Erros nos programas individuais
– Teste de Integração (prog / testes)
• Identificar erros na integração dos diversos 
módulos, já testados individualmente
– Teste de Validação (testes)
• Realizado após a integração de TODOS os 
módulos
• Antes de IMPLANTAR
10
ESTRATÉGIAS DE TESTES
• TESTE DA CAIXA PRETA (+ simples)
– Não considera a forma como esta
implementado – detalhes internos
– Objetivo:
• o sw produz os resultados esperados?
• Os requisitos estão sendo atendidos?
– Vantagem: não requer conhecimento
técnico da tecnologia empregada ou da
implementação aplicada → requer
profissional menos capacitado.
11
• TESTE DA CAIXA BRANCA (+ Complexos)
– Baseados na arquitetura interna do software.
• Verificação de código
– Objetivo: identificar defeitos nas estruturas
internas do sw, através da simulação que
“testem” toda a estrutura usada na codificação
– Desvantagem: requer conhecimento técnico da
tecnologia empregada pelo software e
arquitetura interna da solução → requer
profissional BEM capacitado. → Difíceis de
serem implementados.
– Vantagem: eficientes na detecção de erros.
• Casos de testes que cubram TODAS possibilidades
12
ESTRATÉGIAS DE TESTES
TESTE DE UNIDADE
▪1ª. Etapa do processo de validação.
▪Testa UMA unidade: modulo/classe
▪Objetivo: garantir a qualidade dos
componentes do software,
individualmente, avaliando:
▪Estrutura interna → usar estratégia de
caixa branca
▪Se a unidade atende aos requisitos –
usar testes da caixa preta
13
TESTE DE INTEGRAÇÃO
▪Natural continuidade dos testes de
Integração
▪ Verificar a compatibilidade da nova
unidade com as demais, já prontas.
▪ Verificar se Juntas e integradas, as
unidades funcionam e realizam o
trabalho que o sistema precisa.
▪Cuidado: alteração de componentes.
▪Geralmente aplica-se estratégia da
caixa preta, testando as interfaces entre
as unidades, que se integram
14
TESTES DE SISTEMAS 
(VALIDAÇÃO)
▪Estágio mais complexo da validação
▪Validam a solução como um todo.
▪Aqui: as falhas individuais já estão sanadas
(espera-se).
▪Ambiente (Hw, SO, rede e etc) bem próximo
da realidade da operação).
▪Testar:integração com sistemas externos,
dispositivos físicos (hw)
▪Dificuldade: vislumbrar os vários cenários de
uso.
▪Várias tipos: stress, volume, performance
15
TESTES DE ACEITE
▪Homologação: interna e externa
▪Último estágio do processo de
validação→ último processo formal de
detecção de erros no sistema.
▪Uso por clientes e usuários→ validarem
as funcionalidades
▪Usuários interagem com sistema
completo.
▪Reduz o risco da entrega
16
IMPORTANTE
▪Planejar os testes
▪Documentar os testes
▪Validar ao longo do processo.
▪Não “queimar” etapas de testes
▪Equipe especializada:
▪ Preferencialmente: não ser equipe de
desenvolvimento
17
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 6
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
OBJETIVOS DA AULA
▪ Conhecer as atividades de Implementação
(codificação na linguagem de programação)
▪ Entender as necessidades da tecnologia
para transição Projeto → Programa
▪ Algumas linguagens
IMPLEMENTAÇÃO
• A fase de implementação, ou codificação, 
tem como objetivo escrever o programa em 
uma linguagem de programação, seguindo 
normas e diretrizes da empresa à qual o 
desenvolvedor esteja ligado (metodologia = 
qualidade no processo)
• As empresas costumam definir padrões para 
o desenvolvimento.
IMPLEMENTAÇÃO
• Na fase da implementação, o 
programador:
–detalha e implementa o que foi definido
na etapa de desenho, através de 
componentes de código de programa e 
documentação detalhada.
IMPLEMENTAÇÃO
IMPLEMENTAÇÃO DESENHO
Etapa do processo 
de desenvolvimento 
que realiza a 
transformação do 
desenho em diversos 
tipos de 
componentes de 
código de 
programação
Etapa do processo 
de desenvolvimento 
em que foi definida a 
arquitetura do 
sistema e definida a 
tecnologia usada na 
implementação
COMPONENTES DE CÓDIGO
• Código Fonte: Conjunto de instruções
gerados através de uma L.P., de forma lógica
e estruturada (L.P de alto nível)
• Código Objeto: Resultado da compilação do
código fonte
• Código de máquina: Sequência binária de
instruções, que são executadas diretamente
por um processador (conjunto específico de
instruções).
– Linguagem de baixo nível
– Utiliza a arquitetura do processador
LINGUAGEM DE MÁQUINA
• O Hardware é composto de componentes
eletrônicos, onde passa ou não corrente.
• A ausência ou não de corrente, cria para o
hardware uma linguagem de apenas 2
símbolos: 0 (zero) e 1 (um).
• É a chamada linguagem binária (Bi = dois)
ou linguagem de máquina.
• 0000011000100000 – seria um comando
(instrução) para um processador de 16 bits
de tamanho de palavra.
• Nos primórdios a linguagem era essa. Difícil
!!!!
LINGUAGEM ASSEMBLY
• Trocou-se 0 e 1, por mneumônicos
• Ao invés de endereçar posições físicas
de memória, usou Registradores
• ADD R1, R2, R3 ([R3]=[R1]+[R2])
• Surge o Montador
ADD R1, R2, R3 0001000100010001
Assembly Montador Máquina
LINGUAGEM DE ALTO NÍVEL
• Linguagem que se aproxima da linguagem humana
• Não leva em consideração a arquitetura do
computador, nem as características do processador
e seus registradores.
LINGUAGEM DE ALTO NÍVEL
Algoritmo
Leia (Av1, Av2)
Media (Av1+Av2)/2
Se Media >= 6.00
Então escreva (‘APR’)
Senão escreva (‘REP’)
C++ (Dev C++)
Código Fonte
Cin>> Av1, Av2;
Media=(Av1+Av2)/2;
If (Media >=6,00)
cout<<“APR”;
else cout<< “REP”;
COMPARAÇÃO LINGUAGENS
COMO CONVERTER ?
• Homem (alto nível) → Máquina (baixo nivel)
• 2 processos fazem esse papel
– Interpretação (Interpretador)
• TRADUZ O CÓDIGO A MEDIDA QUE
EXECUTA
• Python, Pearl, PHP, Javascript, ASP
– Compilação (Compilador)
• TRADUZ E DEPOIS EXECUTA
• C++,
INTERPRETAÇÃO
• Interpretação é a "tradução" do código em
linguagem de máquina em tempo de
execução.
• É utilizada: PHP, ASP, Javascript.
• Uma característica marcante das
linguagens interpretadas são que elas
executam o código até o ponto em que há
um erro.
• Por acontecer em tempo de
execução,tipicamente tem um desempenho
um pouco menor.
INTERPRETAÇÃO
COMPILAÇÃO
• Primeiro, faz uma leitura completa do código,
identificando variáveis e outros elementos e
montando uma tabela com estas informações.
• No segundo passo, a "tradução" do código em
linguagem de máquina. Entretanto, a compilação
difere da tradução porque ela faz alterações no
código, de forma a torná-lo otimizado.
• Enquanto uma linha é sempre uma instrução na
tradução, x linhas no código terão y linhas de
comandos de máquina, de acordo com o
compilador.
• Compiladores modernos conseguem enormes
otimizações em certos códigos.
COMPILADOR / HÍBRIDO
AMBIENTES 
DESENVOLVIMENTO
AMBIENTES 
DESENVOLVIMENTO
JAVA
JAVA
BOA PRÁTICA-
PROGRAMAÇÃO
• Documentar com comentários o código
fonte
– // este procedimento visa calcular o
digito verificar com base no modulo 11
– // Data: Autor: Data alteração:
• Bons nomes – auto-explicativos e
padronizados
– variável: NA ??
–Variável: nome_aluno
PROG. BASEADA EM 
COMPONENTES
• Um componente é uma unidade reutilizável
de software, tipicamente, com fronteiras
bem definidas e encapsulado
– Independente
– Programação: componentes = classe
• Ganho de escala → reaproveitamento
• Mais segurança
• Mais agilidade
• Sistema = conjunto de componentes
PROGRAMAÇÃO EM PAR
• Técnica usada nas metodologias ágeis
• 2 programadores trabalham juntos
• Ela sugere que todo e qualquer código
produzido no projeto seja sempre
implementado por duas pessoas juntas,
diante do mesmo computador, revezando-
se no teclado.
• 1 faz (executor) e outro verifica
(observador) / alternam-se nas tarefas
PROGRAMAÇÃO EM PAR
• A programação em par é uma forma eficaz de 
reduzir a incidência de bugs em um sistema.
• Isso se deve em grande parte às visões 
complementares que atuam durante o uso dessa 
prática. 
• Quando dois desenvolvedores estão programando 
em par, um deles está com as mãos no teclado e 
no mouse. O outro está sentado ao lado, olhando 
para a mesma tela e preocupado em resolver o 
mesmo problema. Ambos estão trabalhando juntos 
na solução, embora apenas um esteja com as 
mãos no teclado. Eles conversam o tempo todo e 
trocam idéias sobre a solução. 
PROGRAMAÇÃO EM PAR
• A programação em par explora a diversidade de 
idéias que é rara de ser observada quando se 
programa sozinho – troca de conhecimento
• A programação em par também é uma forma de 
fazer com que o desenvolvedor tenha mais 
confiança no código que produz, reduzindo seu 
stress
• Treinamento de programadores sem experiência.
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 7
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
OBJETIVOS DA AULA
◼Conhecer as atividades de:
 Suporte
 Manutenção
◼Entender a importância da 
documentação:
 do Processo
 do Produto
MANUTENÇÃO
◼ Fase que tem:
 Início: quando o sistema é instalado 
no ambiente do usuário, para uso.
 Fim: quando o sistema torna-se 
obsoleto e é substituído.
◼Motivos da obsolescência:
 Tecnologia ultrapassada
 Custo de manutenção supera 
benefícios
MANUTENÇÃO
◼Ciclo de Vida do Sistema = Ciclo de 
desenvolvimento + Manutenção
◼ Logo
◼Quanto maior o tempo da fase de 
manutenção, maior a vida útil do 
sistema
MANUTENÇÃO
◼A qualidade da manutenção vai 
depender da qualidade no processo de 
desenvolvimento
◼Documentação atualizada e 
adequada
◼Código eficiente e bem documentado
◼Desafio: manter documentação 
atualizada(até o final), na medida em 
que são feitas alterações no sistema.
ATIVIDADES DA 
MANUTENÇÃO
• Suporte ao uso do sistema
– Manuais, Help desk, visitas, 
treinamento
• Desenvolvimento
– Correção de erros (início) →
ausência ou má qualidade dos testes
– Melhorias nas funções existentes
– Implementação de novas funções
• Melhorias nas funções existentes
– Comum: efeito dominó → arquitetura 
inadequada
– Soluções
• Separação estática: identificar foco
• Refatoração: modificação da estrutura 
do software,sem alterar o 
comportamento.
ATIVIDADES DA 
MANUTENÇÃO
AFETAM O CUSTO DA 
MANUTENÇÃO
• Tipo de Aplicação
• Rotatividade e disponibilidade-Pessoal
• Duração da vida útil do sistema
• Ambiente (em que o sistema está 
inserido) que se modifica
• Características do hardware
• Qualidade do projeto, do código, da 
documentação e dos testes
• Caracteristicas das L.P. usadas
• O tempo da manutenção define o 
tempo de vida.
• Atentar para o custo.
• Elementos altamente coesos
• Elementos com baixo acoplamento
• Documentação completa e 
atualizada
AFETAM O TEMPO DA 
MANUTENÇÃO
MANUTENÇÃO COMO 
PROJETO
• Cuidado com as novas versões
– Causam instabilidade no ambiente
– Ideal: 
•menos intervenção possível
•acumular demandas que 
justifiquem a intervenção
• tratar as demandas como um 
projeto
–Dificuldade: controle das versões.
COMO ACUMULAR 
DEMANDAS
• Documento de demandas dos 
usuários
– Data, Pedido, Tipo
– Tipo
•emergencial (imediato)
•melhoria e nova função 
(analisar)
DOCUMENTAÇÃO PARA 
SUPORTE
• Manual do usuário
– Linguagem clara e adequado ao perfil 
– Mostrar como o usuário usa as 
funcionalidades
• Manual de Introdução
–Descreve as funcionalidades do sistema, 
sob a ótica do uso (uso)
–Os pré requisitos necessários para operar
DOCUMENTAÇÃO PARA 
SUPORTE
• Manual de Referência
–Descreve as facilidades do uso do 
sistema
– Informa os erros que podem ocorrer e 
como agir quando entregá-los.
• Documento de Instalação
– Descrição de como instalar o programa
– Plataforma de operação 
– Pré-requisitos necessários
DOCUMENTAÇÃO PARA 
SUPORTE
• Referência básica
– Documento com um resumo das 
funcionalidades, atalhos de procedimentos, 
principais funções utilizadas, e mensagens de 
erros mais comuns.
• Documentação do software
– Processo que descreve as partes do código 
fonte, requisitos necessários, arquitetura do 
sistema. Essa documentação é bastante útil 
para o desenvolvedor no processo de melhoria 
ou correção do produto.
DOCUMENTAÇÃO PARA 
SUPORTE
• Manual do Sistema
– Referência
• Facilidades do uso do sistema
• Erros que podem ocorrer e como agir 
– Instalação
• como instalar o sistema, plataformas 
de operação, pré-requisitos 
necessários.
DOCUMENTAÇÃO PARA 
MANUTENÇÃO
• Possibilitar que a equipe entenda o 
que foi pensado e as soluções dadas.
• Possibilitar que as alterações e novas 
funções possam ser documentadas.
• Tipo de documentação: textual e 
modelos (diagramas).
• Ferramenta CASE ajuda a manter a 
documentação VIVA e atualizada.
• Documentação do software
–Descreve as partes do código fonte, 
requisitos necessários, arquitetura 
do sistema. 
–Bastante útil para o desenvolvedor 
no processo de melhoria ou 
correção do produto.
DOCUMENTAÇÃO PARA 
MANUTENÇÃO
DOCUMENTAÇÃO DO 
PROCESSO
• Cronogramas
– Acompanhar o andamento
• Relatórios
– Documentar acompanhamento de 
recursos
• Padronização de processos 
– Da empresa 
– Ou referencia nacional / internacional 
• Comunicação entre projetos.
DOCUMENTAÇÃO DO 
PROCESSO
• Documentos técnicos 
– Descreve estratégias de como chegar ao 
resultado final. 
– Registram erros, problemas e idéias que 
ocorrem durante o projeto
– As razões para tomar decisão
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 8
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
OBJETIVOS DA AULA
▪ Conhecer os processos em Cascata 
▪ Tradicional e 
▪ Com retroalimentação
▪ Entender as vantagens e limitações dos 
modelos
▪ Aplicar as fases do processo ao modelo.
2
CONTEXTO
◼Anos: 70/80
◼Antes: Não era usado processo de 
desenvolvimento.
 Programadores baseavam-se nas 
próprias experiências.
Não havia forma definida e 
estruturada
Não haviam testes e os erros eram 
corrigidos após implantação.
3
MODELOS INICIAIS
• Modelo Balburdia
– Base: experiência dos programadores
– 2 fases: Implementação & 
Correção
4
MODELOS INICIAIS
• Modelo Codifica-remenda
– Erros descobertos com o uso
•Ajustes em caráter de urgência
–Insatisfação e pressão dos usuários
– Surge a idéia de necessidades 
após implantação, pois os 
sistemas tornavam-se maiores.
– Confiabilidade e qualidade 
começam a ser contestadas.
5
MODELO CASCATA
• Ciclo de Vida do projeto
–Atividades ordenadas, com fluxo
contínuo para auxiliar o
acompanhamento do projeto.
• Atividades
• Fluxo de informações
• Relacionamento entre atividades
6
MODELO CASCATA
• 1º. Modelo em Engenharia de
Software
• Linear → a atividade é concluída
antes de iniciar a próxima.
–Sequencial e “para frente”
7
MODELO CASCATA
8
MODELO CASCATA
• Útil: pequenos projetos
–Sem padronização e documentação
–Ganho na fase de planejamento.
• Problema:
– Durante o projeto, a fase de
requisitos, está em constante
evolução e mudança
9
MODELO CASCATA
• Características
–base para outros modelos.
–usado até hoje.
• A questão:
–Se o processo somente pode ser
seguido após a finalização da etapa
anterior, este nunca irá se encerrar
10
MODELO CASCATA
Requisitos
Testes
Desenho
Implementação
Análise 
Manutenção Implantação
11
MODELO CASCATA
Requisitos
Testes
Desenho
Implementação
Análise 
D O C U M E N T A Ç Ã O 
12
MODELO CASCATA
• Vantagem
– Permite pontos de controle bem
definidos → facilita gestão do projeto
–Requer documentação→ todas as
fases.
–Em tese → só avança se cliente Valida
fase atual → Participação do usuário
(primeira tentativa de aproximar)
–Simples de implementar e gerir.
13
MODELO CASCATA - DESVANTAGENS
• Todos os requisitos devem ser descobertos
no início -- > não prevê alteração
• Não é possível corrigir erros em fases já
completas.
• Projeto raramente segue fluxo seqüencial →
iterações (vários ciclos) são necessárias.
• Não prevê manutenção.
• Usuário só vê os resultados ao final(péssimo)
• Dificulta visão de reutilização.
• Se ocorrer atraso , todo processo é afetado;
• Só gestor tem visão do todo.
14
MODELO CASCATA
• EXISTEM MUITAS VARIÁVEIS (FASES)
• AS PRINCIPAIS ATIVIDADES SÃO:
–estudo de viabilidade
–análise e especificação de requisitos
–design da arquitetura
–Design detalhado
–codificação e testes de unidades
– integração e teste do sistema
– Instalação, treinamento e entrega
15
CASCATA 
C/RETROALIMENTAÇÃO
• Variante “cascata tradicional” que
permite a realimentação
• Modelo que permite a revisão de
fases anteriores e a superposição
entre as fases.
• Correções que surgirem durante
outras fases do processo.
• Porem o custo dessa revisão pode ser
alto, dependendo da fase atual e do
quanto se precisa retroceder
16
Requisitos
Testes
Desenho
Implementação
Análise 
Manutenção Implantação
17
CASCATA 
C/RETROALIMENTAÇÃO
• Vantagem
–Possibilita a correção de erros
nas fase(s) anterior(es), durante o
processo de desenvolvimento.
–Prevê manutenção
18
CASCATA 
C/RETROALIMENTAÇÃO
• Desvantagem
–Dependendo da quantidade de
revisões e realimentações, o
processo pode se tornar difícil
de gerenciar.
19
19
CASCATA 
C/RETROALIMENTAÇÃO
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 9
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
OBJETIVOS DA AULA
▪ Conhecer os processos de 
desenvolvimento:
▪ Iterativo e Incremental
▪Prototipação
▪Espiral
CONTEXTO
◼Modelo Cascata
 Os projetos não tem características 
sequenciais → várias iterações
 Desenvolvimento de todo sistema
◼Modelo Iterativo-incremental
 Os projetos são desenvolvidos em 
porções (incremental), em várias 
iterações.
Ideia de melhoramento ou 
refinamentos sucessivos (aos poucos)
PROCESSO ITERATIVO
• Seleção de uma parte do projeto
– Identifica, especifica, implementa, 
testa e implanta a iteração
– Se atender as especificações, 
passa-se a próxima iteração.
PROCESSO ITERATIVO
PROCESSO INCREMENTAL
• Modelo que se baseia na idéia de
aumento do âmbito do sistema.
• Desenvolvimento em partes–Ou seja, na criação de novas
versões para o modelo proposto.
• As partes podem ser
desenvolvidas em paralelo e
integradas quando completas.
PROCESSO INCREMENTAL
MODELO ITERATIVO E 
INCREMENTAL
• Processo de desenvolvimento de software
que define:
– um subconjunto de requisitos e
– utiliza o modelo em cascata para sua
realização(em cada porção).
• Cada porção do ciclo segue o projeto de 
arquitetura inicial como guia, mas com uma 
abordagem bem menor. 
• Uma vez satisfeitos os requisitos e os 
objetivos da iteração(porção) forem 
completos, o desenvolvimento segue para a 
próxima iteração(próximo pedaço).
MODELO ITERATIVO E 
INCREMENTAL
• Os passos fundamentais são:
– iniciar o desenvolvimento com um 
subconjunto simples de Requisitos de 
Software e 
– iterativamente alcançar evoluções 
subseqüentes das versões até o 
sistema todo estar implementado. 
–A cada iteração, as modificações de 
projeto são feitas e novas 
funcionalidades são adicionadas.
MODELO ITERATIVO E 
INCREMENTAL
http://wapedia.mobi/pt/Requisitos_de_Software
http://wapedia.mobi/pt/Vers%C3%A3o
http://wapedia.mobi/pt/Funcionalidade
MODELO: PROTOTIPAÇÃO
• Criação de um modelo para ser 
analisado e desenvolvido a partir do 
protótipo
• O Analista coletará informações para 
um mini projeto, concentrando-se nas 
entradas e saídas do software.
• Após a criação e aceitação do 
protótipo, o produto final será 
desenvolvido.
• O protótipo serve como mecanismo 
para identificar os requisitos
• Tipos de protótipo:
– em papel ou sistema: retratam a interface e 
interação
– em sistema, implementando algumas funções
• Quando usar?
– O cliente definiu um conjunto de objetivos gerais 
para o software, mas não identificou requisitos 
de entrada, processamento e saída com 
detalhes 
– O desenvolvedor não tem certeza da eficiência 
de um algoritmo ou forma da interação. 
MODELO: PROTOTIPAÇÃO
MODELO: PROTOTIPAÇÃO
• 1- OBTENÇÃO DOS REQUISITOS 
– O desenvolvedor e o cliente definem os 
objetivos gerais do software, identificam quais 
requisitos são conhecidos e as áreas que 
necessitam de definições adicionais. 
• 2- PROJETO RÁPIDO 
– É a representação dos aspectos do software 
que são visíveis ao usuário (entrada e formatos 
de saída). 
• 3- CONSTRUÇÃO PROTÓTIPO 
– É a implementação do projeto rápido. Serve 
como o “primeiro sistema” - recomendado que 
não seja usado como produto final.
MODELO: PROTOTIPAÇÃO
• 4- AVALIAÇÃO DO PROTÓTIPO 
– Cliente e desenvolvedor avaliam o protótipo. 
• 5- REFINAMENTO DOS REQUISITOS: 
– Com base na avaliação, refinam o produto
– Ocorre neste ponto um processo de iteração 
que pode conduzir à atividade 1 até que as 
necessidades do cliente sejam satisfeitas e o 
desenvolvedor compreenda o que precisa ser 
feito. 
• 6- CONSTRUÇÃO PRODUTO: 
– A versão de produção deve ser construída 
considerando os critérios de qualidade. 
– Protótipo deve ser descartado
MODELO: PROTOTIPAÇÃO
MODELO: ESPIRAL
• O Modelo espiral se assemelha 
com o propotipação, mas inclui um 
fator: a análise de risco. 
• Funciona de forma iterativa, 
incremental, mas com uma etapa 
onde pode ser tomada a decisão de 
se interromper ou não o processo.
MODELO: ESPIRAL
• Cada volta da espiral representa uma 
fase do processo: 
• Planejamento: Definição os objetivos, 
alternativas e restrições
• Análise de Riscos: Análise de alternativas e 
identificação dos riscos sob o ponto de vista 
técnico e de gerência
• Engenharia: Desenvolvimento do produto
• Avaliação do cliente: Avaliação dos 
resultados
MODELO: ESPIRAL
• Não há fases fixas como especificação e 
desenho - as voltas na espiral são 
determinadas pelo que é requerido. 
• Riscos são explicitamente avaliados e 
resolvidos no processo 
• Engloba as melhores características do ciclo 
de vida Clássico e da Prototipação, 
adicionando um novo elemento: a ANÁLISE 
DOS RISCOS. 
• Usa a Prototipação, em qualquer etapa da 
evolução do produto, como mecanismo de 
redução de riscos. 
MODELO: ESPIRAL
• Vantagens
– Modelo evolutivo, possibilita uma maior 
integração entre as fases e facilita a depuração 
e a manutenção do sistema.
– Permite que o projetista e cliente possam 
entender e reagir aos riscos em cada etapa
evolutiva.
• Desvantagens
– Avaliação dos riscos exige muita experiência.
– O modelo é relativamente novo e não tem sido 
amplamente utilizado.
MODELO: ESPIRAL
COMPARATIVO
MODELO VANTAGENS DESVANTAGENS
CASCATA • MINIMIZA O TEMPO DE 
PLANEJAMENTO
• FUNCIONA COM EQUIPES 
TECNICAMENTE FRACAS
• INFLEXÍVEL
• DOCUMENTAÇÃO É 
FUNDAMENTAL
• DIFÍCIL VOLTAR ATRAS PARA 
CORREÇÃO DE ERROS
ESPIRAL • AS INTERAÇÕES INICIAS DO 
PROJETO SÃO AS MAIS 
BARATAS, PERMITINDO QUE AS 
TAREFAS DE MAIOR RISCO 
TENHAM CUSTO BAIXO.
• CADA ITERAÇÃO DA ESPIRAL 
PODE SER CUSTOMIZADA PARA 
AS NECESSIDADES ESPECÍFICAS 
DE CADA PROJECTO.
• É COMPLEXO E REQUER 
ATENÇÃO E CONHECIMENTO 
ESPECIAIS PARA SUA
IMPLEMENTAÇÃO
PROTOTIPAÇÃO • OS CLIENTES CONSEGUEM VER 
OS PROGRESSOS.
• É ÚTIL QUANDO OS REQUISITOS 
MUDAM RAPIDAMENTE E O 
CLIENTE ESTÁ RELUTANTE EM 
ACEITAR UM CONJUNTO DE 
REQUISITOS.
• É IMPOSSÍVEL DETERMINAR 
COM EXATIDÃO O TEMPO QUE 
O PROJETO VAI DEMORAR.
• NÃO HÁ FORMA DE SABER O 
NÚMERO DE ITERAÇÕES QUE 
SERÃO NECESSÁRIAS.
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA 10
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
AULA 1 – Prof. MARCELO VASQUES
OBJETIVOS DA AULA
▪ Conhecer os processos de 
desenvolvimento:
▪Ágeis – XP e SCRUM
▪RUP – Processo Unificado(formal) 
baseado em UML
2
AULA 1 – Prof. MARCELO VASQUES
CONTEXTO:ESTADO DA ARTE
3
❑ Engenharias Tradicionais valorizam o 
Projetar ANTES de Construir
❑ Engenharias Tradicionais não exergam
o processo de desenvolvimento de SW 
como ele é: Com mudanças sempre
❑ Necessidade: Metodologia que permita
alteração frequente do SW sem afetar sua
qualidade.
❑ Um grupo de desenvolvedores QUER
processo menos burocrático e + prático
AULA 1 – Prof. MARCELO VASQUES
ENGENHARIA DE SOFTWARE
4
AULA 1 – Prof. MARCELO VASQUES
DESEJO DAS METOD. ÁGEIS
5
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENV. ÁGIL
◼Baseado em um MANIFESTO, criado 
por desenvolvedores experientes
◼Estamos descobrindo maneiras 
melhores de desenvolver software, 
fazendo-o nós mesmos e ajudando 
outros a fazerem o mesmo. 
◼Foco em pessoas e não em 
ferramentas
◼Mudanças nos valores;
6
AULA 1 – Prof. MARCELO VASQUES
MANIFESTO ÁGIL
◼Valoriza-se:
Indivíduos e interações mais que 
processos e ferramentas
Software em funcionamento mais 
que documentação abrangente
Colaboração com o cliente mais 
que negociação de contratos
Responder a mudanças mais que 
seguir um plano 
7
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENV. ÁGIL
◼ Nossa maior prioridade é satisfazer o cliente 
◼ Mudanças nos requisitos são bem-vindas, 
mesmo tardiamente no desenvolvimento 
◼ Entregar frequentemente software 
funcionando – na menor escala de tempo 
possível.
◼ Pessoas de negócio e desenvolvedores 
devem trabalhar diariamente em conjunto 
por todo o projeto. 
8
AULA 1 – Prof. MARCELO VASQUES
◼ Construa projetos em torno de indivíduos 
motivados. Dê a eles o ambiente e o suporte 
necessário 
◼ O método mais eficiente e eficaz de 
transmitir informações para e entre uma 
equipe de desenvolvimento é através de 
conversa
◼ Software funcionando é a medida primária de 
progresso 
PROCESSO DE DESENV. ÁGIL
9
AULA 1 – Prof. MARCELO VASQUES
◼Em intervalos regulares, a equipe 
reflete sobre como se tornar mais 
eficaz e então refina e ajusta seu 
comportamento
◼ (auto-regulamentação da equipe)
PROCESSO DE DESENV. ÁGIL
10
AULA 1 – Prof. MARCELO VASQUES
• XP= eXtreme Programming.
• Baseado em 5 valores
– Comunicação, 
– Coragem (para lidar c/ mudança 
requisito) 
– Feedback, 
– Respeito (entre membros da equipe) 
– Simplicidade (fazer o necessário).
MÉTODO XP
11
AULA 1 – Prof.MARCELO VASQUES
PRÁTICAS DO MÉTODO XP
12
AULA 1 – Prof. MARCELO VASQUES
PRÁTICAS DO MÉTODO XP
13
AULA 1 – Prof. MARCELO VASQUES
MÉTODO SCRUM
◼O Scrum é um processo de
desenvolvimento iterativo e incremental
para gerenciamento de projetos e
desenvolvimento ágil de software
◼Uso: trabalhos complexos, onde não há
previsão exata do que se pretende
desenvolver
◼O projeto é dividido em ciclos (sprints)
◼O sprint é a iteração, no caso do
SCRUM
14
http://pt.wikipedia.org/wiki/Desenvolvimento_iterativo_e_incremental
http://pt.wikipedia.org/wiki/Gerenciamento_de_projetos
http://pt.wikipedia.org/wiki/Desenvolvimento_%C3%A1gil_de_software
AULA 1 – Prof. MARCELO VASQUES
MÉTODO SCRUM
15
AULA 1 – Prof. MARCELO VASQUES
MODELO SCRUM
◼ Product Backlog
Lista com Funcionalidades a serem
implementadas.
◼ Sprint Backlog
Análise dos requisitos para informar equipe
como será implementado.
◼ Sprint
Período para finalização de cada requisito
◼ Scrum
Reunião diária para análise de andamento
◼ Scrum Master→ coordenador (não estourar o
sprint)
16
AULA 1 – Prof. MARCELO VASQUES
RUP - Rational Unified Process
Processo proprietário de desenvolvimento de
software, criado pela Rational, que foi adquirida
pela IBM.
Baseado em OO.
Processo pesado
Uso em grandes projetos(grandes empresas)
Desenvolver iterativamente
Gerenciar requerimentos → uso de casos de uso
Foca arquitetura baseada em componentes
Utiliza UML→ modelagem visual
Qualidade durante todo o processo
Gestão e controle de mudanças
17
AULA 1 – Prof. MARCELO VASQUES
RUP - Rational Unified Process
◼ Disciplinas + fases + iterações.
◼ Disciplinas
Modelagem de negócios
Requisitos
Análise e design
 Implementação
Teste
 Implantação
Configuração e mudanças
Projeto - PMBok PMI - (gestão de pessoas,
orçamento e contratos)
Ambiente (servidores, ferramentas, Bds..)
18
AULA 1 – Prof. MARCELO VASQUES
As FASES do RUP
19
AULA 1 – Prof. MARCELO VASQUES
RUP
20
AULA 1 – Prof. MARCELO VASQUES
RUP - Rational Unified Process
◼2 dimensões
 Eixo horizontal
 Representa o TEMPO
 Mostra os aspectos do ciclo de
vida a medida que se desenvolve:
FASES E ITERAÇÕES
 Eixo vertical
 Representa as DISCIPLINAS,
que agrupam as atividades.
21
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA Revisão AV1 – Aulas 1 a 5
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
▪ Revisar os conceitos das aulas
▪ 1: Conceitos, Ciclo de Vida e Processo de 
desenvolvimento de SW
▪ 2: Viabilidade, Levantamento de Requisitos
▪ 3: Fase de Análise: conceitos e modelos
▪ 4. Fase de Desenho (projeto): conceitos e 
modelos
▪ 5. Fase de Testes: conceitos e tipos
OBJETIVOS DA AULA
2
1) Analise as assertivas abaixo
I – Dados são um fato isolado, sem significado em si (V)
II – Informação é o resultado do processamento de dados (V)
III – Dado e informação são conceitos distintos e 
relacionados(V) 
IV – Pode-se ter informação de um e apenas um dado(F)
a. Estão corretas as assertivas I, II, III e IV
b. Estão corretas as assertivas II e III
c. Estão corretas I e II e III
d. Estão corretas I, III e IV
3
AULA 1
2) Considere o seguinte contexto. Num sistema de controle de 
estoque, tem-se as seguintes movimentações de um produto:
• Saldo inicial: 20 unidades
• Vendas de 30 unidades
• Compra de 20 unidades
Assinale a opção correta
a. Os dados de compra e venda são informações.(F)
b. O saldo inicial é uma informação, não é um dado. (F)
c. O saldo atual (10) é obtido com saldo inicial + compras –
vendas e é uma informação que pode ser obtida(V)
d. O saldo inicial(dado) e atual(informação) são as duas 
informações(erro) que podem ser obtidas do contexto 
apresentado (F)
4
AULA 1
3) Assinale a opção que não representa um sistema
a. Corpo humano
b. Chuveiro elétrico
c. Chave de porta
d. Sistema de numeração
4) Um conjunto de elementos, independentes que coleta, 
manipula e gera informações úteis é o conceito de:
a) Informação
b) Sistema
c) Sistema de informação
d) Sistema de Processamento de elementos
5
AULA 1
5) Com relação a Sistema de Informação, analise as assertivas
I. Só pode ser baseado em computador (F)
II. Pode ser manual e baseado em computador (V)
III. Hardware, software, bancos de dados, pessoas e 
procedimentos são elementos dos sistemas de informação 
baseados em computador(V)
IV. O Valor de um SI depende apenas das pessoas(F)
Com base em sua análise, assinale a alternativa correta
a. Estão corretas as assertivas II e III 
b. Estão corretas as assertivas II, III e IV
c. Estão corretas as assertivas I, III e IV
d. Estão corretas as assertivas I e III
6
AULA 1
6) Assinale a opção que NÃO representa uma possível causa 
de problemas com sistema de informação.
a) Má qualificação das pessoas que operam o sistema
b) Processos da empresa mal definidos
c) Tecnologia inadequada
d) Simplicidade dos sistemas nos dias de hoje.
7) Com relação aos processos de fabricação do HW (hardware) 
e do SW (software), assinale a opção correta
a) O processo do HW é manufaturado e do SW é fabricado em 
escala.
b) Os defeitos no HW acontecem no inicio e fim de suas vidas 
e o do SW na medida em que sofre alterações
c) O processo do SW e HW usam componentes padrões
d) Não há diferenças entre os processos de desenvolvimento 
do HW e do SW 7
AULA 1
8) Analise as assertivas abaixo e assinale a opção correta no 
que se refere ao processo de desenvolvimento de Software
I. O desenvolvimento de SW depende muito pouco do 
componente humano e muito da tecnologia.(F)
II. O processo de desenvolvimento de SW é muito pouco 
automatizado(V)
III. Existe forte pressão dos usuários para desenvolvimento 
rápido e de baixo custo.(V)
IV. Os projetos de SW geralmente encerram no prazo e custo 
planejados(F)
Com base em sua análise, assinale a assertiva correta
a. Estão corretas as opções I, II e III
b. Estão corretas as opções II, III e IV
c. Estão corretas as opções II e III
d. Estão corretas as opções III e IV
8
AULA 1
9) Com relação ao ciclo de vida de um Sistema, assinale a 
opção incorreta:
a. Começa pela percepção de uma necessidade
b. Termina quando torna-se obsoleto, por exemplo
c. É desenvolvido e entra em operação
d. Inicia-se a manutenção “eterna”
10) Para cada assertiva abaixo, diga se V (verdade) ou F (falsa)
a. O processo de desenvolvimento é uma forma ordenada e 
sistemática de desenvolver software.(V)
b. O processo de desenvolvimento é divido em fases.(V)
c. Em cada fase do processo, se conhece mais do sistema(V)
d. Todas as empresas tem que ter as mesmas fases no 
processo de desenvolvimento de software(F)
e. Todo sistema é viável de ser desenvolvido(F)
9
AULA 1
9) Associe as 2 colunas
I. Escopo (C) a. Necessidade do usuário
II. Requisito (a) b. Sistema atual
III. Técnica de levantamento c. Abrangência do sistema
de requisitos (d) d. Entrevista
IV Alta complexidade
I – c; II – a; III – d; IV – b
10) Por que a fase de levantamento de requisitos é fundamental 
para o processo como um todo?
Resp: porque é nessa fase que vamos conhecer as 
necessidades dos usuários e consequentemente o que o 
sistema precisa fazer (requisitos)
10
AULA 1
11) Cite consequências de um levantamento de dados mal feito.
Resp: a) Má definição do escopo, ou seja sistema não fará o 
que se deseja que ele faça
b) Haverá mudança nos requisitos incialmente identificados, 
gerando retrabalho, alteração de cronograma e orçamento
c) A equipe fica desmotivada com o retrabalho e cai a 
produtividade
d) O cliente fica insatisfeito
e) O sistema não terá qualidade, pois atender ao que os 
usuários desejam é o primeiro critério de qualidade.
12) Por que o processo de desenvolvimento de software deve 
ter qualidade?
Resp: por que a qualidade do software é influenciada pela 
qualidade no processo de desenvolvimento do software
11
AULA 1
13) Marque as opções que representam ações que 
incrementam qualidadeno processo de desenvolvimento
a. Planejamento ( V )
b. Análise de riscos ( V )
c. Acompanhamento e controle do projeto ( V )
d. Correção rápida de problemas ( V )
14) Explique a dificuldade em desenvolver software hoje.
Resp: O software atual é complexo e grande, demandando 
muito tempo e grandes e especializadas equipes de 
profissionais, o que é difícil de administrar e bastante caro. Ou 
seja a gestão fica mais complexa. Não existe ferramenta única 
de automação total do processo de desenvolvimento.
12
AULA 1
15) Dentre as vantagens em se usar claros processos de 
desenvolvimento de sw, destacam-se:
a. Facilitam o processo de desenvolvimento na medida em que 
mais detalhes do sistema são conhecidos a medida em que 
se avança no trabalho.
b. Cria um padrão, para todos seguirem, na tentativa de 
redução a subjetividade no processo de desenvolvimento
c. Confere qualidade ao software
13
AULA 1
14
Aula 1
Requisitos
Testes Desenho
Implementação
Análise 
Manutenção
Implantação
Concepção
15
AULA 2
Requisitos
Testes
DesenhoImplementação
Análise 
Manutenção
Implantação
Concepção
• Análise de Viabilidade
• Técnica
• Operacional
• Econômica
• Cronograma
1) Com relação a fase de concepção, do processo de 
desenvolvimento de software, analise as assertivas abaixo
I. É a fase inicial, onde como diz o nome surge a idéia ou a 
necessidade para desenvolver o sistema.(V)
II. É a fase onde todos os requisitos são levantados (F)
III. É feito um estudo de viabilidade, pondendo o sistema nem 
ser desenvolvido (V)
IV. Poderia não existir e passar direto a fase de análise.(F)
Com base nas análise das assertivas assinale a opção correta.
a. Estão corretas as assertivas I e II
b. Estão corretas as assertivas II e III
c. Estão corretas as assertivas I e III
D Estão corretas as assertivas I, II e III
16
AULA 2
1) Assinale a alternativa correta com relação Análise de 
Viabilidade
I. Viabilidade operacional (d) a. Restrições de custo são atendias?
II. Viabilidade econômica (a) b. Restrições de prazo serão atendidas?
III. Viabilidade técnica (c) c. Existe tecnologia factível?
IV. Cronograma (b) d. Beneficia os interessados?
I – d; II – a; III – c; IV – b
2) Com relação ao ROI (Retorno sobre o investimento), assinale 
a alternativa Incorreta
a. % que mede a relação entre o quanto vai ser lucrado 
(receita menos despesa) e quanto se investe (V)
b. Permite avaliar também o tempo de retorno do investimento 
(V)
c. Quanto maior o valor, menor o ROI
d. O conceito de investimento engloba tudo que será gasto 
para desenvolver o sistema (V) 17
AULA 2
18
AULA 3
Requisitos
Testes
DesenhoImplementação
Análise 
Manutenção
Implantação
Concepção
• Necessidades dos usuários
• Restrições
• Funcionamento dos processos
3) Com relação aos conceitos de requisitos, assinale a 
alternativa incorreta
a. Refletem as necessidades de seus usuários.
b. Descrevem que funcionalidades o sistema terá
c. Revelam restrições e características das funcionalidades 
que o sistema fará.
d. Todos os requisitos são funcionais.
4) Classifique os requisitos abaixo em F (funcionais) e NF (não 
funcionais)
a. O sistema deve emitir o fluxo de caixa diariamente ( F )
b. O sistema deve permitir cadastrar todas as despesas. ( F )
c. O tempo de resposta da consulta deve ser inferior a 10s(NF)
d. O produto deve ter um código de barras EAN-13(NF)
19
AULA 3
4) Com relação aos chamados requisitos de usuários, diga se 
cada assertiva é V (verdadeira) ou F (falsa)
a. Descreve requisitos funcionais e não funcionais.(V)
b. Descreve os requisitos de forma detalhada (F)
c. Devem especificar o comportamento externo do sistema (V)
d. Exemplo: O sistema devem manter registro de todos os 
pagamentos.(V)
5) Com relação aos chamados requisitos de sistema, diga se 
cada assertiva é V (verdadeira) ou F (falsa)
a. São versões detalhadas dos requisitos de 
sistemas(usuário)(F)
b. Explicitam detalhes e mostram como os requisitos de 
sistema(usuário) devem ser atendidos pelo sistema.(F)
c. Escrito para clientes(a equipe de desenvolvimento)(F)
20
AULA 3
6) Com relação a técnica de entrevista analise as assertivas 
abaixo.
I. Deve ser usada na reuniões iniciais com o alto escalão (V)
II. Deve conter, preferencialmente, perguntas abertas(F)
III. É eficiente quando feita com maior número de pessoas.(F)
IV. Uma desvantagem é a possibilidade do entrevistador se 
perder ou ser persuadido pelo entrevistado.(V)
Assinale a opção correta
a. Estão corretas as assertivas I , II e IV
b. Estão corretas as assertivas I, III e IV
c. Estão corretas as assertivas II, e IV
d. Estão corretas as assertivas I e IV
21
AULA 3
7) Com relação a técnica de questionário, assinale a opção 
INcorreta
a. Deve ser usada quando a quantidade de usuários for grande
b. Focar em perguntas fechadas
c. Usada quando os usuários estão geograficamente distantes.
d. A vantagem é que o entrevistado tem todo o tempo que 
desejar (nunca deixar o usuario livre com tempo)
8) Com relação a técnica de Brainstorm, assinale cada opção 
como V (verdade) ou F (falsa).
a. Prevalecem as decisões consenso no grupo (V) 
b. Possibilita ouvir a todos, que devem se expressar.(V)
c. Possibilidade de identificar conflito entre as áreas;(V)
d. Poucos devem participar.(F)
22
AULA 3
9) Com relação ao caso de uso (diagrama e especificação), 
está incorreta a opção:
a. Útil para validar os requisitos junto aos usuários.
b. O diagrama de casos de uso mostra os requisitos de usuário
c. A especificação dos casos de uso explicitam os requisitos de 
sistema
d. É a mais eficiente das técnicas de levantamento de dados
10. Relacione as 2 colunas
I. Observação “in locco” a. útil para discussão entre 
áreas
II. JAD b. Entender um relatório
III. Análise de documentos c. Entender o dia a dia
23
AULA 3
9) Com relação ao caso de uso (diagrama e especificação), 
está incorreta a opção:
a. Útil para validar os requisitos junto aos usuários.
b. O diagrama de casos de uso mostra os requisitos de usuário
c. A especificação dos casos de uso explicitam os requisitos de 
sistema
d. É a mais eficiente das técnicas de levantamento de dados
10. Relacione as 2 colunas
I. Observação “in locco” (C) a. útil para discussão entre 
áreas
II. JAD (A) b. Entender um relatório
III. Análise de documentos (b) c. Entender o dia a dia
24
AULA 2
25
AULA 4
Requisitos
Testes
DesenhoImplementação
Análise 
Manutenção
Implantação
Concepção
• Modelagem da solução
• Modelagem dos processos
• O que o sistema deve fazer
1) Com relação a fase de Análise, dentro do processo de 
desenvolvimento de software, analise as assertivas abaixo
I. Visa estudar e entender os requisitos do sistema.(V)
II. Usa modelos para mapear os requisitos, facilitando o 
entendimento.(V)
III. Depende da tecnologia(F)
IV. Mostra apenas a estrutura do sistema(F)
Analise as alternativas e assinale a resposta correta
a. Estão corretas as assertivas I e III
b. Estão corretas as assertivas II e III
c,. Estão corretas as assertivas II e IV
d. Estão corretas as assertivas I e II
26
AULA 4
2) Com relação a técnica de analise essencial, assinale a opção 
falsa
a. O sistema é visto sob 2 perspectivas isoladas: dados e 
controles
b. O foco principal é analise funcional
c. O sistema é dividido em módulos
d. As funções são descobertas ao identificarmos os eventos 
que afetam o sistema
3) Com relação a técnica OO de análise, assinale a alternativa 
correta
a. Os dados e funções passam ser integrados num único 
elemento chamado de objeto.
b. Objeto é um conjunto de classes com as mesmas 
características. 
c. Os atributos encapsulam os métodos dos objetos
27
AULA 4
AULA 4
28
AULA 4
Diagrama de Casos de Uso Diagrama de Classe
Diagrama de Seqüência
29
AULA 4
30
30
AULA 3
31
31
Atendente
Emprestar
FITA
Pesquisar
SÓCIO
Selecionar
FITA
<Uses>
<Uses>
AULA 4
Definição do Casode uso : Emprestar Fita
Roteiro do Caso – Fluxo Principal
1. Atendente informa identificação do Sócio ao Sistema
2. Executar caso de uso “Pesquisar Sócio”
3. Para cada fita a ser emprestada
1. Atendente informa fita
2. Executar caso de uso “Pesquisar Fita”
4. Atendente confirma os dados 
5. sistema registra os empréstimos.
Fluxos Alternativos
2a. – Cliente não cadastrado. Sistema exibe esta msg e encerra o caso
2b. - Cliente está em Débito. Sistema exibe esta mensagem e encerra
caso.
3a. Fita não está cadastrada. Sistema exibe msg e encerra o caso
AULA 4
33
TIPOS
• CONCEITUAL
• ESPECIFICAÇÃO
• IMPLEMENTAÃO
AULA 4
: TelaSaque
Correntista
senha
C1: ContaCorrente
validarSenha(senha)
saque
verificarSaldo()
bloquearValor(saque)
debitarValor(saque)
aviso de liberação
L1: Lancamento
efetuarLancamento(C1)
efetuarLancamento(C1)
34
35
AULA 5
Requisitos
Testes
Desenho
Implementação
Análise 
Manutenção Implantação
Concepção
• Tecnologia
• Arquitetura do SW
• COMO o sistema deve fazer
AULA 5
• EXTERNA
– Visão do usuário
– Modelo de interação → interface
• INTERNA
– Componentes do sistema
– Relação entre os componentes
(acoplamento)
– Funcionamento do componente
– Interconexões com outros sistemas
AULA 5
AULA 4
▪REUTILIZAÇÃO
▪Idéia: usar o que já existe
▪Visa redução de tempo e R$
▪Garante a segurança: componente
usado e testado
▪Desenho
▪Classe
▪Código
39
AULA 5
Requisitos
Testes
Desenho
Implementação
Análise 
Manutenção Implantação
Concepção
• Unidade 
• Integração
• Validação
• Homologação
MODALIDADES DE TESTES
40
Requisitos
Testes
Desenho
Implementação
Análise 
Concepção
• Onde estão os erros?
Manutenção Implantação
TESTES ESTÁTICOS
• REVISÕES
• AUDITORIAS
TESTES ESTÁTICOS
• REVISÃO DE CÓDIGOTESTES DINÂMICOS
• EXECUÇÃO 
AULA 1 – Prof. MARCELO VASQUES
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
AULA Revisão AV2 – Aulas 1 a 10
Prof. MARCELO VASQUES
mvasqueso@gmail.com
1
▪ 1: Ciclo de Vida e Processo de SW
▪ 2: Viabilidade, Levantamento de Requisitos
▪ 3: Fase de Análise: conceitos e modelos
▪ 4. Fase de Desenho: conceitos e modelos
▪ 5. Fase de Testes: conceitos e tipos
▪ 6. Implementação
▪ 7. Suporte e Manutenção
▪ 8. Processos Clássicos (todo sistema)
▪ 9. Processos Iterativo incremental
▪ 10. Processos Ágeis e RUP
As Aulas
2
•Aula 6: Implementação
As Aulas
3
1. Com relação a fase de implementação, analise as assertivas
I. Na fase de programação é feito projeto da arquitetura do 
SW não
II. As empresas precisam seguir padrões para programar sim
III. As instruções do programa na LP constituem o código fonte 
sim
IV. O Código de maquina resulta da compilação do código fonte 
não
Com base em sua análise, assinale a opção correta
a) Estão corretas as opções I, II e III
b) Estão corretas as opções II e III
c) Estão corretas as opções II e IV
d) Estão corretas as opções I, II e III
e) Estão corretas as opções III e IV 4
AULA 6
2. Com relação as linguagens de programação, analise
I. A linguagem de máquina é uma e linguagem binária é outra, 
porém há uma relação entre elas falso.
II. A linguagem assembly dificultou a vida do programador, 
pois é mais complexa que a linguagem de máquina falso
III. Um programa em linguagem de alto nível tem menos 
instruções que o mesmo programa em linguagem de 
máquina certo
IV. O Montador converte linguagem assembly em linguagem de 
máquina certo
Com base em sua análise, assinale a opção correta
a) Estão corretas as opções I, II e III
b) Estão corretas as opções II e III
c) Estão corretas as opções III e IV
d) Estão corretas as opções I e II
5
AULA 6
3. A conversão da linguagem de alto nível em linguagem de 
baixo nível (máquina) pode ser realizada por 2 processos 
distintos. Assinale a opção que contém esses processos
a) Compilador e montador(elemento transforma assembler em 
maquina)
b) Montador e tradutor
c) Compilador e interpretador
d) Interpretador e link-editor
6
AULA 6
4. Um dos processos de conversão de linguagens de alto nível 
em linguagem de máquina chama-se interpretação e o outro 
compilação. Marque C a descrição do processo de compilação 
e I na descrição do processo de Interpretação
a) Traduz o código a medida em que o executa ___I___
b) Traduz o código e depois o executa ____C___
c) Param quando encontram um erro, na execução ___I___
d) Tem desempenho menor que o outro processo ___I___
e) Faz otimização no código fonte ___C___
5) Como se chama o programa que converte código assembly
em código de máquina R: __MONTADOR______________
6) Como se chama o programa que converte vários códigos 
objetos (maquina) em um executável: R: __LINK EDITOR___
7
AULA 6
8
AULA 6
6) Um único compilador poder gerar código de máquina para 
diferentes sistemas operacionais? E para diferentes 
processadores?
Resp: Não. O compilador é dependente do hardware e do SO, 
ou seja para a linguagem X, existira um compilador Y para 
Windows e um compilador Z para MAC 
7) E como então a linguagem JAVA é dita portável (entre 
sistemas operacionais, por exemplo)?
Resp: Ela tem um único compilador, lê o código fonte em 
linguagem de alto nível que gera um código intermediário 
chamado BYTECODE e para cada plataforma existirá um 
interpretador JAVA, que transforma o bytecode em linguagem 
de máquina para cada plataforma.
- Esse interpretador é a chamada máquina virtual em JAVA.
9
AULA 6
10
AULA 6
8) Um componente á a menor unidade de software, que pode e 
deve ser reaproveitada. Sobre o conceito de componente e 
programação baseada em componentes, assinale a opção 
INCORRETA
a) O componente deve ser o mais independente possível (V)
b) Ganha-se em agilidade com uso de componentes(V)
c) O custo aumenta com uso de componentes(F)
d) Aumenta a segurança com o uso de componentes.(V)
9) Sobre a programação em PAR assinale a assertiva Correta:
a) Dois ou mais programadores trabalham juntos
b) Um programador é o líder e os demais submissos
c) Tende a aumentar a incidência de bugs em sistemas
d) Explora a diversidade de idéias e é útil para treinamento de 
programadores inexperientes.
11
AULA 6
Aula 7: Suporte e 
Manutenção
12
AULA 7
1) Com relação a fase de manutenção, assinale a ÚNICA 
resposta INCORRETA
a) Inicia quando o usuário começa a usar o sistema.(V)
b) Termina quando instala-se a 1ª. Versão de correção 
c) O custo da manutenção historicamente tem sido alto(V)
d) O Ciclo de vida do sistema inclui a manutenção, além do 
seu ciclo de desenvolvimento (V) 
2) Analise cada assertiva e diga se V ou F
a) Quanto maior o tempo da fase de manutenção de um 
sistema, maior será sua vida útil..(F)
b) Quanto mais qualidade houver no desenvolvimento, mais 
qualidade tende a ter a manutenção(V)
c) O grande desafio da manutenção é manter a documentação 
atualizada(V)
13
AULA 7
3) Com relação a fase de manutenção, analise as assertivas
I. A fase de manutenção só cuida de erros (F)
II. O sistema so possui a fase de manutenção quando tiver 
novas implementações a serem desenvolvidas (F)
III. A manutenção envolve ajustes de erros, melhorias das 
funções existentes, e implementação de novas funções 
a) Estão corretas as opções I, II e III
b) Estão corretas as opções I e II
c) Apenas opção II está correta
d) Apenas opção III está correta.
14
AULA 7
4) Assinale a opção que expressa o nome da técnica que 
permite alterar a estrutura de um software, sem alterar o seu 
comportamento
a) Efeito dominó (F)(alterar parte do sistema e mexe em outra)
b) Arquitetura flexível. 
c) Comportamento linear
d) Refatoração (V)
5) Dentre as opções abaixo, qual não afeta o custo de 
manutenção de um sistema
a) Rotatividade e disponibilidade de pessoal. (afeta o custo) 
b) Linguagem de programação que poucos conhecem (afeta)
c) Qualidade do projeto e de sua documentação (afeta)
d) Ambiente do sistema, que não se modifica. Não afeta o 
custo
15
AULA7
6) O efeito dominó é um problema que ocorre quando se altera 
um programa em que a mudança em uma parte do sistema 
reflete no comportamento de outras partes, aparentemente sem 
relação entre si. Esse problema acontece quando:
a) O sistema tem alto acoplamento e coesão
b) O sistema tem alto acoplamento e alta coesão
c) O sistema tem baixo acoplamento e alta coesão
d) O sistema tem alto acoplamento e baixa coesão
O bom é baixo acoplamento e alta coesão
7) Como as demandas de manutenção devem ser tratadas?
a) Tratar cada demanda imediatamente após seu relato (F)
b) Tratar as demandas como um projeto 
c) Tratar as demandas sempre uma vez ao mês (F)
d) Tratar apenas as demandas de novas implementações.(F)
16
AULA 7
8) Com relação as intervenções para atender demandas da 
fase de manutenção, analise as assertivas abaixo:
I. Intervenções podem e devem acontecer sempre que 
necessário (F)
II. Intervenções causam instabilidade no ambiente (V)
III. Intervenções devem acontecer de forma controlada (V)
IV. As demandas de manutenção devem ser acumuladas até 
que justifiquem uma intervenção (V)
Com base em sua análise, assinale apção correta
a) Estão corretas apenas I, II e III
b) Estão corretas apenas II e III
c) Estão corretas apenas II, III e IV
d) Estão corretas I e II
17
AULA 7
9) Com relação ao período que antecedeu o processo de 
desenvolvimento clássico, NÃO podemos afirmar
a) Os programadores baseavam-se praticamente em suas 
experiências, apenas. (V)
b) Partia-se direto para desenvolver o código em linguagem de 
programação (V)
c) Haviam testes de qualidade desde sempre(F)
d) Não havia procedimento claramente definido.(V)
10) Com relação ao ciclo de desenvolvimento (ou de projeto) de 
um sistema, assinale a opção correta
a) É o mesmo que ciclo de vida(F) é desenvolvimento + 
manutenção.
b) É o período que vai da concepção a “morte” do sistema(F) é 
o ciclo de vida
c) É o período que inicia com a concepção e termina com a 
implantação do sistema (V)
d) Inclui a fase de manutenção(F) não inclui a fase de 
18
AULA 8
11) Com relação ao modelo em Cascata Clássico, analise as 
assertivas abaixo
I. Tipicamente linear, ou seja sequencial e para frente. (V)
II. Demandava “congelamento” dos requisitos levantados, sem 
possibilitar novos ou alterações dos iniciais. (V)
III. Sem padronização e documentação eficiente (V)
IV. Usuário recebe parte do sistema, de tempos em tempos (F) 
recebia o sistema todo no final
Assinale a assertiva correta com base em sua análise
a) Estão corretas apenas as opções II e III
b) Estão corretas apenas as opções I e III
c) Estão corretas apenas as opções I e II
d) Estão corretas apenas as opções I, II e III
e) Estão corretas apenas as opções I, II e IV
19
AULA 8
12) Analise cada assertiva quanto a ser V ou F
I. O processo Em cascata com retroalimentação ajusta o 
principal problema do processo Em cascata Clássico, que 
era a aceitação de mudanças nos requisitos.(V)
II. O retrocesso no processo com retroalimentação só 
acontecia até a fase anterior. (F)
III. Não prevê manutenção(F)
IV. Facilmente gerenciável, mesmo com os retrocessos a fases 
anteriores.(F)
Com base em sua análise, marque a correta sequencia de V/ F
a) V, F, F, F
b) F,F,F.F,F
c) V,V,V,F
d) V,V,F,V
20
AULA 8
13) Com relação aos processos de desenvolvimento de SW, 
analise a assertiva falsa
a) Os projetos não tem características sequencias, como 
requerido pelos processos em cascata (clássico e com 
retroalimentação) (V)
b) Os modelos de processo em cascata não pressupõem o 
desenvolvimento de todo o sistema, em cada fase. (F)
c) No processo iterativo o sistema é dividido em várias 
porções (iterações) (V)
d) No processo incremental a cada iteração o sistema sofre 
acréscimo de tamanho , até que fique pronto.(V)
21
AULA 9
14) Sobre o modelo iterativo-incremental, diga se V ou F
a) Usa o modelo em cascata para desenvolver cada iteração. 
(V)
b) Uma iteração deve começar definindo um conjunto de 
requisitos do software e termina com sua implantação(V)
c) O usuário só faz contato com o sistema após a última 
iteração estar pronta(F)faz contato a cada iteração
d) As modificações do projeto não podem ocorrer a cada 
iteração e sim apenas ao final de todas as iterações 
prontas.(F)
Assinale a correta sequencia de V e F
a) V,V.V,V
b) V,V,F,F
c) V,V,V,F
d) F,F,V,F 22
AULA 9
15) Assinale a opção que representa a correta divisão de 
TODAS as fases do modelo de prototipação.
a) Obtenção de requisitos, projeto rápido, construção do 
protótipo, refinamento de requisitos, Construção do produto **
b) Obtenção de requisitos, projeto rápido, construção do 
protótipo, refinamento de requisitos
c) Obtenção de requisitos, construção do protótipo, 
Refinamento de requisitos, construção do produto
d) Obtenção de requisitos, projeto rápido, construção do 
protótipo, construção do produto
23
AULA 9
16) Com relação a prototipação, assinale a opção INCORRETA
a) O protótipo é um meio para que sejam definidos os 
requisitos, em tipos de projetos onde esses não são claros 
desde o inicio. (V)
b) O produto final é ultimo protótipo gerado. (F)
c) Pode-se usar protótipos em papel, para que aconteça o 
mais cedo possível.(V)
d) É do tipo iterativo-incremental.(V)
17) O que de melhor trás de novidade o processo espiral?
R: a análise de riscos
18) O processo espiral usa a prototipação.
24
AULA 9
25
AULA 9
MODELO VANTAGENS DESVANTAGENS
CASCATA • MINIMIZA O TEMPO DE 
PLANEJAMENTO
• FUNCIONA COM EQUIPES 
TECNICAMENTE FRACAS
• INFLEXÍVEL
• DOCUMENTAÇÃO É 
FUNDAMENTAL
• DIFÍCIL VOLTAR ATRAS PARA 
CORREÇÃO DE ERROS
ESPIRAL • AS INTERAÇÕES INICIAS DO 
PROJETO SÃO AS MAIS 
BARATAS, PERMITINDO QUE AS 
TAREFAS DE MAIOR RISCO 
TENHAM CUSTO BAIXO.
• CADA ITERAÇÃO DA ESPIRAL 
PODE SER CUSTOMIZADA PARA 
AS NECESSIDADES ESPECÍFICAS 
DE CADA PROJECTO.
• É COMPLEXO E REQUER 
ATENÇÃO E CONHECIMENTO 
ESPECIAIS PARA SUA
IMPLEMENTAÇÃO
PROTOTIPAÇÃO • OS CLIENTES CONSEGUEM VER 
OS PROGRESSOS.
• É ÚTIL QUANDO OS REQUISITOS 
MUDAM RAPIDAMENTE E O 
CLIENTE ESTÁ RELUTANTE EM 
ACEITAR UM CONJUNTO DE 
REQUISITOS.
• É IMPOSSÍVEL DETERMINAR 
COM EXATIDÃO O TEMPO QUE 
O PROJETO VAI DEMORAR.
• NÃO HÁ FORMA DE SABER O 
NÚMERO DE ITERAÇÕES QUE 
SERÃO NECESSÁRIAS.
19) Marque a opção que NÃO representa uma característica 
dos processos de desenvolvimento ágeis, onde valoriza-se
a) Mais indivíduos e interações do que processos e 
ferramentas(V)
b) Menos documentação abrangente e mais software em 
funcionamento(V)
c) Mais colaboração com cliente do que negociação de 
contratos.(V)
d) Mais seguir um plano do que responder a mudanças (F)
26
AULA 10
20) Com relação aos métodos XP e Scrum, representantes dos 
processos de desenvolvimento ágeis, associe as 2 colunas.
I. ( d) Iteração no Scrum a. Feedback
II ( c) Sprint backlog b. Dividem o código a 
implementar
III ( a) Um dos valores do XP c. Requisitos a serem 
implementados no Scrum
IV ( b) Programação em par d. Sprint
I-d; II-c; III-a IV-b 
27
AULA 10
21) 0) Como funciona a programação em par, proposta 
pelo método ágil, de nome XP (extremme 
programming).
resp: Formada por uma dupla no papel de iniciante e 
de instrutor. Como utilizam um único computador, o 
código passa automaticamente pelo crivo de duas 
pessoas, enriquecendo o código.
28
AULA 10
03/10/12 Visualização de Prov a
1/4https://sia.estacio.br/portal/prt0010a.asp?p1=4262224&p2=12200&p3=1382471
Avaliação On-Line
Avaliação: AV1.2012.3EAD-PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE-CCT0194
Disciplina: CCT0194 - PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE
Tipo de Avaliação: AV1
Aluno: 201201170541 - MARCO ANTONIO SILVA JORGE
Nota da Prova: 3.5 Nota do Trabalho: 0 Nota da Participação: 1 Total: 4,5
Prova On-Line
Questão: 1 (123006) 
Com relação ao nível de abstração e agregação dos elementos dos sistemas o nível estratégico
é: Pontos

Outros materiais