180 likes | 345 Views
Processo Centrado na Arquitetura. Disciplina: Estudo do RUP Autor: Raquel Almeida Orientação: Augusto Sampaio Paulo Borba. 1. Arquitetura em Resumo. “O que realmente significa arquitetura de software?” Arquitetura de software abrange decisões sobre:
E N D
Processo Centrado na Arquitetura Disciplina: Estudo do RUP Autor: Raquel Almeida Orientação: Augusto Sampaio Paulo Borba
1. Arquitetura em Resumo • “O que realmente significa arquitetura de software?” • Arquitetura de software abrange decisões sobre: • A organização do sistema de software • Os elementos estruturais e suas interfaces que irão compor o sistema, juntamente com o seu comportamento como especificado nas colaborações entre estes elementos • A composição de elementos estruturais e comportamentais em em subsistemas progressivamente maiores • O estilo arquitetural que guia a organização: os elementos e suas interfaces, suas colaborações e suas composições • Envolve também decisões sobre uso, funcionalidade, performance, reuso, entendimento, restrições econômicas e tecnológicas. RUP - DI / UFPE
2. Porque precisamos de arquitetura? • Entendimento do sistema • Eles abrangem um comportamento complexo • Eles operam em ambientes complexos • Eles são tecnologicamente complexos • Eles normalmente combinam computação distribuída, produtos e plataformas comerciais, componentes e estruturas reusáveis • Eles devem satisfazer a demanda de indivíduos e de organizações • Dificuldade de gerenciamento • Constantes mudanças RUP - DI / UFPE
2. Porque precisamos de arquitetura? • Organização do desenvolvimento • Quanto maior o projeto de software, maior o overhead de comunicação entre os desenvolvedores na tentativa coordenar seus esforços. RUP - DI / UFPE
2. Porque precisamos de arquitetura? • Promovendo reuso • Projetar componentes de software reusáveis, leva a redução de tempo e custo durante a construção • Evoluindo o sistema • O sistema deve ser capaz de suportar bem a mudanças, sem causar impactos indesejáveis ao projeto e implementação existentes. RUP - DI / UFPE
Use Cases Restrições e facilitadores Software do sistema Middleware Arquitetura Sistemas de legado Padrões e políticas Requisitos não funcionais Experiência Necessidade de distribuição - Arquiteturas prévias - Padrões arquiteturais 3. Uses Cases e Arquitetura RUP - DI / UFPE
Entradas do cliente Use cases Entradas dos usuários Arquitetura 3. Uses Cases e Arquitetura • A arquitetura é desenvolvida em interações durante a fase de elaboração • Abordagem incremental (builds) • Resultado - Arquitetura estável • Durante a fase de construção, os use cases são implementados baseados nos requisitos dos usuários e dos clientes, sendo também influenciados pela arquitetura selecionada na fase de elaboração. RUP - DI / UFPE
Use Cases Guia Dirige Arquitetura 3. Uses Cases e Arquitetura • Os Use Cases dirigem o desenvolvimento da arquitetura,e a arquitetura guia quais Use Cases podem ser realizados RUP - DI / UFPE
4. Os passos para uma arquitetura • O resultado da fase de elaboração é um baseline da arquitetura - um esqueleto do sistema com poucos músculos (softwares) • Um baseline da arquitetura : agregação de modelos do sistema que representam os Use Cases mais importantes em uma perspectiva arquitetural e a descrição da arquitetura • O papel da descrição da arquitetura é guiar todo o time de desenvolvimento durante ciclos de vida do sistema RUP - DI / UFPE
4. Os passos para uma arquitetura • Usando padrões arquiteturais • “Desing patterns” são padrões que definem soluções para problemas comuns em projetos de software • Projetos melhores e mais compreensíveis RUP - DI / UFPE
4. Os passos para uma arquitetura • Descrevendo a arquitetura • A descrição de arquitetura é um extração de um conjunto de visões dos modelos do baseline da arquitetura • A descrição da arquitetura será mantida atualizada durante todo o ciclo de vida do sistema refletindo as mudanças e adições que são relevantes para a arquitetura • Determinação de novas classes abstratas e interfaces • Adicionamento de novas funcionalidades a subsistemas existentes • Atualizações para novas versões de componentes reusáveis • Rearrumação da estrutura do processo RUP - DI / UFPE
4. Os passos para uma arquitetura • Descrição de arquitetura: • Pode ser modificada, mas não precisa crescer em tamanho, apenas atualizada para ser relevante • Inclui requisitos de arquitetura relevantes e que não são descritos nos Use Cases (req. não funcionais, descrição de plataforma, sistemas de legado, software e desing patterns usados) • É uma visão de alto nível: trata com detalhes apenas subsistemas que são significantes no ponto de vista da arquitetura RUP - DI / UFPE
4. Os passos para uma arquitetura • O arquiteto cria a arquitetura • A arquitetura é criada pelo arquiteto, juntamente com outros desenvolvedores • Buscar um sistema com alta performance, qualidade, funcionalidade, amigável, robusto, … • Objetivo: implementar as funcionalidades da aplicação em um custo adequado com eficiência desejada, agora e no futuro. • Arquiteto: conhecimento do domínio no qual trabalha e de desenvolvimento de software • Boa arquitetura = diminuição do tempo total de desenvolvimento de projeto RUP - DI / UFPE
5. Finalmente, a descrição da arquitetura • Possui cinco seções • 1.Visão arquitetural do modelo de Use Case • Apresenta os atores e use cases mais importantes • Ex.: use case Creditar em Conta • Apresenta a descrição completa do use case Creditar em Conta • Totalmente implementado durante a fase de elaboração RUP - DI / UFPE
Gerente Transação Gerente Cliente Gerente Conta 5. Finalmente, a descrição da arquitetura • 2. Visão arquitetural do modelo de projeto • Apresenta os classificadores mais importantes do modelo de projeto (subsistemas, interfaces, classes, classes ativas) e as realizações dos Use Cases mais importantes 1. Diagrama de classes das classes ativas do Use case 2. Diagrama de classes mostrando os subsistemas e interfaces 3. Diagrama de colaboração 4. Descrição do fluxo de realização do Use Case RUP - DI / UFPE
5. Finalmente, a descrição da arquitetura • 3. Visão arquitetural do modelo de implantação • Define a arquitetura física do sistema em termos de nós conectados • Os nós e conexões do modelo de implantação e a alocação de objetos ativos aos nós podem ser descritos em diagramas de implantação RUP - DI / UFPE
5. Finalmente, a descrição da arquitetura • 4. Visão arquitetural do modelo de implementação • Mapeamento direto do modelo de projeto para o modelo de implantação RUP - DI / UFPE
6. Três conceitos Interessantes • O que é arquitetura? • Especificação feita pelo arquiteto na descrição da arquitetura • Permite controle do desenvolvimento • Elementos estruturais do sistema, interfaces e suas colaborações • Dirigida pelos Use Cases • Compreensível, suportar reuso e modificações • Como é obtida? • Desenvolvida interativamente durante a fase de elaboração • Construção de um baseline da arquitetura • Como é descrita? • Visão dos modelos do sistema RUP - DI / UFPE