Neste exercício, você identificará os principais objetos que compõem o sistema financeiro on-line PiggyBank. Você pode descrever esses objetos como classes, porque as classes UML fornecem um gabarito útil para descrever os atributos e relacionamentos de um objeto. Você pode descobrir os objetos do PiggyBank, analisando a documentação de requisitos do projeto e realçando todos os nomes. Você pode agrupar os nomes comuns em uma lista e, em seguida, identificá-los como uma classe do tipo entidade, controlador ou limite. Essa classes criam os diagramas de domínio, que formam a base para o modelo de design.
Uma saída importante do modelo de análise é o modelo de domínio. O modelo de domínio tenta modelar a estrutura estática do aplicativo, modelando os principais atores e entidades que participam das tarefas funcionais. O modelo de domínio consiste em um ou mais diagramas de classe básica que descrevem o nome da classe e um ou dois atributos principais que descrevem seu comportamento. Os diagramas de domínio são os projetos incompletos do sistema.
Antes de criar seu próprio diagrama de domínio, você deve identificar as principais classes do sistema financeiro on-line PiggyBank que são descritas na documentação de casos de uso do projeto. Geralmente, essa etapa é iterativa porque pode ser difícil identificar e modelar a estrutura apropriada de um sistema antes de entender como as partes do sistema interagem. Você cria a lista de objetos durante a passagem pela análise da documentação de casos de uso e, em seguida, modifica a lista, incluindo, removendo ou reorganizando classes ao construir o modelo dinâmico do sistema. Neste tutorial, as principais classes descritas nos documentos de requisitos são identificadas para você.
Para identificar os principais objetos do PiggyBank, é necessário primeiramente analisar a documentação de casos de uso e listar todos os nomes que ocorrem. Essa lista fornece a base para os elementos de entidade, controlador e limite que compõem o diagrama de domínio. A lista a seguir contém todos os nomes descritos na documentação de casos de uso do PiggyBank:
Você pode refinar a lista, eliminando os nomes que representam instâncias de objetos, objetos que são atributos de outros objetos, objetos duplicados ou relacionados e qualquer outro objeto que represente uma parte insignificante do sistema. Lembre-se que este é um processo iterativo. Em uma situação real, você refinaria essa lista ao concluir o modelo de domínio e ao começar a modelar os elementos dinâmicos do modelo de análise. Neste tutorial, a lista refinada de classes candidatas é fornecida a seguir:
Essas quatro classes formam a base do modelo de domínio. É provável que essa lista refinada de objetos represente classes de entidade, porque as classes de entidade são geralmente as mais fáceis de serem descobertas. As demais classes, que são instâncias ou atributos dessas classes, descrevem os detalhes das classes principais e fornecem informações sobre os relacionamentos existentes entre elas.
Depois de identificar a lista de classes, você pode organizá-las de acordo com seus comportamentos, aplicando estereótipos. Os estereótipos generalizam objetos, organizando-os de acordo com características semelhantes de funcionalidade. Os estereótipos de análise do RUP® descrevem o comportamento da classe, classificando-a em um dos três estereótipos: entidade, limite ou controlador. Você pode utilizar essas classes de estereótipo para criar diagramas de domínio para seu sistema. A tabela a seguir descreve os elementos de análise do RUP:
Elemento | Descrição |
---|---|
![]() |
As classes de limite descrevem as interfaces entre o sistema e os atores. Se os atores forem pessoas, as classes de limite geralmente descreverão as interfaces de software ou hardware que acessam o sistema. Se os atores forem sistemas, como computadores ou outros aplicativos de software, as classes de limite geralmente representarão interfaces de software, como APIs. |
![]() |
As classes de controle contêm a implementação das regras e da lógica de negócios. As classes de controle são expressamente abstraídas do usuário e são acessadas apenas pelas classes de limite. As classes de controle interagem com uma ou mais classes de entidade. |
![]() |
As classes de entidade capturam os dados no sistema. |
Você pode entender melhor a estrutura e funcionalidade de um sistema, aplicando esses estereótipos básicos à sua lista de classes. Ao organizar suas classes de acordo com as funções, você pode começar a diferenciar entre o domínio de seu sistema e os detalhes da implementação. Você pode utilizar esses estereótipos para criar diagramas de domínio e diagramas de seqüência nos exercícios a seguir.
Para continuar, vá para o Exercício 2.3: Criando o Diagrama de Modelo de Domínio do PiggyBank.