• Nenhum resultado encontrado

MODELOS DE ELEMENTOS

No documento Engenharia de Software II - Apostila (páginas 96-108)

mensagens, relacionamentos entre as classes, casos de uso, etc.;

 MECANISMOS GERAIS: comentários suplementares, ou seja,

informações ou semânticas sobre os componentes do modelo. Podem ter mecanismos de extensão para estender a UML em um método ou processo;

 DIAGRAMAS: gráficos que descrevem as visões;

 TESTES: há documentação de testes. Como por exemplo, casos de

teste.

MODELOS DE ELEMENTOS

São os conceitos utilizados nos diagramas. Pode ser uma representação gráfica presente em diversos diagramas ou definido para que faça parte de um diagrama. São eles: CLASSES, OBJETOS, ESTADOS,

PACOTES, COMPONENTES e RELACIONAMENTOS9.

CLASSES

Descrição de um tipo de objeto. Objeto é uma instância de uma classe que define os seus atributos e comportamentos. Exemplo:

Figura 44 – Exemplo de Classe

OBJETOS

Elemento que pode manipular, acompanhar seu comportamento, criar, destruir, etc. Tem a semântica de ser exibido sublinhado e antes da classe vem o nome do objeto instanciado. Exemplo:

Figura 45 – Exemplo de Objetos

ESTADOS

Todos os objetos possuem um estado que significa o resultado de atividades executadas pelo objeto, e é normalmente determinada pelos valores de seus atributos e ligações com outros objetos.

PACOTES

Mecanismo de agrupamento, onde todos os modelos de elementos podem ser agrupados.

Figura 46 – Exemplo de Pacotes

COMPONENTES

Pode ser tanto um código em linguagem de programação como um código executável já compilado.

Figura 47 – Exemplo de Componentes

RELACIONAMENTOS

Os relacionamentos ligam as classes/objetos entre si criando relações lógicas entre estas entidades. Tipos de relacionamentos:

ASSOCIAÇÃO;

 GENERALIZAÇÃO;

 DEPENDÊNCIA E REFINAMENTOS.

T I P O S D E A S S O C I A Ç Ã O

 NORMAIS: tipo mais comum. É apenas uma conexão entre classes.

Possui um verbo ou substantivo na linha da associação e pode ter uma seta indicando a direção.

Figura 48 – Exemplo de Associação

 RECURSIVA: é possível conectar uma classe a ela mesma através

de uma associação e que ainda representa semanticamente a conexão entre dois objetos, mas os objetos conectados são da mesma classe.

Figura 49 – Exemplo de Recursividade

 QUALIFICADA: associações classificadas são usadas como

associações de um para vários (1..*) ou de vários para vários (*).

Figura 50 – Exemplo de Qualificada

 EXCLUSIVA: é uma restrição em duas ou mais associações. Onde

os objetos só podem participar de uma classe em determinado momento (linha tracejada).

Figura 51 – Exemplo de Exclusividade

 ORDENADA: as associações entre objetos podem ter uma ordem

implícita. O padrão para uma associação é desordenada.

Figura 52 – Exemplo de classe associativa

 TERNÁRIA: mais de duas classes podem ser associadas entre si, a

associação ternária associa três classes.

Figura 51 – Exemplo de classe ternária

 AGREGAÇÃO: caso particular da associação. Pode ser:

o COMPARTILHADA: é quando uma das classes é uma parte, ou

está contida da outra, mas esta parte pode fazer estar contida na outras várias vezes em um mesmo momento;

o

o COMPOSIÇÃO: uma classe que está contida na outra ―vive‖ COMPOSIÇÃO: uma classe que está contida na outra ―vive‖ ee

constitui a outra. Se o objeto da classe que contém for constitui a outra. Se o objeto da classe que contém for destruído, as classes da agregação de composição serão destruído, as classes da agregação de composição serão destruídas juntamente já que as mesmas fazem parte da destruídas juntamente já que as mesmas fazem parte da outra.

outra.

Figura 53

Figura 53 –– Exemplo de composição Exemplo de composição

 GENERALIZAÇÃOGENERALIZAÇÃO: relacionamento entre um elemento geral e um: relacionamento entre um elemento geral e um

outro mais específico. Pode ser: outro mais específico. Pode ser:

Figura 54

Figura 54 –– Exemplo de generalização Exemplo de generalização

 NORMAL: a classe mais específica (subclasse) herda tudo da classe maisNORMAL: a classe mais específica (subclasse) herda tudo da classe mais

geral (superclasse); geral (superclasse);

 RESTRITA: especifica informações mais precisas sobre como aRESTRITA: especifica informações mais precisas sobre como a

generalização deve ser usada e estendida no futuro. As restrições generalização deve ser usada e estendida no futuro. As restrições definem a generalizações restritas com mais de uma subclasse:

definem a generalizações restritas com mais de uma subclasse:

 DEPENDÊNCIAS: conexão semântica entre dois modelos de elementos,DEPENDÊNCIAS: conexão semântica entre dois modelos de elementos,

um independente e outro dependente. um independente e outro dependente.

Figura 55

Figura 55 –– Exemplo de dependência Exemplo de dependência

 REFINAMENTOSREFINAMENTOS:: tipo de relacionamento entre duas descrições detipo de relacionamento entre duas descrições de

uma mesma coisa, mas em níveis de abstração diferentes e podem uma mesma coisa, mas em níveis de abstração diferentes e podem ser usados para modelar diferentes implementações de uma mesma ser usados para modelar diferentes implementações de uma mesma coisa.

coisa.

MECANISMOS GERAIS MECANISMOS GERAIS

 ORNAMENTOORNAMENTO: anexado ao modelo acrescentando semântica.: anexado ao modelo acrescentando semântica.

Exemplo separar o tipo de instancia que é colocado em negrito. Exemplo separar o tipo de instancia que é colocado em negrito. Uma classe é colocada em negrito e se há um objeto é colocado Uma classe é colocada em negrito e se há um objeto é colocado sublinhado. Outro é a multiplicidade;

sublinhado. Outro é a multiplicidade;

 NOTANOTA: nem tudo pode ser definido na linguagem e para colocar: nem tudo pode ser definido na linguagem e para colocar

observações usamos notas em UML e pode ser colocada em observações usamos notas em UML e pode ser colocada em qualquer lugar do diagrama.

qualquer lugar do diagrama.

DIAGRAMAS

DIAGRAMAS

Um diagrama é uma representação gráfica parcial ou total de um Um diagrama é uma representação gráfica parcial ou total de um modelo. Apresentação gráfica de uma coleção

modelo. Apresentação gráfica de uma coleção de elementos de modelo,de elementos de modelo, geralmente processados como um gráfico de arcos (relacionamentos) e geralmente processados como um gráfico de arcos (relacionamentos) e vértices (outros elementos de modelo) conectados.

vértices (outros elementos de modelo) conectados.

A UML 2.0 (versão atual) define 13 tipos de diagramas divididos A UML 2.0 (versão atual) define 13 tipos de diagramas divididos em duas categorias de modelagem: ESTÁTICA (ESTRUTURAL) ou em duas categorias de modelagem: ESTÁTICA (ESTRUTURAL) ou DINÂMICO (COMPORTAMENTO).

DINÂMICO (COMPORTAMENTO).

DIAGRAMAS ESTRUTURAIS (ESTÁTICOS) DIAGRAMAS ESTRUTURAIS (ESTÁTICOS)

Definem estaticamente a arquitetura de um modelo. São usados Definem estaticamente a arquitetura de um modelo. São usados

para modelar as ―coisas‖ que com

para modelar as ―coisas‖ que compõem um modelo - as classes, ospõem um modelo - as classes, os objetos, as relações e os componentes físicos. Além disso, também são objetos, as relações e os componentes físicos. Além disso, também são usados para modelar os relacionamentos e as dependências entre usados para modelar os relacionamentos e as dependências entre elementos. Fazem parte dos diagramas da

elementos. Fazem parte dos diagramas da modelagem estruturada:modelagem estruturada:

 DIAGRAMA DE CLASSESDIAGRAMA DE CLASSES ––  apresenta classes conectadas por  apresenta classes conectadas por

relacionamentos. Usado para exibir entidades do mundo real, além relacionamentos. Usado para exibir entidades do mundo real, além de elementos de análise e projeto;

de elementos de análise e projeto;

 DIAGRAMA DE OBJETOSDIAGRAMA DE OBJETOS –– apresenta objetos e valores de dados. apresenta objetos e valores de dados.

Corresponde a uma instância do diagrama de classes, mostrando o Corresponde a uma instância do diagrama de classes, mostrando o estado de um sistema em um determinado ponto do tempo;

 DIAGRAMA DE COMPONENTESDIAGRAMA DE COMPONENTES ––  mostra as dependências entre  mostra as dependências entre

componentes de software, apresentando suas interfaces; componentes de software, apresentando suas interfaces;

 DIAGRAMA DE ESTRUTURA COMPOSTADIAGRAMA DE ESTRUTURA COMPOSTA –– usado para mostrar a usado para mostrar a

composição de uma estrutura. Útil em estruturas compostas de composição de uma estrutura. Útil em estruturas compostas de estruturas complexas ou em projetos baseados em componentes; estruturas complexas ou em projetos baseados em componentes;

 DIAGRAMA DE PACOTESDIAGRAMA DE PACOTES ––  usado para organizar elementos de  usado para organizar elementos de

modelo e mostrar dependências entre eles; modelo e mostrar dependências entre eles;

 DIAGRAMA DE IMPLANTAÇÃODIAGRAMA DE IMPLANTAÇÃO –– mostra a arquitetura do sistema mostra a arquitetura do sistema

em tempo de execução, as plataformas de hardware, artefatos de em tempo de execução, as plataformas de hardware, artefatos de software e ambientes de software (como sistemas operacionais e software e ambientes de software (como sistemas operacionais e máquinas virtuais).

máquinas virtuais).

DIAGRAMAS COMPORTAMENTAIS (DINÂMICOS) DIAGRAMAS COMPORTAMENTAIS (DINÂMICOS)

Os diagramas dinâmicos ou de comportamento apresentam as Os diagramas dinâmicos ou de comportamento apresentam as variedades da interação e do estado instantâneo dentro de um modelo variedades da interação e do estado instantâneo dentro de um modelo

enquanto é ―executado‖.

enquanto é ―executado‖. São eles: São eles:

 DIAGRAMA DE CASOS DE USODIAGRAMA DE CASOS DE USO –– mostra os casos de uso, atores e mostra os casos de uso, atores e

seus relacionamentos que expressam a funcionalidade de um seus relacionamentos que expressam a funcionalidade de um sistema;

sistema;

 DIAGRAMA DE ATIVIDADESDIAGRAMA DE ATIVIDADES –– representa a execução de ações ou representa a execução de ações ou

atividades e os fluxos que são disparados pela conclusão de outras atividades e os fluxos que são disparados pela conclusão de outras ações ou atividades;

ações ou atividades;

 DIAGRAMA DE MÁQUINA DE ESTADOSDIAGRAMA DE MÁQUINA DE ESTADOS ––  representa as ações  representa as ações

ocorridas em resposta ao recebimento de eventos; ocorridas em resposta ao recebimento de eventos;

 DIAGRAMAS DE INTERAÇÃODIAGRAMAS DE INTERAÇÃO::

o

o DIAGRAMA DE SEQUÊNCIASDIAGRAMA DE SEQUÊNCIAS ––  mostra as interações que  mostra as interações que

correspondem a um conjunto de mensagens trocadas entre correspondem a um conjunto de mensagens trocadas entre objetos e a ordem que essas mensagens acontecem;

objetos e a ordem que essas mensagens acontecem;

o

o DIAGRAMA DE COMUNICAÇÃODIAGRAMA DE COMUNICAÇÃO –– antigo diagrama de colaboração, antigo diagrama de colaboração,

que mostra objetos, seus inter-relacionamentos e o fluxo de que mostra objetos, seus inter-relacionamentos e o fluxo de mensagens entre eles;

mensagens entre eles;

o

o DIAGRAMA TEMPORALDIAGRAMA TEMPORAL ––  mostra a mudança de estado de um  mostra a mudança de estado de um

objeto numa passagem de tempo, em resposta a eventos objeto numa passagem de tempo, em resposta a eventos externos;

externos;

o

o DIAGRAMA DE VISÃO GERAL DE INTERAÇÃODIAGRAMA DE VISÃO GERAL DE INTERAÇÃO –– uma variação do uma variação do

diagrama de atividades que mostra de uma forma geral o fluxo diagrama de atividades que mostra de uma forma geral o fluxo de controle dentro de um sistema ou processo de negócios. Cada de controle dentro de um sistema ou processo de negócios. Cada nó ou atividade dentro do diagrama pode representar outro nó ou atividade dentro do diagrama pode representar outro diagrama de interação.

Pode-se afirmar que é possível se completar a modelagem de um sistema de pequeno ou médio porte, com sucesso, com apenas três diagramas (casos de uso, classes e sequências), tendo o suporte, dependendo do contexto, de três outros diagramas (objetos, atividades e máquina de estados). O paradigma da orientação a objetos veio definitivamente ocupar um espaço que há muito se necessitava no mercado de desenvolvimento. Cabe aos desenvolvedores entenderem a importância de se respeitar todos os seus conceitos, para que se obtenha o melhor do que ele nos propõe.

EXERCÍCIOS

1) Os diagramas UML da categoria comportamental são os de (FCC -

2008 - TCE-AL - Programador )

a) Classes, Objetos e componentes b) Casos de Uso, Sequências e Classes c) Classes, Atividades e Sequências

d) Casos de uso, atividades e máquina de estados e) Objetos, estrutura composta e máquinas de estado

2) Um diagrama UML é uma apresentação gráfica de uma coleção de

elementos do modelo de um sistema.

O diagrama utilizado pela UML que apresenta a interação entre os objetos em relação ao tempo é o de (FESMIP-BA - 2011 - MPE-BA - Analista de Sistemas) a) Componentes b) Implantação c) Estado d) Classes e) Sequência

3) 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. (CESPE - 2010 - TRE-BA - Técnico Judiciário - Programação de Sistemas)

 __ Certo __ Errado

4) Analise as seguintes afirmativas sobre os Diagramas de Interação da UML.

I. Um Diagrama de Interação mostra a interação entre um conjunto de objetos e seus relacionamentos, incluindo as mensagens que poderão ser trocadas entre eles.

II. Diagramas de Sequência e Diagramas de Colaboração são Diagramas de Interação e modelam aspectos dinâmicos de sistemas.

III. Diagramas de Colaboração dão ênfase à ordenação temporal das mensagens trocadas entre os objetos.

Marque a alternativa CORRETA: (FUMARC - 2011 - BDMG - Analista de Sistemas)

a) Afirmativas I e II são verdadeiras. b) Afirmativas I e III são verdadeiras. c) Afirmativas II e III são verdadeiras. d) Todas as afirmativas são verdadeiras.

5) A respeito da linguagem UML é correto afirmar que (Concurso Serpro-2001):

a) não se trata de uma linguagem de documentação.

b) é voltada para a representação conceitual e física de um sistema. c) não abrange a documentação para a realização de testes.

d) não deve ser empregada para a documentação de artefatos que façam uso de sistemas completos de software.

e) é uma linguagem utilizada para a realização de testes de programas.

6) Entre outros, a UML inclui os diagramas de (Concurso Serpro-2001): a) classes, objetos, fluxo de dados e de atividades.

b) classes, implantação, gráficos de estado e de sequências. c) objetos, classes, contexto, implantação.

d) classes, objetos, testes, implantação.

e) objetos, casos de uso, contexto, implantação.

7) Na UML, as classes A e B legam suas estruturas e comportamentos à classe C. Considerando apenas o fato apresentado nessa circunstância, é correto afirmar que aí se aplica tipicamente o conceito de (FCC - 2009 - TRT - 7ª Região (CE) - Analista Judiciário - Tecnologia da Informação) a) delegação. b) derivação. c) herança múltipla. d) método polimórfico. e) multiplicidade.

8) A UML define em sua versão 2.0, treze tipos de diagramas, divididos em duas categorias: diagramas estruturais e diagramas dinâmicos. Assinale a alternativa que não indique um diagrama estrutural da UML. (FGV - 2009 - MEC - Analista de Sistemas - Especialista)

a) Diagrama de Visão Geral. b) Diagrama de Implantação. c) Diagrama de Pacotes.

d) Diagrama de Classes. e) Diagrama de Objetos.

D

DIIAA PPOOR R TTAABBLLEE

Figura 56 – Tela principal do Dia Portable

O Dia Portable é uma ferramenta baseada no Microsoft Visio, com a qual pode-se compor layouts, fluxogramas, organogramas e diagramas em geral, contando também com objetos para modelagem UML e de sistemas Estruturados. Este programa pode ser utilizado tanto em seu computador como a partir de um pendrive.

Auxilia os analistas e desenvolvedores de sistemas na criação e integração dos diagramas de dados da UML com a lógica. Com ele é possível especificar recursos, transações, trocas de comunicação, plano de custos com tempo, esforço, entre outras. Além disto, além de modelagem de negócio voltada para informática, também é possível montar diversos tipos de diagramas.

A interface é disposta de forma que no centro está o espaço para o projeto, acima estão os menus e opções e à esquerda encontram-se as ferramentas para modelagem. Ainda com relação a estas ferramentas, elas estão dispostas em dois grupos. O mais acima possui formas geométricas, textos, setas e opções de linha para ligação. Logo abaixo estão os objetos de um diagrama conforme categoria.

Basicamente estas categorias são quatro: variados, fluxograma, UML e outras folhas. Esta última categoria contém 35 grupos de objetos, constando entre eles alguns relacionados à cibernética, luzes, peças de quebra cabeça, hidráulicos, banco de dados, UML, BPMN,

cisco, entre muitos outros. Desta forma, é muito pouco provável que você não venha a encontrar o desenho que precisa para seu diagrama.

Para utilizá-lo é simples, basta abrir um novo projeto e começar a desenhar seus diagramas. Para inserir novos objetos, primeiro escolha uma categoria na caixa de opções no lado esquerdo da tela. Feito isto, escolha as formas que deseja inserir em seu projeto e para adicioná-las basta clicar sobre a figura com o mouse e arrastá-la até o quadro (ou clicar sobre a figura e sobre o quadro)

À medida que uma figura vai sendo posicionada na tela, você pode observar seu enquadramento correto por meio do fundo quadriculado e das réguas horizontais e verticais dispostas para tal função. Se após inserir a figura houver algum problema, para apagá-la basta selecionar e utilizar o delete do teclado.

Na barra de ferramentas situada na borda superior do programa estão disponíveis diversos tipos de opções para ajudar em seu desenho, como opções de criação de camadas, exibição de grade, posicionamento, métodos de entrada, seleção, gravação de seu diagrama, entre outras.

M

MIICCR R OOSSOOFFTT VVIISSIIOO 22000033

Figura 57 – Tela principal do Visio 2003

Na barra de ferramentas situada na borda superior do programa estão disponíveis diversos tipos de opções para ajudar em seu desenho, como opções de criação de camadas, exibição de grade, posicionamento, métodos de entrada, seleção, gravação de seu diagrama, entre outras.

Clique em Software e Banco de Dados e escolha...

No documento Engenharia de Software II - Apostila (páginas 96-108)