Você está na página 1de 119

Engenharia de Software

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

Aplicao Windows 98 Aplicao Windows 98

Gestor de Dirio Compras

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

At 8 Texto Obrigatrio / caracter altervel. es

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

Sistemas baseados em Tempo Real


Software embutido. Necessita de reagir a eventos de hardware emitindo sinais de respostas a estes controles.

25

Especificao de Sistemas Baseados em Tempo Real


Sistema que depende dos resultados produzidos pelo sistema e do tempo em que estes resultados so produzidos. Baseados em estmulos:
Peridicos Aperidicos

26

Especificao de Sistemas Baseados em Tempo Real


Componentes
Relgio Tratador de interrupes: gerencia solicitaes aperidicas Programador: examina os processos que devem ser executados e escolhe um deles para ser executado Gerenciador de recursos: aloca memria e recursos para a execuo do processo escolhido Despachador: inicia a execuo de um processo
27

Especificao de Sistemas Baseados em Tempo Real


Baseados em estmulo-resposta
Interrupo por falha de energia Alarme de porta Detector de movimento Alarme sonoro Interruptor de luzes Sintetizador de voz

28

Especificao de Sistemas Baseados em Tempo Real


Exemplos:
bomba de insulina sistema de segurana de uma loja mquina de lavar microondas etc.

29

Sistemas Crticos
Sistemas que controlam mquinas no assistidas ou controlam mquinas que exigem nvel alto de confiabilidade.
30

Especificao de sistemas crticos


Processos confiveis Tolerncia a defeitos Tratamento de falhas
Recupervel ou Irrecupervel
Ex: o sistema no poder recuperar estas informaes caso confirme esta operao.

No de corrompimento ou de corrompimento;
Ex: o sistema falha ao operar com qualquer carto inserido. O software dever ser reinicializado.
31

Especificao de sistemas crticos


Exemplos:
Sistemas mdicos Aeronaves Comutadores de telecomunicao

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

Razes para construo de modelos


A princpio, podemos ver a construo de modelos como uma atividade que atrasa o desenvolvimento do software propriamente dito. Mas essa atividade propicia...
O gerenciamento da complexidade inerente ao desenvolvimento de software. A comunicao entre as pessoas envolvidas. A reduo dos custos no desenvolvimento. A predio do comportamento futuro do sistema.

Entretanto, note o fator complexidade como condicionante dessas vantagens.


35

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

UML (Linguagem de Modelagem Unificada)


A UML a linguagem padro para visualizar, especificar, construir e documentar os artefatos de software de um sistema. Unificao de diversas notaes anteriores. Mentores: Booch, Rumbaugh e Jacobson
Trs Amigos IBM Rational (www.rational.com)

38

UML (Linguagem de Modelagem Unificada)


UML ...

uma linguagem visual. independente de linguagem de programao. independente de processo de desenvolvimento.


UML no ...

uma linguagem programao (mas possui verses!). uma tcnica de modelagem.


Um processo de desenvolvimento que utilize a UML como linguagem de modelagem envolve a criao de diversos documentos.

Estes documentos, denominados artefatos de software, podem ser textuais ou grficos.


Os artefatos grficos produzidos de um sistema OO so definidos atravs dos diagramas da UML.
39

Diagramas da UML
http://www.omg.org/gettingstarted/what_is_uml.htm

40

Diagrama de Caso e de Uso

41

Diagrama de Caso e de Uso

42

Diagrama de Caso e de Uso

43

Diagrama de contexto
<<extend>> Emisso de Nota Fiscal Caixeiro Operao de Venda

Gestor de Estoque

Gesto Manual de Estoque

Sistema Financeiro

Gesto de Pedidos de Compra

Abertura do Caixa

Gesto de Mercadorias

Gerente

Fechamento do Caixa Gesto de Fornecedores

Gestor de Compras

Gesto de Usurios Emisso de Relatrios

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

item2 : ItemPedido quantidade = 20

item3 : ItemPedido quantidade = 1

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

Decises de projeto de arquitetura


Existe uma arquitetura genrica de aplicao que possa ser usada? Quais estilos de arquitetura so apropriados? Que abordagem ser usada para estruturar o sistema? Como o sistema pode ser decomposto em mdulos ou subsistemas?

Qual estratgia de controle deve ser usada?


Como o projeto de arquitetura ser avaliado? Como a arquitetura deve ser documentada?

51

Abstrao sobre a arquitetura


Arquitetura em pequena escala est preocupada com a arquitetura dos programas individuais.
Nesse nvel, estamos preocupados com a maneira como um programa individual decomposto em componentes.

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

Vantagens da arquitetura explcita


Comunicao de stakeholders A arquitetura pode ser usada como um foco de discusso pelos stakeholders do sistema.
Anlise de sistemas Significa que a anlise a respeito da possibilidade do sistema atender a sua requisitos no-funcionais possvel. Reuso em larga escala A arquitetura pode ser reusvel em uma variedade de sistemas. Podem ser desenvolvidas arquiteturas de linhas de produtos.

53

Uso de modelos de arquitetura


Como forma de facilitar a discusso sobre o projeto do sistema Uma viso de alto nvel da arquitetura de um sistema til para a comunicao com os stakeholders do sistema e planejamento do projeto, pois essa no cheio de detalhes. Os stakeholders podem se relacionar e entender uma viso abstrata do sistema. E ento, discutir o sistema como um todo, sem a possibilidade de serem confundidos pelos detalhes. Como uma forma de documentar uma arquitetura projetada O objetivo aqui produzir um modelo de sistema completo que mostre os diferentes componentes em um sistema, suas interfaces e suas conexes.
54

Diagrama de contexto
<<extend>> Emisso de Nota Fiscal Caixeiro Operao de Venda

Gestor de Estoque

Gesto Manual de Estoque

Sistema Financeiro

Gesto de Pedidos de Compra

Abertura do Caixa

Gesto de Mercadorias

Gerente

Fechamento do Caixa Gesto de Fornecedores

Gestor de Compras

Gesto de Usurios Emisso de Relatrios

55

Decises de projeto de arquitetura


O projeto de arquitetura um processo criativo, assim, o processo difere de acordo com o tipo de sistema que est sendo desenvolvido.

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

Caractersticas de arquitetura de um sistema


Desempenho Localize operaes crticas e minimize as comunicaes. Use componentes de alta granularidade ao invs de baixa granularidade. Proteo Nas camadas internas, use uma arquitetura em camadas com ativos crticos. Segurana Localize atributos de segurana crtica em um pequeno nmero de subsistemas. Disponibilidade Incluem componentes redundantes e mecanismos de tolerncia a defeitos. Manutenibilidade Use componentes autocontidos, de baixa granularidade.
58

Vises de arquitetura
Que pontos de vista ou perspectivas so teis ao fazer o projeto e documentar a arquitetura de um sistema?

Quais notaes devem ser usadas para descrever os modelos de arquitetura?


Cada modelo de arquitetura mostra apenas um ponto de vista ou perspectiva do sistema. Pode mostrar como um sistema decomposto em mdulos ou subsistemas, como os processos interagem em tempo de execuo ou as diferentes formas em que os componentes do sistema so distribudos atravs de uma rede. Para ambos, projeto e documentao, voc geralmente precisa apresentar mltiplas vises da arquitetura do software.
59

Modelo de viso 4 + 1 de arquitetura de software


Uma viso lgica, que mostra as principais abstraes no sistema como objetos ou classes de objetos.

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

Arquitetura genrica em camadas

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

Uma arquitetura de repositrio para um IDE

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

A arquitetura cliente-servidor: biblioteca de filmes

69

O padro cliente-servidor

70

Arquitetura de duto e filtro


Transformaes funcionais processam suas entradas para produzir sadas. Pode ser referido como um modelo de dutos e filtros . As variantes dessa abordagem so muito comuns.

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

O padro duto e filtro

72

Um exemplo da arquitetura duto e filtro

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

Uso de arquiteturas de aplicaes


Como ponto de partida para o projeto de arquitetura.

Como um checklist de projeto.


Como uma forma de organizar o trabalho da equipe de desenvolvimento. Como uma forma de avaliar componentes para reuso. Como um vocabulrio para falar sobre os tipos de aplicaes.

75

Exemplos de tipos de aplicaes


Aplicaes de processamento de dados Aplicaes centradas em dados que processam dados em lotes sem a interveno explcita do usurio durante o processamento. Processamento de registro de chamadas telefnicas Aplicaes de processamento de transaes Aplicaes centradas em banco de dados que processam solicitaes dos usurios e atualizam as informaes em um banco de dados do sistema. ERP - Sistema de Gesto Empresarial Integrada Sistemas de processamento de eventos Aplicaes em que as aes do sistema dependem da interpretao dos acontecimentos do ambiente do sistema. Bomba de insulina Sistemas de processamento da linguagem Aplicaes em que as intenes dos usurios so especificadas em uma linguagem formal, a qual processada e interpretada pelo sistema. Compilador
76

Exemplos de tipos de aplicaes


Sistemas de processamento de transaes Sistemas de comrcio eletrnico; Sistemas de reservas.

Linguagem de processamento de sistemas Compiladores;


Sistemas de anlise de dados - Business Intelligence Painel de alertas Painel de indicadores - dashboard Construo de relatrios Minerao de dados e de texto
77

Sistemas de processamento de transaes


Processar pedidos do usurio para informaes de um banco de dados ou pedidos para atualizar o banco de dados.
Incluso, excluso, alterao e consulta.

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

Arquitetura de um sistema transacional

79

Arquitetura de sistemas de informao


Os sistemas de informao tm uma arquitetura genrica que pode ser organizada como uma arquitetura em camadas.

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

Sistemas baseados na Web


Frequentemente esses sistemas so implementados como cliente-servidor multicamadas arquiteturas

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

Sistemas de processamento de linguagem


Aceitar uma linguagem natural ou artificial como entrada e gerar alguma outra representao dessa linguagem. Pode incluir um interpretador para dar seguimento nas instrues, na linguagem que est sendo processada.

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

Variao de gnero, nmero e grau


Soluo: stemming e recomendao

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

Polissemias: palavras que remetem mais de um significado. Ex: banco.


Soluo: contextualizao (indicaes), sugesto de correo, estatstica de acesso

Sistemas Colaborativos
Problemas (continuao):
Sobrecarga de tags: dificuldade de classific-las.
Soluo: filtragem, conscientizao

Tags irrelevantes: no agregam valor.


Soluo: 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

Permitir o uso de gestos

Sistemas Colaborativos
Heursticas Usabilidade para Sistemas Colaborativos (continuao):
Oferecer segurana
Conflito no uso de mesmo objeto

Gerenciar transao entre colaboraes mais frouxas e mais estreitas


Permitir que membros alternem suas formas de relacionamento com outros membros

Apoiar os usurios na coordenao de suas aes


Oferecer informaes sobre atividade de outros membros

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

Cidade: a soma de milhares de interaes locais

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

Você também pode gostar