Escolar Documentos
Profissional Documentos
Cultura Documentos
Disciplinas:
Engenharia de Software
Redes e Sistemas Distribuídos
Programação WEB
Desenvolvimento Mobile
Sertãozinho, 03 de Maio
2021
BRUNO ANDRÉ DE OLIVEIRA
______________________________
Cristiano Giroldo
Tutor à Distância
______________________________
Adriane Aparecida Loper
______________________________
Gilberto Fernandes Junior
______________________________
Vanessa Matias Leite
SUMÁRIO
INTRODUÇÃO..............................................................................................................4
1 TAREFA 1..............................................................................................................5
1.1 METODOLOGIA ÁGIL....................................................................................5
1.2 MODELO DE MATURIDADE.........................................................................7
2 TAREFA 2..............................................................................................................9
2.1 SISTEMAS CENTRALIZADOS......................................................................9
2.2 SISTEMAS DISTRIBUÍDOS.........................................................................11
2.3 MIDDLEWARE..............................................................................................13
3 TAREFA 3............................................................................................................17
3.1 CONCEITOS FUNDAMENTAIS DE WEB E A SUA IMPORTÂNCIA..........17
3.2 HTML5 e CSS3.............................................................................................19
4 TAREFA 4............................................................................................................20
4.1 PLATAFORMAS DE DESENVOLVIMENTO ANDROID..............................20
4.2 LINGUAGENS DE PROGRAMAÇÃO..........................................................23
4.3 TENDÊNCIAS...............................................................................................29
5 CONCLUSÃO......................................................................................................30
4
INTRODUÇÃO
Sua origem remonta aos anos de 1550, onde “start-up” significava iniciante.
Entretanto, o conceito moderno surgiu apenas no ano de 1976 no artigo “The
unfashionable business of investing in startups in the electronic data processing field”
escrito pela Forbes Magazine (FORBES, 1976). Posteriormente, em 1977 a Revista
Business Week utilizou pela primeira vez o termo “startup company”, com a frase “An
incubator for startup companies, especially in the fast-growth, high-technology fields.[…]”
(BRAGA, 2019).
1 TAREFA 1
2. Ações de reestruturação
A Metodologia Ágil trabalha com estratégias de um ano com revisões
trimestrais das táticas que você está implementando. Essa abordagem permite moderar
a estratégia com base nas metas de seu cliente.
3. Transparência
Outra vantagem da metodologia Ágil é que o cliente tem o controle da
terceirização dos serviços. Seus processos funcionam com total transparência utilizando
a metodologia Scrum (por meio de Sprints ou organização de entregas de trabalho a
cada duas semanas).
As equipes que usam o Agile realizam reuniões diárias para analisar o estado
de suas tarefas. Eles discutem o progresso que fizeram e o que está em sua lista de
tarefas a fazer. O cliente tem acesso total a essa metodologia de trabalho e, portanto,
pode medir a conversão que cada ação está tendo. Eles revisam todas as entregas em
detalhes e sinalizam quais melhorias devem acontecer. A contínua interação e feedback
entre a empresa e o cliente visa garantir que o produto ou solução final que sua equipe
constrói é exatamente o que o cliente deseja e precisa.
7
Modelos de maturidade KM
Existem vários modelos de maturidade organizacionais como por exemplo:
CMM e CMMI.
OPM3.
PMMM.
KPMMM.
Project Framework.
Modelo Berkeley.
Disponibilidade
Vamos escolher o CMM para aplicar na empresa de roupas.
O CMM foi desenvolvido para descrever as fases dos processos de
desenvolvimento de software, e o modelo foi posteriormente atualizado para Capability
Maturity Model Integration em 2000 (CMMI Project Team, 2002) de uma maneira melhor.
O Capability Maturity Model descreve cinco níveis evolutivos nos quais uma
organização gerencia seus processos. As cinco etapas do CMM são as seguintes -
Inicial - os processos são improvisados, caóticos, raramente definidos.
2 TAREFA 2
verdade são vários computadores trabalhando juntos para realizar uma única tarefa
(retornar os resultados para a consulta de pesquisa).
2.3 MIDDLEWARE
dispositivo.
O segundo nível são os aplicativos que devem ser executados no sistema
operacional. Esses aplicativos expandem as funções do dispositivo além do que é
oferecido pelo sistema operacional.
Middleware refere-se a qualquer software de bastidores que permite que
esses dois níveis se comuniquem e interajam entre si. Por exemplo, o middleware ficará
entre o Windows 10 e um pacote de produtividade de escritório.
Além do sistema operacional e dos aplicativos, o middleware também ajuda a
separar processos, aplicativos e componentes de software para trocar informações
dentro do mesmo dispositivo ou entre vários dispositivos. Você pode comparar o
middleware com um tradutor ajudando pessoas que falam idiomas diferentes a se
entenderem. Nesse caso, o middleware facilita a interoperabilidade entre os aplicativos
executados em diferentes estruturas. O middleware faz isso fornecendo um meio de
troca de dados baseado em padrões. Dessa forma, os dois aplicativos podem se
conectar sem ter que se comunicar diretamente.
Algumas pessoas se referem ao middleware como encanamento, pois ele
conecta e passa dados entre dois aplicativos fundamentalmente diferentes. O
middleware também é conhecido como “cola de software”, pois ajuda a “colar” diferentes
softwares para que possam trabalhar juntos.
O termo middleware é um pouco vago, pois não se refere a um tipo específico
de software. Em vez disso, refere-se a qualquer software que fica entre e vincula dois
aplicativos separados. Se uma empresa depende muito de dados, pode-se considerar a
implementação de middleware para que possa integrar os dados em vários aplicativos e
sistemas.
A integração torna o fluxo de dados entre os vários aplicativos muito mais fácil
e permite que sua empresa se concentre em outros aspectos importantes do seu
negócio, já que não precisa mais perder tempo em processos manuais.
Melhor Agilidade
Hoje, as empresas precisam fornecer serviços aos clientes em várias
plataformas, incluindo na nuvem, no celular e por meio de plataformas de aplicativos
15
tradicionais.
Oferecer serviços em todas essas plataformas pode ser um desafio. Ao
mesmo tempo, os clientes esperam uma experiência de usuário semelhante,
independentemente da plataforma por meio da qual acessam os serviços.
Para fornecer uma experiência de usuário perfeita, o cenário de TI da sua
empresa precisa ser muito ágil. O middleware pode ajudar a fornecer essa agilidade. Ele
fornece uma estrutura que permite que alterações sejam feitas facilmente nos processos
de negócios.
Dessa forma, a empresa pode responder e se adaptar facilmente aos
requisitos e expectativas do cliente e entregar novos serviços com muito mais rapidez.
Maior Eficiência
A tecnologia de middleware é muito útil quando se trata de automatizar
processos de negócios. Com o middleware, processos como pedidos e configuração de
produtos podem ser automatizados, levando a melhorias de tempo e custo em
comparação com a execução manual desses processos.
Os membros da equipe que executaram anteriormente esses processos
podem ser designados para outras tarefas. A automação do processo também reduz o
tempo de entrega e torna as interações com o cliente muito mais simples, aumentando o
volume total dos negócios.
Inovação Rápida
O cenário de negócios atual tornou-se muito competitivo. As empresas
precisam reduzir drasticamente seus ciclos de desenvolvimento de produtos para que
possam trazer produtos e serviços novos e inovadores ao mercado antes de seus
concorrentes. A implementação da tecnologia de middleware torna o processo de
inovação muito mais fácil e rápido.
Produtos e serviços podem ser lançados no mercado com muito mais rapidez,
sem aumento nos custos de desenvolvimento.
Por exemplo, uma rede de hotéis usou a tecnologia de middleware da Oracle
para fornecer aos usuários informações em tempo real sobre a disponibilidade de
quartos e tarifas diretamente no Google Maps.
Portabilidade e Reutilização
Embora os aplicativos de tecnologia avançada que estão sendo lançados hoje
tornem mais fácil fazer mudanças rápidas nos processos de negócios, algumas
organizações ainda podem contar com algumas organizações legadas antigas.
16
O middleware vem com um “centro de migração” que torna muito fácil mover
os aplicativos existentes para esta plataforma.
Ele também oferece uma solução compatível com a nuvem para aqueles que
desejam tornar suas empresas mais ágeis.
O Red Hat JBoss Enterprise Application Platform também oferece excelente
suporte ao cliente.
Red Hat JBoss Enterprise Application Platform custa US$ 8.000 para uma
assinatura de 1 ano rodando em 16 núcleos de CPU. Você também pode obter
assistência e suporte 24 horas por dia por US$ 4.000 extras.
IBM WebSphere
O Websphere Application Server é uma plataforma de middleware de alto
desempenho com uma infinidade de recursos. Instalar e implementar o IBM WebSphere
é bastante simples.
A plataforma pode ser usada para soluções locais, baseadas em nuvem e
híbridas. A plataforma é construída com uma arquitetura forte, mas flexível, que pode ser
facilmente dimensionada conforme necessário.
Uma das maiores vantagens do IBM WebSphere é que ele pode ser integrado
a outros produtos IBM baseados em nuvem, como o serviço de banco de dados dashDB
SQL e inteligência artificial Watson.
Uma assinatura de um ano do IBM WebSphere, incluindo suporte, custará
cerca de US$ 14.000 por soquete de uso limitado.
3 TAREFA 3
Navegador web.
Um navegador da web é um tipo de software que permite localizar e visualizar
sites na Internet. Mesmo que você não saiba, você está usando um navegador da web
agora para ler esta página! Existem muitos navegadores diferentes, mas alguns dos
mais comuns incluem Google Chrome, Internet Explorer, Safari, Microsoft Edge e Mozilla
Firefox.
Não importa qual navegador da web você usa, você vai querer aprender o
básico para navegar na web. Nesta lição, falaremos sobre como navegar em diferentes
19
Links
Sempre que você vir uma palavra ou frase em um site que
está azul ou sublinhada em azul , provavelmente é um hiperlink , ou link abreviado. Você
já deve saber como os links funcionam, mesmo que nunca tenha pensado muito sobre
eles antes.
Links são usados para navegar na web . Quando você clica em um link,
geralmente ele o leva a uma página da web diferente. Você também pode notar que o
cursor muda para um ícone de mão sempre que você passa o mouse sobre um link.
4 TAREFA 4
Android Studio
O Android Studio é um IDE. Isso significa que oferece um Ambiente de
Desenvolvimento Integrado.
O IDE vem com Android SDK, um valioso conjunto de ferramentas para
desenvolver aplicativos Android. Resumindo, o Android Studio tem tudo o que é
necessário para começar a desenvolver aplicativos para Android. Isso inclui o dispositivo
virtual Android. Este é um emulador para testar aplicativos em desenvolvimento.
Deixe as caixas de seleção marcadas para as ferramentas adicionais durante
a instalação do Android Studio. É possível adicioná-los depois, mas isso só complica as
coisas.
Uma palavra de advertência: Java precisa ser instalado no computador ao
usar o Android Studio. Isso significa instalar o Java Development Kit se ele não estiver
instalado. Isso interpreta o código escrito e depois o compila para que a CPU o
compreenda.
O Android Studio tem muitos tutoriais e documentação. Ele também dá
acesso às maiores bibliotecas em linguagens de programação junto com o código
gratuito. Facilita a vida dos programadores, oferecendo como:
Um designer visual;
Sugestões enquanto você trabalha;
Recursos poderosos e avançados;
Acesso ao armazenamento em nuvem.
Xamarin:
Xamarin é a ferramenta de desenvolvimento de aplicativo móvel preferida
para aplicativos nativos. Ele reutiliza camadas de lógica de negócios e acesso a dados
entre plataformas. É amplamente usado para criar aplicativos para iOS, Windows e
desenvolvimento de aplicativos Android.
Características:
22
PhoneGap:
PhoneGap é um framework de desenvolvimento de aplicativos móveis de
código aberto e gratuito. Ele se enquadra na categoria de desenvolvimento de
aplicativos multiplataforma. Ele pode ser usado para desenvolver um único aplicativo
que funcione em todos os dispositivos móveis.
Características:
Funciona com eficácia em JavaScript, HTML5 e CSS3
Ele pode se integrar com várias bibliotecas para aprimorar o
desenvolvimento de aplicativos
Permite o desenvolvimento de vários aplicativos móveis com menos
tempo e esforço
Ajuda os desenvolvedores a estender a funcionalidade do aplicativo
com a ajuda da arquitetura de plug-in
Ferramenta robusta para criar aplicativos sem qualquer conjunto de
habilidades especiais
Ionic:
Ionic é a estrutura de desenvolvimento de aplicativos móveis HTML5. É
amplamente utilizado para desenvolver aplicativos móveis híbridos. É uma ferramenta
útil para construir aplicativos móveis usando tecnologias da web como CSS, HTML5 e
SASS.
23
Características:
Ionic Framework é um projeto 100% gratuito e de código aberto
Crie web progressiva e aplicativos móveis nativos para todas as
principais lojas de aplicativos
Ele oferece excelentes ferramentas e serviços para criar aplicativos
altamente interativos
Ele permite que o desenvolvedor da web crie aplicativos para todas as
principais lojas de aplicativos com uma única base de código
Ele vem com muitos componentes CSS e componentes JavaScript
para o desenvolvimento de aplicativos móveis
Ionic emula diretrizes de IU de aplicativos nativos e usa SDKs nativos
NativeScript:
NativeScript é uma estrutura de código aberto para a construção de
aplicativos móveis verdadeiramente nativos com Angular, TypeScript ou JavaScript. Ele
permite escrever e implantar aplicativos móveis nativos para iOS e Android a partir de
uma única base de código.
Características:
Acelere a curva de aprendizado usando habilidades para desenvolver
aplicativos móveis nativos
Crie aplicativos móveis verdadeiramente nativos com JavaScript. Use
habilidades da web, como Angular e CSS
Centenas de plug-ins NativeScript estão disponíveis para capacitar
aplicativos móveis nativos
A equipe NativeScript oferece três implementações completas de
aplicativos do mundo real
1. Java
A Sun Microsystems lançou o Java em 1995. Hoje, vários aplicativos de
programação utilizam a linguagem. Java está em quase todos os dispositivos, incluindo
smartphones, tablets e PCs.
Java era a linguagem original para desenvolvedores de jogos e continua
sendo a opção mais popular.
O Google a classifica como linguagem oficial para o desenvolvimento de
aplicativos Android. Também é o mais escolhido pelos desenvolvedores com jogos na
Play Store.
Java depende de máquina virtual. Isso significa que ele não compila para
código de processador nativo. A máquina virtual entende o formato de bytecode Java. A
máquina virtual é capaz de interpretar o bytecode, o conjunto de instruções, e então
executa o programa.
Existem dois tipos distintos de compilação de dados usados por máquinas
virtuais, Just-in-time e ahead-of-time, sendo o último mais rápido.
Os desenvolvedores têm a oportunidade de desenvolver aplicativos para
Android usando Windows, OS X ou Linux, enquanto o compilador Java transforma o
código-fonte em bytecode, que é executado na máquina virtual do Android.
A máquina virtual original em telefones e tablets Android tem o nome de
Dalvik. A próxima geração de VM é ART.
Por outro lado, Java está entre as linguagens de programação mais difíceis
de aprender. Ao ouvir isso, comecei a tremer nos sapatos, mas isso não me impediu de
me aprofundar mais nisso.
Existem prós e contras em usá-lo, como acontece com qualquer linguagem de
programação.
25
Os prós
Muitos códigos gratuitos disponíveis para jogos;
Muitos tutoriais e instruções;
O Google e a Play Store adoram;
Um dos mais usados para fazer aplicativos Android;
Suporta Android Studio;
É versátil.
Os contras
Vem com uma curva de aprendizado que é íngreme;
Muitos tópicos confusos para aprender, pois é uma linguagem de
programação orientada a objetos;
Não é a linguagem de computador mais fácil de ler;
Leva muito tempo para aprender;
As atualizações são rápidas, o que torna difícil mantê-las atualizadas.
2. Basic/B4A
Basic é a abreviação de “Código de instrução simbólica para todos os fins
para iniciantes”. Esta é uma linguagem de computador que é um prazer de usar.
B4A é BASIC 4 Android. O nome diz tudo. É BÁSICO, mas para aplicativos
Android.
Novamente, ele vem com prós e contras.
Os prós
BASIC 4 Android permite o desenvolvimento de aplicativos Android;
É uma boa maneira de começar a codificar;
Aplicativos poderosos podem ser desenvolvidos usando BASIC 4
Android;
A comunidade apoia.
Os contras
O Basic não oferece suporte ao Android Studio;
BASIC 4 Android não é a escolha mais popular para a codificação de
aplicativos Android;
Isso não é adequado para o desenvolvimento de aplicativos Android de
ponta;
26
3. C #
C # é uma versão orientada a objetos de C / C ++ que é pura. Também achei
muito mais fácil de utilizar.
Esta linguagem combina o poder oferecido pelo C ++ com a facilidade de uso
que o Visual Basic oferece durante a leitura como Java, mas mais fácil. Qualquer pessoa
nova no aprendizado de codificação pode querer começar com C # ao mergulhar os pés
na água.
Eu recomendo começar usando uma combinação de C # e Unity, pois eles
funcionam extremamente bem juntos. Unity é um motor de jogo perfeito para jogos 3D
que oferecem física. O que adoro no Unity é o fato de ser gratuito e muito fácil de
desenvolver um jogo 3D. O básico de um jogo 3D pode ser obtido em apenas 1 hora,
graças a algumas linhas de código.
Os prós
C # é fácil de entender e usar;
É orientado a objetos;
É tão poderoso quanto C ++;
É fácil de ler;
Sem vazamentos de memória graças à limpeza de lixo;
Funciona muito bem com o motor de jogo Unity;
Os contras
C # e Unity são bons juntos para desenvolver jogos 3D, mas não tão
bons para aplicativos padrão;
Não está de acordo com a linguagem do Material Design do Google;
Isso limita as chances de emprego como desenvolvedor Android
profissional.
Recomenda-se C # e Unity se estiver desenvolvendo um jogo 3D para
Android, pois é fácil e agradável com resultados rápidos. C # também é uma excelente
escolha para aprender a codificar.
27
4. Corona/LUA
Corona está entre as opções mais simples para desenvolver aplicativos
Android, oferecendo boa potência e controle.
A codificação em Corona é LUA. É mais fácil de usar do que Java, pois é
usado com o Corona SDK.
Existem alguns benefícios em usar o Corona SDK para desenvolver
aplicativos Android. As pessoas por trás da Corona dizem que seu produto permite que
os desenvolvedores trabalhem em aplicativos móveis com uma velocidade dez vezes
maior. Eles também se gabam de que funcionalidades complexas podem ser
incorporadas com apenas algumas linhas de código. Ele tem um simulador integrado, o
que significa que os desenvolvedores podem ver como o aplicativo ou jogo está
progredindo.
Corona também possui recursos para conteúdo gráfico e interatividade em
jogos e aplicativos Android. Ele também oferece uma grande variedade de opções de
design.
Corona tem uma comunidade de desenvolvedores que está crescendo junto
com um repositório mútuo para códigos, fragmentos de código e compartilhamento de
conhecimento. Ele também tem suporte para monetizar aplicativos embutido, incluindo
compras de aplicativos, anúncios em banner e uma escolha de moeda.
Bibliotecas nativas são suportadas, então publicar jogos em várias
plataformas é fácil. Corona é geralmente usado em jogos; no entanto, descobri que é
possível usá-lo em outros aplicativos também. É necessário um bom editor de texto,
como o Notepad ++. Isso é usado para escrever o código. Tal como acontece com
outras linguagens de programação, existem prós e contras em usar Corona/LUA.
Os prós
Oferece uma introdução fácil à codificação;
É uma linguagem de programação muito rápida de usar;
Suporte para todas as bibliotecas nativas, o que significa a capacidade
de publicar em várias plataformas;
Capacidade de executar código usando um emulador sem compilar.
Os contras
É necessário um editor de texto para inserir o código; recomenda-se o
Notepad ++;
28
5. Kotlin
Kotlin é relativamente novo no mundo das linguagens de programação, mas
surgiu aos trancos e barrancos. Desde que se tornou o centro das atenções, tornou-se
uma espécie de linguagem oficial na programação de aplicativos Android.
Kotlin depende de Java Virtual Machine. Uma das principais coisas que adoro
em Kotlin é que ele não leva a nenhuma desaceleração. Nem faz com que o tamanho
dos arquivos aumente. A linguagem do computador não é difícil de ler usando menos
“boiler plate”.
Existem fatores pelos quais você pode querer escolher Kotlin em vez de uma
das outras linguagens de programação. Embora seja uma adição relativamente nova às
linguagens de programação, o Kotlin só foi lançado depois de passar por vários estágios
antes de seu lançamento final.
Kotlin possui um plugin IDE que funciona perfeitamente. Inclui vários recursos
oferecidos em Java. Outra semelhança que ele compartilha com o Java é o tempo de
compilação. Em alguns casos, descobri que compilar em Kotlin é mais rápido do que em
Java.
O Android Studio e o Kotlin se integram perfeitamente. Mesmo quando você
está começando com o idioma, leva apenas cerca de 10 minutos para criar um projeto
para começar. A linguagem suporta extensões Kotlin Android junto com bibliotecas Anko
e outras.
Erros como exceções de ponto nulo não são um problema com Kotlin. No
geral, é uma linguagem de programação muito fácil para usuários iniciantes no
desenvolvimento de aplicativos Android. Agora vamos destacar os prós e os contras.
29
Os prós
A linguagem oferece suporte a Java Virtual Machine;
Não faz com que o tamanho dos arquivos aumente ou cause qualquer
desaceleração;
É simplificado e fácil de ler;
Ideal para quem está aprendendo a codificar para aplicativos Android;
Suporta Android Studio.
Os contras
Embora seja fácil de aprender, não é tão fácil quanto aprender C #
junto com o Unity;
Praticamente sem suporte da comunidade;
A versão beta do Android Studio é necessária para suporte imediato.
Kotlin vale a pena ser considerado por qualquer novato na codificação de
aplicativos Android, mas há pouco apoio da comunidade. Ele tem suporte para Android
Studio e é um ponto de entrada.
4.3 TENDÊNCIAS
5 CONCLUSÃO
FONTES
https://rampazzos.com.br/blog/2021/01/05/qual-a-origem-do-termo-startup/#:~:text=Qual
%20a%20origem%20do%20termo%20Startup%3F,-Janeiro%205%2C
%202021&text=Sua%20origem%20remonta%20aos%20anos,Magazine%20(FORBES
%2C%201976).
https://usemobile.com.br/como-criar-um-aplicativo
https://www.numeric.srv.br/o-que-e-uma-startup
https://vibetecnologia.com/consultoria-startup/
https://atendimento.sebraemg.com.br/biblioteca-digital/content/como-montar-uma-
empresa-de-consultoria-virtual