quinta-feira, 27 de novembro de 2008

inteligência artificial

Um sistema capaz de ajudar as empresas a mudar a imagem na internet, fazer com que as pessoas que o utilizam se sintam a vontade para fazer, discutir ou seja, indagar sobre o site, preocupa-se com que o usuário pensa e com isso contando com a politica da empresa faz melhorias e responde aos usuários.
Com isso a empresa esta sempre procurando meios de melhor servir seus clientes, respondendo a eles sempre de forma precisa e rápida, ou seja estamos falando de um sistema especialista.

quinta-feira, 20 de novembro de 2008

SIN II - CHEQUE ELETRÔNICO

1- Em sua opinião. como o sucesso do teste de mercado foi medido? o que destingue um teste bem-sucedido de um malsucedido?
Durante 18 meses foi feito o teste de mercado, bem não foi passado nenhum ponto negativo do teste, apesar de que mesmo que não citado, pode apenas não ter o encontrado.
Acredito ter sido um teste bem sucedido pois, como no proprio texto diz que foi desenvolvido no computador, enbutido num arquivo seguro, assinado digitalmente, transmitido por uma rede publica diretamente ao destinatario que, por sua vez, o endossa e o deposita eletronicamente em seu banco.
Se o teste não tivesse sido bem sucedido não chegaria a ter 18 meses de teste e também haria formas de fraulde, por ser um sistema novo acredito que ainda seja o mais seguro pois, totalmente isto seria impossivel.

2-Você vê pontos fracos no processo do cheque eletrônico? Caso afirmativo, quais são?
Não acredito ser otimo, pois como todo cheque é uma intuição de pagamento, e não podendo forja-lo muito melhor.

quinta-feira, 18 de setembro de 2008

IHM 18/09/2008 Metáforas

1-Metáforas nos ajudam a construir o que?
Construir e manter um modelo mental apropriado do sistema – idealmente coincidindo com o modelo mental do próprio designer.

2-Metáforas podem representar os nossos modelos mentais (MMs)? Como?
Metáforas nos ajudam a construir Modelos Mentais sobre o artefato com o qual interagimos e, muitas vezes elas representam nossos Modelos Mentais, permitindo-nos usar conhecimento de objetos concretos, familiares e experiências anteriores para dar estrutura a conceitos mais abstratos.

3-Como Lakoff e Johnson(1980) descrevem metáforas?
Lakoff e Johnson (1980) descrevem metáforas como o entendimento e a
experimentação de uma coisa em termos de outra.

4-Erickson(1990) define metáfora como?
Erickson (1990) define metáfora
como um emaranhado invisível de termos e associações que é subjacente à maneira
como falamos e pensamos sobre um conceito. É essa estrutura estendida que faz da
metáfora parte essencial e poderosa de nosso pensamento.
Na metáfora, a comparação entre os domínios origem e destino é implícito. Embora
uma metáfora sugira o relacionamento entre os dois domínios, é deixado para o
usuário elaborar, descobrir, construir os detalhes da relação (Neale e Carroll, 1997).
Bruner (1960) considera as metáforas como um mecanismo de sustentação
(scaffolding) para o aprendizado, possibilitando que informação previamente
aprendida torne-se aplicável a novas situações. O foco no uso de metáforas em
interfaces evoluiu da motivação inicial como facilitadora do aprendizado para incluir
a facilidade de uso.

5-Cite exemplos de metáforas na nossa linguagem cotidiana.
Nossa linguagem é baseada em abstrações metafóricas, muitas coisas
são associadas a “dinheiro”, por exemplo, o “tempo”: gastamos, perdemos,
economizamos, roubamos de alguém... A interface de nossos sistemas
computacionais está repleta de elementos metafóricos, a começar dos termos
“interface”, “interação”. Na Desktop, a mais famosa das metáforas em interfaces,
lidamos com “objetos” na tela, “pincéis” de desenho, “assistentes”, em diferentes
tipos de “diálogo”.

6-Como Bruner(1960) considera as metáforas? Explique.
considera as metáforas como um mecanismo de sustentação
(scaffolding) para o aprendizado, possibilitando que informação previamente
aprendida torne-se aplicável a novas situações. O foco no uso de metáforas em
interfaces evoluiu da motivação inicial como facilitadora do aprendizado para incluir
a facilidade de uso.

7-Como foi a evolução do foco no uso das metáforas? Explique.
O foco no uso de metáforas em interfaces evoluiu da motivação inicial como facilitadora do aprendizado para incluir
a facilidade de uso.

8-Até que ponto e como as metáforas ajudam o usuário a interagir com sistemas computacionais?
Pessoas usando o processador de texto pela primeira vez vêem similaridade com a
máquina de escrever – ambos têm elementos em comum: um teclado, barra de
espaço, tecla de retorno. Ambos têm, também, relações em comum: somente um
caractere pode ser teclado por vez, ao pressionar-se uma tecla, o caractere
correspondente aparece em um meio visível, etc.

9-Explique a diferença entre metáfora verbal e metáfora virtual.
Preece et al. (1994) distingue dois tipos de metáforas: as verbais e as virtuais.
Metáforas podem ser fornecidas na forma de instrução escrita ou falada. Junto com
o processador de texto, por exemplo, instruções de como os arquivos são criados,
armazenados e recuperados no sistema podem ser apresentadas em termos do
“arquivo de aço”. Em vez de criar metáforas verbais, a Xerox criou a metáfora na
interface, com base no escritório real, tornando virtual o topo da mesa de escritório.
Star apresentava o equivalente eletrônico para os objetos físicos do escritório –
papel, pastas, documentos, arquivos, bandejas, e ações similares: abrir, fechar,
copiar, etc. Em vez de serem entidades abstratas, com nomes arbitrários, arquivos
foram transformados em representações pictóricas, fáceis de identificar e entender.
A metáfora “verbal” convida o usuário a “perceber” as similaridades e diferenças
entre o sistema e o domínio familiar. A metáfora “virtual” é parte da interface, e
combina o sistema e o domínio familiar em uma nova entidade. Através de
metáforas virtuais o usuário é levado a desenvolver um MM mais próximo do mundo
metafórico – MM funcional e não um modelo do sistema subjacente (MM
estrutural).

10-Cite um exemplo de interfaces que sugerem o MM incorreto. Explique.
Uma metáfora na interface que sugira o MM incorreto causa dificuldades ao usuário.
Por exemplo, para eliminar arquivos e documentos, a lixeira é
uma metáfora intuitiva. Entretanto, no Macintosh a metáfora foi
estendida para incluir uma função nova: o “eject” do disquete. O
arraste do disquete para a lixeira para retirá-lo do computador é
incompatível com a associação metafórica anterior e causava
problemas conceituais ao usuário, que tinha medo de ter o
conteúdo de seu disquete deletado.

11-Qual o importante papel que as metáforas exercem?
Como conseqüência do papel que as metáforas exercem em possibilitar que o usuário
construa MMs de forma a tornar os sistemas mais fáceis de usar, os designers
precisam de métodos sistemáticos que as incorporem ao design.

12-O que Erickson propõe em termos de etapas do processo para que esse papel de uma nova metáfora se cumpra?
1. a diretividade da interação com os designers; 2. a extensão do seu envolvimento no
processo de design; 3. o escopo de participação no sistema como um todo; 4. o seu
grau de controle sobre as decisões de design.

13-Mencione as fases e suas respectivas guidelines, sugeridas por Madsen para o design baseado em metáforas.
Fase (1) – geração de metáforas:
Observar como os usuários entendem seus sistemas computacionais.
Construir sobre metáforas já existentes.
Usar artefatos predecessores como metáforas.
Notar metáforas já implícitas na descrição do problema.
Procurar eventos do mundo real que exibam aspectos chave.
• Fase (2) - avaliação de metáforas candidatas ao design:
Escolher uma metáfora com uma estrutura rica.
Avaliar a aplicabilidade da estrutura.
Escolher uma metáfora adequada à audiência.
Escolher metáforas com significado literal bem entendido.
Escolher metáforas com uma distância conceitual entre a fonte e o
significado metafórico.
Ter pelo menos um conceito como “ponte” entre o significado literal e o
metafórico.
Não necessariamente incorporar a metáfora no design final.
• Fase (3) - desenvolvimento do sistema propriamente dito:
Elaborar o conceito principal.
Procurar novos significados para o conceito.
Reestruturar a nova percepção da realidade.
Elaborar suposições tornando explícito o que a metáfora esconde e o que
ela salienta.
Contar a estória da metáfora, falando do domínio alvo como se ele fosse o
domínio fonte.
Identificar as partes não usadas da metáfora.
Gerar situações de conflitos.

14-Na pesquisa mais recente, como as metáforas são concebidas?
Na pesquisa mais recente, as metáforas são concebidas como mapeamentos entre
domínios que possibilitam ao usuário usar conhecimento e experiências específicos
de um domínio familiar, para entender e se comportar em situações que são novas.
Nesse processo, além do uso de representações emprestadas de domínio familiar,
vários autores sugerem que a concepção do design baseado em metáforas deva
incorporar também o contexto de uso de tais representações, resultando em
influências maiores no design de sistemas.

15-Explique como é usada a metáfora do tiro ao alvo no Jogo do Alvo.
O alvo é uma metáfora já implícita na descrição do problema, uma vez que o
objetivo no processo de manufatura é conseguir produzir peças cuja medida seja o
mais próxima possível do valor nominal (o centro). Além de possuir um significado
literal bem entendido, a estrutura da metáfora serve para representar condições de
estabilidade do processo, pela distribuição dos tiros no alvo.
Para o trabalhador da linha de manufatura, a metáfora do alvo consegue captar
abstrações do processo e facilitar a interpretação de situações reais sem exigir dele
sofisticação matemática. O alvo permite reestruturar uma nova percepção da
realidade da manufatura com base na associação de conceitos do CEP com
configurações de tiros no alvo.

quinta-feira, 4 de setembro de 2008

SIS II 04/09/2008

Leia JANELA PARA ORGANIZAÇÕES na página 251 e faça uma reflexão sobre o caso da Toshiba, postando no seu blog os seus comentários.
Bem acredito que quando a empresa ver que está perdendo vendas o necessário é correr atraz do tempo perdido, para não perder vendas,
vejo que a empresa Toshiba lutou para salvar suas vendas implementando o seu web site e conseguiu resolver seus problemas.
Digo isso por que seu concorrente ganhando milhões, pelo site mas, a toshiba preocupa-se com as pessoas.

[IHM] Atividades para 04/09/2008

http://www.britania.com.br
O problema que vejo no site é a poluição visual, bem no meu ponto de vista se fosse mostrado um lançamento apenas, não a tela tão carregada de produtos, os produtos são muito bons mas, vejo por mim que não entraria produto a produto para saber mais deles, e sim se estou procurando algo, focaria somente no que realmente procuro.
Também a parte do telefone e e-mail deveria estar junto em contatos, gostaria também de ver a foto completa da fabrica.
Precisava de um realce especial aos produtos, também mostrando a qualidade dos produtos, dicas, como receitas de produtos para cozinha.

quinta-feira, 28 de agosto de 2008

SIN II 28/08/2008

Leia JANELA PARA A ADMINISTRAÇÃO página 254 do livro, sobre Intranets com 1000% de Retorno.

Após a leitura, coloque sua opinião e justifique.

1) Você acha que a Amdahl avaliou corretamente todos os custos importantes do seu site? Sim, por que economizar o tempo dos funcionários é um dos maiores benefícios
2) A economia de tempo dos empregados é um grande elemento na coluna de benefícios, mas quanto de economia de tempo de empregado é realmente traduzido em trabalho útil?
Pelo que percebo 30% pois cerca de 70% dessa economia de tempo estimada resultavam em trabalho adicional sendo feito por que muitos funcionários poderiam desperdiçar o tempo economizado.
3) Segundo o texto, onde é que muitas empresas falham no levantamento dos custos?
Na inclusão de ou mais dos custos de hardware, softaware, telecomunicações, gerenciamento, projeto, conteúdo e pessoal.
4) O que são benefícios intangíveis? (Procure a resposta nas páginas anteriores.) Utilização melhorada dos ativos, controle de recursos melhorado, planejamento organizacional melhorado, flexibilidade organizacional melhorado, flexibilidade organizacional aumentada, informação mais pontual, mais informação, aprendizado organizacional aumentado, exigências legais cumpridas, aumento da boa vontade dos empregados, aumento de satisfação com o trabalho, melhoria da tomada de decisão, melhoria nas operações, maior satisfação do cliente, melhor imagem corporativa.

by Julita

IHM 28/08/2008

Engenharia de Usabilidade: processo de design de sistemas computacionais
que objetivam a facilidade de aprendizado, de uso, e que
sejam agradáveis para as pessoas.
O processo de design para usabilidade foi inicialmente uma recomendação de vários
pesquisadores independentes (Gould e Lewis, 1985; Nielsen, 1992) e grupos de
pesquisa na DEC e IBM em Engenharia de Usabilidade que, já na década de 80,
constataram que confiar na experiência do designer e em padrões, guidelines ou em
várias filosofias de design racionais e analíticas não era suficiente para chegar a bons
sistemas de computador. A Engenharia de Usabilidade propõe a aplicação de
métodos empíricos ao design de sistemas baseados no computador.
O processo de design para usabilidade possui 4 fases:
pré-design, design inicial, desenvolvimento iterativo e pós-design.
Pré-design é caracterizada pela busca de informação e conceituação sobre
o usuário e seu contexto de trabalho e sobre sistemas relacionados, padrões de
interface, guidelines, ferramentas de desenvolvimento, etc. Envolve conhecer os
usuários: características individuais
(nível escolar, idade, experiência no trabalho, no uso de computadores, sua tarefa
atual, como lidam com emergências, etc.) e definir o que eles estarão fazendo com o
sistema. Decisões de design subseqüentes – organização do sistema, funções
requeridas, interface – devem refletir essas respostas. Também nesse estágio cabe
uma análise comparativa de produtos existentes (competidores) e testes com usuários
no uso desses produtos. Ainda na fase de pré-design devem ser estabelecidas as
metas de usabilidade para o sistema. As cinco características principais de
usabilidade, como visto no Capítulo 1 são: facilidade de aprendizado, eficiência de
uso, facilidade de retorno ao uso por usuários casuais, freqüência e severidade dos
erros dos usuários e satisfação subjetiva do usuário (Nielsen, 1992). Conhecer as
metas de usabilidade clarifica o processo de design.
Vários métodos podem ser usados nesse estágio para conseguir o foco cedo e
contínuo no usuário: visitas ao local de trabalho do usuário para conhecer a
organização do trabalho, observação do usuário em seu trabalho, gravação em fita,
do usuário trabalhando, análise de tarefa, design participativo, think aloud do
usuário, etc.
Design inicial é recomendado o uso de métodos participativos, uma vez
que, embora os usuários não sejam designers, são muito bons em reagir a design que
não os agrada ou não funciona na prática. É recomendado, ainda, o uso de
guidelines gerais – aplicáveis a qualquer interface, guidelines de categoria específica
aplicáveis à classe de sistema sendo desenvolvido e guidelines específicas para o
produto. Um exemplo de guideline geral para interfaces: “falar a língua do usuário”.
Guidelines e Design Participativo serão discutidos separadamente em próximas
seções deste capítulo.
Desenvolvimento iterativo é baseada na prototipagem e testes empíricos a
cada iteração do ciclo de desenvolvimento.
estudos de campo do produto em
uso, para obter dados para nova versão e produtos futuros. Esses estudos devem ir
além do registro imediato de reclamações buscando avaliar o impacto do produto na
qualidade do trabalho do usuário. Os usuários devem ser visitados em seu local de
trabalho e devem ser colecionados registros de sessões de uso do sistema para
análise.

by Julita

quinta-feira, 21 de agosto de 2008

SIS - Reprojetando a organização com sistemas de informação

1. Por que um sistema de informação pode ser considerado uma
mudança organizacional planejada?
Quando projetamos um novo sistema de informação. estamos reprojetando a
organização. Uma das coisas mais importantes a saber sobre a construção
de um novo sistema de informação é que esse processo é um tipo
de mudança organizacional planejada. Os construtores de sistemas
precisam entender como um sistema afetará a organização
como um todo, concentrando-se particularmente no conflito e nas
mudanças organizacionais no local da tomada de decisão. Os
construtores também precisam considerar como a natureza dos
grupos de trabalho mudará sob o impacto de um novo sistema.


2. Quais são as principais categorias de um plano de sistema,
de informação?
Propósito do Plano
Plano Empresarial Estratégico
Sistemas Atuais
Novos Desenvolvimentos
Estratégia de Gerenciamento
Plano de Implementação
Exigências de Orçamento


3. Como a análise empresarial e os fatores críticos de sucesso
podem ser usados para estabelecer as exigências de um sistema
de informação amplamente organizacional?
análise empresarial - ajudar a indentificar as entidades chaves dos
dados da organização Esse método começa com a noção de que as exigências
de informação de uma empresa ou de uma divisão podem ser especificadas
somente com um entendimento perfeito da organização como um todo.
fatores críticos- exigências de informação de uma organização são
determinadas por um número pequeno de fatores criticos de sucesso dos
gerentes. Se essas metas podem ser conquistadas, o sucesso da empresa
ou organização está garantido.

4. Descreva cada um dos quatro tipos de mudança organizacional
que podem ser promovidas com a tecnologia de informação.
(I) automação, (2) racionalização,(3) reengenharia e (4) mudança de paradigmas.
1-Frequentemente revela novos gargalos na produção e torna os arranjos
existentes de procedimentos e estruturas dolorosamente incômodos.
2-A racionalização dos procedimentos é o ajuste perfeito dos procedimentos
operacionais padrões.
3-Envolve a reconsideração radical do fluxo de trabalho e dos processos
empresariais usados para produzir produtos e serviços, com a mente voltada
para a redução radical dos custos dos negocios.
4-O sistema de estoque sem estoque transformou a baxter internacional num
parceiro de trabalho de hospitais e em um gerente dos suprimentos de seus
clientes.

5. O que é reengenharia empresarial'? Quais passos são exigidos
para tomá-Ia eficaz?
Ela reorganiza o fluxo de trabalho, combinando passos para cortar desperdícios
e eliminar as tarefas repetitivas e que fazem grande uso de papel.

6. Qual a diferença entre análise de sistemas e projeto de sistemas?
projeto de sistemas - estabelece exigencias de informação de uma função ou
processo empresarial e então determina como ele pode ter o suporte da
tecnologia da informação
análise de sistemas - irá tentar resolver como um sistema de informação, ela
consiste em definir o problema, identificar suas causas, especificar a
solução e identificar as necessidades de informação que precisam ser
encontradas por uma solução de sistema.

7. O que é viabilidade? Enumere e descreva cada uma das três
principais áreas de viabilidade para sistemas de informação.
Avalia a possibilidade de cada uma:
1. Viabilidade técnica: se a solução proposta pode ser
implementada com os recursos de hardware, de software
e técnicos disponíveis.
2. Viabilidade econômica: se os benefícios da solução proposta
ultrapassam os custos. Exploramos esse tópico em
maiores detalhes na Seção 10.4, Entendendo o Valor Empresarial
dos Sistemas de Informação.
3. Viabilidade operacional: se a solução proposta é desejável
na estrutura gerencial e organizacional existente.

8. O que são exigências de informaçâo? Por que elas são difíceis
de se deteminar corretamente?
De um sistema novo envolvem a identificação de quem precisa de qual
informação, onde, quando e como.
Porque precisam levar em conta as restrições economicas, tecnicas e
de tempo, assim como as metas, os procedimentos e os processos
de decisão da organização, se malfeita é uma das principais causas
de fracasso de sistemas e de altos custos de desenvolvimento de sistemas.

9. Qual é a diferença entre o projeto lÓgico e o projeto físico
de um sistema de informação?
projeto lÓgico - esboça os componentes do sistema e os seus relacionamentos
entre sistema como eles deveriam parecer para os usuários.
projeto físico - é o processo de tradução do modelo lógico abstrato para o
projeto ténico especifíco para o novo sistema.

10. Por que o estágio de teste de desenvolvimento de sistemas
é tão importante? Enumere e descreva os três estágios de
teste para um sistema de informação.
Até 50% de todo o orçamento de desenvolvimento do soflware
podem ser gastos em testes.
Os testes também consomem tempo: o teste de dados precisa ser
cuidadosamente preparado, os resultados revisados e as correções
feitas no sistema. Em alguns casos, partes do sistema precisam ser
reprojetadas. Os riscos de deslizar nesse passo são enormes.
O teste de um sistema de informação pode ser dividido em
três tipos de atividades:
O teste de unidade, ou teste de programa, consiste em testar
cada programa separadamcnte no sistema. Acrcdita-se amplamente
que o propósito dcsse teste é garantir que tais programas
sejam livres de erro, mas essa meta é realisticamente impossível.
Os testes deveriam ser vistos, em vez de meios de localizar
erros em programas, como focos na descoberta de todos os modos
de fazer uma falha de programa. Uma vez apontados, os
problemas podem ser corrigidos.
O teste de sistema testa o funcionamento do sistema de informação
informação
como um todo. Tenta determinar se os módulos distintos
funcionarão juntos como planejado e se existem discrepâncias
entre o modo como o sistema funciona e o modo como foi
concebido. Entre as áreas examinadas estão o tempo de desempenho;
a capacidade de armazenamento de arqui vo e de lidar com
os picos de carga, as capacidades de recuperar e de reiniciar e os
procedimentos manuais.
O teste de aceitação fornece a certillcação final de que o sistema
está pronto para ser usado num ambiente de produção. Os
testes de sistemas são avaliados por usuários e revisados pela
administração. Quando todas as partes estiverem satisfeitas de
que o novo sistema atende a seus padrões, o sistema é formalmente
aceito para instalação.

11. O que é conversão? Por que é importante ter um plano detalhado
de conversão?
A conversão é o processo de mudança de um sistema antigo para
um novo sistema. Ele responde à pergunta: "O novo sistema traba-
Ihar;í sob condiçÜes reaisT' Quatro estratégias de conversão podem
ser empregadas: a estral0gia paralela. a estratégia de cone direto, a
estratégia de estudo piloto e a estratégia de abordagem fásica.
Grandes projetos se beneficiarão do uso apropriado do planejamcnto
formal e ferramentas de controle. Com técnicas
gercnci:llllento de projeto tais como PERT (Program Evaluation
and Review Techniquc) ou gráficos ele Gantt, um plano detalhado
pode der desenvolvido. (O PERT lista as atividades específicas
que compõem um projeto, a sua duração e as atividades que
prccisam ser completadas antes que uma atividade específica
possa começar. Um gráfico de Gantt tal como o ilustrado na Fig.
10.7 representa visualmente a seqüência e o tempo das diferentes
tarefas em um desenvolvimento dc projeto, assim como seus
recursos exigidos.) As tarefas podem ser definidas e os recursos
orçados.
Essas técnicas gerenciais de projeto podem ajudar os gerentes
a identificar gargalos e a determinar o impacto que os problemas
terão sobre o tempo de finalização do projeto. Técnicas
de controle padrão podem ser usadas para gráficos de progresso
de projetos em relação a orçamentos e datas estipuladas. de forma
que divergências podem ser localizadas e a equipe de implementação
pode fazer os ajustes para atender à sua programação
original. Relatórios periódicos formais em comparação com
plano mostrarão a extensão do progresso.


12. Que papel desempenham a programação, a produção e a
manutenção no desenvolvimento de sistemas?
Programação - Traduz especificações de projeto em código
de programa.
Produção e manutenção - Operação do sistema
Avaliação do sistema, Modificação do sistema.

13. O que é implementaçâo? Como ela está relacionada com o
sucesso ou o fracasso do sistema de infonnação?
Transforma o modo como os vários indivíduos e grupos se desempenham
e interagem. Mudanças no modo como a informação
é definida, acessada e usada para gerenciar recursos da organização
são freqüentemente conduzidas para novas distribuições
de autoridade e de poder (Lucas, 1975). Essa mudança 01'-
ganizacional interna alimenta a resistência e a oposição e pode
conduzir à morte de um bom sistema.
Falta de treinamento apropriado e de documentação
contribui para fracasso do sistema, de modo que essa parte do processo
de desenvolvimento de sistemas é muito importante.

14. Descreva os modos pelos quais a implementação pode ser
gerenciada para tornar o processo de mudança organizacional
mais bem-sucedido.
A construção de sistemas bem-sucedidos exige
planejamento cuidadoso e gerenciamento de mudança. Agora,
voltamo-nos para o problema de gerenciamento de mudança
examinando padrões de implementação.
No contexto do gerenciamento de mudanças, a implementação
se refere a todas as atividades organizacionais que funcionam
em direção à adoção. administração e rotinização de uma
inovação tal como um novo sistema de informação.

By Julita

MODELO CASCATA

O “modelo cascata” (Boehm, 1995, p. 282) caracteriza bem a visão tradicional da ES
para o desenvolvimento de software, como um conjunto de processos e
representações produzidas de maneira linear (Figura 3.3).
FIGURA 3.3 - O MODELO CASCATA
O principal problema com o modelo cascata é que é impossível entender
completamente e expressar os requisitos do usuário antes que algum design tenha
sido feito. Além disso, as possibilidades de mudanças no software a partir da etapa
VIABILIDADE DO SIST.
REQUISITOS DO SOFT.
DESIGN DO PRODUTO
CODIFICAÇÃO
INTEGRAÇÃO
IMPLEMENTAÇÃO
MANUTENÇÃO

O principal problema com o modelo cascata é que é impossível entender
completamente e expressar os requisitos do usuário antes que algum design tenha
sido feito. Além disso, as possibilidades de mudanças no software a partir da etapa
de manutenção são mínimas, em função dos comprometimentos e custos envolvidos
ao longo da cadeia.

O modelo em cascata é um modelo de desenvolvimento de software seqüencial
no qual o desenvolvimento é visto como um fluir constante para frente (como uma cascata)
através das fases de análise de requisitos, projeto, implementação, testes (validação),
integração, e manutenção de software. A origem do termo cascata é freqüentemente citado
como sendo um artigo publicado em 1970 por W. W. Royce; ironicamente, Royce defendia um
abordagem iterativa para o desenvolvimento de software e nem mesmo usou o termo cascata.
Royce originalmente descreve o que é hoje conhecido como o modelo em cascata como um exemplo
de um método que ele argumentava ser um risco e um convite para falhas.

IHM MANIPULAÇÃO DIRETA

1- O que se entede por manipulação direta?
Manipulação direta, é não envia comandos via teclado mas, como o proprio título já diz
manipulação direta, manipular diretamente, tocar.
Em vez de um meio computacional abstrato, toda programação é feita graficamente,
em uma forma que tenta casar com a maneira como pensamos no problema (Hutchins et al., 1986).

2-Do mundo que se 'comanda' passou-se para o mundo com o qual se 'interage' explique:
Ver o que foi feito por comandos graficamente ou seja no papel, todas as coordenadas dados por modo
direto.
Exemplo disto seria o tacografo que fica no painel do caminhão aonde por modo gráfico mostra a
velocidade na qual o caminhão estava andando, a que horas e se parou, entre outras anotações.

3- O que é wyswyg?
Termo muito comum, que vem do inglês: "What You See Is What You Get", significando: "O que você vê é o que você tem". Ferramenta normalmente encontrada em editores de texto, através do qual pode-se ver na tela aquilo que será impressso, ou seja, um texto sublinhado é mostrado assim, em negrito idem, etc. O Word, da Microsoft, por exemplo, possui esta facilidade.

4-Como Shneiderman resumiu a ilusão da manipulação direta?
1- Representação contínua do objeto de interesse;
2- Ações físicas (cliques, arraste, etc) em vez de sintaxe complexa;
3-Operações incrementais reversíveis, cujo impacto no objeto de interesse

5- O que é "linguagem da interface"?
A linguagem da interface é um “meio” no qual usuário e sistema têm uma
conversação sobre um mundo assumido, mas não explicitamente representado.
O usuário está em contato com estruturas lingüísticas que podem ser
interpretadas como se referindo aos objetos de interesse.

6- Segundo Hutchins et al(1986) a interface é um mundo onde o usuário age. Tente exemplificar.

7- O que é Distância Semântica?
Reflete a relação entre as intenções do usuário e o significado na linguagem
da interface. Distância articulatória (DA) reflete a relação entre a forma física
de uma expressão na linguagem de interação e seu significado.
Duas perguntas básicas resumem a medida de diretividade semântica em uma
interface: É possível dizer o que se quer dizer nessa linguagem? As coisas de
interesse podem ser ditas de forma concisa?

8- O que é Distância Articulatória?
Reflete a relação entre a forma física de uma expressão na linguagem de interação e seu
significado.

9- Qual a relação da distância semântica com o Modelo da Teoria da Ação?
Com relação ao Modelo da Teoria da Ação, a diretividade semântica pode ser
medida no golfo de execução observando-se quanto da estrutura requerida é
fornecida pelo sistema e quanto pelo usuário. Quanto mais estrutura o usuário tiver
que prover, maior será a distância que ele terá que transpor. No golfo de avaliação a
diretividade semântica pode ser observada pela quantidade de estruturas requeridas
para o usuário determinar se uma dada meta foi alcançada ou não.

10- Explique o termo diretividade articulatória que o texto aborda antes da figura 3.2.
A diretividade articulatória é uma medida da distância entre a forma física da
expressão dos elementos da interface e seu significado.
Há maneiras de se criar linguagens de modo que relações entre os itens de
vocabulário e seus significados não sejam arbitrários. Um bom exemplo disso na
linguagem natural são as onomatopéias. Na linguagem da interface, a diretividade
articulatória pode ser aumentada, por exemplo, permitindo-se ao usuário a
especificação de uma ação imitando-a, ou permitindo que ele use conhecimento
anterior para criar a relação forma-significado. O mouse é um bom exemplo de
periférico que provê diretividade articulatória para tarefas representadas
espacialmente. A intenção de mover o cursor na tela, e a ação sobre o mouse são
movimentos similares.

11- Como designer o que é importante se fazer para se contribuir para o sentimento da
diretividade?
Como designers é essencial distinguir o comportamento automatizado – que pode
contribuir para o sentimento de diretividade – da diretividade semântica
propriamente dita. Esse fenômeno é explicado pela teoria do determinismo
lingüístico de Worf, segundo a qual a maneira como pensamos em algo é moldada
pelo vocabulário que temos para pensar (sobre).

12- Cite 5 aspectos dos benefícios da manipulação direta que você considera mais
importantes para a usabilidade de sistemas computacionais.
• Facilidade de aprendizado do sistema.
Novatos podem aprender rapidamente a funcionalidade básica;
• Facilidade de memorização.
Usuários freqüentes podem reter mais facilmente conceitos operacionais;
• Performance melhorada do experto no domínio da tarefa;
• Redução de mensagens de erro;
• Aumento no controle do usuário.
Usuários têm a ansiedade reduzida, porque o sistema é compreensível e
porque as ações são facilmente reversíveis.

Julita

quinta-feira, 26 de junho de 2008

IHM - Atividade de leitura para 26/06/2008

1) O QUE É UM MODELO MENTAL?
Função do raciocínio humano e no entendimento de linguagem. São representações analógicas e proporcionais, são relacionados a imagens, embora
diferentes destas. Ingenuamente poderia ser feita a seguinte analogia: enquanto uma imagem é uma tomada (um quadro) num filme, um modelo mental seria um pedaço desse filme. Staggers e Norcio (1993) acreditam que objetos nos modelos mentais são relacionados a entidades perceptuais.

2) COMO AS PESSOAS FORMAM OS MODELOS MENTAIS?
As pessoas formam modelos mentais delas próprias e das coisas com as quais estão interagindo. As concepções espontâneas de fenômenos físicos, são também modelos mentais que as pessoas usam para explicar fenômenos da natureza. O entendimento das pessoas sobre os artefatos com os quais interagem é fraco, especificado imprecisamente e cheio de inconsistências, "buracos" e artimanhas idiossincráticas. Modelos mentais são incompletos. A habilidade das pessoas para "executar" seus modelos mentais é limitada pelos mecanismos perceptual e cognitivo. Modelos mentais são instáveis pelas próprias restrições e interferências da memória: as pessoas esquecem detalhes do sistema que estão usando, artefatos e operações similares são confundidos. Modelos mentais não são "científicos": as pessoas mantêm comportamento supersticioso em seus modelos e freqüentemente fazem operações físicas extras em vez de planejamento mental que possibilite evitar essas ações (Norman, 1983).
Chandra e Blockley (1995) argumentam que mesmo nas raízes das teorias científicas e sistemas axiomáticos, há uma camada que é primitiva no sentido de que não é explicada ou justificada explicitamente dentro dos sistemas.

3) EXPLIQUE OS DOIS TIPOS PRINCIPAIS DE MM QUE AS PESSOAS DESENVOLVEM?

estrutural e/ou funcional. Se pensarmos, por exemplo, num mapa de metrô (o de Londres é um exemplo típico), o mapa provê uma estrutura que passageiros regulares aprendem a internalizar e usam para responder "como ir de A para B". Ao mesmo tempo, há conhecimento necessário para "como usar o sistema": o passageiro deve comprar o bilhete certo, no local certo, deve saber o que
fazer com o bilhete, como entrar e sair dos trens, etc. para isso há a necessidade de um modelo funcional do sistema. No modelo mental estrutural (MME) é assumido que o usuário internalizou, na memória, a estrutura de como o artefato funciona. MMEs são usados para descrever a mecânica interna de uma máquina ou sistema em termos de suas partes componentes. O MME atua como substituto da coisa real. Ao explicar como a máquina ou sistema funciona o usuário tem a possibilidade de prever os efeitos de seqüências de ações. Tais modelos são extremamente úteis quando a máquina "quebra" ou ocorre um erro na interação com o sistema. Será que as pessoas, de um modo geral, esenvolvem naturalmente esse tipo de modelo? Podemos pensar no carro que usamos todo dia, na TV, no telefone, etc.
No modelo mental funcional (MMF) o usuário internaliza conhecimento
procedimental sobre como usar a máquina ou sistema. Nesse modelo as pessoas em vez de desenvolverem o "manual na cabeça" simplesmente desenvolvem um modelo de "como fazer". O MMF se desenvolve a partir de conhecimento anterior de um domínio similar; parece haver um mapeamento tarefa-ação.

4) COMO DESIGNERS QUAL A NOSSA OBRIGAÇÃO FALANDO SOBRE MODELOS MENTAIS?
Como designers é nossa obrigação desenvolver sistemas para o usuário final que o ajude a construir modelos mentais adequados à sua interação com o sistema. Assim, conceituar o conhecimento do usuário em termos de modelos mentais pode ajudar o designer a desenvolver interfaces apropriadas.

5) O QUE É UM ARTEFATO NO CONTEXTO LIDO?
A operação de qualquer artefato seja ele uma garrafa de cerveja a ser aberta, uma planta nuclear ou um sistema computacional, será mais simples se tiver um bom modelo conceitual. É tarefa do designer, com base nos princípios apresentados,construir um modelo conceitual para o artefato, adequado ao uso.

6) QUANTOS E QUAIS TIPOS DE MODELOS ASSOCIADOS AO ARTEFATO SÃO DISTINGUIDOS POR NORMAN(1986)?
Norman (1986) distingue 3 tipos de modelos associados ao artefato: o modelo do designer, o modelodo usuário e a imagem do sistema.

7) O QUE É MODELO DO DESIGNER?
O Modelo do Designer é a conceituação que o designer tem em mente sobre o sistema.

8) O QUE É MODELO DO USUÁRIO?
O Modelo do Usuário é o que o usuário desenvolve para entender e explicar a operação do sistema.

9) COMO SE FORMA A "IMAGEM DO SISTEMA"?
A aparência física, sua operação e a forma como responde, soma dos ao help online de manuais de instrução formam a “Imagem do Sistema”.

10) QUAL O PAPEL DAS METÁFORAS NA CONSTRUÇÃO DE UM MM?
As metáforas desempenham um papel importantíssimo no processo de facilitar ao usuário a construção de um modelo mental adequado à interação com o sistema

by Julita

quinta-feira, 19 de junho de 2008

[IHM] - O MODELO GOMS

1) EXPLIQUE QUAL FOI A INTENÇÃO DA CRIAÇÃO DO MODELO GOMS.
A intenção foi fornecer um modelo de engenharia para a performance humana, capaz de produzir predições quantitativas a priori ou em um estágio anterior ao desenvolvimento de protótipos e teste com usuários.

2) EXPLIQUE EM QUE SE BASEIA O MODELO GOMS.
Baseia-se na premissa de que nosso entendimento sobre o desenvolvimento de sistemas pode ser melhorado se levarmos em conta as atividades cognitivas e de processamento da informação do usuário.

3) O QUE REPRESENTA O ACRÔNIMO GOMS?
Representa os componentes de um modelo GOMS:
metas (G), operadores (O), métodos (M) e regras de seleção (S).

4) QUAIS OS 4 COMPONENTES BÁSICOS QUE COMPÕEM O MODELO GOMS?
(1) um conjunto de metas,
(2) um conjunto de operadores,
(3) um conjunto de métodos para alcançar as metas,
(4) um conjunto de regras para seleção dos métodos.

5) EXPLIQUE O QUE SÃO ESSAS METAS?
Uma estrutura simbólica que define o estado de coisas a serem alcançadas e determina o conjunto de métodos possíveis. A função dinâmica da meta é prover um “ponto de memória” para o qual o sistema pode retornar no caso de falha ou erro. Além disso, as metas carregam informação sobre o que é desejado, métodos disponíveis, o que já foi tentado, etc. Metas expressam o que o usuáriodeseja realizar com o software. Normalmente as metas formam uma hierarquia de submetas.

6) EXPLIQUE O QUE SÃO OS OPERADORES?
São atos elementares – perceptuais, cognitivos e motores - cuja execução é necessária para mudar aspectos do estado mental do usuário ou afetar o ambiente da tarefa. Operadores são as ações que o software possibilita ao usuário realizar. Embora possam ser definidos em diferentes níveis de abstração, os modelos GOMS os definem em termos concretos como o pressionar de um botão, o selecionar de um item de menu, etc.

7) EXPLIQUE O QUE SÃO OS MÉTODOS?
São procedimentos necessários para conseguir realizar a meta. Relacionam se à maneira como o usuário armazena conhecimento sobre a tarefa, e à seqüência condicional de submetas e operadores que usa na realização da tarefa; envolvem testes no conteúdo da memória de curta duração do usuário e no estado corrente do ambiente envolvido. Métodos são seqüências bem aprendidas de submetas e operadores que permitem realizar a tarefa.

8) EXPLIQUE O QUE SÃO AS REGRAS DE SELEÇÃO?
São requeridas quando há mais de um método disponível para a realização da mesma meta. Seleção refere-se à estrutura de controle usada no processo, em geral regras se-então. São as regras pessoais que o usuário escolhe para decidir que método usar.

9) O QUE ESTES 4 COMPONENTES DESCREVEM?
Descrevem o conhecimento procedimental que um usuário requer para realização de determinada tarefa no computador.

10) EXPLIQUE UM EXEMPLO DE USO DO MODELO GOMS.

Tarefa de edição de um texto marcado:
Quando o usuário começa a edição tem uma meta geral: editar-manuscrito.

Ele, então, segmenta a tarefa em unidades de tarefa, como por exemplo: mover-texto, deletar-frase, inserir-palavra, etc., como ilustrado a seguir:

Goal: editar-manuscrito
• Goal: editar unidade de tarefa {repetir até que não haja mais unidades de tarefas}
o Goal: adquirir unidade de tarefa {se tarefa não é lembrada}
o ...
o Goal: executar unidade de tarefa {se a unidade tarefa foi encontrada}
• Goal: modificar-texto
[Select: Goal: mover-texto
Goal: deletar-frase
Goal: inserir-palavra]
Verificar-edição

by Julita

[IHM] - BASES NEURAIS DA MEMÓRIA HUMANA

A literatura especializada da psicologia experimental define pelo menos três tiposdiferentes de memória: a memória de informação sensorial (chamada MIV e MIA noMPIH), a memória de curta duração (chamada MCD ou MT no MPIH) e a memóriade longa duração (MLD).
Memória de Informação Sensorial: mantém uma “fotografia” do mundo como ele é recebido pelos nossos órgãos dos sentidos. Balançando a caneta em frente aos olhos pode-se ver a imagem do rastro atrás do objeto em movimento.
Memória de Curta Duração: a informação retida não é mais a imagem completa de eventos que acontecem ao nível sensorial, mas a interpretação imediata desses eventos. Por exemplo, quando uma sentença é falada, não nos lembramos dos sons que formam a sentença, mas das próprias palavras. A informação pode ser mantida indefinidamente na memória de curta duração, através de repetição e sua capacidade é limitada.
Memória de Longa Duração: não há limite prático para sua capacidade de armazenamento. Responda rapidamente: O que você comeu no jantar do último sábado? O cérebro tem aproximadamente 10 bilhões de neurônios capazes de armazenar informações.A memória de longa duração é representada pela estrutura permanente dos circuitosneurais, que acontece através de um processo chamado consolidação.
Existem duas teorias principais: a primeira explica o processo de consolidação como uma codificação química na estrutura de moléculas de proteína em cada sinapse. Outra teoria explica a consolidação através do crescimento de novas junções sinápticas. Independentemente das teorias (mudança química ou crescimento neural), o resultado é que o efeito acontece nas sinapses. Mudanças estruturais e químicas devem ocorrer no cérebro, como resultado da aquisição de novo conhecimento. Descrição acurada e completa de como o sistema nervoso armazena informação não existe, ainda. Entretanto, é bem aceita a teoria de que as atividades correntes de pensamento, processos de consciência e memórias imediatas (armazenamento sensorial e MCD) são mediadas por atividades elétricas. O impulso elétrico carregado pelo neurônio viaja do corpo de uma célula para um outro corpo de célula, através do axônio. O local onde o axônio faz contato com o corpo da célula é chamado junção sináptica.
Existem dois tipos dessas junções: as excitadoras e as inibitórias. As junções excitadoras tendem a fazer o novo neurônio “disparar”; isto é, responder com seu próprio impulso. As inibitórias tendem a prevenir (impedir) o disparo. No sistema nervoso, um grande número de impulsos chegando a conexões excitadoras pode ser requerido para fazer o corpo da célula“disparar” outro impulso. Entradas estranhas ao loop como, por exemplo: ocorrência de novos eventos, fadiga química nos neurônios ou nas sinapses, eventos anormais (pancada na cabeça, choque elétrico, etc.).
A memória de curta duração consiste na ativação elétrica de um loop neural específico. É elétrica em sua operação, portanto. E como ela é representada? Circuitos neurais específicos seriam construídos para memórias específicas. Atividade elétrica através desses circuitos representa uma ativação temporária deles. É bem aceita a hipótese de que memórias não estão em posições específicas, mas estão espalhadas através do cérebro. O cérebro é constituído de dois hemisférios que se comunicam por um conjunto de fibras nervosas chamado corpus callosum. Cada órgão sensorial envia sua informação para ambas as metades do cérebro. Objetos à esquerda do ponto de fixação vão para a metade direita da retina e para a metade direita do cérebro. Analogamente acontece com os objetos à direita do ponto de fixação. Essa informação que chega nos dois hemisférios é coordenada para formar a percepção e memória correntes.
O conhecimento das limitações de nossa memória, especialmente de curta duração, tem levado alguns designers (embora poucos) a criar soluções inteligentes para interfaces. Muitas vezes, ao entrarmos em determinado sistema com nosso password, somos surpreendidos por uma mensagem que não o aceita. Repetimos a operação achando que a digitação rápida pode ter falhado. Recebendo uma segunda negativa, somos neuroticamente inclinados a pensar que o pessoal da administração do sistema alterou alguma coisa, sem avisar...
by Julita

[sisII] - EQUIPE DE ORGANIZAÇÃO DE DADOS E INFORMAÇÕES

3) Faça uma postagem falando sobre as diferenças entre Data Warehouse,Data Marts e Data Mining.

Data Mining ou Mineração de Dados consiste em um processo analítico projetado para explorar grandes quantidades de dados na busca de padrões consistentes e/ou relacionamentos sistemáticos entre variáveis e, então, validá-los aplicando os padrões detectados a novos subconjuntos de dados. O processo consiste basicamente em 3 etapas: exploração; construção de modelo ou definição do padrão; e validação/verificação. É parte de um processo maior de conhecimento denominado Knowledge Discovery in Database (KDD). KDD consiste, fundamentalmente, na estruturação do banco de dados; na seleção, preparação e pré-processamento dos dados; na transformação, adequação e redução da dimensionalidade dos dados; no processo de Data Mining; e nas análises, assimilações, interpretações e uso do conhecimento extraído do banco de dados, através do processo de Data Mining.

Um data warehouse (ou armazém de dados) é um sistema de computação utilizado para armazenar informação relativa às atividades de uma organização em banco de dados, de forma consolidada. O desenho da base de dados favorece os relatórios e análise de grandes volumes de dados e obtenção de informações estratégicas que podem facilitar a tomada de decisão. O data warehouse possibilita a análise de grandes volumes de dados, coletados dos sistemas transacionais. Por definição, os dados em um data warehouse não são voláteis, ou seja, eles não mudam, salvo quando é necessário fazer correções de dados previamente carregados. Os dados então são somente para leitura e não podem ser alterados.

Data mart é sub-conjunto de dados de um Data Warehouse. Geralmente são dados referentes a um assunto em especial (ex: Vendas, Stock, Controladoria) ou diferentes níveis de sumarização (ex: Vendas Anual), que focalizam uma ou mais áreas específicas. Essa visão tem defesa menos técnica e mais intuitiva do que sua contra-parte: o Data mart é criado a posterioridade do Data Warehouse, pois ele seria montado com dados extraídos do Data Warehouse para atender especificamente um setor da organização.

Numa visão comparativa dos dados, onde consideramos os quesitos escopo, integração, tempo, agregação, análise e dados voláteis, percebemos que a diferença está no escopo, pois enquanto o Data Warehouse é feito para atender uma empresa como um todo, o data mart é criado para atender um sub-conjunto da empresa. Repare que atender um sub-conjunto da empresa pode significar reunir dados de outros setores, já que, na prática, raramente um único setor possui ou gera toda informação que precisa. Não se pode dizer que um Data Warehouse é um conjunto de Data marts.

by Elin, Valéria e Julita

[sis II] EQUIPE DE ORGANIZAÇÃO DE DADOS E INFORMAÇÕES

3) Poste um texto falando sobre as principais atividades que um SGBD executa, além do conceito.

Principais atividades:

- Fornecer uma Visão ao Usuário;
- Criar e Modificar o Banco de Dados;
- Armazear e Recuparar os Dados;
- Manipular Dados e Gerar relatórios;

Conceito:

- Fornecer uma Visão ao Usuário: é responsável pelo acesso ao banco de dados, um dos primeiros passos na instalação e no uso de uma base de dados informar ao Sistema de Gerenciamento de Banco de Dados a estrutura lógica e física dos dados bem como os relacionamentos entre eles. Esta descrição é chamada de esquema (como um diagrama esquemático).

- Criar e Modificar o Banco de Dados: é o conjunto de instruções e comandos usados para definir e descrever dos dados e os relacionamentos entre eles no banco de dados.

- Armazear e Recuparar os Dados: Uma das funções de um Sistema de Gerenciamento de Banco de Dados compreende manter uma interface entre um programa aplicativo e o banco de dados.

- Manipular Dados e Gerar relatórios: Permitem aos gerentes e outros usuários do banco de dados acessar, modificar, fazer consultas e gerar relatórios. Consultam subesquemas, esquemas e o Sistema de Gerenciamento de Banco de Dados para acessar os dados armazenados fisicamente num dispositivo físico tal como um disco.

by Elin, Julita e Valéria

[sin-II] EQUIPE DE ORGANIZAÇÃO DE DADOS E INFORMAÇÕES

Existem muitas transações no dia-a-dia das empresas, é vital manter os dados organizados, de forma que possam ser efetivamente utilizados. Um banco de dados deve ser organizado para armazenar todos os dados relevantes do negócio, permitindo acesso rápido e fácil midificação. Além disso, ele precisa refletir os processos corporativos da organização. Quando constrói um banco de dados é fundamental fazer considerações cuidadosas.

Modelagem de Dados é a atividade de especificação das estrutura de dados e regras de negócios necessárias para suportar uma área de negócios. Representa um conjunto de requerimentos de informações de negócio. É uma parte importante do desenho de um sistema de informação.

A abordagem que se dispensa ao assunto normalmente atende a três perspectivas:

Modelagem Conceitual:usada como representação de alto nível e considera exclusivamente o ponto de vista do usuário criador do dado;

Modelagem Lógica: agrega alguns detalhes de implementação;

Modelagem Física: demonstra como os dados são fisicamente armazenados.

byElin, Valéria e Julita.

domingo, 4 de maio de 2008

Fotos Quintal da minha Mamãe





Em breve mais fotinhos do novo quintal...ainda sendo planejado

sábado, 26 de abril de 2008

Coisas Interessantes


Histórico
Java
Paradigma:
orientação a objeto
Surgido em:
década de 1990
Última versão:
{{{ultima_versao}}} ()
Criado por:
Sun Microsystems
Estilo de tipagem:
estática, forte
Compiladores:
GCJ, Javac
Dialetos:
Influenciada por:
Objective-C, C++, Smalltalk
Influenciou:
C#, J#, Jython
Licença:
{{{licença}}}
Website:
{{{website}}}
Em 1991, na Sun Microsystems, foi iniciado o Green Project, o berço do Java, uma linguagem de programação orientada a objetos. Os mentores do projeto eram Patrick Naughton, Mike Sheridan, e James Gosling. O objetivo do projeto não era a criação de uma nova linguagem de programação, mas antecipar e planejar a “próxima onda” do mundo digital. Eles acreditavam que, em algum tempo, haveria uma convergência dos computadores com os equipamentos e eletrodomésticos comumente usados pelas pessoas no seu dia-a-dia.
Para provar a viabilidade desta idéia, 13 pessoas trabalharam arduamente durante 18 meses. No verão de 1992 eles emergiram de um escritório de Sand Hill Road no Menlo Park com uma demonstração funcional da idéia inicial. O protótipo se chamava *7 (leia-se “StarSeven”), um controle remoto com uma interface gráfica touchscreen. Para o *7, foi criado um mascote, hoje amplamente conhecido no mundo Java, o Duke. O trabalho do Duke no *7 era ser um guia virtual ajudando e ensinando o usuário a utilizar o equipamento. O *7 tinha a habilidade de controlar diversos dispositivos e aplicações. James Gosling especificou uma nova linguagem de programação para o *7. Gosling decidiu batizá-la de “Oak”, que quer dizer carvalho, uma árvore que ele podia observar quando olhava pela sua janela.
O próximo passo era encontrar um mercado para o *7. A equipe achava que uma boa idéia seria controlar televisões e vídeo por demanda com o equipamento. Eles construíram um demo chamado MovieWood, mas infelizmente era muito cedo para que o vídeo por demanda bem como as empresas de TV a cabo pudessem viabilizar o negócio. A idéia que o *7 tentava vender, hoje já é realidade em programas interativos e também na televisão digital. Permitir ao telespectador interagir com a emissora e com a programação em uma grande rede cabos, era algo muito visionário e estava muito longe do que as empresas de TV a cabo tinham capacidade de entender e comprar. A idéia certa, na época errada.
Entretanto, o estouro da Internet aconteceu e rapidamente uma grande rede interativa estava se estabelecendo. Era este tipo de rede interativa que a equipe do *7 estava tentando vender para as empresas de TV a cabo. E, da noite para o dia, não era mais necessário construir a infra-estrutura para a rede, ela simplesmente estava lá. Gosling foi incumbido de adaptar o Oak para a Internet e em janeiro 1995 foi lançada uma nova versão do Oak que foi rebatizada para Java. A tecnologia Java tinha sido projetada para se mover por meio das redes de dispositivos heterogêneos, redes como a Internet. Agora aplicações poderiam ser executadas dentro dos browsers nos Applets Java e tudo seria disponibilizado pela Internet instantaneamente. Foi o estático HTML dos browsers que promoveu a rápida disseminação da dinâmica tecnologia Java. A velocidade dos acontecimentos seguintes foi assustadora, o número de usuários cresceu rapidamente, grandes fornecedores de tecnologia, como a IBM anunciaram suporte para a tecnologia Java.
Desde seu lançamento, em maio de 1995, a plataforma Java foi adotada mais rapidamente do que qualquer outra linguagem de programação na história da computação. Em 2003 Java atingiu a marca de 4 milhões de desenvolvedores em todo mundo. Java continuou crescendo e hoje é uma referência no mercado de desenvolvimento de software. Java tornou-se popular pelo seu uso na Internet e hoje possui seu ambiente de execução presente em web browsers, mainframes, SOs, celulares, palmtops e cartões inteligentes, entre outros.[carece de fontes?]

[editar] Padronização
Em 1997 a Sun Microsystems tentou submeter a linguagem a padronização pelos orgãos ISO/IEC e ECMA, mas acabou desistindo. [1][2][3] Java ainda é um standard de fato, que é controlada através da JCP Java Community Process.[4] Em 13 de Novembro de 2006, a Sun lançou a maior parte do Java como Software Livre sob os termos da GNU General Public License (GPL). Em 8 de Maio de 2007 a Sun finalizou o processo, tornando praticamente todo o código Java como software de código aberto, menos uma pequena porção que a Sun não possui copyright.[5]

[editar] Principais Características da Linguagem Java
A linguagem Java foi projetada tendo em vista os seguintes objetivos:
Orientação a objeto - Baseado no modelo de Smalltalk e Simula67;
Portabilidade - Independência de plataforma - "write once run anywhere";
Recursos de Rede - Possui extensa biblioteca de rotinas que facilitam a cooperação com protocolos TCP/IP, como HTTP e FTP;
Segurança - Pode executar programas via rede com restrições de execução;
Além disso, podem-se destacar outras vantagens apresentadas pela linguagem:
Sintaxe similar a Linguagem C/C++.
Facilidades de Internacionalização - Suporta nativamente caracteres Unicode;
Simplicidade na especificação, tanto da linguagem como do "ambiente" de execução (JVM);
É distribuída com um vasto conjunto de bibliotecas (ou APIs);
Possui facilidades para criação de programas distribuídos e multitarefa (múltiplas linhas de execução num mesmo programa);
Desalocação de memória automática por processo de coletor de lixo (garbage collector);
Carga Dinâmica de Código - Programas em Java são formados por uma coleção de classes armazenadas independentemente e que podem ser carregadas no momento de utilização.

[editar] Máquina Virtual Java
Programas Java não são traduzidos para a linguagem de máquina,como outras linguagens estaticamente compiladas e sim para uma representação intermediária, chamada de bytecodes.
Os bytecodes são interpretados pela máquina virtual Java (JVM - Java Virtual Machine). Muitas pessoas acreditam que por causa desse processo, o código interpretado Java tem baixo desempenho. Durante muito tempo esta foi uma afirmação verdadeira. Porém novos avanços têm tornado o compilador dinâmico (a JVM), em muitos casos, mais eficiente que o compilador estático.
Java hoje já possui um desempenho próximo do C++. Isto é possível graças a otimizações como a compilação especulativa, que aproveita o tempo ocioso do processador para pré-compilar bytecode para código nativo. Outros mecanismos ainda mais elaborados como o HotSpot da Sun, que guarda informações disponíveis somente em tempo de execução (ex.: número de usuários, processamento usado, memória disponível), para otimizar o funcionamento da JVM, possibilitando que a JVM vá "aprendendo" e melhorando seu desempenho. Isto é uma realidade tão presente que hoje é fácil encontrar programas corporativos e de missão crítica usando tecnologia Java. No Brasil, por exemplo, a maioria dos Bancos utiliza a tecnologia Java para construir seus home banks, que são acessados por milhares de usuários diariamente. Grandes sítios como o eBay utilizam Java para garantir alto desempenho. E a cada ano Java tem se tornado mais rápido, na medida que se evolui o compilador dinâmico [6][carece de fontes?].
Essa implementação no entanto tem algumas intrínsecas. A pré-compilação exige tempo, o que faz com que programas Java demorem um tempo significativamente maior para começarem a funcionar. Soma-se a isso o tempo de carregamento da máquina virtual. Isso não é um grande problema para programas que rodam em servidores e que deveriam ser inicializados apenas uma vez. No entanto isso pode ser bastante indesejável para computadores pessoais onde o usuário deseja que o programa rode logo depois de abri-lo. A próxima versão da máquina virtual produzida pela Sun promete novos recursos que irão minimizar este fato.1
O Java ainda possui uma outra desvantagem considerável em programas que usam bastante processamento numérico. O padrão Java tem uma especificação rígida de como devem funcionar os tipos numéricos. Essa especificação não condiz com a implementação de pontos flutuantes na maioria dos processadores o que faz com que o Java seja significativamente mais lento para estas aplicações quando comparado a outras linguagens.
Os bytecodes produzidos pelos compiladores Java podem ser usados num processo de engenharia reversa para a recuperação do programa-fonte original. Esta é uma característica que atinge em menor grau todas as linguagens compiladas. No entanto já existem hoje tecnologias que "embaralham" e até mesmo criptografam os bytecodes praticamente impedindo a engenharia reversa.

[editar] Exemplos de código

[editar] Método main
O método main é onde o programa inicia. Pode estar presente em qualquer classe. Os parâmetros de linha de comando são enviados para a array args[], do tipo String.
public class OlaMundo {
public static void main(String args[]) {
System.out.println("Olá, Mundo!");
}
}

[editar] Criação de classes
Exemplo:
public abstract class Animal {
public abstract void fazerBarulho();
}

----

public class Cachorro extends Animal {
public void fazerBarulho() {
System.out.println("AuAu!");
}
}

----

public class Gato extends Animal {
public void fazerBarulho() {
System.out.println("Miau!");
}
}
O exemplo acima cria a classe Animal e duas classes derivadas de Animal.
Java não suporta herança múltipla, e todas as classes em Java derivam de Object