Um framework semiótico para o design de software centrado no usuário

Tamanho: px
Começar a partir da página:

Download "Um framework semiótico para o design de software centrado no usuário"

Transcrição

1 Um framework semiótico para o design de software centrado no usuário Resumo A teoria semiótica revela que uma das possíveis causas da baixa usabilidade dos sistemas computacionais é que desenvolvedores e usuários possuem visões distintas da aplicação. Neste sentido, é preciso introduzir a perspectiva da Engenharia Semiótica para o design de software na qual designers e usuários compartilhem a mesma visão do produto. Este trabalho apresenta um framework semiótico no qual o design de software deve compreender a concepção, especificação e prototipagem de signos conceituais, computacionais e de interface. Palavras-chaves: Design de Software, Design de Interfaces de Usuário, Engenharia Semiótica, Semiótica Computacional, Interação Humano-Computador. 1. Introdução A utilidade de um sistema computacional deve ser considerada em três níveis distintos. No nível do computador a ênfase está no hardware e software do sistema. É preciso definir como os procedimentos podem ser automatizados e como as informações podem ser codificadas. Neste nível é importante avaliar a qualidade dos diversos elementos do computador como confiabilidade, segurança, eficiência dentre outras. No nível da interação humano-computador a ênfase está nas atividades que os usuários devem fazer e na forma como as informações são percebidas ou produzidas por eles. Neste nível, as tarefas do domínio devem determinar metas para cada usuário que devem poder ser realizadas utilizando o sistema. É neste nível também que se avalia a usabilidade do sistema, isto é, a facilidade de uso e de aprendizado, produtividade e satisfação do usuário, dentre outras qualidades. No nível do contexto todos o componentes podem ser visualizados de forma integrada. Neste nível o hardware e o software são visto como um componente único que interage com os diversos usuários de maneira a permitir que as tarefas do domínio possam ser realizadas. Neste nível avalia-se o quanto o sistema resolve os problemas da organização, isto é, a sua aplicabilidade. O foco da ciência da computação está no nível do computador. Na engenharia de software, tradicionalmente um campo científico pertencente à ciência da computação, alguns métodos e técnicas de desenvolvimento abordam apenas o conhecimento necessário para o desenvolvimento com foco no nível do computador sem dar a devida importância ao nível da interação e do contexto. Na década de 80, alguns autores ressaltaram a importância de desenvolver sistemas centrado-no-usuário com o objetivo de produzir sistemas que atendessem às necessidades de usuários e melhorassem a sua usabilidade [Norman & Draper 86]. A teoria semiótica revela que uma das possíveis causas da baixa usabilidade dos sistemas computacionais é que desenvolvedores e usuários possuem visões distintas da aplicação. Os usuários possuem uma visão externa, obtida a partir da interface de usuário, enquanto desenvolvedores possuem uma visão interna que é obtida a partir de linguagens de especificação ou de programação. Estas linguagens são baseadas em modelos computacionais e descrevem o funcionamento do sistema.

2 Recentemente diversos autores argumentaram sobre a necessidade de trazer para o desenvolvimento de software a atividade de design, no mesmo sentido do papel que a atividade de design industrial desempenha para o desenvolvimento de artefatos em geral, ou que a arquitetura desempenha para a construção civil [Winograd 86]. Segundo David Liddle, "o design de software é o ato de determinar a experiência do usuário com um pedaço de software. Não tem nada a ver sobre como o código opera internamente ou se ele é grande ou pequeno. A tarefa do designer é especificar de forma completa e não ambígua a experiência global do usuário" [Liddle 86]. Neste sentido, design compreende as atividades de concepção, especificação e prototipagem de um artefato interativo cuja matéria prima são os signos que o formam. A experiência do usuário surge da interação com o sistema através destes signos. Na perspectiva de design o software deve ser visto como um artefato virtual e como tal ele é um produto a ser aplicado com utilidade num certo contexto e por isso chamado de aplicação de software. Este artefato virtual é algo que possui um modelo conceitual próprio a sua funcionalidade e a sua interatividade. A funcionalidade determina aquilo o que ele faz e que o torna útil para resolver problemas dos usuários. A interatividade determina a maneira como o usuário deverá utilizar o software. A perspectiva de design precisa ampliar o foco e considerar não apenas o computador, mas também os níveis da interação e do contexto. Este trabalho discute a importância da perspectiva de design de software e apresenta um framework semiótico que orienta como esta atividade deve ser desempenhada. O framework propõe que o design de software deve compreender a concepção, especificação e prototipagem da partes externas, internas e conceituais do software. A parte externa compreende a interface de usuário. A parte interna compreende a arquitetura de componentes de software e os algoritmos e estruturas de dados que implementam estes componentes. A parte conceitual corresponde aos modelos mentais obtidos das diferentes perspectivas que usuários, programadores e designers possuem quando interpretam o software. O framework mostra como os elementos externos, internos e conceituais podem ser integrados, permitindo um software para centrado-no-usuário. Nosso trabalho está fundamentado em teoria semiótica e segue a abordagem denominada de Engenharia Semiótica [de Souza 93]. A Engenharia Semiótica é uma abordagem na qual sistemas são considerados como artefatos de metacomunicação e que considera que o design de software é um processo metacomunicativo. Nesta perspectiva o designer envia uma mensagem unidirecional e indireta de designers para usuários cuja expressão é a interface e cujo conteúdo é o modelo conceitual da aplicação. Esta mensagem se caracteriza pela sua capacidade de, ela própria, enviar e receber mensagens durante o processo de interação entre o usuário e o sistema. Neste trabalho vamos mostrar que o design de software deve ser conduzido como um processo comunicativo e deve possibilitar que ambos compartilhem o mesmo modelo conceitual da aplicação. Neste processo o designer deve representar elementos do domínio da aplicação não como tipos de dados de uma linguagem de programação, mas como signos de interface. A funcionalidade do software é determinada pelo repertório de funções de aplicação que operam sobre objetos. Objetos e funções de aplicação são comunicados ao usuário através dos signos de interface que formam a mensagem do designer. Na seção seguinte vamos apresentar um exemplo que mostra diferentes perspectivas de uma aplicação, diferenciando a importância da perspectiva de design. Na seção 3 apresentamos a fundamentação teórica que explica estas diferentes perspectivas e discutimos as suas conseqüências para o design. A seção 3 introduz a abordagem da Engenharia Semiótica para o design de software. Na seção 4, apresentamos o framework conceitual para o design que

3 distingue os elementos conceituais, computacionais e de interface, de acordo com a teoria estudada. Na última seção discutiremos a importância da perspectiva de design e da teoria semiótica na engenharia de software. 2. As diferentes perspectivas em um software Usuários e programadores normalmente possuem diferentes perspectivas de um software. A perspectiva do usuário de uma aplicação de software está em como ele pode resolver os problemas do usuário. A perspectiva de um programador está em como uma certa solução é resolvida por algoritmos. No design centrado-no-usuário o designer precisa ter uma perspectiva que seja a mais próxima possível daquela que o usuário tem do sistema. Nesta seção vamos discutir as perspectivas do usuário e do programador. Na seção 4 discutiremos a perspectiva do designer. Para exemplificar as diferentes perspectivas do usuário e do programador, vejamos o exemplo de um programa simples que, com pequenas alterações no programa que não alteram a essência do algoritmo, pode ser visto como aplicações de software de distintas. Vamos supor que um usuário esteja utilizando uma aplicação de software. Vejamos o seguinte trecho de interação entre o usuário (U) e o sistema (S). S: Forneça um número: U: 5.3 S: Você deve digitar apenas números inteiros: U: 5 S: Forneça outro número: U: 8 S: O resultado é 3 Observando a interação do usuário com o sistema podemos concluir que o software realizou uma subtração. Assim, a funcionalidade deste software é realizar subtrações de dois números inteiros. Vejamos, agora o algoritmo que poderia gerar este software. escreva("forneça um Número:"); leia A; enquanto A não for inteiro faça escreva( Você deve digitar apenas números inteiros: ) leia A; escreva("forneça outro Número:"); leia B; C = A - B; escreva("o resultado é ", C); Vejamos agora o que acontece se modificarmos as linhas 1, 6 e 9 deste algoritmo para escreva("forneça o valor de venda"); escreva("forneça o valor de compra"); escreva("o lucro é",c); Para o programador muito pouca coisa mudou, mas para o usuário este software agora é visto como uma aplicação de cálculo de lucros de vendas. As alterações no programa foram bastante pequenas, mas produziu um efeito significativo. A perspectiva de software como artefato deve considerar como o usuário vê a aplicação. Os modelos conceituais da funcionalidade do software são distintos. Desta forma, temos softwares distintos com aplicações em domínios distintos. O programa nos fornece uma visão de funcionamento. O usuário possui apenas a visão de funcionalidade.

4 Podemos modificar as mesmas linhas do programa e teremos novas possibilidades de aplicação. escreva("saldo atual"); escreva("valor de saque"); escreva("saldo resultante",c); Estas diferentes perspectivas ocorrem pelas diferentes interpretações que usuários e programadores fazem do software. Programadores interpretam o software a partir da linguagem de programação. A semântica da linguagem de programação possibilita interpretações do software em termos de transformações de estados de variáveis de armazenamento de dados. A interpretação que o usuário tem do sistema é obtida a partir dos elementos da interface de usuário. A esta interpretação damos o nome de modelo conceitual da aplicação. Cada signo utilizado no processo de interação vai permitir ao usuário construir o seu modelo conceitual da aplicação. Vejamos a seguir com a teoria semiótica explica estas diferenças de perspectivas. 3. O modelo conceitual da aplicação O modelo conceitual é uma entidade abstrata que existe na mente dos usuários quando eles estão interagindo com o sistema. Este modelo conceitual determina, para o usuário, quais os quais os objetos da aplicação, suas propriedades, relacionamentos e estados. Além disso, ele determina também o que o usuário pode fazer com a aplicação (a funcionalidade) e como ele pode interagir com a aplicação (a interatividade). Ao utilizarmos um sistema operacional, como o Unix ou o MS DOS, sabemos que podemos construir, armazenar e organizar arquivos de software. Um arquivo é na verdade uma seqüência de bits como começo e fim definidos. Para o usuário o arquivo é algo conceitual que se refere a documentos, programas, dados, etc. Esta entidade conceitual surge na mente do usuário e tem como propriedades um nome, um tipo, uma data de criação e um tamanho em bytes. Arquivos são armazenados em discos em trilhas e setores e podem ser localizados a partir de uma tabela que associa o seu nome ao local físico. Para o usuário, arquivos são colocados "dentro" de uma outra entidade conceitual: o diretório. Arquivos e diretórios são os objetos da aplicação e podem ser criados, destruídos ou modificados por diversas funções da aplicação. Estas funções são, por exemplo, copiar arquivo, apagar arquivos, construir diretórios, remover diretórios, colocar arquivos em um diretório, mover arquivo de um diretório para outro, etc. Estas funções são também entidades virtuais representadas por um nome que devem indicar, para o usuário, o que o sistema faz. Por exemplo, o sistema operacional não coloca arquivos dentro de um diretório. Isto só existe na mente do usuário. O que o sistema faz é trocar o endereço físico do arquivo na tabela de arquivos e diretórios. Entretanto, a visão de que diretórios são recipientes que armazenam arquivos é muito mais útil para o usuário. Ela permite ao usuário criar na sua mente conceitos da aplicação que permitem a ele entender o que fazer com o sistema e raciocinar melhor sobre ele. O sucesso de uma aplicação vai depender justamente da criação deste modelo conceitual. Quanto mais claros forem os conceitos e as operações que se pode fazer com eles, mais o usuário vai saber como aplicá-los na resolução de seus problemas. O sucesso de sistemas como o Apple Macintosh deve-se à construção de modelos conceituais mais familiares para os usuários. Os conceitos de pastas e documentos e a representação deles através de janelas e

5 ícones permitem ao usuário criar imagens mentais mais claras e que são familiares as atividades que eles realizam num escritório. O conceito de pasta como recipiente é mais claro que o de diretório (que na verdade é uma lista de índices). No Macintosh o usuário move objetos (documentos, aplicativos, figuras, etc.) de uma pasta para outra e para o topo-de-mesa (desktop) como faria nos seus escritórios. A perspectiva de design requer que designers e usuários compartilhem o mesmo modelo conceitual. Na próxima mostraremos que o design de software precisa ser visto como um processo comunicativo entre designer e usuário para que o modelo conceitual seja comum a eles. 4. A fundamentação semiótica para as diferentes perspectivas A semiótica é a disciplina que estuda os signos e os processos de comunicação e significação [Eco 76]. Um signo é definido por Peirce como aquilo que, sob certo aspecto ou modo, representa algo para alguém. Dirige-se a alguém, isto é, cria na mente dessa pessoa um signo equivalente, ou talvez um signo mais desenvolvido. Ao signo assim criado denomino interpretante do primeiro signo [Peirce 31]. O signo é produto de uma relação entre três elementos: a expressão que é aquilo que representa; o objeto aquilo que é representado; e o seu interpretante a capacidade mental no contexto do processo do signo. O relacionamento entre estes três elementos está na figura 1. Expressão E I Interpretante Objeto O Figura 1: O Signo de Peirce Signos podem ser produzidos a partir de diferentes sistemas de signos. Exemplos são as palavras ou sentenças de uma língua, os comandos de uma linguagem de programação ou símbolos de sinalização, dentre inúmeros outros. Diferentes tipos de códigos permitem produzir diferentes tipos de signos e diferentes interpretações para cada um deles. Numa aplicação de software, programas são construídos por signos de uma linguagem de programação e utilizados através de signos de interface. Os signos de interface normalmente são produzidos a partir de palavras e elementos gráficos de diferentes tipos de códigos. A semiótica nos ajuda a entender alguns problemas no desenvolvimento de software e revela o importante papel que as linguagens possuem na interpretação software. Designers, programadores, e usuários do sistema utilizam diferentes sistemas de signos para produzirem e/ou entender a aplicação. Vamos considerar que a aplicação é um signo no sentido proposto por Peirce. Para o usuário a expressão deste signo é formada pelas diferentes mensagens de interação veiculadas pelos signos de interface. O interpretante deste signo é o modelo conceitual que ele adquire e permite-lhe compreender o que fazer e como interagir com a aplicação. O objeto deste signo é as diferentes aplicações do programa na resolução de problemas. Na perspectiva do programador a expressão é o programa fonte que deve ser interpretada de acordo com a semântica da linguagem de programação. Desta forma, o objeto deste signo é o

6 conjunto de todos os caminhos possíveis de execução e transformação nos estados de dados e espaços de memória, que é definido formalmente pela semântica da linguagem de programação [Meyer 86]. O programa fonte gera como interpretantes mais imediatos o funcionamento do programa. Apenas programadores que conheçam a fundo a semântica da linguagem e consigam realizar abstrações a partir de algoritmos e estruturas de dados codificadas conseguirão chegar a interpretantes de usabilidade. Quando o usuário entra em contato visual (ou, mais genericamente, sensorial) com a interface, ele realiza um esforço de interpretação e compreensão a respeito do significado de todos os seus dispositivos e da informação que eles veiculam. O conceito de signo como apresentado por Peirce mostra-nos que a mensagem que o designer envia para os usuários têm como expressão a interface de usuário e como conteúdo a funcionalidade e o modelo de interação definidos pelo programa que implementa o sistema [Peirce 31]. O interpretante deste signo é, para o usuário, o modelo conceitual que ele adquire a partir da interpretação da interface - que é a expressão do sistema - durante o processo de interação. Por exemplo, o usuário, quando observa um widget na interface, precisa saber como pode utilizá-lo e qual será o comportamento do sistema após a sua ação. O que está sendo interpretado pelo usuário, mesmo sem perceber, é o que o designer quis dizer sobre aquele widget. A interpretação que a Engenharia Semiótica oferece para este processo é a de que a interface está transmitindo uma mensagem para o usuário, do tipo Eis aqui um botão. Aperte-o e ele realizará tal operação. A interface, isto é, os diversos elementos que a formam (mouse, teclado, widgets, menus, caixas de diálogo, instruções, avisos, comandos, etc) é, pois, uma mensagem formada por outras mensagens. Por utilizarem expressões diferentes, os interpretantes do designer, do programador e do usuário não são idênticos ao modelo semântico determinado pela linguagem de programação. A figura 2 (a) e (b), a seguir, representam as diferentes perspectivas para o exemplo do programa subtração que ocorrem quando o intérprete é o programador (figura 3a) e quando é o usuário (figura 3b). Para o programador, a linguagem de programação restringe os interpretantes em torno dos conceitos de transformação de estados de dados e espaços de memória, dificultando a interpretação da aplicação do software. Para o usuário, os signos de interface devem comunicar como ele pode aplicar o programa na resolução de problemas. Programa fonte, em linguagem de programação. E Signos da Interface de Usuário E Transformação de estados de dados e espaços de memória. I Compreensão do funcionamento do programa. Modelo conceitual da aplicação subtração I Compreensão e utilização do modelo conceitual da aplicação O O Figura 2: Signos da Aplicação Subtração: (a) interpretado pelo programador e (b) interpretado pelo usuário

7 Com base na discussão da seção anterior podemos concluir que a atividade de design de software, no sentido mencionado na introdução, requer notações que permitam ao designer uma perspectiva próxima daquela que o usuário terá. Isto significa que os modelos conceituais adquiridos pelo usuário e pelo designer devem ser bastante semelhantes. Os métodos de design de software devem utilizar-se apenas de modelos que permitam antecipar a usabilidade. Os cenários, esboços e protótipos são exemplos de modelos que auxiliam o designer a compartilhar a mesma perspectiva do usuário. Notações mais tradicionais da engenharia de software como diagramas da arquitetura do software, algoritmos descritos em linguagem natural estruturada, modelos gráficos de estruturas de dados, linguagens de especificação funcional, dentre outras, visam descrever abstratamente o funcionamento e não a usabilidade. Entretanto, não basta apenas utilizar a mesma notação que será utilizada pelo usuário. É preciso ter a garantia de que mesmo utilizando expressões iguais, as interpretações do designer e do usuário serão compatíveis entre si. 5. Um framework para o design de software A abordagem da engenharia semiótica nos mostra que as perspectivas do designer e do usuário podem ser aproximadas pela utilização de signos de interfaces que gerem as mesmas interpretações. Neste processo comunicativo é preciso formular o conteúdo e gerar a expressão que permita ao designer interpretar o mesmo conteúdo. Neste caso é preciso que o designer especifique o modelo conceitual da aplicação e que possa mapeá-lo em signos de interface. Neste caso temos uma correlação semântica entre expressão e conteúdo, no qual signos de interface têm como significado elementos do modelo conceitual. O modelo conceitual da aplicação funciona como uma representação da semântica do software. Com base na fundamentação teórica discutida anteriormente e na abordagem proposta pela Engenharia Semiótica, vamos apresentar um framework conceitual para o design de software. Neste framework diferenciamos a visão do usuário da visão do programador, de acordo com o que foi discutido na seção 3 e mostramos como a abordagem da engenharia semiótica pode ser posta em prática. De acordo com a abordagem da Engenharia Semiótica, o design do software é um processo comunicativo, no qual o designer envia uma mensagem para o usuário cuja expressão é a interface de usuário. Neste processo ambos devem compartilhar o mesmo conteúdo que é o modelo conceitual da aplicação. Assim, designer e usuário compartilham a mesma perspectiva do software. O modelo conceitual funciona como elemento que une as perspectivas do usuário e do designer e serve de base para a implementação computacional do sistema. A seguir vamos mostrar como o design do software requer a especificação de signos que atendam as diferentes perspectivas. 5.1 O processo de design Na abordagem da Engenharia Semiótica, o design e a prototipação da interface de usuário devem ser vistos como a produção de uma mensagem num processo iterativo que deve ser complementado por um processo de avaliação. A produção da mensagem deve ser conduzida em três etapas: a formulação do conteúdo, a especificação abstrata da mensagem e a elaboração da expressão da mensagem do designer para o usuário. A elaboração da expressão é feita através da construção do protótipo.

8 Na primeira destas etapas, a formulação do conteúdo, deve-se conceber e especificar os componentes do modelo conceitual da aplicação. Deve-se especificar os signos conceituais que representam os objetos e as funções da aplicação e os comandos de função. Na segunda etapa, o designer precisa complementar esta especificação considerando que estes componentes são parte do processo comunicativo existente entre o designer e o usuário. Ele deve realizar a especificação de cada componente do modelo conceitual como parte da mensagem global que é enviada ao usuário. Na terceira e última etapa a expressão da mensagem deve ser concebida e especificada para que possa ser apresentada ao usuário durante o processo de interação. Os signos de interface possuem características de interatividade e podem ser acionados pelos usuários através da ferramenta de acionamento. Os signos têm como expressão preferencial os widgets disponíveis na maioria das ferramentas de interfaces. Seus significados (conteúdo da mensagem) são os elementos do modelo conceitual da aplicação. Isto significa que o design da interface de usuário deve estar associado semanticamente com a especificação deste modelo. 5.2 Os signos da aplicação O framework para o design prevê a representação de objetos da aplicação de três formas distintas de acordo com as diferentes perspectivas. Na perspectiva do usuário os objetos da aplicação estão representados como signos de interface, codificados através de elementos gráficos como os ícones e os widgets de interface. A interface de usuário é composta por signos de interface. Na perspectiva do programador os objetos da aplicação estão representados como signos computacionais, codificados em linguagens de programação. O programa é, portanto, formado pelo conjunto de signos computacionais que implementam a aplicação e descrevem o seu funcionamento. Na perspectiva conceitual os objetos da aplicação estão representados através de signos conceituais que são diagramas de representação que permitem descrever cada um dos objetos da aplicação, suas propriedades e relacionamentos de maneira abstrata. A visão conceitual permite uma visão lógica da aplicação independente da linguagem na qual ela será programa ou do estilo de interface que será utilizado. O conjunto de signos conceituais forma o modelo conceitual da aplicação. A figura 3 mostra estas diferentes visões. 5.3 Especificando o modelo conceitual da aplicação Nos sistemas computacionais interativos o modelo conceitual da aplicação é formado por alguns tipos de conceitos que são comuns a maioria deles. Evidentemente, é o designer quem deve determinar quais conceitos são úteis para a aplicação que ele está projetando. Vamos utilizar alguns tipos pré-definidos de conceitos. Eles são os objetos da aplicação, as funções da aplicação e os comandos de função.

9 Usuário Designer Signos de Interface Signos Conceituais Signos Computacionais Programador Figura 3: as diferentes perspectivas representadas por diferentes tipos de signos da aplicação Os objetos da aplicação são definidos em termos de propriedades e relacionamentos devem ser representados no sistema para que os usuários possam operar sobre eles. Estas operações - as funções da aplicação - permitem que os conceitos sejam criados, transformados, destruídos, etc. Os comandos de funções permitem ao usuário controlar a execução de uma função pelo computador. As funções da aplicação são responsáveis por operações com os objetos da aplicação. Elas devem determinar quais transformações ocorrem no sistema e quais são os conceitos que são modificados, criados ou destruídos. A funções modificam o estado do sistema. Uma determinada função da aplicação pode levar o sistema de um estado p de para um estado q. O estado inicial que o sistema está antes que uma determinada função seja executada é também chamado de pré-condição. O estado final, isto é, após a função da aplicação ter sido executada é chamado de pós-condição. Na especificação do modelo conceitual não estamos interessados ainda em como eles vão ser representados computacionalmente, isto é, qual estrutura de dados será utilizada para representar o conceito numa linguagem de programação. Também não vamos representar ainda como o conceito será visto pelo usuário - se na forma de um ícone, de uma tabela, de uma lista, etc. Por enquanto estamos interessados em fazer uma especificação abstrata dos conceitos da aplicação. A execução de cada função da aplicação deve ser controlada por comandos de função. Este conceito refere-se ao conjunto de ações que o usuário deve desempenhar para que uma determinada função seja iniciada, interrompida ou cancelada, por exemplo. As ações que o usuário deve fazer são aquelas que ele desempenha com os dispositivos da interface de usuário, como pressionar tecla X, escrever um nome com o teclado, pressionar com o mouse, mover com o mouse, etc. Existem diferentes formas de interação que determinam comandos de função distintos. No MS DOS, os comandos são elaborados pela digitação de sentenças. Este estilo é chamado de linguagem de comando. No Windows 95/98, os comandos são desempenhados pelo acionamento de objetos da interface num estilo chamado de manipulação direta. A especificação do modelo conceitual pode ser descrita em linguagens diagramáticas como a Unified Modeling Language (UML) [Booch et al. 99].

10 5.4 Exemplificando com um cadastro de clientes Para exemplificarmos a aplicação do framework e as diferentes perspectivas do software, vamos descrever os signos elaborados no design de parte de uma aplicação Sistema de Biblioteca. Vamos nos limitar à função de cadastrar cliente e consultar arquivo de clientes. Para permitir o cadastro de clientes da biblioteca, a aplicação deve possuir objetos como registro de clientes que contém informações sobre cada cliente. Cada registro de cliente é composto por dados para o nome, a matrícula e para informar se o cliente possui livros emprestados. Os registro de clientes são armazenados em um arquivo de cliente. Para que o usuário possa cadastrar as informações de cliente será necessário introduzir um objeto de interface que permita ao usuário fornecer os dados. Este objeto é o formulário de registro, que possui os objetos CampoNome, CampoMatricula, BotãoEmpréstimos, BotãoGravar e BotãoCancelar. Para que o usuário possa visualizar o arquivo de registro de clientes, o objeto tabela de registros é responsável pela sua representação Estes objetos estão representados de forma abstrata usando diagramas de classes UML. O diagrama representa também os relacionamentos entre elas, como mostrado na figura 4. Arquivo de usuários armazena 1 representa 1 Tabela de registros 0..* Registro de usuário 0..* representa Formulário de usuário nome matricula livros emprestados Campo Botão Nome emprestimo Campo Botão Matricula gravar Botão cancelar Figura 4: Signos conceituais para a aplicação cadastrar cliente usando diagramas de classes UML O diagrama de classes permite uma visão abstrata e estática dos objetos da aplicação. Para visualizarmos o modelo de interação é preciso diagramas que possibilitam uma visão dinâmica. O diagrama de atividades é utilizado para descrever as atividades do usuário e do sistema durante o processo de cadastramento. O diagrama de atividades UML descrito na figura 5 é o elemento conceitual que descreve a funcionalidade e o modelo de interação desta função da aplicação cadastrar cliente.

11 Sistema Usuário Escolher cadastrar usuário exibir formulário de usuário Ler registro usuário do formulário Fornecer dados Pressionar gravar gravar registro na tabela apagar formulário de usuário Figura 5: Signos conceituais para a aplicação cadastrar cliente usando diagramas de atividades UML Os signos conceituais descrevem de forma abstrata os objetos que deverão ser percebidos pelo usuário do sistema através de signos de interface. A figura 6 mostra dois possíveis signos de interfaces associados aos objetos tabela de registro e formulário de registro e seus respectivos componentes. Os outros objetos como arquivos de clientes e registro e cliente são possuem signos de interfaces correspondentes uma vez que não são visualizados pelo usuário. Tabela de registro de clientes Nome Matrícula Empréstimos Adriana Silva Sim Ana C Pereira Não Formulário de registro de clientes Nome: Matrícula: Possui livros emprestados? Sim Não Gravar Cancelar Figura 6: Signos de Interface para a aplicação cadastrar cliente Para que a aplicação seja implementada, os signos conceituais e os signos de interface devem ser codificados como signos computacionais de uma linguagem de programação. Os objetos da aplicação Tabela de registros, Registro de cliente e Formulários de registro de cliente - descritos anteriormente na forma de signos conceituais e de interface podem ser descritos como estruturas de dados em uma linguagem de programação (estilo linguagem C), como mostra a figura 7.

12 Struct Tabela { Registro cliente; } TabelaRegistros[100]; Struct Registro { Char nome; Int matricula; Boolean empréstimos; } Struct Form { Textbox CampoNome; Numbox CampoMatricula; RadioButton Empréstimos; PushButton Gravar; PushButton Cancelar; } Formulário registro; Figura 7: Signos computacionais para a aplicação cadastrar cliente 6. Conclusão Este artigo mostrou um framework que descreve como incorporar a atividade de design no desenvolvimento de software de maneira a integrar as diferentes perspectivas que usuários, designers e programadores possuem em relação a uma aplicação. Discutimos com base em teoria semiótica que a perspectiva de programação é inadequada ao design, pois a interpretação obtida do código fonte do programa descreve o funcionamento da aplicação. Usuários interpretam a aplicação a partir de signos veiculados pela interface de usuário. Durante este processo de interação o usuário adquire o modelo conceitual da aplicação. Para que a atividade de design seja realizada adequadamente, designer e usuários precisam compartilhar modelos conceituais semelhantes. A Engenharia Semiótica é uma abordagem na qual o design é visto como um processo de produção de signos. Ela considera que o sistema computacional veicula uma mensagem através da interface, compostas por signos de interface, cujo conteúdo é o modelo conceitual da aplicação. Neste processo comunicativo o designer deve formular o modelo conceitual e expressa-lo através dos signos de interface. O framework apresentado neste trabalho mostra que o processo de produção de signos durante do design envolve a especificação dos signos conceituais que descrevem o modelo conceitual e dos signos de interface que serão vistos pelo usuário. Os signos de interface devem estar semanticamente relacionados com os primeiros uma vez que a interpretação do usuário deve convergir em torno do modelo conceitual pretendido pelo designer. Em [Leite 98] apresentamos uma Linguagem para Especificação da Mensagem do Designer (LEMD) que permite a descrição da interface de maneira abstrata como sendo uma mensagem enviada do designer para o usuário. Mostramos ainda como os elementos desta descrição podem ser mapeados em signos de interface disponíveis nas principais interfaces gráficas, como botões, caixa de texto, menus e vários outros. Atualmente estamos aplicando este método no re-design de uma aplicação de software para telemarketing. Vamos comparar esta versão com a já existente através de testes de usabilidade com o objetivo de avaliar as vantagens de nosso framework. Nosso próximo objetivo é desenvolver uma ferramenta de apoio ao design que permita ao designer integrar os diferentes signos conceituais, com signos de interface e signos computacionais. Esta ferramenta inclui ainda recursos para a construção de modelos de tarefas e cenários de uso. 7. Referências Booch, G.; Rumbaugh, J. & Jacobson, I. The Unified Modeling Language, Addison-Wesley, 1999.

13 De Souza, C.S. The Semiotic Engineering of User Interface Languages. International Journal of Man-Machine Studies 39. Academic Press pp Eco, U. A Theory of Semiotics. Bloomington, IN. Indiana University Press Edição brasileira: Tratado Geral de Semiótica, coleção estudos 73, ed. Perspectiva, 2a. Edição, São Paulo Leite, J. Modelos e Formalismos para a Engenharia Semiótica de Interfaces de Usuário. Tese de doutorado, Pontifícia Universidade Católica do Rio de Janeiro, Liddle D. Design of the Conceptual Model in Winograd, T. (Ed.) Bringing Design to Software. Addison-Wesley, Meyer B. A Theory of Programming Languages. Prentice-Hall, Peirce, C.S Collected Papers ( ). Edição brasileira: Semiótica. São Paulo, Ed. Perspectiva (coleção estudo, n.46) Winograd, T. (Ed.) Bringing Design to Software. Addison-Wesley, 1996.

A abordagem da Engenharia Semiótica para o desenvolvimento de software centrado no usuário

A abordagem da Engenharia Semiótica para o desenvolvimento de software centrado no usuário A abordagem da Engenharia Semiótica para o desenvolvimento de software centrado no usuário Jair Cavalcanti Leite Departamento de Informática e Matemática Aplicada Universidade Federal do Rio Grande do

Leia mais

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro MODELAGEM DE SISTEMAS Introdução a Computação e Engenharia de Software Profa. Cynthia Pinheiro Introdução Modelagem de Sistemas: A modelagem de um sistema auxilia o analista a entender a funcionalidade

Leia mais

Crítica à Engenharia Cognitiva

Crítica à Engenharia Cognitiva Introdução à Interação Humano-Computador Teorias de IHC Engenharia Semiótica Professora: Raquel Oliveira Prates http://www.dcc.ufmg.br/~rprates/ihc \ Aula 1: 14/05 Crítica à Engenharia Cognitiva de Souza

Leia mais

INTRODUÇÃO: INTERAÇÃO HUMANO- COMPUTADOR. Aula 2

INTRODUÇÃO: INTERAÇÃO HUMANO- COMPUTADOR. Aula 2 INTRODUÇÃO: INTERAÇÃO HUMANO- COMPUTADOR Aula 2 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROJETO DE INTERFACE COM O USUÁRIO Marcelo Henrique dos Santos Marcelo Henrique dos Santos Mestrado em

Leia mais

DEINF - UFMA Especialização em Análise e Projeto de Sistema

DEINF - UFMA Especialização em Análise e Projeto de Sistema DEINF - UFMA Especialização em Análise e Projeto de Sistema Interação Humano Computador Prof. Anselmo C. de Paiva Depto de Informática - UFMA Estilos de Interação todas as formas como os usuários se comunicam

Leia mais

Análise e projeto de sistemas

Análise e projeto de sistemas Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os

Leia mais

Introdução à Análise e Projeto de Sistemas

Introdução à Análise e Projeto de Sistemas Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise

Leia mais

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

Aula 8. Cognição Distribuída

Aula 8. Cognição Distribuída Aula 8 Cognição Distribuída Cognição distribuída A teoria da cognição distribuida, assim como qualquer outra teoria cognitiva, busca entender a organização de sistemas cognitivos. Diferente das teorias

Leia mais

Requisitos de Software e UML Básico. Janaína Horácio

Requisitos de Software e UML Básico. Janaína Horácio Requisitos de Software e UML Básico Janaína Horácio janaina@les.inf.puc-rio.br Agenda Requisitos O que é? Objetivos? Atividades?... UML O que é? Modelos... Casos de Uso O que é? Componentes 2 Requisitos

Leia mais

Análise de Requisitos

Análise de Requisitos Análise de Requisitos Prof.ª: Érika A. Barrado Analisar x Projetar Análise: significa investigar, descobrir ou desvendar algo; Consiste em encontrar o conjunto de requisitos para um dado software; Definida

Leia mais

Engenharia semiótica. INF1403 Introdução à Interação Humano-Computador Prof. Alberto Raposo sala 413 RDC

Engenharia semiótica. INF1403 Introdução à Interação Humano-Computador Prof. Alberto Raposo sala 413 RDC Engenharia semiótica INF1403 Introdução à Interação Humano-Computador Prof. Alberto Raposo abraposo@inf.puc-rio.br sala 413 RDC Engenharia Cognitiva da Imagem do Sistema 2 Designers de IHC e Desenvolvedores

Leia mais

Engenharia de Software. Aula 2.4 Modelos de Casos de Uso. Prof. Bruno Moreno

Engenharia de Software. Aula 2.4 Modelos de Casos de Uso. Prof. Bruno Moreno Engenharia de Software Aula 2.4 Modelos de Casos de Uso Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Comportamento do Sistema Refere-se às funcionalidades do sistema Requisitos funcionais; O comportamento

Leia mais

3 A aplicação MoLIC WOz

3 A aplicação MoLIC WOz A aplicação MoLIC WOz 33 3 A aplicação MoLIC WOz Esta seção descreve a MoLIC WOz relacionando com a Engenharia Semiótica (3.1) e apresentando a estrutura da ferramenta (3.2). 3.1 MoLIC WOz e a Engenharia

Leia mais

Design de IHC. Capítulo 7. Barbosa e Silva Adaptado por Luciana Mara e Thiago Vilela

Design de IHC. Capítulo 7. Barbosa e Silva Adaptado por Luciana Mara e Thiago Vilela A Design de IHC Capítulo 7 Adaptado por Luciana Mara e Thiago Vilela Introdução Os modelos e as representações do Capítulo 6, permitem descrever quem usa ou utilizará o sistema (através de perfis de usuários

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 MODELAGEM DE SOFTWARE INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa

Leia mais

Por que IHC é importante?

Por que IHC é importante? Introdução à Interação Humano- Computador fundamentada na Teoria da Engenharia Semiótica Raquel Oliveira Prates Seminário Tamanduá Por que IHC é importante? 1 Diferentes Designs O que é IHC? Interação

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ Centro de Tecnologia - CTC Departamento de Informática - DIN Programa de Pós-Graduação em Ciência da Computação PCC ESTÁGIO DE DOCÊNCIA II Disciplina: Engenharia

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Modelos de Interação

Modelos de Interação Disciplina: Projeto de Interface Homem-Computador Aluno: Gustavo Alexandre Professora: Ana Cristina Bicharra Modelos de Interação 1. Introdução Existem diversas formas com as quais o usuário pode interagir

Leia mais

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso. Engenharia de Software Aula 07 Tópicos da Aula Introdução à UML e Introdução a UML Visão geral de alguns diagramas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 28 Março 2012 A

Leia mais

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução UML: introdução Prof.: Clarindo Isaías Pereira da Silva e Pádua Synergia / Gestus Departamento de Ciência da Computação - UFMG UML: introdução 2 Bibliografia Rumbaugh, J.; Jacobson, I.; Booch, G., The

Leia mais

1. INTRODUÇÃO A MODELAGEM DE DADOS

1. INTRODUÇÃO A MODELAGEM DE DADOS 1. INTRODUÇÃO A MODELAGEM DE DADOS Para se construir uma casa ou um prédio de qualidade, é essencial fazer um planejamento detalhado, com a finalidade de pensar sobre as formas de construção, fazer estimativas

Leia mais

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA º PERÍODO - 7º MÓDULO AVALIAÇÃO A1 DATA 10/09/2009 ENGENHARIA DE USABILIDADE

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA º PERÍODO - 7º MÓDULO AVALIAÇÃO A1 DATA 10/09/2009 ENGENHARIA DE USABILIDADE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 4º PERÍODO - 7º MÓDULO AVALIAÇÃO A1 DATA 10/09/2009 ENGENHARIA DE USABILIDADE 2009/2 GABARITO COMENTADO QUESTÃO 1: 1. Considere as afirmações a seguir:

Leia mais

Fundamentos de Programação 1

Fundamentos de Programação 1 Fundamentos de Programação 1 Slides N. 2 D / Prof. SIMÃO Slides elaborados pelo Prof. Robson Linhares elaborados pelo Prof. Robson Linhares http://www.dainf.ct.utfpr.edu.br/~robson/ Jean Marcelo SIMÃO

Leia mais

Interação Humano-Computador Interface e Estilos de Interação PROFESSORA CINTIA CAETANO

Interação Humano-Computador Interface e Estilos de Interação PROFESSORA CINTIA CAETANO Interação Humano-Computador Interface e Estilos de Interação PROFESSORA CINTIA CAETANO Paradigma de Interação Indica a ordem em que os elementos envolvidos em uma operação são selecionados ou acionados

Leia mais

PROJETO DE INTERFACES. Projeto de Programas PPR0001

PROJETO DE INTERFACES. Projeto de Programas PPR0001 1 PROJETO DE INTERFACES Projeto de Programas PPR0001 2 Introdução A interface de uma aplicação computacional envolve os aspectos de um sistema com o qual mantemos contato A área da computação que estuda

Leia mais

Working 03 : Conceitos Básicos I

Working 03 : Conceitos Básicos I Working 03 : Conceitos Básicos I Objetivos: Dominar os conceitos básicos da linguagem de programação C; Aprender a utilizar o compilador, identificando os erros de sintaxe do código fonte; Prazo de Envio:

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática Roteiro Análise: ENGENHARIA DE SOFTWARE - Análise Estruturada: - Diagrama de (DFD). - Níveis de Visão

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina.

Leia mais

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua Modelagem de Processos de Negócio Prof.: Clarindo Isaías Pereira da Silva e Pádua Gestus Departamento de Ciência da Computação - UFMG Bibliografia Eriksson, H-E; Penker, M. Business Modeling with UML:

Leia mais

Modelo de Interação (revisão) Design de IHC Da interação para o Design da Interface

Modelo de Interação (revisão) Design de IHC Da interação para o Design da Interface 1 Modelo de Interação (revisão) Design de IHC Da interação para o Design da Interface INF1403 Introdução a IHC Luciana Salgado Representações e Aspectos de IHC Representações e Aspectos de IHC Representações

Leia mais

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Modelagem de dados usando o modelo Entidade- Relacionamento (ER) Modelagem de dados usando o modelo Entidade- Relacionamento (ER) slide 1 Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Tópicos Usando modelo de dados conceituais de alto nível

Leia mais

CAPÍTULO 1 INTRODUÇÃO

CAPÍTULO 1 INTRODUÇÃO CAPÍTULO 1 INTRODUÇÃO "Uma longa viagem começa com um único passo. Lao-Tsé Os mapas são um meio de comunicação, cujo objetivo é fornecer ao usuário informações sobre os fenômenos geográficos. Quando se

Leia mais

MODULARIZAÇÃO - PARTE 1

MODULARIZAÇÃO - PARTE 1 AULA 27 MODULARIZAÇÃO - PARTE 1 Os algoritmos que temos construído até então são muito simples, pois resolvem problemas simples e apresentam apenas os componentes mais elementares dos algoritmos: constantes,

Leia mais

Interface Usuário Máquina. Aula 05

Interface Usuário Máquina. Aula 05 Interface Usuário Máquina Aula 05 Interface Usar um sistema interativo significa interagir com sua interface para alcançar objetivos em determinado contexto de uso. Interação e Interface A interação e

Leia mais

Comunicabilidade 07-09/04/2014. O que é dito? Como é dito? INF1403 Introdução a IHC.

Comunicabilidade 07-09/04/2014. O que é dito? Como é dito? INF1403 Introdução a IHC. 1 Comunicabilidade Metacomunicação: O que é? Quem fala com quem? O que é dito? Como é dito? 07-09/04/2014 www.inf.puc-rio.br/~inf1403 2 Roteiro da Aula Discussão da atividade de auto aprendizado da aula

Leia mais

Interação Homem-Computador Parte IV: Estilos de Interação

Interação Homem-Computador Parte IV: Estilos de Interação Interação Homem-Computador Parte IV: Estilos de Interação Neste módulo são tratados os principais estilos de interação que podem ser empregados durante o projeto de uma interface com o usuário. ESTILOS

Leia mais

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas:

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas: Diagramas de Interação Os modelos de análise não respondem a algumas perguntas: Como as operações do sistema são executadas internamente? A que classes estas operações internas pertencem? Quais objetos

Leia mais

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução à UML Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM Introdução

Leia mais

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos DCC / ICEx / UFMG Pensar Orientado a Objetos Projeto Orientado a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Onde quer que você olhe no mundo real, você vê objetos Pessoas, animais, plantas,

Leia mais

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU) Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU) Prof. Seiji Isotani (sisotani@icmc.usp.br) Modelos de Processo de

Leia mais

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo.

4) Defina o que vem a ser um algoritmo, e porque, o mesmo depende do processo. Lista de Exercício 1 Algoritmo e Programação 29/08/2018 (Solução) 1) Escreva conforme a premissas computacionais, o que vem a ser, lógica. R: São as premissas básicas para se executar instruções, alocadas

Leia mais

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE Professora: Isabela C. Damke isabeladamke@hotmail.com Linguagem de Programação Uma linguagem de programação é um conjunto de símbolos (

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Engenharia de requisitos Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido. Tais serviços e restrições

Leia mais

I F1 F 403 In I t n rod o u d ç u ão o a I n I t n eração Hum u ano n -Com o pu p t u ado d r o ( IH I C) Turm r a m 3W 3 B

I F1 F 403 In I t n rod o u d ç u ão o a I n I t n eração Hum u ano n -Com o pu p t u ado d r o ( IH I C) Turm r a m 3W 3 B 1 INF1403 Introdução a Interação Humano-Computador (IHC) Turma 3WB Professor: Alberto Barbosa Raposo Engenharia Semiótica Há mais H em IHC do que o H dos usuários Duas teorias de IHC Engenharia Cognitiva

Leia mais

Faculdade de Tecnologia SENAC Pelotas Interface Homem Computador 3º Semestre

Faculdade de Tecnologia SENAC Pelotas Interface Homem Computador 3º Semestre Faculdade de Tecnologia SENAC Pelotas Interface Homem Computador 3º Semestre Material 5 Metodologias de Desenvolvimento de Interfaces Prof. Luthiano Venecian Introdução o Como conceber e implementar a

Leia mais

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001 PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes

Leia mais

GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri

GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri FERRAMENTA VISUAL PARA GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri ROTEIRO Introdução Objetivos Motivação Fundamentação Teórica Desenvolvimento

Leia mais

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 02 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAIS SÃO OS COMPONENTES BÁSICOS DO HW DE UM SISTEMA COMPUTACIONAL?

Leia mais

Engenharia de Software Orientada a Objetos - OOSE. Método de Jacobson

Engenharia de Software Orientada a Objetos - OOSE. Método de Jacobson Engenharia de Software Orientada a Objetos - OOSE Método de Jacobson Alunos: Amanda Lira Gomes Lucas Balbino de Melo Ferreira Mycke Richard Guntijo Renato Gomes Borges Júnior Sumário Introdução Visão Geral

Leia mais

UML UNIFIED MODELING LANGUAGE LINGUAGEM DE MODELAGEM UNIFICADA

UML UNIFIED MODELING LANGUAGE LINGUAGEM DE MODELAGEM UNIFICADA UML UNIFIED MODELING LANGUAGE LINGUAGEM DE MODELAGEM UNIFICADA UML - Introdução Não é uma linguagem de programação É uma linguagem de modelagem e projeto É uma linguagem padrão para modelagem orientada

Leia mais

6 Considerações Finais

6 Considerações Finais 6 Considerações Finais Este capítulo apresenta as contribuições desta tese e os trabalhos que podem dar continuidade à pesquisa nela apresentada. 6.1 Contribuições Este trabalho tinha como objetivo propor,

Leia mais

ENGENHARIA DE SOFTWARE. Aula 07 UML - Diagrama de Casos de Uso

ENGENHARIA DE SOFTWARE. Aula 07 UML - Diagrama de Casos de Uso ENGENHARIA DE SOFTWARE Aula 07 UML - Diagrama de Casos de Uso OBJETIVOS DA AULA Apresentar uma introdução ao conceitos da UML; Explicar o que é um caso de uso; Explanar sobre o diagrama de casos de uso;

Leia mais

COMPONENTES CENTRAIS DO SISTEMA OPERACIONAL. Prof. Eduardo H. S. Oliveira

COMPONENTES CENTRAIS DO SISTEMA OPERACIONAL. Prof. Eduardo H. S. Oliveira COMPONENTES CENTRAIS DO SISTEMA OPERACIONAL Um usuário interage com o sistema operacional via uma ou mais aplicações de usuário e, muitas vezes, por meio de uma aplicação especial denominada shell (interpretador

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Requisitos de Software

Requisitos de Software Engenharia de requisitos Requisitos de Software Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido. Tais serviços e restrições

Leia mais

Material Complementar de INF Engenharia Cognitiva

Material Complementar de INF Engenharia Cognitiva Material Complementar de INF 1403 2009.1 Engenharia Cognitiva Introdução A Engenharia Cognitiva foi concebida por Donald Norman em 1986 como uma tentativa de aplicar conhecimentos de Ciência Cognitiva,

Leia mais

Sistema Computacional

Sistema Computacional Algoritmos e Lógica de Programação Conceitos Básicos Abstração Reinaldo Gomes reinaldo@cefet-al.br O que é um? Integração de componentes atuando como uma entidade, com o propósito de processar dados, i.e.

Leia mais

Sistemas de ajuda online têm recebido pouca atenção da comunidade de IHC (Interação Humano-Computador) nos últimos anos.

Sistemas de ajuda online têm recebido pouca atenção da comunidade de IHC (Interação Humano-Computador) nos últimos anos. 1 Introdução Sistemas de ajuda online têm recebido pouca atenção da comunidade de IHC (Interação Humano-Computador) nos últimos anos. Esta atitude da comunidade, por um lado, pode ser devida à não utilização

Leia mais

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012 Modelos de Processo de Software Desenvolver software é geralmente uma tarefa complexa e sujeita

Leia mais

I F N 1 F In I t n r t o r d o u d ç u ã ç o ã o a a I n I t n e t r e a r ç a ã ç o ã

I F N 1 F In I t n r t o r d o u d ç u ã ç o ã o a a I n I t n e t r e a r ç a ã ç o ã 1 INF1403 Introdução a Interação Humano-Computador (IHC) Turma 3WB Professor: Alberto Barbosa Raposo IHC = Comunicação Humana Mediada por Computadores: Engenharia Semiótica 02/Abr/2011 IHC no DI da PUC-Rio

Leia mais

Introdução a orientação a objetos

Introdução a orientação a objetos 2 Introdução a orientação a objetos Introdução 2 Linguagens procedimentais 2 Um pouco de história 2 Idéias básicas da POO 2 Classe, atributo e método 2 Herança 3 Polimorfismo 3 Vantagens e desvantagens

Leia mais

Professor Leandro Augusto Frata Fernandes Disciplina devotada ao estudo dos sinais e como eles são utilizados na comunicação

Professor Leandro Augusto Frata Fernandes Disciplina devotada ao estudo dos sinais e como eles são utilizados na comunicação Interface Homem/Máquina Aula 6 Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2011.1/tcc-00.184 Engenharia Semiótica

Leia mais

Engenharia de Software.

Engenharia de Software. Engenharia de Software Prof. Raquel Silveira O que é (Rational Unified Process)? É um modelo de processo moderno derivado do trabalho sobre a UML e do Processo Unificado de Desenvolvimento de Software

Leia mais

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

Leia mais

Engenharia de Software

Engenharia de Software Universidade São Judas Tadeu Prof. André Luiz Ribeiro Prof. Jorge Luis Pirolla Introdução à Computação Engenharia de Software Tópicos O que é Engenharia de Software? Engenharia de Software em camadas Processo

Leia mais

Projeto de Algoritmos

Projeto de Algoritmos Projeto de Algoritmos Introdução aos Sistemas Computacionais Prof. Ernani Viriato de Melo / Reginaldo Costa http://www.ernani.eti.br http://reginaldofazu.blogspot.com 2º Semestre - 2008 Conceitos Básicos

Leia mais

UML. Modelando um sistema

UML. Modelando um sistema UML Modelando um sistema Fases do desenvolvimento de Software Análise de requisitos Análise Projeto Programação Análise de Requisitos Esta fase captura as intenções e necessidades dos usuários do sistema

Leia mais

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos Conceitos Básicos Introdução Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional

Leia mais

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas

Leia mais

Puca Huachi Vaz Penna

Puca Huachi Vaz Penna BCC201 Introdução à Computação Turmas 61, 62, 63, 64, 65 e 66 Puca Huachi Vaz Penna Departamento de Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/puca puca@iceb.ufop.br Aula 2

Leia mais

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas

Leia mais

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje

especificação por meio de exemplos não é garantia de corretude, mas a experiência mostra que tende a ser melhor do que o estado da prática hoje 1 Introdução Testar é o conjunto de tarefas ou passos executados para verificar se um produto ou serviço atende à sua proposta. Dessa forma, a execução de testes em um programa contribui para a melhoria

Leia mais

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS

AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 06: PROGRAMAÇÃO EM MÁQUINAS PARALELAS Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação PROGRAMAÇÃO PARALELA

Leia mais

O Fluxo de Requisitos

O Fluxo de Requisitos O Fluxo de 1 Finalidade do fluxo de requisitos A finalidade deste fluxo é: Chegar a um acordo com o cliente e o usuário sobre o que o sistema deve fazer. Oferecer ao desenvolvedor um melhor entendimento

Leia mais

MC-102 Aula 01. Instituto de Computação Unicamp

MC-102 Aula 01. Instituto de Computação Unicamp MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2016 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos

Leia mais

Análise e Projeto Orientados a Objetos

Análise e Projeto Orientados a Objetos Análise e Projeto Orientados a Objetos Introdução Diretoria Acadêmica de Gestão e Tecnologia da Informação Introdução Os sistemas computacionais adquiriram extrema importância para as organizações públicas

Leia mais

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes o Objetos. Classes, objetos, métodos e variáveis de instância Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento

Leia mais

INF1303 Introdução a Interação Humano-Computador Prova 1 - Parte 1 - Turma: 3VA 17-19h Professora: Maria Lúcia Seixas Data: 27/03/2007.

INF1303 Introdução a Interação Humano-Computador Prova 1 - Parte 1 - Turma: 3VA 17-19h Professora: Maria Lúcia Seixas Data: 27/03/2007. Departamento de Informática INF1303 Introdução a Interação Humano-Computador Prova 1 - Parte 1 - Turma: 3VA 17-19h Professora: Maria Lúcia Seixas Data: 27/03/2007 Aluno: Matrícula: Questão 1 - Engenharia

Leia mais

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo Ciência da Computação Análise e Projeto Orientado a Objetos UML Anderson Belgamo 1 Evolução do Software O rápido crescimento da capacidade computacional das máquinas resultou na demanda por sistemas de

Leia mais

I Análise de Sistemas

I Análise de Sistemas I Análise de Sistemas Dados e Informação Dados São elementos concretos utilizados como base para discussão, decisão, cálculo ou medição. São valores utilizados como matéria-prima de informação, representada

Leia mais

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado) Processo UP Unified Process (Processo Unificado) Conjunto de passos que tem como objetivo atingir uma meta Processo de software na ES, processo que visa a produzir o software - de modo eficiente e previsível

Leia mais

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001 FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS Projeto de Programas PPR0001 2 Introdução Antes de desenvolver ou construir qualquer produto ou sistema em engenharia é necessário um... o PROJETO O que é um

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 4 http://www.ic.uff.br/~bianca/engsoft2/ Aula 4-03/05/2006 1 Modelos Prescritivos de Processo Modelo em cascata Modelos incrementais Modelo incremental Modelo RAD Modelos

Leia mais

Questionário de revisão para AV1 de Informática Aplicada Valor 1,0 ponto - Deverá ser entregue no dia da prova.

Questionário de revisão para AV1 de Informática Aplicada Valor 1,0 ponto - Deverá ser entregue no dia da prova. Questionário de revisão para AV1 de Informática Aplicada Valor 1,0 ponto - Deverá ser entregue no dia da prova. 1) Observe os seguintes procedimentos para copiar um arquivo de uma pasta para outra pasta

Leia mais

Engenharia de Software. Projeto de Arquitetura

Engenharia de Software. Projeto de Arquitetura Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra

Leia mais

Aula 12: Memória: Barramentos e Registradores

Aula 12: Memória: Barramentos e Registradores Aula 12: Memória: Barramentos e Registradores Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Memória: Barramentos e Registradores FAC 1 / 34

Leia mais

Requisitos de Sistemas

Requisitos de Sistemas Requisitos de Sistemas Unidade II - Processos de Negócio Identificação Conceitos Modelagem - BPM - UML Processos x Requisitos 1 Processo de negócio CONCEITO Um processo de negócio, processo organizacional

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Design Principles Representando SW em UML OO em C Pattens úteis para embedded Rodrigo M A Almeida Design Principles Design Principles são guias para decompor as funcionalidades e

Leia mais

Aula 1.7 Introdução a APOO e UML

Aula 1.7 Introdução a APOO e UML APOO Aula 1.7 Introdução a APOO e UML Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Possuir um lápis e uma régua não te tornam um arquiteto 2 Você pode conhecer toda a API Java, C++ ou qualquer LPOO. 3 Mas

Leia mais

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software ENGENHARIA DE SOFTWARE Aula 03 Processos de Software AGENDA Modelos de processo de software Atividades do processo Lidando com mudanças Rational Unified Process (RUP) 14/03/2017 IFPR QUEDAS DO IGUAÇU -

Leia mais

A aplicação da Engenharia Semiótica no design da interface de usuário do software ASK2000

A aplicação da Engenharia Semiótica no design da interface de usuário do software ASK2000 A aplicação da Engenharia Semiótica no design da interface de usuário do software ASK2000 Jair Cavalcanti Leite Universidade Federal do Rio Grande do Norte Campus Universitário, Lagoa Nova 59072-970 Natal,

Leia mais