Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1...

51
Capítulo 6 Design da Arquitectura Capítulo 6 Design da Arquitetura 1 2017/2018

Transcript of Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1...

Page 1: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Capítulo 6 – Design da Arquitectura

Capítulo 6 Design da Arquitetura 12017/2018

Page 2: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Assuntos abordados

Decisões de design de arquitectura

Visões de arquitetura

Padrões de arquitetura

Arquiteturas de aplicativos

Capítulo 6 Design da Arquitetura 22017/2018

Page 3: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Design da arquitetura

A arquitetura está preocupada com a compreensão de

como um sistema de software deve ser organizado e de

projetar a estrutura geral do sistema.

A arquitetura é o elo crítico entre design e a engenharia

de requisitos, uma vez que identifica os principais

componentes estruturais de um sistema e as relações

entre eles.

O resultado do processo de arquitetura é um modelo de

arquitetura que descreve como o sistema está

organizado, como um conjunto de components se

comunicam.

Capítulo 6 Design da Arquitetura 32017/2018

Page 4: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Agilidade e arquitetura

É geralmente aceite que num estágio inicial de

processos ágeis, se projete uma arquitetura geral dos

sistemas.

Refazer a arquitetura do sistema é geralmente caro

porque afeta todos os componentes do sistema

Capítulo 6 Design da Arquitetura 42017/2018

Page 5: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Arquitetura de um sistema de controle do robô

de embalamento

Capítulo 6 Design da Arquitetura 52017/2018

Page 6: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Abstração

Uma pequena arquitetura está preocupada com a

arquitetura de programas individuais. A este nível,

estamos preocupados como um programa individual é

decomposto em componentes.

Uma grande arquitetura (completa) está preocupada

com a arquitetura de sistemas empresariais complexos

que incluem outros sistemas, programas e componentes

do programa. Estes sistemas empresariais estão

distribuídos por diferentes computadores, que podem

ser detidos e geridos por empresas diferentes.

Capítulo 6 Design da Arquitetura 62017/2018

Page 7: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Vantagens de uma arquitetura explícita

Comunicação entre as partes interessadas

A arquitetura pode ser usada como um foco de discussão pelosstakeholders do sistema.

Análise de sistema

Significa que se analisa se o sistema pode atender aos seusrequisitos não-funcionais.

Reutilização em grande escala

A arquitetura pode ser reutilizável em todo o sistema.

Capítulo 6 Design da Arquitetura 72017/2018

Page 8: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Representações da arquitetura

Simples, diagramas informais de blocos, mostram

entidades e relacionamentos, são o método mais

utilizado para documentar arquiteturas de software.

Mas estes têm sido criticados porque eles não têm

semântica, não mostram os tipos de relacionamentos

entre entidades, nem as propriedades são visíveis de

entidades na arquitetura.

Depende do uso dos modelos de arquitetura. Os

requisitos para o modelo de semântica depende de

como os modelos são utilizados.

Capítulo 6 Design da Arquitetura 82017/2018

Page 9: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Diagramas

Muito abstrato - não mostram a natureza dos

relacionamentos dos componentes, nem as

propriedades externas dos subsistemas.

No entanto, útil para a comunicação com as partes

interessadas e para o planeamento do projeto.

Capítulo 6 Design da Arquitetura 92017/2018

Page 10: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

O uso de modelos de arquitetura

Como forma de facilitar a discussão sobre o projeto ou

sobre o sistema

Visão Alto nível da arquitetura de um sistema, é útil para a

comunicação com as partes interessadas do sistema e

planeamento do projeto, porque não é cheia de detalhes. As

partes interessadas podem-se relacionar e entender uma visão

abstrata do sistema. Eles podem, em seguida, discutir o sistema

como um todo, sem ser confundida por detalhe.

Como forma de documentar uma arquitetura que foi

projetada

O objectivo aqui é produzir um modelo completo do sistema que

mostra os diferentes componentes do sistema, as seus

interfaces e as suas ligações.

Capítulo 6 Design da Arquitetura 102017/2018

Page 11: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Decisões de design da arquitectura

Capítulo 6 Design da Arquitetura 112017/2018

Page 12: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Decisões de design da arquitetura

Arquitetura é um processo criativo, cada processo é

diferente dependendo do tipo de sistema que está a ser

desenvolvido.

No entanto, uma série de decisões comuns abrangem

todo o projeto e essas decisões afetam as

características não-funcionais do sistema.

Capítulo 6 Design da Arquitetura 122017/2018

Page 13: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Decisões de design da arquitectura

Capítulo 6 Design da Arquitetura 132017/2018

Page 14: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Arquitetura e caraterísticas do sistema

Desempenho

Localizar operações críticas e minimizar as comunicações.

Segurança

Use uma arquitetura em camadas com itens críticos nascamadas internas.

Localizar características críticas de segurança num pequenonúmero de subsistemas.

Disponibilidade

Incluir componentes e mecanismos redundantes de tolerância afalhas.

Manutenção

Componentes substituíveis.

Capítulo 6 Design da Arquitetura 152017/2018

Page 15: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Visões da arquitetura

Capítulo 6 Design da Arquitetura 162017/2018

Page 16: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Visões da arquitetura

Que pontos de vista ou perspectivas são úteis quando

se desenha e documenta a arquitetura de um sistema?

As notações devem ser usadas para descrever os

modelos de arquitetura?

Cada modelo de arquitetura mostra apenas uma visão

ou perspectiva do sistema.

Ele pode mostrar como um sistema é decomposto em módulos,

como os processos em tempo de execução interagem ou as

diferentes maneiras em que os componentes do sistema são

distribuídos através de uma rede. Tanto o design como a

documentação, geralmente precisam apresentar múltiplas

visões de arquitetura de software.

Capítulo 6 Design da Arquitetura 172017/2018

Page 17: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

visões de arquitetura

Capítulo 6 Design da Arquitetura 182017/2018

Page 18: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

4 + 1 vista do modelo de arquitectura de

software

Visão lógica, mostra as captações chaves no sistema de

objectos ou classes de objectos.

Visão de processo, mostra como, em tempo de

execução, o sistema é composto e interage com os

processos.

Visão de desenvolvimento, mostra como o software é

decomposto para o desenvolvimento.

Visão física, mostra o sistema de hardware e de

software, como os componentes são distribuídos.

Relacionadas com casos de uso ou cenários (+1)

Capítulo 6 Design da Arquitetura 192017/2018

Page 19: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Representação das visões de arquitetura

Algumas pessoas argumentam que a Unified Modeling

Language (UML) é uma notação apropriada para

descrever e documentar arquiteturas de sistema

Contudo a UML não inclui abstrações apropriadas para

a descrição do sistema de alto nível.

Linguagens de descrição de arquitetura (ADLs) foram

desenvolvidos, mas não são amplamente utilizadas.

Capítulo 6 Design da Arquitetura 202017/2018

Page 20: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Padrões de arquitetura

Capítulo 6 Design da Arquitetura 212017/2018

Page 21: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Padrões de arquitetura

Os padrões são um meio de representação, partilha e

reutilização de conhecimento.

Um padrão de arquitetura é uma descrição estilizada de

boas práticas de projeto, que tem sido experimentado e

testado em diferentes ambientes.

Padrões devem incluir informações sobre quando eles

são e quando não são úteis.

Padrões podem ser representados utilizando descrições

tabulares e gráficos.

Capítulo 6 Design da Arquitetura 222017/2018

Page 22: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Model-View-Controlle (MVC)

Nome MVC (Model-View-Controller)

Descrição Esta apresentação separa e interação a partir dos dados do sistema. O

sistema está estruturado em três componentes lógicos que interagem uns

com os outros. A componente Model gere os dados do sistema e operações

associadas sobre esses dados. A componente View define e gere como os

dados são apresentados ao utilizador. A componente controller controla a

interação do utilizador (por exemplo, cliques de rato, etc.) e passa essas

interações para a View e o Model.

Quando se deve usar Usado quando há várias maneiras de ver e interagir com os dados. Também

é usado quando os requisitos futuros de interação e apresentação de dados

são desconhecidos.

Vantagens Permite que os dados possam ser alterados independente da sua

representação e vice-versa. Suporta a apresentação dos mesmos dados de

maneiras diferentes, com as alterações feitas em uma representação

mostrados em todos eles.

Desvantagens Pode envolver código e código de complexidade adicional quando o modelo

de dados e interações são simples.

Capítulo 6 Design da Arquitetura 232017/2018

Page 23: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

A organização do MVC

Capítulo 6 Design da Arquitetura 242017/2018

Page 24: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Arquitetura de aplicações Web usando o padrão

MVC

Capítulo 6 Design da Arquitetura 252017/2018

Page 25: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Arquitetura em camadas

Usado para modelar a interface de subsistemas.

Organiza o sistema num conjunto de camadas cada

uma das quais fornecem um conjunto de serviços.

Suporta o desenvolvimento incremental de subsistemas

em camadas diferentes. Quando uma camada de

interface muda, apenas a camada adjacente é afetada.

Capítulo 6 Design da Arquitetura 262017/2018

Page 26: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

O padrão de arquitetura em camadas

Nome Layered da arquitetura

Descrição Organiza o sistema em camadas, com funcionalidades

relacionadas, associadas com cada camada. Uma camada

proporciona serviços para a camada acima, de modo que as

camadas de nível mais baixo representam serviços centrais que

são suscetíveis de serem usados em todo o sistema.

Quando se deve usar Utilizado na construção de novas instalações no topo dos

sistemas existentes; quando o desenvolvimento está espalhado

por várias equipas, com cada responsabilidade da equipe para

uma camada de funcionalidade; quando há uma exigência de

segurança multinível.

Vantagens Permite a substituição de camadas inteiras, desde que a

interface seja mantida. instalações redundantes (por exemplo, a

autenticação) podem ser fornecidas em cada camada para

aumentar a fiabilidade do sistema.

Desvantagens Na prática, proporciona uma clara separação entre as camadas,

é muitas vezes difícil uma camada de alto nível ter que interagir

diretamente com as camadas de nível mais baixo, em vez de

através da camada imediatamente abaixo dela. O desempenho

pode ser um problema devido a vários níveis de interpretação

de um pedido de serviço, uma vez que é processado em cada

camada.

Capítulo 6 Design da Arquitetura 272017/2018

Page 27: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

A arquitetura em camadas

Capítulo 6 Design da Arquitetura 282017/2018

Page 28: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

A arquitetura do sistema iLearn

Capítulo 6 Design da Arquitetura 292017/2018

Page 29: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Arquitetura Repositório

Subsistemas devem trocar dados. Isso pode ser feito deduas maneiras:

Os dados partilhados são mantidos numa base de dados centralou repositório e podem ser acedidos por todos os subsistemas;

Cada subsistema mantém a sua própria base de dados epassam os dados explicitamente para outras subsistemas.

Quando grandes quantidades de dados estão a serpartilhados, o modelo de repositório de partilha é maiscomumente utilizado, este é um mecanismo de partilhade dados eficiente.

Capítulo 6 Design da Arquitetura 302017/2018

Page 30: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

O padrão Repository

Nome Repositório

Descrição Todos os dados do Sistema são geridos num repositório

central, que é acessível a todos os componentes do sistema.

Componentes não interagem diretamente, apenas através do

repositório.

Quando se deve

usar

Deve usar-se esse padrão quando se tem um sistema em que

grandes volumes de informação são gerados e têm de ser

armazenado por um longo período de tempo.

Vantagens Os componentes podem ser independente não precisam

saber da existência de outros componentes. As alterações

feitas por um componente pode ser propagada para todos os

componentes. Todos os dados podem ser geridos de forma

consistente (por exemplo, backups feitos ao mesmo tempo),

pois é tudo em um só lugar.

Desvantagens O repositório é um ponto único de falha, assim os problemas

no repositório afetam todo o sistema. Pode ser ineficiênte na

organização de toda a comunicação através do repositório.

Distribuindo o repositório através de vários computadores

pode ser difícil.

Capítulo 6 Design da Arquitetura 312017/2018

Page 31: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Uma arquitetura de repositório para um IDE

Capítulo 6 Design da Arquitetura 322017/2018

Page 32: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Arquitetura Cliente - Servidor

Modelo distribuído que mostra como os dados e oprocessamento é distribuído através de uma variedadede componentes.

Pode ser implementado num único computador.

Conjunto de servidores autônomos que prestamserviços específicos, tais como impressão, gestão dedados, etc.

Conjunto de clientes que solicitam estes serviços.

Rede que permite que os clientes acedam a servidores.

Capítulo 6 Design da Arquitetura 332017/2018

Page 33: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

O padrão cliente-servidor

Nome Cliente-servidor

Descrição Numa arquitetura cliente-servidor, a funcionalidade do sistema é

organizada em serviços, com cada serviço entregue a partir de um

servidor. Os clientes são utilizadores destes serviços e os

servidores dão acesso a esses serviços.

Quando se deve

usar

Usado quando os dados de uma base de dados são partilhados e

têm de ser acedidos a partir de uma variedade de locais. Como os

servidores podem ser replicados, também pode ser utilizado

quando a carga de um sistema é variável.

Vantagens A principal vantagem deste modelo é que os servidores podem ser

distribuídos através de uma rede. Funcionalidade geral (por

exemplo, um serviço de impressão) pode estar disponível para

todos os clientes e não precisa ser implementado por todos os

serviços.

Desvantagens Cada serviço é um ponto único de falha, tão suscetível a ataques

de negação de serviço ou falha do servidor. O desempenho pode

ser imprevisível, pois depende da rede, bem como do sistema.

Pode haver problemas de gestão se os servidores são propriedade

de diferentes organizações.

Capítulo 6 Design da Arquitetura 342017/2018

Page 34: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

A arquitetura cliente-servidor para uma

biblioteca de filmes

Capítulo 6 Design da Arquitetura 352017/2018

Page 35: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Arquiteturas de aplicativos

Capítulo 6 Design da Arquitetura 392017/2018

Page 36: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Arquiteturas de aplicativos

Sistemas de aplicação são projetados para atender a

uma necessidade organizacional.

Como as empresas têm muito em comum, os seus

sistemas de aplicação também tendem a ter uma

arquitetura comum que reflete os requisitos da

aplicação.

Uma arquitetura de aplicação é uma arquitetura para um

tipo de sistema de software que pode ser configurado e

adaptados para criar um sistema que satisfaça os

requisitos específicos.

Capítulo 6 Design da Arquitetura 402017/2018

Page 37: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Uso de arquiteturas de aplicativos

Como ponto de partida para o projeto de arquitetura.

Como uma lista de verificação de design.

Como uma forma de organizar o trabalho da equipa dedesenvolvimento.

Como um meio de avaliar os componentes parareutilização.

Como um vocabulário para “falar” sobre os diferentestipos de aplicação.

Capítulo 6 Design da Arquitetura 412017/2018

Page 38: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Exemplos de tipos de aplicação

Aplicações de processamento de dados

Aplicações de processamento de transações

Sistemas de processamento de eventos

Sistemas de processamento de linguagem

Capítulo 6 Design da Arquitetura 422017/2018

Page 39: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Exemplos Tipo de Aplicação

Duas arquiteturas de aplicativos genéricos amplamenteutilizados são os sistemas de processamento detransações e sistemas de processamento de linguagem.

Sistemas de processamento transação

sistemas de comércio eletrónico;

sistemas de reserva.

Sistemas de processamento de línguas

compiladores;

intérpretes de comando.

Capítulo 6 Design da Arquitetura 432017/2018

Page 40: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Sistemas de processamento de transações

Processo de pedidos de informação a partir de umabase de dados ou atualizações à base de dados.

Da perspetiva do utilizador uma transação é:

Qualquer sequência coerente de operações que satisfaz umameta;

Por exemplo – encontrar horário de voos de Londres para Paris.

Os utilizadores fazem pedidos assíncronos para oserviço que são então processados por um gestor detransações.

Capítulo 6 Design da Arquitetura 442017/2018

Page 41: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

A estrutura de aplicações de processamento de

transacções

Capítulo 6 Design da Arquitetura 452017/2018

Page 42: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

A arquitetura de um sistema ATM

Capítulo 6 Design da Arquitetura 462017/2018

Page 43: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Arquitetura de sistemas de informação

Sistemas de informação têm uma arquitetura genérica

que pode ser organizada como uma arquitetura em

camadas.

Estes são sistemas baseados em transações como a

interação com esses sistemas geralmente envolve

transações numa base de dados.

Camadas incluem:

A interface do utilizador

Comunicações do utilizador

Recuperação de informação

Base de dados do sistema

Capítulo 6 Design da Arquitetura 472017/2018

Page 44: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Arquitetura do sistema de informação em

camadas

Capítulo 6 Design da Arquitetura 482017/2018

Page 45: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

A arquitetura do sistema Mentcare

Capítulo 6 Design da Arquitetura 492017/2018

Page 46: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Sistemas de informação baseados na web

Gestão de recursos de informação e sistemas de informação

são agora sistemas geralmente baseados na web onde as

interfaces de utilizador são implementadas usando um

navegador web.

Por exemplo, sistemas e-commerce são sistemas de gestão

de recursos baseados na Internet que aceitam encomendas

eletrónicas de bens ou serviços e, em seguida, providenciam

a entrega desses bens ou serviços ao cliente.

Um sistema e-commerce, a camada de aplicação específica

inclui funcionalidades adicionais apoiando um 'carrinho de

compras', na qual os utilizadores podem colocar um número

de itens em transações separadas, em seguida, pagar por

eles numa única transação.

Capítulo 6 Design da Arquitetura 502017/2018

Page 47: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Implementação do servidor

Estes sistemas são muitas vezes implementados como

cliente-servidor

O servidor web é responsável por todas as comunicações do

utilizador, com a interface de utilizador implementado usando

um navegador web;

O servidor de aplicação é responsável por implementar a lógica

específica do aplicativo, bem como armazenamento de

informações e pedidos de informações;

O servidor de base de dados move informações de e para a

base de dados e lida com a gestão de transações.

Capítulo 6 Design da Arquitetura 512017/2018

Page 48: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Sistemas de processamento de linguagem

Aceitar uma linguagem natural ou artificial como entrada e

gerar alguma outra representação dessa língua.

Pode incluir um intérprete para agir sobre as instruções na

língua que está a ser processada.

Usado em situações em que a maneira mais fácil de

resolver um problema é descrever um algoritmo ou

descrever os dados do sistema

Capítulo 6 Design da Arquitetura 522017/2018

Page 49: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

A arquitetura de um sistema de processamento

de linguagem

Capítulo 6 Design da Arquitetura 532017/2018

Page 50: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Pontos chave

A arquitetura de software é uma descrição de como um sistema

de software é organizado.

Decisões de projeto de arquitetura incluem decisões sobre o tipo

de aplicação, a distribuição do sistema, os estilos de arquitetura

a serem usados.

Arquiteturas podem ser documentadas de várias perspectivas ou

pontos de vista diferentes, como uma visão conceitual, uma

visão lógica, uma visão de processo, e uma visão de

desenvolvimento.

Padrões arquitetônicos são um meio de reutilização de

conhecimento sobre arquiteturas de sistemas genéricos. Eles

descrevem a arquitetura, quando pode ser usado e descrevem

as suas vantagens e desvantagens.

Capítulo 6 Design da Arquitetura 582017/2018

Page 51: Capítulo 6 Design da Arquitectura - UBIsebastiao/Ensino/UBI/2017-2018/ES/Teoricas/… · 4 + 1 vista do modelo de arquitectura de software Visão lógica, mostra as captações chaves

Pontos chave

Todos os modelos de arquitecturas de sistemas de aplicação

ajudam a compreender e comparar aplicações, validar

projetos de sistemas de aplicação e avaliar componentes em

larga escala para reutilização.

Sistemas de processamento de transações são sistemas

interativos que permitem que informações numa base de

dados possa remotamente ser acessado e modificado pelos

utilizadores.

Sistemas de processamento de linguagem são usados para

traduzir textos de uma língua para outra e levar a cabo as

instruções especificadas no idioma de entrada. Eles incluem

um tradutor e uma máquina abstrata que executa a

linguagem gerada.

Capítulo 6 Design da Arquitetura 592017/2018