Você está na página 1de 49

UNOPAR - UNIVERSIDADE NORTE DO PARANÁ

VIVIANE KLEIN

PRODUÇÃO TEXTUAL INTERDISCIPLINAR INDIVIDUAL:


CONSULTORIA À EMPRESA DE ROUPAS T-SHIRT
VIVIANE KLEIN

PRODUÇÃO TEXTUAL INTERDISCIPLINAR INDIVIDUAL:


CONSULTORIA À EMPRESA DE ROUPAS T-SHIRT

Trabalho de Produção Textual Interdisciplinar Individual


apresentado ao curso de CST Análise e
Desenvolvimento de Sistemas como requisito parcial
para a obtenção de média semestral para as matérias de
Engenharia de Software, Redes e Sistemas Distribuídos,
Programação Web, Desenvolvimento Mobile.

Professores: Adriane Aparecida Loper, Gilberto


Fernandes Junior, Vanessa Matias Leite.

Xanxerê
2021
SUMÁRIO

1 INTRODUÇÃO.......................................................................................................3
2 DESENVOLVIMENTO...........................................................................................5
2.1 ESCOLHA E APLICAÇÃO DA METODOLOGIA ÁGIL - TAREFA 01...............5
2.1.1 DETALHAMENTO DA FERRAMENTA SCRUM............................................6
2.1.2 CARACTERÍSTICAS DO SCRUM.................................................................7
2.1.3 PAPÉIS NO SCRUM OU TIME SCRUM........................................................8
2.1.3.1 Product Owner................................................................................................8
2.1.3.2 Time de Desenvolvimento..............................................................................9
2.1.3.3 Scrum Master..................................................................................................9
2.1.4 EVENTOS SCRUM.......................................................................................10
2.1.4.1 Sprint.............................................................................................................11
2.1.4.2 Reunião de Planejamento da Sprint.............................................................12
2.1.4.3 Reunião Diária..............................................................................................12
2.1.4.4 Revisão da Sprint..........................................................................................13
2.1.4.5 Retrospectiva Da Sprint................................................................................14
2.1.5 ARTEFATOS DO SCRUM............................................................................14
2.1.5.1 Backlog do Produto......................................................................................14
2.1.5.2 Backlog da Sprint..........................................................................................15
2.1.5.3 Incremento....................................................................................................16
2.2 MODELO DE MATURIDADE - KANBAN MATURITY MODEL.......................16
2.2.1 CARACTERÍSTICAS DO MODELO KMM...................................................16
2.2.2 PLANO DE IMPLANTAÇÃO DO MODELO KMM........................................17
2.2.2.1 Nível 0: Inconsciente....................................................................................19
2.2.2.2 Nível 1: Foco na Equipe...............................................................................19
2.2.2.3 Nível 2: Orientado ao Cliente........................................................................21
2.2.2.4 Nível 3: Adaptado ao Propósito....................................................................21
2.2.2.5 Nível 4: Riscos Protegidos............................................................................22
2.2.2.6 Nível 5: Líder de Mercado............................................................................23
2.2.2.7 Nível 6: Construída para Durar.....................................................................24
2.3 UTILIZAÇÃO DE SISTEMAS DISTRIBUÍDOS - TAREFA 02.........................25
2.3.1 VANTAGENS DOS SISTEMAS DISTRIBUÍDOS.........................................25
2.3.2 DEFINIÇÃO E UTILIZAÇÃO DE MIDLLEWARE.........................................26
2.3.3 PLATAFORMAS MIDDLEWARES...............................................................27
2.4 PROGRAMAÇÃO DE PÁGINAS PARA A WEB - TAREFA 03.......................29
2.4.1 SURGIMENTO E CONCEITOS FUNDAMENTAIS DA WEB......................29
2.4.2 PROCESSO DE ACESSO AOS SITES NA WEB........................................30
2.4.3 HTML5 E CSS3 NA CRIAÇÃO DE SITES...................................................31
2.5 APLICAÇÃO MOBILE - TAREFA 04................................................................33
2.5.1 PLATAFORMAS E LINGUAGENS PARA ANDROID..................................33
2.5.2 TENDÊNCIAS PARA APLICATIVOS ANDROID.........................................35
3 CONCLUSÃO......................................................................................................37
4 REFERÊNCIAS....................................................................................................38
ÍNDICE DAS ILUSTRAÇÕES

Figura 1 - Pilares do Modelo KMM..............................................................................16


Figura 2 - Modelo de Maturidade Kanban..................................................................18
Figura 3 - Nível de Maturidade 0.................................................................................19
Figura 4 - Nível de Maturidade 1.................................................................................20
Figura 5 - Nível de Maturidade 2.................................................................................21
Figura 6 - Nível de Maturidade 3.................................................................................22
Figura 7 - Nível de Maturidade 4.................................................................................23
Figura 8 - Nível de Maturidade 5.................................................................................24
Figura 9 - Nível de Maturidade 6.................................................................................25
Figura 10 - Esquema middleware...............................................................................26
Figura 11 - Representação dos componentes do nível base e do nível meta do
OpenORB....................................................................................................................28
Figura 12 - Paradigma OAA........................................................................................29
3

1 INTRODUÇÃO

Pesquisando o mercado empresarial nos últimos 20 anos, é possível observar


a quantidade de grandes empresas, conhecidas mundialmente, que faliram ou
perderam o espaço no mercado. Muitas delas revolucionaram o mercado
consumidor da sua área, inventaram ou criaram itens que transformaram a visão do
consumidor em relação a alguns produtos. Podemos citar empresas como a Kodak,
líder do mundo da fotografia, ela inventou a fotografia digital, lançou a primeira
câmera digital, porém ignorou ou não valorizou o que ela mesma criou: a revolução
digital. Um exemplo de empresa que ignorou a experiência do usuário e por isso
saiu do mercado de smartphones: Black Berry. A Black Berry foi a primeira a trazer o
tablet celular com acesso à internet, porém eles ignoraram os usuários que
reclamavam e pediam telas maiores, então vieram a Apple e a Samsung com
celulares de tela inteira e dominaram o mercado. Com isso a Black Berry anunciou a
sua saída do mercado de smartphones em 2017.
Olhando estas histórias e muitas outras, pode-se perceber que um dos
maiores motivos para o crescimento ou a estagnação ou falência de uma empresa é
a necessidade de inovar. Se a empresa não inova, ela é atropelada por empresas
com visão no futuro. Não adianta ter um produto revolucionário se ele não estiver em
constante evolução.
Estar em constante movimento e acompanhando as tendências tecnológicas
é o que faz as empresas sobreviverem no cenário econômico atual. A própria ideia
de empresa trouxe uma inovação que são os Startups, definidas como empresas
novas que apresentam um modelo de negócio com o objetivo principal de possuir
uma solução rentável, inovadora, repetível e escalável e que esta solução possa
resolver os problemas e necessidades dos seus clientes. Deve ser repetível para
que cresça sem precisar mudar o seu modelo de negócios. E deve ser escalável
para aumentar os lucros sem que para isso precise aumentar suas despesas
proporcionalmente.
Para apresentar os conhecimentos adquiridos neste semestre, foi criada a
startup fictícia com o nome "Consultoria de Tecnologia Computacional" e que no
desenvolvimento deste trabalho será chamada de CTC. O objetivo deste Startup é
atender pequenas, médias e grandes empresas combinando tecnologia,
organização e consultoria para melhorar os processos já existentes ou criando
4

novos para gerar economia e acelerar a produção e comércio dos produtos dos
clientes.
A CTC irá realizar um trabalho de consultoria para a empresa de roupas T-
shirt, também fictícia, que fez as seguintes solicitações:
- possíveis melhorias nos processos de softwares;
- apresentar melhorias para o sistema computacional para uma possível expansão;
- informações sobre realizar uma adaptação do sistema de vendas atual para o e-
commerce;
- fornecer informações sobre o desenvolvimento de aplicativos para utilização
mobile.
As solicitações serão atendidas apresentando as soluções mais inovadoras,
modernas e funcionais, para aquele tipo de negócio.
Para propor as melhores soluções, a CTC irá buscar as combinações de
processos, programas, linguagens e tecnologias que melhor se adaptem e
apresentem resultados com mais qualidade. Satisfazendo, assim, o cliente e
atendendo não somente o solicitado, mas ultrapassando esta fronteira e criando um
produto que vai gerar resultados e novas consultorias para outros setores da
empresa gerando mais receitas para a CTC.
Assim, além de ter um cliente satisfeito, terá um cliente fidelizado que vai
"vender" a CTC para outros clientes.
5

2 DESENVOLVIMENTO

Para realizar as diversas tarefas solicitadas neste projeto, cuja descrição na


íntegra encontra-se no Anexo 01 - Proposta Interdisciplinar foram analisadas as
informações disponibilizadas e desenvolvidas as soluções conforme a necessidade
em cada uma destas tarefa.
Inicialmente, tomou-se conhecimento de que a empresa precisava de
melhorias no controle de qualidade e para resolver este problema será oferecida
uma metodologia moderna e muito utilizada para melhorar os processos de
software: a metodologia Ágil.
Dentro desta, existem diversas ferramentas que podem ser utilizadas, para o
caso em que se está trabalhando, será apresentada a ferramenta Scrum.
No segundo momento desta primeira tarefa, será apresentado um modelo de
maturidade desta metodologia Ágil que estará sendo implantada na empresa. O
modelo a ser seguido será o novo Modelo de Maturidade Kanban ou KMM (Kanban
Maturity Model), lançado em 2019 pela Kanban e que remete visualmente a
ferramenta Ágil Kanban.
A segunda tarefa consiste em um relatório de como sistemas distribuídos
poderão trazer vantagens sobre os sistemas centralizados bem como exemplos de
utilização de middlewares.
A terceira tarefa voltada para implantação do e-commerce na empresa T-shirt,
trará informações sobre a história da Web e como funciona o acesso ao site da
empresa desde a criação do site com a utilização do HTML5 e CSS3 até o usuário
acessar este site em seu aparelho.
A quarta tarefa é apresentar as linguagens de programação para aplicação
mobile que podem ser adaptadas ao sistema Android, mais utilizado no mercado
atualmente e apresentar algumas tendências de desenvolvimento de aplicativos
para Android.

2.1 ESCOLHA E APLICAÇÃO DA METODOLOGIA ÁGIL - TAREFA 01

A Metodologia Ágil tem o foco em pessoas e também busca os melhores


resultados para o desenvolvimento de softwares, tendo como uma de suas metas
acompanhar as rápidas transformações e tecnologias que se desenvolvem todos os
6

dias no mundo e fazer tudo isto com a maior simplicidade, flexibilidade e agilidade
possíveis. Os princípios da Metodologia Ágil, que formaram a base para o manifesto
Ágil, podem ser lidos no Anexo 2 - Princípios da Metodologia Ágil.
A flexibilidade, a rapidez de entrega, o cumprimento de prazos, o
planejamento adaptado para cada projeto são algumas das características deste
método. Estas buscam a melhoria contínua na qualidade dos softwares que serão
entregues ao cliente.
Para atingir os objetivos citados, a metodologia pode utilizar diversas
ferramentas sozinhas ou em conjunto. Entre estas ferramentas pode-se citar a
Scrum, que foi escolhida para auxiliar a empresa T-shirt.

2.1.1 DETALHAMENTO DA FERRAMENTA SCRUM

A empresa T-shirt precisa de uma ferramenta para controlar sua produção e


trazer o controle de qualidade para a fabricação dos seus produtos, visando mais
lucros e melhoria continua na qualidade do que é produzido, pois é isso que os
consumidores atuais procuram.
O framework (ou ferramenta) Scrum foi criado para que as pessoas possam
desenvolver e manter projetos ou produtos complexos e adaptáveis buscando
aperfeiçoar o gerenciamento de projetos e com isso entregar produtos com mais
qualidade e controle.
Pensando nesta definição e nas características que serão apresentadas, a
ferramenta Scrum foi a mais adequada para a empresa T-shirt, pois envolve um
processo iterativo e incremental rápido e constante do projeto. Sendo que cada parte
que é entregue do projeto ou iteração gera um incremento de uma nova
funcionalidade do produto que está pronta para ser colocada em uso.
Além disso, a interação com o cliente que participa ativamente em todas as
etapas do desenvolvimento do produto proporciona mais segurança para o próprio
cliente. Ele se envolve no desenvolvimento e entende cada parte e pode testá-la e
modificá-la ou incluir e retirar requisitos, quando necessário, sem grandes prejuízos
para o projeto como um todo.
Outro ponto para escolha da Scrum é a possibilidade de formar uma equipe a
partir de três e até nove pessoas, o que diminui consideravelmente o custo do
projeto para a empresa que vai prestar o serviço no caso a CTC. O número reduzido
7

de pessoas também permite um maior controle e gerenciamento do andamento do


projeto.
Para iniciar o uso da ferramenta Scrum devem ser definidos os stakeholders,
colaboradores da empresa T-shirt. Eles serão os responsáveis para verificar se as
metas e requisitos foram alcançados, avaliar a qualidade da iteração entregue e
estarem em contato direto com a equipe de desenvolvimento. O stakeholder não
precisa ser apenas uma pessoa, na verdade, o ideal é que para cada área do
software a ser desenvolvido seja direcionado um stakeholder que conheça e utilize a
iteração a ser implementada.

2.1.2 CARACTERÍSTICAS DO SCRUM

O Scrum se baseia na premissa de "que o conhecimento vem da experiência


e de tomadas de decisões baseadas no que é conhecido" (Schwaber e Sutherland,
2013).
A principal característica do Scrum com certeza é a iteração. A cada iteração
a equipe ou time, como será chamado daqui em diante, observa os requisitos e
avalia os próximos passos para a próxima iteração. Com esta avaliação, o time
determina como irá desenvolver a próxima funcionalidade, sendo que diariamente é
possível alterar a maneira como esta funcionalidade será desenvolvida no caso de
surgirem dificuldades ou complexidades. O time é quem determina qual e como será
a melhor maneira de realizar uma tarefa, esta liberdade ou descentralização do
controle é o que torna o Scrum extremamente eficiente no gerenciamento de
desenvolvimento de softwares.
O framework possui três pilares para apoiar a implementação do
gerenciamento de projetos:
a) Transparência: partes importantes do processo devem ser estar visíveis aos
responsáveis pelos resultados. Esta transparência só é possível quando se adota
um padrão de linguagem entre os participantes da equipe. Por exemplo, todos os
participantes devem entender o conceito de "A fazer", "Fazendo", "Pronto".
b) Inspeção: os artefatos do Scrum devem ser inspecionados constantemente para
se perceber qualquer informação incorreta. Esta inspeção pode ser realizada por
pessoa específica ou pode ser feita pelos membros da equipe desde que não haja
prejuízo na execução das tarefas.
8

c) Adaptação: caso seja detectada alguma anomalia alterando o resultado final de


forma que não seja aceitável ou não esteja de acordo com o que o cliente solicitou,
deve ser feito, o quanto antes, um ajuste do processo para diminuir a anomalia e
não deixar que a mesma passe para a próxima iteração.

2.1.3 PAPÉIS NO SCRUM OU TIME SCRUM

Segundo o manual do Scrum (Schwaber e Sutherland, 2013), o Time Scrum


possui três papéis independentes: Product Owner (dono do produto), Time de
Desenvolvimento e o Scrum Master.
O Time Scrum tem a característica de ser auto-organizável e multifuncional.
Desta forma, ele pode escolher a melhor forma de desenvolver a sua tarefa, pois
possui todas as qualidades e conhecimentos necessários para completar o trabalho
sem que haja a necessidade de intervenção de outros que não fazem parte da
equipe. “O modelo de time no Scrum é projetado para aperfeiçoar a flexibilidade,
criatividade e produtividade” (Schwaber e Sutherland, 2013).

2.1.3.1 Product Owner

O Product Owner ou Dono do Produto é o responsável por gerenciar ou


coordenar a equipe de desenvolvimento ou Time Scrum. Ele é uma única pessoa e
não um time e é o único que deve gerenciar a Backlog do produto. Para que o
product Owner possa realizar suas funções de maneira adequada e com resultados,
é necessário que todos os envolvidos respeitem e entendam as suas decisões.
Somente o Product Owner pode alterar ou definir quem e/ou como serão
realizadas as tarefas da Backlog do produto.
O gerenciamento da Backlog inclui:
 Listar e verificar se os itens da Backlog são claros e precisos;
 Definir a ordem em que serão realizados os itens da Backlog;
 Garantir a qualidade dos itens realizados;
 Garantir que todos os envolvidos no projeto tenham acesso e
entendam o que vai ser trabalhado da Backlog no nível necessário.
9

2.1.3.2 Time de Desenvolvimento

São os profissionais que realizam as tarefas definidas pelo Product Owner.


Eles são responsáveis pela criação de incrementos e entrega de versões
utilizáveis que integrarão o produto pronto ao final.
Os Times são autogerenciáveis e organizados, a sua eficiência e eficácia são
resultados de um bom engajamento da equipe como um todo.
As principais características do Time de desenvolvimento são:
 Equipes de três a nove integrantes;
 Auto-organizados: é a equipe que define como chegar ao resultado
desejado, como transformar a Backlog em um incremento utilizável e
com qualidade;
 Possuem toda a habilidade necessária para criar os incrementos;
 De acordo com o manual Scrum, não há títulos para os integrantes da
equipe além do Desenvolvedor, todos os participantes são conhecidos
desta forma.
 A responsabilidade pelo produto a ser entregue é de toda a equipe,
independentemente das habilidades ou especializações de cada um;
 Não há divisões internas nos times.

2.1.3.3 Scrum Master

O Scrum Master é o responsável técnico e conhecedor da ferramenta Scrum


e que deve garantir que todo o processo seja entendido e aplicado por todos os
envolvidos. Ele deve verificar que todos estão cumprindo as práticas, regras e
aderindo às teorias do Scrum.
O Scrum Master deve ser uma interface entre o Time Scrum e aqueles que
não estão envolvidos para que as interações entre eles sejam produtivas e não um
empecilho ou desvio para o desenvolvimento do produto, garantindo assim a
maximização do valor do produto criado pelo Time Scrum.
As principais funções do Scrum Master são:
 Para o Product Owner:
o Gerir efetivamente as técnicas que serão aplicadas para
desenvolvimento da Backlog do Produto;
10

o Comunicar com clareza a visão, objetivos e itens da Backlog


para o Time de desenvolvimento;
o Ensinar e dar suporte ao Time Scrum para criação de uma
Backlog concisa e clara;
o Ter uma visão a longo prazo do planejamento do produto;
o Entender e praticar o método Ágil;
o Agir como facilitador dos eventos Scrum.
 Para o Time de Desenvolvimento:
o Dar treinamento para que o Time seja autogerenciável;
o Ensinar e liderar o Time de Desenvolvimento para obter um
produto de maior valor e qualidade;
o Facilitar os eventos Scrum conforme se fizer necessário;
o Garantir a aplicação de todas as regras e práticas do Scrum
através do treinamento em ambientes organizacionais.
 Para a organização:
o Liderar e treinar os colaboradores na adaptação para
implantação da ferramenta Scrum;
o Planejar a implantação para diminuir o impacto junto aos
colaboradores;
o Causar mudanças para aumentar a produtividade do Time
Scrum;
o Aumentar a eficácia do Scrum dentro da organização.

2.1.4 EVENTOS SCRUM

Os eventos definidos pelo Scrum têm o objetivo de criar uma rotina e


aperfeiçoar o tempo da equipe. Com a definição destes eventos, não se perde
tempo com reuniões desnecessárias e fora do cronograma.
Todos os eventos que serão descritos são no formato time-boxed, ou seja,
tem uma duração pré-definida que não pode ser alterada, conseguindo-se assim um
uso do tempo mais consciente e produtivo.
11

2.1.4.1 Sprint

A Sprint é a representação de como a iteração a ser criada será desenvolvida


pela equipe do projeto, elas são utilizadas para realizar algo. Dentro de cada Sprint
existe um objetivo definido do que deverá ser desenvolvido ou construído, um plano
de como será desenvolvido, que servirá de guia para obtenção do produto.
O tempo máximo, ou time-boxed, de cada Sprint não deve ultrapassar um
mês corrido, pois se for maior do que este tempo começa a formar-se a
possibilidade de mudanças na definição do projeto, aumento da complexidade e o
risco pode crescer (Schwaber e Sutherland, 2013).
Entre as vantagens de realizar Sprints de até um mês pode-se citar a
inspeção e a adaptação do progresso do projeto todos os meses, sendo que
qualquer problema será bem mais fácil de sanar, já que a probabilidade é que esteja
dentro dos últimos 30 dias.
Com o tempo determinado de 30 dias limita-se o risco ao custo de um mês de
trabalho.
O resultado da Sprint é um “Pronto”, ou seja, uma iteração incremental
utilizável do produto final. O tempo total de uma Sprint será definido de acordo com
a equipe de desenvolvimento, sendo coerente com o numero de participantes e com
o escopo.
Após o inicio de uma Sprint não são realizadas nenhuma mudança que possa
por em risco o objetivo final da Sprint, não há diminuição da qualidade e qualquer
alteração do escopo será definida entre o Product Owner e o Time de
desenvolvimento.
Uma Sprint só poderá ser cancelada pelo Product Owner e antes do término
do time-boxed, e o único motivo para cancelamento é se o objetivo daquela Sprint se
tornar obsoleto, o que é muito raro já que as Sprints têm duração máxima de 30
dias. Um cancelamento tem um custo alto, pois é necessária a revisão de toda a
Backlog do Produto completado ou “Pronto”. Além do consumo de recursos
humanos que precisarão se reagrupar em outra reunião para definição da nova
Sprint. Por estas razões, os cancelamentos de Sprints são muito incomuns.
12

2.1.4.2 Reunião de Planejamento da Sprint

Na reunião de planejamento é definido o trabalho que será realizado naquela


Sprint e todo o Time Scrum participa de maneira colaborativa. A reunião de
planejamento não deve ultrapassar a time-boxed de 8 horas para 30 dias de duração
da Sprint.
Este evento é liderado pelo Scrum Master que garante a sua realização,
garante que todos entendam seus objetivos e garante que o time-boxed seja
respeitado. O Product Owner define o objetivo da Sprint e os itens da Backlog do
Produto, o time de desenvolvimento prevê as funcionalidades que serão
desenvolvidas durante a Sprint.
A reunião começa com a apresentação do incremento do produto da Sprint
anterior, a projeção do time de desenvolvimento durante a Sprint anterior e o
desempenho passado. Na seqüência, o Time de desenvolvimento selecionará o
número de itens a serem desenvolvidos para a próxima Sprint dentro de sua
capacidade de produção. Com esta informação o Time Scrum determina a meta da
próxima Sprint.
Após a definição do objetivo e dos itens da Backlog do Produto, o Time de
Desenvolvimento decide como irá realizar a construção das funcionalidades
propostas e como irá convertê-las em incrementos para o produto “Pronto”.
Os itens escolhidos pelo Time de Desenvolvimento a partir da Backlog de
Produto passarão a serem chamados Backlog da Sprint. Durante a reunião de
planejamento o Time de desenvolvimento define as unidades da Backlog da Sprint,
que normalmente são organizadas por dia de trabalho ou menos e que nortearão o
objetivo de estar sendo construído o incremento daquela Sprint. Se necessários os
itens da Backlog da Sprint podem ser negociados, para aumentar ou diminuir a lista,
com o Product Owner.
No final da reunião o Time de Desenvolvimento deverá expor ao Product
Owner e ao Scrum Master, como irá realizar e completar o objetivo da Sprint.

2.1.4.3 Reunião Diária

É um evento time-boxed de 15 minutos com o objetivo de que o Time de


Desenvolvimento possa verificar se as tarefas estão de acordo com o planejado e
13

criar um plano para as próximas 24 horas, realizando assim uma revisão da reunião
anterior e preparando o que deve ser entregue na próxima reunião.
Esta reunião deve ser no mesmo horário e local diariamente. E todos devem
responder três perguntas, segundo Schwaber e Sutherland:
 O que eu fiz ontem que ajudou o Time de Desenvolvimento a atender a
meta da Sprint?

 O que eu farei hoje para ajudar o Time de Desenvolvimento atender a


meta da Sprint?

 Eu vejo algum obstáculo que impeça a mim ou o Time de


Desenvolvimento no atendimento da meta da Sprint?

As reuniões diárias visam que o Time de Desenvolvimento atinja o objetivo da


Sprint. O Scrum Master deve garantir que as reuniões aconteçam que se
mantenham no time-boxed e que apenas os integrantes do Time participem, mas é o
time de Desenvolvimento que lidera. As reuniões diárias trazem diversos benefícios:
prescinde de outras reuniões, melhora a comunicação, verificam os possíveis
impedimentos do Time e melhora do nível de conhecimento.

2.1.4.4 Revisão da Sprint

É realizada ao final da Sprint para inspecionar o incremento e revisará


backlog do Produto se necessário, é uma reunião informal e a apresentação do
incremento busca a participação, motivação e a colaboração de todos do Time
Scrum. Tem uma time-boxed de até 4 horas se a Sprint for de um mês.
Algumas regras para a reunião de revisão:
 Participantes: Time Scrum e stakeholders;
 Product Owner: apresenta os itens do Backlog do Produto que estão
“Prontos” e define as prováveis datas dos itens restantes do Backlog do
Produto;
 O Time de Desenvolvimento apresenta os problemas e soluções que foram
encontrados durante a Sprint;
 O Time de Desenvolvimento demonstra o incremento que foi criado e
responde a possíveis dúvidas;
 Todo o Time Scrum colabora e define os próximos passos, que serão a
14

entrada para a próxima reunião de planejamento;


 Revisão da linha do tempo, orçamentos, funcionalidades e mercado para a
próxima iteração.

2.1.4.5 Retrospectiva Da Sprint

Funciona como uma auto-análise do time Scrum, buscando eles mesmos por
possíveis melhorias para a próxima Sprint. Ocorre entre a Revisão e o Planejamento
da próxima sprint e tem um time-boxed de 3 horas máximas para uma Sprint de um
mês. Os objetivos principais da Retrospectiva são:
 Verificar o impacto da ultioma sprint nos colaboradores, nos
relacionamentos, nos processos e nas ferramentas;
 Identificar e colcoar em ordem os itens com maior destaque e as melhorias
que foram feitas;
 Impantar melhorias ou propô-las na maneira de trabçaho do time Scrum.

Na retrospectiva, o Time Scrum é encorajado a buscar melhorias visando o


aumento da qualidade sempre, conseguindo assim trazer novas definições para o
produto “Pronto”.
As melhorias sugeridas e aceitas podem ser implantadas na proxima Sprint,
porem se outras melhorias surgirem elas podem ser implantadas a qualquer
momento da Sprint.

2.1.5 ARTEFATOS DO SCRUM

Os artefatos do Scrum são aqueles que apresentam e deixam maximizadas


as informações para todos do Time Scrum, de modo que todos os envolvidos
entendam as etapas e o que está sendo feito e o porquê de estarem sendo
realizadas.

2.1.5.1 Backlog do Produto

É uma lista ordenada por prioridades de tudo que precisa ser feito para que o
produto final tenha a qualidade e os requisitos esperados. É o único local onde
15

constam todos os requisitos do produto e onde podem ser realizadas as alterações


que sejam necessárias. Nela também constam a estimativa e valor de cada item.
O proprietário da Backlog do Produto é o Product Owner, apenas ele pode
disponibilizar, alterar ou ordenar os itens que lá constam. Ele pode realizar estes
atos a qualquer momento por decisão própria ou por critério e influencia do Time
Scrum.
O Backlog é constantemente atualizado, pois está sempre em
desenvolvimento. Inicialmente são indicados os requisitos principais e mais claros,
depois à medida que as Sprints são realizadas, a backlog evolui junto com o produto
a ser entregue, sendo desta forma dinâmica e atual de acordo com o produto que
está sendo desenvolvido.
No Backlog constam também todas as informações importantes referente ao
desenvolvimento do produto como as características, funções, os requisitos,
melhorias e correções realizadas para as futuras iterações.
A cada Sprint o Backlog cresce e fica mais completo em relação ao produto
final. Alguns fatores externos também influenciam a backlog como, por exemplo, o
mercado do produto. Quanto maior a prioridade do item mais detalhado ele deve ser
na Backlog. Na reunião de Planejamento os itens selecionados para a próxima
Sprint são classificados como “Preparados”.

2.1.5.2 Backlog da Sprint

É uma lista de itens que tem como ponto de partida a Backlog do Produto,
são selecionados os itens que serão trabalhados na Sprint, bem como a forma de
desenvolvimento deste incremento para que seja cumprido o objetivo da Sprint.
O nível de detalhamento deve ser suficiente para que o progresso no
desenvolvimento do produto seja visível em todas as reuniões diárias pelo Time de
desenvolvimento. Esta lista deve ser sempre visível pois o monitoramento da
execução do trabalho é gerenciado mais facilmente quando a backlog está sempre
atualizada e de fácil rastreamento do progresso.
O backlog da sprint está em constante alteração, pois os trabalhos realizados,
a serem realizados e novos que aparecem durante a sprint, são adicionados ou
excluídos desta lista diariamente ou sempre que necessários, pelo time de
desenvolvimento, que é o único que pode alterá-la durante a sprint.
16

2.1.5.3 Incremento

Os itens da Backlog do Produto produzidos durante a Sprint adicionados ao


que já foi produzido formam o incremento. Este incremento fica “Pronto” quando
termina a Sprint, ou seja, deve ser utilizável e aprovado pelo time Scrum,
independente do Product Owner colocá-lo em prática ou não.

2.2 MODELO DE MATURIDADE - KANBAN MATURITY MODEL

Para monitorar e acompanhar o desenvolvimento da empresa de forma que


ela seja sempre competitiva e atualizada para as mudanças e novas tecnologias que
sempre estão surgindo, é necessário um crescimento constante, organizado e
controlado. Dentro deste cenário, está a necessidade de implantar um modelo de
maturidade a ser seguido. Para a empresa T-shirt, é sugerido o modelo de
maturidade KMM ou Kanban Maturity Model.
Este modelo foi lançado pela Kanban em 2019 e é bem dinâmico, de fácil
entendimento e muito visual o que facilita a adoção do sistema. Além destas
vantagens, este modelo também foi escolhido por melhor reconhecer e representar o
crescimento da empresa e responder rapidamente a alterações que se façam
necessárias devido a acontecimentos externos à organização.
Assim como a empresa T-shirt, o modelo KMM está alinhado à busca pela
excelência de produtos e serviços entregues ao cliente.
O KMM pode ser resumido como um mapa para atingir a otimização da
empresa através de uma evolução gerenciada.

2.2.1 CARACTERÍSTICAS DO MODELO KMM

O modelo KMM se baseia principalmente em três pilares (ANDERSON E


BOZHEVA, 2020):

Figura 1 - Pilares do Modelo KMM.


Fonte Anderson E Bozheva (p.4)
17

O pilar da cultura está relacionado aos valores e princípios pessoais, ou seja,


está ligado a como as pessoas vivem ou a sua identidade, seja individual ou
coletiva. Estes valores e princípios podem estar na forma escrita ou documentada,
como normas e regras, ou podem ser aquelas práticas comuns a um grupo ou um
setor sem que estejam necessariamente escritas em algum lugar. Pode ser
resumido na frase: “Como nós vivemos” (ANDERSON E BOZHEVA, 2020).
O pilar das práticas se refere às atividades, medidas, métricas que são
utilizadas nas rotinas diárias da empresa, assim como nas tomadas de decisões.
Resumindo: “Como fazemos as coisas” (ANDERSON E BOZHEVA, 2020).
O pilar dos resultados (Outcomes) está relacionado a como o negócio se
desenvolve e a estabilidade a longo prazo. Pode ser resumido com a frase: “O que
nós alcançamos e as capacidades que adquirimos (ANDERSON E BOZHEVA,
2020).”
Os pilares são unidos pela ideia da evolução gerenciada que se encontra no
centro da figura 1. As melhorias propostas por este modelo devem ser robustas e
sustentáveis.

2.2.2 PLANO DE IMPLANTAÇÃO DO MODELO KMM

O plano para implantação deste modelo de maturidade na empresa T-shirt


será descrito a seguir juntamente com a explicação de cada um dos sete níveis de
maturidade do KMM que vão do zero ao seis.
Como a empresa T-shirt não possui um programa de controle de qualidade, o
principal objetivo da implantação do modelo de maturidade é a criação deste
controle e o aprimoramento da qualidade.
Abaixo na figura 2, um guia com os principais tópicos de cada nível de
maturidade do KMM assim como os benefícios e resultados da adoção de cada nível
de maturidade.
18
19

Figura 2 - Modelo de Maturidade Kanban.


Fonte: Kanban Downloads
20

2.2.2.1 Nível 0: Inconsciente

A empresa T-shirt não tem maturidade e nem a cultura de processos, por isso
será necessário começar do zero e o primeiro passo é identificar os trabalhos
realizados por cada individuo da empresa.
Nesta etapa também será feito o quadro de acompanhamento dos trabalhos a
serem feitos, em progresso e prontos por indivíduos conforme figura abaixo,
lembrando que os processos devem estar visíveis para acompanhamento:

Figura 3 - Nível de Maturidade 0.


Fonte: Manual KMM (p.7)

2.2.2.2 Nível 1: Foco na Equipe

Nesta etapa, começa o reconhecimento dos benefícios do gerenciamento e


da otimização da organização das equipes. Começa a ser observada a agregação
de valores e a transparência na execução das tarefas e como resultado tem-se mais
consistência.
No decorrer das execuções das tarefas começam a surgir as definições
inicias de alguns processos, de normas, do como fazer cada tarefa da melhor forma,
mesmo que estes processos não sejam seguidos de maneira uniforme ainda.
O quadro de acompanhamento não é mais individual, ele progride para
mostrar o desenvolvimento do trabalho da equipe, conforme figura 4.
As equipes da empresa T-shirt devem ser definidos e as tarefas estabelecidas
e colocadas no quadro de acompanhamento das equipes com a identificação de
cada colaborador
21

Figura 4 - Nível de Maturidade 1.


Fonte: Manual KMM (p.11)
22

2.2.2.3 Nível 2: Orientado ao Cliente

Neste estágio a empresa deve realizar uma definição básica dos processos,
das políticas da empresa e dos modelos de decisão e aplicá-los com freqüência.
O modelo KMM apresenta uma progressão e uma etapa não deve se
sobrepor a outra. Por isso, neste momento da maturidade, a empresa T-shirt já deve
ser capaz de estabelecer a forma como executa as tarefas, mesmo que ainda não
haja consistência nos resultados obtidos ou desejados.
A qualidade ainda não está no nível desejado, porém, está surgindo um
progresso em relação ao que está sendo oferecido ao cliente, algumas falhas na
entrega dos produtos já estão sendo percebidas e já podem ser indicadas melhorias.
Abaixo, na figura 5, a progressão do quadro para o nível 2:

Figura 5 - Nível de Maturidade 2.


Fonte: Manual KMM (p.15)

2.2.2.4 Nível 3: Adaptado ao Propósito

Com os processos definidos na etapa anterior, os resultados começam a


apresentar consistência e constância. O cliente já percebe as melhorias da
qualidade e a empresa já observa os resultados na satisfação do cliente e na
entrega do produto.
23

Os times da empresa já estão interagindo para melhoria e aplicação dos


processos e o quadro de tarefas evolui para mesclar os trabalhos das diferentes
equipes envolvidas nos processos, conforme a figura 6.

Figura 6 - Nível de Maturidade 3.


Fonte: Manual KMM (p.20)

2.2.2.5 Nível 4: Riscos Protegidos

No nível 4 deve ser feita a adaptação dos processos que forem necessários,
a implementação e prestação de serviços para que a empresa esteja apta a atingir o
objetivo que é a melhoria continua de seus produtos e serviços.
A instauração dos processos e a sua observância constante que tem como
desfecho os resultados alcançados tornam o clima dos colaboradores e da própria
empresa menos estressante e mais produtivo.
Desta forma, a empresa pode direcionar seus esforços e seu foco para
aumentar os resultados econômicos e montar uma base sólida para possíveis
imprevistos ou circunstâncias adversas externas que possam advir.
A empresa consegue direcionar seus esforços para a área da empresa que
mais necessita, pois tem uma visão clara do que está acontecendo em cada área. O
quadro da figura 7 exemplifica este controle.
24

Figura 7 - Nível de Maturidade 4.


Fonte: Manual KMM (p.24)

2.2.2.6 Nível 5: Líder de Mercado

Neste ponto, considera-se que toda a empresa esta ciente do seu propósito e
do objetivo de qualidade atingido. Chegando aqui o foco da empresa vai ser
direcionado para:
a) Aperfeiçoar a eficiência;
b) Obter os melhores resultados financeiros;
c) Aumentar a produção mantendo a qualidade no nível mais alto;
d) Aumentar os lucros;
e) Manter fidelizados os maiores e melhores clientes através de
campanhas diferenciadas para os mesmos;
f) Diminuir os custos;
g) Promover a flexibilização dos recursos humanos;
h) Valorização da marca para seus clientes internos e externos.
A empresa T-shirt buscará estes objetivos e terá como meta o
perfeccionismo, seja na produção, na venda, na pós-venda ou no atendimento geral
a clientes.
Os colaboradores também estarão aptos a realizar rodízios em todas as
áreas da empresa sempre que necessário, seja para treinamento, aperfeiçoamento
ou agilizar as tarefas.
A figura 8 mostra os lideres de times e os membros de cada time, sendo que
estes membros podem realizar os rodízios em qualquer momento.
25

Figura 8 - Nível de Maturidade 5.


Fonte: Manual KMM (p.28)

2.2.2.7 Nível 6: Construída para Durar

Neste nível a empresa irá apresentar um crescimento sustentável e as


características de uma empresa robusta e sólida. Entre estas características
podemos citar:
a) Valorização dos colaboradores, trazendo aperfeiçoamentos e
benefícios;
b) A maneira de pensar e agir observada no inicio da implantação do
modelo estão totalmente abandonadas, toda a corporação aderiu aos
processos e entende a importância de manter constante a maneira
estabelecida de realizar suas funções;
c) Existe uma busca constante por novas tecnologias que podem ser
aplicadas ou desenvolvidas na empresa;
d) Novas linhas de produtos, parcerias e serviços estão constantemente
em desenvolvimento para manter-se a frente de outras empresas do
mesmo segmento e desta forma estar sempre em evidência;
e) Existe sempre o questionamento de como o processo ou produto pode
ser melhorado, focando na melhoria contínua, sem diminuir a
qualidade no atendimento ao cliente ou na produção dos serviços;
26

f) Deve sempre manter a preocupação em observar as diretrizes e


processos estabelecidos para que não ocorra uma regressão de nível;
g) Estabelecer uma política estratégica financeira e de qualidade a fim de
manter a identidade da empresa sem perder o foco no cliente.

Figura 9 - Nível de Maturidade 6.


Fonte Kirill Klimov

2.3 UTILIZAÇÃO DE SISTEMAS DISTRIBUÍDOS - TAREFA 02

2.3.1 VANTAGENS DOS SISTEMAS DISTRIBUÍDOS

Os sistemas distribuídos apresentam diversas vantagens sobre os sistemas


centralizados.
Pode-se começar citando um dos pontos de maior importância para a maioria
das empresas: a economia. O sistema distribuído pode utilizar diversos
processadores (instalados em microcomputadores) em substituição ao mainframe,
que tem um custo muito mais elevado. E mesmo com esta substituição mantem-se a
capacidade de processamento com um custo baixo.
Como os microcomputadores estão interligados parecendo uma única
máquina, a velocidade de processamento é muito maior do que um mainframe,
sendo esta outra vantagem dos sistemas distribuídos.
Caso um dos computadores falhe ou se torne inoperante, apenas aquela
parte da rede estará parada enquanto o restante do sistema continuará rodando
27

normalmente, esta vantagem trás confiança a este tipo de sistema.


Outra vantagem também importante é que se for necessário aumentar a
capacidade de processamento é possível fazer sem que haja um custo altíssimo ou
inviável. O valor de um novo microcomputador para aumentar a velocidade ou
capacidade de processamento é muito pequena se comparada a um novo
mainframe.
Além destas vantagens pode-se citar ainda: periféricos compartilhados
(diminuindo custos), compartilhamento de dados (reusabilidade), distribuição dos
trabalhados sendo realizados (balanço das cargas de trabalho).

2.3.2 DEFINIÇÃO E UTILIZAÇÃO DE MIDLLEWARE

O middleware pode ser definido como um software que funciona como uma
ponte ou um tradutor entre os diversos tipos de softwares existentes. É uma camada
que realiza a mediação entre diversos aplicativos e softwares. Ele dá coerência e
une as tecnologias que são utilizadas pela empresa para que as mesmas funcionem
corretamente e de forma integrada. O middleware se tornou essencial para as
empresas que possuem um ambiente complexo e que utiliza os mais variados
aplicativos disponíveis no mercado atual.
O novo cenário tecnológico que está sendo vivenciado pelo mundo hoje,
trouxe novas necessidades de interação e comunicação entre os dispositivos
utilizados e esta necessidade apresenta novos desafios compostos de protocolos,
soluções dinâmicas e inovadoras e tudo têm que se adaptar ao diversos perfis
empresariais, e neste ponto entra o middleware para fazer esta integração sem
sacrificar ou diminuir a qualidade de produto e de atendimento.
A automatização de processos operacionais, como está ocorrendo na
empresa T-shirt, precisa de infraestrutura e melhorar seus resultados para o
crescimento proposto.

Figura 10 - Esquema middleware.


Fonte: Lemes, Lopes, Paiva (p. 16)
28

Nos sistemas distribuídos onde são utilizados softwares e aplicativos que


muitas vezes não são desenvolvidos nas mesmas plataformas e por isso não
conseguem conversar entre si, o middleware vem para ajudar a integração de todas
estas ferramentas de modo que formem um ambiente homogêneo.
O middleware coleta as informações das diversas fontes e as agrega em uma
única aplicação integrada. Com isso, há um aumento na agilidade e na produção da
empresa e o mais importante é que ele realiza esta integração sem interferir no
processo. O middleware tem como principais características a capacidade de
inspeção, adaptação dinâmica e os mais modernos são baseados na reflexão
computacional, alem disso são utilizados nas aplicações em tempo real (LEMES,
LOPES, PAIVA, 2016).
O middleware reflexivo se divide em 2 partes: nível meta e nível base. O nível
base cujo objetivo é alcançar a funcionalidade dos softwares e o nível meta que se
refere à arquitetura interna do middleware.

2.3.3 PLATAFORMAS MIDDLEWARES

Existem diversas plataformas middlewares disponíveis no mercado. Dois


bons exemplos destas plataformas são a OpenORB e o MINA.
O OpenORB é um software desenvolvido pela Universidade de Lancaster o
principal objetivo dele é ter um alto índice de configuração e de reconfiguração para
suportar as diversas aplicações. É um middleware orientado a objetos e foi
desenvolvido na plataforma CORBA. Ele possui a capacidade de reconhecer a sua
própria configuração e, em tempo de execução, consegue alterar sua estrutura e seu
comportamento.
Ele foi desenvolvido com uma clara separação entre o nível base e o nível
meta, conforme visto na figura 11. No nível base estão as aplicações básicas do
middleware, no nível meta estão localizadas as aplicações que auxiliam e facilitam a
visualização das implementações do nível base para o programador, permitindo sua
inspeção e adaptação.
29

Figura 11 - Representação dos componentes do nível base e do nível meta do OpenORB


Fonte: Lemes, Lopes, Paiva, 2016 (p18).

As principais características deste modelo de middleware são:


a) Arquitetura de meta-níveis bem definida;
b) Reflexão orientada a objetos;
c) Reflexão procedural: é possível acessar a implementação da
plataforma para inspeção e adaptação;
d) Meta-objetos individuais: com esta característica é possível diminuir a
reflexão indesejada;
e) Criação de objetos somente quando necessário.
Outra plataforma a ser apresentada é a MINA (Multinetworking INformation
Architecture). Esta plataforma implementa o paradigma observar-analisar-adaptar ou
OAA - Observe, Analyse, Adapt. Ela utiliza o conhecimento prévio do estado da rede
e faz a configuração, gerenciamento e coordenação da multi-rede.
Na etapa de observação é gerada uma árvore baseada no atraso da rede
para coletar informações de estado dos vários dispositivos existentes e conectados
a rede. Concomitantemente, é realizada a análise dos dados coletados. E na etapa
de adaptação, o software realiza as modificações necessárias com base nas
análises. O processo é muito dinâmico como pode ser observado e as adaptações
ocorrem com freqüência e são bem mais comuns do que em sistemas tradicionais.
30

Figura 12 - Paradigma OAA


Fonte: Lemes, Lopes, Paiva, 2016 (p.22)

2.4 PROGRAMAÇÃO DE PÁGINAS PARA A WEB - TAREFA 03

2.4.1 SURGIMENTO E CONCEITOS FUNDAMENTAIS DA WEB

Para entender o que é e a importância da Web para os usuários atuais,


inicialmente é preciso fazer uma diferenciação entre internet e web. A internet é a
estrutura ou a rede que transporta os dados ao redor do mundo para todos os
dispositivos capazes de acessá-la, é uma forma das máquinas se interligarem e
compartilharem os dados entre si. Ela foi criada na década de 60 em diversos
projetos em países como os EUA e Inglaterra. A ARPANET é um dos projetos que
desenvolver protocolos que permitiram que as diversas redes pudessem interagir
como uma só.
A web começou a ser desenvolvida na década de 80 por Tim Berners-Lee
membro da CERN (Conseil Européen pour La Recherche Nucléaire, em português,
Conselho Europeu de Pesquisas Nucleares) que criou um sistema de
compartilhamento através de hipertextos. O objetivo inicial do projeto era interligar
as universidades entre si para que os trabalhos acadêmicos e de pesquisa
pudessem ser compartilhados e utilizados em um ambiente de contribuição e
consulta pelos lados envolvidos.
Tim Berners-Lee desenvolveu o primeiro browser ou navegador a World Wide
Web (www) ou a rede mundial de computadores. Em 30 de abril de 1993, o CERN
colocou o software World Wide Web em domínio público. “Posteriormente, o CERN
31

disponibilizou um release com licença aberta, uma forma mais segura de maximizar
sua divulgação. Essas ações permitiram que a web prosperasse” (CERN , S.I).
Com a disponibilização da Web qualquer individuo poderia compartilhar ou
acessar o conhecimento através da linguagem de publicação HTML ou HyperText
Markup Language ou Linguagem de Marcação Hipertexto. Ao criar a Web, Tim
Berners-Lee criou o URL, o endereço da pagina que se quer visualizar, de forma
rápida e pratica.
Nas ultimas décadas, a internet e a web se tornarão praticamente essenciais
nas vidas das pessoas. Ao ser criada era restrita, de difícil acesso, mas hoje é difícil
pensar em estudar, trabalhar ou mesmo em lazer sem ter a necessidade de acesso
a internet e a web.
Além do uso pessoal, a web se tornou fundamental para as empresas, fez
surgir uma nova forma de comercio, o e-commerce, fez surgir também uma nova
geração de empreendedores, de artistas, todos em plataformas digitais. As mais
valiosas empresas hoje são digitais: Google, Apple, Facebook.
A empresa que não adere à web, seja em páginas gratuitas ou em sites super
cheios de recursos e com custos altíssimos, vai ficar obsoleta ou não vai prosperar,
é preciso aderir às tecnologias para crescer e acompanhar o ritmo da concorrência.

2.4.2 PROCESSO DE ACESSO AOS SITES NA WEB

Para acessar um site qualquer abre-se um navegador e na barra de endereço


digita-se a url ou endereço que se quer acessar, e em poucos segundos é mostrada
a página que se tem interesse. Para que este caminho simples aconteça é preciso
todo um processo bem mais complexo.
Inicialmente pode-se nomear os computadores em clientes e servidores,
sendo que clientes são aqueles dispositivos conectados a internet e os programas
de acesso a web, os navegadores, como o Google ou Firefox. Servidores são onde
estão guardados ou armazenados os sites, as páginas ou aplicativos. Quando um
cliente acessa um site ou aplicativo, uma cópia do que esta no servidor é baixada no
seu dispositivo a partir do servidor.
Para entender como ocorre o acesso ao site segue abaixo algumas
definições:
- IP: Cada computador possui um endereço ou identificador único chamado
32

endereço IP (Internet Protocol) e cada endereço possui diversas portas e através


destas ocorre a comunicação, ou seja, o IP é um protocolo de comunicação. O
endereço IP é um combinado de números como, por exemplo: 167.71.175.10. Como
seria muito complicado lembrar os endereços por esta numeração foi criado o DNS,
explicado mais abaixo.
- TCP: Transmission Control Protocol é através do protocolo TCP que o
cliente e o servidor conversam entre si e define como os dados são transmitidos. É o
protocolo de transporte.
- DNS: Domain Name Server são servidores onde ficam os endereços dos
sites, como uma lista de endereços. Ao digitar o endereço de um site, o navegador
procura no servidor o endereço real do site. Ou seja, estes servidores relacionam os
endereços digitados nos navegadores com o IP único de cada site.
- HTTP: Protocolo de Transferência de Hypertexto (Hypertext Transfer
Protocol) é a linguagem para clientes e servidores se comunicarem entre si.
Para acessar o site, o usuário precisa digitar o endereço no browser do seu
navegador. Este navegador (por exemplo, Google, Firefox, Internet Explorer) localiza
o servidor de DNS (endereço digitado) e encontra o endereço verdadeiro do site.
Através da conexão da internet todas as mensagens e dados são enviados
usando TCP/IP. Desta forma, o navegador envia uma mensagem para o servidor e
solicita uma cópia do site para o cliente (usuário).
O servidor após aprovar ou analisar a requisição, enviará uma mensagem de
aprovação ou não de acesso ao site. Aprovado o acesso, o servido começa a enviar
os pacotes de dados para o navegador. O navegador unifica novamente os pacotes
de dados e exibe o site completo.

2.4.3 HTML5 E CSS3 NA CRIAÇÃO DE SITES

O HTML5 é o mais recente padrão para a estruturação e apresentação de


paginas da web, lançado no ano de 2014. A versão anterior datava de 1999 e tinha
diversas deficiências, principalmente em relação às funcionalidades que estavam
sendo requeridas pelos usuários, como maior movimento, vídeos, áudios e arquivos
a serem disponibilizados nos sites. Estavam sendo utilizados plugins externos que
não atendiam totalmente ou não se mostravam práticos e dinâmicos o suficiente
para as novas aplicações.
33

O HTML5 veio para aperfeiçoar a experiência do usuário na Web. O suporte


para arquivos de áudio e vídeo que podem ser inseridos diretamente no codigo sem
a necessidade de plugins.
Todas as mudanças vieram para simplificar, transformar e aperfeiçoar o
desenvolvimento de paginas da Web. A primeira mudança ocorreu na linha um do
código com a simplificação da declaração do documento html5 <!DOCTYPE html>.
Muitas TAGs foram criadas e outras que ficaram obsoletas foram excluídas.
Entre as TAGs específicas criadas e normalmente utilizadas para todos os sites,
pode-se citar Head, Footer, Nav, Articles, Aside. Esta padronização trouxe uma
forma mais fácil de trabalhar, tornou possível a criação de um código padronizado
que pode ser utilizado em diversas paginas ou diversos projetos diferentes.
A interação entre o HTML5 e o CSS3 possibilitou a estilização de paginas de
forma mais clara e dinâmica e trouxe mais autonomia e diversas funcionalidades que
antes só seriam possíveis através de plugins.
Na parte Semântica, segundo o W3C, é possível que o navegador identifique
com maior facilidade o conteúdo de cada seção.
Em relação aos gráficos e efeitos o HTML5 em conjunto com o CSS3 oferece
diversas possibilidades através de uma linguagem simples.
Como resultado de tags mais especificas o HTML5 torna as paginas mais
leves, o que leva para um melhor desempenho do site ou pagina.
Entre as melhorias nas tags de multimídia tem-se a criação das tags: img,
vídeo, áudio e iframe. Todas possibilitam a entrada de arquivos ou endereços web
de acordo com o suporte de cada extensão de arquivo.
No CSS 3 as melhorias vieram com a possibilidade de trabalhar a
responsividade do site diretamente através de medias queries. Também é possível
alterar a formatação visual de alguns elementos diretamente no código, como por
exemplo, bordas arredondadas, movimento ou animação de entrada ou ao passar o
mouse.
A ferramenta Canvas, integrada no HTML5, também veio para facilitar a
criação de desenhos e animações sem precisar recorrer a um plugin externo.
Segundo os desenvolvedores do HTML5 e do CSS3, as alterações são o
início de novas funcionalidades que deverão surgir à medida que se fizer
necessários para as mídias sociais e empresas que apresentam inovações quase
34

diariamente e precisam que a linguagem dos sites e aplicativos acompanhe estas


inovações.

2.5 APLICAÇÃO MOBILE - TAREFA 04

2.5.1 PLATAFORMAS E LINGUAGENS PARA ANDROID

Android é uma plataforma open source e gratuita desenvolvida pelo Google e


que hoje já alcança 80% do mercado de aplicativos do país, incluindo, telefones,
TVs, carros, relógios, etc.
O desenvolvimento de aplicativos para a plataforma Android ganha mais força
a cada dia e diversos softwares são utilizados para desenvolver ferramentas e
aplicativos para ela. Abaixo algumas das principais plataformas para
desenvolvimento de aplicativos.
A ferramenta oficial para desenvolvimento de aplicativos Android é o Android
Studio e é disponível gratuitamente no site https://developer.android.com/studio.
Sendo a ferramenta oficial do Google, ela traz muitas vantagens como o código
aberto e gratuito, aceita as principais linguagens de programação JAVA, Kotlin e
C/C++, visualizador de layout integrado, emulador para testes, disponível para
criação de aplicativos para diversos aparelhos. A ferramenta Android Studio é hoje a
principal utilizada pelos desenvolvedores e o SDK (Software Development Kit)
fornece as ferramentas para construção de aplicativos. O SDK é composto pelo
JAVA SE, IDE Eclipse, SDK Android e Plugin ADT para Eclipse.
A plataforma Xamarin é de propriedade da Microsoft, mas foi desenvolvida
pela Xamarin Studios e vendida em 2013. Desenvolve aplicativos utilizando C# e
gera aplicativos para diversas plataformas inclusive Android. É uma plataforma open
source e livre, possui diversas bibliotecas e ferramentas para a criação dos
aplicativos. Oferece uma opção de plataforma cruzada através do código
compartilhado que possibilita utilizar mais de 75% do código criado no código para
outras aplicações ou aparelhos moveis, representa a filosofia: “write once, run
anywhere (em português: “escrever uma vez, executar em qualquer lugar”)”.
(Microsoft, 2021).
A React Native é uma plataforma open source que foca no uso de
componentes como blocos de construção e foi desenvolvido pelo Facebook e logo
35

após o seu lançamento se tornou uma das soluções mais procuradas para o
desenvolvimento mobile. Usa o Java Script como linguagem de programação para
aplicativos móveis Entre as vantagens para utilizar o React pode-se citar que ele
utiliza o compartilhamento de código entre as diferentes plataformas Android e IOS,
não é preciso muito conhecimento de Java para desenvolver o aplicativo e
atualmente possui uma grande comunidade que compartilha informações e idéias.
Como o React utiliza blocos de construção, isso diminui o tempo de programação,
diminuindo o custo do projeto. Possui uma comunidade ativa de desenvolvimento
que gera uma quantidade considerável de bibliotecas e estruturas que podem ser
utilizadas por se tratar de código aberto.
Outra ferramenta é o Flutter, possui as mesmas características básicas das
outras ferramentas porem os aplicativos apresentam um alto grau de desempenho e
qualidade superior. O Flutter utiliza a linguagem do Google, o Dart, que é
considerada muito simples de se aprender. E a principal vantagem é sua fácil
instalação, configuração e acesso a estrutura se comparada às outras ferramentas.
Possui uma grande variedade de widgets e suporta testes automatizados.
As principais linguagens de programação utilizadas para a criação de
aplicativos nas plataformas citadas são o Java, Kotlin, C#/C++.
O JAVA é ainda a mais importante linguagem de programação para Android,
mesmo não sendo mais a linguagem oficial. É uma linguagem que utiliza o
paradigma orientado a objetos e tem buscado inserir e atualizar em suas bibliotecas,
elementos mais funcionais. Possui muitos tutoriais e vídeos na Web que auxiliam no
aprendizado e desenvolvimento da linguagem, mas mesmo assim, é considerada
uma linguagem complexa. E a taxa de atualização é muito freqüente dificultando o
processo de atualização. Mas ainda é uma das linguagens mais utilizadas para
criação de aplicativos.
A linguagem Kotlin foi desenvolvida pela empresa Jetbrain e é altamente
interoperável com o Java e pode ser executada na mesma Máquina Virtual Java.
Tanto a linguagem kotlin quanto o Android Studio por serem oficiais do Google,
possuem um extenso material de aprendizagem disponível gratuitamente além de
suporte via fóruns e vídeos disponíveis no YouTube, o que torna ambos bem
atraentes para aprendizado e aprofundamento se o profissional quiser seguir o
desenvolvimento de aplicativos Android.
36

A linguagem C# é muito próxima do Java e por esta razão é também utilizada


para a criação de aplicativos. Possui uma sintaxe mais simples do que o Java o que
torna uma pouco mais simples de programar. É uma linguagem fácil de ler e
interpretar, também é orientada a objetos e é muito compatível com a Unity, uma
das principais plataformas para criação de jogos Android, atualmente. A
desvantagem da linguagem C# é quer ela não esta de acordo com o Design Material
do Google.
Python é outra linguagem muito utilizada para desenvolvimento de aplicativos.
Sua principal vantagem é a sintaxe simples e intuitiva, muito parecida com o inglês.
O Python também esta apta a trabalhar com as mais avançadas tecnologias de
inteligência artificial.

2.5.2 TENDÊNCIAS PARA APLICATIVOS ANDROID

Atualmente é muito difícil observar alguém que não possua um smartphone.


Muitas das atividades diárias são registradas e controladas via aplicativos e é difícil
se imaginar sem a facilidade de comunicação que as tecnologias estão provendo.
Com um olhar no futuro, citam-se abaixo cinco tendências para os aplicativos
Android r outras plataformas:

1. Inteligência Artificial e Machine Learning – Aprendizado de Máquina


Apesar de já existir a algum tempo, a Inteligência Artificial ainda é
considerada uma tendência, pois é esperado que se desenvolva nos próximos anos.
Consiste basicamente na maquina “aprender” através da coleta de dados, técnicas
estatísticas, probabilísticas e de otimização a detectar e aprender padrões do
usuário. O objetivo principal não é apenas realizar um padrão automático, mas
também evoluir e facilitar o trabalho humano.
2. Marketplace
Ao contrario do e-commerce que possui apenas um dono ou marca, o
Marketplace vem para unir diversos comerciantes e produtos variados em apenas
uma plataforma de comercio virtual. Já existem algumas grandes empresas que
adotaram este método ou estão adotando, como por exemplo, as Lojas Americanas
e o Magazine Luiza. O “dono da loja” fica responsável pelo gerenciamento técnico
da loja, sistema de pagamento, marketing e atração de clientes, o vendedor fica
37

responsável pela vinculação de produtos e envio correto.


3. Internet das Coisas (Internet of things -Iot)
É uma das tendências mais recentes no desenvolvimento de aplicativos. É a
possibilidade dos usuários controlarem seus eletrodomésticos e eletroportáteis
através do smartphone. Será possível criar uma rede centralizada de controle de
todos ou quase todos os dispositivos facilitando o controle do usuário. Inclusive será
possível controlar o sistema de monitoramento de segurança através do
smartphone. Apesar de já existirem algumas tecnologias que utilizam este tipo de
controle, os modelos de lava-roupas mais modernos da Samsung já trazem a
comunicação com o smartphone, por exemplo, ainda não é algo popular, espera-se
que até 2025, se torne uma característica básica de todos os eletrodomésticos.

4. Realidade Aumentada (AR) e Realidade Virtual (VR)


A realidade virtual e a realidade aumentada estão sendo desenvolvidas
principalmente pelas empresas desenvolvedoras de jogos. A espera por jogos
realista é grande entre os entusiastas de games. Mas é a Google que está
desenvolvendo uma versão AR do Google maps, ainda não tem data de lançamento.
Na área educacional as RV estão sendo usadas em áreas como medicina e
engenharia. Fazendo um paralelo com a criação da internet e da Web que
começaram a serem criadas para uso militar e educacional e se popularizaram
posteriormente, espera-se que o mesmo ocorra com a VR e AR e em alguns anos o
uso físico de computadores e televisores se torne obsoleto e sejam possíveis
projeções através destas tecnologias.

5. Beacon Technology
O principal objetivo desta tecnologia é unir o consumidor ou usuário ao
serviço ou estabelecimento comercial da área. Seriam como comerciais ao vivo.
Quando o usuário que possui o Beacon passar por um estabelecimento comercial
que também tenha a tecnologia (hotéis, supermercados, farmácias, restaurantes,
etc), ele, usuário, irá receber ofertas, cardápios, novidades daquele estabelecimento.
38

3 CONCLUSÃO

O crescimento das empresas hoje depende não apenas de um mercado


econômico promissor mas também de visão e adequação para as tecnologias
inovadoras e um olhar sempre no futuro. A dinâmica e a rapidez com que novas
tecnologias surgem como visto durante o desenvolvimento do trabalho, fazem com
que o maior concorrente da empresa seja ela mesma, pois precisa estar organizada,
ter métodos claros nos processos, planejar seu futuro como empresa, investir em
novas tecnologias e treinamento, porque não adianta ter o melhor software ou o
melhor processo sem pessoal qualificado para operá-los.
Com a metodologia Scrum, a adoção de maturidade do método Kanban,
sistemas distribuídos e a preparação para estar conectada com o ambiente virtual e
estudando as novas tecnologias para serem aplicadas dentro da sua realidade, a
empresa T-shirt pode a cada dia se fortalecer mais no mercado e apresentar
crescimento e estabilidade compatíveis com a preparação que foi apresentada.
39

4 REFERÊNCIAS

UNIVERSIDADE FEDERAL DO PARANÁ. Biblioteca Central. Normas para


apresentação de trabalhos. 2. ed. Curitiba: UFPR, 1992. v. 2.

SILVA, LUCIANO ALVES DA. Apostila Android - Programando passo-a-passo. 3º


Ed. Candido Mendes: Agbook, 2015.

ANDERSON, DAVID J.; BOZHERA, TEODORA. Kanban Maturity Model. 2º Ed.


Seattle: Kanban University, 2020.

BATISTA, THAIS VASCONCELOS. Requisitos e Plataformas de Middleware para


Cidades Inteligentes. 1º Ed. Natal: UFRN, 2016.

HAMID MUSSA, FARAH MARIA ABDUL. “Modelos De Maturidade Adaptados A


Projetos Ágeis.” Dissertação de Mestrado em Sistemas de Informação,
Universidade de Lisboa, Lisboa, 2015.

SILVA COSTA, MARCOS ANDRÉ DA. “ Um modelo de middleware adaptativo”.


Dissertação de mestrado em Ciencia da Computação, Universidade Federal de
Pernambuco, Recife, 2004.

SCHWABER, KEN; SUTHERLAND, JEFF. The definitive guide to scrum: The


rules of the game. Online, Scrum. Disponívem em:
https://www.scrum.org/Portals/0/Documents/Scrum%20Guides/Scrum Guide. pdf,
2013. Acesso em: 01 de março de 2021.

LEMES, MARIO TEIXEIRA; LOPES, VICTOR HUGO LÁZARO; BRAGA DE PAIVA,


JOÃO RICARDO. “Um Estudo Comparativo Entre Soluções De Middlewares
Reflexivos Para Aplicações De Alta Dinamicidade: Estado Da Arte E Desafios
De Pesquisa”. Revista de Sistemas e Computação, v.6, n.1 (Janeiro 2016): 15-25.

BLANKEN, BAS. Gestão de Serviços Ágil. Orlando: Top Desk, S.I. Acessado em
10 de abril de 2021.
https://page.topdesk.com/hubfs/Brazil/e-books/Agile_service_management_BR.pdf.

PAULA, P.F.W. D. Engenharia de Software - Fundamentos, Métodos e Padrões,


3ª edição. Xanxerê: Grupo GEN, 2008. 978-85-216-1992-5. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/978-85-216-1992-5/. Acesso em:
13 Apr 2021.
40

ALVES, W. P. Projetos de Sistemas Web Conceitos, Estruturas, Criação de


Banco de dados e Ferramentas de Desenvolvimento. Xanxerê: Editora Saraiva,
2019. 9788536532462. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788536532462/. Acesso em: 13
Apr 2021

DANTAS, TIAGO. "Web 2.0"; Brasil Escola. Disponível em:


https://brasilescola.uol.com.br/informatica/web-20.htm. Acesso em 13 de abril de
2021.

DEVELOPERS. Android Studio, 2021. Guia de Usuário. Disponível em:


https://developer.android.com/about. Acesso em: 01 de abril de 2021.

JETBRAINS. Intellij IDEA Edu, 2021. Para Aprendizado. Disponível em:


https://www.jetbrains.com/pt-br/idea/. Acesso em: 03 de abril de 2021.

BACK4APP. Blog, 2021. Os 10 melhores frameworks de plataforma cruzada para


seu aplicativo. Disponível em: https://blog.back4app.com/pt/os-10-melhores-
frameworks-de-plataforma-cruzada-para-seu-aplicativo/. Acesso em: 03 de abril de
2021.

HOMEHOST. Tutoriais, s.d.. HTML5. Disponível em


https://www.homehost.com.br/blog/tutoriais/html5/. Acesso em: 16 de abril de 2021.

MICROSOFT. Xamarin, 2021. Disponível em:


https://dotnet.microsoft.com/apps/xamarin. Acesso em: 16 de abril de 2021.

USEMOBILE. Linguagem de Programação de Aplicativos, 2018. Disponível em:


https://usemobile.com.br/linguagens-de-programacao-de-aplicativos/. Acesso em: 16
de abril de 2021.

NEIL PATEL. Metodologia Agil, 2018. Disponivel em:


https://neilpatel.com/br/blog/metodologia-agil/. Acesso em: 15 de março de 2021.

NEIL PATEL. Growth Hacking, 2015. Disponivel em: https://neilpatel.com/br/o-que-e-


growth-hacking-o-guia-passo-a-passo/. . Acesso em: 15 de março de 2021.

FM2S. Metodologia Ágil, s.d. Disponivel em: https://www.fm2s.com.br/metodologia-


agil/. Acesso em: 18 de março de 2021.
41

GP4US. Modelos de Maturidade, 2020. Disponivel em:


https://www.gp4us.com.br/modelos-de-maturidade/. Acesso em: 15 de março de
2021.

GP4US. Guia Nexus, 2020. Disponivel em :


https://www.gp4us.com.br/wp-content/uploads/2015/06/Guia_Nexus_v_1_1.pdf.
Acesso em: 15 de março de 2021.

MARCO MENDES. Aumento da Maturidade em Métodos Ageis, 2015. Disponivel


em: https://marco-mendes.com/2015/11/29/aumento-de-maturidade-em-metodos-
ageis/. Acesso em: 18 de março de 2021.

PROFANDRELUISBELINI. Vantagens e desvantagens dos sistemas


distribuídos, 2016. Disponivel em:
https://profandreluisbelini.files.wordpress.com/2016/02/vantagens-e-desvantagens-
sistemas-distribuc3addos.pdf. Acesso em : 20 de março de 2021.

TECMUNDO. Historia da Web, 2001. Disponível em:


https://www.tecmundo.com.br/historia/1778-a-world-wide-web-completa-20-anos-
conheca-como-ela-surgiu.htm. Acesso em 03 de março de 2021.
42

ANEXO 1 - PROPOSTA INTERDISCIPLINAR

CONTEXTUALIZAÇÃO
Situação geradora de aprendizagem (SGA)
“Startup de Consultoria - Consultoria a Empresa de Roupas T-Shirt”
Vamos aprender um pouco mais? Leia o artigo O que é uma startup?
https://www.numeric.srv.br/o-que-e-uma-startup/ <acesso 02fev21>
Nem toda nova empresa é uma startup. As startups inicialmente tinham o conceito
de que um grupo de pessoas trabalhando com uma ideia diferente que,
aparentemente, poderiam fazer dinheiro. Além disso, startup sempre foi sinônimo de
iniciar uma empresa e colocá-la em funcionamento.
Sabe-se que à primeira vista, a combinação de tecnologia e consultoria
parece algo distante, mas a realidade é que as pequenas, médias e grandes
empresas possuem muitas necessidades no seu dia a dia e que não conseguem ser
supridas pelo quadro de funcionários contratados.
De um lado, temos empresas com muito conhecimento em seu ramo de
atuação e também muito firmes em seus propósitos para atender e fidelizar seus
clientes, mas muitas vezes não possuem um conhecimento específico de
determinada área suficiente para galgarem "passos maiores" dentro da instituição.
Do outro lado, temos profissionais de T.I. com muita experiência, habilidade e
expertise, buscando novos conhecimentos, novos campos de atuação, possibilidade
de reconhecimento, boa remuneração e chance de utilizar as capacidades para
solucionar problemas.
Diante deste cenário, você resolveu criar uma Startup que combina todos
esses fatores e que atende tais demandas remanescentes do mercado. A Startup
será responsável por prestar serviços para pequenas, médias e grandes empresas e
terá como foco principal, atender com qualidade, considerando a sustentabilidade e
a inovação. Por conta disso ela se chama "Consultoria de Tecnologia Computacional
" – sigla: CTC.
Você acredita que essa trajetória gera novos desafios, amplia horizontes e
auxilia grandes empresários na busca de novas soluções (relacionados a problemas
pequenos ou complexos), estimulando a capacidade criativa e o desenvolvimento de
novos produtos/serviços.
43

Você compõe o quadro de profissionais responsáveis por resolver todas as


demandas e problemas abaixo citados, visando não somente obter lucro, mas
também êxito na fidelização de seus clientes.
Agora é com você!
Algumas referências estão relacionadas a seguir. Acessem e vejam:
https://www.numeric.srv.br/o-que-e-uma-startup/ <acesso 02fev21>
https://vibetecnologia.com/consultoria-startup/<acesso 02fev21>
https://www.sebrae.com.br/sites/PortalSebrae/ideias/como-montar-uma-empresa-de-
consultoria-virtual,ad197a51b9105410VgnVCM1000003b74010aRCRD< acesso
02fev21>
TAREFAS MULTIDISCIPLINARES
Tarefa 1:
A sua startup foi contratada para realizar uma consultoria para a empresa de
roupas T-Shirt. Esta empresa solicitou que sua equipe apresente relatórios com
possíveis melhorias para os seus processos de software. Após uma análise
minuciosa das atividades da empresa na área de projetos de software, pode-se
analisar que não existe nenhum tipo de controle de qualidade. Por este motivo, sua
equipe decidiu desenvolver um relatório abordando dois assuntos que podem ser de
interesse da empresa.
O primeiro ponto a ser abordado no relatório, será a escolha de uma
metodologia ágil. Por isto, sua equipe deve discorrer sobre as características,
valores, práticas, organização do time e entre outras características existentes para
a metodologia ágil escolhida. Lembre-se de ressaltar o motivo da escolha realizada.
O segundo ponto a ser abordado no relatório, será a escolha de um modelo
de maturidade. Por tanto, sua equipe deverá descrever qual é o melhor modelo de
maturidade para a empresa, além de comentar suas características. Neste ponto do
relatório, discuta sobre até qual nível de maturidade pretende-se implantar na
companhia, além de explicar quais serão os processos implantados a partir desta
escolha. Lembre-se de ressaltar o motivo da escolha realizada.
Tarefa 2:
Os sistemas distribuídos são muito utilizados pelos desenvolvedores nos mais
variados tipos de aplicações. Um sistema distribuído é um conjunto de
computadores interligados via rede, mas, para o usuário final das aplicações, que
são executadas através deles, aparenta ser um sistema único. Um de seus
44

principais aspectos é que os computadores que fazem parte de sistemas distribuídos


têm o funcionamento independente, ou seja, cada um age por si próprio, e muitas
vezes os sistemas e os hardwares dessas máquinas são totalmente diferentes, mas
ainda assim eles aparentam ao usuário serem uma coisa só. Esses computadores
estão ligados por meio de rede, o que possibilita seu funcionamento de forma
distribuída.
No âmbito de uma futura expansão de seus negócios e melhoria de todo o
seu sistema computacional, a empresa T-Shirt buscou a sua Startup a fim entender
melhor como funcionam os sistemas distribuídos e como este tipo de arquitetura
pode otimizar todo o sistema da empresa. Desta forma, sua tarefa é apresentar um
relatório contendo algumas informações importantes a respeito de sistemas
distribuídos, de acordo com os tópicos listados a seguir:
1. Faça um resumo a respeito das principais vantagens ao se implementar um
sistema distribuído ao invés de um sistema centralizado;

2. Defina Middleware e explique qual o seu papel em um Sistema Distribuído;

3. Faça um relatório de pelo menos 2 exemplos de plataformas de middlewares mais


utilizadas, explicando suas principais características.

Tarefa 3:
A empresa de roupas T-Shirt está migrando suas vendas para o formato e-
commerce e entrou em contato com a sua Startup. A empresa está buscando
consultoria sobre a programação de páginas para a WEB, de modo que consiga
adaptar seu negócio à nova realidade imposta por uma pandemia de caráter
mundial. Neste sentido, sua empresa deve elaborar um documento inicial contento
os principais tópicos:
1. O que é a WEB? Introduza os conceitos fundamentais de que é a WEB e qual sua
importância desde que foi criada.

2. Descreva de forma sucinta o processo completo para acesso de sites na WEB.


Ou seja, sua tarefa será descrever, passo a passo, todas as etapas que ocorrem
nesse processo de comunicação entre a máquina cliente (usuário) e a máquina
servidor (site) até o momento em que o site aparece ao usuário.
45

3. HTML5 e CSS3 são as versões mais utilizadas destas duas linguagens de


marcação. Indique de forma resumida quais as principais melhorias e novas
possibilidades no desenvolvimento WEB que surgiram com estas novas versões.

Tarefa 4:
Sua empresa necessita prestar mais uma consultoria para a empresa T-Shirt. Desta
vez, eles estão pensando em expandir o site de vendas para uma aplicação mobile.
Então, a tarefa da Startup é levantar informações sobre o desenvolvimento de
aplicações móveis.
1. Faça um levantamento das plataformas e linguagens de programação mais
utilizadas para desenvolvimento Android disponíveis no mercado. Relacione quais
as vantagens e desvantagens de cada uma.

2. Elabore uma pesquisa sobre as 5 principais tendências de desenvolvimento de


aplicativos Android no mercado atual, como a utilização de inteligência artificial e
machine learning, chatbots, entre outras.
46

ANEXO 2 - 12 PRINCÍPIOS DO MANIFESTO ÁGIL

1. Nossa maior prioridade é satisfazer o cliente, por meio da entrega adiantada e


contínua de um software de valor
2. Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento, pois os
processos ágeis se adequam às necessidades do cliente
3. Entregar uma versão do software funcionando com frequência, na escala de
semanas até meses, com preferência para períodos mais curtos
4. Profissionais de negócios e desenvolvedores devem trabalhar em conjunto e
diariamente, durante todo o andamento do projeto
5. Construir projetos ao redor de indivíduos motivados, oferecendo a eles o
ambiente e suporte necessário, e confiar que farão seu trabalho
6. O método mais eficiente e eficaz de transmitir informações para um time de
desenvolvimento é uma conversa cara a cara
7. Um software funcional é a medida primária de progresso
8. Processos ágeis promovem um ambiente sustentável em que os
patrocinadores, desenvolvedores e usuários são capazes de manter passos
constantes
9. Atenção contínua à excelência técnica e bom design para aumentar a
agilidade
10. Simplicidade em primeiro lugar, como a arte de otimizar o trabalho
11. As melhores arquiteturas, requisitos e designs emergem de times auto-
organizáveis
12. Em intervalos regulares, o time deve pensar em como aumentar sua
efetividade e ajustar seu comportamento de acordo.

Você também pode gostar