Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Prof. Sérgio Luiz Tonsig 
1 
 
 
 
 
Unidade Curricular 02 
 
 
Prof. Sérgio Luiz Tonsig 
2 
 
 
 
 
 A unidade curricular 01 da Modelagem de Sistemas traz os conceitos sobre os modelos que 
podem ser criados, segundo uma perspectiva do sistema a ser criado. 
 É pressuposto que você já tenha entendido todo o conteúdo da unidade curricular 01, para 
ingressar agora na unidade 02. 
 Nessas notas de aula, você será conduzido na continuidade prática dos conceitos vistos na 
unidade anterior. Haverá a continuidade da aplicação da UML para abordagem da diagramação de 
outras perspectivas. 
 A unidade 02 também irá apresentar características de modelagem específicas para o 
ambiente Web, Mobile e IoT. 
 A complexidade atual dos sistemas e suas integrações, exigem um conhecimento profundo 
sobre a área de negócio onde serão utilizados. Esse conhecimento só é atingido com a exploração 
das várias perspectivas de uso de seus processos, através de modelagens adequadas. 
 
 
 
 
 
 
Prof. Sérgio Luiz Tonsig 
3 
Sumário 
1. Modelagem com a UML ..................................................................................................................... 5 
1.1. Visão lógica. ................................................................................................................................. 5 
1.1.1. Diagrama de Classes ............................................................................................................. 5 
1.1.2. Diagrama de Pacotes .......................................................................................................... 10 
1.1.3. Diagrama de Objetos. ......................................................................................................... 11 
1.2. Visão de Processo. ..................................................................................................................... 12 
1.2.1. Diagrama de Sequência ...................................................................................................... 12 
1.2.2. Diagrama de Estados .......................................................................................................... 13 
1.2. Visão de Implementação. .......................................................................................................... 15 
1.2.1. Diagrama de Componentes ................................................................................................ 15 
1.3. Visão de Implantação. ............................................................................................................... 16 
1.3.1. Diagrama de Implantação .................................................................................................. 16 
1.3.2. Diagrama de Tempo ........................................................................................................... 17 
1.9. Modelo M.V.C. e o Diagrama de Classes................................................................................... 19 
2. Modelagem para WEB .................................................................................................................. 21 
2.1. Modelagem UX ...................................................................................................................... 21 
2.1.1. O que é a experiência do usuário? ................................................................................ 21 
2.1.1. Como modelar para WEB. .................................................................................................. 22 
2.1.2. Arquitetura da modelagem. ............................................................................................... 23 
2.1.2. Fases na modelagem UX. ............................................................................................... 25 
2.2. API Web ................................................................................................................................. 26 
2.2.1. Representações. ............................................................................................................. 26 
2.2.2. Pré-requisitos. ................................................................................................................ 27 
2.2.3. Arquitetura REST (Transferência de Estado Representacional) ................................... 27 
2.2.4. Princípios para desenvolvimento de API REST .............................................................. 28 
2.2.5. Nível de Maturidade de APIs REST ................................................................................. 28 
2.2.6. Orientações Gerais sobre APIs. ...................................................................................... 29 
3. Modelagem de Sistemas para Dispositivos Móveis. .................................................................... 32 
3.2. Design WEB ............................................................................................................................... 33 
 
 
Prof. Sérgio Luiz Tonsig 
4 
3.3 O que é Design? .......................................................................................................................... 34 
3.3.1. UX e UI ................................................................................................................................ 34 
3.3.2. Design centrado no usuário. ............................................................................................... 35 
3.3.3. Analisar interface e interoperabilidade. ............................................................................. 36 
3.3.4. Elementos auxiliares no Design .......................................................................................... 38 
Referências Bibliográficas .................................................................................................................... 40 
 
 
 
 
Prof. Sérgio Luiz Tonsig 
5 
1. Modelagem com a UML 
 
 Na unidade 01 já havíamos visto a visão externa, sendo representada pelo diagrama de casos 
de uso. Agora vamos incrementar a demais visões: lógica, de processo, implementação e 
implantação. 
 
1.1. Visão lógica. 
 
 A visão lógica mostra um subconjunto do modelo de design significativo em termos de 
arquitetura, ou seja, um subconjunto das classes, subsistemas, pacotes e realizações de caso de uso. 
Os elementos da visão lógica também são conhecidos como diagramas estáticos ou estruturais, 
porque servem de base para a organização dos elementos e, são utilizados na modelagem dinâmica 
do sistema. 
 
1.1.1. Diagrama de Classes 
 
 Genericamente a figura 1 mostra uma definição de classe. 
 
Figura 1 – Classe 
 O nome da classe deve começar com a primeira letra em maiúsculo e as demais minúsculas. 
Se houve junção com outra palavra (concatenação), a primeira letra da segunda palavra deve ser 
maiúscula e as demais minúscula (exemplo: VendaItem). 
 Tanto atributos quanto métodos, devem ter nome em minúsculo. Se o nome for concatenado 
com outras palavras, a primeira letra dessas palavras devem ser em maiúsculo as demais minúsculo, 
como por exemplo: atualizarSaldo. 
 
 
Prof. Sérgio Luiz Tonsig 
6 
 Por padrão atributos tem visibilidade privada (representado pelo sinal: - ) e os métodos 
possuem visibilidade pública (representada pelo sinal: + ). Caso não se recorde sobre o que seja 
visibilidade, deve recorrer ao material da unidade curricular 01. 
 
 
1.1.1.1 Relacionamentos entre Classes 
 
Um relacionamento de herança entre classes mostra que a subclasse compartilha a estrutura 
ou comportamento definido de uma ou mais classe mãe. A notação de um relacionamento de 
generalização é mostrada na Figura 2. 
 
Figura 2 – Herança 
 Um relacionamento de dependência entre duas classes mostra que a existência de uma classe 
depende a existência da outra. Por exemplo, na Figura 3 o diagrama mostra que a classeDependente 
depende da classe Funcionário para existir. 
 
Figura 3 – Relacionamento de Dependência 
 
Um relacionamento de associação representa uma conexão semântica entre duas classes e é 
o relacionamento mais utilizado. É bidirecional e é representado por uma linha ligando as classes. A 
Figura 4 mostra um relacionamento de associação entre as classes Fornecedor e Pedido. 
 
 
Figura 4 – Relacionamento de Associação 
 
 
Prof. Sérgio Luiz Tonsig 
7 
Um relacionamento de agregação (figura 5) é uma forma especial de associação, que é usada 
para mostrar que um tipo de objeto é composto de outro objeto. Um relacionamento de agregação 
é também chamado de “todo-parte”. 
A agregação por valor (losango cheio), também chamada de composição ou agregação forte, 
indica que o tempo de vida das partes são dependentes do tempo de vida do todo. Um item de 
pedido existe se existe o pedido e vice-versa. 
Na agregação por referência (losango sem preenchimento), também chamada de agregação 
fraca, o tempo de vida das partes não são mutuamente dependentes do tempo de vida do todo. 
 
 
Figura 5 – Relacionamento de Agregação 
 
1.1.1.1.1. Multiplicidade nos Relacionamentos 
 
 Nos relacionamentos de associação e agregação é facultado acrescentar a multiplicidade, que 
especifica o número de instâncias de uma classe em relação a outra, através de números mínimos e 
máximos (tabela 01). 
Notação Significado 
0..1 Zero ou uma instância. 
1 Somente uma instância. 
0..* Zero ou mais instâncias. 
* Default, número mínimo e máximo de instâncias são 
ilimitados. 
1..* Uma ou mais instâncias. 
..* Número exato ou mais instâncias. 
Tabela 01 – Valores da Multiplicidade 
 
 
Prof. Sérgio Luiz Tonsig 
8 
 Na figura 6, é observado o uso da multiplicidade. 
 
Figura 6 - Multiplicidade 
 
 As leituras possíveis seriam: 
a) Um determinado aluno possui nenhuma até muitas matrículas. 
Isso as vezes pode não ter muito sentido. Como aluno não tem nenhuma matrícula? Para 
responder temos que pensar no tempo. Em um determinado momento no sistema de 
informação o aluno é cadastrado. Nesse momento, ele não tem registro de matrícula 
ainda. Outro detalhe é que foi colocado como fato máximo o símbolo para muitas. Poderia 
ser delimitado conforme a regra da instituição, se existir. Por exemplo, nessa instituição o 
aluno só pode estar, ao mesmo tempo, matriculado em dois cursos; então, ao invés de 
“*” se colocaria 2. 
b) Uma determinada matrícula pertence a um e somente um aluno. 
 
Veja que não foi colocado em aluno um número máximo, mínimo. Apenas 1. Ou seja, é 
um número absoluto. É o máximo e mínimo. Mas, a notação poderia sim estar: 1..1. 
 
Os dois pontos entre os números, se lê: até. 
 
1.1.1.1.2. Qualificadores 
 
 Um qualificador (figura 7) é um ou mais atributos presentes em uma associação, tal que, seus 
valores servem para restringir o conjunto de instâncias associadas nas classes envolvidas. 
 
 
Figura 7 – Qualificador 
 
 
 
Prof. Sérgio Luiz Tonsig 
9 
 Veja na imagem 7 a classe Matrícula. Os qualificadores estão representados por aqueles 
retângulos, à direita e esquerda, encostados na classe. Dentro que cada qualificador é especificado 
um atributo que deve existir na classe matrícula e na classe com a qual ela encontra-se associado. 
 Uma classe que possui o qualificado é uma classe dependente. Um objeto seu só conseguirá 
existir, se antes existir um objeto da classe com a qual está associada. No exemplo da figura 7, 
matrícula só existirá se, antes, existir aluno e também curso. 
 
1.1.1.2. Exemplo de um diagrama de classes 
 
 Para exemplificar um diagrama completo de classes, é apresentado abaixo um “enunciado”, 
onde consta o entendimento sobre matrículas em certa instituição, após ter sido realizado o 
levantamento de requisitos. 
 “Em uma instituição de ensino o aluno faz matrícula para um determinado curso. Um aluno 
pode matricular-se em até dois cursos diferentes. Cada curso possui um conjunto definido de 
disciplinas. Um curso pode ter diferentes turmas, que são definidas em função de uma quantidade 
máxima de matrículas permitidas. Caso não existam matrículas para um determinado um curso, o 
mesmo não é ministrado; porém, ele continua a existir”. 
 
 
Figura 8 – Diagrama de Classes 
 
 
 
Prof. Sérgio Luiz Tonsig 
10 
 Não existe uma única modelagem possível. Dado um certo problema, poderão haver vários 
caminhos para sua solução, todos igualmente válidos. O que pode ocorrer é que, em uma das 
soluções, haverá maior performance que em outra, ou mais restrições, etc. 
 Veja pode exemplo, no diagrama da figura 8. Se alguém perguntar: quais são os cursos que o 
“José da Silva” está matriculado? É possível extrair a resposta, pois a partir de um (ou mais) objeto 
aluno, cujo nome seja igual a “José da Silva”, se encontra seu correspondente código e, na sequência, 
busca-se as matrículas que possuem esse código de aluno e, então, se acessa a turma, que por sua 
vez, nos remete ao curso. Alguém poderia questionar essa trajetória e sugerir acrescentar um 
relacionamento de associação entre matrícula e curso. Então, teríamos uma variação dessa solução 
inicial e, não estaria errado. 
 
1.1.2. Diagrama de Pacotes 
 
Diagramas de pacotes são diagramas estruturais usados para mostrar, em uma forma de 
pacotes, a organização e disposição de vários elementos de modelos. 
Um pacote é um agrupamento de elementos UML relacionados, como diagramas, 
documentos, classes ou até mesmo outros pacotes. Cada elemento é colocado dentro do pacote e é 
representado como uma pasta de arquivo dentro do diagrama, e depois organizado 
hierarquicamente no diagrama. 
Diagramas de pacotes são bastante usados para proporcionar uma organização visual de uma 
arquitetura em camadas de qualquer classificador UML, por exemplo, um sistema de software. 
 
Figura 9 – Diagrama de Pacotes 
 
 
Figura 10 – Diagrama de Pacotes com classes 
 
 
 
Prof. Sérgio Luiz Tonsig 
11 
1.1.2.1. Benefícios de um Diagrama de Pacotes 
 
Um diagrama de pacotes bem projetado oferece inúmeros benefícios para quem precisa de 
uma visualização de seu sistema ou projeto UML. 
 O diagrama fornece uma visão clara da estrutura hierárquica dos variados elementos 
UML dentro de um determinado sistema. 
 Esses diagramas podem simplificar diagramas de classes complexos, criando 
elementos visuais organizados. 
 Eles oferecem uma ótima visibilidade geral de projetos e sistemas de grande escala. 
 Os diagramas de pacotes UML podem ser usados para esclarecer de forma visual uma 
grande variedade de projetos e sistemas. 
 Os elementos visuais podem ser atualizados com facilidade conforme a evolução dos 
sistemas e projetos. 
 
 
1.1.3. Diagrama de Objetos. 
 
 O diagrama de objetos (figura 11) consiste em uma variação do diagrama de classes onde, 
em vez de classes, são representadas instâncias e ligações entre instâncias. A finalidade é descrever 
um conjunto de objetos e seus relacionamentos em um momento no tempo. Esse diagrama não é 
normalmente incluído em um projeto de análise, pode servir para uma inspeção de aspectos da 
modelagem, uma vez que as instâncias podem dar uma visão mais concreta sobre a exatidão do 
diagrama de classes correspondente. 
 
 
 
Figura 11 – Diagrama de Objetos 
 
 
 
Prof. Sérgio Luiz Tonsig 
12 
 
1.2. Visão de Processo. 
 
1.2.1. Diagrama de Sequência 
 
 Como o próprio nome informa, o diagrama de sequência é empregado para demonstrar 
sequências de operações no tempo. Utilizando-se o diagrama para expressar as operações de um 
caso de uso, é possível estabelecer quais métodos devem ser acionados para quais ações realizadas 
pelo ator na interface. 
 Portanto, se consegue através do diagrama de sequência: 
 Mostrar a dinâmica da interação entre o Atore a Interface 
 Mostrar como a interface aciona os recursos necessários, quando o ator requisita 
 Mostrar a(s) classe(s) que conterão os recursos necessários 
 Mostrar possíveis trocas de mensagens entre as classes 
 Ajudar o analista a definir classes, casos elas não existam ainda. 
 
 
Figura 12 – Caso de Uso e Mockup de Tela 
 
 Considere a situação mostrada pela figura 12. Em um sistema hipotético, o analista definiu 
que tem que existir um caso de uso chamado “Cadastrar Cursos” e, para esse caso de uso, criou uma 
interface (tela). 
 Na tela há três campos. Imagine que o ator “Coordenação” digita o conteúdo dos três campos 
e depois clica no botão “Inserir” que está na tela. A pergunta é: O que vai acontecer? 
 Claro, qualquer um de nós, nesse exemplo, poderia dizer algo como “...ah, ele vai inserir os 
dados”. Certo. Onde? Como? 
 Percebe que para criação do programa que vai cuidar de realizar as ações definidas nos botões 
dessa tela, é necessário “enxergar um pouco além” ou “o que está por trás” dessa tela? 
 
 
Prof. Sérgio Luiz Tonsig 
13 
 O diagrama de sequência pode ser utilizado para essa finalidade. 
 
 
Figura 13 – Diagrama de Sequência 
 
 Na figura 13 há um diagrama de sequência que mostra as ações esperadas do sistema, quando 
o ator interagir com algum botão existente na tela. Inicialmente se vê o ator “Coordenação” enviando 
uma mensagem ( digitar ) para a tela. Essa mensagem está representando genericamente toda e 
qualquer ação do ator na tela. Poderia ter sido feito de outra forma, uma mensagem para cada campo 
a ser digitado, ou botão a ser clicado. 
 Ainda na figura 13, olhando a coluna do objeto “telaCadCurso”, há varias situações condições 
(chamada autodelegação), que tem o nome de um botão, se clicado, o procedimento correspondente 
é acionado. Então, para cada botão temos a visão exata de qual método será executado e, em qual 
classe ele está definido. 
 
1.2.2. Diagrama de Estados 
 
 O diagrama de estados demonstra o comportamento de um objeto através de um conjunto 
de transição de estados. 
 Um estado representa a situação que um objeto se encontra em um determinado momento, 
durante o período em que esse participa de algum processo. Um evento gera a transição de um 
estado para outro (figura 14). 
 
 
Prof. Sérgio Luiz Tonsig 
14 
 
Figura 14 – Estados 
 
 Na figura 15 observa-se a transição de estados possíveis para um pedido de compra em certa 
empresa. Veja que em outra empresa, o pedido de compra pode ter outro ciclo e outros estados; 
portanto, os estados dependem de regras de negócio da empresa. Há exceções, se for feito um 
diagrama de máquina de estados para um semáforo, por exemplo (não importa o município, ou 
qualquer outra questão, existe uma regra nacional de funcionamento). 
 
Figura 15 – Estados e um pedido de compra 
 
 
O diagrama de estado se inicia onde existe a imagem de um círculo preenchido e, finaliza na 
imagem com dois círculos concêntricos. Na figura 15, o diagrama possui em seu fluxo, dois símbolos 
de fim. 
 
 
 
 
 
 
 
 
Prof. Sérgio Luiz Tonsig 
15 
 
1.2. Visão de Implementação. 
 
1.2.1. Diagrama de Componentes 
 
 Um componente mostra a estrutura física pretendida para uma implementação. Um 
componente é uma estrutura física feita de bits e bytes. Exemplo: executáveis, bibliotecas (.dll, .jar), 
documentos, página HTML, um arquivo .txt, etc. 
 Visualmente um componente pode ter os aspectos conforme mostra a figura 16. 
 
Figura 16 – Componentes 
 
 Um componente expõe suas interfaces (métodos públicos) para o mundo externo. Interfaces 
esperadas se encontram com interfaces fornecidas (figura 17). 
 
 
Figura 17 – Interfaces dos Componentes 
 
 Um exemplo completo e intuitivo para um certo contexto pode ser visto na figura 18. 
 
Figura 18 – Diagrama de Componentes 
 
 
Prof. Sérgio Luiz Tonsig 
16 
 A interface que se parece como “um alfinete” representa a interface na qual um componente 
produz informações usadas pela interface necessária de outro componente. O outro tipo de interface 
com um traço e um semicírculo (que pode ser representado também através de uma seta com a linha 
tracejada) representa um componente que requer informações para executar uma função. 
 
1.3. Visão de Implantação. 
 
1.3.1. Diagrama de Implantação 
 
 O diagrama de implantação representa como será a distribuição do sistema através de “nós 
de hardware” (figura 19). 
 
Figura 19 – Nó de Hardware 
 
 Um diagrama de implantação modela o inter-relacionamento entre recursos de 
infraestrutura, rede e dispositivos. O foco do diagrama é a estrutura física sobre a qual o software 
irá ser executado. Cada nó é uma máquina física (figura 20). 
 
 
Figura 20 – Dois nós de Hardware 
 
 A figura 21 dá uma ideia de como pode ser representado os componentes de software nos 
respectivos hardwares onde irão ser executados. Essa visão é uma alternativa que se tem para 
mostrar a integração entre componentes e hardware que se planeja para um determinado sistema. 
 
 
Prof. Sérgio Luiz Tonsig 
17 
 
Figura 21 – Diagrama de Implantação 
 
 
 
1.3.2. Diagrama de Tempo 
 
Utilizados quando o propósito primário do diagrama é motivado pela análise do tempo. 
Os diagramas de tempo (figura 22) se concentram em condições que mudam dentro e 
entre linhas de vida ao longo de um eixo de tempo linear. 
 
Figura 22 – Diagrama de Tempo 
 
O diagrama de tempo permite a inserção de gatilhos que determinam no objeto alguma 
mudança decorrente do tempo, como por exemplo “A pessoa deve acordar entre as 5:40 da manhã 
e as 6 da manhã” (figura 23). No objeto pessoa, o gatilho que provoca uma mudança de estado, de 
“dormir” para “acordar”, é determinada pelo tempo. 
 
 
Figura 23 – Gatilho no Diagrama de Tempo 
 
 
 
Prof. Sérgio Luiz Tonsig 
18 
O diagrama da figura 24, mostra o vírus alterando seu estado entre o tempo de inatividade 
(dormência), propagação, desencadeamento e execução. A restrição de duração é mostrada como 
uma associação gráfica entre um intervalo de duração e as construções que ele restringe. 
 
 
Figura 24 – Estágios de um vírus de computador 
 
 
 
 
 
Prof. Sérgio Luiz Tonsig 
19 
1.9. Modelo M.V.C. e o Diagrama de Classes 
 
 MVC é o acrônimo de Model View Controller (Modelo, Visão e Controle). É um padrão de 
arquitetura de software (independentemente da linguagem de programação) e, a priori, não tem 
relação direta com a UML. 
 O objetivo da arquitetura MVC é separar a programação em camadas. A parte de interface 
(telas) é a View, também chamada de lógica da apresentação ou interface com o usuário. A parte do 
armazenamento de dados é o Model e o controle dessas duas camadas com a processamento 
propriamente dito é o Controller. 
 É uma arquitetura em três camadas; enquanto o client-server é uma arquitetura de duas 
camadas. A arquitetura MVC tem sido muito aplicada em desenvolvimentos web. 
 
 
Figura 25 – Arquitetura M.V.C. 
 
 Na UML foi padronizado uma visualização diferenciada para classes que venham a 
representar estereótipos da arquitetura MVC. O conceito de classe e sua estrutura não muda nada 
do que já foi visto. Apenas seu visual recebe uma “roupagem diferente” de acordo com a classificação 
no contexto MVC. 
Ao construir o diagrama de classes, mas com a intenção de que seja refletido o conceito de 
MVC, é possível estabelecer uma classificação através de três visuais para as classes estereotipadas, 
conforme pode ser visto na figura 26. 
 
 
Figura 26 – Classes Estereotipadas para MVC 
 Na figura 26, o primeiro elemento visual, sobre o qual tem-se > é um estereótipo 
para classes do tipo View; isto é, aquelas que irão tratar exclusivamente de trabalhar os elementos 
visuais da interface com o usuário; ou seja, tratada linha fronteiriça (fronteira) entre o sistema e o 
usuário. 
 
 
Prof. Sérgio Luiz Tonsig 
20 
 A classe do tipo > determinam classes que realizam a lógica do negócio, realizando 
cálculos e outros processamentos, fazendo também a intermediação com os outros dois tipos de 
classe. 
 A classe do tipo > representa o armazenamento de dados. Nessa classe se espera 
apenas as operações relativas a gravação, consulta, alteração ou exclusão de dados do modelo de 
armazenamento. 
 Assim, uma “classe normal” passaria ser representada por três (figura 27), formando uma 
totalização, só que cada uma dessas partes, teria um foco específico, com os correspondentes 
métodos e atributos; ou seja, por exemplo, o método gravar() estaria na classe do tipo model, um 
método maximizarTela(), estaria na classe do tipo view e, assim sucessivamente. 
 
 
Figura 27 – Modelo MVC nas Classes 
 
 
 
 
 
 
Prof. Sérgio Luiz Tonsig 
21 
2. Modelagem para WEB 
 
Atualmente há uma grande quantidade de propostas para modelagem web. Cada uma tem 
sua própria notação visual e regras. Portanto, sem uma metodologia padrão. Muitas dessas 
propostas utilizam recursos da UML, com inclusão de extensões visuais, aos componentes existentes. 
Algumas das notações que se apresentam como propostas para modelagem Web: 
 HDM 
 RMM 
 OOHDM 
 ARANEUS 
 STRUDEL 
 TIRAMISU 
 WebML 
 UML Web Application Extension 
 Engenharia Web baseada em UML (UWE) 
 ACE 
 WebArchitect 
 OO-H 
 
2.1. Modelagem UX 
 
A modelagem UX (User eXperience) tem total foco e uma busca constante em obter uma 
compreensão profunda dos usuários, (o que necessitam e o que eles avaliam, além também das suas 
limitações e suas habilidades). 
Um profissional de UX faz um trabalho com intuito de conhecer os objetivos dos clientes e 
dos negócios foco do trabalho. As melhores práticas de UX promovem o aperfeiçoamento da 
qualidade de interação dos usuários. 
 
2.1.1. O que é a experiência do usuário? 
 
Quando um produto está em desenvolvimento, é comum que pensemos em suas 
funcionalidades. A expressão “o que o produto faz” será à priori o foco e ideias para aprimorar as 
funções surgirão como tentativa de agradar ao máximo o público alvo. 
Não é um pensamento apenas dos desenvolvedores do produto, mas algo que se estende aos 
usuários. As principais críticas dos usuários que podem surgir são sempre destinadas ao mal 
funcionamento. Quando as críticas são devidas a não satisfação de expectativas, provavelmente 
 
 
Prof. Sérgio Luiz Tonsig 
22 
havia nos desejos do usuário funcionalidades que acabaram não existindo ou não cumprindo o que 
prometiam, ou seja, no meio de várias expectativas, muitas eram relacionadas a funcionalidade. 
A experiência do usuário dá ênfase a um outro lado, deixando o “o que isso faz” para ir ao 
“como isso funciona” e esse foco pode ser a diferença entre o sucesso e o fracasso do produto. 
De forma breve, experiência do usuário é a experiência que um produto cria a uma pessoa 
quando ela faz seu uso. Quando o usuário entra em contato com o produto que possui em suas mãos, 
a resposta das interações gera experiências ao usuário, como por exemplo, sensações e sentimentos, 
e essas são as chamadas experiências do usuário. 
As perguntas que se faz a um usuário e que estão ligadas a avaliação da experiência do usuário 
são todas aquelas voltadas ao o que ele sentiu durante a interação. Como foi usar o produto? Como 
você se sentiu ao interagir com ele? Foi simples? O que te fez se sentir angustiado ou irritado? Essas 
e demais perguntas podem nos fazer compreender um pouco mais do interesse da área e o que ela 
realmente é. 
 
2.1.1. Como modelar para WEB. 
 
Muitos consumidores já escolheram alguma vez um produto no lugar de outro pelo belo 
visual. 
A preferência por um produto de melhor aspecto visual acontece principalmente quando 
temos dois desses com a mesma função. Se nesse mesmo caso o público alvo for de pouca idade, 
aspectos visuais passam até mesmo a sobressair aos aspectos funcionais. Sendo assim, um produto 
bem elaborado também é um produto com belo visual. 
O desenvolvimento de um projeto que destina parte de seu tempo ao foco da experiência do 
usuário agrega boas vantagens. Pensar em experiência do usuário é pensar além do que a 
funcionalidade e visual podem proporcionar, tentando harmonizá-los com o contexto do produto e 
torná-lo natural. O conjunto visual e função corretamente unidos ao contexto não só do produto, 
mas também do usuário, podem fazer com que o usuário se sinta bem ao usá-lo, e não sofra com 
situações inesperadas. 
Com essa harmonia e naturalidade da interação do usuário com o produto, os erros são 
reduzidos, e assim, o usuário trabalhará mais rápido. Ou seja, tratar a experiência do usuário 
indiretamente influência na eficiência do produto, diferente da boa elaboração de funcionalidades 
que influenciam na eficácia. 
Agora, imagine uma cadeira com um belo visual, possuindo assento de couro e base de 
madeira, e que ela desempenhe sua função de ser sentada muito bem. 
Visualize agora que ela será usada em uma palestra de nutrição para ajuda de pessoas obesas 
a emagrecerem e que ela não está preparada para todo o contexto, já que só suporta pessoas até 80 
kg. Então, o belo visual e a boa funcionalidade não garantirão a experiência do usuário, muito pelo 
contrário, podem criar expectativas que serão destruídas com uma queda da pessoa. 
 
 
Prof. Sérgio Luiz Tonsig 
23 
Um produto bem projetado une a eficácia a eficiência. Um produto bem projetado foca em 
funcionalidades, no visual, mas também foca em aprimorar a experiência do usuário ao fazer uso das 
funções e ter os olhos agradados com um belo visual, sendo todos esses bem adaptados ao contexto 
de uso. 
 
2.1.2. Arquitetura da modelagem. 
 
 Na proposta de James Garret, há uma arquitetura de modelagem composta de cinco planos, 
conforme mostra a figura 28. 
 
Figura 28 – Modelagem UX 
 
 
a) Plano 01 - Necessidades do usuário. 
É uma fase de plano estratégico, uma etapa abstrata, ainda não sabemos o que será nosso 
produto e é nele que iremos definir nosso cenário atual e consequentemente, descobrir se o 
problema que queremos resolver realmente importa ou sequer existe. É aqui que devemos 
começar com as questões: O que? Para quê? Para quem? E com isso podemos fazer uma 
imersão nas dores de nosso usuário, ou melhor, necessidades do usuário. Partindo da ideia 
de que o produto que temos ou estamos criando é para resolver um problema, passamos a 
levantar hipóteses para saber como podemos resolvê-lo. É uma fase em que conversamos 
com os stalkeholders e alinhamos as necessidades que encontramos ao nosso objetivo de 
 
 
Prof. Sérgio Luiz Tonsig 
24 
negócio. Podemos encontrar as informações que precisamos através de entrevistas, 
pesquisas qualitativas e quantitativas. 
 
b) Plano 02 – Escopo. 
O plano de escopo pode ser tido por diferentes pontos de vistas, pois ele torna-se moldável 
ao fato de você estar desenvolvendo um produto novo, ou estar apenas lançando uma feature 
(release), por exemplo. 
Após o plano de estratégia, é hora de validar e entrar numa parte mais prática, que seria o 
papel do escopo. Nesta etapa já sabemos de forma mais concreta o problema que precisamos 
resolver e agora é hora de começar a materializar o plano anterior, e pensar em 
funcionalidades. O escopo pode ser dividido entre especificações funcionais e requisitos de 
conteúdo. As especificações funcionais consistem em uma função que nosso produto deverá 
atender. Já os requisitos de conteúdo, são as informações que precisamos para fornecer valor 
ao nosso usuário. 
Geralmente quando falamos em escopo, pensamos no início, meio e fim, porém na 
metodologia ágil, podemos deixar o escopo mais aberto, tornando possívelmodificar o que 
for necessário, neste processo, você também agrega valor ao seu produto. 
 
c) Plano 03 – Estrutura. 
Neste plano, temos que pensar em como o usuário irá interagir com o nosso produto, sendo 
assim, ele está dividido entre a parte de Design de Interação e Arquitetura de Informação. É 
nesta fase que serão mapeados todos os fluxos de navegação de nosso produto. No 
desenvolvimento de uma feature1, como é a árvore de navegação para que o usuário chegue 
até a funcionalidade que estamos propondo? Quais interações podemos prover para 
melhorar essa experiência? Tudo isso será definido aqui. 
 
d) Plano 04 – Esqueleto 
O esqueleto nada mais é do que nosso wireframe2. Já sabemos para quem e para que estamos 
construindo esse wireframe, e agora precisamos mostrar de uma forma mais abrangente, os 
resultados dos fluxos de navegação que encontramos nos planos anteriores. Nessa parte será 
definido o design de navegação, informação e a interface. 
 
e) Plano 05 – Superfície 
A superfície, pode ser desde interfaces, protótipos, até o produto final, uma provável solução 
do problema do usuário, que irá agregar valor ao produto. É considerada a parte concreta do 
 
1 Uma feature é uma funcionalidade do sistema que entrega um benefício ou resolve um problema do sistema. 
2 Um wireframe de site web ou website wireframe é um protótipo usado em design de interface para sugerir a estrutura de um site web e 
relacionamentos entre suas páginas. Um wireframe web é uma ilustração semelhante do layout de elementos fundamentais na interface. 
 
 
Prof. Sérgio Luiz Tonsig 
25 
produto, pois é onde o usuário terá de fato um contato com ele, baseado em tudo que foi 
levantado durante todo o processo de desenvolvimento. 
 
 
Figura 29 – Modelagem UX e a Arquitetura em Camadas. 
 
2.1.2. Fases na modelagem UX. 
 
Em termos de tempo na execução das tarefas da modelagem UX, considerando a arquitetura 
apresentada, se teria algo como mostra a figura 30. 
 
Figura 30 – Modelagem UX – Esforço no Tempo 
 
 
Prof. Sérgio Luiz Tonsig 
26 
2.2. API Web 
 
O acrônimo API - Application Programming Interface (Em português, significa Interface de 
Programação de Aplicações), trata-se de um conjunto de rotinas e padrões estabelecidos e 
documentados por uma aplicação A, para que outras aplicações consigam utilizar as funcionalidades 
desta aplicação A, sem precisar conhecer detalhes da implementação do software. 
APIs são extensamente aplicadas atualmente na Web como forma de interoperabilidade 
entre dispositivos móveis e sistemas de retaguarda. Um pequeno exemplo disso é o endpoint a 
seguir: viacep.com.br/ws/01001000/json/ (para ver funcionando, copie e cole no endereço do seu 
navegador, verá que ele retorna alguns dados do cep que corresponde a praça da Sé na cidade de 
São Paulo). 
 
 
 
Figura 31 – API na WEB 
 
2.2.1. Representações. 
 
Uma API permite a interoperabilidade entre aplicações, isso reforça ainda mais a importância 
de pensarmos em algo padronizado e, de preferência, de fácil representação e compreensão por 
humanos e máquinas, com relação ao uso e ao retorno de dados. Isso pode soar um pouco estranho 
mas veja a figura 30. 
 
Figura 32 – Tipos de representação de dados 
 
https://viacep.com.br/ws/01001000/json/
https://viacep.com.br/ws/01001000/json/
https://viacep.com.br/ws/01001000/json/
https://viacep.com.br/ws/01001000/json/
https://viacep.com.br/ws/01001000/json/
 
 
Prof. Sérgio Luiz Tonsig 
27 
Qual deles você escolheria para informar o endereço em uma carta? Provavelmente o último, 
por ser de fácil entendimento para humanos, não é mesmo? Contudo, as 3 representações são 
válidas, pois nosso entendimento final é o mesmo, ou seja, a semântica é a mesma. 
A primeira representação (formato XML) é mais verbosa, exigindo um esforço extra por parte 
de quem está escrevendo. No segundo exemplo (formato JSON) já é algo mais leve de se escrever. Já 
o último (formato YAML), é praticamente como escrevemos no dia a dia. 
Esse é o primeiro passo que precisamos dar para permitir a comunicação inter operável. E 
o mais legal é que essas 3 representações são válidas atualmente, ou seja, homens e máquinas 
podem ler, escrever e entender esses formatos. 
 
2.2.2. Pré-requisitos. 
 
Uma API da Web bem projetada deve observar: 
a) Independência da Plataforma. 
Qualquer cliente deve ser capaz de chamar a API, independentemente de como a API está 
implementada internamente. Isso requer o uso de protocolos padrão e um mecanismo 
pelo qual o cliente e o serviço Web possam entender os dados do serviço trocado. 
 
 
b) Evolução do Serviço. 
A API Web deve ser capaz de evoluir e adicionar funcionalidades, independentemente dos 
programas clientes. À medida em que a API evolui, aplicativos clientes existentes devem 
continuar a funcionar sem modificação. Todas as funcionalidades devem ser detectáveis 
para que os aplicativos clientes possam utilizá-las adequadamente. 
 
2.2.3. Arquitetura REST (Transferência de Estado Representacional) 
 
Arquitetura para criar serviços Web REST é um estilo arquitetural para a criação de sistemas 
distribuídos com base em hipermídia. A REST é independente de qualquer protocolo e não está 
necessariamente ligada a HTTP. No entanto, as implementações mais comuns de REST usam HTTP 
como o protocolo de aplicativo. 
Existe uma certa confusão quanto aos termos REST e RESTful. Entretanto, ambos 
representam os mesmos princípios. A diferença é apenas gramatical. Em outras palavras, sistemas 
que utilizam os princípios REST são chamados de RESTful. 
 
 
 
 
 
Prof. Sérgio Luiz Tonsig 
28 
2.2.4. Princípios para desenvolvimento de API REST 
 
a) APIs REST são projetadas para recursos, que se tratam de qualquer tipo de objeto, dados ou 
serviço que possa ser acessado pelo cliente. Um recurso tem um identificador, o qual se trata 
de um URI que identifica exclusivamente esse recurso. Por exemplo, o URI para um pedido 
determinada do cliente pode ser: https://meusistema.com/pedido/1 
 
b) Os softwares clientes interagem com um serviço por meio da troca de representações de 
recursos. Muitas APIs da Web usam JSON como o formato de troca. Por exemplo, uma 
solicitação GET para o URI listado acima poderia retornar este corpo de resposta: 
{"pedido":1, "valorUnit":99.90, "codProduto":1, "qtde":1} 
 
c) As APIs REST usam uma interface uniforme, o que ajuda a separar as implementações de 
cliente e de serviço. Para APIs REST baseadas em HTTP, a interface uniforme inclui o uso de 
verbos HTTP padrão para executar operações em recursos. As operações mais comuns são 
GET, POST, PUT, PATCH e DELETE. 
 
d) As APIs REST são orientadas por links de hipermídia contidos na representação. Por exemplo, 
a seguir é mostrada uma representação JSON de um pedido. Ela contém links para obter ou 
atualizar o cliente associado ao pedido. 
{ 
 “pedido":3, 
 “codProduto":2, 
 “qtde":4, 
 “vrUnitario":16.60, 
 "links": [ 
 {"rel":“cliente","href":"https://meusistema.com/clientes/3", "action":"GET" }, 
 {"rel":“cliente","href":"https://meusistema.com/clientes/3", "action":"PUT" } 
 ] 
} 
 
2.2.5. Nível de Maturidade de APIs REST 
 
As APIs, em função de suas estruturas, podem ser classificadas segundo um critério de 
maturidade, a saber: 
 Nível 0: defina um URI, e todas as operações são solicitações POST para esse URI. 
 Nível 1: crie URIs separados para recursos individuais. 
 Nível 2: use métodos HTTP para definir as operações nos recursos. 
 Nível 3: use hipermídia (HATEOAS - Hypermedia as the Engine of Application State). 
https://meusistema.com/pedido/1
 
 
Prof. Sérgio Luiz Tonsig 
29 
2.2.6. Orientações Gerais sobre APIs. 
 
a) Criar API em torno de cada recurso. Concentre-se nas entidades comerciaisque a API da Web 
se propõe a disponibilizar. Por exemplo, em um sistema de comércio eletrônico, haveriam 
clientes, produtos, vendas (carrinho) e recebimento. Atentar-se a semântica da chamada do 
recurso. 
 
 
b) O protocolo HTTP define vários métodos que atribuem significado semântico a uma 
solicitação. Os métodos HTTP comuns usados pelas APIs da Web mais RESTful são: 
 GET, que recupera uma representação do recurso no URI especificado. O corpo da 
mensagem de resposta contém os detalhes do recurso solicitado. 
 POST, que cria um novo recurso no URI especificado. O corpo da mensagem de solicitação 
fornece os detalhes do novo recurso. Observe que POST também pode ser usado para 
disparar operações que, na verdade, não criam recursos. 
 PUT, que cria ou substitui o recurso no URI especificado. O corpo da mensagem de 
solicitação especifica o recurso a ser criado ou atualizado. 
 PATCH, que realiza uma atualização parcial de um recurso. O corpo da solicitação 
especifica o conjunto de alterações a ser aplicado ao recurso. 
 DELETE, que remove o recurso do URI especificado. 
 
 
 
 
c) No protocolo HTTP, formatos são especificados por meio do uso de tipos de mídia, também 
chamados de tipos MIME. Para dados não binários, a maioria das APIs da Web oferecem 
suporte a JSON (tipo de mídia = application/json) e, possivelmente, a XML (tipo de mídia = 
application/xml). O cabeçalho Content-Type em uma solicitação ou resposta especifica o 
 
 
Prof. Sérgio Luiz Tonsig 
30 
formato da representação. Aqui está um exemplo de uma solicitação POST que inclui dados 
JSON: 
 
 
d) HATEOAS - Hipertexto como o Mecanismo de Estado do Aplicativo. 
{ 
 “codProduto":2, 
 “qtde":4, 
 “valorUnitario":16.60, 
 "links":[ 
 { 
 "rel":“cliente", 
 "href":"https://meusistema.com/clientes/3", 
 "action":"GET", 
 "types":["text/xml","application/json"] 
 }, 
 { 
 "rel":"cliente", 
 "href":"https://meusistema.com/clientes/3", 
 "action":"PUT", 
 "types":["application/x-www-form-urlencoded"] 
 }, 
 { 
 "rel":"cliente", 
 "href":"https://meusistema.com/clientes/3", 
 "action":"DELETE", 
 "types":[] 
 }] 
} 
 
 
 
 
Prof. Sérgio Luiz Tonsig 
31 
e) Controle de Versão. 
É muito improvável que uma API da Web permaneça estática. 
Uma das questões que envolvem o versionamento na WEB é a coexistência de mais de uma 
versão trabalhando sem problema, ao mesmo tempo. 
 
 
 
 
Prof. Sérgio Luiz Tonsig 
32 
3. Modelagem de Sistemas para Dispositivos Móveis. 
 
Para que se possa abordar o assunto dos dispositivos móveis e mobilidade de acesso à 
Internet, é necessário resgatar o histórico dos telefones celulares, que se tornaram equipamentos 
híbridos e grandes responsáveis pela transformação digital. Embora tenhamos outros dispositivos 
móveis (notebooks, tablets, etc.). 
A comunicação e as mídias foram impactadas como nunca, após a popularização de diversos 
equipamentos móveis que, por consequência, geraram outros desdobramentos tecnológicos 
essenciais para o funcionamento e desenvolvimento dos smartphones, os aplicativos. 
O aplicativo WhatsApp é um grande exemplo da evolução da comunicação móvel, pois se 
trata de um app híbrido de mensagem (SMS), gravação de áudio, vídeo, envio de fotos, chamadas 
via VoIP e por vídeo, e tudo isso em real time, que é a característica mais admirada pela nova 
geração. As pessoas se relacionam de maneira completamente diferente, tornaram-se 
produtoras de mídia com um equipamento em mãos, prontas para atuar e produzir 24 horas por 
dia, 7 dias por semana. 
 
 
Figura 33 – Celulares 
 
A evolução e, principalmente, a inclusão social dos dispositivos móveis, pode ser analisada nas duas 
imagens abaixo. 
 
2005 – Cerimônia posse papa Bento XVI 2013 – Cerimônia posse Papa Francisco 
Figura 34 – Cerimônias de posse de novos Papas e Dispositivos Móveis 
 
 
Prof. Sérgio Luiz Tonsig 
33 
 
 Fato curioso ainda sobre os dispositivos móveis é que em 2015 verificou-se que o volume 
deles passou a ser superior aos computadores desktop. 
 
 
Figura 35 – Desktop X Mobile 
 
3.2. Design WEB 
 
Projetar para mobile é diferente de projetar para web. O mesmo paradigma que existia 
quando surgiu a Web. Projetar para a Web não é a mesma coisa que projetar para desktop. 
O que funciona no desktop, com o usuário sentado na frente do computador, tem grande 
chance de não funcionar adequadamente nos vários contextos da Web ou mobile. Há muito tempo 
os dispositivos móveis já superaram em volume, os desktops; então, projetar Mobile First. Ou ainda, 
considerar um desenvolvimento específico. 
 
 
Figura 38 – Estratégias 
 
 
Prof. Sérgio Luiz Tonsig 
34 
3.3 O que é Design? 
 
 
 
3.3.1. UX e UI 
 
UX (User eXperience) ou Experiência do Usuário, é o estudo comportamental dos usuários, 
com o objetivo de entregar uma melhor experiência de uso nos produtos sendo eles digitais ou não. 
Busca compreender dificuldades e problemas do usuário no uso do produto e, procura entregar a 
solução mais amigável possível (fácil de usar e manusear). 
UI (User Interface) ou Interface do Usuário é o trabalho de criação de interfaces, que 
compreende o projeto visual do meio com o qual interagimos em aplicativos, sites e sistemas de uma 
forma geral. 
 
 
Figura 39 – UX e UI 
 
 
Prof. Sérgio Luiz Tonsig 
35 
UX é estratégia, não design (UI). UX não é uma etapa do projeto. Todas as etapas geram 
impacto na experiência do usuário (UX). Não adianta, por exemplo, o designer fazer a melhor 
usabilidade possível e o programador de front-end ou back-end não proporcionar performance ao 
carregar uma página. 
 
3.3.2. Design centrado no usuário. 
 
Design centrado no usuário é o processo onde mantemos o foco nas necessidade, desejos e 
limitações dos usuários durante todo o projeto, a cada tomada de decisão, desde a concepção até o 
lançamento do produto. Não projetamos interface sem considerar o contexto de uso da mesma. 
Desenho inicialmente centrado no usuário e suas necessidades e, não na tecnologia. Usuário deve 
ter: 
 Facilidade de uso (interface natural, de modo que não se perceba a tecnologia, voz, 
mão) 
 Facilidade de aprendizado (memorização fácil – não me faça pensar) 
 Produtividade na execução 
 Satisfação (resultado) 
A figura 36 mostra as etapas do desenvolvimento centrada no usuário. 
 
 
Figura 40 – Etapas desenvolvimento centrado no usuário 
 
 
 
 
 
Prof. Sérgio Luiz Tonsig 
36 
3.3.3. Analisar interface e interoperabilidade. 
 
A pergunte chave nesse ponto é: Como o usuário interage, na maior parte do tempo com o 
dispositivo? As respostas vão determinar alternativas que se terá para criação de uma interface 
adequada. 
 
 
Figura 41 – Interação do usuário com celular 
 
Várias interfaces de apps e páginas mobiles, usam aquele menu “hambuger” (aqueles três 
pauzinhos), no canto superior da tela que geralmente abre o menu de opções. Seria esse o melhor 
local para se colocar o recurso? Essa é uma das avaliações a serem realizadas quando se trata de 
interface com a melhor experiência para o usuário. 
 
 
Figura 42 – Troca de lugar dos recursos de menu 
 
 
Prof. Sérgio Luiz Tonsig 
37 
Outra questão envolve, por exemplo, recursos em lista. Normalmente fotos de produtos, ou 
qualquer informação em cards3. 
Não faz sentido criar uma lista horizontal com muito itens, dificilmente o usuário vai ficar 
“rolando para o lado” infinitamente. Se a lista for um pouco grande, adicione o botão “veja todos” 
ou “veja mais”. 
 
 
Figura 43 – Cards 
 
 Sobre tamanhos e proporções, procure seguir um padrão dentro de seu aplicativo 
especialmente referente a barras de títulos, espaços entre sessões,margens e bordas. 
 
 
Figura 44 – padrões 
 
3 Os cards são pedaços interativos de informação apresentados quase sempre num formato retangular. 
 
 
Prof. Sérgio Luiz Tonsig 
38 
 
Tome bastante cuidado ao projetar a área de toque, considere as recomendações que 
seguem: 
 Se menos de 7mm não se consegue interagir com o dedo. Pode utilizar o mouse, mas não 
o dedo. 
 Área com 10mm uma boa área. 
 Uma área excelente seria de 14mm. 
 
 
Figura 45 – Área para touchscreen 
 
3.3.4. Elementos auxiliares no Design 
 
Algumas atividades auxiliares podem contribuir para definir a melhor experiência do usuário, 
incluindo a navegabilidade da interface. 
 
a) StoryBoard. 
Para qualquer projeto mobile é muito difícil saber, quantas telas, funções e interações serão 
necessárias. 
Para conseguirmos dar um preço ou organizarmos um prazo, as alternativas são criar um 
storyboard, mapas de navegação e protótipos antes de realmente fazermos o desenho das 
telas. 
 
Figura 46 - Storyboard 
 
 
Prof. Sérgio Luiz Tonsig 
39 
b) Mapa de Navegação. 
Pode ser utilizado para desenhar todos os passos de navegação que o usuário poderá ter 
no aplicativo, dessa forma, usufruindo das funcionalidades disponíveis. Esse recurso é 
interessante também para eliminar-se etapas desnecessárias (não percebidas 
anteriormente) e, deixar mais fácil a usabilidade. 
 
 
 
Figura 47 – Navegabilidade entre recursos 
 
 
 
 
Prof. Sérgio Luiz Tonsig 
40 
 
Referências Bibliográficas 
 
FILHO, W.P.P. Engenharia de Software. LTC, 4ª. Ed., Volume 1, 2019. E-Book. 
FILHO, W.P.P. Engenharia de Software. LTC, 4ª. Ed., Volume 2, 2019. E-Book. 
LARMAN, C. Utilizando UML e Padrões. BookMan, 3ª. Ed., Porto Alegre, 2007. E-Book 
PRESSMAN, R.; MAXIM, B. Engenharia de Software – Uma abordagem profissional. BookMan, 8ª Ed., 
2016. E-Book. 
SOMMERVILLE, I. Engenharia de Software. Pearson, 9ª. Ed, São Paulo, 2011. 
TONSIG, S.L. Engenharia de Software – Análise e Projeto de Sistemas. Ciência Moderna, 2ª.Ed., Rio 
de Janeiro, 2008.

Mais conteúdos dessa disciplina