Buscar

MODELOS DE PROCESSOS DE SOFTWARE 2

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

Modelos de Processos 
de Software
Material Teórico
Responsável pelo Conteúdo:
Prof. Me. Artur Marques
Revisão Textual:
Prof.ª Dr.ª Luciene Oliveira da Costa Granadeiro
Processos de Software Tradicionais – Parte B
• Processo Iterativo;
• Processo Evolucionário;
• Processo Unificado: RUP.
• Conhecer a evolução dos processos de software rumo ao desenvolvimento ágil.
OBJETIVO DE APRENDIZADO
Processos de Software
Tradicionais – Parte B
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem 
aproveitado e haja maior aplicabilidade na sua 
formação acadêmica e atuação profissional, siga 
algumas recomendações básicas:
Assim:
Organize seus estudos de maneira que passem a fazer parte 
da sua rotina. Por exemplo, você poderá determinar um dia e 
horário fixos como seu “momento do estudo”;
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
alimentação saudável pode proporcionar melhor aproveitamento do estudo;
No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos 
e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você tam-
bém encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua 
interpretação e auxiliarão no pleno entendimento dos temas abordados;
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus-
são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o 
contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e 
de aprendizagem.
Organize seus estudos de maneira que passem a fazer parte 
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Determine um 
horário fixo 
para estudar.
Aproveite as 
indicações 
de Material 
Complementar.
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
Não se esqueça 
de se alimentar 
e de se manter 
hidratado.
Aproveite as 
Conserve seu 
material e local de 
estudos sempre 
organizados.
Procure manter 
contato com seus 
colegas e tutores 
para trocar ideias! 
Isso amplia a 
aprendizagem.
Seja original! 
Nunca plagie 
trabalhos.
UNIDADE Processos de Software Tradicionais – Parte B
Processo Iterativo
O desenvolvimento iterativo é, em suma, uma maneira de dividir o processo de 
desenvolvimento de software de um aplicativo maior em pedaços menores. Por-
tanto, depois que a fase inicial de planejamento é concluída, várias outras etapas 
são repetidas, criando ciclos. À medida que cada ciclo é concluído, o software é 
aprimorado e iterado.
Cada uma das iterações inclui todos os processos de desenvolvimento de software: 
a aquisição e análise de requisitos, a preparação de especificações, a própria imple-
mentação, o teste e o lançamento. No entanto, em uma única iteração, apenas um 
componente ou versão separado é desenvolvido, mas não o projeto inteiro.
A próxima iteração resulta em uma nova funcionalidade ou em uma funciona-
lidade existente aprimorada do produto. O conjunto completo de requisitos corri-
gidos pelos limites do projeto é implementado após a conclusão da iteração final.
É um processo de desenvolvimento que ajuda na descoberta de erros cedo. 
Quando os problemas são detectados no final do processo, isso gera despesas 
substanciais. Esse modelo de ciclo de vida iterativo não requer uma especificação 
completa dos requisitos para iniciar. Primeiro, uma parte da funcionalidade é de-
senvolvida e ela se torna a base usada para determinar outros requisitos.
A versão atual pode não ser perfeita, mas o principal é que funciona. Quando 
entendemos nosso objetivo final, nós nos esforçamos para que todos os nossos 
passos sejam bem-sucedidos e cada versão funcione.
Por se tratar de um SDLC, o processo iterativo possui fases bem determinadas, 
vamos conhecê-las:
• Fase 1: é um estágio de planejamento, usado para mapear detalhes específi-
cos, incluindo requisitos de hardware ou software, além de preparar os demais 
estágios que seguirão;
• Fase 2: é um estágio de análise, que é executada para estabelecer os modelos de 
banco de dados e a lógica de negócios que serão necessárias. O estágio de design 
também ocorre aqui, em que são estabelecidos requisitos técnicos necessários 
para atender a quaisquer necessidades determinadas no estágio de análise;
• Fase 3: é onde começam os processos de implementação e codificação. Qual-
quer documentação de especificação, planejamento e design é implementada 
e codificada neste momento;
• Fase 4: quando fazemos os testes após a iteração de compilação atual ser 
codificada e implementada. Esses procedimentos de teste estão em vigor para 
identificar quaisquer problemas ou bugs que apareceram;
• Fase 5: encerradas as fases 1, 2, 3 e 4, é necessária uma avaliação completa 
de todo o desenvolvimento até aqui. A equipe e os clientes ou outras partes 
são capazes de examinar o projeto e oferecer feedback sobre o que precisa ou 
pode mudar.
8
9
Então, seguindo as 5 fases, dizemos que a iteração mais recente foi feita, bem 
como foram feitos quaisquer feedback de avaliação, dessa maneira, são retornados 
ao estágio de planejamento e desenvolvimento (fase 1) para que o processo se 
repita novamente até que a entrega final seja realizada e o projeto, então, encerre-
-se. O modelo iterativo é adequado para organizações ágeis, especialmente para 
aquelas com equipes menores e mais ágeis. Ele é facilmente adaptável, com itera-
ções frequentes e constantes fluindo regularmente, a adaptabilidade rápida é outro 
benefício, permitindo que as empresas se adaptem às necessidades do projeto ou 
cliente rapidamente.
Conforme a Lvivity (2019), os pontos fortes e fracos mais importantes que obte-
mos utilizando o processo iterativo são:
Pontos Fortes:
• Início rápido do projeto. Você inicia seu projeto em um tempo mais 
curto, mesmo que ele não tenha funcionalidade completa e até mesmo 
quando já estamos ganhando dinheiro com ele.
• Redução de risco. Os problemas são identificados e resolvidos durante 
as iterações.
• Flexibilidade para modificações. Se, em um determinado estágio, você 
entender que uma função específica se tornou uma prioridade, poderá 
começar a implementá-la na próxima iteração sem aguardar a conclu-
são de todo o projeto.
• Lançamento regular de novas versões. Usando a abordagem de de-
senvolvimento iterativo, novas versões são lançadas regularmente e o 
projeto está constantemente avançando.
• Feedback eficiente. As equipes de desenvolvimento se comunicam ati-
vamente com os clientes, criando um produto que atenda às suas neces-
sidades e objetivos de negócios.
• Lançamento imediato do MVP. Esse modelo permite levar o produto 
ao mercado e iniciar seu uso muito mais cedo do que no caso de um 
modelo em cascata.
• Maior qualidade. Uma abordagem iterativa permite criar uma arquitetura 
mais robusta, pois todos os erros são corrigidos durante várias iterações.
Pontos Fracos:
• Sem orçamento fixo ou prazos: Com uma abordagem iterativa, espe-
cialmente no caso de um projeto complexo, os prazos e um orçamento 
dependem dos recursos funcionais e podem sofrer alterações ao longo 
do processo de desenvolvimento.
• Forte envolvimento do cliente no processo. Os clientes precisam par-
ticipar ativamente do trabalho no projeto, discutir e aprovar modifica-
ções no projeto. Alguns clientes podem se sentir desconfortáveis com 
isso, e o modelo habitual de desenvolvimento em cascata provavelmen-
te funcionará melhor para eles.
9
UNIDADE Processos de Software Tradicionais – Parte B
• Possíveis problemas com a arquitetura. Sem requisitos rígidos e um pla-
no global bem desenvolvido, a arquitetura do produto de software pode 
sofrer e, para trazê-la de volta a uma condição razoável, você pode 
precisar de recursos adicionais. (LVIVITY, 2019, p. 3)
Waterfal I
Elaboração
Construção
Transição
Iniciação IterativoHora
Risco
Figura 1 – Ciclo de vida Iterativo. “Em um ciclo de vida iterativo, a seleção do incremento 
a ser desenvolvido em uma iteração é feita com base em uma lista dos principais riscos. 
Como a iteração produz um executável testado, você poderá verificar os riscos diminuíram”
Processo Evolucionário
É uma combinação do modelo iterativo e incremental. Alguns requisitos iniciais 
e a previsão da arquitetura precisam ser feitos. É melhor para produtos de software 
que tenham seus conjuntos de recursos redefinidos durante o desenvolvimento por 
causa do feedback do usuário e de outros fatores. O modelo de desenvolvimento evo-
lucionário divide o ciclo de desenvolvimento em modelos menores e incrementais em 
cascata, nos quais os usuários podem obter acesso ao produto no final de cada ciclo.
O modelo evolutivo sugere a divisão do trabalho em partes menores, priorizan-
do e entregando essas partes ao cliente, uma a uma. A principal vantagem é que 
a confiança do cliente aumenta à medida que ele recebe constantemente bens ou 
serviços quantificáveis desde o início do projeto para verificar e validar seus requi-
sitos. O modelo permite alterar os requisitos, bem como todo o trabalho dividido 
em partes.
Como todo SDLC, não o utilizamos em qualquer lugar para qualquer projeto, 
mas em casos de grandes projetos em que encontraremos módulos para implemen-
tação incremental, ou usamos quando o cliente deseja começar a usar os principais 
recursos, em vez de esperar pelo software completo ser feito. Usamos para o 
desenvolvimento de software orientado a objetos, porque o sistema pode ser facil-
mente dividido em unidades em termos de objetos.
Ambler (2019) coloca da seguinte forma, “o desenvolvimento evolucionário 
é uma abordagem iterativa e incremental para o desenvolvimento de software.” 
E acrescenta:
10
11
Em vez de criar um artefato abrangente, como uma especificação de 
requisitos, que você revise e aceite antes de criar um modelo de design
abrangente (e assim por diante), evolua os artefatos críticos de desenvol-
vimento ao longo do tempo de maneira iterativa. Em vez de criar e, em 
seguida, entregar seu sistema em uma única versão “big bang”, você o 
entrega gradualmente ao longo do tempo. (AMBLER, 2019, p. 2) 
O ciclo evolucionário segue as seguintes leis:
• Le i da mudança contínua: es ta lei declara que qualquer sistema de software
que represente alguma realidade do mundo real passa por mudanças contínuas 
ou se torna progressivamente menos útil nesse ambiente;
• Lei da complexidade crescente: à medida que um programa em evolução 
muda, sua estrutura se torna mais complexa, a menos que sejam feitos esforços 
efetivos para evitar esse fenômeno;
• Le i de conservação da estabilidade da organização: ao longo da vida de 
um programa, a taxa de desenvolvimento desse programa é aproximadamente 
constante e independente do recurso dedicado ao desenvolvimento do sistema;
• Le i de conservação da familiaridade: esta lei afirma que, durante a vida ativa 
do programa, as alterações feitas na liberação sucessiva são quase constantes.
Conforme escritos de Teófilo (2012), o desenvolvimento evolucionário baseia-se 
na ideia de desenvolvimento de uma implementação inicial, expondo o resultado 
aos comentários do usuário e refinando esses comentários por meio de várias ver-
sões até que seja desenvolvido um sistema adequado.
DesenvolvimentoEsboço
Especi�cação
Validação
Atividades
Simultâneas
Versões
intermediárias
Versão inicial
Versão �nal
Figura 2 – Mapa Geral da abordagem Evolutiva
Existem dois tipos fundamentais de desenvolvimento evolucionário:
• Des envolvimento Exploratório: é um método experimental de desenvolvi-
mento de sistemas baseado em pesquisa usado para desenvolver e projetar 
um sistema ou produto de computador. O modelo exploratório é b aseado no 
11
UNIDADE Processos de Software Tradicionais – Parte B
planejamento e na revisão de possíveis cenários e abordagens até que, o que 
parece ser ideal seja selecionado. É um tipo de modelo de prototipagem, mas 
é muito mais aberto e menos formal do que outros sistemas. Como tal, nem 
sempre é rentável e existe o risco de que os resultados do modelo exploratório 
sejam inferiores ao ideal. Vamos enumerar algumas etapas:
 » Um ponto de partida é determinado para o trabalho. Todas as informações 
disponíveis são reunidas na tentativa de ter uma ideia do que o novo sistema 
deverá fazer e como isso pode ser feito;
 » Um sistema rudimentar de primeira geração é montado, com base nas infor-
mações coletadas e nas ideias formuladas na primeira etapa;
 » O sistema de primeira geração é testado para ver como funciona, o que pode 
e o que não pode fazer e o que pode ser feito para melhorá-lo;
 » Um sistema de segunda geração é desenvolvido a partir do primeiro, com 
base nas melhorias propostas na etapa anterior;
 » O sistema de segunda geração é testado, como foi o primeiro. Seu desempe-
nho é avaliado e possíveis melhorias, determinadas;
 » O processo é repetido quantas vezes forem necessárias para obter a satisfa-
ção do usuário, ou até que seja decidido que o projeto não é viável;
 » A manutenção de rotina é realizada continuamente para evitar falhas em 
larga escala e minimizar o tempo de inatividade.
 Então, em linhas gerais, apesar de ele se assemelhar ao modelo de prototi-
pagem, ele começa em um ponto de partida mais nebuloso e prossegue de 
maneira menos formal. Esse processo não é particularmente econômico e, às 
vezes, resulta em sistemas abaixo do nível almejado, portanto, deve ser usado 
apenas quando não existir uma alternativa viável;
• Prototipação Throwaway: a prototipagem descartável é um método de de-
senvolvimento que emprega mecanismos técnicos para reduzir o risco em um 
projeto. Para algumas empresas, em praticamente qualquer empreendimento 
técnico que você possa imaginar, há muita pressão para continuar o desenvol-
vimento do primeiro protótipo ou rascunho de um projeto. Para clientes, isso 
geralmente ocorre devido à tentativa de economizar custos e reutilizar aquilo 
que obviamente levou à próxima etapa de um projeto específico. Com a proto-
tipagem descartável, você decide conscientemente criar um conjunto específico 
de funcionalidades para um aplicativo ou, de fato, desenvolver todo o protótipo 
do aplicativo em um esforço para explorar completamente o que está tentando 
realizar em termos de objetivos e menos sobre a totalidade das funcionalidades.
 Então, percebemos que o protótipo descartável é barato e rápido, projetado 
para modelar uma ideia ou recurso. Eles são comumente usados nas fases 
iniciais do design, quando muitas ideias ainda estão sendo consideradas. Por-
tanto, é mais apropriada na fase de aquisição do projeto, onde os protóti-
pos demonstram a viabilidade de novos conceitos e convencem os possíveis 
12
13
patrocinadores a financiar os projetos de desenvolvimento propostos. Nessa 
situação, os recursos disponíveis são limitados e a capacidade de transmitir os 
benefícios de uma nova abordagem com uma demonstração de custo muito 
baixo é essencial para criar um projeto.
Nesse ponto o
protótipo é descartado
Fase de desenvolvimento
do sistema atual
Estabelecer as
especi�cações
Desenvolver
o protótipo
Desenhar e
implementar
o sistama
Validar o 
sistema
Avaliar o
protótipo
Especi�car o
sistema
Figura 3 – Modelo de prototipagem descartável
Vantagens da prototipagem descartável:
• Economizar tempo e dinheiro;
• Promover a consistência do design da interface do usuário;
• Permitir o envolvimento precoce do cliente;
• Apresentar maneiras concretas de mostrar e acreditar em gerenciamento para 
gerenciamento, em vez de apenas dizer ao administrador;
• Os profissionais de marketing e planejadores devem garantir que as necessida-
des dos clientes sejam atendidas.
Desvantagens da prototipagem descartável:
• Há confusão do usuário para protótipos e sistemas concluídos;
• Tempo de desenvolvimento do protótipo é excessivo;
• Normalmente, ele não geracódigo reutilizável;
• O processo de desenvolvimento fica mais lento quando colocado sob controle 
formal de configuração;
• Não há um ponto de parada claro.
Em suma, o objetivo da prototipagem descartável é garantir que os requisitos 
do sistema sejam validados e compreendidos claramente. O pr otótipo descartável 
NÃO é considerado parte do sistema final. Simplesmente exis te para ajudar a en-
tender e reduzir o risco de requisitos mal definidos. O sistema completo está sendo 
desenvolvido juntamente com os protótipos e incorpora as alterações necessárias. 
13
UNIDADE Processos de Software Tradicionais – Parte B
A vantagem dessa abordagem é a velocidade com que o protótipo é montado. Ele 
também concentra o usuário em apenas um aspecto do sistema, mantendo seus 
comentários precisos.
Processo Unificado: RUP
A partir do uso de elementos de outros modelos de desenvolvimento de software 
iterativos, a estrutura do RUP foi criada inicialmente pela Rational Software 
Corporation, adquirida pela IBM em 2003.
Não é um modelo de desenvolvimento concreto, mas pretende ser adaptável e 
adaptado às necessidades específicas do projeto, equipe ou organização.
Trata-se de uma metodologia de desenvolvimento de software ágil, que divide o 
ciclo de vida do projeto SDLC em quatro fases:
1. Início;
2. Elaboração;
3. Construção;
4. Transição.
Conforme os escritos de Powell-Morse (2017), o objetivo geral do RUP leva em 
conta a implementação de abordagens comercialmente comprovadas para o desen-
volvimento de software num SDLC, e comenta sobre as 4 fases da seguinte forma:
Fase de Iniciação: Durante a iniciação, a ideia básica e a estrutura do 
projeto são determinadas. A equipe se sentará e determinará se vale a 
pena prosseguir com o projeto, com base no objetivo proposto do pro-
jeto, nos custos estimados (monetário e tempo) e quais recursos serão 
necessários para concluir o projeto assim que o OK for dado. A conclusão 
da fase de iniciação é o , que consiste nos seguintes critérios de avaliação: 
ciclo de vida, grandes marcos (entregas) do projeto, grau de concorrência 
das partes interessadas na definição do escopo e, claro, nas estimativas 
de custo, cronograma e, por fim, o entendimento de requisitos, conforme 
evidenciado pela fidelidade dos casos de uso principais. 
Fase de Elaboração: O objetivo dessa fase é analisar os requisitos e a 
arquitetura necessária do sistema. O sucesso desta fase é particularmente 
crítico, pois o marco final dessa fase significa a transição do projeto de 
baixo risco para alto risco, uma vez que o desenvolvimento e a codificação 
reais ocorrerão na fase seguinte. Que perguntas esperamos responder:
A visão do produto é estável?
A arquitetura é estável?
A demonstração executável mostra que os principais elementos de risco 
foram abordados e resolvidos com credibilidade?
14
15
O plano para a fase de construção é suficientemente detalhado e preciso? 
É feito backup com uma base crível de estimativas?
Todas as partes interessadas concordam que a visão atual pode ser alcan-
çada se o plano atual for executado para desenvolver o sistema completo, 
no contexto da arquitetura atual?
A despesa real de recursos versus a despesa planejada é aceitável?
Fase de construção: É quando ocorre a codificação e a implementação 
de todos os recursos do aplicativo. Este período também é onde as inte-
grações com outros serviços ou software existente devem ocorrer. O final 
dessa fase é medido pela conclusão do se deve fazer. 
As respostas para as perguntas abaixo deverão estar claras:
A versão deste produto é estável e madura o suficiente para ser implanta-
da na comunidade de usuários?
Todas as partes interessadas estão prontas para a transição para a comu-
nidade de usuários?
As despesas reais de recursos versus as despesas planejadas ainda 
são aceitáveis?
Fase de transição: É quando o produto acabado é finalmente liberado e 
entregue aos clientes. No entanto, é mais do que apenas o processo de 
implantação; ele também deve lidar com todo o suporte pós-lançamento, 
correções de bugs, patches e assim por diante. As perguntas a serem 
respondidas nessa fase são:
O usuário está satisfeito?
As despesas reais com recursos versus as despesas planejadas ainda 
são aceitáveis? (POWELL-MORSE, 2017, p. 4)
MGP
MDS
Construção04 Elaboração03
Iniciação02
Proposta de projeto01
Transição05
RUP
Figura 4
Ciclo de vida RUP. DATASUS, 2019, p. 1. “[...] o ciclo de vida do software
do RUP é dividido em 4 fases sequenciais, cada uma concluída por um mar-
co principal, ou seja, cada fase é basicamente um intervalo de tempo entre 
dois marcos principais. A cada final de fase, uma avaliação é executada para 
15
UNIDADE Processos de Software Tradicionais – Parte B
determinar se os objetivos da fase foram alcançados. Uma avaliação satis-
fatória permite que o projeto passe para a próxima fase. Cada fase possui 
suas próprias metas, seu próprio estilo de iteração e geralmente customiza 
suas tarefas e produtos de trabalho de forma diferente[...]”; disponível em: 
<https://bit.ly/31tRHSw> acessado em: 03/12/2019.
Iniciação
Inicial Elab.nº 1
Elab.
nº 2
Const.
nº 1
Const.
nº 2
Const.
nº 3
Trans.
nº 1
Trans.
nº 2
Elaboração Construção Transição
Fases
Iterações
DISCIPLINAS
Modelagem de Negócios
Requisitos
Análise e Design
Implementação
Teste
Implantação
Geren. de
Con�guração e Mudança
Gerenciamento de Projeto
Ambiente
Figura 5 – O ciclo de vida do RUP
Basicamente, podemos criar grupos de disciplinas no RUP respeitando suas 
afinidades e entregas, a saber:
• Análise e Design;
• Modelagem de Negócios;
• Gerenciamento de Configuração e Mudança;
• Desdobramento, desenvolvimento;
• Meio Ambiente;
• Implementação;
• Gerenciamento de Projetos;
• Exigências;
• Teste.
Vamos comentar um pouco sobre cada uma delas em nível de esclarecimento:
Análise e design: possui como objetivos, transformar os requisitos em 
um design do futuro sistema. E desenvolver uma arquitetura robusta para 
o sistema. Leva em consideração a adaptação do design para corres-
ponder ao ambiente de implementação, projetando-o para desempenho. 
Se relaciona com outros elementos como por exemplo: A disciplina Re-
quisitos fornece a entrada principal para Análise e Design. A disciplina 
16
17
Implementação implementa o design. A disciplina Teste, testa o sistema 
projetado durante a Análise e o Design. A disciplina Ambiente desenvol-
ve e mantém os artefatos de suporte usados durante a Análise e o Design. 
A disciplina Gerenciamento do Projeto planeja o projeto e cada iteração 
descrita em um Plano de Iteração.
Modelagem de Negócios: Os objetivos da modelagem de negócios são: 
Compreender os problemas atuais na organização-alvo e identificar po-
tenciais de melhoria.
Avaliar o impacto da mudança organizacional. Garantir que clientes, usu-
ários, desenvolvedores e outras partes tenham um entendimento comum 
da organização. Derivar os requisitos de sistema de software necessários 
para apoiar a organização de destino. Entender como um sistema de 
software a ser implantado se encaixa na organização. Um organograma 
não é suficiente para entender como uma empresa funciona. Também 
precisamos de uma visão dinâmica dos negócios. Um modelo de negó-
cios fornece uma visão estática da estrutura da organização e uma visão 
dinâmica dos processos dentro da organização. Como produto dessa fase 
os seguintes artefatos são construídos: Visão de Negócios, Documento de 
arquitetura de negócios, Especificação de negócios suplementar, Regras 
de Negócios (como um documento e / ou como elementos no Modelo de 
Análise de Negócios) e Glossário de Negócios.
Gerenciamento de configuração e mudança: é essencial para contro-
lar os inúmeros produtos de trabalho produzidos por muitas pessoas que 
trabalham em um projeto comum. O controle ajuda a evitar confusão dis-
pendiosa e garante que os Produtos de Trabalho resultantes não entrem 
em conflito.
Desdobramento e desenvolvimento: descreve três modosde implanta-
ção do produto, a instalação personalizada, a oferta de produtos “shrink
wrap” e o acesso ao software pela internet.
Meio ambiente: organiza os elementos do método que fornecem o am-
biente de desenvolvimento de software que suporta a equipe de desen-
volvimento, incluindo processos e ferramentas. O principal objetivo é 
fornecer à organização de desenvolvimento de software, processos e fer-
ramentas, que apoiarão a equipe de desenvolvimento.
Implementação: explica como desenvolver, organizar, testar a unidade e 
integrar os componentes implementados com base nas especificações do 
projeto. Possui como objetivos: definir a organização do código, em termos 
de subsistemas de implementação organizados em camadas; implementar 
os elementos de design em termos de elementos de implementação (arqui-
vos de origem, binários, programas executáveis e outros); testar os com-
ponentes desenvolvidos como unidades e integrar os resultados produzidos 
por implementadores (ou equipes) individuais em um sistema executável.
Gerenciamento de projetos: se concentra no planejamento do projeto, 
gerenciamento de riscos, monitoramento de progresso e métricas. O foco 
aqui é facilitar a tarefa, fornecendo algum contexto para o Gerenciamento 
de Projetos. Não é uma receita para o sucesso, mas apresenta uma aborda-
gem para gerenciar o projeto que aumentará acentuadamente as chances 
de fornecer software bem-sucedido. Os principais objetivos são: Fornecer 
17
UNIDADE Processos de Software Tradicionais – Parte B
uma estrutura para gerenciar projetos de uso intensivo de software; forne-
cer diretrizes práticas para o planejamento, pessoal, execução e monitora-
mento de projetos e fornecer uma estrutura para gerenciar riscos.
Exigências: explica como obter solicitações das partes interessadas e 
transformá-las em um conjunto de requisitos de produtos de trabalho que 
definem o escopo do sistema a ser construído e fornecem requisitos deta-
lhados para o que o sistema deve fazer. Possui como objetivos: Estabele-
cer e manter acordo com os clientes e outras partes interessadas sobre o 
que o sistema deve fazer. Fornecer aos desenvolvedores do sistema uma 
melhor compreensão dos requisitos do sistema. Definir os limites do (de-
limitar) o sistema. Fornecer uma base para o planejamento do conteúdo 
técnico das iterações. Fornecer uma base para estimar o custo e o tempo 
para desenvolver o sistema. Definir uma interface de usuário para o siste-
ma, com foco nas necessidades e objetivos dos usuários.
Teste: fornece orientação sobre como avaliar e avaliar a qualidade do 
produto. A disciplina Teste atua como um provedor de serviços para as 
outras disciplinas em muitos aspectos. O teste se concentra principal-
mente na avaliação ou avaliação da Qualidade do Produto, que é realiza-
da através dessas práticas principais: Encontre e documente defeitos na 
qualidade do software. Aconselhar sobre a qualidade percebida do sof-
tware. Valide e prove as suposições feitas nas especificações de projeto 
e requisitos por meio de demonstração concreta. Valide se o produto de 
software funciona como projetado. Valide se os requisitos foram imple-
mentados adequadamente. (RICHARDSON, 2006, p. 1, 2)
RUP funciona muito melhor quando seguimos 6 práticas a saber:
• Desenvolvimento de software de forma iterativa: abordar os elementos de 
alto risco em todas as etapas dos projetos. Isso permite obter uma compre-
ensão crescente do problema e fazer as alterações necessárias até chegar à 
solução mais razoável;
• Gerenciamento de requisitos: descreve como organizar e acompanhar os 
requisitos de funcionalidade, documentos, mudança de etapas no processo, 
decisões e necessidades de negócios;
• Utilizar arquitetura de sistemas baseada em componentes: estruturar a 
arquitetura do sistema em componentes reutilizáveis não apenas no projeto em 
questão, mas também em projetos futuros. Foco é o reúso de componentes;
• Modelamento visual do software: mostra como criar um modelo visual de 
um software para capturar a estrutura e o comportamento da arquitetura e 
dos componentes;
• Verificação da qualidade do software: permite avaliar e controlar a qualida-
de de todas as atividades durante o desenvolvimento do software;
• Controle de alterações no software: dá a capacidade de controlar, rastrear e 
monitorar alterações que favorece o desenvolvimento constante e bem-sucedido 
do software. Também ajuda a criar um espaço de trabalho seguro, une e motiva 
a equipe, fazendo com que funcionem como um time de alta performance.
18
19
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
 Vídeos
RUP — Processo Unificado da Rational: visando a produção de software com MAIS QUALIDADE
https://youtu.be/LLAqBv9YY2k
Engenharia de Software - Modelo Incremental
BAGATINI, D.
https://youtu.be/-SVZ9eBqIyY
Engenharia de Software - Modelo Incremental
BAGATINI, D.
https://youtu.be/-SVZ9eBqIyY
Engenharia de software – Modelos de Processo Evolucionário
REINOSO, L. F. 
https://youtu.be/Ud4_yiiWQaU
Prototipação
FATTO CONSULTORIA E SISTEMAS.
https://youtu.be/L81RtZzzGkI
19
UNIDADE Processos de Software Tradicionais – Parte B
Referências
AMBLER, S. W. Desenvolvimento evolutivo de software: como as atividades 
de dados se encaixam. 2019. Disponível em: <http://www.agiledata.org/essays/
evolutionaryDevelopment.html> Acessado em: 03/12/2019.
LVIVITY. Modelo Iterativo no Desenvolvimento de Software: Prós e Con-
tras. 2019. Disponível em: <https://lvivity.com/iterative-model>. Acessado em: 
03/12/2019.
POWELL-MORSE, A. Rational Unified Process: O que é e como você o utiliza? 
2017. P. 4. Disponível em: <https://airbrake.io/blog/sdlc/rational-unified-process 
acessado em 03/12/2019>.
RICHARDSON, M. Agrupamento de Disciplinas: Disciplinas do RUP. 2006. 
P. 1 e 2. Disponível em: <http://www.michael-richardson.com/processes/rup_ 
classic/core.base_rup/disciplines/rup_test_discipline_9DFAFB2F.html>. Acessado 
em 03/12/2019.
TEÓFILO, D. Processos de Software. 2012. Disponível em: <https://danielteofilo.
wordpress.com/2012/01/08/processos-de-software/>. Acessado em: 11/12/2019
20

Continue navegando