0% acharam este documento útil (0 voto)
16 visualizações18 páginas

Diagramas de Componentes UML Explicados

O documento aborda os diagramas de componentes na engenharia de software, destacando sua função na representação da estrutura física de sistemas e a importância de interfaces bem definidas. Os componentes são descritos como entidades reutilizáveis e independentes, que podem incluir outras classes e componentes. Exemplos práticos, como um sistema de gerenciamento hospitalar, são apresentados para ilustrar a aplicação dos conceitos discutidos.

Enviado por

alba
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
16 visualizações18 páginas

Diagramas de Componentes UML Explicados

O documento aborda os diagramas de componentes na engenharia de software, destacando sua função na representação da estrutura física de sistemas e a importância de interfaces bem definidas. Os componentes são descritos como entidades reutilizáveis e independentes, que podem incluir outras classes e componentes. Exemplos práticos, como um sistema de gerenciamento hospitalar, são apresentados para ilustrar a aplicação dos conceitos discutidos.

Enviado por

alba
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Software Engineering I

UML Component Diagrams

Cristóvão Sousa

Porto Polytechnic - School of Technology and Management


Sumário

1. Noções básicas

2. Exemplos

3. Conclusão

By Cristóvão Sousa 1
Noções básicas
O que são diagramas de componentes?

Um diagrama de componentes representa a estrutura fı́sica da


implementação de um sistema, evidenciando, através de componentes de
software os diferentes containers de código, verdadeiramente reutilizáveis
e que implementam as funcionalidades do sistema;
Os componentes de software constituem as entidades de software
efetivamente reutilizáveis.
Os componentes de software são entidades mais abstratas que as classes
de objetos e podem ser considerados como stand-alone service providers.

By Cristóvão Sousa 2
Caracterı́sticas dos componentes

• São independentes e, por isso, a sua implementação não interfere


com outros componentes;
• A comunicação entre componentes é feita através de interfaces bem
definidos;
• Um componente poderá ser substituı́do por outro se o interface se
mantiver;
• Um componente pode conter outros componentes;
• Um componente pode conter uma ou mais classes que correspondem
ao seu modelo de informação.
• Tipicamente, ”fecha-se” um conjunto de classes interdependentes e
fortemente acopoladas num componente.

Resumindo
Um componente é uma parte fı́sica e substituı́vel do sistema que
representa um ”agrupamento” fı́sico de entidades relacionadas
logicamente, isto é, Classes
By Cristóvão Sousa 3
Notação

By Cristóvão Sousa 4
Interfaces i

Um Interface é um conjunto de operações usado para especificar os


serviços de uma classe ou componente. Um componente ”interage” de
duas formas fundamentais com interfaces

Provided Interfaces
Um componente pode concretizar (implementar) um ou mais interfaces.
A estes interfaces chama-se Provided Interfaces. Significa que um
componente fornece/concretiza/implementa determinado conjunto de
serviços ”para o exterior”

Required Interfaces
Um componente pode usar um ou mais interfaces. A estes interfaces
chama-se Required Interfaces Um componente que usa outro
componente através de uma interface bem definida não deve depender da
implementação, mas apenas da interface.

By Cristóvão Sousa 5
Interfaces ii

Na imagem acima o componente Order:

• fornece ou concretiza o interface Tracking, fornecendo informação


sobre o estado da encomenda
• depende ou usa os interfaces CustomerLookup e ProductLookup
para que possa associar a encomenda ao Cliente e produtos à
encomenda, respetivamente.

By Cristóvão Sousa 6
Interfaces iii

Uma outra forma de representação do conteúdo anterior com um pouco


mais de detalhe:

By Cristóvão Sousa 7
Composição de um componente

Um componente poderá incluir outros componentes, com modelo de


informação ”próprio” contendo as classes que implementam o
componente:

By Cristóvão Sousa 8
Exemplos
Online Shoping

[1]

By Cristóvão Sousa 9
Clinica i

We aim at developing a software system for an hospital covering the following areas: management
of availability of resources, scheduling appointments and Check-In. Thus, the ”app” should allow
to define availability at two levels: a) at resource level (human/material), which means defining a
continuous period of time in which the resource is available to perform medical acts (the period is
defined based on an initial and final date and hour); b) at resource group level, which means to
give a specific number of time ”slots” that correspond to the appointments that can be made
within a specific availability period, for a certain type of medical act. Note that a resource group
might be composed by several types of resources, such as medical staff (medics, nurses
technicians, ...), equipment or space (room, office, ...). For each appointment, beside the user, it
is possible to assign more than one type of medical act, which might be performed in different
occasions. The appointment is only possible if the user has a valid register in the hospital. After
an appointment, the group of resources is defined as unavailable for any other act in that period.
An appointment can be canceled and, if so, the group of resources became available again. During
check-in, all information about the appointment is listed. At this point, there is the need to check
the social protection system information associated to the user, in order to validade the check-in
and process the invoice accordingly. Note that the used might have several protection systems,
public and/or private.

By Cristóvão Sousa 10
Desafio

Considerando o problema anterior, apresente uma proposta de arquitetura


do sistema através de um diagrama de componentes. Deverá enviar os
resultados através do moodle.

By Cristóvão Sousa 11
Conclusão
Summary

Os diagramas de componentes são fundamentais na especificação das


arquiteturas técnicas de um sistema
Os diagramas de componentes representam uma visão mais abstracta do
que os diagramas de classes. Vão mais além do que a mera representação
do modelo de informação
Podem ser usados na representação da implementação fı́sica de um Use
Case ou Módulo do sistema ou qualquer outra parte que possa ser
representada como uma entidade fı́sica independente das restante partes
do sistema.
Os diagramas de componentes comunicam entre si através de interfaces
bem definidos
São compostos por outros componentes ou por uma ou mais classes de
objetos

By Cristóvão Sousa 12
Dúvidas?

By Cristóvão Sousa 12
References i

uml [Link].
Online shopping: Uml component diagram example [online].
5 2018.
URL: [Link]
[Link].

By Cristóvão Sousa

Você também pode gostar