Buscar

2 1 Interfaces, tipos e funções

Prévia do material em texto

ANÁLISE E PROJETO 
DE SISTEMAS
Priscila Gonçalves
 
Interfaces, tipos e funções
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
 � Identificar os conceitos sobre interfaces.
 � Listar as particularidades de um projeto de interface.
 � Explicar a prototipação de uma interface.
Introdução
Tem sido cada vez maior a necessidade de melhorar os projetos de sof-
tware, os quais têm maior nível de complexidade e precisam de profis-
sionais multidisciplinares. Dentre a equipe multidisciplinar pertencente a 
um projeto de software, podem-se citar gerentes de projeto, stakeholders, 
desenvolvedores, programadores, designers de interface de usuário, 
clientes/usuários, patrocinadores, gerentes de portfólios, gerentes de 
programas, gerentes funcionais, gerentes de operações, fornecedores 
e parceiros. 
Para que ocorram melhores resultados nesse sentido, o gerenciamento 
de projetos de software cresce em sua aplicabilidade. Neste capítulo, você 
vai estudar conceitos sobre interfaces, além de identificar e descrever 
particularidades de um projeto de interface e aprender sobre prototipação 
de uma interface.
O que são interfaces?
Atualmente, cresce a necessidade de melhorar os projetos, em geral os que têm 
maior nível de complexidade e que precisam de profissionais multidiscipli-
nares. Para que ocorram melhores resultados nesse sentido, o gerenciamento 
de projetos cresce em sua aplicabilidade. Essa complexidade na gestão de 
projetos, que aumenta a cada dia, com trabalhos distribuídos em várias equipes 
demanda muito esforço e cuidados. Assim, serão apresentados neste capítulo 
mecanismos para gerar interfaces utilizadas em gerenciamento de projetos, os 
quais mostram a importância das interações entre pessoas gerenciadas, evitando 
incidentes ou mal-entendidos por falta de informação ou pela distorção dela.
O projeto de interface para software é um conjunto de desenhos com de-
talhes e especificações que notificam como as coisas e as informações fluem 
para dentro e para fora do sistema. Elementos de um projeto de interface para 
software representam fluxos de informação que entram e saem do sistema, e 
também a forma como são transmitidos entre componentes que foram definidos 
como parte da arquitetura.
Interface é um conjunto de operações que descreve alguma parte do com-
portamento de uma classe e dá acesso a essas operações. Para que um sof-
tware seja bem-sucedido, ele tem de, obrigatoriamente, apresentar uma boa 
usabilidade, que facilitará e o tornará eficiente para que um humano consiga 
utilizá-lo com todas as suas funções e recursos.
Elementos de um projeto de interfaces
São três os elementos importantes de projeto de interfaces:
 � interface do usuário (UI, user interface);
 � interfaces externas para outros sistemas, dispositivos, redes, produtores 
e consumidores das informações;
 � interfaces internas entre vários componentes ou várias partes do projeto.
Todos esses elementos viabilizam as comunicações externa e interna, assim 
como colaboram entre componentes para o preenchimento da arquitetura do 
software.
Particularidades de um projeto de interface
Para melhor entender de que se trata um projeto de interface, você aprenderá 
mais a respeito de seus principais elementos.
Projetar a UI (usabilidade) é de suma importância na engenharia de sof-
tware. Projetar a usabilidade incorpora elementos estéticos como: layout, cor, 
imagens e mecanismos de interação, elementos ergonômicos como: o layout 
e o posicionamento de informações, metáforas, navegação da UI e elementos 
técnicos como: padrões UI, componentes reutilizáveis. Geralmente, a UI é 
um subsistema exclusivo da arquitetura da aplicação geral.
Interfaces, tipos e funções2
Quando falamos em interfaces externas, o projeto exige informações defi-
nitivas sobre entidades para as quais as informações são enviadas ou recebidas. 
Tais informações devem ser coletadas durante a engenharia de requisitos e 
devem ser verificadas assim que o projeto de interface for iniciado. O projeto 
de interfaces externas deve conter verificação de erros e características de 
segurança apropriadas.
Projetar interfaces internas está muito ligado ao projeto dos componentes, 
no qual as realizações de projeto das classes de análise representam operações 
e os esquemas de troca de mensagens necessários permitindo a comunicação 
e a colaboração entre as operações em várias classes. A mensagem individu-
almente deve ser criada para abranger a transferência de informações exigidas 
e os requisitos funcionais específicos da operação solicitada.
Às vezes, a interface é modelada de uma maneira parecida com a de uma 
classe. Conforme citam Pressman e Maxim (2016, p. 246), em UML a interface 
geralmente é definida da seguinte maneira: “Interface é um especificador para 
as operações [públicas] visíveis externamente de uma classe, componente ou 
outro classificador (incluindo subsistemas), sem a especificação da estrutura 
interna”. Ou seja, interface é um conjunto de operações que descreve alguma 
parte do comportamento de uma classe e dá acesso a essas operações. 
Interfaces fornecem informações de suma importância sobre comunicação 
e colaboração. Porém, a representação totalmente livre de interfaces tende a 
complicar os diagramas de componentes. Ambler (2004) recomenda o seguinte:
1. a representação “pirulito” de uma interface deve ser usada em conjunto 
com a abordagem mais formal da UML, que usa retângulos e setas 
pontilhadas, quando os diagramas se tornam mais complexos; 
2. por consistência, as interfaces devem fluir da esquerda para a direita 
do retângulo do componente;
3. devem ser mostradas apenas as interfaces relevantes para o componente 
em consideração, mesmo que outras estejam disponíveis. 
Dessa forma, torna-se mais simples a natureza visual dos diagramas de 
componentes da UML. A Figura 1 traz uma representação da interface para 
Painel Controle. 
3Interfaces, tipos e funções
Figura 1. Representação da interface para Painel Controle.
Fonte: Pressman e Maxim (2016, p. 246). 
No exemplo apresentado, a função de segurança do Casa Segura faz uso 
de um painel de controle que possibilita a um proprietário de imóvel controlar 
certos aspectos da função de segurança. Em uma versão mais avançada do 
sistema, as funções do painel de controle poderiam ser implementadas por meio 
de uma plataforma móvel. A classe Painel Controle fornece o comportamento 
associado a um teclado e, consequentemente, deve implementar as operações 
lerTeclaPressionada() e decodificarTecla(). Se essas operações tiverem de ser 
fornecidas para outras classes (no caso, Tablet e SmartPhone), é útil definir 
uma interface conforme mostra a figura. A interface, chamada Teclado, é 
apresentada como um estereótipo <<interface>>, ou como um pequeno círculo 
identificado, ligado à classe por meio de uma linha. A interface é definida 
sem nenhum atributo e conjunto de operações necessárias para obter o com-
portamento de um teclado.
Interfaces, tipos e funções4
A linha tracejada com um triângulo com fundo branco em sua ponta indica 
que a classe Painel Controle fornece operações de Teclado como parte de seu 
comportamento. Na UML, isso é caracterizado como uma realização. Ou seja, 
parte do comportamento de Painel Controle será́ implementada realizando as 
operações de Teclado. Essas operações serão fornecidas para outras classes 
que acessam a interface. Veja na Figura 2 um processo de projeto de interface 
do usuário.
Figura 2. Processo de projeto de interface do usuário.
Fonte: Pressman e Maxim (2016, p. 324).
Validação da interface Análise e modelagem da interface
Projeto de interfaceConstrução da interface
Segundo Pressman e Maxim (2016), as características das interfaces podem mudar ao 
longo do tempo. Consequentemente, é papel do projetista garantir que a especificação 
para uma interface seja precisa e completa.
Conforme apresentado na Figura 2, todo o processo de análise e projeto 
parainterfaces do usuário deve ser iterativo e pode ser representado por meio 
de um modelo espiral. O processo de análise e projeto de interfaces do usuário 
começa no interior da espiral e engloba quatro atividades estruturais distintas: 
5Interfaces, tipos e funções
1. análise e modelagem de interfaces;
2. projeto de interfaces;
3. construção de interfaces;
4. validação de interfaces. 
A espiral indica que cada uma dessas tarefas ocorrerá mais de uma vez; 
cada volta em torno da espiral representa a elaboração adicional dos requisitos.
A figura mostra que cada uma dessas tarefas vai ocorrer mais de uma vez, 
com cada passo em torno da espiral representando refinamento dos requisitos 
e do projeto resultante. A atividade de construção envolve prototipagem, o 
único modo prático de validar o que foi projetado. A análise de interface 
tem como foco o perfil do usuário que vai interagir com o sistema. Nível 
de aptidão, entendimento do negócio e receptividade geral ao novo sistema 
são registrados e diferentes categorias de usuários são definidas. Para cada 
categoria de usuário, são levantados requisitos. Na análise mais detalhada, as 
tarefas que o usuário realiza para alcançar as metas do sistema são identifica-
das, descritas e elaboradas ao longo de vários passos iterativos pela espiral. 
A construção da interface inicia com a criação de um protótipo que permite 
a avaliação de cenários de uso. À medida que o processo de projeto iterativo 
continua, ferramentas de desenvolvimento de interface com o usuário podem 
ser usadas para completar a construção da interface. A validação mantém o 
foco em capacidade da interface de implementar as tarefas do usuário cor-
retamente, em acomodar todas as variantes de tarefa e em atingir todos os 
requisitos gerais do usuário, assim como no grau em que a interface é fácil de 
usar e de aprender e na aceitação dos usuários da interface como ferramenta 
útil ao seu trabalho.
Acesse o link e saiba mais a respeito de conceitos sobre 
interfaces modernas: 
https://goo.gl/6jBrtw
Interfaces, tipos e funções6
https://goo.gl/6jBrtw
O exemplo a seguir representa a criação de uma interface para um sistema de emprés-
timos de livros; nesse caso, trata-se do cadastro de um novo livro para a biblioteca.
Prototipação de uma interface
A prototipação do desenvolvimento de software tem como objetivo avaliar 
as ideias e validar se todos os requisitos estabelecidos serão atendidos ou se 
deverão sofrer alterações devido a sua usabilidade e funcionalidade, garantindo 
o alinhamento das informações. Uma de suas principais funções é minimizar 
os riscos, de forma que o cliente faça os testes antes da implantação.
Ainda que a elucidação de requisitos por si só aborde uma quantidade 
significativa de informações que deverão estar dispostas na interface, é durante 
a interação do usuário com o sistema que os detalhes são percebidos. Para 
projetar de forma mais eficaz, a utilização de protótipos constitui a forma 
mais eficiente de simular essa interação, e deve ser feita ainda no período de 
concepção do sistema, evitando gastos desnecessário de tempo e monetários. 
A interface é o principal canal de comunicação entre o sistema e o usuário, 
7Interfaces, tipos e funções
e é sua função oferecer a melhor experiência. Ou seja, a interface deve en-
tregar ao usuário a mensagem objetiva para entender suas necessidades sem 
criar dúvidas (cenário ideal). Logo, deve ser tratada desde a concepção de 
um software, pois é ela quem define e exprime a interação do sistema com 
o usuário ou vice-versa; a programação deve seguir o visual, e não o visual 
seguir a programação.
Vantagens na utilização de prototipação
O tempo que é gasto em prototipação do software será diminuído em sua 
implantação. Entre as vantagens em utilizar-se desse artifício, estão:
 � melhorar a comunicação entre desenvolvedores e usuários finais;
 � identificar de forma mais rápida requisitos que não estejam presentes;
 � verificar e analisar a experiência do usuário no sistema;
 � reduzir retrabalho no desenvolvimento;
 � estimar de forma mais precisa a complexidade e o tempo de 
desenvolvimento;
 � viabilizar a realização de testes de interações.
Classificações de protótipos quanto à fidelidade
Protótipos podem ser de baixa, média e alta fidelidade. 
Protótipos de baixa fidelidade são chamado de sketches, geralmente 
concebidos na fase inicial, durante a concepção do software. Normalmente 
são desenhados à mão e feitos de maneira superficial, apenas verificando a 
ideia do projeto e definindo de modo superficial a interação com o usuário, 
sem a preocupação de layout, disposições e cores.
Protótipos de média fidelidade são os conhecidos wireframes desen-
volvidos na fase de arquitetura da informação. Utilizam-se papel e lápis ou 
software de prototipação, como o Balsamiq. Apresentam estrutura e conteúdo 
de interface, definindo relação de elementos em um layout básico do projeto.
Interfaces, tipos e funções8
Protótipos de alta fidelidade são os mockups ou protótipos funcionais, nos 
quais há uma representação mais próxima do sistema que será desenvolvido. A 
forma visual, maneira de navegação e interatividade são concebidas e aplicadas 
nesse modelo de protótipo. É realizado na fase final de definição da interface, 
e utilizam-se programas de design gráfico para seu desenvolvimento, como 
Photoshop ou Fireworks. Ainda fazem uso de ferramentas de codificação, 
como Sublime Text ou Dreamweaver, e são aplicadas algumas linguagens 
de programação, como html, css e jQuery. Na Figura 3, a seguir, é possível 
visualizar um exemplo de protótipo realizado no Balsamiq. Já a Figura 4 
apresenta um sistema de protótipo de baixa fidelidade.
Figura 3. Exemplo de protótipo realizado no Balsamiq.
Fonte: Protótipo realizado no Balsamiq (2018).
9Interfaces, tipos e funções
Figura 4. Exemplo de protótipo de baixa fidelidade.
Fonte: Protótipo de baixa fidelidade (2018).
AMBLER, S. W. The object primer: agile model-driven development with UML 2.0. 3rd 
ed. Cambridge, UK: Cambridge University Press, 2004.
PRESSMAN, R. S.; MAXIM, B. R. Engenharia de software: uma abordagem profissional. 
8. ed. Porto Alegre: AMGH, 2016.
PROTÓTIPO de baixa fidelidade. Disponível em: <https://i.stack.imgur.com/EloEs.
jpg>. Acesso em: 10 jul. 2018.
PROTÓTIPO realizado no Balsamiq. Disponível em: <http://videos.web-03.net/arti-
gos/Eduardo_Malherbi/Balsamiq_Mocukp/Balsamiq_Mockup11.jpg>. Acesso em: 
10 jul. 2018.
Interfaces, tipos e funções10
https://i.stack.imgur.com/EloEs.
http://videos.web-03.net/arti-
Leituras recomendadas
AMBROSE, G.; HARRIS, P. Design thinking. Porto Alegre: Bookman, 2011.
BALSAMIQ. Disponível em: <https://balsamiq.com/>. Acesso em: 11 jun. 2018.
CONCEITOS de interfaces modernas. 2015. Disponível em: <https://mva.
microsoft.com/pt-br/training-courses/conceitos-de-interfaces-modernas- 
10393?l=P8lT2Lt6_7104984382>. Acesso em: 10 jul. 2018.
VIANNA, M. et al. Design thinking: inovação em negócios. Rio de Janeiro: MJV Press, 
2012. Disponível em: <https://cdn2.hubspot.net/hubfs/455690/Ofertas/E-books/
Arquivos/Livro_Design_Thinking_-_Inovao_Negcios.pdf>. Acesso em: 11 jun. 2018.
11Interfaces, tipos e funções
https://balsamiq.com/
http://microsoft.com/pt-br/training-courses/conceitos-de-interfaces-modernas-
https://cdn2.hubspot.net/hubfs/455690/Ofertas/E-books/
Encerra aqui o trecho do livro disponibilizado para 
esta Unidade de Aprendizagem. Na Biblioteca Virtual 
da Instituição, você encontra a obra na íntegra.