Buscar

Práticas de Engenharia de Software 4

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

29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 1/26
PRÁTICAS DE ENGENHARIA DEPRÁTICAS DE ENGENHARIA DE
SOFTWARESOFTWARE
DESENVOLVIMENTODESENVOLVIMENTO
ÁGIL DE ÁGIL DE SOFTWARESOFTWARE
Autor: Esp. Daniel dos Santos Brandão
I N I C I A R
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 2/26
introduçãoIntroduçã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 Development
(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.
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 3/26
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 maneira remota, seja por um navegador (browser) ou
por uma aplicação cliente.
Engenharia deEngenharia de
Software Software OrientadaOrientada
a Serviçosa Serviços
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 4/26
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 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
saibamaisSaiba 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
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 5/26
�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
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.
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 6/26
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.
praticarVamos Praticar
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.
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller7/26
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
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 8/26
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 sobre o
Agile Agile SoftwareSoftware
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 9/26
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.
eXtreme Programming (XP)
saibamaisSaiba 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
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 10/26
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:
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 11/26
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,
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
Figura 4.1 - O processo da Extreme Programming (XP)
Fonte: Pressman e Maxim (2016, p. 72).
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 12/26
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 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 Jeff 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 asde�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
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 13/26
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:
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 14/26
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 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
Figura 4.2 - Fluxo de Processo Scrum 
Fonte: Aleksandra Sabelskaia / 123RF.
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 15/26
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 Jeff 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 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
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 16/26
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 Jeff 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.
praticarVamos Praticar
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.
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 17/26
i. eXtreme Programming (XP).
ii. Scrum.
iii. Feature-Driven Development (FDD).
( ) É um processo de desenvolvimento de 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.
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 18/26
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
deserviço dessas empresas é da oferta sob demanda, onde o conteúdo �ca
disponível para o usuário assinante de seus serviços, que paga mensalmente para
utilizar as plataformas citadas.
SoftwareSoftware como como
Serviço (SaaS)Serviço (SaaS)
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 19/26
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.
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
saibamaisSaiba 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/
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 20/26
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 of�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 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.
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 21/26
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 são
recorrentes e, com isso, podem ocasionar 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.
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 22/26
praticarVamos 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.
b) I, II e III, apenas.
c) I e II, apenas.
d) II, III e IV, apenas.
e) I, II e IV, apenas.
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 23/26
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, acesseo trailer a seguir.
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 24/26
T R A I L E R
L I V R O
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.
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 25/26
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
29/11/2020 Ead.br
https://fmu.blackboard.com/webapps/late-Course_Landing_Page_Course_100-BBLEARN/Controller 26/26
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