14
2012 LhugoJr Versão 1.0 01/01/2012 Exercícios Comentados – UML e Casos de Uso

Exercícios Comentados – UML e Casos de Usoapi.ning.com/files/kxOsEzy6ZB07TqFbkESzTNXVsMSCkefz*Xixvr8VnJa… · Questões Comentadas – UML e Casos de USO (Versão 1.0) LhugoJr

  • Upload
    lyhanh

  • View
    246

  • Download
    0

Embed Size (px)

Citation preview

2012

LhugoJr

Versão 1.0

01/01/2012

Exercícios Comentados – UML e Casos de Uso

Questões Comentadas – UML e Casos de USO (Versão 1.0)

LhugoJr

1

Introduçao Vale ressaltar que alguns comentários sobre as questões foram retiradas das seguintes fontes:

TECNOLOGIA DA INFORMAÇÃO - QUESTÕES COMENTADAS CESPE/UNB - http://www.dominandoti.com.br/livros

Provas de TI – www.provasdeti.com.br

Também foram usadas outras fontes, como livros, comentários do site Questões de Concursos, etc.

Os comentários são sempre feitos colocando as fontes encontradas, algumas questões são mais difíceis de encontrar as fontes, podendo assim ser retiradas da internet, de sites como wikipedia e outros.

Espero que ajude.

Abraços.

Notas da Versao Essa é a versão 1.0, sendo a maioria das questões da banca CESPE, com o tempo espero acrescentar muito mais questões.

Caso encontre algum erro nesta versão pode mandar um e-mail para [email protected], colocando o número da questão e o erro encontrado.

Você também pode ajudar a melhorar os comentários, alguns comentários podem estar com o nível fraco, isso ocorre quando não são encontradas fontes que tratam sobre o tema da questão. Caso você encontre alguma fonte ou queira melhorar o comentário mande um e-mail.

Questões Comentadas – UML e Casos de USO (Versão 1.0)

LhugoJr

2

1 UML 1) (Correios/Analista de Correios/Desenvolvimento de Sistemas/2011) O diagrama de componentes deve

ser utilizado para representar a configuração e a arquitetura de um sistema no qual estarão ligados todos os software e hardware, bem como sua interação com outros elementos de suporte ao processamento.

Para iniciar vamos ver uma figura:

Somente olhando a figura podemos perceber que o diagrama de componentes é um diagrama estrutural, e não de interação, portanto a questão erra ao falar que esse diagrama representa a interação.

Também podemos dizer que ele errada na definição do diagrama de componentes.

Martin Fowler ainda fala em seu livro:

Use diagramas de componentes quando você estiver dividindo seu sistema em componentes e quiser mostrar seus relacionamentos por intermédio de interfaces ou a decomposição de componentes em uma estrutura de nível mais baixo. Os diagramas de instalação mostram o layout físico de um sistema, revelando quais partes do software são executadas em quais partes do hardware.

2) (Correios/Analista de Correios/Desenvolvimento de Sistemas/2011) O diagrama de classes define todas as classes de que o sistema necessita e é a base para a construção dos diagramas de sequência e comunicação.

O professor Marcio fez um bom comentário sobre essa questão:

O diagrama de classes é um diagrama estático que pode representar todas as classes de um sistema e quando se desenha um diagrama dinâmico como, por exemplo, o diagrama de sequência ou o de comunicação, os objetos representados nesses diagramas são instâncias das classes representadas no diagrama de classes. Cabe ressaltar que o diagrama de caso de uso também é muito importante para entender as interações que serão representadas no diagramas de sequência e de comunicação.

Questão correta.

3) (Correios/Analista de Correios/Desenvolvimento de Sistemas/2011) Um relacionamento include de um caso de uso A para um caso de uso B indica que B é essencial para o comportamento de A. Então, ao

Questões Comentadas – UML e Casos de USO (Versão 1.0)

LhugoJr

3

executar o caso de uso A, executa-se também o B.

O professor Pedrosa, fala sobre o relacionamento include:

Use quando o mesmo comportamento se repete em mais de um Caso de Uso e o processo de realizar X sempre envolve realizar Y pelo menos uma vez.

Vamos usar um exemplo prático para entender a questão, abaixo temos uma figura, onde o caso de uso Checkout (A) faz um include para caso de uso Payment (B), então percebemos que Payment (B) é essencial para o comportamento de A.

4) (MEC/Atividade Técnica de Complexidade Gerencial/Arquiteto de Sistemas/2011) É possível indicar multiplicidade em diagramas de caso de uso. O diagrama ilustrado abaixo indica que o caso de uso conduzir transações é utilizado 400.000 vezes por dia pelos clientes. Cada cliente inicia o caso de uso duas vezes ao mês.

Ótima questão para abordar um tema raro. A multiplicidade em casos de uso. Segundo o professor Marcio, o conteúdo entre chaves representa restrições, que sempre deve aparecer entre chaves. Portanto a questão está correta.

5) (MPU/Analista de Informática/Desenvolvimento/2010) Na convenção de notação usada na UML, a chamada por mensagens assíncronas é representada no diagrama de sequência por meio de seta cheia (não pontilhada).

Vamos resolver está questão de forma simples, vendo uma figura:

Agora usando Martin Fowler:

Questões Comentadas – UML e Casos de USO (Versão 1.0)

LhugoJr

4

As pontas de seta preenchidas mostram uma mensagem síncrona, enquanto as pontas de seta tipo “pé de galinha” mostram uma mensagem assíncrona.

Questão errada.

Tendo o diagrama UML, julgue os itens:

6) (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2009) O método #Cadastrar() da classe Instrutor tem visibilidade do modo protegido tal que somente a classe possuidora Instrutor pode utilizá-lo.

Para responder esta questão precisamos saber as visibilidades da UML:

Modificadores de Visibilidade de Métodos e Atributos de acordo com a UML:

• (+) public (publico): o elemento da classe pode ser acessado diretamente por qualquer objeto de qualquer classe. • (#) protected (protegido): o elemento da classe pode ser acessado diretamente apenas por objetos da própria classe e de

suas subclasses. • (~) package (pacote): o elemento da classe pode ser acessado diretamente apenas por objetos da própria classe e de

classes do mesmo pacote. • (-) private (privado): o elemento da classe pode ser acessado diretamente apenas por objetos da própria classe.

Questão errada.

Tendo o diagrama UML, julgue os itens:

7) (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2009) Nesse diagrama, #1 é uma interface do tipo fornecida que descreve um serviço implementado; e #2 é uma interface do tipo requerida. Tas interfaces podem ser substituídas, sem prejuízo, pelos relacionamentos de dependência e realização, respectivamente.

Questões Comentadas – UML e Casos de USO (Versão 1.0)

LhugoJr

5

Questão que teve bastante polêmica. Vamos usar o comentário feito pelo professor Marcio:

De fato, #1 é uma interface do tipo fornecida, representada pelo círculo; e #2 é uma interface do tipo requerida, representada pelo gancho. No entanto, na segunda parte da questão, os conceitos estão invertidos, ou seja, #1 corresponde ao relacionamento de realização e #2 corresponde ao relacionamento de dependência. Devido a esta troca, o gabarito da questão deveria ser mudado para Errada.

Para aprender então vamos resumir:

INTERFACE FORNECIDA -> REALIZAÇÃO INTERFACE REQUERIDA -> DEPENDÊNCIA

8) (TCU/Auditor Federal de Controle Externo/Tecnologia da Informação/2009) Na UML 2.0, o diagrama de interação geral é utilizado para modelar colaborações, conjunto de instâncias que cooperam entre si para uma função específica; o diagrama de máquina de estados representa estados de um caso de uso de um subsistema ou de um sistema completo; e o diagrama de tempo demonstra a mudança de estado de um objeto, ao longo do tempo decorrente de eventos externos.

Essa é uma questão importantíssima, vamos as definições:

Segundo Martin Fowler:

Os diagramas de visão geral da interação são uma mistura de diagramas de atividades e diagramas de seqüência. Você pode considerar os diagramas de visão geral da interação como diagramas de atividades nos quais as atividades são substituídas por pequenos diagramas de seqüência ou como um diagrama de seqüência fragmentado, com a notação de diagrama de atividades usada para mostrar o fluxo de controle.

Agora usando Gillianes Guedes:

Diagrama de Interação Geral é uma variação do Diagrama de Atividade que fornece uma visão ampla dentro de um sistema ou processo de negócio. Esse diagrama passou a existir somente a partir da UML 2.0 e costuma englobar diversos tipos de diagramas de interação para demonstrar um processo geral. O Diagrama de Máquina de Estados procura acompanhar as mudanças sofridas nos estados de uma instância de uma classe, de um Caso de Uso ou mesmo de um subsistema ou sistema completo. Como o Diagrama de Sequência, o Diagrama de Máquina de Estados muitas vezes se baseia em um Caso de Uso e se apóia no Diagrama de Classes. O Diagrama de Tempo descreve a mudança no estado ou condição de uma instância de uma classe ou seu papel durante um tempo. É tipicamente utilizado para demonstrar a mudança no estado de um objeto no tempo em resposta a eventos externos." O Diagrama de Estrutura Composta é utilizado para modelar Colaborações. Uma colaboração descreve uma visão de um conjunto de entidades cooperativas interpretadas por instâncias que cooperam entre si para executar uma função específica. O termo estrutura desse diagrama refere-se a uma composição de elementos interconectados, representando instâncias de tempo de execução colaboram, por meio de vínculos de comunicação, para atingir algum objetivo comum. Esse diagrama também pode ser utilizado para definir a estrutura interna de um classificador.

Questão errada. Trocou a definição de Diagrama de Estrutura Composta por Diagrama de interação geral.

9) (TRE-PR/Analista Judiciário/Análise de Sistemas/2009) A figura a seguir ilustra um diagrama de implantação usado para modelar a visão estática de implantação de um sistema, que, em geral, envolve a modelagem da topologia do hardware no qual o sistema executa. Essencialmente, são diagramas de classe que incidem sobre os nós de um sistema.

Você pode estar se perguntando: Cadê a figura? Ela não é relevante para a questão.

Vamos a definição do diagrama de implantação por Guedes:

Questões Comentadas – UML e Casos de USO (Versão 1.0)

LhugoJr

6

O Diagrama de Implantação determina as necessidades de hardware do sistema, as características físicas como servidores, estações, topologias e protocolos de comunicação, ou seja, todo o aparato físico sobre o qual o sistema deverá ser executado. A questão fica difícil na segunda afirmação. Usando como comentário o professor Márcio:

Já a continuação, “Essencialmente, são diagramas de classe que incidem sobre os nós de um sistema.”, não faz muito sentido. Este texto foi baseado na seguinte afirmativa de Booch, Rumbauch e Jacobson (2006, p. 411): “Os diagramas de implantação são essencialmente diagramas de classes que focalizam os nós do sistema.”. Os autores afirmam que o diagrama de implantação pode ser interpretado como um diagrama de classes no qual as classes representam os nós da rede. No entanto, apesar da questão trocar apenas o termo “focalizam” por “incidem sobre” a semântica da afirmação foi dramaticamente mudada. Acreditamos que o correto seria anular a questão.

Questão correta. Agora vamos aprender com ela:

Os diagramas de implantação são essencialmente diagramas de classes que focalizam os nós do sistema.

10) (STJ/Analista Judiciário/Informática/2008) As seguintes características estão corretas para um modelo construído com a UML: nos diagramas de componentes, há módulos de código representados por componentes; há diagramas de componentes onde dependências de compilação estão representadas por setas tracejadas entre componentes; nos diagramas de utilização (deployment), alguns nós representam unidades computacionais, outros representam dispositivos periféricos.

Vamos a definição do Diagrama de Componentes por Guedes:

O Diagrama de Componentes está amplamente associado à linguagem de programação que será utilizada para desenvolver o sistema modelado. Esse diagrama representa as componentes do sistema quando este for ser implementado em termos de módulos de código-fonte, bibliotecas, formulários, arquivos de ajuda, módulos executáveis etc. e determina como esses componentes estarão estruturados e interagirão para que o sistema funcione de maneira adequada. O Diagrama de Componentes pode ser utilizado para modelar o código-fonte, os módulos executáveis de um sistema, a estrutura física de um banco de dados ou mesmo os componentes necessários para a construção de interfaces.

A parte em que fala de dependências, também está correta. A seta tracejada é uma seta que indica dependência.

Vamos agora a mais definições encontradas no livro de Guedes:

Nós são os componentes básicos de um diagrama de implantação. Um nó pode representar um item de hardware.

Portanto a questão está correta.

11) (TST/Analista Judiciário/Análise de Sistemas/2008) Na abordagem de análise UML (unified modelling language), a visão de modelo comportamental representa a dinâmica do sistema nas interações entre seus diversos elementos estruturais.

Vamos usar o comentário do professor Márcio Victorino:

Para entendermos a afirmativa, que está correta, basta analisarmos um diagrama de sequência que representa uma visão comportamental do sistema. Esse diagrama representa a interação entre os objetos do sistema. Como os objetos são instâncias de estruturas (classes), esse diagrama representa a dinâmica do sistema nas interações entre seus diversos elementos estruturais, tal como assinalado na afirmativa.

Questões Comentadas – UML e Casos de USO (Versão 1.0)

LhugoJr

7

12) (MPE-AM/Analista Judiciário/Analista de Sistemas/2008) Na abordagem de análise UML (unified modelling language), a visão de modelo comportamental representa o sistema do ponto de vista dos comportamentos e interações do sistema com o usuário.

Parece a mesma questão, mas não é. Mais uma vez usando professor Márcio:

Segundo Booch, Rumbauch e Jacobson (2006, p. 98), os diagramas comportamentais são utilizados para visualizar os aspectos dinâmicos de um sistema. Os autores consideram aspectos dinâmicos de um sistema como uma representação de suas partes que sofrem alterações tais como fluxo de mensagens ao longo do tempo e a movimentação física de componentes em uma rede, não restringindo apenas às interações com os usuários.

Portanto o gabarito desta questão é errado.

13) (CESPE - 2012 - TRE-RJ - Técnico Judiciário - Programação de Sistemas) Na metodologia orientada a objetos, o processo baseia-se em uma coleção de objetos. Nessa metodologia, se utiliza o UML, uma linguagem de modelagem que possui as seguintes visões: casos de uso, projeto, implementação, implantação e processo. A visão de implementação apresenta os aspectos estruturais e comportamentais do ambiente em que o sistema deverá ser implementado.

Nessa questão temos as visões, que são abordadas pela UML. Achamos duas fontes para resolver essa questão:

http://techblog.desenvolvedores.net/2011/07/16/visoes-da-uml/ http://www.iweb.com.br/iweb/pdfs/20031008-uml-01.pdf

Vamos as definições encontradas na primeira fonte:

Visão de Caso de Uso - Esta visão descreve a funcionalidade que o sistema irá fornecer. É destinada aos usuários, analistas, projetistas, desenvolvedores, e equipes de testes. É de grande importância porque o seu conteúdo irá acionar o desenvolvimento de outras visões. Tenha sempre em mente que esta visão deverá ser tecnologicamente neutra e focalizar o “que” e não o “como“. Utiliza os diagramas de Caso de Uso. Visão Lógica - Esta visão irá descrever como será fornecida a funcionalidade, destinada principalmente aos projetistas e desenvolvedores. Esta visão descreve a estrutura estática (classes, objetos e relacionamentos) e as dinâmicas que ocorrem na aplicação. As tabelas, relacionamentos, classes , propriedades, métodos devem ser descritos nesta visão. Utiliza os Diagramas de Classes, Objeto e Pacote. Visão de Processo - Nesta visão descrevemos o sistema em processo, esta divisão permite o uso eficiente de recursos, a manipulação síncrona e assíncrona dos eventos. É destinada aos desenvolvedores. Utiliza os Diagramas de Sequência, Comunicação, Estado e Atividade.

Questões Comentadas – UML e Casos de USO (Versão 1.0)

LhugoJr

8

Visão de Implementação - A visão de implementação descreve os módulos e suas dependências. Estes módulos podem proporcionar a verificação cruzada para outros produtos garantindo que todos os requisitos estejam eventualmente atualizados. É destinada aos desenvolvedores. Utiliza diagramas de Componente. Visão de Implantação - Esta visão descreve a disponibilidade física do sistema e recursos que o sistema ira utilizar. Descreve toda a estrutura onde o sistema é instalado. É destinada aos desenvolvedores, equipe de suporte, de testes e equipe de instalação. Utiliza diagramas de Componente, Implantação

Portanto vemos que a definição para a visão de implementação está errada.

14) (CESPE - 2012 - MPE-PI - Analista Ministerial - Informática - Cargo 6) Considere um sistema de gerenciamento de documentos em que um diagrama da UML represente o caso de uso denominado “protocolar requerimento” e o caso de uso “protocolar retificação de requerimento”. Nessa situação, a representação mais adequada é a que consiste em inserir um ponto de extensão no segundo caso de uso, a partir do qual ele será estendido pelo comportamento do primeiro.

Vamos estruturar a questão:

UC1 – Protocolar Requerimento UC2 – Protocolar retificação de requerimento

Agora usando o comentário do Professor Marcelino, temos:

Pede ao candidato que subentenda que a retificação de um requerimento é algo não mandatório, que pode ocorrer ou não. A partir disso, podemos definir o relacionamento de extensão (opcional) entre os casos de uso, sendo que o caso 2 será uma extensão do caso 1, ou o primeiro será extendido pelo segundo.

Questão errada.

15) (CESPE - 2011 - BRB - Analista de Tecnologia da Informação) O diagrama de casos de uso é o mais específico e formal da UML, pois, além de servir de referência para a construção de outros diagramas, é utilizado nas fases de levantamento de sistemas e pode ser consultado durante todo o processo de modelagem.

Guedes em seu livro fala:

O diagrma de casos de uso é o diagrama mais geral e informal da UML, sendo utilizado principalmente para auxiliar no levantamento e análise dos requisitos, em que são determinadas as necessidades do usuário, e na compreensão do sistema como um todo, embora venha a ser consultado durante todo o processo de modelagem e sirva de base para todos os outros diagramas. O Diagrama de Casos de Uso apresenta uma linguagem simples e de fácil compreensão para que os usuários possam ter uma idéia geral de como o sistema irá se comportar. Ele procura identificar os atores (usuários, outros softwares que interajam com o sistema ou até mesmo algum hardware especial), que utilizarão de alguma forma o software, bem como os serviços, ou seja, as opções que o sistema disponibilizará aos atores, conhecidas neste diagrama como Casos de Uso

Questão errada.

Questões Comentadas – UML e Casos de USO (Versão 1.0)

LhugoJr

9

16) (CESPE - 2011 - BRB - Analista de Tecnologia da Informação) O diagrama de pacotes, usado, por exemplo, para demonstrar a arquitetura de uma linguagem, tem por objetivo representar os subsistemas englobados por um sistema, de forma a determinar as partes que o compõem.

De novo, iremos a Guedes:

O Diagrama de Pacotes tem por objetivo representar os subsistemas ou submódulos englobados por um sistema de forma a determinar as partes que o compõem. Pode ser utilizado de maneira independente ou associado com outros diagramas. Este diagrama pode ser utilizado também para ajudar a demonstrar a arquitetura de uma linguagem, como ocorre com a própria UML.

Portanto, questão correta.

17) (CESPE - 2011 - EBC - Analista - Engenharia de Software) O diagrama de estrutura composta é similar ao denominado diagrama de classes, porém este último apresenta uma visão estática da estrutura de classes, enquanto o primeiro tenta expressar arquiteturas de tempo de execução.

Mais uma vez, Guedes, como podemos ver a CESPE adora usar esta bibliografia.

O diagrama de estrutura composta é utilizado para modelar colaborações. Uma colaboração descreve uma visão de um conjunto de entidades cooperativas interpretadas por instâncias que cooperam entre si para executar uma função específica. O diagrama de estrutura composta é semelhante ao diagrama de classes, porém este último apresenta uma visão estática da estrutura de classes, ao passo que o primeiro tenta expressar arquiteturas de tempo de execução, padrões de uso e os relacionamentos dos elementos participantes, o que nem sempre pode ser representado por diagramas estáticos.

Portanto questão correta.

18) (CESPE - 2011 - EBC - Analista - Engenharia de Software) O diagrama de comunicação concentra-se em como os objetos estão vinculados e quais mensagens trocam entre si durante o processo. Esse diagrama está associado ao diagrama de classe.

Preciso falar que vamos usar Guedes de novo?

O diagrama de comunicação está amplamente associado ao diagrama de seqüência na verdade, um complementao outro.

Questão errada.

19) (CESPE - 2010 - TRE-BA - Técnico Judiciário - Programação de Sistemas) Na UML, os diagramas de sequência e os diagramas de atividade, também denominados diagramas de interação, auxiliam a modelar os aspectos dinâmicos de sistemas. Um diagrama de interação é formado pelo conjunto de objetos e seus relacionamentos e inclui as mensagens que poderão ser enviadas entre eles.

Vamos mais uma vez usar a figura, da divisão dos Diagramas. Como podemos perceber na figura abaixo, o Diagrama de atividade NÃO é um diagrama de interação. Portanto a questão deveria estar errada, mas o gabarito foi mantido como certo. Essa questão gerou muita polêmica. Portanto fica a dica para se lembrar desta questão.

Questões Comentadas – UML e Casos de USO (Versão 1.0)

LhugoJr

10

20) (CESPE - 2011 - TJ-ES - Técnico de Informática – Específicos) A linguagem de restrição de objetos, ou OCL,

é utilizada para especificar restrições existentes em um modelo UML de sistema que esteja sendo projetado, como é o caso das precondições e pós-condições.

Usando Martin Fowler:

A UML permite que você use qualquer coisa para descrever restrições. A única regra é que você as coloque entre chaves ({}). Você pode utilizar linguagem natural, uma linguagem de programação ou a linguagem formal de restrições de objetos de UML (OCL – Object Constraint Language), que é baseada no cálculo de predicados.

Questão correta.

21) (CESPE - 2011 - Correios - Analista de Correios - Analista de Sistemas - Desenvolvimento de Sistemas) O diagrama de componentes deve ser utilizado para se representar a configuração e a arquitetura de um sistema no qual estarão ligados todos os software e hardware, bem como sua interação com outros elementos de suporte ao processamento.

Vamos usar Guedes:

O diagrama de componentes, como seu próprio nome diz, identifica os componentes que fazem parte de um sistema, um subsistema ou mesmo os componentes ou classes internas de um componente individual. Um componente pode representar tanto um componente lógico (um componente de negócio ou de processo) ou um componente físico, como arquivos contendo código-fonte, arquivos de ajuda (help), bibliotecas, arquivos executáveis etc. O diagrama de implantação é o diagrama com a visão mais física da UML. Ele enfoca a questão da organização da arquitetura física sobre a qual o software irá ser implantado e executado em termos de hardware, ou seja, as máquinas (computadores pessoais, servidores etc.) que suportarão o sistema, além de definir como essas máquinas estarão conectadas e por meio de quais protocolos se comunicarão e transmitirão informações.

Percebemos que a questão trocou a definição de diagrama de implantação. Questão errada.

22) (CESPE - 2011 - Correios - Analista de Correios - Analista de Sistemas - Desenvolvimento de Sistemas) O diagrama de classes define todas as classes de que o sistema necessita e é a base para a construção dos diagramas de sequência e comunicação.

Já vimos esta questão anteriormente, mas vamos de novo para fixa-la. Agora usando Guedes:

Seu objetivo é permitir a visualização das classes utilizadas pelo sistema e como estas e relacionam. Esse diagrama apresenta uma visão estática de como as classes estão organizadas, preocupando-se em definir sua estrutura lógica. Este é o diagrama mais utilizado e o mais importante da UML, servindo de apoio para a maioria dos outros diagramas.

Apesar de achar muito forte a afirmação que o diagrama de classes define todas as classes, a questão teve

Questões Comentadas – UML e Casos de USO (Versão 1.0)

LhugoJr

11

como gabarito Certo, portanto se cair de novo, já sabe o que assinalar. A banca ainda deu uma justificativa:

O diagrama de classes define todas as classes que o sistema necessita possuir e é a base para a construção dos diagramas de comunicação, sequência e estados. Por esse motivo opta-se pela alteração do gabarito do item.

23) (CESPE - 2011 - TRE-ES - Técnico - Programação de Sistemas – Específicos) Em um diagrama de estados, uma máquina de estados pode ser composta por diversas outras máquinas de estados, denominadas submáquinas. Cada submáquina pode estar relacionada às demais por meio de transições, e as submáquinas podem estar na mesma região ou em diferentes regiões da máquina de estado que as compõe.

Guedes de novo, outra vez e novamente:

É um estado que contém internamente dois ou mais estados, chamados de subestados. São utilizados para "dissecar" um Estado individual, ou seja, um estado composto é um estado que foi “explorado”, de maneira a apresentar detalhada mente todas as etapas por que passa o objeto quando no estado em questão.

A questão, está correta.

24) (CESPE - 2011 - TRE-ES - Técnico - Programação de Sistemas – Específicos) Os diagramas de atividades mostram como objetos específicos interagem entre si e são úteis para definir o fluxo lógico de programas.

Vamos a definição, do diagrama de atividades:

Esse diagrama é utilizado, como o próprio nome diz, para modelar atividades, que podem ser um método ou um algoritmo, ou mesmo um processo completo. Atividades podem descrever computação procedural, neste contexto elas são os métodos correspondentes às operações sobre classes. Atividades também podem ser aplicadas à modelagem organizacional para engenharia de processos de negócios e workflow. Finalmente atividades podem também ser usadas para modelagem de sistemas de informação para especificar processos ao nível de sistema.

Portanto a questão erra ao firmar que o referido diagrama mostra OBJETOS, na verdade mostra ATIVIDADES.

25) (CESPE - 2010 - ABIN - OFICIAL TÉCNICO DE INTELIGÊNCIA - ÁREA DE DESENVOLVIMENTO E MANUTENÇÃO DE SISTEMAS) Considerando-se a figura a seguir, que ilustra um diagrama de atividade usado para representar o fluxo de controle de uma atividade, é correto afirmar que um pedido possui mais de um item, e o símbolo asterisco é usado para representar a concorrência dinâmica; assim, os itens do pedido poderão ser registrados por meio de um laço, durante o estado de ação.

26) (CESPE - 2010 - SAD-PE - Analista de Controle Interno – Tecnologia da Informação) Acerca do emprego de conceitos do paradigma de orientação a objetos na linguagem de modelagem unificada (UML) e em programas orientados a objetos, assinale a opção correta.

a) A modelagem de aspectos comportamentais de um programa orientado a objetos deve ser efetuada utilizando-se diagramas de classe e de instância, entre outros.

b) A modelagem de aspectos estruturais ou estáticos de programa orientado a objetos deve ser efetuada utilizando-se diagramas de comunicação, entre outros.

c) Na organização de um conjunto de especificações de sistemas orientados a objeto, package é elemento usado para se agregar, inclusive de forma hierárquica, um conjunto de outros elementos dentro de um

Questões Comentadas – UML e Casos de USO (Versão 1.0)

LhugoJr

12

mesmo espaço de nomes.

d) Na especificação da UML 2.0, destaca-se a existência da sublinguagem OCL (object constraint language), linguagem imperativa que, com variáveis e comandos de controle de fluxo, é usada para complementar diagramas UML.

e) Para um conjunto de ferramentas CASE que necessitam manter intercâmbio de modelos UML desenvolvidos entre si, o formato-padrão mais recomendado a ser utilizado é o UMLDoc, embasado na linguagem Java

Letra A – Vamos usar a figura abaixo, como podemos ver o diagrama de classe não é comportamental, e não existe diagrama de instância.

Letra B, usando a figura, vemos que o diagrama de comunicação não é estrutural, e sim diagrama comportamental de interação.

Letra C é o gabarito.

Letra D, usando o wikipedia com fonte: http://pt.wikipedia.org/wiki/OCL. Temos que OCL é uma linguagem declarativa para descrever as regras que se aplicam aos modelos UML. A linguagem OCL é uma linguagem de texto precisa que possibilita a expressão de restrições em um modelo orientado a objeto que não possam ser especificadas através dos diagramas.

Letra E. Vamos usar o comentário encontrado no QC. A linguagem utilizada pelas ferramentas CASE a que se refere o item E é XMI (XML Metadata Interchange), baseada em XML.

2 Casos de Uso 27) (TRE9-BA/Analista Judiciário/Análise de Sistemas/2009) O propósito maior de um caso de uso é fornecer

uma descrição do comportamento do sistema. Assim, em um processo de desenvolvimento orientado a objetos, os objetivos de um caso de uso são: definir escopo, detalhar os processos e cálculos do sistema, organizar e dividir o trabalho, estimar o tamanho do projeto e direcionar os testes.

Vamos aos comentários do professor Marcio Victorino: Um caso de uso representa os aspectos externos de

Questões Comentadas – UML e Casos de USO (Versão 1.0)

LhugoJr

13

uma funcionalidade sem os detalhes de implementação. Os objetivos de um caso de uso são: definir escopo, organizar e dividir o trabalho, estimar o tamanho do projeto e direcionar os testes. No entanto, detalhar os processos e cálculos do sistema está fora do escopo de um caso de uso.

Questão errada.

Para aprender um pouco mais, vamos a definição encontrada em: http://www.wthreex.com/rup/portugues/index.htm

Caso de uso - Uma descrição de comportamento do sistema em termos de seqüências de ações. Um caso de uso deve produzir um resultado de valor observável para um ator. Ele contém todos os fluxos alternativos de eventos referentes à produção do "resultado de valor observável". Mais formalmente, um caso de uso define um conjunto de instâncias de casos de uso ou cenários.

28) (CESPE - 2010 - TRE-BA - Técnico Judiciário - Programação de Sistemas) Um cenário, também denominado instância de caso de uso, é uma sequência específica de ações e interações entre atores e o sistema em discussão. Assim, um caso de uso é uma coleção de cenários relacionados de sucesso e fracasso, que descrevem atores usando um sistema como meio para atingir um objetivo.

Usando Martin Fowler:

Um cenário é uma seqüência de passos que descreve uma interação entre um usuário e um sistema. Um caso de uso é um conjunto de cenários amarrados por um objetivo comum de usuário.

Agora usando como fonte o Professor Pedrosa:

Diagrama de Casos de uso: • Contém um conjunto de casos de uso e modela interações entre

o Atores e o sistema o O próprio sistema

• Descreve um conjunto de cenários

Portanto a questão está certa. Vale guardar mais uma coisa nesta questão:

CENÁRIO também é denominado INSTÂNCIA de caso de uso.

29) (CESPE - 2011 - TJ-ES - Técnico de Informática – Específicos) Os casos de uso devem ser definidos de tal forma que representem todas as situações possíveis de utilização do sistema que está sendo definido; opcionalmente, a descrição dos casos de uso pode ser feita por meio de cenários.

Talvez já tenha comentado essa questão, mas vamos repeti-la devido a sua importância. A questão afirma que:

CASO DE USO representam todas as situações possíveis de utilização do sistema, apesar de eu achar essa afirmação muito forte a questão está correta, então lembrem-se, se cair de novo, você deve assinalar como certo.