Requisitos Ágeis em Engenharia de Software
Requisitos Ágeis em Engenharia de Software
de Software I.
Material Teórico
Material Complementar
DESAFIO
Situação-Problema 1
Situação-Problema 2
Situação-Problema 3
Problema em Foco
ATIVIDADE
Atividade de Entrega
1/8
Material Teórico
Olá, estudante!
Vamos iniciar a disciplina abordando os conceitos necessários para que você possa realizar a
atividade através de cada situação-problema mais à frente.
Introdução
A ideia do desenvolvimento deste conteúdo didático é fazer com que você possa se recordar do que
você já aprendeu de forma a mantê-lo(a) focado no desafio e ter praticamente tudo do precisa para
desenvolvê-lo num lugar só.
Você também encontrará leituras e material complementares que, sinceramente te alerto, serão
essenciais no aprofundamento e desenvolvimento desse desafio. Muitas pessoas e discentes
comentam que muitos RH de empresas pedem experiência aos candidatos. Com certeza, é bastante
estranho pedir por algo dessa natureza a quem está tentando entrar, ou desenvolver, uma carreira.
Porém, com esses desafios você tem a oportunidade de mostrar que desenvolveu seu aprendizado
e que está pronto para qualquer desafio de seleção de pessoas para concorrer de igual para igual
com qualquer outro candidato.
Requisitos Ágeis
Primeiramente, algumas constatações. Muitas vezes, no início de minha carreira vi projetos com
dificuldades porque seus requisitos eram mal elaborados, muitas vezes sem sentido, e eu me sentia
um completo inútil. Eu olhava para os “requisitos” e eles não eram nada mais do que um quadro com
uma infinidade de notas e postites. Eu era desenvolvedor e tinha muitas dúvidas e, em geral, todas as
pessoas envolvidas, clientes, usuários, desenvolvedores, analistas de negócios, arquitetos de
solução e inclusive os testadores, não têm um bom entendimento do sistema como um todo e quais
são as várias personas que usam o sistema. Claro que faltava, também creio eu, a todas essas pessoas,
se apropriarem de verdade do conhecimento e dos processos do negócio. Minha sorte foi que, o
tempo e a dedicação sempre trazem frutos, para o bem ou para o mal. No meu caso, foi para o bem!
Então respire fundo e se prepare para pensar e analisar muito em profundidade, pois analistas de
sistemas criados no raso jamais enfrentaram grandes tempestades e ondas avassaladoras, acredite.
Aqui serão apresentadas dicas preciosas para você desenvolver seu trabalho com menos incerteza,
vindas de um “velho marujo”.
Um bom requisito deve dizer a cada membro do público exatamente qual é a funcionalidade
esperada e nunca gerar uma miríade de perguntas de todos os envolvidos. Frequentemente, é difícil
solicitar informações a um cliente, mas documentar para desenvolvedores nunca deve ser tão difícil.
E nesse caso você vai possuir múltiplos “chapéus”; ora será analista de negócios, ora desenvolvedor,
ora etc.
Fluxo de Trabalho;
Wireframes.
Sem nenhuma das seções mencionadas, os requisitos começam a perder valor e sentido. Muitas
vezes, quando sou chamado para dar consultoria, vejo times ágeis e especificações de sistemas
como um “punhado de gente bem-intencionada que não consegue escrever ou muitas vezes ler o
livro que ganharam”. Daí fica realmente difícil construir algo se nem entendemos o português que
está escrito, não é mesmo?! Cada seção de análise traz muito para a mesa e muitas vezes são
julgadas como uma "perda de tempo", porém, quando vamos codificar, fazem toda a diferença.
Olhe só:
Histórias de Usuários
Indica todos os cenários dos usuários envolvidos. O padrão mundial disso é:
Ou seja,
Como GERENTE DE CONTAS A RECEBER, EU QUERO ter uma relação de
devedores por safra (meses vencidos 0d, 60, 90d, 180, 360d), PARA QUE
POSSA encaminhar às empresas de cobrança por seguimento e especialidade
delas.
Por exemplo,
Entendeu o que esperamos de você. Dezenas de cartões de história do usuário completos, claros,
concisos, especificando a ação e o que se espera, incluindo para que serve.
Por favor, pense como um profissional, e você vai pensar, “mas sou aluno”, sim todos nós somos
alunos, incluindo o autor desse material, mas atitude é tudo e é isso que queremos de você. Atitude
positiva e construtiva!
As histórias de usuários são essenciais para definir exatamente quem fará o quê e por quais razões.
Fluxo de Trabalho
Isso deve incluir uma imagem das telas envolvidas (você fará isso na IHC e no protótipo das telas;
riqueza de detalhes é fundamental). Os estados de erro (incluindo as telas de mensagem de erros) e
as alterações de visualização com base na função devem ser documentados. Aqui, uma imagem vale
mais que mil palavras, pois os detalhes do fluxo através do recurso podem ser bastante complexos,
e é difícil explicar os detalhes na próxima seção (aqui, visão é tudo, me desculpem os sinestésicos e
auditivos).
Segue uma lista de alguns para você usar na construção de sua aplicação. Eles ajudarão a explicar o
sistema através de fluxos e vão apoiar no desenvolvimento. Suas versões demo vão permitir que
você utilize pelo tempo desse desafio, tranquilamente, portanto, não “durma no ponto”. São todos
amigáveis e não precisam de curso para usar. Use e abuse:
Gliffy Creately Lucidchart Canva Diagrams
Casos de Uso
No início de um projeto, você precisa de vários dias para elicitar e, por que não, prever os requisitos
de alto nível e entender o escopo, nesse caso, é o que você acha que o sistema deve fazer.
Seu objetivo é ter uma ideia do que é o projeto, não documentar em detalhes a operacionalidade do
sistema.
A documentação pode vir mais tarde, se você realmente precisar dela. Para seu modelo de
requisitos inicial, minha experiência é que você precisa de alguma forma de:
Modelo de uso: permite que você explore como os usuários trabalharão com seu
sistema. Pode ser uma coleção de casos de uso essenciais ou uma coleção de histórias
de usuário;
Minha experiência é que você precisa de artefatos de requisitos que sejam bons o suficiente para lhe
dar esse entendimento e nada mais, portanto, pense simples, porém direto.
2 O sistema verifica se o aluno está qualificado para se inscrever no curso. Se não for
elegível, o aluno será informado e o caso de uso será encerrado;
5 O sistema valida se o aluno está qualificado para se inscrever naquela disciplina (pode
haver disciplinas anteriores como pré-requisito). Se não for elegível, o aluno é
convidado a escolher outra disciplina;
6 O sistema valida se a disciplina se encaixa na trilha de aprendizagem do aluno;
7 O sistema calcula e exibe as taxas para que o aluno pague por aquela disciplina;
A descrição acima contém informações suficientes para você entender o que o caso de uso escrito
faz e, na verdade, pode conter informações demais para este ponto do ciclo de vida, já que apenas o
nome do caso de uso pode ser suficiente para que o time de desenvolvimento ou outra parte
interessada entenda os fundamentos do que se pede.
Porém, podemos detalhar isso, num caso de uso mais aprofundado, a que chamaremos de caso de
uso expandido.
Identificador: #C 49
Descrição: Inscrever um aluno existente em uma disciplina existente desde que ele seja elegível.
2 O aluno insere seu nome e RGM no sistema por meio da TELA101 - TELA DE LOGIN;
5 O aluno indica a disciplina em que deseja se inscrever. <Curso Alternativo Beta: O aluno
decide não se matricular>;
8 O sistema calcula as taxas da disciplina com base nas taxas publicadas no catálogo das
disciplinas, os descontos de estudante aplicáveis e os impostos. Aplica as regras de
negócios RN 143 - Calcular Taxas de Alunos, RN 107 - Calcular Descontos para Alunos e
RN59 Calcular Impostos;
13 O sistema informa ao aluno que a inscrição foi bem-sucedida por meio da TELA68 -
Resumo da Matrícula da Disciplina;
14 O sistema emite a fatura/boleto para o aluno pagar pela disciplina, de acordo com a
regra de negócios RN71 - Faturar o aluno pela disciplina;
15 O sistema pergunta ao aluno se ele deseja um extrato impresso da matrícula que será
disponibilizado após confirmação do pagamento;
Alfa3: O algoritmo determina que o aluno não está qualificado para se inscrever na disciplina.
Curso alternativo Beta: O aluno decide não se inscrever em uma disciplina disponível.
Beta5: O aluno visualiza a lista de disciplinas e não encontrou aquela em que ele deseja se inscrever.
Beta6: O caso de uso termina.
Curso alternativo Delta: O aluno não possui os pré-requisitos para alguma disciplina.
Delta6: O algoritmo determina que o aluno não é elegível para se inscrever na disciplina que ele
escolheu.
Delta8: O algoritmo informa ao aluno sobre os pré-requisitos de que ele precisa para se tornar
elegível para aquela disciplina.
Delta9: O caso de uso continua, e é desviado para a linha 4 do curso básico de ação deste mesmo
caso de uso.
Bem, você percebeu como é importante ser analítico, crítico e lógico nessa nossa profissão. A
clareza e declaração sem ambiguidade são fundamentais quando estamos elicitando requisitos e/ou
desenvolvendo casos de uso.
Temos aqui a descrição do mesmo caso de uso totalmente documentado. Este é um exemplo
maravilhoso de um caso de uso bem construído, mas apresenta muito mais detalhes do que você
possivelmente precisa no primeiro momento.
Se você realmente precisa desse nível de detalhe e, na prática, raramente o faz, pode capturá-lo
quando realmente precisar.
Comunicação é tudo e, nesse caso, é preciso feedback com a equipe, porque quanto mais tempo
você passar sem pedir feedback para o cliente/usuário, maior será o perigo de se modelarem coisas
que não refletem o que as partes interessadas realmente precisam.
Dessa forma, na fase inicial do planejamento, use casos de uso simples como o do primeiro exemplo
para completar ou ilustrar os cartões de história do usuário para dar mais clareza.
Nas fases posteriores, declare analiticamente como no segundo exemplo, afinal, fica difícil para um
desenvolvedor saber o que ele tem que fazer sem as regras de negócios ou as telas da interface do
usuário (camada de apresentação) que foram criadas. Por isso vemos tanta coisa sem sentido por aí,
porque deixaram a critério do desenvolvedor algo que não é missão dele fazer. Lembre-se,
[interface do usuário, front end e back end] são grandes atividade que se deve trabalhar seguindo
padrões e metodologias porque uma depende da outra.
Caso você esteja no nível mais inicial possível, ainda pode recorrer ao bom e velho, e sem dúvida
alguma, muito útil, diagrama de caso de uso.
Figura 1 – Diagrama de Caso de Uso macro de uma pizzaria
Recomendo que você crie, inicialmente, todos os diagramas de caso de uso, como o demonstrado
acima, para os cartões de história do usuário como requisitos e verifique se não falta nada, se há
lógica e complementaridade e principalmente se o “bicho tem cabeça tronco e membros”.
Tome cuidado porque há desafios no processo de levantar requisitos e convertê-los em artefatos.
Abaixo listo alguns, mas dê muita atenção a todos eles para não cometer essas faltas.
As partes interessadas do projeto não sabem o que querem (mais comum do que
parece, nesse caso, seja um guia ou “terapeuta”);
As partes interessadas do projeto mudam de ideia (negocie, eles fazem isso por causa
do item anterior, eles vão descobrindo conforme pensam no próprio negócio, coisa que
a rotina não deixa);
As partes interessadas do projeto são incapazes de ver além da situação atual (em
tecnologia, chamamos a isso de paralisia de paradigma, crença limitante ou a popular);
As partes interessadas do projeto têm medo de ser fixadas (é uma questão cultural, às
vezes, é necessário tempo e confiança, afinal, as partes interessadas devem ter
responsabilidades pelo bom andamento do projeto);
Diagrama de Classes
Vamos recordar os diagramas de classes?! Bem, eles mostram as classes do sistema, seus inter-
relacionamentos, incluindo herança, agregação e associação e as operações e atributos das classes.
Eles são usados para uma ampla variedade de propósitos, incluindo modelagem conceitual, de
domínio e modelagem de projeto detalhado.
todo o sistema. Geralmente, é descrito por diagramas de classe ou pacote, normalmente para
mostrar camadas globais (camadas). Por exemplo, em um aplicativo com IU e banco de dados, as
camadas são geralmente definidas horizontalmente da IU para o banco de dados e um caso de uso
as percorre para atingir seu objetivo. Outros padrões de arquitetura como “MVC” (Model-View-
Controller) também podem ser escolhidos como uma arquitetura global. A Figura.4 é um exemplo de
arquitetura desenhada como um diagrama de pacote baseado na arquitetura MVC. Todos na equipe
forma consistente. “Dependências” são frequentemente expressas neste diagrama entre pacotes
funciona. No nível de comunicação humana, o vocabulário desse modelo de domínio deve se tornar
programação, como classes, dados, métodos e outras convenções. Uma grande parte da taxonomia
conceitual (frequentemente chamada de “entidades”) é mapeada em uma estrutura de dados
persistente no banco de dados e geralmente tem uma vida útil mais longa do que o próprio
aplicativo. Normalmente, o modelo de domínio (ou entidades) reside no pacote “M” na arquitetura
lógica se você escolher uma arquitetura “MVC” para sua aplicação. Um diagrama ER é mais adequado
para expressar um modelo de domínio porque está vinculado mais diretamente a bancos de dados
relacionais. Observe também que esse modelo de domínio cresce com o tempo. Como o domínio
Backlog de Produto
Para recordarmos, um backlog de produto é uma lista priorizada de entregas e isso inclui novos
recursos, que devem ser implementados como parte de um projeto ou desenvolvimento de produto
de software. É um artefato de tomada de decisão que ajuda a estimar, refinar e priorizar tudo o que
você pode querer concluir no futuro.
Isso ajuda a garantir que a equipe esteja trabalhando nos recursos mais importantes e valiosos,
corrigindo os bugs mais importantes ou fazendo outro trabalho importante e crítico para o
desenvolvimento do produto.
O backlog, portanto, é extremamente útil em situações em que você não consegue fazer tudo o que
está sendo solicitado, ou em contextos em que mesmo uma pequena quantidade de planejamento
ajudará muito. Muitos pensam nesta “lista” como uma lista de tarefas pendentes e a definem
exatamente dessa forma, como uma lista de coisas que você deve fazer para entregar seu produto
de software ao mercado. Na verdade, não é necessariamente uma lista de tarefas pendentes. Pense
nisso como uma lista de desejos.
Saiba Mais
Como você pode ver, é bom utilizar uma ferramenta para organizar o
backlog do produto. Sugiro aqui que você use o Trello porque é simples,
intuitivo, online, colaborativo e grátis.
Trello
ACESSE
Sprint Backlog
É o conjunto de itens que uma equipe multifuncional de produtos seleciona de seu product backlog
para trabalhar durante o próximo sprint.
Normalmente, a equipe concorda com esses itens durante a sessão de planejamento do sprint. Na
verdade, o backlog do sprint representa a principal saída do planejamento desse.
Se a equipe não for capaz de completar, ou mesmo começar certos itens do sprint backlog até o final
do sprint, a equipe pode escolher adicionar esses trabalhos inacabados ao próximo sprint backlog,
caso eles ainda forem considerados de alta prioridade, ou para o backlog do produto.
De acordo com a estrutura do scrum, toda a equipe ágil, incluindo o scrum master, o product owner e o
time de desenvolvimento, compartilhará a propriedade do sprint backlog. Isso ocorre porque todos
os membros da equipe trarão conhecimentos e percepções exclusivas para o projeto no início de
cada sprint.
Sprint backlogs são geralmente planilhas embutidas, mas também podem ser desenvolvidas e
mantidas em ferramentas de software projetadas para gerenciamento ágil de projetos. Como essas
listas incluem apenas trabalhos que podem ser concluídos em um curto espaço de tempo, a que
chamamos de SPRINT, que dura de 2 a 4 semanas, os backlogs de sprint costumam ser muito simples.
Diagrama de Atividades
Usamos Diagramas de Atividades para ilustrar o fluxo de controle em um sistema e fazer referência
às etapas envolvidas na execução de um caso de uso. Modelamos atividades sequenciais e
concorrentes usando diagramas de atividades. Portanto, basicamente representamos os fluxos de
trabalho visualmente usando um diagrama de atividades. Um diagrama de atividades enfoca a
condição do fluxo e a sequência em que ele acontece. Descrevemos ou representamos o que causa
um determinado evento usando um diagrama de atividades.
Um diagrama de atividades é usado por desenvolvedores para entender o fluxo de programas em
alto nível. Também permite que eles descubram restrições e condições que causam eventos
específicos. Geralmente usamos o diagrama e a documentação textual para tornar a descrição do
nosso sistema o mais clara possível.
TDD E Testes
Testes de Aceitação do Usuário: Eles devem incluir todos os cenários descritos nas histórias de
usuário. Eles não devem ser muito detalhados (eles não precisam mencionar telas específicas ou
uma lista completa de ações para executar as etapas). Devem ler:
Eles definem um conjunto de cenários reais que um testador pode percorrer para garantir que o
recurso está completo.
Esses não são scripts de teste detalhados, pois o objetivo deles é transmitir um conjunto de testes
que todos os envolvidos podem percorrer para entender como o recurso funcionará.
A primeira etapa é adicionar rapidamente um teste, ou seja, um código básico o suficiente para
falhar.
Em seguida, você executa seus testes, frequentemente, o conjunto de testes completo, ainda que,
por uma questão de velocidade, você possa decidir executar apenas um subconjunto, para garantir
que o novo teste de fato falhe.
Depois, você atualiza seu código funcional para que ele passe nos novos testes.
A quarta etapa é executar seus testes novamente. Se eles falharem, você precisará atualizar seu
código funcional e testar novamente.
Depois que os testes forem aprovados, a próxima etapa é começar de novo, aproveite para refatorar
qualquer duplicação de seu código conforme o necessário.
Omni
A versão trial de 15 dias é mais que suficiente para você desenvolver todos
os wireframes do desafio.
ACESSE
Balsamiq
A versão trial de 15 dias é mais que suficiente para você desenvolver todos os
wireframes do desafio.
ACESSE
Visio
Nesse caso, veja no seu pacote de estudante (cada universidade tem o seu) se
está disponível, ou se no site da Microsoft há versões livres para estudantes.
ACESSE
Na pior hipóteses, você pode usar algum software livre do pacote BR Office para Ubuntu, o Microsoft
Paint, ou ainda o Power Point. Caso, por fim, tenha conhecimento, pode fazer direto em HTML5, o que
vai te poupar tempo depois na hora de codificar o front do projeto, já pensando no CSS3 inclusive.
As seguintes leituras são muito importantes para o desenvolvimento dos wireframes e mapas:
ACESSE
ASSISTA
ASSISTA
2/8
Material Complementar
LEITURAS
Orientações básicas na elaboração de um diagrama de classes.
Este artigo orienta o estudante na elaboração de um diagrama de classe, procurando estabelecer, de
forma sintética, os principais pontos para a abstração dos objetos e classes de um cenário específico.
[Link]
Diagrama de Atividades
Ilustra a natureza dinâmica de um sistema pela modelagem do fluxo de controle de atividade à
atividade .
[Link]
Situação-Problema 1
Caro(a), estudante.
Atente-se à situação profissional que você precisará entender para poder realizar a atividade.
Entender o Negócio
Era uma segunda-feira daquelas, trânsito, chuva e frio. Você chegou cedo, todavia, tinha dormido
pouco porque seu smartphone havia tocado às 2h15 com o pessoal de negócios avisando que pela
manhã haveria uma reunião para discutir a implementação de um novo sistema para um cliente que
possui uma loja de cup cakes gourmet e que quer um aplicativo mobile para incrementar suas vendas
pela internet.
Tudo bem, você entra na sala de reunião e vários stakeholders estão presentes, inclusive o cliente,
com cara de poucos amigos, também pudera, na última empresa que ele contratou, os analistas não
souberam elicitar os requisitos, desprezaram a opinião dele e construíram um APP que não
funcionava; as reclamações dos clientes foram tantas que ele simplesmente retirou do ar e, claro,
teve a imagem de sua empresa arranhada. Assim, isso vai demandar uma abordagem extremamente
cautelosa e uma análise minuciosa.
Por isso seu diretor, logo de início, na parte de apresentações, já dispara seu nome como sendo o
analista responsável por levantar os cartões de história dos usuários, transformar em requisitos ágeis
completos e apresentar os produtos para a aprovação do cliente e sua equipe para evoluirmos para
a fase de planejamento do sistema. Isso foi uma exigência do cliente porque como já escrevemos, na
última vez em que ele tentou fazer esse APP, foi uma catástrofe atrás da outra.
ACESSE
A partir do texto e vídeo com as ideias e os comentários sobre o negócio, você deverá
criar os cartões de história do usuário para criar um sistema para uma loja virtual de
cupcakes. Foco na vitrine virtual, pedido eletrônico, pagamento e entrega – (na seção de
atividade de entrega, você encontrará um arquivo que servirá de base para a atividade);
Situação-Problema 2
Atente-se à situação profissional que você precisará entender para poder realizar a atividade.
Diagrama de classes;
Diagrama de sequência;
Situação-Problema 3
Por fim, vamos compreender o último cenário, abordado na terceira situação-problema da disciplina.
Atente-se à situação profissional que você precisará entender para poder realizar a atividade.
Seus colegas acabaram contando sobre seu conhecimento em desenvolver wireframes, mapas
conceituais e mapas de aplicativos web para a diretoria e eles acabaram “ventilando” isso ao cliente
que até o momento vem gostando do seu trabalho. Ele deu sinal verde para que você assuma agora
o compromisso com a entrega de design da interface humano computador. Todos estão confiantes e
agora é o momento de você mostrar sua criatividade aliando usabilidade, acessibilidade e uma
excelente arquitetura de informação.
Mapa conceitual;
Problema em Foco
Temos 3 desafios que são sinérgicos e complementares entre si, portanto, 3 etapas do mesmo
projeto.
A primeira parte é fazer você escrever as histórias do usuário a partir do texto e vídeo indicados
(estão ambos no mesmo link), explore sua criatividade e imaginação. Com certeza, cada aluno criará o
seu e não pode haver projetos iguais.
Os requisitos iniciais nos projetos Ágeis são obtidos nas escritas das User Story (histórias do usuário) e,
consequentemente, as tarefas que serão executadas ou, nesse primeiro momento, conhecidas.
Cada história de usuário carrega consigo uma coleção de tarefas, onde a história descreve a
necessidade do usuário e a tarefa descreve como a funcionalidade será implementada. Como a
tarefa representa o trabalho real, teremos um nível de granularidade muito maior.
A definição das tarefas para cada história ocorre quando alocamos a história na iteração atual (SPRINT
se estivermos falando de SCRUM) e isso é muito bom, pois teremos maior feedback e detalhes para
assim melhor elaborar as tarefas a serem executadas para aquela história.
As tarefas são estimas em horas, é recomendado estimar o tamanho das tarefas entre 2-12 horas,
para tarefas que requerem mais que 12 horas quebre estas em várias tarefas menores que 12 horas.
ID:
Título:
Requerente:
Ação:
Comentários:
Critérios de aceitação:
CA#1...
Regras de negócio:
RN #1...
Pontos de história:
Agrupe as histórias que você escrever por afinidade como você aprendeu.
Figura 4
Veja que se trata de um agrupamento por eixo temático para concentrar cartões de história do
usuário e facilitar a visualização do trabalho a ser feito.
O seu artefato de backlog terá a seguinte aparência e poderá ser feito até mesmo no Excel, se for o
caso.
História do Estimativa em
ID Prioridade
usuário pontos
Isso vai ficar mais ou menos assim:
Figura 5
É apenas um exemplo, há dezenas de histórias de usuários num APP e centenas de tarefas. É delas
que tiraremos as sprints depois.
Já para o segundo desafio, vamos trabalhar a base da UML com os diagramas essenciais.
Para ajudar você a se lembrar, aqui vai um exemplo para sua leitura, reciclagem e exemplo de
elaboração de um diagrama de sequência bem completo, levando em consideração cenários
normais e os cenários alternativos de forma simples.
Primeiramente, você deverá pensar no caso de uso geral do APP de cupcakes, abaixo coloco um
exemplo desse com outro aplicativo para servir de inspiração.
Depois do caso de uso geral, você deverá expandir os casos de uso e descrevê-los como coloquei
na parte teórica desse documento. Lembra do exemplo? Vejamos novamente.
5 O aluno indica a disciplina em que deseja se inscrever; <Curso Alternativo Beta: o aluno
decide não se matricular>
8 O sistema calcula as taxas da disciplina com base nas taxas publicadas no catálogo das
disciplinas, os descontos de estudante aplicáveis e os impostos. Aplica as RN 143 –
calcular taxas de alunos –, 107 – calcular descontos para alunos – e 59 – calcular
impostos;
13 O sistema informa ao aluno que a inscrição foi bem-sucedida por meio da TELA68 –
Resumo da Matrícula da disciplina;
14 O sistema emite a fatura/boleto para o aluno pagar pela disciplina, de acordo com a RN
71 – faturar o aluno pela disciplina;
15 O sistema pergunta ao aluno se ele deseja um extrato impresso da matrícula que será
disponibilizado após confirmação do pagamento;
Curso alternativo Alfa: o aluno não é elegível para se inscrever nas disciplinas.
Alfa3: o algoritmo determina que o aluno não está qualificado para se inscrever nas disciplinas.
Curso alternativo Beta: o aluno decide não se inscrever em uma disciplina disponível.
Beta5: o aluno visualiza a lista de disciplinas e não encontrou aquela à qual ele deseja se
inscrever.
Curso alternativo Delta: o aluno não possui os pré-requisitos para alguma disciplina.
Delta6: o algoritmo determina que o aluno não é elegível para se inscrever na disciplina que
ele escolheu.
Delta8: o algoritmo informa ao aluno sobre os pré-requisitos de que ele precisa para se tornar
elegível para aquela disciplina.
Delta9: o caso de uso continua e é desviado para a linha 4 do curso básico de ação deste
mesmo caso de uso.
Você deverá também fazer um diagrama de classes para persistência do APP dos cupcakes. Abaixo
dou um exemplo que foi utilizado para modelar uma pizzaria express.
O mais importante aqui é que você pense nas classes, organize os atributos e o tipo de dependência,
se agregação, composição etc.
O diagrama de sequência é um elemento essencial no desenvolvimento do APP. Para ajudar você a
se lembrar como faz, coloquei um outro exemplo. A partir dele desenvolva os diagramas para o APP
do cupcake.
Figura 8
Para o terceiro desafio, o importante é criar a interface gráfica do APP dos cupcakes e apresentar
protótipos de média resolução, isso incluirá as telas de mensagens de erro entre outras coisas.
Primeiramente, crie todos os WIREFRAMES de sua aplicação, ou seja, a “cara” do produto de seu
projeto.
A ideia é que você complete todo o arcabouço arquitetônico visual de sua aplicação.
O ideal é que você gere um pdf ou uma apresentação ppt com os wireframes do APP.
Você pode utilizar o [Link] gratuitamente on-line, e criar todos os wireframes. Faça isso para toda a
aplicação, portanto, teremos muitos. Para tanto, utilize a opção wireframe do website.
Veja o exemplo abaixo que eu fiz para um aplicativo. A partir da página central, todas as outras vão
para alguma outra página ou camada do APP. Isso é um tipo de mapa navegacional.
Figura 11 – Exemplo simples de mapa navegacional
Fonte: Reprodução
Caso você queira pode fazer em um nível um pouco mais profundo e sofisticado, como no exemplo
abaixo, eu fiz para cada setor (tela de login à home page)
Depois disso, está na hora de preparar os mockups de média-alta qualidade já usando as cores para a
aplicação. Gere um pdf ou uma apresentação ppt com eles.
Aqui logo abaixo deixo um exemplo do que você deve fazer, baseado no projeto.
Figura 13 – Exemplo de mockup feito para aplicação.
Fonte: Acervo do Conteudista
7/8
Atividade de Entrega
Referências
JOBA, S. Modelagem na era do Agile - O que manter próximo ao código para escalar as equipes do
Agile. 2016. Disponível em: [Link] Acesso
em: 10/09/2021.