You are on page 1of 19

DORLIVETE MOREIRA SHITSUKA

RICARDO SHITSUKA

Análise e Projeto Orientados a Objetos

São Paulo
2008
Análise e Projeto Orientados a Objetos – AOO
Profa. Dorlivete M. Shitsuka
Diretora de TI
Prof. MSc. Ricardo Shitsuka
SBC-4383
http://rshitsuka.sites.uol.com.br

Ementa: Conceitos básicos (Abstração, objeto, classe). Relacionamento entre as


classes. Herança. Agregação e composição. Polimorfismo, interação, seqüência,
colaboração e diagrama de transição de estados. Diagramas de componentes e
implementação.

“Tudo tem o seu tempo determinado, e há tempo


para todo propósito debaixo do céu”
Eclesiastes 3:1

“Instruir-te-ei e ensinar-te-ei o caminho que deves seguir,


guiar-te-ei com os meus olhos”
Salmo 32:8

1. Apresentação
“Uma grande caminhada de milhares de passos
começa pelos primeiros passos”
Proverbio chinês

“Até a mais alta das torres tem que começar


a ser construída pela base”
Provérbio chinês

Livros Textos Básicos da disciplina:


1) FURLAN, José Davi. Modelagem de objetos através da UML – the unified
modeling language. São Paulo: Makron, 1998. (tem na Biblioteca da UNINOVE)

2) FOWLER, Martin; SCOTT, Kendall. UML essencial. 2ed. Porto Alegre:


Bookman, 2000.

Livros textos complementares:


1) MASSON, Walter. Sistematização para avaliação de gerenciamento de
workflow para aplicações de CRM. Dissertação – mestrado, apresentada à
PUCCAMP. Campinas-SP, 2001.

2) SHITSUKA, Ricardo et al. Sistemas de informação: um enfoque


computacional. Rio de Janeiro: Ciência Moderna, 2005
3) SHITSUKA, Ricardo; SHITSUKA, Dorlivete M. Análise e projeto orientados a
objetos. Apostila. São Paulo: Digihouse Informática, 2008.

CONHECIMENTO BÁSICO

O que é o conhecimento?
O conhecimento que se aprende nos cursos é o conhecimento básico. Ex: Auto-
escola, Inglês, natação, medicina...Por que? Porque o aluno passa somente
algumas horas na escola ou na faculdade numa disciplina. Porém, quando ele
esta no trabalho ele esta vendo 8 horas em seguida e todos os dias da semana
um determinado assunto. Desta forma, também, quem vai morar no EUA ficam
vendo diariamente propagandas em inglês, conversando com pessoas, indo ao
supermercado etc... as experiências do dia-a-dia são mais ricas do que as que se
pode ter em sala de aula.

Nos cursos, ensina-se o conhecimento básico, estruturado, formando uma espécie


de esqueleto, o complemento virá com os estágios, a experiência de trabalho, a
vida e o próprio interesse do aluno (ler revistas, livros, procurar na Web, discutir
assunto com colegas, amigos etc).

Questões iniciais (vamos analisar algumas questões recentes de concursos para


analistas de sistemas:

1) 1
(Concurso para o cargo de Analista de Sistemas no ano de 2007, prova do EPE aplicada pela banca
CESGRANRIO).
A aplicação de um conjunto interligado de técnicas formais de planejamento,
análise, projeto e construção de Sistemas de Informações em uma organização
como um todo ou em um dos seus principais setores corresponde ao conceito de:

a) Análise de Roger-Matheus.
b) Processo Pressman-Roth.
c) prototipação por heranças múltiplas.
d) engenharia de requisitos.
e) engenharia da informação.

2) 2
(Concurso para o cargo de Analista de Sistemas no ano de 2007, prova do EPE aplicada pela banca
CESGRANRIO).
Que característica NÃO é fundamental em uma linguagem de programação
orientada a objeto?

1
Empresa de Pesquisa Energética – EPE. http://www.epe.gov.br/lists/ConcursoEPE/allitems.aspx .
Iti-e; ni-c; san-b; yon-d; go-b;
a) Criação de classes.
b) Encapsulamento.
c) Herança múltipla.
d) Herança simples.
e) Instanciação de objetos.

3. (Concurso 3
para o cargo de Analista de Sistemas no ano de 2007, prova do EPE aplicada pela banca
CESGRANRIO)
Numa linguagem de programação orientada a objetos é importante restringir a
visibilidade de alguns atributos para garantir o conceito de:
a) classe.
b) encapsulamento.
c) herança.
d) instanciação.
e) polimorfismo.

4. (Concurso 4
para o cargo de Analista de Sistemas no ano de 2007, prova do EPE aplicada pela banca
CESGRANRIO)
Para alterar o paradigma de modelagem numa organização de análise estruturada
para análise orientada a objeto, é necessário que a linguagem de programação
escolhida possua suporte direto:

a) às extensões de Ward e Mellor.


b) às extensões de Hatley e Pirbhai.
c) à documentação do código.
d) à transmissão de mensagens.
e) ao backup e restore de dados.

5. (Concurso 5
para o cargo de Analista de Sistemas no ano de 2007, prova do EPE aplicada pela banca
CESGRANRIO)
Um processo administrativo numa repartição pública poderá estar nos seguintes
estados: aberto, na carga de um determinado funcionário, em trâmite ou
arquivado. A ferramenta de modelagem que representa de modo mais adequado
as regras de passagem de um estado para outro é:

a) diagrama de fluxo de dados.


b) diagrama de transições de estado.
c) diagrama entidades-relacionamentos.
d) dicionário de dados.
e) especificação de processos.
2. Origens da orientação a objetos, benefícios, conceitos de
objeto, encapsulamento, estado, comportamento, mensagens
e métodos.
“Ação sem visão é um pesadelo”
Provérbio japonês

“Encuentra la felicidad em el trabajo o no serás feliz”


Cristóbal Cólon,
Primer puente entre los pueblos hispanicos.

2.1. Conceitos Gerais

Engenharia é a criação de soluções para problemas.


Engenharia da informação é a engenharia do projeto de sistemas de informação.
A Engenharia da Informação lida com a complexidade de cada projeto diferente
de diferentes áreas e com diferentes tarefas e situações. Como lidar com esta
complexidade?
R: É preciso ter métodos de trabalho que facilitem e permitam compreender o
funcionamento de sistemas existentes e propostos.
Engenharia de Software se preocupa com o produto software e os processos de
produção do mesmo.
Vamos rever alguns conceitos fundamentais para depois construir nosso
conhecimento sobre objetos e por tabela, Análise Orientados a Objeto – AOO.

Dado é uma estrutura fundamental da informação. É coletado, armazenado e


processado.

Informação é o resultado do processamento de dados.

Conhecimento envolve a informação e a experiência necessária para atingir


objetivos, ou seja, realizar tarefas e resolver problemas.

Sistemas são conjuntos de componentes interagentes e interdependentes que


trabalham em conjunto para se atingir um objetivo comum.

Sistemas de informação – são sistemas que processam dados, produzem


informações necessárias para a tomada de decisões nas organizações.

Organizações são conjuntos de pessoas que trabalham de modo coordenado


para atingir objetivos comuns.

2.2. Os sistemas podem atuar nas organizações dentro de 3 níveis:

1. Estratégico;
2. Tático;
3. Operacional.
Estratégico decisões não estruturadas

Tático decisões semi-estruturadas

Operacional decisões estruturadas

2.3. Como os sistemas podem ser estudados ou criados?

R: Os sistemas podem ser estudados ou criados pelos analistas servindo-se de


modelos que ajudarão a identificar os limites do sistema, os envolvidos, as
funções, os dados, as interfaces, os componentes.

2.4. Exemplos de modelos já estudados pelos alunos:

1) Cascata:
 análise de viabilidade;
 análise de requisitos;
 projeto;
 implementação;
 testes;
 implantação e,
 manutenção.
2) Incremental: aumenta-se o sistema por módulos.
3) Espiral: planejamento; avaliação de alternativas e riscos; engenharia de
desenvolvimento de software e avaliação do cliente.
4) Modelos mistos e características genéricas.

2.5. Métodos de desenvolvimento de software:

1) Informal: década de 50 a 70:


Características: preocupava-se com a funcionalidade e dados separadamente,
utilizava textos e fluxogramas.
2) Estruturado: 75 a atual :
Características: surgem os SGBDs (Sistemas gerenciadores de Banco de Dados)
e os dados então ganham ênfase. Utilizava: DFD, DER, normalização, dicionário
de dados (seus autores eram: Chris Gane, Edward Yourdon, Tom de Marco).
3) Essencial: 84 a atual:
Características: preocupava-se com a integração funcional aos dados, era
evolução da estruturada, usava DFD de contexto, lista de eventos, DFD,
particionado por eventos, DER, normalização e dicionário de dados.
4) Orientado a objetos (OO): 90 a atual:
Características: surgiu a partir de conceitos já existentes de linguagens de
programação: Simula (67) e Smalltalk (70). Preocupava-se com objetos
(encapsulamento de funções e dados. Contempla o estado de um objeto: visão
estática e dinâmica. Utiliza: diagrama de casos de uso, diagrama de classes,
diagrama de seqüência, diagrama de colaboração e diagrama de componentes.
(seus autores: Glady Booch, Ivar Jacobson, Peter Coad, Sally Schaer, Stephen J.
Mellor e Scott W.Ambler).
3. Orientação a objetos (OO)
“A habilidade de um homem pobre é a sua riqueza”
Provérbio inglês

“Necessity is the mother of invention”


Provérbio inglês

O que é um objeto na AOO?

É a representação abstrata de coisas do mundo real, que sob o ponto de vista do


nosso problema, possuem atributos e métodos e métodos comuns. Nos objetos os
dados e os procedimentos (funções e métodos) são encapsulados num conjunto
isolado do mundo exterior.

Dados
Outros
objetos mensagens
Procedimentos:
respostas (funções e
métodos)

objeto

Note bem: Dados e procedimentos só serão acessados por mensagens vindas de


outros objetos. Se o objeto que recebe uma mensagem reconhecer a mesma ou
seja, possuir métodos (rotinas internas) que entendam

No paradigma orientado a objetos, os dados e as funções são vistas de forma


agregada, não ocorrendo uma modelagem separada para cada um desses
componentes. Isso favorece a modelagem mais natural.

O que é paradigma?
Paradigmas são sistemas básicos de crenças ou visões de mundo que guiam as
pessoas, ou seja, definem a natureza das coisas, situando os indivíduos no mundo
e estabelece a gama de possíveis relações do mundo com suas partes. Os
paradigmas definem fronteiras entre o que é certo e errado. Eles funcionam como
um modelo ou padrão que define o comportamento e as atitudes das pessoas
(Chiavenato, 2000).

Vantagens da Orientação a Objetos:


1) Modelagem mais natural;
2) Reutilização de componentes (objetos);
3) Projetos mais rápidos e com qualidade (desde que existam no mercado, objetos
prontos, já testados e confiáveis).
4) Codificação mais simples de programas aplicativos que utilizem objetos
prontos. Note que ainda continua a existir a complexidade para o construtor ou
projetista de objetos.
5) Facilidade de manutenção.

Propriedades dos objetos:

1) Estado
2) Comportamento
3) Identificação
4) Encapsulamento
5) Mensagens
6) Polimorfismo
7) Herança

Terminologia dos objetos:

1) Ação: é um algoritmo ou procedimento para o tratamento de dados em reposta


a um evento;

2) Ativação: é a execução de uma ação

3) Associação: é uma relação que descreve um conjunto de vínculos entre


elementos de um modelo.

4) Acoplamento: é o termo que descreve o grau de interdependência ente


pessoas, em AOO é é a interconectividade entre peças de uma AOO. O
acoplamento é importante para a avaliação de como uma alteração numa
característica pode afetar o restante do projeto.

5) Acoplamento dinâmico:quando um objeto recebe uma mensagem, se houver


um método ou procedimento a objeto funcionará. No entanto, se ele não possuir o
método, o acoplamento dinâmico fará com que ele procure a existência deste
método em superclasses ou subclasses.

6) Agregação: é uma forma especial de associação que especifica uma relação


entre um todo e uma parte componente.

7) Atributo: é a característica particular de uma ocorrência de classe. Ex: um


indivíduo possui os atributos: nome, idade, sexo etc.

8) Classe é a representação de um conjunto de objetos semelhantes, ou seja, um


objeto geral.

Classe concreta é uma classe que é instanciada diretamente.


Classe abstrata é uma classe que não possui instancias. Seu objetivo não é
implementar métodos.

8) Comportamento: é a forma ou meio pelo qual um objeto passa de um estado


para outro. Isso é realizado por uma ação que é um método do objeto.

9) Composição: é uma forma de associação (ou agregação) de objetos com forte


propriedade e vida coincidente da parte para com o todo. Também é conhecida
como agregação composta.

9) Concorrência: é a ocorrência de duas ou mais atividades durante o mesmo


intervalo de tempo. A concorrência é alcançada executando-se duas ou mais
linhas de procedimento simultaneamente.

10) Condição: é a causa para que haja uma transição.

11) Delegação: é a habilidade de um objeto emitir uma mensagem para outro


objeto em resposta a uma mensagem. Pode ser usada como uma alternativa à
herança.

12) Dependência: é um relacionamento entre dois elementos de modelagem no


qual uma mudança em um elemento (independente) afetará outro (dependente).
Ex: clientes afetando fornecedores.

13) Domínio: é um intervalo de valores permitidos.

14) Encapsulamento: é o agrupamento de atributos e operações num objeto para


propiciar aumento de segurança e diminuição do trabalho de desenvolvimento de
um novo artefato de sistema.

15) Especialização: é uma subclasse que recebe caracterísitcas da superclasse


por herança.

15) Estado: é a situação em que se encontra um objeto dentro do que se deseja


controlar. Ex: livro em biblioteca (disponível, emprestado, em manutenção),
televisão (ligada, desligada) etc...

16) Evento: é uma ocorrência significativa com localização no tempo e no espaço.

17) Generalização: é uma classe de classes. Também é chamada de metaclasse,


classe pai (ou mãe) ou atém mesmo de superclasse.

17) Herança: é o mecanismo pelo qual elementos mais específicos incorporam


estrutura e comportamento de elementos mais gerais relacionados por
comportamento. Pode-se organizar tipos similares de classes de objetos em
categorias chamadas hierarquias de classe, onde a classe menor nível
(subclasse) pode utilizar serviços das classes superiores na hierarquia
(superclasses). Herança é simplesmente um modo de reutilização de atributos e
operações.

19) Identificação: cad objeto tem sua própria identidade, o que os torna
distinguíveis.

18) Instância: é um membro descrito por um tipo ou uma classe, ou um objeto


real que retém dados e aguarda para a execução de um serviço.

19) Interação: é uma especificação comportamental que inclui um conjunto de


trocas de mensagens entre objetos dentro de um contexto visando a realização de
um resultado específico.

20) Ligação: é a criação de um elemento de modelo a partir de um template


provendo argumentos para os parâmetros do modelo.

21) Mensagem: é uma comunicação entre objetos com a expectativa de resposta


do objeto destinatário ao objeto remetente. O recebimento de uma mensagem é
normalmente considerado um evento.
Mensagem assíncrona é uma mensagem onde o objeto remetente não
interrompe seu processamento para esperar por resultados.
Mensagem síncrona é a mensagem onde o objeto remetente interrompe seu
processamento para esperar por resultados.

22) Metaclasse: é uma classe cujas instâncias são classes, tipicamente usadas
para construir metamodelos.

23) Metamodelo: é um modelo que define a linguagem para expressar um


modelo.

24) Método: é a implementação de uma operação por meio de um algoritmo ou


procedimento. Métodos são executados quando um objeto recebe uma
mensagem.

25) Objeto persistente: é um objeto que continua existindo após a execução do


processo passivo que o criou.

26) Objeto ativo: é um objeto que possui uma linha e pode iniciar um controle
atividade.

27) Objeto transiente ou temporário: é um objeto que só existe durante a


execução do processo que o criou.

28) Operação: é um serviço que é requisitado a um objeto como parte de seu


comportamento em resposta a estímulos. Uma operação tem uma assinatura que
pode restringir quais parâmetros reais são possíveis.
29) Polimorfismo: é o comportamento diferente de objetos diferentes de uma
mesma classe.

30) Transição de estado: é a passagem de um estado para outro.

Questões:

1. (FCC TRF 4RG 2007) Um atributo que representa uma abstração de outros
atributos é do tipo
(A) multivalorado.
(B) composto.
(C) agregado.
(D) coeso.
(E) acoplado.

Resp. B

Compostos. Os atributos compostos podem ser divididos em partes menores, ou


subpartes, os quais representariam atributos básicos mais simples com
significados independentes. Por exemplo, um atributo endereço pode ser
subdividido em rua, cidade, estado e cep. Poderíamos também dividir o atributo
rua em número, nome-rua e número-apartamento. Atributos deste tipo formam
uma hierarquia.
4. Conceituar: Abstração, classes,
relacionamentos, generalização/especialização
entre classes, Herança, Agregação, composição,
classes concretas e abstratas.
“Melhor é acender um vela que amaldiçoar a escuridão”
Provérbio chinês

“De um peixe a um homem faminto e você o alimentará


por um dia. Ensine-o a pescar, e você o estará
alimentando por toda a vida”
Provérbio chinês

Comparação entre a Análise Estruturada e a Orientada a Objetos:


Exercício: construa a comparação na tabela seguinte:
A.Estruturada AOO

1) O que é modelo?
R: Modelo é uma abstração, uma simplificação, ou um resumo da realidade. Note
o aluno que quando resumimos, simplificamos ou abstraímos, deixamos de
considerar muitas coisas que não consideramos essenciais e incluímos somente
aquilo que consideramos que será estritamente necessário. Este é um dos
motivos pelos quais os sistemas diferem uns dos outros. O importante, no final é
que o sistema atenda ao cliente ou usuário em suas necessidades, da forma mais
customizada possível.

2) Classe: é uma descrição de um conjunto de objetos que compartilham os


mesmos atributos, operações, relações e semântica.

3) Relacionamento: é uma conexão entre elementos de um modelo. Ex:


relacionamento de associações e generalizações.
5. Conceituar: Operações, métodos, polimorfismo. Métodos
que deram origem a UML. Conceito dos diagramas existentes
na UML.
“Se os teus projetos forem para um ano, semeia um grão.
Se forem para dez anos, planta uma árvore.
Se forem para cem anos, educa o povo”
Provérbio chinês

“Nem todos se contentam com sua aparência, mas todos


se contentam com seu cérebro”
Provérbio judaico

1) Operação:é um serviço que é requisitado a um objeto como parte do seu


comportamento em resposta a estímulos. Uma operação tem uma assinatura que
pode restringir quais parâmetros reais são possíveis.

2) Métodos: métodos são os programas internos dos objetos. Eles respondem a


mensagens que reconheçam.

3) Polimorfismo: é o comportamento diferente de objetos diferentes de uma


mesma classe. Ela é causada pela variação que pode ocorrer na herança de uma
superclasse para uma subclasse.

O que é UML?
Unified modeling language. É uma linguagem de modelagem. É uma linguagem
visual de diagramas utilizada na modelagem orientada a objetos para estudo de
sistemas existentes e projetos de novos sistemas.
Justificativa: é preferível verificar erros de construção baseado-se nos modelos do
que construí-la e utiliza-la para depois esperar que apareçam os erros.

Métodos que deram origem à UML

A UML se originou da junção de três correntes de estudo:


OOD (Projeto Orientado a Objetos) de Glady Booch
OMT (Técnica de Modelagem de Objetos) de James Rumbaugh
OOSE (Engenharia de Software Orientada a Objetos) de Ivar Jacobson

A função da UML é parecida com a de outras ferramentas de modelagem: DFD,


DER, DTE (diagrama de transição de estados). Ela é uma linguagem no sentido
de permitir que desde a representação de funções básicas do sistema (e seus
respectivos responsáveis) até o planejamento da arquitetura de implementação de
modo que todo processo ocorra de maneira coerente e com estreita ligação com o
plano anterior.

A UML e o desenvolvimento de software:


Qualquer desenvolvimento de software tem de passar pelas etapas de análise,
projeto, implementação, testes e manutenção.

Conceitos da UML:

1) Independência do processo de desenvolviemento das linguagens de


programação;
2) Disponibilização de mecanismos de especificações para representar os
níveis conceituais;
3) Incentivo ao crescimento das aplicações desenvolvidas no conceito de
orientação a objetos;
4) Suporte para o desenvolvimento de alto nível: padrões, componentes etc.

Ver apresentação em PowerPoint.

Exercícios:

1. (Concurso para o cargo de Analista de Finanças e Controle, prova do CGU aplicada pela banca
ESAF no ano de 2004)

Analise as seguintes afirmações relativas à UML:


I. A identidade de objeto é a propriedade pela qual cada objeto, dependendo
apenas de sua classe ou estado, pode ser identificado e tratado como uma
entidade distinta de software. Este princípio de dependência entre a identidade de
um objeto e seu estado viabiliza a herança nas linguagens orientadas a objetos.
II. Na UML6, a construção da generalização é representada como uma seta com
uma ponta "aberta" e permite ao desenho indicar tanto a herança simples quanto a
herança múltipla.
III. Um atributo será considerado de estado quando puder assumir valores infinitos
com transições ilimitadas entre eles.
IV. Uma associação na UML representa um conjunto de vínculos de
relacionamento entre instâncias de classe.

Estão corretos os itens:


a) I e II
b) II e III
c) III e IV
d) I e III
e) II e IV

2. (Concurso para o cargo de Analista de Finanças e Controle, prova do CGU aplicada pela banca
ESAF no ano de 2004)

6
Iti-e; ni-c; san-c; yon-d; go- e
No desenvolvimento Orientado a Objetos usando UML, um prefixo é incorporado a
um nome de atributo ou nome de operação para indicar a visibilidade da
propriedade. Com relação ao prefixo utilizado com esta finalidade, é correto
afirmar que os atributos ou operações

a) protegidas são prefixados com o sinal de subtração (-).


b) públicas são prefixados com o sinal de subtração (-).
c) públicas são prefixados com o sinal de adição (+).
d) privadas são prefixados com o sinal de subtração (-).
e) privadas são prefixados com o símbolo de número (#).

3. (Concurso para o cargo de Analista de Finanças e Controle, prova do CGU aplicada pela banca
ESAF no ano de 2004)
Na modelagem com UML, um Diagrama de Seqüência mostra interações de
objetos organizados em uma seqüência de tempo,

a) mas quando utilizado para representar a autodelegação ou mensagem de


autochamada assíncrona, não trata o tempo como uma dimensão separada.
b) definindo todos os possíveis estados de um sistema.
c) mas não trata associações entre os objetos.
d) mas não trata a autodelegação ou mensagem de autochamada.
e) sendo largamente utilizado de forma individualizada para cada classe, com o
objetivo de tornar o estudo simples o bastante para se ter um diagrama
compreensível.

4. (Concurso para o cargo de Analista de Finanças e Controle, prova do CGU aplicada pela banca
ESAF no ano de 2004)
Na modelagem com UML, o Diagrama de Casos de Uso fornece
a) o comportamento dinâmico do sistema, tornandose ideal para especificar as
exigências de tempo real ou restrições do desenho.
b) o contexto completo de uma interação, inclusive os objetos e seus
relacionamentos pertinentes a uma interação particular.
c) o comportamento estático do ator que participa deste diagrama, apenas com o
objetivo de receber a informação final de execução do processo.
d) um modo de descrever a visão externa do sistema e suas interações com o
mundo exterior, representando uma visão de alto nível da funcionalidade do
sistema mediante uma requisição do usuário.
e) um gráfico de atores montado sem a especificação de domínio, comunicações
ou associações entre atores.

5. (Concurso para o cargo de Analista de Finanças e Controle, prova do CGU aplicada pela banca
ESAF no ano de 2004)
Na programação Orientada a Objetos
a) as Classes definem o comportamento dinâmico de uma instância.
b) as Classes definem os serviços que podem ser solicitados a um construtor.
c) a união de todos os objetos de uma classe forma seu método construtor.
d) o diagrama de classes reflete o comportamento dinâmico do programa.
e) as Classes são tipos de objetos que descrevem as informações armazenadas
e os serviços providos por um objeto.

6. (Concurso para o cargo de Analista de Finanças e Controle, prova do CGU aplicada pela banca
ESAF no ano de 2004)
Analise as seguintes afirmações relativas à programação Orientada a Objetos:

I. O polimorfismo possibilita que o mesmo nome possa ser utilizado em diferentes


métodos em uma mesma classe, desde que, por exemplo, as quantidades de
parâmetros sejam diferentes.

II. Os métodos estáticos, quando executados, acessam apenas os atributos de


instância da classe.

III. O uso de um mesmo nome para identificar diferentes implementações dos


métodos pode ocorrer na definição de construtores.

IV. Na hierarquia de classes, a herança múltipla ocorre quando existem diversas


classes imediatamente abaixo da classe em questão.

Estão corretos os itens:

a) I e II
b) II e III
c) III e IV
d) I e III
e) II e IV
6. Conceito dos diagramas existentes na UML

Se dois homens vêm andando por uma estrada, cada um


carregando um pão e, ao se encontrarem, eles trocarem
os pães, cada homem irá embora com um... Porém, se
dois homens trocarem idéias, cada homem irá embora
com duas...” Sempre que possível, troque idéias,
elas esclarecem, acrescentam, ajudam, evoluem... Ainda
que você não precise, servirão para o outro.
Provérbio chinês

1. Casos de uso,
é um gráfico bidimensional de elementos de modelagem que pode conter tipos,
pacotes, relacionamentos, instâncias, objetos e vínculos (conexão entre dois
objetos)

2. Diagrama de Classes,
é um gráfico bidimensional de elementos de modelagem que pode conter tipo,
pacotes, relacionamentos, instâncias, objetos e vínculos (conexão entre dois
objetos)

3. Diagramas de interação: seqüência e colaboração


3.1. seqüência: apresenta a interação de seqüência de tempo dos objetos
que participam na interação. Asduas dimensões desse diagrama são: na
vertical, o tempo, e na horizontal os diferentes objetos. Esse diagrama
mostra a colaboração dinâmica entre número de objetos, e as mensagens
entre os mesmos.
3.2. colaboração: apresenta a interação dinâmica de um caso de uso junto
a objetos e vínculos.

4. atividade
é um tipo de diagrama de estado no qual a maioria dos estados é estado de
ação. Seu propósito é estudar fluxos de processamento descrevendo
atividades desempenhadas em cada operação.

5. estado
apresenta seqüências de estados que um objeto ou uma interação assume em
sua vida em resposta a estímulos recebidos, juntamente com suas respostas e
ações. É tipicamente o complemento de uma classe e relaciona os posíveis
estados que objetos da classe podem ter, e quais eventos podem causar a
mudança de estado ou transição.

6. Diagramas de implementação: podem ser diagramas de componentes, ou


de implementação.
6.1.Diagrama de componentes mostra as dependências entre componentes
de software, código fonte, componentes executáveis.
6.2. Diagrama de implantação: apresenta os elementos de configuração de
processamento “run-time” e os componentes de software, processos e
objetos que neles se mantêm.

Estudo e elaboração de diagramas de Casos de Uso

Estudo e elaboração de diagramas de Classes

Estudo e elaboração de diagramas de Seqüência

Estudo e elaboração de diagramas de Estado

Estudo e elaboração de diagramas de Implantação

You might also like