Pular para conteúdo

Diagrama de Componentes

1. Introdução

Na UML, os diagramas de componentes representam a estrutura de um sistema de software, descrevendo os componentes, suas interfaces e suas dependências. Eles podem ser utilizados tanto para modelar sistemas em um nível mais alto quanto para detalhar componentes em níveis mais específicos, como pacotes.

Esse tipo de diagrama suporta o desenvolvimento baseado em componentes, permitindo que sistemas sejam divididos em partes menores e independentes, que podem ser reutilizadas ou substituídas conforme necessário.

Os diagramas de componentes são úteis pelos seguintes motivos: - Definir os aspectos executáveis e reutilizáveis de um sistema de software. - Identificar problemas de configuração de software por meio da visualização de dependências. - Apresentar uma representação precisa de um aplicativo antes de aplicar mudanças ou aprimoramentos.



2. Desenvolvimento

Para a elaboração do artefato, foi utilizada a ferramenta Lucidchart, reconhecida por sua praticidade e recursos avançados para a criação de diagramas UML. Após consultas ao tema e revisão da solução proposta, o diagrama de componentes abaixo foi gerado para representar a arquitetura do sistema:

Imagem 1: Diagrama de Componentes

Diagrama de Componentes

Fonte: Autoria Própria.

A arquitetura foi projetada para garantir a modularidade e clareza dos subsistemas. Cada componente possui responsabilidades bem definidas, conectando-se a outros por meio de interfaces específicas. A seguir, descrevemos os principais componentes e subcomponentes:

2.1 Componentes e Subcomponentes

  1. MobileApp
  2. Este subsistema reúne os componentes principais para o funcionamento do aplicativo móvel:
    • RouterSearch: Gerencia a busca de roteadores por meio da RouterSearchInterface.
    • AlertTrigger: Ativa alertas usando a Trigger Interface.
    • Authentication: Responsável pela autenticação dos usuários, utilizando a Authentication Interface.

  1. RouterManager
  2. Focado no gerenciamento de roteadores e informações geográficas, este subsistema é composto por:
    • Compass: Gerencia dados de orientação espacial.
    • MapsAPI: Integra funcionalidades de mapas ao sistema.
    • CommunityMapping: Organiza informações de mapeamento relacionadas à comunidade.
  3. Esses componentes utilizam interfaces como Router Inventory e Manage Router para facilitar a gestão de roteadores.

  1. Community
  2. Este subsistema gerencia os obstáculos relatados pela comunidade. Seu componente principal é:
    • Obstacles: Centraliza o controle e monitoramento de obstáculos registrados.

  1. Accounting
  2. Lida com aspectos relacionados às contribuições e usuários:
    • Obstacle Contribution: Gerencia as contribuições associadas a obstáculos.
    • User: Centraliza o gerenciamento dos dados dos usuários, integrando-se à Manage Users Interface.

2.2 Interfaces Providas e Requeridas

  • Interfaces Providas são representadas por pequenos círculos que se conectam ao exterior dos componentes. Elas indicam as funcionalidades que um componente disponibiliza para outros.
    Exemplo: A RouterSearchInterface do componente RouterSearch.

  • Interfaces Requeridas são desenhadas como pequenos semicírculos. Elas indicam dependências ou serviços que o componente necessita para funcionar.
    Exemplo: A Alert Communication no AlertTrigger.


2.3 Portas

As portas são os pequenos quadrados no limite de cada componente que facilitam a comunicação entre os elementos. Elas são pontos de acesso para interfaces providas ou requeridas.


2.4 Relações

As relações entre os componentes e interfaces são indicadas por: - Linhas contínuas: Representam conexões diretas entre componentes ou interfaces. - Linhas tracejadas: Representam dependências ou comunicação indireta.


2.5 Elementos do Diagrama

O diagrama utiliza os seguintes elementos: - Caixas retangulares com ícone de pasta: Representam subsistemas. - Retângulos menores: Representam componentes específicos dentro de um subsistema. - Círculos e semicírculos: Representam interfaces providas e requeridas, respectivamente. - Quadrados pequenos: Representam portas de comunicação. - Linhas (tracejadas ou contínuas): Representam relações e fluxos de informação entre os componentes.



3. Conclusão

A arquitetura apresentada reflete uma abordagem modular e escalável, na qual os subsistemas têm responsabilidades bem definidas e se comunicam exclusivamente por meio de interfaces, como Alert Communication e Authentication Interface. Essa separação clara entre os componentes facilita: - A manutenção e evolução do sistema. - A interoperabilidade entre módulos. - A adaptação a futuras necessidades e melhorias.

O uso do Lucidchart para a criação do diagrama reforçou a organização e a precisão do planejamento, garantindo um artefato visual intuitivo e funcional.



4. Referencial Teórico

  1. Pisani da ArcH. Diagrama de Componentes na prática. Disponível em: https://m.youtube.com/watch?v=yjFpwFZHGtw&pp=ygUXZGlhZ3JhbWEgZGUgY29tcG9uZW50ZXM%3D. Acesso em: 15 nov. 2024.

  2. IBM. Diagrama de Componentes. Disponível em: https://www.ibm.com/docs/pt-br/rsas/7.5.0?topic=services-component-diagrams. Acesso em: 16 nov. 2024.

  3. Estudo Na Web. Entendendo o Diagrama de Componente. Disponível em: https://m.youtube.com/watch?v=2VUPhYY_YLE&pp=ygUXZGlhZ3JhbWEgZGUgY29tcG9uZW50ZXM%3D. Acesso em: 16 nov. 2024.

  4. Visual Paradigm. What is Component Diagram?. Disponível em: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-component-diagram/. Acesso em: 18 nov. 2024.



Versionamento

Versão Data Modificação Autor
1.0 16/11/2024 Criação do documento José Luís & Pedro Vitor
1.1 17/11/2024 Descrição da introdução, Desenvolvimento, Conclusão, Referêncial teorico José Luís & Pedro Vitor
1.2 18/11/2024 Correção e adição de novos itens no desenvolvimento José Luís & Pedro Vitor
1.3 19/11/2024 Correção de links Eduardo Maia
1.4 19/11/2024 Correção de referências José Luís
1.5 27/11/2024 Correção de legendas e posição versionamento José Luís