Arquitetura - estilos

83
Aula 3 Estilos e padrões arquiteturais Atributos de qualidade Seleção de estilos Seleção de visões Rastreabilidade bidirecional

description

Aula sobre o assunto de arquitetura, como não e muito encontrado, ajuda no auxilio e na compreensão do assunto.

Transcript of Arquitetura - estilos

  • Aula 3Estilos e padres arquiteturaisAtributos de qualidadeSeleo de estilosSeleo de visesRastreabilidade bidirecional

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturaisEstilos arquiteturaisDefinem meios de selecionar e apresentar blocos de construo de arquitetura (Shaw)

    Padres arquiteturaisProjetos de alto nvel, testados e validados, de blocos de construo de arquitetura (Buschman).

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Classificao

    Unianhanguera

  • *Estilos e padres arquiteturais Invocao/Retorno (Call/Return)Programa principal/Subrotina (Main Program/Subroutine)Programa principal

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Invocao/Retorno (Call/Return)Programa principal/Subrotina (Main Program/Subroutine)ObjetivosPrograma principalReso

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Invocao/Retorno (Call/Return)Programa principal/Subrotina (Main Program/Subroutine)ObjetivosPrograma principalDesenvolvimento independente

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Invocao/Retorno (Call/Return)Invocao remota de procedimento (RPC)Programa principal

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Invocao/Retorno (Call/Return)Invocao remota de procedimento (RPC)Programa principalGanho de desempenho(2 processadores)

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Invocao/Retorno (Call/Return)Camadas (Layered)AplicaoApresentaoSessoTransporteRedeDadosFsicaApresentaoNegcioArmazenamentoISO-OSIClssica3 camadas

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Invocao/Retorno (Call/Return)Camadas (Layered)Camadas se comunicam apenas com outras adjacentesApresentaoNegcioArmazenamento

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Invocao/Retorno (Call/Return)Camadas (Layered)Alteraes locais no so propagadasApresentaoNegcioArmazenamento

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Componentes independentesComunicao de processos (Communicating Processes)Baseado na comunicao via troca de mensagens entre processosEm geral, via rede

    Cliente - ServidorPonto a ponto (Peer to Peer P2P)

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Componentes independentesComunicao de processos (Communicating Processes)Cliente ServidorJ vimos anteriormenteClientesServidorAplicao: Internet

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Componentes independentesComunicao de processos (Communicating Processes)Cliente ServidorProblema: servidor ponto de falha!ClientesServidor

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Componentes independentesComunicao de processos (Communicating Processes)Ponto a Ponto (P2P)No h distino entre nsCada n mantm seus prprios dados e endereos conhecidosCada n cliente e servidor ao mesmo tempo

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Componentes independentesComunicao de processos (Communicating Processes)Ponto a Ponto (P2P)Exemplos de redes P2P: gnutella, freenetExemplos de aplicao: Kazaa, eMuleVantagem: no h ponto de falhaDesvantagem: tempo de consulta

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Componentes independentesBaseado em eventosProdutores e consumidores de eventosConsumidores se registram nos ProdutoresProdutores notificam consumidores registradosMotivao:

    imprimir

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Componentes independentesBaseado em eventosProdutores e consumidores so independentesExecuo via procedimentos disparados via mudana de estadosEscalabilidade no nmero de interessados

    ProdutorConsumidorRelatrio OK

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Componentes independentesBaseado em eventosAplicao comumInterface grfica

    menuDownonMouseOveronMouseClickonMousePressedonMouseReleasedonSelectedonKeyDownonKeyUp

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Centrado em dados (Data-centered)Repositrio (Repository)Integridade, escalabilidade (novos clientes, novos dados)Dados compartilhadosCliente 1Cliente 2Cliente 3Cliente nEstado atualconsistenteClientes operamsobre os dados

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Centrado em dados (Data-centered)Repositrio (Repository)Exemplo: banco de dados tradicionalDados compartilhadosCliente 1Cliente 2Cliente 3Cliente n

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Centrado em dados (Data-centered)Quadro negro (Blackboard)+-xGerncia dos dados

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Centrado em dados (Data-centered)Quadro negro (Blackboard)2 x (3+2)2 + 3 - 6 = ?Sei somar!Sei multiplicar!Sei subtrair!Sei exponencial!+-x

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Centrado em dados (Data-centered)Quadro negro (Blackboard)2 x (3+2)2 + 3 - 6 = ?+-x 2 x (5)2 + 3 - 6 = ?

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Centrado em dados (Data-centered)Quadro negro (Blackboard)+-x 2 x (5)2 + 3 - 6 = ? 2 x 25 + 3 - 6 = ?

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Centrado em dados (Data-centered)Quadro negro (Blackboard)+-x 2 x 25 + 3 - 6 = ? 50 + 3 - 6 = ?

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Centrado em dados (Data-centered)Quadro negro (Blackboard)+-x 53 - 6 = ? 47

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Centrado em dados (Data-centered)Quadro negro (Blackboard)Quadro Negro

    Ap 4Ap 5Ap nAp 3Ap 2Ap 1Controlador

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Centrado em dados (Data-centered)Quadro negro (Blackboard)Sistemas complexos Resoluo Distribuda de Problemas - RDPAplicaes independentesEscalabilidadePonto de falha!!!Quadro negroArquitetura usada no paradigma de agentes

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Mquina virtual (Virtual Machine)Interpretador (Interpreter)Simular funcionalidade no nativa para obter portabilidadeMecanismo deinterpretaoEstado interno(Instrues + dados)Programa sendo interpretadoDados (Estado do programa)dadosAtualizaDados de estadoInstrues doprogramasadaInstruo selecionadaDados selecionadosentrada

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Mquina virtual (Virtual Machine)Interpretador (Interpreter)Exemplo: Javapublic class Oi{ ...}Arquivo Oi.java

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Mquina virtual (Virtual Machine)Interpretador (Interpreter)ProblemaDesempenhoAlgumas pesquisas apontam que algumas das linguagens interpretadas j conseguem ser mais rpidas que CJava, por exemploMquina virtual nativa Intel

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Mquina virtual (Virtual Machine)Baseado em regras (Rule-based)Conjunto de regras sobre um estadoDefinio do estado atual com base em dados de entradaRegras alteram o estado

    Memria de trabalhoBase deRegrasMquina de infernciaentradasada

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Mquina virtual (Virtual Machine)Baseado em regras (Rule-based)Exemplos: Prolog, Sistemas Especialistas

    SE HORA=21:00 ENTO AO=LANCHE

    SE HORA=22:00ENTO AO=LIBERAR

    SE HORA

  • Unianhanguera*HORA = 18:00AO = ?Estilos e padres arquiteturais Mquina virtual (Virtual Machine)Baseado em regras (Rule-based)Exemplos: Prolog, Sistemas Especialistas

    SE HORA=21:00 ENTO AO=LANCHE

    SE HORA=22:00ENTO AO=LIBERAR

    SE HORA

  • Unianhanguera*Estilos e padres arquiteturais Mquina virtual (Virtual Machine)Baseado em regras (Rule-based)Exemplos: Prolog, Sistemas Especialistas

    SE HORA=21:00 ENTO AO=LANCHE

    SE HORA=22:00ENTO AO=LIBERAR

    SE HORA

  • Unianhanguera*Estilos e padres arquiteturais Mquina virtual (Virtual Machine)Baseado em regras (Rule-based)Exemplos: Prolog, Sistemas Especialistas

    SE HORA=21:00 ENTO AO=LANCHE

    SE HORA=22:00ENTO AO=LIBERAR

    SE HORA

  • Unianhanguera*Estilos e padres arquiteturais Fluxo de dados (Data Flow)Seqencial (Batch Sequential)Programas independentes executados em seqnciaUm aps o outroDado transmitido por completo entre um programa e outro

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Fluxo de dados (Data Flow)Tubos e filtros (Pipe and Filter)J vimos na ltima aulaExemplo: compiladorCdigo fonteAnalisadorLxicoAnalisadorSintticoAnalisadorSemnticoGerador decdigointermedirioOtimizadorIntel backendMIPS backendSPARC backendtokensrvore sintticarvore sinttica c/ semnticaExecutvelExecutvel otimizado

    Unianhanguera

  • Unianhanguera*Estilos e padres arquiteturais Fluxo de dados (Data Flow)Tubos e filtros (Pipe and Filter)No precisa ser seqencial

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeArquitetura e funcionalidadeSe a funcionalidade fosse o nico atributo buscado no desenvolvimento de um software...... sua arquitetura seria sempre monoltica: uma s funo, um s componente, uma s classe...Outros atributos: mutabilidade (modifiability), usabilidade, desempenho... ... influenciam na determinao da arquitetura do software com base em atributos de qualidade interessantes para o sistema que se determina a sua arquitetura

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeClasses de atributosQualidades de sistema: disponibilidade, mutabilidade, desempenho, usabilidade...Qualidades de negcio: tempo de produo (time to market), custo e benefcio...Qualidades de arquitetura: buildability, integridade conceitual...

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de sistemaDisponibilidadeMutabilidadeDesempenhoSeguranaTestabilidadeUsabilidade

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de sistemaDisponibilidadeRelacionada a falhas no sistema e suas conseqnciasUm sistema est em falha quando no funciona mais de acordo com a sua especificaoUma falha observvel do ponto de vista externoMedida de disponibilidade:

    tempo mdio para falhartempo mdio para falhar + tempo mdio para reparardisp =

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de sistemaMutabilidadeRelacionado ao custo de mudanasO que pode mudar?Implementao de funcionalidadesPlataforma na qual o sistema executado (hardware, SO,...)PortabilidadeO ambiente no qual opera (protocolos, rede, outros sistemas)Capacidade (n de usurios, n de operaes simultneas)EscalabilidadeQuem pode mudar?Desenvolvedor, usurio final, administrador...

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de sistemaMutabilidadeQuando pode mudar?Implementao (cdigo fonte)Construo build (escolha de bibliotecas)Configurao Execuo (parametrizao)

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de sistemaDesempenhoRelacionado a tempo!Eventos ocorrem e o sistema tem que responder aos mesmosA medida de desempenho :Quanto tempo leva o sistema para responder a um evento?Evento???Interrupes, mensagens, requisies do usurio, inicializao...Exemplo:Respostas a requisies do usurio no podem durar mais que 10 milisegundos!

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de sistemaSeguranaHabilidade do sistema de impedir acesso no autorizado...... ainda garantindo acesso autorizado!Segurana pode ser visto como uma composio de:No repudiao: uma transao no pode ser negada por nenhuma das partes envolvidasConfidencialidade: proteo a acesso no autorizadoIntegridade: de dados e serviosGarantia: partes de uma transao so quem dizem que soDisponibilidade: sistema disponvel para uso sem falhasAuditoria: caso ocorra falha, o sistema consegue recuperar-se sem perdas aos usurios

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de sistemaTestabilidadeFacilidade com que podem ser demonstradas as faltas de um software atravs de testesNo mnimo, 40% do custo de desenvolvimento de software com boa engenharia atribudo a testes...... se o arquiteto consegue reduzir este custo, o lucro bem maior!

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de sistemaUsabilidadeQuo fcil para o usurio realizar uma tarefa desejada usando o sistema?Que tipo de suporte o sistema prov para o usurio?reas:Aprendizado das caractersticas do sistema: o que o sistema pode fazer para ajudar no aprendizado do usurio?Uso eficiente do sistema: o que o sistema pode fazer para que o usurio o utilize mais eficientemente?Minimizao do impacto de erros: o que o sistema pode fazer para minimizar o impacto de um erro cometido pelo usurio?Adaptao do sistema s necessidades do usurio: como o usurio (ou o prprio sistema) pode adaptar o sistema para tornar as tarefas mais fceisAumento de confiana e satisfao: o que o sistema faz para dar ao usurio a confiana de que ele est executando a tarefa corretamente?

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de negcioTempo de produo (time-to-market)Custo e benefcioTempo de vida projetadoMercado alvoAgenda de divulgaoIntegrao com sistemas legados

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de negcioTempo de produo (time-to-market)Se h presso competitiva ou janela de oportunidade restrita... ... tempo de produo essencial!Em geral, reduzido com o uso componentes pr-construdosComponentes COTS Commercial Off-The-Shelf

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de negcioCusto e benefcioOramento no pode ser excedidoDiferentes arquiteturas levaro a diferentes custos de desenvolvimentoArquiteturas mais flexveis so mais caras!!!

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de negcioTempo de vida projetadoSe o sistema projetado para ter um longo ciclo de vida...... mutabilidade, escalabilidade e portabilidade se tornam extremamente importantesPorm... isto influencia no custo!Por outro lado, tais caractersticas diminuem custos de manutenoSistemas projetados para um curto ciclo de vida podem ser mais brandos em relao a estas caractersticas!Ser??? Como prever o ciclo de vida?

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de negcioMercado alvoConsiderando softwares de propsito geral, a quantidade de plataformas de execuo determina o mercado em potencialExemplo: seu sistema de controle de estoque pode executar: Em Windows, Linux e Mac?!Em rede ou standalone?!Em PC ou dispositivo mvel?Portabilidade chave! Usabilidade e desempenho tambm!Soluo utilizadaLinhas de produtoNcleo em comum + caractersticas especficas

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de negcioAgenda de divulgaoLiberao do produto como um todo???Liberao de funcionalidade base e depois liberao de funcionalidades adicionais?EscalabilidadeFlexibilidadeFacilidade de expanso e contraoDiferentes usurios tero diferentes necessidadesExemplo: Eclipse

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de negcioIntegrao com sistemas legadosIntegrao com sistemas e tecnologias existentesImpacto direto na arquiteturaDeve funcionar de acordo com a especificao de terceirosDeve se adequar arquitetura de terceirosPode haver incompatibilidades!

    Unianhanguera

  • Unianhanguera*Atributos de qualidadeQualidades de arquiteturaBuildability Facilidade do sistema ser construdo, maximizando o paralelismo de desenvolvimento e manuteno

    Integridade conceitualViso que unifica o projeto arquitetura em todos os nveis

    Corretude e completudeAnlise e verificao formal dos requisitosGarante que a arquitetura contempla os requisitosComplementar aos testes

    Unianhanguera

  • Unianhanguera*Seleo de estilosComo selecionar um estilo arquitetural?1. Identificar os principais elementos da arquitetura2. Identificar o estilo arquitetural dominante3. Considerar responsabilidades adicionais associadas com a escolha do estilo4. Modificar o estilo para atingir objetivos adicionais

    Fonte:

    Unianhanguera

  • Unianhanguera*Seleo de estilos1. Identificar os principais elementos da arquiteturaCada elemento arquitetural tem um estilo arquitetural dominante que reflete as qualidades importantes que devem ser alcanadas no contexto daquele elementoA escolha do estilo arquitetural dominante baseada nos principais elementos arquiteturaisOs atributos de qualidade sobre cada elemento arquitetural podem acarretar a utilizao ou no de um estiloFonte:

    Unianhanguera

  • Unianhanguera*Seleo de estilos2. Identificar o estilo arquitetural dominanteO estilo dominante pode ser modificado para alcanar objetivos particularesSe nenhum estilo conhecido parece ser apropriado, o arquiteto deve projetar e documentar um novo estiloAs decises sobre escolhas baseadas em atributos de qualidade dentro de um estilo devem ser documentadas

    Fonte:

    Unianhanguera

  • Unianhanguera*Seleo de estilos3. Considerar responsabilidades adicionais associadas com a escolha do estiloA escolha de um estilo arquitetural introduzir responsabilidades adicionaisPor exemplo:Se o estilo Quadro negro, ento deve-se gerenciar os mecanismos para o controle do quadro negroSe o estilo cliente-servidor, deve-se gerenciar os protocolos de interaoResponsabilidades adicionais devem ser atribudas a elementos arquiteturais existentes ou a novos elementos criados para este fimFonte:

    Unianhanguera

  • Unianhanguera*Seleo de estilos4. Modificar o estilo para atingir objetivos adicionaisPode-se alterar o estilo arquitetural caso este necessite ser adaptado devido a atributos de qualidade ou at mesmo funcionalidadeExemplo: cliente-servidorAdaptao: broker

    Fonte:ClienteBrokerABrokerBRequisitaservioBridgeServidoresProxyProxyServidores

    Unianhanguera

  • Unianhanguera*Seleo de estilosExemplo1. Identificar os principais elementos da arquiteturaSistema: acadmicoMdulo de armazenamento de dadosMdulo de acesso do usurio

    Unianhanguera

  • Unianhanguera*Seleo de estilosExemplo2. Identificar o estilo arquitetural dominanteMdulo de armazenamento de dadosMdulo de acesso do usurio

    Unianhanguera

  • Unianhanguera*Seleo de estilosExemplo3. Considerar responsabilidades adicionais associadas com a escolha do estiloEstilo dominante escolhido: Cliente-servidorEstilo secundrio: RepositrioResponsabilidades: considerar protocolo de comunicaoClienteServidor Rede/HTTP

    Unianhanguera

  • Unianhanguera*Seleo de estilosExemplo4. Modificar o estilo para atingir objetivos adicionaisCliente servidor de 2 camadas e repositrio com backupMdulo Servidor(Dados)Mdulo cliente(Acesso do usurio)Mdulo Servidor(Web)Mdulo Backup(Dados)Aplicao legada

    leituraleitura/escrita

    sincronizaoleitura/escrita

    consulta/atualizao

    Unianhanguera

  • Unianhanguera*Seleo de estilosExemplo4. Modificar o estilo para atingir objetivos adicionaisObjetivos atingidos!Mdulo Servidor(Dados)Mdulo cliente(Acesso do usurio)Mdulo Servidor(Web)Mdulo Backup(Dados)Aplicao legada

    leituraleitura/escrita

    sincronizaoleitura/escrita

    consulta/atualizao Alta disponibilidade Fino Executar na Internet Acesso de qualquer lugar No requer instalao Acesso maquina do BD s via rede Banco de outra aplicao No h confiana na disponibilidade

    Unianhanguera

  • Unianhanguera*Seleo de visesQuais so as vises arquiteturais relevantes para o sistema sendo desenvolvido?Cliente???Arquiteto???

    Unianhanguera

  • Unianhanguera*Vises arquiteturaisRelembrando...Modelo 4+1 (Rational Software)VisoLgicaViso deDesenvolvimentoViso deProcessoVisoFsicaCenrios

    Unianhanguera

  • Unianhanguera*Vises arquiteturaisRelembrando...Viso LgicaRetrato esttico dos relacionamentos existentes entre as entidades do sistemaPode possuir duas ou mais representaes, dentre elas, uma conceitual e outra de esquema de banco de dados

    VisoLgica

    Unianhanguera

  • Unianhanguera*Vises arquiteturaisRelembrando...Viso de ProcessoDescreve aspectos de sincronizao e concorrnciaDescrio de processos concorrentesDiferentes linhas de execuo (threads), entidades ativas

    Viso deProcesso

    Unianhanguera

  • Unianhanguera*Vises arquiteturaisRelembrando...Viso de DesenvolvimentoDescreve a organizao do software em seu ambiente de desenvolvimentoComponentesLinguagens

    Viso deDesenvolvimento

    Unianhanguera

  • Unianhanguera*Vises arquiteturaisRelembrando...Viso FsicaDescreve o mapeamento do software para o hardwareDistribuio de componentesVerificao de alta disponibilidade, confiabilidade, desempenho...Tambm chamada deployment

    Viso Fsica

    Unianhanguera

  • Unianhanguera*Vises arquiteturaisRelembrando...Cenrios (+1)Cenrios de funcionamento do sistema diretamente ligados arquiteturaPrincipais casos de usoLembram de RUP? Centrado em arquitetura!Cenrios

    Unianhanguera

  • Unianhanguera*Seleo de visesTrs passos:1. Produza uma tabela de vises2. Combine vises3. Priorize vises

    Unianhanguera

  • Unianhanguera*Seleo de visesProduza uma tabela de visesDe acordo com as caractersticas do sistemaStakeholderLgica Processo Desenvolvimento FsicaGerenteDesenvolvedorTestadorClienteUsurio finalAnalistaArquitetodvvvvddvvv

    dvdd

    ddv

    dd = informao bem detalhadaa = alguns detalhesv = viso geralLegenda:

    Unianhanguera

  • Unianhanguera*Seleo de vises2. Combine visesConsiderando que para cada viso apresentada anteriormente, tem-se um ou mais modelos...... ficaria impraticvel criar um modelo na perspectiva de cada uma das vises definidas anteriormenteProcure vises na tabela que requeiram apenas uma viso geral e com poucos stakeholders envolvidosLgica: 4 vFsica: 3 stakeholdersOs modelos gerados para esta viso podem ser simplificados

    Unianhanguera

  • Unianhanguera*Seleo de vises2. Combine visesA viso de processo poderia ser combinada de desenvolvimento (Esteretipos)StakeholderLgica Processo Desenvolvimento FsicaGerenteDesenvolvedorTestadorClienteUsurio finalAnalistaArquitetodvvvvddvvv

    dvdd

    ddv

    dd = informao bem detalhadaa = alguns detalhesv = viso geralLegenda:

    Unianhanguera

  • Unianhanguera*Seleo de vises3. Priorize visesUma vez definidas as vises, deve-se estabelecer uma ordem de prioridadeSempre comear uma nova viso aps terminar outraExemplo de ordem:Viso lgicaViso fsicaViso de desenvolvimento

    Unianhanguera

  • Unianhanguera*Rastreabilidade bidirecionalRastreamento: requisitos cdigo e vice-versa durante o ciclo de desenvolvimento do softwareRequisitosCdigoPublic class{ ...}Public class{ ...}Public class{ ...}Public class{ ...}Public class{ ...}

    Unianhanguera

  • Unianhanguera*Rastreabilidade bidirecionalRastreamento: requisitos cdigo e vice-versa durante o ciclo de desenvolvimento do softwareRequisitosCdigoPublic class{ ...}Public class{ ...}Public class{ ...}Public class{ ...}Public class{ ...}

    Unianhanguera

  • Unianhanguera*Rastreabilidade bidirecionalApontada como grande arma para o desenvolvimento...CMMi (Capability Maturity Model Integration)Software Engineering Institute SEIManter rastreabilidade bidirecional do desenvolvimento essencial para um processo de software de sucesso

    Unianhanguera

    ******