SEMINÁRIOS INTEGRADOS EM SISTEMAS DE...
Transcript of SEMINÁRIOS INTEGRADOS EM SISTEMAS DE...
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
Luiz Leão – [email protected] http://www.luizleao.com
Unidade 4 - Principais tópicos de infraestrutura e programação
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• 4.1. Aplicações utilizando Programação Estruturada e Programação Orientada a Objeto.
• 4.2. Programação Web e para Dispositivos Móveis.
• 4.3. Integração computacional: arquitetura, sistema operacional e redes
Conteúdo Programático
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Imagine que tenha que processar as vendas feitas por cada vendedor de cada filial de uma empresa.
Programação Estruturada
Filial 1 Filial 2
Filial 3
Empresa
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Se você vai programar em um ambiente procedural, como C, então vai criar algo assim: – Um módulo de controle, que invocará os procedimentos de inicialização
e o loop principal.
– Um módulo que é invocado para ler e processar cada filial.
– Uma sub-rotina que é invocada do módulo das filiais para poder tratar cada funcionário de cada filial.
Programação Estruturada
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Problemas decorrentes: 1) Falta de isolamento entre os módulos: Alteração em um módulo
pode resultar em danos nos outros.
2) Dificuldade de manutenção: Imagine o problema que seria se alguns tipos de vendedores tivessem regras diferentes... se algumas filiais tivessem o mesmo problema?
3) Dificuldade de reaproveitamento de código: Se outro programa quisesse utilizar a mesma estrutura haveria “copy/paste”
Programação Estruturada
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• A “unidade” de um programa procedural é a sub-rotina em C.
• Para cada coisa é criada uma sub-rotina que processará os dados.
• Modularizar um programa é criar uma rotina para cada função.
Programação Estruturada
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• É a decomposição de um conjunto de componentes de software em sub-partes, denominadas módulos.
• Espera-se que os módulos tenham uma forte coesão interna e um pequeno acoplamento exterior.
Modularização
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Alta Coesão: todas as partes de um processo (ou módulo) são fortemente relacionadas.
• Baixo Acoplamento: o número de interfaces entre os processos (ou módulos) é mantido ao mínimo, visando facilitar modificações futuras.
Modularização
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Um bom módulo deve cumprir uma única função, e todos os seus arquivos devem ser suficientes para cumprir esta função.
• Além disso, ele também deve possuir uma interface simples e bem especificada.
Modularização
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• É uma rotina de código que é chamada pelo programa principal para realizar uma tarefa.
• Normalmente chama-se de procedimento (procedure) a rotina que não retorna valores, e função (function) a que retorna.
Sub-rotinas
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• É a sua área de atuação, normalmente o lugar onde foi definida.
• Para que não existam ambiguidades na utilização dos identificadores, não pode existir nenhum caso onde existam dois identificadores com o mesmo nome dentro do mesmo escopo. Deve ser respeitada a unicidade de nomes.
• O mesmo vale para parâmetros passados para uma sub-rotina.
Escopo de Variáveis
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Escopo global: São declaradas fora de todas as sub-rotinas, normalmente no início de módulos. Todo o módulo e as sub-rotinas declaradas em seu corpo possuem acesso a estas variáveis.
• Escopo local: São declaradas dentro de uma sub-rotina. Apenas a função possui acesso ao seu conteúdo, o que aumenta o reuso do subprograma e evita efeitos colaterais (maior controle).
Escopo de Variáveis
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• De forma geral, podemos classificar as linguagens de programação quanto ao modelo de tipagem da seguinte maneira: tipagem forte e tipagem fraca.
• Essa questão manifesta-se principalmente em atribuições.
• No caso de linguagens orientadas a objetos, também ocorre em invocações de métodos.
Tipos de dados
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Tipagem forte: o compilador garante que em tempo de execução ocorra a compatibilidade entre os elementos de uma atribuição, e também a existência do método para uma dada referência. Garante maior robustez aos sistemas desenvolvidos, minimizando erros em tempo de execução.
• Tipagem fraca: neste caso, o compilador não existe essa garantia durante a verificação de tipos, sendo responsabilidade do programador. Possibilita maior velocidade e facilidade no desenvolvimento.
Tipos de dados
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
Programação Orientada a Objetos
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
O que são objetos?
CaracterísticasCor
CombustívelNum_Portas
Potencia
ComportamentosAcelerar
FeiarAcender farol
Dar setaBuzinar
CaracterísticasCor
CombustívelNum_Portas
PotenciaCapacidade Carga
ComportamentosAcelerar
FeiarAcender farol
Dar setaBuzinar
Acionar Freio-Motor
CaracterísticasPesoCor
Tamanho telaProcessador
Memória
ComportamentosLigar
DesligarLigar Wireless
Desligar Wireless
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Surgiu da necessidade de simular a realidade, criando abstrações na tentativa de representar as características relevantes dos objetos envolvidos no sistema que se deseja desenvolver.
Por que OO?
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Com o uso da OO, a engenharia de software conseguiu avançar na habilidade de modelar e projetar softwares que representam os problemas do mundo real no mundo computacional.
Por que OO?
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
Linguagens de Programação
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Forte suporte para o encapsulamento dos dados e da lógica dentro de um componente que chamamos de objeto.
• Essas propriedades tornam-se mais importantes quando os programas se tornam grandes, pois com a orientação a objetos fica mais fácil de dar manutenção no código.
Vantagens
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Classes
• Objetos
• Abstração
• Encapsulamento
• Herança
• Polimorfismo
Conceitos de Orientação a Objetos
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
É o molde para a criação de objetos. • Define o comportamento e os atributos dos seus objetos.
Classe
Exemplo:Planta de uma casa
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
É a instâncias da classe em memória. • Possui todas as características definidas previamente na
classe. • Se comunicam através da troca de mensagens.
Objeto
Exemplo:A casa construída
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
Identificar todas as informações que atendem a aplicação e ignorar as informações irrelevantes.
Abstração
Dados abstraidos
Objeto Pessoa
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
Permite que os atributos e os métodos sejam empacotados dentro de uma classe.
• Mecanismo para proteger os atributos. • Atributos são manipulados apenas pelos métodos públicos.
Encapsulamento
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
Permite reutilizar a definição de um tipo de objeto para definir outro tipo de objeto.
Herança
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
Capacidade de objetos de diferentes tipos responder a métodos com o mesmo nome, cada um de acordo com seu próprio comportamento.
Polimorfismo
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Classe: modelo para descrever objetos.
• Objeto: entidade que possui atributos e métodos.
• Abstração: selecionar informações importantes para a aplicação.
• Encapsulamento: empacotar atributos e métodos dentro da classe.
• Instância: objeto instanciado na memória.
Resumindo
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Método: procedimento ou função que implementa uma operação.
• Mensagem: requisição para executar um método do objeto.
• Herança: definir nova classe a partir de uma classe previamente definida.
Resumindo
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Arquitetura • Sistema operacional • Redes
Integração Computacional
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
Arquitetura
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• Consiste na organização dos seus componentes e suas relações internas, assim como as relações externas, através das suas interfaces.
• Entende-se por relações externas: softwares, serviços etc.
Arquitetura de Software
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• É comumente organizada em visões, dependendo do tipo de aspecto a ser analisado no projeto. • Visão funcional/lógica (Requisitos) • Visão de projeto. • Visão de desenvolvimento/estrutural • Visão de concorrência/processo/thread • Visão de Implantação • Visão do Usuário
Arquitetura de Software: Visões
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
• É um modelo arquitetural que tem como objetivo separar a apresentação da interface (View), das regras de negócio (Control), assim como a persistência dos dados (Model)
Arquitetura de Software: MVC
Unidade 4 - Principais tópicos de infraestrutura e programação
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO
Arquitetura de Software: MVC
Digrama de Robustez