Baixe o app para aproveitar ainda mais
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
Compartilhar