Code Makers

Fazer download em docx, pdf ou txt
Fazer download em docx, pdf ou txt
Você está na página 1de 20

CodeMakers

Aplicação do Modelo de Desenvolvimento Cascata

Junior’s Pizzaria

Nome da Empresa de Desenvolvimento de Software: CodeMakers

Professora Mestra: Edina Amelia Alves

Nome da empresa: CodeMakers

Profissionais:

Amanda Campos de Souza - Progamadora

Cibelly Bressan de Mello – Arquiteta de Software

Guilherme Aliberti Kirsten – Gerente de Projetos

Turma: 1°DSA
Sumário
Profissionais........................................................................................................4

Sobre Nós........................................................................................................... 5

O que é o Modelo Cascata?................................................................................6

Quando Surgiu?.................................................................................................. 7

Etapas................................................................................................................. 8

Levantamento de Requisitos...........................................................................8

Planejamento...................................................................................................8

Desenvolvimento e Implantação......................................................................9

Testes............................................................................................................10

Implantação e Manutenção...........................................................................10

Apresentação do Cliente...................................................................................11

Regras de Negócio............................................................................................12

Problemas Encontrados....................................................................................13

Início do Desenvolvimento................................................................................14

Levantamento de Requisitos.........................................................................14

Análise de Requisitos....................................................................................16
Cibelly faltou nas aulas de 9/10/2023 e 16/10/2023
Profissionais

Amanda – Programadora: Um programador é um profissional que


escreve código de computador para criar software, aplicativos e sistemas de
software. O trabalho de um programador é converter as especificações do
projeto, requisitos do cliente ou ideias em código de computador que possa ser
executado em um computador ou em outro dispositivo. Os programadores
usam linguagens de programação, como C++, Java, Python, JavaScript, entre
outras, para escrever o código que forma a base do software. O cargo foi
escolhido para a profissional pela facilidade da mesma de codificar.

Cibelly – Arquiteta de Software: Um arquiteto de software é um


profissional responsável por projetar a estrutura e a organização de sistemas
de software complexos. O arquiteto de software é responsável por tomar
decisões de alto nível relacionadas à arquitetura do software, incluindo a
definição de padrões, tecnologias, estruturas e componentes que serão usados
no desenvolvimento do sistema. Novamente, o cargo foi escolhido pela
facilidade da profissional de tomar decisões importantes para o projeto.

Guilherme Aliberti – Gerente de Projetos: Um gerente de projetos é um


profissional responsável por liderar e coordenar as atividades de um projeto,
garantindo que ele seja concluído dentro do prazo, do orçamento e dos
requisitos definidos. O gerente de projetos é responsável por garantir que o
projeto seja executado com eficiência e eficácia, gerenciando os recursos
disponíveis, identificando e gerenciando riscos, e comunicando-se com todas
as partes interessadas envolvidas no projeto. O cargo foi resignado para o
profissional pela ótima capacidade de liderança e de resignar tarefas para seus
colegas de trabalho.
Sobre Nós

A CodeMakers é uma empresa de desenvolvimento de Software


totalmente independente, fundada em 2022 quando a sua equipe fez o TCC do
Ensino Médio na ETEC Jd. Angela juntos, e pelo fato dos integrantes terem um
ótimo entrosamento enquanto trabalham, decidiram juntos criar e fundar a
CodeMakers.
O que é o Modelo Cascata?

Para desenvolver softwares em equipe de forma organizada é preciso


seguir uma série de práticas e passos bem definidos, que são os processos de
software. Um desses processos é o modelo cascata, que apesar de estar
sendo menos utilizado, ainda é aplicado em algumas empresas. Mesmo assim
é importante que os programadores conheçam o funcionamento desse modelo
para entender quais são suas limitações e as alternativas disponíveis.

O modelo cascata, também conhecido como waterfall, é utilizado


principalmente quando os requisitos de um determinado problema são bem
compreendidos. Podemos utilizar o modelo cascata quando um software
necessita de uma nova funcionalidade e os requisitos estão bem definidos e
são estáveis.

Outra forma de utilizar esse modelo é quando precisamos fazer


adaptações ou aperfeiçoamentos em um sistema já existente. Um exemplo
seria quando temos um sistema já pronto e precisamos adaptá-lo porque
alguma lei governamental foi criada ou alterada.

Também podemos utilizar o modelo cascata quando um software


necessita de uma nova funcionalidade e os requisitos estão bem definidos e
são estáveis.
Quando Surgiu?

A metodologia de desenvolvimento de software cascata (ou waterfall)


surgiu em meados dos anos 70 como uma forma de otimizar a gestão desse
tipo de projeto. Baseia-se em uma hierarquia rígida de etapas sequenciais, com
um controle fixo das funções. Essa estratégia surgiu como uma forma de lidar
com os problemas na criação de softwares e gerar maior capacidade de
previsão.

Inicialmente, o modelo cascata foi proposto como uma maneira de


melhorar a previsibilidade dos projetos. Como ele é fincado em planejamento e
em extensa documentação, gera uma capacidade preditiva maior sobre tempo
e orçamento para as empresas.
Etapas

Levantamento de Requisitos

Esse momento envolve uma entrevista com o cliente para entender


exatamente do que se trata o software. Ou seja, compreende-se a proposta do
projeto e os problemas que devem ser atendidos. Os pontos principais são
transformados em funcionalidades a serem implementadas, de fato, e definem
as expectativas do cliente com relação ao produto.

Os requisitos são fundamentais, pois definem o que chamamos de


escopo do projeto. Em outras palavras, é o que limita o sistema para as
necessidades que ele deve solucionar especificamente. Portanto, determina o
que deve ser resolvido e o que deve ser ignorado.

Planejamento

Uma vez que já se tem o escopo e os requisitos, é preciso planejar o


projeto propriamente dito e começar a desenvolver a documentação.
Escolhem-se os pontos principais, como as linguagens de programação
utilizadas, a divisão de papéis, o orçamento, os prazos para cada etapa e
outros. Além disso, há outros processos que são compreendidos nessa fase
como, por exemplo, a estruturação de dados, a arquitetura de software e a
caracterização das interfaces. É neste momento em que há a verificação de
requisitos capazes de viabilizar a codificação de um produto.
Desenvolvimento e Implantação

Nessa etapa, as pessoas programadoras codificam o software de acordo


com os requisitos e as especificações do projeto. A duração dessa fase
depende da quantidade de pessoas no time e também da complexidade e
quantidade de funcionalidades do sistema.

De início, o ideal é que seja realizado um teste unitário com cada módulo
que será desenvolvido nesta etapa. Em situações assim, as unidades de
código que forem criadas nesse processo precisarão ser colocadas sob teste
individual antes que progridam para um momento de integração, bem como
teste global.

Por mais complexa que pareça a fase de desenvolvimento no método


cascata, ela depende fortemente das fases que a precedem. Assim, se você
fez um bom levantamento de requisitos, se definiu muito bem o seu escopo e
se tem modelos claros e intuitivos, o processo de codificação seguirá bem.
Testes

Existe também uma etapa específica para garantir a consistência do


sistema implementado: os testes. Nesse momento, o sistema é executado com
combinações diversas para assegurar sua robustez e encontrar erros. A
metodologia de teste pode variar a depender do que sua equipe preferir, mas
geralmente passa por essas questões.

A jornada de testes deve sempre olhar para os requisitos e para os


documentos referentes ao escopo como um roteiro. Com eles, define-se o que
analisar e como validar um produto.

Dentro dessa etapa, há dois focos extremamente importantes:

 As lógicas internas de um software;


 As funcionalidades externas que serão apresentadas com a finalização
do projeto.

Dessa maneira, haverá como assegurar que as entradas que foram


previamente definidas consigam produzir resultados suficientes e que se
encaixam nos requisitos pré-determinados.

Implantação e Manutenção

Uma vez que o sistema já está pronto para ser entregue e o prazo já foi
cumprido, é preciso implantá-lo no ambiente de uso. Isso inclui a distribuição e
as manutenções posteriores para atualizações e reparações.

É nessa etapa que o ciclo de vida de qualquer solução será verificada,


garantindo que o resultado final seja entregue de maneira polida e com a
menor quantidade de erros possível. Todas as melhorias que vierem a seguir
poderão ser vistas como uma parte de seu processo de desenvolvimento.
Geralmente, nesse momento, é preciso reforçar o suporte ao cliente na sua
adaptação ao software.
Apresentação do Cliente

Uma pizzaria chamada “Junior’s Pizzaria” entrou em contato com a


nossa empresa por meio do seu dono, chamado William A. Silva. O motivo do
seu contato se dá pelo fato do filho do dono da pizzaria dizer que eles
precisavam “acompanhar as tecnologias atuais” e “deixar de ser tão antiquado”,
já que o único modo de entrar em contato com a pizzaria era por meio do
telefone fixo da pizzaria ou indo fisicamente até a pizzaria para realizar um
pedido, o que também atrapalhava nas formas de comunicação com o cliente.
Outro fato que atrapalha as vendas e a vida dos funcionários da pizzaria é o
fator do pagamento, que só aceita pagamentos via dinheiro ou cartões de
débito ou crédito, sendo que o ideal que o próprio dono planejava era aceitar
também os cartões refeição e também pagamentos via pix.
Regras de Negócio
#Regra Definição da regra de negócio
1 O estabelecimento é uma pizzaria, ele oferece os serviços de
venda e entrega de pizzas e refrigerantes.
2 Os clientes terão as opções de fazer o pedido por ligação ou
diretamente no estabelecimento.
3 As entregas do produto terão os seguintes meios de serem
completadas por escolha do cliente: pedido e entrega por
delivery, pedido por meio online e retirada no local, pedido e
retirada no local ou pedido no local e entrega por delivery.
4 A prioridade de atendimento é por ordem de realização do
pedido e em segundo critério, complexidade de preparação. Por
exemplo: se dois pedidos são realizados no mesmo horário, a
prioridade vai para o pedido com mais dificuldade de ser feito,
pois demorará mais para ser completado.
5 Caso o cliente não esteja presente na entrega, o
estabelecimento não tem a obrigação de contatá-lo e o pedido
voltará para a pizzaria.
6 As formas de pagamento aceitas são apenas dinheiro e cartão
de débito e crédito.
Problemas Encontrados

 Falta de um cardápio digital;

 Formas de contato muito “rudimentares”;

 Formas de pagamentos muito limitados;

 Falta de forma de comunicação com o cliente caso algo saia de errado


ou falta de informações no pedido;
Início do Desenvolvimento

Etapa 1: Levantamento de Requisitos

Para levantar os requisitos necessários para realizar o sistema, nossa


equipe teve uma reunião com a equipe da Junior's Pizzaria e com os
advogados do dono para assim passarmos para a próxima fase do projeto,
tudo isso, no dia 23 de Outubro de 2023.

Nessa reunião, nossa equipe achou ideal a utilização da técnica de


"Levantamento Orientado a Ponto de Vista", onde analisamos todos os pedidos
da equipe da pizzaria. Nós também analisamos as regras de negócio e as
estratégias que o dono gostaria de aplicar no seu empreendimento e demos
sugestões condizentes com as informações que nos foram dadas.

Após essa conversa, nós decidimos passar todas as ideias por um


processo de filtragem, onde nós retiramos todas as ideias que pareciam
estarem "duplicadas" por serem muito parecidas e outras que o próprio dono e
sua equipe não achavam necessário para o seu sistema.

Os requisitos passados para o projeto final, que entraram para o sistema da


Junior's Pizzaria foram os seguintes:

 Incluir uma tela de cadastro, login e consulta para clientes e


funcionários;
 Incluir uma tela de cadastro e consulta de produtos e acompanhamento
e consulta de estoque;
 Incluir uma tela de agendamento e consulta e controle de pedidos;
 Incluir uma tela de controle e consulta de contas a pagar e contas a
receber (apenas acessível por administradores);
 Ter cardápio digital com todos os sabores de pizzas, bordas e bebidas;
 Poder dividir a pizza em até 4 sabores;
 Pagar o valor mais alto de sabor caso peça mais de um sabor em uma
mesma pizza;
 Ter taxa de entrega baseada em CEP;
 Melhorar as formas de pagamento (agora aceitando cartões, vales, pix e
dinheiro);
 Ter telefone da pizzaria para contato no final do pedido;
 Acompanhar o pedido pelo próprio sistema;
 Acessar o sistema e fazer um pedido sem fazer cadastro em um modo
visitante, mas sem acesso às promoções e outros que apenas os
clientes cadastrados têm acesso;
 Cadastrar até 4 sabores favoritos, recebendo notificações ou email de
descontos daquele(s) sabor(es) especifico(s);
 Possuir cartão fidelidade, onde a cada 10 pedidos feitos por uma mesma
conta, o cliente ganha uma pizza de graça de um dos seus sabores
favoritos cadastrados;
 Ganhar 1 refrigerante da escolha do cliente, caso peça 3 pizzas em um
único pedido;
 Receber desconto caso o pedido ultrapasse o número de 5 pizzas;
 Incluir uma aba para o carrinho;
 Possuir página de histórico de pedidos;
 Adicionar página de meu perfil;
 Criar desconto de primeiro pedido após o cadastro ser realizado;
 Criar tela de cadastro e consulta de preço.

Por fim, falando da prototipação, que será realizada, ela está sendo feita de
duas maneiras, para a parte da idealização do projeto, nossa equipe está
usando o Quant-UX, mas para o projeto final, nossa Arquiteta de Software e
nossa Programadora estão utilizando o Visual Studio Code, onde elas utilizam
códigos HTML e CSS.
Etapa 2: Análise de Requisitos

RF01 – O software deverá ter tela de login e senha para acesso, para os
clientes;

RF02 – Este cadastro deverá possuir uma tela de consulta, que é


acessado através do número de telefone;

RF03 – O software deverá ter tela de login e senha para acesso para os
administradores (dono e sua equipe);

RF04 – Este cadastro deverá possuir uma tela de consulta, que é


acessado através do código do funcionário;

RF05 – O software deve ter incluído um cardápio digital com todos os


sabores disponíveis de pizzas, bordas recheadas e bebidas;

RF06 – O software deverá ter uma opção de dividir a pizza em até 4


sabores;

RF07 – O software deve sempre cobrar o valor mais alto de sabor caso
a pizza tenha 2 ou mais sabores;

RF08 – O software deverá associar o CEP para calcular a taxa de


entrega;

RF09 – O software deverá incluir as formas mais normalmente utilizadas


no mercado;

RF10 – O software deverá possuir contato da pizzaria em todas as telas;

RF11 – O software deve ter um acompanhamento do pedido;

RF12 – O software deve ter uma opção de se entrar como visitante;

RF13 – O software deverá ter uma tela de “Meu Perfil”;

RF14 – Dentro da tela “Meu Perfil”, o software deverá ter uma aba para
favoritar seus “sabores favoritos”;

RF15 – Dentro do cadastro de clientes, o software deverá pedir


autorização para enviar e-mails e notificações para o cliente;
RF16 – O software deverá incluir um sistema de cartão fidelidade,
entregando uma pizza gratuita para o cliente a cada 10 pedidos realizados;

RF17 – O software deve incluir uma promoção onde se o cliente realizar


um pedido de 3 pizzas ou mais, ganhará um refrigerante de cortesia;

RF18 – O software deverá incluir um sistema de promoção onde se o


cliente realizar um pedido de 5 pizzas ou mais, ganhará desconto em uma
delas;

RF19 – O software deverá possuir uma tela para o carrinho e o histórico


de pedidos do cliente;

RF20 – O software deverá ter um desconto de primeiro pedido para os


clientes após realizarem seu cadastro;

RF21 – O software deverá ter um sistema apenas acessado pela equipe


da pizzaria;

RF22 – Dentro do sistema acessado apenas pelos funcionários, deverá


ter uma tela para monitorar e administrar as contas que os mesmos precisam
pagar;

RF23 – Este cadastro deverá possuir uma tela de consulta, que é


acessado por filtros de datas de expiração;

RF24 – Dentro do sistema acessado apenas pelos funcionários, deverá


ter uma tela para monitorar e administrar as contas que os mesmos recebem;

RF25 – Este cadastro deverá possuir uma tela de consulta, que é


acessado por filtros de datas de expiração;

RF26 – O software de funcionários deverá ter uma tela de cadastro de


produtos;

RF27 – Este cadastro deverá possuir uma tela de consulta, que é


acessado através do código do produto;

RF28 – O software de funcionários deverá ter uma tela de


acompanhamento de estoque;
RF29 – Este cadastro deverá possuir uma tela de consulta, que é
acessado por código de ingrediente;

RF30 – O software de funcionários deverá ter uma tela de agenda da


pizzaria;

RF31 – Este cadastro deverá possuir uma tela de consulta, que é


acessado por filtros de pedido;

RF32 – O software de funcionários deverá ter uma tela de controle de


pedidos.

RF33 – Este cadastro deverá possuir uma tela de consulta que será
acessado via código de pedido ou horário do mesmo;

RF34 –O software de funcionários deverá ter uma tela de cadastro de


preços;

RF35 – Este cadastro deverá possuir uma tela de consulta, que é


acessado pelo código do sabor.
Etapa 3: Projeto

Entidades e Atributos:

Login (log_id, log_email, log_senha)

Pizzaria (piz_id,

Administrador (adm_id, adm_nome, adm_CPF, adm_sexo,


adm_currículo, adm_CEP, adm_rua, adm_bairro, adm_cidade, adm_estado,
teladm_id*)

Telefone Administrador (teladm_id, teladm_tel1, teladm_tel2)

Cliente (cli_id, cli_nome, cli_CPF, telcli_id*, endcli_id*, sf_id*, cf_id*)

Telefone Cliente (telcli_id, telcli_tel1, telcli_tel2)

Endereço Cliente (endcli_id, endcli_CEP, endcli_rua, endcli_bairro,


endcli_cidade, endcli_estado, ent_id*)

Produtos (prod_id, prod_nome, prod_dispo, prod_ est_id*

Estoques (est_id,

Agendamento (agen_id,

Contas à Pagar (cap_id,

Contas à Receber (car_id,

Sabor Favorito (sf_id,

Cartão Fidelidade (cf_id,

Carrinho (carrin_id,

Desconto (des_id,

Entrega (ent_id,

Pedidos (pedi_id,

Histórico de Pedidos (hp_id,


Relacionamentos:

Administrador  Pizzaria

Cliente  Pizzaria

Produtos  Pizzaria

Estoques  Pizzaria

Agendamento  Pizzaria

Contas à Pagar  Pizzaria

Contas à Receber  Pizzaria

Telefone Administrador  Administrador

Telefone Cliente  Cliente

Endereço Cliente  Cliente

Sabor Favorito  Cliente

Cartão Fidelidade  Cliente

Carrinho  Cliente

Entrega  Endereço Cliente

Estoques  Produtos

Você também pode gostar