SóProvas



Prova FCC - 2008 - METRÔ-SP - Analista Treinee - Ciências da Computação


ID
157963
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Programação
Assuntos

No que concerne às linguagens de montagem, considere:

I. A linguagem de montagem é definida com base na linguagem de máquina, onde cada instrução da máquina é representada por um comando mnemônico em caractere alfanumérico.
II. Os programas escritos nas linguagens de montagem são específicos para cada família de microprocessadores, cujas instruções costumam ser definidas pelo próprio fabricante do microprocessador.
III. Meta-assembler monta, exclusivamente, programas para um mesmo tipo de arquitetura de processadores e tem como característica varrer o programa-fonte apenas uma vez, para gerar o código.
IV. Os programas montadores ou Assemblers são ferramentas que permitem a tradução de programasfonte escritos em linguagem de montagem para programas-objeto.

É correto o que consta APENAS em

Alternativas
Comentários
  •  O Meta-Montador (Meta-Assembler) 
    Um meta-montador traduz programas em linguagem simbólica assembly, que é 
    legível ao ser humano, para linguagem de máquina, em formato binário, que pode ser 
    carregados na memória de computadores. Um programa montador normal é desenvolvido  
    especificamente para uma determinada máquina, cujos nomes dos registros, descrições 
    mnemônicas e formatos de instruções são completamente definidos. Um meta-montador 
    permite o usuário definir os formatos de instruções de qualquer máquina. Após a definição 
    pelo usuário dos formatos das instruções e as descrições mnemônicas dos opcodes, o metamontador age como um montador. Um meta-montador é útil para os que planejam 
    desenvolver um novo computador, uma vez que pode-se usá-lo para montar programas sem 
    a necessidade de desenvolver um programa montador do zero. 
  • Prezado, de onde é a referência dessas informações? Favor citar as referências.


ID
157966
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Em relação à arquitetura dos computadores modernos, é muito comum a existência de máquinas de seis níveis, onde o nível 0 representa a essência do hardware com seus elementos primários de circuitos lógicos mais complexos. O nível 1 é que inicia o conceito de programa como uma seqüência de instruções a serem executadas diretamente pelos circuitos eletrônicos. Assim, analise:

I. No nível 1, a microprogramação é utilizada especialmente nas máquinas classificadas de CISC - Complex Instruction Set Computer, que implementam instruções complexas correspondentes ao nível 2.
II. O nível 2 corresponde à linguagem de máquina ou o código binário executado pelo hardware. As máquinas RISC - Reduced Instruction Set Computer o utilizam para interpretar os códigos para o nível de microprogramação e, em seguida, para o nível 0.
III. O nível 3, onde, geralmente as instruções são desenvolvidas de forma híbrida, é o nível dos sistemas operacionais e destina-se a fornecer serviços básicos para os níveis superiores, tais como, interface com o usuário, gerenciamento de memória, escalonamento de processos e acionamento de dispositivos de entrada e saída de dados.
IV. Uma das diferenças existentes entre os níveis 1, 2 e 3, de um lado e os níveis superiores, de outro, é a natureza da linguagem provida. Enquanto as linguagens de máquina dos primeiros são freqüentemente numéricas (código binário, hexadecimal ou octal), as linguagens do nível 4 e superiores utilizam mnemônicos, que são ótimos para o entendimento lógico das pessoas.

É correto o que consta em

Alternativas
Comentários
  • Uma image = 1000 palavras:

    http://screencast.com/t/MTMwYTgxN
  • CISCOs processadores baseados na computação de conjunto de instruções complexas contêm uma microprogramação, ou seja, um conjunto de códigos de instruções que são gravados no processador, permitindo-lhe receber as instruções dos programas e executá-las, utilizando as instruções contidas na sua microprogramação. Seria como quebrar estas instruções, já em baixo nível, em diversas instruções mais próximas do hardware (as instruções contidas no microcódigo do processador). Como característica marcante esta arquitetura contém um conjunto grande de instruções, a maioria deles em um elevado grau de complexidade.
  • Letra C
    Fonte livor do Tanenbaum
    Nível de lógica digital (0): Neste nível encontra-se a descrição da máquina como uma malha de portas lógicas interconectadas. Subconjuntos destas portas lógicas definem dispositivos lógicos combinacionais e seqüenciais, que podem ser formalmente descritos através da álgebra booleana. Neste nível não existe o conceito de programa como uma seqüência de instruções.
    Nível de Microprogramação (1): Neste nível encontram-se dispositivos e recursos, tais como, ULAs, registradores, decodificadores, multiplexadores, vias de dados, etc. Cada um destes dispositivos e recursos é capaz de executar um número limitado de operações, definidas por sinais de controle. Suporta o conceito de programa (microprograma) como uma seqüência instruções a serem executadas. Também oferece uma visão detalhada do processador/microprocessador (microarquitetura ou caminho de dados).
    Nível de máquina convencional (2): Nível da linguagem de máquina, para cada microprocessador, este nível define uma ou mais máquinas virtuais, cuja linguagem é interpretada por um ou mais microprogramas. Oferece uma visão da macroarquitetura da máquina (interação do processador/microprocessador com barramentos externos, unidades de memória, dispositivos de I/O, etc).
    Nível de sistema operacional (3): Este nível é a fronteira entre o hardware e o software. O sistema operacional, normalmente, assume as funções de gerenciar os recursos de hardware e oferecer uma interface simplificada. Os usuários deste nível podem ser programas do nível 4 ou usuários humanos.
    Nível de linguagem de montagem (4): É o primeiro nível desenvolvido para usuários (programadores). O nível 4 oferece linguagens orientadas a utilização humana, constituídas de palavras e mnemônicos, que permitem uma compreensão mais simbólica dos problemas tratados. Os níveis 4 e 5 são normalmente suportados por tradução, enquanto o 1, 2 e 3 são normalmente suportados por interpretação.
    Nível de linguagem de programação (5): Este é um nível de linguagem voltada para o usuário final. Neste nível a máquina virtual oferecida é suficientemente abstrata para que possa ser utilizada por qualquer programador com conhecimentos razoáveis em algoritmos, estruturas e na linguagem disponível a este nível, tais como, C++, java, etc.
  • Putz!! a  assertiva IV forçou a natureza.  Afirmar que ".. as linguagens do nível 4 e superiores utilizam mnemônicos, que são ótimos para o entendimento lógico das pessoa.." é osso.
    Desde quando instruções assembler do tipo JUMP HE, MOV 8H, etc. são ÓTIMOS para o entendimento lógico das pessoas???  Otimo seriam linguagens apartir do 5o. nível, onde entrariam linguagens como C, jave, delphi...

    Achei que a assertiva estivesse errada em função do ÓTIMO.
  • Nível 0: é o hardware verdadeiro da máquina, é o nível da lógica digital, os objetos interessantes são denominados portas.

    Nível 1: é o verdadeiro nível de linguagem da máquina, nesse nível há definitivamente um programa, denominado microprograma, que interpreta as instruções de nível 2.

    Nível 2: é chamado de nível de máquina convencional. Uma linguagem de nível 2 é definida por cada microprograma.

    Nível 3: é geralmente um nível híbrido pois algumas de suas instruções são interpretadas pelo sistema operacional e outras são interpretadas diretamente pelo microprograma. 

    Níveis 4 e 5: ao contrário dos anteriores, foram projetados para o uso direto pelo programador médio comum. Esses níveis são geralmente suportados por tradução enquanto os níveis 2 e 3 são interpretados. O nível 4 é denominado montador e vem perdendo importância ao longo do tempo, já o nível 5 consiste em linguagens projetadas para serem utilizadas diretamente na aplicação com problemas a serem resolvidos.


ID
157969
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Dentre os tipos de compiladores, aqueles que efetuam a compilação e a execução do programa fonte e aqueles que efetuam a compilação numa única leitura do programa fonte, são denominados, respectivamente,

Alternativas
Comentários
  • Tipos de Compiladores
    Single-Pass: compilação numa única leitura do programa fonte
    Multi-Pass: compilação através de várias leituras do programa fonte
    Load-And-Go: compilação e a execução do programa fonte
    Debugging: compilação permitindo a depuração do programa fonte
    Optimizing: compilação e a otimização do programa alvo
  • Fonte: http://www.diegomacedo.com.br/conversoes-de-linguagens-traducao-montagem-compilacao-ligacao-e-interpretacao/?print=pdf

  • Gabarito A

    Tipos de Compiladores:

    Single-Pass: compilação numa única leitura do programa fonte

    Multi-Pass: compilação através de várias leituras do programa fonte

    Load-And-Go: compilação e a execução do programa fonte

    Debugging: compilação permitindo a depuração do programa fonte

    Optimizing: compilação e a otimização do programa alvo

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
157975
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Noções de Informática
Assuntos

As projeções mais consideradas em Computação Gráfica são as que projetam um sistema de coordenadas 3D em um 2D, realizam a projeção em um plano ao invés de uma superfície curva, como também utilizam raios projetores lineares ao invés de curvos. Esta classe de projeções é conhecida como "projeções geométricas planares" e podem ser classificadas como Projeções Planares

Alternativas
Comentários
  •   As projeções planares podem ser divididas em dois tipos básicos: perspectiva e paralela.

    http://www.im.ufal.br/professor/thales/cgi/Apostila14.pdf

ID
157978
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Engenharia de Software
Assuntos

O objetivo da Engenharia de Software é estabelecer uma sistemática abordagem de desenvolvimento, através de ferramentas e técnicas apropriadas, dependendo do problema a ser abordado, considerando restrições e recursos disponíveis. A Engenharia de Software

I. não se confunde com a Ciência da Computação, pois enquanto esta visa o desenvolvimento de teorias e fundamentações, a Engenharia de Software se preocupa com as práticas de desenvolvimento de software.
II. tem como foco único o tratamento dos aspectos de desenvolvimento de software, o que a diferencia da Engenharia de Sistemas, que trata dos sistemas baseados em computadores, incluindo hardware e software.
III. tem como métodos as abordagens estruturadas para o desenvolvimento de software que incluem os modelos de software, notações, regras e maneiras de desenvolvimento.
IV. segue princípios, tais como, o da Abstração, que identifica os aspectos importantes sem ignorar os detalhes e o da Composição, que agrupa as atividades em um único processo para distribuição aos especialistas.

É correto o que consta em

Alternativas
Comentários
  • Quando falou o princípio Abstração, então basta lembrar também de Coesão e Acoplamento. Trio presente em todo projeto (design) de software dentro da engenharia.
  • O erro do Item 4 está em  afirmar que a abstração não ignora os detalhes.

    Pelo contrário este é o objetivo da abstração, ter um foco mais amplo ignorando os detalhes.

    Exemplo:

    Construção de um software de Conta bancária

    Na parte da abstração você deve focar no que é importa para entender o sistema, identificar partes interessadas, modelar classes de alto nível.
    Nada de sair pensando em qual tecnologia vai usar para armazenamendo dos dados.
  • O item I está em conformidade com a distinção feita por Sommerville (Engenharia de Software, 2011, p. 6): "A ciência da computação se preocupa com as teorias e métodos que sustentam sistemas computacionais e de

    software, ao passo que a engenharia de software se preocupa com os problemas práticos de produção de software".

    O item II baseia-se na mesma página do mesmo livro: "A engenharia de sistemas foca todos os aspectos do desenvolvimento e da evolução de sistemas complexos em que o software tem o papel principal. A engenharia de sistemas se preocupa com desenvolvimento de hardware, projeto de políticas e processos e implantação de sistemas, além de engenharia de software."

    O item III diz respeito ao conceito de Engenharia de Software, que é geralmente definida como disciplina sistemática ou estruturada que trata de todos os aspectos da produção de software por meio de modelos, notações, regras, maneiras de desenvolvimento etc. Este item parece ter sido retirado desta apresentação: https://www.dcce.ibilce.unesp.br/~ines/cursos/eng_soft/aula01.pdf.

    O item IV contém ao menos dois erros: 1) na abstração, ignoram-se os detalhes, justamente para identificar os aspectos importante; 2) não faz sentido agrupar as atividades para distribui-las aos especialistas. Neste caso, o mais apropriado seria a decomposição ou divisão das atividades.

    Gabarito: C


ID
157981
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Programação
Assuntos

Programar o computador significa "dar ordens a ele," as quais são executadas seqüencialmente. Em tal paradigma, "representar" a solução de um problema para ser resolvido pelo computador envolve escrever uma série de ações que, se executadas seqüencialmente, levam à solução. Trata-se do paradigma:

Alternativas
Comentários
  • O paradigma "procedural", é o que mais se aproxima do uso da arquitetura von Neumann como modelo para representação da solução de um problema a ser resolvido pela máquina. Segundo o paradigma procedural, programar o computador significa "dar-lhe ordens" que são executadas sequencialmente. Em tal paradigma, "representar" a solução de um problema para ser resolvido pelo computador envolve escrever uma série de ações (procedimentos) que, se executadas sequencialmente, levam à solução. 


ID
157984
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Programação
Assuntos

Os paradigmas das linguagens de programação, interpretados como "meios" onde problemas são resolvidos, apresentam diferentes significados para "programa" e para a "máquina que executa o programa". Nesse sentido, no meio funcional,

Alternativas
Comentários
  • Esta questão é de Ciclo de Vida de Software??? Acho que não hein...

  • Já Notifiquei um erro sobre a classificação da questão.

  • A questão queria saber qual das opções seria uma característica do paradigma funcional de linguagens de programação.

    a) PROCEDURAL - O meio procedural pretende "imitar" a máquina von Neumann; o computador é entendido como uma máquina que obedece ordens e o programa como uma prescrição de solução para o problema.

    b) PROCEDURAL - Nas linguagens procedurais, uma expressão é avaliada e seu resultado, em geral, é armazenado em uma célula de memória representada por uma variável.

    c) PROCEDURAL - Uma linguagem de programação puramente funcional não usa variáveis ou comando de atribuição. A ordem de avaliação de suas expressões de mapeamento é controlada por recursão e expressões condicionais, enquanto que no meio procedural esse controle é feito por sequenciação e iteração.

    d) LÓGICA - ... os programas não estabelecem exatamente "como" um resultado deve ser computado, mas, descrevem fatos e regras que podem levar a máquina à dedução do cálculo do fatorial. O computador assume, portanto, o papel de uma "máquina de inferência", buscando uma prova construtiva para uma meta (pergunta) colocada pelo usuário.

    e) FUNCIONAL - A principal característica do meio funcional é "imitar" o comportamento de funções. Assim, no meio funcional, o computador atua como uma máquina que avalia funções e o programa consiste da definicão e composição de funções.


    http://www.paulotarso.com/Files/PP/maria_cecilia.pdf




ID
157990
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Algoritmos e Estrutura de Dados

Em relação à programação de computadores, considere:

I. No interior de uma estrutura de decisão podem ser executadas outras estruturas de decisão.
II. Uma árvore binária pode ser definida com uma árvore vazia ou um nó raiz, tendo duas sub-árvores, identificadas como sub-árvore direita e sub-árvore esquerda.
III. No interior de uma estrutura de repetição é adequado, do ponto de vista da boa formatação funcional, iniciar uma outra estrutura de repetição que termina fora da anterior.
IV. Uma árvore binária não pode ser vazia, tendo, no mínimo, dois nós com duas sub-árvores e cada uma de suas sub-árvores não podem ter raízes.

É correto o que consta APENAS em

Alternativas
Comentários
  • III. No interior de uma estrutura de repetição é adequado, do ponto de vista da boa formatação funcional, iniciar uma outra estrutura de repetição que termina fora dentro da anterior.
    IV. Uma árvore binária não pode ser vazia, tendo, no mínimo, dois nós com duas sub-árvores e cada uma de suas sub-árvores não podem ter raízes.

    as
  • Somente para contribuir nas assertivas II (correta) e IV (errada):

    Segundo TANENBAUM, LANGSAM e AUGENSTEIN, "uma árvore binária é um conjunto finito de elementos que está vazio ou é particionado em três subconjuntos disjuntos. O primeiro subconjunto contém um único elemento, chamado raiz da árvore. Os outros dois subconjuntos são em si mesmos árvores binárias, chamadas subárvores esquerda e direita da árvore original. Uma subárvore esquerda ou direita pode estar vazia. Cada elemento de uma árvore binária é chamado nó da árvore".

  • Não percebi qualquer tipo de lógica na assertiva III, ou seja, "iniciar uma outra estrutura de repetição que termina fora da anterior" não faz, a meu ver, o menor sentido. Por isso, estou de acordo com o gabarito, a saber: alternativa (A) I e II.


ID
157993
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Programação
Assuntos

No que concerne às linguagens de programação, analise:

I. A linguagem de programação C++ não oferece herança múltipla, somente herança simples. Java suporta herança simples, mas a partir de uma classe virtual chamada interface, constitui uma versão da herança múltipla.
II. Existem várias versões de PHP, sendo que o suporte para acesso a banco de dados com o uso de cláusulas SQL está disponível apenas nas versões posteriores à PHP 3.
III. Métodos de passagem de parâmetros permitem que parâmetros sejam transmitidos entre o programa principal e os subprogramas. Nesse sentido, o método de passagem de parâmetros por valor é a técnica na qual são passadas cópias dos parâmetros envolvidos, isto é, ao passar uma variável como parâmetro de um método, sempre será efetuada a cópia dos bits desta variável.
IV. ASP e PHP foram projetadas para serem embutidas em páginas HTML, não podendo ser usadas independentemente para a geração de programas executáveis autônomos.

É correto o que consta em

Alternativas
Comentários
  • A linguagem de programação C++ não oferece herança múltipla?? Estranho pessoal
  • O gabarito desta questão está bizonhamente errado.  Em relação ao item 1 cito:

    1- C++ oferece sim a herança múltipla.

    2- Java implementa interfaces e classes abstratas, alguns dizem que isto é uma forma do Java suportar a herança múltipla !

  • Item I está - completamente errado.

  •  Estranho, segundo a questão Q57243, por exemplo, o PHP pode ser utilizado até para aplicações desktop (eu até desconhecia), mas pelo menos sei que gerar programas de linha comando é plenamente funcional com PHP. Logo a alternativa IV está errada. Como a FCC justificou essa questão?

  • Realmente a alternativa I é bem estranha.
    C++ aceita herança multipla.
    Interface em Java, eu mesmo não considero como herança multipla, mas muita gente considera.

    A alternativa IV também achei esquisita.
    Não programo em PHP, porém pelos meus conhecimentos com o PHP você pode desenvolver programas desktop, usando o PHP-GTK.
  • C++ tem herança múltipla, peguei até o seguinte ponto:

    A herança múltipla é uma das características do C++ mais controversas. Ela permite que uma classe possa ser derivada de mais de uma classe base, o que pode resultar em um complicado grafo de herança e relacionamento entre classes. Por exemplo, uma classe Gato voador pode ser derivada tanto das classes Gato quanto Mamífero voador. A mistura de heranças reflete em uma mistura de espaços de nomes na classe herdada, o que pode ser resolvido através da declaração local de espaço de nomes, como explicado adiante.
  • Questão realmente lamentável. Bem ao estilo FCC. Certamente esse gabarito deve ser revisto. Como já foi enfatizado anteriormente, a linguagem C++ oferece o recurso de herança multipla.
  • Verdade!Essa questão é nada haver dizer que C++ não tem herança múltlipla.Errado

  • Banca ridícula . Questão passível de recurso .

  • Levei até um susto quando li que C++ não oferece herança múltipla! Programei em C++ durante anos... Tá certo que já faz muito tempo atrás mas essa coisas não mudam assim... (KKKK)! 

  • "11 pessoas enganadas..."


ID
157999
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Em termos de banco de dados, é correto afirmar:

Alternativas
Comentários
  • As chaves(primária, estrangeira, candidata, alternativa) não podem ser nulas.
  • As restrições de integridade são:
    • INTEGRIDADE DE CHAVE
    • INTEGRIDADE REFERENCIAL
    • INTEGRIDADE DE DOMÍNIO
    • INTEGRIDADE DE VAZIO
    • INTEGRIDADE DE UNICIDADE
    Além das restrições semânticas (regras de negócio) que devem ser desenvolvidas pelos programadores.
  • Alguém poderia comentar cada uma das afirmativas erradas?

    •  a) No controle de segurança do tipo discricionário, a cada objeto de dados é assinalado certo nível de classificação, e cada usuário recebe certo nível de liberação. O que é esse tal de controle de segurança discricionário?
    •  b) A independência do hardware não é um dos objetivos da implementação de um sistema de bancos de dados distribuídos, mas sim a obtenção da independência da fragmentação. O que quer dizer a independência da fragmentação?
    •  d) Uma das vantagens dos sistemas de banco de dados distribuído é sua capacidade de tornar perceptível aos usuários os níveis de sua arquitetura performática em relação aos sistemas não distribuídos. Essa já fala por sí.
    •  e) A linguagem de definição de dados oferece suporte à declaração de objetos do banco de dados, enquanto a linguagem de estruturação de dados admite o processamento desses objetos. Qual a diferença entre a linguagem de definição de dados e  linguagem de estruturação de dados?
  • Não sei se as respostas estão 100%, mas vamos la:

    a) ERRADO. Através do controle de acesso discricionário (catálogos), o banco de dados mantém um registro dos seus objetos e dos privilégios que cada usuário ou grupo de usuários possui sobre os mesmos (OU SEJA, PARA CADA OBJETO EU TENHO UMA LISTA DOS USUARIOS QUE PODEM "UTILIZA-LO")

    b) ERRADO. A independência do hardware NÃO é um dos objetivos da implementação de um sistema de bancos de dados distribuídos.

    c) CORRETO

    d) ERRADO.  Uma das vantagens dos sistemas de banco de dados distribuído é sua capacidade de tornar perceptível aos usuários os níveis de sua arquitetura performática em relação aos sistemas não distribuídos. (ISSO É TRANSPARENTE PARA O USUARIO)

    e) ERRADO. LDD oferece suporte para definição de estrutura de dados (O TERMO OBJETO É MUITO AMPLO), já Ling. Estru. Dados nao faço ideia.

    é isso mesmo?
    gostaria de mais opniões.

    bons estudos!
  • A chave estrangeira pode ter valor nulo.
  • Apenas complementando os colegas, o Controle de Acesso Discricionário (DAC) a que se refere o item a) consiste em um tipo de controle de acesso em que determinado usuário recebe privilégios diferentes p/ objetos diferentes (grant, revoke e views). Ele se opõe ao Controle de Acesso Mandatório ou Obrigatório (MAC), que é exatamente o que o item descreve (cada objeto de dados é assinalado certo nível de classificação, e cada usuário recebe certo nível de liberação). Por conta disso, a assertiva é falsa.
  • LETRA C.

    Segundo Navathe(2011,p.47),"A restrição de integridade de entidade afirma que nenhum valor de chave primária pode ser NULL."

     

    -SISTEMAS DE BANCO DE DADOS-NAVATHE-2011-6 EDIÇÃO.

  • A = MAC

    B = Independência é um dos objetivos do BDD

    C = Restrição de ENTIDADE, Entidade = Nenhum valor da PK pode ser NULO = Restrição de Vazio para PK

    D = Abstração é um dos objetivos do BDD

    GAB C.

    Essa E não faço ideia


ID
158002
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Programação
Assuntos

Em linguagem formal, os sufixos da palavra aaba são identificados por

Alternativas
Comentários
  •  Gabarito:E

    Definição 1.4 Prefixo, Sufixo, Subpalavra.
    Um Prefixo (respectivamente, Sufixo) de uma palavra é
    qualquer seqüência inicial (respectivamente, final) de
    símbolos da palavra. Uma Subpalavra de uma palavra é
    qualquer seqüência de símbolos contígüa da palavra.

    Exemplo 1.2 Palavra, Prefixo, Sufixo, Tamanho.
    a) abcb é uma palavra sobre o alfabeto {a, b, c};
    b) Se ∑ = {a, b}, então:
    ∑+ = {a, b, aa, ab, ba, bb, aaa,...}
    ∑* = {ε , a, b, aa, ab, ba, bb, aaa,...}
    c) | abcb | = 4 e | ε | = 0;
    d) Relativamente à palavra abcb, tem-se que:
    ε, a, ab, abc, abcb são os prefixos;
    ε, b, cb, bcb, abcb são os respectivos sufixos.
    e) Qualquer prefixo ou sufixo de uma palavra é uma sub-palavra.

    Fonte: http://www2.dem.inpe.br/ijar/UNIB-2005/Teoria%20da%20Computa%C3%A7%C3%A3o%20-%202005/TeoriaCaomputacao-e-book.pdf

  • A técnica mais prática é fixar a palavra inteira (que tbm é um sufixo da própria palavra) e vem eliminando caracter a caracter:

    aaba
     aba
      ba
       a


  • Nunca tinha visto nada parecido, olhei novamente; estou na categoria pt, será? rsrsrs

    Interessante.
  • Prefixo de aaba: vai inserindo as letras do início para o fim: a, aa, aab, aaba

    Sufixo de aaba: vai inserindo as letras do fim para o início: a, ba, aba, aaba

    Todo prefixo e sufixo é, também, uma subpalavra.


ID
158005
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Programação
Assuntos

No âmbito das linguagens formais, no processo de compilação, a fase de análise é composta pelas subfases: Análise Léxica, Análise Sintática e Análise Semântica. Assim, considere:

I. Durante a análise léxica, as palavras ou lexemas são guardados na tabela de símbolos e classificados de acordo com a linguagem, em palavras reservadas, comandos, variáveis e tipos básicos.
II. A Análise Sintática é responsável pela verificação da boa formação dos comandos da linguagem, de acordo com as regras especificadas pela gramática da linguagem, pois sentenças mal formadas, geralmente, interrompem o processo de compilação e são apresentadas como mensagens de erro.
III. No fim da análise sintática, temos a representação do programa original de forma hierárquica, onde o programa é representado por uma árvore sintática.
IV. A análise semântica mais comum consiste na verificação da consistência de tipos dos operandos envolvidos em operações aritméticas ou dos parâmetros passados a procedimentos.

É correto o que consta em

Alternativas
Comentários
  • ô loko, são raras as ocorrências de boas questões teóricas de CC nos concursos, show de bola essa ;)
  • Compiladores são programas que traduzem linguagens, no caso uma linguagem fonte (escrita numa linguagem de programação) para uma linguagem destino (linguagem que o computador realmente entenda). São complexos e o processo de compilação se dá por três fases:

    1 - Análise Léxica -> ler caractere por caracter no código e forma tóken, identificando o tipo (ex: constante, palavra reservada ...) de cada um deles de acordo com a tabela de símbolos. Ex: for i = 0. O compilador irá ler: f,o,r,i,=,0  e dirá 'for' = palavra reservada, i = variável criada, '=' operador de atribuição, 0 = valor literal 

    2 - Análise Sintática -> chamado também de 'parser', verifica se o código possui sentenças válidas, criando uma estrutura de árvore ao final do processo. Ex: a sentença do 'if' deve ser: if () then

    3 - Análise Semântica -> verifica o significado de instruções, realizando análises que não podem ser feitos anteriormente como, por exemplo, escopo de variáveis (uma variável local de uma função não pode ser usada fora dela), atribuição de valores (verificar se os tipos são compatíveis entre o valor e a variável que está recebendo ele).

    GABARITO: E


ID
158014
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Noções de Informática
Assuntos

Em relação a sistemas distribuídos, considere:

I. Visando a otimização do maior número possível de máquinas e tipos de computadores, o protocolo ou canal de comunicação pode ser dotado de um interpretador para compatibilizar a informação que possa não ser entendida por certas máquinas.
II. O Middleware é composto por um conjunto de processos ou objetos num grupo de computadores, que interagem entre si de forma a implementar comunicação e oferecer suporte para partilha de recursos a aplicações distribuídas.
III. Um sistema distribuído pode ser definido pela capacidade que um único processador tem para distribuir várias tarefas simultaneamente.
IV. Um sistema distribuído pode ser definido como uma coleção de processadores fracamente acoplados, que não compartilham memória nem relógio, interconectados por uma rede de comunicação.

É correto o que consta APENAS em

Alternativas
Comentários
  • computação distribuída consiste em adicionar o poder computacional de diversos computadores interligados por uma rede de computadores. A união desses diversos computadores com o objetivo de compartilhar a execução de tarefas, é conhecida como sistema distribuído.

    Middleware ou mediador, no campo da computação distribuída, é um programa de computador que faz a mediação entre software e demais aplicações. É utilizado para mover ou transportar informações e dados entre programas de diferentes protocolos de comunicação, plataformas e dependências do sistema operacional. É geralmente constituído por módulos dotados com APIs de alto nível que proporcionam a sua integração com aplicações desenvolvidas em diversas linguagens de programação e interfaces de baixo nível que permitem a sua independência relativamente ao dispositivo. Seu objetivo é mascarar a heterogeneidade e fornecer um modelo de programação mais produtivo para os programadores de aplicativos. É composto por um conjunto da processos ou objetos em um grupo de computadores, que interagem entre si de forma a implementar comunicação e oferecer suporte para compartilhamento de recursos e aplicativos distribuídos.

    O Middleware é a designação genérica utilizada para referir aos sistemas de software que se executam entre as aplicações e os sistemas operacionais. O objetivo do middleware é facilitar o desenvolvimento de aplicações, tipicamente as distribuídas, assim como facilitar a integração de sistemas legados ou desenvolvidos de forma não integrada automática.


  • Apesar do gabarito indicar a letra C, sobre o item:

    I. Visando a otimização do maior número possível de máquinas e tipos de computadores, o protocolo ou canal de comunicação pode ser dotado de um 
    interpretador para compatibilizar a informação que possa não ser entendida por certas máquinas.

    Também acho correto o item I, inclusive isso foi usado há algum tempo, através de computadores pessoais, quando estes entravam em estado de espera e a internet ficava ociosa, era possível processar informações para um grande sistema nos EUA, portanto foi utilizado um protocolo http, que permitia que diversos sistemas operacionais pudessem interpretar as mensagens através desse protocolo padronizado.

ID
158017
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Redes de Computadores
Assuntos

Nos sistemas multimídia,

Alternativas
Comentários
  •  Streaming ou fluxo de mídia é uma forma de distribuir informação multimídia numa rede através de pacotes. Ela é frequentemente utilizada para distribuir conteúdo multimídia através da Internet.

  • Nos sistemas multimídia podemos ter as mídias discretas (ou estáticas) e as midias contínuas (ou dinâmicas).

    Mídias discretas (estáticas): são compostas por itens de informação com dimensões unicamente espaciais, independentes do tempo. O tempo não faz parte da semântica da informação (os itens podem ser agrupados em qualquer ordem temporal). Como exemplos temos os textos, as imagens e os gráficos.

    Mídias contínuas (dinâmicas): são compostas por itens de informação que dependem do tempo, ou seja, existe a dimensão temporal. O tempo faz parte da semântica da informação (os itens deve ser agrupados na ordem temporal, ou o significado da informação pode ser alterado). Como exemplos temos os áudios, os vídeos e as animações).

    As mídias capturadas são os áudios, vídeos e fotografias retirados diretamente do mundo real.

    As mídias sintetizadas são representações baseadas em informações do mundo real, como textos, gráficos e animações.

    Com isso já podemos nos certificar que a  alternativa correta é a B.

  • Nobres Amigos,

       Postei no meu blog alguns comentários sobre esta questão. Espero que possa ajudá-los. Favor acessar: http://www.questoesdeconcurso.net/2012/08/streaming.html

       Muito Obrigado!

ID
158020
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Sistemas Operacionais
Assuntos

A responsabilidade do kernel consiste, tradicionalmente, em abstrair a interface do hardware, permitindo que processos utilizem este recurso concorrentemente, de forma segura e padronizada. Assim, um kernel ou núcleo pode ser considerado o próprio sistema operacional, quando este é definido como um gerenciador de recursos de hardware, que é o caso do sistema operacional aberto Linux. O Linux é um

Alternativas
Comentários
  • O Linux possui um kernel monolítico. Os drivers de dispositivos e as extensões de kernel rodam na área de kernel (anel 0, encontradas e muitas arquiteturas de CPU), com acesso total ao hardware, embora, algumas exceções rodarem na área do usuário. Muitos usuários não rodam o seu sistema gráfico no kernel, em contraste com o Windows.

    http://en.wikipedia.org/wiki/Linux_kernel#Architecture
  • Há duas vertentes de desenvolvedores de sistemas operacionais, àqueles que  são a favor do desenvolvimento de Kernels modulares e os que defendem  o desenvolvimento de Kernels monolíticos. Os modulares são, teoricamente,  kernels mais simples, onde ao invés de se ter um kernel  gigantesco  com milhões de linhas,  se  tem um constituído de vários  componentes menores. A simplicidade desse tipo de kernel  ocorre também  pelo fato dele ter como função básica coodernar a troca de mensagens e dados entre os diferentes componetes do sistema. 
    Para o Linux foi adotado o kernel monolítico.  Isso, porque  Linux Torvalds defendia  a idéia de que apesar do   kernel modular   ser mais fácil de desenvolver, por modular-se em vários componentes,  a dificuldade em coordernar a troca de informações entre as partes de uma forma confiável tornava-o tão complicado que logo   este ganho inicial era superado.Portanto, fica o registro de que o Linux é um kernel monolitico ( uma unidade, não divisível  ).
    A questão também cita o termo híbrido. O linux passou a ser um kernel monólitico híbrido com o passar do  tempo, pois os desenvolvedores inseriram, nele, algumas características de  um  kernel modular.    
  • Na verdade tanto o linux como o windows usam a arquitetura hibrida e monoloitica. Sendo que, o linux usa uma arquitetura monolitica e também modular e portanto hibrida. O windows usa arquitetura Microkernel monolitico e então hibrida.
    Daria para matar a questão pelo fato da letra B já definir como microkernel monolitico ( windows). Sobra então a letra "a".
  • Windows microkernel? Acho que não hein! Os Windows NT são um blocão de código com tudo (praticamente) rodando no kernel. Temos no kernel o NTOS kernel: escalonador e dispatcher; o NTOS executive: LPC, memória virtual, gerenciador de I/O, de objetos, etc, etc...; o HAL (Hardware Abstraction Layer); drivers e etc. Como a maior parte dos serviços rodam em kernel, não acredito que possa ser caracterizado como microkernel. No lado do usuário, só a biblioteca de usuário, ntdll.dll
    O NTOS kernel e executive, sozinhos, não tem as estruturas suficientes para fazer um microkernel. Não vejo um híbrido monolítico-microkernel
  • funcao do kernel abstrair a interface do hardware, permitindo que processos utilizem este recurso concorrentemente, de forma segura e padronizada, por meio de chamadas de sistemas. Os núcleos dos sistemas operacionais podem ser implementados de duas formas básicas: Kernel monolítico e o microkernel.

    Micro-kernel possui apenas um núcleo que provê recursos mínimos necessários ao ambiente, como gerenciamento do espaço de memória, gerência de threads e comunicação entre os processos. Serviços como rede, vídeo, são considerados não essenciais, e residem no user-space. Ex: Minix.

    Kernel Monolítico é oposto. Permite que funções como rede, vídeo e acesso a outros periféricos sejam possíveis através do kernel-space. O que significa que um módulo, apesar de não estar no mesmo código do kernel, é executado no seu espaço de memória. Ex: Linux e alguns windows.


  • Questão passível de anulação...ou é monolítico ou é hibrido...hibrido é o mono + micro.

    tipos de kernel no Linux : Monolítico, Micro, Hibrido, Exo e Nano.
    Como essa questão é de 2008 talvez esteja desatualizada.
  • Finalidade do núcleo:

    O principal propósito do núcleo é gerenciar os recursos do computador e permitir que outros programas rodem e usem destes recursos.

    Arquitetura Monolítica-> Pode ser comparada com uma aplicação formada por vários módulos que são compilados separadamente e depois linkados, formando um grande e único programa executável. Todos processos em um só núcleo.

    Arquitetura de Camadas-> Devido ao Aumento da complexidade e do tamanho do código dos sistemas foi necessário criar técnicas de modulação então o sistema passou a ser dividido em camadas sobrepostas. Cada camada oferece um conjunto de funções que podem ser utilizadas apenas pelas camadas superiores(lembra um pouco REDES modelo OSI).

    Vantagem: Isolar as funções do sistema operacional, facilitando a manutenção e depuração, além de criar hierarquia de níveis

    Desvantagem: Queda no Desempenho.

    Arquitetura Máquina Virtual -> Serve para criar um nível intermediário entre o hardware e o sistema operacional, denominado gerência de máquinas virtuais possibilitando a criação de diversas máquinas virtuais independentes onde cada uma oferece cópia virtual do hardware.

    Vantagem: Portabilidade do código / consolidação de servidores/ aumento da disponibilidade / facilidade de escalabilidade e balanceamento de carga / facilidade no desenvolvimento de software.

    Arquitetura MicroKernel-> Tendência nos sistemas operacionais modernos visando tornar o núcleo do SO o menor e mais simples possível.

    Um dos benefícios da abordagem de microkernel é que ela facilita a extensão do sistema operacional. Todos os serviços novos são adicionados ao espaço do usuário e, consequentemente, não requerem a modificação do kernel.

    O microkernel também fornece mais segurança e confiabilidade, já que a maioria dos serviços é executada como processos de usuário — e não do kernel. Se um serviço falha, o resto do sistema operacional permanece intocado.

    Sistemas Híbridos -> Na prática, muito poucos sistemas operacionais adotam uma estrutura única rigidamente definida. Em vez disso, eles combinam diferentes estruturas, resultando em sistemas híbridos que resolvem problemas de

    desempenho, segurança e usabilidade.

    Por exemplo, tanto o Linux quanto o Solaris são monolíticos porque o desempenho é muito mais eficiente quando o sistema operacional ocupa um único espaço de endereçamento. No entanto, eles também são modulares para que novas funcionalidades possam ser adicionadas ao kernel dinamicamente.

    Exonúcleos -> Um exonúcleo é um tipo de núcleo que não abstrai hardware in modelos teóricos. Ao invés disso ele aloca recursos físicos de hardware, como o tempo de um processador, páginas de memória, e blocos de disco, para diferentes programas.

    Fonte:

    Arquitetura de SO - Machado 5 ed /Fundamentos de SO - Silberschatz 9ed


ID
158029
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Arquitetura de Software
Assuntos

Em Arquitetura de Software, um estilo de arquitetura é a descrição de tipos de componentes, dos padrões que guiam a interação entre eles e de suas restrições. Nesse sentido, considere:

Ele oferece decomposição controlada das tarefas em subtarefas cooperativas. Antes de projetar um sistema, coleta-se os requisitos, transformando-os em especificações, considerando-se que os requisitos estão bem definidos e estáveis. Inclui os padrões Camada (Layers), Canos e Filtros (Pipes and Filters) e Blackboard.

Trata-se do estilo de arquitetura:

Alternativas
Comentários
  • Da lama para a estrutura (em inglês, “From Mud to Structure”): padrões que
    apoiam a decomposição adequada de uma tarefa do sistema em sub-tarefas que
    cooperam entre si;
    • Sistemas Distribuídos (em inglês, “Distributed Systems”): padrões que
    fornecem infra-estrutura para sistemas que possuem componentes localizados
    em processadores diferentes ou em diversos sub-sistemas e componentes;
    • Sistemas Interativos (em inglês, “Interactive Systems”): padrões que ajudam a
    estruturar sistemas com interface homem-máquina;
    • Sistemas Adaptáveis (em inglês, “Adaptable Systems”): padrões que fornecem
    infra-estruturas para a extensão e adaptação de aplicações em resposta a
    requisitos de evolução e mudança funcional;
    • Decomposição Estrutural (em inglês “Structural Decomposition”): padrões
    que apoiam a decomposição adequada de sub-sistemas e componentes
    complexos em partes cooperativas;
    15
    • Organização do Trabalho (em inglês, “Organization of Work”): padrões que
    definem como componentes colaboram para oferecer um serviço complexo;
    • Controle de Acesso (em inglês, “Access Control”): padrões que guardam e
    controlam o acesso a serviços e componentes;
    • Gerenciamento (em inglês, “Management”): padrões para lidar com coleções
    homogêneas de objetos, serviços e componentes como um todo;
    • Comunicação (em inglês, “Communication”): padrões que ajudam a organizar
    a comunicação entre componentes e
    • Manuseio de Recursos (em inglês, “Resource Handling”): padrões que ajudam
    a gerenciar componentes e objetos compartilhados

ID
158032
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Engenharia de Software
Assuntos

Representar a arquitetura de software em várias visões, utilizando vários modelos, produz um resultado mais consistente uma vez que há muita informação dissociada para retratar em um único modelo. Nesse sentido considere os itens abaixo, relativos aos principais esquemas de visões:

I. Um esquema que ressalta, em separado, os detalhes estático, dinâmico e funcional dos objetos identificados no sistema, ou seja, cada objeto possui sua estrutura e sua descrição definidas do ponto de vista estático, dinâmico e funcional.
II. As visões determinam uma seqüência de atividades que ocorrem no tempo, ou seja, uma evolução incremental dos conceitos do negócio e suas representações. Primeiro devem ser pensados os detalhes da visão lógica para, em seguida, se pensar nos detalhes da visão física. As semânticas determinam as representações estática e dinâmica de ambas as visões.
III. Um esquema onde as visões são coordenadas com o objetivo de representar a arquitetura como um modelo de abstração que possui o foco na estrutura nos elementos essenciais, sugerindo a notação UML [Booch98] como principal mecanismo de representação dos propósitos das visões. IV. Um esquema onde vários propósitos são atendidos pelas visões, tais como, abordar a organização lógica do sistema, organizar suas funcionalidades, abordar os aspectos de concorrência e descrever a distribuição física do software na plataforma utilizada. As visões se dividem em lógica, de processo, de desenvolvimento, de implementação e de casos de uso.

Os itens acima referem-se, respectivamente, às visões

Alternativas
Comentários
  • A afirmativa IV) fala das visões 4 + 1, no entanto está faltando a visão de implantação.  A alternativa cita visão lógica, de processo, de desenvolvimento (que para mim é a de implementação) e a de implementação (acho que aqui deveria ser implantação!).



ID
158038
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Engenharia de Software
Assuntos

Em relação à componentização e reuso, considere:

I. Se o componente sendo projetado é muito complicado, então, não é usável, por ser muito complexo ou apenas uma pequena porção desse componente é usada. Ao projetar um componente reusável, deve-se estar atento para que ele seja tão simples quanto possível.
II. Quando é projetada uma solução baseada em componentes, é possível obter um comportamento comum de modo que vários usuários possam utilizar. Uma outra forma para reuso de interfaces genéricas é o reuso da especificação. Uma vez que os componentes podem possuir múltiplas interfaces, é possível ter diferentes componentes.
III. No que concerne ao reuso dos componentes existentes, as interfaces podem ser projetadas para usar outras interfaces em tempo de design (desde que todas as implementações de componentes no sistema especificado suportem as interfaces) ou em tempo de implementação (usa os serviços de outras interfaces).

É correto o que consta em

Alternativas
Comentários
  • Com relação a proposição II, algém pode me explicar o que vem a ser: "Reuso da especificação" ???

    Tipo, eu faço uma especificação para criar um componente A. Que tem sua utilidade e particularidades...

    Depois eu vejo a necessidade de um novo componente B. Aí eu reutilizo a especificação de A para criar B??? Faz sentido isso?

    Se alguém interpretou a questão de outra maneira e poder explicar agradeço.
  • Lamentável essa questão.
    A I diz que "Se o componente sendo projetado é muito complicado, então, não é usável..."
    Usável é algo bem diferente de reusável.
    Nesse caso, entendo que a alternativa I esteja errada porque qualquer componente, se projetado corretamente, por mais complexo que seja, será usável para o propósito pelo qual foi projetado. Ele pode não ser reusável para outros própósitos, mas usável será.
  •  e)I, II e III.

  • Um breve resumo.


ID
158041
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Arquitetura de Software
Assuntos

Sobre a SOA ? Service-oriented architecture, considere:

I. A SOA fornece, essencialmente, uma estrutura na qual a lógica do aplicativo pode ser decomposta em pedaços ou serviços que podem ser reutilizados e modificados e aplicados em diferentes áreas dentro e fora da empresa sem ajustar a tecnologia subjacente, otimizando, dessa forma, o compartilhamento e reutilização dos componentes de TI.
II. Ao contrário das Web Services, na SOA, duas áreas diferentes, com aplicativos e dados diferentes, e possivelmente sistemas operacionais ainda mais diferentes, podem compartilhar o serviço sem uma grande quantidade de codificações customizadas para fazê-lo funcionar.
III. Utilizando a SOA, uma empresa pode construir sistemas de TI flexíveis, com serviços fortemente acoplados que podem ser compartilhados, modificados e permutados sem enfrentar dificuldades com a customização de tecnologias subjacentes, mesmo levando em conta a existência de grande quantidade de linhas de códigos da linguagem WSDL.
IV. Na SOA, um serviço pode ser definido como uma função independente que aceita uma ou mais requisições e devolve uma ou mais respostas através de uma interface padronizada e bem definida. Serviços podem também realizar partes discretas de um processo, tal como editar ou processar uma transação, e não devem depender do estado de outras funções ou processos.

É correto o que consta APENAS em

Alternativas
Comentários
  • I - Reusabilidade é uma das caracteristicas da SOA, além de fraco acoplamento, stateless, granularidade grossa (pouco detalhes), autonomia, descoberta e abstração.

    II-Web services utiliza SOA e representa a materialização da idéia de um serviço que é disponibilizado na Internet e que pode ser acessado de qualquer lugar do planeta.
    E de acordo com W3C: define-se como um sistema de software projetado para suportar a interoperabilidade entre máquinas sobre rede.

    III- SOA/Web services possuem estrutura FRACAMENTE acoplada justamente para permitir a flexibilidade, reusabilidade

    IV - "não devem depender do estado de outras funções ou processos." = stateless

  • I. A SOA fornece, essencialmente, uma estrutura na qual a lógica do aplicativo pode ser decomposta em pedaços ou serviços que podem ser reutilizados e modificados e aplicados em diferentes áreas dentro e fora da empresa sem ajustar a tecnologia subjacente, otimizando, dessa forma, o compartilhamento e reutilização dos componentes de TI. //Correta, esta de acordo com a definicao de SOA
    II. Ao contrário das Web Services, na SOA, duas áreas diferentes, com aplicativos e dados diferentes, e possivelmente sistemas operacionais ainda mais diferentes, podem compartilhar o serviço sem uma grande quantidade de codificações customizadas para fazê-lo funcionar. // Errada, pois Web Services é utilizado dentro do conceito de SOA, de que os serviços possam ser utilizados por qualquer aplicacao, em qualquer sistema operacional, mesmo que diferentes
    III. Utilizando a SOA, uma empresa pode construir sistemas de TI flexíveis, com serviços fortemente acoplados que podem ser compartilhados,
    modificados e permutados sem enfrentar dificuldades com a customização de tecnologias subjacentes, mesmo levando em conta a existência de grande quantidade de linhas de códigos da linguagem WSDL. // Como disse o colega acima, SOA se baseia em servicos fracamente acoplados
    IV. Na SOA, um serviço pode ser definido como uma função independente que aceita uma ou mais requisições e devolve uma ou mais respostas através de uma interface padronizada e bem definida. Serviços podem também realizar partes discretas de um processo, tal como editar ou processar uma transação, e não devem depender do estado de outras funções ou processos. //Correta, esta de acordo com a definicao de SOA

    Logo, resposta certa letra B

ID
158044
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Arquitetura de Software
Assuntos

Enterprise Service Bus ? ESB:

Alternativas
Comentários
  • O Enterprise Service Bus se refere à arquitetura de construção de software tipicamente implementado em tecnologias encontradas na categoria de produtos de infra-estrutura de middleware.

    Normalmente baseado no reconhecimento de padrões, que fornecem uma base de serviços para arquiteturas mais complexas via um driver de evento e padrões baseados em mensagens (BUS).

    Um ESB geralmente fornece uma abstração de camadas na implementação de um sistema empresarial de mensagens, que permita integração da arquitetura para explorar o valor das mensagens sem escrever código. Contrariando a clássica integração de aplicações comerciais (EAI). A base de um enterprise service bus é construida da quebra de funções básicas em partes, que são distribuidas onde for preciso.
    (fonte: http://pt.wikipedia.org/wiki/Enterprise_Service_Bus

  • Realmente... o Blog de TI da mulher do enunciador tá bombando! :)

ID
158050
Banca
FCC
Órgão
METRÔ-SP
Ano
2008
Provas
Disciplina
Modelagem de Processos de Negócio (BPM)
Assuntos

Um dos objetivos da BPMN é criar um mecanismo simples para o desenvolvimento dos modelos de processos de negócio e, ao mesmo tempo, poder garantir a complexidade inerente aos processos. A simbologia adotada está dividida em quatro categorias básicas de elementos, ou seja,

Alternativas
Comentários
  • BPM é uma metodologia cujo principal objetivo é modelar o fluxo de processos organizacionais e inter organizacionais.

    Esta metodologia permite a análise, definição, execução, monitoramento e administração de processos, relacionando o processo com a interação de pessoas e aplicações informatizadas (infra-estrutura), definindo metas a serem alcançadas e levantando as regras que gerem o negócio.

    Podemos resumir que BPM é o conjunto de técnicas que devem garantir a monitoração e melhoria contínua dos processos organizacionais, transformando a relação deste com as pessoas envolvidas, como fornecedores, funcionários e clientes, objetivando um posicionamento da empresa no mercado.

    Os profissionais envolvidos na adoção da metodologia BPM são:

     * Gestores: responsáveis pelo monitoramento e gerencia dos processos e definição de novas regras de negócio.

    * Analistas de Negócio: responsáveis pelo levantamento e desenho do fluxo dos processos.

    * Arquitetos de Negócio: responsáveis pela remodelagem do processo, identificação de gargalos.

    * Desenvolvedores: responsáveis pela implementação das regras para execução de tais processos

  • O que é BPMS

     O BPMS, ou Business Process Management System, são os sistemas existentes no mercado que automatizam a gestão de processos de negócio, permitindo a execução, controle e monitoração.

    Estes sistemas permitem a modelagem do fluxo dos processos, o mapeamento dos processos de negócio de ponta-a-ponta, desenhando os fluxos, definindo o workflow, levantando as regras de negócio, monitoramento em tempo real das atividades, entre outros.

    As tecnologias usadas para mapeamento do processo, que são considerados facilitadores da gestão são: Workflow (automação dos processos), Business Process Modeling and Analysis (entendimento detalhado do processo e o impacto da mudança do processo), Enterprise Application Integration (troca de informações entre sistemas) e Business Activity (monitoramento dos processos).

    O BPMS, para ser considerado ferramenta de análise de gestão deve possuir as seguintes funcionalidades:

     * Modelagem e desenho do processo

    * Execução do processo

    * Orquestração de web services

    * Interface de worflow para usuários

  • O BPMN define quatro categorias básicas dos elementos. São elas:

     

    * Objetos de Fluxo

    * Objetos de Conexão

    * Swinlanes

    * Artefatos

  • Quatro categorias básicas de elementos: Objetos de Fluxo: Eventos; Atividades; Getways. Objetos de Conexão: Fluxo de sequência; Fluxo de mensagem; Associação. Swimlanes: Pools; Lanes. Artefatos: Objeto de dados; Grupo; Anotação.
  • Pessoal, O 'S' de BPMS significa SUITE e não SYSTEM. O 'System' acabou entrando goela abaixo devido ao contínuo uso INCORRETO. O que acontece é que dentro da 'Suíte' tem um 'Sistema'. Muitas questões de concursos aparecem com o termo incorreto e muita gente acha que é a mesma coisa, mas não é.
    http://en.wikipedia.org/wiki/Business_process_management#BPM_Suites_on_market
  •  c)Objetos de Fluxo, Objetos de Conexão, Swimlanes e Artefatos.

    Objetos de Fluxo - evento, atividade, gateway (losango decisao)

    Objetos de Conexão - fluxo de sequencia, condicional, padrão & mensagem

    Swimlanes - pool - participante, lane - atividades/funçoes in pools

    Artefatos - informação. sao: grupo (conjunto de objetos); anotação.