Baixe o app para aproveitar ainda mais
Prévia do material em texto
Análise 3- Classes de fronteira • Possuem comportamentos de comunicação/interação com atores • Ex: registrarAluguel, registrarPagamentoMensalidade Classes de entidade • Possuem comportamentos que envolvem informações encapsuladas nas entidades • Ex: getNome, getCPF, setLivro, debitar Classes de controle • Possuem comportamentos relacionados à logica de negócios do caso de uso (regras de negócio) • Ex: registrarPagamentoMensalidade, registrarAluguel, enviarPagamento Arquitetura de sistemas: 1- São, o documento de Arquitetura em si, o modelo de análise de projeto e o projeto de banco de dados. 2- • Facilitar a comunicação com os stakeholders • Promover uma análise criteriosa sobre os requisitos críticos do projeto já no início do projeto, como: • Desempenho, confiabilidade e facilidade de manutenção • Promover o reuso de software em larga escala, pois sistemas com requisitos semelhantes podem ter a mesma arquitetura • É possível elaborar um projeto de arquitetura para uma linha de produto 3- Visão de implantação (fisica) • Descreve como a aplicação é instalada e como executa em uma rede de computadores • Onde é executado (computador) cada componente da arquitetura? • Visão usada para avaliar requisitos nãofuncionais, como: desempenho, disponibilidade, confiabilidade 4- Arquitetura centrada em dados • Repositório de dados é o centro da arquitetura • Clientes (subsistemas, sistemas) acessam o repositório para inserir, recuperar, alterar, remover e também trocar dados entre eles • Promove a integração entre componentes e sistemas • Componentes e sistemas podem mudar, ou serem adicionados novos, sem impactar nos demais Arquitetura de fluxo de dados • Dados de entrada são transformados em dados de saída através de uma série de cálculos e transformações Ex: uso de filtros • As entradas e saídas têm formato pré-definido • Um componente não precisa saber como os outros funcionam Padrões de Arquitetura 1- Coesão • O grau em que os elementos de uma classe/módulo estão relacionados logicamente entre sí. • Alta coesão: os elementos que estão juntos são fortemente relacionados. Por exemplo, os métodos de uma classe fornecem em tarefas relacionadas. • Baixa coesão: os elementos que estão juntos são pouco relacionados. Por exemplo, os métodos de uma classe fazem uma variedade grande de tarefas que não estão relacionadas. Acoplamento • Quão forte dois módulos diferentes estão interconectados. • Módulos: classes, subsistemas • Acoplamento estreito (tight coupling) • A classe precisa saber os detalhes internos da outra; • As mudanças no sistema se propagam para várias classes; • O sistema se torna difícil de entender; • Acoplamento frouxo (Loose coupling) • A classe é mais fácil de consumir por outras classes • Os detalhes de implementação ficam escondidos atrás de APIs (interfaces) bem definidas • Isola as mudanças em uma pequena porção do código • Torna o código fácil para ler 2- Um padrão de projeto (design pattern), é uma solução geral para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software. 3- Padrões de criação : relacionados à criação de objetos Padrões estruturais : tratam das associações entre classes e objetos. Padrões comportamentais : tratam das interações e divisões de responsabilidades entre as classes ou objetos. 4- State é um padrão de projeto de software usado quando o comportamento de um objeto muda, dependendo do seu estado. Problema Há uma extrema complexidade no código quando tentamos gerênciar comportamentos diferentes, dependendo de um número de estados diferentes. Também manter o código torna-se difícil, e mesmo em alguns casos, podem apontar a uma inconsistência de estados atuais na forma de implementação dos diferentes estados no código (por exemplo, com variáveis para cada estado). Solução Se implementa uma classe para cada estado diferente do objeto e o desenvolvimento de cada método para cada estado em particular. O objeto da classe a que pertencem esses estados resolvem os diferentes comportamentos, dependendo de sua condição, com as instâncias das classes de estado. Assim, sempre está presente em um objeto o seu estado atual e se comunica com ele a resolvendo suas responsabilidades.
Compartilhar