Buscar

Slides de Aula - Unidade II MODELAGEM DE PROCESSOS

Prévia do material em texto

Unidade II
MODELAGEM DE PROCESSOS
Profa. Gislaine Stachissini
Modelo conceitual da UML
 O Object Management Group (OMG) 
adotou a UML em novembro de 1997. 
 Essa adoção ocorreu em um evento 
histórico e marcante, pois assinalou a 
aceitação de uma linguagem 
padronizada de modelagem de sistemas 
baseada nas melhores práticas atuais 
para a análise, projeto e construção de 
software orientado a objetos.
Modelagem de forma efetiva
Segundo Grady Booch (2000), a modelagem 
deve atingir quatro objetivos para se tornar 
efetiva em um ambiente de desenvolvimento 
de software:
 ajudar a equipe de projeto a visualizar 
um sistema como ele é ou como 
ele pretende ser;
 ajudar a especificar a estrutura ou 
comportamento do sistema;
 proporcionar um modelo que sirva de guia 
para a construção do sistema;
 documentar as decisões tomadas pela 
equipe de desenvolvimento de 
projeto.
Visão geral da UML
 A UML não é um modelo de 
processo/metodologia de software. 
 É uma notação, um mecanismo para 
“mostrar o problema” de forma a expor a 
essência do domínio de um aplicativo.
Artefatos
 Todos os artefatos propostos pela UML 
são rastreáveis e, se construídos ao longo 
de um processo de desenvolvimento 
padronizado na empresa, os modelos 
podem completar uns aos outros.
 O elemento da rastreabilidade é 
fundamental para o projeto.
Arquitetura da UML
 Uma arquitetura de sistema de software
pode ser descrita por cinco 
visões interconectadas.
 Cada visão é uma projeção na 
organização e estrutura do sistema, 
focando um aspecto particular desse.
São elas:
 visão de análise; 
 visão de design; 
 visão de implementação;
 visão do processo;
 visão da implantação.
Visão de caso de uso
 A visão de caso de uso de um sistema 
compreende os que descrevem o 
comportamento do sistema como 
visto pelos usuários finais, analistas 
e testadores.
Categorias de diagramas de UML:
 diagrama estático; 
 diagrama dinâmico;
 diagrama arquitetural.
Diagrama estático
 Os diagramas estáticos mostram 
a estrutura do sistema, suas 
responsabilidades, a estrutura física 
dos elementos e não envolvem a 
passagem do tempo. 
 Eles não mostram a dinâmica das coisas; 
mostram simplesmente sua organização. 
 Modelo de caso de uso, modelo de 
classes e modelo de objetos.
Diagrama dinâmico
 Um diagrama dinâmico mostra a 
interação ativa que o sistema suporta e 
detalha a interação entre os elementos 
estruturais dos diagramas estáticos.
 Mostra o comportamento pretendido do 
sistema.
Os principais diagramas dinâmicos são:
 atividades;
 comunicação;
 sequência; 
 estado.
Diagrama arquitetural 
 Este diagrama mostra a realização do 
sistema em componentes funcionais 
e executáveis. 
 Também diferencia a localização física 
da execução e os nós de armazenamento 
e uma estrutura dentro da qual eles 
podem interagir.
Os principais diagramas estruturais são:
 componentes; 
 implantação.
Modelagem estrutural
 O principal diagrama que mostra a 
estrutura de um sistema é o diagrama 
de classes.
Os demais diagramas também permitem 
visualizar a estrutura do sistema, como: 
 diagrama de pacotes;
 diagrama de componentes; 
 diagrama de objetos;
 diagrama deployment (implantação).
Classes de objetos
 Uma classe de objetos é uma coleção 
de objetos que podem ser descritos 
com os mesmos atributos e as 
mesmas operações.
 Uma classe de objetos, na UML, 
possui três segmentos: nome, 
atributos e operações.
 A representação ou notação de 
uma classe é um retângulo com 
os três segmentos. 
 Cada classe deve ter um nome que 
a distingue de outras classes. 
Relacionamentos entre classes 
de objetos/instâncias I 
 As classes de objetos, no modelo 
de classes, se relacionam ou se 
associam de acordo com as 
necessidades do sistema. 
 Esses relacionamentos são denominados 
“associação entre classes”.
 Um relacionamento define as regras 
da associação que, por seu lado, 
são impostas pelas regras de 
negócio da aplicação, sendo modeladas.
Relacionamentos entre classes 
de objetos/instâncias II
Instância
 Quando é necessário manipular um 
determinado objeto, a classe é 
carregada na memória, e os objetos 
são instanciados, isto é, são criados 
na memória e podem ser manipulados.
Interatividade 
Como é chamado todo e qualquer 
documento desenvolvido na UML?
a) Artefato.
b) Processo.
c) Gabarito.
d) Esquema.
e) Livro.
Resposta
a) Artefato.
Mecanismos comuns
A UML é feita simplesmente pela presença 
de mecanismos comuns que garantem a 
consistência a partir da linguagem, como: 
 especificação; 
 adornos; 
 mecanismo de extensibilidade.
Especificação
Refere-se aos padrões das descrições dos 
componentes dos modelos: 
 nomear os componentes; 
 descrever a lógica do cenário de 
um caso de uso.
Adornos
 São itens gráficos e textuais que são 
adicionados a uma notação de um 
elemento básico e são usados para 
visualizar detalhes da especificação 
do elemento. 
 Usados no símbolo de nó de um 
diagrama de implantação ou 
componentes executáveis dentro 
de uma caixa extra do desenho.
Mecanismo de extensibilidade
 Permite estender a linguagem de uma 
maneira controlada. 
 Esse mecanismo inclui estereótipos, 
valores marcados e restrições.
 Um estereótipo permite que se criem 
novos tipos de blocos de construção 
que são derivados de outros existentes, 
mas específicos para um determinado 
problema.
Diagramas da UML I
 Com um modelo, é possível um melhor 
entendimento dos sistemas que estão 
em desenvolvimento. 
 Podem-se construir modelos a partir de 
um conjunto de blocos básicos: classes, 
interfaces, colaborações, componentes, 
nós, dependências, generalizações e 
associações.
Diagramas da UML II 
Fonte: Livro-texto.
Diagrama de atividade
 Usado para modelar o comportamento de 
um sistema e a forma como esses 
comportamentos estão relacionados em 
um fluxo geral. 
 Construção de um sistema, processo ou 
procedimento.
Diagrama de caso de uso
 Captura as funcionalidades do sistema e 
as relações entre os atores e o sistema.
 Descreve os requisitos funcionais do 
sistema, a maneira pela qual as coisas 
de fora (atores) interagem no limite do 
sistema e a resposta desse aos usuários.
Diagrama de objetos I
 Está intimamente relacionado a um 
diagrama de classes de objetos, com a 
distinção de que retrata instâncias de 
objetos das classes e seus 
relacionamentos em um ponto no tempo.
 É útil para a compreensão de um diagrama 
de classes complexas, criando diferentes 
casos em que os relacionamentos e as 
classes são aplicados.
Diagrama de objetos II
 Este diagrama também pode ser uma 
espécie de diagrama de comunicação, 
que também modela as conexões entre 
os objetos, mas adiciona sequências de 
eventos ao longo de cada caminho.
Diagrama de sequência
 É um diagrama de interação. 
 É uma representação estruturada de 
comportamento com uma série de etapas 
sequenciais ao longo do tempo.
 Usado para descrever o fluxo de trabalho 
e a passagem de mensagens.
Diagrama de comunicação
 É um diagrama de interação. 
 Mostra as interações entre os elementos 
em tempo de execução da mesma 
maneira que um diagrama de sequência.
 Usado para visualizar as relações entre 
objetos, enquanto os diagramas 
de sequência são mais eficazes na 
visualização de processamento ao 
longo do tempo.
Diagrama de estado
 Ilustra como um elemento (geralmente 
uma classe) pode mover-se entre os 
estados, classificando o seu 
comportamento de acordo com gatilhos 
de transição ou guardas de restrição.
 Ajuda a descrever e explicar os 
movimentos e comportamentos 
dos sistemas.
Diagrama de componentes
 Mostra os pedaços de software, 
controladores embutidos que formam 
um sistema, sua organização e 
dependências.
Interatividade 
Emqual das alternativas há um diagrama de 
interação que representa uma série de 
etapas sequenciais ao longo do tempo?
a) Diagrama de atividade.
b) Diagrama de casos de uso.
c) Diagrama de objetos.
d) Diagrama de sequência.
e) Diagrama de comunicação.
Resposta
d) Diagrama de sequência.
Diagrama de implantação
 Mostra como e onde o sistema será 
implantado, ou seja, sua arquitetura 
de execução.
 Dispositivos de hardware, 
processadores e ambientes de software 
de execução (artefatos do sistema) são 
refletidos 
como nós.
 Mostra a organização dos elementos de 
um modelo em pacotes (agrupamentos) 
e as dependências entre esses pacotes, 
incluindo pacotes importados e 
extensões de pacotes.
Diagrama de pacotes
Diagrama de interação
 Visualiza a cooperação entre os 
diagramas de interação para ilustrar 
um fluxo de controle que serve a 
um propósito abrangente.
 Pontos de decisão, forks, junções, 
pontos iniciais e finais são os mesmos. 
Diagrama de tempo
 Define o comportamento de objetos 
diferentes dento de uma escala de tempo.
 Fornece uma representação visual da 
mudança dos objetos, mudando de estado 
e interagindo todo o tempo.
 Pode ser usado para definir os 
componentes e softwares embutidos.
Diagrama de estrutura composta
 Reflete a colaboração interna de 
classes, interfaces ou componentes 
(e suas propriedades) para descrever 
a funcionalidade do sistema.
 Usado para expressar o tempo de 
execução das arquiteturas, padrões 
e relacionamentos dos elementos 
participantes, que não podem ser 
refletidos por meio de diagramas 
estáticos.
Diagrama de classes de objetos 
da UML
 Mostra a estrutura estática do sistema 
por meio de suas classes e objetos e 
também como eles se relacionam.
 É considerado por alguns autores como 
o mais importante diagrama para o 
desenvolvimento orientado a objetos.
Modelo de classes de objetos 
na UML
Fonte: Livro-texto.
Objetivos do diagrama de classes
 Mostrar a estrutura estática do sistema.
 Montar essa estrutura com as classes 
de objetos e também com seus 
relacionamentos.
 Mapear os objetos a partir das classes 
de objetos com seus nomes, atributos 
e operações.
 Aplicar as propriedades e características 
da tecnologia OO por meio dos 
mecanismos de associação, herança, 
polimorfismo e abstração.
Metamodelo de classe - Instância
Fonte: Livro-texto.
Visibilidade
Uma classe pode ter visibilidade: pública, 
protegida, privada
 Classe pública (+): indica que qualquer 
outra classe poderá acessar seus 
atributos e solicitar a execução de suas 
operações.
 Classe privada (-): restringe totalmente o 
acesso a seus atributos e operações.
 Classe protegida (#): somente permite a 
ela e aos seus herdeiros o acesso a seus 
atributos e operações.
Chamada de uma operação 
com a lista de argumentos
Fonte: Livro-texto.
Fonte: Livro-texto.
Associação I
 É uma relação semântica entre classes.
 Uma associação acontece quando uma 
determinada instância de uma classe se 
associa a uma ou mais instâncias de 
outra ou da mesma classe.
Associação II
 As associações ainda podem ser binárias, 
unárias, ternárias e assim por diante.
Fonte: Livro-texto.
Papéis em associação
 Usados para representar as regras de uma 
associação entre os objetos das classes.
 Chamam-se cardinalidade ou 
multiplicidade e devem ser descritas 
no diagrama.
Fonte: Livro-texto.
Fonte: Livro-texto.
Classe de associação
 Em alguns modelos, devido às regras de 
negócio, torna-se necessária a 
colocação de atributos em uma 
determinada associação. 
 Um atributo é uma propriedade dos 
objetos de uma classe.
 Como uma associação também é um 
objeto, é perfeitamente possível colocar 
nela atributos. 
 Um atributo de ligação é uma 
propriedade de uma associação.
Interatividade 
Qual diagrama mostra a arquitetura de 
execução, os dispositivos de hardware, 
processadores e ambientes de software
de execução?
a) Diagrama de atividade.
b) Diagrama de casos de uso.
c) Diagrama de implantação.
d) Diagrama de sequência.
e) Diagrama de comunicação.
Resposta
c) Diagrama de implantação.
Agregação e composição I
 É um tipo especial de associação em que 
um objeto contém o(s) outro(s).
 Chamado de relacionamento “todo/parte”. 
 Agregação é um modo de associação 
na qual um objeto agregado é feito 
de componentes. 
 Os componentes fazem parte 
do agregado.
Fonte: Livro-texto.
Fonte: Livro-texto.
Agregação e composição II
 Uma composição é uma agregação forte 
em que as partes estão fisicamente 
contidas dentro do todo. 
 Os componentes não podem ser 
compartilhados por outros compostos.
 Uma exclusão do todo desencadeia 
uma exclusão em cascata das partes; 
o ciclo de vida das classes 
em composição coincide.
Generalização/especialização I
 É uma forma de estruturar a visibilidade 
de um elemento global com uma visão 
mais detalhada.
 Isso é feito adicionando características 
específicas ao elemento na visão 
detalhada e aproveitando as 
características gerais.
 Pode ser usada para diversos outros 
modelos da UML, como em diagramas de 
pacotes e diagramas de casos de uso.
Fonte: Livro-texto.
Generalização/especialização II
 Na generalização, um objeto é 
simultaneamente instância da 
superclasse e instância da subclasse.
Herança
 É um mecanismo por meio do qual uma 
instância de uma classe assume os 
atributos e os comportamentos dos 
objetos de outra classe (antepassados 
ou antecedentes).
 Os objetos subordinados herdam 
atributos e serviços da classe superior. 
Funcionário feminino
Nome solteira 
registrar licença 
licença-maternidade
Funcionário 
masculino
Funcionário
Fonte: Livro-texto.
Conceitos avançados 
envolvendo classes
 Herança múltipla: é uma extensão da 
análise orientada a objetos que permite a 
uma classe ter mais de uma superclasse e 
herdar todas as características (atributos 
e operações) de todos os seus pais.
Fonte: Livro-texto.
Classe de junção
 Classe com mais de uma superclasse: é 
chamada de classe de junção.
Classes abstratas I
 São classes que não possuem instâncias 
diretamente, mas cujos descendentes 
possuem instâncias diretas. 
 Esse tipo de classe é útil durante um 
projeto OO para facilitar a programação 
e a manutenção dos sistemas.
 Uma classe abstrata não pode ser classe 
de folha, já que precisa de descendentes 
para ser instanciável.
Classes abstratas II
 São usadas frequentemente para 
definir métodos a serem abordados por 
subclasses. 
 Uma classe concreta pode ser uma classe 
de folhas (último nível da hierarquia).
Fonte: Livro-texto.
Polimorfismo
 Implica que uma mesma operação pode 
comportar-se de maneira diferente em 
classes distintas, apesar de possuir o 
mesmo nome. 
 É a propriedade de se utilizar um mesmo 
nome para fazer coisas diferentes.
Interfaces: tipos e papéis
 A herança múltipla não é permitida 
em algumas linguagens de programação 
OO diretamente. 
 Para facilitar a necessidade do uso desse 
tipo de herança, aparece o uso 
da interface.
 Uma interface, por exemplo, na linguagem 
Java, não é uma classe, é um arquivo que 
define valores constantes e as operações 
que outra classe deve implementar. 
 Ela não tem operações/métodos, 
apenas seus protótipos.
Pacotes lógicos I
 A UML define um diagrama de pacotes 
como um modelo que descreve de que 
modo os elementos são organizados 
dentro de pacotes e suas dependências.
 Um pacote pode estar contido em 
outros pacotes.
 Em um diagrama de pacotes, esses são 
ligados por setas pontilhadas, que têm 
seu estereótipo alterado de acordo com 
a necessidade.
Pacotes lógicos II
 Um pacote pode ter qualquer diagrama 
da UML, porém são mais comuns em 
diagramas de casos de uso, para melhorar
a abstração do domínio do problema, 
e em classes, para ajudar na organizaçãodas classes construídas em sistemas 
médios e grandes.
 Uma classe também pode ser 
declarada como “em pacote” e, 
dessa forma, terá a sua visibilidade 
restrita ao pacote em que reside. 
 Classes fora desse pacote não poderão 
sequer saber de sua existência e, 
por isso, não poderão acessar 
classes do pacote.
Pacotes lógicos III
 Uma classe dentro de um pacote sem 
visibilidade definida assume a visibilidade 
padrão do pacote.
 Existe uma notação especial na UML 
para designar um pacote.
 Essa notação não deixa dúvidas ao 
implementador que está usando o 
diagrama sobre a intenção do uso 
do pacote.
Fonte: Livro-texto.
Interatividade 
Como é chamado, na UML, o item que é 
uma instância de uma classe e assume os 
atributos e os comportamentos dos objetos 
de outra classe?
a) Associação.
b) Polimorfismo.
c) Generalização.
d) Pacotes.
e) Herança.
Resposta
e) Herança.
ATÉ A PRÓXIMA!

Continue navegando