Objetos II
Profa. Simone Cristina Aléssio
2015
Copyright © UNIASSELVI 2015
Elaboração:
Profa. Simone Cristina Aléssio
005.1
A372a Aléssio, Simone Cristina
Análise orientada a objetos II/ Simone Cristina Aléssio.
Indaial : UNIASSELVI, 2015.
156 p. : il.
ISBN 978-85-7830-934-3
O conteúdo continua na íntegra, mas a estrutura interna foi aperfeiçoada com nova
diagramação no texto, aproveitando ao máximo o espaço da página, o que também
contribui para diminuir a extração de árvores para produção de folhas de papel, por exemplo.
Todos esses ajustes foram pensados a partir de relatos que recebemos nas pesquisas
institucionais sobre os materiais impressos, para que você, nossa maior prioridade, possa
continuar seus estudos com um material de qualidade.
IV
V
VI
Sumário
UNIDADE 1 – REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE
CONCEITOS DA UML, DIAGRAMAS DE VISÃO COMPORTAMENTAL:
CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE
MÁQUINA DE ESTADOS........................................................................................... 1
VII
5.2 SUBFLUXO........................................................................................................................................ 30
5.2.1 Pontos de extensão.................................................................................................................. 31
5.3 FLUXO ALTERNATIVO.................................................................................................................. 31
6 ELEMENTO RELAÇÕES...................................................................................................................... 32
6.1 ASSOCIAÇÃO................................................................................................................................... 32
6.2 ATOR X ATOR................................................................................................................................... 32
6.3 ATOR X CASO................................................................................................................................... 32
6.4 ELEMENTO DEPENDÊNCIA - INCLUSÃO E EXTENSÃO..................................................... 33
7 EXTENSÃO............................................................................................................................................. 34
8 ELEMENTO GENERALIZAÇÃO/ESPECIALIZAÇÃO................................................................. 34
9 DICAS IMPORTANTES....................................................................................................................... 36
RESUMO DO TÓPICO 2........................................................................................................................ 39
AUTOATIVIDADE.................................................................................................................................. 40
VIII
2.2 IDENTIFICAR OS OBJETOS TANGÍVEIS.................................................................................... 84
2.3 AGRUPAR OS OBJETOS POR SEMELHANÇA.......................................................................... 85
2.4 DELIMITAR CLASSES REDUNDANTES OU QUE NÃO SÃO NECESSÁRIAS................... 85
2.5 MONTANDO O DIAGRAMA DE CLASSE................................................................................. 85
2.6 REALIZANDO AS PRIMEIRAS LIGAÇÕES................................................................................ 86
3 DIAGRAMA DE CLASSE COMPLETO........................................................................................... 88
3.1 DIAGRAMA DE PACOTES............................................................................................................ 89
3.1.1 Definindo as classes de um Pacote........................................................................................ 90
3.1.2 Principais componentes: pacotes........................................................................................... 91
RESUMO DO TÓPICO 2........................................................................................................................ 93
AUTOATIVIDADE.................................................................................................................................. 95
IX
2.1.7 Avaliação da Aplicação do Diagrama de Atividades....................................................... 136
2.1.8 Conclusões ............................................................................................................................. 137
LEITURA COMPLEMENTAR.............................................................................................................. 138
RESUMO DO TÓPICO 3...................................................................................................................... 150
AUTOATIVIDADE................................................................................................................................ 151
REFERÊNCIAS........................................................................................................................................ 153
X
UNIDADE 1
REVISÃO DE CONCEITOS DE
ORIENTAÇÃO A OBJETOS, REVISÃO
DE CONCEITOS DA UML, DIAGRAMAS
DE VISÃO COMPORTAMENTAL: CASOS
DE USO, DIAGRAMA DE ATIVIDADES E
DIAGRAMA DE MÁQUINA DE ESTADOS
OBJETIVOS DE APRENDIZAGEM
A partir desta unidade, você será capaz de:
PLANO DE ESTUDOS
Esta unidade de ensino contém três tópicos. Ao final de cada um deles você
encontrará atividades que contribuirão para a apropriação dos conteúdos.
1
2
UNIDADE 1
TÓPICO 1
1 INTRODUÇÃO
Este tópico reapresenta conceitos que são o alicerce da disciplina, bem
como os seus principais autores, conforme mostra a Figura 1.
3
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
1970 - 1983
Approach, também sobre técnicas É lançada linguagem de programação
de orientação a objetos. Smaltalk, desenvolvida no centro de
D. Embley, B. Kurtz, e S.Woodfield pesquisas da Xerox em Palo Alto, Estados
publicam o livro Object - Oriented Unidos. Essa foi por muito tempo a única James
System Analysis. A linguagem 100% orientada a objetos.
Martin
Madel-Driven Approach.
1980 - Surge a linguagem de
1993 - Grady Booch programação C++, que também pode
lança seu Booch Method ser orientada a objetos.
com técnicas para
análise e projeto 1983 - Jean Ichbiah cria a linguagem
orientado a objetos. ADA a pedido do Departamento
de Defesa dos Estados Unidos, James
também orientada a objetos. Gosling
4
TÓPICO 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML
Kay foi considerado o pai da orientação a objetos. Foi ele quem definiu
o computador como um organismo vivo, promovendo a independência das
células, que, mesmo independentes, deveriam se relacionar ou juntar-se a outras,
a fim de atingir um objetivo específico.
2 ORIENTAÇÃO A OBJETOS
O objetivo da orientação a objetos é o de aproximar o desenvolvimento de
software da realidade dos acontecimentos, do fluxo real da informação. Para isso,
cria elementos e dados que tenham funcionalidades em si mesmos.
2.1 ABSTRAÇÃO
Abstração é uma característica específica da entidade, fazendo com que a
mesma se torne distinta de todas as outras entidades envolvidas em um modelo
de dados.
5
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
2.2 CLASSE
Para os autores Booch, Rumbaugh e Jacobson (2005), a classe descreve
vários objetos, que juntos compartilham os mesmos atributos, operações,
relacionamentos e semântica. A representação completa de uma classe tem quatro
divisões, conforme podemos visualizar na Figura 2.
+ abrirPortas( ): vold
+ fecharPortas( ): vold
+ ligar( ): vold
+ desligar( ): vold Métodos
+ acelerar( ): vold
+ frear( ): vold
+ trocarMarcha( ): vold
Responsabilidades
- Se locomover na
velocidade e direção Responsabilidades
indicados pelo usuário.
- Acelerar quando
solicitado.
- Frear quando
solicitado.
+ abrirPortas( ): vold
+ fecharPortas( ): vold
+ ligar( ): vold
+ desligar( ): vold
+ acelerar( ): vold
+ frear( ): vold
+ trocarMarcha( ): vold
Nome da classe: Cada classe deve ter um nome único, que seja capaz de
diferenciar a mesma de outras classes (BOOCH; RUMBAUGH; JACOBSON, 2005).
6
TÓPICO 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML
2.2.1. Método
Para modificar o seu comportamento, um objeto da classe pode solicitar
um serviço. É algo que muda o objeto e que pode afetar todos os objetos da classe
(BOOCH; RUMBAUGH; JACOBSON, 2005). Relembre alguns dos principais
métodos, conforme descrição abaixo:
Os métodos especiais
2.2.2 Responsabilidades
As responsabilidades remetem às obrigações das classes, que, quando
criadas, estabelecem que todos os seus objetos terão o mesmo estado e tipo de
comportamento. Por isso é possível representar uma classe apenas com seu nome
ou com nome dos principais atributos e principais métodos, de acordo com o que
se quer analisar ao iniciar a criação dos diagramas.
7
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
8
TÓPICO 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML
Empresa Pedido
Representação da
- nome: String - numero: Int agregação entre
- ramoAtividade: String - data: Date classes UML 2.0.
- cnpj: String - valor Total: double
1
1
*
*
ItemdePedido
Representação de
Departamento -- descrição: String uma composição
- quantidade: Int UML 2.0.
- nome: String - precoUnitario: double
9
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
+ andar ( ): void
+ falar ( ): void
Funcionario
- salario: double
- nroCarteiraProfissional: String
+ trabalhar ( ): void
Generalização
FONTE: Piva (2010)
2.2.4 Mensagem
As mensagens configuram uma forma de comunicação entre os objetos. Elas
carregam informações de uma determinada atividade que está por ser executada. Os
seja, objetos trocam informações para tornar possível o funcionamento dos sistemas.
2.2.5 Objeto
É pelo objeto que se concretiza a abstração, através de entidades bem
definidas, entidades que encapsulam estados e comportamentos; é a instância
de uma classe. Utilizando como exemplo um automóvel, podemos pensar nos
atributos como sendo: o modelo, cor, ano de fabricação, combustível, e seus
métodos como: andar, acelerar, frear, entre outros. Ao pensar nas responsabilidades
do automóvel, podemos dizer que ele deve obedecer aos comandos que lhe são
impostos, como aceleração, velocidade, trajeto etc. (PIVA, 2010).
10
TÓPICO 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML
Ainda de acordo com o Piva (2010) podemos perceber cinco diferentes visões
proporcionadas pela UML durante a construção de modelos de software. São elas:
11
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
• blocos de construção;
• regras que restringem como os blocos de construção podem ser associados
entre si;
• mecanismos de uso geral, que dão mais clareza às definições criadas pelos
blocos de construção. Estes, por sua vez, são de três tipos: itens, relacionamentos
e diagramas (PIVA, 2010).
4.1.1 Itens
São as abstrações em si e a base da UML. Os itens mantêm relacionamentos,
que são mantidos pelos diagramas. Existem diferentes tipos de itens, que podem
ser classificados em quatro grupos: estruturais, comportamentais, de agrupamento
e anotacionais, que serão estudados no decorrer deste caderno.
• classes;
• as interfaces;
• as colaborações;
• os casos de uso;
• os componentes;
• os artefatos;
• os nós.
12
TÓPICO 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML
FIGURA 8 – COLABORAÇÃO
Controle
de Estoque
Solicitar
Preço
13
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
FormCliente
<<artefato>>
Cliente.class
FIGURA 12 – REPRESENTAÇÃO DE NÓ
Servidor
imprimir
Nota Fiscal
14
TÓPICO 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML
EmEspera
Controle
15
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
4.2 DIAGRAMAS
A versão 2.0 da UML traz consigo 13 diagramas, divididos em quatro
grupos:
• diagramas estruturais;
• diagramas comportamentais;
• diagramas de interação;
• diagramas de implementação.
16
TÓPICO 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML
Diagramas
da UML
Diagramas Diagramas
Estruturais Comportamentais
Diagrama Diagrama de
Diagrama Diagrama Casos de Uso
de Objetos de Classes de Pacotes
Diagrama
de Transições
de Estados
Diagrama de Diagrama de
Estrutura Composta Diagrama de
implementação Atividades Diagrama
de Interação
Diagrama de Diagrama de
Componentes Implantação Diagrama Diagrama de Diagrama de
de Sequência Temporação Colaboração
Diagrama de Visão
Geral da Interação
São elas:
• Nome: sempre devemos lembrar que o nome de um item deve deixar clara
sua formação, suas ações e responsabilidades. Não devemos nos esquecer
também de que esse nome é único dentro de um modelo.
• Escopo: todo item inserido em um modelo deve mostrar claramente quais
são seus limites, o que implementa e quando pode ser utilizado.
• Visibilidade: indica que é necessário também que fique claro quando um
item estará disponível para ser utilizado e que ações estarão disponíveis por
seu intermédio.
• Integridade: também é importante levar em conta na criação de um item a
definição clara de como este se relaciona e a consistência de tal relacionamento.
• Execução: deve estar evidente ainda o que o modelo representa e/ou simula.
O que queremos observar com a criação desse modelo.
17
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
18
RESUMO DO TÓPICO 1
Neste tópico você aprendeu que:
• A UML oferece diversos subsídios para a criação de modelos claros que nos
auxiliam na construção de soluções de software de qualidade.
19
AUTOATIVIDADE
2 Defina classe.
3 Defina objeto.
5 O que é um diagrama?
20
UNIDADE 1
TÓPICO 2
1 INTRODUÇÃO
Desenvolver um software exige do gestor do projeto a habilidade de
equilibrar pessoas, atividades, tecnologias e metodologias. Projetos de softwares
são cercados por riscos desde a sua fase embrionária. Com isso, os modelos
surgem como uma alternativa ágil para tornar a correção mais rápida e com
custo reduzido. O próprio uso de modelos já possibilita reduzir o custo do
desenvolvimento das atividades, pois permite prever o comportamento do
sistema quando o mesmo estiver finalizado e em uso.
21
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
Visão de Visão da
Projeto Implementação
Funcionalidade Codificação
Vocabulário Montagem
Visão de
Caso de Uso
Visão do Visão da
Processo Implantação
Desempenho Topologia do Sistema
Escalabilidade Distribuição
Throughput Instalação
Conceitual Físico
2 UML
UML significa Linguagem de Modelagem Unificada de projetos orientados
a objetos. É uma linguagem, não podendo ser considerada um método.
NOTA
22
TÓPICO 2 | MODELO DE DESENVOLVIMENTO, DIAGRAMAS DA UML,
uma ferramenta ágil, pois combina e suporta as melhores técnicas, que vão
desde a modelagem dos dados até o levantamento e engrenagem de todos os
componentes do sistema.
NOTA
3 DIAGRAMAS DA UML
Diagramas, na verdade, são gráficos que permitem visualizar o sistema de
formas diferentes. Pela notação dos diagramas da UML é possível descrever de
forma ágil e objetiva todos os aspectos da modelagem de dados, sendo que cada
diagrama tem seu significado, sua notação e a forma de ser utilizado (ANDRADE,
2007). Os diagramas da UML estão classificados em dois grupos distintos:
estruturais e comportamentais, sendo que o primeiro grupo mostra tudo o que não
muda no sistema, e o segundo mostra as reações e evoluções do mesmo.
NOTA
Cada diagrama analisa o sistema, ou parte dele, sob uma determinada ótica
(GUEDES, 2007).
Diagramas
da UML
Diagramas Diagramas
Estruturais
24
Diagrama de Diagrama de
Diagrama Diagrama de Diagrama Diagrama Diagrama Diagramas de Diagrama de
Estrutura Transições
de Objetos Implementação de Classes de Pacotes de Atividades Interação Casos de Uso
Composta de Estados
25
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
TURO S
ESTUDOS FU
4 DIAGRAMAS COMPORTAMENTAIS
Os diagramas de comportamento têm o mesmo objetivo da modelagem
dinâmica do sistema. São usados para visualizar, especificar, construir e
documentar os aspectos do sistema que sofrem mudanças ao longo do
tempo, como, por exemplo, o fluxo de mensagens e a movimentação física de
componentes em uma rede.
Diagramas
Comportamentais
Diagrama de
Diagrama de Diagrama de Diagrama de
Transições
Atividades Interação Casos de Uso
de Estados
o Diagrama de Sequência
o Diagrama de Comunicação
o Diagrama de Tempo
o Diagrama de Interação Geral
26
TÓPICO 2 | MODELO DE DESENVOLVIMENTO, DIAGRAMAS DA UML,
NOTA
Estes diagramas especificam o que o sistema faz, mas não detalham como
o trabalho deve ser feito.
Vender CDs
Atendente
Administrar estoque
Gerente
FONTE: Tacla (2010)
27
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
o Sim => deve haver casos para que os atores possam notificar o sistema
28
TÓPICO 2 | MODELO DE DESENVOLVIMENTO, DIAGRAMAS DA UML,
4.4.1 Descrição
A UML não apresenta uma descrição padrão para casos de uso, sendo
composta por diagramas informais. Vale lembrar que os diagramas de caso de
uso facilitam a visualização, mas não são descritos detalhadamente, sendo que
o uso deste diagrama apenas não é considerado suficiente para a compreensão e
modelagem total da situação (TACLA, 2010, p. 17).
• Nome
• Descrição
• Requisitos (requirements): são os requisitos funcionais providos pelo caso de uso
• Restrições (constraints), tais como pré e pós-condições e condições invariantes:
o Precondições: “define o que deve ser verdadeiro para que o caso de uso seja
iniciado. Por exemplo, num sistema bancário, para o caso de uso Abrir conta
corrente, uma precondição é apresentar CPF sem restrições (aprovação do
pedido)” (TACLA, 2010, p. 17).
o Pós-condições: “o que se torna verdadeiro pela execução do caso de uso. No
mesmo caso de uso acima, o sistema pode se encontrar em um dos seguintes
estados: conta aberta e com um depósito inicial ou conta não aberta por
reprovação do CPF” (TACLA, 2010, p. 17).
5 FLUXO DE EVENTOS
Um fluxo de evento serve para descrever como o sistema e os atores
cooperam entre si para entregar algo de valor aos atores e também descrevem
o que pode impedir que isso aconteça. Na verdade, um fluxo de eventos faz a
descrição de um caminho entre muitos, uma vez que um caso de uso pode ser
representado e executado de formas distintas (TACLA, 2010).
29
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
“Se estiver chovendo muito, os 500m na terra podem ser bem difíceis,
porque o barro é mole. Neste caso, siga reto no entroncamento (ao invés de virar
à direita) e na próxima à direita pegue a rua de paralelepípedos. Ande cerca de 1
km e depois vire na segunda à direita que vai desembocar na frente da chácara”
(TACLA, 2010, p. 18) // EXEMPLO DE FLUXO ALTERNATIVO 1
“Se você for comprar o pinhão no caminho, logo depois de fazer o retorno
da BR tem uma venda. Se estiver fechada, um pouco mais à frente tem um
senhor da Chácara Pinhais que também vende. Se não encontrar pinhão, não tem
problema” (TACLA, 2010, p. 18) // EXEMPLO DE FLUXO ALTERNATIVO 2
Tacla (2010) sugere que nas fases iniciais de análise dos dados é importante
manter o foco nos fluxos básicos, pois 80% do tempo de execução de um sistema são
ocupados por casos primários. Mas não devemos nos esquecer de documentar os
fluxos alternativos, uma vez que ambos documentam como as responsabilidades
especificadas nos casos de uso são divididas entre sistema e atores.
E
IMPORTANT
5.2 SUBFLUXO
NOTA
30
TÓPICO 2 | MODELO DE DESENVOLVIMENTO, DIAGRAMAS DA UML,
NOTA
Privados: caso sejam visíveis somente dentro do caso de uso onde foram criados.
Públicos: quando estendem o caso onde foram definidos.
31
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
6 ELEMENTO RELAÇÕES
São várias as relações em Casos de Uso, mas as mesmas não representam
a ordem de execução dos casos. E as mesmas devem melhorar a compreensão
daquilo que o sistema deve executar.
6.1 ASSOCIAÇÃO
Associação é a mais comum das relações. Pode ser percebida entre dois
atores ou entre um ator e um caso de uso. São representadas por uma linha cheia,
com ou sem direção.
Realizar Empréstimo
livro
Realizar Devolução
Usuário Biblioteca Atendente
FONTE: Tacla (2010)
32
TÓPICO 2 | MODELO DE DESENVOLVIMENTO, DIAGRAMAS DA UML,
<<Include>>
Emitir Boleto
Alocar Alunos as Turmas
<<Include>>
Aluno <<Include>>
Efetuar Matrícula
<<Include>>
Escolher Disciplinas
NOTA
33
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
7 EXTENSÃO
É uma indicação de que outros casos de uso poderão ser adicionados a um
caso de uso específico. Para Tacla (2010, p. 25):
values
aluno formado aluno formado e um
Aluno ponto de extensão
<<extend>>
8 ELEMENTO GENERALIZAÇÃO/ESPECIALIZAÇÃO
A relação de generalização/especialização pode ocorrer entre casos de uso
ou entre atores.
Caso x Caso
34
TÓPICO 2 | MODELO DE DESENVOLVIMENTO, DIAGRAMAS DA UML,
Ator x Ator
35
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
Aluno
9 DICAS IMPORTANTES
Casos de uso auxiliares
36
TÓPICO 2 | MODELO DE DESENVOLVIMENTO, DIAGRAMAS DA UML,
Estrutura e detalhamento
37
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
Passos
38
RESUMO DO TÓPICO 2
Neste tópico você viu que:
39
AUTOATIVIDADE
40
8 Em uma empresa, vários projetos são realizados. Os 50 empregados da
empresa trabalham em pelos menos um projeto. Há um sistema implantado
na empresa que permite aos participantes de um determinado projeto
marcarem suas horas de trabalho. Esse sistema também permite que outra
pessoa, ao fim do mês, gere os relatórios com os totais de horas trabalhadas
de cada participante. Quantos atores você definiria para esse sistema?
FONTE: Disponível em: <http://ebrito.com.br/profa-elaine/ExGabarito.pdf>. Acesso em: 20
out. 2015.
41
42
UNIDADE 1
TÓPICO 3
1 INTRODUÇÃO
O diagrama de atividades é um gráfico de fluxo e mostra basicamente o
fluxo de controle de uma atividade para outra, sendo utilizado para modelar o
comportamento dos processos. É um dos diagramas que mais sofreu alterações
desde o surgimento da UML, e abrange a visão dinâmica da UML (modela
situações que sofrem mudanças no sistema). Neste diagrama, uma atividade é
modelada através de uma sequência estruturada de ações sendo controladas, na
maioria das vezes, por nós de decisão.
43
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
Verificar
Login,
Senha
login inválido
Logar no
sistema Funcionário
Passar
código da
Verificar
Barra do
cartão inválido Existência
cartão do
do Produto Produto
cliente
cartão válido
existe Verificar
Digitar a Saldo do
ItemCompra
quantidade Produto
comprada
do Produto não possui saldo suficiente
44
TÓPICO 3 | DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
2 AÇÃO
Uma ação é uma ação que não pode ser decomposta dentro de uma
atividade. Já uma atividade é representada por ações ou subatividades. Uma
ação não inicia sua execução até que todas as suas condições de entrada sejam
satisfeitas. Somente quando uma ação é terminada é que a ação subsequente
fica habilitada.
FONTE: Disponível em: <http://issuu.com/geeadcps/docs/livro3_alta/81>. Acesso em: 10 out. 2015.
NOTA
Ações também podem ser entendidas como precondições, que irão definir
condições necessárias para que uma ação possa ser executada, e também pós-condições
que vão definir o estado depois que a ação for executada.
3 ATIVIDADES
Atividades podem ser representadas por sequências de ações e
também de subatividades. Dessa forma, para representar uma
subatividade dentro de uma atividade (ou seja, todo um conjunto de
ações ou subatividades), utiliza-se uma representação semelhante à de
uma ação, com um pequeno ícone no canto direito inferior. Disponível
em: <www.dca.fee.unicamp.br/~gudwin/ftp/ea976/AtEst.pdf>. Acesso
em: nov. 2015.
4 EVENTOS
São situações onde ocorrem mudanças de estado de forma muito rápidas
e estabelecem o início de outra ação.
5 NÓS DE CONTROLE
Nós de controle existem para controlar o fluxo dos processos e os dados
entre as ações.
6 PONTOS DE EXTENSÃO
Evitam que o diagrama fique muito poluído, pois permitem a partição das
ações.
45
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
FIGURA 28 – EXTENSÕES
Usuário Sistema
Sistema na
tela principal
Seleciona Opção
"Pagamento de
Contas "
Abre Janela
"Pagamento
de Contas"
Seleciona
opção
[opção = continua]
[opção = cancela]
Abre Janela
Insere de password
Dados
Solicita
cancelamento
Clica OK
Limpa tela
de password
Insere
password Efetua
pagamento
Solicita Fecha tela
da conta
cancelamento de password
Fecha tela de
pagamento
de contas
46
TÓPICO 3 | DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
47
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
1
Início
Receber nº da conta
2
Pesquisar conta
Emitir mensagem
3 Conta existe?
(Não) de conta válida
4
(Sim)
Emitir mensagem
de conta válida
5
Fim
FONTE: Piva (2010)
48
TÓPICO 3 | DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
determina os custos da casa. Após concordar com um preço e com uma forma
de pagamento, a construção pode começar. As licenças são tiradas, o terreno
é cavado, a fundação é cimentada, as estruturas são erguidas e assim por
diante, até tudo ficar pronto. Você então recebe as chaves e um certificado de
“habite-se” e toma posse da casa. Embora seja uma grande simplificação do
que realmente acontece em um processo de construção, essa descrição capta o
percurso crítico do fluxo de trabalho correspondente.
Estado inicial
Contratar arquiteto
Desenvolver plano
Orçar plano
[rejeitado]
União concorrente
CertificadoDeHabitse
Construir construção
[Concluído]
49
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
Características:
50
TÓPICO 3 | DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
Informa novo
código do Cliente
Verifica se o
cliente já existe
Exibe mensagem
ao usuário
51
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
recebeProduto( )
quantidadeEstoque+quantidadeEntrada>pontoEncomenda
Ativo(I) Ponto de encomenda (2)
pagaCompra( )
quantidadeEstoque<=pontoEncomenda
pagaCompra( )
quantidadeEstoque - - 0
Em falta (3)
recebeProduto( )
quantidadeEstoque<=pontoEncomenda
52
TÓPICO 3 | DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
LEITURA COMPLEMENTAR
1 INTRODUÇÃO
53
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
A Seção 2 descreve uma visão geral dos aspectos funcionais das ferramentas
colaborativas e algumas abordagens de avaliação disponíveis na literatura. Na
Seção 3 apresentam-se detalhes do grupo de alunos e do experimento realizado. Na
Seção 4 apresenta-se uma alternativa de avaliação da eficácia de aprendizado dos
grupos usando informações coletadas durante o uso da ferramenta colaborativa.
Por fim, na Seção 5 são apresentadas algumas considerações finais.
2 FERRAMENTAS COLABORATIVAS
54
TÓPICO 3 | DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
55
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
3 EXPERIMENTO REALIZADO
56
TÓPICO 3 | DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
57
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
parênteses após o valor discreto da variável foi utilizado para o cálculo do índice
de aproveitamento, descrito na próxima seção. Os valores contínuos das variáveis
QtdElementos, QtdTravas, TempoGasto e QtdMensagens foram obtidos a partir
dos dados armazenados no log da ferramenta.
58
TÓPICO 3 | DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
100
90
87
80 74 74
Aproveitamento (%)
78
70 69
61 62 61 62 61 62
60 56
52 52
50 43 43 Tarefa 1
40 Tarefa 2
39 30 Tarefa 3
30
20
10
0
Par 1 Par 2 Par 3 Par 4 Par 5 Par 6
Pares
59
UNIDADE 1 | REVISÃO DE CONCEITOS DE ORIENTAÇÃO A OBJETOS, REVISÃO DE CONCEITOS DA UML, DIAGRAMAS DE
VISÃO COMPORTAMENTAL: CASOS DE USO, DIAGRAMA DE ATIVIDADES E DIAGRAMA DE MÁQUINA DE ESTADOS
5 CONSIDERAÇÕES FINAIS
60
RESUMO DO TÓPICO 3
Neste tópico você viu que:
61
AUTOATIVIDADE
<<include>> Realizar
Manter Aluno
Matrícula
62
A evento02/atividade02
entry/atividade00
evento01/atividade01
evento02/atividade02 A
entry/atividade00
evento01/atividade01
evento03
B evento03
PORQUE
63
64
UNIDADE 2
DIAGRAMAS COMPORTAMENTAIS
(INTERAÇÃO)
OBJETIVOS DE APRENDIZAGEM
Ao final desta unidade você será capaz de:
PLANO DE ESTUDOS
Esta unidade de ensino contém três tópicos e no final de cada um deles você
encontrará atividades que contribuirão para a apropriação dos conteúdos.
65
66
UNIDADE 2
TÓPICO 1
DIAGRAMAS DE INTERAÇÃO
1 INTRODUÇÃO
Diagramas de Interação representam como o sistema age internamente para
que um ator atinja seu objetivo na realização de um caso de uso, com o objetivo de obter
informações adicionais para completar e aprimorar outros modelos (principalmente
o modelo de classes), além de fornecer aos programadores uma visão detalhada dos
objetos e mensagens envolvidos na realização dos casos de uso.
2 DIAGRAMA DE SEQUÊNCIA
Detalham a sequência de um processo, representando os atores e objetos
envolvidos num cenário e a sequência de troca de mensagens ao longo do tempo
para realizar o cenário. É construído a partir do diagrama de casos de uso. Ordena
de forma temporal as mensagens trocadas entre os objetos.
67
UNIDADE 2 | DIAGRAMAS COMPORTAMENTAIS (INTERAÇÃO)
objeto
:A :B
usuário
sincrona
ativação|
resposta
assincrona
Linha da
vida
68
TÓPICO 1 | DIAGRAMAS DE INTERAÇÃO
*[cláusula-iteração] ou[guarda]
69
UNIDADE 2 | DIAGRAMAS COMPORTAMENTAIS (INTERAÇÃO)
Objeto Mensagens
Ator Tempo
FONTE: Disponível em: <http://www.dmo.fee.unicamp.br/henrique/
cursoc++/diagrama.pdf>. Acesso em: 10 out. 2015.
Sistema da
VideoLocadora
Cliente Atendente Gerente
Buscar aluguel
Retornar registro de aluguel
Solicitar conversa com gerente.
Buscar fita
Retornar registro da fita
Negociar Multa
Pagar Multa
70
TÓPICO 1 | DIAGRAMAS DE INTERAÇÃO
de mensagens nas ligações entre esses objetos. E as ligações (linhas que ligam
objetos) remetem aos relacionamentos existentes entre os mesmos.
71
UNIDADE 2 | DIAGRAMAS COMPORTAMENTAIS (INTERAÇÃO)
:Funcionario
1: verificaFuncionario(cpf,senha): boolean
3: valorUnitario=verificaProduto(produto,quantidade): double
:ItemCompra
5: atualizaTotalCompra(valorTotalItem: boolean
:Compra
72
TÓPICO 1 | DIAGRAMAS DE INTERAÇÃO
FIGURA 37 – NOTAÇÃO
FONTE: O autor
FONTE: O autor
2.2.3 Atores
São os mesmos do Diagrama de Sequência e Casos de Uso. Atores enviam
e recebem mensagens através de vínculos, assim como ocorre com os objetos no
Diagrama de Comunicação.
2.2.4 Condições
São condições que devem ser atendidas para que uma mensagem possa
ser enviada. Notação: a condição vem entre colchetes antes da mensagem.
minha_conta: Conta
FONTE: O autor
73
UNIDADE 2 | DIAGRAMAS COMPORTAMENTAIS (INTERAÇÃO)
2.2.5 Autochamadas
Objetos podem disparar mensagens para eles mesmos, como ocorre
no Diagrama de Sequência. Esta situação indica que o objeto tem que fazer
determinada tarefa para finalizar o serviço solicitado.
fisica1:Fisica
1: valCPF0
FONTE: O autor
1: conCPF0
3: Abertura ( ) fisica1:Fisica
4: Gravar ( )
FONTE: O autor
74
TÓPICO 1 | DIAGRAMAS DE INTERAÇÃO
Avaliando submissões
Comunicando autores
Realizando congresso
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100
75
UNIDADE 2 | DIAGRAMAS COMPORTAMENTAIS (INTERAÇÃO)
76
RESUMO DO TÓPICO 1
Neste tópico você aprendeu que:
o Atores
o Objetos
o Linha do tempo (uma para cada objeto e ator)
o Comunicação entre ator e objeto ou entre objetos
o Interpretação das mensagens: por exemplo, evento do sistema operacional ou
de uma interface, envio de mensagem ou chamada de método.
77
• Em muitos projetos, usa-se ou o Diagrama de Sequência ou o Diagrama de
Comunicação, mas também pode-se criar ambos para análise de alguma
situação particular.
• O Diagrama de Temporização, como o nome diz, tem seu foco principal no estudo
do tempo gasto nas trocas de mensagens entre os componentes do sistema.
• Em geral usa as mesmas notações dos diagramas dos quais está englobando.
78
AUTOATIVIDADE
79
PessoaFisica
+ ConsultaCP F( ) : Int
+ ValidaCPF ( ) : System .Boolean
+ Gravar ( ) : System .Boolean
ContaComum Historico
a) Diagrama de Atividades.
b) Diagrama de Objetos.
c) Diagrama de Comunicação.
d) Diagrama de Sequências.
Marque a alternativa CORRETA:
80
UNIDADE 2 TÓPICO 2
1 INTRODUÇÃO
Modelam as situações estáticas do sistema, ou seja, seu esqueleto e
estruturas estáveis, que não sofrem mudanças (OMG, 2006).
Diagramas
Estruturais
Diagrama de
Diagrama Diagrama de Diagrama Diagrama
Estrutura
de Objetos Implementação de Classes de Pacotes
Composta
Diagrama de Diagrama de
Componentes Implantação
2 DIAGRAMA DE CLASSES
É apontado como sendo o diagrama mais utilizado, pois mostra o conjunto
de classes, interfaces, colaborações e relacionamentos. Sua utilização é ampla,
tendo início desde o momento da análise até o detalhamento da especificação
(GUEDES, 2011). É considerado também o diagrama que possui o maior
detalhamento quando pensamos em notações.
Apresenta as relações:
Clientes
- codPessoa
- num Cliente
+ setCadastrar ( )
+ getConsultar ( )
FONTE: O autor
2.1 CENÁRIO
Você trabalha para uma empresa de desenvolvimento como analista de
sistemas. O responsável pelo setor onde você trabalha, em uma reunião, distribuiu
tarefas para cada membro da equipe. Sua tarefa foi desenvolver um diagrama de
classe para que seja iniciado o desenvolvimento de um novo software.
82
TÓPICO 2 | DIAGRAMAS ESTRUTURAIS: DE CLASSES E DE PACOTES
Caso ele consiga resolver o que foi solicitado, o técnico do Service Desk
irá salvar o registro com a situação de “Resolvido” encerrando o caso, contudo,
deverá, em um local específico do registro, definir como ele resolveu o caso,
informando que se tratava de um Incidente[2], Problema[3] ou Solicitação[4]. O
registro deve ser categorizado, escolhendo dentre três classificações: Categoria
>>SubCategoria >> Item da categoria, onde a categoria é uma lista de tipo de
serviço, como, por exemplo: Se foi Hardware ou Software.
Caso o técnico do Service Desk não consiga resolver no seu prazo que
será o mais curto, deverá enviar o registro para outro grupo de atendimento,
onde existirão outros técnicos que poderão ir até o equipamento fisicamente
para resolver o problema com um prazo mais extenso. Um grupo é composto
por vários técnicos, no registro deve constar o grupo que atendeu e o técnico,
pois cada registro conta como receita em reais para o grupo sendo apurado ao
efetuar fechamento mensal. O pagamento para os grupos de atendimento é feito
por quantidade de registros atendidos no prazo estipulado.
83
UNIDADE 2 | DIAGRAMAS COMPORTAMENTAIS (INTERAÇÃO)
Ao final, caso o pedido tenha sido designado para outro grupo, ou esteja
em andamento, pendente, cancelado ou resolvido, deve-se informar em um
campo específico o que foi feito neste registro, resumidamente. Se a situação do
registro estiver definida como “Resolvido”, uma pesquisa de satisfação deverá
ser enviada para o solicitante.
Cliente
Telefone
Atendente
Solicitação
Grupo
Técnico
Equipamento
Histórico
Categoria
SubCategoria
Item da categoria
Pedido
Pesquisa de satisfação
Situações
Tipo de serviços
Prazos
84
TÓPICO 2 | DIAGRAMAS ESTRUTURAIS: DE CLASSES E DE PACOTES
Histórico não é algo tangível, porém, é algo que existe. Neste caso,
podemos entender como o histórico de ocorrências envolvendo o cliente.
85
UNIDADE 2 | DIAGRAMAS COMPORTAMENTAIS (INTERAÇÃO)
Pessoas
- codPessoa
- Pessoa
Pedidos Categorias
- codOrdem - codCategoria
- codDoc - categoria
- codCliente
- codFuncionario
- codGrupo
- codTipo Sub_Categorias
- codCategoria
- codsubCategoria - codCategoria
- codItem - subCategoria
86
TÓPICO 2 | DIAGRAMAS ESTRUTURAIS: DE CLASSES E DE PACOTES
Pessoas
- codPessoa
- Pessoa
Pedidos
- codOrdem
- codDoc
- codCliente
- codFuncionario
- codGrupo
- codTipo
- codCategoria
- codsubCategoria
- codItem
Documentos
- codDoc
- documento
87
UNIDADE 2 | DIAGRAMAS COMPORTAMENTAIS (INTERAÇÃO)
88
TÓPICO 2 | DIAGRAMAS ESTRUTURAIS: DE CLASSES E DE PACOTES
Pessoas
- codPessoa
- Pessoa
Equipamentos Pedidos
- codEquipamento - codOrdem Categorias
- codDoc
- codCliente - codCategoria
- codFuncionario - categoria
Pedido_Equipamentos - codGrupo
- codTipo
- codPedido - codCategoria Sub_Categorias
- codEquipamento - codsubCategoria
- codCategoria
- codItem
- subCategoria
- codTipo - codItem
Histórico_de_Atendimento - Item
- codHistorico
- codDoc
Pedido_Situações
- codSituação
- codOrdem Situações
- tempoNaSituação - codSituação
- situação
89
UNIDADE 2 | DIAGRAMAS COMPORTAMENTAIS (INTERAÇÃO)
• Cada pacote representa um espaço de nomes, o que significa que toda classe
deve ter um nome exclusivo dentro do pacote a que pertence. Se eu quiser
criar uma classe Date e já existir uma classe Date dentro do pacote System,
eu posso ter minha classe Date, desde que a coloque em um outro pacote.
• É um mecanismo de agrupamento geral que serve para agrupar vários
modelos.
• Organiza elementos em grupo e costuma ser utilizado na modelagem de
sistemas muito extensos.
• São utilizados para demonstrar os limites de cada subsistema e como eles se
inter-relacionam.
• Pode conter qualquer diagrama da UML, inclusive outros pacotes. Mais
comumente utilizado em Diagrama de Casos de Uso e Diagrama de Classes.
FONTE: O autor
90
TÓPICO 2 | DIAGRAMAS ESTRUTURAIS: DE CLASSES E DE PACOTES
util util
java
util
java::util
Date
Date
java::util::Date
91
UNIDADE 2 | DIAGRAMAS COMPORTAMENTAIS (INTERAÇÃO)
Classes de Projeto
Funcionario
GUI
Caixa
Floguin Dono Atendente
FManutençãoCompra
ItemCompra Compra
FManutençãoFornece Fornece
92
RESUMO DO TÓPICO 2
Neste tópico você aprendeu que:
93
• Representa um grupo de classes (ou outros elementos) que se relaciona com
outros pacotes através de uma relação de dependência.
o Cada pacote representa um espaço de nomes, o que significa que toda classe
deve ter um nome exclusivo dentro do pacote a que pertence. Se eu quiser
criar uma classe Date e já existir uma classe Date dentro do pacote System, eu
posso ter minha classe Date, desde que a coloque em um outro pacote.
o É um mecanismo de agrupamento geral que serve para agrupar vários
modelos.
o Organiza elementos em grupo e costuma ser utilizado na modelagem de
sistemas muito extensos.
o São utilizados para demonstrar os limites de cada subsistema e como eles se
inter-relacionam.
o Pode conter qualquer diagrama da UML, inclusive outros pacotes. Mais
comumente utilizado em Diagrama de Casos de Uso e Diagrama de Classes.
94
AUTOATIVIDADE
class Casa
Casa Pessoa
é propriedade
0..* 1
Casa Pessoa
+propriedade +proprietário
1..* 0..*
class eleições
eleitor 0..* eleitor 0..*
Pessoa Pessoa
vota>
candidatoPresidente candidatoPresidente
0..1 0..1
95
Livro 1...* Pagina 1...* Paragrafo
0..1
SobreCapa
6 Defina pacotes.
96
UNIDADE 2 TÓPICO 3
1 INTRODUÇÃO
Este diagrama está amplamente associado ao Diagrama de Classes.
97
UNIDADE 2 | DIAGRAMAS COMPORTAMENTAIS (INTERAÇÃO)
cart:Cartao prod:Produto
- nroCartao=123 - codigo:|- d
- datainicioUso= - descricao=Leite:
23/12/208 Tipo A
- dataFimUso=null - quantidadeEstoque
=38
- vllUnitarioVenda
= 2.65
- estoqueMinimo=
30.00
- situacao=|
comp:Compra itl:llemCompra
- dataCompra= - qualidade=3.00
27/10/2009 - data Registro=
- valorTotal=12.80 itl:llemFornece
27/10/2009
- terminada=true - horaRegistro=12:05 - produto=prod
- recebidoPor=func - atendidoPor.func - quantidade=4.00
- cliente=cart - valorUnitario=2.83
98
TÓPICO 3 | DIAGRAMAS ESTRUTURAIS: DE OBJETOS E DE COMPONENTES
3 DIAGRAMA DE COMPONENTES
Booch, Rumbaugh e Jacobson (2005) narram que um Diagrama
de Componentes mostra a organização e as dependências entre os vários
componentes de um sistema. Um componente representa um módulo físico
do código. As dependências entre os componentes mostram como mudanças
em um componente podem causar mudanças em outros componentes. Este
diagrama fornece uma visão modelada entre os módulos do próprio código-
fonte, bibliotecas e formulários, arquivos de banco de dados e demais arquivos
de sistema. Além de determinar como cada um desses elementos estará disposto
na organização do sistema e como interagem entre si (GUEDES, 2011). Mostra a
organização e as dependências existentes em um conjunto de componentes; os
diagramas de componentes abrangem a visão estática de implementação de um
sistema (BOOCH; RUMBAUGH; JACOBSON, 2005).
99
UNIDADE 2 | DIAGRAMAS COMPORTAMENTAIS (INTERAÇÃO)
3.1.1 Componente
É uma parte do sistema que é física e substituível e que está em
conformidade com um conjunto de interfaces (fornecidas e/ou requeridas). Um
componente é parte do sistema e é reutilizável.
3.1.2 Objetivos
• Organizar o código-fonte (ambiente de desenvolvimento).
• Construir um release executável (ambiente de produção).
• Especificar componentes como base de dados etc.
• Contém componentes, interfaces e relações entre componentes.
• Os pacotes de componentes podem ser utilizados para modelar a arquitetura
física.
• Identificar as principais peças do sistema.
100
TÓPICO 3 | DIAGRAMAS ESTRUTURAIS: DE OBJETOS E DE COMPONENTES
o Generalização
o Associação com outros componentes ou classes
o Implementação de interfaces
Na UML 2
101
UNIDADE 2 | DIAGRAMAS COMPORTAMENTAIS (INTERAÇÃO)
102
TÓPICO 3 | DIAGRAMAS ESTRUTURAIS: DE OBJETOS E DE COMPONENTES
LEITURA COMPLEMENTAR
Clodis Boscarioli
Anderson Bezerra
Marcos de Benedicto
Gilliard Delmiro
104
alguns pontos de diferenciação. Uma das principais exigências de um SGBDOO é
o armazenamento de objetos e suas operações de forma a prover uma integração
transparente com a aplicação, sem a necessidade de uma camada de tradução dos
dados. A Tabela 1 traz uma comparação entre três grandes SGBDOOs disponíveis
no mercado, o Objectivity/DB, o GemStone e o Jasmine, evidenciando que suas
funcionalidades não diferem muito com relação aos aspectos mais importantes
dos SGBDOOs.
105
5 Tendências
106
RESUMO DO TÓPICO 3
Neste tópico você aprendeu que:
107
AUTOATIVIDADE
1 Defina Componente.
108
UNIDADE 3
DIAGRAMAS ESTRUTURAIS
OBJETIVOS DE APRENDIZAGEM
Ao final desta unidade você será capaz de:
PLANO DE ESTUDOS
Esta unidade de ensino contém três tópicos e no final de cada um deles você
encontrará atividades que contribuirão para a apropriação dos conteúdos.
109
110
UNIDADE 3
TÓPICO 1
1 INTRODUÇÃO
Os Diagramas de Implantação mostram a topologia do sistema em
tempo de execução, representando a configuração e a arquitetura do mesmo
em relação aos seus componentes (BOOCH; RUMBAUGH; JACOBSON, 2006).
Ainda, na percepção dos autores, este tipo de diagrama modela a visão estática
da implantação do sistema, expressando o conjunto de hardware e demais
tecnologias físicas relacionadas com sua instalação. Também podem ser usados
para especificar os módulos do sistema que deverão ser instalados no cliente.
111
UNIDADE 3 | DIAGRAMAS ESTRUTURAIS
2 PRINCIPAIS COMPONENTES
Os nós podem representar dispositivos computacionais, como um
computador ou um celular, ou um recurso de computação, como um sistema
operacional, quaisquer outros softwares que integrem a estrutura da aplicação.
Possuem um nome e podem receber um estereótipo. Um nó é representado por
um cubo. Os nós executam os artefatos.
Uma associação entre dois nós representa uma conexão física entre os nós,
como uma conexão Ethernet, uma linha serial ou um link de satélite.
112
TÓPICO 1 | DIAGRAMA DE IMPLANTAÇÃO E ESTRUTURA COMPOSTA
<<sevidor>>
servidor web
<<banco operacional>>
:Linux
<<banco de aplicação>> <<web container>>
Computador Cliente <<HTTP>> :Tomcat
:Apache
<<navegador web>> <<artefato>>
:Internet Explorer :vendeTudo.war
<<10-T Ethernet>>
<<servidor>>
Servidor de Banco de Dados
<<sistema operacional>>
:windows server
<<banco de dados>>
:SQLServer
<<artefato>>
:vendeTudoBD
113
UNIDADE 3 | DIAGRAMAS ESTRUTURAIS
Peças
114
TÓPICO 1 | DIAGRAMA DE IMPLANTAÇÃO E ESTRUTURA COMPOSTA
Portas
Colaborações
Usos de Colaboração
115
UNIDADE 3 | DIAGRAMAS ESTRUTURAIS
multiplicidade
Visualizador
de TV
parte 1
controles:
ApresentadordeTV
conector de delegação
conector
tela
:Gerador [1]
API do controle da TV
116
RESUMO DO TÓPICO 1
117
AUTOATIVIDADE
a) Comunicação
b) Componentes
c) Implantação
d) Estrutura Composta
a) C; C; E; C
b) C; C; E; E
c) E; E; C; E
d) E; E; C; C.
118
UNIDADE 3
TÓPICO 2
1 INTRODUÇÃO
Neste tópico, será apresentada uma situação real tendo como cenário uma
padaria. Com isso, será possível visualizar de forma bem clara a interação de
vários diagramas e a sequência de criação dos mesmos.
119
UNIDADE 3 | DIAGRAMAS ESTRUTURAIS
120
TÓPICO 2 | INTEGRAÇÃO DOS DIAGRAMAS – UMA VISÃO GERAL DO DESENVOLVIMENTO USANDO UML
121
UNIDADE 3 | DIAGRAMAS ESTRUTURAIS
122
RESUMO DO TÓPICO 2
123
AUTOATIVIDADE
124
UNIDADE 3
TÓPICO 3
ESTUDO DE CASO
1 INTRODUÇÃO
Uma empresa é formada por um conjunto de processos inter-
relacionados. Logo, o aumento da eficiência da empresa deve ser obtido em
função da compreensão e melhoria destes processos. Um processo dispõe de
inputs, outputs, tempo, espaço, ordenação, objetivos e valores que, interligados
logicamente, irão resultar em uma estrutura para fornecer produtos ou serviços
ao cliente. Quase toda a operação de uma empresa pode ser traduzida como
um conjunto harmônico de processos e subprocessos que interagem para que
os produtos e serviços sejam entregues com eficiência, qualidade e nos prazos
desejados pelos clientes.
125
UNIDADE 3 | DIAGRAMAS ESTRUTURAIS
126
TÓPICO 3 | ESTUDO DE CASO
127
UNIDADE 3 | DIAGRAMAS ESTRUTURAIS
2.1.1 Fluxograma
Terminal - símbolo utilizado como ponto para indicar o início e/ou fim do fluxo
de um programa.
128
TÓPICO 3 | ESTUDO DE CASO
2.1.3 IDEF3
À medida que as técnicas de representação de processos foram evoluindo,
técnicas mais sofisticadas foram sendo aplicadas em processos de serviços. Um
bom exemplo é a aplicação do IDEF3. O IDEF3 é um dos integrantes da família
de técnicas IDEF (Integrated ComputerAided Manufacturing), que foi desenvolvida
pela Força Aérea dos Estados Unidos com o objetivo de descrever, especificar e
modelar sistemas de manufatura (ALMEIDA et al., 2003).
129
UNIDADE 3 | DIAGRAMAS ESTRUTURAIS
Para aplicação neste trabalho foi escolhida a UML, pois, como é uma
linguagem utilizada no desenvolvimento de software, seu uso se justifica no
sentido de integrar a análise do processo e a concepção do sistema (software).
130
TÓPICO 3 | ESTUDO DE CASO
131
UNIDADE 3 | DIAGRAMAS ESTRUTURAIS
132
TÓPICO 3 | ESTUDO DE CASO
Se retirarmos este cliente, e a rua ficar com adesão inferior a 70%, este
protocolo é arquivado por falta de adesão (29). Com os boletos gerados, e os
clientes efetuando os pagamentos mensais, a rua é repassada ao Departamento
Financeiro (30) para que este realize o controle de recebimentos (21). Tão logo
a rua atinja os 50% de recebimento (31), esta é enviada ao Departamento de
Engenharia para que seja inserida no cronograma de obras (32). Para facilitar o
deslocamento dos maquinários, o cronograma de obras é dividido por regiões
da cidade, chamadas lotes.
133
UNIDADE 3 | DIAGRAMAS ESTRUTURAIS
(1)
Abrir
Protocolo
Trecho
não
(6)
orçado
Relizar
Encaminhar levanta-
para mento e
levantamento anteprojeto
topográfico
Fazer croqui
com dados
da rua e (7)
Orçar e
respectivos (8) projetar o
moradores trecho
(9)
Conectar Visitar
vendedor da moradores
região (10)
(12)
(13) Preencher
Analisar a
a ficha
documentação
cadastral
134
TÓPICO 3 | ESTUDO DE CASO
Ok
reprovada
(14) Doc. (16)
Doc.
Redigir contratos
(19) (20)
Financ. Financ.
c/ a c/BB
Empresa
(22)
Empresa
Consulta recebe
SPC a vista (21)
Avisar
cliente
sobre
pendência
Presidente no SPC
(25)
Verificar a
possibilidade de
regularizar a
situação
Regular
(23) Verificar se
(27) retirando este
Sit. cliente a rua
continua com
irreg. 70% de adesão
Sit.
Reg.
(26)
Protocolo
Não (29) arquivado
(24) Sim (28)
Fazer
boletos
(30)
(2
Aguardar
50% de
recebimento
(32)
(3 Rua atingida
Inserir o 50% de
trecho no recebimento
cronograma
de obras
Executar
a obra
135
UNIDADE 3 | DIAGRAMAS ESTRUTURAIS
(33)(34)
Terceirizar
a obra (35)
Protocolo
arquivado
136
TÓPICO 3 | ESTUDO DE CASO
2.1.8 Conclusões
Observou-se que o mapeamento do processo através do Diagrama
de Atividades trouxe resultados importantes, como o entendimento e a
visualização global do processo por toda a organização, apresentando
as informações de forma clara e padronizada e mostrando o fluxo de uma
atividade para outra.
137
UNIDADE 3 | DIAGRAMAS ESTRUTURAIS
LEITURA COMPLEMENTAR
138
presente artigo apresenta um modelo para avaliação de ferramentas de suporte
à UML, baseado em requisitos funcionais, não funcionais, bem como em normas
de qualidade. Inicialmente apresenta-se as categorias definidas no modelo de
avaliação, bem como os critérios que formam cada categoria. Apresenta-se a
seguir o estudo de caso que foi definido e realizado a fim de validar o modelo
proposto. Posteriormente, são apresentados os principais resultados obtidos com
o estudo de caso, algumas observações complementares constatadas na avaliação
e, finalmente, a conclusão.
2. O Modelo Proposto
139
• Baseados em características de hardware e software: verificar em quais plataformas
de hardware e software as ferramentas podem ser utilizadas.
• Baseados no repositório de dados: verificar quais são as funções do repositório
nas ferramentas.
• Baseados na documentação: verificar que tipos de documentação acompanham
as ferramentas e se as mesmas auxiliam os desenvolvedores no uso das
ferramentas.
• Baseados no uso da ferramenta com relação ao computador utilizado: verificar
qual o desempenho das ferramentas com relação ao computador utilizado para
avaliação.
• Baseados na UML: verificar quais funções executadas pelas ferramentas
correspondem com as características da UML.
• Baseados no fornecedor: possibilitar informações detalhadas sobre o fornecedor,
produtos e suporte aos mesmos.
• Baseados nas necessidades identificadas com a utilização das ferramentas:
verificar se as ferramentas atendem às necessidades dos usuários.
Os critérios desta categoria foram criados com base na norma ISO/IEC 9126.
O objetivo é descobrir como as ferramentas atendem algumas características desta
norma. Foram consideradas as características manutenibilidade (subcaracterísticas
modificabilidade e analisabilidade), confiabilidade (subcaracterística maturidade),
funcionalidade (subcaracterística interoperabilidade) e apreensibilidade. Nesta
categoria foram criados 22 critérios, sendo que a Tabela 2 apresenta alguns
exemplos.
140
Tabela 2 - Critérios baseados na norma ISO/IEC 9126
141
Tabela 3 - Critérios baseados na UML
142
2.4 Critérios baseados nas necessidades identificadas com a utilização da
ferramenta
143
• Existe repositório? O objetivo deste critério é avaliar de que forma a ferramenta
armazena os dados.
• Através do repositório é possível criar informações (classes, atributos, ligações)?
Com este critério busca-se avaliar se os repositórios das ferramentas permitem
a criação dos elementos dos diagramas a partir das informações salvas.
• É possível recuperar os dados do repositório? Busca-se informações para avaliar
se os repositórios das ferramentas permitem a recuperação dos elementos
dos diagramas a partir das informações salvas. Os critérios desta categoria
correspondem a requisitos funcionais e possuem tipo de resposta 1.
144
3. Aplicação do modelo
145
3.2 Observações finais sobre a avaliação
146
totalizar mais pontos. Cabe enfatizar que, na seleção de ferramentas, é importante
considerar tanto os requisitos funcionais como os não funcionais. Por esta razão,
na elaboração dos critérios do modelo proposto teve-se a preocupação em fazer
esta distinção.
147
Cidade Cancelamento
codcid: string codpant: Participante
nomecid: string dtcancel: string
0...*
UF: string 1 0...*
Participante
Item Resultado
Com exceção da Rational, todas exportam dados em XML, A
PowerDesigner importa os modelos criados na Rational, mas o
Importação e
diagrama de classes fica com os objetos e ligações confusos na
Exportação de Arquivos
ferramenta, após a importação. A Poseidon abre modelos criados na
Argouml e vice-versa.
A Enterprise Architect e Allfasion possuem versões apenas para o
WIndows, as demias (exceto a PowerDesigner que não identificou-se)
Portabilidade
contém versões para outros sistemas operacionais. A Poseidon e a
Argouml inpedem do mesmo.
128 MB de RAM recomendada pelo fornecedor é insuficiente para a
utilização da Poseidon e da Argouml. Para a Together é recomendado
no mínimo 512MB. As ferramentas Together e Allfusion requerem
grande espaço em disco (a partir de 100 MB); par Enterprise Architect
Harware e Software Argouml e Rational Rose é necessário até 15 MB e par Poseidon e
Necessários PowerDesigner não foi possível identificar, porém o tamanho do
arquivo de instalação das mesmas e superior a 60MB. O drive de
CD só é necessário para instalação das ferramentas. Recomenda-se
uma placa de vídeo com resolução mínima de 800x600, exceto para a
Together pois o fornecedor recomenda 1024x768.
148
Somente a Allfusion necessita de instalação de uma base de dados
específica (MS SQL Sever). A PoqerDesigner, Enterprise Architect e
AllFusion Component Modeler possuem repositórios de dados que
permitem controlar uusários ou grupos de usuários, atribuindo-
lhes permissões para os projetos; a Together também contém este
Reposi´torio de Dados
controle, porém como acontece com as demais, o repositório de
dados é utilizado apenas como um browser para visualização dos
elementos dos diagramas. Com exceção da Poseidon e da Rational
Rose (que não foi possível identificar), todas têm suporte a algum
banco de dados.
149
RESUMO DO TÓPICO 3
150
AUTOATIVIDADE
151
152
REFERÊNCIAS
ANDRADE, C. A. V. Metodologia de Análise de Sistemas. 8. Módulo. ESAB –
Escola Superior Aberta do Brasil: Vila Velha, 2007.
153
MANHANI, D. M. da S.; SCHIMIGUEL, J. Ferramentas case para modelagem
de banco de dados. Codificando .net e-magazine. Rio de Janeiro, ano 4, v. 14, 1º
fev. 2010.
154
ANOTAÇÕES
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
155
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
156