Codificação Back-End

Boxe inicial que contém o nome da unidade curricular: “Codificação Front-End”. Dentro dele, há duas telas de desktop; na primeira, há parte de um código HTML; na segunda tela, há linhas coloridas representando o código e a palavra HTML bem legível.
Boxe inicial que contém o nome da unidade curricular: “Codificação Front-End”. Dentro dele, há duas telas de desktop; na primeira, há parte de um código HTML; na segunda tela, há linhas coloridas representando o código e a palavra HTML bem legível.
Role para baixo

Para Começar

Este material aborda conceitos relacionados ao planejamento para a implementação de codificação de sistemas web server-side (Back-End), considerando as necessidades do usuário.

No decorrer de seus estudos, esperamos que você desenvolva as seguintes capacidades:

  • Reconhecer as demandas do cliente;
  • Reconhecer as metodologias de desenvolvimento de software;
  • Aplicar a metodologia ágil no desenvolvimento de sistemas web;
  • Analisar criticamente as referências estabelecidas por normas, padrões de conduta, procedimentos e diretrizes tendo em vista a aplicação em processos e atividades de sua responsabilidade.

Para desenvolver tais capacidades, você deverá estudar os seguintes temas:

  • Levantamento de requisitos e ferramentas;
  • Metodologias clássicas e ágeis de desenvolvimento;
  • Ferramentas de melhoria contínua.

Esse estudo será necessário para que você resolva a situação-problema a seguir. Então, avance para conhecê-la.

Situação-Problema

A Celsius é uma consultoria que fornece serviços e recursos de desenvolvimento de sistemas web a outras empresas. Ela valoriza as boas práticas do mercado, aplicando novas metodologias para otimizar o desenvolvimento de suas soluções e sempre analisa seus resultados para garantir as melhores entregas, recursos e redução da margem de erro.

A Balti é uma empresa que atua na gestão de clínicas veterinárias e deseja divulgar seus serviços por meio de uma nova plataforma online, para aumentar sua visibilidade no mercado e, consequentemente, sua rentabilidade. A Balti não possui experiência na construção de sistemas e/ou plataformas e por isso contratou a Celsius para desenvolver essa nova solução.

Você, como programador que atua na Celsius, ficará responsável por esse projeto. Para iniciá-lo, você deverá responder a três desafios:

Clique nos botões a seguir para conhecê-los:

Desafio 1

Desafio 2

Desafio 3

Desafio 1

Nesta etapa, você deverá resolver o desafio 1:

  • Identificar quais as funcionalidades mínimas que uma aplicação deverá possuir.

Para isso, você estudará os seguintes conteúdos:

  • Técnicas de levantamento de requisitos: briefing, brainstorm, questionário, entrevista, etnografia, workshop, prototipagem.
Ilustração de uma tela de notebook com zoom e uma lupa destacando a palavra desafio. Ilustração de uma tela de notebook com zoom e uma lupa destacando a palavra desafio.

Codificação Back-End

Clique no player a seguir para acessar o vídeo sobre o primeiro tópico do conteúdo: Codificação Back-End.

Levantamento de requisitos

No contexto de desenvolvimento de sistemas, sites e aplicativos, um dos pontos-chave para compreender a demanda é a comunicação entre o contratante (cliente) e o contratado (empresa desenvolvedora). É importante ter clareza sobre a finalidade do sistema, ou seja, determinar os requisitos que o sistema deverá contemplar.

Os requisitos estão relacionados a uma necessidade ou exigência do cliente em seu produto/serviço, às ações que o sistema deverá executar ou a uma regra que deve ser estabelecida por uma condição.

Nesse momento, deve-se responder à seguinte pergunta:

Quais serão os requisitos tanto de Front quanto de Back-End?

Isto porque o Front-End desenvolverá a interface na qual o usuário irá interagir para trazer a apresentação de forma visual dos dados que foram coletados na base de dados pelo Back-End, conforme mostra o exemplo a seguir:

Imagem com fundo branco, com duas mãos segurando um smartphone; a mão do lado esquerdo está tocando a tela em um ícone de localização com a sinalização de interrogação logo acima; para o lado direito tem mais três ícones de localização com imagens de engrenagem, lâmpada e exclamação logo acima de cada um dos ícones respectivamente.

Exemplo

Imagine que um aluno acesse o site do SENAI-SP para pesquisar sobre os cursos a distância gratuitos oferecidos. Ao realizar essa solicitação, a resposta apresentada pelo sistema deve ser a listagem dos cursos disponíveis.

Nesse caso, o programador front-end é responsável pela organização dos elementos em tela e pelo desenvolvimento da interface, por meio da qual o usuário fará a interação – clicando no menu, por exemplo. Já o programador back-end é responsável pela regra de negócio do sistema, mostrada na segunda imagem. Ele deve saber quais cursos serão exibidos, de acordo com as informações salvas no banco de dados.

Imagem 1: Solicitação

Fonte: https://online.sp.senai.br/

Infográfico com o print da homepage do site do Senai; destaque no menu lateral esquerdo no item cursos e cursos gratuitos; seta azul indicando a página dos cursos gratuitos do Senai e um lupa destacando a lista dos cursos oferecidos.

Imagem 2: Resposta do sistema

Fonte: https://online.sp.senai.br/

Classificação dos requisitos

Na literatura, é comum você encontrar a classificação dos requisitos do Back-End em dois tipos: Requisitos Funcionais (RF) e Requisitos Não Funcionais (RNF).

Clique nas abas para revelar o conteúdo.

Técnicas de levantamento de requisitos

Existem técnicas para o levantamento de requisitos que ajudam a determinar quais serão as condições que o produto final deverá contemplar.

Clique nas abas a seguir e conheça algumas delas.

Coleta de dados ou informações iniciais, realizada com o cliente, que será a base para o desenvolvimento inicial do projeto. Essa coleta ocorre em uma reunião com o cliente, chamada reunião de briefing.

Técnica utilizada para levantar sugestões e ideias, a fim de solucionar problemas no desenvolvimento de produtos e serviços.

Lista de perguntas sobre os requisitos do projeto. Diferentemente do briefing, que coleta dados sobre o produto ou serviço a ser desenvolvido, o design, a empresa etc., o questionário contém perguntas sobre a implementação do produto ou serviço no mercado.

Técnica aplicada para coletar dados de usuários de um produto ou serviço, visando identificar problemas, a partir de suas observações.

Técnica utilizada para analisar requisitos sociais e culturais das tarefas desempenhadas numa organização.

Reunião feita com a equipe de analistas da empresa contratada para o desenvolvimento do produto ou serviço e com representantes do cliente, a fim de especificar as necessidades do projeto.

Modelo preliminar ou inicial do produto que apresenta algumas funcionalidades que ele terá.

Briefing

O briefing é um instrumento fundamental para o planejamento do trabalho a ser realizado, tanto em relação ao Front-End quanto ao Back-End, em que ocorre a coleta de dados, para compreensão do problema ou necessidade do cliente.

Foto de uma mesa retangular com seis pessoas sentadas em seu entorno, tirada de cima. Sobre a mesa, há vários aparelhos tecnológicos, como: smartphones, tablets e notebooks. Há também cadernos, canetas e duas xicaras de café. Uma das pessoas sentadas, um homem branco, vestindo camisa branca, aperta a mão de uma mulher branca, vestida de camisa branca e xale bege. As demais pessoas são jovens: dois brancos e dois jovens negros.

Fonte: Pexels

O documento resultante da reunião de briefing deve conter contém informações sobre a empresa, o tipo de produto ou serviço a ser oferecido, o prazo, o orçamento, o público-alvo etc.

O levantamento das informações normalmente ocorre em uma reunião, na qual o responsável pelo projeto coleta dados importantes sobre o cliente e a necessidade apresentada. Esse levantamento precisa ser breve, detalhado e objetivo.

Importante

Não existe um modelo específico. Cada empresa pode desenvolver o seu próprio briefing. O importante é que ele contenha informações relevantes para os interessados no projeto.

As informações são coletadas com o cliente e norteiam o trabalho da equipe para um direcionamento mais assertivo quanto ao objetivo final.

Abaixo temos exemplos de perguntas que podem ser realizadas e de possíveis respostas do cliente para compreensão dos requisitos que o projeto deverá apresentar. Essas perguntas são exemplos do que pode ser feito para ajudar a compreender a demanda de seu cliente.

Ouça, no podcast a seguir, a entrevista de briefing feita pelo programador Back-End e o cliente, no caso, a Balti, que é uma empresa que atua na gestão de clínicas veterinárias e deseja oferecer seus serviços através de uma nova plataforma online, para expandir a visibilidade de sua empresa e aumentar a rentabilidade através da divulgação digital.

Foto de duas pessoas utilizando computadores em um ambiente como escritório. Em primeiro plano, aparece a imagem de um homem segurando o mouse e olhando para tela do computador; em segundo plano, há uma mulher também olhando para a tela do computador.

Fonte: Pexels

Lembrando que a Balti não possui experiência na construção de sistemas e/ou plataformas e por isso contratou a Celsius, para desenvolver esta nova solução.

Podcast

Clique no player para ouvir o podcast e na seta para baixar o PDF com a transcrição do áudio. Salve esse arquivo em uma pasta de fácil acesso, pois ele é o roteiro de perguntas a serem feitas aos seus clientes.

No exemplo dado, notamos que o cliente foi objetivo e demonstrou conhecer o seu público-alvo.

Saiba mais...

Clique aqui e veja como a segmentação do público-alvo pode ser constituída por várias informações.

Importante

Clique aqui e descubra algumas boas práticas do briefing.

Após preencher o briefing e identificar a necessidade ou o problema do cliente, agora é hora de buscar caminhos para solucioná-lo.

Foto de quatro mãos fechadas se tocando. Ao fund, uma mesa branca com papéis, smartphones e canetas;
  • gênero ou orientação sexual: homens, mulheres, LGBTQIA+;
  • faixa etária: crianças, adolescentes, adultos e idosos;
  • renda: pessoas de classes A, B, C ou D;
  • região em que residem: Norte, Nordeste, Centro-Oeste, Sudeste ou Sul, zona urbana ou zona rural, capital ou interior;
  • etnia: branca, afrodescendente, indígena, asiático etc.
  • estado civil e estrutura familiar: casado, solteiro, união estável, mora sozinho ou com mais pessoas.
  • tipo de residência: mora em casa ou apartamento, alugado ou imóvel próprio;
  • estilo de vida e atitudes: pessoas preocupadas com a saúde, gamers etc.

O responsável por essa coleta de dados precisa ser paciente e ajudar o cliente a responder da melhor forma possível, sobretudo se o cliente não sabe especificar seu público e nem descrever seu produto ou serviço.

Outro ponto de destaque é a utilização de um vocabulário de fácil entendimento, pois o seu cliente pode não conhecer todos os termos técnicos. Você deve auxiliá-lo, explicando cada passo, a fim de conseguir obter informações necessárias que poderão impactar diretamente no tempo de desenvolvimento das atividades de Back-End e Front-End.

Exemplo:
Para armazenar o seu site ou o seu código do Back-End para que o público possa acessá-lo, é necessário utilizar um serviço de hospedagem. Isso gerará um custo para o cliente e pode impactar diretamente a performance do sistema, dependendo da capacidade do serviço e da arquitetura de seu sistema.

Brainstorming ou brainstorm

O brainstorming ou brainstorm (as duas grafias estão corretas), cuja tradução do inglês significa tempestade de ideias, é uma técnica utilizada para explorar a capacidade criativa das pessoas, estimulando-as, com o objetivo de gerar ideias para solucionar um problema.

Duas cabeças pensam melhor do que uma, certo?

Fique atento ao fato de, nesse momento do projeto, as ideias não poderem ser criticadas e/ou julgadas, para não interferir no processo criativo dos participantes.

Clique nas setas de navegação para conhecer algumas dicas para realizar um brainstorming.

0/0

 Anote as soluções em um local visível. 

  Selecione as ideias e escolha a principal; esta será desenvolvida pela equipe.

keyboard_arrow_left keyboard_arrow_right

O infográfico a seguir traz um resumo dos principais conceitos relacionados ao brainstorm.
Clique para ampliá-lo.

Questionário e entrevista

Questionário

É uma lista de perguntas direcionadas aos requisitos de um produto ou serviço. Esses requisitos são as necessidades, capacidades ou condições que devem ser supridas, garantindo um acerto maior nas expectativas lançadas.

Habitualmente é utilizado para obter informações das pessoas que serão impactadas pelo sistema.

Clique aqui e conheça algumas especificidades de um questionário de requisitos.

Ilustração de uma prancheta azul; presa a ela está uma folha de papel branca com questionário respondido, dois itens corretos assinalados em verde e dois itens incorretos marcados com xises em vermelho; ao lado direito uma caneta vermelha.

Entrevista

A entrevista é uma forma de diálogo com os usuários dos produtos ou serviços, a fim de buscar respostas.

Diferentemente do briefing e do brainstorm, etapas em que o projeto está iniciando, a entrevista ocorre depois que o produto, serviço ou sistema já foi criado ou desenvolvido.

O entrevistado é nossa fonte de informação. Essa técnica pode ser guiada por um roteiro de perguntas, permitindo coletar informações detalhadas de usuários ou grupos e, entender o que o entrevistado deseja, seus pontos de vista e quais são as suas ideias.

Esses dados irão auxiliar no levantamento de requisitos que o produto ou serviço deverá apresentar e, consequentemente, na sua melhoria.

Clique aqui e conheça um exemplo de roteiro para entrevista direcionado a um serviço ou sistema.

Foto de um escritório; à direita, uma mulher negra, cabelos trançados e presos, vestindo uma blusa de botões cinza e jeans. Sentada em uma cadeira, ela segura uma prancheta com a mão direita e uma caneta com a mão esquerda; ela entrevista um homem negro, de cabelos longos trançados, vestido com uma camisa de manga longa bege e calça escura. Entre eles há uma mesa redonda branca; sobre ela, duas xicaras brancas e um caderno de anotações.

É importante registrar que tanto o questionário quanto a entrevista são mais utilizados dentro do contexto de Front-End. No entanto, as informações coletadas determinarão certas características sistêmicas que terão consequências no contexto de Back-End.

Por exemplo, além de entender o contexto de um usuário em específico, é importante entender a demanda por um serviço.

Imagine que o SENAI pretende realizar uma promoção de cursos gratuitos e muitas pessoas receberão acesso ao mesmo tempo ou, durante, os meses de dezembro e janeiro, a busca por cursos é ampliada e o número de acessos aumenta consideravelmente.

No caso exemplificado acima, como deverá ser o comportamento do sistema? Como ele deverá responder a essas alterações?

Clique no botão para revelar o conteúdo…

  • Onde será acessado?
  • Quem o acessará?
  • Quando e em quais situações esse recurso será utilizado?
  • Como as necessidades serão atendidas?
  • Quais são os passos?
  • O que irá acontecer quando o usuário clicar aqui?
  • O que esse recurso irá fazer?
  • Por que o usuário acessaria tal recurso?
  • Qual é o objetivo?
  • Como ele irá afetar nosso usuário?
  • Quais suas impressões sobre o produto, serviço ou sistema?
  • Quais são os principais desafios já identificados?
  • O que você achou do mecanismo de busca?
  • Como você realiza a tarefa X?
  • Com que frequência você utiliza tal ferramenta?
  • Qual seu nível de familiaridade com o computador?
  • Com qual frequência você utiliza o computador?
  • Prefere acessar a internet pelo celular ou computador?
  • Qual o modelo dos seus aparelhos?
  • O que mais te agradou no projeto? E o que menos te agradou?

Prototipagem

O protótipo representa visualmente um modelo do que se deseja construir, antes de se iniciar o desenvolvimento do projeto final.

Trata-se de um esboço ou versão inicial do que é esperado no final do projeto. O protótipo permite testar e validar ideias sem todo o esforço empenhado em um projeto terminado, mas que contempla o contexto real do que será atingido e desenvolvido. Assim, o risco de haver erros futuros no sistema é diminuído.

No entanto, a prototipagem é mais aplicada no desenvolvimento do Front-End para representar visualmente como o site deverá ser construído.

Os protótipos auxiliam no Back-End para fornecer informações e entender quais dados precisarão ser dispostos para o time de Front-End realizar a sua apresentação ao usuário.

Foto de um homem branco, cabelos grisalhos, vestindo camisa branca e relógio de pulso. Ele está sentado e utiliza uma caneta para fazer o protótipo de um site em uma folha de papel, apoiada numa mesa.

Veja a seguir exemplos de protótipos para mobile. As imagens mostram o processo de evolução do protótipo de baixa fidelidade para o de alta fidelidade.

Vamos Praticar

1. Relacione quais técnicas podem ser aplicadas para determinar os requisitos que deverão ser contemplados, antes de iniciar o desenvolvimento de um produto ou serviço:

a. Lista de perguntas sobre os requisitos do projeto e sua implementação no mercado.
b. Modelo preliminar ou inicial do produto que apresenta algumas funcionalidades que ele terá.
c. Técnica utilizada para levantar sugestões e ideias, a fim de solucionar problemas no desenvolvimento de produtos e serviços.
d. Coleta de dados ou informações iniciais, realizada com o cliente e que será a base para o desenvolvimento inicial do projeto.
e. A técnica para coleta de dados de usuários de um produto, serviço ou sistema para identificação de problemas, a partir de observações apresentadas pelos usuários.

2. A empresa Ragnar está criando um novo serviço online de venda de camisetas personalizadas com personagens de séries e deseja realizar a divulgação em seu canal online.

Identifique qual das técnicas a seguir é mais indicada para entendimento inicial da demanda.

  1. Briefing.
  2. Questionário.
  3. Entrevista.
  4. Brainstorming.
  5. Etnografia.

Atenção

Selecione uma alternativa.

Parabéns! Resposta correta.

O briefing é a técnica mais indicada para entendimento inicial da demanda.

Ops! Tente novamente.

Lembre-se de que esta técnica coleta dados ou informações iniciais, junto ao cliente.

Resposta incorreta.
A resposta correta está representada na alternativa a.

O briefing é a técnica mais indicada para entendimento inicial da demanda.

3. Conforme já estudamos, brainstorming é uma técnica utilizada para explorar a capacidade criativa das pessoas, estimulando-as, com o objetivo de gerar ideias para a solução de um problema. Considere as etapas abaixo:

I. Apresentar o problema ao grupo antes do brainstorming.

II. Anotar as soluções em um local visível.

III. Selecionar as ideias.

IV. Escolher a ideia principal para ser desenvolvida pela equipe.

Identifique a alternativa correta:

  1. Somente a I é correta.
  2. I, III e IV são corretas.
  3. Somente a II é correta.
  4. I, II, III e IV são corretas.
  5. I, II e IV estão incorretas.

Atenção

Selecione uma alternativa.

Parabéns! Resposta correta.

Todas as etapas do brainstorming estão corretas.

Ops! Tente novamente.

Lembre-se de que esta técnica é utilizada para levantar sugestões e ideias, a fim de solucionar problemas no desenvolvimento de produtos e serviços.

Resposta incorreta.
A resposta correta está representada na alternativa d.

A resposta correta é a alternativa d. Todas as etapas do brainstorming estão corretas.

Atenção

Selecione todas as alternativas.

Parabéns! Respostas corretas.

Você fez a correspondência correta das técnicas que são aplicadas para facilitar e determinar quais serão as condições que o produto final deverá contemplar.

Ops! Tente novamente.

Retorne ao conteúdo e estude com atenção as 7 técnicas de levantamento de requisitos que podem ser aplicadas para determinar as características de um produto ou serviço.

Respostas incorretas.

As respostas corretas são:

a. Questionário

b. Prototipagem

c. Brainstorm

d. Briefing

e. Entrevista

Examine a correspondência correta das técnicas que são aplicadas para facilitar e determinar quais serão as condições que o produto final deverá contemplar.

Neste desafio...

Codificação Back-End | Desafio 1

Ilustração de uma personagem sem gênero nem raça definidos de pele azul subindo uma escada. A escada possui grafismos de com engrenagens e fios conectores, e elementos remetendo a elementos de rede de Internet, nas cores branco as, azuis azul e amarelo. A personagem tem pele azul, cabelos pretos, veste camiseta branca, calça azul escuro e sapatos magenta. No topo da escada há um letreiro com a palavra está escrito “sucesso”.

Neste desafio, você conheceu técnicas de levantamento de requisitos para compreender a demanda do cliente, explorar e coletar as informações necessárias para o desenvolvimento de sistemas online.

No próximo desafio...

Você conhecerá metodologias ágeis que auxiliam no desenvolvimento de projetos de sistemas online.

Orientações de Navegação

Veja abaixo as orientações de como navegar pelo curso.

No topo da página é exibido o nome da unidade curricular.

Indicador de progresso da aula.

Acesso aos principais recursos da página.

Direciona ao início do curso, bem antes do primeiro desafio.

Menu com a relação das seções da unidade curricular.

Exibe as orientações de navegação.

Aumenta ou diminui o tamanho da fonte.

Exibe a tela de glossário da unidade.

Ajusta o contraste da tela.

Exibe a tela de créditos do curso.

Orientações para os exercícios:

Os exercícios contidos nos desafios do curso não fazem parte da composição da nota.
Para refazer os exercícios, atualize a página clicando no ícone         , localizado ao lado da barra de endereço do navegador, ou pressione a tecla F5.

Título da seção

Buscar outra seção dentro do desafio

Glossáriospellcheck

Créditos

CONFEDERAÇÃO NACIONAL DA INDÚSTRIA – CNI


Robson Braga de Andrade

Presidente

DIRETORIA DE EDUCAÇÃO E TECNOLOGIA – DIRET


Rafael Esmeraldo Lucchesi Ramacciotti

Diretor de Educação e Tecnologia

SERVIÇO NACIONAL DE APRENDIZAGEM INDUSTRIAL – SENAI – CONSELHO NACIONAL


Robson Braga de Andrade

Presidente

SENAI – DEPARTAMENTO NACIONAL


Rafael Esmeraldo Lucchesi Ramacciotti

Diretor-Geral

Gustavo Leal Sales Filho

Diretor de Operações

SENAI – DEPARTAMENTO NACIONAL

UNIDADE DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA – UNIEP

Felipe Esteves Morgado

Gerente Executivo

Luiz Eduardo Leão

Gerente de Tecnologias Educacionais

Anna Christina Theodora Aun de Azevedo Nascimento

Adriana Barufaldi

Bianca Starling Rosauro de Almeida

Laise Caldeira Pedroso

Coordenação Geral de Desenvolvimento dos Recursos Didáticos Nacionais

Senai - Departamento Regional de São Paulo


Ricardo Figueiredo Terra

Diretor Regional

Cassia Regina Souza da Cruz

Gerente de Educação

Izabel Rego de Andrade

Supervisora do Centro SENAI de Tecnologias Educacionais

Claudia Baroni Savini Ferreira

Coordenação do Desenvolvimento do Curso

Vitoria Stefany Bessera Pinho

Elaboração de Conteúdo

Adilson Moreira Damasceno

Orientador de Práticas de Educação a Distância

Paula Cristina Bataglia Buratini​

Coordenação da Produção do Curso

Cristina Yurie Takahashi​

Juliana de Souza​

Katya Martinez Almeida​

Design Educacional

Cleriston Ribeiro de Azevedo​

Fabiano José Moura​

Juliana Rumi Fujishima

Ilustrações

Camila Ciarini Dias

Produção e Edição de Vídeos

Aldo Toma Junior

Web Designer

Rafael Santiago Apolinário

Programação

Aviso

Parece que você já iniciou o curso, você pode: