Importância da Arquitetura de Sistemas Baseados em Componentes para os Testes por Injeção de Falhas
|
|
- Danilo Chagas Farinha
- 8 Há anos
- Visualizações:
Transcrição
1 Importância da Arquitetura de Sistemas Baseados em Componentes para os Testes por Injeção de Falhas Regina Lúcia de Oliveira Moraes Universidade Estadual de Campinas (UNICAMP) Centro Superior de Educação Tecnológica (CESET) Resumo. Este trabalho apresenta uma visão da arquitetura de sistema sob o ponto de vista dos testes utilizando a técnica de Injeção de Falhas. Destaca a importância da arquitetura em camadas, o uso de conectores robustos entre essas camadas e a utilização de wrappers para um melhor acoplamento de componentes heterogêneos. Enfatiza também a importância dos conectores e wrappers como pontos de controle e observação para os testes por Injeção de Falhas, particularmente para os testes de sistemas baseados em componentes que utilizam componentes caixas-pretas. Abstract. This work presents some aspects of the system s architecture under the point of view of the tests using the Fault Injection technique. It detaches the importance of the architecture in layers, the use of robust connectors between these layers and the use of wrappers for better coupling of heterogeneous components. It also emphasizes the importance of the connectors and wrappers as points of control and observation for the Fault Injection tests, particularly for the componentbased systems using black-box components. Palavras Chaves: Testes de Componentes, Sistemas baseados em Componentes, Injeção de Falhas. 1. Introdução Os sistemas atuais estão sendo construídos a partir da composição de diversos componentes. Esses componentes podem ter sido construídos na empresa ou adquiridos de terceiros. Ainda assim, os componentes desenvolvidos dentro da empresa podem ter sido desenvolvidos por outras equipes que não aquela que os está utilizando para a composição do novo sistema. A utilização de componentes auxilia a equipe de desenvolvimento a cumprir os prazos exíguos e a atender restrições de custos impostas aos projetos. Por outro lado, o controle sobre o sistema fica dependente de informações que, na maioria dos casos, não são suficientes para o completo entendimento do componente. Essas informações ficam restritas a resumos e interfaces públicas que são essenciais para a integração desses componentes aos sistemas. O código fonte, informações a respeito dos critérios de qualidade do processo de desenvolvimento e dos testes aplicados aos componentes, dificilmente são entregues aos usuários. Para suprir essas deficiências, o entendimento da arquitetura e os testes por injeção de falhas podem ser bastante úteis, para que os usuários possam testar o sistema, avaliar sua robustez, e validá-lo no novo ambiente computacional. 1
2 2. Visão Arquitetural de um Sistema Baseado em Componentes Arquitetura de Software pode ser entendida como um modelo de sistemas de alto grau de abstração que captura informações sobre os componentes do sistema e como esses componentes estão interconectados [4]. Algumas arquiteturas de software também capturam informações sobre possíveis estados dos componentes e sobre o comportamento dos componentes que envolvem suas interações. A arquitetura de sistemas atuais é baseada em camadas. Uma forma de separação em camadas é apresentada por Cheesman [3] e consiste na divisão de quatro camadas: de Interface de Usuário, de Diálogo do Usuário, de Serviços do Sistema e de Negócios. A camada de Interface de Usuário é responsável pela apresentação de informações direcionada ao usuário e pela captura das entradas por ele providas. A camada de Diálogo do Usuário gerencia o diálogo do usuário em uma sessão. Serviços do Sistema é a camada responsável pela representação externa do sistema, provendo acesso aos seus serviços e finalmente a camada de Negócios implementa os núcleos das informações de negócio, suas regras e transformações. Assim, os componentes devem ser distribuídos nessas camadas, de acordo com suas características próprias. Interface de Usuário Diálogo de Usuário Serviços de Sistemas Serviços de Negócio Figura 1: Camadas da Arquitetura [3] No momento de integrar um componente, uma das maiores dificuldades que surge é a incompatibilidade arquitetural (em inglês, architectural mismatch) [4]. Isso se dá quando os componentes a serem integrados não têm interfaces compatíveis com outros componentes do sistema ou apresentam conflitos com o ambiente onde estão inseridos. Isso ressalta a importância da arquitetura do sistema: uma boa solução arquitetural aumenta a qualidade do sistema proposto. Para contornar esse problema, a equipe de desenvolvimento utiliza os conectores. Conectores são porções de código desenvolvido internamente que têm a função de grudar os componentes, resolvendo as incompatibilidades entre os formatos das informações que transitam entre esses componentes [4]. Dificuldades surgem também quanto à qualidade dos requisitos do sistema. Como assegurar confiabilidade e disponibilidade, uma vez que o sistema é composto de componentes heterogêneos, desenvolvidos de forma independente? Como garantir que a mesma qualidade apresentada pelo componente no ambiente de desenvolvimento irá se manter no novo contexto? Sabemos que a garantia da qualidade é dependente da realização de testes. Um componente precisa ser testado tanto isoladamente quanto a cada reutilização, já que os cenários de comportamento do componente que são relevantes para um sistema podem não ter sido cuidadosamente testados. A injeção de falhas pode ser uma abordagem interessante tanto para validar componentes isolados como para validar a integração desses componentes em um sistema. Numa 2
3 arquitetura em camadas é necessário que haja robustez nas interfaces entre essas camadas e a Injeção de Falhas pode contribuir para atingir o nível de robustez esperado. Através da introdução de falhas ou erros em diferentes componentes (componentes desenvolvidos internamente ou adquiridos de terceiros) de um sistema, a técnica é útil para responder questões tais como: (i) um componente irá falhar quando receber entradas inválidas de outros componentes ou do ambiente? (ii) um defeito em um componente irá causar que todo o sistema falhe? [2]. A abordagem a ser utilizada é a introdução de falhas de interface. Nessa técnica, as falhas são inseridas na interface do componente alterando parâmetros de entrada ou saída, como também, valores de retorno de métodos [6]. Para essa alteração em tempo de carga e para o monitoramento do comportamento do sistema em presença de falhas, é utilizada uma ferramenta, a Jaca [7] que foi desenvolvida para introduzir falhas no bytecode de aplicações escritas na linguagem Java. O fato de se alterar o bytecode das aplicações é muito importante para o desenvolvimento baseado em componentes, pois o sistema pode ser composto de diversos componentes terceirizados, dos quais não se tem acesso ao código fonte (componentes caixas-pretas). Mesmo assim, algum controle para manipular entradas e saídas e observação dessas entradas e do comportamento operacional do sistema é necessário. Dessa forma, é necessário que se defina os pontos de injeção e de observação, que precisam ser distintos entre si, uma vez que a injeção num determinado componente poderá afetar o resultado da observação nesse mesmo componente. Sendo assim, os conectores são partes importantes da arquitetura do sistema baseados em componentes, para que se possa fazer esse controle e essa observação do sistema que está sendo submetido aos testes por injeção de falhas. A Figura 2 apresenta uma possível arquitetura para o sistema de caldeira a vapor, cujo exemplo foi obtido a partir de Anderson et. Al. [1]. Atuador de Alimentação do fluxo de água Atuador da taxa de alimentação de carvão Atuador do fluxo de ar Camada 4 Sensor de nivelamento do cilindro Sensor de fluxo do vapor Sensor do bus de pressão do vapor Sensor de concentração de O2 Conector 3 Camada 3 Controlador do fluxo de ar Conector 2 Camada 2 Controlador do Fluxo de Água Controlador de alimentação de carvão Conector 1 Camada 1 Controlador da Caldeira Figura 2: Camadas da Arquitetura com Conectores [5] 3
4 Os testes por Injeção de Falhas também poderão ser úteis para indicar locais onde são necessários a colocação de wrappers para garantir a tolerância a falhas dos componentes, principalmente se a integração está sendo feita em um sistema crítico. Wrappers são componentes especiais que são inseridos entre um componente e seu ambiente para lidar com fluxos de controle e dados que entram e/ou saem do componente protegido [4]. Os wrappers podem ser utilizados quando é impossível ou muito caro mudar os componentes que estão sendo reutilizados como parte de um sistema, ou quando é mais fácil se adicionar novas características incorporando-as aos wrappers. A utilização de wrappers é uma solução eficiente para muitos problemas no desenvolvimento de sistemas baseados em componentes. Eles podem ser utilizados para proteger tanto o sistema contra comportamentos não desejáveis do componente quanto para proteger o componente contra comportamentos indesejáveis do restante do sistema. Numa arquitetura onde os wrappers são utilizados, esses wrappers também são componentes importantes para serem utilizados como pontos de controle e observação durante os testes por injeção de falhas. Dessa forma, uma possível arquitetura que inclui tanto conectores quanto wrappers para a Camada 3 do exemplo da Figura 2 seria a apresentada na Figura 3. Note que com essa arquitetura o testador amplia o número de pontos de controle e observação, conseguindo uma melhor qualidade dos testes aplicados. Conector 3 Wrapper Camada4 Controlador do fluxo de ar Camada 3 Wrapper Camada2 Conector 2 Figura 3: Posição de Wrappers na Camada 3 da Arquitetura Apresentada na Figura 2. Para se testar um determinado componente, a arquitetura estabelecida para o sistema deve ser analisada para identificar os sucessores e predecessores desse componente. Identificados, os sucessores/predecessores mais próximos devem ser utilizados para a observação e tratamento dos erros propagados, procurando fazer com que a propagação atinja o menor número de componentes possível. Quando o sistema é composto por um número muito grande de componentes, é necessário que haja uma escolha de quais componentes deverão ser testados, uma vez que o teste de todos os componentes não seria factível dentro de um tempo razoável. Nesse caso, uma estratégia baseada em risco é utilizada. Para se determinar quais componentes são de maior risco, o número de sucessores/predecessores é utilizado como um dos critérios. 4
5 3. Testes Aplicados O sistema de caldeira a vapor, apresentado na Figura 2 foi utilizado como estudo de caso para a aplicação dos testes por Injeção de Falhas. Primeiramente, foram aplicados os testes levando-se em conta a arquitetura apresentada na Figura 2, quando os conectores foram utilizados como pontos de controle e observação dos testes aplicados. A Figura 4 mostra o acompanhamento dos testes que não detectaram as exceções, fazendo com que os defeitos se propagassem para a saída do sistema na interface externa. Porém, os conectores foram de grande auxílio para que pudéssemos acompanhar os testes, apresentando um passo a passo completo da execução, incluindo os parâmetros e valores retornados. Na última aplicação dos testes, além dos conectores foram utilizados os wrappers que impunham restrições aos possíveis valores que poderiam ser assumidos por cada um dos componentes com os quais esses wrappers interagiam. Pudemos verificar que os wrappers interagiram de maneira eficiente, detectando valores de exceção e tratando-os para que não atingissem a interface externa. A Figura 5 apresenta o acompanhamento dos testes feitos através dos conectores, mostrando na interface a criação dos wrappers e o tratamento de atividades anormais através dos tratadores de exceções. Requesting setconfiguration(0,0) Requesting setconfiguration(-1,0) Requesting setconfiguration(0,-1) setcoalfeedrate to setairflow to reado2concentration= setairflow to setcoalfeedrate to setairflow to reado2concentration= setairflow to setcoalfeedrate to setairflow to reado2concentration= e-4 setairflow to Figura 4: Interface Apresentada dos Testes do Sistema utilizando os Conectores 5
6 Building new ic2c with and Building new ic2c with and Requesting setconfiguration(0,0) Requesting setconfiguration(-1,0) Requesting setconfiguration(0,-1) AbnormalActivity.handle(ftBoilerSystem.InvalidConfigurationSetpoint: O2_ref=-1.0) Alarm: ftboilersystem.invalidconfigurationsetpoint: O2_ref=-1.0 Aborting operation public abstract void boilersystem.icontroller.setconfiguration(double,double) setcoalfeedrate to setairflow to reado2concentration= setairflow to setcoalfeedrate to setairflow to reado2concentration= Figura 5: Interface Apresentada dos Testes do Sistema com Wrappers Construção dos Wrappers Tratamento de Exceções e Recuperação de Configuração 4. Conclusão Esse trabalho apresenta uma arquitetura para a composição de sistemas baseados em integração de componentes. Essa arquitetura utiliza conectores e wrappers para a interligação dos componentes. O trabalho enfatiza a importância desses componentes para os testes por injeção de falhas. Conectores têm um papel importante, visto que podem ser usados como pontos de monitoração quando os testes estão sendo aplicados, como também, pontos de injeção para que através deles possa se propagar erros para os componentes terceirizados, cujo código fonte não esteja disponível. Conectores e wrappers são também utilizados como componentes importantes para se definir uma estratégia para os testes por injetar falhas em sistemas baseado em integração de componentes. A estratégia pressupõe que o sistema é composto por componentes heterogêneos, alguns adquiridos de terceiros (COTS), outros desenvolvidos pela equipe de desenvolvimento e, além disso, que a arquitetura do sistema é conhecida. Nessa arquitetura, os componentes desenvolvidos pela equipe, podem ser os únicos pontos onde podemos colocar o controle e a observação dos resultados dos testes aplicados. A estratégia auxilia a seleção dos componentes a serem injetados e monitorados baseado na arquitetura do sistema. Alguns testes foram aplicados utilizando a ferramenta Jaca para se injetar as falhas e pudemos verificar que os wrappers foram eficientes na proteção do componente que estava sendo testado, tratando o erro e impedindo que este se propagasse para a interface externa. 6
7 References [1] Anderson, T.; Feng, M.; Riddle, S.; Romanovsky, A. Protective Wrapper Development: A Case Study, Proc. 2 nd International Conference on COTS-based Software Systems (ICCBSS 2003), Ottawa, Canada, Feb/2003, Lecture Notes in Computer Science Vol. 2580, pp. 1-14, Springer-Verlog, [2] Arlat, J.; Aguera, M.; Amat, L.; Crouzet, Y.; Fabre, J. C.; Laprie, J. C.; Martins, E.; Powell, D. Fault Injection for Dependability Validation A Methodology and some Applications. IEEE Transactions on Software Engineering, 16 (2), Feb/1990, pag [3] Cheesman, J; Daniels, J UML Components A Simple Process for Specifying Component-Based Software, The Component Software Series, Addison-Wesley, [4] Garlan, D. ; Allen, R.; Ockerbloom, J. Ärchitecture Mismatche, or, why it s hard to build systems out of existing parts, proceedings of the 17 th ICSE, April/95. [5] Guerra, P. A. C; Rubira, C. M. F.; Lemos, R An Idealizaed Fault-Tolerant Architectural Component, proceedings of International Conference on Software Engineering: Workshop on Architecting Dependable Systems - ICSE/WADS'2002, [6] Hsueh, Mei-Chen; Tsai, Timothy; Iyer, Ravishankar. Fault Injection Techniques and Tools. IEEE Computer, Abril/1997. [7] Martins, Eliane, Rubira, Cecília M. F.,Leme, Nelson G. M., Jaca: A reflective fault injection tool based on patterns, proceeding of the IPDS,
Projeto de Sistemas I
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o
Leia maisDesenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto
Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto
Leia maisLISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE
Questionamento a alta direção: 1. Quais os objetivos e metas da organização? 2. quais os principais Produtos e/ou serviços da organização? 3. Qual o escopo da certificação? 4. qual é a Visão e Missão?
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender
Leia maisValidando Sistemas Distríbuidos em Java com RMI Utilizando Injeção de Falhas
Validando Sistemas Distríbuidos em Java com RMI Utilizando Injeção de Falhas Vieira, Marcio. J. 1 1 Departamento de Informática Universidade Federal do Paraná (UFPR) Curitiba PR Brasil marciojv@inf.ufpr.br
Leia maisO Padrão Arquitetural Auto-Adaptável
MAC5715 - Tópicos Avançados em POO O Padrão Arquitetural Auto-Adaptável Raphael Y. de Camargo e Carlos Alexandre Queiroz 30 de outubro de 2003 1 Intenção O padrão auto-adaptável permite o desenvolvimento
Leia maisO Processo Unificado: Captura de requisitos
O Processo Unificado: Captura de requisitos Itana Gimenes Graduação em Informática 2008 Captura de Requisitos Modelagem do negócio: Visão de negócios Modelo de objetos de negócio de negócio Especificação
Leia mais1 INTRODUÇÃO Internet Engineering Task Force (IETF) Mobile IP
1 INTRODUÇÃO Devido ao crescimento da Internet, tanto do ponto de vista do número de usuários como o de serviços oferecidos, e o rápido progresso da tecnologia de comunicação sem fio (wireless), tem se
Leia mais3 SCS: Sistema de Componentes de Software
3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário
Leia maisProjeto de Arquitetura
Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os
Leia maisIntrodução ao Modelos de Duas Camadas Cliente Servidor
Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos
Leia maisRoteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)
Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Leia maisUm Arcabouço open source em Python para DBC com
Um Arcabouço open source em Python para DBC com Suporte à Evolução Dinâmica não Antecipada Yguaratã C. Cavacanti 1, Hyggo Oliveira de Almeida 1, Evandro Costa 2 1 Instituto de Computação Universidade Federal
Leia maisEAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS
EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS Relatório Nº 03/2013 Porto Alegre, 22 de Agosto de 2013. ANÁLISE DE SOLUÇÕES: # RAID 1: O que é: RAID-1 é o nível de RAID que implementa o espelhamento
Leia maisTable 1. Dados do trabalho
Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana
Leia maisBancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds
Leia maisDESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação
DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES Trabalho de Graduação Orientando: Vinicius Stein Dani vsdani@inf.ufsm.br Orientadora: Giliane
Leia maisConceitos de Banco de Dados
Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir
Leia maisAnálise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br
Análise de Sistemas Visão Geral: Orientação a Objetos Prof. José Honorato Ferreira Nunes Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br Resumo: VISÃO GERAL: Modelagem de sistemas
Leia maisSegurança e Escalabilidade em WebLab no Domínio de Redes de Computadores
Segurança e Escalabilidade em WebLab no Domínio de Redes de Computadores Autor: Daniel Vieira de Souza 1, Orientador: Luís Fernando Faina 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade
Leia maisUnidade VI. Validação e Verificação de Software Teste de Software. Conteúdo. Técnicas de Teste. Estratégias de Teste
Unidade VI Validação e Verificação de Software Teste de Software Profa. Dra. Sandra Fabbri Conteúdo Técnicas de Teste Funcional Estrutural Baseada em Erros Estratégias de Teste Teste de Unidade Teste de
Leia maisEVOLUÇÃO DE SOFTWARE
EVOLUÇÃO DE SOFTWARE Dinâmica da evolução de programas Manutenção de software Processo de evolução Evolução de sistemas legados 1 Mudança de Software 2 Manutenção de software Mudança de software é inevitável
Leia maisCapítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1
Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de
Leia maisIntrodução. Uma Arquitetura de Testes para Validação de Sistemas de Bordo. Sistemas Embarcados
Uma Arquitetura de Testes para Validação de Sistemas de Bordo Cláudia Santos da Silva Orientadores: Eliane Martins (Unicamp) Nandamudi L. Vijaykumar Sistemas Embarcados Introdução Característica Confiabilidade
Leia maisARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.
ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página
Leia maisPESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR. Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 *
PESQUISA OPERACIONAL: UMA ABORDAGEM À PROGRAMAÇÃO LINEAR 1 Graduando Rodolfo Cavalcante Pinheiro 1,3 Cleber Giugioli Carrasco 2,3 * 2 Pesquisador - Orientador 3 Curso de Matemática, Unidade Universitária
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
Leia maisIntrodução à Computação
Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os
Leia maisDAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial
DAS6607 - Inteligência Artificial Aplicada à Controle de Processos e Automação Industrial Aluno: André Faria Ruaro Professores: Jomi F. Hubner e Ricardo J. Rabelo 29/11/2013 1. Introdução e Motivação 2.
Leia maisAula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW
Ciclo de Vida Aula 2 Revisão 1 Processo de Desenvolvimento de Software 1 O Processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto
Leia maisReferências internas são os artefatos usados para ajudar na elaboração do PT tais como:
Plano de Teste (resumo do documento) I Introdução Identificador do Plano de Teste Esse campo deve especificar um identificador único para reconhecimento do Plano de Teste. Pode ser inclusive um código
Leia maisNa medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.
1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade
Leia maisABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE
ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisConteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Leia mais3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio
32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio
Leia maisSistemas Operacionais Gerência de Dispositivos
Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerência de Dispositivos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução A gerência
Leia maisUniversidade Paulista
Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen
Leia maisEngenharia de Software II
Engenharia de Software II Aula 28 Revisão para a Prova 2 http://www.ic.uff.br/~bianca/engsoft2/ Aula 28-28/07/2006 1 Matéria para a Prova 2 Gestão de projetos de software Conceitos (Cap. 21) Métricas (Cap.
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 4 Aplicações em camadas
Leia maisPlano de Gerenciamento do Projeto
Projeto para Soluções Contábeis 2015 Plano de Gerenciamento do Projeto Baseado na 5ª edição do Guia PMBOK Brendon Genssinger o e Elcimar Silva Higor Muniz Juliermes Henrique 23/11/2015 1 Histórico de alterações
Leia maisSISTEMAS DISTRIBUIDOS
1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização
Leia maisModelagemde Software Orientadaa Objetos com UML
Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para
Leia mais4 Plano de Recuperação
4 Plano de Recuperação Como pode ser observado na Seção 3.2, um projeto de um middleware para TVD deve considerar o fato que ele será embarcado em plataformas diversas e, portanto, que fará uso de diversas
Leia maisDesenvolvimento de um software de gerenciamento de projetos para utilização na Web
Resumo. Desenvolvimento de um software de gerenciamento de projetos para utilização na Web Autor: Danilo Humberto Dias Santos Orientador: Walteno Martins Parreira Júnior Bacharelado em Engenharia da Computação
Leia maisUML Components - A Simple Process for Specifying
UML Components - A Simple Process for Specifying Component-Based Software Lucas Monteiro Braz lmonteirobraz@gmail.com São Leopoldo 17 de março de 2010 Components aren t rocket science Contudo, há grande
Leia mais2 Desenvolvimento de Software Orientado a Aspectos
2 Desenvolvimento de Software Orientado a Aspectos Separação de concerns é um princípio bem estabelecido da engenharia de software que diz que, para se dominar a complexidade do desenvolvimento de software,
Leia mais2 Diagrama de Caso de Uso
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa
Leia maisDesenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA
Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos
Leia maisEngenharia Reversa e Reengenharia
Engenharia Reversa e Reengenharia SCE 186 Engenharia de Software Profa Rosana T. Vaccare Braga (material adaptado a partir do concedido pela Profa.: Rosângela Penteado, DC - UFSCar) Fases Genéricas do
Leia maisRequisitos. Sistemas de Informações
Requisitos Sistemas de Informações Definindo o Sucesso do Software Clientes satisfeitos Eles estão satisfeitos quando você: Atende às expectativas Entrega no prazo Entrega no orçamento O Sucesso começa
Leia maisArquitetura dos Sistemas de Informação Distribuídos
Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às
Leia maisDESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS
DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,
Leia maisISO 9001:2008. Alterações e Adições da nova versão
ISO 9001:2008 Alterações e Adições da nova versão Notas sobe esta apresentação Esta apresentação contém as principais alterações e adições promovidas pela edição 2008 da norma de sistema de gestão mais
Leia mais**Docentes do Centro Universitário Filadélfia- Unifil. computação@unifil.br
COMPARATIVO DE PRODUTIVIDADE ENTRE UM PROCESSO DE DESENVOLVIMENTO DE SOFTWARE COM A ABORDAGEM DE LINHA DE PRODUTO DE SOFTWARE COM O PROCESSO DE DESENVOLVIMENTO DE SOFTWARE TRADICIONAL.(2011) **Docentes
Leia maisSuperioridade do Linux sobre Windows no quesito segurança
OFICINA DE LÍNGUA PORTUGUESA LEITURA E PRODUÇÃO DE TEXTOS (UNI 003) UFMG ICEX CIÊNCIA DA COMPUTAÇÃO 2º SEMESTRE 2010 Superioridade do Linux sobre Windows no quesito segurança Thiago de Freitas Faria Lucas
Leia maisIntrodução à Engenharia de Software
Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia
Leia maisGerenciamento de Incidentes
Gerenciamento de Incidentes Os usuários do negócio ou os usuários finais solicitam os serviços de Tecnologia da Informação para melhorar a eficiência dos seus próprios processos de negócio, de forma que
Leia maisEngenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios
Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana
Leia maisManual de Usuário. Gestion Libre de Parc Informatique (Gestão Livre de Parque de Informática) Versão 1.1 NRC
Manual de Usuário Gestion Libre de Parc Informatique (Gestão Livre de Parque de Informática) Versão 1.1 NRC Manual do Usuário GLPI 1. Introdução 3 2. Acessando o GLPI 4 3. Entendendo o processo de atendimento
Leia maisLevantamento, Análise e Gestão Requisitos. Aula 12
Levantamento, Análise e Gestão Requisitos Aula 12 Agenda Miscelâneas (Parte 3): Gerenciamento dos Requisitos Mutáveis Rastreabilidade de Requisitos Processo de Gestão de Mudanças Requisitos Estáveis e
Leia maisMBA Inteligência Competitiva Com ênfase em BI/CPM. Metadados
MBA Inteligência Competitiva BI/CPM 1 Data Warehousing PÓS-GRADUAÇÃO MBA Inteligência Competitiva Com ênfase em BI/CPM Metadados Andréa Cristina Montefusco (36927) Hermes Abreu Mattos (36768) Robson Pereira
Leia maisArquitecturas de Software Licenciatura em Engenharia Informática e de Computadores
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:
Leia maisA apresentação através de fluxos lógicos consegue mostrar mal entendidos e pontos que são controversos.
Módulo 5 Análise Estruturada As dificuldades que são causadas por problemas de comunicação, mudanças de requisitos e técnicas inadequadas de avaliação, tornam a análise estruturada uma fase critica no
Leia maisMVC e Camadas - Fragmental Bliki
1 de 5 20-03-2012 18:32 MVC e Camadas From Fragmental Bliki Conteúdo 1 Introdução 2 Camadas: Separação Entre Componentes 3 MVC: Interação Entre Componentes 4 Conclusão 5 Referências Introdução A Arquitetura
Leia maisSoftware de rede e Modelo OSI André Proto UNESP - São José do Rio Preto andre.proto@sjrp.unesp.br O que será abordado Hierarquias de protocolos (camadas) Questões de projeto relacionadas às camadas Serviços
Leia maisDocumento de Análise e Projeto VideoSystem
Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento
Leia maisUNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas
UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar
Leia maisEngenharia de Domínio baseada na Reengenharia de Sistemas Legados
1021 X Salão de Iniciação Científica PUCRS Engenharia de Domínio baseada na Reengenharia de Sistemas Legados Cássia Zottis¹, Profa. Dra. Ana Paula Terra Bacelo 1 (orientadora) 1 Faculdade de Informática,
Leia maisVerificação é um processo para se determinar se os produtos, (executáveis ou
ATIVIDADES VV&T E A NORMA IEEE 1012 A qualidade do software está diretamente relacionada à satisfação do cliente, sendo assim, as empresas estão percebendo a importância em produzir software com qualidade.
Leia maisCONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES
CELG DISTRIBUIÇÃO S.A EDITAL N. 1/2014 CONCURSO PÚBLICO ANALISTA DE GESTÃO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI RESPOSTAS ESPERADAS PRELIMINARES O Centro de Seleção da Universidade Federal de Goiás
Leia maisFábrica de Software 29/04/2015
Fábrica de Software 29/04/2015 Crise do Software Fábrica de Software Analogias costumam ser usadas para tentar entender melhor algo ou alguma coisa. A idéia é simples: compara-se o conceito que não se
Leia maisO modelo unificado de processo. O Rational Unified Process, RUP.
Cursos: Sistemas de Informação Disciplina: Administração ADM Prof. Jarbas Avaliação: Prova B1, 5º/6º semestres Data: 27/09/2010 Nome: Gabarito RA: Assinatura: Turma: 1) Segundo as afirmações a seguir,
Leia maisXX SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA
XX SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA Versão 1.0 GTM.YY 22 a 25 Novembro de 2009 Recife - PE GRUPO XIII GRUPO DE ESTUDO DE TRANSFORMADORES, REATORES, MATERIAIS E TECNOLOGIAS
Leia maisEngenharia de Requisitos
Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.
Leia maisSISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA
SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis
Leia maisPROFESSOR: CRISTIANO MARIOTTI
PROFESSOR: CRISTIANO MARIOTTI Conjunto de atividades, parcialmente ordenadas, com a finalidade de obter um produto de software; Considerado um dos principais mecanismos para se obter software de qualidade
Leia maisUNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO.
UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO Xen Hypervisor Glauco Neves 07132022 Guilherme Pacheco 07232063 INE 5412-0432
Leia maisEngenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com
Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.
Leia maisTencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03
Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03 Agenda 1. Arquitetura de Software 1.1.Introdução 1.2.Vantagens da Arquitetura de Software
Leia maisISO/IEC 12207: Gerência de Configuração
ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que
Leia maisGerenciamento de Projeto
UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Gerenciamento de Projeto Engenharia de Software 2o. Semestre/ 2005
Leia maisRelatorio do trabalho pratico 2
UNIVERSIDADE FEDERAL DE SANTA CATARINA INE5414 REDES I Aluno: Ramon Dutra Miranda Matricula: 07232120 Relatorio do trabalho pratico 2 O protocolo SNMP (do inglês Simple Network Management Protocol - Protocolo
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura
Leia maisTópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres
Tópicos de Ambiente Web Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres Roteiro Motivação Desenvolvimento de um site Etapas no desenvolvimento de software (software:site) Analise
Leia maisFrancisca Raquel de Vasconcelos Silveira Gustavo Augusto Lima de Campos Mariela Inés Cortés
Francisca Raquel de Vasconcelos Silveira Gustavo Augusto Lima de Campos Mariela Inés Cortés Introdução Trabalhos Relacionados Abordagem Proposta Considerações Finais Conclusão Trabalhos Futuros 2 Agentes
Leia maisAutor(es) BARBARA STEFANI RANIERI. Orientador(es) LUIZ EDUARDO GALVÃO MARTINS, ANDERSON BELGAMO. Apoio Financeiro PIBIC/CNPQ. 1.
19 Congresso de Iniciação Científica ESPECIFICAÇÃO E IMPLEMENTAÇÃO DE UMA FERRAMENTA AUTOMATIZADA DE APOIO AO GERSE: GUIA DE ELICITAÇÃO DE REQUISITOS PARA SISTEMAS EMBARCADOS Autor(es) BARBARA STEFANI
Leia maisDESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES
DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.
Leia mais1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade.
1. Quem somos nós? A AGI Soluções nasceu em Belo Horizonte (BH), com a simples missão de entregar serviços de TI de forma rápida e com alta qualidade. Todos nós da AGI Soluções trabalhamos durante anos
Leia mais