0% acharam este documento útil (0 voto)
95 visualizações6 páginas

Engenharia de Software e WebApps Seguras

[1] O documento discute os desafios do desenvolvimento de aplicações web seguras nos cenários de transformação digital e integração híbrida. [2] O objetivo principal é analisar ferramentas, técnicas, modelos e práticas para o desenvolvimento seguro de software, propondo uma abordagem baseada no estado da arte e possíveis descobertas. [3] A metodologia inclui pesquisa bibliográfica, observação de processos de desenvolvimento e análise de fatores e tendências atuais.

Enviado por

Walterood A. S.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
95 visualizações6 páginas

Engenharia de Software e WebApps Seguras

[1] O documento discute os desafios do desenvolvimento de aplicações web seguras nos cenários de transformação digital e integração híbrida. [2] O objetivo principal é analisar ferramentas, técnicas, modelos e práticas para o desenvolvimento seguro de software, propondo uma abordagem baseada no estado da arte e possíveis descobertas. [3] A metodologia inclui pesquisa bibliográfica, observação de processos de desenvolvimento e análise de fatores e tendências atuais.

Enviado por

Walterood A. S.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

UNIVERSIDADE DE SÃO PAULO

INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO


PROGRAMA DE CIÊNCIAS DE COMPUTAÇÃO E MATEMÁTICA
COMPUTACIONAL – DOUTORADO DIRETO

WALTEROOD ARAUJO SILVA

ENGENHARIA DE SOFTWARE E O DESENVOLVIMENTO DE WEBAPPS


SEGUROS NOS CENÁRIOS DE TRANSFORMAÇÃO DIGITAL DE
INTEGRAÇÃO HÍBRIDA

Pré-projeto de pesquisa para doutorado direto.

SÃO LUÍS/MA
ABRIL/2020
MOTIVAÇÃO
O desenvolvimento de software é por diversas razões algo complexo, e
essa complexidade tem acompanhado não só o aprimoramento constante dos
tipos de sistemas e de softwares, mas também as diversas áreas e
possibilidades e, principalmente o que é criado para dar suporte ao seu próprio
desenvolvimento. Dessa modo, forma como os engenhamos e às estruturas de
suporte ao próprio desenvolvimento têm se transformado e mudado a maneira
como a engenharia de software e a segurança no mundo cibernético devem ser
implementados. Isso envolve não apenas as linguagens de programação,
paradigmas(multiprogramação e multiparadigma), modelos de processos e
técnicas, como também o desenvolvimento e a evolução de 1plataformas em
nuvem que contêm, agora, toda a infraestrutura de desenvolvimento,
colaboração, homologação e produção, aumentando ainda mais a
complexidade e os desafios para os que estão envolvidos com o
desenvolvimento, suporte e uso desses sistemas e de sua infraestrutura – além
de termos que levar em conta todos os atores que atuam de alguma forma
nessa área.
Aliado a isso, existem novos conceitos (e a reformulação de vários
deles), paradigmas e novos tipos de sistemas, softwares e serviços que
influenciam o modo como desenvolvemos software, e isso deve ser sempre
repensado e orientado de forma científica, pois sempre teremos a teoria indo à
realidade e vice-versa, fazendo-nos refletir sobre como a produção científica
pode levar especialmente os profissionais da TIC – que poderão também se
tornar os usuários finais dessas tecnologias – a entenderem o contexto atual
multifacetado, interconectado e e grandemente povoado por diversos
ecossistemas e por tecnologias ímpares a lidarem a complexidade, cada vez
mais crescente. Aliás, modelos são desenvolvidos para isso, para lidarem com
um ou com diversos conjuntos de contextos e problemas, de forma clara e
inteligente.
Usuários diversos, empresas, equipes e clientes estão cada vez mais
próximos através dos mais diversos dispositivos e sistemas, levando quem
desenvolve a buscar adaptar-se a essas novas formas de uso de software e de
apresentação de conteúdo – o que pode ser também adaptar-se às novas
ideias de fazer, que dão origem ou viram modelos novos; e não escapa desse
processo também quem os utiliza procurar novos usos, ou a ir em busca das
aplicações que são melhores para a realização de alguma tarefa.
Atender às demandas e requisitos de interação e de funcionalidades tem
sido o motor da complexidade crescente que torna as operações mais fáceis
para o usuário final, ao passo que a complexidade subjacente a esses sistemas
faz parte do dia a dia de quem os desenvolve e os mantém.
O que também influencia as decisões de uso e de permanência
(continuidade) de ambos os lados dos softwares, sistemas e plataformas é o
que também ocasiona assim as constantes e diversificadas mudanças e
evoluções, e é o que ao mesmo tempo tornou-se um objeto de estudo
interessante para os dois lados (desenvolvedores/acadêmicos e usuários).

1 Nuvem pública, privada ou híbrida (mistos das duas anteriores).


As mudanças vêm acontecendo mais rapidamente no mundo das
instituições não-governamentais e também das governamentais, levando
ambos os tipos de organizações a seguirem total ou parcialmente a
transformação digital, conduzindo-as assim para a nuvem, o que, por sua vez,
leva a mudanças culturais e comportamentais a acontecerem em todos os
lados envolvidos no processo: os profissionais que utilizam os produtos e
serviços como usuários finais têm que ir constantemente se adaptando às
transformações (colaboradores); e os profissionais que desenvolvem esses
produtos e serviços também se transformam, seja seguindo princípios e boas
práticas estabelecidos, seja criando novos deles, aprendendo, pela experiência
e pelos desafios apresentados no dia a dia, ou através de novas ideias,
modelos, ferramentas, técnicas e usos com e para o que já foi desenvolvido,
para criar algo novo.
E no contexto dessas transformações e aprendizagens, o que está se
delineando?
Novos tipos de profissionais, novas carreiras na área da TI e também
novas formas de contextualização e de utilização da engenharia de software no
desenvolvimento, além de novas formas de usar essa área e seus
profissionais.
Além das preocupações técnicas, os profissionais de TI que são
analistas e desenvolvedores também têm que estar preocupados em entender
sobre o negócio para o qual estão desenvolvendo, de forma a aproximar mais
ainda pessoas, negócios e equipes diversas entre si, além de aproximar estas
dos seus objetivos e metas através da tecnologia. Esses profissionais têm
também que atender aos requisitos e leis governamentais e, principalmente,
aproximar efetivamente o que a TI faz para proporcionar aos empreendimentos
o aumento da produtividade, a redução de custos, o aumento do ganho
financeiro e a segurança no uso de sistemas interligados e diversos em suas
plataformas e objetivos.

Interface com os
Profissionais de TI Objetivos Técnicos
objetivos estratégicos

É nesse cenário de muitas transformações e novos usos que surge a


necessidade de estudo das contribuições que a engenharia de softwares está
proporcionando ao desenvolvimento de aplicações Web seguras, já que dados
e informações de pessoas, empresas e demais organizações estão de algum
modo sendo transportados, armazenados e processados por esse tipo de
aplicação e de ambiente (local ou em nuvem). É uma preocupação também do
estudo aqui apresentado verificar as transformações que a forma de fazer
software está sofrendo, e a que isso está levando em termos de segurança.
Nesse sentido, temos que buscar delimitar os contornos dessas novas
abordagens metodológicas e tecnológicas utilizadas para a implementação e
para produção nessas infraestruturas, avaliando e organizando em um estudo
o que pode ser capturado das experiências de desenvolvimento e de
segurança digital, um dos maiores desafios do momento no mundo atual, e
mais especificamente no cenário de desenvolvimento das WebApps seguras.
Dessa forma faz-se necessário também que fique claro através de pesquisas,
em uma listagem que procure ser um tanto exaustiva, quais fatores têm que ser
considerados essenciais nas abordagens aplicadas no universo prático, pois
nunca é demais procurar o maior enquadramento possível de elementos,
quando a questão é desenvolver com o provimento de segurança para fazer
frente a esse desafio contemporâneo.

OBJETIVO
O principal objetivo do presente estudo é fazer a análise referente às
ferramentas, técnicas, modelos e práticas, trazendo à luz que princípios
(antigos ou novos) estão por traz do beneficiamento dos softwares e de seus
ambientes quanto ao desenvolvimento e à segurança, propondo uma
abordagem baseada no que está estabelecido, no que é recomendado e nas
possíveis descobertas sobre o assunto.
Não pode ficar de fora também a contribuição que este estudo pode dar
ao ajudar a pensar mais claramente no que está sendo feito e no como estão
sendo realizados o projeto e o desenvolvimento no âmbito da migração total ou
em parte para a nuvem, com o intuito de se organizar racionalmente o
conhecimento para a utilização no mundo acadêmico e no profissional.
A pesquisa objetiva esclarecer, nesse cenário atual de desenvolvimento
e de mudanças, como a engenharia de software tem afetado as formas de
pensar e de fazer software e como ela tem sido afetada pelos paradigmas e
pelas profundas, constantes e incessantes mudanças, isto é, quais as novas
ideias que podem dar base para as propostas de engenharia de aplicações
Web nos novos ambientes de desenvolvimento de TI, de forma inteligente,
segura e integrada.
Com a nova LGPD – Lei Geral de Proteção de Dados – que em breve
entrará em vigor - e com tecnologias emergentes como as de registro
distribuído do 2blockchain, esses três fatores (inteligência, segurança e
integração), entre outros, entrarão ainda mais em evidência, tanto nos estudos
acadêmicos, como no projeto, no desenvolvimento e na infraestrutura de
suporte aos ambientes, softwares e sistemas acima tratados.

METODOLOGIA
A metodologia a ser aplicada neste projeto considera o desenvolvimento
do trabalho baseado em pesquisa e uso de soluções existentes e pesquisa
junto a empresas, equipes e profissionais do contexto do trabalho, como
também a pesquisa bibliográfica.
A metodologia aplicada se desenvolverá principalmente em torno de
algumas práticas e ideias, como: a) Observação do que já foi feito a partir do
ponto de vista da análise e do desenvolvimento de sistemas e análise e
descrição dos principais processos; b) Análise e descrição dos principais

2 Nova tecnologia que está sendo usada como medida de segurança nas transações
efetuadas através da rede, que se vale da descentralização e do compartilhamento
público de registro distribuído como medida de segurança.
fatores das tendências atuais de desenvolvimento de software em linhas
gerais; c) Especificar as questões subjacentes que mais têm aparecido, que
dizem respeito ao próprio desenvolvimento de software (evitar retrabalho,
garantir que a aplicação seja bem recebida, evitar erros e etc.) e como isso é
tratado; d) Avaliação dos ambientes de transformação digital e de suas
propostas; e) Tentativa de extração de um modelo, procurando sugerir
soluções mais adequadas por tipos de cenários.
Como parte prática do processo metodológico o presente trabalho
também propõe o desenvolvimento de um protótipo de auxílio à avaliação do
cenário quanto ao desenvolvimento à segurança, nos quesitos de
desenvolvimento de aplicações Web e novos ambientes de desenvolvimento,
em uma ou mais linguagens de programação, ainda a serem escolhidas.
Ainda como forma de consolidação da metodologia aplicada, o trabalho
procurará apoia-se na busca de repostas a sete questões fundamentais para o
desenvolvimento e evolução deste trabalho: 1) A aplicação da engenharia de
software na criação da infraestrutura necessária ao desenvolvimento,
homologação e produção; 2) A aplicação da engenharia de softwares ligada às
boas práticas originadas das pesquisas e da experiência de pessoas e equipes
e seus sistemas em produção; 3) Quais as novas metodologias que podem
estar se delineando ao utilizarmos a programação com estrutura em nuvem; 4)
Questões de segurança inerentes ao próprio software desenvolvido; 5)
Questões de segurança inerentes ao tipo de software e à sua 3abordagem
aplicada; 6) Questões de segurança ligadas às linguagens de programação e
7) Questões atribuídas ao ambiente de desenvolvimento e de produção.
Planejamento, indicadores, avaliação de novas tendências, abordagens
apropriadas de desenvolvimento de soluções, são alguns exemplos de
preocupações que permeiam o trabalho de TI na área da engenharia e do
desenvolvimento de softwares, e que fazem parte do grande leque de questões
que têm que ser observadas nessas novas formas de desenvolvimento
emergentes, e que servem como motivação para o estudo proposto.

REFERÊNCIAS BIBLIOGRÁFICAS
PRESSMAN, Roger S. Engenharia de software: uma abordagem
profissional. 8ª Ed. São Paulo. Person Education do Brasil, 2016.
SOMMERVILLE, Yan. Engenharia de Software. 9. ed. São Paulo: Pearson
Prentice Hall, 2011.

DE PÁDUA PAULA FILHO, Wilson. Engenharia de software. LTC, 2003.


TRAVASSOS, Guilherme Horta; GUROV, Dmytro; AMARAL, E. A. G. G.
Introdução à engenharia de software experimental. 2002.

3 Como os softwares que precisam da abordagem de validação através dos


métodos formais, por exemplo.
FUKS, Hugo et al. Do modelo de colaboração 3c à engenharia de
groupware. Simpósio Brasileiro de Sistemas Multimídia e Web–Webmídia,
p. 0-8, 2003.
LIMA, Adriano Carlos de. Segurança na Computação em Nuvem. Senac,
2018.
SANTOS, Tiago. Fundamentos da Computação em Nuvem. Senac, 2018.
VERAS, Manoel. Cloud Computing: nova arquitetura de TI. Brasport, 2012.

Você também pode gostar