Baixe o app para aproveitar ainda mais
Prévia do material em texto
Livro Eletrônico Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital Diego Carvalho CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 1 de 213 SUMÁRIO PÁGINA - Apresentação 01 - Lista de Exercícios Comentados 134 - Gabarito 213 Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 2 de 213 EXERCÍCIOS CESGRANRIO UNIFIED MODELING LANGUAGE 1. (CESGRANRIO - 2010 – PETROBRÁS - Analista de Sistemas – B) Em relação aos diagramas utilizados na UML 2.0, a) o diagrama de estrutura composta serve para ilustrar a arquitetura de um sistema, mostrando o agrupamento de suas classes. b) o diagrama de pacotes enfatiza a apresentação das classes do ambiente modelado, de acordo com um conjunto de eventos. c) o diagrama de implantação é usado para sistemas distribuídos e permite apresentar a topologia de uma rede de máquinas e qual processo cada máquina vai rodar. d) o diagrama de colaboração tem o objetivo de mostrar como as mensagens entre os objetos são trocadas no decorrer do tempo para a realização de uma operação. e) o diagrama de sequência mostra o contexto de uma interação, inclusive os objetos e seus relacionamentos pertinentes a uma interação particular. Comentários: (a) Errado. Na verdade, essa é a função do Diagrama de Pacotes; (b) Errado. Na verdade, essa é a função do Diagrama de Estrutura Composta; (c) Correto. O Diagrama de Implantação é usado em sistemas distribuídos? Sim, é usado nesse contexto mesmo. Ele permite apresentar a topologia de uma rede de máquinas e qual processo cada máquina vai rodar? Sim, ele serve exatamente para isso; (d) Errado. Na verdade, essa é a função do Diagrama de Sequência; (e) Errado. Na verdade, essa é a função do Diagrama de Colaboração (Comunicação). Gabarito: C 2. (CESGRANRIO – 2014 – EPE – Analista de Gestão Corporativa - Tecnologia de Informação) Caso os desenvolvedores decidam usar a notação UML, qual Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 3 de 213 diagrama é adequado para representar esse ciclo de vida, incluindo os estados e a passagem de um estado para outro? a) b) c) d) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 4 de 213 e) Comentários: A questão pede “incluindo os estados e a passagem de um estado para outro”, logo o único diagrama que trata disso é o Diagrama de (Máquina de) Estados. Gabarito: D 3. (CESGRANRIO – 2014 – EPE – Analista de Gestão Corporativa - Tecnologia de Informação) Qual a forma correta de descrever a associação entre um objeto “Venda” e um objeto “Item de Venda”, em um diagrama de classes UML, para manter a semântica existente no relacionamento entre as entidades de mesmo nome no diagrama de entidades e relacionamentos do SCL? a) b) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 5 de 213 c) d) e) Comentários: A associação entre Venda e Item de Venda é um Composição, em que a Entidade Todo é a Venda e a entidade Parte é Item de Venda, pois um item de venda não existe sem uma venda. Logo, Diamante Cheio do lado de Venda. Gabarito: A Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 6 de 213 4. (CESGRANRIO – 2014 – EPE – Analista de Gestão Corporativa - Tecnologia de Informação) Uma equipe de desenvolvimento de software escolheu utilizar a análise orientada a objeto, seguindo a notação UML, para desenvolver um projeto razoavelmente complexo. Em certo ponto do projeto, ficou clara a necessidade de representar quais elementos externos interagem com que funcionalidades do sistema, em um nível alto de abstração. Qual o diagrama destinado para representar essas interações? a) Diagrama de Casos de Uso b) Diagrama de Colaboração c) Diagrama de Fluxo de Dados d) Diagrama de Interface com o Usuário e) Diagrama de Sequência Comentários: O diagrama de casos de uso corresponde a uma visão externa do sistema e representa graficamente os atores, os casos de uso, e os relacionamentos entre estes elementos. Ele tem como objetivo ilustrar em um nível alto de abstração quais elementos externos interagem com que funcionalidades do sistema, ou seja, a finalidade de um diagrama de caso de uso é apresentar um tipo de diagrama de contexto que apresenta os elementos externos de um sistema e as maneiras segundo as quais eles as utilizam. Gabarito: A 5. (CESGRANRIO – 2014 – FINEP – Analista – Desenvolvimento de Sistemas) Um fragmento combinado é um elemento da UML frequentemente empregado na construção de diagramas de sequência. Dentre os diferentes tipos de operadores de fragmentos combinados encontra-se: a) if b) while c) case d) for e) par Comentários: Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 7 de 213 Nos diagramas de seqüência, fragmentos combinados são agrupamentos lógicos representados por um retângulo, que contém as estruturas condicionais que afetam o fluxo de mensagens. Um fragmento combinado contém operandos de interação e é definido pelo operador de interação. O operador Par define que o fragmento representa uma execução paralela de dois ou mais comportamentos. Vamos relembrar os operadores: Gabarito: E 6. (CESGRANRIO – 2014 – FINEP – Analista – Desenvolvimento de Sistemas) O sistema de informação responsável pelo registro civil de um estado brasileiro possui uma função para registrar as informações necessárias sobre um cidadão que precisa obter uma carteira de identidade. Através dessa função, são registrados no sistema informações tais como: o nome, a data de nascimento, os nomes dos pais e o local de nascimento desse cidadão. No ato do cadastramentodescrito acima, o funcionário que opera o sistema pergunta ao cidadão se ele deseja registrar que ele é doador de órgãos para transplante. Caso a resposta seja afirmativa, o funcionário seleciona essa opção no formulário de registro, o que fará com que o sistema abra um formulário para que o funcionário registre informações fornecidas pelo cidadão, tais como: tipo sanguíneo, doenças preexistentes, etc. Baseado apenas no que foi descrito acima, qual diagrama de casos de uso descreve adequadamente as funcionalidades disponibilizadas pelo sistema de informação em questão? a) Alt – Alternativas Break – Quebra Ignore – Ignorar Opt – Opção Critical - Região Crítica Consider – Considerar Par – Paralelo Ne - Negativo Seq – Seqüência Fraca Loop – Laço Assertion – Afirmação Strict – Seqüência Estrita Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 8 de 213 b) c) d) e) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 9 de 213 Comentários: Vejamos as diferenças entre a Inclusão, Extensão e Generalização: - Inclusão: Quando o caso de uso A “inclui” o caso de uso B, significa que sempre que o caso de uso A for executado, o caso de uso B também será executado. A direção do relacionamento é do caso de uso que está incluindo para o caso de uso incluído. - Extensão: Quando o caso de uso B estende o caso de uso A, significa que quando o caso de uso A for executado, o caso de uso B poderá (poderá – talvez não seja) ser executado também. A direção do relacionamento é do caso de uso extensor (aqui o caso de uso B) para o caso de uso estendido (caso de uso A). - Generalização: Quando o caso de uso B generaliza o caso de uso C isso significa que, além de fazer tudo que nele está especificado (ele = B), ele também executará tudo que está especificado no caso de uso C. A direção do relacionamento é sempre do generalizador (aqui o caso de uso B) para o generalizado (caso de uso C). No caso da questão, observe que o funcionário registra o cidadão, mas não necessariamente o registra como doador. Logo, trata-se de uma extensão! Gabarito: A 7. (CESGRANRIO – 2014 – IBGE – Analista – Análise e Desenvolvimento de Aplicações) Em Análise de Sistemas, a UML é uma: a) metodologia que determina como deve ser realizada a análise de requisitos de sistemas complexos. Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 10 de 213 b) metodologia de desenvolvimento de sistemas que inclui desde a análise de requisitos até a especificação de testes do sistema com modelos orientados a objetos. c) notação para o projeto físico de sistemas que usam linguagens orientadas a objetos como o Java e o C++. d) linguagem de modelagem que usa os conceitos de orientação a objetos para permitir a especificação de sistemas em diversos níveis de abstração. e) notação para facilitar representação visual de padrões de projeto e desenvolvimento da estrutura lógica de programas em plataformas de objetos distribuídas. Comentários: UML é sigla para Unified Modeling Language, ou seja, é uma linguagem de modelagem que utiliza conceitos de orientação a objetos para permitir a especificação de sistemas em diversos níveis de abstração. Gabarito: D 8. (CESGRANRIO – 2014 – LIQUIGÁS – Profissional Júnior – Análise de Sistemas) Devido à complexidade de um sistema de informação, o líder de projeto solicitou a um analista de sistemas a criação de diagramas que ilustrem os passos que compõem os casos de uso desse sistema, incluindo a sequência principal e todas as sequências alternativas. Para atender a essa solicitação, o analista deve criar diagramas de: a) classes b) atividades c) componentes d) objetos e) estados Comentários: Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 11 de 213 O Diagrama de Atividades tem como objetivo principal a especificação do comportamento do software, do ponto de vista funcional, ou seja, das suas funcionalidades. Gabarito: B 9. (CESGRANRIO – 2014 – LIQUIGÁS – Profissional Júnior – Análise de Sistemas) Em um modelo de casos de uso, o tipo de relação a ser estabelecido entre um ator e um caso de uso é o de: a) associação b) composição c) dependência d) extensão e) generalização Comentários: Entre Ator e Casos de Uso só há Associação. Gabarito: A 10. (CESGRANRIO – 2014 – LIQUIGÁS – Profissional Júnior – Análise de Sistemas) Seja o seguinte diagrama UML 2: Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 12 de 213 Que tipo de diagrama é esse? a) Diagrama de objetos b) Diagrama de tempo c) Diagrama de estados d) Diagrama de comunicação e) Diagrama de colaboração Comentários: O Diagrama de comunicação expõe o livre posicionamento dos participantes, o vínculo entre os participantes, uma numeração para mostrar a sequência de mensagens. No UML 1.x, era chamado de Diagrama de Colaboração. Gabarito: D 11. (CESGRANRIO – 2013 – LIQUIGÁS – Profissional Júnior – Análise de Sistemas) No diagrama de sequência UML a seguir, existem 5 mensagens, numeradas de 1 a 5. Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 13 de 213 Qual delas representa uma mensagem assíncrona? a) 1 b) 2 c) 3 d) 4 e) 5 Comentários: Pessoal, só relembrando: : Mensagem Sincrona : Mensagem Assíncrona Gabarito: D 12. (CESGRANRIO – 2013 – LIQUIGÁS – Profissional Júnior – Análise de Sistemas) A Figura a seguir representa uma classe UML: Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 14 de 213 Quantas propriedades (features) estáticas essa classe possui?a) 0 b) 1 c) 2 d) 3 e) 4 Comentários: Vejamos a notação para atributos e métodos de classes em UML: - atributo ~ atributo # atributo + atributo atributo atributo Privado Pacote Protegido Público Abstrato (itálico) Estático (sublinhado) Logo, não temos nenhuma propriedade estática. Gabarito: A 13. (CESGRANRIO – 2013 – BNDES – Profissional Básico – Análise de Sistemas – Desenvolvimento) Considere, em um primeiro sentido, que “pedreiros trabalham em construção civil” e, em sentido contrário, que “a construção civil emprega pedreiros”. Na análise orientada a objetos com notação UML (Unified Modeling Language), o exemplo mencionado, de acordo com o modelo objeto, está relacionado a uma a) inversão de classes e instâncias em um mesmo método b) conexão de objetos das mesmas classes c) relação entre atividade e entidade Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 15 de 213 d) reciprocidade de informação e) independência funcional Comentários: Questão bem confusa e de difícil interpretação, mas podemos pensar que são duas formas de ver a relação entre pedreiros e a construção civil, de tal forma que a construção é uma composição de pedreiros, pois sem eles não há construção, logo representa a conexão dos objetos da classe pedreiro com os objetos da classe contrução civil. Sério, que questão horrível! Gabarito: B 14. (CESGRANRIO – 2012 – EPE – Analista de Gestão Corporativa – Tecnologia da Informação) Considere o diagrama de estados a seguir, apresentado na notação da UML. Esse diagrama representa uma máquina de lavar roupas, que possui dois botões, On e Off, para ligar e desligar a máquina, respectivamente. Nesse diagrama, há uma variável n, cujo valor é alterado em determinadas situações. Considere que o sistema se encontra no estado inicial e que o botão “On” é pressionado duas vezes consecutivas. Em seguida, o botão “Off” é pressionado por duas vezes também consecutivas e, finalmente, o botão “On” é novamente pressionado uma única vez. Qual o valor da variável n após essa sequência de eventos? a) 0 b) 1 c) 2 d) 3 e) 4 Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 16 de 213 Comentários: Vamos analisar cada execução passo-a-passo: I. A variável n inicia com valor 0; II. Ao pressionar ON, o valor passa a: n = 1 (Exit) -> n = n + 1 (ON), logo n = 2, mas ao retornar ao estado Ligado, o valor de N é “setado” para 0, logo n= 0; III. Ao pressionar ON, novamente, repete-se o passo II, logo n = 0; IV. Ao pressionar OFF, há transição para o estado desligado, então: n = 1 (Exit) -> n = 2 (OFF), n = 0 (Entra no estado desligado); V. Ao pressionar OFF novamente: n = 2 (OFF) -> n = 0 (Entrada no estado desligado); VI. Ao pressionar ON: n = 2 (Saída do estado desligado) -> n = 1 (ON) -> n= 0 (Entrada no estado ligado) Logo, n = 0 ao final das execuções. Gabarito: A 15. (CESGRANRIO – 2012 – CHESF – Profissional de Nível Superior) Um robô foi construído para andar em um grid cujas posições são indicadas por pares ordenados (x,y), onde x e y são números inteiros. Esse robô recebe como comando uma string binária e funciona segundo a máquina de estado a seguir, descrita em UML 2.3. Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 17 de 213 Iniciando na posição (0,0), o robô recebeu a string binária 111011110100010100. Em que posição o robô parou? a) (0,2) b) (0,4) c) (2,0) d) (2,2) e) (4,0) Comentários: Questão bem simples, vamos fazer passo a passo: Início P 1 -> V 1 -> VP 1 -> (0,0) (0,0) (0,0) (0,1) VP 0 -> PS 1 -> P 1 -> V 1 -> (0,2) (0,2) (0,2) (0,2) VP 1 -> VP 0 -> PS 1 -> P 0 -> (0,3) (0,4) (0,4) (0,4) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 18 de 213 H 0 -> HM 0 -> PS 1 -> P 0 -> (0,4) (-1,4) (-1,4) (-1,4) H 1 -> HP 0 -> PS 0 -> Fim (-1,4) (0,4) (0,4) (0,4) Gabarito: B 16. (CESGRANRIO – 2012 – Petrobras - Analista de Sistemas Júnior - Engenharia de Software) Seja o seguinte diagrama de classes UML: Qual conjunto de classes e interfaces Java é compatível com os elementos de modelagem existentes nesse diagrama? a) package PKGB; public interface X3 { public abstract int opA(); public abstract double opB(int z); } package PKGA; import PKGB.X3; public class A implements X3 { int a1; double a2; private C[] c; public void ma01(int x) { // código irrelevante } public int opA() { Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 19 de 213 // código irrelevante } } package PKGA; public class B extends A { int b1; String b2; public void ma01(int x) { // código irrelevante } public double opB(int y) { // código irrelevante } public int opA() { // código irrelevante } } package PKGA; public class C { private int c1; private String c2; public double mc01(double a, double b) { // código irrelevante } public String mc02(String str, int ini, int param4) { // código irrelevante } } b) package PKGB; public interface X3 { public abstract int opA(); public abstract double opB(int z); } package PKGA; import java.util.*; public class A { int a1; double a2; Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 20 de 213 private List<C> lc; public void ma01(int x) { // código irrelevante } public int opA() { // código irrelevante } } package PKGA; importPKGB.X3; public class B extends A implements X3 { int b1; String b2; public void ma01(int x) { // código irrelevante } public double opB(int y) { // código irrelevante } public int opA() { // código irrelevante } } package PKGA; import java.util.*; public class C { private int c1; private String c2; private List<A> la; public double mc01(double a, double b) { // código irrelevante } public String mc02(String str, int ini, int param4) { // código irrelevante } } c) package PKGB; Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 21 de 213 public interface X3 { public abstract int opA(); public abstract double opB(int z); } package PKGA; import java.util.*; public class A { private int a1; private double a2; private List<C> lc; public void ma01(int x) { // código irrelevante } public int opA() { // código irrelevante } } package PKGA; import PKGB.X3; public class B extends A implements X3 { private int b1; private String b2; public void ma01(int x) { // código irrelevante } public double opB(int y) { // código irrelevante } public int opA() { // código irrelevante } } package PKGA; public class C { private int c1; private String c2; public double mc01(double a, double b) { // código irrelevante } public String mc02(String str, int ini, int param4) { Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 22 de 213 // código irrelevante } } d) package PKGB; public interface X3 { public abstract int opA(); public abstract double opB(int z); } package PKGA; public class A { int a1; double a2; private C[] c; public void ma01(int x) { // código irrelevante } public int opA() { // código irrelevante } } package PKGA; import PKGB.X3; public class B extends A implements X3 { int b1; String b2; public void ma01(int x) { // código irrelevante } public double opB(int y) { // código irrelevante } public int opA() { // código irrelevante } } package PKGA; public class C { private int c1; Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 23 de 213 private String c2; public double mc01(double a, double b) { // código irrelevante } public String mc02(String str, int ini, int param4) { // código irrelevante } } e) package PKGB; public interface X3 { public abstract int opA(); public abstract double opB(int z); } package PKGA; import java.util.*; public class A { int a1; double a2; List<C> lc; public void ma01(int x) { // código irrelevante } public int opA() { // código irrelevante } } package PKGA; import PKGB.X3; public class B implements A extends X3 { int b1; String b2; public void ma01(int x) { // código irrelevante } public double opB(int y) { // código irrelevante } public int opA() { Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 24 de 213 // código irrelevante } } package PKGA; public class C { private int c1; private String c2; public double mc01(double a, double b) { // código irrelevante } public String mc02(String str, int ini, int param4) { // código irrelevante } } Comentários: Primeiramente devemos entender os relacionamentos existentes: A tem referência para um array objetos da Classe C, privados. B é Especialização da Classe A e implementa a interface K3 do PKGB. Agora vamos analisar cada opção. (a) Errada. Não é A que implementa a interface K3 e sim B; (b) Errada. C está com referência para um array de Objetos que extendem a Classe A; (c) Errada. OS atributos a1 e a2 não são privado e sim default; (d) Correta; (e) Errada. A classe B extende a classe A e implementa a interface K3, além disso o Array de C deve ser privado. Gabarito: D 17. (CESGRANRIO – 2012 – BNDES – Petrobras - Analista de Sistemas Júnior - Engenharia de Software) Um restaurante contratou uma equipe para desenvolver um sistema de informação que auxilie nas tarefas diárias do negócio. Após um levantamento inicial, a equipe listou os seguintes requisitos: ▪ O caixa será responsável por encerrar uma conta e registrar o pagamento da mesma; ▪ Caso o pagamento seja feito com cheque, será necessário que o sistema do restaurante se comunique com o sistema de consulta de cheques do Serviço de Proteção ao Lojista para obter informações sobre o cliente; Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 25 de 213 ▪ Caso o pagamento seja feito com cartão de crédito, será necessário que o sistema do restaurante se comunique com o sistema da administradora do cartão para obter autorização; ▪ Apenas o gerente terá acesso à função de estorno do valor pago. Caso a despesa tenha sido paga com cartão, seránecessário se comunicar com o sistema da administradora; ▪ Tanto o sistema da administradora de cartões como o de consulta de cheques serão acessados via web service; ▪ O gerente também poderá encerrar uma conta. Qual diagrama de caso de uso descreve adequadamente os requisitos acima? a) b) c) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 26 de 213 d) e) Comentários: Devemos entender o que os requisitos querem nos dizer. Se tanto o gerente quanto o caixa terão as mesmas funções básicas, com o gerente tendo funções exclusivas, então gerente é generalização de caixa, logo as alternativas A e B são eliminadas. Em seguida devemos perceber que há dois atores externos, o Sistema de Consulta de Cheques e o Sistema de Administradora de Cartões, logo eliminamos a alternativa E que não contempla esses atores. O conceito de web service está ligado Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 27 de 213 a aspectos de implementação e não tem representação em UML, logo a Letra D está eliminada também. Por fim, nos resta a opção correta letra C. Gabarito: C 18. (CESGRANRIO – 2016 – IBGE – Supervisor de Pesquisas – Tecnologia de Informação e Comunicação) A Figura a seguir exibe um diagrama E-R. Qual diagrama de classes conceituais UML é semanticamente equivalente ao diagrama acima? a) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 28 de 213 b) c) d) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 29 de 213 e) Comentários: Primeiro vamos representar cada uma das entidades A, B e C bem como dos relacionamentos R, S e T. Para isso, temos que representar os atributos de cada um deles. Notem que A-C possuem um relacionamento N:N e, nesse caso, devemos ter uma Entidade Associativa (S). Notem que B-B também possuem um relacionamento N:N, mas esse relacionamento possui um atributo t1. Logo, temos uma Associação Qualificada T da Entidade B que representa uma associação que se distingue das demais e cujo atributo só faz sentido com a existência da associação. Agora temos que representar as associações entre as entidades: Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 30 de 213 Gabarito: E 19. (CESGRANRIO – 2016 – IBGE – Supervisor de Pesquisas – Tecnologia de Informação e Comunicação) Qual diagrama UML contém uma associação ternária ou uma associação equivalente a uma ternária? a) b) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 31 de 213 c) d) e) Comentários: Para que aconteça uma relação ternária, mais de duas entidades devem estar relacionadas. Numa representação R2, isso é representado por um losango com três entidades participantes. A equivalência em UML está melhor representada pela Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 32 de 213 primeira opção, pois as entidades A e B tem um relacionamento R1 que por sua vez se relaciona com C através de uma relacionamento R2. A dúvida que poderia aparecer seria quanto a última opção, contudo repare que embora exista o relacionamento V1 materializado, este não tem nenhuma ligação com o relacionamento V2. Gabarito: A 20. (CESGRANRIO – 2016 – UNIRIO – Técnico em Tecnologia de Informação) Qual notação gráfica é usada em diagramas de sequência UML para representar uma mensagem cuja origem é conhecida, mas cujo destino se encontra fora do escopo das interações descritas por esses diagramas? a) b) c) d) e) Comentários: (a) Mensagem enviada de um destinatário desconhecido; (b) Mensagem enviada para um destinatário desconhecido; (c) Mensagem Sincrona; (d) Mensagem assíncrona; (e) Mensagem de Resposta. Gabarito: B 21. (CESGRANRIO – 2016 – UNIRIO – Técnico em Tecnologia de Informação) No modelo de caso de uso da UML, o único tipo de relação permitido entre atores é: a) associação b) dependência c) extend d) include e) generalização Comentários: Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 33 de 213 O único tipo de relacionamento entre atores em UML é a generalização. Desta forma, os casos de uso de B são também casos de uso de A e A tem seus próprios casos de uso. Gabarito: E 22. (CESGRANRIO – 2016 – UNIRIO – Técnico em Tecnologia de Informação) A Figura a seguir exibe um diagrama de classes UML. O retângulo onde se lê a letra X, adjacente à classe A, indica que a associação entre A e B é: a) navegável de A para B b) navegável de B para A c) derivada d) qualificada e) uma agregação Comentários: Trata-se de uma associação qualificada em UML. Um qualificador é um atributo ou um conjunto de atributos cujos valores servem para partir o conjunto de instâncias associadas ao longo de uma associação. Os qualificadores são atributos da associação. Ele é representado graficamente por um retângulo na extremidade da associação. Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.brPág. 34 de 213 O retângulo qualificador faz parte da associação e não dos qualificadores que contém. O qualificador é posicionado no extremo da classe de origem. Uma instância da classe de origem, junto de um valor do qualificador, permite selecionar univocamente um subconjunto das instâncias da classe de destino, isto é, da classe do outro extremo da associação. A multiplicidade afeta o destino da cardinalidade das instâncias da classe de destino, com base no par de informações: instância de origem e valor do qualificador. Os valores comuns são: 0..1: um único valor pode ser selecionado ou, eventualmente, nenhum; 1: um único valor tem de ser selecionado; *: o valor do qualificador é um índice que agrega as instâncias de destino em diferentes subconjuntos. Gabarito: D 23. (CESGRANRIO – 2016 – UNIRIO – Técnico em Tecnologia de Informação) Qual diagrama UML contém uma composição? a) b) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 35 de 213 c) d) e) Comentários: (a) Herança\Generalização; (b) Dependência; (c) Assocaição; (d) Composição. O todo contém as partes (e não referências para as partes). Quando o todo desaparece, todas as partes também desaparecem; (e) Agregação é uma associação em que um objeto é parte de outro, de tal forma que a parte pode existir sem o todo. Lembrem-se: Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 36 de 213 Gabarito: D 24. (CESGRANRIO – 2016 – UNIRIO – Técnico em Tecnologia de Informação) Uma empresa que possui um site de vendas de produtos na Web desenvolveu um sistema de informação para registrar suas vendas e controlar a entrega das mesmas. Os seguintes dados são manipulados por esse sistema: ▪ Cliente – todos os clientes precisam estar cadastrados no sistema para que possam realizar compras. Sobre um cliente precisa-se conhecer o login, a senha de login, o nome e o número do CPF. ▪ Produtos – todos os produtos precisam estar cadastrados no sistema para que possam ser comprados pelos clientes. Sobre um produto precisa-se registrar o código de identificação, uma descrição, o preço de venda e a quantidade disponível para compra. ▪ Transportadoras – todas as transportadoras precisam estar cadastradas no sistema para que possam ser escolhidas para entregar as compras dos clientes. Sobre uma transportadora precisa-se registrar o código de identificação, o nome e o número do CNPJ. ▪ sistema deve registrar a quantidade de cada produto que faz parte de uma compra, a data da compra e o endereço de entrega da mesma. Além disso, ele deve registrar a transportadora escolhida pelo cliente para realizar a entrega. Qual diagrama de classes conceituais UML descreve corretamente o negócio descrito acima, sem apresentar incompletudes e redundâncias? a) IMPORTANTE Observem que o Relacionamento de Composição é representado por uma linha sólida com um diamante cheio na classe compositora. Pessoal, quando eu aprendi isso, decorei assim: Diamante Cheio = Composição. Portanto, Diamante Vazio = Agregação. Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 37 de 213 b) c) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 38 de 213 d) e) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 39 de 213 Comentários: Primeiro, notem que toda vez que a questão diz que algo precisa estar cadastrado no sistema, nós podemos considerar que se trata de uma entidade que precisa ser persistida, logo seriam classes. Qual o erro da Letra B? Transportadora não se relaciona com o produto, mas com a compra; Qual o erro da Letra C? Ele considera Transportadora como um atributo da compra e, não, uma entidade; Qual o erro da Letra D? A questão diz que o sistema deve registrar a quantidade de cada produto que faz parte de uma compra, ou seja, a quantidade é um atributo do relacionamento PRODUTO-COMPRA e, não, PRODUTO-COMPRA-CLIENTE, portanto tem que estar em uma entidade associativa; Qual o erro da Letra E? A questão diz que o sistema deve registrar a quantidade de cada produto que faz parte de uma compra, ou seja, a quantidade é um atributo do relacionamento PRODUTO-COMPRA e, não, PRODUTO-COMPRA-CLIENTE, portanto tem que estar em uma entidade associativa. Galera, eu honestamente não gosto dessa questão. A maneira que é descrita a parte final é desleixada e deixa ambígua a modelagem. Gabarito: A 25. (CESGRANRIO – 2014 – CEFET-RJ – Técnico em Tecnologia de Informação) Uma faculdade decidiu alterar seu sistema acadêmico, atualmente escrito em Delphi, Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 40 de 213 para aceitar uma interface Web. Para isso, decidiu adotar as tecnologias Ajax e PHP. A primeira parte do trabalho será alterar o subsistema de avaliação, chamado de NOTAS. O modelo de dados atual desse subsistema é bastante simples, e é descrito pelo modelo diagrama a seguir, que usa a notação IDEF1X. Qual modelo de classes UML apresenta associações entre as classes que representam relacionamentos equivalentes àqueles existentes entre as entidades do mesmo nome no DER do sistema Notas? a) b) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 41 de 213 c) d) e) Comentários: Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.brPág. 42 de 213 Vejamos a definição de uma composição: - A Composição é uma agregação mais forte; nela, a existência da Parte NÃO faz sentido se o Todo não existir. - O losango preenchido fica posicionado do lado do Todo. Voltando à questão, vamos pensar: Aluno, Turma e Prova TÊM nota, logo o TODO é Aluno, Turma e Prova e a PARTE é nota. (1) Faz sentido a entidade Nota continuar existindo sem que a entidade Turma exista? Não! Galera Nota não existe sem Aluno, Turma e Prova – logo isso é uma Composição. Portanto a representação é uma linha sólida com um diamante cheio do lado do todo... Letra A. Gabarito: A 26. (CESGRANRIO – 2014 – CEFET-RJ – Técnico em Tecnologia de Informação) Uma universidade decidiu alterar seu sistema acadêmico, atualmente escrito em Delphi, para aceitar uma interface Web. Para isso, decidiu adotar as tecnologias Ajax e PHP. A primeira parte do trabalho será alterar o subsistema de avaliação, chamado de NOTAS. O modelo de dados atual desse subsistema é bastante simples, e é descrito pelo modelo diagrama a seguir, que usa a notação da Engenharia da Informação. Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 43 de 213 Para reconstruir a representação em DER dos dados do subsistema NOTAS de acordo com um Diagrama de Classes de UML, como deve ser representada a associação entre uma classe Nota e uma classe Turma, de forma a manter significado equivalente ao do relacionamento entre as entidades de mesmo nome? a) b) c) d) e) Comentários: O relacionamento entre Nota e Turma é 1:N - uma turma tem zero ou várias notas, mas uma nota é de necessariamente uma turma. Essa modelagem é meio esquisita, mas representa que a nota que compõe a turma e não o contrário. Logo, losango preenchido do lado da Turma. Gabarito: B 27. (CESGRANRIO – 2014 – CEFET-RJ – Técnico em Tecnologia de Informação) Qual diagrama de estados UML não possui erros sintáticos nem erros semânticos? a) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 44 de 213 b) c) d) e) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 45 de 213 Comentários: (b) Não pode haver dois nós de início (distintos); (c) Não há definido evento, guarda ou ação de transição do estado ST1 para o ST2 nem do ST1 para o ST3; (d) Não pode haver condição de guarda (booleana) do nó de início para o estado inicial; (e) Não pode haver transição do nó de final para um estado intermediário. Gabarito: A 28. (CESGRANRIO – 2014 – Banco da Amazônia – Técnico em Tecnologia de Informação) Considere as seguintes regras, que devem ser observadas por um sistema de informação: 1. Um carnê possui muitos boletos de pagamento. 2. Cada boleto pode ter sido pago ou não. Caso ele tenha sido pago, é necessário que se conheça o banco em que o pagamento foi realizado. 3. Um boleto é parte integrante de apenas um carnê, que, por sua vez, é composto por ao menos um boleto. 4. Caso um carnê seja excluído do sistema, todos os boletos que o compõem também deverão ser excluídos. Qual diagrama de classes UML representa adequadamente as regras descritas acima? a) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 46 de 213 b) c) d) e) Comentários: Galera, observando a quarta informação, temos que – caso um carnê seja excluído do sistema – todos os boletos que o compõem também deverão ser excluídos. Dessa forma, sabemos que o relacionamento entre Boleto e Carnê é uma Composição, i.e., um boleto não existe sem um carnê ou a parte não existe sem o todo. O único item que representa corretamente a composição é o Item C. Gabarito: C 29. (CESGRANRIO – 2014 – Banco da Amazônia – Técnico em Tecnologia de Informação) Seja o seguinte diagrama de sequência UML: Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 47 de 213 Qual mensagem é do tipo lost message? a) 1 b) 2 c) 3 d) 4 e) 5 Comentários: A mensagem vinda de TA não chega a TB, logo se trata de uma Lost Message. Gabarito: B 30. (CESGRANRIO – 2016 – UNIRIO – Técnico em Tecnologia de Informação) Qual diagrama UML contém uma composição? a) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 48 de 213 b) c) d) e) Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 49 de 213 Comentários: (a) Herança\Generalização; (b) Dependência; (c) Associação; (d) Composição. Lembrem-se do Diamante Cheio = Composição; (e) Agregação. Gabarito: D 31. (CESGRANRIO – 2012 – EPE – Analista de Gestão Corporativa – Tecnologia da Informação) Considere um sistema de software que foi modelado com o seguinte diagrama de casos de uso: Ator 2 pode participar em interações com esse sistema que envolvam comportamentos do(s) caso(s) de uso: a) W, apenas. b) W e X, apenas. c) V e W, apenas. d) U, W, X, Y e Z, apenas. e) U, V, W, X, Y e Z. Comentários: Por se tratar de uma Herença entre o Ator 1 (Pai) e o Ator 2 (Filho), todos os casos de uso com os quais o Ator 1 participar, o Ator 2 (Filho) também participará. Assim, devemos definir quais interações o Ator 1 tem e somá-las às interações do Ator 2. Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 50 de 213 O Ator 1 tem interaçõescom o caso de uso X, que é uma generalização de Y e Z, logo o Ator 1 tem interações com X, Y e Z. Além disso o caso de uso Z tem uma relação de inclusão com o caso de uso U, logo o Ator 1 também tem interação com este. Assim, o Ator 1 se tem interações com X, Y, Z e U. O Ator 2 além das interações do Ator 1, tem interações com o caso de uso W e sua extensão V (observe que a questão pergunta quais interações o Ator 2 pode se envolver). Logo, ele tem interações com X, Y, Z, U, W e V. Gabarito: E 32. (CESGRANRIO – 2014 – LIQUIGÁS – Profissional Júnior – Análise de Sistemas) Qual diagrama UML está em conformidade com os artefatos normalmente produzidos pela disciplina de análise e especificação de requisitos? a) Diagrama de classes contendo as classes de domínio e as classes do subsistema responsável pela persistência dos dados. b) Diagrama de sequência que ilustre as interações entre os componentes de um framework da camada de apresentação e os objetos controladores de casos de uso. c) Diagrama de estados que ilustre a visão externa do comportamento de um sistema. d) Diagrama de componentes que mostre como as classes de domínio estão distribuídas pelos componentes de um sistema. e) Diagrama de implantação que ilustre os nós da rede de computadores do cliente e a distribuição dos componentes por esses nós. Comentários: Pessoal, esta questão está bem ruim, mas vamos ver cada opção: (a) Fase de Projeto da solução; (b) Fase de Implementação da solução e codificação; (c) Fase inicial para entender os fluxos do sistema e seus estados; (d) Fase de Implementação da solução e codificação; (e) Fase Final antes da entrega. Gabarito: C Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 51 de 213 ACERTEI ERREI Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 52 de 213 EXERCÍCIOS ESAF UNIFIED MODELING LANGUAGE 1. (ESAF - 2008 – BACEN – Analista de Sistemas) A UML inclui diagramas de interação para ilustrar como os objetos interagem por meio de mensagens. Os diagramas de interação constituem uma generalização de dois tipos de diagramas especializados na UML: Diagrama de Seqüência e Diagrama de Comunicação. Assinale a sentença que se refere exclusivamente a um Diagrama de Comunicação. a) Cada mensagem entre objetos é representada com uma expressão de mensagem em linha sólida, com seta cheia, entres as linhas de vida verticais. b) A notação UML para chamadas assíncronas é uma mensagem com seta traçada. c) Os participantes da linha da vida devem representar um objeto, não uma coleção. d) A ordem das mensagens é ilustrada com números de seqüência. e) A barra de especificação de execução indica o foco de controle. Comentários: (a) Linha de Vida é exclusividade do Diagrama de Sequência; (b) Notação para chamadas assíncronas se referem exclusivamente ao Diagrama de Sequência; Linha de Vida novamente é exclusividade do Diagrama de Sequência; (d) Perfeito, a ordem das mensagens é ilustrada com números de sequência; (e) Barra de Especificação é exclusiva do Diagrama de Sequência. Gabarito: D 2. (ESAF - 2010 – SUSEP – Analista de Sistemas) O Diagrama de Estado mostra: a) os estados expressos que os objetos de uma dada classe podem assumir e as transformações entre pares de classes b) os estados admissíveis que os atributos de uma dada classe podem modificar e os pares de estados mais relevantes. Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 53 de 213 c) os estados de atualização que os objetos de qualquer classe podem assumir e as transições permitidas entre instâncias. d) os estados admissíveis que os objetos de uma dada classe podem assumir e as transições permitidas entre pares de estados. e) os estados coerentes com os objetos priorizados e as restrições de transições entre pares de estados. Comentários: Conforme vimos em aula, ele mostra os estados admissíveis que os objetos de uma dada classe podem assumir e as transições permitidas entre pares de estados. Gabarito: D 3. (ESAF - 2012 – CGU – Analista de Sistemas) Para indicar a visibilidade da propriedade, a UML: a) incorpora um prefixo a um nome de atributo ou nome de operação. b) incorpora um sufixo a um nome de atributo ou origem de operação. c) gera um nome de atributo e nome de transação totalmente distinto do anterior. d) duplica nome de atributo ou nome de operação. e) sublinha o nome de atributo ou nome de operação. Comentários: A UML incorpora um prefixo (+, -, ~, #) a um nome de atributo ou nome de operação (método). Gabarito: A 4. (ESAF - 2010 – MPOG – Analista de Sistemas) Na UML – Unified Modelling Language: Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 54 de 213 a) um atributo representa operações entre objetos. b) um atributo representa informações sobre um objeto. c) um atributo possui várias classes. d) não existem atributos não numéricos. e) atributos são classes abstratas. Comentários: Um atributo representa informações (dados) sobre um objeto – trata-se do estado de um objeto. Gabarito: B 5. (ESAF - 2012 – CGU – Analista de Sistemas) Uma associação em UML representa: a) uma população variada de relações (engagements) de redundâncias entre instâncias de classe. b) uma população variada de vínculos (links) de relacionamentos entre instâncias de classe. c) uma classificação de vínculos (links) de relacionamentos entre classes de atributos. d) uma população constante de valores (values) de relacionamentos quantitativos entre atributos de instâncias. e) uma estrutura de equivalências (equal features) entre relacionamentos de instâncias de posicionamento de classes. Comentários: Conforme vimos em aula, uma associação é um relacionamento estrutural entre objetos e especifica os objetos de uma classe que estão ligados a objetos de outra classe. Em outras palavras, uma população variada de vínculos (links) de relacionamentos entre instâncias de classes (objetos). Gabarito: B Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 55 de 213 6. (ESAF - 2012 – CGU – Analista de Sistemas) Quanto ao uso dediagramas na UML para a modelagem de objetos é correto afirmar que o Diagrama de Seqüência: a) descreve a funcionalidade do sistema percebida por atores externos. b) apresenta a interação de seqüência de tempo dos objetos que participam na interação. c) apresenta a interação de seqüência de atores que participam na interação. d) descreve a funcionalidade do sistema percebida por atores internos. e) apresenta a interação de seqüência estática de pacotes, relacionamentos e instâncias. Comentários: O Diagrama de Sequência é um diagrama de interação que captura o comportamento de um único cenário, mostrando vários exemplos de objetos e mensagens que são trocadas dentro de caso de uso. Ele modela a interação entre os objetos, permitindo a visualização da execução de um ponto específico da aplicação, com ênfase na ordem temporal. Conforme vimos em aula, ele apresenta a interação de sequência de tempo dos objetos que participam na interação. Gabarito: B ACERTEI ERREI Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 56 de 213 EXERCÍCIOS FCC UNIFIED MODELING LANGUAGE 1. (FCC - 2010 – DPE/SP – Análise de Sistemas) Na UML os diagramas servem para capturar diferentes visões do sistema. NÂO é um diagrama UML: a) Diagrama de Métodos. b) Diagrama de Classes. c) Diagrama de Objetos. d) Diagrama de Sequência. e) Diagrama de Estados. Comentários: Conforme vimos em aula, não existe Diagrama de Métodos. Gabarito: A 2. (FCC- 2012 – TRE/PI – Análise de Sistemas – IV) Um diagrama de objetos é um tipo especial de diagrama, composto por objetos e seus vínculos, que compartilha as mesmas propriedades comuns a todos os outros diagramas. Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 57 de 213 Comentários: Diagramas de Objetos podem ser vistos como especiais por serem uma instância do Diagrama de Classes ou por conterem valores específicos ao objeto em si. Ele, de fato, é composto de objetos e seus vínculos e compartilha as mesmas propriedades comuns a todos os outros diagramas. Professor, que propriedades? Grady Booch afirma: “Um diagrama de objetos é um tipo especial de diagrama e compartilha as mesmas propriedades comuns a todos os outros diagramas – ou seja, um nome e o conteúdo gráfico que formam uma projeção em um modelo. O que distingue um diagrama de objetos de todos os outros tipos de diagramas é o seu conteúdo particular”. Gabarito: C 3. (FCC – 2008 – TCE/AL - Análise de Sistemas) Um diagrama de objetos: a) tem a mesma função que um diagrama de atividades diferenciando deste apenas na representação gráfica. b) capta um conjunto de abstrações como um grupo de interesse e em tal contexto expõe sua semântica e seus relacionamentos com outras abstrações existentes nesse grupo da mesma forma que em um diagrama de classes. c) exibe um único conjunto de objetos relacionados uns com os outros em um determinado momento. d) mostra a seqüência de execução de atividades entre objetos relacionados, no tempo, e a duração de cada objeto por meio de linhas de vida. e) exibe diversos conjuntos de objetos relacionados uns com os outros em um determinado momento. Comentários: (a) Não, completamente errado! Um diagrama é estrutural com o objetivo de modelar o fluxo de atividades de um sistema e o outro é comportamental com o objetivo de modelar o relacionamento entre objetos de um sistema em um dado instante de execução; (b) Galera... já ouviram falar em gerador de lero-lero? Pois é, Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 58 de 213 nada nesse item faz sentido! (c) Perfeito, é exatamente isso! Por que ele diz um único conjunto de objetos? Porque são apenas aqueles objetos instanciados em um dado momento da modelagem; (d) Sequência de execução de atividades? No tempo? Linhas de vida? Trata-se de Diagrama de Sequência; (e) Na verdade, é apenas um conjunto de objetos relacionados em um determinado momento. Gabarito: C 4. (FCC- 2009 – MEC – Análise de Sistemas) A UML define em sua versão 2.0, treze tipos de diagramas. Acerca do Diagrama de Objetos da UML, assinale a alternativa correta: a) O Diagrama de Objetos mostra a configuração de nós de processamento em tempo de execução. b) O Diagrama de Objetos representa retratos estáticos de instâncias de itens encontrados em diagramas de classes. c) O Diagrama de Objetos representa uma visão dinâmica da interface entre objetos e funcionalidades do sistema. d) O Diagrama de Objetos tem por propósito focalizar um fluxo de atividades que ocorrem internamente em um processamento, dentro de um período de tempo. e) O Diagrama de Objetos descreve o comportamento de objetos como reação a eventos discretos, por meio de sequências de estados e ações que ocorrem durante sua vida. Comentários: Costuma-se dizer que o diagrama de objetos representa uma fotografia estática do sistema em um dado momento de execução, portanto esses diagramas não refletem o sistema genericamente, mas de forma específica – em um determinado instante. Como ele mostra instâncias, em vez de classes, ele é frequentemente chamado Diagrama de Instâncias. (a) Diagrama de Implantação; (b) Perfeito; (c) Diagrama de Estrutura Composta; (d) Diagrama de Tempo; (e) Diagrama de Máquina de Estados. Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 59 de 213 Gabarito: B 5. (FCC - 2011 - TCE-PR - Analista de Controle - Informática) Em UML 2.3, o Diagrama de Perfil é um diagrama pertencente à categoria Diagrama de: a) Estrutura estática, sendo usado para mostrar a estrutura de um sistema sob o nível mais baixo dos classificadores. b) Comportamento e mostra a estrutura interna de um classificador e o comportamento de uma colaboração. c) Comportamento, descrevendo a estrutura interna de uma classe e as colaborações que esta estrutura torna possível. d) Comportamento, sendo utilizado para descrever o hardware utilizado em implementações de sistemas e os ambientes de execução. e) Estruturas, que opera no nível metamodelo permitindo definir estereótipos personalizados, valores etiquetados e restrições. Comentários: Diagramas Estruturais: representam aspectos estáticos do sistema sob diversas visões diferentes. Em outras palavras, esses diagramas apresentam a estrutura do sistema inalterada há qualquer momento por não levarem em consideração o tempo em sua representação. São eles: Componente, Classes, Implantação, Perfil, Objetos, Estrutura Composta e Pacotes. O Diagrama de Perfilpermite representar esses novos elementos, operando no nível de metamodelos. Imaginem que eu quero utilizar a UML para representar uma rede de computadores. A UML tem símbolos para representar roteadores, switches, etc? Não! Para tal, podem-se utilizar estereótipos. Como? Ora, eu desenho um retângulo e escrevo nele a expressão <<roteador>> ou <<switch>>. Conforme vimos em aula, trata-se de um Diagrama Estrutural! Ademais, ele realmente opera no nível de metamodelo para definir estereótipos, etc. Gabarito: E Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 60 de 213 6. (FCC – 2014 – TRT/1 – Analista de Sistemas) Diagramas de casos de uso constituem-se em um tipo de diagrama definido na UML. Segundo a UML 2.4.1, em um diagrama de casos de uso, a) um ator pode ser representado apenas pelo símbolo do “stick man”. b) só pode haver representado um único ator. c) o número de atores e de casos de uso sempre deve ser o mesmo. d) só pode haver representado um único caso de uso. e) um ator pode ser representado pelo “stick man” ou por um retângulo com a expressão <<actor>>. Comentários: A UML oferece diversos estereótipos padronizados, podemos citar <<interface>>, <<extends>> e <<include>>. No entanto, vamos supor que haja um relacionamento Pessoa saca Dinheiro. Não há um estereótipo <<sacar>>, todavia ele pode ser criado e representado usando Diagramas de Perfil por meio da expressão <<estereótipo>>. Continuando: se eu não quiser representar um ator por meio de um stickman, eu posso utilizar um retângulo com o nome <<ator>> ou <<stickman>>. Conforme vimos em aula, um Diagrama de Casos de Uso pode ter diversos atores e diversos casos de uso, inclusive pode ter mais de um ator por caso de uso! E como representar um caso de uso? Ora, através de um stickman ou através de estereótipos, i.e., um retângulo com o nome <<actor>>. Gabarito: E 7. (FCC - 2013 – TRT/12 - Análise de Sistemas) A UML é utilizada para modelar sistemas orientados a objetos. Um de seus diagramas é usado como técnica para descrever lógica de procedimento, processo de negócio e fluxo de trabalho. Esse diagrama, de várias formas, desempenha um papel semelhante aos fluxogramas, mas a principal diferença entre esse diagrama e a notação de fluxograma é que o diagrama suporta comportamento paralelo. O diagrama citado é o de: Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 61 de 213 a) Máquina de Estados. b) Atividades c) Sequência. d) Distribuição e) Componentes. Comentários: O Diagrama de Atividades descreve lógica de procedimento, processo de negócio e fluxos de trabalho. De várias formas, eles desempenham um papel semelhante aos fluxogramas, mas se diferenciam, pois suportam comportamentos paralelos. Mas o que é uma atividade? É um comportamento parametrizado representado como um fluxo coordenado de ações. Conforme vimos em aula, trata-se claramente do Diagrama de Atividades. Gabarito: B 8. (FCC - 2014 – AL/PE - Análise de Sistemas) Visibilidade refere-se à capacidade de um método referenciar uma característica de outra classe. Num diagrama de classes da UML 2.0 a visibilidade é indicada com um prefixo representado pelos caracteres: I. # II. + III. ~ IV. - Os tipos de visibilidade definidos de I a IV são correta e respectivamente: a) private - public - protected - package b) public - private - package - protected c) private - package - public - protected d) protected - public - package - private e) package - protected - private - public Comentários: MODIFICADOR CLASSE SUBCLASSE PACOTE TODOS UML PÚBLICO + X X X X Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 62 de 213 PROTEGIDO # X X PACOTE ~ X X PRIVADO – X JAVA PÚBLICO + X X X X PROTEGIDO # X X X DEFAULT ~ X X PRIVADO - X Conforme vimos em aula, já é possível matar a questão pelo primeiro item – Protegido (#). Gabarito: D 9. (FCC - 2013 – TRT/12 - Análise de Sistemas) A especificação UML 2.5 define dois tipos principais de diagramas UML: structure diagrams e behavior diagrams. Behavior diagrams mostram o comportamento dinâmico dos objetos em um sistema, que pode ser descrito como uma série de mudanças no sistema no decorrer do tempo. São exemplos de Behavior diagrams os diagramas de a) Comunicação, Fluxo de Informação e Objeto. b) Comunicação, Deployment e Máquina de Estado. c) Temporização, Componente e Atividade. d) Sequência, Caso de Uso e Atividade. e) Classe, Atividade e Sequência. Comentários: Diagramas Comportamentais: representam aspectos dinâmicos do sistema como um conjunto de mudanças no tempo. Podemos dizer em outras palavras que esses diagramas apresentam como os processos do programa se relacionam com o passar do tempo. São eles: Máquina de Estados, Casos de Uso, Atividade, Sequência, Comunicação, Interação Geral e Tempo. Conforme vimos em aula, são Diagramas Comportamentais: Sequência, Casos de Uso e Atividade. Gabarito: D Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 63 de 213 10. (FCC - 2013 – AL/RN - Análise de Sistemas) Os diagramas UML podem ser divididos em dois grandes grupos, Diagramas Estruturais e Diagramas Comportamentais. Analise a lista de diagramas abaixo: I. Componentes. II. Comunicação. III. Implantação. IV. Caso de Uso. V. Classes. VI. Estados. São Diagramas Comportamentais APENAS os descritos em a) III, IV e V. b) I, IV e V. c) II, V e VI. d) I, II e V. e) II, IV e VI. Comentários: Diagramas Comportamentais: representam aspectos dinâmicos do sistema como um conjunto de mudanças no tempo. Podemos dizer em outras palavras que esses diagramas apresentam como os processos do programa se relacionam com o passar do tempo. São eles: Máquina de Estados, Casos de Uso, Atividade, Sequência, Comunicação, Interação Geral e Tempo. Conforme vimos em aula, são Diagramas Comportamentais: Comunicação, Caso de Uso e Estados. Gabarito: E 11. (FCC - 2012 – TRF/2 - Análise de Sistemas) Uma classe pode relacionar-se com outras de diferentes maneiras, utilizando notações gráficas, tais como: Diego Carvalho Aula 06 Engenharia de Software e Desenvolvimento de Sistemas p/ BRB (Analista TI) Com Videoaulas- Pós-Edital www.estrategiaconcursos.com.br 1177579 CARGO – ÓRGÃO/ANO Curso de Engenharia de Software e Desenvolvimento Prof. Diego Carvalho – Aula ?? Prof. Diego Carvalho www.estrategiaconcursos.com.br Pág. 64 de 213 I, II e III referem-se,
Compartilhar