Upload
kedmabatista
View
241
Download
0
Embed Size (px)
DESCRIPTION
Aula sobre o assunto de arquitetura, como não e muito encontrado, ajuda no auxilio e na compreensão do assunto.
Citation preview
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
******