Buscar

Praticas de Engenharia de Software - Unidade 04

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

16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmVo… 1/27
PRÁTICAS DE ENGENHARIA DEPRÁTICAS DE ENGENHARIA DE
SOFTWARESOFTWARE
DESENVOLVIMENTODESENVOLVIMENTO
ÁGIL DE ÁGIL DE SOFTWARESOFTWARE
Autor: Esp. Daniel dos Santos Brandão
IN IC IAR
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmVo… 2/27
introdução
Introdução
O desenvolvimento de software dos tempos modernos possui diversas
técnicas e grupos de ferramentas que auxiliam na gestão dos processos
envolvidos. Preparar cada uma das atividades do usuário em lista de
pendências de requisitos pode ser uma tarefa trabalhosa sem o uso das
devidas formas de se desenvolver um projeto. Desenvolvimento ágil de
software é um termo genérico para um conjunto de estruturas e práticas
baseadas nos valores e princípios expressos no manifesto para e nos 12
princípios por trás dele. Entretanto, o desenvolvimento ágil é mais do que
estruturas como Scrum, Extreme Programming (XP) ou Feature-Driven
Developmen t (FDD). É também mais do que práticas como programação em
pares, desenvolvimento orientado a testes, reuniões stand ups , sessões de
planejamento e sprints . Para atender os pro�ssionais que procuravam
desenvolvimento de software mais e�ciente, métodos ágeis surgiram.
Ao longo desta unidade, você verá como as metodologias ágeis de software
aprimoraram a forma de desenvolvimento e entrega, baseadas em princípios
que norteiam todo o processo, das primeiras reuniões até a entrega �nal do
produto.
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmVo… 3/27
A engenharia de software possui diferentes vertentes. Desde o contexto da
arquitetura até a engenharia de requisitos, suas subdivisões garantem que o
projeto de passe por etapas completas, seguindo um �uxo de trabalho do
início ao �m de forma linear e cíclica. SOA ( Service Oriented Architecture ) é a
vertente da engenharia de software que atua na organização de projetos que
serão produzidos, a �m de atenderem-nos como serviços. Isto é a base do
chamada SaaS ( Software as a Service ou Software como Serviço, em português ).
Sua base teórica é na oferta de um software como prestação de um ou mais
serviços especí�cos e não meramente como um produto.
Em outros tempos, para se utilizar um software , era necessário adquirir o
mesmo como um produto, seja através dos antigos disquetes, CDs e DVDs,
pendrive, com a necessidade de instalação na máquina em que se queria
utilizar. Com a evolução da internet, a World Wide Web se tornou um meio
mais prático de troca de informações e, com isso, o software não precisou
mais ser instalado na máquina do usuário, porém passou a ser acessado de
Engenharia deEngenharia de
Software Software OrientadaOrientada
a Serviçosa Serviços
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmVo… 4/27
maneira remota, seja por um navegador ( browser ) ou por uma aplicação
cliente.
Nos tempos de computação em nuvem, quando você acessa seu webmail,
conta de rede social, serviço de streaming ou drive de repositório de arquivos
de onde estiver, seja através de um smartphone , tablet ou computador e
outros dispositivos conectados está, de alguma maneira, utilizando um
software . Assim, este deixa de ser um programa ou produto único para poder
ser acessado de qualquer lugar, sendo oferecido como um serviço on-line ,
disponível sob demanda ao usuário.
Nos tempos atuais, a arquitetura de TI precisa dispor de um elemento
chamado interoperabilidade, ou seja, a capacidade de sistemas diferentes se
comunicarem entre si. De acordo com Pressman e Maxim (2016), os métodos
ágeis se desenvolveram a partir do esforço que se viu necessário para sanar
saibamais
Saiba mais
Quando você acessa sites ou aplicativos
como Net�ix , Spotify e Youtube , está se
utilizando de software como serviço (Saas).
Através de uma conta de usuário, você pode
escolher um serviço on-line e usufruir de seus
benefícios, seja por uma conta paga ou
gratuita, que varia de empresa para
empresa.
Saiba mais sobre serviços sob demanda de
vídeo no link a seguir.
ACESSAR
http://showmetech.com.br/conheca-os-melhores-streaming-de-video
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmVo… 5/27
fraquezas perceptíveis encontradas na engenharia de software utilizada até
então. Ainda conforme os autores (2016), um software para web por exemplo,
requer uma �exibilidade e agilidade quanto a mudanças de requisitos, a�nal
até o começo do desenvolvimento deste software pode ser que algumas
situações não previstas surjam, visto que o ambiente web é bastante volátil.
O elemento base da arquitetura SOA com certeza são os serviços. Nesse
paradigma, um serviço fornece funcionalidade especí�ca de negócio como
criar um cliente, analisar o histórico de crédito de uma pessoa, transferir
dinheiro e assim por diante (WONG, 2014, on-line ). De forma geral, podemos
dizer que SOA é uma arquitetura de software que tem como objetivo
disponibilizar aplicações em forma de serviços (TD, 2018). A ideia central de
SOA é oferecer software como serviço semelhante à arquitetura de sistemas
distribuídos. A grande sacada SOA é na oferta de serviços distintos em
aplicações igualmente distintas, porém conectadas entre si. Assim, softwares
criados por empresas ou equipes de desenvolvimento diferentes, com
tecnologias e linguagens distintas entre si estabelecem uma conexão através
de protocolos de comunicação da internet.
A ideia original desta arquitetura data de 1994, quando Alexander Pasik
sugeriu o termo e o estudo deste segmento da engenharia de software .
Anteriormente, subdividido dentro da engenharia de software em si, a partir
de então, passou a ser aplicado em casos reais de desenvolvimento (TD,
2018).
Vantagens e Desvantagens SOA
Nem só de benefícios vive uma tecnologia. Analisando de maneira coerente,
vantagens e desvantagens podem ser destacadas ao longo do estudo sobre a
Arquitetura Orientada a Serviços. Vários autores da área em artigos e
publicações apontam vantagens em comum como TD (2018), Oliveira (2014)
entre outros.
Vantagens
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmVo… 6/27
Existem inúmeras vantagens em se utilizar software como serviço. Algumas
das principais vantagens do SOA, apresentadas por diversos autores são:
Reutilização - reaproveitando do serviço para outras aplicações.
Flexibilidade - módulos isolados permitem maior facilidade em
manutenção e desenvolvimento das partes distintas.
Manutenibilidade - a manutenção das partes é facilitada pela
modularização das partes do sistema.
Governança - melhora na gerência dos processos e regras de
negócio
Abstração - a implementação do software é totalmente transparente
para quem utiliza o serviço.
Desvantagens
Sobre as desvantagens, por mais vantajosa que seja esta arquitetura, alguns
pontos são vistos como alertas importantes. Existem algumas preocupações,
mas as que se destacam são:
Complexidade - devido à estrutura do software com sistemas
distribuídos e a modularização, torna-se mais completo gerenciar
todo o sistema.
Disponibilidade - como é um serviço oferecido remotamente, caso
haja interrupção na rede ou acesso à internet, o serviço �ca
indisponível.
Segurança - por estar em servidores de terceiros, existe o risco de
vazamento de dados ou acesso de forma ilegal.
praticar
Vamos Praticar
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmVo…7/27
SOA é uma arquitetura que promove a integração do negócio com a tecnologia da
informação com componentes de serviços. Esse componente é o principal item
dessa arquitetura. Os resultados que SOA traz são: agilidade para atender às novas
demandas, �exibilidade nas mudanças, redução de custo e reuso de serviços.
OLIVEIRA, Edson Mendes de. Vantagens e Desvantagens de SOA . Disponível em:
https://www.devmedia.com.br/vantagens-e-desvantagens-de-soa/27437 . Acesso
em: 04 mar. 2020.
Sobre vantagens e desvantagens do uso de SOA, analise as a�rmações a seguir.
i. O serviço pode ser reutilizado para outras aplicações.
ii. Manutenção das partes feitas pela modularização das partes do sistema.
iii. Complexidade no gerenciamento do sistema.
iv. Interrupção do serviço, caso haja falta de rede ou internet.
v. A implementação do software é transparente para quem utiliza o serviço.
Sobre as vantagens de SOA, está correto o que se a�rma em:
a) I, II e III, apenas.
b) I, II e IV, apenas.
c) I, II e V, apenas.
d) II, IV e V, apenas.
e) II, III e V, apenas.
https://www.devmedia.com.br/vantagens-e-desvantagens-de-soa/27437
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmVo… 8/27
O desenvolvimento ágil de software surgiu da iniciativa de nomes como Kent
Beck e outros desenvolvedores que, na época, em 2001, criaram o chamado
“Manifesto Ágil” ou “Manifesto para o Desenvolvimento Ágil de Software ”
como foi o�cialmente chamado (na tradução para o português). Seu texto
inicial é sobre os valores iniciais em que os membros originais do grupo que
assinaram o manifesto se basearam. O texto inicial, de acordo com Kent Beck
e os outros membros, constante no site Agile Manifesto, é:
indivíduos e interações mais do que processos e ferramentas;
software em funcionamento mais do que documentação abrangente;
colaboração com o cliente mais que negociações de contratos;
responder a mudanças mais que seguir um plano (BECK et al., 2001,
on-line ).
Como todo manifesto, a ideia é de certa forma combater velhas práticas do
desenvolvimento de software , utilizando novos argumentos que simpli�quem
o processo, mas sem desprezar o zelo pelo que é de responsabilidade de
todos os envolvidos no processo. Por exemplo, quando o manifesto apresenta
Agile Agile SoftwareSoftware
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmVo… 9/27
sobre o Software Operacional ser acima da documentação completa, um não
exclui o outro. Logo, o ideal é a busca de uma documentação que acompanhe
o software , mas com foco no objeto do projeto em si, o sistema ou aplicação
que se quer ver desenvolvida. 
A partir do manifesto ágil, surgiram metodologias como frameworks ou
estruturas como forma de implantar em equipes de desenvolvimento a parte
prática da gestão de processos com base nos princípios do Manifesto de Kent
e seus colegas. Nesse aspecto, algumas metodologias se destacam, como
Scrum, FDD e XP (eXtreme Programming), que serão apresentadas com mais
detalhes a seguir.
saibamais
Saiba mais
O Manifesto para o Desenvolvimento Ágil de
Software (ou simplesmente Manifesto Ágil)
está disponível até hoje na internet. Ao
acessar o endereço do link a seguir, qualquer
pessoa, e principalmente desenvolvedor de
software, depara-se com o texto, na íntegra,
com os 12 princípios de como desenvolver
um software de maneira padronizada, porém
de maneira ágil e pragmática. O manifesto
está em mais de 50 idiomas diferentes.
Acesse o Manifesto Ágil (em português) a
seguir.
ACESSAR
https://agilemanifesto.org/iso/ptbr/manifesto.html
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 10/27
eXtreme Programming (XP)
A eXtreme Programming ou Programação Extrema, simplesmente chamada
de XP, foi originalmente descrita por Kent Beck, um dos pais do Manifesto
Ágil. Ela surgiu como uma das metodologias ágeis mais populares e
controversas ao mesmo tempo. XP é uma abordagem que busca fornecer um
software de alta qualidade de forma rápida e de maneira contínua. Ela se
destina a melhorar a qualidade e a capacidade de resposta do software diante
das mudanças nos requisitos do cliente. Através de sua qualidade estrutural,
promove um alto envolvimento do cliente, com ciclos rápidos de feedback,
testes e planejamento contínuos e um trabalho em equipe bastante próximo
e engajado.
O nome da metodologia vem da ideia de que os elementos bené�cos das
práticas tradicionais de engenharia de software são levados para níveis
extremos (PRESSMAN; MAXIM, 2016). Como exemplo, as revisões de código
são consideradas uma prática bené�ca e, levando ao extremo, o código pode
ser revisado continuamente através da prática da programação em pares,
uma das doze práticas expressas nas regras gerais do XP. O método XP
original é baseado em quatro valores simples: simplicidade, comunicação,
feedback e coragem.
Uma das principais características da metodologia XP é a programação em
par. Sobre isso, Pressman e Maxim (2016, p. 440) a�rmam que as boas
práticas da eXtreme Programming [...] recomendam que duas pessoas
trabalhem juntas em uma mesma estação de trabalho para criar código para
uma história. Isso disponibiliza um mecanismo para a solução de problemas
em tempo real (duas cabeças normalmente funcionam melhor do que uma) e
a garantia da qualidade em tempo real.
O processo XP é representado por Pressman e Maxim (2016) na Figura 4.1 a
seguir:
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 11/27
#PraCegoVer: O processo da Extreme Programming (XP). A �gura destaca
fases incrementais da Programação Extrema - extremming Programing:
planejamento- são escritas as histórias de usuário, estabelecidos os valores,
práticas do XP, critérios de testes de aceitação e plano de iteração; projeto
faz-se o projeto simples de cartões CRC e elabora-se soluções pontuais por
protótipos; codi�cação e testes – nesta fase o desenvolvimento por meio da
programação em pares, há testes de unitários com integração contínua e a
refatoração do código; Finalizando com os testes �nais e testes de aceitação,
um novo incremento do software é realizado e integrado ao projeto e
imediatamente um novo ciclo com planejamento, projeto, codi�cação e testes
acontece. 
As etapas contidas na Figura 4.1 tem destaque para o planejamento, projeto,
codi�cação e testes, como etapas sequenciais e incrementais. O processo
inteiro é cíclico, repetindo-se até que todas as de�nições e requisitos sejam
atendidos. Além da programação em parte, destacada anteriormente, XP
também possui outras onze práticas de apoio, que são:
jogo de planejamento,
pequenas versões,
testes de aceitação do cliente,
Figura 4.1 - O processo da Extreme Programming (XP) 
Fonte: Pressman e Maxim (2016, p. 72).
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 12/27
design simples,
desenvolvimento orientado a testes,
reestruturação,
integração contínua,
propriedade do código coletivo,
padrões de codi�cação,
metáfora,
ritmo sustentável.
Dessas práticas, podemos destacar o Jogo de Planejamento ( Game Planning
) que é uma atividade de levantamento de requisitos [...] que capacita os
membros técnicos da equipe XP a entender o ambiente de negócios do
software e permite obter uma percepção ampla sobre os resultados
solicitados, fatores principais e funcionalidade (PRESSMAN; MAXIM, 2016, p.
73). Além dela, temos o desenvolvimento orientado a testes , onde se
aplica o TDD, e a criação de pequenas versões de maneira prototipal
(pequenos protótipos que vão evoluindo conforme os ciclos vão se repetindo).De forma breve, o XP pode ser resumido como uma metodologia que busca a
agilidade, sem deixar a qualidade de lado, ou seja, é a organização do
processo que faz com que haja um andamento proveitoso no
desenvolvimento do software .
Scrum
Como você já deve ter percebido, existem diferentes formas de se gerenciar
projetos. Há alguns anos, estuda-se como evoluir a forma de gestão e
acompanhamento de processos em equipe, e Scrum surgiu desta
necessidade. Em Desenvolvimento Ágil (2014, on-line ), Scrum é de�nido como
“uma metodologia ágil para gestão e planejamento de projetos de software
[...]. Os projetos são divididos em ciclos (tipicamente mensais), e o seu
trabalho é dividido em iterações, que são chamadas de Sprints .
O Scrum pode ser de�nido como uma estrutura onde as pessoas podem lidar
com problemas complexos de adaptação, ao mesmo tempo em que fornecem
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 13/27
produtos de maneira mais produtiva e criativa. O Scrum em si é uma estrutura
simples para colaboração e�caz da equipe em produtos complexos. Seus
cocriadores, Ken Schwaber e Je� Sutherland, escreveram uma documentação
chamada Guia do Scrum (The Scrum Guide, em inglês) para explicar o Scrum
de forma clara e sucinta. Este guia contém a de�nição completa sobre Scrum .
No guia, você encontra toda as de�nições que consistem nos papéis, eventos,
artefatos e regras gerais.
Segundo seus próprios autores, o Scrum é leve, simples de entender e difícil
de dominar. Ele é considerado um framework , ou seja, uma estrutura que
serve como base para se desenvolver algo. A estrutura do Scrum consiste em
equipes do Scrum e suas funções, eventos, artefatos e regras associados.
Ainda segundo a documentação o�cial, o framework foi criado a �m de ajudar
a gerenciar e desenvolver produtos. A partir dos anos 90, o Scrum passou a
ser difundido e amplamente utilizado em todo o mundo para:
realizar pesquisa e identi�cação de mercados, tecnologias e recursos
viáveis de produtos;
desenvolver e aprimorar produtos;
liberar produtos e seus aprimoramentos com uma mesma
frequência de vezes ao dia;
desenvolver e manter em nuvem ( on-line , seguro e sob demanda),
além de outros ambientes operacionais, para uso do produto;
sustentar e renovar produtos.
Fluxo de Processo do Scrum
O processo Scrum é baseado em diferentes estágios com, igualmente,
distintos pro�ssionais envolvidos. O �uxo de trabalho está representado na
Figura 4.2 a seguir:
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 14/27
#PraCegoVer: A Figura descreve o passo a passo de um ciclo de
desenvolvimento no Scrum, a Sprint, perfazendo desde o Backlog do produto,
product backlog, lista de tarefas do projeto com o backlog do produto
selecionado, sprint backlog, as reuniões diárias, as histórias de usuário, a
revisão e por �m uma nova funcionalidade entregue (MVP). 
A Figura 4.2 descreve o �uxo de processo mais detalhado daquilo que é
empregado pelo Scrum , que será descrito a seguir:
Visão ( vision ) é a ideia inicial do projeto, de onde irá partir o �uxo de
processo.
História do usuário ( User stories ) é criada na sequência com o
objetivo de se criar uma espécie de usuário padrão ou persona, que
representa como o produto �nal deverá atender ao usuário.
Backlog de Produto ( Product Backlog ) é a lista de pendências acerca
do produto. Ele lista todos os recursos, funções, requisitos,
aprimoramentos e correções que formam as alterações a serem
feitas no produto em versões futuras. Os itens do Backlog do produto
Figura 4.2 - Fluxo de Processo Scrum 
Fonte: Aleksandra Sabelskaia / 123RF.
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 15/27
têm os atributos de uma descrição, ordem, estimativa e valor. Os
itens do Backlog do produto geralmente incluem descrições de teste
que comprovam sua integridade quando concluído.
Sprints Backlog ocorre com o Backlog de�nido. A partir dele,
teremos uma sequência de atividades de desenvolvimento de cada
artefato do produto a ser criado, que gera as Sprints Backlog , que é
um plano com detalhes su�cientes para que as mudanças em
andamento possam ser entendidas no Daily Scrum .
O Daily Scrum é um evento de 15 minutos para a equipe de
desenvolvimento. Esta reunião é diária e serve para realizar uma
revisão do Sprint que foi feito no dia anterior, o que será feito hoje e
a declaração de algum tipo de impedimento que pode estar
atrapalhando o desenvolvimento de alguma Sprint .
Sprint é uma etapa de projeto. Ele geralmente equivale a um período
não superior a quatro semanas e, sempre que um sprint termina,
outro deverá começar, até que o produto esteja pronto. Este item é
uma peça fundamental do framework Scrum .
Desenvolvimento Orientado a
Recursos (FDD)
O Feature-Driven Development (FDD) foi introduzido em 1997 por Je� De Luca,
quando ele trabalhava em um projeto de desenvolvimento de software para
um grande banco de Cingapura. É um processo de desenvolvimento de
software iterativo e incremental e também considerado um método ágil de
desenvolvimento. O FDD combina várias práticas recomendadas e
reconhecidas no setor em um todo coeso (PRESSMAN; MAXIM, 2016). Essas
práticas são direcionadas a partir de uma perspectiva de funcionalidade
(recurso) avaliada pelo cliente. Seu principal objetivo é fornecer software de
maneira incremental em tempo hábil.
Existe uma grande vantagem de se utilizar o FDD, que é o fato de ser escalável
até para equipes grandes devido ao emprego do conceito JEDI ( just enough
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 16/27
design initially ou apenas o su�ciente para o design inicialmente'). Neste
aspecto, torna-se uma ótima solução para manter o controle sobre projetos
ágeis, incrementais e complexos, devido ao seu processo centrado em
recursos.
Sua metodologia consiste em que cada projeto tem seu próprio modelo
exclusivo, o que resultará em uma lista de recursos. As últimas três atividades
são processos iterativos curtos, com um recurso que não leva mais de duas
semanas para ser construído. Em tese, se demorar mais de duas semanas,
será necessário dividir em recursos menores. Segundo Pressman e Maxim
(2016), seu conceito prático consiste em cinco atividades básicas:
1. desenvolvimento de um modelo geral, 
2. construção de uma lista de recursos, 
3. planejando por recurso, 
4. projetando por recurso, 
5. construção por recurso.
Em resumo, mesmo como membro da família de métodos ágeis, o FDD não é
tão famoso quanto o Scrum ou Extreme Programming , mas está se tornando
cada vez mais popular, especialmente em situações em que você precisa de
algo novo no ambiente de desenvolvimento de seus projetos. Como Je� De
Luca (2020), o criador do FDD, sempre deixou claro, seu método em si trata de
ideias básicas de como se relacionar com outros métodos ágeis e não como
metodologia única.
praticar
Vamos Praticar
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 17/27
A partir do manifesto ágil, surgiram metodologias como frameworks ou estruturas
como forma de implantar em equipes de desenvolvimento a parte prática da gestão
de processos com base nos princípios do Manifesto de Kent e seus colegas. Nesse
aspecto, algumas metodologias se destacam como Scrum, FDD ( Feature-Driven
Development ) e XP ( eXtreme Programming ).
Sobre as diferentes metodologias, analise as a�rmações a seguir e faça sua
correlação.
i. eXtreme Programming (XP).
ii. Scrum.
iii. Feature-Driven Development (FDD).
( ) É um processo de desenvolvimentode software iterativo e incremental e também
considerado um método ágil de desenvolvimento de software. Cada projeto tem
seu próprio modelo exclusivo, o que resulta em uma lista de recursos.
( ) É uma estrutura onde as pessoas podem lidar com problemas complexos de
adaptação, ao mesmo tempo em que fornecem produtos de maneira mais
produtiva e criativa. Possui uma etapa de lista de pendências.
( ) Uma metodologia que busca a agilidade, sem deixar a qualidade de lado. Uma
das principais características é a programação em pares.
Assinale a alternativa que apresenta a sequência correta sobre a correlação entre os
três tipos de metodologia.
a) I, II, III.
b) II, III, I.
c) III, I, II.
d) III, II, I.
e) I, III, II.
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 18/27
O termo SaaS signi�ca Software as a Service que, na tradução para o
português, seria Software como Serviço. Esse termo é referente ao uso de
sistemas e softwares não apenas como um produto �nal, mas como um
serviço utilizado por usuários e fornecido por empresas especializadas de
maneira recorrente. Quando falamos sobre a arquitetura de software como
serviço você já pode ter uma noção geral de como parte da engenharia de
software se propõe a descrever como esse tipo de sistema é utilizado na
prática.
De modo geral, a base teórica do SaaS está na oferta de um software como
prestação de um ou mais serviços especí�cos e não meramente como um
produto. As plataformas SaaS disponibilizam software para os usuários pela
Internet, geralmente mediante uma taxa de assinatura mensal. Nesse nicho,
temos várias empresas que operam sistemas com este �m, em casos
exempli�cados como da Net�ix e Spotify , grandes distribuidoras de
conteúdo digital como �lmes, séries e música. O modelo de serviço dessas
empresas é da oferta sob demanda, onde o conteúdo �ca disponível para o
Software Software comocomo
Serviço (SaaS)Serviço (SaaS)
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 19/27
usuário assinante de seus serviços, que paga mensalmente para utilizar as
plataformas citadas. 
Outras formas que encontramos software como serviço é nas aplicações de
repositório de arquivos em nuvem, os chamados drives , serviços como
Google Drive, OneDrive (da Microsoft), DropBox, iCloud (da Apple), entre
outros. Alguns serviços vieram como nova proposta de se utilizar aplicações
nos tempos da web. Como exemplo, antes para digitar textos ou criar
planilhas, precisávamos ter instalado em nossos computadores programas
para isso. Hoje, programas como Word e Excel, da Microsoft, assim como o
surgimento dos editores de texto e planilhas do Google são todos oferecidos
como software em nuvem, disponibilizados como serviço aos usuários.
saibamais
Saiba mais
Além da Net�ix e do Spotify, existem diversos
outros serviços de streaming ou de
transmissão de conteúdo digital pela
internet. Em se tratando de vídeos, diversas
outras plataformas se apresentaram ao
público como: Prime Vídeo (da Amazon),
Youtube (da Google), Philos, HBO Go, Now
(das empresas Net e Claro), Telecine (do
grupo Globo), entre outros. Já para serviços
de música, como o Spotify, temos outros,
como Deezer, Youtube Music, Rdio, Apple
Music, Tidal, entre outros também. Para
saber mais sobre esse tipo de serviço, acesse
o site.
ACESSAR
https://canaltech.com.br/internet/os-melhores-servicos-de-streaming-de-video-disponiveis-no-brasil/
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 20/27
Além de serviços básicos de repositórios de arquivos, outros serviços em
nuvem para hospedagem de sistemas e sites para web também são ofertados
de maneira escalar, destaque para o Microsoft Azure, Amazon AWS, Google
Cloud, IBM Cloud, Alibaba Cloud, que de modo geral liberam serviços do mais
básico espaço em servidores para instalação de softwares diversos, como
também o chamado PaaS ( Platform as a Service ) que são as plataformas
como serviço. Nisso se destacam servidores capazes de processar big data
(grandes volumes de dados, acima de petabytes ), inteligência arti�cial e
algoritmos complexos.
Com o SaaS, você não precisa instalar obrigatoriamente para executar
aplicativos de software no seu computador (ou algum outro sistema
computacional como smartphones, tablets etc.). Com essa plataforma, tudo
está disponível na Internet quando você faz login em sua conta on-line .
Geralmente, você pode acessar o software a partir de qualquer dispositivo, a
qualquer momento, desde que haja uma conexão com a Internet. Na verdade,
algumas aplicações permitem que você baixe alguns conteúdos e possa
acessar o conteúdo mesmo o�ine . O mesmo vale para qualquer outra
pessoa que esteja usando o software . Em um ambiente corporativo, cada
colaborador deverá ter logins personalizados, adequados ao seu nível de
acesso (de preferência).
As plataformas SaaS são ideais para quando se deseja que um aplicativo seja
executado de maneira leve e con�ável, com o mínimo de informações
personalizadas. O uso do SaaS apresenta alguns pontos positivos, como:
Sem necessidade de instalação - a empresa não precisa mais
contratar um especialista em TI apenas para baixar o software em
vários computadores do escritório ou se preocupar em manter o
software em todos os computadores atualizados.
Menor custo de implantação - a maioria dos provedores de SaaS
opera num modelo de assinatura, com uma taxa por número de
usuários, paga de maneira mensal ou anual.
Planejamento de orçamento - é possível saber e planejar quanto o
software irá custar, permitindo uma de�nição de orçamentar
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 21/27
adequada ao porte da empresa, sem se preocupar com possíveis
surpresas de custos.
Manutenção e suporte quali�cados - a maioria das assinaturas
inclui serviços de manutenção, conformidade e segurança, que
podem ser demorados e custosos quando se usa um software
localmente.
Escalabilidade - por estar em servidores de terceiros e possuir
(geralmente) diferentes níveis de pacotes e planos, empresas de
pequeno, médio e nível empresarial podem escolher uma estrutura
inicial e ir solicitando serviços adicionais conforme a necessidade for
crescendo.
Se falamos em pontos positivos, podemos elencar pontos negativos no uso do
software como serviço? Bem, por mais vantagens que possa ter, qualquer tipo
de tecnologia da informação pode apresentar alguns pontos fracos. Alguns
desses pontos podem ser:
Problema de Conectividade - com um serviço em um computador
remoto, caso falte internet nas dependências de sua empresa ou no
seu smartphone , o serviço é interrompido imediatamente. Existe a
possibilidade de uma replicação ou versionamento local de dados,
mas as principais características do software podem �car
indisponíveis.
Imperícia - alguns erros de uso podem acontecer para usuários
iniciantes. Por muitas vezes estarem acostumados a softwares
instalados no computador, alguns usuários que não tenham
experiência anterior de ambiente em nuvem podem cometer erros
primários (mas que provavelmente não afetarão os dados ou o
sistema como um todo.
Indisposição de Serviço - por ser terceirizado, o serviço pode �car
inacessível também caso o servidor onde a aplicação é executada
passe por problemas como ataques ou falta de conexão com a
internet.
Segurança dos Dados - por mais que os serviços sejam oferecidos
por empresas altamente pro�ssionais, ataques a servidores de dados
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 22/27
são recorrentes e, com isso, podemocasionar vazamento ou até
perda de dados em casos mais extremos.
Em resumo, por mais que tenhamos grandes vantagens e ao mesmo tempo
alguns temores quanto ao uso do software como serviço, de modo geral são
serviços que apresentam alta disponibilidade, uma grande taxa de sucesso
em seu uso e aplicação em ambientes empresariais.
praticar
Vamos Praticar
Software como serviço (SaaS) é um modelo de distribuição de software no qual um
provedor terceirizado hospeda aplicativos e os disponibiliza aos clientes pela
Internet. O SaaS é uma das três principais categorias de computação em nuvem,
juntamente à infraestrutura como serviço (IaaS) e plataforma como serviço (PaaS).
Sobre SaaS, analise as a�rmações a seguir.
i. Saas é a oferta de um software como prestação de um ou mais serviços
especí�cos e não meramente como um produto.
ii. Uma forma comum de software como serviço é com repositório de
arquivos em nuvem, chamado de drive .
iii. O fato de não ser necessário instalar aplicativos localmente torna menos
con�ável o uso de SaaS.
iv. A escalabilidade não é uma vantagem do SaaS, pois requer bastante do
servidor em que o serviço está sendo executado.
Sobre as características do SaaS, é correto o que se a�rma em:
a) II e III, apenas.
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 23/27
b) I, II e III, apenas.
c) I e II, apenas.
d) II, III e IV, apenas.
e) I, II e IV, apenas.
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 24/27
indicações
Material
Complementar
FILME
Piratas do Vale do Silício.
Direção : Martyn Burke. Estados Unidos: 20 de junho
de 1999. Cor. 95 min.
Comentário : O �lme conta a história da criação das
empresas Apple e Microsoft, com destaque para Steve
Jobs e Bill Gates, grandes mentes da era da
computação. Com grande destaque para a criação dos
primeiros sistemas operacionais modernos, o �lme
mostra como processos aliados a uma boa gestão e
doses de criatividade podem levar a produtos �nais
marcantes e que repercutem por longos tempos.
Para conhecer mais sobre o �lme, acesse o trailer a
seguir.
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 25/27
TRA ILER
LIVRO
DUARTE, Luiz. Scrum e métodos ágeis : um guia
prático. Rio de Janeiro: Sextante, 2020. ISBN:
B01LBSPIAG (ASIN).
Comentário: Neste livro, o autor aborda a temática da
metodologia ágil com uso do Scrum no dia a dia
pro�ssional. Tendo um ritmo de depoimento, o autor
explica detalhadamente o uso do Scrum para melhorar
a produtividade pessoal e de uma equipe inteira de
desenvolvimento de projetos.
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 26/27
conclusão
Conclusão
Ao término desta unidade, podemos analisar que aspectos da SOA
(Arquitetura Orientada a Serviço) se apresentam como uma divisão da
engenharia de software capaz de representar a melhor maneira possível a
forma de se criar software , pensando em servir um usuário de maneira direta
e evolutiva. Um dos grandes pontos da SOA é poder empregar boas práticas
de desenvolvimento capazes de permitir que haja uma evolução contínua do
software criado, algo essencial para os dias atuais de conectividade sempre
presente em nosso dia a dia. Conforme a metodologia ágil se desenvolve,
baseada no manifesto ágil, as equipes de desenvolvimento melhoram sua
comunicação interna e a geração de produtos em menos tempo, sem perder
a qualidade �nal.
Por �m, o Software como Serviço (SaaS) é uma amostra como os serviços para
o usuário pela internet chegaram para �car. A�nal, como você viveria sem
serviços de streaming de vídeo e áudio, além do repositório com seus arquivos
na nuvem, acesso a seu e-mail e outros serviços on-line ? Certamente, a rotina
pessoal e pro�ssional seriam bastante limitadas.
referências
Referências
Bibliográ�cas
16/06/2022 20:11 Ead.br
https://student.ulife.com.br/ContentPlayer/Index?cd=Oaq3WyQEy6YigYyEjuTOtw%3d%3d&l=SqNzBFkI%2bQdL5XK7LUlrzg%3d%3d&lc=RmV… 27/27
BECK, Kent et al . Manifesto para desenvolvimento ágil de software .
Disponível em: https://agilemanifesto.org/iso/ptbr/manifesto.html . Acesso
em: 28 fev. 2020.
DESENVOLVIMENTO ÁGIL. Scrum . Disponível em:
https://www.desenvolvimento agil.com.br/scrum/ . Acesso em: 28 fev. 2020.
OLIVEIRA, Edson Mendes de. Vantagens e desvantagens de SOA . Disponível
em: https://www.devmedia.com.br/vantagens-e-desvantagens-de-soa/27437 .
Acesso em: 28 fev. 2020.
PRESSMAN, Roger; MAXIM, Bruce. Engenharia de software - uma abordagem
pro�ssional. 8. ed. Porto Alegre: AMGH, 2016.
TD – TRANSFORMAÇÃO DIGITAL. Desvendando a SOA – Arquitetura
Orientada a Serviços. Disponível em:
https://transformacaodigital.com/tecnologia-da- informacao/desvendando-a-
soa-arquitetura-orientada-a-servicos/ . Acesso em: 26 fev. 2020.
WONG, Leandro. SOA – engenharia de software . Disponível em:
http://devmedia. com.br/soa-engenharia-de-software-35/20439 . Acesso em:
26 fev. 2020.
https://agilemanifesto.org/iso/ptbr/manifesto.html
https://www.desenvolvimento%20agil.com.br/scrum/
https://www.devmedia.com.br/vantagens-e-desvantagens-de-soa/27437
https://transformacaodigital.com/tecnologia-da-%20informacao/desvendando-a-soa-arquitetura-orientada-a-servicos/
http://devmedia.%20com.br/soa-engenharia-de-software-35/20439

Continue navegando