Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula 01
1
Anotações do slide anterior
2
Objetivo
3
Anotações do slide anterior
Nesta aula iremos nos aprofundar sobre o desenvolvimento dos dispositivos móveis.
Apesar de não ser somente um sistema operacional, o ciclo de vida para o
desenvolvimento de um aplicativo para um dispositivo móvel é bem similar.
Veremos sobre a modelagem de requisitos e o projeto de arquitetura e abordaremos a
interface.
Ao fim da aula teremos uma aplicação dos conceitos e um exemplo real.
4
Conteúdo
5
Anotações do slide anterior
O conteúdo da aula foi organizado dessa forma a fim de alcançar o objetivo proposto. Ao
longo do estudo do ciclo iremos conhecer a modelagem de requisitos para WebApps e
aplicativos móveis: modelo de conteúdo, modelo de interação, modelo funcional, modelo
de configuração e modelo de navegação. Também veremos o projeto de arquitetura para
WebApps e para aplicativos móveis e o projeto de interface para WebApps e para
aplicativos móveis.
6
Ciclo de vida: modelagem de requisitos
para WebApps e aplicativos móveis
7
Anotações do slide anterior
8
Modelagem de requisitos
Modelo de conteúdo;
ENTRADA
Modelo de interação;
Informações obtidas Modelo funcional;
durante a atividade
de comunicação. Modelo de navegação;
Modelo de configuração.
SAÍDA
9
Anotações do slide anterior
A análise de requisitos fornece um mecanismo disciplinado para representar e avaliar o Devido à análise de requisitos, obtemos um mecanismo disciplinado que representa e
conteúdo e função de uma WebApp, os modos de interação que os usuários irão encontrar possibilita avaliar o conteúdo e a função de uma aplicação, além das interações entre os
e o ambiente e a infraestrutura em que a WebApp reside. Cada uma dessas características usuários e o ambiente e a infraestrutura em que a aplicação se encontra. Conforme
pode ser representada como um conjunto de modelos que permite que os requisitos da Pressman (2011) temos que cada uma dessas características pode ser representada
WebApp sejam analisados de maneira estruturada, embora os modelos específicos como um conjunto de modelos que possibilitam uma análise de forma estruturada. Os
dependam em grande parte da natureza da WebApp. cinco modelos principais são (PRESSMAN, 2011):
É mais custoso corrigir um software do que levantar os requisitos iniciais. Com isso a
modelagem de requisitos pode ser abordada considerando a entrada da modelagem de
requisitos e a saída. • Modelo de conteúdo — identifica todo o conteúdo a ser fornecido pela WebApp, sendo
que o conteúdo pode ser texto, gráfico, imagem, vídeo e áudio.
• Modelo de interações — descreve a maneira pela qual os usuários interagem com a
Entrada da modelagem de requisitos WebApp.
• Modelo funcional — define as operações que serão aplicadas ao conteúdo da WebApp
e descreve outras funções de processamento independentes do conteúdo, mas
Em relação à entrada da modelagem de requisitos, temos que, apesar de a atividade de necessárias para o usuário final.
comunicação ser fundamental para a elaboração de um projeto, são necessários
refinamentos dessa compreensão com interpretações adicionais. Conforme a evolução da • Modelo de navegação — define a estratégia geral de navegação para a WebApp.
estrutura do problema devem surgir novas perguntas que precisam ser respondidas. O
• Modelo de configuração — descreve o ambiente e a infraestrutura na qual a WebApp
preenchimento dessas lacunas é muito importante.
reside.
Em resumo temos que as entradas para o modelo de requisitos são as informações
obtidas e coletadas durante a atividade de comunicação, sendo essa atividade realizada
por uma descrição de projeto detalhada com cenários de uso e especificações de produto
completas até o conteúdo trocado por mensagens de e-mail.
10
Modelo de conteúdo:
Apresenta todos os elementos que o
WebApp irá apresentar,
independentemente do tipo. Por
exemplo: imagem, gráfico, texto, aúdio;
Os objetos de conteúdo (componentes)
podem ser definidos pelos casos de uso
do aplicativo;
Pode ser representado por uma lista
dos componentes contendo uma
descrição de cada objeto;
A elaboração pode ser antes, durante ou
depois que o WebApp foi desenvolvido.
11
Anotações do slide anterior
Esse modelo contém os objetos de conteúdo e todas as classes de análise, que são as
entidades visíveis aos usuários, que conforme o usuário interage com o aplicativo, são
criadas e manipuladas.
O objeto de conteúdo pode ser identificado por meio de análises da descrição do cenário
para referências diretas e indiretas ao conteúdo e obtidos dos casos de uso.
12
Modelo de interações:
Apresenta a forma com que o usuário
interage com o WebApp;
Descrito por meio de casos de uso;
Para interações mais complexas é
melhor apresentar de forma
esquemática: diagramas de sequência,
diagramas de estados e/ou protótipos
de interfaces do usuário.
13
Anotações do slide anterior
O modelo de interação apresenta a forma com que o usuário se relaciona com o WebApp.
A grande maioria das WebApps possibilita um “diálogo” entre o usuário final e a
funcionalidade da aplicação, o conteúdo e o comportamento de uma aplicação. Esse
diálogo pode ser descrito por meio de um modelo de interações que pode ser composto
por um ou mais dos seguintes elementos: (1) casos de uso, (2) diagramas de sequência,
(3) diagramas de estados, e/ou (4) protótipos de interfaces do usuário.
14
Modelo funcional:
São as funções que ocorrem conforme
o usuário interage com algum conteúdo
do WebApp, como exemplo reproduzir
um vídeo;
Também apresenta funcionalidades
internas que estão relacionadas às
necessidades do usuário, porém sem
relação direta com algum conteúdo;
Esse modelo trata de dois níveis de
funcionalidade: as acessíveis pelo
usuário e as internas, que se encontram
nas implementações.
15
Anotações do slide anterior
Todas as funcionalidades observáveis pelos usuários englobam quaisquer funções de aplicativos móveis ocorre não na funcionalidade fornecida, mas na
processamento iniciadas diretamente pelo usuário. Um WebApp financeiro poderia natureza das informações que podem ser acessadas e nas
implementar uma série de funções financeiras (por exemplo, uma calculadora de crédito maneiras pelas quais podem ser manipuladas.
educativo para o ensino superior ou uma calculadora para planos de aposentadoria).
Essas funções poderiam, na verdade, ser implementadas usando-se operações dentro das • Uma aplicação da funcionalidade da Web CasaSegura poderia ocorrer com o
classes de análise, porém, do ponto de vista do usuário final, a função (mais desenvolvimento de um aplicativo móvel que desse acesso ao sistema CasaSegura a
precisamente, os dados fornecidos pela função) é o resultado visível. partir de um smartphone ou tablet.
• Os requisitos de conteúdo e funções de um aplicativo móvel para
CasaSegura poderiam ser semelhantes a um subconjunto daqueles
• Muitas aplicações em plataforma web e plataforma de aplicações móveis oferecem fornecidos pela web, mas requisitos de interface e segurança
uma ampla gama de funções computacionais que podem ser associadas diretamente específicos precisam ser estabelecidos.
ao conteúdo.
• Podemos identificar os elementos
• (1) Funcionalidade observável pelo usuário – engloba quaisquer
funções de processamento iniciadas diretamente por eles. Exemplo:
um aplicativo móvel financeiro poderia implementar uma variedade
de funções financeiras. Essas funções poderiam ser implementadas
usando-se operações dentro das classes de análise, porém, do
ponto de vista do usuário, a função é o resultado visível.
• (2) Operações contidas nas classes de análise que implementam
comportamentos associados à classe.
• Independentemente do nível de abstração procedural, o diagrama de atividades UML
pode ser utilizado para representar detalhes do processamento.
• No nível de análise, os diagramas de atividades devem ser usados
apenas quando a funcionalidade é relativamente complexa.
• Grande parte da complexidade de muitas aplicações web e
16
Modelo de navegação:
A forma como o usuário irá navegar no
WebApp é tratada neste modelo. Como
ele vai de um componente para outro,
por exemplo;
Todas as possibilidades do usuário
devem ser tratadas, inclusive
mensagens de erro;
Pode apresentar um “mapa do WebApp”
ou um “tour guiado” percorrendo os
principais elementos.
17
Anotações do slide anterior
O modelo de navegação considera a maneira como cada categoria de usuário irá navegar
de um elemento do WebApp (por exemplo, objeto de conteúdo) para outro. A mecânica de
navegação é definida como parte do projeto. Nesse estágio, devemos nos concentrar nos
requisitos gerais de navegação. Por exemplo, será fornecido um “mapa do site” para dar
aos usuários uma visão geral de toda a estrutura da WebApp? Será possível um usuário
fazer um “tour guiado” que destacará os elementos mais importantes (objetos de
conteúdo e funções) disponíveis?
18
Modelo de configuração:
19
Anotações do slide anterior
20
Ciclo de vida:
projeto de arquitetura e de interface
21
Anotações do slide anterior
Nesta outra seção veremos sobre o projeto de arquitetura para WebApps e para
aplicativos móveis.
22
Projeto de Arquitetura para WebApp
Categoria Estilo de arquitetura
Comunicação Service-Oriented Architecture (SOA), Message-bus
23
Anotações do slide anterior
O objetivo da arquitetura de software é atender aos objetivos de uma área de negócio e 1.2 - Message-bus
oferecer os recursos técnicos necessários para a construção de um sistema. Em relação
ao projeto de arquitetura, temos que um estilo de arquitetura é um conjunto de sistemas O Message-bus, em que o termo bus pode ser traduzido como barramento, refere-se à
que operam de uma determinada forma, estando organizadas dentro de uma estrutura troca de informações utilizando como base um ou mais canais de comunicação
específica. Existem diversos estilos arquitetônicos, como deployment, client/server, e (barramento). As aplicações podem interagir sem precisar utilizar informações
outras ramificações de comunicação, como Service-Oriented Architecture (SOA) e desnecessárias.
message-bus:
Arquitetura orientada a serviços: tem como base a organização de serviços nos quais • Modificação de processamento lógico, ou seja, temos que as interações têm como base
que os esquemas e comandos são iguais, assim é simples incluir ou remover uma
vários sistemas que se comunicam por interoperabilidade. Nessa arquitetura a troca de
informações é feita através de protocolos entre os sistemas. aplicação e com isso alterar a lógica com a qual o serviço vai operar;
• Integração com ambientes diferentes por meio do uso do message-bus.
24
Anotações do slide anterior
1. Entender o ambiente físico de implantação; De modo similar às camadas temos as filas, que referem-se à escalabilidade, distribuindo
módulos do código em máquinas diferentes.
2. Conhecer as limitações da arquitetura para o ambiente de implantação;
3. Saber sobre o impacto da segurança e da performance no ambiente de implantação.
3 - Domínio
25
Anotações do slide anterior
4 - Interação
Por meio de técnicas interativas é possível melhorar a arquitetura, tornando-a próxima dos
seus objetivos.
26
Projeto de interface
Estilo Descrição
Linha (linguagem) Acesso direto à funcionalidade, permitindo melhor eficiência
de comando para o usuário mais experiente.
Valoriza a forma de comunicação, assim melhorando a
Linguagem natural
interação da aplicação com o usuário.
Apresenta um formato e um conjunto claro de opções para
Menu o usuário. Mais simples de usar.
Preenchimento Indicado quando temos diferentes categorias de dados que
de formulário devem ser fornecidos ao sistema.
Conceito visual de tarefa, por exemplo a ação de mover
Manipulação direta
arquivos de uma pasta para outra.
27
Anotações do slide anterior
28
Exemplo prático – ciclo de vida de
desenvolvimento de um aplicativo móvel e de um
WebApp
29
Anotações do slide anterior
30
Exemplo – Modelo de Conteúdo
Artefato de modelo
de conteúdo
Árvore de dados
31
Anotações do slide anterior
Temos como foco o modelo de conteúdo, no qual exploraremos o exemplo de uma árvore • Artefato de modelo de conteúdo – árvore de dados: ao analisarmos a figura, temos
de dados, extraído de Pressman e Maxim (2016, p. 217). uma árvore que representa uma hierarquia de informações usadas para descrever um
componente. Os dados simples ou compostos (um ou mais valores de dados) são
representados com retângulos de fundo branco. Os objetos de conteúdo são
Vimos nesta aula que o modelo de conteúdo contém elementos estruturais que dão uma representados com retângulos sombreados. A descrição é definida por cinco objetos
visão importante dos requisitos de conteúdo de uma aplicação e que o conteúdo pode ser de conteúdo (os retângulos sombreados).
desenvolvido antes da implementação da aplicação, enquanto ela está sendo construída.
Aqui utilizaremos um exemplo de forma gráfica (árvore de dados) para ilustrar as relações
para o objeto Componente.
32
Considerações finais
33
Modelagem dos requisitos recebe como entrada as
informações e tem como saída cinco modelos para
analisar os requisitos.
34
Anotações do slide anterior
Ao longo desta aula vimos em mais detalhes sobre os requisitos para o desenvolvimento
de aplicativos para dispositivos móveis:
35
Referências bibliográficas
36