PROJETO DE ARQUITETURA DE SOFTWARE

Projeto de Arquitetura

Objetivo: Apresentar os diversos tipos de Arquitetura do Sistema.

O projeto de arquitetura descreve hardware, software e ambiente de rede do sistema.O objetivo do projeto de arquitetura é determinar quais partes da aplicação serão atribuídas as quais hardwares.
1. Elementos de Um projeto de Arquitetura
Todos os sistemas de software podem ser divididos em quatro funções básicas enquanto que os componentes de hardware são divididos em três partes.
1.1. Componentes de Software
Os componentes de software são divididos em:
Armazenagem de Dados à Banco de Dados ou Arquivos (entidades DER)
Lógica de acesso aos dados à procedimentos necessários para acessar as informações no banco de dados.
Lógica de aplicação à Lógica de negócio (Processos de DFD)
Lógica de apresentação à Interface com o usuário
1.2. Componentes de Hardware
Os componentes de hardware são divididos em:
Computadores clienteà PC, palm, laptop, celular
Computadores Servidor à Mainframes, PC
Rede à conexão discada, banda larga, etc.

2. Tipos de Arquitetura

A arquitetura do projeto consiste em definir quais partes do software serão distribuídas em quais hardwares, as diferentes combinações é que especifica a arquitetura utilizada.


1.1. Arquiteturas Baseadas em Servidor

Lógica de apresentação
Lógica de aplicação
Lógica de acesso aos dados
Armazenamento de dados

Os servidores normalmente são mainframes executando as quatro funções da aplicação. Os clientes simplesmente capturam o que é digitado e enviam para o servidor processar.
Desvantagens à Sobrecarga no servidor devido a demanda de clientes.

1.2. Arquiteturas Baseadas em Cliente

Lógica de apresentação
Lógica de aplicação
Lógica de acesso aos dado

Na arquitetura baseada em cliente, o computador cliente e responsável pela lógica de apresentação, lógica de aplicação e lógica de acesso aos dados. Em aplicações muito simples, o armazenamento dos dados poderá ser colocado na mesma máquina.
Desvantagem à Conforme a demanda por mais aplicações, o computador cliente poderá ficar sobrecarregado.

1.1.
Lógica de apresentação
Lógica de aplicação
Lógica de acesso aos dados
Armazenamento de dados

Servidor (PC)
Cliente

Arquiteturas Baseadas em Cliente-Servidor

O objetivo das arquiteturas baseadas em cliente-servidor é distribuir o processamento de forma equilibrada entre cliente e servidor.
Nestas arquiteturas, o cliente é responsável pela lógica da apresentação enquanto o servidor é responsável pela lógica de acesso aos dados e armazenamento de dados. A Lógica de aplicação pode ser alocada no cliente, no servidor ou em ambos.
Quando o cliente possui a maior parte da Lógica de aplicação chamamos de Cliente Gordo. Quando o servidor possui a maior parte da Lógica de aplicação, chamamos de Cliente Magro.
Vantagens à redimensionáveis, suporte a diversos tipos de máquinas cliente e servidor diferentes, facilidade para separar claramente as camadas em sistemas Web, maior confiabilidade e disponibilidade contra falhas.
Desvantagens à Complexidade, desenvolver programas para cliente e para servidor, dificuldade de atualização.


Requisitos Operacionais à Integração: Se o sistema usa integração de sistemas de mesa (Excel) uma arquitetura baseada em cliente magro ou gordo pode ser mais indicada, mas integrações de sistemas com arquitetura baseada em servidor podem ser mais indicado uma arquitetura baseada em servidor. Portabilidade: As arquiteturas baseadas em cliente-magro são mais indicadas pois é mais simples escrever padrões baseados na Web que ampliam o sistemas para outras plataformas. Atualização: Arquiteturas baseadas em clientes magros não são indicadas pois uma alteração implica em reinstalar o software em todos clientes.
Requisitos de Desempenho àVelocidade: Os sistemas em geral que precisam de alto desempenho adaptam-se melhor em arquiteturas baseada em cliente-servidor por distribuir o processamento. Capacidade: arquiteturas baseadas em cliente-servidor são mais facilmente redimensionáveis Disponibilidade/Capacidade: em arquiteturas baseadas em cliente-servidor podemos ter vários servidores sendo que quando um falhar o outro poderá assumir suas solicitações.
Requisitos de Segurança à Valor Agregado/Controle de Acesso: Sistemas que possuem um alto valor agregado normalmente são alocados em mainframes por possuírem Sistema operacional mais confiáveis, mesmo quando os mainframes são usados como servidores em uma arquitetura cliente servidor. Arquiteturas baseadas em servidores e clientes magros centralizam o software em apenas um local. Criptografia/Autenticação: Devido a grande influencia da Internet, a tecnologia de autenticação e criptografia são muito mais avançadas para arquiteturas baseadas em em cliente-servidor do que para mainframes Controle de Vírus: reduzir funções residentes nos computadores clientes reduzem o risco de vírus.
Requisitos Cultuais e Políticos à Multilíngües/Personalização/Legislação: a separação das aplicações e da lógica de apresentação possibilita o desenvolvimento de interfaces diferentes para cada idioma e sem precisar alterar a lógica de negócio, e do mesmo modo, podemos criar funções que sejam habilitadas e desabilitadas para personalizar o sistema de forma a atender diferentes tipos culturais.

1. Especificar Software e Hardware para o Sistema
Após ter conhecimento dos tipos de arquitetura, podemos escolher qual o melhor se adapta a nosso sistema.
O passo seguinte a definição da arquitetura é a especificação de hardware e software para o sistema.
Baseada na arquitetura escolhida preencha o quadro abaixo com a especificação de Hardware e Software de seu sistema.

Comentários

Postagens mais visitadas deste blog

ORIGEM DA HOMILÉTICA E DA RETÓRICA

EXEMPLOS DE REQUISITOS NÃO FUNCIONAIS

PENTATEUCO E HIPÓTESE DOCUMENTÁRIA