SEMINÁRIOS INTEGRADOS EM SISTEMAS DE...

36
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

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

Unidade 4 - Principais tópicos de infraestrutura e programação

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO

• Estudo de caso • Framework GOT

Arquitetura de Software: MVC