Buscar

03 metodologias tracidionais

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 9 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 9 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 9 páginas

Prévia do material em texto

1
Qualidade de Software
Ementa
1
METODOLOGIAS DE 
PROCESSOS TRADICIONAIS
Prof.ª Poliana Corrêa - poliana.correa@sga.pucminas.br
Pontifícia Universidade Católica de Minas Gerais (PUC Minas)
Qualidade de Software
Ementa
2
RELEMBRANDO
� Modelos de ciclo de vida de software
� Determina marcos temporais no desenvolvimento do software
Qualidade de Software
Ementa
3
RELEMBRANDO
� Processo = receita seguida por um projeto
� Projeto (abstrato) -> Processo (receita) -> Produto
Qualidade de Software
Ementa
4
RELEMBRANDO
� Processo de software é um conjunto de atividades que levam à
produção de um produto de software
� Processos reais de software são intercalados com sequências de
atividades técnicas, de colaboração e de gerência
� Objetivo: especificar, projetar, implementar e testar
Faz uso de uma variedade de diferentes
ferramentas de software (para apoiar desde uma
simples edição de documentos até o
gerenciamento de um projeto de grande porte)
Qualidade de Software
Ementa
5
PERSONALIZAÇÃO DE PROCESSOS
� Os modelos de processo definem aspectos principais
� Ponto de partida ☺
� A maioria das configurações de processo também podem ser
personalizados de acordo com a organização, objetivos,
características da equipe, critérios exigidos pelos clientes, etc.
Qualidade de Software
Ementa
6
MODELO DE PROCESSO PESSOAL
� Todo desenvolvedor usa algum processo para construir softwares
� O processo pode ser aleatório, pode
modificar-se diariamente, pode não ser
eficiente ou efetivo, mas existe um processo
� O melhor processo de software é aquele que
se aproxima do pessoal que fará o serviço
� “Uma pessoa que é bem-sucedida
simplesmente criou o hábito de fazer coisas
que as pessoas malsucedidas não vão fazer”
(Dexter Yager)
2
Qualidade de Software
Ementa
7
MODELO DE PROCESSO PESSOAL
� PSP (Processo Pessoal de Software, do inglês Personal Software
Process), proposto por Watts Humphrey
� Enfatiza a medição pessoal em termos do produto de trabalho que é
produzido e da qualidade resultante do mesmo
� Torna o profissional responsável pelo planejamento do projeto (por
exemplo, fazer orçamentos e cronogramas) e controlar a qualidade de todos
os produtos de trabalho de software desenvolvidos
� Ressalta a necessidade de cada engenheiro de software identificar logo os
erros e entender os tipos de erros que ele tende a fazer
� Avaliação de rigorosa de tudo que é feito
Qualidade de Software
Ementa
8
MODELO DE PROCESSO PESSOAL
� Atividades do PSP
� Planejamento: desenvolve estimativas de tamanho, recursos e de defeitos,
só então identifica as tarefas e cria-se um cronograma
� Projeto de alto nível: projeto de componentes e protótipos são construídos
(se houver incerteza)
� Revisão do projeto de alto nível: métodos de verificação formal são
aplicados para descoberta de erros
� Desenvolvimento: refinamento do projeto em nível de componente, o
código gerado é revisado, compilado e testado
� Pós-conclusão: efetividade do processo é determinada com base nas
medidas e métricas coletadas
Estimula o aperfeiçoamento da efetividade pessoal ☺☺☺☺
Qualidade de Software
Ementa
9
MODELO DE PROCESSO PESSOAL
� PSP na indústria de software
� Abordagem disciplinada, baseada na métrica, quando empregado
adequadamente aumenta de forma significativa o aperfeiçoamento
resultante na produtividade e qualidade do software
� Porém, pode levar a um choque de culturas em muitos profissionais
� É desafiador e exige um bom nível de comprometimento das pessoas
� Treinamento é demorado e os custos são altos, nível de medição difícil
� PSP não tem sido amplamente adotado pela indústria �
Qualidade de Software
Ementa
10
MODELO DE PROCESSO EM EQUIPE
� TSP (Processo de Equipe de Software, do inglês Team Software
Process) também proposto por Watts Humphrey
� Projetos de software a nível industrial são desenvolvidos por uma
equipe de profissionais
� Objetivo: equipe “autodirigida” que se organize para produzir softwares de
alta qualidade
“Encontrar bons jogadores é fácil.
Conseguir que eles joguem como
uma equipe é outra história”
(Casey Stengel)
Qualidade de Software
Ementa
11
MODELO DE PROCESSO EM EQUIPE
� Uma equipe “autodirigida” tem um entendimento consistente de
suas metas, define papéis e responsabilidades para cada membro,
define normas, avalia continuamente além de monitorar, gerenciar
e relatar o estado do projeto
� Atividades: lançamento, projeto de alto nível, implementação,
integração e teste, e pós-conclusão
� Essas atividades permitem que a equipe planeje, projete e
construa softwares de modo disciplinado, e ao menos tempo,
meça quantitativamente o processo e o produto, preparando o
para aperfeiçoamento do processo (no pós-conclusão)
Qualidade de Software
Ementa
12
MODELO DE PROCESSO EM EQUIPE
� TSP usa uma grande variedade de documentos, formulários e
normas para guiar os membros da equipe no trabalho deles
� Documentos contém uma sequência de tarefas recomendáveis
� Reconhece que as melhores equipes são autodirigidas
� É uma abordagem rigorosa que fornece benefícios em
produtividade e qualidade
� Porém, a equipe deve estabelecer um total comprometimento
com o processo e deve passar por treinamento para que a
abordagem seja propriamente aplicada
3
Qualidade de Software
Ementa
13
METODOLOGIAS DE PROCESSOS
“Já faz alguns anos que o 
desenvolvimento de software deixou de 
ser sinônimo apenas de código. Hoje em 
dia, sabe-se que é necessária a utilização 
de uma metodologia de trabalho”
Qualidade de Software
Ementa
14
METODOLOGIAS DE PROCESSOS
“Os modelos de processos discutidos devem ser adaptados para o uso de uma equipe 
de projeto de software. Para conseguir isso, foram desenvolvidas ferramentas de 
tecnologia de processo a fim de ajudar as organizações a analisar seu processo atual, 
organizar tarefas de trabalho, controlar e monitorar o progresso e gerenciar a 
qualidade técnica”
Qualidade de Software
Ementa
15
METODOLOGIAS DE PROCESSOS
� Todos os processos devem incluir quatro atividades fundamentais
Especificação 
de software
Estudo de 
viabilidade
Elicitação e 
análise de 
requisitos
Especificação de 
requisitos
Validação de 
requisitos
Projeto e 
implementação 
de software
Projeto de 
arquitetura
Projeto de 
interface
Projeto de 
componente
Projeto de banco 
de dados
Validação de 
software
Testes de 
desenvolvimento
Testes de 
sistema
Testes de 
aceitação
Evolução do 
software
Processo 
contínuo de 
manutenção
Qualidade de Software
Ementa
16
METODOLOGIAS DE PROCESSOS
� Metodologias de processos (ou modelos de processos ou
paradigmas de processos) são modelos genéricos de processos
� Não são descrições definitivas dos processos de software
� São abstrações que podem ser usadas para explicar diferentes abordagens
de desenvolvimento de software
� Cada modelo define um fluxo de trabalho e dita a ordem em que as
atividades devem ser executadas
� Podem ser vistos como frameworks de processos que podem ser
ampliados e adaptados para criar processos de engenharia de
software mais específicos
Qualidade de Software
Ementa
17
METODOLOGIAS DE PROCESSOS
TRADICIONAIS
ÁGEIS
Qualidade de Software
Ementa
18
METODOLOGIAS TRADICIONAIS
� Também chamadas de metodologias prescritivas ou pesadas ou
orientadas a documentação
� Criadas para colocar ordem no “caos” do desenvolvimento de software
� Apresenta natureza iterativa e incremental
� Abordagens mais modernas
� Foco para controlar o processo de desenvolvimento de software 
ainda é o planejamento muito bem documentado
� Compreender o domínio do problema antes de iniciar a codificação
�Mudanças controladas
4
Qualidade de Software
Ementa
19
METODOLOGIAS TRADICIONAIS
� Metodologias tradicionais mais conhecidas
� UP (Unified Process, Processo unificado)
� RUP (Rational Unified Process)
Qualidade de Software
Ementa
20
BREVE HISTÓRICO
� Década de 80 e início da década de 90: grande crescimento das
linguagens de programação orientadas a objetos
� No início da década de 90, James Rumbaug, Grady Booch e Ivar
Jacobson começaram a trabalhar em um “método unificado”
� O resultado foi a UML – uma linhagem unificada de modelagem que contém
uma notação robusta para a modelagem e desenvolvimento de softwares
orientados a objetos
� Ao mesmo tempo, a Rational Corporation e outros vendedores
desenvolveram ferramentas automatizadas para apoiar os
métodos da UML
Qualidade de Software
Ementa
21
BREVE HISTÓRICO
� Embora a UML forneça tecnologia necessária para apoiar práticas
orientadas a objetos, ela não fornece um arcabouço de processo
para guiar as equipes de projeto na aplicação da tecnologia
� Nos cinco anos seguintes, Jacobson, Rumbaugh e Booch
desenvolveram o Processo Unificado
� Trata-se de um arcabouço de processo de desenvolvimento de
software para a engenharia orientada a objetos usando a UML
Qualidade de Software
Ementa
22
PROCESSO UNIFICADO - UP
� Primeiro modelo de processo inteiramente adaptado ao uso com a
UML, concebido com base nas práticas de maior retorno de
investimento no mercado
� Tentativa de apoiar-se nos melhores recursos e características dos
modelos convencionais de processo de software, mas caracterizá-
los de um modo iterativo e incremental
� Reconhece a importância da comunicação com o cliente e dos métodos
para descrever a visão do cliente (caso de uso)
� Enfatiza o papel da arquitetura de software e ajuda o arquiteto a se
concentrar nas metas corretas, tais como compreensibilidade, abertura e
modificações futuras e reuso
Qualidade de Software
Ementa
23
PROCESSO UNIFICADO - UP
� As atividades do UP são bem definidas
� Descrição clara e precisa
� Apresenta responsáveis para cada atividade
� Artefatos de entrada e saída são determinados
� As dependências entre as atividades são estabelecidas
� Modelo de ciclo de vida bem definido
� Descrição sistemática de como podem ser executadas com ferramentas
disponibilizadas (procedimentos)
� Preconiza o uso da linguagem UML
� Incluem workflows (fluxos de trabalho)
� Grafos que descrevem as dependências entre as atividades
� Associados às disciplinas do Processo Unificado (podem variar de
implementação para implementação)
Qualidade de Software
Ementa
24
PRINCÍPIOS DO UP
� Iterativo e incremental
� O desenvolvimento é organizado em “mini-projetos”
� Cada iteração é um “mini-projeto” tem atividades de análise, projeto,
implementação e testes e resulta em um incremento na versão atual do
sistema
� Há refinamentos e incrementos sucessos até formar o software completo
� Em cada iteração, o engenheiro de software seleciona os casos de uso mais
relevantes para serem integrados à arquitetura
� O resultado de cada iteração é um sistema executável, porém incompleto
• Pode ser necessário executar diversas iterações até o software ser concluído
5
Qualidade de Software
Ementa
25
PRINCÍPIOS DO UP
� Iterativo e incremental
FONTE: http://www.devmedia.com.br/introducao-ao-processo-unificado/3931
Qualidade de Software
Ementa
26
PRINCÍPIOS DO UP
� Orientado a casos de uso
� Entrada para a maioria das atividades do processo
� Caso de uso: descreve uma sequência de ações que são realizadas por um
ator à medida que o ator interage com o software
� Ajudam a identificar o escopo do projeto e fornece a base para o
planejamento do projeto
� Cada iteração tem um conjunto de casos de uso ou de cenários de
requisitos durante todo o tempo de implementação e teste
Qualidade de Software
Ementa
27
PRINCÍPIOS S DO UP
� Orientado a casos de uso
FONTE: http://www.dimap.ufrn.br/~jair/ES/exemplos/casosdeuso.html
Qualidade de Software
Ementa
28
PRINCÍPIOS DO UP
� Centrado na arquitetura do sistema
� Visão de como o sistema pode ser construído
� A arquitetura ajuda a dar forma ao sistema da mesma forma que os casos
de uso sustentam as funcionalidades
� Pelo menos, entre 5 e 10% dos casos de uso devem ser implementados na
arquitetura inicial
� Envolve questões de desempenho, escalabilidade, reuso, restrições
� Deve ser robusta, flexível, expansível e de custo viável
Qualidade de Software
Ementa
29
PRINCÍPIOS DO UP
� Exemplo: arquitetura em camadas
Fonte: http://www.dca.ufrn.br/~anderson/FTP/dca0120/P2_Aula2.pdf
Qualidade de Software
Ementa
30
PRINCÍPIOS DO UP
� Focado em riscos
� Priorização dos casos de uso mais críticos nos primeiros ciclos iterativos
� Os riscos devem ser tratados o quanto antes para que esse risco seja
resolvido enquanto o custo de tratá-lo ainda é baixo e o tempo disponível
para lidar com “surpresas” é relativamente grande
� Garante o maior aprendizado sobre o sistema e decisões arquiteturais mais
importantes
6
Qualidade de Software
Ementa
31
FASES DO PROCESSO UNIFICADO
Fase Descrição
Concepção
Abrange atividades de comunicação com o cliente e de
planejamento, trata-se de uma visão em abrangência do sistema. Um
modelo conceitual preliminar é construído.
Elaboração
Inclui a comunicação com o cliente e atividades de modelagem do
modelo genérico de processo. O objetivo é o detalhamento e análise
expandida dos casos de uso.
Construção
Usando o modelo arquitetural como entrada visa desenvolver os
componentes de software que vão os casos de uso operacionais.
Consiste na geração de código e testes do sistema.
Transição
O software é entregue aos usuários para testes finais e relatórios de
feedback sobre defeitos e modificações. Abrange a implantação do
sistema no ambiente final.
� Fases do UP
Qualidade de Software
Ementa
32
MARCOS DO PROCESSO UNIFICADO
Fase Marco/Milestone
Concepção LCO (Lifecycle Objective Milestone) ou marco do ciclo de vida
Elaboração LCA (Lifecycle Architecture Milestone) ou marco da arquitetura
Construção
IOC (Initial Operational Capability Milestone) ou marco da capacidade 
operacional inicial
Transição PR (Product Release Milestone), ou marco de entrega de produto
� Ao final de cada fase um macro-objetivo (milestone) é alcançado
Qualidade de Software
Ementa
33
FLUXOS DE TRABALHO DO 
PROCESSO UNIFICADO
Fase Descrição
Requisitos
Obtenção de um conjunto de requisitos do produto, acordado entre 
cliente e fornecedor.
Análise Detalhamento, estruturação e validação dos requisitos.
Desenho
Formulação de um modelo estruturado do produto que sirva de 
base para a implementação.
Implementação Confecção de desenhos em termos de componentes do software.
Testes Verificação dos resultados implementados.
� Presentes em todas as fases do UP, cada fluxo de trabalho inclui
um conjunto de atividades técnicas executadas por um ou vários
membros da equipe
Qualidade de Software
Ementa
34
PROCESSO UNIFICADO
� Também conhecido como “Gráfico das Baleias”
Qualidade de Software
Ementa
35
PROCESSO UNIFICADO
� As iterações do início do processo normalmente se concentram
nos fluxos de requisitos e análise
� Estas iterações podem chegar ao fluxo de projeto, mas raramente
ao fluxo de implementação e teste
� As iterações do final do processo de desenvolvimento
normalmente executam os fluxos de implementação e teste
� O desenvolvimento é baseado na integração de componentes de
software
Qualidade de Software
Ementa
36
PROCESSO UNIFICADO
� Cada iteração consiste em
� Planejar a iteração
� Executar os fluxos de trabalho
� Fazer análise ao término da iteração� Descartar os riscos que o incremento tratou
� Revisar o plano do projeto
� Ir para a próxima iteração, se existir
7
Qualidade de Software
Ementa
37
METODOLOGIAS TRADICIONAIS
� Metodologias tradicionais mais conhecidas
� UP (Unified Process, Processo unificado)
� RUP (Rational Unified Process)
Qualidade de Software
Ementa
38
RUP (RATIONAL UNIFIED PROCESS)
� Processo proprietário criado pela Rational Software Corporation
� Mais antiga e detalhada implementação do UP
� Também foca na orientação a objetos e documentos com notação UML
� Após a venda da empresa para IBM (2003) vem ganhando o nome IRUP
� Mais completo do que o UP, inclui aspectos gerenciais do projeto
(atribuição de tarefas e responsabilidades, por exemplo)
� Objetivo: Garantir a produção de software de alta qualidade dentro de
cronogramas e orçamentos previstos
� É um produto de software, modular e automatizado composto por
várias ferramentas vendidas pela IBM como “Rational Suites”
� Inclui uma base de dados com hiperlinks com vários artefatos e templates
necessários para usar bem o modelo
Qualidade de Software
Ementa
39
RUP (RATIONAL UNIFIED PROCESS)
� Antes de pertencer à IBM, a Rational adquiriu várias empresas
(Verdix, Objectory, Requisite, SQA, Performance Awareness e
Pure-Atria) o que resultou no estabelecimento de algumas práticas
� Principais práticas do novo modelo de processo (a partir de 2003)
� Desenvolver iterativamente tendo o risco como principal fator de
determinação de iterações
� Gerenciar requisitos
� Empregar uma arquitetura baseada em componentes
� Modelar software de forma visual com diagramas
� Verificar a qualidade de forma contínua
� Controlar as mudanças
Qualidade de Software
Ementa
40
RUP (RATIONAL UNIFIED PROCESS)
� Comparativo RUP x UP
Características UP RUP
Tipo de 
produto 
Acesso público Produto comercial
Material Um livro
3200 arquivos em 
mídia digital (RUP 2001) 
Fases 4 4
Disciplinas (ou fluxos 
de trabalho)
5 9
Qualidade de Software
Ementa
41
RUP (RATIONAL UNIFIED PROCESS)
Embora os nomes das fases lembrem os nomes das fases do Modelo Cascata, elas não são 
executadas de forma sequencial, visto que o RUP é um processo iterativo
Qualidade de Software
Ementa
42
RUP (RATIONAL UNIFIED PROCESS)
� Princípios
� Desenvolvimento iterativo
� Gerência de requisitos
� Componentes arquiteturais
� Modelos baseados em UML
� Verificação contínua da qualidade
� Gerência de mudanças
� Atacar os riscos principais primeiro
� Acomodar mudanças no início do projeto
� Fornecer um software executável o quanto antes
� Construção em componentes
� Trabalho em equipe
8
Qualidade de Software
Ementa
43
RUP (RATIONAL UNIFIED PROCESS)
� Fases: igual ao UP
� Disciplinas englobam diferentes atividades re papéis relacionados
por áreas de especialidade
� Disciplinas de Projeto
� Modelagem de negócio
� Requisitos
� Análise e design
� Implementação
� Teste
� Implantação
� Disciplinas de Suporte
� Gerenciamento de mudança e
configuração
� Gerenciamento de projeto
� Ambiente
Qualidade de Software
Ementa
44
RUP (RATIONAL UNIFIED PROCESS)
� Baseado em um conjunto de elementos básicos
� QUEM: Papel
• Um papel (ou perfil) define o comportamento e as responsabilidades de um determinado 
indivíduo ou grupo de indivíduos trabalhando como uma equipe
� O QUE: Produto de trabalho
• Define algo produzido por alguma atividade (diagramas, relatórios, código funcionando,
ou seja, os artefatos)
� COMO: Atividade
• Descreve uma unidade de trabalho atribuída a um papel que produz determinado
conjunto de artefatos
� QUANDO: Fluxo de trabalho
• Um fluxo de trabalho é uma sequência de atividades que são executadas para a produção
de um resultado valioso para o projeto
Qualidade de Software
Ementa
45
RUP (RATIONAL UNIFIED PROCESS)
� Outros elementos
� Disciplinas
• Uma disciplina é uma coleção de atividades relacionadas que fazem parte de um contexto 
comum em um projeto
� Procedimentos (guidelines)
• Regras, recomendações e heurísticas sobre como executar a atividade
� Templates
• Modelos ou protótipos de artefatos e podem ser usados para criar os respectivos
artefatos
� Mentores de ferramenta
• Descrição detalhada de como executar uma atividade em uma ferramenta específica
Qualidade de Software
Ementa
46
RUP (RATIONAL UNIFIED PROCESS)
Qualidade de Software
Ementa
47
RUP (RATIONAL UNIFIED PROCESS)
� Concluindo...
� RUP não é um processo adequado para todos os tipos de
desenvolvimento
� Software embutido, por exemplo, não se enquadra
� É um moderno modelo genérico de processo, organizado em
fases, mas que separa as atividades dessas fases
Qualidade de Software
Ementa
48
BIBLIOGRAFIA
� PRESSMAN, Roger S. Engenharia de software: uma abordagem profissional.
Porto Alegre: AMGH, 2011. XXVIII, 780 p.
� SOMMERVILLE, Ian. Engenharia de software. 9. ed. São Paulo: Pearson Prentice
Hall, 2011. xiii, 529 p.
� WAZLAWICK, Raul Sidnei. Engenharia de software: conceitos e práticas. Rio de
Janeiro, RJ: Elsevier, Campus, c2013. xxii, 343 p.
� KOSCIANSKI, André. Qualidade de software. 2ª edição. Novatec. 2007.
9
Qualidade de Software
Ementa
49
DÚVIDAS

Outros materiais