Baixe o app para aproveitar ainda mais
Prévia do material em texto
Laboratório de Engenharia de Software I Turma 01: Profa. Lucia Vilela Leite Filgueiras Turma 02: Profa. Maria Alice Grigas Varela Ferreira Eventos e Interfaces Gráficas 2 Tópicos • Introdução • Desenvolvimento de Software • Paradigma de Programação • Orientação a Eventos e Evento • Tipos de Eventos • Estrutura de um programa orientado a eventos Relembrando... • No 1º. ano foram vistos dois cursos orientados à programação de computadores: – MAC2166 - Introdução à Computação – PCS3111 - Laboratório de Programação Orientada a Objetos para Engenharia Elétrica • Esses cursos constituem a base para a implementação de software, base dos estudos da Engenharia de Software. • São considerados pré-requisitos para tudo o que aqui será estudado. 3 Desenvolvimento de Software • Desenvolver software não envolve só usar uma linguagem de programação. Temos que considerar ainda: – Métodos, Arcabouços (frameworks), Bibliotecas, Ferramentas, etc. Tudo isso será visto ao longo do curso. • Um aspecto importante é o paradigma de programação seguido: – Paradigma de programação = “Forma de conceituar o que significa realizar computação e como tarefas executadas no computador devem ser estruturadas e organizadas.” (Budd, 2001). • O paradigma de programação influencia na facilidade ou dificuldade de representação do problema. 4© PCS / EP / USP 2016 – PCS 3111 – Aula 1 Paradigma de Programação • Alguns paradigmas – Imperativo: estado global e comandos de mudanças de estado • Linguagens: Pascal, C e Cobol – Funcional: funções matemáticas (não afetam o estado) • Linguagens: Lisp, Haskel, ML e Scala – Lógico: lógica formal (ex.: lógica de 1ª ordem) • Linguagens: Prolog e Datalog – Orientação a objetos: abstração do mundo em objetos • Linguagens: C++, Java, C#, Objective C, Smalltalk, Python 5 Visto em MAC2116 Visto em PCS3111 © PCS / EP / USP 2016 – PCS 3111 – Aula 1 Paradigma de programação • Outros paradigmas, que serão vistos nesse curso: – Orientação a Eventos: incorporam eventos e sua manipulação, decorrentes do fato de terem de acomodar elementos como telas gráficas e dispositivos de entrada e saída, típicos da programação interativa) – Linguagens: Smalltalk, C++, C#, Python – Linguagens Declarativas: especificam relações entre entidades que o programa “deve satisfazer”, sem dizer “como” deve fazer. • Linguagens: SQL, HTML • Algumas linguagens são multiparadigma: • Linguagens: C++, Python 6© PCS / EP / USP 2016 – PCS 3111 – Aula 1 Orientação a Eventos e Evento • Evento indica uma “ocorrência”. Por exemplo: – O avião parte; – Alguém aperta o interruptor e a lâmpada acende; – O computador sinaliza a chegada de uma mensagem de email. • Eventos caracterizam “estímulos” que acontecem no mundo externo, aos quais o sistema deve responder. • Não se deve confundir as causas (alguém aperta o interruptor) com as consequências (lâmpada acende). • Um evento causa (será visto mais a frente): – a mudança de estado no sistema – a produção de uma informação na interface do sistema 7 Orientação a Eventos e Evento Quando um ser humano interage com um sistema (software) e existe uma interface gráfica para permitir essa interação, os eventos do sistema são resultantes de ações desse ator sobre essa interface gráfica. 8 •Esta Foto de Autor Desconhecido está licenciado em CC BY-NC-ND Interface gráfica – gera eventos e transmite ao software Ser humano - ações Software reage ao evento e gera uma resposta na Interface gráfica 1 3 2 Orientação a Eventos e Evento • Uma interface gráfica é composta por widgets: • Widgets do tipo Botão causam eventos (click, double click) 9 •Esta Foto de Autor Desconhecido está licenciado em CC BY-NC-ND Widget Botão “Fechar Janela” Widget botão “Iniciar” Widget caixa de texto “Punto Base #3 (C)” Widget form “Janela” Orientação a Eventos e Evento • Um click (ou double click) no botão Iniciar desencadeia uma operação no software, que poderia utilizar os valores fornecidos nas caixas de texto, fornecendo uma “resposta ao usuário”. • Esse click inicia uma troca de mensagens entre os objetos internos ao software que irá gerar a “resposta ao usuário”. • Um click no botão Fechar Janela, fecha a janela apresentada na figura. Se essa janela for a janela principal do programa, esse programa será encerrado. • Para um programa ser executado, nesse paradigma, ele deve possuir uma (ou mais de uma) janela associada. O fechamento da janela, encerra a execução do programa. 10 Tipos de Eventos • Eventos (puros) • Eventos de dados • Eventos temporais Exemplo: controle de estoque – O usuário “fecha a janela” (evento puro); – O usuário pede para iniciar a operação sobre os itens A, B, C e D (evento de dados). – chega o final do dia (evento temporal) 11 Estrutura de um programa orientado a eventos 1. Comandos de iniciação do programa 2. Loop de “espera por evento” e desvio para o evento que ocorreu a. Trata Evento_A; b. Trata Evento_B; c. Trata Evento_C; ................ 3. Finalização do programa • Ferramentas de desenvolvimento ajudam a desenvolver essa estrutura. 12
Compartilhar