Stela Laboratório de Inovação III Aulas Aula 10

Aula 10 Situação-problema Unidade 3

Como tirar o projeto do papel?

Implantar o negócio começa por implantar o sistema: planejamento, banco de dados e roteiro até o ar.

Objetivo do dia

Transformar o canvas em backlog, modelar o banco de dados e montar o roteiro de implementação do sistema do grupo.

Antes da aula

Pesquisar como se formaliza uma empresa de tecnologia e trazer o canvas e o planejamento do grupo à mão.

Como conta ponto

Participação na atividade. É a base de tudo o que vem até a apresentação final.

R1 · roteiro

Como vai ser o encontro

Vocês já têm canvas, termo de abertura, cronograma e relatório. Agora o projeto vira sistema de verdade.

  1. Feedback das entregas do 1º bimestre

    R1

    A devolutiva da professora sobre o que foi entregue no Loop e no README.md. Anotem o que ajustar.

  2. Do canvas ao backlog

    R2

    Cada bloco do canvas vira requisito, e cada requisito vira tarefa no GitHub.

  3. Modelagem do banco de dados

    R3

    Entidades, atributos e relacionamentos, e o primeiro script SQL do projeto.

  4. Roteiro de implementação

    R4

    O que fica pronto em cada semana até a apresentação final.

C1–C4 · conceitos

Quatro peças para tirar o projeto do papel

C1

Do canvas ao backlog

O canvas diz o que o negócio faz. O backlog diz o que o sistema precisa ter para isso acontecer.

Escreva cada necessidade como uma história de usuário: "Como [quem], quero [o quê] para [por quê]". Cada história vira uma issue no repositório do grupo, com responsável e prazo.

No canvasNo sistema
Segmentos de clientescadastro e login de clientes
Proposta de valoras funcionalidades principais
Canaissite, app, notificações
Fontes de receitapedidos, planos, pagamentos
Atividades-chavetelas de gestão para a equipe
C2

Modelando o banco de dados

Antes de criar tabelas, descubra as entidades do negócio (cliente, produto, pedido…), os atributos de cada uma (nome, preço, data…) e como elas se relacionam.

Um cliente faz vários pedidos, mas cada pedido é de um cliente só: isso é um relacionamento um para muitos, e vira uma chave estrangeira.

Dica: desenhem o modelo no Whiteboard antes de escrever o SQL. Mudar um desenho custa um minuto; mudar um banco com dados custa uma noite.

modelo.txt
1CLIENTE            PEDIDO2id (PK)  ──1───N──  id (PK)3nome                cliente_id (FK)4email               valor5                    criado_em67// um cliente, vários pedidos
C3

Do modelo ao SQL

Cada entidade vira uma tabela com CREATE TABLE. A chave primária (PRIMARY KEY) identifica cada linha. A chave estrangeira (FOREIGN KEY) liga uma tabela à outra.

Guardem tudo num arquivo banco.sql no repositório do grupo: assim qualquer pessoa da equipe recria o banco igualzinho, no XAMPP ou em qualquer MySQL.

Cuidado: crie primeiro a tabela que é referenciada (cliente) e depois a que referencia (pedido). Na ordem contrária, o MySQL reclama.

banco.sql
1CREATE TABLE cliente (2  id    INT AUTO_INCREMENT PRIMARY KEY,3  nome  VARCHAR(100) NOT NULL,4  email VARCHAR(120) UNIQUE5);67CREATE TABLE pedido (8  id         INT AUTO_INCREMENT PRIMARY KEY,9  cliente_id INT NOT NULL,10  valor      DECIMAL(10, 2),11  criado_em  DATETIME12             DEFAULT CURRENT_TIMESTAMP,13  FOREIGN KEY (cliente_id)14    REFERENCES cliente(id)15);
C4

Desenvolver e implantar

Com o banco pronto, o sistema ganha corpo com o que vocês estão vendo na Web II: PHP conversando com o MySQL para cadastrar, listar, alterar e apagar dados (o famoso CRUD).

Implantar é fazer o sistema funcionar fora do computador de quem programou: ambiente configurado, banco criado pelo banco.sql, dados de teste e um README que explica como rodar.

E o empreendimento? Formalização, equipe, capital e lançamento continuam no plano de negócio. O sistema funcionando é a prova de que a ideia para em pé.

EtapaPergunta que o grupo responde
Planejarquais histórias entram primeiro?
Modelarquais tabelas e relacionamentos?
Desenvolverquem faz qual tela e qual CRUD?
Testarfunciona com dados de verdade?
Implantaroutra pessoa consegue rodar?
EC1 · estudo de caso

A planilha que virou banco de dados

Uma loja de bolos fictícia controlava encomendas numa planilha compartilhada. Com 300 clientes, começaram os problemas: duas pessoas editando ao mesmo tempo, o mesmo cliente cadastrado três vezes com nomes diferentes e pedidos sem dono.

A dona decidiu levar tudo para um sistema com banco de dados: cada cliente uma vez só, cada pedido ligado a um cliente.

Para discutir em grupo

  1. Que tabelas o banco da loja precisa? Qual é a chave de cada uma?
  2. Como a chave estrangeira impede um pedido sem cliente?
  3. Que problema da planilha de vocês o banco de dados resolve?

Caso fictício, criado para a aula.

A1 · atividade

Mão na massa: o roteiro de implementação do grupo

Em grupo, no Loop e no repositório do projeto. Vão marcando os passos: o que vocês marcarem fica salvo neste navegador.

0 de 9
S1 · conexão STEAM

Um projeto, várias áreas

E

Engenharia

O modelo do banco é a planta do sistema: ninguém levanta parede antes de desenhar a casa.

M

Matemática

Tabelas e relacionamentos vêm da teoria dos conjuntos. E os pedidos guardados no banco viram, nas aulas 13 a 15, o fluxo de caixa da planilha.

A

Arte

Nome, marca e telas também fazem parte da implantação. O cliente compra com os olhos primeiro.

D1 · desafio extra

Terminou antes? Tem mais.

Escrevam a consulta SQL que mostra o total vendido por cliente, do maior para o menor (dica: JOIN, SUM, GROUP BY e ORDER BY). Esse número vai direto para a análise financeira.

J1 · materiais

Para estudar e praticar

E1 · entrega

Roteiro no Loop e banco.sql no repositório

Até o fim da aula. Na próxima aula, o plano de negócio ganha a pesquisa de mercado.