Exercício 2.2: Identificando Classes

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:

  • Cliente
  • Conta
  • Proprietário
  • ID do cliente
  • Número da conta
  • Saldo da conta
  • Número da conta de crédito
  • Número da conta de débito
  • Valor
  • Cheque
  • Referência do cheque
  • Valor do cheque
  • Valor a ser creditado
  • Conta do CityBank
  • Transferência

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:

  • Cliente
  • Conta
  • Cheque
  • Transferência

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.

Aplicando Estereótipos do RUP a Classes

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
Elemento de Análise do RUP: Classe de Limite

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.

Elemento de Análise do RUP: Classe de Controle

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.

Elementos de Análise do RUP: Classe 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.

Termos de uso | Feedback
(C) Copyright IBM Corporation 2004, 2005. Todos os Direitos Reservados.