Escolar Documentos
Profissional Documentos
Cultura Documentos
Da Anlise ao Projeto
Prof. M.Sc. Nathielly de Souza Campos E-mail: nathielly@unisuamdoc.com.br Lattes: http://buscatextual.cnpq.br/buscatextual/ visualizacv.do?id=K4711153U6
1
Sumrios
Projeto de Interface Projeto: Sistemas baseado em Tempo Real Projeto: Sistemas Crticos Modelos de Sistemas Projeto de Arquitetura Paradigmas
Projeto de Interface
Como deve ser a apresentao do sistema? Como devo agrupar as funcionalidades? Devo seguir quais padres de interface?
O Projeto de Interface
Principais produtos:
Produo de prottipos Projeto esttico Projeto de arquitetura da informao Projeto de contedo Projeto de navegabilidade
O Projeto de Interface
Principais atividades:
1. Revisar categorias dos usurios: tarefas, casos de uso, etc.
Nmero de Ator ordem 1. Caixeiro Freqncia de uso Dirio em horrio comercial Dirio Nvel de instruo 1 Grau Proficincia na aplicao Operacional Proficincia em informtica Aplicao
1. 1.
Gerente
2 Grau 3 grau
Completa Completa
O Projeto de Interface
Principais atividades (continuao) :
2. Desenvolver prottipo (leiaute) 3. Mapear objetivos dos usurios em aes de interface especificas:
O Projeto de Interface
Principais atividades (continuao) :
4. Definir conjunto de tarefas de usurio associadas a cada ao.
Nm Nome Descrio ero 1 Nome Nome do usurio. Valores vlidos Caracter es alfabti cos e espaos Identificador de login do usurio. Caracter es alfanum ricos Formato Tipo Restries At 60 Texto Obrigatrio / caracter altervel. es
Login
O Projeto de Interface
Principais atividades (continuao) :
5. Desenvolver imagens de tela para cada ao. 6. Refinar leiaute da interface e as imagens da tela a partir do projeto esttico. 7. Identificar os objetos de interface do usurio que so exigidos para implementar a interface. 8. Desenvolver uma representao comportamental da interface.
O Projeto de Interface
Produo de wireframes (projeto de arquitetura)
O Projeto de Interface
Produo de wireframes (projeto de contedo)
10
O Projeto de Interface
Produo de wireframes ( projeto esttico)
11
O Projeto de Interface
Diferentes usurios, diferentes objetivos.
12
O Projeto de Interface
Mapa preliminar do site - navegao
13
O Projeto de Interface
Como ficar a estrutura da informao?
mais nveis: maior a frustao.
14
O Projeto de Interface
Como ficar a estrutura da informao?
Linear: apenas uma sequencia previsvel de interao. Ex: tutorial, preenchimento de um formulrio. Matriz (grade): contedo organizado em duas ou mais dimenses. Ex: horizontal se apronfunda em um assunto, na vertical modifica-se o assunto. Rede: apia a navegao em itens correlacionados. Difcil rastreamento. Ex: Wikipedia.com
15
O Projeto de Interface
Como ficar a estrutura da informao?
Estruturas hierrquicas: reflete taxionomias.
Ex: Pessoas famosas > profisso > entretenimento > ator > cinema > comdia > Adam Sandler. Ex: catlogo de produtos
16
O Projeto de Interface
Disciplina Interao Humano Computador (IHC) Padres W3C (www.w3c.br) Aspectos que devem ser observados:
Familiaridade do usurio (experincia) Consistncia da interface Surpresa mnima Facilidade de recuperao Guia de usurio Diversidade de usurio
17
O Projeto de Interface
Aspectos que devem ser observados: (continuao)
Uso adequado de cores Densidade informacional Acessibilidade Contexto (cenrio atual do usurio) Cultura Velocidade de operao
18
O Projeto de Interface
Dicas:
Evitar o excesso de janelas Abrir nova janela quando forem abertos arquivos externos Manter a consistncia na aparncia e no comportamento das janelas e objetos Rtulos devem ser significativos Prover aceleradores e atalhos Utilizar dois nveis de acesso (Regras Miller) Utilizar com cuidado negrito e itlico
19
O Projeto de Interface
Dicas (continuao):
Utilizar letras maisculas e minsculas Planejar aes que o usurio pode reverter Utilizar cores para representar mudana nos objetos Considerar convenes culturais Utilizar piscamento somente em situaes importantes Planejar recursos de udio Alinhamento de linhas e colunas
20
O Projeto de Interface
Dicas (continuao):
Planejar mensagens concisas Utilizar cones de fcil reconhecimento Distribuir balanceadamente as informaes no espao da interface Distribuir balanceadamente as reas vazias no espao da interface Agrupar informaes correlatas Diferenciar visivelmente campos obrigatrios dos opcionais
21
O Projeto de Interface
Dicas (continuao):
Utilizar rtulos e abreviaes familiares Usar navegao lgica Utilizar navegao livre (mouse, teclado) Prover valores e mscaras para os campos Prover mensagens explicativas e recursos de ajuda (comentrios, desenho de processos, etc.) Suportar a edio e correo de campos Destacar opes padres de modo que o usurio possa escolher com mais facilidade
22
O Projeto de Interface
Dicas (continuao):
Manter leiaute consistente Ordenar objetos dentro das caixas Usar indicaes visuais para apresentao de grupos de informaes Formulrios:
Campos ordenados e agrupados logicamente Delimitao de visual dos grupos de informao Rtulos e abreviaes consistentes Navegao por tabulao entre campos lgica Campos editveis so habilitados no tempo adequado
23
O Projeto de Interface
Leia mais em:
W3C.org SUS - System Usability Scale; SUMI - Software Usability Measurement Inventory; QUIS - Questionnaire for User Interaction Satisfaction; UsabilyNet.org
24
25
26
28
29
Sistemas Crticos
Sistemas que controlam mquinas no assistidas ou controlam mquinas que exigem nvel alto de confiabilidade.
30
No de corrompimento ou de corrompimento;
Ex: o sistema falha ao operar com qualquer carto inserido. O software dever ser reinicializado.
31
32
Modelagem de Software
A modelagem de sistemas de software consiste na utilizao de notaes grficas e textuais com o objetivo de construir modelos que representam as partes essenciais de um sistema, considerando-se diversas perspectivas diferentes e complementares.
Quais modelos devo utilizar em meu projeto? Qual o nvel de abstrao que devo utilizar?
33
Modelos de Software
Na construo de sistemas de software, assim como na construo de sistemas habitacionais, tambm h grande complexidade.
A construo desses sistemas necessita de um planejamento inicial.
Um modelo pode ser visto como uma representao idealizada de um sistema que se planeja construir. Maquetes de edifcios e de avies e plantas de circuitos eletrnicos so apenas alguns exemplos de modelos.
34
Diagramas e Documentao
Diagramas permitem a construo de uma representao concisa de um sistema a ser construdo.
uma figura vale por mil palavras
No entanto, modelos tambm so compostos de informaes textuais. Dado um modelo de uma das perspectivas de um sistema, dizse que o seu diagrama, juntamente com a informao textual associada, formam a documentao deste modelo.
36
Necessidade de um Padro
Percebeu-se a necessidade de um padro para a modelagem de sistemas, que fosse aceito e utilizado amplamente. Alguns esforos nesse sentido de padronizao, o principal liderado pelo trs amigos. Surge a UML (Unified Modeling Language) em 1996 como a melhor candidata para ser linguagem unificadora. Em 1997, a UML aprovada como padro pelo OMG (Object Management Group). Desde ento, a UML tem tido grande aceitao pela comunidade de desenvolvedores de sistemas. uma linguagem ainda em desenvolvimento. Atualmente na verso 2.0.
37
38
Diagramas da UML
http://www.omg.org/gettingstarted/what_is_uml.htm
40
41
42
43
Diagrama de contexto
<<extend>> Emisso de Nota Fiscal Caixeiro Operao de Venda
Gestor de Estoque
Sistema Financeiro
Abertura do Caixa
Gesto de Mercadorias
Gerente
Gestor de Compras
44
Diagrama de Classe
O modelo de anlise no representa detalhes da soluo do problema.
Embora este sirva de ponto de partida para uma posterior definio das classes de software (especificao).
Venda Pagamento quantia 1 Pago-por 1 Anlise
data hora
Projeto (Especificao) Venda Pagamento -quantia: Currency +getValor(): Currency 1 Pago-por 1 -data:Date -hora:Time +getTotal():Currency
45
Diagrama de objetos
produto20 : Produto nome = "Caderno M" descrio = "Caderno em espiral tamanho mdio" preoUnitrio = 4,50 desconto = 15 produto12 : Produto nome = "Caneta ESF" descrio = "Caneta esferogrfica 5mm" preoUnitrio = 1,20 desconto = 2 produto07 : Produto nome = "Esquadro" descrio = "Esquadro de acrlico 20 cm" preoUnitrio = 2,35 desconto = 10
item1 : ItemPedido quantidade = 6 Pedido1 : Pedido ItemPedido Produto Pedido data = 13/09/2002 hora = 10:00am
46
Modelando interaes
O objetivo da modelagem de interaes identificar mensagens e, em ltima anlise, responsabilidades.
47
Processo iterativo
48
Diagrama de Atividades
49
Projeto de Arquitetura
Como o sistema deve ser organizado? Como deve ser a estrutura geral do sistema?
50
51
Arquitetura em grande escala preocupa-se com a arquitetura de sistemas corporativos complexos que incluem outros sistemas, programas e componentes do programa.
Esses sistemas empresariais esto distribudos em diferentes computadores, que podem ser possudos e geridos por diferentes empresas.
52
53
Diagrama de contexto
<<extend>> Emisso de Nota Fiscal Caixeiro Operao de Venda
Gestor de Estoque
Sistema Financeiro
Abertura do Caixa
Gesto de Mercadorias
Gerente
Gestor de Compras
55
No entanto, uma srie de decises comuns abrangem todos os processos de projeto e essas decises afetam as caractersticas no-funcionais do sistema.
56
Reuso de arquitetura
Muitas vezes os sistemas no mesmo domnio tm arquiteturas similares que refletem os conceitos do domnio.
Arquitetura genrica.
Linhas de produtos de aplicaes so construdas em torno de uma arquitetura central com variantes que satisfaam os requisitos particulares do cliente. A arquitetura de um sistema pode ser projetada em torno de um ou mais padres ou estilos de arquitetura. Essas capturam a essncia de uma arquitetura e podem ser instanciadas de diferentes maneiras.
57
Vises de arquitetura
Que pontos de vista ou perspectivas so teis ao fazer o projeto e documentar a arquitetura de um sistema?
Uma viso de processo, que mostra como, em tempo de execuo, o sistema composto por processos de interao.
Uma viso de desenvolvimento, que mostra como o software decomposto para o desenvolvimento. Uma viso fsica, que mostra o hardware do sistema e como os componentes do software so distribudos entre os processadores do sistema. Usando casos de uso relacionados ou cenrios (+1).
60
Arquitetura em camadas
Usada para modelar a interface dos subsistemas.
Organiza o sistema em um conjunto de camadas (ou mquinas abstratas) cada uma das quais fornecem um conjunto de servios.
Apoia o desenvolvimento incremental de subsistemas em diferentes camadas. Quando uma camada na interface muda, apenas a camada adjacente afetada. No entanto, frequentemente, artificial estruturar sistemas dessa forma.
61
Arquitetura em camadas
62
63
Pontos Importantes
Uma arquitetura de software uma descrio de como um sistema de software organizado.
Decises de projeto de arquitetura incluem decises sobre o tipo de aplicao, a distribuio do sistema, e o estilo de arquitetura a ser usada.
As arquiteturas podem ser documentadas de vrias perspectivas ou vises diferentes tais como uma viso conceitual, uma viso lgica, uma viso de processo, uma viso de desenvolvimento e uma viso fsica.
Os padres de arquitetura so um meio de reusar o conhecimento sobre as arquiteturas genricas de sistemas. Eles descrevem a arquitetura, explicam quando podem ser usados e descrevem suas vantagens e desvantagens.
64
Arquitetura de repositrio
Subsistemas devem trocar dados. O que pode ser feito de duas maneiras:
Dados compartilhados so guardados em um banco de dados central ou repositrio e podem ser acessados por todos os subsistemas;
Cada subsistema mantm seu prprio banco transmite dados explicitamente para outros subsistemas. de dados e
Quando grandes quantidades de dados devem ser compartilhadas, mais comum o uso do modelo de repositrio compartilhado pois esse um eficiente mecanismo de compartilhamento de dados.
65
O padro Repositrio
66
67
Arquitetura cliente-servidor
O modelo de sistema distribudo mostra como os dados e processamento so distribudos atravs de uma srie de componentes. Pode ser implementado em um nico computador. Um conjunto de servidores autnomos que prestam servios especficos, tais como impresso, gerenciamento de dados, etc. Um conjunto de clientes que solicitam estes servios. Rede que permite aos clientes acessar os servidores.
68
69
O padro cliente-servidor
70
Quando as transformaes so sequenciais, esse um modelo de lote sequencial amplamente usado em sistemas de processamento de dados.
No realmente adequado para sistemas interativos.
71
72
73
Arquiteturas de aplicaes
Os sistemas de aplicaes so projetados para atender a uma necessidade organizacional.
Ser? Entretenimento, web 2.0, etc.
Como as empresas tm muito em comum, seus sistemas de aplicaes tambm tendem a ter uma arquitetura comum que reflete os requisitos da aplicao. Reusabilidade: uma arquitetura genrica de aplicao uma arquitetura para um tipo de sistema de software que pode ser configurada e adaptada para criar um sistema que atenda aos requisitos especficos.
74
75
Da perspectiva do usurio uma transao : Qualquer sequncia coerente de operaes que satisfaa uma meta; Por exemplo - encontrar os horrios de vos de Londres a Paris.
78
79
Esses so sistemas baseados em transaes pois geralmente a interao com esses sistemas envolve transaes de banco de dados.
As camadas incluem: Interface de usurio Comunicaes de usurio Recuperao e modificao de informaes Banco de dados do sistema
80
Modelo em camadas
81
Modelo em camadas
82
O servidor web responsvel por todas as comunicaes do usurio, com a interface do usurio implementada usando um browser;
O servidor da aplicao responsvel pela implementao da lgica especfica de aplicao assim como o armazenamento de informaes e solicitaes de recuperao;
O servidor do banco de dados move as informaes de e para o banco de dados e lida com o gerenciamento de transaes.
83
Utilizado em situaes em que a maneira mais fcil para se resolver um problema descrever um algoritmo ou descrever os dados do sistema.
Ferramentas meta-case processam descries de ferramentas, regras de mtodos, etc. e geram ferramentas.
84
Componentes do compilador
A tabela de smbolos, que contm informao sobre os nomes de entidades (variveis, nomes de classes, nomes de objetos, etc.) usadas no texto que est sendo traduzido. Uma rvore de sintaxe, uma estrutura interna que representa o programa a ser compilado. Um analisador lxico, que toma os tokens de entrada de linguagem e os converte para uma forma interna. Um analisador sinttico, que verifica a sintaxe da linguagem sendo traduzida. Um analisador semntico que usa informaes da rvore de sintaxe e a tabela de smbolos para verificar a correo semntica do texto da linguagem de entrada. Um gerador de cdigo que 'anda' na rvore de sintaxe e gera cdigos de mquina abstrata.
85
Arquitetura de um compilador
86
Pontos Importantes
Modelos genricos de arquiteturas de sistemas de aplicao nos ajudam a entender e comparar as aplicaes, validar projetos de sistemas de aplicao e avaliar componentes para reuso em larga escala. Os sistemas de processamento de transaes so sistemas interativos que permitem que a informao em um banco de dados seja acessada remotamente e modificada por vrios usurios. Os sistemas de processamento de linguagem so usados para traduzir textos de uma linguagens para outra e para realizar as instrues especificadas na linguagem de entrada. Eles incluem um tradutor e uma mquina abstrata que executa a linguagem gerada.
87
Sistemas Colaborativos
CSCW (Computer Supported Cooperative Work) Ciberespao especfico Ambientes de interao humana
88
Sistemas Colaborativos
Folksonomia
Folk = povo Taxonomia = classificao
Tags : palavra-chave,
termos, rtulos. A opnio dos usurios interferem na avaliao de um contedo num determinado momento.
Sistemas Colaborativos
Folksonomia:
Independe de especialista de domnios.
A opinio dos usurios interfere na avaliao de um contedo num determinado momento.
Livre de categorizao
Usurio organiza a informao No necessita aprender um vocabulrio controlado
Captura de vocabulrio
Unio de vocabulrio de usurios Criao da folksonomia
Sistemas Colaborativos
Folksonomia:
Correo ortogrfica
Apontar erro de digitao Apresentar opo durante escrita
Stemming
Reduzir a duplicidade de termos Aplicao de algoritmos de extrao de radicais
Quimica, Quimicos, Quimicamente
Recomendao de Tags
Sugesto de tags de outros usurios Utilizao de IA (aprendizado de mquina) Taxa de ocorrncia de Tags
Sistemas Colaborativos
Folksonomia:
Filtragem
Encontrar facilmente uma informao Apresentar objetos similares Similaridade pela co-ocorrncia de tags uso da IA
Conscientizao
Ambiente empresarial: treinamento Na Web: tentativa erro, ajudas, dicas, boca-a-boca
Sistemas Colaborativos
Problemas
Erros de ortografia
Soluo: correo ortogrfica
Sistemas Colaborativos
Problemas (continuao):
Tag sinnimas: termos diferentes remetendo a mesmo significado > taxionomia, taxinomia
Soluo: stemming (extrao de radicais, agrupamento e classificao de palavras), conscientizao e recomendao
Sistemas Colaborativos
Problemas (continuao):
Sobrecarga de tags: dificuldade de classific-las.
Soluo: filtragem, conscientizao
Sistemas Colaborativos
Heursticas Usabilidade para Sistemas Colaborativos:
Oferecer meios para a comunicao verbal intencional e apropriada
Pessoas devem ser capazes de conversar e ouvir conversas
Sistemas Colaborativos
Heursticas Usabilidade para Sistemas Colaborativos (continuao):
Oferecer segurana
Conflito no uso de mesmo objeto
Sistemas Colaborativos
Heursticas Usabilidade para Sistemas Colaborativos (continuao):
Facilitar a identificao de colaboradores e o contato entre eles
Quem est online? Oferecer opes de contato
Mensagem Chat Post
Sistemas Colaborativos
Avaliao de sociabilidade:
Por que devo participar dessa comunidade? Como me torno ou deixo de ser um membro? O ttulo da comunidade eficaz? A incluso de participantes deve ser controlada? Como fao para ler as mensagens? necessrio apoio para novos membros? Qual? A comunidade segura? A comunidade necessita de moderador?
99
Sistemas Colaborativos
Avaliao de sociabilidade (continuao):
Qual o nvel de confidencialidade e seguranas necessrios? Consigo fazer o que desejo com facilidade? Posso me expressar como desejo? Imagem, foto, arquivo, texto, chat, privado, etc. Por que devo voltar? O que vai estimular a pessoa a voltar regularmente comunidade? Deve oferecer servios de computao mvel e ubqua (unipresente)?
100
Sistemas Colaborativos
Vdeos interessantes sobre as redes sociais:
1. TED - Clay Shirky: Como a internet ir (um dia) transformar o governo http://www.ted.com/talks/lang/ptbr/clay_shirky_how_the_internet_will_one_day_transform_governme nt.html?source=facebook#.UMTicb1nqDg.facebook Evoluo das Teorias sobre Redes Sociais (http://www.youtube.com/watch?v=J6qYldUapX0) Video - Aprendizagem e Criao em Rede - Augusto de Franco (http://vimeo.com/37277095) Topologias de redes/Holografia (http://www.youtube.com/watch?v=U-gatInMTc) Vdeo "Seis Graus de Separao" (https://www.youtube.com/watch?v=nmoEZKPtcHw)
101
2. 3. 4.
5.
Emergncia
Segundo Steve Johnson, a Emergncia significa:
desistir do controle deixar o sistema governar por si mesmo o quanto possvel deixar o sistema aprender a partir das interaes Interaes locais podem levar a sabedoria coletiva emergncia bottom-up caracterizada pela inteligncia emergente: capacidade de guardar, recuperar, reconhecer e responder padres
Colnia de insetos
caracterizada por:
grande quantidade de indivduos cada indivduo exibe um comportamento simples a colnia apresenta comportamento complexo a deciso distribuda: descentralizada a colnia encontra o menor caminho entre o alimento e o ninho
Colnia de formigas
caracterizada por:
formigas procuram alimento de maneira aleatria, prximo ao ninho, inicialmente. durante o percurso, a trilha marcada por feromnio quando necessrio escolher um caminho, as formigas escolhem trilhas que possuem maior quantidade de feromnio desta forma, a colnia encontra o menor caminho entre o alimento e o ninho
Colnia de formigas
caracterizada por:
Informao local pode levar a sabedoria global. obstculos: a opo de escolha de desvio seguem os feromnios. Quanto maior o nmero de formigas, maior a assertividade.
Colnia de formigas
Formigas x caixeiro viajante: visitar todas as cidades
apenas uma vez percorrendo a menor distncia possvel.
Colnias de formigas
Curiosidades:
a formiga-rainha: matriarca x autoridade proteger a formiga-rainha defender a colnia
Cidades
Cidades
Cidades so caracterizadas por:
grande quantidade de indivduos cada indivduo exibe um comportamento simples a deciso do indivduo distribuda: descentralizada bairros: refletem o comportamento coletivo padres surgem de aes descordenadas favelas, ruas, bairros comerciais, bairros residenciais, etc.
Cidades
O que leva uma pessoa preferir uma bairro ao outro? O que motiva um empresrio abrir um comrcio em uma rua especfica? Por que as caractersticas de um bairro permanecem ou se modificam lentamente, mesmo quando as geraes de moradores modificada?
algumas fomigas vivem at 12 meses
Clulas humanas
As clulas extraem informaes do DNA Cada ncleo de clula contm o genoma inteiro do organismo, mas, somente uma mnima parte est disponvel para a clula individualmente. A clula somente sabe o que precisa para exercer sua funo:
Como uma clula de msculo se torna uma clula de msculo?
Clulas humanas
Automontagem: cada clula olha para as clulas vizinhas, procura dicas, e cola qual o segmento do DNA ela deve observar para executar suas instrues (expresso gentica). ao descentralizada: cada clula age com base em suas prprias informaes e com os sinais que recebem das clulas vizinhas.
Outros exemplos
Selfridge e seus robs (demnios):
projetou programas de computador (robs, chamados de demnios) capazes de reconhecer padres de fala. Ao cada rob foi treinado para reconhecer uma letra. Quando uma srie de palavras apresentada:
Outros exemplos
Selfridge e seus robs (demnios): (continuao)
1. cada rob l uma letra e armazena seu voto.
por exemplo: 0 no reconheci , 1 talvez, 3 - reconheci.
2. cada rob informa ao demnio-chefe o que foi legvel e inelegvel. 3. o demnio-chefe contabiliza os votos em cada letra e escolhe o voto do rob mais confivel. 4. Em seguida, um poteiro aponta para a prxima letra da sequncia. E os passos 1,2,3 se repetem.
Ao fim da transmisso, o demnio-chefe ter a interpretao da sequncia com base na democracia demomaca.
Outros exemplos
Nosso cotidiano na Internet:
(metafeedbacks) visualizo? quantidade de curtidas confio nesta loja? quantidade de estrelas + quantidade de opinies uso este aplicativo? quantidade de usurios baixo o aplicativo? quantidade de downloads confio na resposta do meu navegador? a cada busca fica mais confivel
Outros exemplos
Feedback negativo:
Termostato do ar condicionado Biofeedback: controle de estresse pela mente. Sem as conexes abertas de ruas as cidades seriam mais violentas e anrquicas.
Feedback positivo:
Cada agente age sem ser confrontado em direo oposta. Giro crescente. Clinton, Gennifer Flowers, pblico e jornalistas. Recrutamento de formigas - feromnio
Outras questes
Tirania x escassez de feedback (no curti) Fluxos de informaes unidirecionais x pblico invisvel Os indivduos no se esto se organizando, apenas se movendo em direo a algo de seu interesse, curiosidade. A coletividade decide o que til, interessante. Jogos: aprendizado x imprevisibilidade Sistemas de recomendao: padres, experincias.
Outras questes
Sistemas emergentes so regidos por regras: sua capacidade de aprendizado, de crescimento e de experimentao deriva de sua adeso s regras de nvel baixo (bottom-up). Sistemas emergentes comportam-se de modo imprevisveis. Vivem dentro de limites definido pelas regras, mas, tambm usam esse espao para criar algo maior do que a soma das partes.
Referncias
119